From 0c7b069c4a09f01a3a6c59bd7b66f096f8dcec40 Mon Sep 17 00:00:00 2001 From: Vyr Cossont Date: Tue, 11 Nov 2025 19:39:09 +0100 Subject: [chore] Apply schema for OpenAPI errors (#4511) Adds an error struct to Swagger covering normal and OAuth errors for client API endpoints. Now clients using Swagger codegen can handle errors. Specifically, if you _don't_ have typed errors in your Swagger IDL and you're using `go-swagger` to generate your API client, the error message is discarded and you are only told the status code. With this change in place, clients like `slurp` can tell the user that they tried to upload an emoji that was too big or whatever. Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4511 Reviewed-by: tobi Co-authored-by: Vyr Cossont Co-committed-by: Vyr Cossont --- internal/api/client/apps/appcreate.go | 12 ++++++++++++ internal/api/client/apps/appdelete.go | 10 ++++++++++ internal/api/client/apps/appget.go | 10 ++++++++++ internal/api/client/apps/appsget.go | 10 ++++++++++ 4 files changed, 42 insertions(+) (limited to 'internal/api/client/apps') diff --git a/internal/api/client/apps/appcreate.go b/internal/api/client/apps/appcreate.go index 11784bf63..29ffd41b4 100644 --- a/internal/api/client/apps/appcreate.go +++ b/internal/api/client/apps/appcreate.go @@ -66,16 +66,28 @@ const ( // schema: // "$ref": "#/definitions/application" // '400': +// schema: +// "$ref": "#/definitions/error" // description: bad request // '401': +// schema: +// "$ref": "#/definitions/error" // description: unauthorized // '403': +// schema: +// "$ref": "#/definitions/error" // description: forbidden // '404': +// schema: +// "$ref": "#/definitions/error" // description: not found // '406': +// schema: +// "$ref": "#/definitions/error" // description: not acceptable // '500': +// schema: +// "$ref": "#/definitions/error" // description: internal server error func (m *Module) AppsPOSTHandler(c *gin.Context) { authed, errWithCode := apiutil.TokenAuth(c, diff --git a/internal/api/client/apps/appdelete.go b/internal/api/client/apps/appdelete.go index db3b31d5c..3ca12a649 100644 --- a/internal/api/client/apps/appdelete.go +++ b/internal/api/client/apps/appdelete.go @@ -54,14 +54,24 @@ import ( // schema: // "$ref": "#/definitions/application" // '400': +// schema: +// "$ref": "#/definitions/error" // description: bad request // '401': +// schema: +// "$ref": "#/definitions/error" // description: unauthorized // '404': +// schema: +// "$ref": "#/definitions/error" // description: not found // '406': +// schema: +// "$ref": "#/definitions/error" // description: not acceptable // '500': +// schema: +// "$ref": "#/definitions/error" // description: internal server error func (m *Module) AppDELETEHandler(c *gin.Context) { authed, errWithCode := apiutil.TokenAuth(c, diff --git a/internal/api/client/apps/appget.go b/internal/api/client/apps/appget.go index fc16c5ae1..016cfdc73 100644 --- a/internal/api/client/apps/appget.go +++ b/internal/api/client/apps/appget.go @@ -54,14 +54,24 @@ import ( // schema: // "$ref": "#/definitions/application" // '400': +// schema: +// "$ref": "#/definitions/error" // description: bad request // '401': +// schema: +// "$ref": "#/definitions/error" // description: unauthorized // '404': +// schema: +// "$ref": "#/definitions/error" // description: not found // '406': +// schema: +// "$ref": "#/definitions/error" // description: not acceptable // '500': +// schema: +// "$ref": "#/definitions/error" // description: internal server error func (m *Module) AppGETHandler(c *gin.Context) { authed, errWithCode := apiutil.TokenAuth(c, diff --git a/internal/api/client/apps/appsget.go b/internal/api/client/apps/appsget.go index 31b2e9337..299c42aa4 100644 --- a/internal/api/client/apps/appsget.go +++ b/internal/api/client/apps/appsget.go @@ -94,14 +94,24 @@ import ( // items: // "$ref": "#/definitions/application" // '400': +// schema: +// "$ref": "#/definitions/error" // description: bad request // '401': +// schema: +// "$ref": "#/definitions/error" // description: unauthorized // '404': +// schema: +// "$ref": "#/definitions/error" // description: not found // '406': +// schema: +// "$ref": "#/definitions/error" // description: not acceptable // '500': +// schema: +// "$ref": "#/definitions/error" // description: internal server error func (m *Module) AppsGETHandler(c *gin.Context) { authed, errWithCode := apiutil.TokenAuth(c, -- cgit v1.2.3