M8-R08: add atomic meter close and binding transfer

This commit is contained in:
2026-08-24 18:37:46 +02:00
parent 2be4f78f8a
commit 8dc3f71aaf
15 changed files with 1667 additions and 35 deletions
+136
View File
@@ -663,6 +663,23 @@ export interface paths {
patch?: never;
trace?: never;
};
"/api/energy/meters/{meter_id}/close": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/** Close Energy Meter */
post: operations["close_energy_meter_api_energy_meters__meter_id__close_post"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/energy/meters/{meter_id}": {
parameters: {
query?: never;
@@ -858,6 +875,23 @@ export interface paths {
patch: operations["patch_binding_api_energy_bindings__binding_uuid__patch"];
trace?: never;
};
"/api/energy/meters/{meter_id}/bindings/transfer": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/** Post Binding Transfer */
post: operations["post_binding_transfer_api_energy_meters__meter_id__bindings_transfer_post"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/expose": {
parameters: {
query?: never;
@@ -1504,6 +1538,23 @@ export interface components {
*/
updated_at: string;
};
/** BindingTransferRequest */
BindingTransferRequest: {
/** From Binding Uuid */
from_binding_uuid: string;
/** To Source Channel Uuid */
to_source_channel_uuid: string;
/**
* Effective At
* Format: date-time
*/
effective_at: string;
};
/** BindingTransferResponse */
BindingTransferResponse: {
closed_binding: components["schemas"]["BindingResponse"];
created_binding: components["schemas"]["BindingResponse"];
};
/**
* CatalogEntrySchema
* @description An entity from the catalog with its current toggle state.
@@ -2022,6 +2073,17 @@ export interface components {
/** Ended At */
ended_at: string | null;
};
/**
* MeterCloseRequest
* @description Close the active meter epoch at an exclusive end boundary.
*/
MeterCloseRequest: {
/**
* Ended At
* Format: date-time
*/
ended_at: string;
};
/**
* MeterCostPeriodSchema
* @description One auditable thermal ledger row; all Decimal values are JSON strings.
@@ -4021,6 +4083,43 @@ export interface operations {
};
};
};
close_energy_meter_api_energy_meters__meter_id__close_post: {
parameters: {
query?: never;
header?: {
"X-CSRF-Token"?: string | null;
};
path: {
meter_id: number;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["MeterCloseRequest"];
};
};
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["MeterResponse"];
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
patch_energy_meter_api_energy_meters__meter_id__patch: {
parameters: {
query?: never;
@@ -4457,6 +4556,43 @@ export interface operations {
};
};
};
post_binding_transfer_api_energy_meters__meter_id__bindings_transfer_post: {
parameters: {
query?: never;
header?: {
"X-CSRF-Token"?: string | null;
};
path: {
meter_id: number;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["BindingTransferRequest"];
};
};
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["BindingTransferResponse"];
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
get_expose_api_expose_get: {
parameters: {
query?: never;