big update all menus
This commit is contained in:
+90
-2
@@ -12,6 +12,10 @@ use App\Http\Controllers\Menu\MenuController;
|
||||
use App\Http\Controllers\Menu\MenuGroupController;
|
||||
use App\Http\Controllers\Menu\MenuListController;
|
||||
use App\Http\Controllers\Nas\NasResourceController;
|
||||
use App\Http\Controllers\Nas\PackageProfileDeploymentController;
|
||||
use App\Http\Controllers\Nas\ScriptPolicyController;
|
||||
use App\Http\Controllers\Nas\TenantNasSettingController;
|
||||
use App\Http\Controllers\Nas\RadiusClusterController;
|
||||
use App\Http\Controllers\Notification\NotificationController;
|
||||
use App\Http\Controllers\Notification\NotificationWebhookController;
|
||||
use App\Http\Controllers\Payment\PaymentGatewayController;
|
||||
@@ -26,6 +30,9 @@ use App\Http\Controllers\User\UserController;
|
||||
use App\Http\Controllers\Voucher\VoucherController;
|
||||
use App\Http\Controllers\Wallet\WalletController;
|
||||
use App\Http\Controllers\Wilayah\WilayahController;
|
||||
use App\Http\Controllers\Warehouse\WarehouseController;
|
||||
use App\Http\Controllers\Warehouse\WarehouseBatchController;
|
||||
use App\Http\Controllers\Warehouse\WarehouseLocationController;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
|
||||
Route::post('/login', [AuthController::class, 'login']);
|
||||
@@ -135,6 +142,33 @@ Route::middleware(['auth:sanctum', 'tenant.context'])->group(function () {
|
||||
Route::delete('customers/{customer}/notification-contacts/{contact}', [NotificationController::class, 'destroyContact'])
|
||||
->middleware('menu.permission:customers-active,update')->whereNumber('customer')->whereNumber('contact')->name('customers.notification-contacts.destroy');
|
||||
|
||||
Route::post('nas/mikrotiks/{id}/test-connection', [NasResourceController::class, 'testConnection'])
|
||||
->defaults('nas_resource', 'mikrotik')
|
||||
->middleware('menu.permission:nas-mikrotik,update')
|
||||
->whereNumber('id')
|
||||
->name('nas.mikrotiks.test-connection');
|
||||
Route::get('nas/backend-setting', [TenantNasSettingController::class, 'show'])
|
||||
->middleware('menu.permission:nas-mikrotik,view')->name('nas.backend-setting.show');
|
||||
Route::put('nas/backend-setting', [TenantNasSettingController::class, 'update'])
|
||||
->middleware('menu.permission:nas-mikrotik,update')->name('nas.backend-setting.update');
|
||||
|
||||
Route::get('nas/package-profiles/{profile}/targets', [PackageProfileDeploymentController::class, 'index'])
|
||||
->middleware('menu.permission:nas-package-profiles,view')->name('nas.package-profiles.targets.index');
|
||||
Route::get('nas/package-profile-script-options', [PackageProfileDeploymentController::class, 'scriptOptions'])
|
||||
->middleware('menu.permission:nas-package-profiles,view')->name('nas.package-profiles.script-options');
|
||||
Route::post('nas/package-profiles/{profile}/targets', [PackageProfileDeploymentController::class, 'store'])
|
||||
->middleware('menu.permission:nas-package-profiles,update')->name('nas.package-profiles.targets.store');
|
||||
Route::post('nas/package-profile-targets/{target}/sync', [PackageProfileDeploymentController::class, 'sync'])
|
||||
->middleware('menu.permission:nas-package-profiles,update')->name('nas.package-profile-targets.sync');
|
||||
|
||||
Route::get('nas/script-policies', [ScriptPolicyController::class, 'index'])->name('nas.script-policies.index');
|
||||
Route::post('nas/script-policies', [ScriptPolicyController::class, 'store'])->name('nas.script-policies.store');
|
||||
Route::get('nas/script-policies/{policy}', [ScriptPolicyController::class, 'show'])->name('nas.script-policies.show');
|
||||
Route::put('nas/script-policies/{policy}', [ScriptPolicyController::class, 'update'])->name('nas.script-policies.update');
|
||||
Route::apiResource('nas/radius-clusters', RadiusClusterController::class)
|
||||
->parameters(['radius-clusters' => 'radiusCluster'])
|
||||
->middleware('access.level:master_admin');
|
||||
|
||||
foreach ([
|
||||
'system' => ['channel' => 'system', 'menu' => 'notifications-system'],
|
||||
'whatsapp-official' => ['channel' => 'whatsapp_official', 'menu' => 'notifications-wa-official'],
|
||||
@@ -253,6 +287,10 @@ Route::middleware(['auth:sanctum', 'tenant.context'])->group(function () {
|
||||
Route::get('customers/options', [CustomerController::class, 'options'])
|
||||
->name('customers.options')
|
||||
->middleware('menu.permission:customers-orders,view');
|
||||
Route::get('customers/options/odp/{node}/ports', [CustomerController::class, 'odpPorts'])
|
||||
->name('customers.options.odp-ports')->whereNumber('node')
|
||||
->middleware('menu.permission:customers-orders,view');
|
||||
|
||||
|
||||
foreach ([
|
||||
'orders' => 'customers-orders',
|
||||
@@ -275,6 +313,9 @@ Route::middleware(['auth:sanctum', 'tenant.context'])->group(function () {
|
||||
Route::post('customers', [CustomerController::class, 'store'])
|
||||
->name('customers.store')
|
||||
->middleware('menu.permission:customers-orders,create');
|
||||
Route::post('customers/ocr-ktp', [CustomerController::class, 'ocrKtp'])
|
||||
->name('customers.ocr-ktp')
|
||||
->middleware('menu.permission:customers-orders,create');
|
||||
Route::put('customers/{id}', [CustomerController::class, 'update'])
|
||||
->name('customers.update')
|
||||
->whereNumber('id')
|
||||
@@ -286,7 +327,15 @@ Route::middleware(['auth:sanctum', 'tenant.context'])->group(function () {
|
||||
Route::post('customers/{id}/activate', [CustomerController::class, 'activate'])
|
||||
->name('customers.activate')
|
||||
->whereNumber('id')
|
||||
->middleware('menu.permission:customers-orders,update');
|
||||
->middleware('menu.permission:customers-orders,activate');
|
||||
Route::put('customers/{id}/registration', [CustomerController::class, 'updateRegistration'])
|
||||
->name('customers.registration.update')
|
||||
->whereNumber('id')
|
||||
->middleware('menu.permission:customers-orders,create');
|
||||
Route::put('customers/{id}/activation-preparation', [CustomerController::class, 'prepareActivation'])
|
||||
->name('customers.activation-preparation')
|
||||
->whereNumber('id')
|
||||
->middleware('menu.permission:customers-orders,activate');
|
||||
Route::post('customers/{id}/deactivate', [CustomerController::class, 'deactivate'])
|
||||
->name('customers.deactivate')
|
||||
->whereNumber('id')
|
||||
@@ -295,6 +344,10 @@ Route::middleware(['auth:sanctum', 'tenant.context'])->group(function () {
|
||||
->name('customers.destroy')
|
||||
->whereNumber('id')
|
||||
->middleware('menu.permission:customers-inactive,delete');
|
||||
Route::delete('customers/{id}/cancel-order', [CustomerController::class, 'cancelOrder'])
|
||||
->name('customers.cancel-order')
|
||||
->whereNumber('id')
|
||||
->middleware('menu.permission:customers-orders,delete');
|
||||
Route::post('customers/{id}/restore', [CustomerController::class, 'restore'])
|
||||
->name('customers.restore')
|
||||
->whereNumber('id')
|
||||
@@ -339,6 +392,11 @@ Route::middleware(['auth:sanctum', 'tenant.context'])->group(function () {
|
||||
});
|
||||
}
|
||||
|
||||
Route::get('tickets/options', [TicketController::class, 'options'])->middleware('menu.permission:ticketing-ticket,view');
|
||||
Route::post('tickets/{ticket}/materials', [TicketController::class, 'storeMaterial'])->middleware('menu.permission:ticketing-ticket,update');
|
||||
Route::get('tickets/{ticket}/material-options', [TicketController::class, 'materialOptions'])->middleware('menu.permission:ticketing-ticket,update');
|
||||
Route::get('tickets/{ticket}/installation-ports/{node}', [TicketController::class, 'installationPorts'])->middleware('menu.permission:ticketing-ticket,update');
|
||||
Route::delete('tickets/{ticket}/materials/{material}', [TicketController::class, 'destroyMaterial'])->middleware('menu.permission:ticketing-ticket,update');
|
||||
Route::apiResource('tickets', TicketController::class)
|
||||
->middleware('menu.resource:ticketing-ticket');
|
||||
|
||||
@@ -377,6 +435,8 @@ Route::middleware(['auth:sanctum', 'tenant.context'])->group(function () {
|
||||
|
||||
Route::post('/close', 'close')
|
||||
->middleware('menu.permission:ticketing-ticket,update');
|
||||
Route::post('/verify', 'verify')->middleware('menu.permission:ticketing-ticket,approve');
|
||||
Route::post('/installation-step', 'installationStep')->middleware('menu.permission:ticketing-ticket,update');
|
||||
|
||||
Route::post('/cancel', 'cancel')
|
||||
->middleware('menu.permission:ticketing-ticket,delete');
|
||||
@@ -399,6 +459,31 @@ Route::middleware(['auth:sanctum', 'tenant.context'])->group(function () {
|
||||
Route::get('/history/{barcode_id}', 'history');
|
||||
|
||||
});
|
||||
Route::middleware('menu.resource:warehouse-items')->group(function(){
|
||||
Route::get('warehouse/items',[WarehouseBatchController::class,'index']);
|
||||
Route::get('warehouse/options',[WarehouseController::class,'options']);
|
||||
Route::post('warehouse/barcodes/{barcode}/issue',[WarehouseController::class,'issue']);
|
||||
Route::get('warehouse/movements',[WarehouseController::class,'movements']);
|
||||
});
|
||||
Route::middleware('menu.resource:warehouse-pending')->group(function(){
|
||||
Route::get('warehouse/pending',[WarehouseBatchController::class,'index']);
|
||||
Route::post('warehouse/pending',[WarehouseBatchController::class,'store']);
|
||||
Route::put('warehouse/pending/{item}/serials',[WarehouseBatchController::class,'updateSerials']);
|
||||
Route::post('warehouse/pending/{item}/post',[WarehouseBatchController::class,'post']);
|
||||
Route::delete('warehouse/pending/{item}',[WarehouseBatchController::class,'destroy']);
|
||||
});
|
||||
Route::get('warehouse/depleted',[WarehouseBatchController::class,'index'])->middleware('menu.resource:warehouse-depleted');
|
||||
Route::get('warehouse/batches/{item}',[WarehouseBatchController::class,'show'])->middleware('menu.resource:warehouse-items');
|
||||
Route::get('warehouse/batches/{item}/barcodes/{barcode}/movements',[WarehouseBatchController::class,'barcodeMovements'])->middleware('menu.resource:warehouse-items');
|
||||
Route::apiResource('warehouse/locations',WarehouseLocationController::class)->parameters(['locations'=>'warehouse'])->except('show')->middleware('menu.resource:warehouse-locations');
|
||||
Route::middleware('menu.resource:warehouse-codes')->group(function(){
|
||||
Route::get('warehouse/item-codes',[WarehouseController::class,'codeIndex']);
|
||||
Route::post('warehouse/item-codes',[WarehouseController::class,'codeStore']);
|
||||
Route::put('warehouse/item-codes/{code}',[WarehouseController::class,'codeUpdate']);
|
||||
Route::delete('warehouse/item-codes/{code}',[WarehouseController::class,'codeDestroy']);
|
||||
});
|
||||
Route::get('warehouse/technician-inventory',[WarehouseController::class,'technicianInventory'])->middleware('menu.resource:warehouse-technician-inventory');
|
||||
Route::post('warehouse/technician-inventory/return',[WarehouseController::class,'returnFromTechnician'])->middleware('menu.resource:warehouse-technician-inventory');
|
||||
|
||||
Route::prefix('audit-logs')
|
||||
->middleware('access.level:tenant_owner')
|
||||
@@ -481,7 +566,7 @@ Route::middleware(['auth:sanctum', 'tenant.context'])->group(function () {
|
||||
]);
|
||||
Route::apiResource('tenants', TenantController::class)
|
||||
->only(['index', 'show'])
|
||||
->middleware('access.level:tenant_owner');
|
||||
->middleware('menu.resource:tenants');
|
||||
Route::apiResource('tenants', TenantController::class)
|
||||
->except(['index', 'show'])
|
||||
->middleware('access.level:master_admin');
|
||||
@@ -504,6 +589,9 @@ Route::middleware(['auth:sanctum', 'tenant.context'])->group(function () {
|
||||
Route::put('/menus', 'syncMenus');
|
||||
});
|
||||
|
||||
Route::get('tenants/{tenant}/installation-setting', [TenantController::class,'installationSetting'])->middleware('menu.permission:tenants,view');
|
||||
Route::put('tenants/{tenant}/installation-setting', [TenantController::class,'updateInstallationSetting'])->middleware('menu.permission:tenants,update');
|
||||
|
||||
Route::prefix('users/{user}')
|
||||
->middleware([
|
||||
'access.level:tenant_owner',
|
||||
|
||||
Reference in New Issue
Block a user