chore: fix update user

This commit is contained in:
Steven 2023-11-18 12:37:24 +08:00
parent 4f222bca5c
commit 4da3c1d5e5

View File

@ -103,9 +103,17 @@ func (s *APIV2Service) UpdateUser(ctx context.Context, request *apiv2pb.UpdateUs
return nil, status.Errorf(codes.InvalidArgument, "update mask is empty") 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() currentTs := time.Now().Unix()
update := &store.UpdateUser{ update := &store.UpdateUser{
ID: currentUser.ID, ID: user.ID,
UpdatedTs: &currentTs, UpdatedTs: &currentTs,
} }
for _, field := range request.UpdateMask.Paths { 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 { if err != nil {
return nil, status.Errorf(codes.Internal, "failed to update user: %v", err) return nil, status.Errorf(codes.Internal, "failed to update user: %v", err)
} }
response := &apiv2pb.UpdateUserResponse{ response := &apiv2pb.UpdateUserResponse{
User: convertUserFromStore(user), User: convertUserFromStore(updatedUser),
} }
return response, nil return response, nil
} }