Files
Kent-logistics-Laravel/routes/api.php
2025-12-18 12:57:01 +05:30

90 lines
3.0 KiB
PHP

<?php
use Illuminate\Support\Facades\Broadcast;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\RequestController;
use App\Http\Controllers\UserAuthController;
use App\Http\Controllers\MarkListController;
use App\Http\Controllers\User\UserOrderController;
use App\Http\Controllers\User\UserProfileController;
use App\Http\Controllers\User\ChatController;
//user send request
Route::post('/signup-request', [RequestController::class, 'usersignup']);
//login / logout
Route::post('/user/login', [UserAuthController::class, 'login']);
Route::middleware(['auth:api'])->group(function () {
//Route::post('/user/refresh', [UserAuthController::class, 'refreshToken']);
Route::post('/user/logout', [UserAuthController::class, 'logout']);
// Marklist
Route::get('/show-mark-list', [MarkListController::class, 'showmarklist']);
Route::post('/add-mark-no', [MarkListController::class, 'addmarkno']);
// Orders
Route::get('/user/order-summary', [UserOrderController::class, 'orderSummary']);
Route::get('/user/orders', [UserOrderController::class, 'allOrders']);
Route::get('/user/order/{order_id}/details', [UserOrderController::class, 'orderDetails']);
Route::get('/user/order/{order_id}/shipment', [UserOrderController::class, 'orderShipment']);
Route::get('/user/order/{order_id}/invoice', [UserOrderController::class, 'orderInvoice']);
Route::get('/user/order/{order_id}/track', [UserOrderController::class, 'trackOrder']);
// Invoice List
Route::get('/user/invoice/{invoice_id}/details', [UserOrderController::class, 'invoiceDetails']);
Route::get('/user/invoices', [UserOrderController::class, 'allInvoices']);
Route::get('/user/invoice/{invoice_id}/installments', [UserOrderController::class, 'invoiceInstallmentsById']);
// Profile
Route::get('/user/profile', [UserProfileController::class, 'profile']);
Route::post('/user/profile-image', [UserProfileController::class, 'updateProfileImage']);
Route::post('/user/profile-update-request', [UserProfileController::class, 'updateProfileRequest']);
// Route::post('/user/profile/update', [UserProfileController::class, 'updateProfile']);
// ===========================
// CHAT SUPPORT ROUTES
// ===========================
Route::get('/user/chat/start', [ChatController::class, 'startChat']);
Route::get('/user/chat/messages/{ticketId}', [ChatController::class, 'getMessages']);
Route::post('/user/chat/send/{ticketId}', [ChatController::class, 'sendMessage']);
});
Route::post('/broadcasting/auth', function (Request $request) {
$user = auth('api')->user(); // JWT user (Flutter)
if (! $user) {
\Log::warning('BROADCAST AUTH FAILED - NO USER');
return response()->json(['message' => 'Unauthorized'], 401);
}
\Log::info('BROADCAST AUTH OK', [
'user_id' => $user->id,
'channel' => $request->channel_name,
]);
return Broadcast::auth(
$request->setUserResolver(fn () => $user)
);
});