Update API specification

This commit is contained in:
D. Berge
2023-11-02 19:59:02 +01:00
parent 620d5ccf47
commit fa031d5fc9

View File

@@ -73,6 +73,9 @@ tags:
* SeisJSON file containing sequence event data.
* PDF file which is a representation of the corresponding SeisJSON.
-
name: misc
description: Miscellaneous endpoints
components:
securitySchemes:
@@ -1025,6 +1028,109 @@ components:
"parent_id": null
}
SoftwareVersion:
description: Software and component versions
type: object
properties:
name:
description: Server application name
type: string
server:
description: Server application version
type: string
tag:
description: Server application version control tag
type: string
api:
description: Application program interface version
type: string
schema:
description: Database schema version
type: string
db:
description: |
Database components.
*Only shown to users with write access.*
type: object
properties:
version:
description: Database server description
type: string
postgis_version:
description: PostGIS version number
type: string
os:
description: |
Operating system information. See the [`/etc/os-release` file description](https://www.freedesktop.org/software/systemd/man/latest/os-release.html#Options) for information on the specific values.
*Only shown to users with write access.*
type: object
properties:
ID:
description: See https://www.freedesktop.org/software/systemd/man/latest/os-release.html#ID=
type: string
NAME:
description: See https://www.freedesktop.org/software/systemd/man/latest/os-release.html#NAME=
type: string
PRETTY_NAME:
description: See https://www.freedesktop.org/software/systemd/man/latest/os-release.html#PRETTY_NAME=
type: string
VERSION:
description: See https://www.freedesktop.org/software/systemd/man/latest/os-release.html#VERSION=
type: string
VERSION_ID:
description: See https://www.freedesktop.org/software/systemd/man/latest/os-release.html#VERSION_ID=
type: string
compatibility:
description: Version compatibility
type: array
items:
type: object
description: |
Compatibility object. Describes the compatibility requirements of the currently running system.
properties:
component:
description: The component being checked.
type: string
enum: [ "api", "schema" ]
current:
description: Current version number for this component.
type: string
wanted:
description: Wanted version. This uses NodeJS' semantic versioning comparisons. See https://github.com/npm/node-semver#ranges for a description of the syntax.
type: string
example:
{
"name": "dougal-server-web",
"server": "0.0.0",
"tag": "v3-260-g46bb207",
"api": "0.4.0",
"schema": "0.4.5",
"db": {
"version": "PostgreSQL 14.8 on x86_64-suse-linux-gnu, compiled by gcc (SUSE Linux) 13.2.1 20230803 [revision cc279d6c64562f05019e1d12d0d825f9391b5553], 64-bit",
"postgis_version": "3.3 USE_GEOS=1 USE_PROJ=1 USE_STATS=1"
},
"os": {
"NAME": "openSUSE Leap",
"VERSION": "15.4",
"ID": "opensuse-leap",
"VERSION_ID": "15.4",
"PRETTY_NAME": "openSUSE Leap 15.4"
},
"compatibility": [
{
"current": "0.4.5",
"wanted": "^0.4.5",
"component": "schema"
},
{
"current": "0.4.0",
"wanted": "^0.4.0",
"component": "api"
}
]
}
security:
@@ -2274,6 +2380,19 @@ paths:
description: The request does not exist or it has already been fulfilled and cannot therefore be cancelled.
/version:
get:
summary: Get version information
tags: [ "misc" ]
security: null
responses:
"200":
description: Version data
content:
application/json:
schema:
$ref: "#/components/schemas/SoftwareVersion"