from dataclasses import dataclass, field from typing import Optional, List @dataclass class RepoCreateRequest: url: str 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