added self for nameservers for openApi defaults.
This commit is contained in:
parent
d31ee8bdec
commit
753e96ed85
6
TODO
6
TODO
|
@ -1,6 +1,8 @@
|
|||
Cron on all 4 ns.
|
||||
BUG, NS$: No nameserver marked as this server.
|
||||
BUG, NS1: Only one nameserver is designated as our host OK, but all are …
|
||||
panels:apiping on all 4 servers
|
||||
API Endpint cleanup
|
||||
API Endpint for version
|
||||
CLI Version check
|
||||
check keytype of panel/bindApi
|
||||
more UNIT tests
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"name": "24unix/bindapi",
|
||||
"description": "manage Bind9 DNS server via REST API",
|
||||
"version": "1.0.9",
|
||||
"build_number": "370",
|
||||
"build_number": "371",
|
||||
"authors": [
|
||||
{
|
||||
"name": "Micha Espey",
|
||||
|
|
|
@ -1681,8 +1681,14 @@ class CLIController
|
|||
$nameserverList = implode(separator: "', '", array: $nameservers);
|
||||
|
||||
$currentDBVersion = $this->settingsRepository->findByName(name: 'version');
|
||||
$dbVersion = json_decode(json: $currentDBVersion);
|
||||
$versionSting = $dbVersion->version->major . '.' . $dbVersion->version->minor . '.' . $dbVersion->version->patch;
|
||||
if ($dbVersion = json_decode(json: $currentDBVersion)) {
|
||||
$versionSting = $dbVersion->version->major . '.' . $dbVersion->version->minor . '.' . $dbVersion->version->patch;
|
||||
} else {
|
||||
if (!$this->quiet) {
|
||||
echo COLOR_RED . 'Error: ' . COLOR_DEFAULT . 'Check version settings.' . PHP_EOL;
|
||||
}
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
||||
$fileContent = "<?php
|
||||
|
|
|
@ -10,8 +10,9 @@ use App\Repository\ApikeyRepository;
|
|||
use App\Repository\DomainRepository;
|
||||
use App\Repository\DynDNSRepository;
|
||||
use App\Repository\PanelRepository;
|
||||
use App\Service\ApiClient;
|
||||
use Monolog\Logger;
|
||||
use OpenApi\Attributes as OAT;
|
||||
use OpenApi\Attributes as OA;
|
||||
use OpenApi\Attributes\OpenApi;
|
||||
use OpenApi\Generator;
|
||||
use UnhandledMatchError;
|
||||
|
@ -19,27 +20,27 @@ use function Symfony\Component\String\s;
|
|||
|
||||
// TODO attributes for swaggerUI
|
||||
|
||||
#[OAT\Info(version: VERSION, title: 'bindAPI')]
|
||||
#[OAT\Server(
|
||||
#[OA\Info(version: VERSION, title: 'bindAPI')]
|
||||
#[OA\Server(
|
||||
url: "{schema}://{hostname}/api",
|
||||
description: "The bindAPI URL.",
|
||||
variables: [
|
||||
new OAT\ServerVariable(
|
||||
new OA\ServerVariable(
|
||||
serverVariable: 'schema',
|
||||
default: 'https',
|
||||
enum: ['http', 'https']
|
||||
),
|
||||
new OAT\ServerVariable(
|
||||
new OA\ServerVariable(
|
||||
serverVariable: 'hostname',
|
||||
default: DEFAULT_NS,
|
||||
enum: NAMESERVERS
|
||||
)
|
||||
]
|
||||
)]
|
||||
#[OAT\Tag(
|
||||
#[OA\Tag(
|
||||
name: "Server"
|
||||
)]
|
||||
#[OAT\SecurityScheme(
|
||||
#[OA\SecurityScheme(
|
||||
securityScheme: "Authorization",
|
||||
type: "apiKey",
|
||||
description: "Api Authentication",
|
||||
|
@ -60,7 +61,7 @@ class RequestController
|
|||
// server tag
|
||||
private string $baseDir;
|
||||
|
||||
#[OAT\Get(
|
||||
#[OA\Get(
|
||||
path: '/ping',
|
||||
operationId: 'ping',
|
||||
description: 'Checks for connectivity and valid APIkey',
|
||||
|
@ -69,11 +70,11 @@ class RequestController
|
|||
],
|
||||
tags: ['Server'],
|
||||
responses: [
|
||||
new OAT\Response(
|
||||
new OA\Response(
|
||||
response: 200,
|
||||
description: 'OK'
|
||||
),
|
||||
new OAT\Response(
|
||||
new OA\Response(
|
||||
response: 401,
|
||||
description: 'API key is missing or invalid.'
|
||||
)
|
||||
|
@ -90,7 +91,7 @@ class RequestController
|
|||
}
|
||||
}
|
||||
|
||||
#[OAT\Get(
|
||||
#[OA\Get(
|
||||
path: '/version',
|
||||
operationId: 'version',
|
||||
description: 'Check the API version of the nameserver.',
|
||||
|
@ -99,11 +100,11 @@ class RequestController
|
|||
],
|
||||
tags: ['Server'],
|
||||
responses: [
|
||||
new OAT\Response(
|
||||
new OA\Response(
|
||||
response: 200,
|
||||
description: 'x.y.z, aka major, minor, patch'
|
||||
),
|
||||
new OAT\Response(
|
||||
new OA\Response(
|
||||
response: 401,
|
||||
description: 'API key is missing or invalid.'
|
||||
)
|
||||
|
@ -129,7 +130,7 @@ class RequestController
|
|||
}
|
||||
}
|
||||
|
||||
#[OAT\Get(
|
||||
#[OA\Get(
|
||||
path: '/domains',
|
||||
operationId: 'getAllDomains',
|
||||
description: 'Returns a list of all domains on this server.',
|
||||
|
@ -139,15 +140,15 @@ class RequestController
|
|||
],
|
||||
tags: ['Domains'],
|
||||
responses: [
|
||||
new OAT\Response(
|
||||
new OA\Response(
|
||||
response: 200,
|
||||
description: 'OK'
|
||||
),
|
||||
new OAT\Response(
|
||||
new OA\Response(
|
||||
response: 401,
|
||||
description: 'API key is missing or invalid.'
|
||||
),
|
||||
new OAT\Response(
|
||||
new OA\Response(
|
||||
response: 404,
|
||||
description: 'Domain not found.'
|
||||
)]
|
||||
|
@ -238,7 +239,7 @@ class RequestController
|
|||
*/
|
||||
|
||||
#[
|
||||
OAT\Get(
|
||||
OA\Get(
|
||||
path: '/domains/{name}',
|
||||
operationId: 'getSingleDomain',
|
||||
description: 'Returns information of a single domain specified by its domain name.',
|
||||
|
@ -247,18 +248,18 @@ class RequestController
|
|||
],
|
||||
tags: ['Domains'],
|
||||
parameters: [
|
||||
new OAT\Parameter(name: 'name', in: 'path', required: true, schema: new OAT\Schema(type: 'string')),
|
||||
new OA\Parameter(name: 'name', in: 'path', required: true, schema: new OA\Schema(type: 'string')),
|
||||
],
|
||||
responses: [
|
||||
new OAT\Response(
|
||||
new OA\Response(
|
||||
response: 200,
|
||||
description: 'OK'
|
||||
),
|
||||
new OAT\Response(
|
||||
new OA\Response(
|
||||
response: 401,
|
||||
description: 'API key is missing or invalid.'
|
||||
),
|
||||
new OAT\Response(
|
||||
new OA\Response(
|
||||
response: 404,
|
||||
description: 'Domain not found.'
|
||||
)]
|
||||
|
@ -653,6 +654,7 @@ class RequestController
|
|||
// }
|
||||
|
||||
public function __construct(
|
||||
private readonly ApiClient $apiClient,
|
||||
private readonly ApikeyRepository $apikeyRepository,
|
||||
private readonly DomainController $domainController,
|
||||
private readonly DomainRepository $domainRepository,
|
||||
|
@ -694,7 +696,7 @@ class RequestController
|
|||
// domains
|
||||
'domains' => $this->handleDomains(),
|
||||
'dyndns' => $this->handleDynDNS(),
|
||||
'apidoc' => $this->apiDoc(),
|
||||
// 'apidoc' => $this->apiDoc(),
|
||||
};
|
||||
} catch (UnhandledMatchError) {
|
||||
$this->status = '400 Bad Request';
|
||||
|
|
|
@ -20,10 +20,8 @@ use Monolog\Formatter\LineFormatter;
|
|||
use Monolog\Handler\StreamHandler;
|
||||
use Monolog\Level;
|
||||
use Monolog\Logger;
|
||||
use OpenApi\Attributes as OA;
|
||||
use function DI\autowire;
|
||||
|
||||
#[OA\Info(version: '1.0.9', title: 'bindAPI')]
|
||||
class BindAPI
|
||||
{
|
||||
private Logger $logger;
|
||||
|
|
Loading…
Reference in New Issue