common.py 2.4KB

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