From 92de8fb396265d057f18aab4de0bc8aff4b90188 Mon Sep 17 00:00:00 2001 From: f0x52 Date: Sat, 19 Aug 2023 14:33:15 +0200 Subject: [feature] Instance rules (#2125) * init instance rules database model, admin api * expose instance rules in public instance api * public /api/v1/instance/rules route * GET ruleById * createRule route * createRule auth check * updateRule * deleteRule * list rules on about page * ruleGet auth * add about page ids for anchors * process and store adding violated rules to reports * admin api models for instance rules * instance rule edit frontend * change rule inputs to textareas * database fixes after rebase (#2124) * remove unused imports * fix db migration column name * fix tests * fix more tests * fix postgres error with wrongly used Ident * add some tests, fiddle with rule model a bit, fix postgres migration * swagger docs --------- Co-authored-by: tsmethurst --- internal/processing/report/create.go | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'internal/processing/report/create.go') diff --git a/internal/processing/report/create.go b/internal/processing/report/create.go index a6cce8e80..48f9c1ee4 100644 --- a/internal/processing/report/create.go +++ b/internal/processing/report/create.go @@ -64,6 +64,13 @@ func (p *Processor) Create(ctx context.Context, account *gtsmodel.Account, form } } + // fetch rules by IDs given in the report form (noop if no rules given) + rules, err := p.state.DB.GetRulesByIDs(ctx, form.RuleIDs) + if err != nil { + err = fmt.Errorf("db error fetching report target rules: %w", err) + return nil, gtserror.NewErrorInternalError(err) + } + reportID := id.NewULID() report := >smodel.Report{ ID: reportID, @@ -75,6 +82,8 @@ func (p *Processor) Create(ctx context.Context, account *gtsmodel.Account, form Comment: form.Comment, StatusIDs: form.StatusIDs, Statuses: statuses, + RuleIDs: form.RuleIDs, + Rules: rules, Forwarded: &form.Forward, } -- cgit v1.2.3