"""Schema for payment_group_payment serialization.""" from abacus_common_logic.marshalling.custom_fields import ma class PaymentGroupPaymentDetailSchema(ma.Schema): """Payment Group Payment detail schema.""" created_at = ma.FormattedDate(required=False) payment_group_payment_id = ma.NonNegativeInteger(required=True) payment_group_id = ma.NonNegativeInteger(required=True) statement_period_id = ma.NonNegativeInteger() payment_name = ma.NonemptyString(required=True) account_count = ma.NonNegativeInteger(required=True) class PaymentGroupPaymentListSchema(ma.Schema): """Payment Group Payment list schema.""" items = ma.Nested(PaymentGroupPaymentDetailSchema, many=True) total_count = ma.NonNegativeInteger() class PaymentGroupPaymentOverviewSchema(ma.Schema): """Payment Group Payment overview schema.""" account_count = ma.NonNegativeInteger() currency_code = ma.NonemptyString() currency_total = ma.Decimal(as_string=True) payment_group_payment_id = ma.IntegerId() class PaymentGroupPaymentOverviewDataloaderSchema(ma.Schema): """Payment Group Payment overview schema.""" data = ma.Nested(PaymentGroupPaymentOverviewSchema) class PaymentGroupPaymentOverviewDataloaderResponseSchema(ma.Schema): """Payment Group Payment overview response schema.""" items = ma.Nested(PaymentGroupPaymentOverviewDataloaderSchema, many=True) class PaymentGroupPaymentTotalsSchema(ma.Schema): """Payment Group Payment totals schema.""" account_count = ma.NonNegativeInteger() currency_code = ma.NonemptyString() currency_total = ma.Decimal(as_string=True) payoneer_program_id = ma.NonNegativeInteger() payment_entity_name = ma.String() class PaymentGroupPaymentStatusOverviewSchema(ma.Schema): """Payment Group Payment Status Overview schema.""" payment_group_payment_id = ma.NonNegativeInteger(required=True) number_of_canceled_payments = ma.NonNegativeInteger() number_of_failed_payments = ma.NonNegativeInteger() number_of_successful_payments = ma.NonNegativeInteger() number_of_pending_payments = ma.NonNegativeInteger() number_of_payments_failed_with_batch = ma.NonNegativeInteger() class PaymentGroupPaymentStatusOverviewDataloaderItemSchema(ma.Schema): """Payment Group Payment Status Overview dataloader item schema.""" data = ma.Nested(PaymentGroupPaymentStatusOverviewSchema) class PaymentGroupPaymentStatusOverviewDataloaderSchema(ma.Schema): """Payment Group Payment Status Overview dataloader schema.""" items = ma.Nested(PaymentGroupPaymentStatusOverviewDataloaderItemSchema, many=True)