From 76ad39dc9f5a1bc8f2088432f95e8d83d21b6cb7 Mon Sep 17 00:00:00 2001
From: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Date: Wed, 13 Jul 2022 14:44:32 +0100
Subject: [PATCH] Bug 31028: Add Public API endpoint

---
 api/v1/swagger/paths/catalog_concerns.yaml | 40 ++++++++++++++++++++++
 api/v1/swagger/swagger.yaml                |  2 ++
 2 files changed, 42 insertions(+)

diff --git a/api/v1/swagger/paths/catalog_concerns.yaml b/api/v1/swagger/paths/catalog_concerns.yaml
index bf2bef0ab0..2dd3b479da 100644
--- a/api/v1/swagger/paths/catalog_concerns.yaml
+++ b/api/v1/swagger/paths/catalog_concerns.yaml
@@ -210,3 +210,43 @@
     x-koha-authorization:
       permissions:
         editcatalogue: edit_catalogue
+/public/catalog/concerns:
+  post:
+    x-mojo-to: Catalog::Concerns#add
+    operationId: addConcernPublic
+    tags:
+      - concerns
+    summary: Add catalog concern
+    parameters:
+      - name: body
+        in: body
+        description: A JSON object containing informations about the new hold
+        required: true
+        schema:
+          $ref: "../swagger.yaml#/definitions/catalog_concern"
+    produces:
+      - application/json
+    responses:
+      "201":
+        description: Concern added
+        schema:
+          $ref: "../swagger.yaml#/definitions/catalog_concern"
+      "401":
+        description: Authentication required
+        schema:
+          $ref: "../swagger.yaml#/definitions/error"
+      "403":
+        description: Access forbidden
+        schema:
+          $ref: "../swagger.yaml#/definitions/error"
+      "500":
+        description: |
+          Internal server error. Possible `error_code` attribute values:
+
+          * `internal_server_error`
+        schema:
+          $ref: "../swagger.yaml#/definitions/error"
+      "503":
+        description: Under maintenance
+        schema:
+          $ref: "../swagger.yaml#/definitions/error"
diff --git a/api/v1/swagger/swagger.yaml b/api/v1/swagger/swagger.yaml
index 655194b5b3..806ab7009f 100644
--- a/api/v1/swagger/swagger.yaml
+++ b/api/v1/swagger/swagger.yaml
@@ -221,6 +221,8 @@ paths:
     $ref: "./paths/biblios.yaml#/~1public~1biblios~1{biblio_id}~1items"
   "/public/biblios/{biblio_id}/ratings":
     $ref: "./paths/biblios.yaml#/~1public~1biblios~1{biblio_id}~1ratings"
+  "/public/catalog/concerns":
+    $ref: "./paths/catalog_concerns.yaml#/~1public~1catalog~1concerns"
   /public/libraries:
     $ref: ./paths/libraries.yaml#/~1public~1libraries
   "/public/libraries/{library_id}":
-- 
2.20.1