feat: PasswordResetBegin of auth controller;
fix: sql query updateLoginInformationByUsername used in-database hashing; refactor: renamed LogOutAccounts into LogOutSessions in models/auth; refactor: added error checks on opening transactions for all auth service methods; refactor: added error checks on commiting transactions likewise; refactor: simplified PasswordResetBegin logic; feat: implemented PasswordResetComplete method of auth service;
This commit is contained in:
@@ -89,7 +89,24 @@ func (a *authControllerImpl) Login(c *gin.Context) {
|
||||
// @Success 200 "Reset code sent to the email if it is attached to an account"
|
||||
// @Failure 429 "Too many recent requests for this email"
|
||||
func (a *authControllerImpl) PasswordResetBegin(c *gin.Context) {
|
||||
c.Status(http.StatusNotImplemented)
|
||||
request, ok := utils.GetRequest[models.PasswordResetBeginRequest](c)
|
||||
if !ok {
|
||||
c.Status(http.StatusBadRequest)
|
||||
return
|
||||
}
|
||||
|
||||
response, err := a.auth.PasswordResetBegin(request.Body)
|
||||
if err != nil {
|
||||
if errors.Is(err, errs.ErrTooManyRequests) {
|
||||
c.Status(http.StatusTooManyRequests)
|
||||
} else {
|
||||
c.Status(http.StatusInternalServerError)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
c.JSON(http.StatusOK, response)
|
||||
return
|
||||
}
|
||||
|
||||
// @Summary Complete password reset via email code
|
||||
|
||||
Reference in New Issue
Block a user