Created
March 1, 2018 21:13
-
-
Save mczachurski/fb506371777969dbbfe925d499fdee6f to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public func signIn(request: HTTPRequest, response: HTTPResponse) { | |
do { | |
let signIn = try request.getObjectFromRequest(SignInDto.self) | |
guard let user = try self.usersService.get(byEmail: signIn.email) else { | |
return response.sendNotFoundError() | |
} | |
let password = try signIn.password.generateHash(salt: user.salt) | |
if password != user.password { | |
return response.sendNotFoundError() | |
} | |
let tokenDto = try self.prepareToken(user: user) | |
return response.sendJson(tokenDto) | |
} | |
catch let error where error is DecodingError || error is RequestError { | |
response.sendBadRequestError() | |
} | |
catch let error as ValidationsError { | |
response.sendValidationsError(error: error) | |
} | |
catch { | |
response.sendInternalServerError(error: error) | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment