from collections import OrderedDict SWAGGER_DOC_API = { 'definitions': { 'AboutResponseSchema': {'properties': { 'datetime': {'format': 'date-time', 'type': 'string'}, 'version': {'type': 'string'} }, 'required': ['datetime', 'version'], 'type': 'object'}, 'ListsUserSchema': {'properties': { 'item_nb': {'format': 'int32', 'minimum': 0, 'type': 'integer'}, 'items': { 'items': {'$ref': '#/definitions/UserSchema'}, 'type': 'array'}, 'pagination': {'$ref': '#/definitions/PaginationSchema'}}, 'required': ['item_nb'], 'type': 'object'}, 'NoContentSchema': {'properties': {}, 'type': 'object'}, 'PaginationSchema': {'properties': { 'current_id': {'format': 'int32', 'type': 'integer'}, 'first_id': {'format': 'int32', 'type': 'integer'}, 'last_id': {'format': 'int32', 'type': 'integer'}}, 'required': ['current_id', 'first_id', 'last_id'], 'type': 'object'}, 'UserSchema': {'properties': { 'company': {'type': 'string'}, 'display_name': {'type': 'string'}, 'email_address': {'format': 'email', 'type': 'string'}, 'first_name': {'type': 'string'}, 'id': {'format': 'int32', 'type': 'integer'}, 'last_name': {'type': 'string'}, 'username': {'type': 'string'}}, 'required': ['company', 'display_name', 'email_address', 'first_name', 'id', 'last_name', 'username'], 'type': 'object'}}, 'info': {'description': 'just an example of hapic API', 'title': 'Fake API', 'version': '1.0.0'}, 'parameters': {}, 'paths': OrderedDict( [('/about', { 'get': { 'description': 'General information about this API.', 'responses': {200: { 'description': 200, 'schema': {'$ref': '#/definitions/AboutResponseSchema'}}}}}), ('/users', { 'get': { 'description': 'Obtain users list.', 'responses': {200: { 'description': 200, 'schema': {'$ref': '#/definitions/ListsUserSchema'}}}}}), ('/users/{id}', { 'delete': { 'description': 'delete user', 'parameters': [{'in': 'path', 'name': 'id', 'required': True, 'type': 'integer'}], 'responses': {204: { 'description': 204, 'schema': {'$ref': '#/definitions/NoContentSchema'}}}}, 'get': { 'description': 'Obtain one user', 'parameters': [{'in': 'path', 'name': 'id', 'required': True, 'type': 'integer'}], 'responses': {200: { 'description': 200, 'schema': {'$ref': '#/definitions/UserSchema'}}}}}), ('/users/', { 'post': { 'description': 'Add new user', 'parameters': [{'in': 'body', 'name': 'body', 'schema': {'$ref': '#/definitions/UserSchema'}}], 'responses': {200: { 'description': 200, 'schema': {'$ref': '#/definitions/UserSchema'}}}}})]), 'swagger': '2.0', 'tags': [] }