wrolpi/modules/repos/schema.py

56 lines
1.3 KiB
Python
Raw Permalink Normal View History

from dataclasses import dataclass, field
from typing import Optional, List
@dataclass
class RepoCreateRequest:
url: str
# Relative to the media directory; empty clones it into the Repos directory.
directory: Optional[str] = None
tag_name: Optional[str] = None
frequency: Optional[int] = None
mode: Optional[str] = None
branch: Optional[str] = None
name: Optional[str] = None
description: Optional[str] = None
submodules: bool = False
@dataclass
class RepoSearchRequest:
search_str: Optional[str] = None
tag_names: List[str] = field(default_factory=list)
limit: int = 20
offset: int = 0
@dataclass
class RepoUpdateRequest:
description: Optional[str] = None
frequency: Optional[int] = None
mode: Optional[str] = None
branch: Optional[str] = None
submodules: Optional[bool] = None
@dataclass
class RepoImportInspectRequest:
directory: str
name: Optional[str] = None
tag_name: Optional[str] = None
url: Optional[str] = None
@dataclass
class RepoImportRequest:
directory: str
confirm: bool = False
url: Optional[str] = None
tag_name: Optional[str] = None
frequency: Optional[int] = None
mode: Optional[str] = None
branch: Optional[str] = None
submodules: bool = False
name: Optional[str] = None
description: Optional[str] = None