fix finance balance delta recharges
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
from datetime import datetime
|
||||
from typing import Optional, Any
|
||||
from datetime import date, datetime
|
||||
from typing import Optional, Any, Literal
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
|
||||
@@ -37,6 +37,7 @@ class UpstreamCreate(BaseModel):
|
||||
balance_response_path: str = ""
|
||||
balance_divisor: float = 1.0
|
||||
balance_alert_threshold: Optional[float] = None
|
||||
finance_cost_mode: Literal["usage_stats", "balance_delta"] = "usage_stats"
|
||||
|
||||
|
||||
class UpstreamUpdate(BaseModel):
|
||||
@@ -54,6 +55,7 @@ class UpstreamUpdate(BaseModel):
|
||||
balance_response_path: Optional[str] = None
|
||||
balance_divisor: Optional[float] = None
|
||||
balance_alert_threshold: Optional[float] = None
|
||||
finance_cost_mode: Optional[Literal["usage_stats", "balance_delta"]] = None
|
||||
|
||||
|
||||
class UpstreamResponse(BaseModel):
|
||||
@@ -77,12 +79,35 @@ class UpstreamResponse(BaseModel):
|
||||
balance_response_path: str = ""
|
||||
balance_divisor: float = 1.0
|
||||
balance_alert_threshold: Optional[float] = None
|
||||
finance_cost_mode: Literal["usage_stats", "balance_delta"] = "usage_stats"
|
||||
created_at: datetime
|
||||
updated_at: datetime
|
||||
|
||||
model_config = {"from_attributes": True}
|
||||
|
||||
|
||||
class UpstreamRechargeCreate(BaseModel):
|
||||
date: date
|
||||
amount: float = Field(gt=0)
|
||||
note: str = ""
|
||||
|
||||
|
||||
class UpstreamRechargeUpdate(BaseModel):
|
||||
date: Optional[date] = None
|
||||
amount: Optional[float] = Field(default=None, gt=0)
|
||||
note: Optional[str] = None
|
||||
|
||||
|
||||
class UpstreamRechargeResponse(BaseModel):
|
||||
id: int
|
||||
upstream_id: int
|
||||
date: date
|
||||
amount: float
|
||||
note: str = ""
|
||||
created_at: datetime
|
||||
updated_at: datetime
|
||||
|
||||
|
||||
class SnapshotResponse(BaseModel):
|
||||
id: int
|
||||
upstream_id: int
|
||||
|
||||
Reference in New Issue
Block a user