Tomas Cohen Arazi
051a06e69b
This patch adds missing attribute to the object definitions in the spec. We wrongly supposed it was the default, but it proved not. To test: 1. Apply this patch 2. Run: $ kshell k$ prove t/db_dependent/api/v1 => SUCCESS: Tests pass, nothing breaks! 3. Sign off :-D Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Signed-off-by: David Nind <david@davidnind.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
111 lines
3.9 KiB
JSON
111 lines
3.9 KiB
JSON
{
|
|
"/clubs/{club_id}/holds": {
|
|
"post": {
|
|
"x-mojo-to": "Clubs::Holds#add",
|
|
"operationId": "addClubHold",
|
|
"tags": ["holds", "clubs"],
|
|
"parameters": [{
|
|
"$ref": "../parameters.json#/club_id_pp"
|
|
}, {
|
|
"name": "body",
|
|
"in": "body",
|
|
"description": "A JSON object containing informations about the new hold",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"biblio_id": {
|
|
"description": "Internal biblio identifier",
|
|
"type": [ "integer", "null" ]
|
|
},
|
|
"item_id": {
|
|
"description": "Internal item identifier",
|
|
"type": [ "integer", "null" ]
|
|
},
|
|
"pickup_library_id": {
|
|
"description": "Internal library identifier for the pickup library",
|
|
"type": "string"
|
|
},
|
|
"expiration_date": {
|
|
"description": "Hold end date",
|
|
"type": ["string", "null"],
|
|
"format": "date"
|
|
},
|
|
"notes": {
|
|
"description": "Notes related to this hold",
|
|
"type": [ "string", "null" ]
|
|
},
|
|
"item_type": {
|
|
"description": "Limit hold on one itemtype (ignored for item-level holds)",
|
|
"type": [ "string", "null" ]
|
|
},
|
|
"default_patron_home": {
|
|
"description": "For each patron, set pickup location to patron's home library if possible",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [ "pickup_library_id" ],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
],
|
|
"consumes": ["application/json"],
|
|
"produces": ["application/json"],
|
|
"responses": {
|
|
"201": {
|
|
"description": "Created hold",
|
|
"schema": {
|
|
"$ref": "../definitions/club_hold.json"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Missing or wrong parameters",
|
|
"schema": {
|
|
"$ref": "../definitions.json#/error"
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Authentication required",
|
|
"schema": {
|
|
"$ref": "../definitions.json#/error"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Hold not allowed",
|
|
"schema": {
|
|
"$ref": "../definitions.json#/error"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Hold not found",
|
|
"schema": {
|
|
"$ref": "../definitions.json#/error"
|
|
}
|
|
},
|
|
"409": {
|
|
"description": "Hold not allowed",
|
|
"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": {
|
|
"reserveforothers": "1"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|