feat: Implement new admin API endpoints for product, customer, vCenter, and authentication, and add vCenter resource management UI.
This commit is contained in:
+45
-30
@@ -1,39 +1,17 @@
|
||||
<?php
|
||||
|
||||
use App\Http\Controllers\Api\Client\ClientController;
|
||||
use App\Http\Controllers\rest\ModuleController;
|
||||
use App\Http\Controllers\Api\Admin\Auth\AuthController;
|
||||
use App\Http\Controllers\Api\Admin\Customer\CustomerController;
|
||||
use App\Http\Controllers\Api\Admin\Invoice\InvoiceController;
|
||||
use App\Http\Controllers\Api\Admin\Order\OrderController;
|
||||
use App\Http\Controllers\Api\Admin\Product\ProductController;
|
||||
use App\Http\Controllers\Api\Admin\VCenter\VCenterController;
|
||||
use App\Http\Services\Media;
|
||||
use App\Http\Services\vCenter as ServiceVCenter;
|
||||
use App\Jobs\Hosting\CreateHostingJobs;
|
||||
use App\Jobs\VirtualMachine\Create\CreateVMJobs;
|
||||
use App\Jobs\VirtualMachine\Upgrade\UpgradeVirtualMachine;
|
||||
use App\Models\Addon;
|
||||
use App\Models\Customer;
|
||||
use App\Models\File;
|
||||
use App\Models\Hosting;
|
||||
use App\Models\Invoice;
|
||||
use App\Models\InvoiceItem;
|
||||
use App\Models\ModuleDatacenter;
|
||||
use App\Models\ModuleHost;
|
||||
use App\Models\ModuleHosting;
|
||||
use App\Models\ModuleHostingServer;
|
||||
use App\Models\ModuleIpAddress;
|
||||
use App\Models\ModuleSnapshot;
|
||||
use App\Models\ModuleVmware;
|
||||
use App\Models\Os;
|
||||
use App\Models\OsGroup;
|
||||
use App\Models\Type;
|
||||
use App\Models\vCenter;
|
||||
use App\Models\VPS;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Carbon;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Facades\Http;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
use Illuminate\Support\Str;
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
@@ -49,8 +27,44 @@ use Illuminate\Support\Str;
|
||||
Route::prefix('v1')
|
||||
/* Api for Admin */
|
||||
->group(function () {
|
||||
Route::prefix('administrator')->group(function () {
|
||||
Route::post('login', [AuthController::class, 'login']);
|
||||
|
||||
Route::middleware('api.auth:admins-api')->group(function () {
|
||||
Route::post('logout', [AuthController::class, 'logout']);
|
||||
Route::post('refresh', [AuthController::class, 'refresh']);
|
||||
Route::get('me', [AuthController::class, 'me']);
|
||||
|
||||
// Customers
|
||||
Route::prefix('customers')->group(function () {
|
||||
Route::get('/', [CustomerController::class, 'index']);
|
||||
});
|
||||
|
||||
// Products
|
||||
Route::prefix('products')->group(function () {
|
||||
Route::get('/', [ProductController::class, 'index']);
|
||||
Route::get('{id}', [ProductController::class, 'show']);
|
||||
});
|
||||
|
||||
// Orders
|
||||
Route::prefix('orders')->group(function () {
|
||||
Route::get('/', [OrderController::class, 'index']);
|
||||
});
|
||||
|
||||
// Invoices
|
||||
Route::prefix('invoices')->group(function () {
|
||||
Route::get('/', [InvoiceController::class, 'index']);
|
||||
});
|
||||
|
||||
// vCenter
|
||||
Route::prefix('vcenter')->group(function () {
|
||||
Route::get('tree', [VCenterController::class, 'tree']);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
Route::prefix('system')->middleware(['api.auth'])->group(function () {
|
||||
|
||||
|
||||
Route::post('get-all-image', function (Media $media) {
|
||||
$files = $media->getAllMedia();
|
||||
$data = view('administrator.pages.component.media')->with('media', $files)->render();
|
||||
@@ -123,6 +137,7 @@ Route::prefix('v1')
|
||||
})->name('api.GetConsoleTicket');
|
||||
});
|
||||
});
|
||||
|
||||
Route::any('{any}', function () {
|
||||
return response()->json([
|
||||
'error' => true,
|
||||
|
||||
Reference in New Issue
Block a user