# Generated by ariadne-codegen
# Source: srht/services/hub/

from typing import Literal

from pydantic import Field

from .base_model import BaseModel
from .enums import RepoType


class ProjectResources(BaseModel):
    name: str
    owner: "ProjectResourcesOwner"
    mailing_lists: "ProjectResourcesMailingLists" = Field(alias="mailingLists")
    sources: "ProjectResourcesSources"
    trackers: "ProjectResourcesTrackers"


class ProjectResourcesOwner(BaseModel):
    typename__: Literal["Entity", "User"] = Field(alias="__typename")
    canonical_name: str = Field(alias="canonicalName")


class ProjectResourcesMailingLists(BaseModel):
    results: list["ProjectResourcesMailingListsResults"]


class ProjectResourcesMailingListsResults(BaseModel):
    rid: str
    name: str


class ProjectResourcesSources(BaseModel):
    results: list["ProjectResourcesSourcesResults"]


class ProjectResourcesSourcesResults(BaseModel):
    rid: str
    name: str
    repo_type: RepoType = Field(alias="repoType")


class ProjectResourcesTrackers(BaseModel):
    results: list["ProjectResourcesTrackersResults"]


class ProjectResourcesTrackersResults(BaseModel):
    rid: str
    name: str


ProjectResources.model_rebuild()
