From a6be658f42607c78301ce063bbc0e4d54c4bfb3f Mon Sep 17 00:00:00 2001 From: Steven Date: Mon, 14 Apr 2025 22:51:11 +0800 Subject: [PATCH] fix: list memo comments --- server/router/api/v1/memo_service.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/server/router/api/v1/memo_service.go b/server/router/api/v1/memo_service.go index c20f7e22..3053b6c6 100644 --- a/server/router/api/v1/memo_service.go +++ b/server/router/api/v1/memo_service.go @@ -508,10 +508,22 @@ func (s *APIV1Service) ListMemoComments(ctx context.Context, request *v1pb.ListM if err != nil { return nil, status.Errorf(codes.Internal, "failed to get memo") } + + currentUser, err := s.GetCurrentUser(ctx) + if err != nil { + return nil, status.Errorf(codes.Internal, "failed to get user") + } + var memoFilter string + if currentUser == nil { + memoFilter = `visibility == "PUBLIC"` + } else { + memoFilter = fmt.Sprintf(`creator_id == %d || visibility in ["PUBLIC", "PROTECTED"]`, currentUser.ID) + } memoRelationComment := store.MemoRelationComment memoRelations, err := s.Store.ListMemoRelations(ctx, &store.FindMemoRelation{ RelatedMemoID: &memo.ID, Type: &memoRelationComment, + MemoFilter: &memoFilter, }) if err != nil { return nil, status.Errorf(codes.Internal, "failed to list memo relations")