Files
full/module/base/cms/internal/logic/post/delete_comment.go
2026-09-22 21:15:34 +08:00

39 lines
848 B
Go

package post
import (
"context"
"fmt"
"git.apinb.com/bsm-sdk/core/errcode"
"git.apinb.com/bsm-sdk/core/service"
"bsm/full/module/base/cms/internal/models"
pb "bsm/full/module/base/cms/pb"
)
// DeleteComment 删除评论
func DeleteComment(ctx context.Context, in *pb.DeleteCommentRequest) (*pb.StatusReply, error) {
auth, err := service.ParseMetaCtx(ctx, nil)
if err != nil {
return nil, err
}
if in.GetIdentity() == "" {
return nil, errcode.ErrInvalidArgument
}
// 校验归属:仅评论作者可删除
comment, err := models.GetCommentForAuth(in.Identity)
if err != nil {
return nil, err
}
if comment.OwnerIdentity != auth.Identity {
return nil, errcode.ErrPermissionDenied
}
err = models.DeleteComment(in.Identity)
if err != nil {
fmt.Println()
return nil, errcode.ErrDB
}
return &pb.StatusReply{}, nil
}