Exemplo n.º 1
0
        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());
        }
Exemplo n.º 2
0
        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"));
        }