UNPKG

@signalk/resources-provider

Version:

Resources provider plugin for Signal K server.

226 lines (225 loc) 8.96 kB
{ "openapi": "3.0.0", "info": { "version": "2.0.0", "title": "Resources Provider (Built-in)", "termsOfService": "http://signalk.org/terms/", "license": { "name": "Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.html" } }, "externalDocs": { "url": "http://signalk.org/specification/", "description": "Signal K specification." }, "tags": [ { "name": "configuration", "description": "Configure Resource Collections" } ], "components": { "schemas": {}, "responses": { "200ActionResponse": { "description": "PUT, DELETE OK response", "content": { "application/json": { "schema": { "type": "object", "properties": { "state": { "type": "string", "enum": ["COMPLETED"] }, "statusCode": { "type": "number", "enum": [200] } }, "required": ["id", "statusCode", "state"] } } } }, "201ActionResponse": { "description": "POST OK response", "content": { "application/json": { "schema": { "type": "object", "properties": { "state": { "type": "string", "enum": ["COMPLETED"] }, "statusCode": { "type": "number", "enum": [201] }, "id": { "$ref": "#/components/schemas/SignalKUuid" } }, "required": ["id", "statusCode", "state"] } } } }, "ErrorResponse": { "description": "Failed operation", "content": { "application/json": { "schema": { "type": "object", "description": "Request error response", "properties": { "state": { "type": "string", "enum": ["FAILED"] }, "statusCode": { "type": "number", "enum": [404] }, "message": { "type": "string" } }, "required": ["state", "statusCode", "message"] } } } } }, "parameters": { "CollectionParam": { "name": "collection", "in": "path", "description": "Resource collection", "required": true, "schema": { "type": "string" } } }, "securitySchemes": { "bearerAuth": { "type": "http", "scheme": "bearer", "bearerFormat": "JWT" }, "cookieAuth": { "type": "apiKey", "in": "cookie", "name": "JAUTHENTICATION" } } }, "security": [{ "cookieAuth": [] }, { "bearerAuth": [] }], "paths": { "/_config": { "get": { "tags": ["configuration"], "summary": "Retrieve plugin configuration", "responses": { "default": { "description": "List of available resource collections", "content": { "application/json": { "schema": { "type": "object", "required": ["standard", "custom"], "properties": { "standard": { "type": "object", "properties": { "routes": { "type": "boolean" }, "waypoints": { "type": "boolean" }, "notes": { "type": "boolean" }, "regions": { "type": "boolean" }, "charts": { "type": "boolean" } } }, "custom": { "type": "array", "items": { "type": "object", "required": ["name"], "properties": { "name": { "type": "string" } } } } } } } } } } } }, "/_config/{collection}": { "parameters": [ { "$ref": "#/components/parameters/CollectionParam" } ], "post": { "tags": ["configuration"], "summary": "Add a new resource collection with the supplied name and restarts the plugin.", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "required": ["description"], "properties": { "description": { "type": "string", "description": "Text describing the collection contents.", "example": "Fishing zones" } } } } } }, "responses": { "200": { "$ref": "#/components/responses/200ActionResponse" }, "default": { "$ref": "#/components/responses/ErrorResponse" } } }, "delete": { "tags": ["configuration"], "summary": "Remove the resource collection with the supplied name. `Note: This does NOT delete collection folder & files.", "responses": { "200": { "$ref": "#/components/responses/200ActionResponse" }, "default": { "$ref": "#/components/responses/ErrorResponse" } } } } } }