.github
backend
.vscode
config
doc
internal
lib
migrations
models
routes
schema
endpoints
access-lists.json
certificates.json
dead-hosts.json
proxy-hosts.json
redirection-hosts.json
settings.json
streams.json
tokens.json
users.json
definitions.json
examples.json
index.json
templates
.eslintrc.json
.gitignore
.prettierrc
app.js
db.js
index.js
knexfile.js
logger.js
migrate.js
nodemon.json
package.json
setup.js
yarn.lock
docker
docs
frontend
global
scripts
test
.gitignore
.version
Jenkinsfile
LICENSE
README.md
* Fix wrapping when too many hosts are shown (#207) * Update npm packages, fixes CVE-2019-10757 * Revert some breaking packages * Major overhaul - Docker buildx support in CI - Cypress API Testing in CI - Restructured folder layout (insert clean face meme) - Added Swagger documentation and validate API against that (to be completed) - Use common base image for all supported archs, which includes updated nginx with ipv6 support - Updated certbot and changes required for it - Large amount of Hosts names will wrap in UI - Updated packages for frontend - Version bump 2.1.0 * Updated documentation * Fix JWT expire time going crazy. Now set to 1day * Backend JS formatting rules * Remove v1 importer, I doubt anyone is using v1 anymore * Added backend formatting rules and enforce them in Jenkins builds * Fix CI, doesn't need a tty * Thanks bcrypt. Why can't you just be normal. * Cleanup after syntax check Co-authored-by: Marcelo Castagna <margaale@users.noreply.github.com>
100 lines
2.1 KiB
JSON
100 lines
2.1 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"$id": "endpoints/settings",
|
|
"title": "Settings",
|
|
"description": "Endpoints relating to Settings",
|
|
"stability": "stable",
|
|
"type": "object",
|
|
"definitions": {
|
|
"id": {
|
|
"$ref": "../definitions.json#/definitions/setting_id"
|
|
},
|
|
"name": {
|
|
"description": "Name",
|
|
"example": "Default Site",
|
|
"type": "string",
|
|
"minLength": 2,
|
|
"maxLength": 100
|
|
},
|
|
"description": {
|
|
"description": "Description",
|
|
"example": "Default Site",
|
|
"type": "string",
|
|
"minLength": 2,
|
|
"maxLength": 255
|
|
},
|
|
"value": {
|
|
"description": "Value",
|
|
"example": "404",
|
|
"type": "string",
|
|
"maxLength": 255
|
|
},
|
|
"meta": {
|
|
"type": "object"
|
|
}
|
|
},
|
|
"links": [
|
|
{
|
|
"title": "List",
|
|
"description": "Returns a list of Settings",
|
|
"href": "/settings",
|
|
"access": "private",
|
|
"method": "GET",
|
|
"rel": "self",
|
|
"http_header": {
|
|
"$ref": "../examples.json#/definitions/auth_header"
|
|
},
|
|
"targetSchema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/properties"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"title": "Update",
|
|
"description": "Updates a existing Setting",
|
|
"href": "/settings/{definitions.identity.example}",
|
|
"access": "private",
|
|
"method": "PUT",
|
|
"rel": "update",
|
|
"http_header": {
|
|
"$ref": "../examples.json#/definitions/auth_header"
|
|
},
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"$ref": "#/definitions/value"
|
|
},
|
|
"meta": {
|
|
"$ref": "#/definitions/meta"
|
|
}
|
|
}
|
|
},
|
|
"targetSchema": {
|
|
"properties": {
|
|
"$ref": "#/properties"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"properties": {
|
|
"id": {
|
|
"$ref": "#/definitions/id"
|
|
},
|
|
"name": {
|
|
"$ref": "#/definitions/description"
|
|
},
|
|
"description": {
|
|
"$ref": "#/definitions/description"
|
|
},
|
|
"value": {
|
|
"$ref": "#/definitions/value"
|
|
},
|
|
"meta": {
|
|
"$ref": "#/definitions/meta"
|
|
}
|
|
}
|
|
}
|