summaryrefslogtreecommitdiff
path: root/internal/api/client/admin/admin.go
diff options
context:
space:
mode:
authorLibravatar f0x52 <f0x@cthu.lu>2023-08-19 14:33:15 +0200
committerLibravatar GitHub <noreply@github.com>2023-08-19 14:33:15 +0200
commit92de8fb396265d057f18aab4de0bc8aff4b90188 (patch)
tree46438b9ff550261f56aa58d038cdf2f1e15493e3 /internal/api/client/admin/admin.go
parent[bugfix] fix double firing bun.DB query hooks (#2124) (diff)
downloadgotosocial-92de8fb396265d057f18aab4de0bc8aff4b90188.tar.xz
[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>
Diffstat (limited to 'internal/api/client/admin/admin.go')
-rw-r--r--internal/api/client/admin/admin.go41
1 files changed, 25 insertions, 16 deletions
diff --git a/internal/api/client/admin/admin.go b/internal/api/client/admin/admin.go
index a6c825b2b..ce6604c29 100644
--- a/internal/api/client/admin/admin.go
+++ b/internal/api/client/admin/admin.go
@@ -25,22 +25,24 @@ import (
)
const (
- BasePath = "/v1/admin"
- EmojiPath = BasePath + "/custom_emojis"
- EmojiPathWithID = EmojiPath + "/:" + IDKey
- EmojiCategoriesPath = EmojiPath + "/categories"
- DomainBlocksPath = BasePath + "/domain_blocks"
- DomainBlocksPathWithID = DomainBlocksPath + "/:" + IDKey
- AccountsPath = BasePath + "/accounts"
- AccountsPathWithID = AccountsPath + "/:" + IDKey
- AccountsActionPath = AccountsPathWithID + "/action"
- MediaCleanupPath = BasePath + "/media_cleanup"
- MediaRefetchPath = BasePath + "/media_refetch"
- ReportsPath = BasePath + "/reports"
- ReportsPathWithID = ReportsPath + "/:" + IDKey
- ReportsResolvePath = ReportsPathWithID + "/resolve"
- EmailPath = BasePath + "/email"
- EmailTestPath = EmailPath + "/test"
+ BasePath = "/v1/admin"
+ EmojiPath = BasePath + "/custom_emojis"
+ EmojiPathWithID = EmojiPath + "/:" + IDKey
+ EmojiCategoriesPath = EmojiPath + "/categories"
+ DomainBlocksPath = BasePath + "/domain_blocks"
+ DomainBlocksPathWithID = DomainBlocksPath + "/:" + IDKey
+ AccountsPath = BasePath + "/accounts"
+ AccountsPathWithID = AccountsPath + "/:" + IDKey
+ AccountsActionPath = AccountsPathWithID + "/action"
+ MediaCleanupPath = BasePath + "/media_cleanup"
+ MediaRefetchPath = BasePath + "/media_refetch"
+ ReportsPath = BasePath + "/reports"
+ ReportsPathWithID = ReportsPath + "/:" + IDKey
+ ReportsResolvePath = ReportsPathWithID + "/resolve"
+ EmailPath = BasePath + "/email"
+ EmailTestPath = EmailPath + "/test"
+ InstanceRulesPath = BasePath + "/instance/rules"
+ InstanceRulesPathWithID = InstanceRulesPath + "/:" + IDKey
IDKey = "id"
FilterQueryKey = "filter"
@@ -95,4 +97,11 @@ func (m *Module) Route(attachHandler func(method string, path string, f ...gin.H
// email stuff
attachHandler(http.MethodPost, EmailTestPath, m.EmailTestPOSTHandler)
+
+ // instance rules stuff
+ attachHandler(http.MethodGet, InstanceRulesPath, m.RulesGETHandler)
+ attachHandler(http.MethodGet, InstanceRulesPathWithID, m.RuleGETHandler)
+ attachHandler(http.MethodPost, InstanceRulesPath, m.RulePOSTHandler)
+ attachHandler(http.MethodPatch, InstanceRulesPathWithID, m.RulePATCHHandler)
+ attachHandler(http.MethodDelete, InstanceRulesPathWithID, m.RuleDELETEHandler)
}