public async Task <AuthenticateResponse> CreateUser(CreateUserRequest model) { var user = _context.User.Add(new DB.Entity.User { Name = model.Username, Password = model.Password }); await _context.SaveChangesAsync(); var apiUser = DBToApiModel.ToApiModel(user.Entity); var token = generateJwtToken(user.Entity); return(new AuthenticateResponse(apiUser, token)); }
public async Task <AuthenticateResponse> Authenticate(AuthenticateRequest model) { var user = await _context.User.FirstOrDefaultAsync(x => x.Name == model.Username && x.Password == model.Password); if (user == null) { return(null); } var apiUser = DBToApiModel.ToApiModel(user); var token = generateJwtToken(user); return(new AuthenticateResponse(apiUser, token)); }
public async Task <AuthenticateResponse> CreateGoogleUser(CreateGoogleUserModel model) { var user = _context.User.FirstOrDefaultAsync(x => x.AuthId == model.Sub).Result; if (user == null) { user = _context.User.Add(new DB.Entity.User { AuthId = model.Sub, Name = model.Name }).Entity; await _context.SaveChangesAsync(); } var apiUser = DBToApiModel.ToApiModel(user); var token = generateJwtToken(user); return(new AuthenticateResponse(apiUser, token)); }
public async Task <IEnumerable <User> > GetLeaderBoard() { var users = _context.User.Where(x => x.ResolvedGamesCount > 0).OrderBy(x => x.Elo).ToList(); return(DBToApiModel.ToApiModel(users)); }