reCoreD-UI/docs/swagger.json

1044 lines
40 KiB
JSON
Raw Normal View History

2024-04-13 02:30:02 +00:00
{
"swagger": "2.0",
"info": {
2024-04-19 04:47:00 +00:00
"description": "APIs for reCoreD-UI",
"title": "reCoreD-UI API",
"contact": {},
"version": "1.0"
2024-04-13 02:30:02 +00:00
},
2024-04-19 04:47:00 +00:00
"basePath": "/api/v1",
"paths": {
"/domains/": {
"get": {
"description": "List all domains",
"consumes": [
"application/json"
],
"tags": [
"domains"
],
"summary": "List all domains",
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"$ref": "#/definitions/server.Response"
},
{
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/definitions/models.Domain"
}
}
}
}
]
}
},
"401": {
"description": "Unauthorized",
"schema": {
"allOf": [
{
"$ref": "#/definitions/server.Response"
},
{
"type": "object",
"properties": {
"data": {
"type": "object"
}
}
}
]
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"allOf": [
{
"$ref": "#/definitions/server.Response"
},
{
"type": "object",
"properties": {
"data": {
"type": "object"
}
}
}
]
}
}
}
},
"put": {
"description": "Update a domain",
"consumes": [
"application/json"
],
"tags": [
"domains"
],
"summary": "Update a domain",
"parameters": [
{
"description": "content",
"name": "object",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/models.Domain"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"$ref": "#/definitions/server.Response"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/definitions/models.Domain"
}
}
}
]
}
},
"400": {
"description": "Bad Request",
"schema": {
"allOf": [
{
"$ref": "#/definitions/server.Response"
},
{
"type": "object",
"properties": {
"data": {
"type": "object"
}
}
}
]
}
},
"401": {
"description": "Unauthorized",
"schema": {
"allOf": [
{
"$ref": "#/definitions/server.Response"
},
{
"type": "object",
"properties": {
"data": {
"type": "object"
}
}
}
]
}
},
"404": {
"description": "Not Found",
"schema": {
"allOf": [
{
"$ref": "#/definitions/server.Response"
},
{
"type": "object",
"properties": {
"data": {
"type": "object"
}
}
}
]
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"allOf": [
{
"$ref": "#/definitions/server.Response"
},
{
"type": "object",
"properties": {
"data": {
"type": "object"
}
}
}
]
}
}
}
},
"post": {
"description": "Create a domain",
"tags": [
"domains"
],
"summary": "Create a domain",
"parameters": [
{
"description": "content",
"name": "object",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/models.Domain"
}
}
],
"responses": {
"201": {
"description": "Created",
"schema": {
"allOf": [
{
"$ref": "#/definitions/server.Response"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/definitions/models.Domain"
}
}
}
]
}
},
"400": {
"description": "Bad Request",
"schema": {
"allOf": [
{
"$ref": "#/definitions/server.Response"
},
{
"type": "object",
"properties": {
"data": {
"type": "object"
}
}
}
]
}
},
"401": {
"description": "Unauthorized",
"schema": {
"allOf": [
{
"$ref": "#/definitions/server.Response"
},
{
"type": "object",
"properties": {
"data": {
"type": "object"
}
}
}
]
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"allOf": [
{
"$ref": "#/definitions/server.Response"
},
{
"type": "object",
"properties": {
"data": {
"type": "object"
}
}
}
]
}
}
}
}
},
"/domains/{id}": {
"delete": {
"description": "Delete a domain",
"tags": [
"domains"
],
"summary": "Delete a domain",
"parameters": [
{
"type": "integer",
"description": "Domain ID",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"204": {
"description": "No Content",
"schema": {
"allOf": [
{
"$ref": "#/definitions/server.Response"
},
{
"type": "object",
"properties": {
"data": {
"type": "object"
}
}
}
]
}
},
"401": {
"description": "Unauthorized",
"schema": {
"allOf": [
{
"$ref": "#/definitions/server.Response"
},
{
"type": "object",
"properties": {
"data": {
"type": "object"
}
}
}
]
}
},
"404": {
"description": "Not Found",
"schema": {
"allOf": [
{
"$ref": "#/definitions/server.Response"
},
{
"type": "object",
"properties": {
"data": {
"type": "object"
}
}
}
]
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"allOf": [
{
"$ref": "#/definitions/server.Response"
},
{
"type": "object",
"properties": {
"data": {
"type": "object"
}
}
}
]
}
}
}
}
},
"/records/{domain}": {
"get": {
"description": "List all records of a domain",
"tags": [
"records"
],
"summary": "List all records of a domain",
"parameters": [
{
"type": "string",
"description": "domain",
"name": "domain",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"$ref": "#/definitions/server.Response"
},
{
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/definitions/models.Record-models_RecordContentDefault"
}
}
}
}
]
}
},
"401": {
"description": "Unauthorized",
"schema": {
"allOf": [
{
"$ref": "#/definitions/server.Response"
},
{
"type": "object",
"properties": {
"data": {
"type": "object"
}
}
}
]
}
},
"404": {
"description": "Not Found",
"schema": {
"allOf": [
{
"$ref": "#/definitions/server.Response"
},
{
"type": "object",
"properties": {
"data": {
"type": "object"
}
}
}
]
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"allOf": [
{
"$ref": "#/definitions/server.Response"
},
{
"type": "object",
"properties": {
"data": {
"type": "object"
}
}
}
]
}
}
}
},
"put": {
"description": "Update a record of a domain",
"consumes": [
"application/json"
],
"tags": [
"records"
],
"summary": "Update a record of a domain",
"parameters": [
{
"type": "string",
"description": "domain",
"name": "domain",
"in": "path",
"required": true
},
{
"description": "content",
"name": "object",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/models.Record-models_RecordContentDefault"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"$ref": "#/definitions/server.Response"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/definitions/models.Record-models_RecordContentDefault"
}
}
}
]
}
},
"400": {
"description": "Bad Request",
"schema": {
"allOf": [
{
"$ref": "#/definitions/server.Response"
},
{
"type": "object",
"properties": {
"data": {
"type": "object"
}
}
}
]
}
},
"401": {
"description": "Unauthorized",
"schema": {
"allOf": [
{
"$ref": "#/definitions/server.Response"
},
{
"type": "object",
"properties": {
"data": {
"type": "object"
}
}
}
]
}
},
"404": {
"description": "Not Found",
"schema": {
"allOf": [
{
"$ref": "#/definitions/server.Response"
},
{
"type": "object",
"properties": {
"data": {
"type": "object"
}
}
}
]
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"allOf": [
{
"$ref": "#/definitions/server.Response"
},
{
"type": "object",
"properties": {
"data": {
"type": "object"
}
}
}
]
}
}
}
},
"post": {
"description": "Create a record of a domain",
"consumes": [
"application/json"
],
"tags": [
"records"
],
"summary": "Create a record of a domain",
"parameters": [
{
"type": "string",
"description": "domain",
"name": "domain",
"in": "path",
"required": true
},
{
"description": "content",
"name": "object",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/models.Record-models_RecordContentDefault"
}
}
],
"responses": {
"201": {
"description": "Created",
"schema": {
"allOf": [
{
"$ref": "#/definitions/server.Response"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/definitions/models.Record-models_RecordContentDefault"
}
}
}
]
}
},
"400": {
"description": "Bad Request",
"schema": {
"allOf": [
{
"$ref": "#/definitions/server.Response"
},
{
"type": "object",
"properties": {
"data": {
"type": "object"
}
}
}
]
}
},
"401": {
"description": "Unauthorized",
"schema": {
"allOf": [
{
"$ref": "#/definitions/server.Response"
},
{
"type": "object",
"properties": {
"data": {
"type": "object"
}
}
}
]
}
},
"404": {
"description": "Not Found",
"schema": {
"allOf": [
{
"$ref": "#/definitions/server.Response"
},
{
"type": "object",
"properties": {
"data": {
"type": "object"
}
}
}
]
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"allOf": [
{
"$ref": "#/definitions/server.Response"
},
{
"type": "object",
"properties": {
"data": {
"type": "object"
}
}
}
]
}
}
}
}
},
"/records/{domain}/bulk": {
"post": {
"description": "Create some records of a domain",
"consumes": [
"application/json"
],
"tags": [
"records"
],
"summary": "Create some records of a domain",
"parameters": [
{
"type": "string",
"description": "domain",
"name": "domain",
"in": "path",
"required": true
},
{
"description": "content",
"name": "object",
"in": "body",
"required": true,
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/models.Record-models_RecordContentDefault"
}
}
}
],
"responses": {
"201": {
"description": "Created",
"schema": {
"allOf": [
{
"$ref": "#/definitions/server.Response"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/definitions/models.Record-models_RecordContentDefault"
}
}
}
]
}
},
"400": {
"description": "Bad Request",
"schema": {
"allOf": [
{
"$ref": "#/definitions/server.Response"
},
{
"type": "object",
"properties": {
"data": {
"type": "object"
}
}
}
]
}
},
"401": {
"description": "Unauthorized",
"schema": {
"allOf": [
{
"$ref": "#/definitions/server.Response"
},
{
"type": "object",
"properties": {
"data": {
"type": "object"
}
}
}
]
}
},
"404": {
"description": "Not Found",
"schema": {
"allOf": [
{
"$ref": "#/definitions/server.Response"
},
{
"type": "object",
"properties": {
"data": {
"type": "object"
}
}
}
]
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"allOf": [
{
"$ref": "#/definitions/server.Response"
},
{
"type": "object",
"properties": {
"data": {
"type": "object"
}
}
}
]
}
}
}
}
},
"/records/{domain}/{id}": {
"delete": {
"description": "Delete a record of a domain, except SOA record.",
"tags": [
"records"
],
"summary": "Delete a record of a domain",
"parameters": [
{
"type": "string",
"description": "domain",
"name": "domain",
"in": "path",
"required": true
},
{
"type": "integer",
"description": "Record ID",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"204": {
"description": "No Content",
"schema": {
"allOf": [
{
"$ref": "#/definitions/server.Response"
},
{
"type": "object",
"properties": {
"data": {
"type": "object"
}
}
}
]
}
},
"400": {
"description": "Bad Request",
"schema": {
"allOf": [
{
"$ref": "#/definitions/server.Response"
},
{
"type": "object",
"properties": {
"data": {
"type": "object"
}
}
}
]
}
},
"401": {
"description": "Unauthorized",
"schema": {
"allOf": [
{
"$ref": "#/definitions/server.Response"
},
{
"type": "object",
"properties": {
"data": {
"type": "object"
}
}
}
]
}
},
"404": {
"description": "Not Found",
"schema": {
"allOf": [
{
"$ref": "#/definitions/server.Response"
},
{
"type": "object",
"properties": {
"data": {
"type": "object"
}
}
}
]
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"allOf": [
{
"$ref": "#/definitions/server.Response"
},
{
"type": "object",
"properties": {
"data": {
"type": "object"
}
}
}
]
}
}
}
}
}
},
"definitions": {
"models.Domain": {
"type": "object",
"properties": {
"admin_email": {
"type": "string"
},
"domain_name": {
"type": "string"
},
"expiry_period": {
"type": "integer"
},
"id": {
"type": "integer"
},
"main_dns": {
"type": "string"
},
"negative_ttl": {
"type": "integer"
},
"refresh_interval": {
"type": "integer"
},
"retry_interval": {
"type": "integer"
},
"serial_number": {
"type": "integer"
}
}
},
"models.Record-models_RecordContentDefault": {
"type": "object",
"properties": {
"content": {
"description": "see https://github.com/cloud66-oss/coredns_mysql/blob/main/types.go for content",
"allOf": [
{
"$ref": "#/definitions/models.RecordContentDefault"
}
]
},
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"record_type": {
"type": "string"
},
"ttl": {
"type": "integer"
},
"zone": {
"type": "string"
}
}
},
"models.RecordContentDefault": {
"type": "object",
"additionalProperties": {}
},
"server.Response": {
"type": "object",
"properties": {
"data": {
"description": "payload here"
},
"message": {
"description": "error message",
"type": "string"
},
"succeed": {
"description": "`true` for 2xx, else `false`",
"type": "boolean"
}
}
}
},
"securityDefinitions": {
"BasicAuth": {
"type": "basic"
}
}
2024-04-13 02:30:02 +00:00
}