"""Blueprint for Ledger Correction.""" 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 import ledger.logic.ledger_correction as logic from ledger.constants.error import ERROR_CODE_AUTHORIZATION from ledger.schemas.ledger_correction import LedgerCorrectionSchema ledger_correction_api = Blueprint( 'ledger_correction_api', __name__, url_prefix='/ledger-correction' ) @ledger_correction_api.route('/bulk', methods=['POST']) def bulk_create_ledger_correction(): """POST one or more ledger_correction 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=403, ) ) processed_body = validated_request_body(LedgerCorrectionSchema(many=True)) return flaskify(logic.bulk_create(processed_body))