generated from VLADIMIR/template
add logs
This commit is contained in:
@@ -3,6 +3,7 @@ package app
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"errors"
|
"errors"
|
||||||
|
"log"
|
||||||
"net/netip"
|
"net/netip"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
@@ -215,12 +216,17 @@ func (s *server) GetPermissions(ctx context.Context, _ *proto.GetPermissionsReq)
|
|||||||
func (s *server) ChangeUserPassword(ctx context.Context, req *proto.ChangeUserPasswordReq) (*proto.ChangeUserPasswordRsp, error) {
|
func (s *server) ChangeUserPassword(ctx context.Context, req *proto.ChangeUserPasswordReq) (*proto.ChangeUserPasswordRsp, error) {
|
||||||
claims, ok := processor_jwt.ClaimsFromContext(ctx)
|
claims, ok := processor_jwt.ClaimsFromContext(ctx)
|
||||||
if !ok || claims == nil {
|
if !ok || claims == nil {
|
||||||
|
log.Printf("change user password failed: authentication missing, target_user_id=%d", req.GetID())
|
||||||
return nil, status.Error(codes.Unauthenticated, "Требуется авторизация")
|
return nil, status.Error(codes.Unauthenticated, "Требуется авторизация")
|
||||||
}
|
}
|
||||||
if !roles.HasRole(claims, roles.Admin) {
|
if !roles.HasRole(claims, roles.Admin) {
|
||||||
|
log.Printf("change user password failed: admin role required, actor_user_id=%d target_user_id=%d", claims.UserID, req.GetID())
|
||||||
return nil, status.Error(codes.PermissionDenied, "Недостаточно прав")
|
return nil, status.Error(codes.PermissionDenied, "Недостаточно прав")
|
||||||
}
|
}
|
||||||
err := s.usersService.ChangeUserPassword(ctx, claims.UserID, int(req.GetID()), req.GetNewPassword())
|
err := s.usersService.ChangeUserPassword(ctx, claims.UserID, int(req.GetID()), req.GetNewPassword())
|
||||||
|
if err != nil {
|
||||||
|
log.Printf("change user password failed: actor_user_id=%d target_user_id=%d: %v", claims.UserID, req.GetID(), err)
|
||||||
|
}
|
||||||
switch {
|
switch {
|
||||||
case errors.Is(err, users_service.ErrPasswordChangeForbidden):
|
case errors.Is(err, users_service.ErrPasswordChangeForbidden):
|
||||||
return nil, status.Error(codes.PermissionDenied, err.Error())
|
return nil, status.Error(codes.PermissionDenied, err.Error())
|
||||||
|
|||||||
Reference in New Issue
Block a user