65 lines
3.4 KiB
PHP
65 lines
3.4 KiB
PHP
<?php
|
|
|
|
use Illuminate\Support\Facades\Route;
|
|
use App\Http\Controllers\Web\DashboardController;
|
|
use App\Http\Controllers\Web\ConvertController;
|
|
use App\Http\Controllers\Web\HistoryController;
|
|
use App\Http\Controllers\Web\SettingController;
|
|
use App\Http\Controllers\Web\ShortLinkController;
|
|
use App\Http\Controllers\Web\Auth\LoginController;
|
|
use App\Http\Controllers\Web\ZaloChannelController;
|
|
use App\Http\Controllers\Web\PublicConvertController;
|
|
use App\Http\Controllers\Web\CustomerLookupController;
|
|
|
|
// Public Redirect Route
|
|
Route::get('/aff/s/{code}', [ShortLinkController::class, 'redirect'])->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');
|
|
});
|
|
});
|
|
|