chore: tweak common function

This commit is contained in:
Steven
2024-05-26 11:02:23 +08:00
parent a177800e83
commit 1ccfa81cf3
12 changed files with 54 additions and 49 deletions

View File

@ -38,7 +38,7 @@ const (
)
func (s *APIV1Service) CreateResource(ctx context.Context, request *v1pb.CreateResourceRequest) (*v1pb.Resource, error) {
user, err := getCurrentUser(ctx, s.Store)
user, err := s.GetCurrentUser(ctx)
if err != nil {
return nil, status.Errorf(codes.Internal, "failed to get current user: %v", err)
}
@ -84,7 +84,7 @@ func (s *APIV1Service) CreateResource(ctx context.Context, request *v1pb.CreateR
}
func (s *APIV1Service) ListResources(ctx context.Context, _ *v1pb.ListResourcesRequest) (*v1pb.ListResourcesResponse, error) {
user, err := getCurrentUser(ctx, s.Store)
user, err := s.GetCurrentUser(ctx)
if err != nil {
return nil, status.Errorf(codes.Internal, "failed to get current user: %v", err)
}
@ -114,7 +114,7 @@ func (s *APIV1Service) SearchResources(ctx context.Context, request *v1pb.Search
if filter.UID != nil {
resourceFind.UID = filter.UID
}
user, err := getCurrentUser(ctx, s.Store)
user, err := s.GetCurrentUser(ctx)
if err != nil {
return nil, status.Errorf(codes.Internal, "failed to get current user: %v", err)
}
@ -176,10 +176,13 @@ func (s *APIV1Service) GetResourceBinary(ctx context.Context, request *v1pb.GetR
return nil, status.Errorf(codes.Internal, "failed to find memo by ID: %v", resource.MemoID)
}
if memo != nil && memo.Visibility != store.Public {
user, err := getCurrentUser(ctx, s.Store)
user, err := s.GetCurrentUser(ctx)
if err != nil {
return nil, status.Errorf(codes.Internal, "failed to get current user: %v", err)
}
if user == nil {
return nil, status.Errorf(codes.Unauthenticated, "unauthorized access")
}
if memo.Visibility == store.Private && user.ID != resource.CreatorID {
return nil, status.Errorf(codes.Unauthenticated, "unauthorized access")
}
@ -253,7 +256,7 @@ func (s *APIV1Service) DeleteResource(ctx context.Context, request *v1pb.DeleteR
if err != nil {
return nil, status.Errorf(codes.InvalidArgument, "invalid resource id: %v", err)
}
user, err := getCurrentUser(ctx, s.Store)
user, err := s.GetCurrentUser(ctx)
if err != nil {
return nil, status.Errorf(codes.Internal, "failed to get current user: %v", err)
}