Version 3 starter

This commit is contained in:
Jamie Curnow
2021-06-14 19:29:35 +10:00
parent 60fc57431a
commit 6205434140
642 changed files with 25817 additions and 32319 deletions

View File

@@ -0,0 +1,45 @@
{
"type": "object",
"description": "CertificateAuthorityList",
"additionalProperties": false,
"required": [
"total",
"offset",
"limit",
"sort"
],
"properties": {
"total": {
"type": "integer",
"description": "Total number of rows"
},
"offset": {
"type": "integer",
"description": "Pagination Offset"
},
"limit": {
"type": "integer",
"description": "Pagination Limit"
},
"sort": {
"type": "array",
"description": "Sorting",
"items": {
"$ref": "#/components/schemas/SortObject"
}
},
"filter": {
"type": "array",
"description": "Filters",
"items": {
"$ref": "#/components/schemas/FilterObject"
}
},
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CertificateAuthorityObject"
}
}
}
}

View File

@@ -0,0 +1,36 @@
{
"type": "object",
"description": "CertificateAuthorityObject",
"additionalProperties": false,
"required": [
"id",
"created_on",
"modified_on",
"name",
"acme2_url"
],
"properties": {
"id": {
"type": "integer",
"minimum": 1
},
"created_on": {
"type": "integer",
"minimum": 1
},
"modified_on": {
"type": "integer",
"minimum": 1
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"acme2_url": {
"type": "string",
"minLength": 8,
"maxLength": 255
}
}
}

View File

@@ -0,0 +1,45 @@
{
"type": "object",
"description": "CertificateList",
"additionalProperties": false,
"required": [
"total",
"offset",
"limit",
"sort"
],
"properties": {
"total": {
"type": "integer",
"description": "Total number of rows"
},
"offset": {
"type": "integer",
"description": "Pagination Offset"
},
"limit": {
"type": "integer",
"description": "Pagination Limit"
},
"sort": {
"type": "array",
"description": "Sorting",
"items": {
"$ref": "#/components/schemas/SortObject"
}
},
"filter": {
"type": "array",
"description": "Filters",
"items": {
"$ref": "#/components/schemas/FilterObject"
}
},
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CertificateObject"
}
}
}
}

View File

@@ -0,0 +1,82 @@
{
"type": "object",
"description": "CertificateObject",
"additionalProperties": false,
"required": [
"id",
"created_on",
"modified_on",
"expires_on",
"type",
"user_id",
"certificate_authority_id",
"dns_provider_id",
"name",
"status",
"domain_names"
],
"properties": {
"id": {
"type": "integer",
"minimum": 1
},
"created_on": {
"type": "integer",
"minimum": 1
},
"modified_on": {
"type": "integer",
"minimum": 1
},
"expires_on": {
"type": "integer",
"minimum": 1,
"nullable": true
},
"type": {
"type": "string",
"enum": [
"custom",
"http",
"dns"
]
},
"user_id": {
"type": "integer",
"minimum": 1
},
"certificate_authority_id": {
"type": "integer",
"minimum": 0
},
"dns_provider_id": {
"type": "integer",
"minimum": 0
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"domain_names": {
"type": "array",
"minItems": 1,
"items": {
"type": "string",
"minLength": 4
}
},
"status": {
"type": "string",
"enum": [
"ready",
"requesting",
"failed",
"provided"
]
},
"error_message": {
"type": "string"
}
}
}

View File

@@ -0,0 +1,4 @@
{
"type": "object",
"description": "ConfigObject"
}

View File

@@ -0,0 +1,45 @@
{
"type": "object",
"description": "DNSProviderList",
"additionalProperties": false,
"required": [
"total",
"offset",
"limit",
"sort"
],
"properties": {
"total": {
"type": "integer",
"description": "Total number of rows"
},
"offset": {
"type": "integer",
"description": "Pagination Offset"
},
"limit": {
"type": "integer",
"description": "Pagination Limit"
},
"sort": {
"type": "array",
"description": "Sorting",
"items": {
"$ref": "#/components/schemas/SortObject"
}
},
"filter": {
"type": "array",
"description": "Filters",
"items": {
"$ref": "#/components/schemas/FilterObject"
}
},
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DNSProviderObject"
}
}
}
}

View File

@@ -0,0 +1,45 @@
{
"type": "object",
"description": "DNSProviderObject",
"additionalProperties": false,
"required": [
"id",
"created_on",
"modified_on",
"user_id",
"provider_key",
"name",
"meta"
],
"properties": {
"id": {
"type": "integer",
"minimum": 1
},
"created_on": {
"type": "integer",
"minimum": 1
},
"modified_on": {
"type": "integer",
"minimum": 1
},
"user_id": {
"type": "integer",
"minimum": 1
},
"provider_key": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"meta": {
"type": "object"
}
}
}

