public async Task <IActionResult> RegisterLibrarian(RegisterLibrarianRequest request) { var result = await _auth.RegisterLibrarian(request); if (result == null) { return(BadRequest(new { message = "User with given email exists!" })); } var option = new CookieOptions(); option.Expires = DateTime.Now.AddDays(1); option.HttpOnly = true; Response.Cookies.Append("session", result, option); return(Ok()); }
public async Task <string> RegisterLibrarian(RegisterLibrarianRequest req) { var otherUsers = await _context.Librarians.FirstOrDefaultAsync(x => x.Email == req.Email); if (otherUsers != null) { return(null); } var newSalt = GetSalt(); var hashedPass = HashPassword(req.Password, newSalt); var user = new Librarian(req.Name, req.Email, hashedPass, req.BranchId, newSalt); await _context.Librarians.AddAsync(user); await _context.SaveChangesAsync(); return(generateJwtToken(user.Email, "LIBRARIAN")); }