Documentation ¶
Index ¶
- Constants
- func New(processor processing.Processor) api.ClientModule
- type Module
- func (m *Module) AccountActionPOSTHandler(c *gin.Context)
- func (m *Module) DomainBlockDELETEHandler(c *gin.Context)
- func (m *Module) DomainBlockGETHandler(c *gin.Context)
- func (m *Module) DomainBlocksGETHandler(c *gin.Context)
- func (m *Module) DomainBlocksPOSTHandler(c *gin.Context)
- func (m *Module) EmojiCreatePOSTHandler(c *gin.Context)
- func (m *Module) MediaCleanupPOSTHandler(c *gin.Context)
- func (m *Module) Route(r router.Router) error
Constants ¶
const ( // BasePath is the base API path for this module. BasePath = "/api/v1/admin" // EmojiPath is used for posting/deleting custom emojis. EmojiPath = BasePath + "/custom_emojis" // DomainBlocksPath is used for posting domain blocks. DomainBlocksPath = BasePath + "/domain_blocks" // DomainBlocksPathWithID is used for interacting with a single domain block. DomainBlocksPathWithID = DomainBlocksPath + "/:" + IDKey // AccountsPath is used for listing + acting on accounts. AccountsPath = BasePath + "/accounts" // AccountsPathWithID is used for interacting with a single account. AccountsPathWithID = AccountsPath + "/:" + IDKey // AccountsActionPath is used for taking action on a single account. AccountsActionPath = AccountsPathWithID + "/action" MediaCleanupPath = BasePath + "/media_cleanup" // ExportQueryKey is for requesting a public export of some data. ExportQueryKey = "export" // ImportQueryKey is for submitting an import of some data. ImportQueryKey = "import" // IDKey specifies the ID of a single item being interacted with. IDKey = "id" )
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Module ¶
type Module struct {
// contains filtered or unexported fields
}
Module implements the ClientAPIModule interface for admin-related actions (reports, emojis, etc)
func (*Module) AccountActionPOSTHandler ¶ added in v0.2.2
AccountActionPOSTHandler swagger:operation POST /api/v1/admin/accounts/{id}/action adminAccountAction
Perform an admin action on an account.
--- tags: - admin
consumes: - multipart/form-data
produces: - application/json
parameters:
- name: id required: true in: path description: ID of the account. type: string
- name: type in: formData description: |- Type of action to be taken. One of: disable, silence, suspend. type: string required: true
- name: text in: formData description: Optional text describing why this action was taken. type: string
security: - OAuth2 Bearer:
- admin
responses:
'200': description: OK '400': description: bad request '401': description: unauthorized '403': description: forbidden '404': description: not found '406': description: not acceptable '500': description: internal server error
func (*Module) DomainBlockDELETEHandler ¶
DomainBlockDELETEHandler swagger:operation DELETE /api/v1/admin/domain_blocks/{id} domainBlockDelete
Delete domain block with the given ID.
--- tags: - admin
produces: - application/json
parameters:
- name: id type: string description: The id of the domain block. in: path required: true
security: - OAuth2 Bearer:
- admin
responses:
'200': description: The domain block that was just deleted. schema: "$ref": "#/definitions/domainBlock" '400': description: bad request '401': description: unauthorized '403': description: forbidden '404': description: not found '406': description: not acceptable '500': description: internal server error
func (*Module) DomainBlockGETHandler ¶
DomainBlockGETHandler swagger:operation GET /api/v1/admin/domain_blocks/{id} domainBlockGet
View domain block with the given ID.
--- tags: - admin
produces: - application/json
parameters:
- name: id type: string description: The id of the domain block. in: path required: true
security: - OAuth2 Bearer:
- admin
responses:
'200': description: The requested domain block. schema: "$ref": "#/definitions/domainBlock" '400': description: bad request '401': description: unauthorized '403': description: forbidden '404': description: not found '406': description: not acceptable '500': description: internal server error
func (*Module) DomainBlocksGETHandler ¶
DomainBlocksGETHandler swagger:operation GET /api/v1/admin/domain_blocks domainBlocksGet
View all domain blocks currently in place.
--- tags: - admin
produces: - application/json
parameters:
- name: export type: boolean description: |- If set to true, then each entry in the returned list of domain blocks will only consist of the fields 'domain' and 'public_comment'. This is perfect for when you want to save and share a list of all the domains you have blocked on your instance, so that someone else can easily import them, but you don't need them to see the database IDs of your blocks, or private comments etc. in: query required: false
security: - OAuth2 Bearer:
- admin
responses:
'200': description: All domain blocks currently in place. schema: type: array items: "$ref": "#/definitions/domainBlock" '400': description: bad request '401': description: unauthorized '403': description: forbidden '404': description: not found '406': description: not acceptable '500': description: internal server error
func (*Module) DomainBlocksPOSTHandler ¶
DomainBlocksPOSTHandler swagger:operation POST /api/v1/admin/domain_blocks domainBlockCreate
Create one or more domain blocks, from a string or a file.
Note that you have two options when using this endpoint: either you can set `import` to true and upload a file containing multiple domain blocks, JSON-formatted, or you can leave import as false, and just add one domain block.
The format of the json file should be something like: `[{"domain":"example.org"},{"domain":"whatever.com","public_comment":"they smell"}]`
--- tags: - admin
consumes: - multipart/form-data
produces: - application/json
parameters:
- name: import in: query description: |- Signal that a list of domain blocks is being imported as a file. If set to true, then 'domains' must be present as a JSON-formatted file. If set to false, then 'domains' will be ignored, and 'domain' must be present. type: boolean
- name: domains in: formData description: |- JSON-formatted list of domain blocks to import. This is only used if `import` is set to true. type: file
- name: domain in: formData description: |- Single domain to block. Used only if `import` is not true. type: string
- name: obfuscate in: formData description: |- Obfuscate the name of the domain when serving it publicly. Eg., 'example.org' becomes something like 'ex***e.org'. Used only if `import` is not true. type: boolean
- name: public_comment in: formData description: |- Public comment about this domain block. Will be displayed alongside the domain block if you choose to share blocks. Used only if `import` is not true. type: string
- name: private_comment in: formData description: |- Private comment about this domain block. Will only be shown to other admins, so this is a useful way of internally keeping track of why a certain domain ended up blocked. Used only if `import` is not true. type: string
security: - OAuth2 Bearer:
- admin
responses:
'200': description: |- The newly created domain block, if `import` != `true`. Note that if a list has been imported, then an `array` of newly created domain blocks will be returned instead. schema: "$ref": "#/definitions/domainBlock" '400': description: bad request '401': description: unauthorized '403': description: forbidden '404': description: not found '406': description: not acceptable '500': description: internal server error
func (*Module) EmojiCreatePOSTHandler ¶ added in v0.2.0
EmojiCreatePOSTHandler swagger:operation POST /api/v1/admin/custom_emojis emojiCreate
Upload and create a new instance emoji.
--- tags: - admin
consumes: - multipart/form-data
produces: - application/json
parameters:
- name: shortcode in: formData description: |- The code to use for the emoji, which will be used by instance denizens to select it. This must be unique on the instance. type: string pattern: \w{2,30} required: true
- name: image in: formData description: A png or gif image of the emoji. Animated pngs work too! type: file required: true
security: - OAuth2 Bearer:
- admin
responses:
'200': description: The newly-created emoji. schema: "$ref": "#/definitions/emoji" '400': description: bad request '401': description: unauthorized '403': description: forbidden '404': description: not found '406': description: not acceptable '409': description: conflict -- domain/shortcode combo for emoji already exists '500': description: internal server error
func (*Module) MediaCleanupPOSTHandler ¶ added in v0.3.4
MediaCleanupPOSTHandler swagger:operation POST /api/v1/admin/media_cleanup mediaCleanup
Clean up remote media older than the specified number of days. Also cleans up unused headers + avatars from the media cache.
--- tags: - admin
consumes: - application/json - application/xml - application/x-www-form-urlencoded
produces: - application/json
security: - OAuth2 Bearer:
- admin
responses:
'200': description: |- Echos the number of days requested. The cleanup is performed asynchronously after the request completes. '400': description: bad request '401': description: unauthorized '403': description: forbidden '404': description: not found '406': description: not acceptable '500': description: internal server error