View File

@@ -0,0 +1,17 @@
{
"type": "object",
"description": "DeletedItemResponse",
"additionalProperties": false,
"required": [
"result"
],
"properties": {
"result": {
"type": "boolean",
"nullable": true
},
"error": {
"$ref": "#/components/schemas/ErrorObject"
}
}
}

View File

@@ -0,0 +1,20 @@
{
"type": "object",
"description": "ErrorObject",
"additionalProperties": false,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "integer",
"description": "Error code",
"minimum": 0
},
"message": {
"type": "string",
"description": "Error message"
}
}
}

View File

@@ -0,0 +1,28 @@
{
"type": "object",
"description": "FilterObject",
"additionalProperties": false,
"required": [
"field",
"modifier",
"value"
],
"properties": {
"field": {
"type": "string",
"description": "Field to filter with"
},
"modifier": {
"type": "string",
"description": "Filter modifier",
"pattern": "^(equals|not|min|max|greater|lesser|contains|starts|ends|in|notin)$"
},
"value": {
"type": "array",
"description": "Values used for filtering",
"items": {
"type": "string"
}
}
}
}

View File

@@ -0,0 +1,41 @@
{
"type": "object",
"description": "HealthObject",
"additionalProperties": false,
"required": [
"version",
"commit",
"healthy",
"setup",
"error_reporting"
],
"properties": {
"version": {
"type": "string",
"description": "Version",
"example": "3.0.0",
"minLength": 1
},
"commit": {
"type": "string",
"description": "Commit hash",
"example": "946b88f",
"minLength": 7
},
"healthy": {
"type": "boolean",
"description": "Healthy?",
"example": true
},
"setup": {
"type": "boolean",
"description": "Is the application set up?",
"example": true
},
"error_reporting": {
"type": "boolean",
"description": "Will the application send any error reporting?",
"example": true
}
}
}

View File

@@ -0,0 +1,45 @@
{
"type": "object",
"description": "HostList",
"additionalProperties": false,
"required": [
"total",
"offset",
"limit",
"sort"
],
"properties": {
"total": {
"type": "integer",
"description": "Total number of rows"
},
"offset": {
"type": "integer",
"description": "Pagination Offset"
},
"limit": {
"type": "integer",
"description": "Pagination Limit"
},
"sort": {
"type": "array",
"description": "Sorting",
"items": {
"$ref": "#/components/schemas/SortObject"
}
},
"filter": {
"type": "array",
"description": "Filters",
"items": {
"$ref": "#/components/schemas/FilterObject"
}
},
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/HostObject"
}
}
}
}

View File

@@ -0,0 +1,55 @@
{
"type": "object",
"description": "HostObject",
"additionalProperties": false,
"required": [
"id",
"created_on",
"modified_on",
"expires_on",
"user_id",
"provider",
"name",
"domain_names"
],
"properties": {
"id": {
"type": "integer",
"minimum": 1
},
"created_on": {
"type": "integer",
"minimum": 1
},
"modified_on": {
"type": "integer",
"minimum": 1
},
"expires_on": {
"type": "integer",
"minimum": 1
},
"user_id": {
"type": "integer",
"minimum": 1
},
"provider": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"domain_names": {
"type": "array",
"minItems": 1,
"items": {
"type": "string",
"minLength": 4
}
}
}
}

View File

@@ -0,0 +1,45 @@
{
"type": "object",
"description": "SettingList",
"additionalProperties": false,
"required": [
"total",
"offset",
"limit",
"sort"
],
"properties": {
"total": {
"type": "integer",
"description": "Total number of rows"
},
"offset": {
"type": "integer",
"description": "Pagination Offset"
},
"limit": {
"type": "integer",
"description": "Pagination Limit"
},
"sort": {
"type": "array",
"description": "Sorting",
"items": {
"$ref": "#/components/schemas/SortObject"
}
},
"filter": {
"type": "array",
"description": "Filters",
"items": {
"$ref": "#/components/schemas/FilterObject"
}
},
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SettingObject"
}
}
}
}

View File

