diff options
author | 2024-03-06 09:05:45 -0800 | |
---|---|---|
committer | 2024-03-06 18:05:45 +0100 | |
commit | fc3741365c27f1d703e8a736af95b95ff811cc45 (patch) | |
tree | 929f1d5e20d1469d63a3dfe81d38d89f9a073c5a /internal/api/client/admin | |
parent | [chore/bugfix] Little DB fixes (#2726) (diff) | |
download | gotosocial-fc3741365c27f1d703e8a736af95b95ff811cc45.tar.xz |
[bugfix] Fix Swagger spec and add test script (#2698)
* Add Swagger spec test script
* Fix Swagger spec errors not related to statuses with polls
* Add API tests that post a status with a poll
* Fix creating a status with a poll from form params
* Fix Swagger spec errors related to statuses with polls (this is the last error)
* Fix Swagger spec warnings not related to unused definitions
* Suppress a duplicate list update params definition that was somehow causing wrong param names
* Add Swagger test to CI
- updates Drone config
- vendorizes go-swagger
- fixes a file extension issue that caused the test script to generate JSON instead of YAML with the vendorized version
* Put `Sample: ` on its own line everywhere
* Remove unused id param from emojiCategoriesGet
* Add 5 more pairs of profile fields to account update API Swagger
* Remove Swagger prefix from dummy fields
It makes the generated code look weird
* Manually annotate params for statusCreate operation
* Fix all remaining Swagger spec warnings
- Change some models into operation parameters
- Ignore models that already correspond to manually documented operation parameters but can't be trivially changed (those with file fields)
* Documented that creating a status with scheduled_at isn't implemented yet
* sign drone.yml
* Fix filter API Swagger errors
* fixup! Fix filter API Swagger errors
---------
Co-authored-by: tobi <tobi.smethurst@protonmail.com>
Diffstat (limited to 'internal/api/client/admin')
-rw-r--r-- | internal/api/client/admin/domainkeysexpire.go | 5 | ||||
-rw-r--r-- | internal/api/client/admin/emojicategoriesget.go | 10 | ||||
-rw-r--r-- | internal/api/client/admin/emojicreate.go | 3 | ||||
-rw-r--r-- | internal/api/client/admin/emojiupdate.go | 7 | ||||
-rw-r--r-- | internal/api/client/admin/reportresolve.go | 3 | ||||
-rw-r--r-- | internal/api/client/admin/rulecreate.go | 9 | ||||
-rw-r--r-- | internal/api/client/admin/ruledelete.go | 6 | ||||
-rw-r--r-- | internal/api/client/admin/rulesget.go | 2 | ||||
-rw-r--r-- | internal/api/client/admin/ruleupdate.go | 18 |
9 files changed, 19 insertions, 44 deletions
diff --git a/internal/api/client/admin/domainkeysexpire.go b/internal/api/client/admin/domainkeysexpire.go index 10a7597a4..4990d879f 100644 --- a/internal/api/client/admin/domainkeysexpire.go +++ b/internal/api/client/admin/domainkeysexpire.go @@ -61,8 +61,9 @@ import ( // - // name: domain // in: formData -// description: Domain to expire keys for. -// example: example.org +// description: |- +// Domain to expire keys for. +// Sample: example.org // type: string // // security: diff --git a/internal/api/client/admin/emojicategoriesget.go b/internal/api/client/admin/emojicategoriesget.go index 2c097c6df..51eb8fee4 100644 --- a/internal/api/client/admin/emojicategoriesget.go +++ b/internal/api/client/admin/emojicategoriesget.go @@ -38,21 +38,13 @@ import ( // produces: // - application/json // -// parameters: -// - -// name: id -// type: string -// description: The id of the emoji. -// in: path -// required: true -// // responses: // '200': // description: Array of existing emoji categories. // schema: // type: array // items: -// "$ref": "#/definitions/adminEmojiCategory" +// "$ref": "#/definitions/emojiCategory" // '400': // description: bad request // '401': diff --git a/internal/api/client/admin/emojicreate.go b/internal/api/client/admin/emojicreate.go index 5d024f039..9086b27e0 100644 --- a/internal/api/client/admin/emojicreate.go +++ b/internal/api/client/admin/emojicreate.go @@ -67,10 +67,11 @@ import ( // name: category // in: formData // description: >- -// Category in which to place the new emoji. 64 characters or less. +// Category in which to place the new emoji. // If left blank, emoji will be uncategorized. If a category with the // given name doesn't exist yet, it will be created. // type: string +// maximumLength: 64 // required: false // // security: diff --git a/internal/api/client/admin/emojiupdate.go b/internal/api/client/admin/emojiupdate.go index f531f36f9..ffde2d597 100644 --- a/internal/api/client/admin/emojiupdate.go +++ b/internal/api/client/admin/emojiupdate.go @@ -73,6 +73,10 @@ import ( // For REMOTE emojis, `copy` or `disable` are supported. // For LOCAL emojis, only `modify` is supported. // type: string +// enum: +// - copy +// - disable +// - modify // required: true // - // name: shortcode @@ -94,9 +98,10 @@ import ( // name: category // in: formData // description: >- -// Category in which to place the emoji. 64 characters or less. +// Category in which to place the emoji. // If a category with the given name doesn't exist yet, it will be created. // type: string +// maximumLength: 64 // // security: // - OAuth2 Bearer: diff --git a/internal/api/client/admin/reportresolve.go b/internal/api/client/admin/reportresolve.go index 9c1c32afe..2ad979b0b 100644 --- a/internal/api/client/admin/reportresolve.go +++ b/internal/api/client/admin/reportresolve.go @@ -60,8 +60,9 @@ import ( // Useful for providing an explanation about what action was taken (if any) // before the report was marked as resolved. This will be visible to the user // that created the report! +// +// Sample: The reported account was suspended. // type: string -// example: The reported account was suspended. // // security: // - OAuth2 Bearer: diff --git a/internal/api/client/admin/rulecreate.go b/internal/api/client/admin/rulecreate.go index e838bff1e..155c69db0 100644 --- a/internal/api/client/admin/rulecreate.go +++ b/internal/api/client/admin/rulecreate.go @@ -43,15 +43,6 @@ import ( // produces: // - application/json // -// parameters: -// - -// name: text -// in: formData -// description: >- -// Text body for the instance rule, plaintext. -// type: string -// required: true -// // security: // - OAuth2 Bearer: // - admin diff --git a/internal/api/client/admin/ruledelete.go b/internal/api/client/admin/ruledelete.go index dfa84615f..834149978 100644 --- a/internal/api/client/admin/ruledelete.go +++ b/internal/api/client/admin/ruledelete.go @@ -28,7 +28,7 @@ import ( "github.com/superseriousbusiness/gotosocial/internal/oauth" ) -// RuleDELETEHandler swagger:operation DELETE /api/v1/admin/instance/rules{id} ruleDelete +// RuleDELETEHandler swagger:operation DELETE /api/v1/admin/instance/rules/{id} ruleDelete // // Delete an existing instance rule. // @@ -45,10 +45,10 @@ import ( // parameters: // - // name: id -// in: formData +// in: path // description: >- // The id of the rule to delete. -// type: path +// type: string // required: true // // security: diff --git a/internal/api/client/admin/rulesget.go b/internal/api/client/admin/rulesget.go index 2cc9e0158..e00ff1c07 100644 --- a/internal/api/client/admin/rulesget.go +++ b/internal/api/client/admin/rulesget.go @@ -27,7 +27,7 @@ import ( "github.com/superseriousbusiness/gotosocial/internal/oauth" ) -// rulesGETHandler swagger:operation GET /api/v1/admin/rules rules +// RulesGETHandler swagger:operation GET /api/v1/admin/rules adminsRuleGet // // View instance rules, with IDs. // diff --git a/internal/api/client/admin/ruleupdate.go b/internal/api/client/admin/ruleupdate.go index eafa3af34..2ba31485e 100644 --- a/internal/api/client/admin/ruleupdate.go +++ b/internal/api/client/admin/ruleupdate.go @@ -29,7 +29,7 @@ import ( "github.com/superseriousbusiness/gotosocial/internal/oauth" ) -// RulePATCHHandler swagger:operation PATCH /api/v1/admin/instance/rules{id} ruleUpdate +// RulePATCHHandler swagger:operation PATCH /api/v1/admin/instance/rules/{id} ruleUpdate // // Update an existing instance rule. // @@ -43,22 +43,6 @@ import ( // produces: // - application/json // -// parameters: -// - -// name: id -// in: formData -// description: >- -// The id of the rule to update. -// type: path -// required: true -// - -// name: text -// in: formData -// description: >- -// Text body for the updated instance rule, plaintext. -// type: string -// required: true -// // security: // - OAuth2 Bearer: // - admin |