From 84eb7eaf26bc123caf102e332a4bbc2e0f2874e2 Mon Sep 17 00:00:00 2001
From: Umar Getagazov <umar@handlerug.me>
Date: Mon, 19 Jun 2023 11:00:19 +0300
Subject: [PATCH] [chore] Fix Swagger paths for lists API endpoints (#1904)

---
 docs/api/swagger.yaml                         | 169 +++++++++---------
 internal/api/client/lists/listaccounts.go     |   2 +-
 internal/api/client/lists/listaccountsadd.go  |   2 +-
 .../api/client/lists/listaccountsremove.go    |   2 +-
 internal/api/client/lists/listcreate.go       |   2 +-
 internal/api/client/lists/listdelete.go       |   2 +-
 internal/api/client/lists/listget.go          |   2 +-
 internal/api/client/lists/listupdate.go       |   2 +-
 8 files changed, 91 insertions(+), 92 deletions(-)

diff --git a/docs/api/swagger.yaml b/docs/api/swagger.yaml
index 839793f82..cbd68532f 100644
--- a/docs/api/swagger.yaml
+++ b/docs/api/swagger.yaml
@@ -4517,7 +4517,34 @@ paths:
                     description: internal server error
             tags:
                 - instance
-    /api/v1/list:
+    /api/v1/lists:
+        get:
+            operationId: lists
+            produces:
+                - application/json
+            responses:
+                "200":
+                    description: Array of all lists owned by the requesting user.
+                    schema:
+                        items:
+                            $ref: '#/definitions/list'
+                        type: array
+                "400":
+                    description: bad request
+                "401":
+                    description: unauthorized
+                "404":
+                    description: not found
+                "406":
+                    description: not acceptable
+                "500":
+                    description: internal server error
+            security:
+                - OAuth2 Bearer:
+                    - read:lists
+            summary: Get all lists for owned by authorized user.
+            tags:
+                - lists
         post:
             consumes:
                 - application/json
@@ -4568,61 +4595,7 @@ paths:
             summary: Create a new list.
             tags:
                 - lists
-        put:
-            consumes:
-                - application/json
-                - application/xml
-                - application/x-www-form-urlencoded
-            operationId: listUpdate
-            parameters:
-                - description: ID of the list
-                  example: Cool People
-                  in: path
-                  name: id
-                  required: true
-                  type: string
-                  x-go-name: Title
-                - description: Title of this list.
-                  example: Cool People
-                  in: formData
-                  name: title
-                  type: string
-                  x-go-name: RepliesPolicy
-                - description: |-
-                    RepliesPolicy for this list.
-                    followed = Show replies to any followed user
-                    list = Show replies to members of the list
-                    none = Show replies to no one
-                  example: list
-                  in: formData
-                  name: replies_policy
-                  type: string
-            produces:
-                - application/json
-            responses:
-                "200":
-                    description: The newly updated list.
-                    schema:
-                        $ref: '#/definitions/list'
-                "400":
-                    description: bad request
-                "401":
-                    description: unauthorized
-                "403":
-                    description: forbidden
-                "404":
-                    description: not found
-                "406":
-                    description: not acceptable
-                "500":
-                    description: internal server error
-            security:
-                - OAuth2 Bearer:
-                    - write:lists
-            summary: Update an existing list.
-            tags:
-                - lists
-    /api/v1/list/{id}:
+    /api/v1/lists/{id}:
         delete:
             operationId: listDelete
             parameters:
@@ -4683,7 +4656,61 @@ paths:
             summary: Get a single list with the given ID.
             tags:
                 - lists
-    /api/v1/list/{id}/accounts:
+        put:
+            consumes:
+                - application/json
+                - application/xml
+                - application/x-www-form-urlencoded
+            operationId: listUpdate
+            parameters:
+                - description: ID of the list
+                  example: Cool People
+                  in: path
+                  name: id
+                  required: true
+                  type: string
+                  x-go-name: Title
+                - description: Title of this list.
+                  example: Cool People
+                  in: formData
+                  name: title
+                  type: string
+                  x-go-name: RepliesPolicy
+                - description: |-
+                    RepliesPolicy for this list.
+                    followed = Show replies to any followed user
+                    list = Show replies to members of the list
+                    none = Show replies to no one
+                  example: list
+                  in: formData
+                  name: replies_policy
+                  type: string
+            produces:
+                - application/json
+            responses:
+                "200":
+                    description: The newly updated list.
+                    schema:
+                        $ref: '#/definitions/list'
+                "400":
+                    description: bad request
+                "401":
+                    description: unauthorized
+                "403":
+                    description: forbidden
+                "404":
+                    description: not found
+                "406":
+                    description: not acceptable
+                "500":
+                    description: internal server error
+            security:
+                - OAuth2 Bearer:
+                    - write:lists
+            summary: Update an existing list.
+            tags:
+                - lists
+    /api/v1/lists/{id}/accounts:
         delete:
             consumes:
                 - application/json
@@ -4826,34 +4853,6 @@ paths:
             summary: Add one or more accounts to the given list.
             tags:
                 - lists
-    /api/v1/lists:
-        get:
-            operationId: lists
-            produces:
-                - application/json
-            responses:
-                "200":
-                    description: Array of all lists owned by the requesting user.
-                    schema:
-                        items:
-                            $ref: '#/definitions/list'
-                        type: array
-                "400":
-                    description: bad request
-                "401":
-                    description: unauthorized
-                "404":
-                    description: not found
-                "406":
-                    description: not acceptable
-                "500":
-                    description: internal server error
-            security:
-                - OAuth2 Bearer:
-                    - read:lists
-            summary: Get all lists for owned by authorized user.
-            tags:
-                - lists
     /api/v1/media/{id}:
         get:
             operationId: mediaGet
diff --git a/internal/api/client/lists/listaccounts.go b/internal/api/client/lists/listaccounts.go
index 3a24cab27..9e87c4130 100644
--- a/internal/api/client/lists/listaccounts.go
+++ b/internal/api/client/lists/listaccounts.go
@@ -27,7 +27,7 @@ import (
 	"github.com/superseriousbusiness/gotosocial/internal/oauth"
 )
 
-// ListAccountsGETHandler swagger:operation GET /api/v1/list/{id}/accounts listAccounts
+// ListAccountsGETHandler swagger:operation GET /api/v1/lists/{id}/accounts listAccounts
 //
 // Page through accounts in this list.
 //
diff --git a/internal/api/client/lists/listaccountsadd.go b/internal/api/client/lists/listaccountsadd.go
index 5cf907b06..a2a74e475 100644
--- a/internal/api/client/lists/listaccountsadd.go
+++ b/internal/api/client/lists/listaccountsadd.go
@@ -28,7 +28,7 @@ import (
 	"github.com/superseriousbusiness/gotosocial/internal/oauth"
 )
 
-// ListAccountsPOSTHandler swagger:operation POST /api/v1/list/{id}/accounts addListAccounts
+// ListAccountsPOSTHandler swagger:operation POST /api/v1/lists/{id}/accounts addListAccounts
 //
 // Add one or more accounts to the given list.
 //
diff --git a/internal/api/client/lists/listaccountsremove.go b/internal/api/client/lists/listaccountsremove.go
index 5e8013741..2a89cb960 100644
--- a/internal/api/client/lists/listaccountsremove.go
+++ b/internal/api/client/lists/listaccountsremove.go
@@ -28,7 +28,7 @@ import (
 	"github.com/superseriousbusiness/gotosocial/internal/oauth"
 )
 
-// ListAccountsDELETEHandler swagger:operation DELETE /api/v1/list/{id}/accounts removeListAccounts
+// ListAccountsDELETEHandler swagger:operation DELETE /api/v1/lists/{id}/accounts removeListAccounts
 //
 // Remove one or more accounts from the given list.
 //
diff --git a/internal/api/client/lists/listcreate.go b/internal/api/client/lists/listcreate.go
index 09a654c74..1405aedd2 100644
--- a/internal/api/client/lists/listcreate.go
+++ b/internal/api/client/lists/listcreate.go
@@ -30,7 +30,7 @@ import (
 	"github.com/superseriousbusiness/gotosocial/internal/validate"
 )
 
-// ListCreatePOSTHandler swagger:operation POST /api/v1/list listCreate
+// ListCreatePOSTHandler swagger:operation POST /api/v1/lists listCreate
 //
 // Create a new list.
 //
diff --git a/internal/api/client/lists/listdelete.go b/internal/api/client/lists/listdelete.go
index 394ddfb6b..e0139b574 100644
--- a/internal/api/client/lists/listdelete.go
+++ b/internal/api/client/lists/listdelete.go
@@ -27,7 +27,7 @@ import (
 	"github.com/superseriousbusiness/gotosocial/internal/oauth"
 )
 
-// ListDELETEHandler swagger:operation DELETE /api/v1/list/{id} listDelete
+// ListDELETEHandler swagger:operation DELETE /api/v1/lists/{id} listDelete
 //
 // Delete a single list with the given ID.
 //
diff --git a/internal/api/client/lists/listget.go b/internal/api/client/lists/listget.go
index 3aed594d4..f8dc54eb1 100644
--- a/internal/api/client/lists/listget.go
+++ b/internal/api/client/lists/listget.go
@@ -27,7 +27,7 @@ import (
 	"github.com/superseriousbusiness/gotosocial/internal/oauth"
 )
 
-// ListGETHandler swagger:operation GET /api/v1/list/{id} list
+// ListGETHandler swagger:operation GET /api/v1/lists/{id} list
 //
 // Get a single list with the given ID.
 //
diff --git a/internal/api/client/lists/listupdate.go b/internal/api/client/lists/listupdate.go
index 80c5a8be3..97c0cc636 100644
--- a/internal/api/client/lists/listupdate.go
+++ b/internal/api/client/lists/listupdate.go
@@ -31,7 +31,7 @@ import (
 	"github.com/superseriousbusiness/gotosocial/internal/validate"
 )
 
-// ListUpdatePUTHandler swagger:operation PUT /api/v1/list listUpdate
+// ListUpdatePUTHandler swagger:operation PUT /api/v1/lists/{id} listUpdate
 //
 // Update an existing list.
 //