MCPcopy Index your code
hub / github.com/apache/answer / AddReport

Method AddReport

internal/service/report/report_service.go:89–126  ·  view source on GitHub ↗

AddReport add report

(ctx context.Context, req *schema.AddReportReq)

Source from the content-addressed store, hash-verified

87
88// AddReport add report
89func (rs *ReportService) AddReport(ctx context.Context, req *schema.AddReportReq) (err error) {
90 objectTypeNumber, err := obj.GetObjectTypeNumberByObjectID(req.ObjectID)
91 if err != nil {
92 return err
93 }
94
95 objInfo, err := rs.objectInfoService.GetInfo(ctx, req.ObjectID)
96 if err != nil {
97 return err
98 }
99 if objInfo.IsDeleted() {
100 return errors.BadRequest(reason.NewObjectAlreadyDeleted)
101 }
102
103 cf, err := rs.configService.GetConfigByID(ctx, req.ReportType)
104 if err != nil || cf == nil {
105 return errors.BadRequest(reason.ReportNotFound)
106 }
107 if cf.Key == constant.ReasonADuplicate && !checker.IsURL(req.Content) {
108 return errors.BadRequest(reason.InvalidURLError)
109 }
110
111 report := &entity.Report{
112 UserID: req.UserID,
113 ReportedUserID: objInfo.ObjectCreatorUserID,
114 ObjectID: req.ObjectID,
115 ObjectType: objectTypeNumber,
116 ReportType: req.ReportType,
117 Content: req.Content,
118 Status: entity.ReportStatusPending,
119 }
120 err = rs.reportRepo.AddReport(ctx, report)
121 if err != nil {
122 return err
123 }
124 rs.sendEvent(ctx, report, objInfo)
125 return nil
126}
127
128// GetUnreviewedReportPostPage get unreviewed report post page
129func (rs *ReportService) GetUnreviewedReportPostPage(ctx context.Context, req *schema.GetUnreviewedReportPostPageReq) (

Callers

nothing calls this directly

Calls 7

sendEventMethod · 0.95
IsURLFunction · 0.92
GetInfoMethod · 0.80
GetConfigByIDMethod · 0.65
AddReportMethod · 0.65
IsDeletedMethod · 0.45

Tested by

no test coverage detected