mirror of
https://github.com/FJurmanovic/wallet-go-api.git
synced 2026-11-11 07:41:10 +00:00
implemented user deactivation
This commit is contained in:
@@ -57,6 +57,13 @@ func (us *UsersService) Login(loginBody *models.Login) (*models.Token, *models.E
|
||||
return tokenPayload, exceptionReturn
|
||||
}
|
||||
|
||||
if !check.IsActive {
|
||||
exceptionReturn.Message = "Can't log in. User is deactivated."
|
||||
exceptionReturn.ErrorCode = "400106"
|
||||
exceptionReturn.StatusCode = 400
|
||||
return tokenPayload, exceptionReturn
|
||||
}
|
||||
|
||||
if bcrypt.CompareHashAndPassword([]byte(check.Password), []byte(loginBody.Password)) != nil {
|
||||
exceptionReturn.Message = "Incorrect password"
|
||||
exceptionReturn.ErrorCode = "400104"
|
||||
@@ -72,6 +79,34 @@ func (us *UsersService) Login(loginBody *models.Login) (*models.Token, *models.E
|
||||
return tokenPayload, exceptionReturn
|
||||
}
|
||||
|
||||
func (us *UsersService) Deactivate(auth *models.Auth) (*models.MessageResponse, *models.Exception) {
|
||||
mm := new(models.MessageResponse)
|
||||
me := new(models.Exception)
|
||||
um := new(models.User)
|
||||
|
||||
err := us.Db.Model(um).Where("? = ?", pg.Ident("id"), auth.Id).Select()
|
||||
|
||||
if err != nil {
|
||||
me.ErrorCode = "404101"
|
||||
me.Message = "User not found"
|
||||
me.StatusCode = 404
|
||||
return mm, me
|
||||
}
|
||||
um.IsActive = false
|
||||
_, err = us.Db.Model(um).Where("? = ?", pg.Ident("id"), auth.Id).Update()
|
||||
|
||||
if err != nil {
|
||||
me.ErrorCode = "400105"
|
||||
me.Message = "Could not deactivate user"
|
||||
me.StatusCode = 400
|
||||
return mm, me
|
||||
}
|
||||
|
||||
mm.Message = "User successfully deactivated."
|
||||
|
||||
return mm, me
|
||||
}
|
||||
|
||||
func CreateToken(user *models.User) (string, error) {
|
||||
atClaims := jwt.MapClaims{}
|
||||
atClaims["authorized"] = true
|
||||
|
||||
Reference in New Issue
Block a user