using Back.Program.Common.Data; using Back.Program.Common.Model; using Back.Program.Models.Entities; using Back.Program.Repositories.V1.Interfaces; using Microsoft.EntityFrameworkCore; namespace Back.Program.Repositories.V1 { public class UserRepository: IUserRepository { private readonly ILogger _logger; private readonly AppDbContext _context; public UserRepository(ILogger logger,AppDbContext context) { _logger = logger; _context = context; } public Task FindLogin(string accType, string snsId) { return _context.Login.FirstOrDefaultAsync(l => l.sns_type == accType && l.sns_id == snsId); } public Task FindUser(string uid) { return _context.User.FirstOrDefaultAsync(u => u.uid == uid); } public Task FindRefreshToken(string uid) { return _context.RefreshToken.FirstOrDefaultAsync(r => r.uid == uid); } public Task> FindAcademies(string uid) { var academyList = _context.UserAcademy .Join(_context.Academy, ua => ua.bid, a => a.bid, (ua, a) => new { ua, a }) .Where(s => s.ua.uid == uid) .Select(s => new AcademyName { bid = s.a.bid, name = s.a.business_name }) .ToListAsync(); return academyList; } public async Task SaveChanges() { return await _context.SaveChangesAsync() > 0; } } }