"""
Generated by qenerate plugin=pydantic_v2. DO NOT MODIFY MANUALLY!
"""

from collections.abc import Callable  # noqa: F401 # pylint: disable=W0611
from datetime import datetime  # noqa: F401 # pylint: disable=W0611
from enum import Enum  # noqa: F401 # pylint: disable=W0611
from typing import Any, Optional, Union  # noqa: F401 # pylint: disable=W0611

from pydantic import (
    BaseModel,
    # noqa: F401 # pylint: disable=W0611
    Field,
)

DEFINITION = """
fragment Attachment on File {
    id
    url
    displayName
    mimeClass
    contentType
    createdAt
    updatedAt
}
"""


class ConfiguredBaseModel(BaseModel):
    class Config:
        extra = "forbid"


class Attachment(ConfiguredBaseModel):
    q_id: str = Field(..., alias="id")
    url: Optional[str] = Field(..., alias="url")
    display_name: Optional[str] = Field(..., alias="displayName")
    mime_class: Optional[str] = Field(..., alias="mimeClass")
    content_type: Optional[str] = Field(..., alias="contentType")
    created_at: Optional[datetime] = Field(..., alias="createdAt")
    updated_at: Optional[datetime] = Field(..., alias="updatedAt")