@@ -0,0 +1,45 @@
{
"type": "object",
"description": "SettingObject",
"additionalProperties": false,
"required": [
"id",
"name",
"value"
],
"properties": {
"id": {
"type": "integer",
"minimum": 1
},
"created_on": {
"type": "integer",
"minimum": 1
},
"modified_on": {
"type": "integer",
"minimum": 1
},
"name": {
"type": "string",
"minLength": 2,
"maxLength": 100
},
"value": {
"oneOf": [
{
"type": "array"
},
{
"type": "boolean"
},
{
"type": "object"
},
{
"type": "integer"
}
]
}
}
}

View File

@@ -0,0 +1,20 @@
{
"type": "object",
"description": "SortObject",
"additionalProperties": false,
"required": [
"field",
"direction"
],
"properties": {
"field": {
"type": "string",
"description": "Field for sorting on"
},
"direction": {
"type": "string",
"description": "Sort order",
"pattern": "^(ASC|DESC)$"
}
}
}

View File

@@ -0,0 +1,45 @@
{
"type": "object",
"description": "StreamList",
"additionalProperties": false,
"required": [
"total",
"offset",
"limit",
"sort"
],
"properties": {
"total": {
"type": "integer",
"description": "Total number of rows"
},
"offset": {
"type": "integer",
"description": "Pagination Offset"
},
"limit": {
"type": "integer",
"description": "Pagination Limit"
},
"sort": {
"type": "array",
"description": "Sorting",
"items": {
"$ref": "#/components/schemas/SortObject"
}
},
"filter": {
"type": "array",
"description": "Filters",
"items": {
"$ref": "#/components/schemas/FilterObject"
}
},
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StreamObject"
}
}
}
}

View File

@@ -0,0 +1,55 @@
{
"type": "object",
"description": "StreamObject",
"additionalProperties": false,
"required": [
"id",
"created_on",
"modified_on",
"expires_on",
"user_id",
"provider",
"name",
"domain_names"
],
"properties": {
"id": {
"type": "integer",
"minimum": 1
},
"created_on": {
"type": "integer",
"minimum": 1
},
"modified_on": {
"type": "integer",
"minimum": 1
},
"expires_on": {
"type": "integer",
"minimum": 1
},
"user_id": {
"type": "integer",
"minimum": 1
},
"provider": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"domain_names": {
"type": "array",
"minItems": 1,
"items": {
"type": "string",
"minLength": 4
}
}
}
}

View File

@@ -0,0 +1,22 @@
{
"type": "object",
"description": "TokenObject",
"additionalProperties": false,
"required": [
"expires",
"token"
],
"properties": {
"expires": {
"type": "number",
"description": "Token Expiry Unix Time",
"example": 1566540249,
"minimum": 1
},
"token": {
"type": "string",
"description": "JWT Token",
"example": "eyJhbGciOiJSUzUxMiIsInR5cCI6IkpXVCJ9.ey...xaHKYr3Kk6MvkUjcC4"
}
}
}

View File

@@ -0,0 +1,45 @@
{
"type": "object",
"description": "UserList",
"additionalProperties": false,
"required": [
"total",
"offset",
"limit",
"sort"
],
"properties": {
"total": {
"type": "integer",
"description": "Total number of rows"
},
"offset": {
"type": "integer",
"description": "Pagination Offset"
},
"limit": {
"type": "integer",
"description": "Pagination Limit"
},
"sort": {
"type": "array",
"description": "Sorting",
"items": {
"$ref": "#/components/schemas/SortObject"
}
},
"filter": {
"type": "array",
"description": "Filters",
"items": {
"$ref": "#/components/schemas/FilterObject"
}
},
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/UserObject"
}
}
}
}

View File

@@ -0,0 +1,75 @@
{
"type": "object",
"description": "UserObject",
"additionalProperties": false,
"required": [
"id",
"name",
"nickname",
"email",
"created_on",
"modified_on",
"roles",
"is_disabled"
],
"properties": {
"id": {
"type": "integer",
"minimum": 1
},
"name": {
"type": "string",
"minLength": 2,
"maxLength": 100
},
"nickname": {
"type": "string",
"minLength": 2,
"maxLength": 100
},
"email": {
"type": "string",
"minLength": 5,
"maxLength": 150
},
"created_on": {
"type": "integer",
"minimum": 1
},
"modified_on": {
"type": "integer",
"minimum": 1
},
"roles": {
"type": "array",
"items": {
"type": "string",
"minLength": 2
}
},
"gravatar_url": {
"type": "string"
},
"is_disabled": {
"type": "boolean"
},
"is_deleted": {
"type": "boolean"
},
"auth": {
"type": "object",
"required": [
"type"
],
"properties": {
"id": {
"type": "integer"
},
"type": {
"type": "string",
"pattern": "^password$"
}
}
}
}
}