nexus-5/core/graphql/inputs/project_scope.py
2026-01-26 11:09:40 -05:00

67 lines
1.6 KiB
Python

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