summaryrefslogtreecommitdiff
path: root/internal/api/client/instance
diff options
context:
space:
mode:
authorLibravatar kim <89579420+NyaaaWhatsUpDoc@users.noreply.github.com>2022-09-28 18:30:40 +0100
committerLibravatar GitHub <noreply@github.com>2022-09-28 18:30:40 +0100
commita156188b3eb5cb3da44aa1b7452265f5fa38a607 (patch)
tree7097fa48d56fbabc7c2c8750b1f3bc9321d71c0f /internal/api/client/instance
parent[bugfix] Fix emphasis being added to emoji shortcodes with markdown parsing (... (diff)
downloadgotosocial-a156188b3eb5cb3da44aa1b7452265f5fa38a607.tar.xz
[chore] update dependencies, bump to Go 1.19.1 (#826)
* update dependencies, bump Go version to 1.19 * bump test image Go version * update golangci-lint * update gotosocial-drone-build * sign * linting, go fmt * update swagger docs * update swagger docs * whitespace * update contributing.md * fuckin whoopsie doopsie * linterino, linteroni * fix followrequest test not starting processor * fix other api/client tests not starting processor * fix remaining tests where processor not started * bump go-runners version * don't check last-webfingered-at, processor may have updated this * update swagger command * update bun to latest version * fix embed to work the same as before with new bun Signed-off-by: kim <grufwub@gmail.com> Co-authored-by: tsmethurst <tobi.smethurst@protonmail.com>
Diffstat (limited to 'internal/api/client/instance')
-rw-r--r--internal/api/client/instance/instanceget.go32
-rw-r--r--internal/api/client/instance/instancepatch.go152
-rw-r--r--internal/api/client/instance/instancepeersget.go110
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 {