purge chat and shout endpoints
[akkoma] / lib / pleroma / web / api_spec / operations / notification_operation.ex
index 41328b5f28edbb903074d602a3be7ba85d0b3e23..b4a20e5e5652f3d96a1cb31def7cf8cbd69e6c82 100644 (file)
@@ -1,5 +1,5 @@
 # Pleroma: A lightweight social networking server
-# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
+# Copyright © 2017-2021 Pleroma Authors <https://pleroma.social/>
 # SPDX-License-Identifier: AGPL-3.0-only
 
 defmodule Pleroma.Web.ApiSpec.NotificationOperation do
@@ -22,7 +22,7 @@ defmodule Pleroma.Web.ApiSpec.NotificationOperation do
   def index_operation do
     %Operation{
       tags: ["Notifications"],
-      summary: "Get all notifications",
+      summary: "Retrieve a list of notifications",
       description:
         "Notifications concerning the user. This API returns Link headers containing links to the next/previous page. However, the links can also be constructed dynamically using query params and `id` values.",
       operationId: "NotificationController.index",
@@ -74,7 +74,7 @@ defmodule Pleroma.Web.ApiSpec.NotificationOperation do
   def show_operation do
     %Operation{
       tags: ["Notifications"],
-      summary: "Get a single notification",
+      summary: "Retrieve a notification",
       description: "View information about a notification with a given ID.",
       operationId: "NotificationController.show",
       security: [%{"oAuth" => ["read:notifications"]}],
@@ -99,7 +99,7 @@ defmodule Pleroma.Web.ApiSpec.NotificationOperation do
   def dismiss_operation do
     %Operation{
       tags: ["Notifications"],
-      summary: "Dismiss a single notification",
+      summary: "Dismiss a notification",
       description: "Clear a single notification from the server.",
       operationId: "NotificationController.dismiss",
       parameters: [id_param()],
@@ -108,24 +108,6 @@ defmodule Pleroma.Web.ApiSpec.NotificationOperation do
     }
   end
 
-  def dismiss_via_body_operation do
-    %Operation{
-      tags: ["Notifications"],
-      summary: "Dismiss a single notification",
-      deprecated: true,
-      description: "Clear a single notification from the server.",
-      operationId: "NotificationController.dismiss_via_body",
-      requestBody:
-        request_body(
-          "Parameters",
-          %Schema{type: :object, properties: %{id: %Schema{type: :string}}},
-          required: true
-        ),
-      security: [%{"oAuth" => ["write:notifications"]}],
-      responses: %{200 => empty_object_response()}
-    }
-  end
-
   def destroy_multiple_operation do
     %Operation{
       tags: ["Notifications"],
@@ -163,6 +145,13 @@ defmodule Pleroma.Web.ApiSpec.NotificationOperation do
           description:
             "Status that was the object of the notification, e.g. in mentions, reblogs, favourites, or polls.",
           nullable: true
+        },
+        pleroma: %Schema{
+          type: :object,
+          properties: %{
+            is_seen: %Schema{type: :boolean},
+            is_muted: %Schema{type: :boolean}
+          }
         }
       },
       example: %{
@@ -170,7 +159,8 @@ defmodule Pleroma.Web.ApiSpec.NotificationOperation do
         "type" => "mention",
         "created_at" => "2019-11-23T07:49:02.064Z",
         "account" => Account.schema().example,
-        "status" => Status.schema().example
+        "status" => Status.schema().example,
+        "pleroma" => %{"is_seen" => false, "is_muted" => false}
       }
     }
   end
@@ -184,9 +174,10 @@ defmodule Pleroma.Web.ApiSpec.NotificationOperation do
         "reblog",
         "mention",
         "pleroma:emoji_reaction",
-        "pleroma:chat_mention",
+        "pleroma:report",
         "move",
-        "follow_request"
+        "follow_request",
+        "poll"
       ],
       description: """
       The type of event that resulted in the notification.
@@ -198,6 +189,7 @@ defmodule Pleroma.Web.ApiSpec.NotificationOperation do
       - `poll` - A poll you have voted in or created has ended
       - `move` - Someone moved their account
       - `pleroma:emoji_reaction` - Someone reacted with emoji to your status
+      - `pleroma:report` - Someone was reported
       """
     }
   end