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']); Route::get('/workers/dashboard/views', [WorkerProfileController::class, 'getProfileViews']); Route::get('/workers/dashboard', [WorkerProfileController::class, 'getDashboard']); // 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']); // Review Management Route::post('/employers/reviews', [EmployerReviewController::class, 'addReview']); Route::put('/employers/reviews/{id}', [EmployerReviewController::class, 'editReview']); });