From 207dae6e11cc86472b7adb2045c3437011898a69 Mon Sep 17 00:00:00 2001 From: Martin Renvoize Date: Wed, 7 Oct 2015 15:20:25 +0000 Subject: [PATCH] Bug 15126: Refactor spec file Spreading the specification over multiple files should lead to a more manageable specification long term --- api/v1/definitions/error.json | 9 ++ api/v1/definitions/index.json | 4 + api/v1/definitions/patron.json | 273 +++++++++++++++++++++++++++++++++++++++ api/v1/swagger.json | 285 +---------------------------------------- 4 files changed, 287 insertions(+), 284 deletions(-) create mode 100644 api/v1/definitions/error.json create mode 100644 api/v1/definitions/index.json create mode 100644 api/v1/definitions/patron.json diff --git a/api/v1/definitions/error.json b/api/v1/definitions/error.json new file mode 100644 index 0000000..e43673f --- /dev/null +++ b/api/v1/definitions/error.json @@ -0,0 +1,9 @@ +{ + "type": "object", + "properties": { + "error": { + "description": "Error message", + "type": "string" + } + } +} diff --git a/api/v1/definitions/index.json b/api/v1/definitions/index.json new file mode 100644 index 0000000..e940eee --- /dev/null +++ b/api/v1/definitions/index.json @@ -0,0 +1,4 @@ +{ + "patron": { "$ref": "patron.json" }, + "error": { "$ref": "error.json" } +} diff --git a/api/v1/definitions/patron.json b/api/v1/definitions/patron.json new file mode 100644 index 0000000..30384e2 --- /dev/null +++ b/api/v1/definitions/patron.json @@ -0,0 +1,273 @@ +{ + "type": "object", + "properties": { + "borrowernumber": { + "type": "string", + "description": "internally assigned user identifier" + }, + "cardnumber": { + "type": ["string", "null"], + "description": "library assigned user identifier" + }, + "surname": { + "type": "string", + "description": "patron's last name" + }, + "firstname": { + "type": ["string", "null"], + "description": "patron's first name" + }, + "title": { + "type": ["string", "null"], + "description": "patron's title" + }, + "othernames": { + "type": ["string", "null"], + "description": "any other names associated with the patron" + }, + "initials": { + "type": ["string", "null"], + "description": "initials of the patron" + }, + "streetnumber": { + "type": ["string", "null"], + "description": "street number of patron's primary address" + }, + "streettype": { + "type": ["string", "null"], + "description": "street type of patron's primary address" + }, + "address": { + "type": "string", + "description": "first address line of patron's primary address" + }, + "address2": { + "type": ["string", "null"], + "description": "second address line of patron's primary address" + }, + "city": { + "type": "string", + "description": "city or town of patron's primary address" + }, + "state": { + "type": ["string", "null"], + "description": "state or province of patron's primary address" + }, + "zipcode": { + "type": ["string", "null"], + "description": "zip or postal code of patron's primary address" + }, + "country": { + "type": ["string", "null"], + "description": "country of patron's primary address" + }, + "email": { + "type": ["string", "null"], + "description": "primary email address for patron's primary address" + }, + "phone": { + "type": ["string", "null"], + "description": "primary phone number for patron's primary address" + }, + "mobile": { + "type": ["string", "null"], + "description": "the other phone number for patron's primary address" + }, + "fax": { + "type": ["string", "null"], + "description": "fax number for patron's primary address" + }, + "emailpro": { + "type": ["string", "null"], + "description": "secondary email address for patron's primary address" + }, + "phonepro": { + "type": ["string", "null"], + "description": "secondary phone number for patron's primary address" + }, + "B_streetnumber": { + "type": ["string", "null"], + "description": "street number of patron's alternate address" + }, + "B_streettype": { + "type": ["string", "null"], + "description": "street type of patron's alternate address" + }, + "B_address": { + "type": ["string", "null"], + "description": "first address line of patron's alternate address" + }, + "B_address2": { + "type": ["string", "null"], + "description": "second address line of patron's alternate address" + }, + "B_city": { + "type": ["string", "null"], + "description": "city or town of patron's alternate address" + }, + "B_state": { + "type": ["string", "null"], + "description": "state or province of patron's alternate address" + }, + "B_zipcode": { + "type": ["string", "null"], + "description": "zip or postal code of patron's alternate address" + }, + "B_country": { + "type": ["string", "null"], + "description": "country of patron's alternate address" + }, + "B_email": { + "type": ["string", "null"], + "description": "email address for patron's alternate address" + }, + "B_phone": { + "type": ["string", "null"], + "description": "phone number for patron's alternate address" + }, + "dateofbirth": { + "type": ["string", "null"], + "description": "patron's date of birth" + }, + "branchcode": { + "type": "string", + "description": "code of patron's home branch" + }, + "categorycode": { + "type": "string", + "description": "code of patron's category" + }, + "dateenrolled": { + "type": ["string", "null"], + "description": "date the patron was added to Koha" + }, + "dateexpiry": { + "type": ["string", "null"], + "description": "date the patron's card is set to expire" + }, + "gonenoaddress": { + "type": ["string", "null"], + "description": "set to 1 if library marked this patron as having an unconfirmed address" + }, + "lost": { + "type": ["string", "null"], + "description": "set to 1 if library marked this patron as having lost his card" + }, + "debarred": { + "type": ["string", "null"], + "description": "until this date the patron can only check-in" + }, + "debarredcomment": { + "type": ["string", "null"], + "description": "comment on the stop of the patron" + }, + "contactname": { + "type": ["string", "null"], + "description": "used for children and professionals to include surname or last name of guarantor or organization name" + }, + "contactfirstname": { + "type": ["string", "null"], + "description": "used for children to include first name of guarantor" + }, + "contacttitle": { + "type": ["string", "null"], + "description": "used for children to include title of guarantor" + }, + "guarantorid": { + "type": ["string", "null"], + "description": "borrowernumber used for children or professionals to link them to guarantor or organizations" + }, + "borrowernotes": { + "type": ["string", "null"], + "description": "a note on the patron's account" + }, + "relationship": { + "type": ["string", "null"], + "description": "used for children to include the relationship to their guarantor" + }, + "ethnicity": { + "type": ["string", "null"], + "description": "unused" + }, + "ethnotes": { + "type": ["string", "null"], + "description": "unused" + }, + "sex": { + "type": ["string", "null"], + "description": "patron's gender" + }, + "password": { + "type": ["string", "null"], + "description": "patron's encrypted password" + }, + "flags": { + "type": ["string", "null"], + "description": "a number associated with the patron's permissions" + }, + "userid": { + "type": ["string", "null"], + "description": "patron's login" + }, + "opacnote": { + "type": ["string", "null"], + "description": "a note on the patron's account visible in OPAC and staff client" + }, + "contactnote": { + "type": ["string", "null"], + "description": "a note related to patron's alternate address" + }, + "sort1": { + "type": ["string", "null"], + "description": "a field that can be used for any information unique to the library" + }, + "sort2": { + "type": ["string", "null"], + "description": "a field that can be used for any information unique to the library" + }, + "altcontactfirstname": { + "type": ["string", "null"], + "description": "first name of alternate contact for the patron" + }, + "altcontactsurname": { + "type": ["string", "null"], + "description": "surname or last name of the alternate contact for the patron" + }, + "altcontactaddress1": { + "type": ["string", "null"], + "description": "the first address line for the alternate contact for the patron" + }, + "altcontactaddress2": { + "type": ["string", "null"], + "description": "the second address line for the alternate contact for the patron" + }, + "altcontactaddress3": { + "type": ["string", "null"], + "description": "the city for the alternate contact for the patron" + }, + "altcontactstate": { + "type": ["string", "null"], + "description": "the state for the alternate contact for the patron" + }, + "altcontactzipcode": { + "type": ["string", "null"], + "description": "the zipcode for the alternate contact for the patron" + }, + "altcontactcountry": { + "type": ["string", "null"], + "description": "the country for the alternate contact for the patron" + }, + "altcontactphone": { + "type": ["string", "null"], + "description": "the phone number for the alternate contact for the patron" + }, + "smsalertnumber": { + "type": ["string", "null"], + "description": "the mobile phone number where the patron would like to receive notices (if SMS turned on)" + }, + "privacy": { + "type": "string", + "description": "patron's privacy settings related to their reading history" + } + } +} diff --git a/api/v1/swagger.json b/api/v1/swagger.json index 9c2f436..8f32781 100644 --- a/api/v1/swagger.json +++ b/api/v1/swagger.json @@ -78,290 +78,7 @@ } }, "definitions": { - "patron": { - "type": "object", - "properties": { - "borrowernumber": { - "$ref": "#/definitions/borrowernumber" - }, - "cardnumber": { - "description": "library assigned ID number for patrons", - "type": ["string", "null"] - }, - "surname": { - "description": "patron's last name", - "type": ["string", "null"] - }, - "firstname": { - "description": "patron's first name", - "type": ["string", "null"] - }, - "title": { - "description": "patron's title", - "type": ["string", "null"] - }, - "othernames": { - "description": "any other names associated with the patron", - "type": ["string", "null"] - }, - "initials": { - "description": "initials of the patron", - "type": ["string", "null"] - }, - "streetnumber": { - "description": "street number of patron's primary address", - "type": ["string", "null"] - }, - "streettype": { - "description": "street type of patron's primary address", - "type": ["string", "null"] - }, - "address": { - "description": "first address line of patron's primary address", - "type": ["string", "null"] - }, - "address2": { - "description": "second address line of patron's primary address", - "type": ["string", "null"] - }, - "city": { - "description": "city or town of patron's primary address", - "type": ["string", "null"] - }, - "state": { - "description": "state or province of patron's primary address", - "type": ["string", "null"] - }, - "zipcode": { - "description": "zip or postal code of patron's primary address", - "type": ["string", "null"] - }, - "country": { - "description": "country of patron's primary address", - "type": ["string", "null"] - }, - "email": { - "description": "primary email address for patron's primary address", - "type": ["string", "null"] - }, - "phone": { - "description": "primary phone number for patron's primary address", - "type": ["string", "null"] - }, - "mobile": { - "description": "the other phone number for patron's primary address", - "type": ["string", "null"] - }, - "fax": { - "description": "fax number for patron's primary address", - "type": ["string", "null"] - }, - "emailpro": { - "description": "secondary email address for patron's primary address", - "type": ["string", "null"] - }, - "phonepro": { - "description": "secondary phone number for patron's primary address", - "type": ["string", "null"] - }, - "B_streetnumber": { - "description": "street number of patron's alternate address", - "type": ["string", "null"] - }, - "B_streettype": { - "description": "street type of patron's alternate address", - "type": ["string", "null"] - }, - "B_address": { - "description": "first address line of patron's alternate address", - "type": ["string", "null"] - }, - "B_address2": { - "description": "second address line of patron's alternate address", - "type": ["string", "null"] - }, - "B_city": { - "description": "city or town of patron's alternate address", - "type": ["string", "null"] - }, - "B_state": { - "description": "state or province of patron's alternate address", - "type": ["string", "null"] - }, - "B_zipcode": { - "description": "zip or postal code of patron's alternate address", - "type": ["string", "null"] - }, - "B_country": { - "description": "country of patron's alternate address", - "type": ["string", "null"] - }, - "B_email": { - "description": "email address for patron's alternate address", - "type": ["string", "null"] - }, - "B_phone": { - "description": "phone number for patron's alternate address", - "type": ["string", "null"] - }, - "dateofbirth": { - "description": "patron's date of birth", - "type": ["string", "null"] - }, - "branchcode": { - "description": "code of patron's home branch", - "type": ["string", "null"] - }, - "categorycode": { - "description": "code of patron's category", - "type": ["string", "null"] - }, - "dateenrolled": { - "description": "date the patron was added to Koha", - "type": ["string", "null"] - }, - "dateexpiry": { - "description": "date the patron's card is set to expire", - "type": ["string", "null"] - }, - "gonenoaddress": { - "description": "set to 1 if library marked this patron as having an unconfirmed address", - "type": ["string", "null"] - }, - "lost": { - "description": "set to 1 if library marked this patron as having lost his card", - "type": ["string", "null"] - }, - "debarred": { - "description": "until this date the patron can only check-in", - "type": ["string", "null"] - }, - "debarredcomment": { - "description": "comment on the stop of the patron", - "type": ["string", "null"] - }, - "contactname": { - "description": "used for children and professionals to include surname or last name of guarantor or organization name", - "type": ["string", "null"] - }, - "contactfirstname": { - "description": "used for children to include first name of guarantor", - "type": ["string", "null"] - }, - "contacttitle": { - "description": "used for children to include title of guarantor", - "type": ["string", "null"] - }, - "guarantorid": { - "description": "borrowernumber used for children or professionals to link them to guarantor or organizations", - "type": ["string", "null"] - }, - "borrowernotes": { - "description": "a note on the patron's account", - "type": ["string", "null"] - }, - "relationship": { - "description": "used for children to include the relationship to their guarantor", - "type": ["string", "null"] - }, - "ethnicity": { - "description": "unused", - "type": ["string", "null"] - }, - "ethnotes": { - "description": "unused", - "type": ["string", "null"] - }, - "sex": { - "description": "patron's gender", - "type": ["string", "null"] - }, - "password": { - "description": "patron's encrypted password", - "type": ["string", "null"] - }, - "flags": { - "description": "a number associated with the patron's permissions", - "type": ["string", "null"] - }, - "userid": { - "description": "patron's login", - "type": ["string", "null"] - }, - "opacnote": { - "description": "a note on the patron's account visible in OPAC and staff client", - "type": ["string", "null"] - }, - "contactnote": { - "description": "a note related to patron's alternate address", - "type": ["string", "null"] - }, - "sort1": { - "description": "a field that can be used for any information unique to the library", - "type": ["string", "null"] - }, - "sort2": { - "description": "a field that can be used for any information unique to the library", - "type": ["string", "null"] - }, - "altcontactfirstname": { - "description": "first name of alternate contact for the patron", - "type": ["string", "null"] - }, - "altcontactsurname": { - "description": "surname or last name of the alternate contact for the patron", - "type": ["string", "null"] - }, - "altcontactaddress1": { - "description": "the first address line for the alternate contact for the patron", - "type": ["string", "null"] - }, - "altcontactaddress2": { - "description": "the second address line for the alternate contact for the patron", - "type": ["string", "null"] - }, - "altcontactaddress3": { - "description": "the city for the alternate contact for the patron", - "type": ["string", "null"] - }, - "altcontactstate": { - "description": "the state for the alternate contact for the patron", - "type": ["string", "null"] - }, - "altcontactzipcode": { - "description": "the zipcode for the alternate contact for the patron", - "type": ["string", "null"] - }, - "altcontactcountry": { - "description": "the country for the alternate contact for the patron", - "type": ["string", "null"] - }, - "altcontactphone": { - "description": "the phone number for the alternate contact for the patron", - "type": ["string", "null"] - }, - "smsalertnumber": { - "description": "the mobile phone number where the patron would like to receive notices (if SMS turned on)", - "type": ["string", "null"] - }, - "privacy": { - "description": "patron's privacy settings related to their reading history", - "type": ["string", "null"] - } - } - }, - "borrowernumber": { - "description": "Patron internal identifier" - }, - "error": { - "type": "object", - "properties": { - "error": { - "description": "Error message", - "type": "string" - } - } - } + "$ref": "./definitions/index.json" }, "parameters": { "borrowernumberPathParam": { -- 2.1.4