changed from content to panel
Signed-off-by: tracer <tracer@24unix.net>
This commit is contained in:
parent
1ad945fbf2
commit
8c7755e096
|
@ -22,17 +22,17 @@ use OpenApi\Attributes as OAT;
|
||||||
*/
|
*/
|
||||||
#[OAT\Info(version: '0.0.1', title: 'bindAPI')]
|
#[OAT\Info(version: '0.0.1', title: 'bindAPI')]
|
||||||
#[OAT\Server(
|
#[OAT\Server(
|
||||||
url: "{schema}://{hostname}/api",
|
url : "{schema}://{hostname}/api",
|
||||||
description: "The bindAPI URL.",
|
description: "The bindAPI URL.",
|
||||||
variables: [
|
variables : [
|
||||||
new OAT\ServerVariable(
|
new OAT\ServerVariable(
|
||||||
serverVariable: "schema",
|
serverVariable: "schema",
|
||||||
default: "https",
|
default : "https",
|
||||||
enum: ["https", "http"]
|
enum : ["https", "http"]
|
||||||
),
|
),
|
||||||
new OAT\ServerVariable(
|
new OAT\ServerVariable(
|
||||||
serverVariable: "hostname",
|
serverVariable: "hostname",
|
||||||
default: "ns2.24unix.net",
|
default : "ns2.24unix.net",
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
)]
|
)]
|
||||||
|
@ -41,10 +41,10 @@ use OpenApi\Attributes as OAT;
|
||||||
)]
|
)]
|
||||||
#[OAT\SecurityScheme(
|
#[OAT\SecurityScheme(
|
||||||
securityScheme: "Authorization",
|
securityScheme: "Authorization",
|
||||||
type: "apiKey",
|
type : "apiKey",
|
||||||
description: "description",
|
description : "description",
|
||||||
name: "X-API-Key",
|
name : "X-API-Key",
|
||||||
in: "header"
|
in : "header"
|
||||||
)]
|
)]
|
||||||
class RequestController
|
class RequestController
|
||||||
{
|
{
|
||||||
|
@ -101,29 +101,29 @@ class RequestController
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
#[OAT\Get(
|
#[OAT\Get(
|
||||||
path: '/domains',
|
path : '/domains',
|
||||||
operationId: 'getAllDomains',
|
operationId: 'getAllDomains',
|
||||||
description: 'Returns a list of all domains on this server.',
|
description: 'Returns a list of all domains on this server.',
|
||||||
summary: 'Listing all domains.',
|
summary : 'Listing all domains.',
|
||||||
// security: [
|
// security: [
|
||||||
// 'Authorization' => [
|
// 'Authorization' => [
|
||||||
//
|
//
|
||||||
// "read:api"
|
// "read:api"
|
||||||
// ]
|
// ]
|
||||||
// ],
|
// ],
|
||||||
servers: [],
|
servers : [],
|
||||||
tags: ['Domains'],
|
tags : ['Domains'],
|
||||||
responses: [
|
responses : [
|
||||||
new OAT\Response(
|
new OAT\Response(
|
||||||
response: 200,
|
response : 200,
|
||||||
description: 'OK'
|
description: 'OK'
|
||||||
),
|
),
|
||||||
new OAT\Response(
|
new OAT\Response(
|
||||||
response: 401,
|
response : 401,
|
||||||
description: 'API key is missing or invalid.'
|
description: 'API key is missing or invalid.'
|
||||||
),
|
),
|
||||||
new OAT\Response(
|
new OAT\Response(
|
||||||
response: 404,
|
response : 404,
|
||||||
description: 'Domain not found.'
|
description: 'Domain not found.'
|
||||||
)]
|
)]
|
||||||
)]
|
)]
|
||||||
|
@ -186,27 +186,27 @@ class RequestController
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#[OAT\Get(
|
#[OAT\Get(
|
||||||
path: '/domains/{name}',
|
path : '/domains/{name}',
|
||||||
operationId: 'getSingleDomain',
|
operationId: 'getSingleDomain',
|
||||||
description: 'Returns information of a single domain specified by its domain name.',
|
description: 'Returns information of a single domain specified by its domain name.',
|
||||||
summary: 'Returns a single domain.',
|
summary : 'Returns a single domain.',
|
||||||
security: [
|
security : [
|
||||||
],
|
],
|
||||||
tags: ['Domains'],
|
tags : ['Domains'],
|
||||||
parameters: [
|
parameters : [
|
||||||
new OAT\Parameter(name: 'name', in: 'path', required: true, schema: new OAT\Schema(type: 'string')),
|
new OAT\Parameter(name: 'name', in: 'path', required: true, schema: new OAT\Schema(type: 'string')),
|
||||||
],
|
],
|
||||||
responses: [
|
responses : [
|
||||||
new OAT\Response(
|
new OAT\Response(
|
||||||
response: 200,
|
response : 200,
|
||||||
description: 'OK'
|
description: 'OK'
|
||||||
),
|
),
|
||||||
new OAT\Response(
|
new OAT\Response(
|
||||||
response: 401,
|
response : 401,
|
||||||
description: 'API key is missing or invalid.'
|
description: 'API key is missing or invalid.'
|
||||||
),
|
),
|
||||||
new OAT\Response(
|
new OAT\Response(
|
||||||
response: 404,
|
response : 404,
|
||||||
description: 'Domain not found.'
|
description: 'Domain not found.'
|
||||||
)]
|
)]
|
||||||
|
|
||||||
|
@ -316,7 +316,7 @@ class RequestController
|
||||||
$domain = [
|
$domain = [
|
||||||
'id' => $result->getId(),
|
'id' => $result->getId(),
|
||||||
'name' => $result->getName(),
|
'name' => $result->getName(),
|
||||||
'content' => json_decode(json: $result->getContent())
|
'panel' => $result->getPanel()
|
||||||
];
|
];
|
||||||
$this->result = $domain;
|
$this->result = $domain;
|
||||||
} else {
|
} else {
|
||||||
|
@ -334,7 +334,7 @@ class RequestController
|
||||||
$domain = [
|
$domain = [
|
||||||
'id' => $result->getId(),
|
'id' => $result->getId(),
|
||||||
'name' => $result->getName(),
|
'name' => $result->getName(),
|
||||||
'content' => json_decode(json: $result->getContent())
|
'panel' => $result->getPanel()
|
||||||
];
|
];
|
||||||
$this->result = $domain;
|
$this->result = $domain;
|
||||||
} else {
|
} else {
|
||||||
|
@ -342,7 +342,6 @@ class RequestController
|
||||||
$this->status = "404 Not Found ";
|
$this->status = "404 Not Found ";
|
||||||
$this->message = "The specified domain was not found.";
|
$this->message = "The specified domain was not found.";
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
$this->header = "400 Bad request";
|
$this->header = "400 Bad request";
|
||||||
$this->status = "400 Not Found";
|
$this->status = "400 Not Found";
|
||||||
|
@ -362,23 +361,22 @@ class RequestController
|
||||||
{
|
{
|
||||||
$name = $_POST['name'] ?? '';
|
$name = $_POST['name'] ?? '';
|
||||||
$panel = $_POST['panel'] ?? '';
|
$panel = $_POST['panel'] ?? '';
|
||||||
$content = $_POST['content'] ?? '';
|
|
||||||
if (empty($name)) {
|
if (empty($name)) {
|
||||||
$this->header = "400 Bad Request";
|
$this->header = "400 Bad Request";
|
||||||
$this->status = "400 Bad Request";
|
$this->status = "400 Bad Request";
|
||||||
$this->message = "A name is required";
|
$this->message = "A name is required";
|
||||||
} else {
|
} else {
|
||||||
if (empty($a) && empty($aaaa) && empty($panel)) {
|
if (empty($panel)) {
|
||||||
$this->header = "400 Bad Request";
|
$this->header = "400 Bad Request";
|
||||||
$this->status = "400 Bad Request";
|
$this->status = "400 Bad Request";
|
||||||
$this->message = "At least one IP address or panel ID is required.";
|
$this->message = "A panel ID is required.";
|
||||||
} else {
|
} else {
|
||||||
if ($this->domainRepository->findByName(name: $name)) {
|
if ($this->domainRepository->findByName(name: $name)) {
|
||||||
$this->header = "400 Bad request";
|
$this->header = "400 Bad request";
|
||||||
$this->status = "400 Bad request";
|
$this->status = "400 Bad request";
|
||||||
$this->message = "Domain: $name already exists.";
|
$this->message = "Domain: $name already exists.";
|
||||||
} else {
|
} else {
|
||||||
$domain = new Domain(name: $name, content: $content);
|
$domain = new Domain(name: $name, panel: $panel);
|
||||||
if ($result = $this->domainRepository->insert(domain: $domain)) {
|
if ($result = $this->domainRepository->insert(domain: $domain)) {
|
||||||
$this->header = "201 Created";
|
$this->header = "201 Created";
|
||||||
$this->status = "201 Created";
|
$this->status = "201 Created";
|
||||||
|
@ -396,8 +394,7 @@ class RequestController
|
||||||
/**
|
/**
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public
|
public function handleDomainPutRequest(): void
|
||||||
function handleDomainPutRequest(): void
|
|
||||||
{
|
{
|
||||||
$putData = fopen(filename: 'php://input', mode: 'r');
|
$putData = fopen(filename: 'php://input', mode: 'r');
|
||||||
$data = fread(stream: $putData, length: 512);
|
$data = fread(stream: $putData, length: 512);
|
||||||
|
@ -409,9 +406,10 @@ class RequestController
|
||||||
}
|
}
|
||||||
$id = $put['id'] ?? 0;
|
$id = $put['id'] ?? 0;
|
||||||
$name = $put['name'] ?? '';
|
$name = $put['name'] ?? '';
|
||||||
$content = $put['content'] ?? "";
|
$panel = $put['panel'] ?? "";
|
||||||
|
|
||||||
if ($id == 0) {
|
if ($id == 0) {
|
||||||
|
$this->header = "400 Bad Request";
|
||||||
$this->status = "400 Bad Request";
|
$this->status = "400 Bad Request";
|
||||||
$this->message = "An ID is required";
|
$this->message = "An ID is required";
|
||||||
} else {
|
} else {
|
||||||
|
@ -420,15 +418,7 @@ class RequestController
|
||||||
$this->message = "Domain with ID : $id doesn't exist.";
|
$this->message = "Domain with ID : $id doesn't exist.";
|
||||||
} else {
|
} else {
|
||||||
// TODO not required, as we rely on the ID
|
// TODO not required, as we rely on the ID
|
||||||
if (empty($name)) {
|
$domain = new Domain(name: $name, panel: $panel, id: $id);
|
||||||
$this->status = "400 Bad Request";
|
|
||||||
$this->message = "A name is required";
|
|
||||||
} else {
|
|
||||||
if (empty($a) && empty($aaaa)) {
|
|
||||||
$this->status = "400 Bad Request";
|
|
||||||
$this->message = "At least one IP address is required.";
|
|
||||||
} else {
|
|
||||||
$domain = new Domain(name: $name, id: $id, content: $content);
|
|
||||||
$this->domainRepository->update(domain: $domain);
|
$this->domainRepository->update(domain: $domain);
|
||||||
$this->header = "201 Updated";
|
$this->header = "201 Updated";
|
||||||
$this->status = "201 Updated";
|
$this->status = "201 Updated";
|
||||||
|
@ -436,8 +426,6 @@ class RequestController
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -476,4 +464,4 @@ class RequestController
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue