77 lines
2.2 KiB
Python
77 lines
2.2 KiB
Python
from pydantic import BaseModel
|
|
from typing import Optional, List
|
|
from datetime import datetime
|
|
from uuid import UUID
|
|
from decimal import Decimal
|
|
from .base_responses import BaseResponse, CrudCollection
|
|
|
|
|
|
class DecisionBookBudgetBooksResponse(BaseResponse):
|
|
"""Response model for decision book budget books"""
|
|
country: str
|
|
branch_type: int = 0
|
|
company_id: int
|
|
company_uu_id: str
|
|
branch_id: Optional[int]
|
|
branch_uu_id: Optional[str]
|
|
build_decision_book_id: int
|
|
build_decision_book_uu_id: Optional[str]
|
|
|
|
|
|
class DecisionBookBudgetBooksCollection(CrudCollection[DecisionBookBudgetBooksResponse]):
|
|
"""Collection of decision book budget books"""
|
|
pass
|
|
|
|
|
|
class DecisionBookBudgetCodesResponse(BaseResponse):
|
|
"""Response model for decision book budget codes"""
|
|
budget_code: str
|
|
comment_line: str
|
|
budget_type: str
|
|
budget_code_seperator: str = "."
|
|
system_id: int = 0
|
|
locked: bool = False
|
|
company_id: Optional[int]
|
|
company_uu_id: str
|
|
customer_id: Optional[int]
|
|
customer_uu_id: str
|
|
|
|
|
|
class DecisionBookBudgetCodesCollection(CrudCollection[DecisionBookBudgetCodesResponse]):
|
|
"""Collection of decision book budget codes"""
|
|
pass
|
|
|
|
|
|
class DecisionBookBudgetMasterResponse(BaseResponse):
|
|
"""Response model for decision book budget master"""
|
|
budget_type: str
|
|
currency: str = "TRY"
|
|
total_budget: Decimal
|
|
tracking_period_id: Optional[int]
|
|
tracking_period_uu_id: Optional[str]
|
|
budget_books_id: int
|
|
budget_books_uu_id: Optional[str]
|
|
department_id: int
|
|
department_uu_id: Optional[str]
|
|
|
|
|
|
class DecisionBookBudgetMasterCollection(CrudCollection[DecisionBookBudgetMasterResponse]):
|
|
"""Collection of decision book budget masters"""
|
|
pass
|
|
|
|
|
|
class DecisionBookBudgetsResponse(BaseResponse):
|
|
"""Response model for decision book budgets"""
|
|
process_date: datetime
|
|
budget_codes_id: int
|
|
total_budget: Decimal
|
|
used_budget: Decimal = Decimal("0")
|
|
remaining_budget: Decimal = Decimal("0")
|
|
decision_book_budget_master_id: int
|
|
decision_book_budget_master_uu_id: Optional[str]
|
|
|
|
|
|
class DecisionBookBudgetsCollection(CrudCollection[DecisionBookBudgetsResponse]):
|
|
"""Collection of decision book budgets"""
|
|
pass
|