group(function () { // Profile Management Route::get('/workers/profile', [WorkerProfileController::class, 'getProfile']); Route::post('/workers/profile/update', [WorkerProfileController::class, 'updateProfile']); Route::post('/workers/profile/upload-emirates-id', [WorkerProfileController::class, 'uploadEmiratesId']); Route::post('/workers/go-live', [WorkerProfileController::class, 'goLive']); Route::post('/workers/profile/toggle-availability', [WorkerProfileController::class, 'toggleAvailability']); Route::post('/workers/profile/mark-hired', [WorkerProfileController::class, 'markHired']); // Job Offers Management Route::get('/workers/offers', [WorkerProfileController::class, 'getOffers']); Route::post('/workers/offers/{id}/respond', [WorkerProfileController::class, 'respondToOffer']); // Messaging Management Route::get('/workers/conversations', [WorkerMessageController::class, 'getConversations']); Route::get('/workers/conversations/{id}/messages', [WorkerMessageController::class, 'getMessages']); Route::post('/workers/conversations/{id}/messages', [WorkerMessageController::class, 'sendMessage']); // Announcement Management Route::get('/workers/announcements', [WorkerAnnouncementController::class, 'getAnnouncements']); }); // Protected Employer Mobile Endpoints (Token Authenticated via Bearer Token) Route::middleware(['auth.employer'])->group(function () { // Profile Management Route::get('/employers/profile', [EmployerProfileController::class, 'getProfile']); Route::post('/employers/profile/update', [EmployerProfileController::class, 'updateProfile']); // Messaging Management Route::get('/employers/conversations', [EmployerMessageController::class, 'getConversations']); Route::get('/employers/conversations/{id}/messages', [EmployerMessageController::class, 'getMessages']); Route::post('/employers/conversations/{id}/messages', [EmployerMessageController::class, 'sendMessage']); Route::post('/employers/conversations/start', [EmployerMessageController::class, 'startConversation']); // Announcement Management Route::get('/employers/announcements', [EmployerAnnouncementController::class, 'getAnnouncements']); Route::post('/employers/announcements', [EmployerAnnouncementController::class, 'createAnnouncement']); Route::delete('/employers/announcements/{id}', [EmployerAnnouncementController::class, 'deleteAnnouncement']); // Worker and Candidate Pipeline Management Route::get('/employers/workers', [\App\Http\Controllers\Api\EmployerWorkerController::class, 'getWorkers']); Route::get('/employers/workers/{id}', [\App\Http\Controllers\Api\EmployerWorkerController::class, 'getWorkerDetail']); Route::get('/employers/candidates', [\App\Http\Controllers\Api\EmployerWorkerController::class, 'getCandidates']); Route::post('/employers/candidates/{id}/hire', [\App\Http\Controllers\Api\EmployerWorkerController::class, 'hireCandidate']); Route::post('/employers/candidates/hire', [\App\Http\Controllers\Api\EmployerWorkerController::class, 'hireCandidate']); // Payment History Management Route::get('/employers/payments', [\App\Http\Controllers\Api\EmployerPaymentController::class, 'getPayments']); });