diff options
Diffstat (limited to 'internal/api/client/instance')
-rw-r--r-- | internal/api/client/instance/instanceget.go | 32 | ||||
-rw-r--r-- | internal/api/client/instance/instancepatch.go | 152 | ||||
-rw-r--r-- | internal/api/client/instance/instancepeersget.go | 110 |
3 files changed, 154 insertions, 140 deletions
diff --git a/internal/api/client/instance/instanceget.go b/internal/api/client/instance/instanceget.go index 5250b3b46..bcedf398b 100644 --- a/internal/api/client/instance/instanceget.go +++ b/internal/api/client/instance/instanceget.go @@ -32,26 +32,22 @@ import ( // // View instance information. // -// This is mostly provided for Mastodon application compatibility, since many apps that work with Mastodon use `/api/v1/instance` to inform their connection parameters. +// --- +// tags: +// - instance // -// However, it can also be used by other instances for gathering instance information and representing instances in some UI or other. +// produces: +// - application/json // -// --- -// tags: -// - instance -// -// produces: -// - application/json -// -// responses: -// '200': -// description: "Instance information." -// schema: -// "$ref": "#/definitions/instance" -// '406': -// description: not acceptable -// '500': -// description: internal error +// responses: +// '200': +// description: "Instance information." +// schema: +// "$ref": "#/definitions/instance" +// '406': +// description: not acceptable +// '500': +// description: internal error func (m *Module) InstanceInformationGETHandler(c *gin.Context) { if _, err := api.NegotiateAccept(c, api.JSONAcceptHeaders...); err != nil { api.ErrorHandler(c, gtserror.NewErrorNotAcceptable(err, err.Error()), m.processor.InstanceGet) diff --git a/internal/api/client/instance/instancepatch.go b/internal/api/client/instance/instancepatch.go index 78d0af046..080327852 100644 --- a/internal/api/client/instance/instancepatch.go +++ b/internal/api/client/instance/instancepatch.go @@ -35,83 +35,91 @@ import ( // // This requires admin permissions on the instance. // -// --- -// tags: -// - instance +// --- +// tags: +// - instance // -// consumes: -// - multipart/form-data +// consumes: +// - multipart/form-data // -// produces: -// - application/json +// produces: +// - application/json // -// parameters: -// - name: title -// in: formData -// description: Title to use for the instance. -// type: string -// maximum: 40 -// allowEmptyValue: true -// - name: contact_username -// in: formData -// description: |- -// Username of the contact account. -// This must be the username of an instance admin. -// type: string -// allowEmptyValue: true -// - name: contact_email -// in: formData -// description: Email address to use as the instance contact. -// type: string -// allowEmptyValue: true -// - name: short_description -// in: formData -// description: Short description of the instance. -// type: string -// maximum: 500 -// allowEmptyValue: true -// - name: description -// in: formData -// description: Longer description of the instance. -// type: string -// maximum: 5000 -// allowEmptyValue: true -// - name: terms -// in: formData -// description: Terms and conditions of the instance. -// type: string -// maximum: 5000 -// allowEmptyValue: true -// - name: avatar -// in: formData -// description: Avatar of the instance. -// type: file -// - name: header -// in: formData -// description: Header of the instance. -// type: file +// parameters: +// - +// name: title +// in: formData +// description: Title to use for the instance. +// type: string +// maximum: 40 +// allowEmptyValue: true +// - +// name: contact_username +// in: formData +// description: >- +// Username of the contact account. +// This must be the username of an instance admin. +// type: string +// allowEmptyValue: true +// - +// name: contact_email +// in: formData +// description: Email address to use as the instance contact. +// type: string +// allowEmptyValue: true +// - +// name: short_description +// in: formData +// description: Short description of the instance. +// type: string +// maximum: 500 +// allowEmptyValue: true +// - +// name: description +// in: formData +// description: Longer description of the instance. +// type: string +// maximum: 5000 +// allowEmptyValue: true +// - +// name: terms +// in: formData +// description: Terms and conditions of the instance. +// type: string +// maximum: 5000 +// allowEmptyValue: true +// - +// name: avatar +// in: formData +// description: Avatar of the instance. +// type: file +// - +// name: header +// in: formData +// description: Header of the instance. +// type: file // -// security: -// - OAuth2 Bearer: -// - admin +// security: +// - OAuth2 Bearer: +// - admin // -// responses: -// '200': -// description: "The newly updated instance." -// schema: -// "$ref": "#/definitions/instance" -// '400': -// description: bad request -// '401': -// description: unauthorized -// '403': -// description: forbidden -// '404': -// description: not found -// '406': -// description: not acceptable -// '500': -// description: internal server error +// responses: +// '200': +// description: "The newly updated instance." +// schema: +// "$ref": "#/definitions/instance" +// '400': +// description: bad request +// '401': +// description: unauthorized +// '403': +// description: forbidden +// '404': +// description: not found +// '406': +// description: not acceptable +// '500': +// description: internal server error func (m *Module) InstanceUpdatePATCHHandler(c *gin.Context) { authed, err := oauth.Authed(c, true, true, true, true) if err != nil { diff --git a/internal/api/client/instance/instancepeersget.go b/internal/api/client/instance/instancepeersget.go index d4d33d5bf..f7d05acdc 100644 --- a/internal/api/client/instance/instancepeersget.go +++ b/internal/api/client/instance/instancepeersget.go @@ -32,62 +32,72 @@ import ( // InstancePeersGETHandler swagger:operation GET /api/v1/instance/peers instancePeersGet // -// --- -// tags: -// - instance +// --- +// tags: +// - instance // -// produces: -// - application/json +// produces: +// - application/json // -// parameters: -// - name: filter -// type: string -// description: |- -// Comma-separated list of filters to apply to results. Recognized values are: -// 'open' -- include peers that are not suspended or silenced -// 'suspended' -- include peers that have been suspended. -// If filter is 'open', only instances that haven't been suspended or silenced will be returned. -// If filter is 'suspended', only suspended instances will be shown. -// If filter is 'open,suspended', then all known instances will be returned. -// If filter is an empty string or not set, then 'open' will be assumed as the default. -// in: query -// required: false +// parameters: +// - +// name: filter +// type: string +// description: |- +// Comma-separated list of filters to apply to results. Recognized filters are: +// - `open` -- include peers that are not suspended or silenced +// - `suspended` -- include peers that have been suspended. // -// responses: -// '200': -// description: |- -// If no filter parameter is provided, or filter is empty, then a legacy, -// Mastodon-API compatible response will be returned. This will consist of -// just a 'flat' array of strings like `["example.com", "example.org"]`. +// If filter is `open`, only instances that haven't been suspended or silenced will be returned. // -// If a filter parameter is provided, then an array of objects with at least -// a `domain` key set on each object will be returned. +// If filter is `suspended`, only suspended instances will be shown. // -// Domains that are silenced or suspended will also have a key -// 'suspended_at' or 'silenced_at' that contains an iso8601 date string. -// If one of these keys is not present on the domain object, it is open. -// Suspended instances may in some cases be obfuscated, which means they -// will have some letters replaced by '*' to make it more difficult for -// bad actors to target instances with harassment. +// If filter is `open,suspended`, then all known instances will be returned. // -// Whether a flat response or a more detailed response is returned, domains -// will be sorted alphabetically by hostname. -// schema: -// type: array -// items: -// "$ref": "#/definitions/domain" -// '400': -// description: bad request -// '401': -// description: unauthorized -// '403': -// description: forbidden -// '404': -// description: not found -// '406': -// description: not acceptable -// '500': -// description: internal server error +// If filter is an empty string or not set, then `open` will be assumed as the default. +// in: query +// required: false +// default: "open" +// +// responses: +// '200': +// description: >- +// If no filter parameter is provided, or filter is empty, then a legacy, +// Mastodon-API compatible response will be returned. This will consist of +// just a 'flat' array of strings like `["example.com", "example.org"]`, +// which corresponds to domains this instance peers with. +// +// +// If a filter parameter is provided, then an array of objects with at least +// a `domain` key set on each object will be returned. +// +// +// Domains that are silenced or suspended will also have a key +// `suspended_at` or `silenced_at` that contains an iso8601 date string. +// If one of these keys is not present on the domain object, it is open. +// Suspended instances may in some cases be obfuscated, which means they +// will have some letters replaced by `*` to make it more difficult for +// bad actors to target instances with harassment. +// +// +// Whether a flat response or a more detailed response is returned, domains +// will be sorted alphabetically by hostname. +// schema: +// type: array +// items: +// "$ref": "#/definitions/domain" +// '400': +// description: bad request +// '401': +// description: unauthorized +// '403': +// description: forbidden +// '404': +// description: not found +// '406': +// description: not acceptable +// '500': +// description: internal server error func (m *Module) InstancePeersGETHandler(c *gin.Context) { authed, err := oauth.Authed(c, false, false, false, false) if err != nil { |