Bug 17006: OpenAPI spec
authorTomas Cohen Arazi <tomascohen@theke.io>
Thu, 16 Aug 2018 10:01:21 +0000 (07:01 -0300)
committerMartin Renvoize <martin.renvoize@ptfs-europe.com>
Fri, 1 Feb 2019 15:18:22 +0000 (15:18 +0000)
Sponsored-by: Municipal Libray Ceska Trebova
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit d4570947b0ba4f52f03e190b787b2605948a1495)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

api/v1/swagger/paths.json
api/v1/swagger/paths/patrons_password.json [new file with mode: 0644]

index c8870db..83dddb0 100644 (file)
@@ -32,6 +32,9 @@
   "/patrons/{patron_id}/account/credits": {
     "$ref": "paths/patrons_account.json#/~1patrons~1{patron_id}~1account~1credits"
   },
+  "/patrons/{patron_id}/password": {
+    "$ref": "paths/patrons_password.json#/~1patrons~1{patron_id}~1password"
+  },
   "/illrequests": {
     "$ref": "paths/illrequests.json#/~1illrequests"
   },
diff --git a/api/v1/swagger/paths/patrons_password.json b/api/v1/swagger/paths/patrons_password.json
new file mode 100644 (file)
index 0000000..7384f76
--- /dev/null
@@ -0,0 +1,84 @@
+{
+  "/patrons/{patron_id}/password": {
+    "post": {
+      "x-mojo-to": "Patrons::Password#set",
+      "operationId": "setPatronPassword",
+      "tags": [
+        "patron"
+      ],
+      "parameters": [
+        {
+          "$ref": "../parameters.json#/patron_id_pp"
+        },
+        {
+          "name": "body",
+          "in": "body",
+          "description": "A JSON object containing password information",
+          "schema": {
+            "type": "object",
+            "properties": {
+              "password": {
+                "description": "New password (plain text)",
+                "type": "string"
+              },
+              "password_2": {
+                "description": "Repeated new password (plain text)",
+                "type": "string"
+              }
+            },
+            "required": ["password", "password_2"]
+          }
+        }
+      ],
+      "produces": [
+        "application/json"
+      ],
+      "responses": {
+        "200": {
+          "description": "Password changed"
+        },
+        "400": {
+          "description": "Bad request",
+          "schema": {
+            "$ref": "../definitions.json#/error"
+          }
+        },
+        "401": {
+          "description": "Authentication required",
+          "schema": {
+            "$ref": "../definitions.json#/error"
+          }
+        },
+        "403": {
+          "description": "Access forbidden",
+          "schema": {
+            "$ref": "../definitions.json#/error"
+          }
+        },
+        "404": {
+          "description": "Patron not found",
+          "schema": {
+            "$ref": "../definitions.json#/error"
+          }
+        },
+        "500": {
+          "description": "Internal server error",
+          "schema": {
+            "$ref": "../definitions.json#/error"
+          }
+        },
+        "503": {
+          "description": "Under maintenance",
+          "schema": {
+            "$ref": "../definitions.json#/error"
+          }
+        }
+      },
+      "x-koha-authorization": {
+        "permissions": {
+          "borrowers": "1"
+        }
+      }
+    }
+  }
+}