|
|
|
@ -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")
|
|
|
|
|