fix aggregation sql
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2026-01-15 15:53:39 +11:00
parent 7971098caf
commit 96567f6211
6 changed files with 277 additions and 46 deletions

View File

@@ -43,14 +43,15 @@ const docTemplate = `{
},
"/api/cleanup/updates": {
"delete": {
"description": "Removes update records that are no longer associated with a VM.",
"description": "Deprecated: Removes update records that are no longer associated with a VM.",
"produces": [
"text/plain"
],
"tags": [
"maintenance"
],
"summary": "Cleanup updates",
"summary": "Cleanup updates (deprecated)",
"deprecated": true,
"responses": {
"200": {
"description": "Cleanup completed",
@@ -69,14 +70,15 @@ const docTemplate = `{
},
"/api/cleanup/vcenter": {
"delete": {
"description": "Removes all inventory entries associated with a vCenter URL.",
"description": "Deprecated: Removes all inventory entries associated with a vCenter URL.",
"produces": [
"application/json"
],
"tags": [
"maintenance"
],
"summary": "Cleanup vCenter inventory",
"summary": "Cleanup vCenter inventory (deprecated)",
"deprecated": true,
"parameters": [
{
"type": "string",
@@ -159,7 +161,7 @@ const docTemplate = `{
},
"/api/event/vm/create": {
"post": {
"description": "Parses a VM create CloudEvent and stores the event data.",
"description": "Deprecated: Parses a VM create CloudEvent and stores the event data.",
"consumes": [
"application/json"
],
@@ -169,7 +171,8 @@ const docTemplate = `{
"tags": [
"events"
],
"summary": "Record VM create event",
"summary": "Record VM create event (deprecated)",
"deprecated": true,
"parameters": [
{
"description": "CloudEvent payload",
@@ -205,7 +208,7 @@ const docTemplate = `{
},
"/api/event/vm/delete": {
"post": {
"description": "Parses a VM delete CloudEvent and marks the VM as deleted in inventory.",
"description": "Deprecated: Parses a VM delete CloudEvent and marks the VM as deleted in inventory.",
"consumes": [
"application/json"
],
@@ -215,7 +218,8 @@ const docTemplate = `{
"tags": [
"events"
],
"summary": "Record VM delete event",
"summary": "Record VM delete event (deprecated)",
"deprecated": true,
"parameters": [
{
"description": "CloudEvent payload",
@@ -251,7 +255,7 @@ const docTemplate = `{
},
"/api/event/vm/modify": {
"post": {
"description": "Parses a VM modify CloudEvent and creates an update record when relevant changes are detected.",
"description": "Deprecated: Parses a VM modify CloudEvent and creates an update record when relevant changes are detected.",
"consumes": [
"application/json"
],
@@ -261,7 +265,8 @@ const docTemplate = `{
"tags": [
"events"
],
"summary": "Record VM modify event",
"summary": "Record VM modify event (deprecated)",
"deprecated": true,
"parameters": [
{
"description": "CloudEvent payload",
@@ -306,7 +311,7 @@ const docTemplate = `{
},
"/api/event/vm/move": {
"post": {
"description": "Parses a VM move CloudEvent and creates an update record.",
"description": "Deprecated: Parses a VM move CloudEvent and creates an update record.",
"consumes": [
"application/json"
],
@@ -316,7 +321,8 @@ const docTemplate = `{
"tags": [
"events"
],
"summary": "Record VM move event",
"summary": "Record VM move event (deprecated)",
"deprecated": true,
"parameters": [
{
"description": "CloudEvent payload",
@@ -671,6 +677,53 @@ const docTemplate = `{
}
}
},
"/api/snapshots/regenerate-hourly-reports": {
"post": {
"description": "Regenerates XLSX reports for hourly snapshots when the report files are missing or empty.",
"produces": [
"application/json"
],
"tags": [
"snapshots"
],
"summary": "Regenerate hourly snapshot reports",
"responses": {
"200": {
"description": "Regeneration summary",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"500": {
"description": "Server error",
"schema": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
}
}
}
},
"/metrics": {
"get": {
"description": "Exposes Prometheus metrics for vctp.",
"produces": [
"text/plain"
],
"tags": [
"metrics"
],
"summary": "Prometheus metrics",
"responses": {
"200": {
"description": "Prometheus metrics"
}
}
}
},
"/snapshots/daily": {
"get": {
"description": "Lists daily summary snapshot tables.",

View File

@@ -32,14 +32,15 @@
},
"/api/cleanup/updates": {
"delete": {
"description": "Removes update records that are no longer associated with a VM.",
"description": "Deprecated: Removes update records that are no longer associated with a VM.",
"produces": [
"text/plain"
],
"tags": [
"maintenance"
],
"summary": "Cleanup updates",
"summary": "Cleanup updates (deprecated)",
"deprecated": true,
"responses": {
"200": {
"description": "Cleanup completed",
@@ -58,14 +59,15 @@
},
"/api/cleanup/vcenter": {
"delete": {
"description": "Removes all inventory entries associated with a vCenter URL.",
"description": "Deprecated: Removes all inventory entries associated with a vCenter URL.",
"produces": [
"application/json"
],
"tags": [
"maintenance"
],
"summary": "Cleanup vCenter inventory",
"summary": "Cleanup vCenter inventory (deprecated)",
"deprecated": true,
"parameters": [
{
"type": "string",
@@ -148,7 +150,7 @@
},
"/api/event/vm/create": {
"post": {
"description": "Parses a VM create CloudEvent and stores the event data.",
"description": "Deprecated: Parses a VM create CloudEvent and stores the event data.",
"consumes": [
"application/json"
],
@@ -158,7 +160,8 @@
"tags": [
"events"
],
"summary": "Record VM create event",
"summary": "Record VM create event (deprecated)",
"deprecated": true,
"parameters": [
{
"description": "CloudEvent payload",
@@ -194,7 +197,7 @@
},
"/api/event/vm/delete": {
"post": {
"description": "Parses a VM delete CloudEvent and marks the VM as deleted in inventory.",
"description": "Deprecated: Parses a VM delete CloudEvent and marks the VM as deleted in inventory.",
"consumes": [
"application/json"
],
@@ -204,7 +207,8 @@
"tags": [
"events"
],
"summary": "Record VM delete event",
"summary": "Record VM delete event (deprecated)",
"deprecated": true,
"parameters": [
{
"description": "CloudEvent payload",
@@ -240,7 +244,7 @@
},
"/api/event/vm/modify": {
"post": {
"description": "Parses a VM modify CloudEvent and creates an update record when relevant changes are detected.",
"description": "Deprecated: Parses a VM modify CloudEvent and creates an update record when relevant changes are detected.",
"consumes": [
"application/json"
],
@@ -250,7 +254,8 @@
"tags": [
"events"
],
"summary": "Record VM modify event",
"summary": "Record VM modify event (deprecated)",
"deprecated": true,
"parameters": [
{
"description": "CloudEvent payload",
@@ -295,7 +300,7 @@
},
"/api/event/vm/move": {
"post": {
"description": "Parses a VM move CloudEvent and creates an update record.",
"description": "Deprecated: Parses a VM move CloudEvent and creates an update record.",
"consumes": [
"application/json"
],
@@ -305,7 +310,8 @@
"tags": [
"events"
],
"summary": "Record VM move event",
"summary": "Record VM move event (deprecated)",
"deprecated": true,
"parameters": [
{
"description": "CloudEvent payload",
@@ -660,6 +666,53 @@
}
}
},
"/api/snapshots/regenerate-hourly-reports": {
"post": {
"description": "Regenerates XLSX reports for hourly snapshots when the report files are missing or empty.",
"produces": [
"application/json"
],
"tags": [
"snapshots"
],
"summary": "Regenerate hourly snapshot reports",
"responses": {
"200": {
"description": "Regeneration summary",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"500": {
"description": "Server error",
"schema": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
}
}
}
},
"/metrics": {
"get": {
"description": "Exposes Prometheus metrics for vctp.",
"produces": [
"text/plain"
],
"tags": [
"metrics"
],
"summary": "Prometheus metrics",
"responses": {
"200": {
"description": "Prometheus metrics"
}
}
}
},
"/snapshots/daily": {
"get": {
"description": "Lists daily summary snapshot tables.",

View File

@@ -175,7 +175,9 @@ paths:
- ui
/api/cleanup/updates:
delete:
description: Removes update records that are no longer associated with a VM.
deprecated: true
description: 'Deprecated: Removes update records that are no longer associated
with a VM.'
produces:
- text/plain
responses:
@@ -187,12 +189,14 @@ paths:
description: Server error
schema:
type: string
summary: Cleanup updates
summary: Cleanup updates (deprecated)
tags:
- maintenance
/api/cleanup/vcenter:
delete:
description: Removes all inventory entries associated with a vCenter URL.
deprecated: true
description: 'Deprecated: Removes all inventory entries associated with a vCenter
URL.'
parameters:
- description: vCenter URL
in: query
@@ -214,7 +218,7 @@ paths:
additionalProperties:
type: string
type: object
summary: Cleanup vCenter inventory
summary: Cleanup vCenter inventory (deprecated)
tags:
- maintenance
/api/encrypt:
@@ -253,7 +257,9 @@ paths:
post:
consumes:
- application/json
description: Parses a VM create CloudEvent and stores the event data.
deprecated: true
description: 'Deprecated: Parses a VM create CloudEvent and stores the event
data.'
parameters:
- description: CloudEvent payload
in: body
@@ -276,14 +282,16 @@ paths:
description: Server error
schema:
type: string
summary: Record VM create event
summary: Record VM create event (deprecated)
tags:
- events
/api/event/vm/delete:
post:
consumes:
- application/json
description: Parses a VM delete CloudEvent and marks the VM as deleted in inventory.
deprecated: true
description: 'Deprecated: Parses a VM delete CloudEvent and marks the VM as
deleted in inventory.'
parameters:
- description: CloudEvent payload
in: body
@@ -306,15 +314,16 @@ paths:
description: Server error
schema:
type: string
summary: Record VM delete event
summary: Record VM delete event (deprecated)
tags:
- events
/api/event/vm/modify:
post:
consumes:
- application/json
description: Parses a VM modify CloudEvent and creates an update record when
relevant changes are detected.
deprecated: true
description: 'Deprecated: Parses a VM modify CloudEvent and creates an update
record when relevant changes are detected.'
parameters:
- description: CloudEvent payload
in: body
@@ -343,14 +352,16 @@ paths:
additionalProperties:
type: string
type: object
summary: Record VM modify event
summary: Record VM modify event (deprecated)
tags:
- events
/api/event/vm/move:
post:
consumes:
- application/json
description: Parses a VM move CloudEvent and creates an update record.
deprecated: true
description: 'Deprecated: Parses a VM move CloudEvent and creates an update
record.'
parameters:
- description: CloudEvent payload
in: body
@@ -379,7 +390,7 @@ paths:
additionalProperties:
type: string
type: object
summary: Record VM move event
summary: Record VM move event (deprecated)
tags:
- events
/api/import/vm:
@@ -590,6 +601,38 @@ paths:
summary: Migrate snapshot registry
tags:
- snapshots
/api/snapshots/regenerate-hourly-reports:
post:
description: Regenerates XLSX reports for hourly snapshots when the report files
are missing or empty.
produces:
- application/json
responses:
"200":
description: Regeneration summary
schema:
additionalProperties: true
type: object
"500":
description: Server error
schema:
additionalProperties:
type: string
type: object
summary: Regenerate hourly snapshot reports
tags:
- snapshots
/metrics:
get:
description: Exposes Prometheus metrics for vctp.
produces:
- text/plain
responses:
"200":
description: Prometheus metrics
summary: Prometheus metrics
tags:
- metrics
/snapshots/daily:
get:
description: Lists daily summary snapshot tables.