"""Blueprint for Ledger Vat Summary API.""" from abacus_common_logic.views.validations import validated_request_body from flask import Blueprint, request from owsrequest import flask_request from owsresponse import response from owsresponse.adaptors.flask import flaskify from ledger.constants.error import ERROR_CODE_AUTHORIZATION from ledger.logic import ledger_vat_summary as logic from ledger.schemas.ledger_vat_summary import LedgerVatSummarySchema ledger_vat_summary_api = Blueprint( 'ledger_vat_summary_api', __name__, url_prefix='/ledger-vat-summary', ) @ledger_vat_summary_api.route( '/statement-period//event//bulk', methods=['POST'], ) def bulk_create_ledger_vat_summary(event_id: int, statement_period_id: int): """Bulk creating ledger_vat_summary records.""" access_rule_decision = flask_request.verify_rules_access_standalone(request) if not access_rule_decision: return flaskify( response.create_error_response( code=ERROR_CODE_AUTHORIZATION, message='Unauthorized', status=401, ) ) processed_body = validated_request_body(LedgerVatSummarySchema(many=True)) return flaskify(logic.bulk_create(event_id, statement_period_id, processed_body))