false, ]); // If your method is in LoginController Route::post('/login', [App\Http\Controllers\Auth\LoginController::class, 'authenticate'])->name('login.post'); Route::get('/verify-otp', [App\Http\Controllers\OtpController::class, 'show'])->name('otp.verify'); Route::post('/verify-otp', [App\Http\Controllers\OtpController::class, 'verify'])->name('otp.verify.post'); Route::post('/resend-otp', [App\Http\Controllers\OtpController::class, 'resend'])->name('otp.resend'); Route::middleware(['auth'])->group(function () { Route::get('/', [App\Http\Controllers\DashboardController::class, 'index'])->name('dashboard'); Route::get('home', [App\Http\Controllers\DashboardController::class, 'index'])->name('home'); #Clients Route::put('/clients/notes/{id}', [App\Http\Controllers\ClientsController::class, 'update_notes']); Route::post('/clients/shortcodes/{id}', [App\Http\Controllers\ClientsController::class, 'update_short_code']); Route::put('/clients/payments/{id}', [App\Http\Controllers\ClientsController::class, 'update_payment']); // Notes Route::put('/client-notes/{id}', [App\Http\Controllers\ClientsController::class, 'update_notes']); Route::delete('/client-notes/{id}', [App\Http\Controllers\ClientsController::class, 'destroy_notes']); // Payments Route::put('/client-payments/{id}', [App\Http\Controllers\ClientsController::class, 'update_payment']); Route::delete('/client-payments/{id}', [App\Http\Controllers\ClientsController::class, 'destroy_payment']); // Shortcodes Route::put('/shortcodes/{id}', [App\Http\Controllers\ClientsController::class, 'update_short_code']); Route::delete('/shortcodes/{id}', [App\Http\Controllers\ClientsController::class, 'destroy_short_code']); Route::get('/clients/data', [App\Http\Controllers\ClientsController::class, 'fetchData'])->name('clients.data'); Route::get('/clients/export', [App\Http\Controllers\ClientsController::class, 'export'])->name('clients.export'); Route::get('/clients/{id}/json', [App\Http\Controllers\ClientsController::class, 'getClientJson']); Route::put('/clients/{id}', [App\Http\Controllers\ClientsController::class, 'update'])->name('clients.update'); Route::post('/clients/shortcodes-store', [App\Http\Controllers\ClientsController::class, 'shortcodeStore'])->name('shortcodes.store'); Route::post('/clients/payments-store', [App\Http\Controllers\ClientsController::class, 'paymentsStore'])->name('client-payments.store'); Route::post('/clients/files-store', [App\Http\Controllers\ClientsController::class, 'storeDocument'])->name('client-files.store'); Route::post('/clients/notes-store', [App\Http\Controllers\ClientsController::class, 'storeNote'])->name('client-notes.store'); Route::get('/client-files/download/{id}', [App\Http\Controllers\ClientsController::class, 'clientFiledownload'])->name('client-files.download'); Route::resource('clients', App\Http\Controllers\ClientsController::class); #MNOs mnos.store Route::post('/mnos/{id}/connections', [App\Http\Controllers\NetworkOperatorsController::class, 'storeConnection'])->name('mnos.connections.store'); Route::delete('/mnos/connections/{id}', [App\Http\Controllers\NetworkOperatorsController::class, 'destroyConnection'])->name('mnos.connections.destroy'); Route::get('/mnos/{id}', [App\Http\Controllers\NetworkOperatorsController::class, 'show'])->name('mnos.show'); Route::get('/mnos', [App\Http\Controllers\NetworkOperatorsController::class, 'index'])->name('mnos.index'); Route::post('/mnos', [App\Http\Controllers\NetworkOperatorsController::class, 'store'])->name('mnos.store'); Route::get('/mnos/{id}/json', [App\Http\Controllers\NetworkOperatorsController::class, 'getJson']); Route::put('/mnos/{id}', [App\Http\Controllers\NetworkOperatorsController::class, 'update'])->name('mnos.update'); // Route::get('/staff', [App\Http\Controllers\StaffController::class, 'index'])->name('home'); Route::get('/staff/{id}/details', [App\Http\Controllers\StaffMembersController::class, 'showDetails'])->name('staff.details'); Route::resource('staff', App\Http\Controllers\StaffMembersController::class)->except(['create', 'show', 'edit']); //Route::get('/documents', [App\Http\Controllers\DocumentsVaultController::class, 'index'])->name('documents.index'); // Route::get('/senderids', [App\Http\Controllers\SenderidsController::class, 'index']); Route::resource('senderids', App\Http\Controllers\SenderidsController::class)->except(['create', 'show', 'edit']); Route::resource('shortcodes', App\Http\Controllers\ShortCodesController::class)->except(['create', 'show', 'edit']); Route::prefix('leave-requests')->name('leave.')->group(function () { Route::get('/', [App\Http\Controllers\LeaveRequestController::class, 'index'])->name('index'); Route::get('/my-leave', [App\Http\Controllers\LeaveRequestController::class, 'myLeave'])->name('my_leave'); Route::post('/store', [App\Http\Controllers\LeaveRequestController::class, 'store'])->name('store'); Route::put('/{id}/status', [App\Http\Controllers\LeaveRequestController::class, 'updateStatus'])->name('status'); }); Route::prefix('profile')->name('profile.')->group(function () { Route::get('/', [App\Http\Controllers\ProfileController::class, 'index'])->name('index'); Route::put('/update', [App\Http\Controllers\ProfileController::class, 'update'])->name('update'); Route::post('/dependents', [App\Http\Controllers\ProfileController::class, 'storeDependent'])->name('dependent.store'); Route::put('/dependents/{id}', [App\Http\Controllers\ProfileController::class, 'updateDependent'])->name('dependent.update'); Route::delete('/dependents/{id}', [App\Http\Controllers\ProfileController::class, 'destroyDependent'])->name('dependent.destroy'); }); Route::prefix('documents')->name('documents.')->group(function () { Route::get('/', [App\Http\Controllers\DocumentsController::class, 'index'])->name('index'); Route::post('/store', [App\Http\Controllers\DocumentsController::class, 'store'])->name('store'); Route::delete('/{id}', [App\Http\Controllers\DocumentsController::class, 'destroy'])->name('destroy'); }); Route::prefix('offices')->name('offices.')->group(function () { Route::get('/', [App\Http\Controllers\OfficeLocationController::class, 'index'])->name('index'); Route::post('/store', [App\Http\Controllers\OfficeLocationController::class, 'store'])->name('store'); Route::put('/{id}', [App\Http\Controllers\OfficeLocationController::class, 'update'])->name('update'); Route::delete('/{id}', [App\Http\Controllers\OfficeLocationController::class, 'destroy'])->name('destroy'); Route::get('/{id}/documents', [App\Http\Controllers\OfficeLocationController::class, 'showDocuments'])->name('documents'); Route::post('/{id}/documents/store', [App\Http\Controllers\OfficeLocationController::class, 'storeDocument'])->name('documents.store'); Route::delete('/documents/delete/{docId}', [App\Http\Controllers\OfficeLocationController::class, 'destroyDocument'])->name('documents.destroy'); }); Route::get('/api/services', [App\Http\Controllers\ServicesController::class, 'getServicesJson']); Route::get('/api/countries', [App\Http\Controllers\HelperController::class, 'getCountriesJson']); // Staff Daily Reports Route::get('/reports', [App\Http\Controllers\DailyReportController::class, 'index'])->name('reports.index'); Route::post('/reports', [App\Http\Controllers\DailyReportController::class, 'store'])->name('reports.store'); // Management Report Overrides Route::post('/overrides', [App\Http\Controllers\ReportOverrideController::class, 'store'])->name('overrides.store'); // Fetch holidays for a specific office Route::get('offices/{office}/holidays', [App\Http\Controllers\PublicHolidaysController::class, 'index']); // Import holidays from the Nager.Date API Route::post('offices/{office}/holidays/import', [App\Http\Controllers\PublicHolidaysController::class, 'importFromApi']); // Add a manual/custom holiday Route::post('holidays', [App\Http\Controllers\PublicHolidaysController::class, 'store']); // Delete a holiday Route::delete('holidays/{holiday}', [App\Http\Controllers\PublicHolidaysController::class, 'destroy']); Route::post('/logout', [App\Http\Controllers\AuthController::class, 'logout'])->name('logout'); });