84 lines
4.7 KiB
PHP
84 lines
4.7 KiB
PHP
<?php
|
|
|
|
use Illuminate\Support\Facades\Route;
|
|
use App\Http\Controllers\Auth\RegisterController;
|
|
use App\Http\Controllers\KurirDashboardController;
|
|
use App\Http\Controllers\LocationController;
|
|
use App\Http\Controllers\PresenceController;
|
|
use App\Http\Controllers\OrderController;
|
|
use App\Http\Controllers\HomeController;
|
|
use App\Http\Controllers\SalaryController;
|
|
use App\Http\Controllers\ReportController;
|
|
use App\Http\Controllers\ReportKurirController;
|
|
use App\Http\Controllers\Presences;
|
|
use App\Http\Middleware;
|
|
use App\Events\LocationUpdated;
|
|
use App\Http\Controllers\TrackingController;
|
|
|
|
|
|
Route::get('/', function () {
|
|
return view('auth.login');
|
|
});
|
|
Route::get('/register', function () {
|
|
return view('auth.register');
|
|
});
|
|
|
|
|
|
Auth::routes();
|
|
|
|
Route::middleware(['auth', 'role:owner'])->group(function () {
|
|
Route::get('/register', [RegisterController::class, 'showRegistrationForm'])->name('register'); // Form register
|
|
Route::post('/register', [RegisterController::class, 'register'])->name('register.store'); // Proses register
|
|
Route::get('/salary', [SalaryController::class, 'index'])->name('salary.index');
|
|
Route::get('/report', [ReportController::class, 'index'])->name('report.index');
|
|
Route::get('/order', [OrderController::class, 'index'])->name('orders.index');
|
|
Route::post('/order', [OrderController::class, 'create'])->name('orders.index'); // Rute untuk menambah order
|
|
Route::post('/order', [OrderController::class, 'store'])->name('orders.store'); // Rute untuk menyimpan order
|
|
Route::get('/home', [HomeController::class, 'index'])->name('home');
|
|
Route::get('/get-latest-location/{kurir_id}', [TrackingController::class, 'getLatestLocation']);
|
|
Route::get('/salary/print', [SalaryController::class, 'printPDF'])->name('salary.print');
|
|
Route::get('/presensi', [PresenceController::class, 'index'])->name('presensi.index');
|
|
Route::get('/tracking/{id}', [TrackingController::class, 'showTracking'])->name('tracking.view');
|
|
Route::get('/api/lokasi-kurir/{id}', [TrackingController::class, 'getLatestLocation']);
|
|
Route::get('/cleanup-yesterday', [LocationController::class, 'cleanupYesterday'])->name('location.cleanupYesterday');
|
|
Route::get('/report/cetak/{id}/{month}/{year}', [ReportController::class, 'cetakKinerja'])->name('report.cetak');
|
|
Route::get('/report/cetak-semua/{month}/{year}', [ReportController::class, 'cetakSemuaKinerja'])->name('report.cetak.semua');
|
|
});
|
|
|
|
// Route untuk customer melihat halaman index dan daftar pesanan
|
|
Route::get('/customer/orders', [OrderController::class, 'indexCustomer'])->name('customer.index');
|
|
|
|
// Route untuk menyimpan pesanan yang dibuat oleh customer
|
|
Route::post('/customer/orders/store', [OrderController::class, 'Customer'])->name('orders.customer');
|
|
|
|
Route::middleware(['auth', 'role:kurir'])->group(function () {
|
|
Route::get('/kurir/dashboard', [KurirDashboardController::class, 'indexKurir'])->name('kurir.dashboard');
|
|
// Route::get('/kurir/dashboard', [OrderController::class, 'index'])->name('kurir.dashboard');
|
|
// Route::get('/kurir/dashboard', [LocationController::class, 'index'])->name('kurir.dashboard');
|
|
Route::get('/kurir/order', [OrderController::class, 'indexOrderKurir'])->name('kurir.order');
|
|
Route::get('/kurir/report', [ReportKurirController::class, 'index'])->name('kurir.report');
|
|
Route::post('/location/store', [LocationController::class, 'store'])->name('location.store');
|
|
Route::put('/location/update', [LocationController::class, 'update'])->name('location.update');
|
|
Route::post('/location/delete-all', [LocationController::class, 'deleteAll'])->name('location.deleteAll');
|
|
Route::put('/kurir/order/{id}/update-status', [OrderController::class, 'updateStatus'])
|
|
->name('kurir.updateStatus');
|
|
Route::get('/kurir/delivered-orders', [OrderController::class, 'deliveredOrders'])->name('kurir.deliveredOrders');
|
|
Route::post('/update-location', function (Request $request) {
|
|
$user = auth()->user();
|
|
|
|
broadcast(new LocationUpdated($user->id, $request->latitude, $request->longitude));
|
|
|
|
return response()->json(['message' => 'Location updated successfully']);
|
|
});
|
|
Route::post('/update-location', [KurirController::class, 'updateLocation'])->name('kurir.updateLocation');
|
|
Route::get('/report/pdf/{kurir_id}', [ReportController::class, 'generatePdf'])->name('report.pdf');
|
|
Route::post('/kurir/send-location', [OrderController::class, 'sendLocation'])->name('kurir.sendLocation');
|
|
Route::post('/kurir/upload-bukti/{id}', [OrderController::class, 'uploadBuktiPengiriman'])->name('kurir.uploadBuktiPengiriman');
|
|
Route::get('/kurir/track', function () {
|
|
return view('kurir.track');
|
|
});
|
|
|
|
|
|
|
|
});
|