{
	"openapi": "3.0.3",
	"info": {
		"title": "MyTown — ws_spring_data_repository",
		"version": "0.2.0",
		"description": "Repository dei dati condivisi tra i servizi.\n\nDocumentazione generata automaticamente dal codice sorgente da `platform/tools/openapi-gen`.\nNon modificare a mano: le modifiche vanno fatte nei controller e la specifica va rigenerata.\n\nAutenticazione: token JWT nell’header `Authorization: Bearer <token>`, ottenuto da\n`POST /ws_spring_portal_login/api/login`. Gli endpoint marcati come pubblici non richiedono il token.",
		"license": {
			"name": "AGPL-3.0-or-later",
			"url": "https://www.gnu.org/licenses/agpl-3.0.html"
		}
	},
	"servers": [
		{
			"url": "/ws_spring_data_repository/api",
			"description": "Stesso host, servizi esposti alla radice (Tomcat diretto)"
		},
		{
			"url": "/api/ws_spring_data_repository/api",
			"description": "Stesso host, servizi dietro reverse proxy montato su /api (vedi platform/INSTALL.md)"
		},
		{
			"url": "{host}/ws_spring_data_repository/api",
			"description": "Host esplicito",
			"variables": {
				"host": {
					"default": "http://localhost:8080",
					"description": "Schema e host del server applicativo"
				}
			}
		}
	],
	"tags": [
		{
			"name": "DB",
			"description": "Endpoint di DBController (src/main/java/com/kondorcs/ws_spring_data_repository/controller/DBController.java)"
		},
		{
			"name": "Esegui",
			"description": "Endpoint di EseguiController (src/main/java/com/kondorcs/ws_spring_data_repository/controller/EseguiController.java)"
		},
		{
			"name": "Procedure",
			"description": "Endpoint di ProcedureController (src/main/java/com/kondorcs/ws_spring_data_repository/controller/ProcedureController.java)"
		},
		{
			"name": "Query",
			"description": "Endpoint di QueryController (src/main/java/com/kondorcs/ws_spring_data_repository/controller/QueryController.java)"
		}
	],
	"paths": {
		"/api/db/insert_new_row": {
			"post": {
				"tags": [
					"DB"
				],
				"summary": "Insert New Row",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_data_repository/controller/DBController.java:73` — `DBController.InsertNewRow()`.",
				"operationId": "DBController.InsertNewRow",
				"x-source": "src/main/java/com/kondorcs/ws_spring_data_repository/controller/DBController.java:73",
				"parameters": [
					{
						"name": "cmp_id",
						"in": "query",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					}
				],
				"requestBody": {
					"required": true,
					"content": {
						"application/json": {
							"schema": {
								"$ref": "#/components/schemas/Table"
							}
						}
					}
				},
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "integer",
									"format": "int32"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/db/list": {
			"get": {
				"tags": [
					"DB"
				],
				"summary": "Get Db List",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_data_repository/controller/DBController.java:61` — `DBController.GetDbList()`.",
				"operationId": "DBController.GetDbList",
				"x-source": "src/main/java/com/kondorcs/ws_spring_data_repository/controller/DBController.java:61",
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "array",
									"items": {
										"$ref": "#/components/schemas/DbConfig"
									}
								}
							}
						}
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/db/list_table": {
			"get": {
				"tags": [
					"DB"
				],
				"summary": "Get Table List",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_data_repository/controller/DBController.java:50` — `DBController.GetTableList()`.",
				"operationId": "DBController.GetTableList",
				"x-source": "src/main/java/com/kondorcs/ws_spring_data_repository/controller/DBController.java:50",
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "array",
									"items": {
										"$ref": "#/components/schemas/Table"
									}
								}
							}
						}
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/db/listprocedure/{db_name}": {
			"get": {
				"tags": [
					"DB"
				],
				"summary": "get Stored List",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_data_repository/controller/DBController.java:83` — `DBController.getStoredList()`.",
				"operationId": "DBController.getStoredList",
				"x-source": "src/main/java/com/kondorcs/ws_spring_data_repository/controller/DBController.java:83",
				"parameters": [
					{
						"name": "db_name",
						"in": "path",
						"required": true,
						"schema": {
							"type": "string"
						}
					}
				],
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "array",
									"items": {
										"$ref": "#/components/schemas/Procedure"
									}
								}
							}
						}
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/esegui/exportCsv/{id}/{tipo}": {
			"post": {
				"tags": [
					"Esegui"
				],
				"summary": "Export Csv Stored Of Query",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_data_repository/controller/EseguiController.java:71` — `EseguiController.ExportCsvStoredOfQuery()`.",
				"operationId": "EseguiController.ExportCsvStoredOfQuery",
				"x-source": "src/main/java/com/kondorcs/ws_spring_data_repository/controller/EseguiController.java:71",
				"parameters": [
					{
						"name": "id",
						"in": "path",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					},
					{
						"name": "tipo",
						"in": "path",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					}
				],
				"requestBody": {
					"required": true,
					"content": {
						"application/json": {
							"schema": {
								"$ref": "#/components/schemas/ObjSearchDB"
							}
						}
					}
				},
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/StringObject"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/esegui/stored/{id}/{tipo}": {
			"post": {
				"tags": [
					"Esegui"
				],
				"summary": "Esegui Stored Of Query",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_data_repository/controller/EseguiController.java:57` — `EseguiController.EseguiStoredOfQuery()`.",
				"operationId": "EseguiController.EseguiStoredOfQuery",
				"x-source": "src/main/java/com/kondorcs/ws_spring_data_repository/controller/EseguiController.java:57",
				"parameters": [
					{
						"name": "id",
						"in": "path",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					},
					{
						"name": "tipo",
						"in": "path",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					}
				],
				"requestBody": {
					"required": true,
					"content": {
						"application/json": {
							"schema": {
								"$ref": "#/components/schemas/ObjSearchDB"
							}
						}
					}
				},
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "array",
									"items": {
										"$ref": "#/components/schemas/CampoReportDato"
									}
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/esegui/stored/renderprocedure": {
			"post": {
				"tags": [
					"Esegui"
				],
				"summary": "Esegui Stored Render Stored Procedure",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_data_repository/controller/EseguiController.java:84` — `EseguiController.EseguiStoredRenderStoredProcedure()`.",
				"operationId": "EseguiController.EseguiStoredRenderStoredProcedure",
				"x-source": "src/main/java/com/kondorcs/ws_spring_data_repository/controller/EseguiController.java:84",
				"requestBody": {
					"required": true,
					"content": {
						"application/json": {
							"schema": {
								"$ref": "#/components/schemas/Query"
							}
						}
					}
				},
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "array",
									"items": {
										"$ref": "#/components/schemas/CampoReport"
									}
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/procedure/byid/{idprocedura}": {
			"get": {
				"tags": [
					"Procedure"
				],
				"summary": "Get Procedure By Id",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_data_repository/controller/ProcedureController.java:68` — `ProcedureController.GetProcedureById()`.",
				"operationId": "ProcedureController.GetProcedureById",
				"x-source": "src/main/java/com/kondorcs/ws_spring_data_repository/controller/ProcedureController.java:68",
				"parameters": [
					{
						"name": "idprocedura",
						"in": "path",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					}
				],
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/Procedure"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/procedure/delete/{idprocedura}": {
			"delete": {
				"tags": [
					"Procedure"
				],
				"summary": "Delete By Id",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_data_repository/controller/ProcedureController.java:88` — `ProcedureController.DeleteById()`.",
				"operationId": "ProcedureController.DeleteById",
				"x-source": "src/main/java/com/kondorcs/ws_spring_data_repository/controller/ProcedureController.java:88",
				"parameters": [
					{
						"name": "idprocedura",
						"in": "path",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					}
				],
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "integer",
									"format": "int32"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/procedure/list": {
			"get": {
				"tags": [
					"Procedure"
				],
				"summary": "Get Procedure List",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_data_repository/controller/ProcedureController.java:53` — `ProcedureController.GetProcedureList()`.",
				"operationId": "ProcedureController.GetProcedureList",
				"x-source": "src/main/java/com/kondorcs/ws_spring_data_repository/controller/ProcedureController.java:53",
				"parameters": [
					{
						"name": "txtsearch",
						"in": "query",
						"required": true,
						"schema": {
							"type": "string"
						}
					},
					{
						"name": "order_by",
						"in": "query",
						"required": true,
						"schema": {
							"type": "string"
						}
					},
					{
						"name": "limit",
						"in": "query",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					},
					{
						"name": "offset",
						"in": "query",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int64"
						}
					}
				],
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "array",
									"items": {
										"$ref": "#/components/schemas/Procedure"
									}
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/procedure/save": {
			"post": {
				"tags": [
					"Procedure"
				],
				"summary": "Save Procedura",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_data_repository/controller/ProcedureController.java:79` — `ProcedureController.SaveProcedura()`.",
				"operationId": "ProcedureController.SaveProcedura",
				"x-source": "src/main/java/com/kondorcs/ws_spring_data_repository/controller/ProcedureController.java:79",
				"requestBody": {
					"required": true,
					"content": {
						"application/json": {
							"schema": {
								"$ref": "#/components/schemas/Procedure"
							}
						}
					}
				},
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "integer",
									"format": "int32"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/query/byid/{idquery}": {
			"get": {
				"tags": [
					"Query"
				],
				"summary": "Get Query By Id",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_data_repository/controller/QueryController.java:72` — `QueryController.GetQueryById()`.",
				"operationId": "QueryController.GetQueryById",
				"x-source": "src/main/java/com/kondorcs/ws_spring_data_repository/controller/QueryController.java:72",
				"parameters": [
					{
						"name": "idquery",
						"in": "path",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					}
				],
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/Query"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/query/delete/{idquery}": {
			"delete": {
				"tags": [
					"Query"
				],
				"summary": "Delete By Id",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_data_repository/controller/QueryController.java:92` — `QueryController.DeleteById()`.",
				"operationId": "QueryController.DeleteById",
				"x-source": "src/main/java/com/kondorcs/ws_spring_data_repository/controller/QueryController.java:92",
				"parameters": [
					{
						"name": "idquery",
						"in": "path",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					}
				],
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "integer",
									"format": "int32"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/query/getcampi/{idquery}/{tipo}": {
			"get": {
				"tags": [
					"Query"
				],
				"summary": "Get Campi Of Query",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_data_repository/controller/QueryController.java:103` — `QueryController.GetCampiOfQuery()`.",
				"operationId": "QueryController.GetCampiOfQuery",
				"x-source": "src/main/java/com/kondorcs/ws_spring_data_repository/controller/QueryController.java:103",
				"parameters": [
					{
						"name": "idquery",
						"in": "path",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					},
					{
						"name": "tipo",
						"in": "path",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					}
				],
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "array",
									"items": {
										"$ref": "#/components/schemas/CampoReport"
									}
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/query/list": {
			"get": {
				"tags": [
					"Query"
				],
				"summary": "Get Query List",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_data_repository/controller/QueryController.java:56` — `QueryController.GetQueryList()`.",
				"operationId": "QueryController.GetQueryList",
				"x-source": "src/main/java/com/kondorcs/ws_spring_data_repository/controller/QueryController.java:56",
				"parameters": [
					{
						"name": "idprocedura",
						"in": "query",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					},
					{
						"name": "txtsearch",
						"in": "query",
						"required": true,
						"schema": {
							"type": "string"
						}
					},
					{
						"name": "order_by",
						"in": "query",
						"required": true,
						"schema": {
							"type": "string"
						}
					},
					{
						"name": "limit",
						"in": "query",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					},
					{
						"name": "offset",
						"in": "query",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int64"
						}
					}
				],
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "array",
									"items": {
										"$ref": "#/components/schemas/Query"
									}
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/query/save": {
			"post": {
				"tags": [
					"Query"
				],
				"summary": "Save Query",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_data_repository/controller/QueryController.java:83` — `QueryController.SaveQuery()`.",
				"operationId": "QueryController.SaveQuery",
				"x-source": "src/main/java/com/kondorcs/ws_spring_data_repository/controller/QueryController.java:83",
				"requestBody": {
					"required": true,
					"content": {
						"application/json": {
							"schema": {
								"$ref": "#/components/schemas/Query"
							}
						}
					}
				},
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "integer",
									"format": "int32"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/query/savecampi": {
			"post": {
				"tags": [
					"Query"
				],
				"summary": "Save Campi Of Query",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_data_repository/controller/QueryController.java:116` — `QueryController.SaveCampiOfQuery()`.",
				"operationId": "QueryController.SaveCampiOfQuery",
				"x-source": "src/main/java/com/kondorcs/ws_spring_data_repository/controller/QueryController.java:116",
				"requestBody": {
					"required": true,
					"content": {
						"application/json": {
							"schema": {
								"type": "array",
								"items": {
									"$ref": "#/components/schemas/CampoReport"
								}
							}
						}
					}
				},
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "integer",
									"format": "int32"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		}
	},
	"components": {
		"securitySchemes": {
			"bearerAuth": {
				"type": "http",
				"scheme": "bearer",
				"bearerFormat": "JWT",
				"description": "Token JWT emesso dal servizio di login del portale."
			}
		},
		"schemas": {
			"ErrorResponse": {
				"type": "object",
				"description": "Corpo di errore del gestore centralizzato delle eccezioni (kondorcs-utils, GlobalExceptionHandler). Le proprietà oltre a `requestId` sono presenti solo se il chiamante ha ruolo ADMIN.",
				"properties": {
					"timestamp": {
						"type": "string",
						"format": "date-time"
					},
					"status": {
						"type": "integer",
						"format": "int32"
					},
					"error": {
						"type": "string"
					},
					"message": {
						"type": "string"
					},
					"requestId": {
						"type": "string",
						"description": "Solo nella variante generica (utenti non ADMIN)."
					},
					"rootCause": {
						"type": "string",
						"description": "Solo per ADMIN."
					},
					"formattedRootCause": {
						"type": "string",
						"description": "Solo per ADMIN."
					},
					"location": {
						"type": "string",
						"description": "Solo per ADMIN: classe, metodo e riga."
					},
					"requestUri": {
						"type": "string",
						"description": "Solo per ADMIN."
					},
					"httpMethod": {
						"type": "string",
						"description": "Solo per ADMIN."
					},
					"user": {
						"type": "string",
						"description": "Solo per ADMIN."
					},
					"parameters": {
						"type": "object",
						"additionalProperties": {
							"type": "string"
						},
						"description": "Solo per ADMIN."
					},
					"contentType": {
						"type": "string",
						"description": "Solo per ADMIN."
					},
					"requestHeaders": {
						"type": "object",
						"additionalProperties": {
							"type": "string"
						},
						"description": "Solo per ADMIN."
					},
					"requestBody": {
						"type": "string",
						"description": "Solo per ADMIN, se la richiesta aveva un corpo."
					},
					"stackTrace": {
						"type": "string",
						"description": "Solo per ADMIN e solo se `log.db.write.stacktrace` è attivo."
					}
				}
			},
			"Table": {
				"type": "object",
				"properties": {
					"tb_name": {
						"type": "string"
					},
					"tb_column": {
						"type": "string"
					},
					"tb_new": {
						"type": "boolean"
					},
					"tb_db": {
						"type": "string"
					},
					"tb_wf_id": {
						"type": "integer",
						"format": "int32"
					},
					"colList": {
						"type": "array",
						"items": {
							"$ref": "#/components/schemas/Column"
						}
					},
					"mode": {
						"type": "integer",
						"format": "int32"
					}
				}
			},
			"Column": {
				"type": "object",
				"properties": {
					"col_name": {
						"type": "string"
					},
					"col_row": {
						"type": "integer",
						"format": "int32"
					},
					"col_type": {
						"type": "string"
					},
					"col_value": {
						"type": "string"
					},
					"col_value_ref": {
						"type": "string"
					}
				}
			},
			"DbConfig": {
				"type": "object",
				"properties": {
					"db_id": {
						"type": "integer",
						"format": "int32"
					},
					"db_name": {
						"type": "string"
					},
					"db_url": {
						"type": "string"
					},
					"db_username": {
						"type": "string"
					},
					"db_password": {
						"type": "string"
					}
				}
			},
			"Procedure": {
				"type": "object",
				"properties": {
					"idprocedura": {
						"type": "integer",
						"format": "int32"
					},
					"codice": {
						"type": "integer",
						"format": "int32"
					},
					"descrizione": {
						"type": "string"
					},
					"totQuery": {
						"type": "integer",
						"format": "int32"
					},
					"cmp_id": {
						"type": "integer",
						"format": "int32"
					},
					"totalrows": {
						"type": "integer",
						"format": "int32"
					},
					"query": {
						"type": "array",
						"items": {
							"$ref": "#/components/schemas/Query"
						}
					},
					"parameter": {
						"type": "array",
						"items": {
							"type": "string"
						}
					}
				}
			},
			"Query": {
				"type": "object",
				"properties": {
					"idquery": {
						"type": "integer",
						"format": "int32"
					},
					"idprocedura": {
						"type": "integer",
						"format": "int32"
					},
					"cmp_id": {
						"type": "integer",
						"format": "int32"
					},
					"storedlista": {
						"type": "string"
					},
					"storeddett": {
						"type": "string"
					},
					"database": {
						"type": "string"
					},
					"descrizione": {
						"type": "string"
					},
					"codice": {
						"type": "string"
					},
					"chiaviparametri": {
						"type": "string"
					},
					"storedlistahavetotrigheout": {
						"type": "boolean"
					},
					"totalrows": {
						"type": "integer",
						"format": "int32"
					}
				}
			},
			"ObjSearchDB": {
				"type": "object",
				"properties": {
					"desc": {
						"type": "string"
					},
					"where": {
						"type": "string"
					},
					"orderBy": {
						"type": "string"
					},
					"pagina": {
						"type": "integer",
						"format": "int32"
					},
					"righePagina": {
						"type": "integer",
						"format": "int32"
					},
					"where2": {
						"type": "string"
					},
					"TOTRIGHE": {
						"type": "integer",
						"format": "int64"
					}
				}
			},
			"StringObject": {
				"type": "object",
				"properties": {
					"res": {
						"type": "string"
					}
				}
			},
			"CampoReportDato": {
				"type": "object",
				"properties": {
					"riga": {
						"type": "integer",
						"format": "int32"
					},
					"campi": {
						"type": "array",
						"items": {
							"$ref": "#/components/schemas/CampoReport"
						}
					},
					"totalrows": {
						"type": "integer",
						"format": "int32"
					}
				}
			},
			"CampoReport": {
				"type": "object",
				"properties": {
					"iDCampo": {
						"type": "integer",
						"format": "int32"
					},
					"nomeCampo": {
						"type": "string"
					},
					"tipoCampo": {
						"type": "string"
					},
					"etichetta": {
						"type": "string"
					},
					"ordinamento": {
						"type": "integer",
						"format": "int32"
					},
					"isFilter": {
						"type": "boolean"
					},
					"isOrderBy": {
						"type": "boolean"
					},
					"isVisible": {
						"type": "boolean"
					},
					"tipoView": {
						"type": "integer",
						"format": "int32"
					},
					"valoriTipoView": {
						"type": "string"
					},
					"formatStyle": {
						"type": "integer",
						"format": "int32"
					},
					"formatParams": {
						"type": "string"
					},
					"tipoQuery": {
						"type": "integer",
						"format": "int32"
					},
					"isTotale": {
						"type": "boolean"
					},
					"tipoLink": {
						"type": "integer",
						"format": "int32"
					},
					"valoriTipoLink": {
						"type": "string"
					},
					"valore": {
						"type": "string"
					},
					"align": {
						"type": "string"
					},
					"valore2": {
						"type": "string"
					},
					"valore4": {
						"type": "string"
					}
				}
			}
		}
	},
	"security": [
		{
			"bearerAuth": []
		}
	]
}
