diff --git a/src/models/entities.py b/src/models/entities.py new file mode 100644 index 0000000..c18ed02 --- /dev/null +++ b/src/models/entities.py @@ -0,0 +1,50 @@ +from pydantic import BaseModel +from typing import Optional, List +from datetime import datetime +from src.models.types import Provider, IssueStatus, WorkflowStatus, PRStatus + + +class Repository(BaseModel): + name: str + owner: str + full_name: str + provider: Provider + url: str = "" + + +class PullRequest(BaseModel): + number: int + title: str + author: str + status: PRStatus + draft: bool = False + labels: List[str] = [] + url: str = "" + created_at: Optional[datetime] = None + + +class Issue(BaseModel): + number: int + title: str + author: str + status: IssueStatus + labels: List[str] = [] + url: str = "" + created_at: Optional[datetime] = None + + +class Workflow(BaseModel): + id: int + name: str + status: WorkflowStatus + conclusion: Optional[str] = None + url: str = "" + created_at: Optional[datetime] = None + + +class Config(BaseModel): + github_token: Optional[str] = None + gitlab_token: Optional[str] = None + default_repo: Optional[str] = None + refresh_interval: int = 30 + theme: str = "dark"