"""Logic for payment_group_payment_batch_account.""" import typing from abacus_common_logic.connectors.database import db from payment.models import ( PaymentGroupPaymentAccount, PaymentGroupPaymentBatch, PaymentGroupPaymentBatchAccount, ) def bulk_create( create_params: tuple, ) -> typing.List[PaymentGroupPaymentBatchAccount]: """Create one or more payment_group_payment_batch_account records. Args: create_params: tuple of dicts with POST parameters: - payment_group_payment_account_id: Id of the payment_group_payment_account - payment_group_payment_batch_id: Id of the payment_group_payment_batch Returns: A List of newly created records. """ payment_batch_accounts = [] for params in create_params: payment_group_payment_account_id = params.get( 'payment_group_payment_account_id' ) payment_group_payment_batch_id = params.get('payment_group_payment_batch_id') PaymentGroupPaymentAccount.get_by_id_or_error(payment_group_payment_account_id) PaymentGroupPaymentBatch.get_by_id_or_error(payment_group_payment_batch_id) record = PaymentGroupPaymentBatchAccount.build(**params) payment_batch_accounts.append(record) if payment_batch_accounts: db.session.commit() return payment_batch_accounts