from pydantic import BaseModel, Field
from typing import Optional

class GitProvider(str):
    pass

class GitServerConfigBase(BaseModel):
    name: str = Field(..., description="Display name for the Git server")
    provider: str = Field(..., description="Git provider (GITHUB, GITLAB, GITEA)")
    url: str = Field(..., description="Server base URL")
    pat: str = Field(..., description="Personal Access Token")
    pat: str = Field(..., description="Personal Access Token")
    default_repository: Optional[str] = Field(None, description="Default repository path (org/repo)")
    default_branch: Optional[str] = Field("main", description="Default branch logic/name")

class GitServerConfigSchema(GitServerConfigBase):
    id: str
    status: str

print(GitServerConfigSchema.model_fields.keys())
