You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2625 lines
63 KiB
2625 lines
63 KiB
3 years ago
|
// Code generated by go-swagger; DO NOT EDIT.
|
||
|
|
||
|
package restapi
|
||
|
|
||
|
// This file was generated by the swagger tool.
|
||
|
// Editing this file might prove futile when you re-run the swagger generate command
|
||
|
|
||
|
import (
|
||
|
"encoding/json"
|
||
|
)
|
||
|
|
||
|
var (
|
||
|
// SwaggerJSON embedded version of the swagger document used at generation time
|
||
|
SwaggerJSON json.RawMessage
|
||
|
// FlatSwaggerJSON embedded flattened version of the swagger document used at generation time
|
||
|
FlatSwaggerJSON json.RawMessage
|
||
|
)
|
||
|
|
||
|
func init() {
|
||
|
SwaggerJSON = json.RawMessage([]byte(`{
|
||
|
"schemes": [
|
||
|
"http",
|
||
|
"https"
|
||
|
],
|
||
|
"swagger": "2.0",
|
||
|
"info": {
|
||
|
"description": "An API which supports creation, deletion, listing etc of Billing",
|
||
|
"title": "Billing Management API",
|
||
|
"contact": {
|
||
|
"email": "diego@cyclops-labs.io"
|
||
|
},
|
||
|
"license": {
|
||
|
"name": "Apache 2.0",
|
||
|
"url": "http://www.apache.org/licenses/LICENSE-2.0.html"
|
||
|
},
|
||
|
"version": "1.0.0"
|
||
|
},
|
||
|
"host": "localhost:8000",
|
||
|
"basePath": "/api/v1.0",
|
||
|
"paths": {
|
||
|
"/billrun": {
|
||
|
"get": {
|
||
|
"security": [
|
||
|
{
|
||
|
"Keycloak": [
|
||
|
"user"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"APIKeyHeader": []
|
||
|
},
|
||
|
{
|
||
|
"APIKeyParam": []
|
||
|
}
|
||
|
],
|
||
|
"produces": [
|
||
|
"application/json"
|
||
|
],
|
||
|
"tags": [
|
||
|
"bulkManagement"
|
||
|
],
|
||
|
"summary": "Show the status report of the billruns present in the system",
|
||
|
"operationId": "ListBillRuns",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"type": "integer",
|
||
|
"description": "Amount of months to have in the report",
|
||
|
"name": "months",
|
||
|
"in": "query"
|
||
|
}
|
||
|
],
|
||
|
"responses": {
|
||
|
"200": {
|
||
|
"description": "Description of a successfully operation",
|
||
|
"schema": {
|
||
|
"type": "array",
|
||
|
"items": {
|
||
|
"$ref": "#/definitions/BillRunList"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"500": {
|
||
|
"description": "Something unexpected happend, error raised",
|
||
|
"schema": {
|
||
|
"$ref": "#/definitions/ErrorResponse"
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"put": {
|
||
|
"security": [
|
||
|
{
|
||
|
"Keycloak": [
|
||
|
"user"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"APIKeyHeader": []
|
||
|
},
|
||
|
{
|
||
|
"APIKeyParam": []
|
||
|
}
|
||
|
],
|
||
|
"consumes": [
|
||
|
"application/json"
|
||
|
],
|
||
|
"produces": [
|
||
|
"application/json"
|
||
|
],
|
||
|
"tags": [
|
||
|
"bulkManagement"
|
||
|
],
|
||
|
"summary": "Try to re-run the failed invoices in all the billruns.",
|
||
|
"operationId": "ReRunAllBillRuns",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"type": "integer",
|
||
|
"description": "Amount of months to check for failed invoices.",
|
||
|
"name": "months",
|
||
|
"in": "query"
|
||
|
}
|
||
|
],
|
||
|
"responses": {
|
||
|
"202": {
|
||
|
"description": "The request for processing had been added to the queue",
|
||
|
"schema": {
|
||
|
"$ref": "#/definitions/ItemCreatedResponse"
|
||
|
}
|
||
|
},
|
||
|
"404": {
|
||
|
"description": "The invoice id provided doesn't exist",
|
||
|
"schema": {
|
||
|
"$ref": "#/definitions/ErrorResponse"
|
||
|
}
|
||
|
},
|
||
|
"500": {
|
||
|
"description": "Something unexpected happend, error raised",
|
||
|
"schema": {
|
||
|
"$ref": "#/definitions/ErrorResponse"
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"/billrun/organization/{id}": {
|
||
|
"get": {
|
||
|
"security": [
|
||
|
{
|
||
|
"Keycloak": [
|
||
|
"user"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"APIKeyHeader": []
|
||
|
},
|
||
|
{
|
||
|
"APIKeyParam": []
|
||
|
}
|
||
|
],
|
||
|
"produces": [
|
||
|
"application/json"
|
||
|
],
|
||
|
"tags": [
|
||
|
"bulkManagement"
|
||
|
],
|
||
|
"summary": "Show the status report of the billruns present in the system",
|
||
|
"operationId": "ListBillRunsByOrganization",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"type": "string",
|
||
|
"description": "Id of the billrun to be re-run.",
|
||
|
"name": "id",
|
||
|
"in": "path",
|
||
|
"required": true
|
||
|
},
|
||
|
{
|
||
|
"type": "integer",
|
||
|
"description": "Amount of months to have in the report",
|
||
|
"name": "months",
|
||
|
"in": "query"
|
||
|
}
|
||
|
],
|
||
|
"responses": {
|
||
|
"200": {
|
||
|
"description": "Description of a successfully operation",
|
||
|
"schema": {
|
||
|
"type": "array",
|
||
|
"items": {
|
||
|
"$ref": "#/definitions/BillRunList"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"500": {
|
||
|
"description": "Something unexpected happend, error raised",
|
||
|
"schema": {
|
||
|
"$ref": "#/definitions/ErrorResponse"
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"/billrun/{id}": {
|
||
|
"get": {
|
||
|
"security": [
|
||
|
{
|
||
|
"Keycloak": [
|
||
|
"user"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"APIKeyHeader": []
|
||
|
},
|
||
|
{
|
||
|
"APIKeyParam": []
|
||
|
}
|
||
|
],
|
||
|
"produces": [
|
||
|
"application/json"
|
||
|
],
|
||
|
"tags": [
|
||
|
"bulkManagement"
|
||
|
],
|
||
|
"summary": "Get the status report of the billrun requested",
|
||
|
"operationId": "GetBillRun",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"type": "string",
|
||
|
"format": "uuid",
|
||
|
"description": "Id of the invoice to be checked",
|
||
|
"name": "id",
|
||
|
"in": "path",
|
||
|
"required": true
|
||
|
}
|
||
|
],
|
||
|
"responses": {
|
||
|
"200": {
|
||
|
"description": "Description of a successfully operation",
|
||
|
"schema": {
|
||
|
"$ref": "#/definitions/BillRunReport"
|
||
|
}
|
||
|
},
|
||
|
"404": {
|
||
|
"description": "The invoice id provided doesn't exist",
|
||
|
"schema": {
|
||
|
"$ref": "#/definitions/ErrorResponse"
|
||
|
}
|
||
|
},
|
||
|
"500": {
|
||
|
"description": "Something unexpected happend, error raised",
|
||
|
"schema": {
|
||
|
"$ref": "#/definitions/ErrorResponse"
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"put": {
|
||
|
"security": [
|
||
|
{
|
||
|
"Keycloak": [
|
||
|
"user"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"APIKeyHeader": []
|
||
|
},
|
||
|
{
|
||
|
"APIKeyParam": []
|
||
|
}
|
||
|
],
|
||
|
"consumes": [
|
||
|
"application/json"
|
||
|
],
|
||
|
"produces": [
|
||
|
"application/json"
|
||
|
],
|
||
|
"tags": [
|
||
|
"bulkManagement"
|
||
|
],
|
||
|
"summary": "Try to re-run the failed invoices in the billrun.",
|
||
|
"operationId": "ReRunBillRun",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"type": "string",
|
||
|
"format": "uuid",
|
||
|
"description": "Id of the billrun to be re-run.",
|
||
|
"name": "id",
|
||
|
"in": "path",
|
||
|
"required": true
|
||
|
}
|
||
|
],
|
||
|
"responses": {
|
||
|
"202": {
|
||
|
"description": "The request for processing had been added to the queue",
|
||
|
"schema": {
|
||
|
"$ref": "#/definitions/ItemCreatedResponse"
|
||
|
}
|
||
|
},
|
||
|
"404": {
|
||
|
"description": "The invoice id provided doesn't exist",
|
||
|
"schema": {
|
||
|
"$ref": "#/definitions/ErrorResponse"
|
||
|
}
|
||
|
},
|
||
|
"500": {
|
||
|
"description": "Something unexpected happend, error raised",
|
||
|
"schema": {
|
||
|
"$ref": "#/definitions/ErrorResponse"
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"/invoice": {
|
||
|
"get": {
|
||
|
"security": [
|
||
|
{
|
||
|
"Keycloak": [
|
||
|
"user"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"APIKeyHeader": []
|
||
|
},
|
||
|
{
|
||
|
"APIKeyParam": []
|
||
|
}
|
||
|
],
|
||
|
"produces": [
|
||
|
"application/json"
|
||
|
],
|
||
|
"tags": [
|
||
|
"invoiceManagement"
|
||
|
],
|
||
|
"summary": "Summary for this endpoint",
|
||
|
"operationId": "ListInvoices",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"description": "Invoice model partially filled to use for the filtering of the invoices",
|
||
|
"name": "model",
|
||
|
"in": "body",
|
||
|
"schema": {
|
||
|
"$ref": "#/definitions/Invoice"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"responses": {
|
||
|
"200": {
|
||
|
"description": "Description of a successfully operation",
|
||
|
"schema": {
|
||
|
"type": "array",
|
||
|
"items": {
|
||
|
"$ref": "#/definitions/Invoice"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"500": {
|
||
|
"description": "Something unexpected happend, error raised",
|
||
|
"schema": {
|
||
|
"$ref": "#/definitions/ErrorResponse"
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"/invoice/customer": {
|
||
|
"get": {
|
||
|
"security": [
|
||
|
{
|
||
|
"Keycloak": [
|
||
|
"user"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"APIKeyHeader": []
|
||
|
},
|
||
|
{
|
||
|
"APIKeyParam": []
|
||
|
}
|
||
|
],
|
||
|
"produces": [
|
||
|
"application/json"
|
||
|
],
|
||
|
"tags": [
|
||
|
"invoiceManagement"
|
||
|
],
|
||
|
"summary": "Retrieve customers' invoices",
|
||
|
"operationId": "ListCustomerInvoices",
|
||
|
"responses": {
|
||
|
"200": {
|
||
|
"description": "Description of a successfully operation",
|
||
|
"schema": {
|
||
|
"type": "array",
|
||
|
"items": {
|
||
|
"$ref": "#/definitions/Invoice"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"500": {
|
||
|
"description": "Something unexpected happend, error raised",
|
||
|
"schema": {
|
||
|
"$ref": "#/definitions/ErrorResponse"
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"/invoice/customer/{id}": {
|
||
|
"get": {
|
||
|
"security": [
|
||
|
{
|
||
|
"Keycloak": [
|
||
|
"user"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"APIKeyHeader": []
|
||
|
},
|
||
|
{
|
||
|
"APIKeyParam": []
|
||
|
}
|
||
|
],
|
||
|
"produces": [
|
||
|
"application/json"
|
||
|
],
|
||
|
"tags": [
|
||
|
"invoiceManagement"
|
||
|
],
|
||
|
"summary": "Retrieve invoices by customer id",
|
||
|
"operationId": "GetInvoicesByCustomer",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"type": "string",
|
||
|
"description": "Id of the account to be checked",
|
||
|
"name": "id",
|
||
|
"in": "path",
|
||
|
"required": true
|
||
|
},
|
||
|
{
|
||
|
"type": "integer",
|
||
|
"description": "Amount of months to have in the report",
|
||
|
"name": "months",
|
||
|
"in": "query"
|
||
|
}
|
||
|
],
|
||
|
"responses": {
|
||
|
"200": {
|
||
|
"description": "Description of a successfully operation",
|
||
|
"schema": {
|
||
|
"type": "array",
|
||
|
"items": {
|
||
|
"$ref": "#/definitions/Invoice"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"404": {
|
||
|
"description": "The invoice id provided doesn't exist",
|
||
|
"schema": {
|
||
|
"$ref": "#/definitions/ErrorResponse"
|
||
|
}
|
||
|
},
|
||
|
"500": {
|
||
|
"description": "Something unexpected happend, error raised",
|
||
|
"schema": {
|
||
|
"$ref": "#/definitions/ErrorResponse"
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"post": {
|
||
|
"security": [
|
||
|
{
|
||
|
"Keycloak": [
|
||
|
"admin"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"APIKeyHeader": []
|
||
|
},
|
||
|
{
|
||
|
"APIKeyParam": []
|
||
|
}
|
||
|
],
|
||
|
"consumes": [
|
||
|
"application/json"
|
||
|
],
|
||
|
"produces": [
|
||
|
"application/json"
|
||
|
],
|
||
|
"tags": [
|
||
|
"invoiceManagement"
|
||
|
],
|
||
|
"summary": "Generate invoice for the provided customer for the provided time window or last period",
|
||
|
"operationId": "GenerateInvoiceForCustomer",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"type": "string",
|
||
|
"description": "Id of the account to be checked",
|
||
|
"name": "id",
|
||
|
"in": "path",
|
||
|
"required": true
|
||
|
},
|
||
|
{
|
||
|
"type": "string",
|
||
|
"format": "datetime",
|
||
|
"description": "Datetime from which to generate the invoice",
|
||
|
"name": "from",
|
||
|
"in": "query"
|
||
|
},
|
||
|
{
|
||
|
"type": "string",
|
||
|
"format": "datetime",
|
||
|
"description": "Datetime until which to generate the invoice",
|
||
|
"name": "to",
|
||
|
"in": "query"
|
||
|
}
|
||
|
],
|
||
|
"responses": {
|
||
|
"202": {
|
||
|
"description": "The request for processing had been added to the queue",
|
||
|
"schema": {
|
||
|
"$ref": "#/definitions/ItemCreatedResponse"
|
||
|
}
|
||
|
},
|
||
|
"400": {
|
||
|
"description": "Invalid input, object invalid",
|
||
|
"schema": {
|
||
|
"$ref": "#/definitions/ErrorResponse"
|
||
|
}
|
||
|
},
|
||
|
"500": {
|
||
|
"description": "Something unexpected happend, error raised",
|
||
|
"schema": {
|
||
|
"$ref": "#/definitions/ErrorResponse"
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"/invoice/reseller": {
|
||
|
"get": {
|
||
|
"security": [
|
||
|
{
|
||
|
"Keycloak": [
|
||
|
"user"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"APIKeyHeader": []
|
||
|
},
|
||
|
{
|
||
|
"APIKeyParam": []
|
||
|
}
|
||
|
],
|
||
|
"produces": [
|
||
|
"application/json"
|
||
|
],
|
||
|
"tags": [
|
||
|
"invoiceManagement"
|
||
|
],
|
||
|
"summary": "Retrieve resellers' invoices",
|
||
|
"operationId": "ListResellerInvoices",
|
||
|
"responses": {
|
||
|
"200": {
|
||
|
"description": "Description of a successfully operation",
|
||
|
"schema": {
|
||
|
"type": "array",
|
||
|
"items": {
|
||
|
"$ref": "#/definitions/Invoice"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"500": {
|
||
|
"description": "Something unexpected happend, error raised",
|
||
|
"schema": {
|
||
|
"$ref": "#/definitions/ErrorResponse"
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"/invoice/reseller/{id}": {
|
||
|
"get": {
|
||
|
"security": [
|
||
|
{
|
||
|
"Keycloak": [
|
||
|
"user"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"APIKeyHeader": []
|
||
|
},
|
||
|
{
|
||
|
"APIKeyParam": []
|
||
|
}
|
||
|
],
|
||
|
"produces": [
|
||
|
"application/json"
|
||
|
],
|
||
|
"tags": [
|
||
|
"invoiceManagement"
|
||
|
],
|
||
|
"summary": "Retrieve invoices by reseller id",
|
||
|
"operationId": "GetInvoicesByReseller",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"type": "string",
|
||
|
"description": "Id of the account to be checked",
|
||
|
"name": "id",
|
||
|
"in": "path",
|
||
|
"required": true
|
||
|
},
|
||
|
{
|
||
|
"type": "integer",
|
||
|
"description": "Amount of months to have in the report",
|
||
|
"name": "months",
|
||
|
"in": "query"
|
||
|
}
|
||
|
],
|
||
|
"responses": {
|
||
|
"200": {
|
||
|
"description": "Description of a successfully operation",
|
||
|
"schema": {
|
||
|
"type": "array",
|
||
|
"items": {
|
||
|
"$ref": "#/definitions/Invoice"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"404": {
|
||
|
"description": "The invoice id provided doesn't exist",
|
||
|
"schema": {
|
||
|
"$ref": "#/definitions/ErrorResponse"
|
||
|
}
|
||
|
},
|
||
|
"500": {
|
||
|
"description": "Something unexpected happend, error raised",
|
||
|
"schema": {
|
||
|
"$ref": "#/definitions/ErrorResponse"
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"post": {
|
||
|
"security": [
|
||
|
{
|
||
|
"Keycloak": [
|
||
|
"admin"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"APIKeyHeader": []
|
||
|
},
|
||
|
{
|
||
|
"APIKeyParam": []
|
||
|
}
|
||
|
],
|
||
|
"consumes": [
|
||
|
"application/json"
|
||
|
],
|
||
|
"produces": [
|
||
|
"application/json"
|
||
|
],
|
||
|
"tags": [
|
||
|
"invoiceManagement"
|
||
|
],
|
||
|
"summary": "Generate invoice for the provided reseller for the provided time window or last period",
|
||
|
"operationId": "GenerateInvoiceForReseller",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"type": "string",
|
||
|
"description": "Id of the account to be checked",
|
||
|
"name": "id",
|
||
|
"in": "path",
|
||
|
"required": true
|
||
|
},
|
||
|
{
|
||
|
"type": "string",
|
||
|
"format": "datetime",
|
||
|
"description": "Datetime from which to generate the invoice",
|
||
|
"name": "from",
|
||
|
"in": "query"
|
||
|
},
|
||
|
{
|
||
|
"type": "string",
|
||
|
"format": "datetime",
|
||
|
"description": "Datetime until which to generate the invoice",
|
||
|
"name": "to",
|
||
|
"in": "query"
|
||
|
}
|
||
|
],
|
||
|
"responses": {
|
||
|
"202": {
|
||
|
"description": "The request for processing had been added to the queue",
|
||
|
"schema": {
|
||
|
"$ref": "#/definitions/ItemCreatedResponse"
|
||
|
}
|
||
|
},
|
||
|
"400": {
|
||
|
"description": "Invalid input, object invalid",
|
||
|
"schema": {
|
||
|
"$ref": "#/definitions/ErrorResponse"
|
||
|
}
|
||
|
},
|
||
|
"500": {
|
||
|
"description": "Something unexpected happend, error raised",
|
||
|
"schema": {
|
||
|
"$ref": "#/definitions/ErrorResponse"
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"/invoice/{id}": {
|
||
|
"get": {
|
||
|
"security": [
|
||
|
{
|
||
|
"Keycloak": [
|
||
|
"user"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"APIKeyHeader": []
|
||
|
},
|
||
|
{
|
||
|
"APIKeyParam": []
|
||
|
}
|
||
|
],
|
||
|
"produces": [
|
||
|
"application/json"
|
||
|
],
|
||
|
"tags": [
|
||
|
"invoiceManagement"
|
||
|
],
|
||
|
"summary": "Summary for this endpoint",
|
||
|
"operationId": "GetInvoice",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"type": "string",
|
||
|
"format": "uuid",
|
||
|
"description": "Id of the invoice to be checked",
|
||
|
"name": "id",
|
||
|
"in": "path",
|
||
|
"required": true
|
||
|
}
|
||
|
],
|
||
|
"responses": {
|
||
|
"200": {
|
||
|
"description": "Description of a successfully operation",
|
||
|
"schema": {
|
||
|
"$ref": "#/definitions/Invoice"
|
||
|
}
|
||
|
},
|
||
|
"404": {
|
||
|
"description": "The invoice id provided doesn't exist",
|
||
|
"schema": {
|
||
|
"$ref": "#/definitions/ErrorResponse"
|
||
|
}
|
||
|
},
|
||
|
"500": {
|
||
|
"description": "Something unexpected happend, error raised",
|
||
|
"schema": {
|
||
|
"$ref": "#/definitions/ErrorResponse"
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"/status": {
|
||
|
"get": {
|
||
|
"security": [
|
||
|
{
|
||
|
"Keycloak": [
|
||
|
"user"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"APIKeyHeader": []
|
||
|
},
|
||
|
{
|
||
|
"APIKeyParam": []
|
||
|
}
|
||
|
],
|
||
|
"produces": [
|
||
|
"application/json"
|
||
|
],
|
||
|
"tags": [
|
||
|
"statusManagement"
|
||
|
],
|
||
|
"summary": "Basic status of the system",
|
||
|
"operationId": "showStatus",
|
||
|
"responses": {
|
||
|
"200": {
|
||
|
"description": "Status information of the system",
|
||
|
"schema": {
|
||
|
"$ref": "#/definitions/Status"
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"/status/{id}": {
|
||
|
"get": {
|
||
|
"security": [
|
||
|
{
|
||
|
"Keycloak": [
|
||
|
"user"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"APIKeyHeader": []
|
||
|
},
|
||
|
{
|
||
|
"APIKeyParam": []
|
||
|
}
|
||
|
],
|
||
|
"produces": [
|
||
|
"application/json"
|
||
|
],
|
||
|
"tags": [
|
||
|
"statusManagement"
|
||
|
],
|
||
|
"summary": "Basic status of the system",
|
||
|
"operationId": "getStatus",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"enum": [
|
||
|
"kafka-receiver",
|
||
|
"kafka-sender",
|
||
|
"status",
|
||
|
"trigger",
|
||
|
"bulk",
|
||
|
"invoice"
|
||
|
],
|
||
|
"type": "string",
|
||
|
"description": "Id of the endpoint to be checked",
|
||
|
"name": "id",
|
||
|
"in": "path",
|
||
|
"required": true
|
||
|
}
|
||
|
],
|
||
|
"responses": {
|
||
|
"200": {
|
||
|
"description": "Status information of the system",
|
||
|
"schema": {
|
||
|
"$ref": "#/definitions/Status"
|
||
|
}
|
||
|
},
|
||
|
"404": {
|
||
|
"description": "The endpoint provided doesn't exist",
|
||
|
"schema": {
|
||
|
"$ref": "#/definitions/ErrorResponse"
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"/trigger/periodicrun": {
|
||
|
"get": {
|
||
|
"security": [
|
||
|
{
|
||
|
"Keycloak": [
|
||
|
"user"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"APIKeyHeader": []
|
||
|
},
|
||
|
{
|
||
|
"APIKeyParam": []
|
||
|
}
|
||
|
],
|
||
|
"produces": [
|
||
|
"application/json"
|
||
|
],
|
||
|
"tags": [
|
||
|
"triggerManagement"
|
||
|
],
|
||
|
"summary": "Periodic run of the bulk generation of invoices",
|
||
|
"operationId": "periodicRun",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"type": "string",
|
||
|
"format": "datetime",
|
||
|
"description": "Datetime to override the time.now() to simulate other days",
|
||
|
"name": "today",
|
||
|
"in": "query"
|
||
|
}
|
||
|
],
|
||
|
"responses": {
|
||
|
"202": {
|
||
|
"description": "The request for processing the periodic run had been added to the queue",
|
||
|
"schema": {
|
||
|
"$ref": "#/definitions/ItemCreatedResponse"
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"definitions": {
|
||
|
"BillRun": {
|
||
|
"type": "object",
|
||
|
"properties": {
|
||
|
"AmountInvoiced": {
|
||
|
"type": "number",
|
||
|
"format": "double",
|
||
|
"default": 0,
|
||
|
"x-go-custom-tag": "gorm:\"type:numeric(23,13)\""
|
||
|
},
|
||
|
"CreationTimestamp": {
|
||
|
"type": "string",
|
||
|
"format": "date-time",
|
||
|
"x-go-custom-tag": "gorm:\"type:timestamptz\""
|
||
|
},
|
||
|
"ExecutionType": {
|
||
|
"type": "string"
|
||
|
},
|
||
|
"ID": {
|
||
|
"type": "string",
|
||
|
"format": "uuid",
|
||
|
"x-go-custom-tag": "gorm:\"type:uuid;primary_key;unique;default:md5(random()::text || clock_timestamp()::text)::uuid\""
|
||
|
},
|
||
|
"InvoicesCount": {
|
||
|
"type": "integer"
|
||
|
},
|
||
|
"InvoicesErrorCount": {
|
||
|
"type": "integer"
|
||
|
},
|
||
|
"InvoicesErrorList": {
|
||
|
"x-go-custom-tag": "gorm:\"type:text[]\"",
|
||
|
"$ref": "#/definitions/StringArray"
|
||
|
},
|
||
|
"InvoicesList": {
|
||
|
"type": "array",
|
||
|
"items": {
|
||
|
"$ref": "#/definitions/InvoiceMetadata"
|
||
|
},
|
||
|
"x-go-custom-tag": "gorm:\"-\""
|
||
|
},
|
||
|
"InvoicesProcessedCount": {
|
||
|
"type": "integer"
|
||
|
},
|
||
|
"OrganizationsInvolved": {
|
||
|
"x-go-custom-tag": "gorm:\"type:text[]\"",
|
||
|
"$ref": "#/definitions/StringArray"
|
||
|
},
|
||
|
"Status": {
|
||
|
"type": "string",
|
||
|
"default": "QUEUED",
|
||
|
"enum": [
|
||
|
"ERROR",
|
||
|
"FINISHED",
|
||
|
"PROCESSING",
|
||
|
"QUEUED"
|
||
|
],
|
||
|
"x-go-custom-tag": "gorm:\"default:QUEUED\""
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"BillRunList": {
|
||
|
"type": "object",
|
||
|
"properties": {
|
||
|
"AmountInvoiced": {
|
||
|
"type": "number",
|
||
|
"format": "double",
|
||
|
"default": 0
|
||
|
},
|
||
|
"CreationTimestamp": {
|
||
|
"type": "string",
|
||
|
"format": "date-time"
|
||
|
},
|
||
|
"ID": {
|
||
|
"type": "string",
|
||
|
"format": "uuid"
|
||
|
},
|
||
|
"InvoicesCount": {
|
||
|
"type": "integer"
|
||
|
},
|
||
|
"InvoicesErrorCount": {
|
||
|
"type": "integer"
|
||
|
},
|
||
|
"InvoicesErrorList": {
|
||
|
"x-go-custom-tag": "gorm:\"type:text[]\"",
|
||
|
"$ref": "#/definitions/StringArray"
|
||
|
},
|
||
|
"InvoicesProcessedCount": {
|
||
|
"type": "integer"
|
||
|
},
|
||
|
"OrganizationsInvolved": {
|
||
|
"x-go-custom-tag": "gorm:\"type:text[]\"",
|
||
|
"$ref": "#/definitions/StringArray"
|
||
|
},
|
||
|
"Status": {
|
||
|
"type": "string",
|
||
|
"default": "QUEUED",
|
||
|
"enum": [
|
||
|
"ERROR",
|
||
|
"FINISHED",
|
||
|
"PROCESSING",
|
||
|
"QUEUED"
|
||
|
]
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"BillRunReport": {
|
||
|
"type": "object",
|
||
|
"properties": {
|
||
|
"AmountInvoiced": {
|
||
|
"type": "number",
|
||
|
"format": "double",
|
||
|
"default": 0
|
||
|
},
|
||
|
"CreationTimestamp": {
|
||
|
"type": "string",
|
||
|
"format": "date-time"
|
||
|
},
|
||
|
"ID": {
|
||
|
"type": "string",
|
||
|
"format": "uuid"
|
||
|
},
|
||
|
"InvoicesCount": {
|
||
|
"type": "integer"
|
||
|
},
|
||
|
"InvoicesErrorCount": {
|
||
|
"type": "integer"
|
||
|
},
|
||
|
"InvoicesErrorList": {
|
||
|
"x-go-custom-tag": "gorm:\"type:text[]\"",
|
||
|
"$ref": "#/definitions/StringArray"
|
||
|
},
|
||
|
"InvoicesList": {
|
||
|
"type": "array",
|
||
|
"items": {
|
||
|
"$ref": "#/definitions/InvoiceMetadata"
|
||
|
},
|
||
|
"x-go-custom-tag": "gorm:\"-\""
|
||
|
},
|
||
|
"InvoicesProcessedCount": {
|
||
|
"type": "integer"
|
||
|
},
|
||
|
"Status": {
|
||
|
"type": "string",
|
||
|
"default": "QUEUED",
|
||
|
"enum": [
|
||
|
"ERROR",
|
||
|
"FINISHED",
|
||
|
"PROCESSING",
|
||
|
"QUEUED"
|
||
|
]
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"ErrorResponse": {
|
||
|
"type": "object",
|
||
|
"required": [
|
||
|
"errorString"
|
||
|
],
|
||
|
"properties": {
|
||
|
"errorString": {
|
||
|
"type": "string"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"Invoice": {
|
||
|
"type": "object",
|
||
|
"properties": {
|
||
|
"AmountInvoiced": {
|
||
|
"type": "number",
|
||
|
"format": "double",
|
||
|
"default": 0,
|
||
|
"x-go-custom-tag": "gorm:\"type:numeric(23,13)\""
|
||
|
},
|
||
|
"BillRunID": {
|
||
|
"type": "string",
|
||
|
"format": "uuid"
|
||
|
},
|
||
|
"BillingContact": {
|
||
|
"type": "string"
|
||
|
},
|
||
|
"Currency": {
|
||
|
"type": "string",
|
||
|
"default": "CHF",
|
||
|
"enum": [
|
||
|
"CHF",
|
||
|
"EUR",
|
||
|
"USD"
|
||
|
]
|
||
|
},
|
||
|
"GenerationTimestamp": {
|
||
|
"type": "string",
|
||
|
"format": "date-time",
|
||
|
"x-go-custom-tag": "gorm:\"type:timestamptz\""
|
||
|
},
|
||
|
"ID": {
|
||
|
"type": "string",
|
||
|
"format": "uuid",
|
||
|
"x-go-custom-tag": "gorm:\"type:uuid;primary_key;unique;default:md5(random()::text || clock_timestamp()::text)::uuid\""
|
||
|
},
|
||
|
"Items": {
|
||
|
"x-go-custom-tag": "gorm:\"type:jsonb\"",
|
||
|
"$ref": "#/definitions/Metadata"
|
||
|
},
|
||
|
"OrganizationID": {
|
||
|
"type": "string"
|
||
|
},
|
||
|
"OrganizationName": {
|
||
|
"type": "string"
|
||
|
},
|
||
|
"OrganizationType": {
|
||
|
"type": "string"
|
||
|
},
|
||
|
"PaymentDeadline": {
|
||
|
"type": "string",
|
||
|
"format": "date",
|
||
|
"x-go-custom-tag": "gorm:\"type:date\""
|
||
|
},
|
||
|
"PaymentStatus": {
|
||
|
"type": "string",
|
||
|
"default": "UNPAID",
|
||
|
"enum": [
|
||
|
"CANCELLED",
|
||
|
"PAID",
|
||
|
"UNPAID"
|
||
|
]
|
||
|
},
|
||
|
"PeriodEndDate": {
|
||
|
"type": "string",
|
||
|
"format": "date",
|
||
|
"x-go-custom-tag": "gorm:\"type:date\""
|
||
|
},
|
||
|
"PeriodStartDate": {
|
||
|
"type": "string",
|
||
|
"format": "date",
|
||
|
"x-go-custom-tag": "gorm:\"type:date\""
|
||
|
},
|
||
|
"Status": {
|
||
|
"type": "string",
|
||
|
"default": "NOT_PROCESSED",
|
||
|
"enum": [
|
||
|
"ERROR",
|
||
|
"FINISHED",
|
||
|
"NOT_PROCESSED",
|
||
|
"PROCESSING"
|
||
|
],
|
||
|
"x-go-custom-tag": "gorm:\"default:NOT_PROCESSED\""
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"InvoiceMetadata": {
|
||
|
"type": "object",
|
||
|
"properties": {
|
||
|
"AmountInvoiced": {
|
||
|
"type": "number",
|
||
|
"format": "double",
|
||
|
"default": 0
|
||
|
},
|
||
|
"Currency": {
|
||
|
"type": "string",
|
||
|
"default": "CHF",
|
||
|
"enum": [
|
||
|
"CHF",
|
||
|
"EUR",
|
||
|
"USD"
|
||
|
]
|
||
|
},
|
||
|
"ID": {
|
||
|
"type": "string",
|
||
|
"format": "uuid"
|
||
|
},
|
||
|
"OrganizationID": {
|
||
|
"type": "string"
|
||
|
},
|
||
|
"OrganizationName": {
|
||
|
"type": "string"
|
||
|
},
|
||
|
"PaymentDeadline": {
|
||
|
"type": "string",
|
||
|
"format": "date"
|
||
|
},
|
||
|
"PaymentStatus": {
|
||
|
"type": "string",
|
||
|
"default": "UNPAID",
|
||
|
"enum": [
|
||
|
"CANCELLED",
|
||
|
"PAID",
|
||
|
"UNPAID"
|
||
|
]
|
||
|
},
|
||
|
"PeriodEndDate": {
|
||
|
"type": "string",
|
||
|
"format": "date"
|
||
|
},
|
||
|
"PeriodStartDate": {
|
||
|
"type": "string",
|
||
|
"format": "date"
|
||
|
},
|
||
|
"Status": {
|
||
|
"type": "string",
|
||
|
"default": "NOT_PROCESSED",
|
||
|
"enum": [
|
||
|
"ERROR",
|
||
|
"FINISHED",
|
||
|
"NOT_PROCESSED",
|
||
|
"PROCESSING"
|
||
|
]
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"ItemCreatedResponse": {
|
||
|
"properties": {
|
||
|
"ApiLink": {
|
||
|
"type": "string"
|
||
|
},
|
||
|
"Message": {
|
||
|
"type": "string"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"Metadata": {
|
||
|
"type": "object",
|
||
|
"x-go-type": {
|
||
|
"import": {
|
||
|
"package": "gitlab.com/cyclops-utilities/datamodels"
|
||
|
},
|
||
|
"type": "JSONdb"
|
||
|
}
|
||
|
},
|
||
|
"Status": {
|
||
|
"type": "object",
|
||
|
"required": [
|
||
|
"SystemState"
|
||
|
],
|
||
|
"properties": {
|
||
|
"AverageResponseTime": {
|
||
|
"type": "number",
|
||
|
"format": "double"
|
||
|
},
|
||
|
"DBState": {
|
||
|
"type": "string"
|
||
|
},
|
||
|
"LastRequest": {
|
||
|
"type": "string"
|
||
|
},
|
||
|
"RequestsBoT": {
|
||
|
"type": "integer"
|
||
|
},
|
||
|
"RequestsLastHour": {
|
||
|
"type": "integer"
|
||
|
},
|
||
|
"RequestsToday": {
|
||
|
"type": "integer"
|
||
|
},
|
||
|
"SystemState": {
|
||
|
"type": "string"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"StringArray": {
|
||
|
"x-go-type": {
|
||
|
"import": {
|
||
|
"package": "github.com/lib/pq"
|
||
|
},
|
||
|
"type": "StringArray"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"securityDefinitions": {
|
||
|
"APIKeyHeader": {
|
||
|
"type": "apiKey",
|
||
|
"name": "X-API-KEY",
|
||
|
"in": "header"
|
||
|
},
|
||
|
"APIKeyParam": {
|
||
|
"type": "apiKey",
|
||
|
"name": "api_key",
|
||
|
"in": "query"
|
||
|
},
|
||
|
"Keycloak": {
|
||
|
"type": "oauth2",
|
||
|
"flow": "accessCode",
|
||
|
"authorizationUrl": "http://localhost:8080/auth/realms/Dev/protocol/openid-connect/auth",
|
||
|
"tokenUrl": "http://localhost:8080/auth/realms/Dev/protocol/openid-connect/token",
|
||
|
"scopes": {
|
||
|
"admin": "Admin scope",
|
||
|
"user": "User scope"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"security": [
|
||
|
{
|
||
|
"Keycloak": [
|
||
|
"user",
|
||
|
"admin"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"APIKeyHeader": []
|
||
|
},
|
||
|
{
|
||
|
"APIKeyParam": []
|
||
|
}
|
||
|
],
|
||
|
"tags": [
|
||
|
{
|
||
|
"description": "Actions relating to the reporting of the state of the service",
|
||
|
"name": "statusManagement"
|
||
|
},
|
||
|
{
|
||
|
"description": "Actions relating to the periodics actions to be triggered in the system",
|
||
|
"name": "triggerManagement"
|
||
|
},
|
||
|
{
|
||
|
"description": "Actions relating to the bulk generations/retrieval of invoices.",
|
||
|
"name": "bulkManagement"
|
||
|
},
|
||
|
{
|
||
|
"description": "Actions relating to the generation and retrieval of invoices.",
|
||
|
"name": "invoiceManagement"
|
||
|
}
|
||
|
]
|
||
|
}`))
|
||
|
FlatSwaggerJSON = json.RawMessage([]byte(`{
|
||
|
"schemes": [
|
||
|
"http",
|
||
|
"https"
|
||
|
],
|
||
|
"swagger": "2.0",
|
||
|
"info": {
|
||
|
"description": "An API which supports creation, deletion, listing etc of Billing",
|
||
|
"title": "Billing Management API",
|
||
|
"contact": {
|
||
|
"email": "diego@cyclops-labs.io"
|
||
|
},
|
||
|
"license": {
|
||
|
"name": "Apache 2.0",
|
||
|
"url": "http://www.apache.org/licenses/LICENSE-2.0.html"
|
||
|
},
|
||
|
"version": "1.0.0"
|
||
|
},
|
||
|
"host": "localhost:8000",
|
||
|
"basePath": "/api/v1.0",
|
||
|
"paths": {
|
||
|
"/billrun": {
|
||
|
"get": {
|
||
|
"security": [
|
||
|
{
|
||
|
"Keycloak": [
|
||
|
"user"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"APIKeyHeader": []
|
||
|
},
|
||
|
{
|
||
|
"APIKeyParam": []
|
||
|
}
|
||
|
],
|
||
|
"produces": [
|
||
|
"application/json"
|
||
|
],
|
||
|
"tags": [
|
||
|
"bulkManagement"
|
||
|
],
|
||
|
"summary": "Show the status report of the billruns present in the system",
|
||
|
"operationId": "ListBillRuns",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"type": "integer",
|
||
|
"description": "Amount of months to have in the report",
|
||
|
"name": "months",
|
||
|
"in": "query"
|
||
|
}
|
||
|
],
|
||
|
"responses": {
|
||
|
"200": {
|
||
|
"description": "Description of a successfully operation",
|
||
|
"schema": {
|
||
|
"type": "array",
|
||
|
"items": {
|
||
|
"$ref": "#/definitions/BillRunList"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"500": {
|
||
|
"description": "Something unexpected happend, error raised",
|
||
|
"schema": {
|
||
|
"$ref": "#/definitions/ErrorResponse"
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"put": {
|
||
|
"security": [
|
||
|
{
|
||
|
"Keycloak": [
|
||
|
"user"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"APIKeyHeader": []
|
||
|
},
|
||
|
{
|
||
|
"APIKeyParam": []
|
||
|
}
|
||
|
],
|
||
|
"consumes": [
|
||
|
"application/json"
|
||
|
],
|
||
|
"produces": [
|
||
|
"application/json"
|
||
|
],
|
||
|
"tags": [
|
||
|
"bulkManagement"
|
||
|
],
|
||
|
"summary": "Try to re-run the failed invoices in all the billruns.",
|
||
|
"operationId": "ReRunAllBillRuns",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"type": "integer",
|
||
|
"description": "Amount of months to check for failed invoices.",
|
||
|
"name": "months",
|
||
|
"in": "query"
|
||
|
}
|
||
|
],
|
||
|
"responses": {
|
||
|
"202": {
|
||
|
"description": "The request for processing had been added to the queue",
|
||
|
"schema": {
|
||
|
"$ref": "#/definitions/ItemCreatedResponse"
|
||
|
}
|
||
|
},
|
||
|
"404": {
|
||
|
"description": "The invoice id provided doesn't exist",
|
||
|
"schema": {
|
||
|
"$ref": "#/definitions/ErrorResponse"
|
||
|
}
|
||
|
},
|
||
|
"500": {
|
||
|
"description": "Something unexpected happend, error raised",
|
||
|
"schema": {
|
||
|
"$ref": "#/definitions/ErrorResponse"
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"/billrun/organization/{id}": {
|
||
|
"get": {
|
||
|
"security": [
|
||
|
{
|
||
|
"Keycloak": [
|
||
|
"user"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"APIKeyHeader": []
|
||
|
},
|
||
|
{
|
||
|
"APIKeyParam": []
|
||
|
}
|
||
|
],
|
||
|
"produces": [
|
||
|
"application/json"
|
||
|
],
|
||
|
"tags": [
|
||
|
"bulkManagement"
|
||
|
],
|
||
|
"summary": "Show the status report of the billruns present in the system",
|
||
|
"operationId": "ListBillRunsByOrganization",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"type": "string",
|
||
|
"description": "Id of the billrun to be re-run.",
|
||
|
"name": "id",
|
||
|
"in": "path",
|
||
|
"required": true
|
||
|
},
|
||
|
{
|
||
|
"type": "integer",
|
||
|
"description": "Amount of months to have in the report",
|
||
|
"name": "months",
|
||
|
"in": "query"
|
||
|
}
|
||
|
],
|
||
|
"responses": {
|
||
|
"200": {
|
||
|
"description": "Description of a successfully operation",
|
||
|
"schema": {
|
||
|
"type": "array",
|
||
|
"items": {
|
||
|
"$ref": "#/definitions/BillRunList"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"500": {
|
||
|
"description": "Something unexpected happend, error raised",
|
||
|
"schema": {
|
||
|
"$ref": "#/definitions/ErrorResponse"
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"/billrun/{id}": {
|
||
|
"get": {
|
||
|
"security": [
|
||
|
{
|
||
|
"Keycloak": [
|
||
|
"user"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"APIKeyHeader": []
|
||
|
},
|
||
|
{
|
||
|
"APIKeyParam": []
|
||
|
}
|
||
|
],
|
||
|
"produces": [
|
||
|
"application/json"
|
||
|
],
|
||
|
"tags": [
|
||
|
"bulkManagement"
|
||
|
],
|
||
|
"summary": "Get the status report of the billrun requested",
|
||
|
"operationId": "GetBillRun",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"type": "string",
|
||
|
"format": "uuid",
|
||
|
"description": "Id of the invoice to be checked",
|
||
|
"name": "id",
|
||
|
"in": "path",
|
||
|
"required": true
|
||
|
}
|
||
|
],
|
||
|
"responses": {
|
||
|
"200": {
|
||
|
"description": "Description of a successfully operation",
|
||
|
"schema": {
|
||
|
"$ref": "#/definitions/BillRunReport"
|
||
|
}
|
||
|
},
|
||
|
"404": {
|
||
|
"description": "The invoice id provided doesn't exist",
|
||
|
"schema": {
|
||
|
"$ref": "#/definitions/ErrorResponse"
|
||
|
}
|
||
|
},
|
||
|
"500": {
|
||
|
"description": "Something unexpected happend, error raised",
|
||
|
"schema": {
|
||
|
"$ref": "#/definitions/ErrorResponse"
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"put": {
|
||
|
"security": [
|
||
|
{
|
||
|
"Keycloak": [
|
||
|
"user"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"APIKeyHeader": []
|
||
|
},
|
||
|
{
|
||
|
"APIKeyParam": []
|
||
|
}
|
||
|
],
|
||
|
"consumes": [
|
||
|
"application/json"
|
||
|
],
|
||
|
"produces": [
|
||
|
"application/json"
|
||
|
],
|
||
|
"tags": [
|
||
|
"bulkManagement"
|
||
|
],
|
||
|
"summary": "Try to re-run the failed invoices in the billrun.",
|
||
|
"operationId": "ReRunBillRun",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"type": "string",
|
||
|
"format": "uuid",
|
||
|
"description": "Id of the billrun to be re-run.",
|
||
|
"name": "id",
|
||
|
"in": "path",
|
||
|
"required": true
|
||
|
}
|
||
|
],
|
||
|
"responses": {
|
||
|
"202": {
|
||
|
"description": "The request for processing had been added to the queue",
|
||
|
"schema": {
|
||
|
"$ref": "#/definitions/ItemCreatedResponse"
|
||
|
}
|
||
|
},
|
||
|
"404": {
|
||
|
"description": "The invoice id provided doesn't exist",
|
||
|
"schema": {
|
||
|
"$ref": "#/definitions/ErrorResponse"
|
||
|
}
|
||
|
},
|
||
|
"500": {
|
||
|
"description": "Something unexpected happend, error raised",
|
||
|
"schema": {
|
||
|
"$ref": "#/definitions/ErrorResponse"
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"/invoice": {
|
||
|
"get": {
|
||
|
"security": [
|
||
|
{
|
||
|
"Keycloak": [
|
||
|
"user"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"APIKeyHeader": []
|
||
|
},
|
||
|
{
|
||
|
"APIKeyParam": []
|
||
|
}
|
||
|
],
|
||
|
"produces": [
|
||
|
"application/json"
|
||
|
],
|
||
|
"tags": [
|
||
|
"invoiceManagement"
|
||
|
],
|
||
|
"summary": "Summary for this endpoint",
|
||
|
"operationId": "ListInvoices",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"description": "Invoice model partially filled to use for the filtering of the invoices",
|
||
|
"name": "model",
|
||
|
"in": "body",
|
||
|
"schema": {
|
||
|
"$ref": "#/definitions/Invoice"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"responses": {
|
||
|
"200": {
|
||
|
"description": "Description of a successfully operation",
|
||
|
"schema": {
|
||
|
"type": "array",
|
||
|
"items": {
|
||
|
"$ref": "#/definitions/Invoice"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"500": {
|
||
|
"description": "Something unexpected happend, error raised",
|
||
|
"schema": {
|
||
|
"$ref": "#/definitions/ErrorResponse"
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"/invoice/customer": {
|
||
|
"get": {
|
||
|
"security": [
|
||
|
{
|
||
|
"Keycloak": [
|
||
|
"user"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"APIKeyHeader": []
|
||
|
},
|
||
|
{
|
||
|
"APIKeyParam": []
|
||
|
}
|
||
|
],
|
||
|
"produces": [
|
||
|
"application/json"
|
||
|
],
|
||
|
"tags": [
|
||
|
"invoiceManagement"
|
||
|
],
|
||
|
"summary": "Retrieve customers' invoices",
|
||
|
"operationId": "ListCustomerInvoices",
|
||
|
"responses": {
|
||
|
"200": {
|
||
|
"description": "Description of a successfully operation",
|
||
|
"schema": {
|
||
|
"type": "array",
|
||
|
"items": {
|
||
|
"$ref": "#/definitions/Invoice"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"500": {
|
||
|
"description": "Something unexpected happend, error raised",
|
||
|
"schema": {
|
||
|
"$ref": "#/definitions/ErrorResponse"
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"/invoice/customer/{id}": {
|
||
|
"get": {
|
||
|
"security": [
|
||
|
{
|
||
|
"Keycloak": [
|
||
|
"user"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"APIKeyHeader": []
|
||
|
},
|
||
|
{
|
||
|
"APIKeyParam": []
|
||
|
}
|
||
|
],
|
||
|
"produces": [
|
||
|
"application/json"
|
||
|
],
|
||
|
"tags": [
|
||
|
"invoiceManagement"
|
||
|
],
|
||
|
"summary": "Retrieve invoices by customer id",
|
||
|
"operationId": "GetInvoicesByCustomer",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"type": "string",
|
||
|
"description": "Id of the account to be checked",
|
||
|
"name": "id",
|
||
|
"in": "path",
|
||
|
"required": true
|
||
|
},
|
||
|
{
|
||
|
"type": "integer",
|
||
|
"description": "Amount of months to have in the report",
|
||
|
"name": "months",
|
||
|
"in": "query"
|
||
|
}
|
||
|
],
|
||
|
"responses": {
|
||
|
"200": {
|
||
|
"description": "Description of a successfully operation",
|
||
|
"schema": {
|
||
|
"type": "array",
|
||
|
"items": {
|
||
|
"$ref": "#/definitions/Invoice"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"404": {
|
||
|
"description": "The invoice id provided doesn't exist",
|
||
|
"schema": {
|
||
|
"$ref": "#/definitions/ErrorResponse"
|
||
|
}
|
||
|
},
|
||
|
"500": {
|
||
|
"description": "Something unexpected happend, error raised",
|
||
|
"schema": {
|
||
|
"$ref": "#/definitions/ErrorResponse"
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"post": {
|
||
|
"security": [
|
||
|
{
|
||
|
"Keycloak": [
|
||
|
"admin"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"APIKeyHeader": []
|
||
|
},
|
||
|
{
|
||
|
"APIKeyParam": []
|
||
|
}
|
||
|
],
|
||
|
"consumes": [
|
||
|
"application/json"
|
||
|
],
|
||
|
"produces": [
|
||
|
"application/json"
|
||
|
],
|
||
|
"tags": [
|
||
|
"invoiceManagement"
|
||
|
],
|
||
|
"summary": "Generate invoice for the provided customer for the provided time window or last period",
|
||
|
"operationId": "GenerateInvoiceForCustomer",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"type": "string",
|
||
|
"description": "Id of the account to be checked",
|
||
|
"name": "id",
|
||
|
"in": "path",
|
||
|
"required": true
|
||
|
},
|
||
|
{
|
||
|
"type": "string",
|
||
|
"format": "datetime",
|
||
|
"description": "Datetime from which to generate the invoice",
|
||
|
"name": "from",
|
||
|
"in": "query"
|
||
|
},
|
||
|
{
|
||
|
"type": "string",
|
||
|
"format": "datetime",
|
||
|
"description": "Datetime until which to generate the invoice",
|
||
|
"name": "to",
|
||
|
"in": "query"
|
||
|
}
|
||
|
],
|
||
|
"responses": {
|
||
|
"202": {
|
||
|
"description": "The request for processing had been added to the queue",
|
||
|
"schema": {
|
||
|
"$ref": "#/definitions/ItemCreatedResponse"
|
||
|
}
|
||
|
},
|
||
|
"400": {
|
||
|
"description": "Invalid input, object invalid",
|
||
|
"schema": {
|
||
|
"$ref": "#/definitions/ErrorResponse"
|
||
|
}
|
||
|
},
|
||
|
"500": {
|
||
|
"description": "Something unexpected happend, error raised",
|
||
|
"schema": {
|
||
|
"$ref": "#/definitions/ErrorResponse"
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"/invoice/reseller": {
|
||
|
"get": {
|
||
|
"security": [
|
||
|
{
|
||
|
"Keycloak": [
|
||
|
"user"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"APIKeyHeader": []
|
||
|
},
|
||
|
{
|
||
|
"APIKeyParam": []
|
||
|
}
|
||
|
],
|
||
|
"produces": [
|
||
|
"application/json"
|
||
|
],
|
||
|
"tags": [
|
||
|
"invoiceManagement"
|
||
|
],
|
||
|
"summary": "Retrieve resellers' invoices",
|
||
|
"operationId": "ListResellerInvoices",
|
||
|
"responses": {
|
||
|
"200": {
|
||
|
"description": "Description of a successfully operation",
|
||
|
"schema": {
|
||
|
"type": "array",
|
||
|
"items": {
|
||
|
"$ref": "#/definitions/Invoice"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"500": {
|
||
|
"description": "Something unexpected happend, error raised",
|
||
|
"schema": {
|
||
|
"$ref": "#/definitions/ErrorResponse"
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"/invoice/reseller/{id}": {
|
||
|
"get": {
|
||
|
"security": [
|
||
|
{
|
||
|
"Keycloak": [
|
||
|
"user"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"APIKeyHeader": []
|
||
|
},
|
||
|
{
|
||
|
"APIKeyParam": []
|
||
|
}
|
||
|
],
|
||
|
"produces": [
|
||
|
"application/json"
|
||
|
],
|
||
|
"tags": [
|
||
|
"invoiceManagement"
|
||
|
],
|
||
|
"summary": "Retrieve invoices by reseller id",
|
||
|
"operationId": "GetInvoicesByReseller",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"type": "string",
|
||
|
"description": "Id of the account to be checked",
|
||
|
"name": "id",
|
||
|
"in": "path",
|
||
|
"required": true
|
||
|
},
|
||
|
{
|
||
|
"type": "integer",
|
||
|
"description": "Amount of months to have in the report",
|
||
|
"name": "months",
|
||
|
"in": "query"
|
||
|
}
|
||
|
],
|
||
|
"responses": {
|
||
|
"200": {
|
||
|
"description": "Description of a successfully operation",
|
||
|
"schema": {
|
||
|
"type": "array",
|
||
|
"items": {
|
||
|
"$ref": "#/definitions/Invoice"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"404": {
|
||
|
"description": "The invoice id provided doesn't exist",
|
||
|
"schema": {
|
||
|
"$ref": "#/definitions/ErrorResponse"
|
||
|
}
|
||
|
},
|
||
|
"500": {
|
||
|
"description": "Something unexpected happend, error raised",
|
||
|
"schema": {
|
||
|
"$ref": "#/definitions/ErrorResponse"
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"post": {
|
||
|
"security": [
|
||
|
{
|
||
|
"Keycloak": [
|
||
|
"admin"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"APIKeyHeader": []
|
||
|
},
|
||
|
{
|
||
|
"APIKeyParam": []
|
||
|
}
|
||
|
],
|
||
|
"consumes": [
|
||
|
"application/json"
|
||
|
],
|
||
|
"produces": [
|
||
|
"application/json"
|
||
|
],
|
||
|
"tags": [
|
||
|
"invoiceManagement"
|
||
|
],
|
||
|
"summary": "Generate invoice for the provided reseller for the provided time window or last period",
|
||
|
"operationId": "GenerateInvoiceForReseller",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"type": "string",
|
||
|
"description": "Id of the account to be checked",
|
||
|
"name": "id",
|
||
|
"in": "path",
|
||
|
"required": true
|
||
|
},
|
||
|
{
|
||
|
"type": "string",
|
||
|
"format": "datetime",
|
||
|
"description": "Datetime from which to generate the invoice",
|
||
|
"name": "from",
|
||
|
"in": "query"
|
||
|
},
|
||
|
{
|
||
|
"type": "string",
|
||
|
"format": "datetime",
|
||
|
"description": "Datetime until which to generate the invoice",
|
||
|
"name": "to",
|
||
|
"in": "query"
|
||
|
}
|
||
|
],
|
||
|
"responses": {
|
||
|
"202": {
|
||
|
"description": "The request for processing had been added to the queue",
|
||
|
"schema": {
|
||
|
"$ref": "#/definitions/ItemCreatedResponse"
|
||
|
}
|
||
|
},
|
||
|
"400": {
|
||
|
"description": "Invalid input, object invalid",
|
||
|
"schema": {
|
||
|
"$ref": "#/definitions/ErrorResponse"
|
||
|
}
|
||
|
},
|
||
|
"500": {
|
||
|
"description": "Something unexpected happend, error raised",
|
||
|
"schema": {
|
||
|
"$ref": "#/definitions/ErrorResponse"
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"/invoice/{id}": {
|
||
|
"get": {
|
||
|
"security": [
|
||
|
{
|
||
|
"Keycloak": [
|
||
|
"user"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"APIKeyHeader": []
|
||
|
},
|
||
|
{
|
||
|
"APIKeyParam": []
|
||
|
}
|
||
|
],
|
||
|
"produces": [
|
||
|
"application/json"
|
||
|
],
|
||
|
"tags": [
|
||
|
"invoiceManagement"
|
||
|
],
|
||
|
"summary": "Summary for this endpoint",
|
||
|
"operationId": "GetInvoice",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"type": "string",
|
||
|
"format": "uuid",
|
||
|
"description": "Id of the invoice to be checked",
|
||
|
"name": "id",
|
||
|
"in": "path",
|
||
|
"required": true
|
||
|
}
|
||
|
],
|
||
|
"responses": {
|
||
|
"200": {
|
||
|
"description": "Description of a successfully operation",
|
||
|
"schema": {
|
||
|
"$ref": "#/definitions/Invoice"
|
||
|
}
|
||
|
},
|
||
|
"404": {
|
||
|
"description": "The invoice id provided doesn't exist",
|
||
|
"schema": {
|
||
|
"$ref": "#/definitions/ErrorResponse"
|
||
|
}
|
||
|
},
|
||
|
"500": {
|
||
|
"description": "Something unexpected happend, error raised",
|
||
|
"schema": {
|
||
|
"$ref": "#/definitions/ErrorResponse"
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"/status": {
|
||
|
"get": {
|
||
|
"security": [
|
||
|
{
|
||
|
"Keycloak": [
|
||
|
"user"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"APIKeyHeader": []
|
||
|
},
|
||
|
{
|
||
|
"APIKeyParam": []
|
||
|
}
|
||
|
],
|
||
|
"produces": [
|
||
|
"application/json"
|
||
|
],
|
||
|
"tags": [
|
||
|
"statusManagement"
|
||
|
],
|
||
|
"summary": "Basic status of the system",
|
||
|
"operationId": "showStatus",
|
||
|
"responses": {
|
||
|
"200": {
|
||
|
"description": "Status information of the system",
|
||
|
"schema": {
|
||
|
"$ref": "#/definitions/Status"
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"/status/{id}": {
|
||
|
"get": {
|
||
|
"security": [
|
||
|
{
|
||
|
"Keycloak": [
|
||
|
"user"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"APIKeyHeader": []
|
||
|
},
|
||
|
{
|
||
|
"APIKeyParam": []
|
||
|
}
|
||
|
],
|
||
|
"produces": [
|
||
|
"application/json"
|
||
|
],
|
||
|
"tags": [
|
||
|
"statusManagement"
|
||
|
],
|
||
|
"summary": "Basic status of the system",
|
||
|
"operationId": "getStatus",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"enum": [
|
||
|
"kafka-receiver",
|
||
|
"kafka-sender",
|
||
|
"status",
|
||
|
"trigger",
|
||
|
"bulk",
|
||
|
"invoice"
|
||
|
],
|
||
|
"type": "string",
|
||
|
"description": "Id of the endpoint to be checked",
|
||
|
"name": "id",
|
||
|
"in": "path",
|
||
|
"required": true
|
||
|
}
|
||
|
],
|
||
|
"responses": {
|
||
|
"200": {
|
||
|
"description": "Status information of the system",
|
||
|
"schema": {
|
||
|
"$ref": "#/definitions/Status"
|
||
|
}
|
||
|
},
|
||
|
"404": {
|
||
|
"description": "The endpoint provided doesn't exist",
|
||
|
"schema": {
|
||
|
"$ref": "#/definitions/ErrorResponse"
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"/trigger/periodicrun": {
|
||
|
"get": {
|
||
|
"security": [
|
||
|
{
|
||
|
"Keycloak": [
|
||
|
"user"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"APIKeyHeader": []
|
||
|
},
|
||
|
{
|
||
|
"APIKeyParam": []
|
||
|
}
|
||
|
],
|
||
|
"produces": [
|
||
|
"application/json"
|
||
|
],
|
||
|
"tags": [
|
||
|
"triggerManagement"
|
||
|
],
|
||
|
"summary": "Periodic run of the bulk generation of invoices",
|
||
|
"operationId": "periodicRun",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"type": "string",
|
||
|
"format": "datetime",
|
||
|
"description": "Datetime to override the time.now() to simulate other days",
|
||
|
"name": "today",
|
||
|
"in": "query"
|
||
|
}
|
||
|
],
|
||
|
"responses": {
|
||
|
"202": {
|
||
|
"description": "The request for processing the periodic run had been added to the queue",
|
||
|
"schema": {
|
||
|
"$ref": "#/definitions/ItemCreatedResponse"
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"definitions": {
|
||
|
"BillRun": {
|
||
|
"type": "object",
|
||
|
"properties": {
|
||
|
"AmountInvoiced": {
|
||
|
"type": "number",
|
||
|
"format": "double",
|
||
|
"default": 0,
|
||
|
"x-go-custom-tag": "gorm:\"type:numeric(23,13)\""
|
||
|
},
|
||
|
"CreationTimestamp": {
|
||
|
"type": "string",
|
||
|
"format": "date-time",
|
||
|
"x-go-custom-tag": "gorm:\"type:timestamptz\""
|
||
|
},
|
||
|
"ExecutionType": {
|
||
|
"type": "string"
|
||
|
},
|
||
|
"ID": {
|
||
|
"type": "string",
|
||
|
"format": "uuid",
|
||
|
"x-go-custom-tag": "gorm:\"type:uuid;primary_key;unique;default:md5(random()::text || clock_timestamp()::text)::uuid\""
|
||
|
},
|
||
|
"InvoicesCount": {
|
||
|
"type": "integer"
|
||
|
},
|
||
|
"InvoicesErrorCount": {
|
||
|
"type": "integer"
|
||
|
},
|
||
|
"InvoicesErrorList": {
|
||
|
"x-go-custom-tag": "gorm:\"type:text[]\"",
|
||
|
"$ref": "#/definitions/StringArray"
|
||
|
},
|
||
|
"InvoicesList": {
|
||
|
"type": "array",
|
||
|
"items": {
|
||
|
"$ref": "#/definitions/InvoiceMetadata"
|
||
|
},
|
||
|
"x-go-custom-tag": "gorm:\"-\""
|
||
|
},
|
||
|
"InvoicesProcessedCount": {
|
||
|
"type": "integer"
|
||
|
},
|
||
|
"OrganizationsInvolved": {
|
||
|
"x-go-custom-tag": "gorm:\"type:text[]\"",
|
||
|
"$ref": "#/definitions/StringArray"
|
||
|
},
|
||
|
"Status": {
|
||
|
"type": "string",
|
||
|
"default": "QUEUED",
|
||
|
"enum": [
|
||
|
"ERROR",
|
||
|
"FINISHED",
|
||
|
"PROCESSING",
|
||
|
"QUEUED"
|
||
|
],
|
||
|
"x-go-custom-tag": "gorm:\"default:QUEUED\""
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"BillRunList": {
|
||
|
"type": "object",
|
||
|
"properties": {
|
||
|
"AmountInvoiced": {
|
||
|
"type": "number",
|
||
|
"format": "double",
|
||
|
"default": 0
|
||
|
},
|
||
|
"CreationTimestamp": {
|
||
|
"type": "string",
|
||
|
"format": "date-time"
|
||
|
},
|
||
|
"ID": {
|
||
|
"type": "string",
|
||
|
"format": "uuid"
|
||
|
},
|
||
|
"InvoicesCount": {
|
||
|
"type": "integer"
|
||
|
},
|
||
|
"InvoicesErrorCount": {
|
||
|
"type": "integer"
|
||
|
},
|
||
|
"InvoicesErrorList": {
|
||
|
"x-go-custom-tag": "gorm:\"type:text[]\"",
|
||
|
"$ref": "#/definitions/StringArray"
|
||
|
},
|
||
|
"InvoicesProcessedCount": {
|
||
|
"type": "integer"
|
||
|
},
|
||
|
"OrganizationsInvolved": {
|
||
|
"x-go-custom-tag": "gorm:\"type:text[]\"",
|
||
|
"$ref": "#/definitions/StringArray"
|
||
|
},
|
||
|
"Status": {
|
||
|
"type": "string",
|
||
|
"default": "QUEUED",
|
||
|
"enum": [
|
||
|
"ERROR",
|
||
|
"FINISHED",
|
||
|
"PROCESSING",
|
||
|
"QUEUED"
|
||
|
]
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"BillRunReport": {
|
||
|
"type": "object",
|
||
|
"properties": {
|
||
|
"AmountInvoiced": {
|
||
|
"type": "number",
|
||
|
"format": "double",
|
||
|
"default": 0
|
||
|
},
|
||
|
"CreationTimestamp": {
|
||
|
"type": "string",
|
||
|
"format": "date-time"
|
||
|
},
|
||
|
"ID": {
|
||
|
"type": "string",
|
||
|
"format": "uuid"
|
||
|
},
|
||
|
"InvoicesCount": {
|
||
|
"type": "integer"
|
||
|
},
|
||
|
"InvoicesErrorCount": {
|
||
|
"type": "integer"
|
||
|
},
|
||
|
"InvoicesErrorList": {
|
||
|
"x-go-custom-tag": "gorm:\"type:text[]\"",
|
||
|
"$ref": "#/definitions/StringArray"
|
||
|
},
|
||
|
"InvoicesList": {
|
||
|
"type": "array",
|
||
|
"items": {
|
||
|
"$ref": "#/definitions/InvoiceMetadata"
|
||
|
},
|
||
|
"x-go-custom-tag": "gorm:\"-\""
|
||
|
},
|
||
|
"InvoicesProcessedCount": {
|
||
|
"type": "integer"
|
||
|
},
|
||
|
"Status": {
|
||
|
"type": "string",
|
||
|
"default": "QUEUED",
|
||
|
"enum": [
|
||
|
"ERROR",
|
||
|
"FINISHED",
|
||
|
"PROCESSING",
|
||
|
"QUEUED"
|
||
|
]
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"ErrorResponse": {
|
||
|
"type": "object",
|
||
|
"required": [
|
||
|
"errorString"
|
||
|
],
|
||
|
"properties": {
|
||
|
"errorString": {
|
||
|
"type": "string"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"Invoice": {
|
||
|
"type": "object",
|
||
|
"properties": {
|
||
|
"AmountInvoiced": {
|
||
|
"type": "number",
|
||
|
"format": "double",
|
||
|
"default": 0,
|
||
|
"x-go-custom-tag": "gorm:\"type:numeric(23,13)\""
|
||
|
},
|
||
|
"BillRunID": {
|
||
|
"type": "string",
|
||
|
"format": "uuid"
|
||
|
},
|
||
|
"BillingContact": {
|
||
|
"type": "string"
|
||
|
},
|
||
|
"Currency": {
|
||
|
"type": "string",
|
||
|
"default": "CHF",
|
||
|
"enum": [
|
||
|
"CHF",
|
||
|
"EUR",
|
||
|
"USD"
|
||
|
]
|
||
|
},
|
||
|
"GenerationTimestamp": {
|
||
|
"type": "string",
|
||
|
"format": "date-time",
|
||
|
"x-go-custom-tag": "gorm:\"type:timestamptz\""
|
||
|
},
|
||
|
"ID": {
|
||
|
"type": "string",
|
||
|
"format": "uuid",
|
||
|
"x-go-custom-tag": "gorm:\"type:uuid;primary_key;unique;default:md5(random()::text || clock_timestamp()::text)::uuid\""
|
||
|
},
|
||
|
"Items": {
|
||
|
"x-go-custom-tag": "gorm:\"type:jsonb\"",
|
||
|
"$ref": "#/definitions/Metadata"
|
||
|
},
|
||
|
"OrganizationID": {
|
||
|
"type": "string"
|
||
|
},
|
||
|
"OrganizationName": {
|
||
|
"type": "string"
|
||
|
},
|
||
|
"OrganizationType": {
|
||
|
"type": "string"
|
||
|
},
|
||
|
"PaymentDeadline": {
|
||
|
"type": "string",
|
||
|
"format": "date",
|
||
|
"x-go-custom-tag": "gorm:\"type:date\""
|
||
|
},
|
||
|
"PaymentStatus": {
|
||
|
"type": "string",
|
||
|
"default": "UNPAID",
|
||
|
"enum": [
|
||
|
"CANCELLED",
|
||
|
"PAID",
|
||
|
"UNPAID"
|
||
|
]
|
||
|
},
|
||
|
"PeriodEndDate": {
|
||
|
"type": "string",
|
||
|
"format": "date",
|
||
|
"x-go-custom-tag": "gorm:\"type:date\""
|
||
|
},
|
||
|
"PeriodStartDate": {
|
||
|
"type": "string",
|
||
|
"format": "date",
|
||
|
"x-go-custom-tag": "gorm:\"type:date\""
|
||
|
},
|
||
|
"Status": {
|
||
|
"type": "string",
|
||
|
"default": "NOT_PROCESSED",
|
||
|
"enum": [
|
||
|
"ERROR",
|
||
|
"FINISHED",
|
||
|
"NOT_PROCESSED",
|
||
|
"PROCESSING"
|
||
|
],
|
||
|
"x-go-custom-tag": "gorm:\"default:NOT_PROCESSED\""
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"InvoiceMetadata": {
|
||
|
"type": "object",
|
||
|
"properties": {
|
||
|
"AmountInvoiced": {
|
||
|
"type": "number",
|
||
|
"format": "double",
|
||
|
"default": 0
|
||
|
},
|
||
|
"Currency": {
|
||
|
"type": "string",
|
||
|
"default": "CHF",
|
||
|
"enum": [
|
||
|
"CHF",
|
||
|
"EUR",
|
||
|
"USD"
|
||
|
]
|
||
|
},
|
||
|
"ID": {
|
||
|
"type": "string",
|
||
|
"format": "uuid"
|
||
|
},
|
||
|
"OrganizationID": {
|
||
|
"type": "string"
|
||
|
},
|
||
|
"OrganizationName": {
|
||
|
"type": "string"
|
||
|
},
|
||
|
"PaymentDeadline": {
|
||
|
"type": "string",
|
||
|
"format": "date"
|
||
|
},
|
||
|
"PaymentStatus": {
|
||
|
"type": "string",
|
||
|
"default": "UNPAID",
|
||
|
"enum": [
|
||
|
"CANCELLED",
|
||
|
"PAID",
|
||
|
"UNPAID"
|
||
|
]
|
||
|
},
|
||
|
"PeriodEndDate": {
|
||
|
"type": "string",
|
||
|
"format": "date"
|
||
|
},
|
||
|
"PeriodStartDate": {
|
||
|
"type": "string",
|
||
|
"format": "date"
|
||
|
},
|
||
|
"Status": {
|
||
|
"type": "string",
|
||
|
"default": "NOT_PROCESSED",
|
||
|
"enum": [
|
||
|
"ERROR",
|
||
|
"FINISHED",
|
||
|
"NOT_PROCESSED",
|
||
|
"PROCESSING"
|
||
|
]
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"ItemCreatedResponse": {
|
||
|
"properties": {
|
||
|
"ApiLink": {
|
||
|
"type": "string"
|
||
|
},
|
||
|
"Message": {
|
||
|
"type": "string"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"Metadata": {
|
||
|
"type": "object",
|
||
|
"x-go-type": {
|
||
|
"import": {
|
||
|
"package": "gitlab.com/cyclops-utilities/datamodels"
|
||
|
},
|
||
|
"type": "JSONdb"
|
||
|
}
|
||
|
},
|
||
|
"Status": {
|
||
|
"type": "object",
|
||
|
"required": [
|
||
|
"SystemState"
|
||
|
],
|
||
|
"properties": {
|
||
|
"AverageResponseTime": {
|
||
|
"type": "number",
|
||
|
"format": "double"
|
||
|
},
|
||
|
"DBState": {
|
||
|
"type": "string"
|
||
|
},
|
||
|
"LastRequest": {
|
||
|
"type": "string"
|
||
|
},
|
||
|
"RequestsBoT": {
|
||
|
"type": "integer"
|
||
|
},
|
||
|
"RequestsLastHour": {
|
||
|
"type": "integer"
|
||
|
},
|
||
|
"RequestsToday": {
|
||
|
"type": "integer"
|
||
|
},
|
||
|
"SystemState": {
|
||
|
"type": "string"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"StringArray": {
|
||
|
"x-go-type": {
|
||
|
"import": {
|
||
|
"package": "github.com/lib/pq"
|
||
|
},
|
||
|
"type": "StringArray"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"securityDefinitions": {
|
||
|
"APIKeyHeader": {
|
||
|
"type": "apiKey",
|
||
|
"name": "X-API-KEY",
|
||
|
"in": "header"
|
||
|
},
|
||
|
"APIKeyParam": {
|
||
|
"type": "apiKey",
|
||
|
"name": "api_key",
|
||
|
"in": "query"
|
||
|
},
|
||
|
"Keycloak": {
|
||
|
"type": "oauth2",
|
||
|
"flow": "accessCode",
|
||
|
"authorizationUrl": "http://localhost:8080/auth/realms/Dev/protocol/openid-connect/auth",
|
||
|
"tokenUrl": "http://localhost:8080/auth/realms/Dev/protocol/openid-connect/token",
|
||
|
"scopes": {
|
||
|
"admin": "Admin scope",
|
||
|
"user": "User scope"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"security": [
|
||
|
{
|
||
|
"Keycloak": [
|
||
|
"user",
|
||
|
"admin"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"APIKeyHeader": []
|
||
|
},
|
||
|
{
|
||
|
"APIKeyParam": []
|
||
|
}
|
||
|
],
|
||
|
"tags": [
|
||
|
{
|
||
|
"description": "Actions relating to the reporting of the state of the service",
|
||
|
"name": "statusManagement"
|
||
|
},
|
||
|
{
|
||
|
"description": "Actions relating to the periodics actions to be triggered in the system",
|
||
|
"name": "triggerManagement"
|
||
|
},
|
||
|
{
|
||
|
"description": "Actions relating to the bulk generations/retrieval of invoices.",
|
||
|
"name": "bulkManagement"
|
||
|
},
|
||
|
{
|
||
|
"description": "Actions relating to the generation and retrieval of invoices.",
|
||
|
"name": "invoiceManagement"
|
||
|
}
|
||
|
]
|
||
|
}`))
|
||
|
}
|