# Generated by ariadne-codegen on 2023-07-13 16:02
# Source: operations.graphql

from typing import Optional

from pydantic import Field

from .base_model import BaseModel
from .enums import SubscriptionDecisionStrategy
from .fragments import SlimCustomerFragment, SlimSubscriptionFragment


class ProvisionCustomer(BaseModel):
    provision_customer: "ProvisionCustomerProvisionCustomer" = Field(
        alias="provisionCustomer"
    )


class ProvisionCustomerProvisionCustomer(BaseModel):
    customer: "ProvisionCustomerProvisionCustomerCustomer"
    subscription_decision_strategy: SubscriptionDecisionStrategy = Field(
        alias="subscriptionDecisionStrategy"
    )
    subscription: Optional["ProvisionCustomerProvisionCustomerSubscription"]


class ProvisionCustomerProvisionCustomerCustomer(SlimCustomerFragment):
    pass


class ProvisionCustomerProvisionCustomerSubscription(SlimSubscriptionFragment):
    pass


ProvisionCustomer.update_forward_refs()
ProvisionCustomerProvisionCustomer.update_forward_refs()
ProvisionCustomerProvisionCustomerCustomer.update_forward_refs()
ProvisionCustomerProvisionCustomerSubscription.update_forward_refs()
