update mastofe paths (#95)
[akkoma] / lib / pleroma / web / api_spec / operations / admin / user_operation.ex
index 183c612361365944709150e3439f43c8ba2ef9bf..57fb1ad65e8c101af4700cfbafd0017a1c6efaab 100644 (file)
@@ -17,7 +17,7 @@ defmodule Pleroma.Web.ApiSpec.Admin.UserOperation do
 
   def index_operation do
     %Operation{
-      tags: ["Users"],
+      tags: ["User administration"],
       summary: "List users",
       operationId: "AdminAPI.UserController.index",
       security: [%{"oAuth" => ["admin:read:accounts"]}],
@@ -63,7 +63,7 @@ defmodule Pleroma.Web.ApiSpec.Admin.UserOperation do
 
   def create_operation do
     %Operation{
-      tags: ["Users"],
+      tags: ["User administration"],
       summary: "Create a single or multiple users",
       operationId: "AdminAPI.UserController.create",
       security: [%{"oAuth" => ["admin:write:accounts"]}],
@@ -134,7 +134,7 @@ defmodule Pleroma.Web.ApiSpec.Admin.UserOperation do
 
   def show_operation do
     %Operation{
-      tags: ["Users"],
+      tags: ["User administration"],
       summary: "Show user",
       operationId: "AdminAPI.UserController.show",
       security: [%{"oAuth" => ["admin:read:accounts"]}],
@@ -157,7 +157,7 @@ defmodule Pleroma.Web.ApiSpec.Admin.UserOperation do
 
   def follow_operation do
     %Operation{
-      tags: ["Users"],
+      tags: ["User administration"],
       summary: "Follow",
       operationId: "AdminAPI.UserController.follow",
       security: [%{"oAuth" => ["admin:write:follows"]}],
@@ -182,7 +182,7 @@ defmodule Pleroma.Web.ApiSpec.Admin.UserOperation do
 
   def unfollow_operation do
     %Operation{
-      tags: ["Users"],
+      tags: ["User administration"],
       summary: "Unfollow",
       operationId: "AdminAPI.UserController.unfollow",
       security: [%{"oAuth" => ["admin:write:follows"]}],
@@ -207,7 +207,7 @@ defmodule Pleroma.Web.ApiSpec.Admin.UserOperation do
 
   def approve_operation do
     %Operation{
-      tags: ["Users"],
+      tags: ["User administration"],
       summary: "Approve multiple users",
       operationId: "AdminAPI.UserController.approve",
       security: [%{"oAuth" => ["admin:write:accounts"]}],
@@ -216,7 +216,71 @@ defmodule Pleroma.Web.ApiSpec.Admin.UserOperation do
         request_body(
           "Parameters",
           %Schema{
-            description: "POST body for deleting multiple users",
+            description: "POST body for approving multiple users",
+            type: :object,
+            properties: %{
+              nicknames: %Schema{
+                type: :array,
+                items: %Schema{type: :string}
+              }
+            }
+          }
+        ),
+      responses: %{
+        200 =>
+          Operation.response("Response", "application/json", %Schema{
+            type: :object,
+            properties: %{user: %Schema{type: :array, items: user()}}
+          }),
+        403 => Operation.response("Forbidden", "application/json", ApiError)
+      }
+    }
+  end
+
+  def suggest_operation do
+    %Operation{
+      tags: ["User administration"],
+      summary: "Suggest multiple users",
+      operationId: "AdminAPI.UserController.suggest",
+      security: [%{"oAuth" => ["admin:write:accounts"]}],
+      parameters: admin_api_params(),
+      requestBody:
+        request_body(
+          "Parameters",
+          %Schema{
+            description: "POST body for adding multiple suggested users",
+            type: :object,
+            properties: %{
+              nicknames: %Schema{
+                type: :array,
+                items: %Schema{type: :string}
+              }
+            }
+          }
+        ),
+      responses: %{
+        200 =>
+          Operation.response("Response", "application/json", %Schema{
+            type: :object,
+            properties: %{user: %Schema{type: :array, items: user()}}
+          }),
+        403 => Operation.response("Forbidden", "application/json", ApiError)
+      }
+    }
+  end
+
+  def unsuggest_operation do
+    %Operation{
+      tags: ["User administration"],
+      summary: "Unsuggest multiple users",
+      operationId: "AdminAPI.UserController.unsuggest",
+      security: [%{"oAuth" => ["admin:write:accounts"]}],
+      parameters: admin_api_params(),
+      requestBody:
+        request_body(
+          "Parameters",
+          %Schema{
+            description: "POST body for removing multiple suggested users",
             type: :object,
             properties: %{
               nicknames: %Schema{
@@ -239,7 +303,7 @@ defmodule Pleroma.Web.ApiSpec.Admin.UserOperation do
 
   def toggle_activation_operation do
     %Operation{
-      tags: ["Users"],
+      tags: ["User administration"],
       summary: "Toggle user activation",
       operationId: "AdminAPI.UserController.toggle_activation",
       security: [%{"oAuth" => ["admin:write:accounts"]}],
@@ -256,7 +320,7 @@ defmodule Pleroma.Web.ApiSpec.Admin.UserOperation do
 
   def activate_operation do
     %Operation{
-      tags: ["Users"],
+      tags: ["User administration"],
       summary: "Activate multiple users",
       operationId: "AdminAPI.UserController.activate",
       security: [%{"oAuth" => ["admin:write:accounts"]}],
@@ -288,7 +352,7 @@ defmodule Pleroma.Web.ApiSpec.Admin.UserOperation do
 
   def deactivate_operation do
     %Operation{
-      tags: ["Users"],
+      tags: ["User administration"],
       summary: "Deactivates multiple users",
       operationId: "AdminAPI.UserController.deactivate",
       security: [%{"oAuth" => ["admin:write:accounts"]}],
@@ -320,7 +384,7 @@ defmodule Pleroma.Web.ApiSpec.Admin.UserOperation do
 
   def delete_operation do
     %Operation{
-      tags: ["Users"],
+      tags: ["User administration"],
       summary: "Removes a single or multiple users",
       operationId: "AdminAPI.UserController.delete",
       security: [%{"oAuth" => ["admin:write:accounts"]}],