mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2025-12-04 23:18:09 -06:00
[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 <tobi.smethurst@protonmail.com>
This commit is contained in:
parent
d5d6ad406f
commit
92de8fb396
49 changed files with 2189 additions and 107 deletions
|
|
@ -186,6 +186,19 @@ func (r *reportDB) PopulateReport(ctx context.Context, report *gtsmodel.Report)
|
|||
}
|
||||
}
|
||||
|
||||
if l := len(report.RuleIDs); l > 0 && l != len(report.Rules) {
|
||||
// Report target rules not set, fetch from the database.
|
||||
|
||||
for _, v := range report.RuleIDs {
|
||||
rule, err := r.state.DB.GetRuleByID(ctx, v)
|
||||
if err != nil {
|
||||
errs.Appendf("error populating report rules: %w", err)
|
||||
} else {
|
||||
report.Rules = append(report.Rules, rule)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if report.ActionTakenByAccountID != "" &&
|
||||
report.ActionTakenByAccount == nil {
|
||||
// Report action account is not set, fetch from the database.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue