new changes
This commit is contained in:
20
panel-api/routes/api_v1/hosting.php
Normal file
20
panel-api/routes/api_v1/hosting.php
Normal file
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Support\Facades\Route;
|
||||
use App\Modules\Site\SiteController;
|
||||
use App\Modules\Ssl\SslController;
|
||||
|
||||
Route::prefix('v1')->middleware(['auth:sanctum'])->group(function (): void {
|
||||
Route::get('/sites', [SiteController::class, 'index']);
|
||||
Route::post('/sites', [SiteController::class, 'store']);
|
||||
Route::get('/sites/{site}', [SiteController::class, 'show']);
|
||||
Route::patch('/sites/{site}', [SiteController::class, 'update']);
|
||||
Route::delete('/sites/{site}', [SiteController::class, 'destroy']);
|
||||
|
||||
Route::post('/sites/{site}/domains', [SiteController::class, 'addDomain']);
|
||||
Route::delete('/sites/{site}/domains/{domain}', [SiteController::class, 'removeDomain']);
|
||||
|
||||
Route::post('/ssl/issue', [SslController::class, 'issue']);
|
||||
Route::post('/ssl/apply', [SslController::class, 'apply']);
|
||||
Route::post('/ssl/renew', [SslController::class, 'renew']);
|
||||
});
|
||||
26
panel-api/routes/api_v1/identity.php
Normal file
26
panel-api/routes/api_v1/identity.php
Normal file
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Support\Facades\Route;
|
||||
use App\Modules\Auth\AuthController;
|
||||
use App\Modules\Tenant\TenantController;
|
||||
use App\Modules\Rbac\RbacController;
|
||||
|
||||
Route::prefix('v1')->group(function (): void {
|
||||
Route::post('/auth/login', [AuthController::class, 'login']);
|
||||
Route::post('/auth/refresh', [AuthController::class, 'refresh']);
|
||||
|
||||
Route::middleware(['auth:sanctum'])->group(function (): void {
|
||||
Route::get('/auth/me', [AuthController::class, 'me']);
|
||||
Route::post('/auth/logout', [AuthController::class, 'logout']);
|
||||
|
||||
Route::get('/tenants', [TenantController::class, 'index']);
|
||||
Route::post('/tenants', [TenantController::class, 'store']);
|
||||
Route::get('/tenants/{tenant}', [TenantController::class, 'show']);
|
||||
|
||||
Route::get('/rbac/roles', [RbacController::class, 'roles']);
|
||||
Route::post('/rbac/roles', [RbacController::class, 'createRole']);
|
||||
Route::post('/rbac/roles/{role}/permissions', [RbacController::class, 'attachPermissions']);
|
||||
Route::post('/rbac/users/{user}/roles', [RbacController::class, 'assignRoles']);
|
||||
Route::post('/rbac/check', [RbacController::class, 'checkAccess']);
|
||||
});
|
||||
});
|
||||
8
panel-api/routes/api_v1/jobs.php
Normal file
8
panel-api/routes/api_v1/jobs.php
Normal file
@@ -0,0 +1,8 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Support\Facades\Route;
|
||||
use App\Modules\Jobs\JobController;
|
||||
|
||||
Route::prefix('v1')->middleware(['auth:sanctum'])->group(function (): void {
|
||||
Route::post('/jobs/dispatch', [JobController::class, 'dispatch']);
|
||||
});
|
||||
11
panel-api/routes/api_v1/marketplace.php
Normal file
11
panel-api/routes/api_v1/marketplace.php
Normal file
@@ -0,0 +1,11 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Support\Facades\Route;
|
||||
use App\Modules\Marketplace\MarketplaceController;
|
||||
|
||||
Route::prefix('v1')->middleware(['auth:sanctum'])->group(function (): void {
|
||||
Route::get('/plugin-market', [MarketplaceController::class, 'catalog']);
|
||||
Route::post('/plugins/install', [MarketplaceController::class, 'install']);
|
||||
Route::post('/plugins/update', [MarketplaceController::class, 'update']);
|
||||
Route::post('/plugins/remove', [MarketplaceController::class, 'remove']);
|
||||
});
|
||||
15
panel-api/routes/api_v1/monitoring.php
Normal file
15
panel-api/routes/api_v1/monitoring.php
Normal file
@@ -0,0 +1,15 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Support\Facades\Route;
|
||||
use App\Modules\Monitoring\MonitoringController;
|
||||
use App\Modules\Monitoring\MetricsIngestController;
|
||||
|
||||
Route::prefix('v1')->middleware(['auth:sanctum'])->group(function (): void {
|
||||
Route::get('/metrics/servers/{serverId}/live', [MonitoringController::class, 'liveServerMetrics']);
|
||||
Route::post('/alerts/rules', [MonitoringController::class, 'createAlertRule']);
|
||||
Route::get('/alerts', [MonitoringController::class, 'listAlerts']);
|
||||
});
|
||||
|
||||
Route::prefix('v1')->group(function (): void {
|
||||
Route::post('/metrics/ingest', [MetricsIngestController::class, 'ingest']);
|
||||
});
|
||||
24
panel-api/routes/api_v1/ops.php
Normal file
24
panel-api/routes/api_v1/ops.php
Normal file
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Support\Facades\Route;
|
||||
use App\Modules\Ops\FileOpsController;
|
||||
use App\Modules\Ops\CronController;
|
||||
use App\Modules\Ops\FirewallController;
|
||||
use App\Modules\Ops\BackupController;
|
||||
|
||||
Route::prefix('v1')->middleware(['auth:sanctum'])->group(function (): void {
|
||||
Route::post('/files/list', [FileOpsController::class, 'list']);
|
||||
Route::post('/files/read', [FileOpsController::class, 'read']);
|
||||
Route::post('/files/write', [FileOpsController::class, 'write']);
|
||||
|
||||
Route::get('/cron/jobs', [CronController::class, 'index']);
|
||||
Route::post('/cron/jobs', [CronController::class, 'store']);
|
||||
Route::delete('/cron/jobs', [CronController::class, 'destroy']);
|
||||
|
||||
Route::get('/firewall/rules', [FirewallController::class, 'index']);
|
||||
Route::post('/firewall/rules', [FirewallController::class, 'store']);
|
||||
Route::delete('/firewall/rules', [FirewallController::class, 'destroy']);
|
||||
|
||||
Route::post('/backups/run', [BackupController::class, 'run']);
|
||||
Route::post('/backups/restore', [BackupController::class, 'restore']);
|
||||
});
|
||||
9
panel-api/routes/api_v1/public.php
Normal file
9
panel-api/routes/api_v1/public.php
Normal file
@@ -0,0 +1,9 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Support\Facades\Route;
|
||||
use App\Modules\PublicApi\PublicApiController;
|
||||
|
||||
Route::prefix('v1/public')->group(function (): void {
|
||||
Route::post('/tokens', [PublicApiController::class, 'issueToken']);
|
||||
Route::post('/tokens/introspect', [PublicApiController::class, 'introspect']);
|
||||
});
|
||||
9
panel-api/routes/api_v1/saas.php
Normal file
9
panel-api/routes/api_v1/saas.php
Normal file
@@ -0,0 +1,9 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Support\Facades\Route;
|
||||
use App\Modules\SaaS\SaaSController;
|
||||
|
||||
Route::prefix('v1')->middleware(['auth:sanctum'])->group(function (): void {
|
||||
Route::post('/saas/quotas/check', [SaaSController::class, 'checkQuota']);
|
||||
Route::post('/saas/usage-events', [SaaSController::class, 'usageEvent']);
|
||||
});
|
||||
18
panel-api/routes/api_v1/servers.php
Normal file
18
panel-api/routes/api_v1/servers.php
Normal file
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Support\Facades\Route;
|
||||
use App\Modules\Server\ServerController;
|
||||
use App\Modules\Agents\AgentController;
|
||||
|
||||
Route::prefix('v1')->middleware(['auth:sanctum'])->group(function (): void {
|
||||
Route::get('/servers', [ServerController::class, 'index']);
|
||||
Route::post('/servers', [ServerController::class, 'store']);
|
||||
Route::get('/servers/{server}', [ServerController::class, 'show']);
|
||||
Route::patch('/servers/{server}', [ServerController::class, 'update']);
|
||||
Route::delete('/servers/{server}', [ServerController::class, 'destroy']);
|
||||
|
||||
Route::post('/servers/{server}/enrollment-token', [AgentController::class, 'issueEnrollmentToken']);
|
||||
Route::get('/servers/{server}/capabilities', [AgentController::class, 'capabilities']);
|
||||
Route::get('/servers/{server}/sessions', [AgentController::class, 'sessions']);
|
||||
Route::post('/servers/{server}/heartbeat', [AgentController::class, 'heartbeat']);
|
||||
});
|
||||
10
panel-api/routes/api_v1/webhooks.php
Normal file
10
panel-api/routes/api_v1/webhooks.php
Normal file
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Support\Facades\Route;
|
||||
use App\Modules\Webhook\WebhookController;
|
||||
|
||||
Route::prefix('v1')->middleware(['auth:sanctum'])->group(function (): void {
|
||||
Route::get('/webhooks', [WebhookController::class, 'index']);
|
||||
Route::post('/webhooks', [WebhookController::class, 'store']);
|
||||
Route::post('/webhooks/test', [WebhookController::class, 'testDelivery']);
|
||||
});
|
||||
Reference in New Issue
Block a user