update rm deadcode

This commit is contained in:
baodev0
2026-09-27 11:42:40 +07:00
parent 82a71244ca
commit 3af59bd9c5
129 changed files with 5194 additions and 2698 deletions
+46 -111
View File
@@ -26,6 +26,7 @@ use App\Http\Controllers\Api\Admin\VCenter\VCenterController;
use App\Http\Controllers\Api\Admin\DnsManager\ServerController as DnsServerController;
use App\Http\Controllers\Api\Admin\DnsManager\DomainController as DnsDomainController;
use App\Http\Controllers\Api\Admin\DnsManager\RecordController as DnsRecordController;
use App\Http\Controllers\Api\Admin\DnsManager\RegistrarController;
use App\Http\Controllers\Api\Admin\Hosting\HostingAccountController;
use App\Http\Controllers\Api\Admin\OsManager\OsGroupController;
use App\Http\Controllers\Api\Admin\OsManager\OsController;
@@ -44,11 +45,7 @@ use App\Http\Controllers\Api\Admin\Docs\PostController as AdminPostController;
use App\Http\Controllers\Api\Admin\Media\MediaController as AdminMediaController;
use App\Http\Controllers\Api\NotificationController;
use App\Http\Controllers\Api\Admin\InfraManagement\InfraManagementController;
use App\Http\Services\Media;
use App\Http\Services\vCenter as ServiceVCenter;
use App\Models\ModuleVmware;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
/*
@@ -66,7 +63,7 @@ Route::prefix('v1')
/* Api for Admin */
->group(function () {
Route::prefix('administrator')->group(function () {
Route::post('login', [AuthController::class, 'login'])->middleware('throttle:5,1');
Route::post('login', [AuthController::class, 'login'])->middleware('throttle:30,1');
Route::middleware('api.auth:admin')->group(function () {
Route::post('logout', [AuthController::class, 'logout']);
@@ -265,35 +262,47 @@ Route::prefix('v1')
->controller(AdminPostCategoryController::class)
->as('post-categories.')
->group(function () {
Route::get('/', 'index')->name('index');
Route::post('/', 'store')->name('store');
Route::get('trashed', 'trashed')->name('trashed');
Route::post('bulk-restore', 'bulkRestore')->name('bulk-restore');
Route::post('bulk-force-delete', 'bulkForceDelete')->name('bulk-force-delete');
Route::post('{id}/restore', 'restore')->name('restore');
Route::delete('{id}/force-delete', 'forceDelete')->name('force-delete');
Route::get('{id}', 'show')->name('show');
Route::put('{id}', 'update')->name('update');
Route::delete('{id}', 'destroy')->name('destroy');
Route::get('/', 'index')->middleware('perm:post.view')->name('index');
Route::post('/', 'store')->middleware('perm:post.create')->name('store');
Route::get('trashed', 'trashed')->middleware('perm:post.view')->name('trashed');
Route::post('bulk-restore', 'bulkRestore')->middleware('perm:post.edit')->name('bulk-restore');
Route::post('bulk-force-delete', 'bulkForceDelete')
->middleware('perm:post.destroy')
->name('bulk-force-delete');
Route::post('{id}/restore', 'restore')->middleware('perm:post.edit')->name('restore');
Route::delete('{id}/force-delete', 'forceDelete')
->middleware('perm:post.destroy')
->name('force-delete');
Route::get('{id}', 'show')->middleware('perm:post.view')->name('show');
Route::put('{id}', 'update')->middleware('perm:post.edit')->name('update');
Route::delete('{id}', 'destroy')->middleware('perm:post.destroy')->name('destroy');
});
Route::prefix('posts')
->controller(AdminPostController::class)
->as('posts.')
->group(function () {
Route::get('/', 'index')->name('index');
Route::post('/', 'store')->name('store');
Route::post('sync-wordpress', 'syncWordpress')->name('sync-wordpress');
Route::post('bulk-delete', 'bulkDelete')->name('bulk-delete');
Route::post('bulk-update-status', 'bulkUpdateStatus')->name('bulk-update-status');
Route::get('trashed', 'trashed')->name('trashed');
Route::post('bulk-restore', 'bulkRestore')->name('bulk-restore');
Route::post('bulk-force-delete', 'bulkForceDelete')->name('bulk-force-delete');
Route::post('{id}/restore', 'restore')->name('restore');
Route::delete('{id}/force-delete', 'forceDelete')->name('force-delete');
Route::get('{id}', 'show')->name('show');
Route::put('{id}', 'update')->name('update');
Route::delete('{id}', 'destroy')->name('destroy');
Route::get('/', 'index')->middleware('perm:post.view')->name('index');
Route::post('/', 'store')->middleware('perm:post.create')->name('store');
Route::post('sync-wordpress', 'syncWordpress')
->middleware('perm:post.create')
->name('sync-wordpress');
Route::post('bulk-delete', 'bulkDelete')->middleware('perm:post.destroy')->name('bulk-delete');
Route::post('bulk-update-status', 'bulkUpdateStatus')
->middleware('perm:post.edit')
->name('bulk-update-status');
Route::get('trashed', 'trashed')->middleware('perm:post.view')->name('trashed');
Route::post('bulk-restore', 'bulkRestore')->middleware('perm:post.edit')->name('bulk-restore');
Route::post('bulk-force-delete', 'bulkForceDelete')
->middleware('perm:post.destroy')
->name('bulk-force-delete');
Route::post('{id}/restore', 'restore')->middleware('perm:post.edit')->name('restore');
Route::delete('{id}/force-delete', 'forceDelete')
->middleware('perm:post.destroy')
->name('force-delete');
Route::get('{id}', 'show')->middleware('perm:post.view')->name('show');
Route::put('{id}', 'update')->middleware('perm:post.edit')->name('update');
Route::delete('{id}', 'destroy')->middleware('perm:post.destroy')->name('destroy');
});
// Orders (module: order)
@@ -422,6 +431,8 @@ Route::prefix('v1')
Route::delete('{id}/dns/{recordId}', 'dnsDestroy')->middleware('perm:domain.manager');
});
Route::get('registrars', [RegistrarController::class, 'index'])->middleware('perm:domain.manager');
// DNS Manager — Servers (module: domain.manager)
Route::prefix('dns-servers')
->controller(DnsServerController::class)
@@ -538,12 +549,13 @@ Route::prefix('v1')
Route::prefix('media')
->controller(AdminMediaController::class)
->group(function () {
Route::get('/', 'index');
Route::post('bulk-destroy', 'bulkDestroy');
Route::delete('{id}', 'destroy');
Route::get('/', 'index')->middleware('perm:media.view');
Route::post('bulk-destroy', 'bulkDestroy')->middleware('perm:media.destroy');
Route::delete('{id}', 'destroy')->middleware('perm:media.destroy');
});
Route::post('media/upload', [AdminSettingController::class, 'uploadMedia']);
Route::post('media/upload', [AdminSettingController::class, 'uploadMedia'])
->middleware('perm:media.create');
// Provider (active vCenter chain + provider settings — module: module-vcenter)
Route::prefix('provider')->group(function () {
@@ -577,6 +589,7 @@ Route::prefix('v1')
// Dashboard Stats
Route::prefix('dashboard')
->controller(\App\Http\Controllers\Api\Admin\Dashboard\DashboardController::class)
->middleware('perm:dashboard.view')
->group(function () {
Route::get('stats', 'stats');
Route::get('monthly-stats', 'monthlyStats');
@@ -600,6 +613,7 @@ Route::prefix('v1')
// Queue Monitor (Horizon)
Route::prefix('queue')
->controller(QueueMonitorController::class)
->middleware('perm:queue.manager')
->group(function () {
Route::get('jobs/recent', 'recent');
Route::get('jobs/pending', 'pending');
@@ -755,85 +769,6 @@ Route::prefix('v1')
// Public branding settings — không cần token, dùng cho trang đăng nhập.
Route::get('settings/public', [AdminSettingController::class, 'public']);
Route::prefix('system')
->middleware(['api.auth'])
->group(function () {
Route::post('get-all-image', function (Media $media) {
$files = $media->getAllMedia();
return response()->json(['data' => $files]);
})->name('api.GetAllImage');
Route::get('get-ticket-console', function (Request $request, ServiceVCenter $serviceVCenter) {
$product_id = $request->get('product');
if (!$product_id) {
return response()->json(['error' => true, 'message' => 'Please choose product']);
}
$product = ModuleVmware::with('ipAddress.host.datacenter.vCenter')->find($product_id);
if (!$product) {
return response()->json(['error' => true, 'message' => "Can't find product"]);
}
$vcenter = null;
if (
$product->ipAddress &&
$product->ipAddress->host &&
$product->ipAddress->host->datacenter &&
$product->ipAddress->host->datacenter->vCenter
) {
$vcenter = $product->ipAddress->host->datacenter->vCenter;
}
if (!$vcenter) {
return response()->json(['error' => true, 'message' => "Can't find vCenter information"]);
}
// Đăng nhập vCenter trước khi lấy ticket
if (!$serviceVCenter->loginServer($vcenter)) {
return response()->json([
'error' => true,
'message' => 'Không thể đăng nhập vào vCenter',
]);
}
$ConsoleTicket = $serviceVCenter->GetConsoleTickets($product->vmware_id);
// Nếu login hết hạn, thử login lại 1 lần nữa
if ($ConsoleTicket === 'Login_Again') {
if ($serviceVCenter->loginServer($vcenter)) {
$ConsoleTicket = $serviceVCenter->GetConsoleTickets($product->vmware_id);
} else {
return response()->json([
'error' => true,
'message' => 'Không thể đăng nhập lại vào vCenter',
]);
}
}
// Nếu vẫn lỗi, trả về lỗi rõ ràng
if (is_string($ConsoleTicket)) {
return response()->json([
'error' => true,
'message' => "Failed to get console ticket: $ConsoleTicket",
]);
}
if ($ConsoleTicket['error']) {
return response()->json([
'error' => true,
'message' => $ConsoleTicket['data'],
]);
}
return response()
->json([
'error' => false,
'data' => $ConsoleTicket['data'],
'vmware-api-session-id' => $serviceVCenter->token,
])
->cookie('vmware-api-session-id', $serviceVCenter->token, 60, '/', null, false, false);
})->name('api.GetConsoleTicket');
});
Route::get('pdf-invoice', function () {
// return Pdf::loadView('pdf.invoice-pdf')->setPaper('a4', 'portrait')->stream('hoa-don-mau.pdf');
});