diff --git a/contracts/agent-v1.openapi.json b/contracts/agent-v1.openapi.json
new file mode 100644
index 0000000..0d76880
--- /dev/null
+++ b/contracts/agent-v1.openapi.json
@@ -0,0 +1,1999 @@
+{
+ "openapi": "3.0.3",
+ "info": {
+ "title": "TJWater Agent API",
+ "version": "1.0.0",
+ "description": "Public REST API for TJWater Agent sessions and runs"
+ },
+ "components": {
+ "securitySchemes": {
+ "bearerAuth": {
+ "type": "http",
+ "scheme": "bearer",
+ "bearerFormat": "JWT"
+ }
+ },
+ "schemas": {
+ "ProblemDetails": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "status": {
+ "type": "integer"
+ },
+ "detail": {
+ "type": "string"
+ },
+ "instance": {
+ "type": "string"
+ },
+ "code": {
+ "type": "string"
+ },
+ "trace_id": {
+ "type": "string"
+ },
+ "errors": {
+ "type": "array",
+ "items": {
+ "nullable": true
+ }
+ }
+ },
+ "required": [
+ "type",
+ "title",
+ "status",
+ "detail",
+ "instance",
+ "code",
+ "trace_id",
+ "errors"
+ ]
+ },
+ "AgentSessionSummary": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "created_at": {
+ "type": "string"
+ },
+ "updated_at": {
+ "type": "string"
+ },
+ "status": {
+ "type": "string"
+ },
+ "parent_session_id": {
+ "type": "string",
+ "nullable": true
+ },
+ "is_streaming": {
+ "type": "boolean"
+ },
+ "run_status": {
+ "type": "string",
+ "nullable": true
+ }
+ },
+ "required": [
+ "id",
+ "title",
+ "created_at",
+ "updated_at",
+ "status",
+ "is_streaming"
+ ]
+ },
+ "AgentSessionCreate": {
+ "type": "object",
+ "properties": {
+ "session_id": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string",
+ "nullable": true
+ },
+ "created_at": {
+ "type": "string"
+ },
+ "updated_at": {
+ "type": "string"
+ },
+ "status": {
+ "type": "string"
+ },
+ "parent_session_id": {
+ "type": "string",
+ "nullable": true
+ }
+ },
+ "required": [
+ "session_id",
+ "created_at",
+ "updated_at",
+ "status"
+ ]
+ },
+ "AgentSessionDetail": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/AgentSessionSummary"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "session_id": {
+ "type": "string"
+ },
+ "is_title_manually_edited": {
+ "type": "boolean"
+ },
+ "messages": {
+ "type": "array",
+ "items": {
+ "nullable": true
+ }
+ }
+ },
+ "required": [
+ "session_id",
+ "is_title_manually_edited",
+ "messages"
+ ]
+ }
+ ]
+ },
+ "AgentSessionUpdate": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "updated_at": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "title",
+ "updated_at"
+ ]
+ },
+ "AgentSessionFork": {
+ "type": "object",
+ "properties": {
+ "session_id": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "session_id"
+ ]
+ }
+ },
+ "parameters": {}
+ },
+ "paths": {
+ "/api/v1/agent/models": {
+ "get": {
+ "operationId": "get_models",
+ "tags": [
+ "Agent"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "summary": "List available agent models",
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "additionalProperties": {
+ "nullable": true
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Invalid request",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication required",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Insufficient permission",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Resource not found",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "409": {
+ "description": "Resource conflict",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "422": {
+ "description": "Validation error",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "502": {
+ "description": "Upstream dependency error",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "Dependency unavailable",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v1/agent/sessions": {
+ "get": {
+ "operationId": "get_sessions",
+ "tags": [
+ "Agent"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "summary": "List agent sessions",
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "sessions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/AgentSessionSummary"
+ }
+ }
+ },
+ "required": [
+ "sessions"
+ ]
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Invalid request",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication required",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Insufficient permission",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Resource not found",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "409": {
+ "description": "Resource conflict",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "422": {
+ "description": "Validation error",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "502": {
+ "description": "Upstream dependency error",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "Dependency unavailable",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ }
+ }
+ },
+ "post": {
+ "operationId": "post_sessions",
+ "tags": [
+ "Agent"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "summary": "Create an agent session",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "session_id": {
+ "type": "string",
+ "maxLength": 128
+ },
+ "parent_session_id": {
+ "type": "string",
+ "maxLength": 128
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Existing session returned",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/AgentSessionCreate"
+ }
+ }
+ }
+ },
+ "201": {
+ "description": "Session created",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/AgentSessionCreate"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Invalid request",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication required",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Insufficient permission",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Resource not found",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "409": {
+ "description": "Resource conflict",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "422": {
+ "description": "Validation error",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "502": {
+ "description": "Upstream dependency error",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "Dependency unavailable",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v1/agent/sessions/{session_id}": {
+ "get": {
+ "operationId": "get_sessions_session_id",
+ "tags": [
+ "Agent"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "summary": "Get an agent session",
+ "parameters": [
+ {
+ "schema": {
+ "type": "string",
+ "maxLength": 128
+ },
+ "required": true,
+ "name": "session_id",
+ "in": "path"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/AgentSessionDetail"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Invalid request",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication required",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Insufficient permission",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Resource not found",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "409": {
+ "description": "Resource conflict",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "422": {
+ "description": "Validation error",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "502": {
+ "description": "Upstream dependency error",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "Dependency unavailable",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ }
+ }
+ },
+ "patch": {
+ "operationId": "patch_sessions_session_id",
+ "tags": [
+ "Agent"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "summary": "Update an agent session",
+ "parameters": [
+ {
+ "schema": {
+ "type": "string",
+ "maxLength": 128
+ },
+ "required": true,
+ "name": "session_id",
+ "in": "path"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 120
+ },
+ "is_title_manually_edited": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "title"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/AgentSessionUpdate"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Invalid request",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication required",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Insufficient permission",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Resource not found",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "409": {
+ "description": "Resource conflict",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "422": {
+ "description": "Validation error",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "502": {
+ "description": "Upstream dependency error",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "Dependency unavailable",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "delete_sessions_session_id",
+ "tags": [
+ "Agent"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "summary": "Delete an agent session",
+ "parameters": [
+ {
+ "schema": {
+ "type": "string",
+ "maxLength": 128
+ },
+ "required": true,
+ "name": "session_id",
+ "in": "path"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Session deleted"
+ },
+ "400": {
+ "description": "Invalid request",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication required",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Insufficient permission",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Resource not found",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "409": {
+ "description": "Resource conflict",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "422": {
+ "description": "Validation error",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "502": {
+ "description": "Upstream dependency error",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "Dependency unavailable",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v1/agent/sessions/{session_id}/runs": {
+ "post": {
+ "operationId": "post_sessions_session_id_runs",
+ "tags": [
+ "Agent"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "summary": "Run an agent session",
+ "parameters": [
+ {
+ "schema": {
+ "type": "string",
+ "maxLength": 128
+ },
+ "required": true,
+ "name": "session_id",
+ "in": "path"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "message": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 10000
+ },
+ "model": {
+ "type": "string"
+ },
+ "approval_mode": {
+ "type": "string",
+ "enum": [
+ "request",
+ "always"
+ ]
+ }
+ },
+ "required": [
+ "message"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Agent event stream",
+ "content": {
+ "text/event-stream": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Invalid request",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication required",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Insufficient permission",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Resource not found",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "409": {
+ "description": "Resource conflict",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "422": {
+ "description": "Validation error",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "502": {
+ "description": "Upstream dependency error",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "Dependency unavailable",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v1/agent/sessions/{session_id}/runs/current/events": {
+ "get": {
+ "operationId": "get_sessions_session_id_runs_current_events",
+ "tags": [
+ "Agent"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "summary": "Resume the current agent event stream",
+ "parameters": [
+ {
+ "schema": {
+ "type": "string",
+ "maxLength": 128
+ },
+ "required": true,
+ "name": "session_id",
+ "in": "path"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Agent event stream",
+ "content": {
+ "text/event-stream": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Invalid request",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication required",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Insufficient permission",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Resource not found",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "409": {
+ "description": "Resource conflict",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "422": {
+ "description": "Validation error",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "502": {
+ "description": "Upstream dependency error",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "Dependency unavailable",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v1/agent/sessions/{session_id}/runs/current": {
+ "delete": {
+ "operationId": "delete_sessions_session_id_runs_current",
+ "tags": [
+ "Agent"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "summary": "Abort the current agent run",
+ "parameters": [
+ {
+ "schema": {
+ "type": "string",
+ "maxLength": 128
+ },
+ "required": true,
+ "name": "session_id",
+ "in": "path"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "additionalProperties": {
+ "nullable": true
+ }
+ }
+ }
+ }
+ },
+ "204": {
+ "description": "No active run"
+ },
+ "400": {
+ "description": "Invalid request",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication required",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Insufficient permission",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Resource not found",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "409": {
+ "description": "Resource conflict",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "422": {
+ "description": "Validation error",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "502": {
+ "description": "Upstream dependency error",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "Dependency unavailable",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v1/agent/sessions/{session_id}/permission-responses": {
+ "post": {
+ "operationId": "post_sessions_session_id_permission_responses",
+ "tags": [
+ "Agent"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "summary": "Reply to an agent permission request",
+ "parameters": [
+ {
+ "schema": {
+ "type": "string",
+ "maxLength": 128
+ },
+ "required": true,
+ "name": "session_id",
+ "in": "path"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "request_id": {
+ "type": "string"
+ },
+ "reply": {
+ "type": "string",
+ "enum": [
+ "once",
+ "always",
+ "reject"
+ ]
+ },
+ "message": {
+ "type": "string",
+ "maxLength": 1000
+ }
+ },
+ "required": [
+ "request_id",
+ "reply"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "additionalProperties": {
+ "nullable": true
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Invalid request",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication required",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Insufficient permission",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Resource not found",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "409": {
+ "description": "Resource conflict",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "422": {
+ "description": "Validation error",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "502": {
+ "description": "Upstream dependency error",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "Dependency unavailable",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v1/agent/sessions/{session_id}/question-responses": {
+ "post": {
+ "operationId": "post_sessions_session_id_question_responses",
+ "tags": [
+ "Agent"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "summary": "Reply to or reject an agent question",
+ "parameters": [
+ {
+ "schema": {
+ "type": "string",
+ "maxLength": 128
+ },
+ "required": true,
+ "name": "session_id",
+ "in": "path"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "request_id": {
+ "type": "string"
+ },
+ "action": {
+ "type": "string",
+ "enum": [
+ "reply",
+ "reject"
+ ],
+ "default": "reply"
+ },
+ "answers": {
+ "type": "array",
+ "items": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "maxLength": 2000
+ }
+ }
+ }
+ },
+ "required": [
+ "request_id"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "additionalProperties": {
+ "nullable": true
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Invalid request",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication required",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Insufficient permission",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Resource not found",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "409": {
+ "description": "Resource conflict",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "422": {
+ "description": "Validation error",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "502": {
+ "description": "Upstream dependency error",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "Dependency unavailable",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v1/agent/sessions/{session_id}/forks": {
+ "post": {
+ "operationId": "post_sessions_session_id_forks",
+ "tags": [
+ "Agent"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "summary": "Fork an agent session",
+ "parameters": [
+ {
+ "schema": {
+ "type": "string",
+ "maxLength": 128
+ },
+ "required": true,
+ "name": "session_id",
+ "in": "path"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "keep_message_count": {
+ "type": "integer",
+ "minimum": 0
+ }
+ },
+ "required": [
+ "keep_message_count"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/AgentSessionFork"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Invalid request",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication required",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Insufficient permission",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Resource not found",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "409": {
+ "description": "Resource conflict",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "422": {
+ "description": "Validation error",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "502": {
+ "description": "Upstream dependency error",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "Dependency unavailable",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v1/agent/render-references/{render_ref}": {
+ "get": {
+ "operationId": "get_render_references_render_ref",
+ "tags": [
+ "Agent"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "summary": "Resolve a render reference",
+ "parameters": [
+ {
+ "schema": {
+ "type": "string",
+ "minLength": 1
+ },
+ "required": true,
+ "name": "render_ref",
+ "in": "path"
+ },
+ {
+ "schema": {
+ "type": "string",
+ "maxLength": 128
+ },
+ "required": false,
+ "name": "session_id",
+ "in": "query"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "additionalProperties": {
+ "nullable": true
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Invalid request",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication required",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Insufficient permission",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Resource not found",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "409": {
+ "description": "Resource conflict",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "422": {
+ "description": "Validation error",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "502": {
+ "description": "Upstream dependency error",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "Dependency unavailable",
+ "content": {
+ "application/problem+json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/contracts/manifest.json b/contracts/manifest.json
new file mode 100644
index 0000000..5e86535
--- /dev/null
+++ b/contracts/manifest.json
@@ -0,0 +1,13 @@
+{
+ "contract_version": "1.0.0",
+ "contracts": {
+ "agent": {
+ "file": "agent-v1.openapi.json",
+ "sha256": "7699d0b59d2710f5179c3880fa9f7de90dee09239718c86ed9ff2ce12e6f4259"
+ },
+ "server": {
+ "file": "server-v1.openapi.json",
+ "sha256": "d80a968d281fdb2953364a5979c2d61fda5151a1e1759c01cc96780b11a6d56c"
+ }
+ }
+}
diff --git a/contracts/server-v1.openapi.json b/contracts/server-v1.openapi.json
new file mode 100644
index 0000000..15f2abe
--- /dev/null
+++ b/contracts/server-v1.openapi.json
@@ -0,0 +1,51672 @@
+{
+ "components": {
+ "schemas": {
+ "AccessContextResponse": {
+ "properties": {
+ "is_system_admin": {
+ "title": "Is System Admin",
+ "type": "boolean"
+ },
+ "permissions": {
+ "items": {
+ "type": "string"
+ },
+ "title": "Permissions",
+ "type": "array"
+ },
+ "project_id": {
+ "anyOf": [
+ {
+ "format": "uuid",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Project Id"
+ },
+ "project_role": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Project Role"
+ },
+ "system_role": {
+ "title": "System Role",
+ "type": "string"
+ },
+ "user_id": {
+ "format": "uuid",
+ "title": "User Id",
+ "type": "string"
+ },
+ "username": {
+ "title": "Username",
+ "type": "string"
+ }
+ },
+ "required": [
+ "user_id",
+ "username",
+ "system_role",
+ "is_system_admin",
+ "permissions"
+ ],
+ "title": "AccessContextResponse",
+ "type": "object"
+ },
+ "AdminProjectCreateRequest": {
+ "properties": {
+ "code": {
+ "maxLength": 50,
+ "minLength": 1,
+ "title": "Code",
+ "type": "string"
+ },
+ "description": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Description"
+ },
+ "gs_workspace": {
+ "maxLength": 100,
+ "minLength": 1,
+ "title": "Gs Workspace",
+ "type": "string"
+ },
+ "map_extent": {
+ "anyOf": [
+ {
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Map Extent"
+ },
+ "name": {
+ "maxLength": 100,
+ "minLength": 1,
+ "title": "Name",
+ "type": "string"
+ },
+ "status": {
+ "default": "active",
+ "enum": [
+ "active",
+ "inactive",
+ "archived"
+ ],
+ "title": "Status",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "code",
+ "gs_workspace"
+ ],
+ "title": "AdminProjectCreateRequest",
+ "type": "object"
+ },
+ "AdminProjectResponse": {
+ "properties": {
+ "code": {
+ "title": "Code",
+ "type": "string"
+ },
+ "created_at": {
+ "format": "date-time",
+ "title": "Created At",
+ "type": "string"
+ },
+ "description": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Description"
+ },
+ "gs_workspace": {
+ "title": "Gs Workspace",
+ "type": "string"
+ },
+ "map_extent": {
+ "anyOf": [
+ {
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Map Extent"
+ },
+ "name": {
+ "title": "Name",
+ "type": "string"
+ },
+ "project_id": {
+ "format": "uuid",
+ "title": "Project Id",
+ "type": "string"
+ },
+ "status": {
+ "title": "Status",
+ "type": "string"
+ },
+ "updated_at": {
+ "format": "date-time",
+ "title": "Updated At",
+ "type": "string"
+ }
+ },
+ "required": [
+ "project_id",
+ "name",
+ "code",
+ "gs_workspace",
+ "status",
+ "created_at",
+ "updated_at"
+ ],
+ "title": "AdminProjectResponse",
+ "type": "object"
+ },
+ "AdminProjectUpdateRequest": {
+ "properties": {
+ "code": {
+ "anyOf": [
+ {
+ "maxLength": 50,
+ "minLength": 1,
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Code"
+ },
+ "description": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Description"
+ },
+ "gs_workspace": {
+ "anyOf": [
+ {
+ "maxLength": 100,
+ "minLength": 1,
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Gs Workspace"
+ },
+ "map_extent": {
+ "anyOf": [
+ {
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Map Extent"
+ },
+ "name": {
+ "anyOf": [
+ {
+ "maxLength": 100,
+ "minLength": 1,
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Name"
+ },
+ "status": {
+ "anyOf": [
+ {
+ "enum": [
+ "active",
+ "inactive",
+ "archived"
+ ],
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Status"
+ }
+ },
+ "title": "AdminProjectUpdateRequest",
+ "type": "object"
+ },
+ "AgentAuthContextResponse": {
+ "properties": {
+ "is_superuser": {
+ "title": "Is Superuser",
+ "type": "boolean"
+ },
+ "keycloak_sub": {
+ "title": "Keycloak Sub",
+ "type": "string"
+ },
+ "network": {
+ "title": "Network",
+ "type": "string"
+ },
+ "permissions": {
+ "items": {
+ "type": "string"
+ },
+ "title": "Permissions",
+ "type": "array"
+ },
+ "project_id": {
+ "title": "Project Id",
+ "type": "string"
+ },
+ "project_role": {
+ "title": "Project Role",
+ "type": "string"
+ },
+ "role": {
+ "title": "Role",
+ "type": "string"
+ },
+ "token_expires_at": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Token Expires At"
+ },
+ "user_id": {
+ "title": "User Id",
+ "type": "string"
+ },
+ "username": {
+ "title": "Username",
+ "type": "string"
+ }
+ },
+ "required": [
+ "user_id",
+ "keycloak_sub",
+ "username",
+ "role",
+ "is_superuser",
+ "project_id",
+ "network",
+ "project_role",
+ "permissions"
+ ],
+ "title": "AgentAuthContextResponse",
+ "type": "object"
+ },
+ "AuditLogResponse": {
+ "description": "审计日志响应",
+ "properties": {
+ "action": {
+ "title": "Action",
+ "type": "string"
+ },
+ "id": {
+ "format": "uuid",
+ "title": "Id",
+ "type": "string"
+ },
+ "ip_address": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Ip Address"
+ },
+ "project_id": {
+ "anyOf": [
+ {
+ "format": "uuid",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Project Id"
+ },
+ "request_data": {
+ "anyOf": [
+ {
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Request Data"
+ },
+ "request_method": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Request Method"
+ },
+ "request_path": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Request Path"
+ },
+ "resource_id": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Resource Id"
+ },
+ "resource_type": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Resource Type"
+ },
+ "response_status": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Response Status"
+ },
+ "timestamp": {
+ "format": "date-time",
+ "title": "Timestamp",
+ "type": "string"
+ },
+ "user_id": {
+ "anyOf": [
+ {
+ "format": "uuid",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "User Id"
+ }
+ },
+ "required": [
+ "id",
+ "user_id",
+ "project_id",
+ "action",
+ "resource_type",
+ "resource_id",
+ "ip_address",
+ "request_method",
+ "request_path",
+ "request_data",
+ "response_status",
+ "timestamp"
+ ],
+ "title": "AuditLogResponse",
+ "type": "object"
+ },
+ "Body_patch_admin_projects_project_id_model_imports": {
+ "properties": {
+ "file": {
+ "description": "桌面端导出的 INP 模型文件",
+ "format": "binary",
+ "title": "File",
+ "type": "string"
+ }
+ },
+ "required": [
+ "file"
+ ],
+ "title": "Body_patch_admin_projects_project_id_model_imports",
+ "type": "object"
+ },
+ "Body_post_admin_projects_project_id_model_imports": {
+ "properties": {
+ "file": {
+ "description": "桌面端导出的 INP 模型文件",
+ "format": "binary",
+ "title": "File",
+ "type": "string"
+ }
+ },
+ "required": [
+ "file"
+ ],
+ "title": "Body_post_admin_projects_project_id_model_imports",
+ "type": "object"
+ },
+ "Body_post_timeseries_realtime_simulation_results": {
+ "properties": {
+ "link_result_list": {
+ "description": "管道模拟结果列表",
+ "items": {
+ "type": "object"
+ },
+ "title": "Link Result List",
+ "type": "array"
+ },
+ "node_result_list": {
+ "description": "节点模拟结果列表",
+ "items": {
+ "type": "object"
+ },
+ "title": "Node Result List",
+ "type": "array"
+ }
+ },
+ "required": [
+ "node_result_list",
+ "link_result_list"
+ ],
+ "title": "Body_post_timeseries_realtime_simulation_results",
+ "type": "object"
+ },
+ "Body_post_timeseries_schemes_simulation_results": {
+ "properties": {
+ "link_result_list": {
+ "description": "管道模拟结果列表",
+ "items": {
+ "type": "object"
+ },
+ "title": "Link Result List",
+ "type": "array"
+ },
+ "node_result_list": {
+ "description": "节点模拟结果列表",
+ "items": {
+ "type": "object"
+ },
+ "title": "Node Result List",
+ "type": "array"
+ }
+ },
+ "required": [
+ "node_result_list",
+ "link_result_list"
+ ],
+ "title": "Body_post_timeseries_schemes_simulation_results",
+ "type": "object"
+ },
+ "BurstDetectionRequestRest": {
+ "properties": {
+ "data_source": {
+ "default": "monitoring",
+ "description": "数据来源:monitoring(监测)或simulation(模拟)",
+ "title": "Data Source",
+ "type": "string"
+ },
+ "iforest_params": {
+ "anyOf": [
+ {
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "隔离森林算法参数",
+ "title": "Iforest Params"
+ },
+ "mu": {
+ "default": 100,
+ "description": "异常值检测的参数",
+ "title": "Mu",
+ "type": "integer"
+ },
+ "observed_pressure_data": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "items": {},
+ "type": "array"
+ },
+ "type": "object"
+ },
+ {
+ "items": {
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "items": {
+ "items": {},
+ "type": "array"
+ },
+ "type": "array"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "压力观测数据。支持列式字典 {sensor_id: [values,...]}、逐时刻对象数组 [{sensor_id: value,...}, ...]、或二维数组 [[t1_s1, t1_s2], [t2_s1, t2_s2], ...]。",
+ "title": "Observed Pressure Data"
+ },
+ "points_per_day": {
+ "default": 1440,
+ "description": "每天的数据点数",
+ "title": "Points Per Day",
+ "type": "integer"
+ },
+ "sampling_interval_minutes": {
+ "anyOf": [
+ {
+ "maximum": 1440.0,
+ "minimum": 1.0,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "采样间隔(分钟);为空时根据压力 SCADA 传输频率自动推断",
+ "title": "Sampling Interval Minutes"
+ },
+ "scada_end": {
+ "anyOf": [
+ {
+ "format": "date-time",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "SCADA数据结束时间",
+ "title": "Scada End"
+ },
+ "scada_start": {
+ "anyOf": [
+ {
+ "format": "date-time",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "SCADA数据起始时间",
+ "title": "Scada Start"
+ },
+ "scheme_name": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "方案名称",
+ "title": "Scheme Name"
+ },
+ "sensor_nodes": {
+ "anyOf": [
+ {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "传感器节点列表",
+ "title": "Sensor Nodes"
+ },
+ "simulation_scheme_name": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "模拟方案名称",
+ "title": "Simulation Scheme Name"
+ },
+ "simulation_scheme_type": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "模拟方案类型",
+ "title": "Simulation Scheme Type"
+ },
+ "target_time": {
+ "anyOf": [
+ {
+ "format": "date-time",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "目标侦测时刻;为空时自动使用最近一个完整的监测时刻",
+ "title": "Target Time"
+ }
+ },
+ "title": "BurstDetectionRequestRest",
+ "type": "object"
+ },
+ "BurstLocationRequestRest": {
+ "properties": {
+ "basic_pressure": {
+ "default": 10.0,
+ "description": "基准压力(bar)",
+ "title": "Basic Pressure",
+ "type": "number"
+ },
+ "burst_flow": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "number"
+ },
+ "type": "object"
+ },
+ {
+ "items": {
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "爆管时的流量数据",
+ "title": "Burst Flow"
+ },
+ "burst_leakage": {
+ "description": "爆管时的漏水量",
+ "title": "Burst Leakage",
+ "type": "number"
+ },
+ "burst_pressure": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "number"
+ },
+ "type": "object"
+ },
+ {
+ "items": {
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "爆管时的压力数据",
+ "title": "Burst Pressure"
+ },
+ "data_source": {
+ "default": "monitoring",
+ "description": "数据来源:monitoring(监测)或simulation(模拟)",
+ "enum": [
+ "monitoring",
+ "simulation"
+ ],
+ "title": "Data Source",
+ "type": "string"
+ },
+ "flow_scada_ids": {
+ "anyOf": [
+ {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "流量SCADA传感器ID列表",
+ "title": "Flow Scada Ids"
+ },
+ "min_dpressure": {
+ "default": 2.0,
+ "description": "最小压力差(bar)",
+ "title": "Min Dpressure",
+ "type": "number"
+ },
+ "normal_flow": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "number"
+ },
+ "type": "object"
+ },
+ {
+ "items": {
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "正常时的流量数据",
+ "title": "Normal Flow"
+ },
+ "normal_pressure": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "number"
+ },
+ "type": "object"
+ },
+ {
+ "items": {
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "正常时的压力数据",
+ "title": "Normal Pressure"
+ },
+ "pressure_scada_ids": {
+ "anyOf": [
+ {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "压力SCADA传感器ID列表",
+ "title": "Pressure Scada Ids"
+ },
+ "scada_burst_end": {
+ "anyOf": [
+ {
+ "format": "date-time",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "爆管/模拟方案结束时间",
+ "title": "Scada Burst End"
+ },
+ "scada_burst_start": {
+ "anyOf": [
+ {
+ "format": "date-time",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "爆管/模拟方案开始时间",
+ "title": "Scada Burst Start"
+ },
+ "scada_normal_end": {
+ "anyOf": [
+ {
+ "format": "date-time",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "监测数据正常工况结束时间",
+ "title": "Scada Normal End"
+ },
+ "scada_normal_start": {
+ "anyOf": [
+ {
+ "format": "date-time",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "监测数据正常工况开始时间",
+ "title": "Scada Normal Start"
+ },
+ "scheme_name": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "方案名称",
+ "title": "Scheme Name"
+ },
+ "simulation_scheme_name": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "模拟方案名称",
+ "title": "Simulation Scheme Name"
+ },
+ "simulation_scheme_type": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "模拟方案类型",
+ "title": "Simulation Scheme Type"
+ },
+ "use_scada_flow": {
+ "default": false,
+ "description": "是否使用SCADA流量数据",
+ "title": "Use Scada Flow",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "burst_leakage"
+ ],
+ "title": "BurstLocationRequestRest",
+ "type": "object"
+ },
+ "DailySchedulingAnalysisRest": {
+ "properties": {
+ "pump_control": {
+ "description": "泵控制策略",
+ "title": "Pump Control",
+ "type": "object"
+ },
+ "reservoir_id": {
+ "description": "水库ID",
+ "title": "Reservoir Id",
+ "type": "string"
+ },
+ "start_time": {
+ "description": "开始时间",
+ "title": "Start Time",
+ "type": "string"
+ },
+ "tank_id": {
+ "description": "水箱ID",
+ "title": "Tank Id",
+ "type": "string"
+ },
+ "time_delta": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": 300,
+ "description": "时间步长 (秒)",
+ "title": "Time Delta"
+ },
+ "water_plant_output_id": {
+ "description": "水厂出水ID",
+ "title": "Water Plant Output Id",
+ "type": "string"
+ }
+ },
+ "required": [
+ "start_time",
+ "pump_control",
+ "reservoir_id",
+ "tank_id",
+ "water_plant_output_id"
+ ],
+ "title": "DailySchedulingAnalysisRest",
+ "type": "object"
+ },
+ "JsonValue": {},
+ "LeakageIdentifyRequestRest": {
+ "properties": {
+ "dma_count": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "DMA区域数量",
+ "title": "Dma Count"
+ },
+ "duration": {
+ "default": 24,
+ "description": "持续时间(小时)",
+ "title": "Duration",
+ "type": "number"
+ },
+ "max_gen": {
+ "default": 100,
+ "description": "最大代数",
+ "title": "Max Gen",
+ "type": "integer"
+ },
+ "n_workers": {
+ "default": 4,
+ "description": "工作线程数",
+ "title": "N Workers",
+ "type": "integer"
+ },
+ "observed_pressure_data": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "additionalProperties": {
+ "items": {},
+ "type": "array"
+ },
+ "type": "object"
+ },
+ {
+ "items": {
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "观测的压力数据",
+ "title": "Observed Pressure Data"
+ },
+ "output_dir": {
+ "default": "db_inp",
+ "description": "输出目录",
+ "title": "Output Dir",
+ "type": "string"
+ },
+ "output_flow_unit": {
+ "default": "m3/s",
+ "description": "输出流量单位",
+ "title": "Output Flow Unit",
+ "type": "string"
+ },
+ "pop_size": {
+ "default": 50,
+ "description": "种群大小",
+ "title": "Pop Size",
+ "type": "integer"
+ },
+ "q_sum": {
+ "default": 0.2,
+ "description": "总流量(m3/s)",
+ "title": "Q Sum",
+ "type": "number"
+ },
+ "q_sum_unit": {
+ "default": "m3/s",
+ "description": "流量单位",
+ "title": "Q Sum Unit",
+ "type": "string"
+ },
+ "scada_end": {
+ "anyOf": [
+ {
+ "format": "date-time",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "SCADA数据结束时间",
+ "title": "Scada End"
+ },
+ "scada_start": {
+ "anyOf": [
+ {
+ "format": "date-time",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "SCADA数据起始时间",
+ "title": "Scada Start"
+ },
+ "scheme_name": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "方案名称",
+ "title": "Scheme Name"
+ },
+ "sensor_nodes": {
+ "anyOf": [
+ {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "传感器节点列表",
+ "title": "Sensor Nodes"
+ },
+ "start_time": {
+ "default": 0,
+ "description": "起始时间(小时)",
+ "title": "Start Time",
+ "type": "number"
+ },
+ "timestep": {
+ "default": 5,
+ "description": "时间步长(分钟)",
+ "title": "Timestep",
+ "type": "number"
+ }
+ },
+ "title": "LeakageIdentifyRequestRest",
+ "type": "object"
+ },
+ "MetadataUserResponse": {
+ "properties": {
+ "created_at": {
+ "format": "date-time",
+ "title": "Created At",
+ "type": "string"
+ },
+ "email": {
+ "title": "Email",
+ "type": "string"
+ },
+ "id": {
+ "format": "uuid",
+ "title": "Id",
+ "type": "string"
+ },
+ "is_active": {
+ "title": "Is Active",
+ "type": "boolean"
+ },
+ "is_superuser": {
+ "title": "Is Superuser",
+ "type": "boolean"
+ },
+ "keycloak_id": {
+ "format": "uuid",
+ "title": "Keycloak Id",
+ "type": "string"
+ },
+ "last_login_at": {
+ "anyOf": [
+ {
+ "format": "date-time",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Last Login At"
+ },
+ "role": {
+ "title": "Role",
+ "type": "string"
+ },
+ "updated_at": {
+ "format": "date-time",
+ "title": "Updated At",
+ "type": "string"
+ },
+ "username": {
+ "title": "Username",
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "keycloak_id",
+ "username",
+ "email",
+ "role",
+ "is_active",
+ "is_superuser",
+ "created_at",
+ "updated_at"
+ ],
+ "title": "MetadataUserResponse",
+ "type": "object"
+ },
+ "MetadataUserSyncRequest": {
+ "properties": {
+ "email": {
+ "maxLength": 100,
+ "minLength": 1,
+ "title": "Email",
+ "type": "string"
+ },
+ "is_active": {
+ "default": true,
+ "title": "Is Active",
+ "type": "boolean"
+ },
+ "keycloak_id": {
+ "format": "uuid",
+ "title": "Keycloak Id",
+ "type": "string"
+ },
+ "role": {
+ "default": "user",
+ "enum": [
+ "admin",
+ "user"
+ ],
+ "title": "Role",
+ "type": "string"
+ },
+ "username": {
+ "maxLength": 50,
+ "minLength": 1,
+ "title": "Username",
+ "type": "string"
+ }
+ },
+ "required": [
+ "keycloak_id",
+ "username",
+ "email"
+ ],
+ "title": "MetadataUserSyncRequest",
+ "type": "object"
+ },
+ "MetadataUserSyncResult": {
+ "properties": {
+ "error": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Error"
+ },
+ "keycloak_id": {
+ "format": "uuid",
+ "title": "Keycloak Id",
+ "type": "string"
+ },
+ "success": {
+ "title": "Success",
+ "type": "boolean"
+ },
+ "user": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/MetadataUserResponse"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "keycloak_id",
+ "success"
+ ],
+ "title": "MetadataUserSyncResult",
+ "type": "object"
+ },
+ "MetadataUserUpdateRequest": {
+ "properties": {
+ "is_active": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Is Active"
+ },
+ "role": {
+ "anyOf": [
+ {
+ "enum": [
+ "admin",
+ "user"
+ ],
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Role"
+ }
+ },
+ "title": "MetadataUserUpdateRequest",
+ "type": "object"
+ },
+ "MetadataUsersBatchSyncRequest": {
+ "properties": {
+ "users": {
+ "items": {
+ "$ref": "#/components/schemas/MetadataUserSyncRequest"
+ },
+ "maxItems": 500,
+ "minItems": 1,
+ "title": "Users",
+ "type": "array"
+ }
+ },
+ "required": [
+ "users"
+ ],
+ "title": "MetadataUsersBatchSyncRequest",
+ "type": "object"
+ },
+ "Page_AdminProjectResponse_": {
+ "properties": {
+ "items": {
+ "items": {
+ "$ref": "#/components/schemas/AdminProjectResponse"
+ },
+ "title": "Items",
+ "type": "array"
+ },
+ "limit": {
+ "title": "Limit",
+ "type": "integer"
+ },
+ "offset": {
+ "title": "Offset",
+ "type": "integer"
+ },
+ "total": {
+ "title": "Total",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "items",
+ "total",
+ "limit",
+ "offset"
+ ],
+ "title": "Page[AdminProjectResponse]",
+ "type": "object"
+ },
+ "Page_AuditLogResponse_": {
+ "properties": {
+ "items": {
+ "items": {
+ "$ref": "#/components/schemas/AuditLogResponse"
+ },
+ "title": "Items",
+ "type": "array"
+ },
+ "limit": {
+ "title": "Limit",
+ "type": "integer"
+ },
+ "offset": {
+ "title": "Offset",
+ "type": "integer"
+ },
+ "total": {
+ "title": "Total",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "items",
+ "total",
+ "limit",
+ "offset"
+ ],
+ "title": "Page[AuditLogResponse]",
+ "type": "object"
+ },
+ "Page_MetadataUserResponse_": {
+ "properties": {
+ "items": {
+ "items": {
+ "$ref": "#/components/schemas/MetadataUserResponse"
+ },
+ "title": "Items",
+ "type": "array"
+ },
+ "limit": {
+ "title": "Limit",
+ "type": "integer"
+ },
+ "offset": {
+ "title": "Offset",
+ "type": "integer"
+ },
+ "total": {
+ "title": "Total",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "items",
+ "total",
+ "limit",
+ "offset"
+ ],
+ "title": "Page[MetadataUserResponse]",
+ "type": "object"
+ },
+ "Page_MetadataUserSyncResult_": {
+ "properties": {
+ "items": {
+ "items": {
+ "$ref": "#/components/schemas/MetadataUserSyncResult"
+ },
+ "title": "Items",
+ "type": "array"
+ },
+ "limit": {
+ "title": "Limit",
+ "type": "integer"
+ },
+ "offset": {
+ "title": "Offset",
+ "type": "integer"
+ },
+ "total": {
+ "title": "Total",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "items",
+ "total",
+ "limit",
+ "offset"
+ ],
+ "title": "Page[MetadataUserSyncResult]",
+ "type": "object"
+ },
+ "Page_ProjectDatabaseResponse_": {
+ "properties": {
+ "items": {
+ "items": {
+ "$ref": "#/components/schemas/ProjectDatabaseResponse"
+ },
+ "title": "Items",
+ "type": "array"
+ },
+ "limit": {
+ "title": "Limit",
+ "type": "integer"
+ },
+ "offset": {
+ "title": "Offset",
+ "type": "integer"
+ },
+ "total": {
+ "title": "Total",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "items",
+ "total",
+ "limit",
+ "offset"
+ ],
+ "title": "Page[ProjectDatabaseResponse]",
+ "type": "object"
+ },
+ "Page_ProjectMemberResponse_": {
+ "properties": {
+ "items": {
+ "items": {
+ "$ref": "#/components/schemas/ProjectMemberResponse"
+ },
+ "title": "Items",
+ "type": "array"
+ },
+ "limit": {
+ "title": "Limit",
+ "type": "integer"
+ },
+ "offset": {
+ "title": "Offset",
+ "type": "integer"
+ },
+ "total": {
+ "title": "Total",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "items",
+ "total",
+ "limit",
+ "offset"
+ ],
+ "title": "Page[ProjectMemberResponse]",
+ "type": "object"
+ },
+ "Page_ProjectSummaryResponse_": {
+ "properties": {
+ "items": {
+ "items": {
+ "$ref": "#/components/schemas/ProjectSummaryResponse"
+ },
+ "title": "Items",
+ "type": "array"
+ },
+ "limit": {
+ "title": "Limit",
+ "type": "integer"
+ },
+ "offset": {
+ "title": "Offset",
+ "type": "integer"
+ },
+ "total": {
+ "title": "Total",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "items",
+ "total",
+ "limit",
+ "offset"
+ ],
+ "title": "Page[ProjectSummaryResponse]",
+ "type": "object"
+ },
+ "Page_dict_Any__Any__": {
+ "properties": {
+ "items": {
+ "items": {
+ "type": "object"
+ },
+ "title": "Items",
+ "type": "array"
+ },
+ "limit": {
+ "title": "Limit",
+ "type": "integer"
+ },
+ "offset": {
+ "title": "Offset",
+ "type": "integer"
+ },
+ "total": {
+ "title": "Total",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "items",
+ "total",
+ "limit",
+ "offset"
+ ],
+ "title": "Page[dict[Any, Any]]",
+ "type": "object"
+ },
+ "Page_dict_str__Any__": {
+ "properties": {
+ "items": {
+ "items": {
+ "type": "object"
+ },
+ "title": "Items",
+ "type": "array"
+ },
+ "limit": {
+ "title": "Limit",
+ "type": "integer"
+ },
+ "offset": {
+ "title": "Offset",
+ "type": "integer"
+ },
+ "total": {
+ "title": "Total",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "items",
+ "total",
+ "limit",
+ "offset"
+ ],
+ "title": "Page[dict[str, Any]]",
+ "type": "object"
+ },
+ "Page_dict_str__list_str___": {
+ "properties": {
+ "items": {
+ "items": {
+ "additionalProperties": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "type": "object"
+ },
+ "title": "Items",
+ "type": "array"
+ },
+ "limit": {
+ "title": "Limit",
+ "type": "integer"
+ },
+ "offset": {
+ "title": "Offset",
+ "type": "integer"
+ },
+ "total": {
+ "title": "Total",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "items",
+ "total",
+ "limit",
+ "offset"
+ ],
+ "title": "Page[dict[str, list[str]]]",
+ "type": "object"
+ },
+ "Page_list_str__": {
+ "properties": {
+ "items": {
+ "items": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "title": "Items",
+ "type": "array"
+ },
+ "limit": {
+ "title": "Limit",
+ "type": "integer"
+ },
+ "offset": {
+ "title": "Offset",
+ "type": "integer"
+ },
+ "total": {
+ "title": "Total",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "items",
+ "total",
+ "limit",
+ "offset"
+ ],
+ "title": "Page[list[str]]",
+ "type": "object"
+ },
+ "Page_str_": {
+ "properties": {
+ "items": {
+ "items": {
+ "type": "string"
+ },
+ "title": "Items",
+ "type": "array"
+ },
+ "limit": {
+ "title": "Limit",
+ "type": "integer"
+ },
+ "offset": {
+ "title": "Offset",
+ "type": "integer"
+ },
+ "total": {
+ "title": "Total",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "items",
+ "total",
+ "limit",
+ "offset"
+ ],
+ "title": "Page[str]",
+ "type": "object"
+ },
+ "Page_tuple_int__str__": {
+ "properties": {
+ "items": {
+ "items": {
+ "maxItems": 2,
+ "minItems": 2,
+ "prefixItems": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "string"
+ }
+ ],
+ "type": "array"
+ },
+ "title": "Items",
+ "type": "array"
+ },
+ "limit": {
+ "title": "Limit",
+ "type": "integer"
+ },
+ "offset": {
+ "title": "Offset",
+ "type": "integer"
+ },
+ "total": {
+ "title": "Total",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "items",
+ "total",
+ "limit",
+ "offset"
+ ],
+ "title": "Page[tuple[int, str]]",
+ "type": "object"
+ },
+ "PressureRegulationRest": {
+ "properties": {
+ "duration": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": 900,
+ "description": "持续时间 (秒)",
+ "title": "Duration"
+ },
+ "pump_control": {
+ "description": "泵控制策略",
+ "title": "Pump Control",
+ "type": "object"
+ },
+ "scheme_name": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "方案名称",
+ "title": "Scheme Name"
+ },
+ "start_time": {
+ "description": "开始时间",
+ "title": "Start Time",
+ "type": "string"
+ },
+ "tank_init_level": {
+ "anyOf": [
+ {
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "水箱初始水位",
+ "title": "Tank Init Level"
+ }
+ },
+ "required": [
+ "start_time",
+ "pump_control"
+ ],
+ "title": "PressureRegulationRest",
+ "type": "object"
+ },
+ "PressureSensorPlacement": {
+ "properties": {
+ "min_diameter": {
+ "default": 0,
+ "description": "最小管径限制",
+ "title": "Min Diameter",
+ "type": "integer"
+ },
+ "name": {
+ "description": "管网名称(或数据库名称)",
+ "title": "Name",
+ "type": "string"
+ },
+ "scheme_name": {
+ "description": "方案名称",
+ "title": "Scheme Name",
+ "type": "string"
+ },
+ "sensor_number": {
+ "description": "传感器数量",
+ "title": "Sensor Number",
+ "type": "integer"
+ },
+ "username": {
+ "description": "用户名",
+ "title": "Username",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "scheme_name",
+ "sensor_number",
+ "username"
+ ],
+ "title": "PressureSensorPlacement",
+ "type": "object"
+ },
+ "ProblemDetails": {
+ "description": "RFC 9457 compatible error response used by the REST contract.",
+ "properties": {
+ "code": {
+ "title": "Code",
+ "type": "string"
+ },
+ "detail": {
+ "title": "Detail",
+ "type": "string"
+ },
+ "errors": {
+ "items": {
+ "type": "object"
+ },
+ "title": "Errors",
+ "type": "array"
+ },
+ "instance": {
+ "title": "Instance",
+ "type": "string"
+ },
+ "status": {
+ "title": "Status",
+ "type": "integer"
+ },
+ "title": {
+ "title": "Title",
+ "type": "string"
+ },
+ "trace_id": {
+ "title": "Trace Id",
+ "type": "string"
+ },
+ "type": {
+ "title": "Type",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "title",
+ "status",
+ "detail",
+ "instance",
+ "code",
+ "trace_id"
+ ],
+ "title": "ProblemDetails",
+ "type": "object"
+ },
+ "ProjectDatabaseHealthRequest": {
+ "properties": {
+ "dsn": {
+ "anyOf": [
+ {
+ "minLength": 1,
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Dsn"
+ }
+ },
+ "title": "ProjectDatabaseHealthRequest",
+ "type": "object"
+ },
+ "ProjectDatabaseHealthResponse": {
+ "properties": {
+ "db_role": {
+ "title": "Db Role",
+ "type": "string"
+ },
+ "db_type": {
+ "title": "Db Type",
+ "type": "string"
+ },
+ "detail": {
+ "title": "Detail",
+ "type": "string"
+ },
+ "ok": {
+ "title": "Ok",
+ "type": "boolean"
+ },
+ "project_id": {
+ "format": "uuid",
+ "title": "Project Id",
+ "type": "string"
+ }
+ },
+ "required": [
+ "project_id",
+ "db_role",
+ "db_type",
+ "ok",
+ "detail"
+ ],
+ "title": "ProjectDatabaseHealthResponse",
+ "type": "object"
+ },
+ "ProjectDatabaseResponse": {
+ "properties": {
+ "db_role": {
+ "title": "Db Role",
+ "type": "string"
+ },
+ "db_type": {
+ "title": "Db Type",
+ "type": "string"
+ },
+ "has_dsn": {
+ "title": "Has Dsn",
+ "type": "boolean"
+ },
+ "id": {
+ "format": "uuid",
+ "title": "Id",
+ "type": "string"
+ },
+ "pool_max_size": {
+ "title": "Pool Max Size",
+ "type": "integer"
+ },
+ "pool_min_size": {
+ "title": "Pool Min Size",
+ "type": "integer"
+ },
+ "project_id": {
+ "format": "uuid",
+ "title": "Project Id",
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "project_id",
+ "db_role",
+ "db_type",
+ "pool_min_size",
+ "pool_max_size",
+ "has_dsn"
+ ],
+ "title": "ProjectDatabaseResponse",
+ "type": "object"
+ },
+ "ProjectDatabaseUpsertRequest": {
+ "properties": {
+ "db_role": {
+ "enum": [
+ "biz_data",
+ "iot_data"
+ ],
+ "title": "Db Role",
+ "type": "string"
+ },
+ "dsn": {
+ "anyOf": [
+ {
+ "minLength": 1,
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Dsn"
+ },
+ "pool_max_size": {
+ "default": 10,
+ "minimum": 1.0,
+ "title": "Pool Max Size",
+ "type": "integer"
+ },
+ "pool_min_size": {
+ "default": 2,
+ "minimum": 1.0,
+ "title": "Pool Min Size",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "db_role"
+ ],
+ "title": "ProjectDatabaseUpsertRequest",
+ "type": "object"
+ },
+ "ProjectManagementRest": {
+ "properties": {
+ "pump_control": {
+ "description": "泵控制策略",
+ "title": "Pump Control",
+ "type": "object"
+ },
+ "region_demand": {
+ "anyOf": [
+ {
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "区域需水量控制",
+ "title": "Region Demand"
+ },
+ "start_time": {
+ "description": "开始时间",
+ "title": "Start Time",
+ "type": "string"
+ },
+ "tank_init_level": {
+ "anyOf": [
+ {
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "水箱初始水位",
+ "title": "Tank Init Level"
+ }
+ },
+ "required": [
+ "start_time",
+ "pump_control"
+ ],
+ "title": "ProjectManagementRest",
+ "type": "object"
+ },
+ "ProjectMemberCreateRequest": {
+ "properties": {
+ "project_role": {
+ "default": "viewer",
+ "enum": [
+ "member",
+ "viewer"
+ ],
+ "title": "Project Role",
+ "type": "string"
+ },
+ "user_id": {
+ "format": "uuid",
+ "title": "User Id",
+ "type": "string"
+ }
+ },
+ "required": [
+ "user_id"
+ ],
+ "title": "ProjectMemberCreateRequest",
+ "type": "object"
+ },
+ "ProjectMemberResponse": {
+ "properties": {
+ "email": {
+ "title": "Email",
+ "type": "string"
+ },
+ "id": {
+ "format": "uuid",
+ "title": "Id",
+ "type": "string"
+ },
+ "is_active": {
+ "title": "Is Active",
+ "type": "boolean"
+ },
+ "project_id": {
+ "format": "uuid",
+ "title": "Project Id",
+ "type": "string"
+ },
+ "project_role": {
+ "title": "Project Role",
+ "type": "string"
+ },
+ "user_id": {
+ "format": "uuid",
+ "title": "User Id",
+ "type": "string"
+ },
+ "username": {
+ "title": "Username",
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "user_id",
+ "project_id",
+ "project_role",
+ "username",
+ "email",
+ "is_active"
+ ],
+ "title": "ProjectMemberResponse",
+ "type": "object"
+ },
+ "ProjectMemberUpdateRequest": {
+ "properties": {
+ "project_role": {
+ "enum": [
+ "member",
+ "viewer"
+ ],
+ "title": "Project Role",
+ "type": "string"
+ }
+ },
+ "required": [
+ "project_role"
+ ],
+ "title": "ProjectMemberUpdateRequest",
+ "type": "object"
+ },
+ "ProjectMetaResponse": {
+ "properties": {
+ "code": {
+ "title": "Code",
+ "type": "string"
+ },
+ "description": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Description"
+ },
+ "gs_workspace": {
+ "title": "Gs Workspace",
+ "type": "string"
+ },
+ "map_extent": {
+ "anyOf": [
+ {
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Map Extent"
+ },
+ "name": {
+ "title": "Name",
+ "type": "string"
+ },
+ "project_id": {
+ "format": "uuid",
+ "title": "Project Id",
+ "type": "string"
+ },
+ "project_role": {
+ "title": "Project Role",
+ "type": "string"
+ },
+ "status": {
+ "title": "Status",
+ "type": "string"
+ }
+ },
+ "required": [
+ "project_id",
+ "name",
+ "code",
+ "gs_workspace",
+ "status",
+ "project_role"
+ ],
+ "title": "ProjectMetaResponse",
+ "type": "object"
+ },
+ "ProjectSummaryResponse": {
+ "properties": {
+ "code": {
+ "title": "Code",
+ "type": "string"
+ },
+ "description": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Description"
+ },
+ "gs_workspace": {
+ "title": "Gs Workspace",
+ "type": "string"
+ },
+ "name": {
+ "title": "Name",
+ "type": "string"
+ },
+ "project_id": {
+ "format": "uuid",
+ "title": "Project Id",
+ "type": "string"
+ },
+ "project_role": {
+ "title": "Project Role",
+ "type": "string"
+ },
+ "status": {
+ "title": "Status",
+ "type": "string"
+ }
+ },
+ "required": [
+ "project_id",
+ "name",
+ "code",
+ "gs_workspace",
+ "status",
+ "project_role"
+ ],
+ "title": "ProjectSummaryResponse",
+ "type": "object"
+ },
+ "PumpFailureState": {
+ "properties": {
+ "pump_status": {
+ "description": "泵状态字典",
+ "title": "Pump Status",
+ "type": "object"
+ },
+ "time": {
+ "description": "故障发生时间",
+ "title": "Time",
+ "type": "string"
+ }
+ },
+ "required": [
+ "time",
+ "pump_status"
+ ],
+ "title": "PumpFailureState",
+ "type": "object"
+ },
+ "RunSimulationManuallyByDateRest": {
+ "properties": {
+ "duration": {
+ "description": "持续时间 (分钟)",
+ "exclusiveMinimum": 0.0,
+ "title": "Duration",
+ "type": "integer"
+ },
+ "start_time": {
+ "description": "开始时间 (ISO 8601 / RFC3339,必须显式带时区)",
+ "title": "Start Time",
+ "type": "string"
+ }
+ },
+ "required": [
+ "start_time",
+ "duration"
+ ],
+ "title": "RunSimulationManuallyByDateRest",
+ "type": "object"
+ },
+ "SchedulingAnalysisRest": {
+ "properties": {
+ "pump_control": {
+ "description": "泵控制策略",
+ "title": "Pump Control",
+ "type": "object"
+ },
+ "start_time": {
+ "description": "开始时间",
+ "title": "Start Time",
+ "type": "string"
+ },
+ "tank_id": {
+ "description": "水箱ID",
+ "title": "Tank Id",
+ "type": "string"
+ },
+ "time_delta": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": 300,
+ "description": "时间步长 (秒)",
+ "title": "Time Delta"
+ },
+ "water_plant_output_id": {
+ "description": "水厂出水ID",
+ "title": "Water Plant Output Id",
+ "type": "string"
+ }
+ },
+ "required": [
+ "start_time",
+ "pump_control",
+ "tank_id",
+ "water_plant_output_id"
+ ],
+ "title": "SchedulingAnalysisRest",
+ "type": "object"
+ },
+ "SensorPlacementExportRequest": {
+ "properties": {
+ "adjustment_status": {
+ "additionalProperties": {
+ "enum": [
+ "current",
+ "original",
+ "added",
+ "replaced"
+ ],
+ "type": "string"
+ },
+ "maxProperties": 200,
+ "title": "Adjustment Status",
+ "type": "object"
+ },
+ "sensor_location": {
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 200,
+ "minItems": 1,
+ "title": "Sensor Location",
+ "type": "array"
+ }
+ },
+ "required": [
+ "sensor_location"
+ ],
+ "title": "SensorPlacementExportRequest",
+ "type": "object"
+ },
+ "SensorPlacementOptimizeRequestRest": {
+ "properties": {
+ "method": {
+ "enum": [
+ "sensitivity",
+ "kmeans"
+ ],
+ "title": "Method",
+ "type": "string"
+ },
+ "min_diameter": {
+ "default": 0,
+ "minimum": 0.0,
+ "title": "Min Diameter",
+ "type": "integer"
+ },
+ "scheme_name": {
+ "maxLength": 32,
+ "minLength": 1,
+ "title": "Scheme Name",
+ "type": "string"
+ },
+ "sensor_count": {
+ "exclusiveMinimum": 0.0,
+ "maximum": 200.0,
+ "title": "Sensor Count",
+ "type": "integer"
+ },
+ "sensor_type": {
+ "const": "pressure",
+ "title": "Sensor Type",
+ "type": "string"
+ }
+ },
+ "required": [
+ "scheme_name",
+ "sensor_type",
+ "method",
+ "sensor_count"
+ ],
+ "title": "SensorPlacementOptimizeRequestRest",
+ "type": "object"
+ },
+ "SensorPlacementSchemeResponse": {
+ "properties": {
+ "can_edit": {
+ "default": false,
+ "title": "Can Edit",
+ "type": "boolean"
+ },
+ "create_time": {
+ "format": "date-time",
+ "title": "Create Time",
+ "type": "string"
+ },
+ "id": {
+ "title": "Id",
+ "type": "integer"
+ },
+ "min_diameter": {
+ "title": "Min Diameter",
+ "type": "integer"
+ },
+ "scheme_name": {
+ "title": "Scheme Name",
+ "type": "string"
+ },
+ "sensor_location": {
+ "items": {
+ "type": "string"
+ },
+ "title": "Sensor Location",
+ "type": "array"
+ },
+ "sensor_number": {
+ "title": "Sensor Number",
+ "type": "integer"
+ },
+ "sensor_points": {
+ "items": {
+ "$ref": "#/components/schemas/SensorPointResponse"
+ },
+ "title": "Sensor Points",
+ "type": "array"
+ },
+ "username": {
+ "title": "Username",
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "scheme_name",
+ "sensor_number",
+ "min_diameter",
+ "username",
+ "create_time",
+ "sensor_location",
+ "sensor_points"
+ ],
+ "title": "SensorPlacementSchemeResponse",
+ "type": "object"
+ },
+ "SensorPlacementUpdateRequest": {
+ "properties": {
+ "expected_sensor_location": {
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 200,
+ "minItems": 1,
+ "title": "Expected Sensor Location",
+ "type": "array"
+ },
+ "sensor_location": {
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 200,
+ "minItems": 1,
+ "title": "Sensor Location",
+ "type": "array"
+ }
+ },
+ "required": [
+ "expected_sensor_location",
+ "sensor_location"
+ ],
+ "title": "SensorPlacementUpdateRequest",
+ "type": "object"
+ },
+ "SensorPointResponse": {
+ "properties": {
+ "elevation": {
+ "title": "Elevation",
+ "type": "number"
+ },
+ "latitude": {
+ "title": "Latitude",
+ "type": "number"
+ },
+ "longitude": {
+ "title": "Longitude",
+ "type": "number"
+ },
+ "map_x": {
+ "title": "Map X",
+ "type": "number"
+ },
+ "map_y": {
+ "title": "Map Y",
+ "type": "number"
+ },
+ "node_id": {
+ "title": "Node Id",
+ "type": "string"
+ },
+ "project_x": {
+ "title": "Project X",
+ "type": "number"
+ },
+ "project_y": {
+ "title": "Project Y",
+ "type": "number"
+ }
+ },
+ "required": [
+ "node_id",
+ "project_x",
+ "project_y",
+ "map_x",
+ "map_y",
+ "longitude",
+ "latitude",
+ "elevation"
+ ],
+ "title": "SensorPointResponse",
+ "type": "object"
+ },
+ "SessionAuditEventRequest": {
+ "properties": {
+ "event": {
+ "enum": [
+ "login",
+ "logout"
+ ],
+ "title": "Event",
+ "type": "string"
+ }
+ },
+ "required": [
+ "event"
+ ],
+ "title": "SessionAuditEventRequest",
+ "type": "object"
+ },
+ "TiandituGeocodeRequest": {
+ "properties": {
+ "keyword": {
+ "description": "地理编码地址关键字",
+ "minLength": 1,
+ "title": "Keyword",
+ "type": "string"
+ }
+ },
+ "required": [
+ "keyword"
+ ],
+ "title": "TiandituGeocodeRequest",
+ "type": "object"
+ },
+ "WebSearchRequest": {
+ "properties": {
+ "count": {
+ "default": 10,
+ "description": "返回结果数量",
+ "maximum": 50.0,
+ "minimum": 1.0,
+ "title": "Count",
+ "type": "integer"
+ },
+ "exclude": {
+ "anyOf": [
+ {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "排除搜索域名",
+ "title": "Exclude"
+ },
+ "freshness": {
+ "anyOf": [
+ {
+ "enum": [
+ "noLimit",
+ "oneDay",
+ "oneWeek",
+ "oneMonth",
+ "oneYear"
+ ],
+ "type": "string"
+ },
+ {
+ "type": "string"
+ }
+ ],
+ "default": "noLimit",
+ "description": "时间范围:noLimit、oneDay、oneWeek、oneMonth、oneYear 或日期范围",
+ "title": "Freshness"
+ },
+ "include": {
+ "anyOf": [
+ {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "限定搜索域名",
+ "title": "Include"
+ },
+ "query": {
+ "description": "搜索关键词",
+ "minLength": 1,
+ "title": "Query",
+ "type": "string"
+ },
+ "summary": {
+ "default": true,
+ "description": "是否返回网页摘要",
+ "title": "Summary",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "query"
+ ],
+ "title": "WebSearchRequest",
+ "type": "object"
+ }
+ },
+ "securitySchemes": {
+ "OAuth2PasswordBearer": {
+ "flows": {
+ "password": {
+ "scopes": {},
+ "tokenUrl": "keycloak"
+ }
+ },
+ "type": "oauth2"
+ }
+ }
+ },
+ "info": {
+ "description": "TJWater Server - 供水管网智能管理系统",
+ "title": "TJWater Server",
+ "version": "1.0.0"
+ },
+ "openapi": "3.1.0",
+ "paths": {
+ "/api/v1/access-context": {
+ "get": {
+ "operationId": "get_access_context",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "X-Project-Id"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/AccessContextResponse"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "Get Access Context",
+ "tags": [
+ "Access Control"
+ ]
+ }
+ },
+ "/api/v1/admin/projects": {
+ "get": {
+ "operationId": "get_admin_projects",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "default": 100,
+ "maximum": 1000,
+ "minimum": 1,
+ "title": "Limit",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "query",
+ "name": "offset",
+ "required": false,
+ "schema": {
+ "default": 0,
+ "minimum": 0,
+ "title": "Offset",
+ "type": "integer"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Page_AdminProjectResponse_"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "List Admin Projects",
+ "tags": [
+ "Metadata Admin"
+ ]
+ },
+ "post": {
+ "operationId": "post_admin_projects",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/AdminProjectCreateRequest"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "201": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/AdminProjectResponse"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "Create Admin Project",
+ "tags": [
+ "Metadata Admin"
+ ]
+ }
+ },
+ "/api/v1/admin/projects/{project_id}": {
+ "patch": {
+ "operationId": "patch_admin_projects_project_id",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "project_id",
+ "required": true,
+ "schema": {
+ "format": "uuid",
+ "title": "Project Id",
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/AdminProjectUpdateRequest"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/AdminProjectResponse"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "Update Admin Project",
+ "tags": [
+ "Metadata Admin"
+ ]
+ }
+ },
+ "/api/v1/admin/projects/{project_id}/databases": {
+ "get": {
+ "operationId": "get_admin_projects_project_id_databases",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "project_id",
+ "required": true,
+ "schema": {
+ "format": "uuid",
+ "title": "Project Id",
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "default": 100,
+ "maximum": 1000,
+ "minimum": 1,
+ "title": "Limit",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "query",
+ "name": "offset",
+ "required": false,
+ "schema": {
+ "default": 0,
+ "minimum": 0,
+ "title": "Offset",
+ "type": "integer"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Page_ProjectDatabaseResponse_"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "List Project Databases",
+ "tags": [
+ "Metadata Admin"
+ ]
+ },
+ "put": {
+ "operationId": "put_admin_projects_project_id_databases",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "project_id",
+ "required": true,
+ "schema": {
+ "format": "uuid",
+ "title": "Project Id",
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProjectDatabaseUpsertRequest"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProjectDatabaseResponse"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "Upsert Project Database",
+ "tags": [
+ "Metadata Admin"
+ ]
+ }
+ },
+ "/api/v1/admin/projects/{project_id}/databases/{db_role}": {
+ "delete": {
+ "operationId": "delete_admin_projects_project_id_databases_db_role",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "project_id",
+ "required": true,
+ "schema": {
+ "format": "uuid",
+ "title": "Project Id",
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "db_role",
+ "required": true,
+ "schema": {
+ "enum": [
+ "biz_data",
+ "iot_data"
+ ],
+ "title": "Db Role",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "Delete Project Database",
+ "tags": [
+ "Metadata Admin"
+ ]
+ }
+ },
+ "/api/v1/admin/projects/{project_id}/databases/{db_role}/health-checks": {
+ "post": {
+ "operationId": "post_admin_projects_project_id_databases_db_role_health_checks",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "project_id",
+ "required": true,
+ "schema": {
+ "format": "uuid",
+ "title": "Project Id",
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "db_role",
+ "required": true,
+ "schema": {
+ "enum": [
+ "biz_data",
+ "iot_data"
+ ],
+ "title": "Db Role",
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/ProjectDatabaseHealthRequest"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Payload"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProjectDatabaseHealthResponse"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "Check Project Database Health",
+ "tags": [
+ "Metadata Admin"
+ ]
+ }
+ },
+ "/api/v1/admin/projects/{project_id}/members": {
+ "get": {
+ "operationId": "get_admin_projects_project_id_members",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "project_id",
+ "required": true,
+ "schema": {
+ "format": "uuid",
+ "title": "Project Id",
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "default": 100,
+ "maximum": 1000,
+ "minimum": 1,
+ "title": "Limit",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "query",
+ "name": "offset",
+ "required": false,
+ "schema": {
+ "default": 0,
+ "minimum": 0,
+ "title": "Offset",
+ "type": "integer"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Page_ProjectMemberResponse_"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "List Project Members",
+ "tags": [
+ "Metadata Admin"
+ ]
+ },
+ "post": {
+ "operationId": "post_admin_projects_project_id_members",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "project_id",
+ "required": true,
+ "schema": {
+ "format": "uuid",
+ "title": "Project Id",
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProjectMemberCreateRequest"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "201": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProjectMemberResponse"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "Add Project Member",
+ "tags": [
+ "Metadata Admin"
+ ]
+ }
+ },
+ "/api/v1/admin/projects/{project_id}/members/{user_id}": {
+ "delete": {
+ "operationId": "delete_admin_projects_project_id_members_user_id",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "project_id",
+ "required": true,
+ "schema": {
+ "format": "uuid",
+ "title": "Project Id",
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "user_id",
+ "required": true,
+ "schema": {
+ "format": "uuid",
+ "title": "User Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "Remove Project Member",
+ "tags": [
+ "Metadata Admin"
+ ]
+ },
+ "patch": {
+ "operationId": "patch_admin_projects_project_id_members_user_id",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "project_id",
+ "required": true,
+ "schema": {
+ "format": "uuid",
+ "title": "Project Id",
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "user_id",
+ "required": true,
+ "schema": {
+ "format": "uuid",
+ "title": "User Id",
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProjectMemberUpdateRequest"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProjectMemberResponse"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "Update Project Member",
+ "tags": [
+ "Metadata Admin"
+ ]
+ }
+ },
+ "/api/v1/admin/projects/{project_id}/model-imports": {
+ "patch": {
+ "operationId": "patch_admin_projects_project_id_model_imports",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "project_id",
+ "required": true,
+ "schema": {
+ "format": "uuid",
+ "title": "Project Id",
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "multipart/form-data": {
+ "schema": {
+ "$ref": "#/components/schemas/Body_patch_admin_projects_project_id_model_imports"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Patch Admin Projects Project Id Model Imports",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "更新桌面端水力模型",
+ "tags": [
+ "Model Administration"
+ ]
+ },
+ "post": {
+ "operationId": "post_admin_projects_project_id_model_imports",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "project_id",
+ "required": true,
+ "schema": {
+ "format": "uuid",
+ "title": "Project Id",
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "multipart/form-data": {
+ "schema": {
+ "$ref": "#/components/schemas/Body_post_admin_projects_project_id_model_imports"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "201": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Post Admin Projects Project Id Model Imports",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "导入桌面端水力模型",
+ "tags": [
+ "Model Administration"
+ ]
+ }
+ },
+ "/api/v1/admin/user-syncs": {
+ "post": {
+ "operationId": "post_admin_user_syncs",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/MetadataUserSyncRequest"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/MetadataUserResponse"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "Sync Metadata User",
+ "tags": [
+ "Metadata Admin"
+ ]
+ }
+ },
+ "/api/v1/admin/user-syncs/batches": {
+ "post": {
+ "operationId": "post_admin_user_syncs_batches",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "default": 100,
+ "maximum": 1000,
+ "minimum": 1,
+ "title": "Limit",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "query",
+ "name": "offset",
+ "required": false,
+ "schema": {
+ "default": 0,
+ "minimum": 0,
+ "title": "Offset",
+ "type": "integer"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/MetadataUsersBatchSyncRequest"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Page_MetadataUserSyncResult_"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "Sync Metadata Users Batch",
+ "tags": [
+ "Metadata Admin"
+ ]
+ }
+ },
+ "/api/v1/admin/users": {
+ "get": {
+ "operationId": "get_admin_users",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "skip",
+ "required": false,
+ "schema": {
+ "default": 0,
+ "minimum": 0,
+ "title": "Skip",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "default": 100,
+ "maximum": 1000,
+ "minimum": 1,
+ "title": "Limit",
+ "type": "integer"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Page_MetadataUserResponse_"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "List Metadata Users",
+ "tags": [
+ "Metadata Admin"
+ ]
+ }
+ },
+ "/api/v1/admin/users/me": {
+ "get": {
+ "operationId": "get_admin_users_me",
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/MetadataUserResponse"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "Get Metadata Admin Me",
+ "tags": [
+ "Metadata Admin"
+ ]
+ }
+ },
+ "/api/v1/admin/users/{user_id}": {
+ "get": {
+ "operationId": "get_admin_users_user_id",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "user_id",
+ "required": true,
+ "schema": {
+ "format": "uuid",
+ "title": "User Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/MetadataUserResponse"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "Get Metadata User",
+ "tags": [
+ "Metadata Admin"
+ ]
+ },
+ "patch": {
+ "operationId": "patch_admin_users_user_id",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "user_id",
+ "required": true,
+ "schema": {
+ "format": "uuid",
+ "title": "User Id",
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/MetadataUserUpdateRequest"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/MetadataUserResponse"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "Update Metadata User",
+ "tags": [
+ "Metadata Admin"
+ ]
+ }
+ },
+ "/api/v1/agent-auth-context": {
+ "get": {
+ "operationId": "get_agent_auth_context",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/AgentAuthContextResponse"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "Get Agent Auth Context",
+ "tags": [
+ "Agent Auth"
+ ]
+ }
+ },
+ "/api/v1/all-extension-data-keys": {
+ "get": {
+ "description": "获取指定网络的所有扩展数据的键列表",
+ "operationId": "get_all_extension_data_keys",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "default": 100,
+ "maximum": 1000,
+ "minimum": 1,
+ "title": "Limit",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "query",
+ "name": "offset",
+ "required": false,
+ "schema": {
+ "default": 0,
+ "minimum": 0,
+ "title": "Offset",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Page_str_"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取所有扩展数据键",
+ "tags": [
+ "Extension"
+ ]
+ }
+ },
+ "/api/v1/all-extension-datas": {
+ "get": {
+ "description": "获取指定网络的所有扩展数据",
+ "operationId": "get_all_extension_datas",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get All Extension Datas",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取所有扩展数据",
+ "tags": [
+ "Extension"
+ ]
+ }
+ },
+ "/api/v1/all-redis": {
+ "delete": {
+ "description": "清空整个Redis数据库的所有缓存",
+ "operationId": "delete_all_redis",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "清除所有缓存",
+ "tags": [
+ "Cache"
+ ]
+ }
+ },
+ "/api/v1/all-scada-properties": {
+ "get": {
+ "description": "获取指定水网中所有SCADA点的属性信息",
+ "operationId": "get_all_scada_properties",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "default": 100,
+ "maximum": 1000,
+ "minimum": 1,
+ "title": "Limit",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "query",
+ "name": "offset",
+ "required": false,
+ "schema": {
+ "default": 0,
+ "minimum": 0,
+ "title": "Offset",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Page_dict_str__Any__"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取所有SCADA点属性",
+ "tags": [
+ "Network General"
+ ]
+ }
+ },
+ "/api/v1/all-vertices": {
+ "get": {
+ "description": "获取网络中的所有图形元素详细信息",
+ "operationId": "get_all_vertices",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "default": 100,
+ "maximum": 1000,
+ "minimum": 1,
+ "title": "Limit",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "query",
+ "name": "offset",
+ "required": false,
+ "schema": {
+ "default": 0,
+ "minimum": 0,
+ "title": "Offset",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "text/plain": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "text/plain": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "text/plain": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "text/plain": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "text/plain": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "text/plain": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "text/plain": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取所有图形元素",
+ "tags": [
+ "Visuals"
+ ]
+ }
+ },
+ "/api/v1/audit-events": {
+ "post": {
+ "operationId": "post_audit_events",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SessionAuditEventRequest"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "204": {
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "Record Session Event",
+ "tags": [
+ "Audit Logs"
+ ]
+ }
+ },
+ "/api/v1/audit-logs": {
+ "get": {
+ "description": "查询审计日志(仅管理员)",
+ "operationId": "get_audit_logs",
+ "parameters": [
+ {
+ "description": "按用户ID过滤",
+ "in": "query",
+ "name": "user_id",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "format": "uuid",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "按用户ID过滤",
+ "title": "User Id"
+ }
+ },
+ {
+ "description": "按项目ID过滤",
+ "in": "query",
+ "name": "project_id",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "format": "uuid",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "按项目ID过滤",
+ "title": "Project Id"
+ }
+ },
+ {
+ "description": "按操作类型过滤",
+ "in": "query",
+ "name": "action",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "按操作类型过滤",
+ "title": "Action"
+ }
+ },
+ {
+ "description": "按资源类型过滤",
+ "in": "query",
+ "name": "resource_type",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "按资源类型过滤",
+ "title": "Resource Type"
+ }
+ },
+ {
+ "description": "开始时间",
+ "in": "query",
+ "name": "start_time",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "format": "date-time",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "开始时间",
+ "title": "Start Time"
+ }
+ },
+ {
+ "description": "结束时间",
+ "in": "query",
+ "name": "end_time",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "format": "date-time",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "结束时间",
+ "title": "End Time"
+ }
+ },
+ {
+ "description": "跳过记录数",
+ "in": "query",
+ "name": "skip",
+ "required": false,
+ "schema": {
+ "default": 0,
+ "description": "跳过记录数",
+ "minimum": 0,
+ "title": "Skip",
+ "type": "integer"
+ }
+ },
+ {
+ "description": "限制记录数",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "default": 100,
+ "description": "限制记录数",
+ "maximum": 1000,
+ "minimum": 1,
+ "title": "Limit",
+ "type": "integer"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Page_AuditLogResponse_"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "查询审计日志",
+ "tags": [
+ "Audit Logs"
+ ]
+ }
+ },
+ "/api/v1/audit-logs/count": {
+ "get": {
+ "description": "获取审计日志总数(仅管理员)",
+ "operationId": "get_audit_logs_count",
+ "parameters": [
+ {
+ "description": "按用户ID过滤",
+ "in": "query",
+ "name": "user_id",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "format": "uuid",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "按用户ID过滤",
+ "title": "User Id"
+ }
+ },
+ {
+ "description": "按项目ID过滤",
+ "in": "query",
+ "name": "project_id",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "format": "uuid",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "按项目ID过滤",
+ "title": "Project Id"
+ }
+ },
+ {
+ "description": "按操作类型过滤",
+ "in": "query",
+ "name": "action",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "按操作类型过滤",
+ "title": "Action"
+ }
+ },
+ {
+ "description": "按资源类型过滤",
+ "in": "query",
+ "name": "resource_type",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "按资源类型过滤",
+ "title": "Resource Type"
+ }
+ },
+ {
+ "description": "开始时间",
+ "in": "query",
+ "name": "start_time",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "format": "date-time",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "开始时间",
+ "title": "Start Time"
+ }
+ },
+ {
+ "description": "结束时间",
+ "in": "query",
+ "name": "end_time",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "format": "date-time",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "结束时间",
+ "title": "End Time"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Audit Logs Count",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取审计日志总数",
+ "tags": [
+ "Audit Logs"
+ ]
+ }
+ },
+ "/api/v1/audit-logs/mine": {
+ "get": {
+ "description": "查询当前用户的审计日志",
+ "operationId": "get_audit_logs_mine",
+ "parameters": [
+ {
+ "description": "按操作类型过滤",
+ "in": "query",
+ "name": "action",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "按操作类型过滤",
+ "title": "Action"
+ }
+ },
+ {
+ "description": "开始时间",
+ "in": "query",
+ "name": "start_time",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "format": "date-time",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "开始时间",
+ "title": "Start Time"
+ }
+ },
+ {
+ "description": "结束时间",
+ "in": "query",
+ "name": "end_time",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "format": "date-time",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "结束时间",
+ "title": "End Time"
+ }
+ },
+ {
+ "description": "跳过记录数",
+ "in": "query",
+ "name": "skip",
+ "required": false,
+ "schema": {
+ "default": 0,
+ "description": "跳过记录数",
+ "minimum": 0,
+ "title": "Skip",
+ "type": "integer"
+ }
+ },
+ {
+ "description": "限制记录数",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "default": 100,
+ "description": "限制记录数",
+ "maximum": 1000,
+ "minimum": 1,
+ "title": "Limit",
+ "type": "integer"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Page_AuditLogResponse_"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "查询我的审计日志",
+ "tags": [
+ "Audit Logs"
+ ]
+ }
+ },
+ "/api/v1/backdrops/properties": {
+ "get": {
+ "description": "获取指定网络的背景属性信息",
+ "operationId": "get_backdrops_properties",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Backdrops Properties",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取背景属性",
+ "tags": [
+ "Visuals"
+ ]
+ },
+ "patch": {
+ "description": "更新指定网络的背景属性",
+ "operationId": "patch_backdrops_properties",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置背景属性",
+ "tags": [
+ "Visuals"
+ ]
+ }
+ },
+ "/api/v1/burst-analyses": {
+ "post": {
+ "description": "高级版本的爆管分析,支持在指定时间点修改泵控制模式和阀门开度,以分析这些改变对爆管影响的作用。支持固定泵和变速泵的独立控制。",
+ "operationId": "post_burst_analyses",
+ "parameters": [
+ {
+ "description": "模式修改开始时间(ISO 8601格式)",
+ "in": "query",
+ "name": "modify_pattern_start_time",
+ "required": true,
+ "schema": {
+ "description": "模式修改开始时间(ISO 8601格式)",
+ "title": "Modify Pattern Start Time",
+ "type": "string"
+ }
+ },
+ {
+ "description": "爆管节点/管段ID列表",
+ "in": "query",
+ "name": "burst_id",
+ "required": true,
+ "schema": {
+ "description": "爆管节点/管段ID列表",
+ "items": {
+ "type": "string"
+ },
+ "title": "Burst Id",
+ "type": "array"
+ }
+ },
+ {
+ "description": "对应各爆管点的爆管流量大小列表(L/s)",
+ "in": "query",
+ "name": "burst_size",
+ "required": true,
+ "schema": {
+ "description": "对应各爆管点的爆管流量大小列表(L/s)",
+ "items": {
+ "type": "number"
+ },
+ "title": "Burst Size",
+ "type": "array"
+ }
+ },
+ {
+ "description": "模拟总时长(秒)",
+ "in": "query",
+ "name": "modify_total_duration",
+ "required": true,
+ "schema": {
+ "description": "模拟总时长(秒)",
+ "title": "Modify Total Duration",
+ "type": "integer"
+ }
+ },
+ {
+ "description": "分析方案名称",
+ "in": "query",
+ "name": "scheme_name",
+ "required": true,
+ "schema": {
+ "description": "分析方案名称",
+ "title": "Scheme Name",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Post Burst Analyses",
+ "type": "string"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "爆管分析(高级)",
+ "tags": [
+ "Simulation Control"
+ ]
+ }
+ },
+ "/api/v1/burst-detections": {
+ "post": {
+ "description": "基于压力观测数据和其他参数执行爆管检测分析",
+ "operationId": "post_burst_detections",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BurstDetectionRequestRest",
+ "description": "爆管检测请求数据"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Post Burst Detections",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "执行爆管检测",
+ "tags": [
+ "Burst Detection"
+ ]
+ }
+ },
+ "/api/v1/burst-locations": {
+ "get": {
+ "description": "获取网络中所有爆管定位的分析结果",
+ "operationId": "get_burst_locations",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "default": 100,
+ "maximum": 1000,
+ "minimum": 1,
+ "title": "Limit",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "query",
+ "name": "offset",
+ "required": false,
+ "schema": {
+ "default": 0,
+ "minimum": 0,
+ "title": "Offset",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Page_dict_Any__Any__"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取所有爆管定位结果",
+ "tags": [
+ "Misc"
+ ]
+ },
+ "post": {
+ "description": "基于压力和流量数据定位管网中的爆管位置",
+ "operationId": "post_burst_locations",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BurstLocationRequestRest",
+ "description": "爆管定位请求数据"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Post Burst Locations",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "执行爆管定位",
+ "tags": [
+ "Burst Location"
+ ]
+ }
+ },
+ "/api/v1/burst-locations/database-view": {
+ "get": {
+ "description": "使用连接池查询所有爆管定位结果",
+ "operationId": "get_burst_locations_database_view",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取爆管定位结果",
+ "tags": [
+ "Project Data"
+ ]
+ }
+ },
+ "/api/v1/burst-locations/{burst_incident}": {
+ "get": {
+ "description": "根据爆管事件ID查询对应的爆管定位结果",
+ "operationId": "get_burst_locations_burst_incident",
+ "parameters": [
+ {
+ "description": "爆管事件ID",
+ "in": "path",
+ "name": "burst_incident",
+ "required": true,
+ "schema": {
+ "description": "爆管事件ID",
+ "title": "Burst Incident",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "按事件查询爆管定位结果",
+ "tags": [
+ "Project Data"
+ ]
+ }
+ },
+ "/api/v1/contaminant-simulations": {
+ "post": {
+ "description": "对管网中的污染物扩散进行模拟,评估污染源对管网的影响范围和浓度分布。支持指定污染源位置、污染浓度和扩散模式。",
+ "operationId": "post_contaminant_simulations",
+ "parameters": [
+ {
+ "description": "污染开始时间(ISO 8601格式)",
+ "in": "query",
+ "name": "start_time",
+ "required": true,
+ "schema": {
+ "description": "污染开始时间(ISO 8601格式)",
+ "title": "Start Time",
+ "type": "string"
+ }
+ },
+ {
+ "description": "污染源节点ID",
+ "in": "query",
+ "name": "source",
+ "required": true,
+ "schema": {
+ "description": "污染源节点ID",
+ "title": "Source",
+ "type": "string"
+ }
+ },
+ {
+ "description": "污染浓度(mg/L)",
+ "in": "query",
+ "name": "concentration",
+ "required": true,
+ "schema": {
+ "description": "污染浓度(mg/L)",
+ "title": "Concentration",
+ "type": "number"
+ }
+ },
+ {
+ "description": "模拟持续时间(秒)",
+ "in": "query",
+ "name": "duration",
+ "required": true,
+ "schema": {
+ "description": "模拟持续时间(秒)",
+ "title": "Duration",
+ "type": "integer"
+ }
+ },
+ {
+ "description": "模拟方案名称",
+ "in": "query",
+ "name": "scheme_name",
+ "required": true,
+ "schema": {
+ "description": "模拟方案名称",
+ "title": "Scheme Name",
+ "type": "string"
+ }
+ },
+ {
+ "description": "污染源模式ID(可选)",
+ "in": "query",
+ "name": "pattern",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "污染源模式ID(可选)",
+ "title": "Pattern"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "text/plain": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "text/plain": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "text/plain": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "text/plain": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "text/plain": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "text/plain": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "text/plain": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "污染物模拟",
+ "tags": [
+ "Simulation Control"
+ ]
+ }
+ },
+ "/api/v1/controls/properties": {
+ "get": {
+ "description": "获取指定网络中的控制属性信息",
+ "operationId": "get_controls_properties",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Controls Properties",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取控制属性",
+ "tags": [
+ "Controls & Rules"
+ ]
+ },
+ "patch": {
+ "description": "更新指定网络中的控制属性",
+ "operationId": "patch_controls_properties",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置控制属性",
+ "tags": [
+ "Controls & Rules"
+ ]
+ }
+ },
+ "/api/v1/current-operation-ids": {
+ "get": {
+ "description": "获取网络当前的操作ID",
+ "operationId": "get_current_operation_ids",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Current Operation Ids",
+ "type": "integer"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取当前操作ID",
+ "tags": [
+ "Snapshots"
+ ]
+ }
+ },
+ "/api/v1/curves": {
+ "delete": {
+ "description": "从网络中删除指定的曲线",
+ "operationId": "delete_curves",
+ "parameters": [
+ {
+ "description": "曲线ID",
+ "in": "query",
+ "name": "curve",
+ "required": true,
+ "schema": {
+ "description": "曲线ID",
+ "title": "Curve",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "删除曲线",
+ "tags": [
+ "Curves"
+ ]
+ },
+ "get": {
+ "description": "获取网络中的所有曲线列表",
+ "operationId": "get_curves",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "default": 100,
+ "maximum": 1000,
+ "minimum": 1,
+ "title": "Limit",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "query",
+ "name": "offset",
+ "required": false,
+ "schema": {
+ "default": 0,
+ "minimum": 0,
+ "title": "Offset",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Page_str_"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取所有曲线",
+ "tags": [
+ "Curves"
+ ]
+ },
+ "post": {
+ "description": "在网络中添加一条新的曲线",
+ "operationId": "post_curves",
+ "parameters": [
+ {
+ "description": "曲线ID",
+ "in": "query",
+ "name": "curve",
+ "required": true,
+ "schema": {
+ "description": "曲线ID",
+ "title": "Curve",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "添加曲线",
+ "tags": [
+ "Curves"
+ ]
+ }
+ },
+ "/api/v1/curves/existence": {
+ "get": {
+ "description": "检查指定的曲线是否存在",
+ "operationId": "get_curves_existence",
+ "parameters": [
+ {
+ "description": "曲线ID",
+ "in": "query",
+ "name": "curve",
+ "required": true,
+ "schema": {
+ "description": "曲线ID",
+ "title": "Curve",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Curves Existence",
+ "type": "boolean"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "检查曲线存在性",
+ "tags": [
+ "Curves"
+ ]
+ }
+ },
+ "/api/v1/curves/properties": {
+ "get": {
+ "description": "获取指定曲线的属性信息",
+ "operationId": "get_curves_properties",
+ "parameters": [
+ {
+ "description": "曲线ID",
+ "in": "query",
+ "name": "curve",
+ "required": true,
+ "schema": {
+ "description": "曲线ID",
+ "title": "Curve",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Curves Properties",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取曲线属性",
+ "tags": [
+ "Curves"
+ ]
+ },
+ "patch": {
+ "description": "更新指定曲线的属性",
+ "operationId": "patch_curves_properties",
+ "parameters": [
+ {
+ "description": "曲线ID",
+ "in": "query",
+ "name": "curve",
+ "required": true,
+ "schema": {
+ "description": "曲线ID",
+ "title": "Curve",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置曲线属性",
+ "tags": [
+ "Curves"
+ ]
+ }
+ },
+ "/api/v1/daily-scheduling-analyses": {
+ "post": {
+ "description": "对管网的每日供水排程进行分析,优化水库、水厂、水箱和用户需求的协调,制定合理的每日排程方案。",
+ "operationId": "post_daily_scheduling_analyses",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DailySchedulingAnalysisRest",
+ "description": "日排程分析参数"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Post Daily Scheduling Analyses",
+ "type": "string"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "日排程分析",
+ "tags": [
+ "Simulation Control"
+ ]
+ }
+ },
+ "/api/v1/demands/properties": {
+ "get": {
+ "description": "获取指定水网中节点的需水量属性信息",
+ "operationId": "get_demands_properties",
+ "parameters": [
+ {
+ "description": "节点ID",
+ "in": "query",
+ "name": "junction",
+ "required": true,
+ "schema": {
+ "description": "节点ID",
+ "title": "Junction",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Demands Properties",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取需水量属性",
+ "tags": [
+ "Demands"
+ ]
+ },
+ "patch": {
+ "description": "设置指定水网中节点的需水量属性信息",
+ "operationId": "patch_demands_properties",
+ "parameters": [
+ {
+ "description": "节点ID",
+ "in": "query",
+ "name": "junction",
+ "required": true,
+ "schema": {
+ "description": "节点ID",
+ "title": "Junction",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置需水量属性",
+ "tags": [
+ "Demands"
+ ]
+ }
+ },
+ "/api/v1/demands/to-network": {
+ "post": {
+ "description": "将需水量均匀分配到整个水网的所有需水节点",
+ "operationId": "post_demands_to_network",
+ "parameters": [
+ {
+ "description": "总需水量(m³/h)",
+ "in": "query",
+ "name": "demand",
+ "required": true,
+ "schema": {
+ "description": "总需水量(m³/h)",
+ "exclusiveMinimum": 0.0,
+ "title": "Demand",
+ "type": "number"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "additionalProperties": {
+ "type": "number"
+ },
+ "title": "Response Post Demands To Network",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "计算需水量到整网分配",
+ "tags": [
+ "Demands"
+ ]
+ }
+ },
+ "/api/v1/demands/to-nodes": {
+ "post": {
+ "description": "将总需水量按指定方式分配到多个节点",
+ "operationId": "post_demands_to_nodes",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "additionalProperties": {
+ "type": "number"
+ },
+ "title": "Response Post Demands To Nodes",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "计算需水量到节点分配",
+ "tags": [
+ "Demands"
+ ]
+ }
+ },
+ "/api/v1/demands/to-region": {
+ "post": {
+ "description": "将总需水量按区域特征分配到该区域内的节点",
+ "operationId": "post_demands_to_region",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "additionalProperties": {
+ "type": "number"
+ },
+ "title": "Response Post Demands To Region",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "计算需水量到区域分配",
+ "tags": [
+ "Demands"
+ ]
+ }
+ },
+ "/api/v1/district-metering-area-generation-runs": {
+ "post": {
+ "description": "根据参数自动生成水网的DMA分区方案",
+ "operationId": "post_district_metering_area_generation_runs",
+ "parameters": [
+ {
+ "description": "分区数量",
+ "in": "query",
+ "name": "part_count",
+ "required": true,
+ "schema": {
+ "description": "分区数量",
+ "exclusiveMinimum": 0,
+ "title": "Part Count",
+ "type": "integer"
+ }
+ },
+ {
+ "description": "分区类型",
+ "in": "query",
+ "name": "part_type",
+ "required": true,
+ "schema": {
+ "description": "分区类型",
+ "title": "Part Type",
+ "type": "integer"
+ }
+ },
+ {
+ "description": "膨胀参数",
+ "in": "query",
+ "name": "inflate_delta",
+ "required": true,
+ "schema": {
+ "description": "膨胀参数",
+ "title": "Inflate Delta",
+ "type": "number"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "生成DMA分区",
+ "tags": [
+ "Regions & DMAs"
+ ]
+ }
+ },
+ "/api/v1/district-metering-areas": {
+ "delete": {
+ "description": "删除指定的区域计量(DMA)",
+ "operationId": "delete_district_metering_areas",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "删除DMA",
+ "tags": [
+ "Regions & DMAs"
+ ]
+ },
+ "get": {
+ "description": "获取指定水网中所有DMA的详细信息",
+ "operationId": "get_district_metering_areas",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "default": 100,
+ "maximum": 1000,
+ "minimum": 1,
+ "title": "Limit",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "query",
+ "name": "offset",
+ "required": false,
+ "schema": {
+ "default": 0,
+ "minimum": 0,
+ "title": "Offset",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Page_dict_str__Any__"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取所有DMA",
+ "tags": [
+ "Regions & DMAs"
+ ]
+ },
+ "patch": {
+ "description": "修改指定DMA的属性信息",
+ "operationId": "patch_district_metering_areas",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置DMA属性",
+ "tags": [
+ "Regions & DMAs"
+ ]
+ },
+ "post": {
+ "description": "向水网添加一个新的区域计量(DMA)",
+ "operationId": "post_district_metering_areas",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "添加新DMA",
+ "tags": [
+ "Regions & DMAs"
+ ]
+ }
+ },
+ "/api/v1/district-metering-areas/detail": {
+ "get": {
+ "description": "获取指定ID的区域计量(DMA)详细信息",
+ "operationId": "get_district_metering_areas_detail",
+ "parameters": [
+ {
+ "description": "DMA ID",
+ "in": "query",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "description": "DMA ID",
+ "title": "Id",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get District Metering Areas Detail",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取DMA信息",
+ "tags": [
+ "Regions & DMAs"
+ ]
+ }
+ },
+ "/api/v1/district-metering-areas/for-network": {
+ "post": {
+ "description": "为整个水网计算区域计量(DMA)分区方案",
+ "operationId": "post_district_metering_areas_for_network",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "default": 100,
+ "maximum": 1000,
+ "minimum": 1,
+ "title": "Limit",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "query",
+ "name": "offset",
+ "required": false,
+ "schema": {
+ "default": 0,
+ "minimum": 0,
+ "title": "Offset",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Page_list_str__"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "计算整网DMA分区",
+ "tags": [
+ "Regions & DMAs"
+ ]
+ }
+ },
+ "/api/v1/district-metering-areas/for-nodes": {
+ "post": {
+ "description": "为指定节点集计算区域计量(DMA)分区方案",
+ "operationId": "post_district_metering_areas_for_nodes",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "default": 100,
+ "maximum": 1000,
+ "minimum": 1,
+ "title": "Limit",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "query",
+ "name": "offset",
+ "required": false,
+ "schema": {
+ "default": 0,
+ "minimum": 0,
+ "title": "Offset",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Page_list_str__"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "计算节点DMA分区",
+ "tags": [
+ "Regions & DMAs"
+ ]
+ }
+ },
+ "/api/v1/district-metering-areas/for-region": {
+ "post": {
+ "description": "为指定区域计算区域计量(DMA)分区方案",
+ "operationId": "post_district_metering_areas_for_region",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "default": 100,
+ "maximum": 1000,
+ "minimum": 1,
+ "title": "Limit",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "query",
+ "name": "offset",
+ "required": false,
+ "schema": {
+ "default": 0,
+ "minimum": 0,
+ "title": "Offset",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Page_list_str__"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "计算区域内DMA分区",
+ "tags": [
+ "Regions & DMAs"
+ ]
+ }
+ },
+ "/api/v1/district-metering-areas/ids": {
+ "get": {
+ "description": "获取指定水网中所有DMA的ID列表",
+ "operationId": "get_district_metering_areas_ids",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "default": 100,
+ "maximum": 1000,
+ "minimum": 1,
+ "title": "Limit",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "query",
+ "name": "offset",
+ "required": false,
+ "schema": {
+ "default": 0,
+ "minimum": 0,
+ "title": "Offset",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Page_str_"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取所有DMA ID",
+ "tags": [
+ "Regions & DMAs"
+ ]
+ }
+ },
+ "/api/v1/element-properties": {
+ "get": {
+ "description": "获取指定元素的属性信息",
+ "operationId": "get_element_properties",
+ "parameters": [
+ {
+ "description": "元素ID",
+ "in": "query",
+ "name": "element",
+ "required": true,
+ "schema": {
+ "description": "元素ID",
+ "title": "Element",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Element Properties",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取元素属性",
+ "tags": [
+ "Network General"
+ ]
+ }
+ },
+ "/api/v1/element-properties-with-types": {
+ "get": {
+ "description": "获取指定类型的元素属性信息",
+ "operationId": "get_element_properties_with_types",
+ "parameters": [
+ {
+ "description": "元素类型",
+ "in": "query",
+ "name": "elementtype",
+ "required": true,
+ "schema": {
+ "description": "元素类型",
+ "title": "Elementtype",
+ "type": "string"
+ }
+ },
+ {
+ "description": "元素ID",
+ "in": "query",
+ "name": "element",
+ "required": true,
+ "schema": {
+ "description": "元素ID",
+ "title": "Element",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Element Properties With Types",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取指定类型元素属性",
+ "tags": [
+ "Network General"
+ ]
+ }
+ },
+ "/api/v1/element-type-values": {
+ "get": {
+ "description": "获取指定元素的类型数值标识",
+ "operationId": "get_element_type_values",
+ "parameters": [
+ {
+ "description": "元素ID",
+ "in": "query",
+ "name": "element",
+ "required": true,
+ "schema": {
+ "description": "元素ID",
+ "title": "Element",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Element Type Values",
+ "type": "integer"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取元素类型值",
+ "tags": [
+ "Network General"
+ ]
+ }
+ },
+ "/api/v1/element-types": {
+ "get": {
+ "description": "获取指定元素的类型(节点或管线)",
+ "operationId": "get_element_types",
+ "parameters": [
+ {
+ "description": "元素ID",
+ "in": "query",
+ "name": "element",
+ "required": true,
+ "schema": {
+ "description": "元素ID",
+ "title": "Element",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Element Types",
+ "type": "string"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取元素类型",
+ "tags": [
+ "Network General"
+ ]
+ }
+ },
+ "/api/v1/emitters/properties": {
+ "get": {
+ "description": "获取指定连接点的发射器属性信息",
+ "operationId": "get_emitters_properties",
+ "parameters": [
+ {
+ "description": "连接点ID",
+ "in": "query",
+ "name": "junction",
+ "required": true,
+ "schema": {
+ "description": "连接点ID",
+ "title": "Junction",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Emitters Properties",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取发射器属性",
+ "tags": [
+ "Quality"
+ ]
+ },
+ "patch": {
+ "description": "更新指定连接点的发射器属性",
+ "operationId": "patch_emitters_properties",
+ "parameters": [
+ {
+ "description": "连接点ID",
+ "in": "query",
+ "name": "junction",
+ "required": true,
+ "schema": {
+ "description": "连接点ID",
+ "title": "Junction",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置发射器属性",
+ "tags": [
+ "Quality"
+ ]
+ }
+ },
+ "/api/v1/energy-properties": {
+ "patch": {
+ "description": "更新指定网络中的能耗选项属性",
+ "operationId": "patch_energy_properties",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置能耗选项属性",
+ "tags": [
+ "Options"
+ ]
+ }
+ },
+ "/api/v1/extension-datas": {
+ "get": {
+ "description": "获取指定网络中指定键的扩展数据值",
+ "operationId": "get_extension_datas",
+ "parameters": [
+ {
+ "description": "扩展数据键",
+ "in": "query",
+ "name": "key",
+ "required": true,
+ "schema": {
+ "description": "扩展数据键",
+ "title": "Key",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Response Get Extension Datas"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取指定扩展数据",
+ "tags": [
+ "Extension"
+ ]
+ },
+ "patch": {
+ "description": "设置指定网络中的扩展数据",
+ "operationId": "patch_extension_datas",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置扩展数据",
+ "tags": [
+ "Extension"
+ ]
+ }
+ },
+ "/api/v1/flushing-analyses": {
+ "post": {
+ "description": "高级版本的冲洗分析,支持同时开启多个阀门进行冲洗,指定排污节点,并设置固定的冲洗流量。返回纯文本格式的分析结果。",
+ "operationId": "post_flushing_analyses",
+ "parameters": [
+ {
+ "description": "冲洗开始时间(ISO 8601格式)",
+ "in": "query",
+ "name": "start_time",
+ "required": true,
+ "schema": {
+ "description": "冲洗开始时间(ISO 8601格式)",
+ "title": "Start Time",
+ "type": "string"
+ }
+ },
+ {
+ "description": "要开启的阀门ID列表",
+ "in": "query",
+ "name": "valves",
+ "required": true,
+ "schema": {
+ "description": "要开启的阀门ID列表",
+ "items": {
+ "type": "string"
+ },
+ "title": "Valves",
+ "type": "array"
+ }
+ },
+ {
+ "description": "对应各阀门的开度列表(0-1)",
+ "in": "query",
+ "name": "valves_k",
+ "required": true,
+ "schema": {
+ "description": "对应各阀门的开度列表(0-1)",
+ "items": {
+ "type": "number"
+ },
+ "title": "Valves K",
+ "type": "array"
+ }
+ },
+ {
+ "description": "排污节点ID",
+ "in": "query",
+ "name": "drainage_node_id",
+ "required": true,
+ "schema": {
+ "description": "排污节点ID",
+ "title": "Drainage Node Id",
+ "type": "string"
+ }
+ },
+ {
+ "description": "冲洗流量(L/s),0表示自动计算",
+ "in": "query",
+ "name": "flush_flow",
+ "required": false,
+ "schema": {
+ "default": 0,
+ "description": "冲洗流量(L/s),0表示自动计算",
+ "title": "Flush Flow",
+ "type": "number"
+ }
+ },
+ {
+ "description": "模拟持续时间(秒),默认900秒",
+ "in": "query",
+ "name": "duration",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "模拟持续时间(秒),默认900秒",
+ "title": "Duration"
+ }
+ },
+ {
+ "description": "冲洗方案名称",
+ "in": "query",
+ "name": "scheme_name",
+ "required": true,
+ "schema": {
+ "description": "冲洗方案名称",
+ "title": "Scheme Name",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "text/plain": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "text/plain": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "text/plain": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "text/plain": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "text/plain": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "text/plain": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "text/plain": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "冲洗分析(高级)",
+ "tags": [
+ "Simulation Control"
+ ]
+ }
+ },
+ "/api/v1/geocoding-requests": {
+ "post": {
+ "description": "调用天地图地理编码服务,将结构化地址转换为经纬度",
+ "operationId": "post_geocoding_requests",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TiandituGeocodeRequest"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Post Geocoding Requests",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "Tianditu Geocoding",
+ "tags": [
+ "Geocoding"
+ ]
+ }
+ },
+ "/api/v1/inp-runs": {
+ "post": {
+ "description": "运行指定INP文件格式的管网模型进行水力模拟。INP文件应该放在inp文件夹中,参数为文件名不含扩展名。",
+ "operationId": "post_inp_runs",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Post Inp Runs",
+ "type": "string"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "运行INP文件",
+ "tags": [
+ "Simulation Control"
+ ]
+ }
+ },
+ "/api/v1/junctions": {
+ "delete": {
+ "description": "从供水网络中删除指定的节点。",
+ "operationId": "delete_junctions",
+ "parameters": [
+ {
+ "description": "节点 ID",
+ "in": "query",
+ "name": "junction",
+ "required": true,
+ "schema": {
+ "description": "节点 ID",
+ "title": "Junction",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "删除节点",
+ "tags": [
+ "Junctions"
+ ]
+ },
+ "get": {
+ "description": "获取指定项目中所有节点的属性信息。",
+ "operationId": "get_junctions",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "default": 100,
+ "maximum": 1000,
+ "minimum": 1,
+ "title": "Limit",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "query",
+ "name": "offset",
+ "required": false,
+ "schema": {
+ "default": 0,
+ "minimum": 0,
+ "title": "Offset",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Page_dict_str__Any__"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取所有节点属性",
+ "tags": [
+ "Junctions"
+ ]
+ },
+ "post": {
+ "description": "在供水网络中添加新的节点,指定节点ID和空间坐标。",
+ "operationId": "post_junctions",
+ "parameters": [
+ {
+ "description": "节点 ID",
+ "in": "query",
+ "name": "junction",
+ "required": true,
+ "schema": {
+ "description": "节点 ID",
+ "title": "Junction",
+ "type": "string"
+ }
+ },
+ {
+ "description": "X 坐标",
+ "in": "query",
+ "name": "x",
+ "required": true,
+ "schema": {
+ "description": "X 坐标",
+ "title": "X",
+ "type": "number"
+ }
+ },
+ {
+ "description": "Y 坐标",
+ "in": "query",
+ "name": "y",
+ "required": true,
+ "schema": {
+ "description": "Y 坐标",
+ "title": "Y",
+ "type": "number"
+ }
+ },
+ {
+ "description": "标高(海拔高度)",
+ "in": "query",
+ "name": "z",
+ "required": true,
+ "schema": {
+ "description": "标高(海拔高度)",
+ "title": "Z",
+ "type": "number"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "添加节点",
+ "tags": [
+ "Junctions"
+ ]
+ }
+ },
+ "/api/v1/junctions/coord": {
+ "get": {
+ "description": "获取指定节点的 X 和 Y 坐标。",
+ "operationId": "get_junctions_coord",
+ "parameters": [
+ {
+ "description": "节点 ID",
+ "in": "query",
+ "name": "junction",
+ "required": true,
+ "schema": {
+ "description": "节点 ID",
+ "title": "Junction",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "additionalProperties": {
+ "type": "number"
+ },
+ "title": "Response Get Junctions Coord",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取节点坐标",
+ "tags": [
+ "Junctions"
+ ]
+ },
+ "patch": {
+ "description": "设置指定节点的 X 和 Y 坐标。",
+ "operationId": "patch_junctions_coord",
+ "parameters": [
+ {
+ "description": "节点 ID",
+ "in": "query",
+ "name": "junction",
+ "required": true,
+ "schema": {
+ "description": "节点 ID",
+ "title": "Junction",
+ "type": "string"
+ }
+ },
+ {
+ "description": "X 坐标值",
+ "in": "query",
+ "name": "x",
+ "required": true,
+ "schema": {
+ "description": "X 坐标值",
+ "title": "X",
+ "type": "number"
+ }
+ },
+ {
+ "description": "Y 坐标值",
+ "in": "query",
+ "name": "y",
+ "required": true,
+ "schema": {
+ "description": "Y 坐标值",
+ "title": "Y",
+ "type": "number"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置节点坐标",
+ "tags": [
+ "Junctions"
+ ]
+ }
+ },
+ "/api/v1/junctions/demand": {
+ "get": {
+ "description": "获取指定节点的需水量。",
+ "operationId": "get_junctions_demand",
+ "parameters": [
+ {
+ "description": "节点 ID",
+ "in": "query",
+ "name": "junction",
+ "required": true,
+ "schema": {
+ "description": "节点 ID",
+ "title": "Junction",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Junctions Demand",
+ "type": "number"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取节点需水量",
+ "tags": [
+ "Junctions"
+ ]
+ },
+ "patch": {
+ "description": "设置指定节点的需水量。",
+ "operationId": "patch_junctions_demand",
+ "parameters": [
+ {
+ "description": "节点 ID",
+ "in": "query",
+ "name": "junction",
+ "required": true,
+ "schema": {
+ "description": "节点 ID",
+ "title": "Junction",
+ "type": "string"
+ }
+ },
+ {
+ "description": "需水量值",
+ "in": "query",
+ "name": "demand",
+ "required": true,
+ "schema": {
+ "description": "需水量值",
+ "title": "Demand",
+ "type": "number"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置节点需水量",
+ "tags": [
+ "Junctions"
+ ]
+ }
+ },
+ "/api/v1/junctions/elevation": {
+ "get": {
+ "description": "获取指定节点的标高(海拔高度)。",
+ "operationId": "get_junctions_elevation",
+ "parameters": [
+ {
+ "description": "节点 ID",
+ "in": "query",
+ "name": "junction",
+ "required": true,
+ "schema": {
+ "description": "节点 ID",
+ "title": "Junction",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Junctions Elevation",
+ "type": "number"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取节点标高",
+ "tags": [
+ "Junctions"
+ ]
+ },
+ "patch": {
+ "description": "设置指定节点的标高值。",
+ "operationId": "patch_junctions_elevation",
+ "parameters": [
+ {
+ "description": "节点 ID",
+ "in": "query",
+ "name": "junction",
+ "required": true,
+ "schema": {
+ "description": "节点 ID",
+ "title": "Junction",
+ "type": "string"
+ }
+ },
+ {
+ "description": "标高(海拔高度)",
+ "in": "query",
+ "name": "elevation",
+ "required": true,
+ "schema": {
+ "description": "标高(海拔高度)",
+ "title": "Elevation",
+ "type": "number"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置节点标高",
+ "tags": [
+ "Junctions"
+ ]
+ }
+ },
+ "/api/v1/junctions/existence": {
+ "get": {
+ "description": "检查指定ID是否为水网中的接点(需求点)",
+ "operationId": "get_junctions_existence",
+ "parameters": [
+ {
+ "description": "节点ID",
+ "in": "query",
+ "name": "node",
+ "required": true,
+ "schema": {
+ "description": "节点ID",
+ "title": "Node",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Junctions Existence",
+ "type": "boolean"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "检查是否为接点",
+ "tags": [
+ "Network General"
+ ]
+ }
+ },
+ "/api/v1/junctions/pattern": {
+ "get": {
+ "description": "获取指定节点的需水模式标识。",
+ "operationId": "get_junctions_pattern",
+ "parameters": [
+ {
+ "description": "节点 ID",
+ "in": "query",
+ "name": "junction",
+ "required": true,
+ "schema": {
+ "description": "节点 ID",
+ "title": "Junction",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Junctions Pattern",
+ "type": "string"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取节点需水模式",
+ "tags": [
+ "Junctions"
+ ]
+ },
+ "patch": {
+ "description": "设置指定节点的需水模式标识。",
+ "operationId": "patch_junctions_pattern",
+ "parameters": [
+ {
+ "description": "节点 ID",
+ "in": "query",
+ "name": "junction",
+ "required": true,
+ "schema": {
+ "description": "节点 ID",
+ "title": "Junction",
+ "type": "string"
+ }
+ },
+ {
+ "description": "需水模式标识",
+ "in": "query",
+ "name": "pattern",
+ "required": true,
+ "schema": {
+ "description": "需水模式标识",
+ "title": "Pattern",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置节点需水模式",
+ "tags": [
+ "Junctions"
+ ]
+ }
+ },
+ "/api/v1/junctions/properties": {
+ "get": {
+ "description": "获取指定节点的所有属性信息。",
+ "operationId": "get_junctions_properties",
+ "parameters": [
+ {
+ "description": "节点 ID",
+ "in": "query",
+ "name": "junction",
+ "required": true,
+ "schema": {
+ "description": "节点 ID",
+ "title": "Junction",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Junctions Properties",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取节点属性",
+ "tags": [
+ "Junctions"
+ ]
+ },
+ "patch": {
+ "description": "批量设置指定节点的多个属性。",
+ "operationId": "patch_junctions_properties",
+ "parameters": [
+ {
+ "description": "节点 ID",
+ "in": "query",
+ "name": "junction",
+ "required": true,
+ "schema": {
+ "description": "节点 ID",
+ "title": "Junction",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "批量设置节点属性",
+ "tags": [
+ "Junctions"
+ ]
+ }
+ },
+ "/api/v1/junctions/x": {
+ "get": {
+ "description": "获取指定节点的 X 坐标值。",
+ "operationId": "get_junctions_x",
+ "parameters": [
+ {
+ "description": "节点 ID",
+ "in": "query",
+ "name": "junction",
+ "required": true,
+ "schema": {
+ "description": "节点 ID",
+ "title": "Junction",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Junctions X",
+ "type": "number"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取节点 X 坐标",
+ "tags": [
+ "Junctions"
+ ]
+ },
+ "patch": {
+ "description": "设置指定节点的 X 坐标值。",
+ "operationId": "patch_junctions_x",
+ "parameters": [
+ {
+ "description": "节点 ID",
+ "in": "query",
+ "name": "junction",
+ "required": true,
+ "schema": {
+ "description": "节点 ID",
+ "title": "Junction",
+ "type": "string"
+ }
+ },
+ {
+ "description": "X 坐标值",
+ "in": "query",
+ "name": "x",
+ "required": true,
+ "schema": {
+ "description": "X 坐标值",
+ "title": "X",
+ "type": "number"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置节点 X 坐标",
+ "tags": [
+ "Junctions"
+ ]
+ }
+ },
+ "/api/v1/junctions/y": {
+ "get": {
+ "description": "获取指定节点的 Y 坐标值。",
+ "operationId": "get_junctions_y",
+ "parameters": [
+ {
+ "description": "节点 ID",
+ "in": "query",
+ "name": "junction",
+ "required": true,
+ "schema": {
+ "description": "节点 ID",
+ "title": "Junction",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Junctions Y",
+ "type": "number"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取节点 Y 坐标",
+ "tags": [
+ "Junctions"
+ ]
+ },
+ "patch": {
+ "description": "设置指定节点的 Y 坐标值。",
+ "operationId": "patch_junctions_y",
+ "parameters": [
+ {
+ "description": "节点 ID",
+ "in": "query",
+ "name": "junction",
+ "required": true,
+ "schema": {
+ "description": "节点 ID",
+ "title": "Junction",
+ "type": "string"
+ }
+ },
+ {
+ "description": "Y 坐标值",
+ "in": "query",
+ "name": "y",
+ "required": true,
+ "schema": {
+ "description": "Y 坐标值",
+ "title": "Y",
+ "type": "number"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置节点 Y 坐标",
+ "tags": [
+ "Junctions"
+ ]
+ }
+ },
+ "/api/v1/labels": {
+ "delete": {
+ "description": "从网络中删除指定的标签",
+ "operationId": "delete_labels",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "删除标签",
+ "tags": [
+ "Visuals"
+ ]
+ },
+ "post": {
+ "description": "在网络中添加一个新的标签",
+ "operationId": "post_labels",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "添加标签",
+ "tags": [
+ "Visuals"
+ ]
+ }
+ },
+ "/api/v1/labels/properties": {
+ "get": {
+ "description": "获取指定坐标处的标签属性信息",
+ "operationId": "get_labels_properties",
+ "parameters": [
+ {
+ "description": "X坐标",
+ "in": "query",
+ "name": "x",
+ "required": true,
+ "schema": {
+ "description": "X坐标",
+ "title": "X",
+ "type": "number"
+ }
+ },
+ {
+ "description": "Y坐标",
+ "in": "query",
+ "name": "y",
+ "required": true,
+ "schema": {
+ "description": "Y坐标",
+ "title": "Y",
+ "type": "number"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Labels Properties",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取标签属性",
+ "tags": [
+ "Visuals"
+ ]
+ },
+ "patch": {
+ "description": "更新指定标签的属性",
+ "operationId": "patch_labels_properties",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置标签属性",
+ "tags": [
+ "Visuals"
+ ]
+ }
+ },
+ "/api/v1/leakage-identifications": {
+ "post": {
+ "description": "基于压力观测数据和遗传算法识别管网中的漏损位置和大小",
+ "operationId": "post_leakage_identifications",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/LeakageIdentifyRequestRest",
+ "description": "漏损识别请求数据"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Post Leakage Identifications",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "执行漏损识别",
+ "tags": [
+ "Leakage"
+ ]
+ }
+ },
+ "/api/v1/link-properties": {
+ "get": {
+ "description": "获取指定管线的所有属性信息",
+ "operationId": "get_link_properties",
+ "parameters": [
+ {
+ "description": "管线ID",
+ "in": "query",
+ "name": "link",
+ "required": true,
+ "schema": {
+ "description": "管线ID",
+ "title": "Link",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Link Properties",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取管线属性",
+ "tags": [
+ "Network General"
+ ]
+ }
+ },
+ "/api/v1/link-types": {
+ "get": {
+ "description": "获取指定管线的类型(管道/泵/阀门)",
+ "operationId": "get_link_types",
+ "parameters": [
+ {
+ "description": "管线ID",
+ "in": "query",
+ "name": "link",
+ "required": true,
+ "schema": {
+ "description": "管线ID",
+ "title": "Link",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Link Types",
+ "type": "string"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取管线类型",
+ "tags": [
+ "Network General"
+ ]
+ }
+ },
+ "/api/v1/links": {
+ "delete": {
+ "description": "删除指定的管线(管道/泵/阀门)",
+ "operationId": "delete_links",
+ "parameters": [
+ {
+ "description": "管线ID",
+ "in": "query",
+ "name": "link",
+ "required": true,
+ "schema": {
+ "description": "管线ID",
+ "title": "Link",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "删除管线",
+ "tags": [
+ "Network General"
+ ]
+ },
+ "get": {
+ "description": "获取指定水网中的所有管线ID列表",
+ "operationId": "get_links",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "default": 100,
+ "maximum": 1000,
+ "minimum": 1,
+ "title": "Limit",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "query",
+ "name": "offset",
+ "required": false,
+ "schema": {
+ "default": 0,
+ "minimum": 0,
+ "title": "Offset",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Page_str_"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取所有管线",
+ "tags": [
+ "Network General"
+ ]
+ }
+ },
+ "/api/v1/links/existence": {
+ "get": {
+ "description": "检查指定ID是否为水网中的有效管线",
+ "operationId": "get_links_existence",
+ "parameters": [
+ {
+ "description": "管线ID",
+ "in": "query",
+ "name": "link",
+ "required": true,
+ "schema": {
+ "description": "管线ID",
+ "title": "Link",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Links Existence",
+ "type": "boolean"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "检查管线有效性",
+ "tags": [
+ "Network General"
+ ]
+ }
+ },
+ "/api/v1/major-pipe-nodes": {
+ "get": {
+ "description": "获取直径大于等于指定值的管道的节点ID",
+ "operationId": "get_major_pipe_nodes",
+ "parameters": [
+ {
+ "description": "最小直径(mm)",
+ "in": "query",
+ "name": "diameter",
+ "required": true,
+ "schema": {
+ "description": "最小直径(mm)",
+ "exclusiveMinimum": 0,
+ "title": "Diameter",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "anyOf": [
+ {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Response Get Major Pipe Nodes"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取主要管道节点",
+ "tags": [
+ "Geometry & Coordinates"
+ ]
+ }
+ },
+ "/api/v1/majornode-coords": {
+ "get": {
+ "description": "获取直径大于等于指定值的节点坐标",
+ "operationId": "get_majornode_coords",
+ "parameters": [
+ {
+ "description": "最小直径(mm)",
+ "in": "query",
+ "name": "diameter",
+ "required": true,
+ "schema": {
+ "description": "最小直径(mm)",
+ "exclusiveMinimum": 0,
+ "title": "Diameter",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "additionalProperties": {
+ "additionalProperties": {
+ "type": "number"
+ },
+ "type": "object"
+ },
+ "title": "Response Get Majornode Coords",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取主要节点坐标",
+ "tags": [
+ "Geometry & Coordinates"
+ ]
+ }
+ },
+ "/api/v1/mixing-configurations": {
+ "delete": {
+ "description": "从网络中删除指定的混合",
+ "operationId": "delete_mixing_configurations",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "删除混合",
+ "tags": [
+ "Quality"
+ ]
+ },
+ "patch": {
+ "description": "更新指定水池的混合属性",
+ "operationId": "patch_mixing_configurations",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置混合属性",
+ "tags": [
+ "Quality"
+ ]
+ },
+ "post": {
+ "description": "在网络中添加一个新的混合",
+ "operationId": "post_mixing_configurations",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "添加混合",
+ "tags": [
+ "Quality"
+ ]
+ }
+ },
+ "/api/v1/mixing-configurations/detail": {
+ "get": {
+ "description": "获取指定水池的混合属性信息",
+ "operationId": "get_mixing_configurations_detail",
+ "parameters": [
+ {
+ "description": "水池ID",
+ "in": "query",
+ "name": "tank",
+ "required": true,
+ "schema": {
+ "description": "水池ID",
+ "title": "Tank",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Mixing Configurations Detail",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取混合属性",
+ "tags": [
+ "Quality"
+ ]
+ }
+ },
+ "/api/v1/network-command-batches": {
+ "post": {
+ "description": "执行多个网络操作命令",
+ "operationId": "post_network_command_batches",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "执行批量命令",
+ "tags": [
+ "Snapshots"
+ ]
+ }
+ },
+ "/api/v1/network-command-batches/compressed": {
+ "post": {
+ "description": "执行压缩的批量命令",
+ "operationId": "post_network_command_batches_compressed",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "执行压缩批量命令",
+ "tags": [
+ "Snapshots"
+ ]
+ }
+ },
+ "/api/v1/network-in-extents": {
+ "get": {
+ "description": "获取指定地理范围内的网络节点和管线",
+ "operationId": "get_network_in_extents",
+ "parameters": [
+ {
+ "description": "范围左下角X坐标",
+ "in": "query",
+ "name": "x1",
+ "required": true,
+ "schema": {
+ "description": "范围左下角X坐标",
+ "title": "X1",
+ "type": "number"
+ }
+ },
+ {
+ "description": "范围左下角Y坐标",
+ "in": "query",
+ "name": "y1",
+ "required": true,
+ "schema": {
+ "description": "范围左下角Y坐标",
+ "title": "Y1",
+ "type": "number"
+ }
+ },
+ {
+ "description": "范围右上角X坐标",
+ "in": "query",
+ "name": "x2",
+ "required": true,
+ "schema": {
+ "description": "范围右上角X坐标",
+ "title": "X2",
+ "type": "number"
+ }
+ },
+ {
+ "description": "范围右上角Y坐标",
+ "in": "query",
+ "name": "y2",
+ "required": true,
+ "schema": {
+ "description": "范围右上角Y坐标",
+ "title": "Y2",
+ "type": "number"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Network In Extents",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取范围内的网络元素",
+ "tags": [
+ "Geometry & Coordinates"
+ ]
+ }
+ },
+ "/api/v1/network-link-nodes": {
+ "get": {
+ "description": "获取指定水网所有管线的起点和终点节点",
+ "operationId": "get_network_link_nodes",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "anyOf": [
+ {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Response Get Network Link Nodes"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取网络管线节点",
+ "tags": [
+ "Geometry & Coordinates"
+ ]
+ }
+ },
+ "/api/v1/network-options": {
+ "get": {
+ "description": "获取指定网络中的选项属性信息",
+ "operationId": "get_network_options",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Network Options",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取选项属性",
+ "tags": [
+ "Options"
+ ]
+ },
+ "patch": {
+ "description": "更新指定网络中的选项属性",
+ "operationId": "patch_network_options",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置选项属性",
+ "tags": [
+ "Options"
+ ]
+ }
+ },
+ "/api/v1/network-options/energy": {
+ "get": {
+ "description": "获取指定网络中的能耗选项属性信息",
+ "operationId": "get_network_options_energy",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Network Options Energy",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取能耗选项属性",
+ "tags": [
+ "Options"
+ ]
+ }
+ },
+ "/api/v1/network-options/pump-energy": {
+ "get": {
+ "description": "获取指定泵的能耗属性信息",
+ "operationId": "get_network_options_pump_energy",
+ "parameters": [
+ {
+ "description": "泵ID",
+ "in": "query",
+ "name": "pump",
+ "required": true,
+ "schema": {
+ "description": "泵ID",
+ "title": "Pump",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Network Options Pump Energy",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取泵能耗属性",
+ "tags": [
+ "Options"
+ ]
+ },
+ "patch": {
+ "description": "更新指定泵的能耗属性",
+ "operationId": "patch_network_options_pump_energy",
+ "parameters": [
+ {
+ "description": "泵ID",
+ "in": "query",
+ "name": "pump",
+ "required": true,
+ "schema": {
+ "description": "泵ID",
+ "title": "Pump",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置泵能耗属性",
+ "tags": [
+ "Options"
+ ]
+ }
+ },
+ "/api/v1/network-options/time": {
+ "get": {
+ "description": "获取指定网络中的时间选项属性信息",
+ "operationId": "get_network_options_time",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Network Options Time",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取时间选项属性",
+ "tags": [
+ "Options"
+ ]
+ }
+ },
+ "/api/v1/network-pipe-risk-probability-nows": {
+ "get": {
+ "description": "获取指定网络中所有管道的当前风险概率值",
+ "operationId": "get_network_pipe_risk_probability_nows",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "default": 100,
+ "maximum": 1000,
+ "minimum": 1,
+ "title": "Limit",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "query",
+ "name": "offset",
+ "required": false,
+ "schema": {
+ "default": 0,
+ "minimum": 0,
+ "title": "Offset",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Page_dict_str__Any__"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取整个网络的管道风险概率",
+ "tags": [
+ "Risk"
+ ]
+ }
+ },
+ "/api/v1/network-schemas/backdrop": {
+ "get": {
+ "description": "获取网络中背景对象的架构定义",
+ "operationId": "get_network_schemas_backdrop",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "additionalProperties": {
+ "type": "object"
+ },
+ "title": "Response Get Network Schemas Backdrop",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取背景架构",
+ "tags": [
+ "Visuals"
+ ]
+ }
+ },
+ "/api/v1/network-schemas/control": {
+ "get": {
+ "description": "获取网络中控制对象的架构定义",
+ "operationId": "get_network_schemas_control",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "additionalProperties": {
+ "type": "object"
+ },
+ "title": "Response Get Network Schemas Control",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取控制架构",
+ "tags": [
+ "Controls & Rules"
+ ]
+ }
+ },
+ "/api/v1/network-schemas/curve": {
+ "get": {
+ "description": "获取网络中曲线对象的架构定义",
+ "operationId": "get_network_schemas_curve",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "additionalProperties": {
+ "type": "object"
+ },
+ "title": "Response Get Network Schemas Curve",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取曲线架构",
+ "tags": [
+ "Curves"
+ ]
+ }
+ },
+ "/api/v1/network-schemas/demand": {
+ "get": {
+ "description": "获取指定水网中需水量(Demand)的属性架构定义",
+ "operationId": "get_network_schemas_demand",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "additionalProperties": {
+ "type": "object"
+ },
+ "title": "Response Get Network Schemas Demand",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取需水量属性架构",
+ "tags": [
+ "Demands"
+ ]
+ }
+ },
+ "/api/v1/network-schemas/district-metering-area": {
+ "get": {
+ "description": "获取指定水网的区域计量(DMA)属性架构定义",
+ "operationId": "get_network_schemas_district_metering_area",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "additionalProperties": {
+ "type": "object"
+ },
+ "title": "Response Get Network Schemas District Metering Area",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取DMA属性架构",
+ "tags": [
+ "Regions & DMAs"
+ ]
+ }
+ },
+ "/api/v1/network-schemas/emitter": {
+ "get": {
+ "description": "获取网络中发射器对象的架构定义",
+ "operationId": "get_network_schemas_emitter",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "additionalProperties": {
+ "type": "object"
+ },
+ "title": "Response Get Network Schemas Emitter",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取发射器架构",
+ "tags": [
+ "Quality"
+ ]
+ }
+ },
+ "/api/v1/network-schemas/energy": {
+ "get": {
+ "description": "获取网络中能耗选项的架构定义",
+ "operationId": "get_network_schemas_energy",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "additionalProperties": {
+ "type": "object"
+ },
+ "title": "Response Get Network Schemas Energy",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取能耗选项架构",
+ "tags": [
+ "Options"
+ ]
+ }
+ },
+ "/api/v1/network-schemas/junction": {
+ "get": {
+ "description": "获取指定项目的节点属性架构和数据类型定义。",
+ "operationId": "get_network_schemas_junction",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "additionalProperties": {
+ "type": "object"
+ },
+ "title": "Response Get Network Schemas Junction",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取节点架构",
+ "tags": [
+ "Junctions"
+ ]
+ }
+ },
+ "/api/v1/network-schemas/label": {
+ "get": {
+ "description": "获取网络中标签对象的架构定义",
+ "operationId": "get_network_schemas_label",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "additionalProperties": {
+ "type": "object"
+ },
+ "title": "Response Get Network Schemas Label",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取标签架构",
+ "tags": [
+ "Visuals"
+ ]
+ }
+ },
+ "/api/v1/network-schemas/mixing": {
+ "get": {
+ "description": "获取网络中混合对象的架构定义",
+ "operationId": "get_network_schemas_mixing",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "additionalProperties": {
+ "type": "object"
+ },
+ "title": "Response Get Network Schemas Mixing",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取混合架构",
+ "tags": [
+ "Quality"
+ ]
+ }
+ },
+ "/api/v1/network-schemas/option": {
+ "get": {
+ "description": "获取网络中选项对象的架构定义",
+ "operationId": "get_network_schemas_option",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "additionalProperties": {
+ "type": "object"
+ },
+ "title": "Response Get Network Schemas Option",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取选项架构",
+ "tags": [
+ "Options"
+ ]
+ }
+ },
+ "/api/v1/network-schemas/pattern": {
+ "get": {
+ "description": "获取网络中模式对象的架构定义",
+ "operationId": "get_network_schemas_pattern",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "additionalProperties": {
+ "type": "object"
+ },
+ "title": "Response Get Network Schemas Pattern",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取模式架构",
+ "tags": [
+ "Patterns"
+ ]
+ }
+ },
+ "/api/v1/network-schemas/pipe": {
+ "get": {
+ "description": "获取管道对象的模式定义,包含所有可用字段及其类型",
+ "operationId": "get_network_schemas_pipe",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "additionalProperties": {
+ "type": "object"
+ },
+ "title": "Response Get Network Schemas Pipe",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取管道模式",
+ "tags": [
+ "Pipes"
+ ]
+ }
+ },
+ "/api/v1/network-schemas/pipe-reaction": {
+ "get": {
+ "description": "获取网络中管道反应对象的架构定义",
+ "operationId": "get_network_schemas_pipe_reaction",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "additionalProperties": {
+ "type": "object"
+ },
+ "title": "Response Get Network Schemas Pipe Reaction",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取管道反应架构",
+ "tags": [
+ "Quality"
+ ]
+ }
+ },
+ "/api/v1/network-schemas/pump": {
+ "get": {
+ "description": "获取水泵对象的模式定义,包含所有可用字段及其类型",
+ "operationId": "get_network_schemas_pump",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "additionalProperties": {
+ "type": "object"
+ },
+ "title": "Response Get Network Schemas Pump",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取水泵模式",
+ "tags": [
+ "Pumps"
+ ]
+ }
+ },
+ "/api/v1/network-schemas/pump-energy": {
+ "get": {
+ "description": "获取网络中泵能耗选项的架构定义",
+ "operationId": "get_network_schemas_pump_energy",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "additionalProperties": {
+ "type": "object"
+ },
+ "title": "Response Get Network Schemas Pump Energy",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取泵能耗选项架构",
+ "tags": [
+ "Options"
+ ]
+ }
+ },
+ "/api/v1/network-schemas/quality": {
+ "get": {
+ "description": "获取网络中水质对象的架构定义",
+ "operationId": "get_network_schemas_quality",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "additionalProperties": {
+ "type": "object"
+ },
+ "title": "Response Get Network Schemas Quality",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取水质架构",
+ "tags": [
+ "Quality"
+ ]
+ }
+ },
+ "/api/v1/network-schemas/reaction": {
+ "get": {
+ "description": "获取网络中反应对象的架构定义",
+ "operationId": "get_network_schemas_reaction",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "additionalProperties": {
+ "type": "object"
+ },
+ "title": "Response Get Network Schemas Reaction",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取反应架构",
+ "tags": [
+ "Quality"
+ ]
+ }
+ },
+ "/api/v1/network-schemas/region": {
+ "get": {
+ "description": "获取指定水网的区域属性架构定义",
+ "operationId": "get_network_schemas_region",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "additionalProperties": {
+ "type": "object"
+ },
+ "title": "Response Get Network Schemas Region",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取区域属性架构",
+ "tags": [
+ "Regions & DMAs"
+ ]
+ }
+ },
+ "/api/v1/network-schemas/reservoir": {
+ "get": {
+ "description": "获取指定供水网络中所有水库的模式/属性字段定义",
+ "operationId": "get_network_schemas_reservoir",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "additionalProperties": {
+ "type": "object"
+ },
+ "title": "Response Get Network Schemas Reservoir",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取水库模式",
+ "tags": [
+ "Reservoirs"
+ ]
+ }
+ },
+ "/api/v1/network-schemas/scada-device": {
+ "get": {
+ "description": "获取SCADA设备的数据架构\n\n返回SCADA设备表的字段定义和类型信息。\n\nArgs:\n network: 管网名称(或数据库名称)\n \nReturns:\n SCADA设备的字段架构信息",
+ "operationId": "get_network_schemas_scada_device",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "additionalProperties": {
+ "type": "object"
+ },
+ "title": "Response Get Network Schemas Scada Device",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取SCADA设备架构",
+ "tags": [
+ "SCADA设备"
+ ]
+ }
+ },
+ "/api/v1/network-schemas/scada-device-data": {
+ "get": {
+ "description": "获取SCADA设备数据的表结构\n\n返回SCADA设备数据表的字段定义和类型信息。\n\nArgs:\n network: 管网名称(或数据库名称)\n \nReturns:\n SCADA设备数据的字段架构信息",
+ "operationId": "get_network_schemas_scada_device_data",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "additionalProperties": {
+ "type": "object"
+ },
+ "title": "Response Get Network Schemas Scada Device Data",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取SCADA设备数据架构",
+ "tags": [
+ "SCADA设备数据"
+ ]
+ }
+ },
+ "/api/v1/network-schemas/scada-element": {
+ "get": {
+ "description": "获取SCADA元素映射的表结构\n\n返回SCADA元素映射表的字段定义和类型信息。\n\nArgs:\n network: 管网名称(或数据库名称)\n \nReturns:\n SCADA元素映射的字段架构信息",
+ "operationId": "get_network_schemas_scada_element",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "additionalProperties": {
+ "type": "object"
+ },
+ "title": "Response Get Network Schemas Scada Element",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取SCADA元素架构",
+ "tags": [
+ "SCADA元素映射"
+ ]
+ }
+ },
+ "/api/v1/network-schemas/scheme": {
+ "get": {
+ "description": "获取指定网络的方案模式定义",
+ "operationId": "get_network_schemas_scheme",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "additionalProperties": {
+ "type": "object"
+ },
+ "title": "Response Get Network Schemas Scheme",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取方案模式",
+ "tags": [
+ "Schemes"
+ ]
+ }
+ },
+ "/api/v1/network-schemas/service-area": {
+ "get": {
+ "description": "获取指定水网的服务区属性架构定义",
+ "operationId": "get_network_schemas_service_area",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "additionalProperties": {
+ "type": "object"
+ },
+ "title": "Response Get Network Schemas Service Area",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取服务区属性架构",
+ "tags": [
+ "Regions & DMAs"
+ ]
+ }
+ },
+ "/api/v1/network-schemas/source": {
+ "get": {
+ "description": "获取网络中水源对象的架构定义",
+ "operationId": "get_network_schemas_source",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "additionalProperties": {
+ "type": "object"
+ },
+ "title": "Response Get Network Schemas Source",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取水源架构",
+ "tags": [
+ "Quality"
+ ]
+ }
+ },
+ "/api/v1/network-schemas/tag": {
+ "get": {
+ "description": "获取指定水网的标签(Tag)属性架构定义",
+ "operationId": "get_network_schemas_tag",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "additionalProperties": {
+ "type": "object"
+ },
+ "title": "Response Get Network Schemas Tag",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取标签属性架构",
+ "tags": [
+ "Tags"
+ ]
+ }
+ },
+ "/api/v1/network-schemas/tank": {
+ "get": {
+ "description": "获取指定网络的水箱数据结构模式定义",
+ "operationId": "get_network_schemas_tank",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "additionalProperties": {
+ "type": "object"
+ },
+ "title": "Response Get Network Schemas Tank",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取水箱模式",
+ "tags": [
+ "Tanks"
+ ]
+ }
+ },
+ "/api/v1/network-schemas/tank-reaction": {
+ "get": {
+ "description": "获取网络中水池反应对象的架构定义",
+ "operationId": "get_network_schemas_tank_reaction",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "additionalProperties": {
+ "type": "object"
+ },
+ "title": "Response Get Network Schemas Tank Reaction",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取水池反应架构",
+ "tags": [
+ "Quality"
+ ]
+ }
+ },
+ "/api/v1/network-schemas/time": {
+ "get": {
+ "description": "获取网络中时间选项的架构定义",
+ "operationId": "get_network_schemas_time",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "additionalProperties": {
+ "type": "object"
+ },
+ "title": "Response Get Network Schemas Time",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取时间选项架构",
+ "tags": [
+ "Options"
+ ]
+ }
+ },
+ "/api/v1/network-schemas/user": {
+ "get": {
+ "description": "获取指定网络的用户模式定义",
+ "operationId": "get_network_schemas_user",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "additionalProperties": {
+ "type": "object"
+ },
+ "title": "Response Get Network Schemas User",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取用户模式",
+ "tags": [
+ "Users"
+ ]
+ }
+ },
+ "/api/v1/network-schemas/valve": {
+ "get": {
+ "description": "获取指定水网中所有阀门的架构和字段定义",
+ "operationId": "get_network_schemas_valve",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "additionalProperties": {
+ "type": "object"
+ },
+ "title": "Response Get Network Schemas Valve",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取阀门架构",
+ "tags": [
+ "Valves"
+ ]
+ }
+ },
+ "/api/v1/network-schemas/vertex": {
+ "get": {
+ "description": "获取网络中图形元素对象的架构定义",
+ "operationId": "get_network_schemas_vertex",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "additionalProperties": {
+ "type": "object"
+ },
+ "title": "Response Get Network Schemas Vertex",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取图形元素架构",
+ "tags": [
+ "Visuals"
+ ]
+ }
+ },
+ "/api/v1/network-schemas/virtual-district": {
+ "get": {
+ "description": "获取指定水网的虚拟分区属性架构定义",
+ "operationId": "get_network_schemas_virtual_district",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "additionalProperties": {
+ "type": "object"
+ },
+ "title": "Response Get Network Schemas Virtual District",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取虚拟分区属性架构",
+ "tags": [
+ "Regions & DMAs"
+ ]
+ }
+ },
+ "/api/v1/node-coords": {
+ "get": {
+ "description": "获取指定节点的地理坐标(X, Y)",
+ "operationId": "get_node_coords",
+ "parameters": [
+ {
+ "description": "节点ID",
+ "in": "query",
+ "name": "node",
+ "required": true,
+ "schema": {
+ "description": "节点ID",
+ "title": "Node",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "number"
+ },
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Response Get Node Coords"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取节点坐标",
+ "tags": [
+ "Geometry & Coordinates"
+ ]
+ }
+ },
+ "/api/v1/node-links": {
+ "get": {
+ "description": "获取指定节点连接的所有管线ID列表",
+ "operationId": "get_node_links",
+ "parameters": [
+ {
+ "description": "节点ID",
+ "in": "query",
+ "name": "node",
+ "required": true,
+ "schema": {
+ "description": "节点ID",
+ "title": "Node",
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "default": 100,
+ "maximum": 1000,
+ "minimum": 1,
+ "title": "Limit",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "query",
+ "name": "offset",
+ "required": false,
+ "schema": {
+ "default": 0,
+ "minimum": 0,
+ "title": "Offset",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Page_str_"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取节点的关联管线",
+ "tags": [
+ "Network General"
+ ]
+ }
+ },
+ "/api/v1/node-properties": {
+ "get": {
+ "description": "获取指定节点的所有属性信息",
+ "operationId": "get_node_properties",
+ "parameters": [
+ {
+ "description": "节点ID",
+ "in": "query",
+ "name": "node",
+ "required": true,
+ "schema": {
+ "description": "节点ID",
+ "title": "Node",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Node Properties",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取节点属性",
+ "tags": [
+ "Network General"
+ ]
+ }
+ },
+ "/api/v1/node-types": {
+ "get": {
+ "description": "获取指定节点的类型(接点/水源/蓄水池)",
+ "operationId": "get_node_types",
+ "parameters": [
+ {
+ "description": "节点ID",
+ "in": "query",
+ "name": "node",
+ "required": true,
+ "schema": {
+ "description": "节点ID",
+ "title": "Node",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Node Types",
+ "type": "string"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取节点类型",
+ "tags": [
+ "Network General"
+ ]
+ }
+ },
+ "/api/v1/nodes": {
+ "delete": {
+ "description": "删除指定的节点(接点/水源/蓄水池)",
+ "operationId": "delete_nodes",
+ "parameters": [
+ {
+ "description": "节点ID",
+ "in": "query",
+ "name": "node",
+ "required": true,
+ "schema": {
+ "description": "节点ID",
+ "title": "Node",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "删除节点",
+ "tags": [
+ "Network General"
+ ]
+ },
+ "get": {
+ "description": "获取指定水网中的所有节点ID列表",
+ "operationId": "get_nodes",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "default": 100,
+ "maximum": 1000,
+ "minimum": 1,
+ "title": "Limit",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "query",
+ "name": "offset",
+ "required": false,
+ "schema": {
+ "default": 0,
+ "minimum": 0,
+ "title": "Offset",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Page_str_"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取所有节点",
+ "tags": [
+ "Network General"
+ ]
+ }
+ },
+ "/api/v1/nodes/existence": {
+ "get": {
+ "description": "检查指定ID是否为水网中的有效节点",
+ "operationId": "get_nodes_existence",
+ "parameters": [
+ {
+ "description": "节点ID",
+ "in": "query",
+ "name": "node",
+ "required": true,
+ "schema": {
+ "description": "节点ID",
+ "title": "Node",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Nodes Existence",
+ "type": "boolean"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "检查节点有效性",
+ "tags": [
+ "Network General"
+ ]
+ }
+ },
+ "/api/v1/operations": {
+ "patch": {
+ "description": "选择并恢复到指定的操作",
+ "operationId": "patch_operations",
+ "parameters": [
+ {
+ "description": "操作ID",
+ "in": "query",
+ "name": "operation",
+ "required": true,
+ "schema": {
+ "description": "操作ID",
+ "title": "Operation",
+ "type": "integer"
+ }
+ },
+ {
+ "description": "是否丢弃当前更改",
+ "in": "query",
+ "name": "discard",
+ "required": false,
+ "schema": {
+ "default": false,
+ "description": "是否丢弃当前更改",
+ "title": "Discard",
+ "type": "boolean"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "选择操作",
+ "tags": [
+ "Snapshots"
+ ]
+ }
+ },
+ "/api/v1/outputs": {
+ "get": {
+ "description": "导出指定路径的模拟输出文件内容。参数应为绝对路径。",
+ "operationId": "get_outputs",
+ "parameters": [
+ {
+ "description": "模拟输出文件的绝对路径",
+ "in": "query",
+ "name": "output",
+ "required": true,
+ "schema": {
+ "description": "模拟输出文件的绝对路径",
+ "title": "Output",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Outputs",
+ "type": "string"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "导出模拟输出",
+ "tags": [
+ "Simulation Control"
+ ]
+ }
+ },
+ "/api/v1/patterns": {
+ "delete": {
+ "description": "从网络中删除指定的模式",
+ "operationId": "delete_patterns",
+ "parameters": [
+ {
+ "description": "模式ID",
+ "in": "query",
+ "name": "pattern",
+ "required": true,
+ "schema": {
+ "description": "模式ID",
+ "title": "Pattern",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "删除模式",
+ "tags": [
+ "Patterns"
+ ]
+ },
+ "get": {
+ "description": "获取网络中的所有模式列表",
+ "operationId": "get_patterns",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "default": 100,
+ "maximum": 1000,
+ "minimum": 1,
+ "title": "Limit",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "query",
+ "name": "offset",
+ "required": false,
+ "schema": {
+ "default": 0,
+ "minimum": 0,
+ "title": "Offset",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Page_str_"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取所有模式",
+ "tags": [
+ "Patterns"
+ ]
+ },
+ "post": {
+ "description": "在网络中添加一个新的模式",
+ "operationId": "post_patterns",
+ "parameters": [
+ {
+ "description": "模式ID",
+ "in": "query",
+ "name": "pattern",
+ "required": true,
+ "schema": {
+ "description": "模式ID",
+ "title": "Pattern",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "添加模式",
+ "tags": [
+ "Patterns"
+ ]
+ }
+ },
+ "/api/v1/patterns/existence": {
+ "get": {
+ "description": "检查指定的模式是否存在",
+ "operationId": "get_patterns_existence",
+ "parameters": [
+ {
+ "description": "模式ID",
+ "in": "query",
+ "name": "pattern",
+ "required": true,
+ "schema": {
+ "description": "模式ID",
+ "title": "Pattern",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Patterns Existence",
+ "type": "boolean"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "检查模式存在性",
+ "tags": [
+ "Patterns"
+ ]
+ }
+ },
+ "/api/v1/patterns/properties": {
+ "get": {
+ "description": "获取指定模式的属性信息",
+ "operationId": "get_patterns_properties",
+ "parameters": [
+ {
+ "description": "模式ID",
+ "in": "query",
+ "name": "pattern",
+ "required": true,
+ "schema": {
+ "description": "模式ID",
+ "title": "Pattern",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Patterns Properties",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取模式属性",
+ "tags": [
+ "Patterns"
+ ]
+ },
+ "patch": {
+ "description": "更新指定模式的属性",
+ "operationId": "patch_patterns_properties",
+ "parameters": [
+ {
+ "description": "模式ID",
+ "in": "query",
+ "name": "pattern",
+ "required": true,
+ "schema": {
+ "description": "模式ID",
+ "title": "Pattern",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置模式属性",
+ "tags": [
+ "Patterns"
+ ]
+ }
+ },
+ "/api/v1/pipe-reactions": {
+ "patch": {
+ "description": "更新指定管道的反应属性",
+ "operationId": "patch_pipe_reactions",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置管道反应属性",
+ "tags": [
+ "Quality"
+ ]
+ }
+ },
+ "/api/v1/pipe-reactions/detail": {
+ "get": {
+ "description": "获取指定管道的反应属性信息",
+ "operationId": "get_pipe_reactions_detail",
+ "parameters": [
+ {
+ "description": "管道ID",
+ "in": "query",
+ "name": "pipe",
+ "required": true,
+ "schema": {
+ "description": "管道ID",
+ "title": "Pipe",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Pipe Reactions Detail",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取管道反应属性",
+ "tags": [
+ "Quality"
+ ]
+ }
+ },
+ "/api/v1/pipeline-health-predictions": {
+ "get": {
+ "description": "预测管道健康状况\n\n根据管网名称和当前时间,查询管道信息和实时数据,\n使用随机生存森林模型预测管道的生存概率。\n\nArgs:\n query_time: 查询时间\n network_name: 管网名称(或数据库名称)\n timescale_conn: TimescaleDB连接\n\nReturns:\n 预测结果列表,每个元素包含 link_id 和对应的生存函数\n\nRaises:\n HTTPException: 当模型文件不存在返回404错误,其他错误返回400或500错误",
+ "operationId": "get_pipeline_health_predictions",
+ "parameters": [
+ {
+ "description": "查询时间",
+ "in": "query",
+ "name": "query_time",
+ "required": true,
+ "schema": {
+ "description": "查询时间",
+ "format": "date-time",
+ "title": "Query Time",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "预测管道健康状况",
+ "tags": [
+ "TimescaleDB - Composite"
+ ]
+ }
+ },
+ "/api/v1/pipes": {
+ "delete": {
+ "description": "从网络中删除指定的管道",
+ "operationId": "delete_pipes",
+ "parameters": [
+ {
+ "description": "要删除的管道ID",
+ "in": "query",
+ "name": "pipe",
+ "required": true,
+ "schema": {
+ "description": "要删除的管道ID",
+ "title": "Pipe",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "删除管道",
+ "tags": [
+ "Pipes"
+ ]
+ },
+ "get": {
+ "description": "获取网络中所有管道的属性信息列表",
+ "operationId": "get_pipes",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "default": 100,
+ "maximum": 1000,
+ "minimum": 1,
+ "title": "Limit",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "query",
+ "name": "offset",
+ "required": false,
+ "schema": {
+ "default": 0,
+ "minimum": 0,
+ "title": "Offset",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Page_dict_str__Any__"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取所有管道属性",
+ "tags": [
+ "Pipes"
+ ]
+ },
+ "post": {
+ "description": "向网络中添加新的管道,需要提供管道的基本参数如长度、管径、粗糙度等",
+ "operationId": "post_pipes",
+ "parameters": [
+ {
+ "description": "管道标识符",
+ "in": "query",
+ "name": "pipe",
+ "required": true,
+ "schema": {
+ "description": "管道标识符",
+ "title": "Pipe",
+ "type": "string"
+ }
+ },
+ {
+ "description": "管道起始节点ID",
+ "in": "query",
+ "name": "node1",
+ "required": true,
+ "schema": {
+ "description": "管道起始节点ID",
+ "title": "Node1",
+ "type": "string"
+ }
+ },
+ {
+ "description": "管道终止节点ID",
+ "in": "query",
+ "name": "node2",
+ "required": true,
+ "schema": {
+ "description": "管道终止节点ID",
+ "title": "Node2",
+ "type": "string"
+ }
+ },
+ {
+ "description": "管道长度(单位:米)",
+ "in": "query",
+ "name": "length",
+ "required": false,
+ "schema": {
+ "default": 0,
+ "description": "管道长度(单位:米)",
+ "title": "Length",
+ "type": "number"
+ }
+ },
+ {
+ "description": "管道管径(单位:毫米)",
+ "in": "query",
+ "name": "diameter",
+ "required": false,
+ "schema": {
+ "default": 0,
+ "description": "管道管径(单位:毫米)",
+ "title": "Diameter",
+ "type": "number"
+ }
+ },
+ {
+ "description": "管道粗糙度",
+ "in": "query",
+ "name": "roughness",
+ "required": false,
+ "schema": {
+ "default": 0,
+ "description": "管道粗糙度",
+ "title": "Roughness",
+ "type": "number"
+ }
+ },
+ {
+ "description": "管道局部阻力系数",
+ "in": "query",
+ "name": "minor_loss",
+ "required": false,
+ "schema": {
+ "default": 0,
+ "description": "管道局部阻力系数",
+ "title": "Minor Loss",
+ "type": "number"
+ }
+ },
+ {
+ "description": "管道状态(开启/关闭)",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "default": "OPEN",
+ "description": "管道状态(开启/关闭)",
+ "title": "Status",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "添加管道",
+ "tags": [
+ "Pipes"
+ ]
+ }
+ },
+ "/api/v1/pipes-risk-probabilities": {
+ "get": {
+ "description": "批量获取多条管道的风险概率值",
+ "operationId": "get_pipes_risk_probabilities",
+ "parameters": [
+ {
+ "description": "逗号分隔的管道ID列表",
+ "in": "query",
+ "name": "pipe_ids",
+ "required": true,
+ "schema": {
+ "description": "逗号分隔的管道ID列表",
+ "title": "Pipe Ids",
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "default": 100,
+ "maximum": 1000,
+ "minimum": 1,
+ "title": "Limit",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "query",
+ "name": "offset",
+ "required": false,
+ "schema": {
+ "default": 0,
+ "minimum": 0,
+ "title": "Offset",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Page_dict_str__Any__"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "批量获取多条管道风险概率",
+ "tags": [
+ "Risk"
+ ]
+ }
+ },
+ "/api/v1/pipes/diameter": {
+ "get": {
+ "description": "获取指定管道的管径",
+ "operationId": "get_pipes_diameter",
+ "parameters": [
+ {
+ "description": "管道ID",
+ "in": "query",
+ "name": "pipe",
+ "required": true,
+ "schema": {
+ "description": "管道ID",
+ "title": "Pipe",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Response Get Pipes Diameter"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取管道管径",
+ "tags": [
+ "Pipes"
+ ]
+ },
+ "patch": {
+ "description": "设置指定管道的管径",
+ "operationId": "patch_pipes_diameter",
+ "parameters": [
+ {
+ "description": "管道ID",
+ "in": "query",
+ "name": "pipe",
+ "required": true,
+ "schema": {
+ "description": "管道ID",
+ "title": "Pipe",
+ "type": "string"
+ }
+ },
+ {
+ "description": "新的管道管径(单位:毫米)",
+ "in": "query",
+ "name": "diameter",
+ "required": true,
+ "schema": {
+ "description": "新的管道管径(单位:毫米)",
+ "title": "Diameter",
+ "type": "number"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置管道管径",
+ "tags": [
+ "Pipes"
+ ]
+ }
+ },
+ "/api/v1/pipes/existence": {
+ "get": {
+ "description": "检查指定ID是否为水网中的管道",
+ "operationId": "get_pipes_existence",
+ "parameters": [
+ {
+ "description": "管线ID",
+ "in": "query",
+ "name": "link",
+ "required": true,
+ "schema": {
+ "description": "管线ID",
+ "title": "Link",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Pipes Existence",
+ "type": "boolean"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "检查是否为管道",
+ "tags": [
+ "Network General"
+ ]
+ }
+ },
+ "/api/v1/pipes/length": {
+ "get": {
+ "description": "获取指定管道的长度",
+ "operationId": "get_pipes_length",
+ "parameters": [
+ {
+ "description": "管道ID",
+ "in": "query",
+ "name": "pipe",
+ "required": true,
+ "schema": {
+ "description": "管道ID",
+ "title": "Pipe",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Response Get Pipes Length"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取管道长度",
+ "tags": [
+ "Pipes"
+ ]
+ },
+ "patch": {
+ "description": "设置指定管道的长度",
+ "operationId": "patch_pipes_length",
+ "parameters": [
+ {
+ "description": "管道ID",
+ "in": "query",
+ "name": "pipe",
+ "required": true,
+ "schema": {
+ "description": "管道ID",
+ "title": "Pipe",
+ "type": "string"
+ }
+ },
+ {
+ "description": "新的管道长度(单位:米)",
+ "in": "query",
+ "name": "length",
+ "required": true,
+ "schema": {
+ "description": "新的管道长度(单位:米)",
+ "title": "Length",
+ "type": "number"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置管道长度",
+ "tags": [
+ "Pipes"
+ ]
+ }
+ },
+ "/api/v1/pipes/minor-loss": {
+ "get": {
+ "description": "获取指定管道的局部阻力系数",
+ "operationId": "get_pipes_minor_loss",
+ "parameters": [
+ {
+ "description": "管道ID",
+ "in": "query",
+ "name": "pipe",
+ "required": true,
+ "schema": {
+ "description": "管道ID",
+ "title": "Pipe",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Response Get Pipes Minor Loss"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取管道局部阻力系数",
+ "tags": [
+ "Pipes"
+ ]
+ },
+ "patch": {
+ "description": "设置指定管道的局部阻力系数",
+ "operationId": "patch_pipes_minor_loss",
+ "parameters": [
+ {
+ "description": "管道ID",
+ "in": "query",
+ "name": "pipe",
+ "required": true,
+ "schema": {
+ "description": "管道ID",
+ "title": "Pipe",
+ "type": "string"
+ }
+ },
+ {
+ "description": "新的局部阻力系数值",
+ "in": "query",
+ "name": "minor_loss",
+ "required": true,
+ "schema": {
+ "description": "新的局部阻力系数值",
+ "title": "Minor Loss",
+ "type": "number"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置管道局部阻力系数",
+ "tags": [
+ "Pipes"
+ ]
+ }
+ },
+ "/api/v1/pipes/node1": {
+ "get": {
+ "description": "获取指定管道的起始节点ID",
+ "operationId": "get_pipes_node1",
+ "parameters": [
+ {
+ "description": "管道ID",
+ "in": "query",
+ "name": "pipe",
+ "required": true,
+ "schema": {
+ "description": "管道ID",
+ "title": "Pipe",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Response Get Pipes Node1"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取管道起始节点",
+ "tags": [
+ "Pipes"
+ ]
+ },
+ "patch": {
+ "description": "设置指定管道的起始节点",
+ "operationId": "patch_pipes_node1",
+ "parameters": [
+ {
+ "description": "管道ID",
+ "in": "query",
+ "name": "pipe",
+ "required": true,
+ "schema": {
+ "description": "管道ID",
+ "title": "Pipe",
+ "type": "string"
+ }
+ },
+ {
+ "description": "新的起始节点ID",
+ "in": "query",
+ "name": "node1",
+ "required": true,
+ "schema": {
+ "description": "新的起始节点ID",
+ "title": "Node1",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置管道起始节点",
+ "tags": [
+ "Pipes"
+ ]
+ }
+ },
+ "/api/v1/pipes/node2": {
+ "get": {
+ "description": "获取指定管道的终止节点ID",
+ "operationId": "get_pipes_node2",
+ "parameters": [
+ {
+ "description": "管道ID",
+ "in": "query",
+ "name": "pipe",
+ "required": true,
+ "schema": {
+ "description": "管道ID",
+ "title": "Pipe",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Response Get Pipes Node2"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取管道终止节点",
+ "tags": [
+ "Pipes"
+ ]
+ },
+ "patch": {
+ "description": "设置指定管道的终止节点",
+ "operationId": "patch_pipes_node2",
+ "parameters": [
+ {
+ "description": "管道ID",
+ "in": "query",
+ "name": "pipe",
+ "required": true,
+ "schema": {
+ "description": "管道ID",
+ "title": "Pipe",
+ "type": "string"
+ }
+ },
+ {
+ "description": "新的终止节点ID",
+ "in": "query",
+ "name": "node2",
+ "required": true,
+ "schema": {
+ "description": "新的终止节点ID",
+ "title": "Node2",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置管道终止节点",
+ "tags": [
+ "Pipes"
+ ]
+ }
+ },
+ "/api/v1/pipes/properties": {
+ "get": {
+ "description": "获取指定管道的所有属性信息",
+ "operationId": "get_pipes_properties",
+ "parameters": [
+ {
+ "description": "管道ID",
+ "in": "query",
+ "name": "pipe",
+ "required": true,
+ "schema": {
+ "description": "管道ID",
+ "title": "Pipe",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Pipes Properties",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取管道属性",
+ "tags": [
+ "Pipes"
+ ]
+ },
+ "patch": {
+ "description": "批量设置指定管道的多个属性",
+ "operationId": "patch_pipes_properties",
+ "parameters": [
+ {
+ "description": "管道ID",
+ "in": "query",
+ "name": "pipe",
+ "required": true,
+ "schema": {
+ "description": "管道ID",
+ "title": "Pipe",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置管道属性",
+ "tags": [
+ "Pipes"
+ ]
+ }
+ },
+ "/api/v1/pipes/risk-probability": {
+ "get": {
+ "description": "获取指定管道的风险概率历史数据",
+ "operationId": "get_pipes_risk_probability",
+ "parameters": [
+ {
+ "description": "管道ID",
+ "in": "query",
+ "name": "pipe_id",
+ "required": true,
+ "schema": {
+ "description": "管道ID",
+ "title": "Pipe Id",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Pipes Risk Probability",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取管道风险概率历史",
+ "tags": [
+ "Risk"
+ ]
+ }
+ },
+ "/api/v1/pipes/risk-probability-geometries": {
+ "get": {
+ "description": "获取指定网络中管道的风险相关几何数据",
+ "operationId": "get_pipes_risk_probability_geometries",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Pipes Risk Probability Geometries",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取管道风险几何信息",
+ "tags": [
+ "Risk"
+ ]
+ }
+ },
+ "/api/v1/pipes/risk-probability-now": {
+ "get": {
+ "description": "获取指定管道当前时刻的风险概率值",
+ "operationId": "get_pipes_risk_probability_now",
+ "parameters": [
+ {
+ "description": "管道ID",
+ "in": "query",
+ "name": "pipe_id",
+ "required": true,
+ "schema": {
+ "description": "管道ID",
+ "title": "Pipe Id",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Pipes Risk Probability Now",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取管道当前风险概率",
+ "tags": [
+ "Risk"
+ ]
+ }
+ },
+ "/api/v1/pipes/roughness": {
+ "get": {
+ "description": "获取指定管道的粗糙度",
+ "operationId": "get_pipes_roughness",
+ "parameters": [
+ {
+ "description": "管道ID",
+ "in": "query",
+ "name": "pipe",
+ "required": true,
+ "schema": {
+ "description": "管道ID",
+ "title": "Pipe",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Response Get Pipes Roughness"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取管道粗糙度",
+ "tags": [
+ "Pipes"
+ ]
+ },
+ "patch": {
+ "description": "设置指定管道的粗糙度",
+ "operationId": "patch_pipes_roughness",
+ "parameters": [
+ {
+ "description": "管道ID",
+ "in": "query",
+ "name": "pipe",
+ "required": true,
+ "schema": {
+ "description": "管道ID",
+ "title": "Pipe",
+ "type": "string"
+ }
+ },
+ {
+ "description": "新的管道粗糙度值",
+ "in": "query",
+ "name": "roughness",
+ "required": true,
+ "schema": {
+ "description": "新的管道粗糙度值",
+ "title": "Roughness",
+ "type": "number"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置管道粗糙度",
+ "tags": [
+ "Pipes"
+ ]
+ }
+ },
+ "/api/v1/pipes/status": {
+ "get": {
+ "description": "获取指定管道的状态(开启或关闭)",
+ "operationId": "get_pipes_status",
+ "parameters": [
+ {
+ "description": "管道ID",
+ "in": "query",
+ "name": "pipe",
+ "required": true,
+ "schema": {
+ "description": "管道ID",
+ "title": "Pipe",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Response Get Pipes Status"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取管道状态",
+ "tags": [
+ "Pipes"
+ ]
+ },
+ "patch": {
+ "description": "设置指定管道的状态(开启或关闭)",
+ "operationId": "patch_pipes_status",
+ "parameters": [
+ {
+ "description": "管道ID",
+ "in": "query",
+ "name": "pipe",
+ "required": true,
+ "schema": {
+ "description": "管道ID",
+ "title": "Pipe",
+ "type": "string"
+ }
+ },
+ {
+ "description": "新的管道状态(开启/关闭)",
+ "in": "query",
+ "name": "status",
+ "required": true,
+ "schema": {
+ "description": "新的管道状态(开启/关闭)",
+ "title": "Status",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置管道状态",
+ "tags": [
+ "Pipes"
+ ]
+ }
+ },
+ "/api/v1/pressure-regulation-analyses": {
+ "post": {
+ "description": "高级版本的压力调节分析,通过JSON请求体提供详细的控制参数,包括固定泵和变速泵的独立控制、水箱初始水位等。",
+ "operationId": "post_pressure_regulation_analyses",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/PressureRegulationRest",
+ "description": "压力调节控制参数"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Post Pressure Regulation Analyses",
+ "type": "string"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "压力调节(高级)",
+ "tags": [
+ "Simulation Control"
+ ]
+ }
+ },
+ "/api/v1/pressure-regulation-calculations": {
+ "post": {
+ "description": "对管网的压力进行调节分析,通过控制泵的运行来维持目标节点的目标压力。此为基础版本。",
+ "operationId": "post_pressure_regulation_calculations",
+ "parameters": [
+ {
+ "description": "目标节点ID",
+ "in": "query",
+ "name": "target_node",
+ "required": true,
+ "schema": {
+ "description": "目标节点ID",
+ "title": "Target Node",
+ "type": "string"
+ }
+ },
+ {
+ "description": "目标压力值(kPa)",
+ "in": "query",
+ "name": "target_pressure",
+ "required": true,
+ "schema": {
+ "description": "目标压力值(kPa)",
+ "title": "Target Pressure",
+ "type": "number"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "压力调节(基础)",
+ "tags": [
+ "Simulation Control"
+ ]
+ }
+ },
+ "/api/v1/pressure-sensor-placement-kmeans": {
+ "post": {
+ "description": "高级版本的压力传感器放置分析,通过JSON请求体提供详细参数。基于KMeans聚类算法确定最优放置位置。",
+ "operationId": "post_pressure_sensor_placement_kmeans",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/PressureSensorPlacement",
+ "description": "传感器放置分析参数"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "压力传感器放置-KMeans聚类分析(高级)",
+ "tags": [
+ "Simulation Control"
+ ]
+ }
+ },
+ "/api/v1/pressure-sensor-placement-kmeans-calculations": {
+ "post": {
+ "description": "基于KMeans聚类算法,为指定管网项目确定压力传感器的最优放置位置。此为基础版本。",
+ "operationId": "post_pressure_sensor_placement_kmeans_calculations",
+ "parameters": [
+ {
+ "description": "放置方案名称",
+ "in": "query",
+ "name": "scheme_name",
+ "required": true,
+ "schema": {
+ "description": "放置方案名称",
+ "title": "Scheme Name",
+ "type": "string"
+ }
+ },
+ {
+ "description": "传感器数量",
+ "in": "query",
+ "name": "sensor_number",
+ "required": true,
+ "schema": {
+ "description": "传感器数量",
+ "title": "Sensor Number",
+ "type": "integer"
+ }
+ },
+ {
+ "description": "最小管径限制(毫米)",
+ "in": "query",
+ "name": "min_diameter",
+ "required": true,
+ "schema": {
+ "description": "最小管径限制(毫米)",
+ "title": "Min Diameter",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "压力传感器放置-KMeans聚类分析(基础)",
+ "tags": [
+ "Simulation Control"
+ ]
+ }
+ },
+ "/api/v1/pressure-sensor-placement-sensitivities": {
+ "post": {
+ "description": "高级版本的压力传感器放置分析,通过JSON请求体提供详细参数。基于灵敏度分析方法确定最优放置位置。",
+ "operationId": "post_pressure_sensor_placement_sensitivities",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/PressureSensorPlacement",
+ "description": "传感器放置分析参数"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "压力传感器放置-灵敏度分析(高级)",
+ "tags": [
+ "Simulation Control"
+ ]
+ }
+ },
+ "/api/v1/pressure-sensor-placement-sensitivity-calculations": {
+ "post": {
+ "description": "基于灵敏度分析方法,为指定管网项目确定最优的压力传感器放置位置。此为基础版本。",
+ "operationId": "post_pressure_sensor_placement_sensitivity_calculations",
+ "parameters": [
+ {
+ "description": "放置方案名称",
+ "in": "query",
+ "name": "scheme_name",
+ "required": true,
+ "schema": {
+ "description": "放置方案名称",
+ "title": "Scheme Name",
+ "type": "string"
+ }
+ },
+ {
+ "description": "传感器数量",
+ "in": "query",
+ "name": "sensor_number",
+ "required": true,
+ "schema": {
+ "description": "传感器数量",
+ "title": "Sensor Number",
+ "type": "integer"
+ }
+ },
+ {
+ "description": "最小管径限制(毫米)",
+ "in": "query",
+ "name": "min_diameter",
+ "required": true,
+ "schema": {
+ "description": "最小管径限制(毫米)",
+ "title": "Min Diameter",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "压力传感器放置-灵敏度分析(基础)",
+ "tags": [
+ "Simulation Control"
+ ]
+ }
+ },
+ "/api/v1/project-codes": {
+ "get": {
+ "description": "获取服务器上所有可用的供水管网项目名称列表。",
+ "operationId": "get_project_codes",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "default": 100,
+ "maximum": 1000,
+ "minimum": 1,
+ "title": "Limit",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "query",
+ "name": "offset",
+ "required": false,
+ "schema": {
+ "default": 0,
+ "minimum": 0,
+ "title": "Offset",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Page_str_"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取项目列表",
+ "tags": [
+ "Project"
+ ]
+ }
+ },
+ "/api/v1/project-conversions": {
+ "post": {
+ "description": "将 EPANET 3.0 格式的 INP 内容转换为 2.x 格式。",
+ "operationId": "post_project_conversions",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "转换 INP V3 为 V2",
+ "tags": [
+ "Project"
+ ]
+ }
+ },
+ "/api/v1/project-copies": {
+ "post": {
+ "description": "将现有项目复制为新项目。",
+ "operationId": "post_project_copies",
+ "parameters": [
+ {
+ "description": "管网名称(或数据库名称)",
+ "in": "query",
+ "name": "source",
+ "required": true,
+ "schema": {
+ "description": "管网名称(或数据库名称)",
+ "title": "Source",
+ "type": "string"
+ }
+ },
+ {
+ "description": "管网名称(或数据库名称)",
+ "in": "query",
+ "name": "target",
+ "required": true,
+ "schema": {
+ "description": "管网名称(或数据库名称)",
+ "title": "Target",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "复制项目",
+ "tags": [
+ "Project"
+ ]
+ }
+ },
+ "/api/v1/project-managements": {
+ "post": {
+ "description": "高级版本的项目管理,通过JSON请求体提供详细的控制参数,包括泵控制策略、水箱初始水位和区域需水量控制。",
+ "operationId": "post_project_managements",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProjectManagementRest",
+ "description": "项目管理控制参数"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Post Project Managements",
+ "type": "string"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "项目管理(高级)",
+ "tags": [
+ "Simulation Control"
+ ]
+ }
+ },
+ "/api/v1/project-return-dict-runs": {
+ "post": {
+ "description": "基于指定的管网项目运行标准水力模拟,返回JSON格式的字典,包含输出数据和报告文本。",
+ "operationId": "post_project_return_dict_runs",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Post Project Return Dict Runs",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "运行项目模拟(返回字典)",
+ "tags": [
+ "Simulation Control"
+ ]
+ }
+ },
+ "/api/v1/project-runs": {
+ "post": {
+ "description": "基于指定的管网项目运行标准水力模拟,返回纯文本格式的模拟报告。",
+ "operationId": "post_project_runs",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "text/plain": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "text/plain": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "text/plain": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "text/plain": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "text/plain": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "text/plain": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "text/plain": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "运行项目模拟",
+ "tags": [
+ "Simulation Control"
+ ]
+ }
+ },
+ "/api/v1/projects": {
+ "delete": {
+ "description": "永久删除指定的供水管网项目。此操作不可恢复。",
+ "operationId": "delete_projects",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "删除项目",
+ "tags": [
+ "Project"
+ ]
+ },
+ "get": {
+ "description": "获取当前用户有权限的所有项目列表",
+ "operationId": "get_projects",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "default": 100,
+ "maximum": 1000,
+ "minimum": 1,
+ "title": "Limit",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "query",
+ "name": "offset",
+ "required": false,
+ "schema": {
+ "default": 0,
+ "minimum": 0,
+ "title": "Offset",
+ "type": "integer"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Page_ProjectSummaryResponse_"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "列出用户项目",
+ "tags": [
+ "Metadata"
+ ]
+ },
+ "post": {
+ "description": "创建一个新的供水管网项目。如果项目已存在,可能会覆盖或报错(取决于底层实现)。",
+ "operationId": "post_projects",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "创建新项目",
+ "tags": [
+ "Project"
+ ]
+ }
+ },
+ "/api/v1/projects/current": {
+ "delete": {
+ "description": "将指定项目从内存中卸载,释放资源。",
+ "operationId": "delete_projects_current",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "关闭项目",
+ "tags": [
+ "Project"
+ ]
+ },
+ "get": {
+ "description": "从数据库获取项目的详细信息,包括地图范围等。",
+ "operationId": "get_projects_current",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProjectMetaResponse"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取项目信息",
+ "tags": [
+ "Project"
+ ]
+ },
+ "post": {
+ "description": "将指定项目加载到内存中,并初始化数据库连接池。",
+ "operationId": "post_projects_current",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "打开项目",
+ "tags": [
+ "Project"
+ ]
+ }
+ },
+ "/api/v1/projects/current/database-health": {
+ "get": {
+ "description": "检查项目数据库连接的健康状况",
+ "operationId": "get_projects_current_database_health",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "检查数据库健康状态",
+ "tags": [
+ "Metadata"
+ ]
+ }
+ },
+ "/api/v1/projects/current/exports/change-set": {
+ "get": {
+ "description": "导出项目的变更集 (ChangeSet),包含顶点、SCADA 元素、DMA、SA、VD 等信息。",
+ "operationId": "get_projects_current_exports_change_set",
+ "parameters": [
+ {
+ "description": "版本号 (通常用于增量更新)",
+ "in": "query",
+ "name": "version",
+ "required": true,
+ "schema": {
+ "description": "版本号 (通常用于增量更新)",
+ "title": "Version",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "导出项目为 ChangeSet",
+ "tags": [
+ "Project"
+ ]
+ }
+ },
+ "/api/v1/projects/current/exports/inp": {
+ "post": {
+ "description": "将项目当前状态保存为 INP 文件到服务器文件系统。",
+ "operationId": "post_projects_current_exports_inp",
+ "parameters": [
+ {
+ "description": "目标文件名",
+ "in": "query",
+ "name": "inp",
+ "required": true,
+ "schema": {
+ "description": "目标文件名",
+ "title": "Inp",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Post Projects Current Exports Inp",
+ "type": "boolean"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "导出项目到 INP 文件",
+ "tags": [
+ "Project"
+ ]
+ }
+ },
+ "/api/v1/projects/current/files/inp": {
+ "get": {
+ "description": "从服务器数据目录下载指定的 INP 文件。",
+ "operationId": "get_projects_current_files_inp",
+ "parameters": [
+ {
+ "description": "文件名",
+ "in": "query",
+ "name": "name",
+ "required": true,
+ "schema": {
+ "description": "文件名",
+ "title": "Name",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "下载 INP 文件",
+ "tags": [
+ "Project"
+ ]
+ }
+ },
+ "/api/v1/projects/current/imports": {
+ "post": {
+ "description": "从服务器文件系统中读取指定的 INP 文件并加载到项目中。",
+ "operationId": "post_projects_current_imports",
+ "parameters": [
+ {
+ "description": "INP 文件名 (不包含路径)",
+ "in": "query",
+ "name": "inp",
+ "required": true,
+ "schema": {
+ "description": "INP 文件名 (不包含路径)",
+ "title": "Inp",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Post Projects Current Imports",
+ "type": "boolean"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "读取 INP 文件到项目",
+ "tags": [
+ "Project"
+ ]
+ }
+ },
+ "/api/v1/projects/current/lock": {
+ "delete": {
+ "description": "释放对项目的锁定。",
+ "operationId": "delete_projects_current_lock",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "解锁项目",
+ "tags": [
+ "Project"
+ ]
+ },
+ "get": {
+ "description": "检查指定项目是否处于锁定状态。",
+ "operationId": "get_projects_current_lock",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "检查项目是否被锁定",
+ "tags": [
+ "Project"
+ ]
+ },
+ "post": {
+ "description": "锁定指定项目以防止并发修改。",
+ "operationId": "post_projects_current_lock",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "锁定项目",
+ "tags": [
+ "Project"
+ ]
+ }
+ },
+ "/api/v1/projects/current/lock/ownership": {
+ "get": {
+ "description": "检查指定项目是否被当前客户端 (IP) 锁定。",
+ "operationId": "get_projects_current_lock_ownership",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "检查项目是否被当前用户锁定",
+ "tags": [
+ "Project"
+ ]
+ }
+ },
+ "/api/v1/projects/current/metadata": {
+ "get": {
+ "description": "获取当前项目的元数据和配置信息",
+ "operationId": "get_projects_current_metadata",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProjectMetaResponse"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取项目元数据",
+ "tags": [
+ "Metadata"
+ ]
+ }
+ },
+ "/api/v1/projects/current/status": {
+ "get": {
+ "description": "检查指定项目是否已被加载到内存中。",
+ "operationId": "get_projects_current_status",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "检查项目是否已打开",
+ "tags": [
+ "Project"
+ ]
+ }
+ },
+ "/api/v1/projects/existence": {
+ "get": {
+ "description": "检查指定名称的项目是否存在。",
+ "operationId": "get_projects_existence",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "检查项目是否存在",
+ "tags": [
+ "Project"
+ ]
+ }
+ },
+ "/api/v1/pump-failure-events": {
+ "post": {
+ "description": "记录和管理泵的故障状态,包括故障发生时间和受影响的泵列表。系统将记录故障日志并更新泵状态。",
+ "operationId": "post_pump_failure_events",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/PumpFailureState",
+ "description": "泵故障状态信息"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Post Pump Failure Events",
+ "type": "string"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "泵故障管理",
+ "tags": [
+ "Simulation Control"
+ ]
+ }
+ },
+ "/api/v1/pumps": {
+ "delete": {
+ "description": "从网络中删除指定的水泵",
+ "operationId": "delete_pumps",
+ "parameters": [
+ {
+ "description": "要删除的水泵ID",
+ "in": "query",
+ "name": "pump",
+ "required": true,
+ "schema": {
+ "description": "要删除的水泵ID",
+ "title": "Pump",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "删除水泵",
+ "tags": [
+ "Pumps"
+ ]
+ },
+ "get": {
+ "description": "获取网络中所有水泵的属性信息列表",
+ "operationId": "get_pumps",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "default": 100,
+ "maximum": 1000,
+ "minimum": 1,
+ "title": "Limit",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "query",
+ "name": "offset",
+ "required": false,
+ "schema": {
+ "default": 0,
+ "minimum": 0,
+ "title": "Offset",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Page_dict_str__Any__"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取所有水泵属性",
+ "tags": [
+ "Pumps"
+ ]
+ },
+ "post": {
+ "description": "向网络中添加新的水泵,需要提供水泵的基本参数如功率等",
+ "operationId": "post_pumps",
+ "parameters": [
+ {
+ "description": "水泵标识符",
+ "in": "query",
+ "name": "pump",
+ "required": true,
+ "schema": {
+ "description": "水泵标识符",
+ "title": "Pump",
+ "type": "string"
+ }
+ },
+ {
+ "description": "水泵起始节点ID",
+ "in": "query",
+ "name": "node1",
+ "required": true,
+ "schema": {
+ "description": "水泵起始节点ID",
+ "title": "Node1",
+ "type": "string"
+ }
+ },
+ {
+ "description": "水泵终止节点ID",
+ "in": "query",
+ "name": "node2",
+ "required": true,
+ "schema": {
+ "description": "水泵终止节点ID",
+ "title": "Node2",
+ "type": "string"
+ }
+ },
+ {
+ "description": "水泵功率(单位:千瓦)",
+ "in": "query",
+ "name": "power",
+ "required": false,
+ "schema": {
+ "default": 0.0,
+ "description": "水泵功率(单位:千瓦)",
+ "title": "Power",
+ "type": "number"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "添加水泵",
+ "tags": [
+ "Pumps"
+ ]
+ }
+ },
+ "/api/v1/pumps/existence": {
+ "get": {
+ "description": "检查指定ID是否为水网中的泵",
+ "operationId": "get_pumps_existence",
+ "parameters": [
+ {
+ "description": "管线ID",
+ "in": "query",
+ "name": "link",
+ "required": true,
+ "schema": {
+ "description": "管线ID",
+ "title": "Link",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Pumps Existence",
+ "type": "boolean"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "检查是否为泵",
+ "tags": [
+ "Network General"
+ ]
+ }
+ },
+ "/api/v1/pumps/node1": {
+ "get": {
+ "description": "获取指定水泵的起始节点ID",
+ "operationId": "get_pumps_node1",
+ "parameters": [
+ {
+ "description": "水泵ID",
+ "in": "query",
+ "name": "pump",
+ "required": true,
+ "schema": {
+ "description": "水泵ID",
+ "title": "Pump",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Response Get Pumps Node1"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取水泵起始节点",
+ "tags": [
+ "Pumps"
+ ]
+ },
+ "patch": {
+ "description": "设置指定水泵的起始节点",
+ "operationId": "patch_pumps_node1",
+ "parameters": [
+ {
+ "description": "水泵ID",
+ "in": "query",
+ "name": "pump",
+ "required": true,
+ "schema": {
+ "description": "水泵ID",
+ "title": "Pump",
+ "type": "string"
+ }
+ },
+ {
+ "description": "新的起始节点ID",
+ "in": "query",
+ "name": "node1",
+ "required": true,
+ "schema": {
+ "description": "新的起始节点ID",
+ "title": "Node1",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置水泵起始节点",
+ "tags": [
+ "Pumps"
+ ]
+ }
+ },
+ "/api/v1/pumps/node2": {
+ "get": {
+ "description": "获取指定水泵的终止节点ID",
+ "operationId": "get_pumps_node2",
+ "parameters": [
+ {
+ "description": "水泵ID",
+ "in": "query",
+ "name": "pump",
+ "required": true,
+ "schema": {
+ "description": "水泵ID",
+ "title": "Pump",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Response Get Pumps Node2"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取水泵终止节点",
+ "tags": [
+ "Pumps"
+ ]
+ },
+ "patch": {
+ "description": "设置指定水泵的终止节点",
+ "operationId": "patch_pumps_node2",
+ "parameters": [
+ {
+ "description": "水泵ID",
+ "in": "query",
+ "name": "pump",
+ "required": true,
+ "schema": {
+ "description": "水泵ID",
+ "title": "Pump",
+ "type": "string"
+ }
+ },
+ {
+ "description": "新的终止节点ID",
+ "in": "query",
+ "name": "node2",
+ "required": true,
+ "schema": {
+ "description": "新的终止节点ID",
+ "title": "Node2",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置水泵终止节点",
+ "tags": [
+ "Pumps"
+ ]
+ }
+ },
+ "/api/v1/pumps/properties": {
+ "get": {
+ "description": "获取指定水泵的所有属性信息",
+ "operationId": "get_pumps_properties",
+ "parameters": [
+ {
+ "description": "水泵ID",
+ "in": "query",
+ "name": "pump",
+ "required": true,
+ "schema": {
+ "description": "水泵ID",
+ "title": "Pump",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Pumps Properties",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取水泵属性",
+ "tags": [
+ "Pumps"
+ ]
+ },
+ "patch": {
+ "description": "批量设置指定水泵的多个属性",
+ "operationId": "patch_pumps_properties",
+ "parameters": [
+ {
+ "description": "水泵ID",
+ "in": "query",
+ "name": "pump",
+ "required": true,
+ "schema": {
+ "description": "水泵ID",
+ "title": "Pump",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置水泵属性",
+ "tags": [
+ "Pumps"
+ ]
+ }
+ },
+ "/api/v1/quality-configurations/properties": {
+ "get": {
+ "description": "获取指定节点的水质属性信息",
+ "operationId": "get_quality_configurations_properties",
+ "parameters": [
+ {
+ "description": "节点ID",
+ "in": "query",
+ "name": "node",
+ "required": true,
+ "schema": {
+ "description": "节点ID",
+ "title": "Node",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Quality Configurations Properties",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取水质属性",
+ "tags": [
+ "Quality"
+ ]
+ },
+ "patch": {
+ "description": "更新指定节点的水质属性",
+ "operationId": "patch_quality_configurations_properties",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置水质属性",
+ "tags": [
+ "Quality"
+ ]
+ }
+ },
+ "/api/v1/reactions": {
+ "patch": {
+ "description": "更新指定网络中的反应属性",
+ "operationId": "patch_reactions",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置反应属性",
+ "tags": [
+ "Quality"
+ ]
+ }
+ },
+ "/api/v1/reactions/detail": {
+ "get": {
+ "description": "获取指定网络中的反应属性信息",
+ "operationId": "get_reactions_detail",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Reactions Detail",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取反应属性",
+ "tags": [
+ "Quality"
+ ]
+ }
+ },
+ "/api/v1/redis": {
+ "get": {
+ "description": "获取Redis中所有的缓存键",
+ "operationId": "get_redis",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "查询缓存键列表",
+ "tags": [
+ "Cache"
+ ]
+ }
+ },
+ "/api/v1/redis-keys": {
+ "delete": {
+ "description": "根据模式清除匹配的Redis缓存键",
+ "operationId": "delete_redis_keys",
+ "parameters": [
+ {
+ "description": "缓存键模式(支持通配符)",
+ "in": "query",
+ "name": "keys",
+ "required": true,
+ "schema": {
+ "description": "缓存键模式(支持通配符)",
+ "title": "Keys",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "清除匹配的缓存键",
+ "tags": [
+ "Cache"
+ ]
+ }
+ },
+ "/api/v1/redis-keys/detail": {
+ "delete": {
+ "description": "根据键名清除单个Redis缓存",
+ "operationId": "delete_redis_keys_detail",
+ "parameters": [
+ {
+ "description": "缓存键名",
+ "in": "query",
+ "name": "key",
+ "required": true,
+ "schema": {
+ "description": "缓存键名",
+ "title": "Key",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "清除单个缓存键",
+ "tags": [
+ "Cache"
+ ]
+ }
+ },
+ "/api/v1/redos": {
+ "post": {
+ "description": "重做网络上被撤销的操作",
+ "operationId": "post_redos",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "重做操作",
+ "tags": [
+ "Snapshots"
+ ]
+ }
+ },
+ "/api/v1/regions": {
+ "delete": {
+ "description": "删除指定的区域",
+ "operationId": "delete_regions",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "删除区域",
+ "tags": [
+ "Regions & DMAs"
+ ]
+ },
+ "patch": {
+ "description": "修改指定区域的属性信息",
+ "operationId": "patch_regions",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置区域属性",
+ "tags": [
+ "Regions & DMAs"
+ ]
+ },
+ "post": {
+ "description": "向水网添加一个新的区域",
+ "operationId": "post_regions",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "添加新区域",
+ "tags": [
+ "Regions & DMAs"
+ ]
+ }
+ },
+ "/api/v1/regions/detail": {
+ "get": {
+ "description": "获取指定ID的区域详细信息",
+ "operationId": "get_regions_detail",
+ "parameters": [
+ {
+ "description": "区域ID",
+ "in": "query",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "description": "区域ID",
+ "title": "Id",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Regions Detail",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取区域信息",
+ "tags": [
+ "Regions & DMAs"
+ ]
+ }
+ },
+ "/api/v1/reservoirs": {
+ "delete": {
+ "description": "从指定供水网络中删除指定的水库/水源节点",
+ "operationId": "delete_reservoirs",
+ "parameters": [
+ {
+ "description": "要删除的水库的唯一标识符",
+ "in": "query",
+ "name": "reservoir",
+ "required": true,
+ "schema": {
+ "description": "要删除的水库的唯一标识符",
+ "title": "Reservoir",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "删除水库",
+ "tags": [
+ "Reservoirs"
+ ]
+ },
+ "get": {
+ "description": "获取指定供水网络中所有水库的属性",
+ "operationId": "get_reservoirs",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "default": 100,
+ "maximum": 1000,
+ "minimum": 1,
+ "title": "Limit",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "query",
+ "name": "offset",
+ "required": false,
+ "schema": {
+ "default": 0,
+ "minimum": 0,
+ "title": "Offset",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Page_dict_str__Any__"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取所有水库属性",
+ "tags": [
+ "Reservoirs"
+ ]
+ },
+ "post": {
+ "description": "在指定供水网络中添加新的水库/水源节点",
+ "operationId": "post_reservoirs",
+ "parameters": [
+ {
+ "description": "水库的唯一标识符",
+ "in": "query",
+ "name": "reservoir",
+ "required": true,
+ "schema": {
+ "description": "水库的唯一标识符",
+ "title": "Reservoir",
+ "type": "string"
+ }
+ },
+ {
+ "description": "水库的X坐标",
+ "in": "query",
+ "name": "x",
+ "required": true,
+ "schema": {
+ "description": "水库的X坐标",
+ "title": "X",
+ "type": "number"
+ }
+ },
+ {
+ "description": "水库的Y坐标",
+ "in": "query",
+ "name": "y",
+ "required": true,
+ "schema": {
+ "description": "水库的Y坐标",
+ "title": "Y",
+ "type": "number"
+ }
+ },
+ {
+ "description": "水库的水头/总水头(米)",
+ "in": "query",
+ "name": "head",
+ "required": true,
+ "schema": {
+ "description": "水库的水头/总水头(米)",
+ "title": "Head",
+ "type": "number"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "添加水库",
+ "tags": [
+ "Reservoirs"
+ ]
+ }
+ },
+ "/api/v1/reservoirs/coord": {
+ "get": {
+ "description": "获取指定水库的平面坐标(X和Y坐标)",
+ "operationId": "get_reservoirs_coord",
+ "parameters": [
+ {
+ "description": "水库的唯一标识符",
+ "in": "query",
+ "name": "reservoir",
+ "required": true,
+ "schema": {
+ "description": "水库的唯一标识符",
+ "title": "Reservoir",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "number"
+ },
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Response Get Reservoirs Coord"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取水库坐标",
+ "tags": [
+ "Reservoirs"
+ ]
+ },
+ "patch": {
+ "description": "更新指定水库的平面坐标(X和Y坐标)",
+ "operationId": "patch_reservoirs_coord",
+ "parameters": [
+ {
+ "description": "水库的唯一标识符",
+ "in": "query",
+ "name": "reservoir",
+ "required": true,
+ "schema": {
+ "description": "水库的唯一标识符",
+ "title": "Reservoir",
+ "type": "string"
+ }
+ },
+ {
+ "description": "新的X坐标值",
+ "in": "query",
+ "name": "x",
+ "required": true,
+ "schema": {
+ "description": "新的X坐标值",
+ "title": "X",
+ "type": "number"
+ }
+ },
+ {
+ "description": "新的Y坐标值",
+ "in": "query",
+ "name": "y",
+ "required": true,
+ "schema": {
+ "description": "新的Y坐标值",
+ "title": "Y",
+ "type": "number"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置水库坐标",
+ "tags": [
+ "Reservoirs"
+ ]
+ }
+ },
+ "/api/v1/reservoirs/existence": {
+ "get": {
+ "description": "检查指定ID是否为水网中的水源(水库/河流)",
+ "operationId": "get_reservoirs_existence",
+ "parameters": [
+ {
+ "description": "节点ID",
+ "in": "query",
+ "name": "node",
+ "required": true,
+ "schema": {
+ "description": "节点ID",
+ "title": "Node",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Reservoirs Existence",
+ "type": "boolean"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "检查是否为水源",
+ "tags": [
+ "Network General"
+ ]
+ }
+ },
+ "/api/v1/reservoirs/head": {
+ "get": {
+ "description": "获取指定水库的供水水头/总水头值",
+ "operationId": "get_reservoirs_head",
+ "parameters": [
+ {
+ "description": "水库的唯一标识符",
+ "in": "query",
+ "name": "reservoir",
+ "required": true,
+ "schema": {
+ "description": "水库的唯一标识符",
+ "title": "Reservoir",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Response Get Reservoirs Head"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取水库水头",
+ "tags": [
+ "Reservoirs"
+ ]
+ },
+ "patch": {
+ "description": "更新指定水库的供水水头/总水头值",
+ "operationId": "patch_reservoirs_head",
+ "parameters": [
+ {
+ "description": "水库的唯一标识符",
+ "in": "query",
+ "name": "reservoir",
+ "required": true,
+ "schema": {
+ "description": "水库的唯一标识符",
+ "title": "Reservoir",
+ "type": "string"
+ }
+ },
+ {
+ "description": "新的水头值(米)",
+ "in": "query",
+ "name": "head",
+ "required": true,
+ "schema": {
+ "description": "新的水头值(米)",
+ "title": "Head",
+ "type": "number"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置水库水头",
+ "tags": [
+ "Reservoirs"
+ ]
+ }
+ },
+ "/api/v1/reservoirs/pattern": {
+ "get": {
+ "description": "获取指定水库的运行模式/供水模式",
+ "operationId": "get_reservoirs_pattern",
+ "parameters": [
+ {
+ "description": "水库的唯一标识符",
+ "in": "query",
+ "name": "reservoir",
+ "required": true,
+ "schema": {
+ "description": "水库的唯一标识符",
+ "title": "Reservoir",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Response Get Reservoirs Pattern"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取水库模式",
+ "tags": [
+ "Reservoirs"
+ ]
+ },
+ "patch": {
+ "description": "更新指定水库的运行模式/供水模式",
+ "operationId": "patch_reservoirs_pattern",
+ "parameters": [
+ {
+ "description": "水库的唯一标识符",
+ "in": "query",
+ "name": "reservoir",
+ "required": true,
+ "schema": {
+ "description": "水库的唯一标识符",
+ "title": "Reservoir",
+ "type": "string"
+ }
+ },
+ {
+ "description": "新的运行模式",
+ "in": "query",
+ "name": "pattern",
+ "required": true,
+ "schema": {
+ "description": "新的运行模式",
+ "title": "Pattern",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置水库模式",
+ "tags": [
+ "Reservoirs"
+ ]
+ }
+ },
+ "/api/v1/reservoirs/properties": {
+ "get": {
+ "description": "获取指定水库的所有属性",
+ "operationId": "get_reservoirs_properties",
+ "parameters": [
+ {
+ "description": "水库的唯一标识符",
+ "in": "query",
+ "name": "reservoir",
+ "required": true,
+ "schema": {
+ "description": "水库的唯一标识符",
+ "title": "Reservoir",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Reservoirs Properties",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取水库属性",
+ "tags": [
+ "Reservoirs"
+ ]
+ },
+ "patch": {
+ "description": "批量更新指定水库的多个属性",
+ "operationId": "patch_reservoirs_properties",
+ "parameters": [
+ {
+ "description": "水库的唯一标识符",
+ "in": "query",
+ "name": "reservoir",
+ "required": true,
+ "schema": {
+ "description": "水库的唯一标识符",
+ "title": "Reservoir",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置水库属性",
+ "tags": [
+ "Reservoirs"
+ ]
+ }
+ },
+ "/api/v1/reservoirs/x": {
+ "get": {
+ "description": "获取指定水库的X坐标位置",
+ "operationId": "get_reservoirs_x",
+ "parameters": [
+ {
+ "description": "水库的唯一标识符",
+ "in": "query",
+ "name": "reservoir",
+ "required": true,
+ "schema": {
+ "description": "水库的唯一标识符",
+ "title": "Reservoir",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "number"
+ },
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Response Get Reservoirs X"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取水库X坐标",
+ "tags": [
+ "Reservoirs"
+ ]
+ },
+ "patch": {
+ "description": "更新指定水库的X坐标位置",
+ "operationId": "patch_reservoirs_x",
+ "parameters": [
+ {
+ "description": "水库的唯一标识符",
+ "in": "query",
+ "name": "reservoir",
+ "required": true,
+ "schema": {
+ "description": "水库的唯一标识符",
+ "title": "Reservoir",
+ "type": "string"
+ }
+ },
+ {
+ "description": "新的X坐标值",
+ "in": "query",
+ "name": "x",
+ "required": true,
+ "schema": {
+ "description": "新的X坐标值",
+ "title": "X",
+ "type": "number"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置水库X坐标",
+ "tags": [
+ "Reservoirs"
+ ]
+ }
+ },
+ "/api/v1/reservoirs/y": {
+ "get": {
+ "description": "获取指定水库的Y坐标位置",
+ "operationId": "get_reservoirs_y",
+ "parameters": [
+ {
+ "description": "水库的唯一标识符",
+ "in": "query",
+ "name": "reservoir",
+ "required": true,
+ "schema": {
+ "description": "水库的唯一标识符",
+ "title": "Reservoir",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "number"
+ },
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Response Get Reservoirs Y"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取水库Y坐标",
+ "tags": [
+ "Reservoirs"
+ ]
+ },
+ "patch": {
+ "description": "更新指定水库的Y坐标位置",
+ "operationId": "patch_reservoirs_y",
+ "parameters": [
+ {
+ "description": "水库的唯一标识符",
+ "in": "query",
+ "name": "reservoir",
+ "required": true,
+ "schema": {
+ "description": "水库的唯一标识符",
+ "title": "Reservoir",
+ "type": "string"
+ }
+ },
+ {
+ "description": "新的Y坐标值",
+ "in": "query",
+ "name": "y",
+ "required": true,
+ "schema": {
+ "description": "新的Y坐标值",
+ "title": "Y",
+ "type": "number"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置水库Y坐标",
+ "tags": [
+ "Reservoirs"
+ ]
+ }
+ },
+ "/api/v1/restore-operations": {
+ "get": {
+ "description": "获取网络的恢复操作ID",
+ "operationId": "get_restore_operations",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Restore Operations",
+ "type": "integer"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取恢复操作ID",
+ "tags": [
+ "Snapshots"
+ ]
+ },
+ "patch": {
+ "description": "设置网络的恢复操作ID",
+ "operationId": "patch_restore_operations",
+ "parameters": [
+ {
+ "description": "操作ID",
+ "in": "query",
+ "name": "operation",
+ "required": true,
+ "schema": {
+ "description": "操作ID",
+ "title": "Operation",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置恢复操作ID",
+ "tags": [
+ "Snapshots"
+ ]
+ }
+ },
+ "/api/v1/rule-properties": {
+ "get": {
+ "description": "获取指定网络中的规则属性信息",
+ "operationId": "get_rule_properties",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Rule Properties",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取规则属性",
+ "tags": [
+ "Controls & Rules"
+ ]
+ },
+ "patch": {
+ "description": "更新指定网络中的规则属性",
+ "operationId": "patch_rule_properties",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置规则属性",
+ "tags": [
+ "Controls & Rules"
+ ]
+ }
+ },
+ "/api/v1/rule-schemas": {
+ "get": {
+ "description": "获取网络中规则对象的架构定义",
+ "operationId": "get_rule_schemas",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "additionalProperties": {
+ "type": "object"
+ },
+ "title": "Response Get Rule Schemas",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取规则架构",
+ "tags": [
+ "Controls & Rules"
+ ]
+ }
+ },
+ "/api/v1/scada-device-cleaning-runs": {
+ "post": {
+ "description": "清空SCADA设备表\n\n删除指定管网中所有的SCADA设备。\n\nArgs:\n network: 管网名称(或数据库名称)\n \nReturns:\n 变更集合信息",
+ "operationId": "post_scada_device_cleaning_runs",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "清空SCADA设备表",
+ "tags": [
+ "SCADA设备"
+ ]
+ }
+ },
+ "/api/v1/scada-device-data-cleaning-runs": {
+ "post": {
+ "description": "清空SCADA设备数据表\n\n删除指定管网中所有SCADA设备的数据。\n\nArgs:\n network: 管网名称(或数据库名称)\n \nReturns:\n 变更集合信息",
+ "operationId": "post_scada_device_data_cleaning_runs",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "清空SCADA设备数据表",
+ "tags": [
+ "SCADA设备数据"
+ ]
+ }
+ },
+ "/api/v1/scada-device-datas": {
+ "delete": {
+ "description": "删除SCADA设备数据\n\n删除指定SCADA设备的数据记录。\n\nArgs:\n network: 管网名称(或数据库名称)\n req: 请求体,包含要删除的数据ID\n \nReturns:\n 变更集合信息",
+ "operationId": "delete_scada_device_datas",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "删除SCADA设备数据",
+ "tags": [
+ "SCADA设备数据"
+ ]
+ },
+ "patch": {
+ "description": "更新SCADA设备数据\n\n修改指定SCADA设备的数据。\n\nArgs:\n network: 管网名称(或数据库名称)\n req: 请求体,包含要更新的数据\n \nReturns:\n 变更集合信息",
+ "operationId": "patch_scada_device_datas",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "更新SCADA设备数据",
+ "tags": [
+ "SCADA设备数据"
+ ]
+ },
+ "post": {
+ "description": "添加新的SCADA设备数据\n\n为指定SCADA设备添加新的数据记录。\n\nArgs:\n network: 管网名称(或数据库名称)\n req: 请求体,包含新数据的内容\n \nReturns:\n 变更集合信息",
+ "operationId": "post_scada_device_datas",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "添加SCADA设备数据",
+ "tags": [
+ "SCADA设备数据"
+ ]
+ }
+ },
+ "/api/v1/scada-device-datas/detail": {
+ "get": {
+ "description": "获取单个SCADA设备的数据\n\n查询指定设备的监测数据或配置数据。\n\nArgs:\n network: 管网名称(或数据库名称)\n device_id: SCADA设备ID\n \nReturns:\n SCADA设备数据",
+ "operationId": "get_scada_device_datas_detail",
+ "parameters": [
+ {
+ "description": "SCADA设备ID",
+ "in": "query",
+ "name": "device_id",
+ "required": true,
+ "schema": {
+ "description": "SCADA设备ID",
+ "title": "Device Id",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Scada Device Datas Detail",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取SCADA设备数据",
+ "tags": [
+ "SCADA设备数据"
+ ]
+ }
+ },
+ "/api/v1/scada-devices": {
+ "delete": {
+ "description": "删除SCADA设备\n\n从指定管网中删除一个SCADA设备。\n\nArgs:\n network: 管网名称(或数据库名称)\n req: 请求体,包含要删除的设备ID\n \nReturns:\n 变更集合信息",
+ "operationId": "delete_scada_devices",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "删除SCADA设备",
+ "tags": [
+ "SCADA设备"
+ ]
+ },
+ "get": {
+ "description": "获取指定管网所有SCADA设备的完整信息\n\nArgs:\n network: 管网名称(或数据库名称)\n \nReturns:\n SCADA设备信息列表",
+ "operationId": "get_scada_devices",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "default": 100,
+ "maximum": 1000,
+ "minimum": 1,
+ "title": "Limit",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "query",
+ "name": "offset",
+ "required": false,
+ "schema": {
+ "default": 0,
+ "minimum": 0,
+ "title": "Offset",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Page_dict_str__Any__"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取所有SCADA设备",
+ "tags": [
+ "SCADA设备"
+ ]
+ },
+ "patch": {
+ "description": "更新SCADA设备信息\n\n修改指定SCADA设备的属性。\n\nArgs:\n network: 管网名称(或数据库名称)\n req: 请求体,包含要更新的设备属性\n \nReturns:\n 变更集合信息",
+ "operationId": "patch_scada_devices",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "更新SCADA设备",
+ "tags": [
+ "SCADA设备"
+ ]
+ },
+ "post": {
+ "description": "添加新的SCADA设备\n\n在指定管网中添加一个新的SCADA设备。\n\nArgs:\n network: 管网名称(或数据库名称)\n req: 请求体,包含新设备的属性\n \nReturns:\n 变更集合信息",
+ "operationId": "post_scada_devices",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "添加SCADA设备",
+ "tags": [
+ "SCADA设备"
+ ]
+ }
+ },
+ "/api/v1/scada-devices/detail": {
+ "get": {
+ "description": "获取单个SCADA设备的信息\n\n根据设备ID查询该设备的详细信息。\n\nArgs:\n network: 管网名称(或数据库名称)\n id: SCADA设备ID\n \nReturns:\n SCADA设备信息",
+ "operationId": "get_scada_devices_detail",
+ "parameters": [
+ {
+ "description": "SCADA设备ID",
+ "in": "query",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "description": "SCADA设备ID",
+ "title": "Id",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Scada Devices Detail",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取SCADA设备",
+ "tags": [
+ "SCADA设备"
+ ]
+ }
+ },
+ "/api/v1/scada-devices/ids": {
+ "get": {
+ "description": "获取指定管网所有SCADA设备的ID列表\n\nArgs:\n network: 管网名称(或数据库名称)\n \nReturns:\n SCADA设备ID列表",
+ "operationId": "get_scada_devices_ids",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "default": 100,
+ "maximum": 1000,
+ "minimum": 1,
+ "title": "Limit",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "query",
+ "name": "offset",
+ "required": false,
+ "schema": {
+ "default": 0,
+ "minimum": 0,
+ "title": "Offset",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Page_str_"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取所有SCADA设备ID",
+ "tags": [
+ "SCADA设备"
+ ]
+ }
+ },
+ "/api/v1/scada-element-cleaning-runs": {
+ "post": {
+ "description": "清空SCADA元素映射表\n\n删除指定管网中所有的SCADA元素映射。\n\nArgs:\n network: 管网名称(或数据库名称)\n \nReturns:\n 变更集合信息",
+ "operationId": "post_scada_element_cleaning_runs",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "清空SCADA元素映射表",
+ "tags": [
+ "SCADA元素映射"
+ ]
+ }
+ },
+ "/api/v1/scada-elements": {
+ "delete": {
+ "description": "删除SCADA元素映射\n\n移除SCADA设备与管网元素的映射关系。\n\nArgs:\n network: 管网名称(或数据库名称)\n req: 请求体,包含要删除的映射ID\n \nReturns:\n 变更集合信息",
+ "operationId": "delete_scada_elements",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "删除SCADA元素映射",
+ "tags": [
+ "SCADA元素映射"
+ ]
+ },
+ "get": {
+ "description": "获取指定管网所有SCADA元素映射\n\n查询所有SCADA设备与管网元素(节点/管道)的映射关系。\n\nArgs:\n network: 管网名称(或数据库名称)\n \nReturns:\n SCADA元素映射列表",
+ "operationId": "get_scada_elements",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "default": 100,
+ "maximum": 1000,
+ "minimum": 1,
+ "title": "Limit",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "query",
+ "name": "offset",
+ "required": false,
+ "schema": {
+ "default": 0,
+ "minimum": 0,
+ "title": "Offset",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Page_dict_str__Any__"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取所有SCADA元素映射",
+ "tags": [
+ "SCADA元素映射"
+ ]
+ },
+ "patch": {
+ "description": "更新SCADA元素映射\n\n修改SCADA设备与管网元素的映射关系。\n\nArgs:\n network: 管网名称(或数据库名称)\n req: 请求体,包含要更新的映射信息\n \nReturns:\n 变更集合信息",
+ "operationId": "patch_scada_elements",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "更新SCADA元素映射",
+ "tags": [
+ "SCADA元素映射"
+ ]
+ },
+ "post": {
+ "description": "添加新的SCADA元素映射\n\n创建SCADA设备与管网元素的新映射关系。\n\nArgs:\n network: 管网名称(或数据库名称)\n req: 请求体,包含新映射的信息\n \nReturns:\n 变更集合信息",
+ "operationId": "post_scada_elements",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "添加SCADA元素映射",
+ "tags": [
+ "SCADA元素映射"
+ ]
+ }
+ },
+ "/api/v1/scada-elements/detail": {
+ "get": {
+ "description": "获取单个SCADA元素映射的信息\n\n根据ID查询特定的SCADA设备与管网元素的映射关系。\n\nArgs:\n network: 管网名称(或数据库名称)\n id: SCADA元素映射ID\n \nReturns:\n SCADA元素映射信息",
+ "operationId": "get_scada_elements_detail",
+ "parameters": [
+ {
+ "description": "SCADA元素映射ID",
+ "in": "query",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "description": "SCADA元素映射ID",
+ "title": "Id",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Scada Elements Detail",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取单个SCADA元素映射",
+ "tags": [
+ "SCADA元素映射"
+ ]
+ }
+ },
+ "/api/v1/scada-info": {
+ "get": {
+ "description": "获取指定管网所有SCADA的信息\n\n查询该管网下所有已配置的SCADA的完整信息。\n\nArgs:\n network: 管网名称(或数据库名称)\n \nReturns:\n SCADA信息列表",
+ "operationId": "get_scada_info",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "default": 100,
+ "maximum": 1000,
+ "minimum": 1,
+ "title": "Limit",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "query",
+ "name": "offset",
+ "required": false,
+ "schema": {
+ "default": 0,
+ "minimum": 0,
+ "title": "Offset",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Page_dict_str__Any__"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取所有SCADA信息",
+ "tags": [
+ "SCADA信息"
+ ]
+ }
+ },
+ "/api/v1/scada-info-schemas": {
+ "get": {
+ "description": "获取SCADA信息表的结构\n\n返回SCADA信息表的字段定义和类型信息。\n\nArgs:\n network: 管网名称(或数据库名称)\n \nReturns:\n SCADA信息的字段架构信息",
+ "operationId": "get_scada_info_schemas",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "additionalProperties": {
+ "type": "object"
+ },
+ "title": "Response Get Scada Info Schemas",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取SCADA信息架构",
+ "tags": [
+ "SCADA信息"
+ ]
+ }
+ },
+ "/api/v1/scada-info/database-view": {
+ "get": {
+ "description": "使用连接池查询所有SCADA信息",
+ "operationId": "get_scada_info_database_view",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取SCADA信息",
+ "tags": [
+ "Project Data"
+ ]
+ }
+ },
+ "/api/v1/scada-info/detail": {
+ "get": {
+ "description": "获取单个SCADA信息\n\n根据ID查询SCADA的详细配置信息。\n\nArgs:\n network: 管网名称(或数据库名称)\n id: SCADA信息ID\n \nReturns:\n SCADA信息详情",
+ "operationId": "get_scada_info_detail",
+ "parameters": [
+ {
+ "description": "SCADA信息ID",
+ "in": "query",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "description": "SCADA信息ID",
+ "title": "Id",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Scada Info Detail",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取SCADA信息",
+ "tags": [
+ "SCADA信息"
+ ]
+ }
+ },
+ "/api/v1/scada-properties": {
+ "get": {
+ "description": "获取指定SCADA点的属性信息",
+ "operationId": "get_scada_properties",
+ "parameters": [
+ {
+ "description": "SCADA点ID",
+ "in": "query",
+ "name": "scada",
+ "required": true,
+ "schema": {
+ "description": "SCADA点ID",
+ "title": "Scada",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Scada Properties",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取SCADA点属性",
+ "tags": [
+ "Network General"
+ ]
+ }
+ },
+ "/api/v1/scheduling-analyses": {
+ "post": {
+ "description": "对管网的供水排程进行分析,优化泵的运行时间和出水流量,平衡水厂出水、水箱进出水,满足用户需求。",
+ "operationId": "post_scheduling_analyses",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SchedulingAnalysisRest",
+ "description": "排程分析参数"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Post Scheduling Analyses",
+ "type": "string"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "排程分析",
+ "tags": [
+ "Simulation Control"
+ ]
+ }
+ },
+ "/api/v1/schemes": {
+ "get": {
+ "description": "获取指定网络的所有方案信息",
+ "operationId": "get_schemes",
+ "parameters": [
+ {
+ "description": "方案类型;为空时返回全部类型",
+ "in": "query",
+ "name": "scheme_type",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "方案类型;为空时返回全部类型",
+ "title": "Scheme Type"
+ }
+ },
+ {
+ "description": "查询日期(可选)",
+ "in": "query",
+ "name": "query_date",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "format": "date-time",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "查询日期(可选)",
+ "title": "Query Date"
+ }
+ },
+ {
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "default": 100,
+ "maximum": 1000,
+ "minimum": 1,
+ "title": "Limit",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "query",
+ "name": "offset",
+ "required": false,
+ "schema": {
+ "default": 0,
+ "minimum": 0,
+ "title": "Offset",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Page_dict_Any__Any__"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取所有方案",
+ "tags": [
+ "Schemes"
+ ]
+ }
+ },
+ "/api/v1/schemes/detail": {
+ "get": {
+ "description": "根据名称获取指定的方案信息",
+ "operationId": "get_schemes_detail",
+ "parameters": [
+ {
+ "description": "方案名称",
+ "in": "query",
+ "name": "schema_name",
+ "required": true,
+ "schema": {
+ "description": "方案名称",
+ "title": "Schema Name",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Schemes Detail",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取单个方案",
+ "tags": [
+ "Schemes"
+ ]
+ }
+ },
+ "/api/v1/schemes/list-with-connection": {
+ "get": {
+ "description": "使用连接池查询所有方案信息",
+ "operationId": "get_schemes_list_with_connection",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取方案列表",
+ "tags": [
+ "Project Data"
+ ]
+ }
+ },
+ "/api/v1/schemes/{scheme_name}": {
+ "get": {
+ "description": "按方案类型获取指定方案详情",
+ "operationId": "get_schemes_scheme_name",
+ "parameters": [
+ {
+ "description": "方案名称",
+ "in": "path",
+ "name": "scheme_name",
+ "required": true,
+ "schema": {
+ "description": "方案名称",
+ "title": "Scheme Name",
+ "type": "string"
+ }
+ },
+ {
+ "description": "方案类型;为空时返回通用方案详情",
+ "in": "query",
+ "name": "scheme_type",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "方案类型;为空时返回通用方案详情",
+ "title": "Scheme Type"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Schemes Scheme Name",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取方案详情",
+ "tags": [
+ "Schemes"
+ ]
+ }
+ },
+ "/api/v1/sensor-placement-optimization-runs": {
+ "post": {
+ "operationId": "post_sensor_placement_optimization_runs",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SensorPlacementOptimizeRequestRest"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SensorPlacementSchemeResponse"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "创建并返回监测点优化方案",
+ "tags": [
+ "Sensor Placement"
+ ]
+ }
+ },
+ "/api/v1/sensor-placement-schemes": {
+ "get": {
+ "description": "获取网络中所有传感器的放置位置信息",
+ "operationId": "get_sensor_placement_schemes",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "default": 100,
+ "maximum": 1000,
+ "minimum": 1,
+ "title": "Limit",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "query",
+ "name": "offset",
+ "required": false,
+ "schema": {
+ "default": 0,
+ "minimum": 0,
+ "title": "Offset",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Page_dict_Any__Any__"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取所有传感器位置",
+ "tags": [
+ "Misc"
+ ]
+ },
+ "post": {
+ "description": "创建新的传感器放置方案,支持灵敏度分析和KMeans聚类两种方法。根据指定的方法自动计算最优的传感器放置位置。",
+ "operationId": "post_sensor_placement_schemes",
+ "parameters": [
+ {
+ "description": "放置方案名称",
+ "in": "query",
+ "name": "scheme_name",
+ "required": true,
+ "schema": {
+ "description": "放置方案名称",
+ "title": "Scheme Name",
+ "type": "string"
+ }
+ },
+ {
+ "description": "传感器类型",
+ "in": "query",
+ "name": "sensor_type",
+ "required": true,
+ "schema": {
+ "description": "传感器类型",
+ "title": "Sensor Type",
+ "type": "string"
+ }
+ },
+ {
+ "description": "放置方法('sensitivity'或'kmeans')",
+ "in": "query",
+ "name": "method",
+ "required": true,
+ "schema": {
+ "description": "放置方法('sensitivity'或'kmeans')",
+ "title": "Method",
+ "type": "string"
+ }
+ },
+ {
+ "description": "传感器数量",
+ "in": "query",
+ "name": "sensor_count",
+ "required": true,
+ "schema": {
+ "description": "传感器数量",
+ "title": "Sensor Count",
+ "type": "integer"
+ }
+ },
+ {
+ "description": "最小管径限制(毫米),默认0",
+ "in": "query",
+ "name": "min_diameter",
+ "required": false,
+ "schema": {
+ "default": 0,
+ "description": "最小管径限制(毫米),默认0",
+ "title": "Min Diameter",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Post Sensor Placement Schemes",
+ "type": "string"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "传感器放置方案创建",
+ "tags": [
+ "Simulation Control"
+ ]
+ }
+ },
+ "/api/v1/sensor-placement-schemes/{scheme_id}": {
+ "get": {
+ "operationId": "get_sensor_placement_schemes_scheme_id",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "scheme_id",
+ "required": true,
+ "schema": {
+ "title": "Scheme Id",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SensorPlacementSchemeResponse"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取监测点方案详情",
+ "tags": [
+ "Sensor Placement"
+ ]
+ },
+ "put": {
+ "operationId": "put_sensor_placement_schemes_scheme_id",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "scheme_id",
+ "required": true,
+ "schema": {
+ "title": "Scheme Id",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SensorPlacementUpdateRequest"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SensorPlacementSchemeResponse"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "覆盖保存监测点方案",
+ "tags": [
+ "Sensor Placement"
+ ]
+ }
+ },
+ "/api/v1/sensor-placement-schemes/{scheme_id}/exports/excel": {
+ "post": {
+ "operationId": "post_sensor_placement_schemes_scheme_id_exports_excel",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "scheme_id",
+ "required": true,
+ "schema": {
+ "title": "Scheme Id",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SensorPlacementExportRequest"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "导出监测点工程清单",
+ "tags": [
+ "Sensor Placement"
+ ]
+ }
+ },
+ "/api/v1/service-area-calculations": {
+ "post": {
+ "description": "计算指定水网的服务区分区,返回全部时间步结果",
+ "operationId": "post_service_area_calculations",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "default": 100,
+ "maximum": 1000,
+ "minimum": 1,
+ "title": "Limit",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "query",
+ "name": "offset",
+ "required": false,
+ "schema": {
+ "default": 0,
+ "minimum": 0,
+ "title": "Offset",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Page_dict_str__list_str___"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "计算服务区",
+ "tags": [
+ "Regions & DMAs"
+ ]
+ }
+ },
+ "/api/v1/service-area-generation-runs": {
+ "post": {
+ "description": "根据参数自动生成水网的服务区分区",
+ "operationId": "post_service_area_generation_runs",
+ "parameters": [
+ {
+ "description": "膨胀参数",
+ "in": "query",
+ "name": "inflate_delta",
+ "required": true,
+ "schema": {
+ "description": "膨胀参数",
+ "title": "Inflate Delta",
+ "type": "number"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "生成服务区分区",
+ "tags": [
+ "Regions & DMAs"
+ ]
+ }
+ },
+ "/api/v1/service-areas": {
+ "delete": {
+ "description": "删除指定的服务区",
+ "operationId": "delete_service_areas",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "删除服务区",
+ "tags": [
+ "Regions & DMAs"
+ ]
+ },
+ "get": {
+ "description": "获取指定水网中的所有服务区信息",
+ "operationId": "get_service_areas",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "default": 100,
+ "maximum": 1000,
+ "minimum": 1,
+ "title": "Limit",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "query",
+ "name": "offset",
+ "required": false,
+ "schema": {
+ "default": 0,
+ "minimum": 0,
+ "title": "Offset",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Page_dict_str__Any__"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取所有服务区",
+ "tags": [
+ "Regions & DMAs"
+ ]
+ },
+ "patch": {
+ "description": "修改指定服务区的属性信息",
+ "operationId": "patch_service_areas",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置服务区属性",
+ "tags": [
+ "Regions & DMAs"
+ ]
+ },
+ "post": {
+ "description": "向水网添加一个新的服务区",
+ "operationId": "post_service_areas",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "添加新服务区",
+ "tags": [
+ "Regions & DMAs"
+ ]
+ }
+ },
+ "/api/v1/service-areas/detail": {
+ "get": {
+ "description": "获取指定ID的服务区详细信息",
+ "operationId": "get_service_areas_detail",
+ "parameters": [
+ {
+ "description": "服务区ID",
+ "in": "query",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "description": "服务区ID",
+ "title": "Id",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Service Areas Detail",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取服务区信息",
+ "tags": [
+ "Regions & DMAs"
+ ]
+ }
+ },
+ "/api/v1/simulation-runs": {
+ "post": {
+ "description": "根据指定的开始时间和持续时间,手动运行水力模拟。开始时间必须是显式带时区的 ISO 8601 / RFC3339 时间。",
+ "operationId": "post_simulation_runs",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/RunSimulationManuallyByDateRest",
+ "description": "模拟运行参数"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "title": "Response Post Simulation Runs",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "手动运行日期指定模拟",
+ "tags": [
+ "Simulation Control"
+ ]
+ }
+ },
+ "/api/v1/snapshot-for-current-operations": {
+ "get": {
+ "description": "检查当前操作的快照是否存在",
+ "operationId": "get_snapshot_for_current_operations",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Snapshot For Current Operations",
+ "type": "boolean"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "检查当前操作快照是否存在",
+ "tags": [
+ "Snapshots"
+ ]
+ },
+ "post": {
+ "description": "为当前操作创建快照",
+ "operationId": "post_snapshot_for_current_operations",
+ "parameters": [
+ {
+ "description": "快照标签",
+ "in": "query",
+ "name": "tag",
+ "required": true,
+ "schema": {
+ "description": "快照标签",
+ "title": "Tag",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "为当前操作创建快照",
+ "tags": [
+ "Snapshots"
+ ]
+ }
+ },
+ "/api/v1/snapshot-for-operations": {
+ "get": {
+ "description": "检查指定操作ID的快照是否存在",
+ "operationId": "get_snapshot_for_operations",
+ "parameters": [
+ {
+ "description": "操作ID",
+ "in": "query",
+ "name": "operation",
+ "required": true,
+ "schema": {
+ "description": "操作ID",
+ "title": "Operation",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Snapshot For Operations",
+ "type": "boolean"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "检查操作快照是否存在",
+ "tags": [
+ "Snapshots"
+ ]
+ },
+ "post": {
+ "description": "为指定的操作创建快照",
+ "operationId": "post_snapshot_for_operations",
+ "parameters": [
+ {
+ "description": "操作ID",
+ "in": "query",
+ "name": "operation",
+ "required": true,
+ "schema": {
+ "description": "操作ID",
+ "title": "Operation",
+ "type": "integer"
+ }
+ },
+ {
+ "description": "快照标签",
+ "in": "query",
+ "name": "tag",
+ "required": true,
+ "schema": {
+ "description": "快照标签",
+ "title": "Tag",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "为操作创建快照",
+ "tags": [
+ "Snapshots"
+ ]
+ }
+ },
+ "/api/v1/snapshots": {
+ "get": {
+ "description": "获取网络中的所有快照",
+ "operationId": "get_snapshots",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "default": 100,
+ "maximum": 1000,
+ "minimum": 1,
+ "title": "Limit",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "query",
+ "name": "offset",
+ "required": false,
+ "schema": {
+ "default": 0,
+ "minimum": 0,
+ "title": "Offset",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Page_tuple_int__str__"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取快照列表",
+ "tags": [
+ "Snapshots"
+ ]
+ },
+ "patch": {
+ "description": "选择并恢复到指定的快照",
+ "operationId": "patch_snapshots",
+ "parameters": [
+ {
+ "description": "快照标签",
+ "in": "query",
+ "name": "tag",
+ "required": true,
+ "schema": {
+ "description": "快照标签",
+ "title": "Tag",
+ "type": "string"
+ }
+ },
+ {
+ "description": "是否丢弃当前更改",
+ "in": "query",
+ "name": "discard",
+ "required": false,
+ "schema": {
+ "default": false,
+ "description": "是否丢弃当前更改",
+ "title": "Discard",
+ "type": "boolean"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "选择快照",
+ "tags": [
+ "Snapshots"
+ ]
+ },
+ "post": {
+ "description": "为网络创建一个快照",
+ "operationId": "post_snapshots",
+ "parameters": [
+ {
+ "description": "快照标签",
+ "in": "query",
+ "name": "tag",
+ "required": true,
+ "schema": {
+ "description": "快照标签",
+ "title": "Tag",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "创建快照",
+ "tags": [
+ "Snapshots"
+ ]
+ }
+ },
+ "/api/v1/snapshots/existence": {
+ "get": {
+ "description": "检查指定标签的快照是否存在",
+ "operationId": "get_snapshots_existence",
+ "parameters": [
+ {
+ "description": "快照标签",
+ "in": "query",
+ "name": "tag",
+ "required": true,
+ "schema": {
+ "description": "快照标签",
+ "title": "Tag",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Snapshots Existence",
+ "type": "boolean"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "检查快照是否存在",
+ "tags": [
+ "Snapshots"
+ ]
+ }
+ },
+ "/api/v1/sources": {
+ "delete": {
+ "description": "从网络中删除指定节点的水源",
+ "operationId": "delete_sources",
+ "parameters": [
+ {
+ "description": "节点ID",
+ "in": "query",
+ "name": "node",
+ "required": true,
+ "schema": {
+ "description": "节点ID",
+ "title": "Node",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "删除水源",
+ "tags": [
+ "Quality"
+ ]
+ },
+ "patch": {
+ "description": "更新指定节点的水源属性",
+ "operationId": "patch_sources",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置水源属性",
+ "tags": [
+ "Quality"
+ ]
+ },
+ "post": {
+ "description": "在网络中添加一个新的水源",
+ "operationId": "post_sources",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "添加水源",
+ "tags": [
+ "Quality"
+ ]
+ }
+ },
+ "/api/v1/sources/detail": {
+ "get": {
+ "description": "获取指定节点的水源属性信息",
+ "operationId": "get_sources_detail",
+ "parameters": [
+ {
+ "description": "节点ID",
+ "in": "query",
+ "name": "node",
+ "required": true,
+ "schema": {
+ "description": "节点ID",
+ "title": "Node",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Sources Detail",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取水源属性",
+ "tags": [
+ "Quality"
+ ]
+ }
+ },
+ "/api/v1/status": {
+ "get": {
+ "description": "获取指定管线的状态信息",
+ "operationId": "get_status",
+ "parameters": [
+ {
+ "description": "管线ID",
+ "in": "query",
+ "name": "link",
+ "required": true,
+ "schema": {
+ "description": "管线ID",
+ "title": "Link",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Status",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取管线状态",
+ "tags": [
+ "Network General"
+ ]
+ }
+ },
+ "/api/v1/status-properties": {
+ "patch": {
+ "description": "设置指定管线的状态信息",
+ "operationId": "patch_status_properties",
+ "parameters": [
+ {
+ "description": "管线ID",
+ "in": "query",
+ "name": "link",
+ "required": true,
+ "schema": {
+ "description": "管线ID",
+ "title": "Link",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置管线状态",
+ "tags": [
+ "Network General"
+ ]
+ }
+ },
+ "/api/v1/status-schemas": {
+ "get": {
+ "description": "获取指定水网的状态(Status)属性架构定义",
+ "operationId": "get_status_schemas",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "additionalProperties": {
+ "type": "object"
+ },
+ "title": "Response Get Status Schemas",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取状态属性架构",
+ "tags": [
+ "Network General"
+ ]
+ }
+ },
+ "/api/v1/sub-district-metering-areas": {
+ "post": {
+ "description": "为指定DMA生成子DMA分区",
+ "operationId": "post_sub_district_metering_areas",
+ "parameters": [
+ {
+ "description": "DMA ID",
+ "in": "query",
+ "name": "dma",
+ "required": true,
+ "schema": {
+ "description": "DMA ID",
+ "title": "Dma",
+ "type": "string"
+ }
+ },
+ {
+ "description": "分区数量",
+ "in": "query",
+ "name": "part_count",
+ "required": true,
+ "schema": {
+ "description": "分区数量",
+ "exclusiveMinimum": 0,
+ "title": "Part Count",
+ "type": "integer"
+ }
+ },
+ {
+ "description": "分区类型",
+ "in": "query",
+ "name": "part_type",
+ "required": true,
+ "schema": {
+ "description": "分区类型",
+ "title": "Part Type",
+ "type": "integer"
+ }
+ },
+ {
+ "description": "膨胀参数",
+ "in": "query",
+ "name": "inflate_delta",
+ "required": true,
+ "schema": {
+ "description": "膨胀参数",
+ "title": "Inflate Delta",
+ "type": "number"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "生成DMA子分区",
+ "tags": [
+ "Regions & DMAs"
+ ]
+ }
+ },
+ "/api/v1/tags": {
+ "get": {
+ "description": "获取指定水网中的所有标签信息",
+ "operationId": "get_tags",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "default": 100,
+ "maximum": 1000,
+ "minimum": 1,
+ "title": "Limit",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "query",
+ "name": "offset",
+ "required": false,
+ "schema": {
+ "default": 0,
+ "minimum": 0,
+ "title": "Offset",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Page_dict_str__Any__"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取所有标签",
+ "tags": [
+ "Tags"
+ ]
+ },
+ "patch": {
+ "description": "为指定元素设置或修改标签信息",
+ "operationId": "patch_tags",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置标签",
+ "tags": [
+ "Tags"
+ ]
+ }
+ },
+ "/api/v1/tags/detail": {
+ "get": {
+ "description": "获取指定类型和ID的标签信息",
+ "operationId": "get_tags_detail",
+ "parameters": [
+ {
+ "description": "标签类型",
+ "in": "query",
+ "name": "t_type",
+ "required": true,
+ "schema": {
+ "description": "标签类型",
+ "title": "T Type",
+ "type": "string"
+ }
+ },
+ {
+ "description": "元素ID",
+ "in": "query",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "description": "元素ID",
+ "title": "Id",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Tags Detail",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取标签信息",
+ "tags": [
+ "Tags"
+ ]
+ }
+ },
+ "/api/v1/tank-reactions": {
+ "patch": {
+ "description": "更新指定水池的反应属性",
+ "operationId": "patch_tank_reactions",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置水池反应属性",
+ "tags": [
+ "Quality"
+ ]
+ }
+ },
+ "/api/v1/tank-reactions/detail": {
+ "get": {
+ "description": "获取指定水池的反应属性信息",
+ "operationId": "get_tank_reactions_detail",
+ "parameters": [
+ {
+ "description": "水池ID",
+ "in": "query",
+ "name": "tank",
+ "required": true,
+ "schema": {
+ "description": "水池ID",
+ "title": "Tank",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Tank Reactions Detail",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取水池反应属性",
+ "tags": [
+ "Quality"
+ ]
+ }
+ },
+ "/api/v1/tanks": {
+ "delete": {
+ "description": "删除指定网络中的水箱",
+ "operationId": "delete_tanks",
+ "parameters": [
+ {
+ "description": "水箱ID",
+ "in": "query",
+ "name": "tank",
+ "required": true,
+ "schema": {
+ "description": "水箱ID",
+ "title": "Tank",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "删除水箱",
+ "tags": [
+ "Tanks"
+ ]
+ },
+ "get": {
+ "description": "获取指定网络中所有水箱的属性",
+ "operationId": "get_tanks",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "default": 100,
+ "maximum": 1000,
+ "minimum": 1,
+ "title": "Limit",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "query",
+ "name": "offset",
+ "required": false,
+ "schema": {
+ "default": 0,
+ "minimum": 0,
+ "title": "Offset",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Page_dict_str__Any__"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取所有水箱属性",
+ "tags": [
+ "Tanks"
+ ]
+ },
+ "post": {
+ "description": "向指定网络中新增一个水箱",
+ "operationId": "post_tanks",
+ "parameters": [
+ {
+ "description": "水箱ID",
+ "in": "query",
+ "name": "tank",
+ "required": true,
+ "schema": {
+ "description": "水箱ID",
+ "title": "Tank",
+ "type": "string"
+ }
+ },
+ {
+ "description": "X坐标",
+ "in": "query",
+ "name": "x",
+ "required": true,
+ "schema": {
+ "description": "X坐标",
+ "title": "X",
+ "type": "number"
+ }
+ },
+ {
+ "description": "Y坐标",
+ "in": "query",
+ "name": "y",
+ "required": true,
+ "schema": {
+ "description": "Y坐标",
+ "title": "Y",
+ "type": "number"
+ }
+ },
+ {
+ "description": "标高",
+ "in": "query",
+ "name": "elevation",
+ "required": true,
+ "schema": {
+ "description": "标高",
+ "title": "Elevation",
+ "type": "number"
+ }
+ },
+ {
+ "description": "初始水位",
+ "in": "query",
+ "name": "init_level",
+ "required": false,
+ "schema": {
+ "default": 0,
+ "description": "初始水位",
+ "title": "Init Level",
+ "type": "number"
+ }
+ },
+ {
+ "description": "最小水位",
+ "in": "query",
+ "name": "min_level",
+ "required": false,
+ "schema": {
+ "default": 0,
+ "description": "最小水位",
+ "title": "Min Level",
+ "type": "number"
+ }
+ },
+ {
+ "description": "最大水位",
+ "in": "query",
+ "name": "max_level",
+ "required": false,
+ "schema": {
+ "default": 0,
+ "description": "最大水位",
+ "title": "Max Level",
+ "type": "number"
+ }
+ },
+ {
+ "description": "直径",
+ "in": "query",
+ "name": "diameter",
+ "required": false,
+ "schema": {
+ "default": 0,
+ "description": "直径",
+ "title": "Diameter",
+ "type": "number"
+ }
+ },
+ {
+ "description": "最小体积",
+ "in": "query",
+ "name": "min_vol",
+ "required": false,
+ "schema": {
+ "default": 0,
+ "description": "最小体积",
+ "title": "Min Vol",
+ "type": "number"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "新增水箱",
+ "tags": [
+ "Tanks"
+ ]
+ }
+ },
+ "/api/v1/tanks/coord": {
+ "get": {
+ "description": "获取指定水箱的X和Y坐标",
+ "operationId": "get_tanks_coord",
+ "parameters": [
+ {
+ "description": "水箱ID",
+ "in": "query",
+ "name": "tank",
+ "required": true,
+ "schema": {
+ "description": "水箱ID",
+ "title": "Tank",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "additionalProperties": {
+ "type": "number"
+ },
+ "title": "Response Get Tanks Coord",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取水箱坐标",
+ "tags": [
+ "Tanks"
+ ]
+ },
+ "patch": {
+ "description": "设置指定水箱的X和Y坐标",
+ "operationId": "patch_tanks_coord",
+ "parameters": [
+ {
+ "description": "水箱ID",
+ "in": "query",
+ "name": "tank",
+ "required": true,
+ "schema": {
+ "description": "水箱ID",
+ "title": "Tank",
+ "type": "string"
+ }
+ },
+ {
+ "description": "新的X坐标值",
+ "in": "query",
+ "name": "x",
+ "required": true,
+ "schema": {
+ "description": "新的X坐标值",
+ "title": "X",
+ "type": "number"
+ }
+ },
+ {
+ "description": "新的Y坐标值",
+ "in": "query",
+ "name": "y",
+ "required": true,
+ "schema": {
+ "description": "新的Y坐标值",
+ "title": "Y",
+ "type": "number"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置水箱坐标",
+ "tags": [
+ "Tanks"
+ ]
+ }
+ },
+ "/api/v1/tanks/diameter": {
+ "get": {
+ "description": "获取指定水箱的直径值",
+ "operationId": "get_tanks_diameter",
+ "parameters": [
+ {
+ "description": "水箱ID",
+ "in": "query",
+ "name": "tank",
+ "required": true,
+ "schema": {
+ "description": "水箱ID",
+ "title": "Tank",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Response Get Tanks Diameter"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取水箱直径",
+ "tags": [
+ "Tanks"
+ ]
+ },
+ "patch": {
+ "description": "设置指定水箱的直径值",
+ "operationId": "patch_tanks_diameter",
+ "parameters": [
+ {
+ "description": "水箱ID",
+ "in": "query",
+ "name": "tank",
+ "required": true,
+ "schema": {
+ "description": "水箱ID",
+ "title": "Tank",
+ "type": "string"
+ }
+ },
+ {
+ "description": "新的直径值",
+ "in": "query",
+ "name": "diameter",
+ "required": true,
+ "schema": {
+ "description": "新的直径值",
+ "title": "Diameter",
+ "type": "number"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置水箱直径",
+ "tags": [
+ "Tanks"
+ ]
+ }
+ },
+ "/api/v1/tanks/elevation": {
+ "get": {
+ "description": "获取指定水箱的标高值",
+ "operationId": "get_tanks_elevation",
+ "parameters": [
+ {
+ "description": "水箱ID",
+ "in": "query",
+ "name": "tank",
+ "required": true,
+ "schema": {
+ "description": "水箱ID",
+ "title": "Tank",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Response Get Tanks Elevation"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取水箱标高",
+ "tags": [
+ "Tanks"
+ ]
+ },
+ "patch": {
+ "description": "设置指定水箱的标高值",
+ "operationId": "patch_tanks_elevation",
+ "parameters": [
+ {
+ "description": "水箱ID",
+ "in": "query",
+ "name": "tank",
+ "required": true,
+ "schema": {
+ "description": "水箱ID",
+ "title": "Tank",
+ "type": "string"
+ }
+ },
+ {
+ "description": "新的标高值",
+ "in": "query",
+ "name": "elevation",
+ "required": true,
+ "schema": {
+ "description": "新的标高值",
+ "title": "Elevation",
+ "type": "number"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置水箱标高",
+ "tags": [
+ "Tanks"
+ ]
+ }
+ },
+ "/api/v1/tanks/existence": {
+ "get": {
+ "description": "检查指定ID是否为水网中的蓄水池",
+ "operationId": "get_tanks_existence",
+ "parameters": [
+ {
+ "description": "节点ID",
+ "in": "query",
+ "name": "node",
+ "required": true,
+ "schema": {
+ "description": "节点ID",
+ "title": "Node",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Tanks Existence",
+ "type": "boolean"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "检查是否为蓄水池",
+ "tags": [
+ "Network General"
+ ]
+ }
+ },
+ "/api/v1/tanks/init-level": {
+ "get": {
+ "description": "获取指定水箱的初始水位值",
+ "operationId": "get_tanks_init_level",
+ "parameters": [
+ {
+ "description": "水箱ID",
+ "in": "query",
+ "name": "tank",
+ "required": true,
+ "schema": {
+ "description": "水箱ID",
+ "title": "Tank",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Response Get Tanks Init Level"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取水箱初始水位",
+ "tags": [
+ "Tanks"
+ ]
+ },
+ "patch": {
+ "description": "设置指定水箱的初始水位值",
+ "operationId": "patch_tanks_init_level",
+ "parameters": [
+ {
+ "description": "水箱ID",
+ "in": "query",
+ "name": "tank",
+ "required": true,
+ "schema": {
+ "description": "水箱ID",
+ "title": "Tank",
+ "type": "string"
+ }
+ },
+ {
+ "description": "新的初始水位值",
+ "in": "query",
+ "name": "init_level",
+ "required": true,
+ "schema": {
+ "description": "新的初始水位值",
+ "title": "Init Level",
+ "type": "number"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置水箱初始水位",
+ "tags": [
+ "Tanks"
+ ]
+ }
+ },
+ "/api/v1/tanks/max-level": {
+ "get": {
+ "description": "获取指定水箱的最大水位值",
+ "operationId": "get_tanks_max_level",
+ "parameters": [
+ {
+ "description": "水箱ID",
+ "in": "query",
+ "name": "tank",
+ "required": true,
+ "schema": {
+ "description": "水箱ID",
+ "title": "Tank",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Response Get Tanks Max Level"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取水箱最大水位",
+ "tags": [
+ "Tanks"
+ ]
+ },
+ "patch": {
+ "description": "设置指定水箱的最大水位值",
+ "operationId": "patch_tanks_max_level",
+ "parameters": [
+ {
+ "description": "水箱ID",
+ "in": "query",
+ "name": "tank",
+ "required": true,
+ "schema": {
+ "description": "水箱ID",
+ "title": "Tank",
+ "type": "string"
+ }
+ },
+ {
+ "description": "新的最大水位值",
+ "in": "query",
+ "name": "max_level",
+ "required": true,
+ "schema": {
+ "description": "新的最大水位值",
+ "title": "Max Level",
+ "type": "number"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置水箱最大水位",
+ "tags": [
+ "Tanks"
+ ]
+ }
+ },
+ "/api/v1/tanks/min-level": {
+ "get": {
+ "description": "获取指定水箱的最小水位值",
+ "operationId": "get_tanks_min_level",
+ "parameters": [
+ {
+ "description": "水箱ID",
+ "in": "query",
+ "name": "tank",
+ "required": true,
+ "schema": {
+ "description": "水箱ID",
+ "title": "Tank",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Response Get Tanks Min Level"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取水箱最小水位",
+ "tags": [
+ "Tanks"
+ ]
+ },
+ "patch": {
+ "description": "设置指定水箱的最小水位值",
+ "operationId": "patch_tanks_min_level",
+ "parameters": [
+ {
+ "description": "水箱ID",
+ "in": "query",
+ "name": "tank",
+ "required": true,
+ "schema": {
+ "description": "水箱ID",
+ "title": "Tank",
+ "type": "string"
+ }
+ },
+ {
+ "description": "新的最小水位值",
+ "in": "query",
+ "name": "min_level",
+ "required": true,
+ "schema": {
+ "description": "新的最小水位值",
+ "title": "Min Level",
+ "type": "number"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置水箱最小水位",
+ "tags": [
+ "Tanks"
+ ]
+ }
+ },
+ "/api/v1/tanks/min-vol": {
+ "get": {
+ "description": "获取指定水箱的最小体积值",
+ "operationId": "get_tanks_min_vol",
+ "parameters": [
+ {
+ "description": "水箱ID",
+ "in": "query",
+ "name": "tank",
+ "required": true,
+ "schema": {
+ "description": "水箱ID",
+ "title": "Tank",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Response Get Tanks Min Vol"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取水箱最小体积",
+ "tags": [
+ "Tanks"
+ ]
+ },
+ "patch": {
+ "description": "设置指定水箱的最小体积值",
+ "operationId": "patch_tanks_min_vol",
+ "parameters": [
+ {
+ "description": "水箱ID",
+ "in": "query",
+ "name": "tank",
+ "required": true,
+ "schema": {
+ "description": "水箱ID",
+ "title": "Tank",
+ "type": "string"
+ }
+ },
+ {
+ "description": "新的最小体积值",
+ "in": "query",
+ "name": "min_vol",
+ "required": true,
+ "schema": {
+ "description": "新的最小体积值",
+ "title": "Min Vol",
+ "type": "number"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置水箱最小体积",
+ "tags": [
+ "Tanks"
+ ]
+ }
+ },
+ "/api/v1/tanks/overflow": {
+ "get": {
+ "description": "获取指定水箱的溢流口配置",
+ "operationId": "get_tanks_overflow",
+ "parameters": [
+ {
+ "description": "水箱ID",
+ "in": "query",
+ "name": "tank",
+ "required": true,
+ "schema": {
+ "description": "水箱ID",
+ "title": "Tank",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Response Get Tanks Overflow"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取水箱溢流口",
+ "tags": [
+ "Tanks"
+ ]
+ },
+ "patch": {
+ "description": "设置指定水箱的溢流口配置",
+ "operationId": "patch_tanks_overflow",
+ "parameters": [
+ {
+ "description": "水箱ID",
+ "in": "query",
+ "name": "tank",
+ "required": true,
+ "schema": {
+ "description": "水箱ID",
+ "title": "Tank",
+ "type": "string"
+ }
+ },
+ {
+ "description": "新的溢流口配置",
+ "in": "query",
+ "name": "overflow",
+ "required": true,
+ "schema": {
+ "description": "新的溢流口配置",
+ "title": "Overflow",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置水箱溢流口",
+ "tags": [
+ "Tanks"
+ ]
+ }
+ },
+ "/api/v1/tanks/properties": {
+ "get": {
+ "description": "获取指定水箱的所有属性",
+ "operationId": "get_tanks_properties",
+ "parameters": [
+ {
+ "description": "水箱ID",
+ "in": "query",
+ "name": "tank",
+ "required": true,
+ "schema": {
+ "description": "水箱ID",
+ "title": "Tank",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Tanks Properties",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取水箱属性",
+ "tags": [
+ "Tanks"
+ ]
+ },
+ "patch": {
+ "description": "批量设置指定水箱的多个属性",
+ "operationId": "patch_tanks_properties",
+ "parameters": [
+ {
+ "description": "水箱ID",
+ "in": "query",
+ "name": "tank",
+ "required": true,
+ "schema": {
+ "description": "水箱ID",
+ "title": "Tank",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置水箱属性",
+ "tags": [
+ "Tanks"
+ ]
+ }
+ },
+ "/api/v1/tanks/vol-curve": {
+ "get": {
+ "description": "获取指定水箱的容积曲线标识",
+ "operationId": "get_tanks_vol_curve",
+ "parameters": [
+ {
+ "description": "水箱ID",
+ "in": "query",
+ "name": "tank",
+ "required": true,
+ "schema": {
+ "description": "水箱ID",
+ "title": "Tank",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Response Get Tanks Vol Curve"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取水箱容积曲线",
+ "tags": [
+ "Tanks"
+ ]
+ },
+ "patch": {
+ "description": "设置指定水箱的容积曲线标识",
+ "operationId": "patch_tanks_vol_curve",
+ "parameters": [
+ {
+ "description": "水箱ID",
+ "in": "query",
+ "name": "tank",
+ "required": true,
+ "schema": {
+ "description": "水箱ID",
+ "title": "Tank",
+ "type": "string"
+ }
+ },
+ {
+ "description": "新的容积曲线标识",
+ "in": "query",
+ "name": "vol_curve",
+ "required": true,
+ "schema": {
+ "description": "新的容积曲线标识",
+ "title": "Vol Curve",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置水箱容积曲线",
+ "tags": [
+ "Tanks"
+ ]
+ }
+ },
+ "/api/v1/tanks/x": {
+ "get": {
+ "description": "获取指定水箱的X坐标值",
+ "operationId": "get_tanks_x",
+ "parameters": [
+ {
+ "description": "水箱ID",
+ "in": "query",
+ "name": "tank",
+ "required": true,
+ "schema": {
+ "description": "水箱ID",
+ "title": "Tank",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Tanks X",
+ "type": "number"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取水箱X坐标",
+ "tags": [
+ "Tanks"
+ ]
+ },
+ "patch": {
+ "description": "设置指定水箱的X坐标值",
+ "operationId": "patch_tanks_x",
+ "parameters": [
+ {
+ "description": "水箱ID",
+ "in": "query",
+ "name": "tank",
+ "required": true,
+ "schema": {
+ "description": "水箱ID",
+ "title": "Tank",
+ "type": "string"
+ }
+ },
+ {
+ "description": "新的X坐标值",
+ "in": "query",
+ "name": "x",
+ "required": true,
+ "schema": {
+ "description": "新的X坐标值",
+ "title": "X",
+ "type": "number"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置水箱X坐标",
+ "tags": [
+ "Tanks"
+ ]
+ }
+ },
+ "/api/v1/tanks/y": {
+ "get": {
+ "description": "获取指定水箱的Y坐标值",
+ "operationId": "get_tanks_y",
+ "parameters": [
+ {
+ "description": "水箱ID",
+ "in": "query",
+ "name": "tank",
+ "required": true,
+ "schema": {
+ "description": "水箱ID",
+ "title": "Tank",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Tanks Y",
+ "type": "number"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取水箱Y坐标",
+ "tags": [
+ "Tanks"
+ ]
+ },
+ "patch": {
+ "description": "设置指定水箱的Y坐标值",
+ "operationId": "patch_tanks_y",
+ "parameters": [
+ {
+ "description": "水箱ID",
+ "in": "query",
+ "name": "tank",
+ "required": true,
+ "schema": {
+ "description": "水箱ID",
+ "title": "Tank",
+ "type": "string"
+ }
+ },
+ {
+ "description": "新的Y坐标值",
+ "in": "query",
+ "name": "y",
+ "required": true,
+ "schema": {
+ "description": "新的Y坐标值",
+ "title": "Y",
+ "type": "number"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置水箱Y坐标",
+ "tags": [
+ "Tanks"
+ ]
+ }
+ },
+ "/api/v1/time-properties": {
+ "patch": {
+ "description": "更新指定网络中的时间选项属性",
+ "operationId": "patch_time_properties",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置时间选项属性",
+ "tags": [
+ "Options"
+ ]
+ }
+ },
+ "/api/v1/timeseries/realtime/links": {
+ "delete": {
+ "description": "按时间范围删除实时管道数据。start_time 和 end_time 必须显式带时区;允许传 UTC+8,服务端按请求中的绝对时间删除对应 UTC 数据。",
+ "operationId": "delete_timeseries_realtime_links",
+ "parameters": [
+ {
+ "description": "时间范围开始时间。ISO 8601 / RFC 3339 时间,必须显式带时区;可直接传 UTC+8,服务端会先转换为 UTC 再处理。",
+ "in": "query",
+ "name": "start_time",
+ "required": true,
+ "schema": {
+ "description": "时间范围开始时间。ISO 8601 / RFC 3339 时间,必须显式带时区;可直接传 UTC+8,服务端会先转换为 UTC 再处理。",
+ "format": "date-time",
+ "title": "Start Time",
+ "type": "string"
+ }
+ },
+ {
+ "description": "时间范围结束时间。ISO 8601 / RFC 3339 时间,必须显式带时区;可直接传 UTC+8,服务端会先转换为 UTC 再处理。",
+ "in": "query",
+ "name": "end_time",
+ "required": true,
+ "schema": {
+ "description": "时间范围结束时间。ISO 8601 / RFC 3339 时间,必须显式带时区;可直接传 UTC+8,服务端会先转换为 UTC 再处理。",
+ "format": "date-time",
+ "title": "End Time",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "删除实时管道数据",
+ "tags": [
+ "TimescaleDB - Realtime"
+ ]
+ },
+ "get": {
+ "description": "按时间范围查询实时管道数据。start_time 和 end_time 必须显式带时区;允许传 UTC+8,服务端会先归一化为 UTC 再执行查询。",
+ "operationId": "get_timeseries_realtime_links",
+ "parameters": [
+ {
+ "description": "时间范围开始时间。ISO 8601 / RFC 3339 时间,必须显式带时区;可直接传 UTC+8,服务端会先转换为 UTC 再处理。",
+ "in": "query",
+ "name": "start_time",
+ "required": true,
+ "schema": {
+ "description": "时间范围开始时间。ISO 8601 / RFC 3339 时间,必须显式带时区;可直接传 UTC+8,服务端会先转换为 UTC 再处理。",
+ "format": "date-time",
+ "title": "Start Time",
+ "type": "string"
+ }
+ },
+ {
+ "description": "时间范围结束时间。ISO 8601 / RFC 3339 时间,必须显式带时区;可直接传 UTC+8,服务端会先转换为 UTC 再处理。",
+ "in": "query",
+ "name": "end_time",
+ "required": true,
+ "schema": {
+ "description": "时间范围结束时间。ISO 8601 / RFC 3339 时间,必须显式带时区;可直接传 UTC+8,服务端会先转换为 UTC 再处理。",
+ "format": "date-time",
+ "title": "End Time",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "查询实时管道数据",
+ "tags": [
+ "TimescaleDB - Realtime"
+ ]
+ }
+ },
+ "/api/v1/timeseries/realtime/links/batches": {
+ "post": {
+ "description": "批量插入实时管道数据\n\n将管道的实时监测数据批量插入时间序列数据库。\n\nArgs:\n data: 管道数据列表\n \nReturns:\n 插入成功的记录数",
+ "operationId": "post_timeseries_realtime_links_batches",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "管道数据列表,每项包含管道ID、时间戳等信息",
+ "items": {
+ "type": "object"
+ },
+ "title": "Data",
+ "type": "array"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "201": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "批量插入实时管道数据",
+ "tags": [
+ "TimescaleDB - Realtime"
+ ]
+ }
+ },
+ "/api/v1/timeseries/realtime/links/{link_id}/field": {
+ "patch": {
+ "description": "更新指定管道的字段值\n\n更新实时管道在特定时间的某个字段数据。\n\nArgs:\n link_id: 管道ID\n time: 数据时间戳\n field: 字段名称\n value: 字段新值\n \nReturns:\n 更新结果信息\n \nRaises:\n HTTPException: 当字段不存在或更新失败时返回400错误",
+ "operationId": "patch_timeseries_realtime_links_link_id_field",
+ "parameters": [
+ {
+ "description": "管道ID",
+ "in": "path",
+ "name": "link_id",
+ "required": true,
+ "schema": {
+ "description": "管道ID",
+ "title": "Link Id",
+ "type": "string"
+ }
+ },
+ {
+ "description": "要更新记录的时间戳。ISO 8601 / RFC 3339 时间,必须显式带时区;可直接传 UTC+8,服务端会先转换为 UTC 再处理。",
+ "in": "query",
+ "name": "time",
+ "required": true,
+ "schema": {
+ "description": "要更新记录的时间戳。ISO 8601 / RFC 3339 时间,必须显式带时区;可直接传 UTC+8,服务端会先转换为 UTC 再处理。",
+ "format": "date-time",
+ "title": "Time",
+ "type": "string"
+ }
+ },
+ {
+ "description": "要更新的字段名称",
+ "in": "query",
+ "name": "field",
+ "required": true,
+ "schema": {
+ "description": "要更新的字段名称",
+ "title": "Field",
+ "type": "string"
+ }
+ },
+ {
+ "description": "更新的字段值",
+ "in": "query",
+ "name": "value",
+ "required": true,
+ "schema": {
+ "description": "更新的字段值",
+ "title": "Value",
+ "type": "number"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "更新实时管道字段",
+ "tags": [
+ "TimescaleDB - Realtime"
+ ]
+ }
+ },
+ "/api/v1/timeseries/realtime/nodes": {
+ "delete": {
+ "description": "按时间范围删除实时节点数据。start_time 和 end_time 必须显式带时区;允许传 UTC+8,服务端按请求中的绝对时间删除对应 UTC 数据。",
+ "operationId": "delete_timeseries_realtime_nodes",
+ "parameters": [
+ {
+ "description": "时间范围开始时间。ISO 8601 / RFC 3339 时间,必须显式带时区;可直接传 UTC+8,服务端会先转换为 UTC 再处理。",
+ "in": "query",
+ "name": "start_time",
+ "required": true,
+ "schema": {
+ "description": "时间范围开始时间。ISO 8601 / RFC 3339 时间,必须显式带时区;可直接传 UTC+8,服务端会先转换为 UTC 再处理。",
+ "format": "date-time",
+ "title": "Start Time",
+ "type": "string"
+ }
+ },
+ {
+ "description": "时间范围结束时间。ISO 8601 / RFC 3339 时间,必须显式带时区;可直接传 UTC+8,服务端会先转换为 UTC 再处理。",
+ "in": "query",
+ "name": "end_time",
+ "required": true,
+ "schema": {
+ "description": "时间范围结束时间。ISO 8601 / RFC 3339 时间,必须显式带时区;可直接传 UTC+8,服务端会先转换为 UTC 再处理。",
+ "format": "date-time",
+ "title": "End Time",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "删除实时节点数据",
+ "tags": [
+ "TimescaleDB - Realtime"
+ ]
+ },
+ "get": {
+ "description": "按时间范围查询实时节点数据。start_time 和 end_time 必须显式带时区;允许传 UTC+8,服务端会先归一化为 UTC 再执行查询。",
+ "operationId": "get_timeseries_realtime_nodes",
+ "parameters": [
+ {
+ "description": "时间范围开始时间。ISO 8601 / RFC 3339 时间,必须显式带时区;可直接传 UTC+8,服务端会先转换为 UTC 再处理。",
+ "in": "query",
+ "name": "start_time",
+ "required": true,
+ "schema": {
+ "description": "时间范围开始时间。ISO 8601 / RFC 3339 时间,必须显式带时区;可直接传 UTC+8,服务端会先转换为 UTC 再处理。",
+ "format": "date-time",
+ "title": "Start Time",
+ "type": "string"
+ }
+ },
+ {
+ "description": "时间范围结束时间。ISO 8601 / RFC 3339 时间,必须显式带时区;可直接传 UTC+8,服务端会先转换为 UTC 再处理。",
+ "in": "query",
+ "name": "end_time",
+ "required": true,
+ "schema": {
+ "description": "时间范围结束时间。ISO 8601 / RFC 3339 时间,必须显式带时区;可直接传 UTC+8,服务端会先转换为 UTC 再处理。",
+ "format": "date-time",
+ "title": "End Time",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "查询实时节点数据",
+ "tags": [
+ "TimescaleDB - Realtime"
+ ]
+ }
+ },
+ "/api/v1/timeseries/realtime/nodes/batches": {
+ "post": {
+ "description": "批量插入实时节点数据\n\n将节点的实时监测数据批量插入时间序列数据库。\n\nArgs:\n data: 节点数据列表\n \nReturns:\n 插入成功的记录数",
+ "operationId": "post_timeseries_realtime_nodes_batches",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "节点数据列表,每项包含节点ID、时间戳等信息",
+ "items": {
+ "type": "object"
+ },
+ "title": "Data",
+ "type": "array"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "201": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "批量插入实时节点数据",
+ "tags": [
+ "TimescaleDB - Realtime"
+ ]
+ }
+ },
+ "/api/v1/timeseries/realtime/records": {
+ "get": {
+ "description": "查询指定时间点的实时属性值。query_time 必须显式带时区;允许传 UTC+8,服务端会先归一化为 UTC 再执行查询。",
+ "operationId": "get_timeseries_realtime_records",
+ "parameters": [
+ {
+ "description": "查询时间。ISO 8601 / RFC 3339 时间,必须显式带时区;可直接传 UTC+8,服务端会先转换为 UTC 再处理。",
+ "in": "query",
+ "name": "query_time",
+ "required": true,
+ "schema": {
+ "description": "查询时间。ISO 8601 / RFC 3339 时间,必须显式带时区;可直接传 UTC+8,服务端会先转换为 UTC 再处理。",
+ "title": "Query Time",
+ "type": "string"
+ }
+ },
+ {
+ "description": "数据类型,pipe(管道)或 junction(节点)",
+ "in": "query",
+ "name": "type",
+ "required": true,
+ "schema": {
+ "description": "数据类型,pipe(管道)或 junction(节点)",
+ "title": "Type",
+ "type": "string"
+ }
+ },
+ {
+ "description": "要查询的属性名称",
+ "in": "query",
+ "name": "property",
+ "required": true,
+ "schema": {
+ "description": "要查询的属性名称",
+ "title": "Property",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "按时间和属性查询实时数据",
+ "tags": [
+ "TimescaleDB - Realtime"
+ ]
+ }
+ },
+ "/api/v1/timeseries/realtime/simulation-results": {
+ "get": {
+ "description": "查询指定元素在某一时间点的实时模拟结果。query_time 必须显式带时区;允许传 UTC+8,服务端会先归一化为 UTC 再执行查询。",
+ "operationId": "get_timeseries_realtime_simulation_results",
+ "parameters": [
+ {
+ "description": "元素ID(管道ID或节点ID)",
+ "in": "query",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "description": "元素ID(管道ID或节点ID)",
+ "title": "Id",
+ "type": "string"
+ }
+ },
+ {
+ "description": "元素类型,pipe(管道)或 junction(节点)",
+ "in": "query",
+ "name": "type",
+ "required": true,
+ "schema": {
+ "description": "元素类型,pipe(管道)或 junction(节点)",
+ "title": "Type",
+ "type": "string"
+ }
+ },
+ {
+ "description": "查询时间。ISO 8601 / RFC 3339 时间,必须显式带时区;可直接传 UTC+8,服务端会先转换为 UTC 再处理。",
+ "in": "query",
+ "name": "query_time",
+ "required": true,
+ "schema": {
+ "description": "查询时间。ISO 8601 / RFC 3339 时间,必须显式带时区;可直接传 UTC+8,服务端会先转换为 UTC 再处理。",
+ "title": "Query Time",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "按ID和时间查询实时模拟数据",
+ "tags": [
+ "TimescaleDB - Realtime"
+ ]
+ },
+ "post": {
+ "description": "存储实时模拟结果到时间序列数据库\n\n将节点和管道的实时模拟计算结果批量存储到TimescaleDB数据库。\n\nArgs:\n node_result_list: 节点模拟结果列表\n link_result_list: 管道模拟结果列表\n result_start_time: 模拟结果对应的起始时间\n \nReturns:\n 存储结果信息",
+ "operationId": "post_timeseries_realtime_simulation_results",
+ "parameters": [
+ {
+ "description": "模拟结果开始时间。ISO 8601 / RFC 3339 时间,必须显式带时区;可直接传 UTC+8,服务端会先转换为 UTC 再处理。",
+ "in": "query",
+ "name": "result_start_time",
+ "required": true,
+ "schema": {
+ "description": "模拟结果开始时间。ISO 8601 / RFC 3339 时间,必须显式带时区;可直接传 UTC+8,服务端会先转换为 UTC 再处理。",
+ "title": "Result Start Time",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Body_post_timeseries_realtime_simulation_results"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "201": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "存储实时模拟结果",
+ "tags": [
+ "TimescaleDB - Realtime"
+ ]
+ }
+ },
+ "/api/v1/timeseries/scada-cleaning-runs": {
+ "post": {
+ "description": "清洗SCADA监测数据\n\n根据device_ids查询monitored_value,清洗后更新cleaned_value。\n支持清洗指定设备或所有设备的数据。\n\nArgs:\n device_ids: 设备ID列表,用逗号分隔,或 'all' 表示清洗所有设备\n start_time: 清洗数据的开始时间\n end_time: 清洗数据的结束时间\n timescale_conn: TimescaleDB连接\n postgres_conn: PostgreSQL连接\n \nReturns:\n 清洗结果信息\n \nRaises:\n HTTPException: 当清洗过程出现错误时返回400错误",
+ "operationId": "post_timeseries_scada_cleaning_runs",
+ "parameters": [
+ {
+ "description": "设备ID列表或 'all' 表示清洗所有设备",
+ "in": "query",
+ "name": "device_ids",
+ "required": true,
+ "schema": {
+ "description": "设备ID列表或 'all' 表示清洗所有设备",
+ "title": "Device Ids",
+ "type": "string"
+ }
+ },
+ {
+ "description": "清洗数据的开始时间",
+ "in": "query",
+ "name": "start_time",
+ "required": true,
+ "schema": {
+ "description": "清洗数据的开始时间",
+ "format": "date-time",
+ "title": "Start Time",
+ "type": "string"
+ }
+ },
+ {
+ "description": "清洗数据的结束时间",
+ "in": "query",
+ "name": "end_time",
+ "required": true,
+ "schema": {
+ "description": "清洗数据的结束时间",
+ "format": "date-time",
+ "title": "End Time",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "清洗SCADA监测数据",
+ "tags": [
+ "TimescaleDB - Composite"
+ ]
+ }
+ },
+ "/api/v1/timeseries/scada-readings": {
+ "delete": {
+ "description": "删除指定设备和时间范围内的SCADA数据\n\n删除在指定时间范围内的特定设备监测数据。\n\nArgs:\n device_id: 设备ID\n start_time: 删除开始时间\n end_time: 删除结束时间\n\nReturns:\n 删除结果信息",
+ "operationId": "delete_timeseries_scada_readings",
+ "parameters": [
+ {
+ "description": "设备ID",
+ "in": "query",
+ "name": "device_id",
+ "required": true,
+ "schema": {
+ "description": "设备ID",
+ "title": "Device Id",
+ "type": "string"
+ }
+ },
+ {
+ "description": "删除开始时间",
+ "in": "query",
+ "name": "start_time",
+ "required": true,
+ "schema": {
+ "description": "删除开始时间",
+ "format": "date-time",
+ "title": "Start Time",
+ "type": "string"
+ }
+ },
+ {
+ "description": "删除结束时间",
+ "in": "query",
+ "name": "end_time",
+ "required": true,
+ "schema": {
+ "description": "删除结束时间",
+ "format": "date-time",
+ "title": "End Time",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "按设备ID和时间范围删除SCADA数据",
+ "tags": [
+ "TimescaleDB - SCADA"
+ ]
+ },
+ "get": {
+ "description": "按设备ID和时间范围查询SCADA监测数据\n\n查询多个设备在指定时间范围内的所有监测数据。\n\nArgs:\n start_time: 查询开始时间\n end_time: 查询结束时间\n device_ids: 设备ID列表,用逗号分隔\n\nReturns:\n SCADA监测数据列表",
+ "operationId": "get_timeseries_scada_readings",
+ "parameters": [
+ {
+ "description": "查询开始时间",
+ "in": "query",
+ "name": "start_time",
+ "required": true,
+ "schema": {
+ "description": "查询开始时间",
+ "format": "date-time",
+ "title": "Start Time",
+ "type": "string"
+ }
+ },
+ {
+ "description": "查询结束时间",
+ "in": "query",
+ "name": "end_time",
+ "required": true,
+ "schema": {
+ "description": "查询结束时间",
+ "format": "date-time",
+ "title": "End Time",
+ "type": "string"
+ }
+ },
+ {
+ "description": "设备ID列表,逗号分隔,如 'device1,device2,device3'",
+ "in": "query",
+ "name": "device_ids",
+ "required": true,
+ "schema": {
+ "description": "设备ID列表,逗号分隔,如 'device1,device2,device3'",
+ "title": "Device Ids",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "按设备ID和时间范围查询SCADA数据",
+ "tags": [
+ "TimescaleDB - SCADA"
+ ]
+ }
+ },
+ "/api/v1/timeseries/scada-readings/batches": {
+ "post": {
+ "description": "批量插入SCADA监测数据\n\n将多个设备的实时监测数据批量插入时间序列数据库。\n\nArgs:\n data: SCADA设备监测数据列表,每项包含device_id、时间戳和监测值等信息\n\nReturns:\n 插入成功的记录数",
+ "operationId": "post_timeseries_scada_readings_batches",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "SCADA设备监测数据列表",
+ "items": {
+ "type": "object"
+ },
+ "title": "Data",
+ "type": "array"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "201": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "批量插入SCADA监测数据",
+ "tags": [
+ "TimescaleDB - SCADA"
+ ]
+ }
+ },
+ "/api/v1/timeseries/scada-readings/fields": {
+ "get": {
+ "description": "按设备ID、字段和时间范围查询特定SCADA数据\n\n查询多个设备在指定时间范围内的特定字段监测数据。\n\nArgs:\n start_time: 查询开始时间\n end_time: 查询结束时间\n field: 字段名称\n device_ids: 设备ID列表,用逗号分隔\n\nReturns:\n SCADA字段数据列表\n\nRaises:\n HTTPException: 当字段不存在或查询参数无效时返回400错误",
+ "operationId": "get_timeseries_scada_readings_fields",
+ "parameters": [
+ {
+ "description": "查询开始时间",
+ "in": "query",
+ "name": "start_time",
+ "required": true,
+ "schema": {
+ "description": "查询开始时间",
+ "format": "date-time",
+ "title": "Start Time",
+ "type": "string"
+ }
+ },
+ {
+ "description": "查询结束时间",
+ "in": "query",
+ "name": "end_time",
+ "required": true,
+ "schema": {
+ "description": "查询结束时间",
+ "format": "date-time",
+ "title": "End Time",
+ "type": "string"
+ }
+ },
+ {
+ "description": "要查询的字段名称",
+ "in": "query",
+ "name": "field",
+ "required": true,
+ "schema": {
+ "description": "要查询的字段名称",
+ "title": "Field",
+ "type": "string"
+ }
+ },
+ {
+ "description": "设备ID列表,逗号分隔,如 'device1,device2,device3'",
+ "in": "query",
+ "name": "device_ids",
+ "required": true,
+ "schema": {
+ "description": "设备ID列表,逗号分隔,如 'device1,device2,device3'",
+ "title": "Device Ids",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "按设备ID、字段和时间范围查询SCADA数据",
+ "tags": [
+ "TimescaleDB - SCADA"
+ ]
+ }
+ },
+ "/api/v1/timeseries/scada-readings/{device_id}/field": {
+ "patch": {
+ "description": "更新指定设备的字段值\n\n更新SCADA设备在特定时间的某个字段监测数据。\n\nArgs:\n device_id: 设备ID\n time: 数据时间戳\n field: 字段名称\n value: 字段新值\n\nReturns:\n 更新结果信息\n\nRaises:\n HTTPException: 当字段不存在或更新失败时返回400错误",
+ "operationId": "patch_timeseries_scada_readings_device_id_field",
+ "parameters": [
+ {
+ "description": "设备ID",
+ "in": "path",
+ "name": "device_id",
+ "required": true,
+ "schema": {
+ "description": "设备ID",
+ "title": "Device Id",
+ "type": "string"
+ }
+ },
+ {
+ "description": "更新数据的时间戳",
+ "in": "query",
+ "name": "time",
+ "required": true,
+ "schema": {
+ "description": "更新数据的时间戳",
+ "format": "date-time",
+ "title": "Time",
+ "type": "string"
+ }
+ },
+ {
+ "description": "要更新的字段名称",
+ "in": "query",
+ "name": "field",
+ "required": true,
+ "schema": {
+ "description": "要更新的字段名称",
+ "title": "Field",
+ "type": "string"
+ }
+ },
+ {
+ "description": "更新的字段值",
+ "in": "query",
+ "name": "value",
+ "required": true,
+ "schema": {
+ "description": "更新的字段值",
+ "title": "Value",
+ "type": "number"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "更新SCADA设备字段",
+ "tags": [
+ "TimescaleDB - SCADA"
+ ]
+ }
+ },
+ "/api/v1/timeseries/schemes/links": {
+ "delete": {
+ "description": "删除指定方案和时间范围内的管道数据\n\n删除在指定方案和时间范围内的所有管道模拟数据。\n\nArgs:\n scheme_type: 方案类型\n scheme_name: 方案名称\n start_time: 删除开始时间\n end_time: 删除结束时间\n\nReturns:\n 删除结果信息",
+ "operationId": "delete_timeseries_schemes_links",
+ "parameters": [
+ {
+ "description": "方案类型",
+ "in": "query",
+ "name": "scheme_type",
+ "required": true,
+ "schema": {
+ "description": "方案类型",
+ "title": "Scheme Type",
+ "type": "string"
+ }
+ },
+ {
+ "description": "方案名称",
+ "in": "query",
+ "name": "scheme_name",
+ "required": true,
+ "schema": {
+ "description": "方案名称",
+ "title": "Scheme Name",
+ "type": "string"
+ }
+ },
+ {
+ "description": "删除开始时间",
+ "in": "query",
+ "name": "start_time",
+ "required": true,
+ "schema": {
+ "description": "删除开始时间",
+ "format": "date-time",
+ "title": "Start Time",
+ "type": "string"
+ }
+ },
+ {
+ "description": "删除结束时间",
+ "in": "query",
+ "name": "end_time",
+ "required": true,
+ "schema": {
+ "description": "删除结束时间",
+ "format": "date-time",
+ "title": "End Time",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "删除方案管道数据",
+ "tags": [
+ "TimescaleDB - Scheme"
+ ]
+ },
+ "get": {
+ "description": "查询指定方案和时间范围内的管道数据\n\n根据方案和时间范围查询管道的模拟值。\n\nArgs:\n scheme_type: 方案类型\n scheme_name: 方案名称\n start_time: 查询开始时间\n end_time: 查询结束时间\n\nReturns:\n 方案管道数据列表",
+ "operationId": "get_timeseries_schemes_links",
+ "parameters": [
+ {
+ "description": "方案类型",
+ "in": "query",
+ "name": "scheme_type",
+ "required": true,
+ "schema": {
+ "description": "方案类型",
+ "title": "Scheme Type",
+ "type": "string"
+ }
+ },
+ {
+ "description": "方案名称",
+ "in": "query",
+ "name": "scheme_name",
+ "required": true,
+ "schema": {
+ "description": "方案名称",
+ "title": "Scheme Name",
+ "type": "string"
+ }
+ },
+ {
+ "description": "查询开始时间",
+ "in": "query",
+ "name": "start_time",
+ "required": true,
+ "schema": {
+ "description": "查询开始时间",
+ "format": "date-time",
+ "title": "Start Time",
+ "type": "string"
+ }
+ },
+ {
+ "description": "查询结束时间",
+ "in": "query",
+ "name": "end_time",
+ "required": true,
+ "schema": {
+ "description": "查询结束时间",
+ "format": "date-time",
+ "title": "End Time",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "查询方案管道数据",
+ "tags": [
+ "TimescaleDB - Scheme"
+ ]
+ }
+ },
+ "/api/v1/timeseries/schemes/links/batches": {
+ "post": {
+ "description": "批量插入方案管道数据\n\n将特定方案的管道模拟数据批量插入时间序列数据库。\n\nArgs:\n data: 方案管道数据列表\n\nReturns:\n 插入成功的记录数",
+ "operationId": "post_timeseries_schemes_links_batches",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "方案管道数据列表",
+ "items": {
+ "type": "object"
+ },
+ "title": "Data",
+ "type": "array"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "201": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "批量插入方案管道数据",
+ "tags": [
+ "TimescaleDB - Scheme"
+ ]
+ }
+ },
+ "/api/v1/timeseries/schemes/links/{link_id}/field": {
+ "get": {
+ "description": "查询指定方案管道的特定字段数据\n\n查询特定方案中指定管道在时间范围内的特定字段值。\n\nArgs:\n link_id: 管道ID\n scheme_type: 方案类型\n scheme_name: 方案名称\n start_time: 查询开始时间\n end_time: 查询结束时间\n field: 字段名称\n\nReturns:\n 字段数据列表\n\nRaises:\n HTTPException: 当查询参数无效时返回400错误",
+ "operationId": "get_timeseries_schemes_links_link_id_field",
+ "parameters": [
+ {
+ "description": "管道ID",
+ "in": "path",
+ "name": "link_id",
+ "required": true,
+ "schema": {
+ "description": "管道ID",
+ "title": "Link Id",
+ "type": "string"
+ }
+ },
+ {
+ "description": "方案类型",
+ "in": "query",
+ "name": "scheme_type",
+ "required": true,
+ "schema": {
+ "description": "方案类型",
+ "title": "Scheme Type",
+ "type": "string"
+ }
+ },
+ {
+ "description": "方案名称",
+ "in": "query",
+ "name": "scheme_name",
+ "required": true,
+ "schema": {
+ "description": "方案名称",
+ "title": "Scheme Name",
+ "type": "string"
+ }
+ },
+ {
+ "description": "查询开始时间",
+ "in": "query",
+ "name": "start_time",
+ "required": true,
+ "schema": {
+ "description": "查询开始时间",
+ "format": "date-time",
+ "title": "Start Time",
+ "type": "string"
+ }
+ },
+ {
+ "description": "查询结束时间",
+ "in": "query",
+ "name": "end_time",
+ "required": true,
+ "schema": {
+ "description": "查询结束时间",
+ "format": "date-time",
+ "title": "End Time",
+ "type": "string"
+ }
+ },
+ {
+ "description": "要查询的字段名称",
+ "in": "query",
+ "name": "field",
+ "required": true,
+ "schema": {
+ "description": "要查询的字段名称",
+ "title": "Field",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "查询方案管道字段数据",
+ "tags": [
+ "TimescaleDB - Scheme"
+ ]
+ },
+ "patch": {
+ "description": "更新指定方案管道的字段值\n\n更新特定方案中指定管道在某个时间的字段数据。\n\nArgs:\n link_id: 管道ID\n scheme_type: 方案类型\n scheme_name: 方案名称\n time: 数据时间戳\n field: 字段名称\n value: 字段新值\n\nReturns:\n 更新结果信息\n\nRaises:\n HTTPException: 当字段不存在或更新失败时返回400错误",
+ "operationId": "patch_timeseries_schemes_links_link_id_field",
+ "parameters": [
+ {
+ "description": "管道ID",
+ "in": "path",
+ "name": "link_id",
+ "required": true,
+ "schema": {
+ "description": "管道ID",
+ "title": "Link Id",
+ "type": "string"
+ }
+ },
+ {
+ "description": "方案类型",
+ "in": "query",
+ "name": "scheme_type",
+ "required": true,
+ "schema": {
+ "description": "方案类型",
+ "title": "Scheme Type",
+ "type": "string"
+ }
+ },
+ {
+ "description": "方案名称",
+ "in": "query",
+ "name": "scheme_name",
+ "required": true,
+ "schema": {
+ "description": "方案名称",
+ "title": "Scheme Name",
+ "type": "string"
+ }
+ },
+ {
+ "description": "更新数据的时间戳",
+ "in": "query",
+ "name": "time",
+ "required": true,
+ "schema": {
+ "description": "更新数据的时间戳",
+ "format": "date-time",
+ "title": "Time",
+ "type": "string"
+ }
+ },
+ {
+ "description": "要更新的字段名称",
+ "in": "query",
+ "name": "field",
+ "required": true,
+ "schema": {
+ "description": "要更新的字段名称",
+ "title": "Field",
+ "type": "string"
+ }
+ },
+ {
+ "description": "更新的字段值",
+ "in": "query",
+ "name": "value",
+ "required": true,
+ "schema": {
+ "description": "更新的字段值",
+ "title": "Value",
+ "type": "number"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "更新方案管道字段",
+ "tags": [
+ "TimescaleDB - Scheme"
+ ]
+ }
+ },
+ "/api/v1/timeseries/schemes/nodes": {
+ "delete": {
+ "description": "删除指定方案和时间范围内的节点数据\n\n删除在指定方案和时间范围内的所有节点模拟数据。\n\nArgs:\n scheme_type: 方案类型\n scheme_name: 方案名称\n start_time: 删除开始时间\n end_time: 删除结束时间\n\nReturns:\n 删除结果信息",
+ "operationId": "delete_timeseries_schemes_nodes",
+ "parameters": [
+ {
+ "description": "方案类型",
+ "in": "query",
+ "name": "scheme_type",
+ "required": true,
+ "schema": {
+ "description": "方案类型",
+ "title": "Scheme Type",
+ "type": "string"
+ }
+ },
+ {
+ "description": "方案名称",
+ "in": "query",
+ "name": "scheme_name",
+ "required": true,
+ "schema": {
+ "description": "方案名称",
+ "title": "Scheme Name",
+ "type": "string"
+ }
+ },
+ {
+ "description": "删除开始时间",
+ "in": "query",
+ "name": "start_time",
+ "required": true,
+ "schema": {
+ "description": "删除开始时间",
+ "format": "date-time",
+ "title": "Start Time",
+ "type": "string"
+ }
+ },
+ {
+ "description": "删除结束时间",
+ "in": "query",
+ "name": "end_time",
+ "required": true,
+ "schema": {
+ "description": "删除结束时间",
+ "format": "date-time",
+ "title": "End Time",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "删除方案节点数据",
+ "tags": [
+ "TimescaleDB - Scheme"
+ ]
+ }
+ },
+ "/api/v1/timeseries/schemes/nodes/batches": {
+ "post": {
+ "description": "批量插入方案节点数据\n\n将特定方案的节点模拟数据批量插入时间序列数据库。\n\nArgs:\n data: 方案节点数据列表\n\nReturns:\n 插入成功的记录数",
+ "operationId": "post_timeseries_schemes_nodes_batches",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "方案节点数据列表",
+ "items": {
+ "type": "object"
+ },
+ "title": "Data",
+ "type": "array"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "201": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "批量插入方案节点数据",
+ "tags": [
+ "TimescaleDB - Scheme"
+ ]
+ }
+ },
+ "/api/v1/timeseries/schemes/nodes/{node_id}/field": {
+ "get": {
+ "description": "查询指定方案节点的特定字段数据\n\n查询特定方案中指定节点在时间范围内的特定字段值。\n\nArgs:\n node_id: 节点ID\n scheme_type: 方案类型\n scheme_name: 方案名称\n start_time: 查询开始时间\n end_time: 查询结束时间\n field: 字段名称\n\nReturns:\n 字段数据列表\n\nRaises:\n HTTPException: 当查询参数无效时返回400错误",
+ "operationId": "get_timeseries_schemes_nodes_node_id_field",
+ "parameters": [
+ {
+ "description": "节点ID",
+ "in": "path",
+ "name": "node_id",
+ "required": true,
+ "schema": {
+ "description": "节点ID",
+ "title": "Node Id",
+ "type": "string"
+ }
+ },
+ {
+ "description": "方案类型",
+ "in": "query",
+ "name": "scheme_type",
+ "required": true,
+ "schema": {
+ "description": "方案类型",
+ "title": "Scheme Type",
+ "type": "string"
+ }
+ },
+ {
+ "description": "方案名称",
+ "in": "query",
+ "name": "scheme_name",
+ "required": true,
+ "schema": {
+ "description": "方案名称",
+ "title": "Scheme Name",
+ "type": "string"
+ }
+ },
+ {
+ "description": "查询开始时间",
+ "in": "query",
+ "name": "start_time",
+ "required": true,
+ "schema": {
+ "description": "查询开始时间",
+ "format": "date-time",
+ "title": "Start Time",
+ "type": "string"
+ }
+ },
+ {
+ "description": "查询结束时间",
+ "in": "query",
+ "name": "end_time",
+ "required": true,
+ "schema": {
+ "description": "查询结束时间",
+ "format": "date-time",
+ "title": "End Time",
+ "type": "string"
+ }
+ },
+ {
+ "description": "要查询的字段名称",
+ "in": "query",
+ "name": "field",
+ "required": true,
+ "schema": {
+ "description": "要查询的字段名称",
+ "title": "Field",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "查询方案节点字段数据",
+ "tags": [
+ "TimescaleDB - Scheme"
+ ]
+ },
+ "patch": {
+ "description": "更新指定方案节点的字段值\n\n更新特定方案中指定节点在某个时间的字段数据。\n\nArgs:\n node_id: 节点ID\n scheme_type: 方案类型\n scheme_name: 方案名称\n time: 数据时间戳\n field: 字段名称\n value: 字段新值\n\nReturns:\n 更新结果信息\n\nRaises:\n HTTPException: 当字段不存在或更新失败时返回400错误",
+ "operationId": "patch_timeseries_schemes_nodes_node_id_field",
+ "parameters": [
+ {
+ "description": "节点ID",
+ "in": "path",
+ "name": "node_id",
+ "required": true,
+ "schema": {
+ "description": "节点ID",
+ "title": "Node Id",
+ "type": "string"
+ }
+ },
+ {
+ "description": "方案类型",
+ "in": "query",
+ "name": "scheme_type",
+ "required": true,
+ "schema": {
+ "description": "方案类型",
+ "title": "Scheme Type",
+ "type": "string"
+ }
+ },
+ {
+ "description": "方案名称",
+ "in": "query",
+ "name": "scheme_name",
+ "required": true,
+ "schema": {
+ "description": "方案名称",
+ "title": "Scheme Name",
+ "type": "string"
+ }
+ },
+ {
+ "description": "更新数据的时间戳",
+ "in": "query",
+ "name": "time",
+ "required": true,
+ "schema": {
+ "description": "更新数据的时间戳",
+ "format": "date-time",
+ "title": "Time",
+ "type": "string"
+ }
+ },
+ {
+ "description": "要更新的字段名称",
+ "in": "query",
+ "name": "field",
+ "required": true,
+ "schema": {
+ "description": "要更新的字段名称",
+ "title": "Field",
+ "type": "string"
+ }
+ },
+ {
+ "description": "更新的字段值",
+ "in": "query",
+ "name": "value",
+ "required": true,
+ "schema": {
+ "description": "更新的字段值",
+ "title": "Value",
+ "type": "number"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "更新方案节点字段",
+ "tags": [
+ "TimescaleDB - Scheme"
+ ]
+ }
+ },
+ "/api/v1/timeseries/schemes/records": {
+ "get": {
+ "description": "按指定方案、时间和属性查询所有方案数据\n\n查询在特定方案和时间点,所有指定类型元素的特定属性值。\n\nArgs:\n scheme_type: 方案类型\n scheme_name: 方案名称\n query_time: 查询时间\n type: 元素类型(pipe或junction)\n property: 属性名称\n\nReturns:\n 查询结果列表\n\nRaises:\n HTTPException: 当查询参数无效时返回400错误",
+ "operationId": "get_timeseries_schemes_records",
+ "parameters": [
+ {
+ "description": "方案类型",
+ "in": "query",
+ "name": "scheme_type",
+ "required": true,
+ "schema": {
+ "description": "方案类型",
+ "title": "Scheme Type",
+ "type": "string"
+ }
+ },
+ {
+ "description": "方案名称",
+ "in": "query",
+ "name": "scheme_name",
+ "required": true,
+ "schema": {
+ "description": "方案名称",
+ "title": "Scheme Name",
+ "type": "string"
+ }
+ },
+ {
+ "description": "查询时间",
+ "in": "query",
+ "name": "query_time",
+ "required": true,
+ "schema": {
+ "description": "查询时间",
+ "title": "Query Time",
+ "type": "string"
+ }
+ },
+ {
+ "description": "元素类型,pipe(管道)或 junction(节点)",
+ "in": "query",
+ "name": "type",
+ "required": true,
+ "schema": {
+ "description": "元素类型,pipe(管道)或 junction(节点)",
+ "title": "Type",
+ "type": "string"
+ }
+ },
+ {
+ "description": "要查询的属性名称",
+ "in": "query",
+ "name": "property",
+ "required": true,
+ "schema": {
+ "description": "要查询的属性名称",
+ "title": "Property",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "按方案、时间和属性查询数据",
+ "tags": [
+ "TimescaleDB - Scheme"
+ ]
+ }
+ },
+ "/api/v1/timeseries/schemes/simulation-results": {
+ "get": {
+ "description": "按指定ID和时间查询方案模拟结果\n\n查询特定方案中的元素在某一时间点的模拟数据。\n\nArgs:\n scheme_type: 方案类型\n scheme_name: 方案名称\n id: 元素ID\n type: 元素类型(pipe或junction)\n query_time: 查询时间\n\nReturns:\n 模拟结果数据\n\nRaises:\n HTTPException: 当查询参数无效时返回400错误",
+ "operationId": "get_timeseries_schemes_simulation_results",
+ "parameters": [
+ {
+ "description": "方案类型",
+ "in": "query",
+ "name": "scheme_type",
+ "required": true,
+ "schema": {
+ "description": "方案类型",
+ "title": "Scheme Type",
+ "type": "string"
+ }
+ },
+ {
+ "description": "方案名称",
+ "in": "query",
+ "name": "scheme_name",
+ "required": true,
+ "schema": {
+ "description": "方案名称",
+ "title": "Scheme Name",
+ "type": "string"
+ }
+ },
+ {
+ "description": "元素ID(管道ID或节点ID)",
+ "in": "query",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "description": "元素ID(管道ID或节点ID)",
+ "title": "Id",
+ "type": "string"
+ }
+ },
+ {
+ "description": "元素类型,pipe(管道)或 junction(节点)",
+ "in": "query",
+ "name": "type",
+ "required": true,
+ "schema": {
+ "description": "元素类型,pipe(管道)或 junction(节点)",
+ "title": "Type",
+ "type": "string"
+ }
+ },
+ {
+ "description": "查询时间",
+ "in": "query",
+ "name": "query_time",
+ "required": true,
+ "schema": {
+ "description": "查询时间",
+ "title": "Query Time",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "按ID和时间查询方案模拟数据",
+ "tags": [
+ "TimescaleDB - Scheme"
+ ]
+ },
+ "post": {
+ "description": "存储方案模拟结果到时间序列数据库\n\n将特定方案的节点和管道模拟计算结果批量存储到TimescaleDB数据库。\n\nArgs:\n scheme_type: 方案类型\n scheme_name: 方案名称\n node_result_list: 节点模拟结果列表\n link_result_list: 管道模拟结果列表\n result_start_time: 模拟结果对应的起始时间\n\nReturns:\n 存储结果信息",
+ "operationId": "post_timeseries_schemes_simulation_results",
+ "parameters": [
+ {
+ "description": "方案类型",
+ "in": "query",
+ "name": "scheme_type",
+ "required": true,
+ "schema": {
+ "description": "方案类型",
+ "title": "Scheme Type",
+ "type": "string"
+ }
+ },
+ {
+ "description": "方案名称",
+ "in": "query",
+ "name": "scheme_name",
+ "required": true,
+ "schema": {
+ "description": "方案名称",
+ "title": "Scheme Name",
+ "type": "string"
+ }
+ },
+ {
+ "description": "模拟结果开始时间",
+ "in": "query",
+ "name": "result_start_time",
+ "required": true,
+ "schema": {
+ "description": "模拟结果开始时间",
+ "title": "Result Start Time",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Body_post_timeseries_schemes_simulation_results"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "201": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "存储方案模拟结果",
+ "tags": [
+ "TimescaleDB - Scheme"
+ ]
+ }
+ },
+ "/api/v1/timeseries/views/element-scada-readings": {
+ "get": {
+ "description": "获取link/node关联的SCADA监测值\n\n根据传入的link/node id,匹配SCADA信息,\n如果存在关联的SCADA device_id,获取实际的监测数据。\n\nArgs:\n element_id: 管网元素ID\n start_time: 查询开始时间\n end_time: 查询结束时间\n use_cleaned: 是否使用清洗后的数据,默认为False使用原始数据\n timescale_conn: TimescaleDB连接\n postgres_conn: PostgreSQL连接\n \nReturns:\n 管网元素关联的SCADA监测数据\n \nRaises:\n HTTPException: 当查询参数无效时返回400错误,未找到关联数据返回404错误",
+ "operationId": "get_timeseries_views_element_scada_readings",
+ "parameters": [
+ {
+ "description": "管网元素ID(管道或节点)",
+ "in": "query",
+ "name": "element_id",
+ "required": true,
+ "schema": {
+ "description": "管网元素ID(管道或节点)",
+ "title": "Element Id",
+ "type": "string"
+ }
+ },
+ {
+ "description": "查询开始时间",
+ "in": "query",
+ "name": "start_time",
+ "required": true,
+ "schema": {
+ "description": "查询开始时间",
+ "format": "date-time",
+ "title": "Start Time",
+ "type": "string"
+ }
+ },
+ {
+ "description": "查询结束时间",
+ "in": "query",
+ "name": "end_time",
+ "required": true,
+ "schema": {
+ "description": "查询结束时间",
+ "format": "date-time",
+ "title": "End Time",
+ "type": "string"
+ }
+ },
+ {
+ "description": "是否使用清洗后的数据",
+ "in": "query",
+ "name": "use_cleaned",
+ "required": false,
+ "schema": {
+ "default": false,
+ "description": "是否使用清洗后的数据",
+ "title": "Use Cleaned",
+ "type": "boolean"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取管网元素关联的SCADA监测数据",
+ "tags": [
+ "TimescaleDB - Composite"
+ ]
+ }
+ },
+ "/api/v1/timeseries/views/element-simulations": {
+ "get": {
+ "description": "获取link/node模拟值\n\n根据传入的featureInfos,找到关联的link/node,\n并根据对应的type,查询对应的模拟数据。支持查询实时或方案数据。\n\nArgs:\n start_time: 查询开始时间\n end_time: 查询结束时间\n feature_infos: 格式为 \"element_id1:type1,element_id2:type2\"\n 例如: \"P1:pipe,J1:junction\"\n scheme_type: 方案类型,若为空则查询实时数据\n scheme_name: 方案名称,若为空则查询实时数据\n timescale_conn: TimescaleDB连接\n \nReturns:\n 管网元素的模拟数据\n \nRaises:\n HTTPException: 当feature_infos为空返回400错误,未找到数据返回404错误,其他错误返回400错误",
+ "operationId": "get_timeseries_views_element_simulations",
+ "parameters": [
+ {
+ "description": "查询开始时间",
+ "in": "query",
+ "name": "start_time",
+ "required": true,
+ "schema": {
+ "description": "查询开始时间",
+ "format": "date-time",
+ "title": "Start Time",
+ "type": "string"
+ }
+ },
+ {
+ "description": "查询结束时间",
+ "in": "query",
+ "name": "end_time",
+ "required": true,
+ "schema": {
+ "description": "查询结束时间",
+ "format": "date-time",
+ "title": "End Time",
+ "type": "string"
+ }
+ },
+ {
+ "description": "特征信息,格式: id1:type1,id2:type2,type为pipe(管道)或junction(节点)",
+ "in": "query",
+ "name": "feature_infos",
+ "required": true,
+ "schema": {
+ "description": "特征信息,格式: id1:type1,id2:type2,type为pipe(管道)或junction(节点)",
+ "title": "Feature Infos",
+ "type": "string"
+ }
+ },
+ {
+ "description": "方案类型,若为空则查询实时数据",
+ "in": "query",
+ "name": "scheme_type",
+ "required": false,
+ "schema": {
+ "description": "方案类型,若为空则查询实时数据",
+ "title": "Scheme Type",
+ "type": "string"
+ }
+ },
+ {
+ "description": "方案名称,若为空则查询实时数据",
+ "in": "query",
+ "name": "scheme_name",
+ "required": false,
+ "schema": {
+ "description": "方案名称,若为空则查询实时数据",
+ "title": "Scheme Name",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取管网元素的模拟数据",
+ "tags": [
+ "TimescaleDB - Composite"
+ ]
+ }
+ },
+ "/api/v1/timeseries/views/scada-simulations": {
+ "get": {
+ "description": "获取SCADA关联的link/node模拟值\n\n根据传入的SCADA device_ids,找到关联的link/node,\n并根据对应的type,查询对应的模拟数据。支持查询实时或方案数据。\n\nArgs:\n start_time: 查询开始时间\n end_time: 查询结束时间\n device_ids: SCADA设备ID列表,用逗号分隔\n scheme_type: 方案类型,若为空则查询实时数据\n scheme_name: 方案名称,若为空则查询实时数据\n timescale_conn: TimescaleDB连接\n postgres_conn: PostgreSQL连接\n \nReturns:\n SCADA关联的模拟数据\n \nRaises:\n HTTPException: 当查询参数无效时返回400错误,未找到数据时返回404错误",
+ "operationId": "get_timeseries_views_scada_simulations",
+ "parameters": [
+ {
+ "description": "查询开始时间",
+ "in": "query",
+ "name": "start_time",
+ "required": true,
+ "schema": {
+ "description": "查询开始时间",
+ "format": "date-time",
+ "title": "Start Time",
+ "type": "string"
+ }
+ },
+ {
+ "description": "查询结束时间",
+ "in": "query",
+ "name": "end_time",
+ "required": true,
+ "schema": {
+ "description": "查询结束时间",
+ "format": "date-time",
+ "title": "End Time",
+ "type": "string"
+ }
+ },
+ {
+ "description": "SCADA设备ID列表,逗号分隔",
+ "in": "query",
+ "name": "device_ids",
+ "required": true,
+ "schema": {
+ "description": "SCADA设备ID列表,逗号分隔",
+ "title": "Device Ids",
+ "type": "string"
+ }
+ },
+ {
+ "description": "方案类型,若为空则查询实时数据",
+ "in": "query",
+ "name": "scheme_type",
+ "required": false,
+ "schema": {
+ "description": "方案类型,若为空则查询实时数据",
+ "title": "Scheme Type",
+ "type": "string"
+ }
+ },
+ {
+ "description": "方案名称,若为空则查询实时数据",
+ "in": "query",
+ "name": "scheme_name",
+ "required": false,
+ "schema": {
+ "description": "方案名称,若为空则查询实时数据",
+ "title": "Scheme Name",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取SCADA关联的模拟数据",
+ "tags": [
+ "TimescaleDB - Composite"
+ ]
+ }
+ },
+ "/api/v1/title-schemas": {
+ "get": {
+ "description": "获取指定水网的标题(标题)属性架构定义",
+ "operationId": "get_title_schemas",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "additionalProperties": {
+ "type": "object"
+ },
+ "title": "Response Get Title Schemas",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取标题属性架构",
+ "tags": [
+ "Network General"
+ ]
+ }
+ },
+ "/api/v1/titles": {
+ "get": {
+ "description": "获取指定水网的标题(Title)信息",
+ "operationId": "get_titles",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Titles",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取水网标题属性",
+ "tags": [
+ "Network General"
+ ]
+ },
+ "patch": {
+ "description": "设置指定水网的标题(Title)信息",
+ "operationId": "patch_titles",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置水网标题属性",
+ "tags": [
+ "Network General"
+ ]
+ }
+ },
+ "/api/v1/undos": {
+ "post": {
+ "description": "撤销网络上最后的一个操作",
+ "operationId": "post_undos",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "撤销操作",
+ "tags": [
+ "Snapshots"
+ ]
+ }
+ },
+ "/api/v1/users": {
+ "get": {
+ "description": "获取指定网络的所有用户列表",
+ "operationId": "get_users",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "default": 100,
+ "maximum": 1000,
+ "minimum": 1,
+ "title": "Limit",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "query",
+ "name": "offset",
+ "required": false,
+ "schema": {
+ "default": 0,
+ "minimum": 0,
+ "title": "Offset",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Page_dict_Any__Any__"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取所有用户",
+ "tags": [
+ "Users"
+ ]
+ }
+ },
+ "/api/v1/users/detail": {
+ "get": {
+ "description": "获取指定网络中的单个用户信息",
+ "operationId": "get_users_detail",
+ "parameters": [
+ {
+ "description": "用户名",
+ "in": "query",
+ "name": "user_name",
+ "required": true,
+ "schema": {
+ "description": "用户名",
+ "title": "User Name",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Users Detail",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取单个用户",
+ "tags": [
+ "Users"
+ ]
+ }
+ },
+ "/api/v1/valve-closure-analyses": {
+ "post": {
+ "description": "高级版本的阀门关闭分析,支持同时关闭多个阀门,并在指定持续时间内进行模拟。返回纯文本格式的分析结果。",
+ "operationId": "post_valve_closure_analyses",
+ "parameters": [
+ {
+ "description": "阀门关闭开始时间(ISO 8601格式)",
+ "in": "query",
+ "name": "start_time",
+ "required": true,
+ "schema": {
+ "description": "阀门关闭开始时间(ISO 8601格式)",
+ "title": "Start Time",
+ "type": "string"
+ }
+ },
+ {
+ "description": "要关闭的阀门ID列表",
+ "in": "query",
+ "name": "valves",
+ "required": true,
+ "schema": {
+ "description": "要关闭的阀门ID列表",
+ "items": {
+ "type": "string"
+ },
+ "title": "Valves",
+ "type": "array"
+ }
+ },
+ {
+ "description": "模拟持续时间(秒),默认900秒",
+ "in": "query",
+ "name": "duration",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "模拟持续时间(秒),默认900秒",
+ "title": "Duration"
+ }
+ },
+ {
+ "description": "阀门关闭方案名称",
+ "in": "query",
+ "name": "scheme_name",
+ "required": true,
+ "schema": {
+ "description": "阀门关闭方案名称",
+ "title": "Scheme Name",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "text/plain": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "text/plain": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "text/plain": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "text/plain": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "text/plain": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "text/plain": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "text/plain": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "阀门关闭分析(高级)",
+ "tags": [
+ "Simulation Control"
+ ]
+ }
+ },
+ "/api/v1/valve-isolation-analyses": {
+ "post": {
+ "description": "分析当发生突发事件时,通过关闭指定阀门进行隔离,确定哪些阀门必须关闭、哪些可选关闭,以及隔离的可行性。",
+ "operationId": "post_valve_isolation_analyses",
+ "parameters": [
+ {
+ "description": "发生事故的管段/节点ID列表",
+ "in": "query",
+ "name": "accident_element",
+ "required": true,
+ "schema": {
+ "description": "发生事故的管段/节点ID列表",
+ "items": {
+ "type": "string"
+ },
+ "title": "Accident Element",
+ "type": "array"
+ }
+ },
+ {
+ "description": "已故障的阀门ID列表(可选)",
+ "in": "query",
+ "name": "disabled_valves",
+ "required": false,
+ "schema": {
+ "description": "已故障的阀门ID列表(可选)",
+ "items": {
+ "type": "string"
+ },
+ "title": "Disabled Valves",
+ "type": "array"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "阀门隔离分析",
+ "tags": [
+ "Simulation Control"
+ ]
+ }
+ },
+ "/api/v1/valves": {
+ "delete": {
+ "description": "从指定的水网中删除指定的阀门",
+ "operationId": "delete_valves",
+ "parameters": [
+ {
+ "description": "阀门ID",
+ "in": "query",
+ "name": "valve",
+ "required": true,
+ "schema": {
+ "description": "阀门ID",
+ "title": "Valve",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "删除阀门",
+ "tags": [
+ "Valves"
+ ]
+ },
+ "get": {
+ "description": "获取指定水网中所有阀门的属性",
+ "operationId": "get_valves",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "default": 100,
+ "maximum": 1000,
+ "minimum": 1,
+ "title": "Limit",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "query",
+ "name": "offset",
+ "required": false,
+ "schema": {
+ "default": 0,
+ "minimum": 0,
+ "title": "Offset",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Page_dict_str__Any__"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取所有阀门属性",
+ "tags": [
+ "Valves"
+ ]
+ },
+ "post": {
+ "description": "在指定的水网中添加新的阀门",
+ "operationId": "post_valves",
+ "parameters": [
+ {
+ "description": "阀门ID",
+ "in": "query",
+ "name": "valve",
+ "required": true,
+ "schema": {
+ "description": "阀门ID",
+ "title": "Valve",
+ "type": "string"
+ }
+ },
+ {
+ "description": "起点节点ID",
+ "in": "query",
+ "name": "node1",
+ "required": true,
+ "schema": {
+ "description": "起点节点ID",
+ "title": "Node1",
+ "type": "string"
+ }
+ },
+ {
+ "description": "终点节点ID",
+ "in": "query",
+ "name": "node2",
+ "required": true,
+ "schema": {
+ "description": "终点节点ID",
+ "title": "Node2",
+ "type": "string"
+ }
+ },
+ {
+ "description": "阀门直径(mm)",
+ "in": "query",
+ "name": "diameter",
+ "required": false,
+ "schema": {
+ "default": 0,
+ "description": "阀门直径(mm)",
+ "title": "Diameter",
+ "type": "number"
+ }
+ },
+ {
+ "description": "阀门类型",
+ "in": "query",
+ "name": "v_type",
+ "required": false,
+ "schema": {
+ "default": "PRV",
+ "description": "阀门类型",
+ "title": "V Type",
+ "type": "string"
+ }
+ },
+ {
+ "description": "阀门开度/设置值",
+ "in": "query",
+ "name": "setting",
+ "required": false,
+ "schema": {
+ "default": 0,
+ "description": "阀门开度/设置值",
+ "title": "Setting",
+ "type": "number"
+ }
+ },
+ {
+ "description": "损失系数",
+ "in": "query",
+ "name": "minor_loss",
+ "required": false,
+ "schema": {
+ "default": 0,
+ "description": "损失系数",
+ "title": "Minor Loss",
+ "type": "number"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "添加阀门",
+ "tags": [
+ "Valves"
+ ]
+ }
+ },
+ "/api/v1/valves/diameter": {
+ "get": {
+ "description": "获取指定阀门的直径",
+ "operationId": "get_valves_diameter",
+ "parameters": [
+ {
+ "description": "阀门ID",
+ "in": "query",
+ "name": "valve",
+ "required": true,
+ "schema": {
+ "description": "阀门ID",
+ "title": "Valve",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Response Get Valves Diameter"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取阀门直径",
+ "tags": [
+ "Valves"
+ ]
+ },
+ "patch": {
+ "description": "设置指定阀门的直径",
+ "operationId": "patch_valves_diameter",
+ "parameters": [
+ {
+ "description": "阀门ID",
+ "in": "query",
+ "name": "valve",
+ "required": true,
+ "schema": {
+ "description": "阀门ID",
+ "title": "Valve",
+ "type": "string"
+ }
+ },
+ {
+ "description": "新的直径值(mm)",
+ "in": "query",
+ "name": "diameter",
+ "required": true,
+ "schema": {
+ "description": "新的直径值(mm)",
+ "title": "Diameter",
+ "type": "number"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置阀门直径",
+ "tags": [
+ "Valves"
+ ]
+ }
+ },
+ "/api/v1/valves/existence": {
+ "get": {
+ "description": "检查指定ID是否为水网中的阀门",
+ "operationId": "get_valves_existence",
+ "parameters": [
+ {
+ "description": "管线ID",
+ "in": "query",
+ "name": "link",
+ "required": true,
+ "schema": {
+ "description": "管线ID",
+ "title": "Link",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Valves Existence",
+ "type": "boolean"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "检查是否为阀门",
+ "tags": [
+ "Network General"
+ ]
+ }
+ },
+ "/api/v1/valves/minor-loss": {
+ "get": {
+ "description": "获取指定阀门的损失系数",
+ "operationId": "get_valves_minor_loss",
+ "parameters": [
+ {
+ "description": "阀门ID",
+ "in": "query",
+ "name": "valve",
+ "required": true,
+ "schema": {
+ "description": "阀门ID",
+ "title": "Valve",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Response Get Valves Minor Loss"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取阀门损失系数",
+ "tags": [
+ "Valves"
+ ]
+ }
+ },
+ "/api/v1/valves/node1": {
+ "get": {
+ "description": "获取指定阀门连接的起点节点ID",
+ "operationId": "get_valves_node1",
+ "parameters": [
+ {
+ "description": "阀门ID",
+ "in": "query",
+ "name": "valve",
+ "required": true,
+ "schema": {
+ "description": "阀门ID",
+ "title": "Valve",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Response Get Valves Node1"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取阀门起点节点",
+ "tags": [
+ "Valves"
+ ]
+ },
+ "patch": {
+ "description": "设置指定阀门的起点节点",
+ "operationId": "patch_valves_node1",
+ "parameters": [
+ {
+ "description": "阀门ID",
+ "in": "query",
+ "name": "valve",
+ "required": true,
+ "schema": {
+ "description": "阀门ID",
+ "title": "Valve",
+ "type": "string"
+ }
+ },
+ {
+ "description": "新的起点节点ID",
+ "in": "query",
+ "name": "node1",
+ "required": true,
+ "schema": {
+ "description": "新的起点节点ID",
+ "title": "Node1",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置阀门起点节点",
+ "tags": [
+ "Valves"
+ ]
+ }
+ },
+ "/api/v1/valves/node2": {
+ "get": {
+ "description": "获取指定阀门连接的终点节点ID",
+ "operationId": "get_valves_node2",
+ "parameters": [
+ {
+ "description": "阀门ID",
+ "in": "query",
+ "name": "valve",
+ "required": true,
+ "schema": {
+ "description": "阀门ID",
+ "title": "Valve",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Response Get Valves Node2"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取阀门终点节点",
+ "tags": [
+ "Valves"
+ ]
+ },
+ "patch": {
+ "description": "设置指定阀门的终点节点",
+ "operationId": "patch_valves_node2",
+ "parameters": [
+ {
+ "description": "阀门ID",
+ "in": "query",
+ "name": "valve",
+ "required": true,
+ "schema": {
+ "description": "阀门ID",
+ "title": "Valve",
+ "type": "string"
+ }
+ },
+ {
+ "description": "新的终点节点ID",
+ "in": "query",
+ "name": "node2",
+ "required": true,
+ "schema": {
+ "description": "新的终点节点ID",
+ "title": "Node2",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置阀门终点节点",
+ "tags": [
+ "Valves"
+ ]
+ }
+ },
+ "/api/v1/valves/properties": {
+ "get": {
+ "description": "获取指定阀门的所有属性",
+ "operationId": "get_valves_properties",
+ "parameters": [
+ {
+ "description": "阀门ID",
+ "in": "query",
+ "name": "valve",
+ "required": true,
+ "schema": {
+ "description": "阀门ID",
+ "title": "Valve",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Valves Properties",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取阀门所有属性",
+ "tags": [
+ "Valves"
+ ]
+ },
+ "patch": {
+ "description": "批量设置指定阀门的多个属性",
+ "operationId": "patch_valves_properties",
+ "parameters": [
+ {
+ "description": "阀门ID",
+ "in": "query",
+ "name": "valve",
+ "required": true,
+ "schema": {
+ "description": "阀门ID",
+ "title": "Valve",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "批量设置阀门属性",
+ "tags": [
+ "Valves"
+ ]
+ }
+ },
+ "/api/v1/valves/setting": {
+ "get": {
+ "description": "获取指定阀门的开度/设置值",
+ "operationId": "get_valves_setting",
+ "parameters": [
+ {
+ "description": "阀门ID",
+ "in": "query",
+ "name": "valve",
+ "required": true,
+ "schema": {
+ "description": "阀门ID",
+ "title": "Valve",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Response Get Valves Setting"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取阀门开度",
+ "tags": [
+ "Valves"
+ ]
+ },
+ "patch": {
+ "description": "设置指定阀门的开度/设置值",
+ "operationId": "patch_valves_setting",
+ "parameters": [
+ {
+ "description": "阀门ID",
+ "in": "query",
+ "name": "valve",
+ "required": true,
+ "schema": {
+ "description": "阀门ID",
+ "title": "Valve",
+ "type": "string"
+ }
+ },
+ {
+ "description": "新的开度值",
+ "in": "query",
+ "name": "setting",
+ "required": true,
+ "schema": {
+ "description": "新的开度值",
+ "title": "Setting",
+ "type": "number"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置阀门开度",
+ "tags": [
+ "Valves"
+ ]
+ }
+ },
+ "/api/v1/valves/type": {
+ "get": {
+ "description": "获取指定阀门的类型",
+ "operationId": "get_valves_type",
+ "parameters": [
+ {
+ "description": "阀门ID",
+ "in": "query",
+ "name": "valve",
+ "required": true,
+ "schema": {
+ "description": "阀门ID",
+ "title": "Valve",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Response Get Valves Type"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取阀门类型",
+ "tags": [
+ "Valves"
+ ]
+ },
+ "patch": {
+ "description": "设置指定阀门的类型",
+ "operationId": "patch_valves_type",
+ "parameters": [
+ {
+ "description": "阀门ID",
+ "in": "query",
+ "name": "valve",
+ "required": true,
+ "schema": {
+ "description": "阀门ID",
+ "title": "Valve",
+ "type": "string"
+ }
+ },
+ {
+ "description": "新的阀门类型",
+ "in": "query",
+ "name": "type",
+ "required": true,
+ "schema": {
+ "description": "新的阀门类型",
+ "title": "Type",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置阀门类型",
+ "tags": [
+ "Valves"
+ ]
+ }
+ },
+ "/api/v1/virtual-district-calculations": {
+ "post": {
+ "description": "根据指定的压力监测节点作为中心节点计算虚拟分区方案",
+ "operationId": "post_virtual_district_calculations",
+ "parameters": [
+ {
+ "description": "压力监测节点ID列表",
+ "in": "query",
+ "name": "centers",
+ "required": true,
+ "schema": {
+ "description": "压力监测节点ID列表",
+ "items": {
+ "type": "string"
+ },
+ "title": "Centers",
+ "type": "array"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "additionalProperties": {
+ "items": {},
+ "type": "array"
+ },
+ "title": "Response Post Virtual District Calculations",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "计算虚拟分区",
+ "tags": [
+ "Regions & DMAs"
+ ]
+ }
+ },
+ "/api/v1/virtual-district-generation-runs": {
+ "post": {
+ "description": "根据参数自动生成虚拟分区方案",
+ "operationId": "post_virtual_district_generation_runs",
+ "parameters": [
+ {
+ "description": "膨胀参数",
+ "in": "query",
+ "name": "inflate_delta",
+ "required": true,
+ "schema": {
+ "description": "膨胀参数",
+ "title": "Inflate Delta",
+ "type": "number"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "生成虚拟分区",
+ "tags": [
+ "Regions & DMAs"
+ ]
+ }
+ },
+ "/api/v1/virtual-districts": {
+ "delete": {
+ "description": "删除指定的虚拟分区",
+ "operationId": "delete_virtual_districts",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "删除虚拟分区",
+ "tags": [
+ "Regions & DMAs"
+ ]
+ },
+ "get": {
+ "description": "获取指定水网中的所有虚拟分区信息",
+ "operationId": "get_virtual_districts",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "default": 100,
+ "maximum": 1000,
+ "minimum": 1,
+ "title": "Limit",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "query",
+ "name": "offset",
+ "required": false,
+ "schema": {
+ "default": 0,
+ "minimum": 0,
+ "title": "Offset",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Page_dict_str__Any__"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取所有虚拟分区",
+ "tags": [
+ "Regions & DMAs"
+ ]
+ },
+ "patch": {
+ "description": "修改指定虚拟分区的属性信息",
+ "operationId": "patch_virtual_districts",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置虚拟分区属性",
+ "tags": [
+ "Regions & DMAs"
+ ]
+ },
+ "post": {
+ "description": "向水网添加一个新的虚拟分区",
+ "operationId": "post_virtual_districts",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "添加新虚拟分区",
+ "tags": [
+ "Regions & DMAs"
+ ]
+ }
+ },
+ "/api/v1/virtual-districts/detail": {
+ "get": {
+ "description": "获取指定ID的虚拟分区详细信息",
+ "operationId": "get_virtual_districts_detail",
+ "parameters": [
+ {
+ "description": "虚拟分区ID",
+ "in": "query",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "description": "虚拟分区ID",
+ "title": "Id",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Virtual Districts Detail",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取虚拟分区信息",
+ "tags": [
+ "Regions & DMAs"
+ ]
+ }
+ },
+ "/api/v1/visual-elements": {
+ "delete": {
+ "description": "从网络中删除指定的图形元素",
+ "operationId": "delete_visual_elements",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "删除图形元素",
+ "tags": [
+ "Visuals"
+ ]
+ },
+ "post": {
+ "description": "在网络中添加一个新的图形元素",
+ "operationId": "post_visual_elements",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "添加图形元素",
+ "tags": [
+ "Visuals"
+ ]
+ }
+ },
+ "/api/v1/visual-elements/links": {
+ "get": {
+ "description": "获取网络中的所有图形元素链接列表",
+ "operationId": "get_visual_elements_links",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "default": 100,
+ "maximum": 1000,
+ "minimum": 1,
+ "title": "Limit",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "query",
+ "name": "offset",
+ "required": false,
+ "schema": {
+ "default": 0,
+ "minimum": 0,
+ "title": "Offset",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "text/plain": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "text/plain": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "text/plain": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "text/plain": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "text/plain": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "text/plain": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "text/plain": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取所有图形元素链接",
+ "tags": [
+ "Visuals"
+ ]
+ }
+ },
+ "/api/v1/visual-elements/properties": {
+ "get": {
+ "description": "获取指定图形元素的属性信息",
+ "operationId": "get_visual_elements_properties",
+ "parameters": [
+ {
+ "description": "图形元素链接",
+ "in": "query",
+ "name": "link",
+ "required": true,
+ "schema": {
+ "description": "图形元素链接",
+ "title": "Link",
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Get Visual Elements Properties",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "获取图形元素属性",
+ "tags": [
+ "Visuals"
+ ]
+ },
+ "patch": {
+ "description": "更新指定图形元素的属性",
+ "operationId": "patch_visual_elements_properties",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "设置图形元素属性",
+ "tags": [
+ "Visuals"
+ ]
+ }
+ },
+ "/api/v1/water-age-analyses": {
+ "post": {
+ "description": "高级版本的水龄分析,在指定时间点进行分析,支持自定义模拟持续时间。返回纯文本格式的分析结果。",
+ "operationId": "post_water_age_analyses",
+ "parameters": [
+ {
+ "description": "分析开始时间(ISO 8601格式)",
+ "in": "query",
+ "name": "start_time",
+ "required": true,
+ "schema": {
+ "description": "分析开始时间(ISO 8601格式)",
+ "title": "Start Time",
+ "type": "string"
+ }
+ },
+ {
+ "description": "模拟持续时间(秒)",
+ "in": "query",
+ "name": "duration",
+ "required": true,
+ "schema": {
+ "description": "模拟持续时间(秒)",
+ "title": "Duration",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "text/plain": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "text/plain": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "text/plain": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "text/plain": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "text/plain": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "text/plain": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "text/plain": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "水龄分析(高级)",
+ "tags": [
+ "Simulation Control"
+ ]
+ }
+ },
+ "/api/v1/web-searches": {
+ "post": {
+ "description": "调用 Bocha Web Search API 获取实时网页搜索结果",
+ "operationId": "post_web_searches",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/WebSearchRequest"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "Response Post Web Searches",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "Web Search",
+ "tags": [
+ "Web Search"
+ ]
+ }
+ },
+ "/api/v1/with-servers": {
+ "post": {
+ "description": "将网络与服务器同步到指定操作",
+ "operationId": "post_with_servers",
+ "parameters": [
+ {
+ "description": "目标操作ID",
+ "in": "query",
+ "name": "operation",
+ "required": true,
+ "schema": {
+ "description": "目标操作ID",
+ "title": "Operation",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "header",
+ "name": "X-Project-Id",
+ "required": true,
+ "schema": {
+ "title": "X-Project-Id",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonValue"
+ }
+ }
+ },
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Authentication required"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Insufficient permission"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource not found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Resource conflict"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Validation error"
+ },
+ "503": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemDetails"
+ }
+ }
+ },
+ "description": "Dependency unavailable"
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "summary": "与服务器同步",
+ "tags": [
+ "Snapshots"
+ ]
+ }
+ }
+ }
+}
diff --git a/package-lock.json b/package-lock.json
index f8c2b38..bfa641f 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -35,6 +35,7 @@
"next": "^16.1.6",
"next-auth": "^4.24.5",
"ol": "^10.7.0",
+ "openapi-fetch": "^0.17.0",
"postcss": "^8.5.6",
"react": "^19.2.4",
"react-dom": "^19.2.4",
@@ -63,6 +64,7 @@
"eslint-config-next": "^16.1.6",
"jest": "^30.2.0",
"jest-environment-jsdom": "^30.2.0",
+ "openapi-typescript": "^7.13.0",
"ts-jest": "^29.4.6",
"typescript": "^5.8.3"
},
@@ -5731,6 +5733,75 @@
"react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
}
},
+ "node_modules/@redocly/ajv": {
+ "version": "8.11.2",
+ "resolved": "https://registry.npmjs.org/@redocly/ajv/-/ajv-8.11.2.tgz",
+ "integrity": "sha512-io1JpnwtIcvojV7QKDUSIuMN/ikdOUd1ReEnUnMKGfDVridQZ31J0MmIuqwuRjWDZfmvr+Q0MqCcfHM2gTivOg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "fast-deep-equal": "^3.1.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js-replace": "^1.0.1"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
+ }
+ },
+ "node_modules/@redocly/config": {
+ "version": "0.22.0",
+ "resolved": "https://registry.npmjs.org/@redocly/config/-/config-0.22.0.tgz",
+ "integrity": "sha512-gAy93Ddo01Z3bHuVdPWfCwzgfaYgMdaZPcfL7JZ7hWJoK9V0lXDbigTWkhiPFAaLWzbOJ+kbUQG1+XwIm0KRGQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@redocly/openapi-core": {
+ "version": "1.34.18",
+ "resolved": "https://registry.npmjs.org/@redocly/openapi-core/-/openapi-core-1.34.18.tgz",
+ "integrity": "sha512-UyKIm0wTPw5BcY7Z2PkbK1Ma260um96LSBWXHrdSMe+ZV0EPMyDfAcUcjjm3qEiGST9OK/1TriekdPCZkn4Q3A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@redocly/ajv": "8.11.2",
+ "@redocly/config": "0.22.0",
+ "colorette": "1.4.0",
+ "https-proxy-agent": "7.0.6",
+ "js-levenshtein": "1.1.6",
+ "js-yaml": "4.3.0",
+ "minimatch": "5.1.9",
+ "pluralize": "8.0.0",
+ "yaml-ast-parser": "0.0.43"
+ },
+ "engines": {
+ "node": ">=18.17.0",
+ "npm": ">=9.5.0"
+ }
+ },
+ "node_modules/@redocly/openapi-core/node_modules/brace-expansion": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.3.tgz",
+ "integrity": "sha512-DRdx5neNsG/QXbniLFWi2YmC/68oeOOmKz6zOjVk6ZS1ZLXgLIKqVEc6hWsmkjBbgii0SwaBTcJ5XKj5gzY/4A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/@redocly/openapi-core/node_modules/minimatch": {
+ "version": "5.1.9",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.9.tgz",
+ "integrity": "sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/@refinedev/core": {
"version": "5.0.12",
"resolved": "https://registry.npmjs.org/@refinedev/core/-/core-5.0.12.tgz",
@@ -10466,6 +10537,16 @@
"node": ">= 14"
}
},
+ "node_modules/ansi-colors": {
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz",
+ "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/ansi-escapes": {
"version": "4.3.2",
"resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
@@ -11260,6 +11341,13 @@
"url": "https://github.com/chalk/chalk?sponsor=1"
}
},
+ "node_modules/change-case": {
+ "version": "5.4.4",
+ "resolved": "https://registry.npmjs.org/change-case/-/change-case-5.4.4.tgz",
+ "integrity": "sha512-HRQyTk2/YPEkt9TnUPbOpr64Uw3KOicFWPVBb+xiHvd6eBx/qPr9xqfBFDT8P2vWsvvz4jbEkfDe71W3VyNu2w==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/char-regex": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz",
@@ -11430,6 +11518,13 @@
}
]
},
+ "node_modules/colorette": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz",
+ "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/combined-stream": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
@@ -14363,6 +14458,19 @@
"node": ">=8"
}
},
+ "node_modules/index-to-position": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/index-to-position/-/index-to-position-1.2.0.tgz",
+ "integrity": "sha512-Yg7+ztRkqslMAS2iFaU+Oa4KTSidr63OsFGlOrJoW981kIYO3CGCS3wA95P1mUi/IVSJkn0D479KTJpVpvFNuw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/inflight": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
@@ -16106,6 +16214,16 @@
"node": ">=14"
}
},
+ "node_modules/js-levenshtein": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz",
+ "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
@@ -16113,10 +16231,20 @@
"license": "MIT"
},
"node_modules/js-yaml": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
- "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.0.tgz",
+ "integrity": "sha512-1td788aAnnZ5qs7V2QIRl1owjtYpbKt749Y3xauqQgwIIGF/xXWz1wMTEBx5O3LK3lXLVuqXPdPxj2BoFHaW9Q==",
"dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/puzrin"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/nodeca"
+ }
+ ],
"license": "MIT",
"dependencies": {
"argparse": "^2.0.1"
@@ -16230,6 +16358,13 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/json-schema-traverse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/json-stable-stringify-without-jsonify": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
@@ -18369,6 +18504,73 @@
"node": ">=6"
}
},
+ "node_modules/openapi-fetch": {
+ "version": "0.17.0",
+ "resolved": "https://registry.npmjs.org/openapi-fetch/-/openapi-fetch-0.17.0.tgz",
+ "integrity": "sha512-PsbZR1wAPcG91eEthKhN+Zn92FMHxv+/faECIwjXdxfTODGSGegYv0sc1Olz+HYPvKOuoXfp+0pA2XVt2cI0Ig==",
+ "license": "MIT",
+ "dependencies": {
+ "openapi-typescript-helpers": "^0.1.0"
+ }
+ },
+ "node_modules/openapi-typescript": {
+ "version": "7.13.0",
+ "resolved": "https://registry.npmjs.org/openapi-typescript/-/openapi-typescript-7.13.0.tgz",
+ "integrity": "sha512-EFP392gcqXS7ntPvbhBzbF8TyBA+baIYEm791Hy5YkjDYKTnk/Tn5OQeKm5BIZvJihpp8Zzr4hzx0Irde1LNGQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@redocly/openapi-core": "^1.34.6",
+ "ansi-colors": "^4.1.3",
+ "change-case": "^5.4.4",
+ "parse-json": "^8.3.0",
+ "supports-color": "^10.2.2",
+ "yargs-parser": "^21.1.1"
+ },
+ "bin": {
+ "openapi-typescript": "bin/cli.js"
+ },
+ "peerDependencies": {
+ "typescript": "^5.x"
+ }
+ },
+ "node_modules/openapi-typescript-helpers": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/openapi-typescript-helpers/-/openapi-typescript-helpers-0.1.0.tgz",
+ "integrity": "sha512-OKTGPthhivLw/fHz6c3OPtg72vi86qaMlqbJuVJ23qOvQ+53uw1n7HdmkJFibloF7QEjDrDkzJiOJuockM/ljw==",
+ "license": "MIT"
+ },
+ "node_modules/openapi-typescript/node_modules/parse-json": {
+ "version": "8.3.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-8.3.0.tgz",
+ "integrity": "sha512-ybiGyvspI+fAoRQbIPRddCcSTV9/LsJbf0e/S85VLowVGzRmokfneg2kwVW/KU5rOXrPSbF1qAKPMgNTqqROQQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.26.2",
+ "index-to-position": "^1.1.0",
+ "type-fest": "^4.39.1"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/openapi-typescript/node_modules/supports-color": {
+ "version": "10.2.2",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-10.2.2.tgz",
+ "integrity": "sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/supports-color?sponsor=1"
+ }
+ },
"node_modules/openid-client": {
"version": "5.7.1",
"resolved": "https://registry.npmjs.org/openid-client/-/openid-client-5.7.1.tgz",
@@ -19355,6 +19557,16 @@
"node": ">=0.10.0"
}
},
+ "node_modules/require-from-string": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/reselect": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/reselect/-/reselect-5.1.1.tgz",
@@ -20712,19 +20924,6 @@
"node": ">=10"
}
},
- "node_modules/ts-jest/node_modules/type-fest": {
- "version": "4.41.0",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz",
- "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==",
- "dev": true,
- "license": "(MIT OR CC0-1.0)",
- "engines": {
- "node": ">=16"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/tsconfig-paths": {
"version": "3.15.0",
"resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz",
@@ -20780,6 +20979,19 @@
"node": ">=4"
}
},
+ "node_modules/type-fest": {
+ "version": "4.41.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz",
+ "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==",
+ "dev": true,
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=16"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/typed-array-buffer": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz",
@@ -21162,6 +21374,13 @@
"punycode": "^2.1.0"
}
},
+ "node_modules/uri-js-replace": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/uri-js-replace/-/uri-js-replace-1.0.1.tgz",
+ "integrity": "sha512-W+C9NWNLFOoBI2QWDp4UT9pv65r2w5Cx+3sTYFvtMdDBxkKt1syCqsUdSFAChbEe1uK5TfS04wt/nGwmaeIQ0g==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/use-sync-external-store": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz",
@@ -21579,6 +21798,13 @@
"node": ">= 6"
}
},
+ "node_modules/yaml-ast-parser": {
+ "version": "0.0.43",
+ "resolved": "https://registry.npmjs.org/yaml-ast-parser/-/yaml-ast-parser-0.0.43.tgz",
+ "integrity": "sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A==",
+ "dev": true,
+ "license": "Apache-2.0"
+ },
"node_modules/yargs": {
"version": "17.7.2",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
diff --git a/package.json b/package.json
index 1f2ba00..769ec7a 100644
--- a/package.json
+++ b/package.json
@@ -14,6 +14,8 @@
"test": "jest",
"test:watch": "jest --watch",
"test:coverage": "jest --coverage",
+ "api:generate": "openapi-typescript contracts/server-v1.openapi.json -o src/generated/serverApi.ts && openapi-typescript contracts/agent-v1.openapi.json -o src/generated/agentApi.ts",
+ "api:check": "node scripts/check-api-contracts.mjs",
"pipeline:trigger": "bash scripts/trigger-gitea-pipeline.sh"
},
"dependencies": {
@@ -44,6 +46,7 @@
"next": "^16.1.6",
"next-auth": "^4.24.5",
"ol": "^10.7.0",
+ "openapi-fetch": "^0.17.0",
"postcss": "^8.5.6",
"react": "^19.2.4",
"react-dom": "^19.2.4",
@@ -75,6 +78,7 @@
"eslint-config-next": "^16.1.6",
"jest": "^30.2.0",
"jest-environment-jsdom": "^30.2.0",
+ "openapi-typescript": "^7.13.0",
"ts-jest": "^29.4.6",
"typescript": "^5.8.3"
}
diff --git a/public/login-logo-mark.svg b/public/login-logo-mark.svg
new file mode 100644
index 0000000..2fc0336
--- /dev/null
+++ b/public/login-logo-mark.svg
@@ -0,0 +1,8 @@
+
diff --git a/public/login-network-blueprint.svg b/public/login-network-blueprint.svg
new file mode 100644
index 0000000..b230532
--- /dev/null
+++ b/public/login-network-blueprint.svg
@@ -0,0 +1,31 @@
+
diff --git a/scripts/check-api-contracts.mjs b/scripts/check-api-contracts.mjs
new file mode 100644
index 0000000..eb1bd83
--- /dev/null
+++ b/scripts/check-api-contracts.mjs
@@ -0,0 +1,57 @@
+import { execFile } from "node:child_process";
+import { createHash } from "node:crypto";
+import { mkdtemp, readFile, rm } from "node:fs/promises";
+import { tmpdir } from "node:os";
+import { basename, join } from "node:path";
+import { fileURLToPath } from "node:url";
+import { promisify } from "node:util";
+
+const manifest = JSON.parse(
+ await readFile(new URL("../contracts/manifest.json", import.meta.url), "utf8"),
+);
+const run = promisify(execFile);
+const projectRoot = fileURLToPath(new URL("../", import.meta.url));
+const generator = join(
+ projectRoot,
+ "node_modules",
+ "openapi-typescript",
+ "bin",
+ "cli.js",
+);
+const temporaryDirectory = await mkdtemp(
+ join(tmpdir(), "tjwater-api-contracts-"),
+);
+
+try {
+ for (const [name, contract] of Object.entries(manifest.contracts)) {
+ const contractPath = fileURLToPath(
+ new URL(`../contracts/${contract.file}`, import.meta.url),
+ );
+ const payload = await readFile(contractPath);
+ const actual = createHash("sha256").update(payload).digest("hex");
+ if (actual !== contract.sha256) {
+ throw new Error(
+ `${name} contract hash mismatch: expected ${contract.sha256}, got ${actual}`,
+ );
+ }
+
+ const generatedName = `${name}Api.ts`;
+ const temporaryOutput = join(temporaryDirectory, generatedName);
+ await run(process.execPath, [generator, contractPath, "-o", temporaryOutput]);
+ const expectedOutput = await readFile(
+ new URL(`../src/generated/${generatedName}`, import.meta.url),
+ );
+ const generatedOutput = await readFile(temporaryOutput);
+ if (!expectedOutput.equals(generatedOutput)) {
+ throw new Error(
+ `${basename(contract.file)} generated type is stale: run \`npm run api:generate\``,
+ );
+ }
+ }
+} finally {
+ await rm(temporaryDirectory, { recursive: true, force: true });
+}
+
+console.log(
+ `validated API contract mirrors and generated types for ${manifest.contract_version}`,
+);
diff --git a/src/app/RefineContext.tsx b/src/app/RefineContext.tsx
index 35c5622..e0a9fb5 100644
--- a/src/app/RefineContext.tsx
+++ b/src/app/RefineContext.tsx
@@ -78,7 +78,7 @@ const App = (props: React.PropsWithChildren) => {
let cancelled = false;
setAccessLoading(true);
- apiFetch(`${config.BACKEND_URL}/api/v1/access/context`, {
+ apiFetch(`${config.BACKEND_URL}/api/v1/access-context`, {
projectHeaderMode: currentProjectId ? "include" : "omit",
skipAuthRedirect: true,
})
@@ -110,7 +110,7 @@ const App = (props: React.PropsWithChildren) => {
const auditKey = `tjwater-login-audit:${data.user.id}`;
if (sessionStorage.getItem(auditKey)) return;
- apiFetch(`${config.BACKEND_URL}/api/v1/audit/session-events`, {
+ apiFetch(`${config.BACKEND_URL}/api/v1/audit-events`, {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ event: "login" }),
@@ -137,7 +137,7 @@ const App = (props: React.PropsWithChildren) => {
},
logout: async () => {
try {
- await apiFetch(`${config.BACKEND_URL}/api/v1/audit/session-events`, {
+ await apiFetch(`${config.BACKEND_URL}/api/v1/audit-events`, {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ event: "logout" }),
diff --git a/src/app/layout.tsx b/src/app/layout.tsx
index 280551d..27dee6a 100644
--- a/src/app/layout.tsx
+++ b/src/app/layout.tsx
@@ -17,7 +17,7 @@ export default async function RootLayout({
const defaultMode = theme?.value === "dark" ? "dark" : "light";
return (
-
+
diff --git a/src/app/login/page.test.tsx b/src/app/login/page.test.tsx
new file mode 100644
index 0000000..011f41d
--- /dev/null
+++ b/src/app/login/page.test.tsx
@@ -0,0 +1,45 @@
+import { act, fireEvent, render, screen } from "@testing-library/react";
+import Login from "./page";
+
+const mockLogin = jest.fn();
+
+jest.mock("@refinedev/core", () => ({
+ useLogin: () => ({ mutate: mockLogin }),
+}));
+
+describe("Login", () => {
+ beforeEach(() => {
+ jest.useFakeTimers();
+ mockLogin.mockClear();
+ });
+
+ afterEach(() => {
+ jest.useRealTimers();
+ });
+
+ it("starts Keycloak login once when the page opens", () => {
+ const { rerender } = render();
+
+ expect(mockLogin).toHaveBeenCalledTimes(1);
+ expect(mockLogin).toHaveBeenCalledWith({});
+ expect(screen.getByText("正在进入账号登录")).toBeInTheDocument();
+
+ rerender();
+ expect(mockLogin).toHaveBeenCalledTimes(1);
+ });
+
+ it("shows a manual fallback when automatic redirect does not complete", () => {
+ render();
+
+ expect(
+ screen.queryByRole("button", { name: "继续登录" }),
+ ).not.toBeInTheDocument();
+
+ act(() => {
+ jest.advanceTimersByTime(4000);
+ });
+
+ fireEvent.click(screen.getByRole("button", { name: "继续登录" }));
+ expect(mockLogin).toHaveBeenCalledTimes(2);
+ });
+});
diff --git a/src/app/login/page.tsx b/src/app/login/page.tsx
index 089a9ed..1a8d5b5 100644
--- a/src/app/login/page.tsx
+++ b/src/app/login/page.tsx
@@ -1,54 +1,259 @@
"use client";
-import Image from "next/image";
import Box from "@mui/material/Box";
import Button from "@mui/material/Button";
-import Container from "@mui/material/Container";
+import CircularProgress from "@mui/material/CircularProgress";
+import Stack from "@mui/material/Stack";
import Typography from "@mui/material/Typography";
import { useLogin } from "@refinedev/core";
-import { Title } from "@components/title";
+import { PROJECT_TITLE } from "@config/config";
+import { useEffect, useRef, useState } from "react";
+
+const FALLBACK_DELAY_MS = 4000;
export default function Login() {
const { mutate: login } = useLogin();
+ const loginStartedRef = useRef(false);
+ const [showFallback, setShowFallback] = useState(false);
+
+ useEffect(() => {
+ if (!loginStartedRef.current) {
+ loginStartedRef.current = true;
+ login({});
+ }
+
+ const fallbackTimer = window.setTimeout(
+ () => setShowFallback(true),
+ FALLBACK_DELAY_MS,
+ );
+
+ return () => window.clearTimeout(fallbackTimer);
+ }, [login]);
return (
-
-
-
-
-
-
- Powered by
-
- Keycloak
-
+
+ {PROJECT_TITLE}
+
+
+
+
+
+
+
+
+
+
+ 正在进入账号登录
+
+
+ 正在连接统一身份认证服务,请稍候。
+
+
+
+
+ {showFallback ? (
+
+ ) : null}
+
+
+ 账号与访问权限由统一身份认证服务管理
+
+
+
-
+
);
}
diff --git a/src/components/admin/SystemAdminPanel.tsx b/src/components/admin/SystemAdminPanel.tsx
index dc81947..4cc2efa 100644
--- a/src/components/admin/SystemAdminPanel.tsx
+++ b/src/components/admin/SystemAdminPanel.tsx
@@ -640,7 +640,7 @@ export const SystemAdminPanel = () => {
const loadInitialState = async () => {
try {
- const adminResponse = await apiFetch(`${config.BACKEND_URL}/api/v1/admin/me`, {
+ const adminResponse = await apiFetch(`${config.BACKEND_URL}/api/v1/admin/users/me`, {
projectHeaderMode: "omit",
skipAuthRedirect: true,
});
@@ -947,7 +947,7 @@ export const SystemAdminPanel = () => {
const form = databaseForms[role];
const body = form.dsn.trim() ? { dsn: form.dsn.trim() } : {};
const response = await apiFetch(
- `${config.BACKEND_URL}/api/v1/admin/projects/${projectId.trim()}/databases/${role}/health`,
+ `${config.BACKEND_URL}/api/v1/admin/projects/${projectId.trim()}/databases/${role}/health-checks`,
{
method: "POST",
headers: { "Content-Type": "application/json" },
diff --git a/src/components/audit/AuditLogPanel.tsx b/src/components/audit/AuditLogPanel.tsx
index ad89516..26a5219 100644
--- a/src/components/audit/AuditLogPanel.tsx
+++ b/src/components/audit/AuditLogPanel.tsx
@@ -107,7 +107,7 @@ const defaultFilters: AuditFilters = {
end_time: "",
};
-const AUDIT_LOGS_PATH = "/api/v1/audit/logs";
+const AUDIT_LOGS_PATH = "/api/v1/audit-logs";
const statusFilterOptions: Array<{ value: AuditStatusFilter; label: string }> = [
{ value: "all", label: "全部状态" },
diff --git a/src/components/chat/chatStorage.test.ts b/src/components/chat/chatStorage.test.ts
index 7ebe12a..6c4d65f 100644
--- a/src/components/chat/chatStorage.test.ts
+++ b/src/components/chat/chatStorage.test.ts
@@ -84,7 +84,7 @@ describe("chatStorage backend session operations", () => {
sessionId: "session-1",
messages: [{ id: "message-1", role: "user", content: "查压力" }],
});
- expect(String(apiFetch.mock.calls[0][0])).toContain("/session/session-1");
+ expect(String(apiFetch.mock.calls[0][0])).toContain("/sessions/session-1");
expect(apiFetch.mock.calls[0][1]).toMatchObject({ method: "GET" });
});
@@ -98,7 +98,7 @@ describe("chatStorage backend session operations", () => {
isTitleManuallyEdited: true,
});
- expect(String(apiFetch.mock.calls[0][0])).toContain("/session/session-1/title");
+ expect(String(apiFetch.mock.calls[0][0])).toContain("/sessions/session-1");
expect(apiFetch.mock.calls[0][1]).toMatchObject({ method: "PATCH" });
expect(JSON.parse(String(apiFetch.mock.calls[0][1]?.body))).toEqual({
title: "新标题",
diff --git a/src/components/chat/chatStorage.ts b/src/components/chat/chatStorage.ts
index c9b5c86..482fbe1 100644
--- a/src/components/chat/chatStorage.ts
+++ b/src/components/chat/chatStorage.ts
@@ -46,7 +46,7 @@ const toMillis = (value: string | number | undefined) =>
const normalizeTitle = (value?: string) => value?.trim() || "新对话";
const fetchBackendChatSessions = async (): Promise => {
- const response = await apiFetch(`${config.AGENT_URL}/api/v1/agent/chat/sessions`, {
+ const response = await apiFetch(`${config.AGENT_URL}/api/v1/agent/sessions`, {
method: "GET",
projectHeaderMode: "include",
skipAuthRedirect: true,
@@ -72,7 +72,7 @@ const fetchBackendChatSessions = async (): Promise => {
const fetchBackendChatSession = async (sessionId: string): Promise => {
const response = await apiFetch(
- `${config.AGENT_URL}/api/v1/agent/chat/session/${encodeURIComponent(sessionId)}`,
+ `${config.AGENT_URL}/api/v1/agent/sessions/${encodeURIComponent(sessionId)}`,
{
method: "GET",
projectHeaderMode: "include",
@@ -110,7 +110,7 @@ const updateBackendChatSessionTitle = async (
isTitleManuallyEdited?: boolean,
) => {
const response = await apiFetch(
- `${config.AGENT_URL}/api/v1/agent/chat/session/${encodeURIComponent(sessionId)}/title`,
+ `${config.AGENT_URL}/api/v1/agent/sessions/${encodeURIComponent(sessionId)}`,
{
method: "PATCH",
headers: {
@@ -131,7 +131,7 @@ const updateBackendChatSessionTitle = async (
const deleteBackendChatSession = async (sessionId: string) => {
const response = await apiFetch(
- `${config.AGENT_URL}/api/v1/agent/chat/session/${encodeURIComponent(sessionId)}`,
+ `${config.AGENT_URL}/api/v1/agent/sessions/${encodeURIComponent(sessionId)}`,
{
method: "DELETE",
projectHeaderMode: "include",
diff --git a/src/components/olmap/BurstDetection/AnalysisParameters.test.ts b/src/components/olmap/BurstDetection/AnalysisParameters.test.ts
index fa083a5..e25dbc8 100644
--- a/src/components/olmap/BurstDetection/AnalysisParameters.test.ts
+++ b/src/components/olmap/BurstDetection/AnalysisParameters.test.ts
@@ -11,8 +11,7 @@ describe("burst detection request", () => {
const state = createBurstDetectionAnalysisParametersState();
state.schemeName = " latest-case ";
- expect(buildBurstDetectionRequest(state, "fengyang")).toEqual({
- network: "fengyang",
+ expect(buildBurstDetectionRequest(state)).toEqual({
scheme_name: "latest-case",
sampling_interval_minutes: 15,
});
@@ -33,10 +32,8 @@ describe("burst detection request", () => {
samplingIntervalMinutes: 30,
samplingIntervalSource: "manual",
},
- "fengyang",
),
).toEqual({
- network: "fengyang",
scheme_name: "history-case",
sampling_interval_minutes: 30,
target_time: targetTime.toISOString(),
diff --git a/src/components/olmap/BurstDetection/AnalysisParameters.tsx b/src/components/olmap/BurstDetection/AnalysisParameters.tsx
index 9ff1dc5..48a9b7b 100644
--- a/src/components/olmap/BurstDetection/AnalysisParameters.tsx
+++ b/src/components/olmap/BurstDetection/AnalysisParameters.tsx
@@ -92,9 +92,7 @@ export const resolvePressureSamplingInterval = (items: ScadaInfoItem[]) => {
export const buildBurstDetectionRequest = (
parameters: BurstDetectionAnalysisParametersState,
- network: string,
) => ({
- network,
scheme_name: parameters.schemeName.trim(),
sampling_interval_minutes: parameters.samplingIntervalMinutes,
...(parameters.detectionMode === "historical" && parameters.targetTime
@@ -129,7 +127,7 @@ const AnalysisParameters: React.FC = ({
let active = true;
setFrequencyLoading(true);
api
- .get("/api/v1/getallscadainfo/", { params: { network: NETWORK_NAME } })
+ .get("/api/v1/scada-info")
.then((response) => {
if (!active) return;
const interval = resolvePressureSamplingInterval(
@@ -186,8 +184,8 @@ const AnalysisParameters: React.FC = ({
try {
const response = await api.post(
- "/api/v1/burst-detection/detect/",
- buildBurstDetectionRequest(parametersState, NETWORK_NAME),
+ "/api/v1/burst-detections",
+ buildBurstDetectionRequest(parametersState),
);
onResult(response.data as BurstDetectionResult);
open?.({
diff --git a/src/components/olmap/BurstDetection/SchemeQuery.tsx b/src/components/olmap/BurstDetection/SchemeQuery.tsx
index 7486bda..03dcde4 100644
--- a/src/components/olmap/BurstDetection/SchemeQuery.tsx
+++ b/src/components/olmap/BurstDetection/SchemeQuery.tsx
@@ -131,7 +131,6 @@ const SchemeQuery: React.FC = ({
setLoading(true);
try {
const params: Record = {
- network: NETWORK_NAME,
scheme_type: "burst_detection",
};
if (!queryAll && queryDate) {
@@ -162,7 +161,7 @@ const SchemeQuery: React.FC = ({
try {
const response = await api.get(
`/api/v1/schemes/${encodeURIComponent(schemeName)}`,
- { params: { network: NETWORK_NAME, scheme_type: "burst_detection" } },
+ { params: { scheme_type: "burst_detection" } },
);
const schemeRecord = response.data as BurstDetectionSchemeRecord & {
result_payload?: BurstDetectionResult;
diff --git a/src/components/olmap/BurstLocation/AnalysisParameters.tsx b/src/components/olmap/BurstLocation/AnalysisParameters.tsx
index 0ef27b3..bc2befd 100644
--- a/src/components/olmap/BurstLocation/AnalysisParameters.tsx
+++ b/src/components/olmap/BurstLocation/AnalysisParameters.tsx
@@ -125,7 +125,7 @@ const AnalysisParameters: React.FC = ({
setSchemeLoading(true);
try {
const response = await api.get(`${config.BACKEND_URL}/api/v1/schemes`, {
- params: { network: NETWORK_NAME, scheme_type: "burst_analysis" },
+ params: { scheme_type: "burst_analysis" },
});
const burstSchemes = (response.data as SchemeItem[]).filter(
(scheme) => scheme.scheme_type === "burst_analysis",
@@ -222,9 +222,8 @@ const AnalysisParameters: React.FC = ({
: undefined;
const response = await api.post(
- `${config.BACKEND_URL}/api/v1/burst-location/locate/`,
+ `${config.BACKEND_URL}/api/v1/burst-locations`,
{
- network: NETWORK_NAME,
data_source: dataSource,
scheme_name: schemeName.trim() || undefined,
burst_leakage: toM3s(burstLeakage, FLOW_DISPLAY_UNIT),
diff --git a/src/components/olmap/BurstLocation/SchemeQuery.tsx b/src/components/olmap/BurstLocation/SchemeQuery.tsx
index 23127d7..1efd674 100644
--- a/src/components/olmap/BurstLocation/SchemeQuery.tsx
+++ b/src/components/olmap/BurstLocation/SchemeQuery.tsx
@@ -228,7 +228,6 @@ const SchemeQuery: React.FC = ({
setLoading(true);
try {
const params: Record = {
- network: NETWORK_NAME,
scheme_type: "burst_location",
};
if (!queryAll && queryDate) {
@@ -238,7 +237,7 @@ const SchemeQuery: React.FC = ({
const [response, simulationResponse] = await Promise.all([
api.get(`${config.BACKEND_URL}/api/v1/schemes`, { params }),
api.get(`${config.BACKEND_URL}/api/v1/schemes`, {
- params: { network: NETWORK_NAME, scheme_type: "burst_analysis" },
+ params: { scheme_type: "burst_analysis" },
}),
]);
const nextSchemes = response.data as BurstSchemeRecord[];
@@ -281,7 +280,7 @@ const SchemeQuery: React.FC = ({
try {
const response = await api.get(
`${config.BACKEND_URL}/api/v1/schemes/${encodeURIComponent(schemeName)}`,
- { params: { network: NETWORK_NAME, scheme_type: "burst_location" } },
+ { params: { scheme_type: "burst_location" } },
);
const schemeRecord = response.data as BurstSchemeRecord & {
result_payload?: BurstLocationResult;
diff --git a/src/components/olmap/BurstSimulation/AnalysisParameters.tsx b/src/components/olmap/BurstSimulation/AnalysisParameters.tsx
index 4a3d3f5..d1c27f6 100644
--- a/src/components/olmap/BurstSimulation/AnalysisParameters.tsx
+++ b/src/components/olmap/BurstSimulation/AnalysisParameters.tsx
@@ -322,16 +322,15 @@ const AnalysisParameters: React.FC = ({
: "";
const modify_total_duration = duration;
const params = {
- network: network,
modify_pattern_start_time: modify_pattern_start_time,
- burst_ID: burst_ID,
+ burst_id: burst_ID,
burst_size: burst_size,
modify_total_duration: modify_total_duration,
scheme_name: schemeName,
};
try {
- await api.get(`${config.BACKEND_URL}/api/v1/burst-analysis`, {
+ await api.post(`${config.BACKEND_URL}/api/v1/burst-analyses`, undefined, {
params,
paramsSerializer: {
indexes: null, // 移除数组索引,即由 burst_ID[] 变为 burst_ID
diff --git a/src/components/olmap/BurstSimulation/AnalysisReport.tsx b/src/components/olmap/BurstSimulation/AnalysisReport.tsx
index 3624c53..b7d82c5 100644
--- a/src/components/olmap/BurstSimulation/AnalysisReport.tsx
+++ b/src/components/olmap/BurstSimulation/AnalysisReport.tsx
@@ -29,9 +29,12 @@ import {
PrintOutlined,
} from "@mui/icons-material";
import { NETWORK_NAME } from "@config/config";
-import { queryFeaturesByIds } from "@/utils/mapQueryService";
import {
+ clearPipeDiameterCache,
+ getCachedPipeDiameters,
getPipeDiameterDisplay,
+ getPipeDiameterQueryKey,
+ loadPipeDiameters,
type PipeDiameterMap,
} from "./schemePipeDiameters";
import { SchemeRecord, ValveIsolationResult } from "./types";
@@ -54,66 +57,7 @@ const REPORT_BLUE = "#0b4f87";
const REPORT_INK = "#172435";
const REPORT_MUTED = "#5f6f80";
const REPORT_LINE = "#d8e0e8";
-const diameterCache = new Map();
-const diameterRequestCache = new Map>();
-
-export const clearAnalysisReportDiameterCache = () => {
- diameterCache.clear();
- diameterRequestCache.clear();
-};
-
-const loadPipeDiameters = async (
- pipeIds: string[],
- queryKey: string,
-): Promise => {
- const cachedDiameters = diameterCache.get(queryKey);
- if (cachedDiameters) {
- return cachedDiameters;
- }
-
- const cachedRequest = diameterRequestCache.get(queryKey);
- if (cachedRequest) {
- return cachedRequest;
- }
-
- const request = (async () => {
- let features = await queryFeaturesByIds(pipeIds, "geo_pipes_mat");
- const foundIds = new Set(
- features.map((feature) => String(feature.getProperties().id)),
- );
- const missingIds = pipeIds.filter((pipeId) => !foundIds.has(pipeId));
- if (missingIds.length) {
- features = [
- ...features,
- ...(await queryFeaturesByIds(missingIds, "geo_pipes")),
- ];
- }
-
- const diameters: PipeDiameterMap = Object.fromEntries(
- pipeIds.map((pipeId) => [pipeId, null]),
- );
- features.forEach((feature) => {
- const properties = feature.getProperties();
- const pipeId = String(properties.id);
- const diameter = Number(properties.diameter);
- if (pipeIds.includes(pipeId)) {
- diameters[pipeId] = Number.isFinite(diameter) ? diameter : null;
- }
- });
-
- diameterCache.set(queryKey, diameters);
- return diameters;
- })();
-
- diameterRequestCache.set(queryKey, request);
- try {
- return await request;
- } finally {
- if (diameterRequestCache.get(queryKey) === request) {
- diameterRequestCache.delete(queryKey);
- }
- }
-};
+export const clearAnalysisReportDiameterCache = clearPipeDiameterCache;
const formatDateTime = (value: Date | string | null | undefined) => {
if (!value) return "未记录";
@@ -411,8 +355,8 @@ const AnalysisReport: React.FC = ({
() => scheme?.schemeDetail?.burst_ID ?? [],
[scheme],
);
- const diameterQueryKey = pipeIds.join("\u0000");
- const cachedDiameters = diameterCache.get(diameterQueryKey);
+ const diameterQueryKey = getPipeDiameterQueryKey(pipeIds);
+ const cachedDiameters = getCachedPipeDiameters(pipeIds);
const [diameterState, setDiameterState] = useState<{
queryKey: string | null;
values: PipeDiameterMap;
@@ -435,13 +379,13 @@ const AnalysisReport: React.FC = ({
if (!pipeIds.length) {
return;
}
- if (diameterCache.has(diameterQueryKey)) {
+ if (getCachedPipeDiameters(pipeIds)) {
return;
}
let cancelled = false;
- loadPipeDiameters(pipeIds, diameterQueryKey)
+ loadPipeDiameters(pipeIds)
.then((nextDiameters) => {
if (!cancelled) {
setDiameterState({
diff --git a/src/components/olmap/BurstSimulation/SchemeQuery.tsx b/src/components/olmap/BurstSimulation/SchemeQuery.tsx
index e930d07..0625489 100644
--- a/src/components/olmap/BurstSimulation/SchemeQuery.tsx
+++ b/src/components/olmap/BurstSimulation/SchemeQuery.tsx
@@ -53,7 +53,9 @@ import { toLonLat } from "ol/proj";
import Timeline from "@components/olmap/core/Controls/Timeline";
import { SchemaItem, SchemeRecord } from "./types";
import {
+ getCachedPipeDiameters,
getPipeDiameterDisplay,
+ loadPipeDiameters,
type PipeDiameterMap,
} from "./schemePipeDiameters";
import { useSchemeCreatorName } from "@components/olmap/core/useSchemeCreatorName";
@@ -160,7 +162,6 @@ const SchemeQuery: React.FC = ({
setLoading(true);
try {
const params: Record = {
- network,
scheme_type: SCHEME_TYPE,
};
if (!queryAll && queryDate) {
@@ -251,40 +252,23 @@ const SchemeQuery: React.FC = ({
return;
}
+ const cachedDiameters = getCachedPipeDiameters(pipeIds);
+ if (cachedDiameters) {
+ setPipeDiametersByScheme((previous) => ({
+ ...previous,
+ [expandedId]: cachedDiameters,
+ }));
+ return;
+ }
+
let cancelled = false;
setLoadingDiameterByScheme((previous) => ({
...previous,
[expandedId]: true,
}));
- const loadPipeDiameters = async () => {
- let features = await queryFeaturesByIds(pipeIds, "geo_pipes_mat");
- const foundPipeIds = new Set(
- features.map((feature) => String(feature.getProperties().id)),
- );
- const missingPipeIds = pipeIds.filter(
- (pipeId) => !foundPipeIds.has(pipeId),
- );
-
- if (missingPipeIds.length > 0) {
- const fallbackFeatures = await queryFeaturesByIds(
- missingPipeIds,
- "geo_pipes",
- );
- features = [...features, ...fallbackFeatures];
- }
-
- const nextDiameters: PipeDiameterMap = Object.fromEntries(
- pipeIds.map((pipeId) => [pipeId, null]),
- );
-
- features.forEach((feature) => {
- const properties = feature.getProperties();
- const pipeId = String(properties.id);
- const diameter = Number(properties.diameter);
- nextDiameters[pipeId] = Number.isFinite(diameter) ? diameter : null;
- });
-
+ const applyPipeDiameters = async () => {
+ const nextDiameters = await loadPipeDiameters(pipeIds);
if (cancelled) {
return;
}
@@ -299,7 +283,7 @@ const SchemeQuery: React.FC = ({
}));
};
- loadPipeDiameters().catch((error) => {
+ applyPipeDiameters().catch((error) => {
console.error("查询管径失败:", error);
if (!cancelled) {
setLoadingDiameterByScheme((previous) => ({
diff --git a/src/components/olmap/BurstSimulation/ValveIsolation.tsx b/src/components/olmap/BurstSimulation/ValveIsolation.tsx
index 761f513..7c7074b 100644
--- a/src/components/olmap/BurstSimulation/ValveIsolation.tsx
+++ b/src/components/olmap/BurstSimulation/ValveIsolation.tsx
@@ -361,14 +361,14 @@ const ValveIsolation: React.FC = ({
}
try {
const params: any = {
- network: NETWORK_NAME,
accident_element: ids,
};
if (disabled.length > 0) {
params.disabled_valves = disabled;
}
- const response = await api.get(
- `${config.BACKEND_URL}/api/v1/valve-isolation-analysis`,
+ const response = await api.post(
+ `${config.BACKEND_URL}/api/v1/valve-isolation-analyses`,
+ undefined,
{
params,
paramsSerializer: {
diff --git a/src/components/olmap/BurstSimulation/schemePipeDiameters.test.ts b/src/components/olmap/BurstSimulation/schemePipeDiameters.test.ts
index 7ee83bd..6de1379 100644
--- a/src/components/olmap/BurstSimulation/schemePipeDiameters.test.ts
+++ b/src/components/olmap/BurstSimulation/schemePipeDiameters.test.ts
@@ -1,4 +1,48 @@
-import { getPipeDiameterDisplay } from "./schemePipeDiameters";
+import { queryFeaturesByIds } from "@/utils/mapQueryService";
+import {
+ clearPipeDiameterCache,
+ getPipeDiameterDisplay,
+ loadPipeDiameters,
+} from "./schemePipeDiameters";
+
+jest.mock("@/utils/mapQueryService", () => ({
+ queryFeaturesByIds: jest.fn(),
+}));
+
+const feature = (id: string, diameter: number) => ({
+ getProperties: () => ({ id, diameter }),
+});
+
+afterEach(() => {
+ clearPipeDiameterCache();
+ jest.clearAllMocks();
+});
+
+describe("loadPipeDiameters", () => {
+ it("shares an in-flight WFS request and reuses its resolved result", async () => {
+ let resolveFeatures: ((features: ReturnType[]) => void) | undefined;
+ const pendingFeatures = new Promise[]>((resolve) => {
+ resolveFeatures = resolve;
+ });
+ (queryFeaturesByIds as jest.Mock).mockImplementation(
+ async () => pendingFeatures,
+ );
+
+ const firstRequest = loadPipeDiameters(["P-1"]);
+ const duplicateRequest = loadPipeDiameters(["P-1"]);
+
+ expect(queryFeaturesByIds).toHaveBeenCalledTimes(1);
+
+ resolveFeatures?.([feature("P-1", 315)]);
+ await expect(firstRequest).resolves.toEqual({ "P-1": 315 });
+ await expect(duplicateRequest).resolves.toEqual({ "P-1": 315 });
+
+ await expect(loadPipeDiameters(["P-1"])).resolves.toEqual({
+ "P-1": 315,
+ });
+ expect(queryFeaturesByIds).toHaveBeenCalledTimes(1);
+ });
+});
describe("getPipeDiameterDisplay", () => {
it("shows the actual diameter for one burst pipe", () => {
diff --git a/src/components/olmap/BurstSimulation/schemePipeDiameters.ts b/src/components/olmap/BurstSimulation/schemePipeDiameters.ts
index 69d2af6..99e4afa 100644
--- a/src/components/olmap/BurstSimulation/schemePipeDiameters.ts
+++ b/src/components/olmap/BurstSimulation/schemePipeDiameters.ts
@@ -1,5 +1,94 @@
+import { queryFeaturesByIds } from "@/utils/mapQueryService";
+import config from "@config/config";
+
export type PipeDiameterMap = Record;
+const diameterCache = new Map();
+const diameterRequestCache = new Map>();
+
+const normalizePipeIds = (pipeIds: string[]) =>
+ [...new Set(pipeIds.map((pipeId) => String(pipeId).trim()).filter(Boolean))];
+
+export const getPipeDiameterQueryKey = (pipeIds: string[]) =>
+ [
+ config.MAP_URL,
+ config.MAP_WORKSPACE,
+ ...normalizePipeIds(pipeIds).sort(),
+ ].join("\u0000");
+
+export const getCachedPipeDiameters = (pipeIds: string[]) =>
+ diameterCache.get(getPipeDiameterQueryKey(pipeIds));
+
+export const clearPipeDiameterCache = () => {
+ diameterCache.clear();
+ diameterRequestCache.clear();
+};
+
+export const loadPipeDiameters = async (
+ pipeIds: string[],
+): Promise => {
+ const normalizedPipeIds = normalizePipeIds(pipeIds);
+ if (normalizedPipeIds.length === 0) {
+ return {};
+ }
+
+ const queryKey = getPipeDiameterQueryKey(normalizedPipeIds);
+ const cachedDiameters = diameterCache.get(queryKey);
+ if (cachedDiameters) {
+ return cachedDiameters;
+ }
+
+ const cachedRequest = diameterRequestCache.get(queryKey);
+ if (cachedRequest) {
+ return cachedRequest;
+ }
+
+ const request = (async () => {
+ let features = await queryFeaturesByIds(
+ normalizedPipeIds,
+ "geo_pipes_mat",
+ );
+ const foundPipeIds = new Set(
+ features.map((feature) => String(feature.getProperties().id)),
+ );
+ const missingPipeIds = normalizedPipeIds.filter(
+ (pipeId) => !foundPipeIds.has(pipeId),
+ );
+
+ if (missingPipeIds.length > 0) {
+ const fallbackFeatures = await queryFeaturesByIds(
+ missingPipeIds,
+ "geo_pipes",
+ );
+ features = [...features, ...fallbackFeatures];
+ }
+
+ const diameters: PipeDiameterMap = Object.fromEntries(
+ normalizedPipeIds.map((pipeId) => [pipeId, null]),
+ );
+ features.forEach((feature) => {
+ const properties = feature.getProperties();
+ const pipeId = String(properties.id);
+ const diameter = Number(properties.diameter);
+ if (pipeId in diameters) {
+ diameters[pipeId] = Number.isFinite(diameter) ? diameter : null;
+ }
+ });
+
+ diameterCache.set(queryKey, diameters);
+ return diameters;
+ })();
+
+ diameterRequestCache.set(queryKey, request);
+ try {
+ return await request;
+ } finally {
+ if (diameterRequestCache.get(queryKey) === request) {
+ diameterRequestCache.delete(queryKey);
+ }
+ }
+};
+
export const getPipeDiameterDisplay = (
pipeIds: string[] | undefined,
diameters: PipeDiameterMap | undefined,
diff --git a/src/components/olmap/ContaminantSimulation/AnalysisParameters.tsx b/src/components/olmap/ContaminantSimulation/AnalysisParameters.tsx
index 7d03461..df39f84 100644
--- a/src/components/olmap/ContaminantSimulation/AnalysisParameters.tsx
+++ b/src/components/olmap/ContaminantSimulation/AnalysisParameters.tsx
@@ -228,7 +228,6 @@ const AnalysisParameters: React.FC = ({
console.log("默认设置 pattern 为 CONSTANT");
}
const params = {
- network,
start_time: start_time,
source: sourceNode,
concentration,
@@ -237,7 +236,7 @@ const AnalysisParameters: React.FC = ({
scheme_name: schemeName,
};
- await api.get(`${config.BACKEND_URL}/api/v1/contaminant-simulation`, {
+ await api.post(`${config.BACKEND_URL}/api/v1/contaminant-simulations`, undefined, {
params,
});
diff --git a/src/components/olmap/ContaminantSimulation/SchemeQuery.tsx b/src/components/olmap/ContaminantSimulation/SchemeQuery.tsx
index 760a2b7..e8956b6 100644
--- a/src/components/olmap/ContaminantSimulation/SchemeQuery.tsx
+++ b/src/components/olmap/ContaminantSimulation/SchemeQuery.tsx
@@ -223,7 +223,6 @@ const SchemeQuery: React.FC = ({
setLoading(true);
try {
const params: Record = {
- network,
scheme_type: SCHEME_TYPE,
};
if (!queryAll && queryDate) {
diff --git a/src/components/olmap/DMALeakDetection/AnalysisParameters.tsx b/src/components/olmap/DMALeakDetection/AnalysisParameters.tsx
index 33c373c..71a1c72 100644
--- a/src/components/olmap/DMALeakDetection/AnalysisParameters.tsx
+++ b/src/components/olmap/DMALeakDetection/AnalysisParameters.tsx
@@ -18,7 +18,7 @@ import dayjs, { Dayjs } from "dayjs";
import "dayjs/locale/zh-cn";
import { useNotification } from "@refinedev/core";
import { api } from "@/lib/api";
-import { NETWORK_NAME, config } from "@config/config";
+import { config } from "@config/config";
import { useControllableObjectState } from "@components/olmap/core/useControllableState";
import { LeakageResultDetail } from "./types";
import { FLOW_DISPLAY_UNIT, toM3s } from "@utils/units";
@@ -108,9 +108,8 @@ const AnalysisParameters: React.FC = ({
});
try {
const response = await api.post(
- `${config.BACKEND_URL}/api/v1/leakage/identify/`,
+ `${config.BACKEND_URL}/api/v1/leakage-identifications`,
{
- network: NETWORK_NAME,
scheme_name: schemeName.trim(),
dma_count: dmaCount,
scada_start: startTime.toISOString(),
diff --git a/src/components/olmap/DMALeakDetection/SchemeQuery.tsx b/src/components/olmap/DMALeakDetection/SchemeQuery.tsx
index 3e15444..c4b120a 100644
--- a/src/components/olmap/DMALeakDetection/SchemeQuery.tsx
+++ b/src/components/olmap/DMALeakDetection/SchemeQuery.tsx
@@ -85,7 +85,6 @@ const SchemeQuery: React.FC = ({
setLoading(true);
try {
const params: Record = {
- network: NETWORK_NAME,
scheme_type: "dma_leak_identification",
};
if (!queryAll && queryDate) {
@@ -129,7 +128,6 @@ const SchemeQuery: React.FC = ({
`${config.BACKEND_URL}/api/v1/schemes/${encodeURIComponent(schemeName)}`,
{
params: {
- network: NETWORK_NAME,
scheme_type: "dma_leak_identification",
},
},
diff --git a/src/components/olmap/FlushingAnalysis/AnalysisParameters.tsx b/src/components/olmap/FlushingAnalysis/AnalysisParameters.tsx
index 77ec889..5d599cb 100644
--- a/src/components/olmap/FlushingAnalysis/AnalysisParameters.tsx
+++ b/src/components/olmap/FlushingAnalysis/AnalysisParameters.tsx
@@ -307,11 +307,10 @@ const AnalysisParameters: React.FC = ({
const params = {
scheme_name: schemeName,
- network: NETWORK_NAME,
start_time: formattedTime,
valves: valves.map(v => v.id),
valves_k: valves.map(v => v.k),
- drainage_node_ID: drainageNode,
+ drainage_node_id: drainageNode,
flush_flow: flushFlow,
duration: duration
};
@@ -320,7 +319,7 @@ const AnalysisParameters: React.FC = ({
// but axios usually handles array as valves[]=1&valves[]=2
// FastAPI default expects repeated query params.
- const response = await api.get(`${config.BACKEND_URL}/api/v1/flushing-analysis`, {
+ const response = await api.post(`${config.BACKEND_URL}/api/v1/flushing-analyses`, undefined, {
params,
// Ensure arrays are sent as repeated keys: valves=1&valves=2
paramsSerializer: {
diff --git a/src/components/olmap/FlushingAnalysis/SchemeQuery.tsx b/src/components/olmap/FlushingAnalysis/SchemeQuery.tsx
index e7fe0a8..d0e016c 100644
--- a/src/components/olmap/FlushingAnalysis/SchemeQuery.tsx
+++ b/src/components/olmap/FlushingAnalysis/SchemeQuery.tsx
@@ -269,7 +269,6 @@ const SchemeQuery: React.FC = ({
setLoading(true);
try {
const params: Record = {
- network,
scheme_type: SCHEME_TYPE,
};
if (!queryAll && queryDate) {
diff --git a/src/components/olmap/HealthRiskAnalysis/Timeline.tsx b/src/components/olmap/HealthRiskAnalysis/Timeline.tsx
index daee04f..56f3aef 100644
--- a/src/components/olmap/HealthRiskAnalysis/Timeline.tsx
+++ b/src/components/olmap/HealthRiskAnalysis/Timeline.tsx
@@ -392,7 +392,7 @@ const Timeline: React.FC = ({
});
try {
const response = await apiFetch(
- `${config.BACKEND_URL}/api/v1/composite/pipeline-health-prediction?query_time=${query_time}&network_name=${NETWORK_NAME}`,
+ `${config.BACKEND_URL}/api/v1/pipeline-health-predictions?query_time=${query_time}`,
);
if (response.ok) {
diff --git a/src/components/olmap/MonitoringPlaceOptimization/MonitoringPlaceOptimizationPanel.tsx b/src/components/olmap/MonitoringPlaceOptimization/MonitoringPlaceOptimizationPanel.tsx
index c77de01..f6e9388 100644
--- a/src/components/olmap/MonitoringPlaceOptimization/MonitoringPlaceOptimizationPanel.tsx
+++ b/src/components/olmap/MonitoringPlaceOptimization/MonitoringPlaceOptimizationPanel.tsx
@@ -135,7 +135,7 @@ const MonitoringPlaceOptimizationPanel: React.FC<
const handleOpenScheme = async (schemeId: number) => {
setLoadingScheme(true);
try {
- const scheme = await getSensorPlacementScheme(NETWORK_NAME, schemeId);
+ const scheme = await getSensorPlacementScheme(schemeId);
setActiveScheme(scheme);
setLoadingScheme(false);
setPendingOpenSchemeId(scheme.id);
diff --git a/src/components/olmap/MonitoringPlaceOptimization/OptimizationParameters.tsx b/src/components/olmap/MonitoringPlaceOptimization/OptimizationParameters.tsx
index adfd3fc..0b482f3 100644
--- a/src/components/olmap/MonitoringPlaceOptimization/OptimizationParameters.tsx
+++ b/src/components/olmap/MonitoringPlaceOptimization/OptimizationParameters.tsx
@@ -90,7 +90,6 @@ const OptimizationParameters: React.FC = ({
try {
const created = await optimizeSensorPlacement({
- network,
scheme_name: schemeName,
sensor_type: "pressure",
method: method as "sensitivity" | "kmeans",
diff --git a/src/components/olmap/MonitoringPlaceOptimization/SchemeEditor.test.tsx b/src/components/olmap/MonitoringPlaceOptimization/SchemeEditor.test.tsx
new file mode 100644
index 0000000..2553220
--- /dev/null
+++ b/src/components/olmap/MonitoringPlaceOptimization/SchemeEditor.test.tsx
@@ -0,0 +1,176 @@
+import { act, fireEvent, render, screen, waitFor } from "@testing-library/react";
+import SchemeEditor from "./SchemeEditor";
+import type { SensorPlacementScheme } from "./types";
+
+const mockOpen = jest.fn();
+let mockSingleClickHandler: ((event: unknown) => void) | undefined;
+
+const mockMap = {
+ addLayer: jest.fn(),
+ removeLayer: jest.fn(),
+ on: jest.fn((eventName: string, handler: (event: unknown) => void) => {
+ if (eventName === "singleclick") {
+ mockSingleClickHandler = handler;
+ }
+ }),
+ un: jest.fn(),
+ forEachFeatureAtPixel: jest.fn(() => undefined),
+ getView: jest.fn(() => ({
+ animate: jest.fn(),
+ getZoom: jest.fn(() => 16),
+ getResolution: jest.fn(() => 1),
+ })),
+};
+
+jest.mock("@refinedev/core", () => ({
+ useNotification: () => ({ open: mockOpen }),
+}));
+
+jest.mock("@components/olmap/core/MapComponent", () => ({
+ useMap: () => mockMap,
+}));
+
+jest.mock("@mui/x-data-grid", () => ({
+ DataGrid: () => ,
+ GridToolbar: () => null,
+}));
+
+jest.mock("@mui/x-data-grid/locales", () => ({
+ zhCN: {
+ components: {
+ MuiDataGrid: {
+ defaultProps: {
+ localeText: {},
+ },
+ },
+ },
+ },
+}));
+
+jest.mock("ol/Feature", () => ({
+ __esModule: true,
+ default: class {
+ private values: Record;
+
+ constructor(values: Record) {
+ this.values = values;
+ }
+
+ get(key: string) {
+ return this.values[key];
+ }
+
+ setId() {}
+ },
+}));
+
+jest.mock("ol/geom/Point", () => ({
+ __esModule: true,
+ default: class {
+ constructor(_coordinates: number[]) {}
+ },
+}));
+
+jest.mock("ol/source/Vector", () => ({
+ __esModule: true,
+ default: class {
+ clear() {}
+ addFeature() {}
+ },
+}));
+
+jest.mock("ol/layer/Vector", () => ({
+ __esModule: true,
+ default: class {
+ private source: { clear: () => void; addFeature: () => void };
+
+ constructor(options: {
+ source: { clear: () => void; addFeature: () => void };
+ }) {
+ this.source = options.source;
+ }
+
+ getSource() {
+ return this.source;
+ }
+
+ setVisible() {}
+ },
+}));
+
+jest.mock("ol/style", () => ({
+ Circle: class {},
+ Fill: class {},
+ Stroke: class {},
+ Style: class {},
+ Text: class {},
+}));
+
+jest.mock("ol/proj", () => ({
+ fromLonLat: (coordinates: number[]) => coordinates,
+ toLonLat: (coordinates: number[]) => coordinates,
+}));
+
+jest.mock("@/utils/mapQueryService", () => ({
+ handleMapClickSelectFeatures: jest.fn(),
+}));
+
+jest.mock("./SchemeDrawingDialog", () => ({
+ __esModule: true,
+ default: () => null,
+}));
+
+jest.mock("./schemeApi", () => ({
+ exportSensorPlacementExcel: jest.fn(),
+ overwriteSensorPlacementScheme: jest.fn(),
+}));
+
+const scheme: SensorPlacementScheme = {
+ id: 1,
+ scheme_name: "测试方案",
+ sensor_number: 1,
+ min_diameter: 300,
+ username: "operator",
+ create_time: "2026-07-30T08:00:00+08:00",
+ sensor_location: ["J1"],
+ sensor_points: [
+ {
+ node_id: "J1",
+ project_x: 10,
+ project_y: 20,
+ map_x: 13500010,
+ map_y: 3600020,
+ longitude: 121,
+ latitude: 31,
+ elevation: 5,
+ },
+ ],
+ can_edit: true,
+};
+
+describe("SchemeEditor notifications", () => {
+ beforeEach(() => {
+ jest.clearAllMocks();
+ mockSingleClickHandler = undefined;
+ });
+
+ it("uses the same error notification contract as scheme query when replace starts outside an existing sensor", async () => {
+ render();
+
+ fireEvent.click(screen.getByRole("button", { name: "替换" }));
+ await waitFor(() => expect(mockSingleClickHandler).toBeDefined());
+
+ act(() => {
+ mockSingleClickHandler?.({
+ pixel: [0, 0],
+ coordinate: [13500000, 3600000],
+ stopPropagation: jest.fn(),
+ });
+ });
+
+ expect(mockOpen).toHaveBeenCalledWith({
+ type: "error",
+ message: "请先点击要替换的监测点",
+ });
+ });
+});
diff --git a/src/components/olmap/MonitoringPlaceOptimization/SchemeEditor.tsx b/src/components/olmap/MonitoringPlaceOptimization/SchemeEditor.tsx
index 993874f..90086a6 100644
--- a/src/components/olmap/MonitoringPlaceOptimization/SchemeEditor.tsx
+++ b/src/components/olmap/MonitoringPlaceOptimization/SchemeEditor.tsx
@@ -28,7 +28,8 @@ import {
EditLocationAlt as ReplaceIcon,
LocationOn as LocateIcon,
Map as MapIcon,
- Redo as ResetIcon,
+ Redo as RedoIcon,
+ RestartAlt as ResetIcon,
Save as SaveIcon,
Undo as UndoIcon,
} from "@mui/icons-material";
@@ -55,6 +56,7 @@ import {
createSchemeEditorState,
deleteSensorPoint,
isSchemeDirty,
+ redoSchemeEdit,
replaceSensorPoint,
resetSchemeEdit,
summarizeChanges,
@@ -230,8 +232,8 @@ const SchemeEditor: React.FC = ({
x: number;
y: number;
elevation: number;
- }>(`${config.BACKEND_URL}/api/v1/getjunctionproperties/`, {
- params: { network, junction: nodeId },
+ }>(`${config.BACKEND_URL}/api/v1/junctions/properties`, {
+ params: { junction: nodeId },
});
if (!response.data?.id) return null;
const [longitude, latitude] = toLonLat([mapX, mapY]);
@@ -249,7 +251,7 @@ const SchemeEditor: React.FC = ({
return null;
}
},
- [map, network],
+ [map],
);
useEffect(() => {
@@ -275,7 +277,7 @@ const SchemeEditor: React.FC = ({
if (mode === "delete") {
if (!markerNodeId) {
- open?.({ type: "progress", message: "请点击要删除的监测点" });
+ open?.({ type: "error", message: "请点击要删除的监测点" });
return;
}
setEditor((current) => deleteSensorPoint(current, markerNodeId));
@@ -285,7 +287,7 @@ const SchemeEditor: React.FC = ({
if (mode === "replace" && !replaceSourceId) {
if (!markerNodeId) {
- open?.({ type: "progress", message: "请先点击要替换的监测点" });
+ open?.({ type: "error", message: "请先点击要替换的监测点" });
return;
}
setReplaceSourceId(markerNodeId);
@@ -295,7 +297,7 @@ const SchemeEditor: React.FC = ({
const candidate = await resolveJunction(event);
if (!candidate) {
- open?.({ type: "progress", message: "请选择有效的管网节点" });
+ open?.({ type: "error", message: "请选择有效的管网节点" });
return;
}
@@ -304,7 +306,7 @@ const SchemeEditor: React.FC = ({
(point) => point.node_id === candidate.node_id,
);
if (exists) {
- open?.({ type: "progress", message: "该节点已在当前方案中" });
+ open?.({ type: "error", message: "该节点已在当前方案中" });
return;
}
setEditor((current) => addSensorPoint(current, candidate));
@@ -316,7 +318,7 @@ const SchemeEditor: React.FC = ({
point.node_id !== replaceSourceId,
);
if (duplicate) {
- open?.({ type: "progress", message: "目标节点已在当前方案中" });
+ open?.({ type: "error", message: "目标节点已在当前方案中" });
return;
}
setEditor((current) =>
@@ -379,7 +381,6 @@ const SchemeEditor: React.FC = ({
setSaving(true);
try {
const updated = await overwriteSensorPlacementScheme(
- network,
scheme.id,
editor.baseline.map((point) => point.node_id),
editor.points.map((point) => point.node_id),
@@ -410,7 +411,6 @@ const SchemeEditor: React.FC = ({
setExporting(true);
try {
const blob = await exportSensorPlacementExcel(
- network,
scheme.id,
editor.points.map((point) => point.node_id),
editor.statuses,
@@ -693,6 +693,19 @@ const SchemeEditor: React.FC = ({
+
+
+ setEditor((current) => redoSchemeEdit(current))}
+ sx={{ width: 40, height: 40 }}
+ >
+
+
+
+
= ({
setLoading(true);
try {
const response = await api.get(
- `${config.BACKEND_URL}/api/v1/sensor-placement-schemes?network=${network}`,
+ `${config.BACKEND_URL}/api/v1/sensor-placement-schemes`,
);
let filteredResults = response.data;
diff --git a/src/components/olmap/MonitoringPlaceOptimization/schemeApi.ts b/src/components/olmap/MonitoringPlaceOptimization/schemeApi.ts
index 6998797..1428e13 100644
--- a/src/components/olmap/MonitoringPlaceOptimization/schemeApi.ts
+++ b/src/components/olmap/MonitoringPlaceOptimization/schemeApi.ts
@@ -6,7 +6,6 @@ import type {
} from "./types";
export interface OptimizeSchemeInput {
- network: string;
scheme_name: string;
sensor_type: "pressure";
method: "sensitivity" | "kmeans";
@@ -18,25 +17,22 @@ export const optimizeSensorPlacement = async (
input: OptimizeSchemeInput,
): Promise => {
const response = await api.post(
- `${config.BACKEND_URL}/api/v1/sensor-placement-schemes/optimize`,
+ `${config.BACKEND_URL}/api/v1/sensor-placement-optimization-runs`,
input,
);
return response.data;
};
export const getSensorPlacementScheme = async (
- network: string,
schemeId: number,
): Promise => {
const response = await api.get(
`${config.BACKEND_URL}/api/v1/sensor-placement-schemes/${schemeId}`,
- { params: { network } },
);
return response.data;
};
export const overwriteSensorPlacementScheme = async (
- network: string,
schemeId: number,
expectedSensorLocation: string[],
sensorLocation: string[],
@@ -47,13 +43,11 @@ export const overwriteSensorPlacementScheme = async (
expected_sensor_location: expectedSensorLocation,
sensor_location: sensorLocation,
},
- { params: { network } },
);
return response.data;
};
export const exportSensorPlacementExcel = async (
- network: string,
schemeId: number,
sensorLocation: string[],
adjustmentStatus: Record,
@@ -65,7 +59,6 @@ export const exportSensorPlacementExcel = async (
adjustment_status: adjustmentStatus,
},
{
- params: { network },
responseType: "blob",
},
);
diff --git a/src/components/olmap/MonitoringPlaceOptimization/schemeEditor.test.ts b/src/components/olmap/MonitoringPlaceOptimization/schemeEditor.test.ts
index 3f77cb9..f26cd6d 100644
--- a/src/components/olmap/MonitoringPlaceOptimization/schemeEditor.test.ts
+++ b/src/components/olmap/MonitoringPlaceOptimization/schemeEditor.test.ts
@@ -3,6 +3,7 @@ import {
createSchemeEditorState,
deleteSensorPoint,
isSchemeDirty,
+ redoSchemeEdit,
replaceSensorPoint,
resetSchemeEdit,
summarizeChanges,
@@ -44,6 +45,24 @@ describe("scheme editor", () => {
expect(undoSchemeEdit(added).points).toEqual(initial.points);
});
+ it("can redo an undone edit and clears redo history after a new edit", () => {
+ const initial = createSchemeEditorState(scheme);
+ const added = addSensorPoint(initial, point("J3"));
+ const undone = undoSchemeEdit(added);
+ const redone = redoSchemeEdit(undone);
+
+ expect(redone.points.map((item) => item.node_id)).toEqual([
+ "J1",
+ "J2",
+ "J3",
+ ]);
+ expect(redone.history).toHaveLength(1);
+ expect(redone.future).toEqual([]);
+
+ const editedAfterUndo = replaceSensorPoint(undone, "J1", point("J4"));
+ expect(editedAfterUndo.future).toEqual([]);
+ });
+
it("replaces a node without changing row order", () => {
const initial = createSchemeEditorState(scheme);
const replaced = replaceSensorPoint(initial, "J1", point("J3"));
@@ -80,5 +99,6 @@ describe("scheme editor", () => {
expect(reset.points.map((item) => item.node_id)).toEqual(["J1", "J2"]);
expect(isSchemeDirty(reset)).toBe(false);
expect(reset.history).toEqual([]);
+ expect(reset.future).toEqual([]);
});
});
diff --git a/src/components/olmap/MonitoringPlaceOptimization/schemeEditor.ts b/src/components/olmap/MonitoringPlaceOptimization/schemeEditor.ts
index e3dab4a..b674c13 100644
--- a/src/components/olmap/MonitoringPlaceOptimization/schemeEditor.ts
+++ b/src/components/olmap/MonitoringPlaceOptimization/schemeEditor.ts
@@ -13,6 +13,7 @@ export interface SchemeEditorSnapshot {
export interface SchemeEditorState extends SchemeEditorSnapshot {
baseline: SensorPoint[];
history: SchemeEditorSnapshot[];
+ future: SchemeEditorSnapshot[];
}
const clonePoints = (points: SensorPoint[]) => points.map((point) => ({ ...point }));
@@ -30,6 +31,7 @@ export const createSchemeEditorState = (
points: clonePoints(scheme.sensor_points),
statuses: currentStatuses(scheme.sensor_points),
history: [],
+ future: [],
});
const snapshot = (state: SchemeEditorState): SchemeEditorSnapshot => ({
@@ -46,6 +48,7 @@ const withHistory = (
points,
statuses,
history: [...state.history, snapshot(state)],
+ future: [],
});
export const addSensorPoint = (
@@ -114,6 +117,19 @@ export const undoSchemeEdit = (state: SchemeEditorState): SchemeEditorState => {
points: clonePoints(previous.points),
statuses: { ...previous.statuses },
history: state.history.slice(0, -1),
+ future: [...state.future, snapshot(state)],
+ };
+};
+
+export const redoSchemeEdit = (state: SchemeEditorState): SchemeEditorState => {
+ const next = state.future[state.future.length - 1];
+ if (!next) return state;
+ return {
+ ...state,
+ points: clonePoints(next.points),
+ statuses: { ...next.statuses },
+ history: [...state.history, snapshot(state)],
+ future: state.future.slice(0, -1),
};
};
@@ -122,6 +138,7 @@ export const resetSchemeEdit = (state: SchemeEditorState): SchemeEditorState =>
points: clonePoints(state.baseline),
statuses: currentStatuses(state.baseline),
history: [],
+ future: [],
});
export const isSchemeDirty = (state: SchemeEditorState) => {
diff --git a/src/components/olmap/SCADA/SCADADataPanel.tsx b/src/components/olmap/SCADA/SCADADataPanel.tsx
index e892175..56fb3d0 100644
--- a/src/components/olmap/SCADA/SCADADataPanel.tsx
+++ b/src/components/olmap/SCADA/SCADADataPanel.tsx
@@ -105,11 +105,11 @@ const fetchFromBackend = async (
const start_time = dayjs(range.from).toISOString();
const end_time = dayjs(range.to).toISOString();
// 清洗数据接口
- const cleaningDataUrl = `${config.BACKEND_URL}/api/v1/scada/by-ids-field-time-range?device_ids=${device_ids}&field=cleaned_value&start_time=${start_time}&end_time=${end_time}`;
+ const cleaningDataUrl = `${config.BACKEND_URL}/api/v1/timeseries/scada-readings/fields?device_ids=${device_ids}&field=cleaned_value&start_time=${start_time}&end_time=${end_time}`;
// 原始数据
- const rawDataUrl = `${config.BACKEND_URL}/api/v1/scada/by-ids-field-time-range?device_ids=${device_ids}&field=monitored_value&start_time=${start_time}&end_time=${end_time}`;
+ const rawDataUrl = `${config.BACKEND_URL}/api/v1/timeseries/scada-readings/fields?device_ids=${device_ids}&field=monitored_value&start_time=${start_time}&end_time=${end_time}`;
// 模拟数据接口
- const simulationDataUrl = `${config.BACKEND_URL}/api/v1/composite/scada-simulation?device_ids=${device_ids}&start_time=${start_time}&end_time=${end_time}`;
+ const simulationDataUrl = `${config.BACKEND_URL}/api/v1/timeseries/views/scada-simulations?device_ids=${device_ids}&start_time=${start_time}&end_time=${end_time}`;
try {
// 优先查询清洗数据和模拟数据
const [cleaningRes, simulationRes] = await Promise.all([
@@ -351,11 +351,11 @@ const SCADADataPanel: React.FC = ({
const end_time = dayjs(range.to).toISOString();
// 清洗数据接口
- const cleaningDataUrl = `${config.BACKEND_URL}/api/v1/scada/by-ids-field-time-range?device_ids=${device_ids}&field=cleaned_value&start_time=${start_time}&end_time=${end_time}`;
+ const cleaningDataUrl = `${config.BACKEND_URL}/api/v1/timeseries/scada-readings/fields?device_ids=${device_ids}&field=cleaned_value&start_time=${start_time}&end_time=${end_time}`;
// 原始数据
- const rawDataUrl = `${config.BACKEND_URL}/api/v1/scada/by-ids-field-time-range?device_ids=${device_ids}&field=monitored_value&start_time=${start_time}&end_time=${end_time}`;
+ const rawDataUrl = `${config.BACKEND_URL}/api/v1/timeseries/scada-readings/fields?device_ids=${device_ids}&field=monitored_value&start_time=${start_time}&end_time=${end_time}`;
// 模拟数据接口
- const simulationDataUrl = `${config.BACKEND_URL}/api/v1/composite/scada-simulation?device_ids=${device_ids}&start_time=${start_time}&end_time=${end_time}`;
+ const simulationDataUrl = `${config.BACKEND_URL}/api/v1/timeseries/views/scada-simulations?device_ids=${device_ids}&start_time=${start_time}&end_time=${end_time}`;
try {
const [cleanRes, rawRes, simRes] = await Promise.all([
apiFetch(cleaningDataUrl)
@@ -530,7 +530,7 @@ const SCADADataPanel: React.FC = ({
const response = await api.post(
`${
config.BACKEND_URL
- }/api/v1/composite/clean-scada?device_ids=${deviceIds.join(
+ }/api/v1/timeseries/scada-cleaning-runs?device_ids=${deviceIds.join(
",",
)}&start_time=${startTime}&end_time=${endTime}`,
);
diff --git a/src/components/olmap/SCADA/SCADADeviceList.tsx b/src/components/olmap/SCADA/SCADADeviceList.tsx
index 9870996..9a7e77c 100644
--- a/src/components/olmap/SCADA/SCADADeviceList.tsx
+++ b/src/components/olmap/SCADA/SCADADeviceList.tsx
@@ -624,7 +624,7 @@ const SCADADeviceList: React.FC = ({
// 调用后端清洗接口
const response = await api.post(
- `${config.BACKEND_URL}/api/v1/composite/clean-scada?device_ids=all&start_time=${startTime}&end_time=${endTime}`,
+ `${config.BACKEND_URL}/api/v1/timeseries/scada-cleaning-runs?device_ids=all&start_time=${startTime}&end_time=${endTime}`,
);
// 处理成功响应
diff --git a/src/components/olmap/core/Controls/HistoryDataPanel.tsx b/src/components/olmap/core/Controls/HistoryDataPanel.tsx
index 4849cd7..a23192b 100644
--- a/src/components/olmap/core/Controls/HistoryDataPanel.tsx
+++ b/src/components/olmap/core/Controls/HistoryDataPanel.tsx
@@ -108,13 +108,13 @@ const fetchFromBackend = async (
.join(",");
// 监测值数据接口(use_cleaned=false)
- const rawDataUrl = `${config.BACKEND_URL}/api/v1/composite/element-scada?element_id=${feature_ids}&start_time=${start_time}&end_time=${end_time}&use_cleaned=false`;
+ const rawDataUrl = `${config.BACKEND_URL}/api/v1/timeseries/views/element-scada-readings?element_id=${feature_ids}&start_time=${start_time}&end_time=${end_time}&use_cleaned=false`;
// 清洗数据接口(use_cleaned=true)
- const cleanedDataUrl = `${config.BACKEND_URL}/api/v1/composite/element-scada?element_id=${feature_ids}&start_time=${start_time}&end_time=${end_time}&use_cleaned=true`;
+ const cleanedDataUrl = `${config.BACKEND_URL}/api/v1/timeseries/views/element-scada-readings?element_id=${feature_ids}&start_time=${start_time}&end_time=${end_time}&use_cleaned=true`;
// 模拟数据接口
- const simulationDataUrl = `${config.BACKEND_URL}/api/v1/composite/element-simulation?feature_infos=${feature_infos}&start_time=${start_time}&end_time=${end_time}`;
+ const simulationDataUrl = `${config.BACKEND_URL}/api/v1/timeseries/views/element-simulations?feature_infos=${feature_infos}&start_time=${start_time}&end_time=${end_time}`;
// 策略模拟数据接口
- const schemeSimulationDataUrl = `${config.BACKEND_URL}/api/v1/composite/element-simulation?feature_infos=${feature_infos}&start_time=${start_time}&end_time=${end_time}&scheme_type=${scheme_type}&scheme_name=${scheme_name}`;
+ const schemeSimulationDataUrl = `${config.BACKEND_URL}/api/v1/timeseries/views/element-simulations?feature_infos=${feature_infos}&start_time=${start_time}&end_time=${end_time}&scheme_type=${scheme_type}&scheme_name=${scheme_name}`;
try {
if (type === "none") {
diff --git a/src/components/olmap/core/Controls/Timeline.tsx b/src/components/olmap/core/Controls/Timeline.tsx
index e0f423f..744cd5e 100644
--- a/src/components/olmap/core/Controls/Timeline.tsx
+++ b/src/components/olmap/core/Controls/Timeline.tsx
@@ -241,11 +241,11 @@ const Timeline: React.FC = ({
nodePromise =
sourceType === "scheme" && schemeName
? apiFetch(
- `${config.BACKEND_URL}/api/v1/scheme/query/by-scheme-time-property?scheme_type=${schemeType}&scheme_name=${schemeName}&query_time=${query_time}&type=node&property=${junctionProperties}`,
+ `${config.BACKEND_URL}/api/v1/timeseries/schemes/records?scheme_type=${schemeType}&scheme_name=${schemeName}&query_time=${query_time}&type=node&property=${junctionProperties}`,
{ signal },
)
: apiFetch(
- `${config.BACKEND_URL}/api/v1/realtime/query/by-time-property?query_time=${query_time}&type=node&property=${junctionProperties}`,
+ `${config.BACKEND_URL}/api/v1/timeseries/realtime/records?query_time=${query_time}&type=node&property=${junctionProperties}`,
{ signal },
);
requests.push(nodePromise);
@@ -270,11 +270,11 @@ const Timeline: React.FC = ({
linkPromise =
sourceType === "scheme" && schemeName
? apiFetch(
- `${config.BACKEND_URL}/api/v1/scheme/query/by-scheme-time-property?scheme_type=${schemeType}&scheme_name=${schemeName}&query_time=${query_time}&type=link&property=${normalizedPipeProperties}`,
+ `${config.BACKEND_URL}/api/v1/timeseries/schemes/records?scheme_type=${schemeType}&scheme_name=${schemeName}&query_time=${query_time}&type=link&property=${normalizedPipeProperties}`,
{ signal },
)
: apiFetch(
- `${config.BACKEND_URL}/api/v1/realtime/query/by-time-property?query_time=${query_time}&type=link&property=${normalizedPipeProperties}`,
+ `${config.BACKEND_URL}/api/v1/timeseries/realtime/records?query_time=${query_time}&type=link&property=${normalizedPipeProperties}`,
{ signal },
);
requests.push(linkPromise);
@@ -717,13 +717,12 @@ const Timeline: React.FC = ({
});
try {
const body = {
- name: NETWORK_NAME,
start_time: dayjs(calculationDateTime).format("YYYY-MM-DDTHH:mm:ssZ"),
duration: calculatedInterval,
};
const response = await apiFetch(
- `${config.BACKEND_URL}/api/v1/simulations/run-by-date`,
+ `${config.BACKEND_URL}/api/v1/simulation-runs`,
{
method: "POST",
headers: {
diff --git a/src/components/olmap/core/Controls/Toolbar.tsx b/src/components/olmap/core/Controls/Toolbar.tsx
index d80d755..cadd22e 100644
--- a/src/components/olmap/core/Controls/Toolbar.tsx
+++ b/src/components/olmap/core/Controls/Toolbar.tsx
@@ -431,11 +431,10 @@ const Toolbar: React.FC = ({
try {
const params = new URLSearchParams({
- network: networkName,
link: selectedValveId,
});
const response = await apiFetch(
- `${config.BACKEND_URL}/api/v1/getstatus/?${params.toString()}`,
+ `${config.BACKEND_URL}/api/v1/status?${params.toString()}`,
);
if (!response.ok) {
@@ -484,11 +483,10 @@ const Toolbar: React.FC = ({
try {
const params = new URLSearchParams({
- network: networkName,
valve: selectedValveId,
});
const response = await apiFetch(
- `${config.BACKEND_URL}/api/v1/getvalveproperties/?${params.toString()}`,
+ `${config.BACKEND_URL}/api/v1/valves/properties?${params.toString()}`,
);
if (!response.ok) {
@@ -534,13 +532,12 @@ const Toolbar: React.FC = ({
setIsValveStatusSaving(true);
try {
const params = new URLSearchParams({
- network: networkName,
link: selectedValveId,
});
const response = await apiFetch(
- `${config.BACKEND_URL}/api/v1/setstatus/?${params.toString()}`,
+ `${config.BACKEND_URL}/api/v1/status-properties?${params.toString()}`,
{
- method: "POST",
+ method: "PATCH",
headers: {
"Content-Type": "application/json",
},
@@ -567,7 +564,7 @@ const Toolbar: React.FC = ({
setIsValveStatusSaving(false);
}
},
- [networkName, open, selectedValveId],
+ [open, selectedValveId],
);
const handleValveSettingSave = useCallback(
@@ -600,13 +597,12 @@ const Toolbar: React.FC = ({
setIsValveSettingSaving(true);
try {
const params = new URLSearchParams({
- network: networkName,
valve: selectedValveId,
});
const response = await apiFetch(
- `${config.BACKEND_URL}/api/v1/setvalveproperties/?${params.toString()}`,
+ `${config.BACKEND_URL}/api/v1/valves/properties?${params.toString()}`,
{
- method: "POST",
+ method: "PATCH",
headers: {
"Content-Type": "application/json",
},
@@ -637,7 +633,6 @@ const Toolbar: React.FC = ({
}
},
[
- networkName,
open,
selectedValveId,
selectedValveType,
@@ -679,12 +674,12 @@ const Toolbar: React.FC = ({
if (queryType === "scheme") {
response = await apiFetch(
// `${config.BACKEND_URL}/queryschemesimulationrecordsbyidtime/?scheme_name=${schemeName}&id=${id}&querytime=${querytime}&type=${type}`
- `${config.BACKEND_URL}/api/v1/scheme/query/by-id-time?scheme_type=${schemeType}&scheme_name=${schemeName}&id=${id}&type=${type}&query_time=${querytime}`,
+ `${config.BACKEND_URL}/api/v1/timeseries/schemes/simulation-results?scheme_type=${schemeType}&scheme_name=${schemeName}&id=${id}&type=${type}&query_time=${querytime}`,
);
} else {
response = await apiFetch(
// `${config.BACKEND_URL}/querysimulationrecordsbyidtime/?id=${id}&querytime=${querytime}&type=${type}`
- `${config.BACKEND_URL}/api/v1/realtime/query/by-id-time?id=${id}&type=${type}&query_time=${querytime}`,
+ `${config.BACKEND_URL}/api/v1/timeseries/realtime/simulation-results?id=${id}&type=${type}&query_time=${querytime}`,
);
}
if (!response.ok) {
diff --git a/src/components/olmap/core/Controls/useTimelineTimeConfig.test.tsx b/src/components/olmap/core/Controls/useTimelineTimeConfig.test.tsx
index c04fa12..3ff0809 100644
--- a/src/components/olmap/core/Controls/useTimelineTimeConfig.test.tsx
+++ b/src/components/olmap/core/Controls/useTimelineTimeConfig.test.tsx
@@ -32,7 +32,7 @@ describe("useTimelineTimeConfig", () => {
});
expect(result.current.durationMinutes).toBe(1440);
expect(String(apiFetch.mock.calls[0][0])).toContain(
- "/api/v1/gettimeproperties/?network=test-network",
+ "/api/v1/network-options/time",
);
});
diff --git a/src/components/olmap/core/Controls/useTimelineTimeConfig.ts b/src/components/olmap/core/Controls/useTimelineTimeConfig.ts
index 3249e5d..845cd93 100644
--- a/src/components/olmap/core/Controls/useTimelineTimeConfig.ts
+++ b/src/components/olmap/core/Controls/useTimelineTimeConfig.ts
@@ -68,9 +68,7 @@ export const useTimelineTimeConfig = (): TimelineTimeConfig => {
const fetchTimeProperties = async () => {
try {
const response = await apiFetch(
- `${config.BACKEND_URL}/api/v1/gettimeproperties/?network=${encodeURIComponent(
- networkName,
- )}`,
+ `${config.BACKEND_URL}/api/v1/network-options/time`,
);
if (!response.ok) {
throw new Error(`Failed to fetch time properties: ${response.status}`);
diff --git a/src/components/olmap/core/Controls/useToolbarChatActions.ts b/src/components/olmap/core/Controls/useToolbarChatActions.ts
index e9d8ee7..994834d 100644
--- a/src/components/olmap/core/Controls/useToolbarChatActions.ts
+++ b/src/components/olmap/core/Controls/useToolbarChatActions.ts
@@ -164,7 +164,7 @@ export const useToolbarChatActions = ({
? `?session_id=${encodeURIComponent(action.sessionId)}`
: "";
const response = await apiFetch(
- `${config.AGENT_URL}/api/v1/agent/chat/render-ref/${encodeURIComponent(action.renderRef)}${query}`,
+ `${config.AGENT_URL}/api/v1/agent/render-references/${encodeURIComponent(action.renderRef)}${query}`,
{
method: "GET",
projectHeaderMode: "include",
diff --git a/src/components/project/ProjectSelector.tsx b/src/components/project/ProjectSelector.tsx
index 6bfcf88..d66755d 100644
--- a/src/components/project/ProjectSelector.tsx
+++ b/src/components/project/ProjectSelector.tsx
@@ -62,7 +62,7 @@ export const ProjectSelector: React.FC = ({
setLoadError(null);
try {
const response = await apiFetch(
- `${config.BACKEND_URL}/api/v1/meta/projects`,
+ `${config.BACKEND_URL}/api/v1/projects`,
{ projectHeaderMode: "omit" },
);
if (!response.ok) {
diff --git a/src/config/config.ts b/src/config/config.ts
index 6e18479..ed8fbe6 100644
--- a/src/config/config.ts
+++ b/src/config/config.ts
@@ -77,10 +77,11 @@ export const setMapExtent = (extent: number[]) => {
export const MAPBOX_TOKEN = runtimeConfig.MAPBOX_TOKEN || "";
export const TIANDITU_TOKEN = runtimeConfig.TIANDITU_TOKEN || "";
-export const PROJECT_TITLE = process.env.PROJECT_TITLE || "TJWater Project";
+export const PROJECT_TITLE =
+ process.env.PROJECT_TITLE || "TJWater 智慧水务平台";
export const META_DATA = {
title: PROJECT_TITLE,
- description: "Developed by TJWATER",
+ description: PROJECT_TITLE,
icons: {
icon: "/favicon.ico",
},
diff --git a/src/contexts/ProjectContext.test.tsx b/src/contexts/ProjectContext.test.tsx
new file mode 100644
index 0000000..6734321
--- /dev/null
+++ b/src/contexts/ProjectContext.test.tsx
@@ -0,0 +1,103 @@
+import { render, waitFor } from "@testing-library/react";
+
+import { ProjectProvider } from "./ProjectContext";
+
+const mockApiFetch = jest.fn();
+const mockUseSession = jest.fn();
+const mockSetCurrentProjectId = jest.fn();
+
+jest.mock("next-auth/react", () => ({
+ useSession: () => mockUseSession(),
+}));
+
+jest.mock("next/navigation", () => ({
+ usePathname: () => "/login",
+ useRouter: () => ({ push: jest.fn() }),
+}));
+
+jest.mock("@/components/project/ProjectSelector", () => ({
+ ProjectSelector: () => project selector
,
+}));
+
+jest.mock("@/config/config", () => ({
+ config: {
+ BACKEND_URL: "http://backend.test",
+ MAP_EXTENT: [1, 2, 3, 4],
+ MAP_WORKSPACE: "default-workspace",
+ },
+ NETWORK_NAME: "default-network",
+ setMapExtent: jest.fn(),
+ setMapWorkspace: jest.fn(),
+ setNetworkName: jest.fn(),
+}));
+
+jest.mock("@/lib/apiFetch", () => ({
+ apiFetch: (...args: unknown[]) => mockApiFetch(...args),
+}));
+
+jest.mock("@/lib/permissions", () => ({
+ permissionCodes: { environmentManage: "environment:manage" },
+}));
+
+jest.mock("@/store/accessStore", () => ({
+ useAccessStore: (selector: (state: { permissions: string[] }) => unknown) =>
+ selector({ permissions: [] }),
+}));
+
+jest.mock("@/store/projectStore", () => ({
+ useProjectStore: (
+ selector: (state: { setCurrentProjectId: typeof mockSetCurrentProjectId }) => unknown,
+ ) => selector({ setCurrentProjectId: mockSetCurrentProjectId }),
+}));
+
+const seedSavedProject = () => {
+ localStorage.setItem("MAP_WORKSPACE", "fengyang");
+ localStorage.setItem("NETWORK_NAME", "fengyang");
+ localStorage.setItem("MAP_EXTENT", "1,2,3,4");
+ localStorage.setItem(
+ "active_project",
+ "a2d67c84-fd9d-4feb-a500-c357244b2760",
+ );
+};
+
+describe("ProjectProvider authentication boundary", () => {
+ beforeEach(() => {
+ localStorage.clear();
+ mockApiFetch.mockReset();
+ mockSetCurrentProjectId.mockReset();
+ mockApiFetch.mockResolvedValue({
+ ok: true,
+ json: async () => ({}),
+ });
+ });
+
+ it("does not restore or open a saved project while unauthenticated", () => {
+ seedSavedProject();
+ mockUseSession.mockReturnValue({ status: "unauthenticated" });
+
+ render(
+
+ login page
+ ,
+ );
+
+ expect(mockSetCurrentProjectId).not.toHaveBeenCalled();
+ expect(mockApiFetch).not.toHaveBeenCalled();
+ });
+
+ it("restores and opens a saved project after authentication", async () => {
+ seedSavedProject();
+ mockUseSession.mockReturnValue({ status: "authenticated" });
+
+ render(
+
+ main page
+ ,
+ );
+
+ await waitFor(() => expect(mockApiFetch).toHaveBeenCalledTimes(2));
+ expect(mockSetCurrentProjectId).toHaveBeenCalledWith(
+ "a2d67c84-fd9d-4feb-a500-c357244b2760",
+ );
+ });
+});
diff --git a/src/contexts/ProjectContext.tsx b/src/contexts/ProjectContext.tsx
index 447c202..4cba7ac 100644
--- a/src/contexts/ProjectContext.tsx
+++ b/src/contexts/ProjectContext.tsx
@@ -74,7 +74,7 @@ export const ProjectProvider: React.FC<{ children: React.ReactNode }> = ({
try {
const openResponse = await apiFetch(
- `${config.BACKEND_URL}/api/v1/projects/open?network=${networkName}`,
+ `${config.BACKEND_URL}/api/v1/projects/current`,
{ method: "POST" },
);
if (!openResponse.ok) {
@@ -82,7 +82,7 @@ export const ProjectProvider: React.FC<{ children: React.ReactNode }> = ({
}
const infoResponse = await apiFetch(
- `${config.BACKEND_URL}/api/v1/project-info?network=${networkName}`,
+ `${config.BACKEND_URL}/api/v1/projects/current`,
);
if (!infoResponse.ok) {
console.warn(
@@ -118,6 +118,10 @@ export const ProjectProvider: React.FC<{ children: React.ReactNode }> = ({
);
useEffect(() => {
+ if (status !== "authenticated") {
+ return;
+ }
+
// Check localStorage
const savedWorkspace = localStorage.getItem(MAP_WORKSPACE_STORAGE_KEY);
const savedNetwork = localStorage.getItem(NETWORK_NAME_STORAGE_KEY);
@@ -133,7 +137,7 @@ export const ProjectProvider: React.FC<{ children: React.ReactNode }> = ({
savedExtent ? savedExtent.split(",").map(Number) : config.MAP_EXTENT,
);
}
- }, [applyConfig]);
+ }, [applyConfig, status]);
const isGlobalManagementRoute =
pathname.startsWith("/system-admin") || pathname.startsWith("/audit-logs");
diff --git a/src/generated/agentApi.ts b/src/generated/agentApi.ts
new file mode 100644
index 0000000..2fd801e
--- /dev/null
+++ b/src/generated/agentApi.ts
@@ -0,0 +1,1645 @@
+/**
+ * This file was auto-generated by openapi-typescript.
+ * Do not make direct changes to the file.
+ */
+
+export interface paths {
+ "/api/v1/agent/models": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /** List available agent models */
+ get: operations["get_models"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/agent/sessions": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /** List agent sessions */
+ get: operations["get_sessions"];
+ put?: never;
+ /** Create an agent session */
+ post: operations["post_sessions"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/agent/sessions/{session_id}": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /** Get an agent session */
+ get: operations["get_sessions_session_id"];
+ put?: never;
+ post?: never;
+ /** Delete an agent session */
+ delete: operations["delete_sessions_session_id"];
+ options?: never;
+ head?: never;
+ /** Update an agent session */
+ patch: operations["patch_sessions_session_id"];
+ trace?: never;
+ };
+ "/api/v1/agent/sessions/{session_id}/runs": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /** Run an agent session */
+ post: operations["post_sessions_session_id_runs"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/agent/sessions/{session_id}/runs/current/events": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /** Resume the current agent event stream */
+ get: operations["get_sessions_session_id_runs_current_events"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/agent/sessions/{session_id}/runs/current": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ post?: never;
+ /** Abort the current agent run */
+ delete: operations["delete_sessions_session_id_runs_current"];
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/agent/sessions/{session_id}/permission-responses": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /** Reply to an agent permission request */
+ post: operations["post_sessions_session_id_permission_responses"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/agent/sessions/{session_id}/question-responses": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /** Reply to or reject an agent question */
+ post: operations["post_sessions_session_id_question_responses"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/agent/sessions/{session_id}/forks": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /** Fork an agent session */
+ post: operations["post_sessions_session_id_forks"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/agent/render-references/{render_ref}": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /** Resolve a render reference */
+ get: operations["get_render_references_render_ref"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+}
+export type webhooks = Record;
+export interface components {
+ schemas: {
+ ProblemDetails: {
+ type: string;
+ title: string;
+ status: number;
+ detail: string;
+ instance: string;
+ code: string;
+ trace_id: string;
+ errors: unknown[];
+ };
+ AgentSessionSummary: {
+ id: string;
+ title: string;
+ created_at: string;
+ updated_at: string;
+ status: string;
+ parent_session_id?: string | null;
+ is_streaming: boolean;
+ run_status?: string | null;
+ };
+ AgentSessionCreate: {
+ session_id: string;
+ title?: string | null;
+ created_at: string;
+ updated_at: string;
+ status: string;
+ parent_session_id?: string | null;
+ };
+ AgentSessionDetail: components["schemas"]["AgentSessionSummary"] & {
+ session_id: string;
+ is_title_manually_edited: boolean;
+ messages: unknown[];
+ };
+ AgentSessionUpdate: {
+ id: string;
+ title: string;
+ updated_at: string;
+ };
+ AgentSessionFork: {
+ session_id: string;
+ };
+ };
+ responses: never;
+ parameters: never;
+ requestBodies: never;
+ headers: never;
+ pathItems: never;
+}
+export type $defs = Record;
+export interface operations {
+ get_models: {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ [key: string]: unknown;
+ };
+ };
+ };
+ /** @description Invalid request */
+ 400: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Internal server error */
+ 500: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Upstream dependency error */
+ 502: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_sessions: {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ sessions: components["schemas"]["AgentSessionSummary"][];
+ };
+ };
+ };
+ /** @description Invalid request */
+ 400: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Internal server error */
+ 500: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Upstream dependency error */
+ 502: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_sessions: {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: {
+ content: {
+ "application/json": {
+ session_id?: string;
+ parent_session_id?: string;
+ };
+ };
+ };
+ responses: {
+ /** @description Existing session returned */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["AgentSessionCreate"];
+ };
+ };
+ /** @description Session created */
+ 201: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["AgentSessionCreate"];
+ };
+ };
+ /** @description Invalid request */
+ 400: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Internal server error */
+ 500: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Upstream dependency error */
+ 502: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_sessions_session_id: {
+ parameters: {
+ query?: never;
+ header?: never;
+ path: {
+ session_id: string;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["AgentSessionDetail"];
+ };
+ };
+ /** @description Invalid request */
+ 400: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Internal server error */
+ 500: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Upstream dependency error */
+ 502: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ delete_sessions_session_id: {
+ parameters: {
+ query?: never;
+ header?: never;
+ path: {
+ session_id: string;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Session deleted */
+ 204: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content?: never;
+ };
+ /** @description Invalid request */
+ 400: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Internal server error */
+ 500: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Upstream dependency error */
+ 502: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_sessions_session_id: {
+ parameters: {
+ query?: never;
+ header?: never;
+ path: {
+ session_id: string;
+ };
+ cookie?: never;
+ };
+ requestBody?: {
+ content: {
+ "application/json": {
+ title: string;
+ is_title_manually_edited?: boolean;
+ };
+ };
+ };
+ responses: {
+ /** @description Successful response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["AgentSessionUpdate"];
+ };
+ };
+ /** @description Invalid request */
+ 400: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Internal server error */
+ 500: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Upstream dependency error */
+ 502: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_sessions_session_id_runs: {
+ parameters: {
+ query?: never;
+ header?: never;
+ path: {
+ session_id: string;
+ };
+ cookie?: never;
+ };
+ requestBody?: {
+ content: {
+ "application/json": {
+ message: string;
+ model?: string;
+ /** @enum {string} */
+ approval_mode?: "request" | "always";
+ };
+ };
+ };
+ responses: {
+ /** @description Agent event stream */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "text/event-stream": string;
+ };
+ };
+ /** @description Invalid request */
+ 400: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Internal server error */
+ 500: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Upstream dependency error */
+ 502: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_sessions_session_id_runs_current_events: {
+ parameters: {
+ query?: never;
+ header?: never;
+ path: {
+ session_id: string;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Agent event stream */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "text/event-stream": string;
+ };
+ };
+ /** @description Invalid request */
+ 400: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Internal server error */
+ 500: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Upstream dependency error */
+ 502: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ delete_sessions_session_id_runs_current: {
+ parameters: {
+ query?: never;
+ header?: never;
+ path: {
+ session_id: string;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful response */
+ 202: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ [key: string]: unknown;
+ };
+ };
+ };
+ /** @description No active run */
+ 204: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content?: never;
+ };
+ /** @description Invalid request */
+ 400: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Internal server error */
+ 500: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Upstream dependency error */
+ 502: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_sessions_session_id_permission_responses: {
+ parameters: {
+ query?: never;
+ header?: never;
+ path: {
+ session_id: string;
+ };
+ cookie?: never;
+ };
+ requestBody?: {
+ content: {
+ "application/json": {
+ request_id: string;
+ /** @enum {string} */
+ reply: "once" | "always" | "reject";
+ message?: string;
+ };
+ };
+ };
+ responses: {
+ /** @description Successful response */
+ 202: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ [key: string]: unknown;
+ };
+ };
+ };
+ /** @description Invalid request */
+ 400: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Internal server error */
+ 500: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Upstream dependency error */
+ 502: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_sessions_session_id_question_responses: {
+ parameters: {
+ query?: never;
+ header?: never;
+ path: {
+ session_id: string;
+ };
+ cookie?: never;
+ };
+ requestBody?: {
+ content: {
+ "application/json": {
+ request_id: string;
+ /**
+ * @default reply
+ * @enum {string}
+ */
+ action?: "reply" | "reject";
+ answers?: string[][];
+ };
+ };
+ };
+ responses: {
+ /** @description Successful response */
+ 202: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ [key: string]: unknown;
+ };
+ };
+ };
+ /** @description Invalid request */
+ 400: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Internal server error */
+ 500: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Upstream dependency error */
+ 502: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_sessions_session_id_forks: {
+ parameters: {
+ query?: never;
+ header?: never;
+ path: {
+ session_id: string;
+ };
+ cookie?: never;
+ };
+ requestBody?: {
+ content: {
+ "application/json": {
+ keep_message_count: number;
+ };
+ };
+ };
+ responses: {
+ /** @description Successful response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["AgentSessionFork"];
+ };
+ };
+ /** @description Invalid request */
+ 400: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Internal server error */
+ 500: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Upstream dependency error */
+ 502: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_render_references_render_ref: {
+ parameters: {
+ query?: {
+ session_id?: string;
+ };
+ header?: never;
+ path: {
+ render_ref: string;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ [key: string]: unknown;
+ };
+ };
+ };
+ /** @description Invalid request */
+ 400: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Internal server error */
+ 500: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Upstream dependency error */
+ 502: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/problem+json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+}
diff --git a/src/generated/serverApi.ts b/src/generated/serverApi.ts
new file mode 100644
index 0000000..e6e6a2b
--- /dev/null
+++ b/src/generated/serverApi.ts
@@ -0,0 +1,42650 @@
+/**
+ * This file was auto-generated by openapi-typescript.
+ * Do not make direct changes to the file.
+ */
+
+export interface paths {
+ "/api/v1/access-context": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /** Get Access Context */
+ get: operations["get_access_context"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/admin/projects": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /** List Admin Projects */
+ get: operations["get_admin_projects"];
+ put?: never;
+ /** Create Admin Project */
+ post: operations["post_admin_projects"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/admin/projects/{project_id}": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /** Update Admin Project */
+ patch: operations["patch_admin_projects_project_id"];
+ trace?: never;
+ };
+ "/api/v1/admin/projects/{project_id}/databases": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /** List Project Databases */
+ get: operations["get_admin_projects_project_id_databases"];
+ /** Upsert Project Database */
+ put: operations["put_admin_projects_project_id_databases"];
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/admin/projects/{project_id}/databases/{db_role}": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ post?: never;
+ /** Delete Project Database */
+ delete: operations["delete_admin_projects_project_id_databases_db_role"];
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/admin/projects/{project_id}/databases/{db_role}/health-checks": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /** Check Project Database Health */
+ post: operations["post_admin_projects_project_id_databases_db_role_health_checks"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/admin/projects/{project_id}/members": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /** List Project Members */
+ get: operations["get_admin_projects_project_id_members"];
+ put?: never;
+ /** Add Project Member */
+ post: operations["post_admin_projects_project_id_members"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/admin/projects/{project_id}/members/{user_id}": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ post?: never;
+ /** Remove Project Member */
+ delete: operations["delete_admin_projects_project_id_members_user_id"];
+ options?: never;
+ head?: never;
+ /** Update Project Member */
+ patch: operations["patch_admin_projects_project_id_members_user_id"];
+ trace?: never;
+ };
+ "/api/v1/admin/projects/{project_id}/model-imports": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /** 导入桌面端水力模型 */
+ post: operations["post_admin_projects_project_id_model_imports"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ /** 更新桌面端水力模型 */
+ patch: operations["patch_admin_projects_project_id_model_imports"];
+ trace?: never;
+ };
+ "/api/v1/admin/user-syncs": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /** Sync Metadata User */
+ post: operations["post_admin_user_syncs"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/admin/user-syncs/batches": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /** Sync Metadata Users Batch */
+ post: operations["post_admin_user_syncs_batches"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/admin/users": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /** List Metadata Users */
+ get: operations["get_admin_users"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/admin/users/me": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /** Get Metadata Admin Me */
+ get: operations["get_admin_users_me"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/admin/users/{user_id}": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /** Get Metadata User */
+ get: operations["get_admin_users_user_id"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /** Update Metadata User */
+ patch: operations["patch_admin_users_user_id"];
+ trace?: never;
+ };
+ "/api/v1/agent-auth-context": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /** Get Agent Auth Context */
+ get: operations["get_agent_auth_context"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/all-extension-data-keys": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取所有扩展数据键
+ * @description 获取指定网络的所有扩展数据的键列表
+ */
+ get: operations["get_all_extension_data_keys"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/all-extension-datas": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取所有扩展数据
+ * @description 获取指定网络的所有扩展数据
+ */
+ get: operations["get_all_extension_datas"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/all-redis": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ post?: never;
+ /**
+ * 清除所有缓存
+ * @description 清空整个Redis数据库的所有缓存
+ */
+ delete: operations["delete_all_redis"];
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/all-scada-properties": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取所有SCADA点属性
+ * @description 获取指定水网中所有SCADA点的属性信息
+ */
+ get: operations["get_all_scada_properties"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/all-vertices": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取所有图形元素
+ * @description 获取网络中的所有图形元素详细信息
+ */
+ get: operations["get_all_vertices"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/audit-events": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /** Record Session Event */
+ post: operations["post_audit_events"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/audit-logs": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 查询审计日志
+ * @description 查询审计日志(仅管理员)
+ */
+ get: operations["get_audit_logs"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/audit-logs/count": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取审计日志总数
+ * @description 获取审计日志总数(仅管理员)
+ */
+ get: operations["get_audit_logs_count"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/audit-logs/mine": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 查询我的审计日志
+ * @description 查询当前用户的审计日志
+ */
+ get: operations["get_audit_logs_mine"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/backdrops/properties": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取背景属性
+ * @description 获取指定网络的背景属性信息
+ */
+ get: operations["get_backdrops_properties"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 设置背景属性
+ * @description 更新指定网络的背景属性
+ */
+ patch: operations["patch_backdrops_properties"];
+ trace?: never;
+ };
+ "/api/v1/burst-analyses": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * 爆管分析(高级)
+ * @description 高级版本的爆管分析,支持在指定时间点修改泵控制模式和阀门开度,以分析这些改变对爆管影响的作用。支持固定泵和变速泵的独立控制。
+ */
+ post: operations["post_burst_analyses"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/burst-detections": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * 执行爆管检测
+ * @description 基于压力观测数据和其他参数执行爆管检测分析
+ */
+ post: operations["post_burst_detections"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/burst-locations": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取所有爆管定位结果
+ * @description 获取网络中所有爆管定位的分析结果
+ */
+ get: operations["get_burst_locations"];
+ put?: never;
+ /**
+ * 执行爆管定位
+ * @description 基于压力和流量数据定位管网中的爆管位置
+ */
+ post: operations["post_burst_locations"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/burst-locations/database-view": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取爆管定位结果
+ * @description 使用连接池查询所有爆管定位结果
+ */
+ get: operations["get_burst_locations_database_view"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/burst-locations/{burst_incident}": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 按事件查询爆管定位结果
+ * @description 根据爆管事件ID查询对应的爆管定位结果
+ */
+ get: operations["get_burst_locations_burst_incident"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/contaminant-simulations": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * 污染物模拟
+ * @description 对管网中的污染物扩散进行模拟,评估污染源对管网的影响范围和浓度分布。支持指定污染源位置、污染浓度和扩散模式。
+ */
+ post: operations["post_contaminant_simulations"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/controls/properties": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取控制属性
+ * @description 获取指定网络中的控制属性信息
+ */
+ get: operations["get_controls_properties"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 设置控制属性
+ * @description 更新指定网络中的控制属性
+ */
+ patch: operations["patch_controls_properties"];
+ trace?: never;
+ };
+ "/api/v1/current-operation-ids": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取当前操作ID
+ * @description 获取网络当前的操作ID
+ */
+ get: operations["get_current_operation_ids"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/curves": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取所有曲线
+ * @description 获取网络中的所有曲线列表
+ */
+ get: operations["get_curves"];
+ put?: never;
+ /**
+ * 添加曲线
+ * @description 在网络中添加一条新的曲线
+ */
+ post: operations["post_curves"];
+ /**
+ * 删除曲线
+ * @description 从网络中删除指定的曲线
+ */
+ delete: operations["delete_curves"];
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/curves/existence": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 检查曲线存在性
+ * @description 检查指定的曲线是否存在
+ */
+ get: operations["get_curves_existence"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/curves/properties": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取曲线属性
+ * @description 获取指定曲线的属性信息
+ */
+ get: operations["get_curves_properties"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 设置曲线属性
+ * @description 更新指定曲线的属性
+ */
+ patch: operations["patch_curves_properties"];
+ trace?: never;
+ };
+ "/api/v1/daily-scheduling-analyses": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * 日排程分析
+ * @description 对管网的每日供水排程进行分析,优化水库、水厂、水箱和用户需求的协调,制定合理的每日排程方案。
+ */
+ post: operations["post_daily_scheduling_analyses"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/demands/properties": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取需水量属性
+ * @description 获取指定水网中节点的需水量属性信息
+ */
+ get: operations["get_demands_properties"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 设置需水量属性
+ * @description 设置指定水网中节点的需水量属性信息
+ */
+ patch: operations["patch_demands_properties"];
+ trace?: never;
+ };
+ "/api/v1/demands/to-network": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * 计算需水量到整网分配
+ * @description 将需水量均匀分配到整个水网的所有需水节点
+ */
+ post: operations["post_demands_to_network"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/demands/to-nodes": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * 计算需水量到节点分配
+ * @description 将总需水量按指定方式分配到多个节点
+ */
+ post: operations["post_demands_to_nodes"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/demands/to-region": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * 计算需水量到区域分配
+ * @description 将总需水量按区域特征分配到该区域内的节点
+ */
+ post: operations["post_demands_to_region"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/district-metering-area-generation-runs": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * 生成DMA分区
+ * @description 根据参数自动生成水网的DMA分区方案
+ */
+ post: operations["post_district_metering_area_generation_runs"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/district-metering-areas": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取所有DMA
+ * @description 获取指定水网中所有DMA的详细信息
+ */
+ get: operations["get_district_metering_areas"];
+ put?: never;
+ /**
+ * 添加新DMA
+ * @description 向水网添加一个新的区域计量(DMA)
+ */
+ post: operations["post_district_metering_areas"];
+ /**
+ * 删除DMA
+ * @description 删除指定的区域计量(DMA)
+ */
+ delete: operations["delete_district_metering_areas"];
+ options?: never;
+ head?: never;
+ /**
+ * 设置DMA属性
+ * @description 修改指定DMA的属性信息
+ */
+ patch: operations["patch_district_metering_areas"];
+ trace?: never;
+ };
+ "/api/v1/district-metering-areas/detail": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取DMA信息
+ * @description 获取指定ID的区域计量(DMA)详细信息
+ */
+ get: operations["get_district_metering_areas_detail"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/district-metering-areas/for-network": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * 计算整网DMA分区
+ * @description 为整个水网计算区域计量(DMA)分区方案
+ */
+ post: operations["post_district_metering_areas_for_network"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/district-metering-areas/for-nodes": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * 计算节点DMA分区
+ * @description 为指定节点集计算区域计量(DMA)分区方案
+ */
+ post: operations["post_district_metering_areas_for_nodes"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/district-metering-areas/for-region": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * 计算区域内DMA分区
+ * @description 为指定区域计算区域计量(DMA)分区方案
+ */
+ post: operations["post_district_metering_areas_for_region"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/district-metering-areas/ids": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取所有DMA ID
+ * @description 获取指定水网中所有DMA的ID列表
+ */
+ get: operations["get_district_metering_areas_ids"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/element-properties": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取元素属性
+ * @description 获取指定元素的属性信息
+ */
+ get: operations["get_element_properties"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/element-properties-with-types": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取指定类型元素属性
+ * @description 获取指定类型的元素属性信息
+ */
+ get: operations["get_element_properties_with_types"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/element-type-values": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取元素类型值
+ * @description 获取指定元素的类型数值标识
+ */
+ get: operations["get_element_type_values"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/element-types": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取元素类型
+ * @description 获取指定元素的类型(节点或管线)
+ */
+ get: operations["get_element_types"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/emitters/properties": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取发射器属性
+ * @description 获取指定连接点的发射器属性信息
+ */
+ get: operations["get_emitters_properties"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 设置发射器属性
+ * @description 更新指定连接点的发射器属性
+ */
+ patch: operations["patch_emitters_properties"];
+ trace?: never;
+ };
+ "/api/v1/energy-properties": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 设置能耗选项属性
+ * @description 更新指定网络中的能耗选项属性
+ */
+ patch: operations["patch_energy_properties"];
+ trace?: never;
+ };
+ "/api/v1/extension-datas": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取指定扩展数据
+ * @description 获取指定网络中指定键的扩展数据值
+ */
+ get: operations["get_extension_datas"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 设置扩展数据
+ * @description 设置指定网络中的扩展数据
+ */
+ patch: operations["patch_extension_datas"];
+ trace?: never;
+ };
+ "/api/v1/flushing-analyses": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * 冲洗分析(高级)
+ * @description 高级版本的冲洗分析,支持同时开启多个阀门进行冲洗,指定排污节点,并设置固定的冲洗流量。返回纯文本格式的分析结果。
+ */
+ post: operations["post_flushing_analyses"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/geocoding-requests": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * Tianditu Geocoding
+ * @description 调用天地图地理编码服务,将结构化地址转换为经纬度
+ */
+ post: operations["post_geocoding_requests"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/inp-runs": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * 运行INP文件
+ * @description 运行指定INP文件格式的管网模型进行水力模拟。INP文件应该放在inp文件夹中,参数为文件名不含扩展名。
+ */
+ post: operations["post_inp_runs"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/junctions": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取所有节点属性
+ * @description 获取指定项目中所有节点的属性信息。
+ */
+ get: operations["get_junctions"];
+ put?: never;
+ /**
+ * 添加节点
+ * @description 在供水网络中添加新的节点,指定节点ID和空间坐标。
+ */
+ post: operations["post_junctions"];
+ /**
+ * 删除节点
+ * @description 从供水网络中删除指定的节点。
+ */
+ delete: operations["delete_junctions"];
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/junctions/coord": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取节点坐标
+ * @description 获取指定节点的 X 和 Y 坐标。
+ */
+ get: operations["get_junctions_coord"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 设置节点坐标
+ * @description 设置指定节点的 X 和 Y 坐标。
+ */
+ patch: operations["patch_junctions_coord"];
+ trace?: never;
+ };
+ "/api/v1/junctions/demand": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取节点需水量
+ * @description 获取指定节点的需水量。
+ */
+ get: operations["get_junctions_demand"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 设置节点需水量
+ * @description 设置指定节点的需水量。
+ */
+ patch: operations["patch_junctions_demand"];
+ trace?: never;
+ };
+ "/api/v1/junctions/elevation": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取节点标高
+ * @description 获取指定节点的标高(海拔高度)。
+ */
+ get: operations["get_junctions_elevation"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 设置节点标高
+ * @description 设置指定节点的标高值。
+ */
+ patch: operations["patch_junctions_elevation"];
+ trace?: never;
+ };
+ "/api/v1/junctions/existence": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 检查是否为接点
+ * @description 检查指定ID是否为水网中的接点(需求点)
+ */
+ get: operations["get_junctions_existence"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/junctions/pattern": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取节点需水模式
+ * @description 获取指定节点的需水模式标识。
+ */
+ get: operations["get_junctions_pattern"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 设置节点需水模式
+ * @description 设置指定节点的需水模式标识。
+ */
+ patch: operations["patch_junctions_pattern"];
+ trace?: never;
+ };
+ "/api/v1/junctions/properties": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取节点属性
+ * @description 获取指定节点的所有属性信息。
+ */
+ get: operations["get_junctions_properties"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 批量设置节点属性
+ * @description 批量设置指定节点的多个属性。
+ */
+ patch: operations["patch_junctions_properties"];
+ trace?: never;
+ };
+ "/api/v1/junctions/x": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取节点 X 坐标
+ * @description 获取指定节点的 X 坐标值。
+ */
+ get: operations["get_junctions_x"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 设置节点 X 坐标
+ * @description 设置指定节点的 X 坐标值。
+ */
+ patch: operations["patch_junctions_x"];
+ trace?: never;
+ };
+ "/api/v1/junctions/y": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取节点 Y 坐标
+ * @description 获取指定节点的 Y 坐标值。
+ */
+ get: operations["get_junctions_y"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 设置节点 Y 坐标
+ * @description 设置指定节点的 Y 坐标值。
+ */
+ patch: operations["patch_junctions_y"];
+ trace?: never;
+ };
+ "/api/v1/labels": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * 添加标签
+ * @description 在网络中添加一个新的标签
+ */
+ post: operations["post_labels"];
+ /**
+ * 删除标签
+ * @description 从网络中删除指定的标签
+ */
+ delete: operations["delete_labels"];
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/labels/properties": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取标签属性
+ * @description 获取指定坐标处的标签属性信息
+ */
+ get: operations["get_labels_properties"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 设置标签属性
+ * @description 更新指定标签的属性
+ */
+ patch: operations["patch_labels_properties"];
+ trace?: never;
+ };
+ "/api/v1/leakage-identifications": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * 执行漏损识别
+ * @description 基于压力观测数据和遗传算法识别管网中的漏损位置和大小
+ */
+ post: operations["post_leakage_identifications"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/link-properties": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取管线属性
+ * @description 获取指定管线的所有属性信息
+ */
+ get: operations["get_link_properties"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/link-types": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取管线类型
+ * @description 获取指定管线的类型(管道/泵/阀门)
+ */
+ get: operations["get_link_types"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/links": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取所有管线
+ * @description 获取指定水网中的所有管线ID列表
+ */
+ get: operations["get_links"];
+ put?: never;
+ post?: never;
+ /**
+ * 删除管线
+ * @description 删除指定的管线(管道/泵/阀门)
+ */
+ delete: operations["delete_links"];
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/links/existence": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 检查管线有效性
+ * @description 检查指定ID是否为水网中的有效管线
+ */
+ get: operations["get_links_existence"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/major-pipe-nodes": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取主要管道节点
+ * @description 获取直径大于等于指定值的管道的节点ID
+ */
+ get: operations["get_major_pipe_nodes"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/majornode-coords": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取主要节点坐标
+ * @description 获取直径大于等于指定值的节点坐标
+ */
+ get: operations["get_majornode_coords"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/mixing-configurations": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * 添加混合
+ * @description 在网络中添加一个新的混合
+ */
+ post: operations["post_mixing_configurations"];
+ /**
+ * 删除混合
+ * @description 从网络中删除指定的混合
+ */
+ delete: operations["delete_mixing_configurations"];
+ options?: never;
+ head?: never;
+ /**
+ * 设置混合属性
+ * @description 更新指定水池的混合属性
+ */
+ patch: operations["patch_mixing_configurations"];
+ trace?: never;
+ };
+ "/api/v1/mixing-configurations/detail": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取混合属性
+ * @description 获取指定水池的混合属性信息
+ */
+ get: operations["get_mixing_configurations_detail"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/network-command-batches": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * 执行批量命令
+ * @description 执行多个网络操作命令
+ */
+ post: operations["post_network_command_batches"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/network-command-batches/compressed": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * 执行压缩批量命令
+ * @description 执行压缩的批量命令
+ */
+ post: operations["post_network_command_batches_compressed"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/network-in-extents": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取范围内的网络元素
+ * @description 获取指定地理范围内的网络节点和管线
+ */
+ get: operations["get_network_in_extents"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/network-link-nodes": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取网络管线节点
+ * @description 获取指定水网所有管线的起点和终点节点
+ */
+ get: operations["get_network_link_nodes"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/network-options": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取选项属性
+ * @description 获取指定网络中的选项属性信息
+ */
+ get: operations["get_network_options"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 设置选项属性
+ * @description 更新指定网络中的选项属性
+ */
+ patch: operations["patch_network_options"];
+ trace?: never;
+ };
+ "/api/v1/network-options/energy": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取能耗选项属性
+ * @description 获取指定网络中的能耗选项属性信息
+ */
+ get: operations["get_network_options_energy"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/network-options/pump-energy": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取泵能耗属性
+ * @description 获取指定泵的能耗属性信息
+ */
+ get: operations["get_network_options_pump_energy"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 设置泵能耗属性
+ * @description 更新指定泵的能耗属性
+ */
+ patch: operations["patch_network_options_pump_energy"];
+ trace?: never;
+ };
+ "/api/v1/network-options/time": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取时间选项属性
+ * @description 获取指定网络中的时间选项属性信息
+ */
+ get: operations["get_network_options_time"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/network-pipe-risk-probability-nows": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取整个网络的管道风险概率
+ * @description 获取指定网络中所有管道的当前风险概率值
+ */
+ get: operations["get_network_pipe_risk_probability_nows"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/network-schemas/backdrop": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取背景架构
+ * @description 获取网络中背景对象的架构定义
+ */
+ get: operations["get_network_schemas_backdrop"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/network-schemas/control": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取控制架构
+ * @description 获取网络中控制对象的架构定义
+ */
+ get: operations["get_network_schemas_control"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/network-schemas/curve": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取曲线架构
+ * @description 获取网络中曲线对象的架构定义
+ */
+ get: operations["get_network_schemas_curve"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/network-schemas/demand": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取需水量属性架构
+ * @description 获取指定水网中需水量(Demand)的属性架构定义
+ */
+ get: operations["get_network_schemas_demand"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/network-schemas/district-metering-area": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取DMA属性架构
+ * @description 获取指定水网的区域计量(DMA)属性架构定义
+ */
+ get: operations["get_network_schemas_district_metering_area"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/network-schemas/emitter": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取发射器架构
+ * @description 获取网络中发射器对象的架构定义
+ */
+ get: operations["get_network_schemas_emitter"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/network-schemas/energy": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取能耗选项架构
+ * @description 获取网络中能耗选项的架构定义
+ */
+ get: operations["get_network_schemas_energy"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/network-schemas/junction": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取节点架构
+ * @description 获取指定项目的节点属性架构和数据类型定义。
+ */
+ get: operations["get_network_schemas_junction"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/network-schemas/label": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取标签架构
+ * @description 获取网络中标签对象的架构定义
+ */
+ get: operations["get_network_schemas_label"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/network-schemas/mixing": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取混合架构
+ * @description 获取网络中混合对象的架构定义
+ */
+ get: operations["get_network_schemas_mixing"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/network-schemas/option": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取选项架构
+ * @description 获取网络中选项对象的架构定义
+ */
+ get: operations["get_network_schemas_option"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/network-schemas/pattern": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取模式架构
+ * @description 获取网络中模式对象的架构定义
+ */
+ get: operations["get_network_schemas_pattern"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/network-schemas/pipe": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取管道模式
+ * @description 获取管道对象的模式定义,包含所有可用字段及其类型
+ */
+ get: operations["get_network_schemas_pipe"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/network-schemas/pipe-reaction": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取管道反应架构
+ * @description 获取网络中管道反应对象的架构定义
+ */
+ get: operations["get_network_schemas_pipe_reaction"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/network-schemas/pump": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取水泵模式
+ * @description 获取水泵对象的模式定义,包含所有可用字段及其类型
+ */
+ get: operations["get_network_schemas_pump"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/network-schemas/pump-energy": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取泵能耗选项架构
+ * @description 获取网络中泵能耗选项的架构定义
+ */
+ get: operations["get_network_schemas_pump_energy"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/network-schemas/quality": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取水质架构
+ * @description 获取网络中水质对象的架构定义
+ */
+ get: operations["get_network_schemas_quality"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/network-schemas/reaction": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取反应架构
+ * @description 获取网络中反应对象的架构定义
+ */
+ get: operations["get_network_schemas_reaction"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/network-schemas/region": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取区域属性架构
+ * @description 获取指定水网的区域属性架构定义
+ */
+ get: operations["get_network_schemas_region"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/network-schemas/reservoir": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取水库模式
+ * @description 获取指定供水网络中所有水库的模式/属性字段定义
+ */
+ get: operations["get_network_schemas_reservoir"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/network-schemas/scada-device": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取SCADA设备架构
+ * @description 获取SCADA设备的数据架构
+ *
+ * 返回SCADA设备表的字段定义和类型信息。
+ *
+ * Args:
+ * network: 管网名称(或数据库名称)
+ *
+ * Returns:
+ * SCADA设备的字段架构信息
+ */
+ get: operations["get_network_schemas_scada_device"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/network-schemas/scada-device-data": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取SCADA设备数据架构
+ * @description 获取SCADA设备数据的表结构
+ *
+ * 返回SCADA设备数据表的字段定义和类型信息。
+ *
+ * Args:
+ * network: 管网名称(或数据库名称)
+ *
+ * Returns:
+ * SCADA设备数据的字段架构信息
+ */
+ get: operations["get_network_schemas_scada_device_data"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/network-schemas/scada-element": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取SCADA元素架构
+ * @description 获取SCADA元素映射的表结构
+ *
+ * 返回SCADA元素映射表的字段定义和类型信息。
+ *
+ * Args:
+ * network: 管网名称(或数据库名称)
+ *
+ * Returns:
+ * SCADA元素映射的字段架构信息
+ */
+ get: operations["get_network_schemas_scada_element"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/network-schemas/scheme": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取方案模式
+ * @description 获取指定网络的方案模式定义
+ */
+ get: operations["get_network_schemas_scheme"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/network-schemas/service-area": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取服务区属性架构
+ * @description 获取指定水网的服务区属性架构定义
+ */
+ get: operations["get_network_schemas_service_area"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/network-schemas/source": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取水源架构
+ * @description 获取网络中水源对象的架构定义
+ */
+ get: operations["get_network_schemas_source"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/network-schemas/tag": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取标签属性架构
+ * @description 获取指定水网的标签(Tag)属性架构定义
+ */
+ get: operations["get_network_schemas_tag"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/network-schemas/tank": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取水箱模式
+ * @description 获取指定网络的水箱数据结构模式定义
+ */
+ get: operations["get_network_schemas_tank"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/network-schemas/tank-reaction": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取水池反应架构
+ * @description 获取网络中水池反应对象的架构定义
+ */
+ get: operations["get_network_schemas_tank_reaction"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/network-schemas/time": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取时间选项架构
+ * @description 获取网络中时间选项的架构定义
+ */
+ get: operations["get_network_schemas_time"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/network-schemas/user": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取用户模式
+ * @description 获取指定网络的用户模式定义
+ */
+ get: operations["get_network_schemas_user"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/network-schemas/valve": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取阀门架构
+ * @description 获取指定水网中所有阀门的架构和字段定义
+ */
+ get: operations["get_network_schemas_valve"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/network-schemas/vertex": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取图形元素架构
+ * @description 获取网络中图形元素对象的架构定义
+ */
+ get: operations["get_network_schemas_vertex"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/network-schemas/virtual-district": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取虚拟分区属性架构
+ * @description 获取指定水网的虚拟分区属性架构定义
+ */
+ get: operations["get_network_schemas_virtual_district"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/node-coords": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取节点坐标
+ * @description 获取指定节点的地理坐标(X, Y)
+ */
+ get: operations["get_node_coords"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/node-links": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取节点的关联管线
+ * @description 获取指定节点连接的所有管线ID列表
+ */
+ get: operations["get_node_links"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/node-properties": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取节点属性
+ * @description 获取指定节点的所有属性信息
+ */
+ get: operations["get_node_properties"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/node-types": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取节点类型
+ * @description 获取指定节点的类型(接点/水源/蓄水池)
+ */
+ get: operations["get_node_types"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/nodes": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取所有节点
+ * @description 获取指定水网中的所有节点ID列表
+ */
+ get: operations["get_nodes"];
+ put?: never;
+ post?: never;
+ /**
+ * 删除节点
+ * @description 删除指定的节点(接点/水源/蓄水池)
+ */
+ delete: operations["delete_nodes"];
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/nodes/existence": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 检查节点有效性
+ * @description 检查指定ID是否为水网中的有效节点
+ */
+ get: operations["get_nodes_existence"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/operations": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 选择操作
+ * @description 选择并恢复到指定的操作
+ */
+ patch: operations["patch_operations"];
+ trace?: never;
+ };
+ "/api/v1/outputs": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 导出模拟输出
+ * @description 导出指定路径的模拟输出文件内容。参数应为绝对路径。
+ */
+ get: operations["get_outputs"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/patterns": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取所有模式
+ * @description 获取网络中的所有模式列表
+ */
+ get: operations["get_patterns"];
+ put?: never;
+ /**
+ * 添加模式
+ * @description 在网络中添加一个新的模式
+ */
+ post: operations["post_patterns"];
+ /**
+ * 删除模式
+ * @description 从网络中删除指定的模式
+ */
+ delete: operations["delete_patterns"];
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/patterns/existence": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 检查模式存在性
+ * @description 检查指定的模式是否存在
+ */
+ get: operations["get_patterns_existence"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/patterns/properties": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取模式属性
+ * @description 获取指定模式的属性信息
+ */
+ get: operations["get_patterns_properties"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 设置模式属性
+ * @description 更新指定模式的属性
+ */
+ patch: operations["patch_patterns_properties"];
+ trace?: never;
+ };
+ "/api/v1/pipe-reactions": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 设置管道反应属性
+ * @description 更新指定管道的反应属性
+ */
+ patch: operations["patch_pipe_reactions"];
+ trace?: never;
+ };
+ "/api/v1/pipe-reactions/detail": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取管道反应属性
+ * @description 获取指定管道的反应属性信息
+ */
+ get: operations["get_pipe_reactions_detail"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/pipeline-health-predictions": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 预测管道健康状况
+ * @description 预测管道健康状况
+ *
+ * 根据管网名称和当前时间,查询管道信息和实时数据,
+ * 使用随机生存森林模型预测管道的生存概率。
+ *
+ * Args:
+ * query_time: 查询时间
+ * network_name: 管网名称(或数据库名称)
+ * timescale_conn: TimescaleDB连接
+ *
+ * Returns:
+ * 预测结果列表,每个元素包含 link_id 和对应的生存函数
+ *
+ * Raises:
+ * HTTPException: 当模型文件不存在返回404错误,其他错误返回400或500错误
+ */
+ get: operations["get_pipeline_health_predictions"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/pipes": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取所有管道属性
+ * @description 获取网络中所有管道的属性信息列表
+ */
+ get: operations["get_pipes"];
+ put?: never;
+ /**
+ * 添加管道
+ * @description 向网络中添加新的管道,需要提供管道的基本参数如长度、管径、粗糙度等
+ */
+ post: operations["post_pipes"];
+ /**
+ * 删除管道
+ * @description 从网络中删除指定的管道
+ */
+ delete: operations["delete_pipes"];
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/pipes-risk-probabilities": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 批量获取多条管道风险概率
+ * @description 批量获取多条管道的风险概率值
+ */
+ get: operations["get_pipes_risk_probabilities"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/pipes/diameter": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取管道管径
+ * @description 获取指定管道的管径
+ */
+ get: operations["get_pipes_diameter"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 设置管道管径
+ * @description 设置指定管道的管径
+ */
+ patch: operations["patch_pipes_diameter"];
+ trace?: never;
+ };
+ "/api/v1/pipes/existence": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 检查是否为管道
+ * @description 检查指定ID是否为水网中的管道
+ */
+ get: operations["get_pipes_existence"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/pipes/length": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取管道长度
+ * @description 获取指定管道的长度
+ */
+ get: operations["get_pipes_length"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 设置管道长度
+ * @description 设置指定管道的长度
+ */
+ patch: operations["patch_pipes_length"];
+ trace?: never;
+ };
+ "/api/v1/pipes/minor-loss": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取管道局部阻力系数
+ * @description 获取指定管道的局部阻力系数
+ */
+ get: operations["get_pipes_minor_loss"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 设置管道局部阻力系数
+ * @description 设置指定管道的局部阻力系数
+ */
+ patch: operations["patch_pipes_minor_loss"];
+ trace?: never;
+ };
+ "/api/v1/pipes/node1": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取管道起始节点
+ * @description 获取指定管道的起始节点ID
+ */
+ get: operations["get_pipes_node1"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 设置管道起始节点
+ * @description 设置指定管道的起始节点
+ */
+ patch: operations["patch_pipes_node1"];
+ trace?: never;
+ };
+ "/api/v1/pipes/node2": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取管道终止节点
+ * @description 获取指定管道的终止节点ID
+ */
+ get: operations["get_pipes_node2"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 设置管道终止节点
+ * @description 设置指定管道的终止节点
+ */
+ patch: operations["patch_pipes_node2"];
+ trace?: never;
+ };
+ "/api/v1/pipes/properties": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取管道属性
+ * @description 获取指定管道的所有属性信息
+ */
+ get: operations["get_pipes_properties"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 设置管道属性
+ * @description 批量设置指定管道的多个属性
+ */
+ patch: operations["patch_pipes_properties"];
+ trace?: never;
+ };
+ "/api/v1/pipes/risk-probability": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取管道风险概率历史
+ * @description 获取指定管道的风险概率历史数据
+ */
+ get: operations["get_pipes_risk_probability"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/pipes/risk-probability-geometries": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取管道风险几何信息
+ * @description 获取指定网络中管道的风险相关几何数据
+ */
+ get: operations["get_pipes_risk_probability_geometries"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/pipes/risk-probability-now": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取管道当前风险概率
+ * @description 获取指定管道当前时刻的风险概率值
+ */
+ get: operations["get_pipes_risk_probability_now"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/pipes/roughness": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取管道粗糙度
+ * @description 获取指定管道的粗糙度
+ */
+ get: operations["get_pipes_roughness"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 设置管道粗糙度
+ * @description 设置指定管道的粗糙度
+ */
+ patch: operations["patch_pipes_roughness"];
+ trace?: never;
+ };
+ "/api/v1/pipes/status": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取管道状态
+ * @description 获取指定管道的状态(开启或关闭)
+ */
+ get: operations["get_pipes_status"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 设置管道状态
+ * @description 设置指定管道的状态(开启或关闭)
+ */
+ patch: operations["patch_pipes_status"];
+ trace?: never;
+ };
+ "/api/v1/pressure-regulation-analyses": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * 压力调节(高级)
+ * @description 高级版本的压力调节分析,通过JSON请求体提供详细的控制参数,包括固定泵和变速泵的独立控制、水箱初始水位等。
+ */
+ post: operations["post_pressure_regulation_analyses"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/pressure-regulation-calculations": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * 压力调节(基础)
+ * @description 对管网的压力进行调节分析,通过控制泵的运行来维持目标节点的目标压力。此为基础版本。
+ */
+ post: operations["post_pressure_regulation_calculations"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/pressure-sensor-placement-kmeans": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * 压力传感器放置-KMeans聚类分析(高级)
+ * @description 高级版本的压力传感器放置分析,通过JSON请求体提供详细参数。基于KMeans聚类算法确定最优放置位置。
+ */
+ post: operations["post_pressure_sensor_placement_kmeans"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/pressure-sensor-placement-kmeans-calculations": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * 压力传感器放置-KMeans聚类分析(基础)
+ * @description 基于KMeans聚类算法,为指定管网项目确定压力传感器的最优放置位置。此为基础版本。
+ */
+ post: operations["post_pressure_sensor_placement_kmeans_calculations"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/pressure-sensor-placement-sensitivities": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * 压力传感器放置-灵敏度分析(高级)
+ * @description 高级版本的压力传感器放置分析,通过JSON请求体提供详细参数。基于灵敏度分析方法确定最优放置位置。
+ */
+ post: operations["post_pressure_sensor_placement_sensitivities"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/pressure-sensor-placement-sensitivity-calculations": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * 压力传感器放置-灵敏度分析(基础)
+ * @description 基于灵敏度分析方法,为指定管网项目确定最优的压力传感器放置位置。此为基础版本。
+ */
+ post: operations["post_pressure_sensor_placement_sensitivity_calculations"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/project-codes": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取项目列表
+ * @description 获取服务器上所有可用的供水管网项目名称列表。
+ */
+ get: operations["get_project_codes"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/project-conversions": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * 转换 INP V3 为 V2
+ * @description 将 EPANET 3.0 格式的 INP 内容转换为 2.x 格式。
+ */
+ post: operations["post_project_conversions"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/project-copies": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * 复制项目
+ * @description 将现有项目复制为新项目。
+ */
+ post: operations["post_project_copies"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/project-managements": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * 项目管理(高级)
+ * @description 高级版本的项目管理,通过JSON请求体提供详细的控制参数,包括泵控制策略、水箱初始水位和区域需水量控制。
+ */
+ post: operations["post_project_managements"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/project-return-dict-runs": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * 运行项目模拟(返回字典)
+ * @description 基于指定的管网项目运行标准水力模拟,返回JSON格式的字典,包含输出数据和报告文本。
+ */
+ post: operations["post_project_return_dict_runs"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/project-runs": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * 运行项目模拟
+ * @description 基于指定的管网项目运行标准水力模拟,返回纯文本格式的模拟报告。
+ */
+ post: operations["post_project_runs"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/projects": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 列出用户项目
+ * @description 获取当前用户有权限的所有项目列表
+ */
+ get: operations["get_projects"];
+ put?: never;
+ /**
+ * 创建新项目
+ * @description 创建一个新的供水管网项目。如果项目已存在,可能会覆盖或报错(取决于底层实现)。
+ */
+ post: operations["post_projects"];
+ /**
+ * 删除项目
+ * @description 永久删除指定的供水管网项目。此操作不可恢复。
+ */
+ delete: operations["delete_projects"];
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/projects/current": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取项目信息
+ * @description 从数据库获取项目的详细信息,包括地图范围等。
+ */
+ get: operations["get_projects_current"];
+ put?: never;
+ /**
+ * 打开项目
+ * @description 将指定项目加载到内存中,并初始化数据库连接池。
+ */
+ post: operations["post_projects_current"];
+ /**
+ * 关闭项目
+ * @description 将指定项目从内存中卸载,释放资源。
+ */
+ delete: operations["delete_projects_current"];
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/projects/current/database-health": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 检查数据库健康状态
+ * @description 检查项目数据库连接的健康状况
+ */
+ get: operations["get_projects_current_database_health"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/projects/current/exports/change-set": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 导出项目为 ChangeSet
+ * @description 导出项目的变更集 (ChangeSet),包含顶点、SCADA 元素、DMA、SA、VD 等信息。
+ */
+ get: operations["get_projects_current_exports_change_set"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/projects/current/exports/inp": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * 导出项目到 INP 文件
+ * @description 将项目当前状态保存为 INP 文件到服务器文件系统。
+ */
+ post: operations["post_projects_current_exports_inp"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/projects/current/files/inp": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 下载 INP 文件
+ * @description 从服务器数据目录下载指定的 INP 文件。
+ */
+ get: operations["get_projects_current_files_inp"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/projects/current/imports": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * 读取 INP 文件到项目
+ * @description 从服务器文件系统中读取指定的 INP 文件并加载到项目中。
+ */
+ post: operations["post_projects_current_imports"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/projects/current/lock": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 检查项目是否被锁定
+ * @description 检查指定项目是否处于锁定状态。
+ */
+ get: operations["get_projects_current_lock"];
+ put?: never;
+ /**
+ * 锁定项目
+ * @description 锁定指定项目以防止并发修改。
+ */
+ post: operations["post_projects_current_lock"];
+ /**
+ * 解锁项目
+ * @description 释放对项目的锁定。
+ */
+ delete: operations["delete_projects_current_lock"];
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/projects/current/lock/ownership": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 检查项目是否被当前用户锁定
+ * @description 检查指定项目是否被当前客户端 (IP) 锁定。
+ */
+ get: operations["get_projects_current_lock_ownership"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/projects/current/metadata": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取项目元数据
+ * @description 获取当前项目的元数据和配置信息
+ */
+ get: operations["get_projects_current_metadata"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/projects/current/status": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 检查项目是否已打开
+ * @description 检查指定项目是否已被加载到内存中。
+ */
+ get: operations["get_projects_current_status"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/projects/existence": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 检查项目是否存在
+ * @description 检查指定名称的项目是否存在。
+ */
+ get: operations["get_projects_existence"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/pump-failure-events": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * 泵故障管理
+ * @description 记录和管理泵的故障状态,包括故障发生时间和受影响的泵列表。系统将记录故障日志并更新泵状态。
+ */
+ post: operations["post_pump_failure_events"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/pumps": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取所有水泵属性
+ * @description 获取网络中所有水泵的属性信息列表
+ */
+ get: operations["get_pumps"];
+ put?: never;
+ /**
+ * 添加水泵
+ * @description 向网络中添加新的水泵,需要提供水泵的基本参数如功率等
+ */
+ post: operations["post_pumps"];
+ /**
+ * 删除水泵
+ * @description 从网络中删除指定的水泵
+ */
+ delete: operations["delete_pumps"];
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/pumps/existence": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 检查是否为泵
+ * @description 检查指定ID是否为水网中的泵
+ */
+ get: operations["get_pumps_existence"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/pumps/node1": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取水泵起始节点
+ * @description 获取指定水泵的起始节点ID
+ */
+ get: operations["get_pumps_node1"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 设置水泵起始节点
+ * @description 设置指定水泵的起始节点
+ */
+ patch: operations["patch_pumps_node1"];
+ trace?: never;
+ };
+ "/api/v1/pumps/node2": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取水泵终止节点
+ * @description 获取指定水泵的终止节点ID
+ */
+ get: operations["get_pumps_node2"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 设置水泵终止节点
+ * @description 设置指定水泵的终止节点
+ */
+ patch: operations["patch_pumps_node2"];
+ trace?: never;
+ };
+ "/api/v1/pumps/properties": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取水泵属性
+ * @description 获取指定水泵的所有属性信息
+ */
+ get: operations["get_pumps_properties"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 设置水泵属性
+ * @description 批量设置指定水泵的多个属性
+ */
+ patch: operations["patch_pumps_properties"];
+ trace?: never;
+ };
+ "/api/v1/quality-configurations/properties": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取水质属性
+ * @description 获取指定节点的水质属性信息
+ */
+ get: operations["get_quality_configurations_properties"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 设置水质属性
+ * @description 更新指定节点的水质属性
+ */
+ patch: operations["patch_quality_configurations_properties"];
+ trace?: never;
+ };
+ "/api/v1/reactions": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 设置反应属性
+ * @description 更新指定网络中的反应属性
+ */
+ patch: operations["patch_reactions"];
+ trace?: never;
+ };
+ "/api/v1/reactions/detail": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取反应属性
+ * @description 获取指定网络中的反应属性信息
+ */
+ get: operations["get_reactions_detail"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/redis": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 查询缓存键列表
+ * @description 获取Redis中所有的缓存键
+ */
+ get: operations["get_redis"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/redis-keys": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ post?: never;
+ /**
+ * 清除匹配的缓存键
+ * @description 根据模式清除匹配的Redis缓存键
+ */
+ delete: operations["delete_redis_keys"];
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/redis-keys/detail": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ post?: never;
+ /**
+ * 清除单个缓存键
+ * @description 根据键名清除单个Redis缓存
+ */
+ delete: operations["delete_redis_keys_detail"];
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/redos": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * 重做操作
+ * @description 重做网络上被撤销的操作
+ */
+ post: operations["post_redos"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/regions": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * 添加新区域
+ * @description 向水网添加一个新的区域
+ */
+ post: operations["post_regions"];
+ /**
+ * 删除区域
+ * @description 删除指定的区域
+ */
+ delete: operations["delete_regions"];
+ options?: never;
+ head?: never;
+ /**
+ * 设置区域属性
+ * @description 修改指定区域的属性信息
+ */
+ patch: operations["patch_regions"];
+ trace?: never;
+ };
+ "/api/v1/regions/detail": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取区域信息
+ * @description 获取指定ID的区域详细信息
+ */
+ get: operations["get_regions_detail"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/reservoirs": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取所有水库属性
+ * @description 获取指定供水网络中所有水库的属性
+ */
+ get: operations["get_reservoirs"];
+ put?: never;
+ /**
+ * 添加水库
+ * @description 在指定供水网络中添加新的水库/水源节点
+ */
+ post: operations["post_reservoirs"];
+ /**
+ * 删除水库
+ * @description 从指定供水网络中删除指定的水库/水源节点
+ */
+ delete: operations["delete_reservoirs"];
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/reservoirs/coord": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取水库坐标
+ * @description 获取指定水库的平面坐标(X和Y坐标)
+ */
+ get: operations["get_reservoirs_coord"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 设置水库坐标
+ * @description 更新指定水库的平面坐标(X和Y坐标)
+ */
+ patch: operations["patch_reservoirs_coord"];
+ trace?: never;
+ };
+ "/api/v1/reservoirs/existence": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 检查是否为水源
+ * @description 检查指定ID是否为水网中的水源(水库/河流)
+ */
+ get: operations["get_reservoirs_existence"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/reservoirs/head": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取水库水头
+ * @description 获取指定水库的供水水头/总水头值
+ */
+ get: operations["get_reservoirs_head"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 设置水库水头
+ * @description 更新指定水库的供水水头/总水头值
+ */
+ patch: operations["patch_reservoirs_head"];
+ trace?: never;
+ };
+ "/api/v1/reservoirs/pattern": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取水库模式
+ * @description 获取指定水库的运行模式/供水模式
+ */
+ get: operations["get_reservoirs_pattern"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 设置水库模式
+ * @description 更新指定水库的运行模式/供水模式
+ */
+ patch: operations["patch_reservoirs_pattern"];
+ trace?: never;
+ };
+ "/api/v1/reservoirs/properties": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取水库属性
+ * @description 获取指定水库的所有属性
+ */
+ get: operations["get_reservoirs_properties"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 设置水库属性
+ * @description 批量更新指定水库的多个属性
+ */
+ patch: operations["patch_reservoirs_properties"];
+ trace?: never;
+ };
+ "/api/v1/reservoirs/x": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取水库X坐标
+ * @description 获取指定水库的X坐标位置
+ */
+ get: operations["get_reservoirs_x"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 设置水库X坐标
+ * @description 更新指定水库的X坐标位置
+ */
+ patch: operations["patch_reservoirs_x"];
+ trace?: never;
+ };
+ "/api/v1/reservoirs/y": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取水库Y坐标
+ * @description 获取指定水库的Y坐标位置
+ */
+ get: operations["get_reservoirs_y"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 设置水库Y坐标
+ * @description 更新指定水库的Y坐标位置
+ */
+ patch: operations["patch_reservoirs_y"];
+ trace?: never;
+ };
+ "/api/v1/restore-operations": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取恢复操作ID
+ * @description 获取网络的恢复操作ID
+ */
+ get: operations["get_restore_operations"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 设置恢复操作ID
+ * @description 设置网络的恢复操作ID
+ */
+ patch: operations["patch_restore_operations"];
+ trace?: never;
+ };
+ "/api/v1/rule-properties": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取规则属性
+ * @description 获取指定网络中的规则属性信息
+ */
+ get: operations["get_rule_properties"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 设置规则属性
+ * @description 更新指定网络中的规则属性
+ */
+ patch: operations["patch_rule_properties"];
+ trace?: never;
+ };
+ "/api/v1/rule-schemas": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取规则架构
+ * @description 获取网络中规则对象的架构定义
+ */
+ get: operations["get_rule_schemas"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/scada-device-cleaning-runs": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * 清空SCADA设备表
+ * @description 清空SCADA设备表
+ *
+ * 删除指定管网中所有的SCADA设备。
+ *
+ * Args:
+ * network: 管网名称(或数据库名称)
+ *
+ * Returns:
+ * 变更集合信息
+ */
+ post: operations["post_scada_device_cleaning_runs"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/scada-device-data-cleaning-runs": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * 清空SCADA设备数据表
+ * @description 清空SCADA设备数据表
+ *
+ * 删除指定管网中所有SCADA设备的数据。
+ *
+ * Args:
+ * network: 管网名称(或数据库名称)
+ *
+ * Returns:
+ * 变更集合信息
+ */
+ post: operations["post_scada_device_data_cleaning_runs"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/scada-device-datas": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * 添加SCADA设备数据
+ * @description 添加新的SCADA设备数据
+ *
+ * 为指定SCADA设备添加新的数据记录。
+ *
+ * Args:
+ * network: 管网名称(或数据库名称)
+ * req: 请求体,包含新数据的内容
+ *
+ * Returns:
+ * 变更集合信息
+ */
+ post: operations["post_scada_device_datas"];
+ /**
+ * 删除SCADA设备数据
+ * @description 删除SCADA设备数据
+ *
+ * 删除指定SCADA设备的数据记录。
+ *
+ * Args:
+ * network: 管网名称(或数据库名称)
+ * req: 请求体,包含要删除的数据ID
+ *
+ * Returns:
+ * 变更集合信息
+ */
+ delete: operations["delete_scada_device_datas"];
+ options?: never;
+ head?: never;
+ /**
+ * 更新SCADA设备数据
+ * @description 更新SCADA设备数据
+ *
+ * 修改指定SCADA设备的数据。
+ *
+ * Args:
+ * network: 管网名称(或数据库名称)
+ * req: 请求体,包含要更新的数据
+ *
+ * Returns:
+ * 变更集合信息
+ */
+ patch: operations["patch_scada_device_datas"];
+ trace?: never;
+ };
+ "/api/v1/scada-device-datas/detail": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取SCADA设备数据
+ * @description 获取单个SCADA设备的数据
+ *
+ * 查询指定设备的监测数据或配置数据。
+ *
+ * Args:
+ * network: 管网名称(或数据库名称)
+ * device_id: SCADA设备ID
+ *
+ * Returns:
+ * SCADA设备数据
+ */
+ get: operations["get_scada_device_datas_detail"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/scada-devices": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取所有SCADA设备
+ * @description 获取指定管网所有SCADA设备的完整信息
+ *
+ * Args:
+ * network: 管网名称(或数据库名称)
+ *
+ * Returns:
+ * SCADA设备信息列表
+ */
+ get: operations["get_scada_devices"];
+ put?: never;
+ /**
+ * 添加SCADA设备
+ * @description 添加新的SCADA设备
+ *
+ * 在指定管网中添加一个新的SCADA设备。
+ *
+ * Args:
+ * network: 管网名称(或数据库名称)
+ * req: 请求体,包含新设备的属性
+ *
+ * Returns:
+ * 变更集合信息
+ */
+ post: operations["post_scada_devices"];
+ /**
+ * 删除SCADA设备
+ * @description 删除SCADA设备
+ *
+ * 从指定管网中删除一个SCADA设备。
+ *
+ * Args:
+ * network: 管网名称(或数据库名称)
+ * req: 请求体,包含要删除的设备ID
+ *
+ * Returns:
+ * 变更集合信息
+ */
+ delete: operations["delete_scada_devices"];
+ options?: never;
+ head?: never;
+ /**
+ * 更新SCADA设备
+ * @description 更新SCADA设备信息
+ *
+ * 修改指定SCADA设备的属性。
+ *
+ * Args:
+ * network: 管网名称(或数据库名称)
+ * req: 请求体,包含要更新的设备属性
+ *
+ * Returns:
+ * 变更集合信息
+ */
+ patch: operations["patch_scada_devices"];
+ trace?: never;
+ };
+ "/api/v1/scada-devices/detail": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取SCADA设备
+ * @description 获取单个SCADA设备的信息
+ *
+ * 根据设备ID查询该设备的详细信息。
+ *
+ * Args:
+ * network: 管网名称(或数据库名称)
+ * id: SCADA设备ID
+ *
+ * Returns:
+ * SCADA设备信息
+ */
+ get: operations["get_scada_devices_detail"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/scada-devices/ids": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取所有SCADA设备ID
+ * @description 获取指定管网所有SCADA设备的ID列表
+ *
+ * Args:
+ * network: 管网名称(或数据库名称)
+ *
+ * Returns:
+ * SCADA设备ID列表
+ */
+ get: operations["get_scada_devices_ids"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/scada-element-cleaning-runs": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * 清空SCADA元素映射表
+ * @description 清空SCADA元素映射表
+ *
+ * 删除指定管网中所有的SCADA元素映射。
+ *
+ * Args:
+ * network: 管网名称(或数据库名称)
+ *
+ * Returns:
+ * 变更集合信息
+ */
+ post: operations["post_scada_element_cleaning_runs"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/scada-elements": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取所有SCADA元素映射
+ * @description 获取指定管网所有SCADA元素映射
+ *
+ * 查询所有SCADA设备与管网元素(节点/管道)的映射关系。
+ *
+ * Args:
+ * network: 管网名称(或数据库名称)
+ *
+ * Returns:
+ * SCADA元素映射列表
+ */
+ get: operations["get_scada_elements"];
+ put?: never;
+ /**
+ * 添加SCADA元素映射
+ * @description 添加新的SCADA元素映射
+ *
+ * 创建SCADA设备与管网元素的新映射关系。
+ *
+ * Args:
+ * network: 管网名称(或数据库名称)
+ * req: 请求体,包含新映射的信息
+ *
+ * Returns:
+ * 变更集合信息
+ */
+ post: operations["post_scada_elements"];
+ /**
+ * 删除SCADA元素映射
+ * @description 删除SCADA元素映射
+ *
+ * 移除SCADA设备与管网元素的映射关系。
+ *
+ * Args:
+ * network: 管网名称(或数据库名称)
+ * req: 请求体,包含要删除的映射ID
+ *
+ * Returns:
+ * 变更集合信息
+ */
+ delete: operations["delete_scada_elements"];
+ options?: never;
+ head?: never;
+ /**
+ * 更新SCADA元素映射
+ * @description 更新SCADA元素映射
+ *
+ * 修改SCADA设备与管网元素的映射关系。
+ *
+ * Args:
+ * network: 管网名称(或数据库名称)
+ * req: 请求体,包含要更新的映射信息
+ *
+ * Returns:
+ * 变更集合信息
+ */
+ patch: operations["patch_scada_elements"];
+ trace?: never;
+ };
+ "/api/v1/scada-elements/detail": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取单个SCADA元素映射
+ * @description 获取单个SCADA元素映射的信息
+ *
+ * 根据ID查询特定的SCADA设备与管网元素的映射关系。
+ *
+ * Args:
+ * network: 管网名称(或数据库名称)
+ * id: SCADA元素映射ID
+ *
+ * Returns:
+ * SCADA元素映射信息
+ */
+ get: operations["get_scada_elements_detail"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/scada-info": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取所有SCADA信息
+ * @description 获取指定管网所有SCADA的信息
+ *
+ * 查询该管网下所有已配置的SCADA的完整信息。
+ *
+ * Args:
+ * network: 管网名称(或数据库名称)
+ *
+ * Returns:
+ * SCADA信息列表
+ */
+ get: operations["get_scada_info"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/scada-info-schemas": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取SCADA信息架构
+ * @description 获取SCADA信息表的结构
+ *
+ * 返回SCADA信息表的字段定义和类型信息。
+ *
+ * Args:
+ * network: 管网名称(或数据库名称)
+ *
+ * Returns:
+ * SCADA信息的字段架构信息
+ */
+ get: operations["get_scada_info_schemas"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/scada-info/database-view": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取SCADA信息
+ * @description 使用连接池查询所有SCADA信息
+ */
+ get: operations["get_scada_info_database_view"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/scada-info/detail": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取SCADA信息
+ * @description 获取单个SCADA信息
+ *
+ * 根据ID查询SCADA的详细配置信息。
+ *
+ * Args:
+ * network: 管网名称(或数据库名称)
+ * id: SCADA信息ID
+ *
+ * Returns:
+ * SCADA信息详情
+ */
+ get: operations["get_scada_info_detail"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/scada-properties": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取SCADA点属性
+ * @description 获取指定SCADA点的属性信息
+ */
+ get: operations["get_scada_properties"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/scheduling-analyses": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * 排程分析
+ * @description 对管网的供水排程进行分析,优化泵的运行时间和出水流量,平衡水厂出水、水箱进出水,满足用户需求。
+ */
+ post: operations["post_scheduling_analyses"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/schemes": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取所有方案
+ * @description 获取指定网络的所有方案信息
+ */
+ get: operations["get_schemes"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/schemes/detail": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取单个方案
+ * @description 根据名称获取指定的方案信息
+ */
+ get: operations["get_schemes_detail"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/schemes/list-with-connection": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取方案列表
+ * @description 使用连接池查询所有方案信息
+ */
+ get: operations["get_schemes_list_with_connection"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/schemes/{scheme_name}": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取方案详情
+ * @description 按方案类型获取指定方案详情
+ */
+ get: operations["get_schemes_scheme_name"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/sensor-placement-optimization-runs": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /** 创建并返回监测点优化方案 */
+ post: operations["post_sensor_placement_optimization_runs"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/sensor-placement-schemes": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取所有传感器位置
+ * @description 获取网络中所有传感器的放置位置信息
+ */
+ get: operations["get_sensor_placement_schemes"];
+ put?: never;
+ /**
+ * 传感器放置方案创建
+ * @description 创建新的传感器放置方案,支持灵敏度分析和KMeans聚类两种方法。根据指定的方法自动计算最优的传感器放置位置。
+ */
+ post: operations["post_sensor_placement_schemes"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/sensor-placement-schemes/{scheme_id}": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /** 获取监测点方案详情 */
+ get: operations["get_sensor_placement_schemes_scheme_id"];
+ /** 覆盖保存监测点方案 */
+ put: operations["put_sensor_placement_schemes_scheme_id"];
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/sensor-placement-schemes/{scheme_id}/exports/excel": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /** 导出监测点工程清单 */
+ post: operations["post_sensor_placement_schemes_scheme_id_exports_excel"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/service-area-calculations": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * 计算服务区
+ * @description 计算指定水网的服务区分区,返回全部时间步结果
+ */
+ post: operations["post_service_area_calculations"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/service-area-generation-runs": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * 生成服务区分区
+ * @description 根据参数自动生成水网的服务区分区
+ */
+ post: operations["post_service_area_generation_runs"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/service-areas": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取所有服务区
+ * @description 获取指定水网中的所有服务区信息
+ */
+ get: operations["get_service_areas"];
+ put?: never;
+ /**
+ * 添加新服务区
+ * @description 向水网添加一个新的服务区
+ */
+ post: operations["post_service_areas"];
+ /**
+ * 删除服务区
+ * @description 删除指定的服务区
+ */
+ delete: operations["delete_service_areas"];
+ options?: never;
+ head?: never;
+ /**
+ * 设置服务区属性
+ * @description 修改指定服务区的属性信息
+ */
+ patch: operations["patch_service_areas"];
+ trace?: never;
+ };
+ "/api/v1/service-areas/detail": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取服务区信息
+ * @description 获取指定ID的服务区详细信息
+ */
+ get: operations["get_service_areas_detail"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/simulation-runs": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * 手动运行日期指定模拟
+ * @description 根据指定的开始时间和持续时间,手动运行水力模拟。开始时间必须是显式带时区的 ISO 8601 / RFC3339 时间。
+ */
+ post: operations["post_simulation_runs"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/snapshot-for-current-operations": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 检查当前操作快照是否存在
+ * @description 检查当前操作的快照是否存在
+ */
+ get: operations["get_snapshot_for_current_operations"];
+ put?: never;
+ /**
+ * 为当前操作创建快照
+ * @description 为当前操作创建快照
+ */
+ post: operations["post_snapshot_for_current_operations"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/snapshot-for-operations": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 检查操作快照是否存在
+ * @description 检查指定操作ID的快照是否存在
+ */
+ get: operations["get_snapshot_for_operations"];
+ put?: never;
+ /**
+ * 为操作创建快照
+ * @description 为指定的操作创建快照
+ */
+ post: operations["post_snapshot_for_operations"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/snapshots": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取快照列表
+ * @description 获取网络中的所有快照
+ */
+ get: operations["get_snapshots"];
+ put?: never;
+ /**
+ * 创建快照
+ * @description 为网络创建一个快照
+ */
+ post: operations["post_snapshots"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 选择快照
+ * @description 选择并恢复到指定的快照
+ */
+ patch: operations["patch_snapshots"];
+ trace?: never;
+ };
+ "/api/v1/snapshots/existence": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 检查快照是否存在
+ * @description 检查指定标签的快照是否存在
+ */
+ get: operations["get_snapshots_existence"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/sources": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * 添加水源
+ * @description 在网络中添加一个新的水源
+ */
+ post: operations["post_sources"];
+ /**
+ * 删除水源
+ * @description 从网络中删除指定节点的水源
+ */
+ delete: operations["delete_sources"];
+ options?: never;
+ head?: never;
+ /**
+ * 设置水源属性
+ * @description 更新指定节点的水源属性
+ */
+ patch: operations["patch_sources"];
+ trace?: never;
+ };
+ "/api/v1/sources/detail": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取水源属性
+ * @description 获取指定节点的水源属性信息
+ */
+ get: operations["get_sources_detail"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/status": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取管线状态
+ * @description 获取指定管线的状态信息
+ */
+ get: operations["get_status"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/status-properties": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 设置管线状态
+ * @description 设置指定管线的状态信息
+ */
+ patch: operations["patch_status_properties"];
+ trace?: never;
+ };
+ "/api/v1/status-schemas": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取状态属性架构
+ * @description 获取指定水网的状态(Status)属性架构定义
+ */
+ get: operations["get_status_schemas"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/sub-district-metering-areas": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * 生成DMA子分区
+ * @description 为指定DMA生成子DMA分区
+ */
+ post: operations["post_sub_district_metering_areas"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/tags": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取所有标签
+ * @description 获取指定水网中的所有标签信息
+ */
+ get: operations["get_tags"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 设置标签
+ * @description 为指定元素设置或修改标签信息
+ */
+ patch: operations["patch_tags"];
+ trace?: never;
+ };
+ "/api/v1/tags/detail": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取标签信息
+ * @description 获取指定类型和ID的标签信息
+ */
+ get: operations["get_tags_detail"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/tank-reactions": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 设置水池反应属性
+ * @description 更新指定水池的反应属性
+ */
+ patch: operations["patch_tank_reactions"];
+ trace?: never;
+ };
+ "/api/v1/tank-reactions/detail": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取水池反应属性
+ * @description 获取指定水池的反应属性信息
+ */
+ get: operations["get_tank_reactions_detail"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/tanks": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取所有水箱属性
+ * @description 获取指定网络中所有水箱的属性
+ */
+ get: operations["get_tanks"];
+ put?: never;
+ /**
+ * 新增水箱
+ * @description 向指定网络中新增一个水箱
+ */
+ post: operations["post_tanks"];
+ /**
+ * 删除水箱
+ * @description 删除指定网络中的水箱
+ */
+ delete: operations["delete_tanks"];
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/tanks/coord": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取水箱坐标
+ * @description 获取指定水箱的X和Y坐标
+ */
+ get: operations["get_tanks_coord"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 设置水箱坐标
+ * @description 设置指定水箱的X和Y坐标
+ */
+ patch: operations["patch_tanks_coord"];
+ trace?: never;
+ };
+ "/api/v1/tanks/diameter": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取水箱直径
+ * @description 获取指定水箱的直径值
+ */
+ get: operations["get_tanks_diameter"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 设置水箱直径
+ * @description 设置指定水箱的直径值
+ */
+ patch: operations["patch_tanks_diameter"];
+ trace?: never;
+ };
+ "/api/v1/tanks/elevation": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取水箱标高
+ * @description 获取指定水箱的标高值
+ */
+ get: operations["get_tanks_elevation"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 设置水箱标高
+ * @description 设置指定水箱的标高值
+ */
+ patch: operations["patch_tanks_elevation"];
+ trace?: never;
+ };
+ "/api/v1/tanks/existence": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 检查是否为蓄水池
+ * @description 检查指定ID是否为水网中的蓄水池
+ */
+ get: operations["get_tanks_existence"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/tanks/init-level": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取水箱初始水位
+ * @description 获取指定水箱的初始水位值
+ */
+ get: operations["get_tanks_init_level"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 设置水箱初始水位
+ * @description 设置指定水箱的初始水位值
+ */
+ patch: operations["patch_tanks_init_level"];
+ trace?: never;
+ };
+ "/api/v1/tanks/max-level": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取水箱最大水位
+ * @description 获取指定水箱的最大水位值
+ */
+ get: operations["get_tanks_max_level"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 设置水箱最大水位
+ * @description 设置指定水箱的最大水位值
+ */
+ patch: operations["patch_tanks_max_level"];
+ trace?: never;
+ };
+ "/api/v1/tanks/min-level": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取水箱最小水位
+ * @description 获取指定水箱的最小水位值
+ */
+ get: operations["get_tanks_min_level"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 设置水箱最小水位
+ * @description 设置指定水箱的最小水位值
+ */
+ patch: operations["patch_tanks_min_level"];
+ trace?: never;
+ };
+ "/api/v1/tanks/min-vol": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取水箱最小体积
+ * @description 获取指定水箱的最小体积值
+ */
+ get: operations["get_tanks_min_vol"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 设置水箱最小体积
+ * @description 设置指定水箱的最小体积值
+ */
+ patch: operations["patch_tanks_min_vol"];
+ trace?: never;
+ };
+ "/api/v1/tanks/overflow": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取水箱溢流口
+ * @description 获取指定水箱的溢流口配置
+ */
+ get: operations["get_tanks_overflow"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 设置水箱溢流口
+ * @description 设置指定水箱的溢流口配置
+ */
+ patch: operations["patch_tanks_overflow"];
+ trace?: never;
+ };
+ "/api/v1/tanks/properties": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取水箱属性
+ * @description 获取指定水箱的所有属性
+ */
+ get: operations["get_tanks_properties"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 设置水箱属性
+ * @description 批量设置指定水箱的多个属性
+ */
+ patch: operations["patch_tanks_properties"];
+ trace?: never;
+ };
+ "/api/v1/tanks/vol-curve": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取水箱容积曲线
+ * @description 获取指定水箱的容积曲线标识
+ */
+ get: operations["get_tanks_vol_curve"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 设置水箱容积曲线
+ * @description 设置指定水箱的容积曲线标识
+ */
+ patch: operations["patch_tanks_vol_curve"];
+ trace?: never;
+ };
+ "/api/v1/tanks/x": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取水箱X坐标
+ * @description 获取指定水箱的X坐标值
+ */
+ get: operations["get_tanks_x"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 设置水箱X坐标
+ * @description 设置指定水箱的X坐标值
+ */
+ patch: operations["patch_tanks_x"];
+ trace?: never;
+ };
+ "/api/v1/tanks/y": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取水箱Y坐标
+ * @description 获取指定水箱的Y坐标值
+ */
+ get: operations["get_tanks_y"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 设置水箱Y坐标
+ * @description 设置指定水箱的Y坐标值
+ */
+ patch: operations["patch_tanks_y"];
+ trace?: never;
+ };
+ "/api/v1/time-properties": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 设置时间选项属性
+ * @description 更新指定网络中的时间选项属性
+ */
+ patch: operations["patch_time_properties"];
+ trace?: never;
+ };
+ "/api/v1/timeseries/realtime/links": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 查询实时管道数据
+ * @description 按时间范围查询实时管道数据。start_time 和 end_time 必须显式带时区;允许传 UTC+8,服务端会先归一化为 UTC 再执行查询。
+ */
+ get: operations["get_timeseries_realtime_links"];
+ put?: never;
+ post?: never;
+ /**
+ * 删除实时管道数据
+ * @description 按时间范围删除实时管道数据。start_time 和 end_time 必须显式带时区;允许传 UTC+8,服务端按请求中的绝对时间删除对应 UTC 数据。
+ */
+ delete: operations["delete_timeseries_realtime_links"];
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/timeseries/realtime/links/batches": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * 批量插入实时管道数据
+ * @description 批量插入实时管道数据
+ *
+ * 将管道的实时监测数据批量插入时间序列数据库。
+ *
+ * Args:
+ * data: 管道数据列表
+ *
+ * Returns:
+ * 插入成功的记录数
+ */
+ post: operations["post_timeseries_realtime_links_batches"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/timeseries/realtime/links/{link_id}/field": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 更新实时管道字段
+ * @description 更新指定管道的字段值
+ *
+ * 更新实时管道在特定时间的某个字段数据。
+ *
+ * Args:
+ * link_id: 管道ID
+ * time: 数据时间戳
+ * field: 字段名称
+ * value: 字段新值
+ *
+ * Returns:
+ * 更新结果信息
+ *
+ * Raises:
+ * HTTPException: 当字段不存在或更新失败时返回400错误
+ */
+ patch: operations["patch_timeseries_realtime_links_link_id_field"];
+ trace?: never;
+ };
+ "/api/v1/timeseries/realtime/nodes": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 查询实时节点数据
+ * @description 按时间范围查询实时节点数据。start_time 和 end_time 必须显式带时区;允许传 UTC+8,服务端会先归一化为 UTC 再执行查询。
+ */
+ get: operations["get_timeseries_realtime_nodes"];
+ put?: never;
+ post?: never;
+ /**
+ * 删除实时节点数据
+ * @description 按时间范围删除实时节点数据。start_time 和 end_time 必须显式带时区;允许传 UTC+8,服务端按请求中的绝对时间删除对应 UTC 数据。
+ */
+ delete: operations["delete_timeseries_realtime_nodes"];
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/timeseries/realtime/nodes/batches": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * 批量插入实时节点数据
+ * @description 批量插入实时节点数据
+ *
+ * 将节点的实时监测数据批量插入时间序列数据库。
+ *
+ * Args:
+ * data: 节点数据列表
+ *
+ * Returns:
+ * 插入成功的记录数
+ */
+ post: operations["post_timeseries_realtime_nodes_batches"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/timeseries/realtime/records": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 按时间和属性查询实时数据
+ * @description 查询指定时间点的实时属性值。query_time 必须显式带时区;允许传 UTC+8,服务端会先归一化为 UTC 再执行查询。
+ */
+ get: operations["get_timeseries_realtime_records"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/timeseries/realtime/simulation-results": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 按ID和时间查询实时模拟数据
+ * @description 查询指定元素在某一时间点的实时模拟结果。query_time 必须显式带时区;允许传 UTC+8,服务端会先归一化为 UTC 再执行查询。
+ */
+ get: operations["get_timeseries_realtime_simulation_results"];
+ put?: never;
+ /**
+ * 存储实时模拟结果
+ * @description 存储实时模拟结果到时间序列数据库
+ *
+ * 将节点和管道的实时模拟计算结果批量存储到TimescaleDB数据库。
+ *
+ * Args:
+ * node_result_list: 节点模拟结果列表
+ * link_result_list: 管道模拟结果列表
+ * result_start_time: 模拟结果对应的起始时间
+ *
+ * Returns:
+ * 存储结果信息
+ */
+ post: operations["post_timeseries_realtime_simulation_results"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/timeseries/scada-cleaning-runs": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * 清洗SCADA监测数据
+ * @description 清洗SCADA监测数据
+ *
+ * 根据device_ids查询monitored_value,清洗后更新cleaned_value。
+ * 支持清洗指定设备或所有设备的数据。
+ *
+ * Args:
+ * device_ids: 设备ID列表,用逗号分隔,或 'all' 表示清洗所有设备
+ * start_time: 清洗数据的开始时间
+ * end_time: 清洗数据的结束时间
+ * timescale_conn: TimescaleDB连接
+ * postgres_conn: PostgreSQL连接
+ *
+ * Returns:
+ * 清洗结果信息
+ *
+ * Raises:
+ * HTTPException: 当清洗过程出现错误时返回400错误
+ */
+ post: operations["post_timeseries_scada_cleaning_runs"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/timeseries/scada-readings": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 按设备ID和时间范围查询SCADA数据
+ * @description 按设备ID和时间范围查询SCADA监测数据
+ *
+ * 查询多个设备在指定时间范围内的所有监测数据。
+ *
+ * Args:
+ * start_time: 查询开始时间
+ * end_time: 查询结束时间
+ * device_ids: 设备ID列表,用逗号分隔
+ *
+ * Returns:
+ * SCADA监测数据列表
+ */
+ get: operations["get_timeseries_scada_readings"];
+ put?: never;
+ post?: never;
+ /**
+ * 按设备ID和时间范围删除SCADA数据
+ * @description 删除指定设备和时间范围内的SCADA数据
+ *
+ * 删除在指定时间范围内的特定设备监测数据。
+ *
+ * Args:
+ * device_id: 设备ID
+ * start_time: 删除开始时间
+ * end_time: 删除结束时间
+ *
+ * Returns:
+ * 删除结果信息
+ */
+ delete: operations["delete_timeseries_scada_readings"];
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/timeseries/scada-readings/batches": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * 批量插入SCADA监测数据
+ * @description 批量插入SCADA监测数据
+ *
+ * 将多个设备的实时监测数据批量插入时间序列数据库。
+ *
+ * Args:
+ * data: SCADA设备监测数据列表,每项包含device_id、时间戳和监测值等信息
+ *
+ * Returns:
+ * 插入成功的记录数
+ */
+ post: operations["post_timeseries_scada_readings_batches"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/timeseries/scada-readings/fields": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 按设备ID、字段和时间范围查询SCADA数据
+ * @description 按设备ID、字段和时间范围查询特定SCADA数据
+ *
+ * 查询多个设备在指定时间范围内的特定字段监测数据。
+ *
+ * Args:
+ * start_time: 查询开始时间
+ * end_time: 查询结束时间
+ * field: 字段名称
+ * device_ids: 设备ID列表,用逗号分隔
+ *
+ * Returns:
+ * SCADA字段数据列表
+ *
+ * Raises:
+ * HTTPException: 当字段不存在或查询参数无效时返回400错误
+ */
+ get: operations["get_timeseries_scada_readings_fields"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/timeseries/scada-readings/{device_id}/field": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 更新SCADA设备字段
+ * @description 更新指定设备的字段值
+ *
+ * 更新SCADA设备在特定时间的某个字段监测数据。
+ *
+ * Args:
+ * device_id: 设备ID
+ * time: 数据时间戳
+ * field: 字段名称
+ * value: 字段新值
+ *
+ * Returns:
+ * 更新结果信息
+ *
+ * Raises:
+ * HTTPException: 当字段不存在或更新失败时返回400错误
+ */
+ patch: operations["patch_timeseries_scada_readings_device_id_field"];
+ trace?: never;
+ };
+ "/api/v1/timeseries/schemes/links": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 查询方案管道数据
+ * @description 查询指定方案和时间范围内的管道数据
+ *
+ * 根据方案和时间范围查询管道的模拟值。
+ *
+ * Args:
+ * scheme_type: 方案类型
+ * scheme_name: 方案名称
+ * start_time: 查询开始时间
+ * end_time: 查询结束时间
+ *
+ * Returns:
+ * 方案管道数据列表
+ */
+ get: operations["get_timeseries_schemes_links"];
+ put?: never;
+ post?: never;
+ /**
+ * 删除方案管道数据
+ * @description 删除指定方案和时间范围内的管道数据
+ *
+ * 删除在指定方案和时间范围内的所有管道模拟数据。
+ *
+ * Args:
+ * scheme_type: 方案类型
+ * scheme_name: 方案名称
+ * start_time: 删除开始时间
+ * end_time: 删除结束时间
+ *
+ * Returns:
+ * 删除结果信息
+ */
+ delete: operations["delete_timeseries_schemes_links"];
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/timeseries/schemes/links/batches": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * 批量插入方案管道数据
+ * @description 批量插入方案管道数据
+ *
+ * 将特定方案的管道模拟数据批量插入时间序列数据库。
+ *
+ * Args:
+ * data: 方案管道数据列表
+ *
+ * Returns:
+ * 插入成功的记录数
+ */
+ post: operations["post_timeseries_schemes_links_batches"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/timeseries/schemes/links/{link_id}/field": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 查询方案管道字段数据
+ * @description 查询指定方案管道的特定字段数据
+ *
+ * 查询特定方案中指定管道在时间范围内的特定字段值。
+ *
+ * Args:
+ * link_id: 管道ID
+ * scheme_type: 方案类型
+ * scheme_name: 方案名称
+ * start_time: 查询开始时间
+ * end_time: 查询结束时间
+ * field: 字段名称
+ *
+ * Returns:
+ * 字段数据列表
+ *
+ * Raises:
+ * HTTPException: 当查询参数无效时返回400错误
+ */
+ get: operations["get_timeseries_schemes_links_link_id_field"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 更新方案管道字段
+ * @description 更新指定方案管道的字段值
+ *
+ * 更新特定方案中指定管道在某个时间的字段数据。
+ *
+ * Args:
+ * link_id: 管道ID
+ * scheme_type: 方案类型
+ * scheme_name: 方案名称
+ * time: 数据时间戳
+ * field: 字段名称
+ * value: 字段新值
+ *
+ * Returns:
+ * 更新结果信息
+ *
+ * Raises:
+ * HTTPException: 当字段不存在或更新失败时返回400错误
+ */
+ patch: operations["patch_timeseries_schemes_links_link_id_field"];
+ trace?: never;
+ };
+ "/api/v1/timeseries/schemes/nodes": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ post?: never;
+ /**
+ * 删除方案节点数据
+ * @description 删除指定方案和时间范围内的节点数据
+ *
+ * 删除在指定方案和时间范围内的所有节点模拟数据。
+ *
+ * Args:
+ * scheme_type: 方案类型
+ * scheme_name: 方案名称
+ * start_time: 删除开始时间
+ * end_time: 删除结束时间
+ *
+ * Returns:
+ * 删除结果信息
+ */
+ delete: operations["delete_timeseries_schemes_nodes"];
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/timeseries/schemes/nodes/batches": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * 批量插入方案节点数据
+ * @description 批量插入方案节点数据
+ *
+ * 将特定方案的节点模拟数据批量插入时间序列数据库。
+ *
+ * Args:
+ * data: 方案节点数据列表
+ *
+ * Returns:
+ * 插入成功的记录数
+ */
+ post: operations["post_timeseries_schemes_nodes_batches"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/timeseries/schemes/nodes/{node_id}/field": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 查询方案节点字段数据
+ * @description 查询指定方案节点的特定字段数据
+ *
+ * 查询特定方案中指定节点在时间范围内的特定字段值。
+ *
+ * Args:
+ * node_id: 节点ID
+ * scheme_type: 方案类型
+ * scheme_name: 方案名称
+ * start_time: 查询开始时间
+ * end_time: 查询结束时间
+ * field: 字段名称
+ *
+ * Returns:
+ * 字段数据列表
+ *
+ * Raises:
+ * HTTPException: 当查询参数无效时返回400错误
+ */
+ get: operations["get_timeseries_schemes_nodes_node_id_field"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 更新方案节点字段
+ * @description 更新指定方案节点的字段值
+ *
+ * 更新特定方案中指定节点在某个时间的字段数据。
+ *
+ * Args:
+ * node_id: 节点ID
+ * scheme_type: 方案类型
+ * scheme_name: 方案名称
+ * time: 数据时间戳
+ * field: 字段名称
+ * value: 字段新值
+ *
+ * Returns:
+ * 更新结果信息
+ *
+ * Raises:
+ * HTTPException: 当字段不存在或更新失败时返回400错误
+ */
+ patch: operations["patch_timeseries_schemes_nodes_node_id_field"];
+ trace?: never;
+ };
+ "/api/v1/timeseries/schemes/records": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 按方案、时间和属性查询数据
+ * @description 按指定方案、时间和属性查询所有方案数据
+ *
+ * 查询在特定方案和时间点,所有指定类型元素的特定属性值。
+ *
+ * Args:
+ * scheme_type: 方案类型
+ * scheme_name: 方案名称
+ * query_time: 查询时间
+ * type: 元素类型(pipe或junction)
+ * property: 属性名称
+ *
+ * Returns:
+ * 查询结果列表
+ *
+ * Raises:
+ * HTTPException: 当查询参数无效时返回400错误
+ */
+ get: operations["get_timeseries_schemes_records"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/timeseries/schemes/simulation-results": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 按ID和时间查询方案模拟数据
+ * @description 按指定ID和时间查询方案模拟结果
+ *
+ * 查询特定方案中的元素在某一时间点的模拟数据。
+ *
+ * Args:
+ * scheme_type: 方案类型
+ * scheme_name: 方案名称
+ * id: 元素ID
+ * type: 元素类型(pipe或junction)
+ * query_time: 查询时间
+ *
+ * Returns:
+ * 模拟结果数据
+ *
+ * Raises:
+ * HTTPException: 当查询参数无效时返回400错误
+ */
+ get: operations["get_timeseries_schemes_simulation_results"];
+ put?: never;
+ /**
+ * 存储方案模拟结果
+ * @description 存储方案模拟结果到时间序列数据库
+ *
+ * 将特定方案的节点和管道模拟计算结果批量存储到TimescaleDB数据库。
+ *
+ * Args:
+ * scheme_type: 方案类型
+ * scheme_name: 方案名称
+ * node_result_list: 节点模拟结果列表
+ * link_result_list: 管道模拟结果列表
+ * result_start_time: 模拟结果对应的起始时间
+ *
+ * Returns:
+ * 存储结果信息
+ */
+ post: operations["post_timeseries_schemes_simulation_results"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/timeseries/views/element-scada-readings": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取管网元素关联的SCADA监测数据
+ * @description 获取link/node关联的SCADA监测值
+ *
+ * 根据传入的link/node id,匹配SCADA信息,
+ * 如果存在关联的SCADA device_id,获取实际的监测数据。
+ *
+ * Args:
+ * element_id: 管网元素ID
+ * start_time: 查询开始时间
+ * end_time: 查询结束时间
+ * use_cleaned: 是否使用清洗后的数据,默认为False使用原始数据
+ * timescale_conn: TimescaleDB连接
+ * postgres_conn: PostgreSQL连接
+ *
+ * Returns:
+ * 管网元素关联的SCADA监测数据
+ *
+ * Raises:
+ * HTTPException: 当查询参数无效时返回400错误,未找到关联数据返回404错误
+ */
+ get: operations["get_timeseries_views_element_scada_readings"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/timeseries/views/element-simulations": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取管网元素的模拟数据
+ * @description 获取link/node模拟值
+ *
+ * 根据传入的featureInfos,找到关联的link/node,
+ * 并根据对应的type,查询对应的模拟数据。支持查询实时或方案数据。
+ *
+ * Args:
+ * start_time: 查询开始时间
+ * end_time: 查询结束时间
+ * feature_infos: 格式为 "element_id1:type1,element_id2:type2"
+ * 例如: "P1:pipe,J1:junction"
+ * scheme_type: 方案类型,若为空则查询实时数据
+ * scheme_name: 方案名称,若为空则查询实时数据
+ * timescale_conn: TimescaleDB连接
+ *
+ * Returns:
+ * 管网元素的模拟数据
+ *
+ * Raises:
+ * HTTPException: 当feature_infos为空返回400错误,未找到数据返回404错误,其他错误返回400错误
+ */
+ get: operations["get_timeseries_views_element_simulations"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/timeseries/views/scada-simulations": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取SCADA关联的模拟数据
+ * @description 获取SCADA关联的link/node模拟值
+ *
+ * 根据传入的SCADA device_ids,找到关联的link/node,
+ * 并根据对应的type,查询对应的模拟数据。支持查询实时或方案数据。
+ *
+ * Args:
+ * start_time: 查询开始时间
+ * end_time: 查询结束时间
+ * device_ids: SCADA设备ID列表,用逗号分隔
+ * scheme_type: 方案类型,若为空则查询实时数据
+ * scheme_name: 方案名称,若为空则查询实时数据
+ * timescale_conn: TimescaleDB连接
+ * postgres_conn: PostgreSQL连接
+ *
+ * Returns:
+ * SCADA关联的模拟数据
+ *
+ * Raises:
+ * HTTPException: 当查询参数无效时返回400错误,未找到数据时返回404错误
+ */
+ get: operations["get_timeseries_views_scada_simulations"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/title-schemas": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取标题属性架构
+ * @description 获取指定水网的标题(标题)属性架构定义
+ */
+ get: operations["get_title_schemas"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/titles": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取水网标题属性
+ * @description 获取指定水网的标题(Title)信息
+ */
+ get: operations["get_titles"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 设置水网标题属性
+ * @description 设置指定水网的标题(Title)信息
+ */
+ patch: operations["patch_titles"];
+ trace?: never;
+ };
+ "/api/v1/undos": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * 撤销操作
+ * @description 撤销网络上最后的一个操作
+ */
+ post: operations["post_undos"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/users": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取所有用户
+ * @description 获取指定网络的所有用户列表
+ */
+ get: operations["get_users"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/users/detail": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取单个用户
+ * @description 获取指定网络中的单个用户信息
+ */
+ get: operations["get_users_detail"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/valve-closure-analyses": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * 阀门关闭分析(高级)
+ * @description 高级版本的阀门关闭分析,支持同时关闭多个阀门,并在指定持续时间内进行模拟。返回纯文本格式的分析结果。
+ */
+ post: operations["post_valve_closure_analyses"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/valve-isolation-analyses": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * 阀门隔离分析
+ * @description 分析当发生突发事件时,通过关闭指定阀门进行隔离,确定哪些阀门必须关闭、哪些可选关闭,以及隔离的可行性。
+ */
+ post: operations["post_valve_isolation_analyses"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/valves": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取所有阀门属性
+ * @description 获取指定水网中所有阀门的属性
+ */
+ get: operations["get_valves"];
+ put?: never;
+ /**
+ * 添加阀门
+ * @description 在指定的水网中添加新的阀门
+ */
+ post: operations["post_valves"];
+ /**
+ * 删除阀门
+ * @description 从指定的水网中删除指定的阀门
+ */
+ delete: operations["delete_valves"];
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/valves/diameter": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取阀门直径
+ * @description 获取指定阀门的直径
+ */
+ get: operations["get_valves_diameter"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 设置阀门直径
+ * @description 设置指定阀门的直径
+ */
+ patch: operations["patch_valves_diameter"];
+ trace?: never;
+ };
+ "/api/v1/valves/existence": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 检查是否为阀门
+ * @description 检查指定ID是否为水网中的阀门
+ */
+ get: operations["get_valves_existence"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/valves/minor-loss": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取阀门损失系数
+ * @description 获取指定阀门的损失系数
+ */
+ get: operations["get_valves_minor_loss"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/valves/node1": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取阀门起点节点
+ * @description 获取指定阀门连接的起点节点ID
+ */
+ get: operations["get_valves_node1"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 设置阀门起点节点
+ * @description 设置指定阀门的起点节点
+ */
+ patch: operations["patch_valves_node1"];
+ trace?: never;
+ };
+ "/api/v1/valves/node2": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取阀门终点节点
+ * @description 获取指定阀门连接的终点节点ID
+ */
+ get: operations["get_valves_node2"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 设置阀门终点节点
+ * @description 设置指定阀门的终点节点
+ */
+ patch: operations["patch_valves_node2"];
+ trace?: never;
+ };
+ "/api/v1/valves/properties": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取阀门所有属性
+ * @description 获取指定阀门的所有属性
+ */
+ get: operations["get_valves_properties"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 批量设置阀门属性
+ * @description 批量设置指定阀门的多个属性
+ */
+ patch: operations["patch_valves_properties"];
+ trace?: never;
+ };
+ "/api/v1/valves/setting": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取阀门开度
+ * @description 获取指定阀门的开度/设置值
+ */
+ get: operations["get_valves_setting"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 设置阀门开度
+ * @description 设置指定阀门的开度/设置值
+ */
+ patch: operations["patch_valves_setting"];
+ trace?: never;
+ };
+ "/api/v1/valves/type": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取阀门类型
+ * @description 获取指定阀门的类型
+ */
+ get: operations["get_valves_type"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 设置阀门类型
+ * @description 设置指定阀门的类型
+ */
+ patch: operations["patch_valves_type"];
+ trace?: never;
+ };
+ "/api/v1/virtual-district-calculations": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * 计算虚拟分区
+ * @description 根据指定的压力监测节点作为中心节点计算虚拟分区方案
+ */
+ post: operations["post_virtual_district_calculations"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/virtual-district-generation-runs": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * 生成虚拟分区
+ * @description 根据参数自动生成虚拟分区方案
+ */
+ post: operations["post_virtual_district_generation_runs"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/virtual-districts": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取所有虚拟分区
+ * @description 获取指定水网中的所有虚拟分区信息
+ */
+ get: operations["get_virtual_districts"];
+ put?: never;
+ /**
+ * 添加新虚拟分区
+ * @description 向水网添加一个新的虚拟分区
+ */
+ post: operations["post_virtual_districts"];
+ /**
+ * 删除虚拟分区
+ * @description 删除指定的虚拟分区
+ */
+ delete: operations["delete_virtual_districts"];
+ options?: never;
+ head?: never;
+ /**
+ * 设置虚拟分区属性
+ * @description 修改指定虚拟分区的属性信息
+ */
+ patch: operations["patch_virtual_districts"];
+ trace?: never;
+ };
+ "/api/v1/virtual-districts/detail": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取虚拟分区信息
+ * @description 获取指定ID的虚拟分区详细信息
+ */
+ get: operations["get_virtual_districts_detail"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/visual-elements": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * 添加图形元素
+ * @description 在网络中添加一个新的图形元素
+ */
+ post: operations["post_visual_elements"];
+ /**
+ * 删除图形元素
+ * @description 从网络中删除指定的图形元素
+ */
+ delete: operations["delete_visual_elements"];
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/visual-elements/links": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取所有图形元素链接
+ * @description 获取网络中的所有图形元素链接列表
+ */
+ get: operations["get_visual_elements_links"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/visual-elements/properties": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * 获取图形元素属性
+ * @description 获取指定图形元素的属性信息
+ */
+ get: operations["get_visual_elements_properties"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ /**
+ * 设置图形元素属性
+ * @description 更新指定图形元素的属性
+ */
+ patch: operations["patch_visual_elements_properties"];
+ trace?: never;
+ };
+ "/api/v1/water-age-analyses": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * 水龄分析(高级)
+ * @description 高级版本的水龄分析,在指定时间点进行分析,支持自定义模拟持续时间。返回纯文本格式的分析结果。
+ */
+ post: operations["post_water_age_analyses"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/web-searches": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * Web Search
+ * @description 调用 Bocha Web Search API 获取实时网页搜索结果
+ */
+ post: operations["post_web_searches"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/api/v1/with-servers": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * 与服务器同步
+ * @description 将网络与服务器同步到指定操作
+ */
+ post: operations["post_with_servers"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+}
+export type webhooks = Record;
+export interface components {
+ schemas: {
+ /** AccessContextResponse */
+ AccessContextResponse: {
+ /** Is System Admin */
+ is_system_admin: boolean;
+ /** Permissions */
+ permissions: string[];
+ /** Project Id */
+ project_id?: string | null;
+ /** Project Role */
+ project_role?: string | null;
+ /** System Role */
+ system_role: string;
+ /**
+ * User Id
+ * Format: uuid
+ */
+ user_id: string;
+ /** Username */
+ username: string;
+ };
+ /** AdminProjectCreateRequest */
+ AdminProjectCreateRequest: {
+ /** Code */
+ code: string;
+ /** Description */
+ description?: string | null;
+ /** Gs Workspace */
+ gs_workspace: string;
+ /** Map Extent */
+ map_extent?: Record | null;
+ /** Name */
+ name: string;
+ /**
+ * Status
+ * @default active
+ * @enum {string}
+ */
+ status: "active" | "inactive" | "archived";
+ };
+ /** AdminProjectResponse */
+ AdminProjectResponse: {
+ /** Code */
+ code: string;
+ /**
+ * Created At
+ * Format: date-time
+ */
+ created_at: string;
+ /** Description */
+ description?: string | null;
+ /** Gs Workspace */
+ gs_workspace: string;
+ /** Map Extent */
+ map_extent?: Record | null;
+ /** Name */
+ name: string;
+ /**
+ * Project Id
+ * Format: uuid
+ */
+ project_id: string;
+ /** Status */
+ status: string;
+ /**
+ * Updated At
+ * Format: date-time
+ */
+ updated_at: string;
+ };
+ /** AdminProjectUpdateRequest */
+ AdminProjectUpdateRequest: {
+ /** Code */
+ code?: string | null;
+ /** Description */
+ description?: string | null;
+ /** Gs Workspace */
+ gs_workspace?: string | null;
+ /** Map Extent */
+ map_extent?: Record | null;
+ /** Name */
+ name?: string | null;
+ /** Status */
+ status?: ("active" | "inactive" | "archived") | null;
+ };
+ /** AgentAuthContextResponse */
+ AgentAuthContextResponse: {
+ /** Is Superuser */
+ is_superuser: boolean;
+ /** Keycloak Sub */
+ keycloak_sub: string;
+ /** Network */
+ network: string;
+ /** Permissions */
+ permissions: string[];
+ /** Project Id */
+ project_id: string;
+ /** Project Role */
+ project_role: string;
+ /** Role */
+ role: string;
+ /** Token Expires At */
+ token_expires_at?: string | null;
+ /** User Id */
+ user_id: string;
+ /** Username */
+ username: string;
+ };
+ /**
+ * AuditLogResponse
+ * @description 审计日志响应
+ */
+ AuditLogResponse: {
+ /** Action */
+ action: string;
+ /**
+ * Id
+ * Format: uuid
+ */
+ id: string;
+ /** Ip Address */
+ ip_address: string | null;
+ /** Project Id */
+ project_id: string | null;
+ /** Request Data */
+ request_data: Record | null;
+ /** Request Method */
+ request_method: string | null;
+ /** Request Path */
+ request_path: string | null;
+ /** Resource Id */
+ resource_id: string | null;
+ /** Resource Type */
+ resource_type: string | null;
+ /** Response Status */
+ response_status: number | null;
+ /**
+ * Timestamp
+ * Format: date-time
+ */
+ timestamp: string;
+ /** User Id */
+ user_id: string | null;
+ };
+ /** Body_patch_admin_projects_project_id_model_imports */
+ Body_patch_admin_projects_project_id_model_imports: {
+ /**
+ * File
+ * Format: binary
+ * @description 桌面端导出的 INP 模型文件
+ */
+ file: string;
+ };
+ /** Body_post_admin_projects_project_id_model_imports */
+ Body_post_admin_projects_project_id_model_imports: {
+ /**
+ * File
+ * Format: binary
+ * @description 桌面端导出的 INP 模型文件
+ */
+ file: string;
+ };
+ /** Body_post_timeseries_realtime_simulation_results */
+ Body_post_timeseries_realtime_simulation_results: {
+ /**
+ * Link Result List
+ * @description 管道模拟结果列表
+ */
+ link_result_list: Record[];
+ /**
+ * Node Result List
+ * @description 节点模拟结果列表
+ */
+ node_result_list: Record[];
+ };
+ /** Body_post_timeseries_schemes_simulation_results */
+ Body_post_timeseries_schemes_simulation_results: {
+ /**
+ * Link Result List
+ * @description 管道模拟结果列表
+ */
+ link_result_list: Record[];
+ /**
+ * Node Result List
+ * @description 节点模拟结果列表
+ */
+ node_result_list: Record[];
+ };
+ /** BurstDetectionRequestRest */
+ BurstDetectionRequestRest: {
+ /**
+ * Data Source
+ * @description 数据来源:monitoring(监测)或simulation(模拟)
+ * @default monitoring
+ */
+ data_source: string;
+ /**
+ * Iforest Params
+ * @description 隔离森林算法参数
+ */
+ iforest_params?: Record | null;
+ /**
+ * Mu
+ * @description 异常值检测的参数
+ * @default 100
+ */
+ mu: number;
+ /**
+ * Observed Pressure Data
+ * @description 压力观测数据。支持列式字典 {sensor_id: [values,...]}、逐时刻对象数组 [{sensor_id: value,...}, ...]、或二维数组 [[t1_s1, t1_s2], [t2_s1, t2_s2], ...]。
+ */
+ observed_pressure_data?: {
+ [key: string]: unknown[];
+ } | Record[] | unknown[][] | null;
+ /**
+ * Points Per Day
+ * @description 每天的数据点数
+ * @default 1440
+ */
+ points_per_day: number;
+ /**
+ * Sampling Interval Minutes
+ * @description 采样间隔(分钟);为空时根据压力 SCADA 传输频率自动推断
+ */
+ sampling_interval_minutes?: number | null;
+ /**
+ * Scada End
+ * @description SCADA数据结束时间
+ */
+ scada_end?: string | null;
+ /**
+ * Scada Start
+ * @description SCADA数据起始时间
+ */
+ scada_start?: string | null;
+ /**
+ * Scheme Name
+ * @description 方案名称
+ */
+ scheme_name?: string | null;
+ /**
+ * Sensor Nodes
+ * @description 传感器节点列表
+ */
+ sensor_nodes?: string[] | null;
+ /**
+ * Simulation Scheme Name
+ * @description 模拟方案名称
+ */
+ simulation_scheme_name?: string | null;
+ /**
+ * Simulation Scheme Type
+ * @description 模拟方案类型
+ */
+ simulation_scheme_type?: string | null;
+ /**
+ * Target Time
+ * @description 目标侦测时刻;为空时自动使用最近一个完整的监测时刻
+ */
+ target_time?: string | null;
+ };
+ /** BurstLocationRequestRest */
+ BurstLocationRequestRest: {
+ /**
+ * Basic Pressure
+ * @description 基准压力(bar)
+ * @default 10
+ */
+ basic_pressure: number;
+ /**
+ * Burst Flow
+ * @description 爆管时的流量数据
+ */
+ burst_flow?: {
+ [key: string]: number;
+ } | Record[] | null;
+ /**
+ * Burst Leakage
+ * @description 爆管时的漏水量
+ */
+ burst_leakage: number;
+ /**
+ * Burst Pressure
+ * @description 爆管时的压力数据
+ */
+ burst_pressure?: {
+ [key: string]: number;
+ } | Record[] | null;
+ /**
+ * Data Source
+ * @description 数据来源:monitoring(监测)或simulation(模拟)
+ * @default monitoring
+ * @enum {string}
+ */
+ data_source: "monitoring" | "simulation";
+ /**
+ * Flow Scada Ids
+ * @description 流量SCADA传感器ID列表
+ */
+ flow_scada_ids?: string[] | null;
+ /**
+ * Min Dpressure
+ * @description 最小压力差(bar)
+ * @default 2
+ */
+ min_dpressure: number;
+ /**
+ * Normal Flow
+ * @description 正常时的流量数据
+ */
+ normal_flow?: {
+ [key: string]: number;
+ } | Record[] | null;
+ /**
+ * Normal Pressure
+ * @description 正常时的压力数据
+ */
+ normal_pressure?: {
+ [key: string]: number;
+ } | Record[] | null;
+ /**
+ * Pressure Scada Ids
+ * @description 压力SCADA传感器ID列表
+ */
+ pressure_scada_ids?: string[] | null;
+ /**
+ * Scada Burst End
+ * @description 爆管/模拟方案结束时间
+ */
+ scada_burst_end?: string | null;
+ /**
+ * Scada Burst Start
+ * @description 爆管/模拟方案开始时间
+ */
+ scada_burst_start?: string | null;
+ /**
+ * Scada Normal End
+ * @description 监测数据正常工况结束时间
+ */
+ scada_normal_end?: string | null;
+ /**
+ * Scada Normal Start
+ * @description 监测数据正常工况开始时间
+ */
+ scada_normal_start?: string | null;
+ /**
+ * Scheme Name
+ * @description 方案名称
+ */
+ scheme_name?: string | null;
+ /**
+ * Simulation Scheme Name
+ * @description 模拟方案名称
+ */
+ simulation_scheme_name?: string | null;
+ /**
+ * Simulation Scheme Type
+ * @description 模拟方案类型
+ */
+ simulation_scheme_type?: string | null;
+ /**
+ * Use Scada Flow
+ * @description 是否使用SCADA流量数据
+ * @default false
+ */
+ use_scada_flow: boolean;
+ };
+ /** DailySchedulingAnalysisRest */
+ DailySchedulingAnalysisRest: {
+ /**
+ * Pump Control
+ * @description 泵控制策略
+ */
+ pump_control: Record;
+ /**
+ * Reservoir Id
+ * @description 水库ID
+ */
+ reservoir_id: string;
+ /**
+ * Start Time
+ * @description 开始时间
+ */
+ start_time: string;
+ /**
+ * Tank Id
+ * @description 水箱ID
+ */
+ tank_id: string;
+ /**
+ * Time Delta
+ * @description 时间步长 (秒)
+ * @default 300
+ */
+ time_delta: number | null;
+ /**
+ * Water Plant Output Id
+ * @description 水厂出水ID
+ */
+ water_plant_output_id: string;
+ };
+ JsonValue: unknown;
+ /** LeakageIdentifyRequestRest */
+ LeakageIdentifyRequestRest: {
+ /**
+ * Dma Count
+ * @description DMA区域数量
+ */
+ dma_count?: number | null;
+ /**
+ * Duration
+ * @description 持续时间(小时)
+ * @default 24
+ */
+ duration: number;
+ /**
+ * Max Gen
+ * @description 最大代数
+ * @default 100
+ */
+ max_gen: number;
+ /**
+ * N Workers
+ * @description 工作线程数
+ * @default 4
+ */
+ n_workers: number;
+ /**
+ * Observed Pressure Data
+ * @description 观测的压力数据
+ */
+ observed_pressure_data?: string | {
+ [key: string]: unknown[];
+ } | Record[] | null;
+ /**
+ * Output Dir
+ * @description 输出目录
+ * @default db_inp
+ */
+ output_dir: string;
+ /**
+ * Output Flow Unit
+ * @description 输出流量单位
+ * @default m3/s
+ */
+ output_flow_unit: string;
+ /**
+ * Pop Size
+ * @description 种群大小
+ * @default 50
+ */
+ pop_size: number;
+ /**
+ * Q Sum
+ * @description 总流量(m3/s)
+ * @default 0.2
+ */
+ q_sum: number;
+ /**
+ * Q Sum Unit
+ * @description 流量单位
+ * @default m3/s
+ */
+ q_sum_unit: string;
+ /**
+ * Scada End
+ * @description SCADA数据结束时间
+ */
+ scada_end?: string | null;
+ /**
+ * Scada Start
+ * @description SCADA数据起始时间
+ */
+ scada_start?: string | null;
+ /**
+ * Scheme Name
+ * @description 方案名称
+ */
+ scheme_name?: string | null;
+ /**
+ * Sensor Nodes
+ * @description 传感器节点列表
+ */
+ sensor_nodes?: string[] | null;
+ /**
+ * Start Time
+ * @description 起始时间(小时)
+ * @default 0
+ */
+ start_time: number;
+ /**
+ * Timestep
+ * @description 时间步长(分钟)
+ * @default 5
+ */
+ timestep: number;
+ };
+ /** MetadataUserResponse */
+ MetadataUserResponse: {
+ /**
+ * Created At
+ * Format: date-time
+ */
+ created_at: string;
+ /** Email */
+ email: string;
+ /**
+ * Id
+ * Format: uuid
+ */
+ id: string;
+ /** Is Active */
+ is_active: boolean;
+ /** Is Superuser */
+ is_superuser: boolean;
+ /**
+ * Keycloak Id
+ * Format: uuid
+ */
+ keycloak_id: string;
+ /** Last Login At */
+ last_login_at?: string | null;
+ /** Role */
+ role: string;
+ /**
+ * Updated At
+ * Format: date-time
+ */
+ updated_at: string;
+ /** Username */
+ username: string;
+ };
+ /** MetadataUserSyncRequest */
+ MetadataUserSyncRequest: {
+ /** Email */
+ email: string;
+ /**
+ * Is Active
+ * @default true
+ */
+ is_active: boolean;
+ /**
+ * Keycloak Id
+ * Format: uuid
+ */
+ keycloak_id: string;
+ /**
+ * Role
+ * @default user
+ * @enum {string}
+ */
+ role: "admin" | "user";
+ /** Username */
+ username: string;
+ };
+ /** MetadataUserSyncResult */
+ MetadataUserSyncResult: {
+ /** Error */
+ error?: string | null;
+ /**
+ * Keycloak Id
+ * Format: uuid
+ */
+ keycloak_id: string;
+ /** Success */
+ success: boolean;
+ user?: components["schemas"]["MetadataUserResponse"] | null;
+ };
+ /** MetadataUserUpdateRequest */
+ MetadataUserUpdateRequest: {
+ /** Is Active */
+ is_active?: boolean | null;
+ /** Role */
+ role?: ("admin" | "user") | null;
+ };
+ /** MetadataUsersBatchSyncRequest */
+ MetadataUsersBatchSyncRequest: {
+ /** Users */
+ users: components["schemas"]["MetadataUserSyncRequest"][];
+ };
+ /** Page[AdminProjectResponse] */
+ Page_AdminProjectResponse_: {
+ /** Items */
+ items: components["schemas"]["AdminProjectResponse"][];
+ /** Limit */
+ limit: number;
+ /** Offset */
+ offset: number;
+ /** Total */
+ total: number;
+ };
+ /** Page[AuditLogResponse] */
+ Page_AuditLogResponse_: {
+ /** Items */
+ items: components["schemas"]["AuditLogResponse"][];
+ /** Limit */
+ limit: number;
+ /** Offset */
+ offset: number;
+ /** Total */
+ total: number;
+ };
+ /** Page[MetadataUserResponse] */
+ Page_MetadataUserResponse_: {
+ /** Items */
+ items: components["schemas"]["MetadataUserResponse"][];
+ /** Limit */
+ limit: number;
+ /** Offset */
+ offset: number;
+ /** Total */
+ total: number;
+ };
+ /** Page[MetadataUserSyncResult] */
+ Page_MetadataUserSyncResult_: {
+ /** Items */
+ items: components["schemas"]["MetadataUserSyncResult"][];
+ /** Limit */
+ limit: number;
+ /** Offset */
+ offset: number;
+ /** Total */
+ total: number;
+ };
+ /** Page[ProjectDatabaseResponse] */
+ Page_ProjectDatabaseResponse_: {
+ /** Items */
+ items: components["schemas"]["ProjectDatabaseResponse"][];
+ /** Limit */
+ limit: number;
+ /** Offset */
+ offset: number;
+ /** Total */
+ total: number;
+ };
+ /** Page[ProjectMemberResponse] */
+ Page_ProjectMemberResponse_: {
+ /** Items */
+ items: components["schemas"]["ProjectMemberResponse"][];
+ /** Limit */
+ limit: number;
+ /** Offset */
+ offset: number;
+ /** Total */
+ total: number;
+ };
+ /** Page[ProjectSummaryResponse] */
+ Page_ProjectSummaryResponse_: {
+ /** Items */
+ items: components["schemas"]["ProjectSummaryResponse"][];
+ /** Limit */
+ limit: number;
+ /** Offset */
+ offset: number;
+ /** Total */
+ total: number;
+ };
+ /** Page[dict[Any, Any]] */
+ Page_dict_Any__Any__: {
+ /** Items */
+ items: Record[];
+ /** Limit */
+ limit: number;
+ /** Offset */
+ offset: number;
+ /** Total */
+ total: number;
+ };
+ /** Page[dict[str, Any]] */
+ Page_dict_str__Any__: {
+ /** Items */
+ items: Record[];
+ /** Limit */
+ limit: number;
+ /** Offset */
+ offset: number;
+ /** Total */
+ total: number;
+ };
+ /** Page[dict[str, list[str]]] */
+ Page_dict_str__list_str___: {
+ /** Items */
+ items: {
+ [key: string]: string[];
+ }[];
+ /** Limit */
+ limit: number;
+ /** Offset */
+ offset: number;
+ /** Total */
+ total: number;
+ };
+ /** Page[list[str]] */
+ Page_list_str__: {
+ /** Items */
+ items: string[][];
+ /** Limit */
+ limit: number;
+ /** Offset */
+ offset: number;
+ /** Total */
+ total: number;
+ };
+ /** Page[str] */
+ Page_str_: {
+ /** Items */
+ items: string[];
+ /** Limit */
+ limit: number;
+ /** Offset */
+ offset: number;
+ /** Total */
+ total: number;
+ };
+ /** Page[tuple[int, str]] */
+ Page_tuple_int__str__: {
+ /** Items */
+ items: [
+ number,
+ string
+ ][];
+ /** Limit */
+ limit: number;
+ /** Offset */
+ offset: number;
+ /** Total */
+ total: number;
+ };
+ /** PressureRegulationRest */
+ PressureRegulationRest: {
+ /**
+ * Duration
+ * @description 持续时间 (秒)
+ * @default 900
+ */
+ duration: number | null;
+ /**
+ * Pump Control
+ * @description 泵控制策略
+ */
+ pump_control: Record;
+ /**
+ * Scheme Name
+ * @description 方案名称
+ */
+ scheme_name?: string | null;
+ /**
+ * Start Time
+ * @description 开始时间
+ */
+ start_time: string;
+ /**
+ * Tank Init Level
+ * @description 水箱初始水位
+ */
+ tank_init_level?: Record | null;
+ };
+ /** PressureSensorPlacement */
+ PressureSensorPlacement: {
+ /**
+ * Min Diameter
+ * @description 最小管径限制
+ * @default 0
+ */
+ min_diameter: number;
+ /**
+ * Name
+ * @description 管网名称(或数据库名称)
+ */
+ name: string;
+ /**
+ * Scheme Name
+ * @description 方案名称
+ */
+ scheme_name: string;
+ /**
+ * Sensor Number
+ * @description 传感器数量
+ */
+ sensor_number: number;
+ /**
+ * Username
+ * @description 用户名
+ */
+ username: string;
+ };
+ /**
+ * ProblemDetails
+ * @description RFC 9457 compatible error response used by the REST contract.
+ */
+ ProblemDetails: {
+ /** Code */
+ code: string;
+ /** Detail */
+ detail: string;
+ /** Errors */
+ errors?: Record[];
+ /** Instance */
+ instance: string;
+ /** Status */
+ status: number;
+ /** Title */
+ title: string;
+ /** Trace Id */
+ trace_id: string;
+ /** Type */
+ type: string;
+ };
+ /** ProjectDatabaseHealthRequest */
+ ProjectDatabaseHealthRequest: {
+ /** Dsn */
+ dsn?: string | null;
+ };
+ /** ProjectDatabaseHealthResponse */
+ ProjectDatabaseHealthResponse: {
+ /** Db Role */
+ db_role: string;
+ /** Db Type */
+ db_type: string;
+ /** Detail */
+ detail: string;
+ /** Ok */
+ ok: boolean;
+ /**
+ * Project Id
+ * Format: uuid
+ */
+ project_id: string;
+ };
+ /** ProjectDatabaseResponse */
+ ProjectDatabaseResponse: {
+ /** Db Role */
+ db_role: string;
+ /** Db Type */
+ db_type: string;
+ /** Has Dsn */
+ has_dsn: boolean;
+ /**
+ * Id
+ * Format: uuid
+ */
+ id: string;
+ /** Pool Max Size */
+ pool_max_size: number;
+ /** Pool Min Size */
+ pool_min_size: number;
+ /**
+ * Project Id
+ * Format: uuid
+ */
+ project_id: string;
+ };
+ /** ProjectDatabaseUpsertRequest */
+ ProjectDatabaseUpsertRequest: {
+ /**
+ * Db Role
+ * @enum {string}
+ */
+ db_role: "biz_data" | "iot_data";
+ /** Dsn */
+ dsn?: string | null;
+ /**
+ * Pool Max Size
+ * @default 10
+ */
+ pool_max_size: number;
+ /**
+ * Pool Min Size
+ * @default 2
+ */
+ pool_min_size: number;
+ };
+ /** ProjectManagementRest */
+ ProjectManagementRest: {
+ /**
+ * Pump Control
+ * @description 泵控制策略
+ */
+ pump_control: Record;
+ /**
+ * Region Demand
+ * @description 区域需水量控制
+ */
+ region_demand?: Record | null;
+ /**
+ * Start Time
+ * @description 开始时间
+ */
+ start_time: string;
+ /**
+ * Tank Init Level
+ * @description 水箱初始水位
+ */
+ tank_init_level?: Record | null;
+ };
+ /** ProjectMemberCreateRequest */
+ ProjectMemberCreateRequest: {
+ /**
+ * Project Role
+ * @default viewer
+ * @enum {string}
+ */
+ project_role: "member" | "viewer";
+ /**
+ * User Id
+ * Format: uuid
+ */
+ user_id: string;
+ };
+ /** ProjectMemberResponse */
+ ProjectMemberResponse: {
+ /** Email */
+ email: string;
+ /**
+ * Id
+ * Format: uuid
+ */
+ id: string;
+ /** Is Active */
+ is_active: boolean;
+ /**
+ * Project Id
+ * Format: uuid
+ */
+ project_id: string;
+ /** Project Role */
+ project_role: string;
+ /**
+ * User Id
+ * Format: uuid
+ */
+ user_id: string;
+ /** Username */
+ username: string;
+ };
+ /** ProjectMemberUpdateRequest */
+ ProjectMemberUpdateRequest: {
+ /**
+ * Project Role
+ * @enum {string}
+ */
+ project_role: "member" | "viewer";
+ };
+ /** ProjectMetaResponse */
+ ProjectMetaResponse: {
+ /** Code */
+ code: string;
+ /** Description */
+ description?: string | null;
+ /** Gs Workspace */
+ gs_workspace: string;
+ /** Map Extent */
+ map_extent?: Record | null;
+ /** Name */
+ name: string;
+ /**
+ * Project Id
+ * Format: uuid
+ */
+ project_id: string;
+ /** Project Role */
+ project_role: string;
+ /** Status */
+ status: string;
+ };
+ /** ProjectSummaryResponse */
+ ProjectSummaryResponse: {
+ /** Code */
+ code: string;
+ /** Description */
+ description?: string | null;
+ /** Gs Workspace */
+ gs_workspace: string;
+ /** Name */
+ name: string;
+ /**
+ * Project Id
+ * Format: uuid
+ */
+ project_id: string;
+ /** Project Role */
+ project_role: string;
+ /** Status */
+ status: string;
+ };
+ /** PumpFailureState */
+ PumpFailureState: {
+ /**
+ * Pump Status
+ * @description 泵状态字典
+ */
+ pump_status: Record;
+ /**
+ * Time
+ * @description 故障发生时间
+ */
+ time: string;
+ };
+ /** RunSimulationManuallyByDateRest */
+ RunSimulationManuallyByDateRest: {
+ /**
+ * Duration
+ * @description 持续时间 (分钟)
+ */
+ duration: number;
+ /**
+ * Start Time
+ * @description 开始时间 (ISO 8601 / RFC3339,必须显式带时区)
+ */
+ start_time: string;
+ };
+ /** SchedulingAnalysisRest */
+ SchedulingAnalysisRest: {
+ /**
+ * Pump Control
+ * @description 泵控制策略
+ */
+ pump_control: Record;
+ /**
+ * Start Time
+ * @description 开始时间
+ */
+ start_time: string;
+ /**
+ * Tank Id
+ * @description 水箱ID
+ */
+ tank_id: string;
+ /**
+ * Time Delta
+ * @description 时间步长 (秒)
+ * @default 300
+ */
+ time_delta: number | null;
+ /**
+ * Water Plant Output Id
+ * @description 水厂出水ID
+ */
+ water_plant_output_id: string;
+ };
+ /** SensorPlacementExportRequest */
+ SensorPlacementExportRequest: {
+ /** Adjustment Status */
+ adjustment_status?: {
+ [key: string]: "current" | "original" | "added" | "replaced";
+ };
+ /** Sensor Location */
+ sensor_location: string[];
+ };
+ /** SensorPlacementOptimizeRequestRest */
+ SensorPlacementOptimizeRequestRest: {
+ /**
+ * Method
+ * @enum {string}
+ */
+ method: "sensitivity" | "kmeans";
+ /**
+ * Min Diameter
+ * @default 0
+ */
+ min_diameter: number;
+ /** Scheme Name */
+ scheme_name: string;
+ /** Sensor Count */
+ sensor_count: number;
+ /**
+ * Sensor Type
+ * @constant
+ */
+ sensor_type: "pressure";
+ };
+ /** SensorPlacementSchemeResponse */
+ SensorPlacementSchemeResponse: {
+ /**
+ * Can Edit
+ * @default false
+ */
+ can_edit: boolean;
+ /**
+ * Create Time
+ * Format: date-time
+ */
+ create_time: string;
+ /** Id */
+ id: number;
+ /** Min Diameter */
+ min_diameter: number;
+ /** Scheme Name */
+ scheme_name: string;
+ /** Sensor Location */
+ sensor_location: string[];
+ /** Sensor Number */
+ sensor_number: number;
+ /** Sensor Points */
+ sensor_points: components["schemas"]["SensorPointResponse"][];
+ /** Username */
+ username: string;
+ };
+ /** SensorPlacementUpdateRequest */
+ SensorPlacementUpdateRequest: {
+ /** Expected Sensor Location */
+ expected_sensor_location: string[];
+ /** Sensor Location */
+ sensor_location: string[];
+ };
+ /** SensorPointResponse */
+ SensorPointResponse: {
+ /** Elevation */
+ elevation: number;
+ /** Latitude */
+ latitude: number;
+ /** Longitude */
+ longitude: number;
+ /** Map X */
+ map_x: number;
+ /** Map Y */
+ map_y: number;
+ /** Node Id */
+ node_id: string;
+ /** Project X */
+ project_x: number;
+ /** Project Y */
+ project_y: number;
+ };
+ /** SessionAuditEventRequest */
+ SessionAuditEventRequest: {
+ /**
+ * Event
+ * @enum {string}
+ */
+ event: "login" | "logout";
+ };
+ /** TiandituGeocodeRequest */
+ TiandituGeocodeRequest: {
+ /**
+ * Keyword
+ * @description 地理编码地址关键字
+ */
+ keyword: string;
+ };
+ /** WebSearchRequest */
+ WebSearchRequest: {
+ /**
+ * Count
+ * @description 返回结果数量
+ * @default 10
+ */
+ count: number;
+ /**
+ * Exclude
+ * @description 排除搜索域名
+ */
+ exclude?: string[] | null;
+ /**
+ * Freshness
+ * @description 时间范围:noLimit、oneDay、oneWeek、oneMonth、oneYear 或日期范围
+ * @default noLimit
+ */
+ freshness: ("noLimit" | "oneDay" | "oneWeek" | "oneMonth" | "oneYear") | string;
+ /**
+ * Include
+ * @description 限定搜索域名
+ */
+ include?: string[] | null;
+ /**
+ * Query
+ * @description 搜索关键词
+ */
+ query: string;
+ /**
+ * Summary
+ * @description 是否返回网页摘要
+ * @default true
+ */
+ summary: boolean;
+ };
+ };
+ responses: never;
+ parameters: never;
+ requestBodies: never;
+ headers: never;
+ pathItems: never;
+}
+export type $defs = Record;
+export interface operations {
+ get_access_context: {
+ parameters: {
+ query?: never;
+ header?: {
+ "X-Project-Id"?: string | null;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["AccessContextResponse"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_admin_projects: {
+ parameters: {
+ query?: {
+ limit?: number;
+ offset?: number;
+ };
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["Page_AdminProjectResponse_"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_admin_projects: {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ requestBody: {
+ content: {
+ "application/json": components["schemas"]["AdminProjectCreateRequest"];
+ };
+ };
+ responses: {
+ /** @description Successful Response */
+ 201: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["AdminProjectResponse"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_admin_projects_project_id: {
+ parameters: {
+ query?: never;
+ header?: never;
+ path: {
+ project_id: string;
+ };
+ cookie?: never;
+ };
+ requestBody: {
+ content: {
+ "application/json": components["schemas"]["AdminProjectUpdateRequest"];
+ };
+ };
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["AdminProjectResponse"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_admin_projects_project_id_databases: {
+ parameters: {
+ query?: {
+ limit?: number;
+ offset?: number;
+ };
+ header?: never;
+ path: {
+ project_id: string;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["Page_ProjectDatabaseResponse_"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ put_admin_projects_project_id_databases: {
+ parameters: {
+ query?: never;
+ header?: never;
+ path: {
+ project_id: string;
+ };
+ cookie?: never;
+ };
+ requestBody: {
+ content: {
+ "application/json": components["schemas"]["ProjectDatabaseUpsertRequest"];
+ };
+ };
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProjectDatabaseResponse"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ delete_admin_projects_project_id_databases_db_role: {
+ parameters: {
+ query?: never;
+ header?: never;
+ path: {
+ project_id: string;
+ db_role: "biz_data" | "iot_data";
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 204: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content?: never;
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_admin_projects_project_id_databases_db_role_health_checks: {
+ parameters: {
+ query?: never;
+ header?: never;
+ path: {
+ project_id: string;
+ db_role: "biz_data" | "iot_data";
+ };
+ cookie?: never;
+ };
+ requestBody?: {
+ content: {
+ "application/json": components["schemas"]["ProjectDatabaseHealthRequest"] | null;
+ };
+ };
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProjectDatabaseHealthResponse"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_admin_projects_project_id_members: {
+ parameters: {
+ query?: {
+ limit?: number;
+ offset?: number;
+ };
+ header?: never;
+ path: {
+ project_id: string;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["Page_ProjectMemberResponse_"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_admin_projects_project_id_members: {
+ parameters: {
+ query?: never;
+ header?: never;
+ path: {
+ project_id: string;
+ };
+ cookie?: never;
+ };
+ requestBody: {
+ content: {
+ "application/json": components["schemas"]["ProjectMemberCreateRequest"];
+ };
+ };
+ responses: {
+ /** @description Successful Response */
+ 201: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProjectMemberResponse"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ delete_admin_projects_project_id_members_user_id: {
+ parameters: {
+ query?: never;
+ header?: never;
+ path: {
+ project_id: string;
+ user_id: string;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 204: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content?: never;
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_admin_projects_project_id_members_user_id: {
+ parameters: {
+ query?: never;
+ header?: never;
+ path: {
+ project_id: string;
+ user_id: string;
+ };
+ cookie?: never;
+ };
+ requestBody: {
+ content: {
+ "application/json": components["schemas"]["ProjectMemberUpdateRequest"];
+ };
+ };
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProjectMemberResponse"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_admin_projects_project_id_model_imports: {
+ parameters: {
+ query?: never;
+ header?: never;
+ path: {
+ project_id: string;
+ };
+ cookie?: never;
+ };
+ requestBody: {
+ content: {
+ "multipart/form-data": components["schemas"]["Body_post_admin_projects_project_id_model_imports"];
+ };
+ };
+ responses: {
+ /** @description Successful Response */
+ 201: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": Record;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_admin_projects_project_id_model_imports: {
+ parameters: {
+ query?: never;
+ header?: never;
+ path: {
+ project_id: string;
+ };
+ cookie?: never;
+ };
+ requestBody: {
+ content: {
+ "multipart/form-data": components["schemas"]["Body_patch_admin_projects_project_id_model_imports"];
+ };
+ };
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": Record;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_admin_user_syncs: {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ requestBody: {
+ content: {
+ "application/json": components["schemas"]["MetadataUserSyncRequest"];
+ };
+ };
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["MetadataUserResponse"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_admin_user_syncs_batches: {
+ parameters: {
+ query?: {
+ limit?: number;
+ offset?: number;
+ };
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ requestBody: {
+ content: {
+ "application/json": components["schemas"]["MetadataUsersBatchSyncRequest"];
+ };
+ };
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["Page_MetadataUserSyncResult_"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_admin_users: {
+ parameters: {
+ query?: {
+ skip?: number;
+ limit?: number;
+ };
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["Page_MetadataUserResponse_"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_admin_users_me: {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["MetadataUserResponse"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_admin_users_user_id: {
+ parameters: {
+ query?: never;
+ header?: never;
+ path: {
+ user_id: string;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["MetadataUserResponse"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_admin_users_user_id: {
+ parameters: {
+ query?: never;
+ header?: never;
+ path: {
+ user_id: string;
+ };
+ cookie?: never;
+ };
+ requestBody: {
+ content: {
+ "application/json": components["schemas"]["MetadataUserUpdateRequest"];
+ };
+ };
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["MetadataUserResponse"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_agent_auth_context: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["AgentAuthContextResponse"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_all_extension_data_keys: {
+ parameters: {
+ query?: {
+ limit?: number;
+ offset?: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["Page_str_"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_all_extension_datas: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": Record;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ delete_all_redis: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 204: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content?: never;
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_all_scada_properties: {
+ parameters: {
+ query?: {
+ limit?: number;
+ offset?: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["Page_dict_str__Any__"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_all_vertices: {
+ parameters: {
+ query?: {
+ limit?: number;
+ offset?: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "text/plain": string;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "text/plain": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "text/plain": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "text/plain": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "text/plain": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "text/plain": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "text/plain": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_audit_events: {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ requestBody: {
+ content: {
+ "application/json": components["schemas"]["SessionAuditEventRequest"];
+ };
+ };
+ responses: {
+ /** @description Successful Response */
+ 204: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content?: never;
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_audit_logs: {
+ parameters: {
+ query?: {
+ /** @description 按用户ID过滤 */
+ user_id?: string | null;
+ /** @description 按项目ID过滤 */
+ project_id?: string | null;
+ /** @description 按操作类型过滤 */
+ action?: string | null;
+ /** @description 按资源类型过滤 */
+ resource_type?: string | null;
+ /** @description 开始时间 */
+ start_time?: string | null;
+ /** @description 结束时间 */
+ end_time?: string | null;
+ /** @description 跳过记录数 */
+ skip?: number;
+ /** @description 限制记录数 */
+ limit?: number;
+ };
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["Page_AuditLogResponse_"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_audit_logs_count: {
+ parameters: {
+ query?: {
+ /** @description 按用户ID过滤 */
+ user_id?: string | null;
+ /** @description 按项目ID过滤 */
+ project_id?: string | null;
+ /** @description 按操作类型过滤 */
+ action?: string | null;
+ /** @description 按资源类型过滤 */
+ resource_type?: string | null;
+ /** @description 开始时间 */
+ start_time?: string | null;
+ /** @description 结束时间 */
+ end_time?: string | null;
+ };
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": Record;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_audit_logs_mine: {
+ parameters: {
+ query?: {
+ /** @description 按操作类型过滤 */
+ action?: string | null;
+ /** @description 开始时间 */
+ start_time?: string | null;
+ /** @description 结束时间 */
+ end_time?: string | null;
+ /** @description 跳过记录数 */
+ skip?: number;
+ /** @description 限制记录数 */
+ limit?: number;
+ };
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["Page_AuditLogResponse_"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_backdrops_properties: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": Record;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_backdrops_properties: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_burst_analyses: {
+ parameters: {
+ query: {
+ /** @description 模式修改开始时间(ISO 8601格式) */
+ modify_pattern_start_time: string;
+ /** @description 爆管节点/管段ID列表 */
+ burst_id: string[];
+ /** @description 对应各爆管点的爆管流量大小列表(L/s) */
+ burst_size: number[];
+ /** @description 模拟总时长(秒) */
+ modify_total_duration: number;
+ /** @description 分析方案名称 */
+ scheme_name: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": string;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_burst_detections: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody: {
+ content: {
+ "application/json": components["schemas"]["BurstDetectionRequestRest"];
+ };
+ };
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": Record;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_burst_locations: {
+ parameters: {
+ query?: {
+ limit?: number;
+ offset?: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["Page_dict_Any__Any__"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_burst_locations: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody: {
+ content: {
+ "application/json": components["schemas"]["BurstLocationRequestRest"];
+ };
+ };
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": Record;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_burst_locations_database_view: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_burst_locations_burst_incident: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path: {
+ /** @description 爆管事件ID */
+ burst_incident: string;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_contaminant_simulations: {
+ parameters: {
+ query: {
+ /** @description 污染开始时间(ISO 8601格式) */
+ start_time: string;
+ /** @description 污染源节点ID */
+ source: string;
+ /** @description 污染浓度(mg/L) */
+ concentration: number;
+ /** @description 模拟持续时间(秒) */
+ duration: number;
+ /** @description 模拟方案名称 */
+ scheme_name: string;
+ /** @description 污染源模式ID(可选) */
+ pattern?: string | null;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "text/plain": string;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "text/plain": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "text/plain": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "text/plain": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "text/plain": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "text/plain": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "text/plain": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_controls_properties: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": Record;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_controls_properties: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_current_operation_ids: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": number;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_curves: {
+ parameters: {
+ query?: {
+ limit?: number;
+ offset?: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["Page_str_"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_curves: {
+ parameters: {
+ query: {
+ /** @description 曲线ID */
+ curve: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 201: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ delete_curves: {
+ parameters: {
+ query: {
+ /** @description 曲线ID */
+ curve: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 204: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content?: never;
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_curves_existence: {
+ parameters: {
+ query: {
+ /** @description 曲线ID */
+ curve: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": boolean;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_curves_properties: {
+ parameters: {
+ query: {
+ /** @description 曲线ID */
+ curve: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": Record;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_curves_properties: {
+ parameters: {
+ query: {
+ /** @description 曲线ID */
+ curve: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_daily_scheduling_analyses: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody: {
+ content: {
+ "application/json": components["schemas"]["DailySchedulingAnalysisRest"];
+ };
+ };
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": string;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_demands_properties: {
+ parameters: {
+ query: {
+ /** @description 节点ID */
+ junction: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": Record;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_demands_properties: {
+ parameters: {
+ query: {
+ /** @description 节点ID */
+ junction: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_demands_to_network: {
+ parameters: {
+ query: {
+ /** @description 总需水量(m³/h) */
+ demand: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ [key: string]: number;
+ };
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_demands_to_nodes: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ [key: string]: number;
+ };
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_demands_to_region: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ [key: string]: number;
+ };
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_district_metering_area_generation_runs: {
+ parameters: {
+ query: {
+ /** @description 分区数量 */
+ part_count: number;
+ /** @description 分区类型 */
+ part_type: number;
+ /** @description 膨胀参数 */
+ inflate_delta: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_district_metering_areas: {
+ parameters: {
+ query?: {
+ limit?: number;
+ offset?: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["Page_dict_str__Any__"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_district_metering_areas: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 201: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ delete_district_metering_areas: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 204: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content?: never;
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_district_metering_areas: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_district_metering_areas_detail: {
+ parameters: {
+ query: {
+ /** @description DMA ID */
+ id: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": Record;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_district_metering_areas_for_network: {
+ parameters: {
+ query?: {
+ limit?: number;
+ offset?: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["Page_list_str__"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_district_metering_areas_for_nodes: {
+ parameters: {
+ query?: {
+ limit?: number;
+ offset?: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["Page_list_str__"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_district_metering_areas_for_region: {
+ parameters: {
+ query?: {
+ limit?: number;
+ offset?: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["Page_list_str__"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_district_metering_areas_ids: {
+ parameters: {
+ query?: {
+ limit?: number;
+ offset?: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["Page_str_"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_element_properties: {
+ parameters: {
+ query: {
+ /** @description 元素ID */
+ element: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": Record;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_element_properties_with_types: {
+ parameters: {
+ query: {
+ /** @description 元素类型 */
+ elementtype: string;
+ /** @description 元素ID */
+ element: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": Record;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_element_type_values: {
+ parameters: {
+ query: {
+ /** @description 元素ID */
+ element: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": number;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_element_types: {
+ parameters: {
+ query: {
+ /** @description 元素ID */
+ element: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": string;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_emitters_properties: {
+ parameters: {
+ query: {
+ /** @description 连接点ID */
+ junction: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": Record;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_emitters_properties: {
+ parameters: {
+ query: {
+ /** @description 连接点ID */
+ junction: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_energy_properties: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_extension_datas: {
+ parameters: {
+ query: {
+ /** @description 扩展数据键 */
+ key: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": string | null;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_extension_datas: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_flushing_analyses: {
+ parameters: {
+ query: {
+ /** @description 冲洗开始时间(ISO 8601格式) */
+ start_time: string;
+ /** @description 要开启的阀门ID列表 */
+ valves: string[];
+ /** @description 对应各阀门的开度列表(0-1) */
+ valves_k: number[];
+ /** @description 排污节点ID */
+ drainage_node_id: string;
+ /** @description 冲洗流量(L/s),0表示自动计算 */
+ flush_flow?: number;
+ /** @description 模拟持续时间(秒),默认900秒 */
+ duration?: number | null;
+ /** @description 冲洗方案名称 */
+ scheme_name: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "text/plain": string;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "text/plain": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "text/plain": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "text/plain": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "text/plain": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "text/plain": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "text/plain": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_geocoding_requests: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody: {
+ content: {
+ "application/json": components["schemas"]["TiandituGeocodeRequest"];
+ };
+ };
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": Record;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_inp_runs: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": string;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_junctions: {
+ parameters: {
+ query?: {
+ limit?: number;
+ offset?: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["Page_dict_str__Any__"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_junctions: {
+ parameters: {
+ query: {
+ /** @description 节点 ID */
+ junction: string;
+ /** @description X 坐标 */
+ x: number;
+ /** @description Y 坐标 */
+ y: number;
+ /** @description 标高(海拔高度) */
+ z: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 201: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ delete_junctions: {
+ parameters: {
+ query: {
+ /** @description 节点 ID */
+ junction: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 204: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content?: never;
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_junctions_coord: {
+ parameters: {
+ query: {
+ /** @description 节点 ID */
+ junction: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ [key: string]: number;
+ };
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_junctions_coord: {
+ parameters: {
+ query: {
+ /** @description 节点 ID */
+ junction: string;
+ /** @description X 坐标值 */
+ x: number;
+ /** @description Y 坐标值 */
+ y: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_junctions_demand: {
+ parameters: {
+ query: {
+ /** @description 节点 ID */
+ junction: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": number;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_junctions_demand: {
+ parameters: {
+ query: {
+ /** @description 节点 ID */
+ junction: string;
+ /** @description 需水量值 */
+ demand: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_junctions_elevation: {
+ parameters: {
+ query: {
+ /** @description 节点 ID */
+ junction: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": number;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_junctions_elevation: {
+ parameters: {
+ query: {
+ /** @description 节点 ID */
+ junction: string;
+ /** @description 标高(海拔高度) */
+ elevation: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_junctions_existence: {
+ parameters: {
+ query: {
+ /** @description 节点ID */
+ node: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": boolean;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_junctions_pattern: {
+ parameters: {
+ query: {
+ /** @description 节点 ID */
+ junction: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": string;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_junctions_pattern: {
+ parameters: {
+ query: {
+ /** @description 节点 ID */
+ junction: string;
+ /** @description 需水模式标识 */
+ pattern: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_junctions_properties: {
+ parameters: {
+ query: {
+ /** @description 节点 ID */
+ junction: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": Record;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_junctions_properties: {
+ parameters: {
+ query: {
+ /** @description 节点 ID */
+ junction: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_junctions_x: {
+ parameters: {
+ query: {
+ /** @description 节点 ID */
+ junction: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": number;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_junctions_x: {
+ parameters: {
+ query: {
+ /** @description 节点 ID */
+ junction: string;
+ /** @description X 坐标值 */
+ x: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_junctions_y: {
+ parameters: {
+ query: {
+ /** @description 节点 ID */
+ junction: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": number;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_junctions_y: {
+ parameters: {
+ query: {
+ /** @description 节点 ID */
+ junction: string;
+ /** @description Y 坐标值 */
+ y: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_labels: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 201: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ delete_labels: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 204: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content?: never;
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_labels_properties: {
+ parameters: {
+ query: {
+ /** @description X坐标 */
+ x: number;
+ /** @description Y坐标 */
+ y: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": Record;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_labels_properties: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_leakage_identifications: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody: {
+ content: {
+ "application/json": components["schemas"]["LeakageIdentifyRequestRest"];
+ };
+ };
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": Record;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_link_properties: {
+ parameters: {
+ query: {
+ /** @description 管线ID */
+ link: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": Record;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_link_types: {
+ parameters: {
+ query: {
+ /** @description 管线ID */
+ link: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": string;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_links: {
+ parameters: {
+ query?: {
+ limit?: number;
+ offset?: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["Page_str_"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ delete_links: {
+ parameters: {
+ query: {
+ /** @description 管线ID */
+ link: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 204: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content?: never;
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_links_existence: {
+ parameters: {
+ query: {
+ /** @description 管线ID */
+ link: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": boolean;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_major_pipe_nodes: {
+ parameters: {
+ query: {
+ /** @description 最小直径(mm) */
+ diameter: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": string[] | null;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_majornode_coords: {
+ parameters: {
+ query: {
+ /** @description 最小直径(mm) */
+ diameter: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ [key: string]: {
+ [key: string]: number;
+ };
+ };
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_mixing_configurations: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 201: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ delete_mixing_configurations: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 204: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content?: never;
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_mixing_configurations: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_mixing_configurations_detail: {
+ parameters: {
+ query: {
+ /** @description 水池ID */
+ tank: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": Record;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_network_command_batches: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_network_command_batches_compressed: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_network_in_extents: {
+ parameters: {
+ query: {
+ /** @description 范围左下角X坐标 */
+ x1: number;
+ /** @description 范围左下角Y坐标 */
+ y1: number;
+ /** @description 范围右上角X坐标 */
+ x2: number;
+ /** @description 范围右上角Y坐标 */
+ y2: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": Record;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_network_link_nodes: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": string[] | null;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_network_options: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": Record;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_network_options: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_network_options_energy: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": Record;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_network_options_pump_energy: {
+ parameters: {
+ query: {
+ /** @description 泵ID */
+ pump: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": Record;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_network_options_pump_energy: {
+ parameters: {
+ query: {
+ /** @description 泵ID */
+ pump: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_network_options_time: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": Record;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_network_pipe_risk_probability_nows: {
+ parameters: {
+ query?: {
+ limit?: number;
+ offset?: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["Page_dict_str__Any__"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_network_schemas_backdrop: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ [key: string]: Record;
+ };
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_network_schemas_control: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ [key: string]: Record;
+ };
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_network_schemas_curve: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ [key: string]: Record;
+ };
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_network_schemas_demand: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ [key: string]: Record;
+ };
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_network_schemas_district_metering_area: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ [key: string]: Record;
+ };
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_network_schemas_emitter: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ [key: string]: Record;
+ };
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_network_schemas_energy: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ [key: string]: Record;
+ };
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_network_schemas_junction: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ [key: string]: Record;
+ };
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_network_schemas_label: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ [key: string]: Record;
+ };
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_network_schemas_mixing: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ [key: string]: Record;
+ };
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_network_schemas_option: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ [key: string]: Record;
+ };
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_network_schemas_pattern: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ [key: string]: Record;
+ };
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_network_schemas_pipe: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ [key: string]: Record;
+ };
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_network_schemas_pipe_reaction: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ [key: string]: Record;
+ };
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_network_schemas_pump: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ [key: string]: Record;
+ };
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_network_schemas_pump_energy: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ [key: string]: Record;
+ };
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_network_schemas_quality: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ [key: string]: Record;
+ };
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_network_schemas_reaction: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ [key: string]: Record;
+ };
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_network_schemas_region: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ [key: string]: Record;
+ };
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_network_schemas_reservoir: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ [key: string]: Record;
+ };
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_network_schemas_scada_device: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ [key: string]: Record;
+ };
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_network_schemas_scada_device_data: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ [key: string]: Record;
+ };
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_network_schemas_scada_element: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ [key: string]: Record;
+ };
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_network_schemas_scheme: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ [key: string]: Record;
+ };
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_network_schemas_service_area: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ [key: string]: Record;
+ };
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_network_schemas_source: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ [key: string]: Record;
+ };
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_network_schemas_tag: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ [key: string]: Record;
+ };
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_network_schemas_tank: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ [key: string]: Record;
+ };
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_network_schemas_tank_reaction: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ [key: string]: Record;
+ };
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_network_schemas_time: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ [key: string]: Record;
+ };
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_network_schemas_user: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ [key: string]: Record;
+ };
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_network_schemas_valve: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ [key: string]: Record;
+ };
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_network_schemas_vertex: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ [key: string]: Record;
+ };
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_network_schemas_virtual_district: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ [key: string]: Record;
+ };
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_node_coords: {
+ parameters: {
+ query: {
+ /** @description 节点ID */
+ node: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ [key: string]: number;
+ } | null;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_node_links: {
+ parameters: {
+ query: {
+ /** @description 节点ID */
+ node: string;
+ limit?: number;
+ offset?: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["Page_str_"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_node_properties: {
+ parameters: {
+ query: {
+ /** @description 节点ID */
+ node: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": Record;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_node_types: {
+ parameters: {
+ query: {
+ /** @description 节点ID */
+ node: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": string;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_nodes: {
+ parameters: {
+ query?: {
+ limit?: number;
+ offset?: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["Page_str_"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ delete_nodes: {
+ parameters: {
+ query: {
+ /** @description 节点ID */
+ node: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 204: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content?: never;
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_nodes_existence: {
+ parameters: {
+ query: {
+ /** @description 节点ID */
+ node: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": boolean;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_operations: {
+ parameters: {
+ query: {
+ /** @description 操作ID */
+ operation: number;
+ /** @description 是否丢弃当前更改 */
+ discard?: boolean;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_outputs: {
+ parameters: {
+ query: {
+ /** @description 模拟输出文件的绝对路径 */
+ output: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": string;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_patterns: {
+ parameters: {
+ query?: {
+ limit?: number;
+ offset?: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["Page_str_"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_patterns: {
+ parameters: {
+ query: {
+ /** @description 模式ID */
+ pattern: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 201: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ delete_patterns: {
+ parameters: {
+ query: {
+ /** @description 模式ID */
+ pattern: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 204: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content?: never;
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_patterns_existence: {
+ parameters: {
+ query: {
+ /** @description 模式ID */
+ pattern: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": boolean;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_patterns_properties: {
+ parameters: {
+ query: {
+ /** @description 模式ID */
+ pattern: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": Record;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_patterns_properties: {
+ parameters: {
+ query: {
+ /** @description 模式ID */
+ pattern: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_pipe_reactions: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_pipe_reactions_detail: {
+ parameters: {
+ query: {
+ /** @description 管道ID */
+ pipe: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": Record;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_pipeline_health_predictions: {
+ parameters: {
+ query: {
+ /** @description 查询时间 */
+ query_time: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_pipes: {
+ parameters: {
+ query?: {
+ limit?: number;
+ offset?: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["Page_dict_str__Any__"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_pipes: {
+ parameters: {
+ query: {
+ /** @description 管道标识符 */
+ pipe: string;
+ /** @description 管道起始节点ID */
+ node1: string;
+ /** @description 管道终止节点ID */
+ node2: string;
+ /** @description 管道长度(单位:米) */
+ length?: number;
+ /** @description 管道管径(单位:毫米) */
+ diameter?: number;
+ /** @description 管道粗糙度 */
+ roughness?: number;
+ /** @description 管道局部阻力系数 */
+ minor_loss?: number;
+ /** @description 管道状态(开启/关闭) */
+ status?: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 201: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ delete_pipes: {
+ parameters: {
+ query: {
+ /** @description 要删除的管道ID */
+ pipe: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 204: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content?: never;
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_pipes_risk_probabilities: {
+ parameters: {
+ query: {
+ /** @description 逗号分隔的管道ID列表 */
+ pipe_ids: string;
+ limit?: number;
+ offset?: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["Page_dict_str__Any__"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_pipes_diameter: {
+ parameters: {
+ query: {
+ /** @description 管道ID */
+ pipe: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": number | null;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_pipes_diameter: {
+ parameters: {
+ query: {
+ /** @description 管道ID */
+ pipe: string;
+ /** @description 新的管道管径(单位:毫米) */
+ diameter: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_pipes_existence: {
+ parameters: {
+ query: {
+ /** @description 管线ID */
+ link: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": boolean;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_pipes_length: {
+ parameters: {
+ query: {
+ /** @description 管道ID */
+ pipe: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": number | null;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_pipes_length: {
+ parameters: {
+ query: {
+ /** @description 管道ID */
+ pipe: string;
+ /** @description 新的管道长度(单位:米) */
+ length: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_pipes_minor_loss: {
+ parameters: {
+ query: {
+ /** @description 管道ID */
+ pipe: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": number | null;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_pipes_minor_loss: {
+ parameters: {
+ query: {
+ /** @description 管道ID */
+ pipe: string;
+ /** @description 新的局部阻力系数值 */
+ minor_loss: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_pipes_node1: {
+ parameters: {
+ query: {
+ /** @description 管道ID */
+ pipe: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": string | null;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_pipes_node1: {
+ parameters: {
+ query: {
+ /** @description 管道ID */
+ pipe: string;
+ /** @description 新的起始节点ID */
+ node1: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_pipes_node2: {
+ parameters: {
+ query: {
+ /** @description 管道ID */
+ pipe: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": string | null;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_pipes_node2: {
+ parameters: {
+ query: {
+ /** @description 管道ID */
+ pipe: string;
+ /** @description 新的终止节点ID */
+ node2: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_pipes_properties: {
+ parameters: {
+ query: {
+ /** @description 管道ID */
+ pipe: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": Record;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_pipes_properties: {
+ parameters: {
+ query: {
+ /** @description 管道ID */
+ pipe: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_pipes_risk_probability: {
+ parameters: {
+ query: {
+ /** @description 管道ID */
+ pipe_id: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": Record;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_pipes_risk_probability_geometries: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": Record;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_pipes_risk_probability_now: {
+ parameters: {
+ query: {
+ /** @description 管道ID */
+ pipe_id: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": Record;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_pipes_roughness: {
+ parameters: {
+ query: {
+ /** @description 管道ID */
+ pipe: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": number | null;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_pipes_roughness: {
+ parameters: {
+ query: {
+ /** @description 管道ID */
+ pipe: string;
+ /** @description 新的管道粗糙度值 */
+ roughness: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_pipes_status: {
+ parameters: {
+ query: {
+ /** @description 管道ID */
+ pipe: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": string | null;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_pipes_status: {
+ parameters: {
+ query: {
+ /** @description 管道ID */
+ pipe: string;
+ /** @description 新的管道状态(开启/关闭) */
+ status: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_pressure_regulation_analyses: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody: {
+ content: {
+ "application/json": components["schemas"]["PressureRegulationRest"];
+ };
+ };
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": string;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_pressure_regulation_calculations: {
+ parameters: {
+ query: {
+ /** @description 目标节点ID */
+ target_node: string;
+ /** @description 目标压力值(kPa) */
+ target_pressure: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_pressure_sensor_placement_kmeans: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody: {
+ content: {
+ "application/json": components["schemas"]["PressureSensorPlacement"];
+ };
+ };
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_pressure_sensor_placement_kmeans_calculations: {
+ parameters: {
+ query: {
+ /** @description 放置方案名称 */
+ scheme_name: string;
+ /** @description 传感器数量 */
+ sensor_number: number;
+ /** @description 最小管径限制(毫米) */
+ min_diameter: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_pressure_sensor_placement_sensitivities: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody: {
+ content: {
+ "application/json": components["schemas"]["PressureSensorPlacement"];
+ };
+ };
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_pressure_sensor_placement_sensitivity_calculations: {
+ parameters: {
+ query: {
+ /** @description 放置方案名称 */
+ scheme_name: string;
+ /** @description 传感器数量 */
+ sensor_number: number;
+ /** @description 最小管径限制(毫米) */
+ min_diameter: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_project_codes: {
+ parameters: {
+ query?: {
+ limit?: number;
+ offset?: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["Page_str_"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_project_conversions: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_project_copies: {
+ parameters: {
+ query: {
+ /** @description 管网名称(或数据库名称) */
+ source: string;
+ /** @description 管网名称(或数据库名称) */
+ target: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 201: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_project_managements: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody: {
+ content: {
+ "application/json": components["schemas"]["ProjectManagementRest"];
+ };
+ };
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": string;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_project_return_dict_runs: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": Record;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_project_runs: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "text/plain": string;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "text/plain": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "text/plain": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "text/plain": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "text/plain": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "text/plain": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "text/plain": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_projects: {
+ parameters: {
+ query?: {
+ limit?: number;
+ offset?: number;
+ };
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["Page_ProjectSummaryResponse_"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_projects: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 201: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ delete_projects: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 204: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content?: never;
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_projects_current: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProjectMetaResponse"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_projects_current: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ delete_projects_current: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 204: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content?: never;
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_projects_current_database_health: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_projects_current_exports_change_set: {
+ parameters: {
+ query: {
+ /** @description 版本号 (通常用于增量更新) */
+ version: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_projects_current_exports_inp: {
+ parameters: {
+ query: {
+ /** @description 目标文件名 */
+ inp: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": boolean;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_projects_current_files_inp: {
+ parameters: {
+ query: {
+ /** @description 文件名 */
+ name: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_projects_current_imports: {
+ parameters: {
+ query: {
+ /** @description INP 文件名 (不包含路径) */
+ inp: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": boolean;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_projects_current_lock: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_projects_current_lock: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ delete_projects_current_lock: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 204: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content?: never;
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_projects_current_lock_ownership: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_projects_current_metadata: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProjectMetaResponse"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_projects_current_status: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_projects_existence: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_pump_failure_events: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody: {
+ content: {
+ "application/json": components["schemas"]["PumpFailureState"];
+ };
+ };
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": string;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_pumps: {
+ parameters: {
+ query?: {
+ limit?: number;
+ offset?: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["Page_dict_str__Any__"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_pumps: {
+ parameters: {
+ query: {
+ /** @description 水泵标识符 */
+ pump: string;
+ /** @description 水泵起始节点ID */
+ node1: string;
+ /** @description 水泵终止节点ID */
+ node2: string;
+ /** @description 水泵功率(单位:千瓦) */
+ power?: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 201: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ delete_pumps: {
+ parameters: {
+ query: {
+ /** @description 要删除的水泵ID */
+ pump: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 204: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content?: never;
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_pumps_existence: {
+ parameters: {
+ query: {
+ /** @description 管线ID */
+ link: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": boolean;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_pumps_node1: {
+ parameters: {
+ query: {
+ /** @description 水泵ID */
+ pump: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": string | null;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_pumps_node1: {
+ parameters: {
+ query: {
+ /** @description 水泵ID */
+ pump: string;
+ /** @description 新的起始节点ID */
+ node1: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_pumps_node2: {
+ parameters: {
+ query: {
+ /** @description 水泵ID */
+ pump: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": string | null;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_pumps_node2: {
+ parameters: {
+ query: {
+ /** @description 水泵ID */
+ pump: string;
+ /** @description 新的终止节点ID */
+ node2: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_pumps_properties: {
+ parameters: {
+ query: {
+ /** @description 水泵ID */
+ pump: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": Record;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_pumps_properties: {
+ parameters: {
+ query: {
+ /** @description 水泵ID */
+ pump: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_quality_configurations_properties: {
+ parameters: {
+ query: {
+ /** @description 节点ID */
+ node: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": Record;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_quality_configurations_properties: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_reactions: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_reactions_detail: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": Record;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_redis: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ delete_redis_keys: {
+ parameters: {
+ query: {
+ /** @description 缓存键模式(支持通配符) */
+ keys: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 204: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content?: never;
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ delete_redis_keys_detail: {
+ parameters: {
+ query: {
+ /** @description 缓存键名 */
+ key: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 204: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content?: never;
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_redos: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_regions: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 201: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ delete_regions: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 204: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content?: never;
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_regions: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_regions_detail: {
+ parameters: {
+ query: {
+ /** @description 区域ID */
+ id: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": Record;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_reservoirs: {
+ parameters: {
+ query?: {
+ limit?: number;
+ offset?: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["Page_dict_str__Any__"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_reservoirs: {
+ parameters: {
+ query: {
+ /** @description 水库的唯一标识符 */
+ reservoir: string;
+ /** @description 水库的X坐标 */
+ x: number;
+ /** @description 水库的Y坐标 */
+ y: number;
+ /** @description 水库的水头/总水头(米) */
+ head: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 201: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ delete_reservoirs: {
+ parameters: {
+ query: {
+ /** @description 要删除的水库的唯一标识符 */
+ reservoir: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 204: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content?: never;
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_reservoirs_coord: {
+ parameters: {
+ query: {
+ /** @description 水库的唯一标识符 */
+ reservoir: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ [key: string]: number;
+ } | null;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_reservoirs_coord: {
+ parameters: {
+ query: {
+ /** @description 水库的唯一标识符 */
+ reservoir: string;
+ /** @description 新的X坐标值 */
+ x: number;
+ /** @description 新的Y坐标值 */
+ y: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_reservoirs_existence: {
+ parameters: {
+ query: {
+ /** @description 节点ID */
+ node: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": boolean;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_reservoirs_head: {
+ parameters: {
+ query: {
+ /** @description 水库的唯一标识符 */
+ reservoir: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": number | null;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_reservoirs_head: {
+ parameters: {
+ query: {
+ /** @description 水库的唯一标识符 */
+ reservoir: string;
+ /** @description 新的水头值(米) */
+ head: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_reservoirs_pattern: {
+ parameters: {
+ query: {
+ /** @description 水库的唯一标识符 */
+ reservoir: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": string | null;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_reservoirs_pattern: {
+ parameters: {
+ query: {
+ /** @description 水库的唯一标识符 */
+ reservoir: string;
+ /** @description 新的运行模式 */
+ pattern: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_reservoirs_properties: {
+ parameters: {
+ query: {
+ /** @description 水库的唯一标识符 */
+ reservoir: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": Record;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_reservoirs_properties: {
+ parameters: {
+ query: {
+ /** @description 水库的唯一标识符 */
+ reservoir: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_reservoirs_x: {
+ parameters: {
+ query: {
+ /** @description 水库的唯一标识符 */
+ reservoir: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ [key: string]: number;
+ } | null;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_reservoirs_x: {
+ parameters: {
+ query: {
+ /** @description 水库的唯一标识符 */
+ reservoir: string;
+ /** @description 新的X坐标值 */
+ x: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_reservoirs_y: {
+ parameters: {
+ query: {
+ /** @description 水库的唯一标识符 */
+ reservoir: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ [key: string]: number;
+ } | null;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_reservoirs_y: {
+ parameters: {
+ query: {
+ /** @description 水库的唯一标识符 */
+ reservoir: string;
+ /** @description 新的Y坐标值 */
+ y: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_restore_operations: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": number;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_restore_operations: {
+ parameters: {
+ query: {
+ /** @description 操作ID */
+ operation: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_rule_properties: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": Record;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_rule_properties: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_rule_schemas: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ [key: string]: Record;
+ };
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_scada_device_cleaning_runs: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_scada_device_data_cleaning_runs: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_scada_device_datas: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 201: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ delete_scada_device_datas: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 204: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content?: never;
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_scada_device_datas: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_scada_device_datas_detail: {
+ parameters: {
+ query: {
+ /** @description SCADA设备ID */
+ device_id: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": Record;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_scada_devices: {
+ parameters: {
+ query?: {
+ limit?: number;
+ offset?: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["Page_dict_str__Any__"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_scada_devices: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 201: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ delete_scada_devices: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 204: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content?: never;
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_scada_devices: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_scada_devices_detail: {
+ parameters: {
+ query: {
+ /** @description SCADA设备ID */
+ id: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": Record;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_scada_devices_ids: {
+ parameters: {
+ query?: {
+ limit?: number;
+ offset?: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["Page_str_"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_scada_element_cleaning_runs: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_scada_elements: {
+ parameters: {
+ query?: {
+ limit?: number;
+ offset?: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["Page_dict_str__Any__"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_scada_elements: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 201: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ delete_scada_elements: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 204: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content?: never;
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_scada_elements: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_scada_elements_detail: {
+ parameters: {
+ query: {
+ /** @description SCADA元素映射ID */
+ id: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": Record;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_scada_info: {
+ parameters: {
+ query?: {
+ limit?: number;
+ offset?: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["Page_dict_str__Any__"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_scada_info_schemas: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ [key: string]: Record;
+ };
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_scada_info_database_view: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_scada_info_detail: {
+ parameters: {
+ query: {
+ /** @description SCADA信息ID */
+ id: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": Record;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_scada_properties: {
+ parameters: {
+ query: {
+ /** @description SCADA点ID */
+ scada: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": Record;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_scheduling_analyses: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody: {
+ content: {
+ "application/json": components["schemas"]["SchedulingAnalysisRest"];
+ };
+ };
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": string;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_schemes: {
+ parameters: {
+ query?: {
+ /** @description 方案类型;为空时返回全部类型 */
+ scheme_type?: string | null;
+ /** @description 查询日期(可选) */
+ query_date?: string | null;
+ limit?: number;
+ offset?: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["Page_dict_Any__Any__"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_schemes_detail: {
+ parameters: {
+ query: {
+ /** @description 方案名称 */
+ schema_name: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": Record;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_schemes_list_with_connection: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_schemes_scheme_name: {
+ parameters: {
+ query?: {
+ /** @description 方案类型;为空时返回通用方案详情 */
+ scheme_type?: string | null;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path: {
+ /** @description 方案名称 */
+ scheme_name: string;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": Record;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_sensor_placement_optimization_runs: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody: {
+ content: {
+ "application/json": components["schemas"]["SensorPlacementOptimizeRequestRest"];
+ };
+ };
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["SensorPlacementSchemeResponse"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_sensor_placement_schemes: {
+ parameters: {
+ query?: {
+ limit?: number;
+ offset?: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["Page_dict_Any__Any__"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_sensor_placement_schemes: {
+ parameters: {
+ query: {
+ /** @description 放置方案名称 */
+ scheme_name: string;
+ /** @description 传感器类型 */
+ sensor_type: string;
+ /** @description 放置方法('sensitivity'或'kmeans') */
+ method: string;
+ /** @description 传感器数量 */
+ sensor_count: number;
+ /** @description 最小管径限制(毫米),默认0 */
+ min_diameter?: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 201: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": string;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_sensor_placement_schemes_scheme_id: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path: {
+ scheme_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["SensorPlacementSchemeResponse"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ put_sensor_placement_schemes_scheme_id: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path: {
+ scheme_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody: {
+ content: {
+ "application/json": components["schemas"]["SensorPlacementUpdateRequest"];
+ };
+ };
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["SensorPlacementSchemeResponse"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_sensor_placement_schemes_scheme_id_exports_excel: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path: {
+ scheme_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody: {
+ content: {
+ "application/json": components["schemas"]["SensorPlacementExportRequest"];
+ };
+ };
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_service_area_calculations: {
+ parameters: {
+ query?: {
+ limit?: number;
+ offset?: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["Page_dict_str__list_str___"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_service_area_generation_runs: {
+ parameters: {
+ query: {
+ /** @description 膨胀参数 */
+ inflate_delta: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_service_areas: {
+ parameters: {
+ query?: {
+ limit?: number;
+ offset?: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["Page_dict_str__Any__"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_service_areas: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 201: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ delete_service_areas: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 204: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content?: never;
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_service_areas: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_service_areas_detail: {
+ parameters: {
+ query: {
+ /** @description 服务区ID */
+ id: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": Record;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_simulation_runs: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody: {
+ content: {
+ "application/json": components["schemas"]["RunSimulationManuallyByDateRest"];
+ };
+ };
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ [key: string]: string;
+ };
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_snapshot_for_current_operations: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": boolean;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_snapshot_for_current_operations: {
+ parameters: {
+ query: {
+ /** @description 快照标签 */
+ tag: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 201: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_snapshot_for_operations: {
+ parameters: {
+ query: {
+ /** @description 操作ID */
+ operation: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": boolean;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_snapshot_for_operations: {
+ parameters: {
+ query: {
+ /** @description 操作ID */
+ operation: number;
+ /** @description 快照标签 */
+ tag: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 201: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_snapshots: {
+ parameters: {
+ query?: {
+ limit?: number;
+ offset?: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["Page_tuple_int__str__"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_snapshots: {
+ parameters: {
+ query: {
+ /** @description 快照标签 */
+ tag: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 201: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_snapshots: {
+ parameters: {
+ query: {
+ /** @description 快照标签 */
+ tag: string;
+ /** @description 是否丢弃当前更改 */
+ discard?: boolean;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_snapshots_existence: {
+ parameters: {
+ query: {
+ /** @description 快照标签 */
+ tag: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": boolean;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_sources: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 201: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ delete_sources: {
+ parameters: {
+ query: {
+ /** @description 节点ID */
+ node: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 204: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content?: never;
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_sources: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_sources_detail: {
+ parameters: {
+ query: {
+ /** @description 节点ID */
+ node: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": Record;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_status: {
+ parameters: {
+ query: {
+ /** @description 管线ID */
+ link: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": Record;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_status_properties: {
+ parameters: {
+ query: {
+ /** @description 管线ID */
+ link: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_status_schemas: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ [key: string]: Record;
+ };
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_sub_district_metering_areas: {
+ parameters: {
+ query: {
+ /** @description DMA ID */
+ dma: string;
+ /** @description 分区数量 */
+ part_count: number;
+ /** @description 分区类型 */
+ part_type: number;
+ /** @description 膨胀参数 */
+ inflate_delta: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_tags: {
+ parameters: {
+ query?: {
+ limit?: number;
+ offset?: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["Page_dict_str__Any__"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_tags: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_tags_detail: {
+ parameters: {
+ query: {
+ /** @description 标签类型 */
+ t_type: string;
+ /** @description 元素ID */
+ id: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": Record;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_tank_reactions: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_tank_reactions_detail: {
+ parameters: {
+ query: {
+ /** @description 水池ID */
+ tank: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": Record;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_tanks: {
+ parameters: {
+ query?: {
+ limit?: number;
+ offset?: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["Page_dict_str__Any__"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_tanks: {
+ parameters: {
+ query: {
+ /** @description 水箱ID */
+ tank: string;
+ /** @description X坐标 */
+ x: number;
+ /** @description Y坐标 */
+ y: number;
+ /** @description 标高 */
+ elevation: number;
+ /** @description 初始水位 */
+ init_level?: number;
+ /** @description 最小水位 */
+ min_level?: number;
+ /** @description 最大水位 */
+ max_level?: number;
+ /** @description 直径 */
+ diameter?: number;
+ /** @description 最小体积 */
+ min_vol?: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 201: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ delete_tanks: {
+ parameters: {
+ query: {
+ /** @description 水箱ID */
+ tank: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 204: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content?: never;
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_tanks_coord: {
+ parameters: {
+ query: {
+ /** @description 水箱ID */
+ tank: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ [key: string]: number;
+ };
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_tanks_coord: {
+ parameters: {
+ query: {
+ /** @description 水箱ID */
+ tank: string;
+ /** @description 新的X坐标值 */
+ x: number;
+ /** @description 新的Y坐标值 */
+ y: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_tanks_diameter: {
+ parameters: {
+ query: {
+ /** @description 水箱ID */
+ tank: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": number | null;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_tanks_diameter: {
+ parameters: {
+ query: {
+ /** @description 水箱ID */
+ tank: string;
+ /** @description 新的直径值 */
+ diameter: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_tanks_elevation: {
+ parameters: {
+ query: {
+ /** @description 水箱ID */
+ tank: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": number | null;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_tanks_elevation: {
+ parameters: {
+ query: {
+ /** @description 水箱ID */
+ tank: string;
+ /** @description 新的标高值 */
+ elevation: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_tanks_existence: {
+ parameters: {
+ query: {
+ /** @description 节点ID */
+ node: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": boolean;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_tanks_init_level: {
+ parameters: {
+ query: {
+ /** @description 水箱ID */
+ tank: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": number | null;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_tanks_init_level: {
+ parameters: {
+ query: {
+ /** @description 水箱ID */
+ tank: string;
+ /** @description 新的初始水位值 */
+ init_level: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_tanks_max_level: {
+ parameters: {
+ query: {
+ /** @description 水箱ID */
+ tank: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": number | null;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_tanks_max_level: {
+ parameters: {
+ query: {
+ /** @description 水箱ID */
+ tank: string;
+ /** @description 新的最大水位值 */
+ max_level: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_tanks_min_level: {
+ parameters: {
+ query: {
+ /** @description 水箱ID */
+ tank: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": number | null;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_tanks_min_level: {
+ parameters: {
+ query: {
+ /** @description 水箱ID */
+ tank: string;
+ /** @description 新的最小水位值 */
+ min_level: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_tanks_min_vol: {
+ parameters: {
+ query: {
+ /** @description 水箱ID */
+ tank: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": number | null;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_tanks_min_vol: {
+ parameters: {
+ query: {
+ /** @description 水箱ID */
+ tank: string;
+ /** @description 新的最小体积值 */
+ min_vol: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_tanks_overflow: {
+ parameters: {
+ query: {
+ /** @description 水箱ID */
+ tank: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": string | null;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_tanks_overflow: {
+ parameters: {
+ query: {
+ /** @description 水箱ID */
+ tank: string;
+ /** @description 新的溢流口配置 */
+ overflow: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_tanks_properties: {
+ parameters: {
+ query: {
+ /** @description 水箱ID */
+ tank: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": Record;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_tanks_properties: {
+ parameters: {
+ query: {
+ /** @description 水箱ID */
+ tank: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_tanks_vol_curve: {
+ parameters: {
+ query: {
+ /** @description 水箱ID */
+ tank: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": string | null;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_tanks_vol_curve: {
+ parameters: {
+ query: {
+ /** @description 水箱ID */
+ tank: string;
+ /** @description 新的容积曲线标识 */
+ vol_curve: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_tanks_x: {
+ parameters: {
+ query: {
+ /** @description 水箱ID */
+ tank: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": number;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_tanks_x: {
+ parameters: {
+ query: {
+ /** @description 水箱ID */
+ tank: string;
+ /** @description 新的X坐标值 */
+ x: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_tanks_y: {
+ parameters: {
+ query: {
+ /** @description 水箱ID */
+ tank: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": number;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_tanks_y: {
+ parameters: {
+ query: {
+ /** @description 水箱ID */
+ tank: string;
+ /** @description 新的Y坐标值 */
+ y: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_time_properties: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_timeseries_realtime_links: {
+ parameters: {
+ query: {
+ /** @description 时间范围开始时间。ISO 8601 / RFC 3339 时间,必须显式带时区;可直接传 UTC+8,服务端会先转换为 UTC 再处理。 */
+ start_time: string;
+ /** @description 时间范围结束时间。ISO 8601 / RFC 3339 时间,必须显式带时区;可直接传 UTC+8,服务端会先转换为 UTC 再处理。 */
+ end_time: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ delete_timeseries_realtime_links: {
+ parameters: {
+ query: {
+ /** @description 时间范围开始时间。ISO 8601 / RFC 3339 时间,必须显式带时区;可直接传 UTC+8,服务端会先转换为 UTC 再处理。 */
+ start_time: string;
+ /** @description 时间范围结束时间。ISO 8601 / RFC 3339 时间,必须显式带时区;可直接传 UTC+8,服务端会先转换为 UTC 再处理。 */
+ end_time: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 204: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content?: never;
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_timeseries_realtime_links_batches: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody: {
+ content: {
+ "application/json": Record[];
+ };
+ };
+ responses: {
+ /** @description Successful Response */
+ 201: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_timeseries_realtime_links_link_id_field: {
+ parameters: {
+ query: {
+ /** @description 要更新记录的时间戳。ISO 8601 / RFC 3339 时间,必须显式带时区;可直接传 UTC+8,服务端会先转换为 UTC 再处理。 */
+ time: string;
+ /** @description 要更新的字段名称 */
+ field: string;
+ /** @description 更新的字段值 */
+ value: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path: {
+ /** @description 管道ID */
+ link_id: string;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_timeseries_realtime_nodes: {
+ parameters: {
+ query: {
+ /** @description 时间范围开始时间。ISO 8601 / RFC 3339 时间,必须显式带时区;可直接传 UTC+8,服务端会先转换为 UTC 再处理。 */
+ start_time: string;
+ /** @description 时间范围结束时间。ISO 8601 / RFC 3339 时间,必须显式带时区;可直接传 UTC+8,服务端会先转换为 UTC 再处理。 */
+ end_time: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ delete_timeseries_realtime_nodes: {
+ parameters: {
+ query: {
+ /** @description 时间范围开始时间。ISO 8601 / RFC 3339 时间,必须显式带时区;可直接传 UTC+8,服务端会先转换为 UTC 再处理。 */
+ start_time: string;
+ /** @description 时间范围结束时间。ISO 8601 / RFC 3339 时间,必须显式带时区;可直接传 UTC+8,服务端会先转换为 UTC 再处理。 */
+ end_time: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 204: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content?: never;
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_timeseries_realtime_nodes_batches: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody: {
+ content: {
+ "application/json": Record[];
+ };
+ };
+ responses: {
+ /** @description Successful Response */
+ 201: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_timeseries_realtime_records: {
+ parameters: {
+ query: {
+ /** @description 查询时间。ISO 8601 / RFC 3339 时间,必须显式带时区;可直接传 UTC+8,服务端会先转换为 UTC 再处理。 */
+ query_time: string;
+ /** @description 数据类型,pipe(管道)或 junction(节点) */
+ type: string;
+ /** @description 要查询的属性名称 */
+ property: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_timeseries_realtime_simulation_results: {
+ parameters: {
+ query: {
+ /** @description 元素ID(管道ID或节点ID) */
+ id: string;
+ /** @description 元素类型,pipe(管道)或 junction(节点) */
+ type: string;
+ /** @description 查询时间。ISO 8601 / RFC 3339 时间,必须显式带时区;可直接传 UTC+8,服务端会先转换为 UTC 再处理。 */
+ query_time: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_timeseries_realtime_simulation_results: {
+ parameters: {
+ query: {
+ /** @description 模拟结果开始时间。ISO 8601 / RFC 3339 时间,必须显式带时区;可直接传 UTC+8,服务端会先转换为 UTC 再处理。 */
+ result_start_time: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody: {
+ content: {
+ "application/json": components["schemas"]["Body_post_timeseries_realtime_simulation_results"];
+ };
+ };
+ responses: {
+ /** @description Successful Response */
+ 201: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_timeseries_scada_cleaning_runs: {
+ parameters: {
+ query: {
+ /** @description 设备ID列表或 'all' 表示清洗所有设备 */
+ device_ids: string;
+ /** @description 清洗数据的开始时间 */
+ start_time: string;
+ /** @description 清洗数据的结束时间 */
+ end_time: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_timeseries_scada_readings: {
+ parameters: {
+ query: {
+ /** @description 查询开始时间 */
+ start_time: string;
+ /** @description 查询结束时间 */
+ end_time: string;
+ /** @description 设备ID列表,逗号分隔,如 'device1,device2,device3' */
+ device_ids: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ delete_timeseries_scada_readings: {
+ parameters: {
+ query: {
+ /** @description 设备ID */
+ device_id: string;
+ /** @description 删除开始时间 */
+ start_time: string;
+ /** @description 删除结束时间 */
+ end_time: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 204: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content?: never;
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_timeseries_scada_readings_batches: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody: {
+ content: {
+ "application/json": Record[];
+ };
+ };
+ responses: {
+ /** @description Successful Response */
+ 201: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_timeseries_scada_readings_fields: {
+ parameters: {
+ query: {
+ /** @description 查询开始时间 */
+ start_time: string;
+ /** @description 查询结束时间 */
+ end_time: string;
+ /** @description 要查询的字段名称 */
+ field: string;
+ /** @description 设备ID列表,逗号分隔,如 'device1,device2,device3' */
+ device_ids: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_timeseries_scada_readings_device_id_field: {
+ parameters: {
+ query: {
+ /** @description 更新数据的时间戳 */
+ time: string;
+ /** @description 要更新的字段名称 */
+ field: string;
+ /** @description 更新的字段值 */
+ value: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path: {
+ /** @description 设备ID */
+ device_id: string;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_timeseries_schemes_links: {
+ parameters: {
+ query: {
+ /** @description 方案类型 */
+ scheme_type: string;
+ /** @description 方案名称 */
+ scheme_name: string;
+ /** @description 查询开始时间 */
+ start_time: string;
+ /** @description 查询结束时间 */
+ end_time: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ delete_timeseries_schemes_links: {
+ parameters: {
+ query: {
+ /** @description 方案类型 */
+ scheme_type: string;
+ /** @description 方案名称 */
+ scheme_name: string;
+ /** @description 删除开始时间 */
+ start_time: string;
+ /** @description 删除结束时间 */
+ end_time: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 204: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content?: never;
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_timeseries_schemes_links_batches: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody: {
+ content: {
+ "application/json": Record[];
+ };
+ };
+ responses: {
+ /** @description Successful Response */
+ 201: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_timeseries_schemes_links_link_id_field: {
+ parameters: {
+ query: {
+ /** @description 方案类型 */
+ scheme_type: string;
+ /** @description 方案名称 */
+ scheme_name: string;
+ /** @description 查询开始时间 */
+ start_time: string;
+ /** @description 查询结束时间 */
+ end_time: string;
+ /** @description 要查询的字段名称 */
+ field: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path: {
+ /** @description 管道ID */
+ link_id: string;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_timeseries_schemes_links_link_id_field: {
+ parameters: {
+ query: {
+ /** @description 方案类型 */
+ scheme_type: string;
+ /** @description 方案名称 */
+ scheme_name: string;
+ /** @description 更新数据的时间戳 */
+ time: string;
+ /** @description 要更新的字段名称 */
+ field: string;
+ /** @description 更新的字段值 */
+ value: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path: {
+ /** @description 管道ID */
+ link_id: string;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ delete_timeseries_schemes_nodes: {
+ parameters: {
+ query: {
+ /** @description 方案类型 */
+ scheme_type: string;
+ /** @description 方案名称 */
+ scheme_name: string;
+ /** @description 删除开始时间 */
+ start_time: string;
+ /** @description 删除结束时间 */
+ end_time: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 204: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content?: never;
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_timeseries_schemes_nodes_batches: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody: {
+ content: {
+ "application/json": Record[];
+ };
+ };
+ responses: {
+ /** @description Successful Response */
+ 201: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_timeseries_schemes_nodes_node_id_field: {
+ parameters: {
+ query: {
+ /** @description 方案类型 */
+ scheme_type: string;
+ /** @description 方案名称 */
+ scheme_name: string;
+ /** @description 查询开始时间 */
+ start_time: string;
+ /** @description 查询结束时间 */
+ end_time: string;
+ /** @description 要查询的字段名称 */
+ field: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path: {
+ /** @description 节点ID */
+ node_id: string;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_timeseries_schemes_nodes_node_id_field: {
+ parameters: {
+ query: {
+ /** @description 方案类型 */
+ scheme_type: string;
+ /** @description 方案名称 */
+ scheme_name: string;
+ /** @description 更新数据的时间戳 */
+ time: string;
+ /** @description 要更新的字段名称 */
+ field: string;
+ /** @description 更新的字段值 */
+ value: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path: {
+ /** @description 节点ID */
+ node_id: string;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_timeseries_schemes_records: {
+ parameters: {
+ query: {
+ /** @description 方案类型 */
+ scheme_type: string;
+ /** @description 方案名称 */
+ scheme_name: string;
+ /** @description 查询时间 */
+ query_time: string;
+ /** @description 元素类型,pipe(管道)或 junction(节点) */
+ type: string;
+ /** @description 要查询的属性名称 */
+ property: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_timeseries_schemes_simulation_results: {
+ parameters: {
+ query: {
+ /** @description 方案类型 */
+ scheme_type: string;
+ /** @description 方案名称 */
+ scheme_name: string;
+ /** @description 元素ID(管道ID或节点ID) */
+ id: string;
+ /** @description 元素类型,pipe(管道)或 junction(节点) */
+ type: string;
+ /** @description 查询时间 */
+ query_time: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_timeseries_schemes_simulation_results: {
+ parameters: {
+ query: {
+ /** @description 方案类型 */
+ scheme_type: string;
+ /** @description 方案名称 */
+ scheme_name: string;
+ /** @description 模拟结果开始时间 */
+ result_start_time: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody: {
+ content: {
+ "application/json": components["schemas"]["Body_post_timeseries_schemes_simulation_results"];
+ };
+ };
+ responses: {
+ /** @description Successful Response */
+ 201: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_timeseries_views_element_scada_readings: {
+ parameters: {
+ query: {
+ /** @description 管网元素ID(管道或节点) */
+ element_id: string;
+ /** @description 查询开始时间 */
+ start_time: string;
+ /** @description 查询结束时间 */
+ end_time: string;
+ /** @description 是否使用清洗后的数据 */
+ use_cleaned?: boolean;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_timeseries_views_element_simulations: {
+ parameters: {
+ query: {
+ /** @description 查询开始时间 */
+ start_time: string;
+ /** @description 查询结束时间 */
+ end_time: string;
+ /** @description 特征信息,格式: id1:type1,id2:type2,type为pipe(管道)或junction(节点) */
+ feature_infos: string;
+ /** @description 方案类型,若为空则查询实时数据 */
+ scheme_type?: string;
+ /** @description 方案名称,若为空则查询实时数据 */
+ scheme_name?: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_timeseries_views_scada_simulations: {
+ parameters: {
+ query: {
+ /** @description 查询开始时间 */
+ start_time: string;
+ /** @description 查询结束时间 */
+ end_time: string;
+ /** @description SCADA设备ID列表,逗号分隔 */
+ device_ids: string;
+ /** @description 方案类型,若为空则查询实时数据 */
+ scheme_type?: string;
+ /** @description 方案名称,若为空则查询实时数据 */
+ scheme_name?: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_title_schemas: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ [key: string]: Record;
+ };
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_titles: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": Record;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_titles: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_undos: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_users: {
+ parameters: {
+ query?: {
+ limit?: number;
+ offset?: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["Page_dict_Any__Any__"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_users_detail: {
+ parameters: {
+ query: {
+ /** @description 用户名 */
+ user_name: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": Record;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_valve_closure_analyses: {
+ parameters: {
+ query: {
+ /** @description 阀门关闭开始时间(ISO 8601格式) */
+ start_time: string;
+ /** @description 要关闭的阀门ID列表 */
+ valves: string[];
+ /** @description 模拟持续时间(秒),默认900秒 */
+ duration?: number | null;
+ /** @description 阀门关闭方案名称 */
+ scheme_name: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "text/plain": string;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "text/plain": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "text/plain": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "text/plain": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "text/plain": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "text/plain": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "text/plain": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_valve_isolation_analyses: {
+ parameters: {
+ query: {
+ /** @description 发生事故的管段/节点ID列表 */
+ accident_element: string[];
+ /** @description 已故障的阀门ID列表(可选) */
+ disabled_valves?: string[];
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_valves: {
+ parameters: {
+ query?: {
+ limit?: number;
+ offset?: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["Page_dict_str__Any__"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_valves: {
+ parameters: {
+ query: {
+ /** @description 阀门ID */
+ valve: string;
+ /** @description 起点节点ID */
+ node1: string;
+ /** @description 终点节点ID */
+ node2: string;
+ /** @description 阀门直径(mm) */
+ diameter?: number;
+ /** @description 阀门类型 */
+ v_type?: string;
+ /** @description 阀门开度/设置值 */
+ setting?: number;
+ /** @description 损失系数 */
+ minor_loss?: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 201: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ delete_valves: {
+ parameters: {
+ query: {
+ /** @description 阀门ID */
+ valve: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 204: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content?: never;
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_valves_diameter: {
+ parameters: {
+ query: {
+ /** @description 阀门ID */
+ valve: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": number | null;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_valves_diameter: {
+ parameters: {
+ query: {
+ /** @description 阀门ID */
+ valve: string;
+ /** @description 新的直径值(mm) */
+ diameter: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_valves_existence: {
+ parameters: {
+ query: {
+ /** @description 管线ID */
+ link: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": boolean;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_valves_minor_loss: {
+ parameters: {
+ query: {
+ /** @description 阀门ID */
+ valve: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": number | null;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_valves_node1: {
+ parameters: {
+ query: {
+ /** @description 阀门ID */
+ valve: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": string | null;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_valves_node1: {
+ parameters: {
+ query: {
+ /** @description 阀门ID */
+ valve: string;
+ /** @description 新的起点节点ID */
+ node1: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_valves_node2: {
+ parameters: {
+ query: {
+ /** @description 阀门ID */
+ valve: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": string | null;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_valves_node2: {
+ parameters: {
+ query: {
+ /** @description 阀门ID */
+ valve: string;
+ /** @description 新的终点节点ID */
+ node2: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_valves_properties: {
+ parameters: {
+ query: {
+ /** @description 阀门ID */
+ valve: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": Record;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_valves_properties: {
+ parameters: {
+ query: {
+ /** @description 阀门ID */
+ valve: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_valves_setting: {
+ parameters: {
+ query: {
+ /** @description 阀门ID */
+ valve: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": number | null;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_valves_setting: {
+ parameters: {
+ query: {
+ /** @description 阀门ID */
+ valve: string;
+ /** @description 新的开度值 */
+ setting: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_valves_type: {
+ parameters: {
+ query: {
+ /** @description 阀门ID */
+ valve: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": string | null;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_valves_type: {
+ parameters: {
+ query: {
+ /** @description 阀门ID */
+ valve: string;
+ /** @description 新的阀门类型 */
+ type: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_virtual_district_calculations: {
+ parameters: {
+ query: {
+ /** @description 压力监测节点ID列表 */
+ centers: string[];
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ [key: string]: unknown[];
+ };
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_virtual_district_generation_runs: {
+ parameters: {
+ query: {
+ /** @description 膨胀参数 */
+ inflate_delta: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_virtual_districts: {
+ parameters: {
+ query?: {
+ limit?: number;
+ offset?: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["Page_dict_str__Any__"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_virtual_districts: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 201: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ delete_virtual_districts: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 204: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content?: never;
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_virtual_districts: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_virtual_districts_detail: {
+ parameters: {
+ query: {
+ /** @description 虚拟分区ID */
+ id: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": Record;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_visual_elements: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 201: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ delete_visual_elements: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 204: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content?: never;
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_visual_elements_links: {
+ parameters: {
+ query?: {
+ limit?: number;
+ offset?: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "text/plain": string;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "text/plain": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "text/plain": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "text/plain": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "text/plain": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "text/plain": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "text/plain": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ get_visual_elements_properties: {
+ parameters: {
+ query: {
+ /** @description 图形元素链接 */
+ link: string;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": Record;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ patch_visual_elements_properties: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_water_age_analyses: {
+ parameters: {
+ query: {
+ /** @description 分析开始时间(ISO 8601格式) */
+ start_time: string;
+ /** @description 模拟持续时间(秒) */
+ duration: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "text/plain": string;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "text/plain": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "text/plain": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "text/plain": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "text/plain": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "text/plain": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "text/plain": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_web_searches: {
+ parameters: {
+ query?: never;
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody: {
+ content: {
+ "application/json": components["schemas"]["WebSearchRequest"];
+ };
+ };
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": Record;
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+ post_with_servers: {
+ parameters: {
+ query: {
+ /** @description 目标操作ID */
+ operation: number;
+ };
+ header: {
+ "X-Project-Id": string;
+ };
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description Successful Response */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["JsonValue"];
+ };
+ };
+ /** @description Authentication required */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Insufficient permission */
+ 403: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource not found */
+ 404: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Resource conflict */
+ 409: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Validation error */
+ 422: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ /** @description Dependency unavailable */
+ 503: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": components["schemas"]["ProblemDetails"];
+ };
+ };
+ };
+ };
+}
diff --git a/src/lib/api.test.ts b/src/lib/api.test.ts
new file mode 100644
index 0000000..6711ad1
--- /dev/null
+++ b/src/lib/api.test.ts
@@ -0,0 +1,21 @@
+import { resolveRequestUrl } from "@/lib/api";
+
+describe("resolveRequestUrl", () => {
+ it("does not prepend baseURL to an absolute request URL", () => {
+ expect(
+ resolveRequestUrl({
+ baseURL: "http://localhost:8000",
+ url: "http://localhost:8000/api/v1/schemes",
+ }),
+ ).toBe("http://localhost:8000/api/v1/schemes");
+ });
+
+ it("combines baseURL with a relative request URL", () => {
+ expect(
+ resolveRequestUrl({
+ baseURL: "http://localhost:8000",
+ url: "/api/v1/schemes",
+ }),
+ ).toBe("http://localhost:8000/api/v1/schemes");
+ });
+});
diff --git a/src/lib/api.ts b/src/lib/api.ts
index 8e66f76..004a1fb 100644
--- a/src/lib/api.ts
+++ b/src/lib/api.ts
@@ -15,10 +15,22 @@ export const api = axios.create({
let isSigningOut = false;
-const resolveRequestUrl = (request: {
+export const resolveRequestUrl = (request: {
baseURL?: string;
url?: string;
-}) => `${request.baseURL ?? ""}${request.url ?? ""}`;
+}) => {
+ const requestUrl = request.url ?? "";
+ if (/^([a-z][a-z\d+\-.]*:)?\/\//i.test(requestUrl)) {
+ return requestUrl;
+ }
+
+ const baseURL = request.baseURL ?? "";
+ if (!baseURL || !requestUrl) {
+ return `${baseURL}${requestUrl}`;
+ }
+
+ return `${baseURL.replace(/\/+$/, "")}/${requestUrl.replace(/^\/+/, "")}`;
+};
export interface ApiRequestConfig
extends InternalAxiosRequestConfig,
@@ -38,7 +50,17 @@ api.interceptors.request.use(async (request: ApiRequestConfig) => {
});
api.interceptors.response.use(
- (response) => response,
+ (response) => {
+ if (
+ response.data &&
+ typeof response.data === "object" &&
+ Array.isArray(response.data.items) &&
+ typeof response.data.total === "number"
+ ) {
+ response.data = response.data.items;
+ }
+ return response;
+ },
async (error) => {
if (error?.response?.status === 401 && typeof window !== "undefined") {
useAuthStore.getState().setAccessToken(null);
diff --git a/src/lib/apiFetch.ts b/src/lib/apiFetch.ts
index 41d4197..edc324f 100644
--- a/src/lib/apiFetch.ts
+++ b/src/lib/apiFetch.ts
@@ -7,6 +7,30 @@ import {
let isSigningOut = false;
+const unwrapPage = async (response: Response) => {
+ if (
+ !response.headers.get("content-type")?.includes("application/json")
+ ) {
+ return response;
+ }
+ const payload = await response.clone().json().catch(() => null);
+ if (
+ !payload ||
+ typeof payload !== "object" ||
+ !Array.isArray(payload.items) ||
+ typeof payload.total !== "number"
+ ) {
+ return response;
+ }
+ const headers = new Headers(response.headers);
+ headers.delete("content-length");
+ return new Response(JSON.stringify(payload.items), {
+ headers,
+ status: response.status,
+ statusText: response.statusText,
+ });
+};
+
const resolveUrl = (input: RequestInfo | URL) => {
if (typeof input === "string") return input;
if (input instanceof URL) return input.toString();
@@ -22,10 +46,16 @@ export const apiFetch = async (
input: RequestInfo | URL,
init: ApiFetchInit = {},
) => {
- const headers = new Headers(init.headers ?? {});
+ const headers = new Headers(
+ init.headers ?? (input instanceof Request ? input.headers : undefined),
+ );
await applyAuthContextHeaders(resolveUrl(input), headers, init);
- const response = await fetch(input, { ...init, headers });
+ const requestInit: RequestInit = {
+ ...init,
+ headers,
+ };
+ const response = await fetch(input, requestInit);
if (response.status === 401 && typeof window !== "undefined" && !init.skipAuthRedirect) {
useAuthStore.getState().setAccessToken(null);
@@ -35,5 +65,5 @@ export const apiFetch = async (
}
}
- return response;
+ return unwrapPage(response);
};
diff --git a/src/lib/chatModels.test.ts b/src/lib/chatModels.test.ts
index 5de9324..5d06605 100644
--- a/src/lib/chatModels.test.ts
+++ b/src/lib/chatModels.test.ts
@@ -39,7 +39,7 @@ describe("fetchAgentModels", () => {
],
});
expect(apiFetch).toHaveBeenCalledWith(
- expect.stringContaining("/api/v1/agent/chat/models"),
+ expect.stringContaining("/api/v1/agent/models"),
expect.objectContaining({
method: "GET",
projectHeaderMode: "include",
diff --git a/src/lib/chatModels.ts b/src/lib/chatModels.ts
index 8db7a0a..1ea914d 100644
--- a/src/lib/chatModels.ts
+++ b/src/lib/chatModels.ts
@@ -47,7 +47,7 @@ const normalizeModelOption = (value: unknown): AgentModelOption | null => {
};
export const fetchAgentModels = async (): Promise => {
- const response = await apiFetch(`${config.AGENT_URL}/api/v1/agent/chat/models`, {
+ const response = await apiFetch(`${config.AGENT_URL}/api/v1/agent/models`, {
method: "GET",
projectHeaderMode: "include",
skipAuthRedirect: true,
diff --git a/src/lib/chatStream.test.ts b/src/lib/chatStream.test.ts
index 56d2709..e8bada2 100644
--- a/src/lib/chatStream.test.ts
+++ b/src/lib/chatStream.test.ts
@@ -41,20 +41,34 @@ const makeStream = (chunks: string[]) =>
},
});
+const mockNewSessionStream = (response: unknown) => {
+ apiFetch
+ .mockResolvedValueOnce({
+ ok: true,
+ json: async () => ({ session_id: "s1" }),
+ })
+ .mockResolvedValueOnce(response);
+};
+
describe("streamAgentChat", () => {
beforeEach(() => {
apiFetch.mockReset();
});
it("parses token and done events from chunked SSE", async () => {
- apiFetch.mockResolvedValue({
- ok: true,
- body: makeStream([
- 'event: token\ndata: {"session_id":"s1","content":"he"}\n\n',
- 'event: token\ndata: {"session_id":"s1","content":"llo"}\n\n',
- 'event: done\ndata: {"session_id":"s1"}\n\n',
- ]),
- });
+ apiFetch
+ .mockResolvedValueOnce({
+ ok: true,
+ json: async () => ({ session_id: "s1" }),
+ })
+ .mockResolvedValueOnce({
+ ok: true,
+ body: makeStream([
+ 'event: token\ndata: {"session_id":"s1","content":"he"}\n\n',
+ 'event: token\ndata: {"session_id":"s1","content":"llo"}\n\n',
+ 'event: done\ndata: {"session_id":"s1"}\n\n',
+ ]),
+ });
const events: Array<{ type: string; content?: string; sessionId?: string }> = [];
@@ -65,14 +79,13 @@ describe("streamAgentChat", () => {
});
expect(apiFetch).toHaveBeenCalledWith(
- expect.stringContaining("/api/v1/agent/chat/stream"),
+ expect.stringContaining("/api/v1/agent/sessions/s1/runs"),
expect.objectContaining({
method: "POST",
projectHeaderMode: "include",
skipAuthRedirect: true,
body: JSON.stringify({
message: "hi",
- session_id: undefined,
model: "provider/model",
approval_mode: undefined,
}),
@@ -111,7 +124,7 @@ describe("streamAgentChat", () => {
});
expect(apiFetch).toHaveBeenCalledWith(
- expect.stringContaining("/api/v1/agent/chat/session/s1/stream"),
+ expect.stringContaining("/api/v1/agent/sessions/s1/runs/current/events"),
expect.objectContaining({
method: "GET",
projectHeaderMode: "include",
@@ -132,7 +145,7 @@ describe("streamAgentChat", () => {
});
it("parses progress events", async () => {
- apiFetch.mockResolvedValue({
+ mockNewSessionStream({
ok: true,
body: makeStream([
'event: progress\ndata: {"session_id":"s1","id":"p1","phase":"tool","status":"running","title":"正在调用后端数据查询","detail":"GET /api/v1/demo"}\n\n',
@@ -159,7 +172,7 @@ describe("streamAgentChat", () => {
});
it("parses tool_call arguments when params is empty", async () => {
- apiFetch.mockResolvedValue({
+ mockNewSessionStream({
ok: true,
body: makeStream([
'event: tool_call\ndata: {"session_id":"agent-1e75dd01-29e","tool":"locate_features","params":{},"arguments":"{\\"ids\\":[\\"142902\\"],\\"feature_type\\":\\"junction\\"}"}\n\n',
@@ -183,7 +196,7 @@ describe("streamAgentChat", () => {
});
it("parses permission request and response events", async () => {
- apiFetch.mockResolvedValue({
+ mockNewSessionStream({
ok: true,
body: makeStream([
'event: permission_request\ndata: {"session_id":"s1","request_id":"perm-1","permission":"bash","patterns":["rm *"],"target":"rm tmp.txt","always":["rm *"],"created_at":123}\n\n',
@@ -220,7 +233,7 @@ describe("streamAgentChat", () => {
});
it("parses question request, response, and todo update events", async () => {
- apiFetch.mockResolvedValue({
+ mockNewSessionStream({
ok: true,
body: makeStream([
'event: question_request\ndata: {"session_id":"s1","request_id":"q-1","questions":[{"header":"范围","question":"选择范围","options":[{"label":"城区","description":"中心城区"}],"multiple":false,"custom":true}],"tool":{"message_id":"m1","call_id":"c1"},"created_at":123}\n\n',
@@ -283,7 +296,7 @@ describe("streamAgentChat", () => {
});
it("emits error when response is not ok", async () => {
- apiFetch.mockResolvedValue({
+ mockNewSessionStream({
ok: false,
body: null,
text: async () => "bad request",
@@ -301,7 +314,7 @@ describe("streamAgentChat", () => {
});
it("emits re-login message on unauthorized response", async () => {
- apiFetch.mockResolvedValue({
+ mockNewSessionStream({
ok: false,
status: 401,
body: null,
@@ -343,14 +356,11 @@ describe("streamAgentChat", () => {
await abortAgentChat("s1");
expect(apiFetch).toHaveBeenCalledWith(
- expect.stringContaining("/api/v1/agent/chat/abort"),
+ expect.stringContaining("/api/v1/agent/sessions/s1/runs/current"),
expect.objectContaining({
- method: "POST",
+ method: "DELETE",
projectHeaderMode: "include",
skipAuthRedirect: true,
- body: JSON.stringify({
- session_id: "s1",
- }),
}),
);
});
@@ -365,13 +375,13 @@ describe("streamAgentChat", () => {
await replyAgentPermission("s1", "perm-1", "once");
expect(apiFetch).toHaveBeenCalledWith(
- expect.stringContaining("/api/v1/agent/chat/permission/perm-1/reply"),
+ expect.stringContaining("/api/v1/agent/sessions/s1/permission-responses"),
expect.objectContaining({
method: "POST",
projectHeaderMode: "include",
skipAuthRedirect: true,
body: JSON.stringify({
- session_id: "s1",
+ request_id: "perm-1",
reply: "once",
}),
}),
@@ -389,25 +399,27 @@ describe("streamAgentChat", () => {
await rejectAgentQuestion("s1", "q-2");
expect(apiFetch).toHaveBeenCalledWith(
- expect.stringContaining("/api/v1/agent/chat/question/q-1/reply"),
+ expect.stringContaining("/api/v1/agent/sessions/s1/question-responses"),
expect.objectContaining({
method: "POST",
projectHeaderMode: "include",
skipAuthRedirect: true,
body: JSON.stringify({
- session_id: "s1",
+ request_id: "q-1",
+ action: "reply",
answers: [["城区"]],
}),
}),
);
expect(apiFetch).toHaveBeenCalledWith(
- expect.stringContaining("/api/v1/agent/chat/question/q-2/reject"),
+ expect.stringContaining("/api/v1/agent/sessions/s1/question-responses"),
expect.objectContaining({
method: "POST",
projectHeaderMode: "include",
skipAuthRedirect: true,
body: JSON.stringify({
- session_id: "s1",
+ request_id: "q-2",
+ action: "reject",
}),
}),
);
@@ -425,11 +437,10 @@ describe("streamAgentChat", () => {
expect(sessionId).toBe("forked-s1");
expect(apiFetch).toHaveBeenCalledWith(
- expect.stringContaining("/api/v1/agent/chat/fork"),
+ expect.stringContaining("/api/v1/agent/sessions/s1/forks"),
expect.objectContaining({
method: "POST",
body: JSON.stringify({
- session_id: "s1",
keep_message_count: 3,
}),
}),
diff --git a/src/lib/chatStream.ts b/src/lib/chatStream.ts
index dea6560..c2f98f0 100644
--- a/src/lib/chatStream.ts
+++ b/src/lib/chatStream.ts
@@ -466,6 +466,28 @@ const readStreamEvents = async (
}
};
+const ensureAgentSession = async (sessionId?: string) => {
+ if (sessionId) return sessionId;
+
+ const response = await apiFetch(`${config.AGENT_URL}/api/v1/agent/sessions`, {
+ method: "POST",
+ headers: {
+ "Content-Type": "application/json",
+ },
+ body: JSON.stringify({}),
+ projectHeaderMode: "include",
+ skipAuthRedirect: true,
+ });
+ if (!response.ok) {
+ throw new Error((await response.text()) || `session creation failed: ${response.status}`);
+ }
+ const payload = (await response.json()) as { session_id?: string };
+ if (!payload.session_id) {
+ throw new Error("session creation returned no session_id");
+ }
+ return payload.session_id;
+};
+
export const streamAgentChat = async ({
message,
sessionId,
@@ -476,8 +498,9 @@ export const streamAgentChat = async ({
}: StreamOptions) => {
let response: Response;
try {
+ const effectiveSessionId = await ensureAgentSession(sessionId);
response = await apiFetch(
- `${config.AGENT_URL}/api/v1/agent/chat/stream`,
+ `${config.AGENT_URL}/api/v1/agent/sessions/${encodeURIComponent(effectiveSessionId)}/runs`,
{
method: "POST",
signal,
@@ -487,7 +510,6 @@ export const streamAgentChat = async ({
},
body: JSON.stringify({
message,
- session_id: sessionId,
model,
approval_mode: approvalMode,
}),
@@ -535,7 +557,7 @@ export const resumeAgentChatStream = async ({
let response: Response;
try {
response = await apiFetch(
- `${config.AGENT_URL}/api/v1/agent/chat/session/${encodeURIComponent(sessionId)}/stream`,
+ `${config.AGENT_URL}/api/v1/agent/sessions/${encodeURIComponent(sessionId)}/runs/current/events`,
{
method: "GET",
signal,
@@ -576,14 +598,8 @@ export const abortAgentChat = async (sessionId?: string) => {
return;
}
- const response = await apiFetch(`${config.AGENT_URL}/api/v1/agent/chat/abort`, {
- method: "POST",
- headers: {
- "Content-Type": "application/json",
- },
- body: JSON.stringify({
- session_id: sessionId,
- }),
+ const response = await apiFetch(`${config.AGENT_URL}/api/v1/agent/sessions/${encodeURIComponent(sessionId)}/runs/current`, {
+ method: "DELETE",
projectHeaderMode: "include",
skipAuthRedirect: true,
});
@@ -600,14 +616,14 @@ export const replyAgentPermission = async (
reply: PermissionReply,
) => {
const response = await apiFetch(
- `${config.AGENT_URL}/api/v1/agent/chat/permission/${encodeURIComponent(requestId)}/reply`,
+ `${config.AGENT_URL}/api/v1/agent/sessions/${encodeURIComponent(sessionId)}/permission-responses`,
{
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({
- session_id: sessionId,
+ request_id: requestId,
reply,
}),
projectHeaderMode: "include",
@@ -627,14 +643,15 @@ export const replyAgentQuestion = async (
answers: string[][],
) => {
const response = await apiFetch(
- `${config.AGENT_URL}/api/v1/agent/chat/question/${encodeURIComponent(requestId)}/reply`,
+ `${config.AGENT_URL}/api/v1/agent/sessions/${encodeURIComponent(sessionId)}/question-responses`,
{
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({
- session_id: sessionId,
+ request_id: requestId,
+ action: "reply",
answers,
}),
projectHeaderMode: "include",
@@ -653,14 +670,15 @@ export const rejectAgentQuestion = async (
requestId: string,
) => {
const response = await apiFetch(
- `${config.AGENT_URL}/api/v1/agent/chat/question/${encodeURIComponent(requestId)}/reject`,
+ `${config.AGENT_URL}/api/v1/agent/sessions/${encodeURIComponent(sessionId)}/question-responses`,
{
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({
- session_id: sessionId,
+ request_id: requestId,
+ action: "reject",
}),
projectHeaderMode: "include",
skipAuthRedirect: true,
@@ -674,13 +692,12 @@ export const rejectAgentQuestion = async (
};
export const forkAgentChat = async (sessionId: string | undefined, keepMessageCount: number) => {
- const response = await apiFetch(`${config.AGENT_URL}/api/v1/agent/chat/fork`, {
+ const response = await apiFetch(`${config.AGENT_URL}/api/v1/agent/sessions/${encodeURIComponent(sessionId ?? "")}/forks`, {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({
- session_id: sessionId,
keep_message_count: keepMessageCount,
}),
projectHeaderMode: "include",
diff --git a/src/lib/generatedApi.ts b/src/lib/generatedApi.ts
new file mode 100644
index 0000000..c7ced25
--- /dev/null
+++ b/src/lib/generatedApi.ts
@@ -0,0 +1,24 @@
+import createClient from "openapi-fetch";
+
+import { config } from "@config/config";
+import type { paths as AgentPaths } from "@/generated/agentApi";
+import type { paths as ServerPaths } from "@/generated/serverApi";
+import { applyAuthContextHeaders } from "@/lib/requestHeaders";
+
+const authMiddleware = {
+ async onRequest({ request }: { request: Request }) {
+ const headers = new Headers(request.headers);
+ await applyAuthContextHeaders(request.url, headers);
+ return new Request(request, { headers });
+ },
+};
+
+export const serverApi = createClient({
+ baseUrl: config.BACKEND_URL,
+});
+export const agentApi = createClient({
+ baseUrl: config.AGENT_URL,
+});
+
+serverApi.use(authMiddleware);
+agentApi.use(authMiddleware);
diff --git a/src/lib/requestHeaders.ts b/src/lib/requestHeaders.ts
index 95e45ac..bdfc38b 100644
--- a/src/lib/requestHeaders.ts
+++ b/src/lib/requestHeaders.ts
@@ -21,7 +21,8 @@ const shouldIncludeProjectHeader = (
return false;
}
- return !url.includes("/api/v1/meta/projects");
+ const pathname = new URL(url, "http://tjwater.local").pathname.replace(/\/+$/, "");
+ return pathname !== "/api/v1/projects";
};
export const applyAuthContextHeaders = async (