def delete(**path_data): headers = dict() response_data = dict() require_response_data(definition.func(**path_data)) definition.header_func(headers, response_data) response_format = self.negotiate_response_content( definition.response_formats) return dump_response_data( "", None, status_code=Operation.DeleteFor.value.default_code, headers=headers, response_format=response_format, )
def create(**path_data): request_data = load_request_data(definition.request_schema) response_data = require_response_data( definition.func(**merge_data(path_data, request_data))) return dump_response_data(definition.response_schema, response_data, Operation.CreateFor.value.default_code)
def update(**path_data): # NB: using partial here means that marshmallow will not validate required fields request_data = load_request_data(definition.request_schema, partial=True) response_data = require_response_data( definition.func(**merge_data(path_data, request_data))) return dump_response_data(definition.response_schema, response_data)
def replace(**path_data): request_data = load_request_data(definition.request_schema) # Replace/put should create a resource if not already present, but we do not # enforce these semantics at the HTTP layer. If `func` returns falsey, we # will raise a 404. response_data = require_response_data( definition.func(**merge_data(path_data, request_data))) return dump_response_data(definition.response_schema, response_data)
def retrieve(**path_data): headers = dict() request_data = load_query_string_data(request_schema) response_data = require_response_data(definition.func(**merge_data(path_data, request_data))) definition.header_func(headers, response_data) response_format = self.negotiate_response_content(definition.response_formats) return dump_response_data( definition.response_schema, response_data, headers=headers, response_format=response_format, )
def update(**path_data): headers = dict() # NB: using partial here means that marshmallow will not validate required fields request_data = load_request_data(definition.request_schema, partial=True) response_data = require_response_data(definition.func(**merge_data(path_data, request_data))) definition.header_func(headers, response_data) response_format = self.negotiate_response_content(definition.response_formats) return dump_response_data( definition.response_schema, response_data, headers=headers, response_format=response_format, )
def delete(**path_data): headers = dict() request_data = load_query_string_data(request_schema) response_data = require_response_data(definition.func(**merge_data(path_data, request_data))) definition.header_func(headers, response_data) response_format = self.negotiate_response_content(definition.response_formats) return dump_response_data( "", None, status_code=Operation.Delete.value.default_code, headers=headers, response_format=response_format, )
def create(**path_data): request_data = load_request_data(definition.request_schema) response_data = require_response_data( definition.func(**merge_data(path_data, request_data))) headers = encode_id_header(response_data) definition.header_func(headers, response_data) response_format = self.negotiate_response_content( definition.response_formats) return dump_response_data( definition.response_schema, response_data, Operation.CreateFor.value.default_code, headers=headers, response_format=response_format, )
def replace(**path_data): headers = dict() request_data = load_request_data(definition.request_schema) response_data = require_response_data( definition.func(**merge_data(path_data, request_data))) definition.header_func(headers, response_data) response_format = self.negotiate_response_content( definition.response_formats) return dump_response_data( definition.response_schema, response_data, status_code=Operation.UpdateFor.value.default_code, headers=headers, response_format=response_format, )
def replace(**path_data): headers = dict() request_data = load_request_data(definition.request_schema) # Replace/put should create a resource if not already present, but we do not # enforce these semantics at the HTTP layer. If `func` returns falsey, we # will raise a 404. response_data = require_response_data(definition.func(**merge_data(path_data, request_data))) definition.header_func(headers, response_data) response_format = self.negotiate_response_content(definition.response_formats) return dump_response_data( definition.response_schema, response_data, headers=headers, response_format=response_format, )
def delete(**path_data): require_response_data(definition.func(**path_data)) return "", Operation.DeleteFor.value.default_code
def retrieve(**path_data): request_data = load_query_string_data(request_schema) response_data = require_response_data( definition.func(**merge_data(path_data, request_data))) return dump_response_data(definition.response_schema, response_data)
def retrieve(**path_data): response_data = require_response_data(definition.func(**path_data)) return dump_response_data(definition.response_schema, response_data)