# Generated by ariadne-codegen
# Source: metasrht/graphql/

from datetime import datetime
from typing import Annotated, Optional

from pydantic import BeforeValidator, Field
from srht.graphql import gql_time

from .base_model import BaseModel
from .enums import PaymentStatus


class GetSubscriptionParameters(BaseModel):
    me: "GetSubscriptionParametersMe"


class GetSubscriptionParametersMe(BaseModel):
    payment_status: PaymentStatus = Field(alias="paymentStatus")
    payment_due: Optional[Annotated[datetime, BeforeValidator(gql_time)]] = Field(
        alias="paymentDue"
    )
    subscription: Optional["GetSubscriptionParametersMeSubscription"]


class GetSubscriptionParametersMeSubscription(BaseModel):
    id: int


GetSubscriptionParameters.model_rebuild()
GetSubscriptionParametersMe.model_rebuild()
