refactor(backend): update reimbursement and related services
- endpoints/reimbursements.py: update reimbursement API endpoint - schemas/reimbursement.py: update reimbursement data schemas - services/expense_claims.py: update expense claims service - services/ontology.py: update ontology service - services/user_agent.py: update user agent service
This commit is contained in:
@@ -45,6 +45,25 @@ class ExpenseClaimItemRead(BaseModel):
|
||||
updated_at: datetime
|
||||
|
||||
|
||||
class ExpenseClaimAttachmentAnalysisRead(BaseModel):
|
||||
severity: str
|
||||
label: str
|
||||
headline: str
|
||||
summary: str
|
||||
points: list[str] = Field(default_factory=list)
|
||||
suggestion: str = ""
|
||||
|
||||
|
||||
class ExpenseClaimAttachmentRead(BaseModel):
|
||||
file_name: str
|
||||
storage_key: str
|
||||
media_type: str
|
||||
size_bytes: int
|
||||
uploaded_at: datetime | None = None
|
||||
previewable: bool = True
|
||||
analysis: ExpenseClaimAttachmentAnalysisRead | None = None
|
||||
|
||||
|
||||
class ExpenseClaimItemUpdate(BaseModel):
|
||||
item_date: date | None = None
|
||||
item_type: str | None = None
|
||||
@@ -54,6 +73,15 @@ class ExpenseClaimItemUpdate(BaseModel):
|
||||
invoice_id: str | None = None
|
||||
|
||||
|
||||
class ExpenseClaimItemCreate(BaseModel):
|
||||
item_date: date | None = None
|
||||
item_type: str | None = None
|
||||
item_reason: str | None = None
|
||||
item_location: str | None = None
|
||||
item_amount: Decimal | None = None
|
||||
invoice_id: str | None = None
|
||||
|
||||
|
||||
class ExpenseClaimRead(BaseModel):
|
||||
model_config = ConfigDict(from_attributes=True)
|
||||
|
||||
@@ -84,3 +112,17 @@ class ExpenseClaimActionResponse(BaseModel):
|
||||
message: str
|
||||
claim_id: str
|
||||
status: str | None = None
|
||||
|
||||
|
||||
class ExpenseClaimAttachmentActionResponse(BaseModel):
|
||||
message: str
|
||||
claim_id: str
|
||||
item_id: str
|
||||
invoice_id: str | None = None
|
||||
attachment: ExpenseClaimAttachmentRead | None = None
|
||||
|
||||
|
||||
class ExpenseClaimItemActionResponse(BaseModel):
|
||||
message: str
|
||||
claim_id: str
|
||||
item_id: str
|
||||
|
||||
Reference in New Issue
Block a user