summaryrefslogtreecommitdiff
path: root/internal/api/client/statuses
diff options
context:
space:
mode:
authorLibravatar Vyr Cossont <vyr@noreply.codeberg.org>2025-11-11 19:39:09 +0100
committerLibravatar tobi <tobi.smethurst@protonmail.com>2025-11-17 14:15:04 +0100
commit0c7b069c4a09f01a3a6c59bd7b66f096f8dcec40 (patch)
treee5306d5ebad1e5a6efe5393bfafde95f5b94b237 /internal/api/client/statuses
parent[performance] remove hard reliance on .Cached field to indicate whether media... (diff)
downloadgotosocial-0c7b069c4a09f01a3a6c59bd7b66f096f8dcec40.tar.xz
[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 <kipvandenbos@noreply.codeberg.org> Co-authored-by: Vyr Cossont <vyr@noreply.codeberg.org> Co-committed-by: Vyr Cossont <vyr@noreply.codeberg.org>
Diffstat (limited to 'internal/api/client/statuses')
-rw-r--r--internal/api/client/statuses/statusbookmark.go12
-rw-r--r--internal/api/client/statuses/statusboost.go12
-rw-r--r--internal/api/client/statuses/statusboostedby.go8
-rw-r--r--internal/api/client/statuses/statuscontext.go12
-rw-r--r--internal/api/client/statuses/statuscreate.go14
-rw-r--r--internal/api/client/statuses/statusdelete.go12
-rw-r--r--internal/api/client/statuses/statusedit.go12
-rw-r--r--internal/api/client/statuses/statusfave.go12
-rw-r--r--internal/api/client/statuses/statusfavedby.go12
-rw-r--r--internal/api/client/statuses/statusget.go12
-rw-r--r--internal/api/client/statuses/statushistory.go12
-rw-r--r--internal/api/client/statuses/statusmute.go12
-rw-r--r--internal/api/client/statuses/statuspin.go12
-rw-r--r--internal/api/client/statuses/statussource.go12
-rw-r--r--internal/api/client/statuses/statusunbookmark.go12
-rw-r--r--internal/api/client/statuses/statusunboost.go12
-rw-r--r--internal/api/client/statuses/statusunfave.go12
-rw-r--r--internal/api/client/statuses/statusunmute.go12
-rw-r--r--internal/api/client/statuses/statusunpin.go12
19 files changed, 226 insertions, 0 deletions
diff --git a/internal/api/client/statuses/statusbookmark.go b/internal/api/client/statuses/statusbookmark.go
index 804044763..e05fbc31d 100644
--- a/internal/api/client/statuses/statusbookmark.go
+++ b/internal/api/client/statuses/statusbookmark.go
@@ -56,16 +56,28 @@ import (
// schema:
// "$ref": "#/definitions/status"
// '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) StatusBookmarkPOSTHandler(c *gin.Context) {
authed, errWithCode := apiutil.TokenAuth(c,
diff --git a/internal/api/client/statuses/statusboost.go b/internal/api/client/statuses/statusboost.go
index 5e8418dec..559bef95e 100644
--- a/internal/api/client/statuses/statusboost.go
+++ b/internal/api/client/statuses/statusboost.go
@@ -59,16 +59,28 @@ import (
// schema:
// "$ref": "#/definitions/status"
// '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) StatusBoostPOSTHandler(c *gin.Context) {
authed, errWithCode := apiutil.TokenAuth(c,
diff --git a/internal/api/client/statuses/statusboostedby.go b/internal/api/client/statuses/statusboostedby.go
index 70111afcc..33bfd333e 100644
--- a/internal/api/client/statuses/statusboostedby.go
+++ b/internal/api/client/statuses/statusboostedby.go
@@ -56,12 +56,20 @@ import (
// items:
// "$ref": "#/definitions/account"
// '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
func (m *Module) StatusBoostedByGETHandler(c *gin.Context) {
authed, errWithCode := apiutil.TokenAuth(c,
diff --git a/internal/api/client/statuses/statuscontext.go b/internal/api/client/statuses/statuscontext.go
index 4a5e8abf3..fe8f0f217 100644
--- a/internal/api/client/statuses/statuscontext.go
+++ b/internal/api/client/statuses/statuscontext.go
@@ -58,16 +58,28 @@ import (
// schema:
// "$ref": "#/definitions/threadContext"
// '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) StatusContextGETHandler(c *gin.Context) {
authed, errWithCode := apiutil.TokenAuth(c,
diff --git a/internal/api/client/statuses/statuscreate.go b/internal/api/client/statuses/statuscreate.go
index de06d2d8b..8b3c937a0 100644
--- a/internal/api/client/statuses/statuscreate.go
+++ b/internal/api/client/statuses/statuscreate.go
@@ -247,18 +247,32 @@ import (
// schema:
// "$ref": "#/definitions/status"
// '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
// '422':
+// schema:
+// "$ref": "#/definitions/error"
// description: unprocessable content
// '500':
+// schema:
+// "$ref": "#/definitions/error"
// description: internal server error
func (m *Module) StatusCreatePOSTHandler(c *gin.Context) {
authed, errWithCode := apiutil.TokenAuth(c,
diff --git a/internal/api/client/statuses/statusdelete.go b/internal/api/client/statuses/statusdelete.go
index 006b6e601..5148da370 100644
--- a/internal/api/client/statuses/statusdelete.go
+++ b/internal/api/client/statuses/statusdelete.go
@@ -58,16 +58,28 @@ import (
// schema:
// "$ref": "#/definitions/status"
// '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) StatusDELETEHandler(c *gin.Context) {
authed, errWithCode := apiutil.TokenAuth(c,
diff --git a/internal/api/client/statuses/statusedit.go b/internal/api/client/statuses/statusedit.go
index 22d22da71..bf9c36dd7 100644
--- a/internal/api/client/statuses/statusedit.go
+++ b/internal/api/client/statuses/statusedit.go
@@ -149,16 +149,28 @@ import (
// schema:
// "$ref": "#/definitions/status"
// '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) StatusEditPUTHandler(c *gin.Context) {
authed, errWithCode := apiutil.TokenAuth(c,
diff --git a/internal/api/client/statuses/statusfave.go b/internal/api/client/statuses/statusfave.go
index 592eb86b2..13a44bab7 100644
--- a/internal/api/client/statuses/statusfave.go
+++ b/internal/api/client/statuses/statusfave.go
@@ -55,16 +55,28 @@ import (
// schema:
// "$ref": "#/definitions/status"
// '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) StatusFavePOSTHandler(c *gin.Context) {
authed, errWithCode := apiutil.TokenAuth(c,
diff --git a/internal/api/client/statuses/statusfavedby.go b/internal/api/client/statuses/statusfavedby.go
index baa1bcf0d..3deb18f91 100644
--- a/internal/api/client/statuses/statusfavedby.go
+++ b/internal/api/client/statuses/statusfavedby.go
@@ -56,16 +56,28 @@ import (
// items:
// "$ref": "#/definitions/account"
// '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) StatusFavedByGETHandler(c *gin.Context) {
authed, errWithCode := apiutil.TokenAuth(c,
diff --git a/internal/api/client/statuses/statusget.go b/internal/api/client/statuses/statusget.go
index ac91f6e44..369d3d3f3 100644
--- a/internal/api/client/statuses/statusget.go
+++ b/internal/api/client/statuses/statusget.go
@@ -55,16 +55,28 @@ import (
// schema:
// "$ref": "#/definitions/status"
// '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) StatusGETHandler(c *gin.Context) {
authed, errWithCode := apiutil.TokenAuth(c,
diff --git a/internal/api/client/statuses/statushistory.go b/internal/api/client/statuses/statushistory.go
index 2f94d38d1..bca7f5565 100644
--- a/internal/api/client/statuses/statushistory.go
+++ b/internal/api/client/statuses/statushistory.go
@@ -55,16 +55,28 @@ import (
// items:
// "$ref": "#/definitions/statusEdit"
// '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) StatusHistoryGETHandler(c *gin.Context) {
authed, errWithCode := apiutil.TokenAuth(c,
diff --git a/internal/api/client/statuses/statusmute.go b/internal/api/client/statuses/statusmute.go
index a73029f7c..50a925b01 100644
--- a/internal/api/client/statuses/statusmute.go
+++ b/internal/api/client/statuses/statusmute.go
@@ -59,16 +59,28 @@ import (
// schema:
// "$ref": "#/definitions/status"
// '400':
+// schema:
+// "$ref": "#/definitions/error"
// description: bad request; you're not part of the target status thread
// '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) StatusMutePOSTHandler(c *gin.Context) {
authed, errWithCode := apiutil.TokenAuth(c,
diff --git a/internal/api/client/statuses/statuspin.go b/internal/api/client/statuses/statuspin.go
index b12842ef2..1739d4cf5 100644
--- a/internal/api/client/statuses/statuspin.go
+++ b/internal/api/client/statuses/statuspin.go
@@ -61,16 +61,28 @@ import (
// schema:
// "$ref": "#/definitions/status"
// '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) StatusPinPOSTHandler(c *gin.Context) {
authed, errWithCode := apiutil.TokenAuth(c,
diff --git a/internal/api/client/statuses/statussource.go b/internal/api/client/statuses/statussource.go
index aed57098f..98cc68adb 100644
--- a/internal/api/client/statuses/statussource.go
+++ b/internal/api/client/statuses/statussource.go
@@ -55,16 +55,28 @@ import (
// items:
// "$ref": "#/definitions/statusSource"
// '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) StatusSourceGETHandler(c *gin.Context) {
authed, errWithCode := apiutil.TokenAuth(c,
diff --git a/internal/api/client/statuses/statusunbookmark.go b/internal/api/client/statuses/statusunbookmark.go
index 695600edf..4780b5146 100644
--- a/internal/api/client/statuses/statusunbookmark.go
+++ b/internal/api/client/statuses/statusunbookmark.go
@@ -56,16 +56,28 @@ import (
// schema:
// "$ref": "#/definitions/status"
// '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) StatusUnbookmarkPOSTHandler(c *gin.Context) {
authed, errWithCode := apiutil.TokenAuth(c,
diff --git a/internal/api/client/statuses/statusunboost.go b/internal/api/client/statuses/statusunboost.go
index 7863696df..5c08d848a 100644
--- a/internal/api/client/statuses/statusunboost.go
+++ b/internal/api/client/statuses/statusunboost.go
@@ -56,16 +56,28 @@ import (
// schema:
// "$ref": "#/definitions/status"
// '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) StatusUnboostPOSTHandler(c *gin.Context) {
authed, errWithCode := apiutil.TokenAuth(c,
diff --git a/internal/api/client/statuses/statusunfave.go b/internal/api/client/statuses/statusunfave.go
index a19c56eed..be990fb08 100644
--- a/internal/api/client/statuses/statusunfave.go
+++ b/internal/api/client/statuses/statusunfave.go
@@ -55,16 +55,28 @@ import (
// schema:
// "$ref": "#/definitions/status"
// '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) StatusUnfavePOSTHandler(c *gin.Context) {
authed, errWithCode := apiutil.TokenAuth(c,
diff --git a/internal/api/client/statuses/statusunmute.go b/internal/api/client/statuses/statusunmute.go
index e1e89da3b..0f9689083 100644
--- a/internal/api/client/statuses/statusunmute.go
+++ b/internal/api/client/statuses/statusunmute.go
@@ -59,16 +59,28 @@ import (
// schema:
// "$ref": "#/definitions/status"
// '400':
+// schema:
+// "$ref": "#/definitions/error"
// description: bad request; you're not part of the target status thread
// '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) StatusUnmutePOSTHandler(c *gin.Context) {
authed, errWithCode := apiutil.TokenAuth(c,
diff --git a/internal/api/client/statuses/statusunpin.go b/internal/api/client/statuses/statusunpin.go
index 90d1e7b7f..80d9fe41b 100644
--- a/internal/api/client/statuses/statusunpin.go
+++ b/internal/api/client/statuses/statusunpin.go
@@ -56,16 +56,28 @@ import (
// schema:
// "$ref": "#/definitions/status"
// '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) StatusUnpinPOSTHandler(c *gin.Context) {
authed, errWithCode := apiutil.TokenAuth(c,