M8-R08: add atomic meter close and binding transfer
This commit is contained in:
@@ -146,3 +146,9 @@ class MeterPatchRequest(BaseModel):
|
||||
"Triggers billing recompute over the affected window."
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
class MeterCloseRequest(BaseModel):
|
||||
"""Close the active meter epoch at an exclusive end boundary."""
|
||||
|
||||
ended_at: datetime
|
||||
|
||||
@@ -135,6 +135,12 @@ class BindingPatch(BaseModel):
|
||||
ended_at: datetime | None = None
|
||||
|
||||
|
||||
class BindingTransferRequest(BaseModel):
|
||||
from_binding_uuid: str = Field(..., min_length=1, max_length=36)
|
||||
to_source_channel_uuid: str = Field(..., min_length=1, max_length=36)
|
||||
effective_at: datetime
|
||||
|
||||
|
||||
class BindingResponse(BaseModel):
|
||||
uuid: str
|
||||
meter_id: int
|
||||
@@ -149,3 +155,8 @@ class BindingResponse(BaseModel):
|
||||
class BindingListResponse(BaseModel):
|
||||
items: list[BindingResponse]
|
||||
total: int
|
||||
|
||||
|
||||
class BindingTransferResponse(BaseModel):
|
||||
closed_binding: BindingResponse
|
||||
created_binding: BindingResponse
|
||||
|
||||
Reference in New Issue
Block a user