From 4da3c1d5e5e6582c8e6378a4e874ade8c892de49 Mon Sep 17 00:00:00 2001 From: Steven Date: Sat, 18 Nov 2023 12:37:24 +0800 Subject: [PATCH] chore: fix update user --- api/v2/user_service.go | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/api/v2/user_service.go b/api/v2/user_service.go index 47aec8053..80f1c7437 100644 --- a/api/v2/user_service.go +++ b/api/v2/user_service.go @@ -103,9 +103,17 @@ func (s *APIV2Service) UpdateUser(ctx context.Context, request *apiv2pb.UpdateUs return nil, status.Errorf(codes.InvalidArgument, "update mask is empty") } + user, err := s.Store.GetUser(ctx, &store.FindUser{Username: &username}) + if err != nil { + return nil, status.Errorf(codes.Internal, "failed to get user: %v", err) + } + if user == nil { + return nil, status.Errorf(codes.NotFound, "user not found") + } + currentTs := time.Now().Unix() update := &store.UpdateUser{ - ID: currentUser.ID, + ID: user.ID, UpdatedTs: ¤tTs, } for _, field := range request.UpdateMask.Paths { @@ -138,13 +146,13 @@ func (s *APIV2Service) UpdateUser(ctx context.Context, request *apiv2pb.UpdateUs } } - user, err := s.Store.UpdateUser(ctx, update) + updatedUser, err := s.Store.UpdateUser(ctx, update) if err != nil { return nil, status.Errorf(codes.Internal, "failed to update user: %v", err) } response := &apiv2pb.UpdateUserResponse{ - User: convertUserFromStore(user), + User: convertUserFromStore(updatedUser), } return response, nil }