name('short_link.redirect'); // Public Link Generator Route::get('/aff/taolink', [PublicConvertController::class, 'index'])->name('public_convert.index'); Route::post('/aff/taolink', [PublicConvertController::class, 'process'])->middleware('throttle:10,1')->name('public_convert.process'); // Customer Lookup Portal Route::get('/aff/tra-cuu', [CustomerLookupController::class, 'index'])->name('customer_lookup.index'); Route::get('/aff/tra-cuu/search', [CustomerLookupController::class, 'search'])->name('customer_lookup.search'); // Root Redirect Route::get('/', function () { return redirect()->route('public_convert.index'); }); // Backend Routes (prefix: aff/shp/admin) Route::prefix('aff/shp/admin')->group(function () { // Auth Routes Route::get('/login', [LoginController::class, 'showLoginForm'])->name('login'); Route::post('/login', [LoginController::class, 'login']); Route::post('/register-admin', [LoginController::class, 'registerAdmin'])->name('register.admin'); Route::post('/logout', [LoginController::class, 'logout'])->name('logout'); // Protected Routes Route::middleware(['auth'])->group(function () { Route::get('/', [DashboardController::class, 'index'])->name('dashboard'); // History Route::get('/history', [HistoryController::class, 'index'])->name('history.index'); Route::delete('/history/bulk-destroy', [HistoryController::class, 'bulkDestroy'])->name('history.bulk_destroy'); Route::delete('/history/{id}', [HistoryController::class, 'destroy'])->name('history.destroy'); // Settings Route::get('/settings', [SettingController::class, 'index'])->name('settings.index'); Route::post('/settings', [SettingController::class, 'update'])->name('settings.update'); Route::post('/settings/zalo/start', [SettingController::class, 'startBot'])->name('settings.zalo.start'); Route::post('/settings/zalo/stop', [SettingController::class, 'stopBot'])->name('settings.zalo.stop'); Route::get('/settings/zalo/status-check', [SettingController::class, 'checkBotStatus'])->name('settings.zalo.status_check'); // Zalo Channels Manager Route::get('/zalo-channels', [ZaloChannelController::class, 'index'])->name('zalo_channels.index'); Route::post('/zalo-channels', [ZaloChannelController::class, 'store'])->name('zalo_channels.store'); Route::post('/zalo-channels/{id}/toggle', [ZaloChannelController::class, 'toggle'])->name('zalo_channels.toggle'); Route::post('/zalo-channels/quick-toggle', [ZaloChannelController::class, 'quickToggle'])->name('zalo_channels.quick_toggle'); Route::delete('/zalo-channels/bulk-destroy', [ZaloChannelController::class, 'bulkDestroy'])->name('zalo_channels.bulk_destroy'); Route::delete('/zalo-channels/{id}', [ZaloChannelController::class, 'destroy'])->name('zalo_channels.destroy'); }); });