147 lines
9.3 KiB
PHP
147 lines
9.3 KiB
PHP
<?php
|
|
|
|
use Illuminate\Support\Facades\Route;
|
|
use App\Http\Controllers\AuthController;
|
|
use App\Http\Controllers\HomeController;
|
|
use App\Http\Controllers\UserManagementController;
|
|
use App\Http\Controllers\StationController;
|
|
use App\Http\Controllers\ContentController;
|
|
use App\Http\Controllers\CardMemberController;
|
|
use App\Http\Controllers\ReportsController;
|
|
use App\Http\Controllers\SystemParameterController;
|
|
use App\Http\Controllers\FuelPriceController;
|
|
use App\Http\Controllers\TopUpSettingController;
|
|
|
|
// Auth Routes
|
|
Route::get('/', [AuthController::class, 'showLoginForm'])->name('login');
|
|
Route::post('/login', [AuthController::class, 'login'])->name('login.submit');
|
|
Route::post('/logout', [AuthController::class, 'logout'])->name('logout');
|
|
Route::get('/change-password', [AuthController::class, 'showChangePasswordForm'])->name('change-password');
|
|
Route::post('/change-password', [AuthController::class, 'changePassword'])->name('password.change');
|
|
|
|
// Protected Routes
|
|
Route::middleware(['auth'])->group(function () {
|
|
// Dashboard
|
|
Route::get('/dashboard', [HomeController::class, 'index'])->name('dashboard');
|
|
Route::get('/my-profile', [AuthController::class, 'showMyProfile'])->name('my-profile');
|
|
|
|
// User Management
|
|
Route::prefix('user-management')->group(function () {
|
|
Route::get('/', [UserManagementController::class, 'index'])->name('user-management.index');
|
|
Route::get('/create', [UserManagementController::class, 'create'])->name('user-management.create');
|
|
Route::post('/', [UserManagementController::class, 'store'])->name('user-management.store');
|
|
Route::get('/{id}/edit', [UserManagementController::class, 'edit'])->name('user-management.edit');
|
|
Route::put('/{id}', [UserManagementController::class, 'update'])->name('user-management.update');
|
|
Route::delete('/{id}', [UserManagementController::class, 'destroy'])->name('user-management.destroy');
|
|
});
|
|
|
|
// Station Management
|
|
Route::prefix('stations')->group(function () {
|
|
Route::get('/', [StationController::class, 'index'])->name('stations.index');
|
|
Route::get('/create', [StationController::class, 'create'])->name('stations.create');
|
|
Route::post('/', [StationController::class, 'store'])->name('stations.store');
|
|
Route::get('/{id}/edit', [StationController::class, 'edit'])->name('stations.edit');
|
|
Route::put('/{id}', [StationController::class, 'update'])->name('stations.update');
|
|
Route::delete('/{id}', [StationController::class, 'destroy'])->name('stations.destroy');
|
|
|
|
// Fuel Prices
|
|
Route::get('/fuel-prices', [StationController::class, 'fuelPrices'])->name('fuel-prices.index');
|
|
Route::post('/fuel-prices', [StationController::class, 'updateFuelPrices'])->name('fuel-prices.update');
|
|
Route::get('/fuel-prices/schedule', [StationController::class, 'fuelPriceSchedule'])->name('fuel-prices.schedule');
|
|
Route::post('/fuel-prices/schedule', [StationController::class, 'storeFuelPriceSchedule'])->name('fuel-prices.schedule.store');
|
|
Route::get('/fuel-prices/logs', [StationController::class, 'fuelPriceLogs'])->name('fuel-prices.logs');
|
|
});
|
|
|
|
// Content Management
|
|
Route::prefix('content')->group(function () {
|
|
// Promotions
|
|
Route::get('/promotions', [ContentController::class, 'promotionsIndex'])->name('promotions.index');
|
|
Route::get('/promotions/create', [ContentController::class, 'createPromotion'])->name('promotions.create');
|
|
Route::post('/promotions', [ContentController::class, 'storePromotion'])->name('promotions.store');
|
|
Route::put('/promotions/{id}', [ContentController::class, 'updatePromotion'])->name('promotions.update');
|
|
Route::delete('/promotions/{id}', [ContentController::class, 'deletePromotion'])->name('promotions.destroy');
|
|
|
|
// Notifications
|
|
Route::get('/notifications', [ContentController::class, 'notificationsIndex'])->name('notifications.index');
|
|
Route::get('/notifications/create', [ContentController::class, 'createNotification'])->name('notifications.create');
|
|
Route::post('/notifications', [ContentController::class, 'storeNotification'])->name('notifications.store');
|
|
Route::put('/notifications/{id}', [ContentController::class, 'updateNotification'])->name('notifications.update');
|
|
Route::delete('/notifications/{id}', [ContentController::class, 'deleteNotification'])->name('notifications.destroy');
|
|
|
|
// Photo Slider
|
|
Route::get('/slides', [ContentController::class, 'slidesIndex'])->name('slides.index');
|
|
Route::get('/slides/create', [ContentController::class, 'createSlide'])->name('slides.create');
|
|
Route::post('/slides', [ContentController::class, 'storeSlide'])->name('slides.store');
|
|
Route::put('/slides/{id}', [ContentController::class, 'updateSlide'])->name('slides.update');
|
|
Route::delete('/slides/{id}', [ContentController::class, 'deleteSlide'])->name('slides.destroy');
|
|
|
|
// Terms and Privacy
|
|
Route::get('/terms-and-privacy', [ContentController::class, 'termsAndPrivacy'])->name('terms-and-privacy.index');
|
|
Route::put('/terms-and-privacy', [ContentController::class, 'updateTermsAndPrivacy'])->name('terms-and-privacy.update');
|
|
});
|
|
|
|
// Card Member Management
|
|
Route::prefix('card-members')->group(function () {
|
|
Route::get('/', [CardMemberController::class, 'index'])->name('card-members.index');
|
|
Route::get('/create', [CardMemberController::class, 'create'])->name('card-members.create');
|
|
Route::post('/', [CardMemberController::class, 'store'])->name('card-members.store');
|
|
Route::get('/{id}/edit', [CardMemberController::class, 'edit'])->name('card-members.edit');
|
|
Route::put('/{id}', [CardMemberController::class, 'update'])->name('card-members.update');
|
|
Route::delete('/{id}', [CardMemberController::class, 'destroy'])->name('card-members.destroy');
|
|
|
|
// Card Types
|
|
Route::get('/types', [CardMemberController::class, 'cardTypes'])->name('card-types.index');
|
|
Route::post('/types', [CardMemberController::class, 'storeCardType'])->name('card-types.store');
|
|
Route::put('/types/{id}', [CardMemberController::class, 'updateCardType'])->name('card-types.update');
|
|
Route::delete('/types/{id}', [CardMemberController::class, 'deleteCardType'])->name('card-types.destroy');
|
|
|
|
// Top-up
|
|
Route::get('/top-up', [CardMemberController::class, 'topUpHistory'])->name('top-up.index');
|
|
Route::post('/top-up', [CardMemberController::class, 'processTopUp'])->name('top-up.store');
|
|
});
|
|
|
|
// Reports
|
|
Route::prefix('reports')->group(function () {
|
|
Route::get('/registration', [ReportsController::class, 'registrationReport'])->name('reports.registration');
|
|
Route::get('/top-up-usage', [ReportsController::class, 'topUpUsageReport'])->name('reports.top-up-usage');
|
|
Route::get('/mobile-usage', [ReportsController::class, 'mobileUsageReport'])->name('reports.mobile-usage');
|
|
Route::get('/station-rating', [ReportsController::class, 'stationRatingReport'])->name('reports.station-rating');
|
|
Route::get('/{type}/export', [ReportsController::class, 'exportReport'])->name('reports.export');
|
|
});
|
|
|
|
// System Parameters
|
|
Route::prefix('system-parameters')->group(function () {
|
|
Route::get('/', [SystemParameterController::class, 'index'])->name('system-parameters.index');
|
|
Route::post('/', [SystemParameterController::class, 'store'])->name('system-parameters.store');
|
|
Route::put('/{id}', [SystemParameterController::class, 'update'])->name('system-parameters.update');
|
|
Route::delete('/{id}', [SystemParameterController::class, 'destroy'])->name('system-parameters.destroy');
|
|
});
|
|
|
|
// Fuel Price Management
|
|
Route::prefix('fuel-prices')->group(function () {
|
|
// On Demand
|
|
Route::get('/on-demand', [FuelPriceController::class, 'onDemand'])->name('fuel-price.on-demand');
|
|
Route::post('/on-demand', [FuelPriceController::class, 'updateOnDemand'])->name('fuel-price.on-demand.update');
|
|
Route::post('/on-demand/import', [FuelPriceController::class, 'importPrices'])->name('fuel-price.on-demand.import');
|
|
Route::get('/on-demand/export', [FuelPriceController::class, 'exportPrices'])->name('fuel-price.on-demand.export');
|
|
|
|
// Schedule
|
|
Route::get('/schedule', [FuelPriceController::class, 'schedule'])->name('fuel-price.schedule');
|
|
Route::post('/schedule', [FuelPriceController::class, 'storeSchedule'])->name('fuel-price.schedule.store');
|
|
Route::put('/schedule/{id}', [FuelPriceController::class, 'updateSchedule'])->name('fuel-price.schedule.update');
|
|
Route::delete('/schedule/{id}', [FuelPriceController::class, 'deleteSchedule'])->name('fuel-price.schedule.destroy');
|
|
|
|
// Logs
|
|
Route::get('/logs', [FuelPriceController::class, 'logs'])->name('fuel-price.logs');
|
|
});
|
|
|
|
// Top-up Settings
|
|
Route::prefix('top-up-settings')->group(function () {
|
|
Route::get('/', [TopUpSettingController::class, 'index'])->name('top-up-settings.index');
|
|
Route::post('/', [TopUpSettingController::class, 'store'])->name('top-up-settings.store');
|
|
Route::put('/{id}', [TopUpSettingController::class, 'update'])->name('top-up-settings.update');
|
|
Route::delete('/{id}', [TopUpSettingController::class, 'destroy'])->name('top-up-settings.destroy');
|
|
});
|
|
});
|
|
|