from typing import Optional import strawberry from strawberry.relay import GlobalID @strawberry.input class ProjectScopeInput: name: str project_id: GlobalID account_id: Optional[GlobalID] = None account_address_id: Optional[GlobalID] = None description: Optional[str] = None is_active: Optional[bool] = True @strawberry.input class ProjectScopeUpdateInput: id: GlobalID name: Optional[str] = None account_id: Optional[GlobalID] = None account_address_id: Optional[GlobalID] = None description: Optional[str] = None is_active: Optional[bool] = None @strawberry.input class ProjectScopeCategoryInput: scope_id: GlobalID name: str order: int = 0 @strawberry.input class ProjectScopeCategoryUpdateInput: id: GlobalID name: Optional[str] = None order: Optional[int] = None @strawberry.input class ProjectScopeTaskInput: category_id: GlobalID description: str checklist_description: Optional[str] = "" order: int = 0 estimated_minutes: Optional[int] = None @strawberry.input class ProjectScopeTaskUpdateInput: id: GlobalID description: Optional[str] = None checklist_description: Optional[str] = None order: Optional[int] = None estimated_minutes: Optional[int] = None @strawberry.input class CreateProjectScopeFromTemplateInput: template_id: GlobalID project_id: GlobalID account_id: Optional[GlobalID] = None account_address_id: Optional[GlobalID] = None name: Optional[str] = None description: Optional[str] = None is_active: Optional[bool] = True