|
|
|
@ -247,6 +247,18 @@ func (s *APIV2Service) GetMemoByName(ctx context.Context, request *apiv2pb.GetMe
|
|
|
|
|
if memo == nil {
|
|
|
|
|
return nil, status.Errorf(codes.NotFound, "memo not found")
|
|
|
|
|
}
|
|
|
|
|
if memo.Visibility != store.Public {
|
|
|
|
|
user, err := getCurrentUser(ctx, s.Store)
|
|
|
|
|
if err != nil {
|
|
|
|
|
return nil, status.Errorf(codes.Internal, "failed to get user")
|
|
|
|
|
}
|
|
|
|
|
if user == nil {
|
|
|
|
|
return nil, status.Errorf(codes.PermissionDenied, "permission denied")
|
|
|
|
|
}
|
|
|
|
|
if memo.Visibility == store.Private && memo.CreatorID != user.ID {
|
|
|
|
|
return nil, status.Errorf(codes.PermissionDenied, "permission denied")
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
memoMessage, err := s.convertMemoFromStore(ctx, memo)
|
|
|
|
|
if err != nil {
|
|
|
|
|