group(function () { Route::get('dashboard/{query}/{limit?}', [DashboardController::class, 'index']); Route::controller(SearchController::class)->group(function () { Route::get('search-person-speciality', 'searchSpecialityOrPerson'); Route::get('search-hospital', 'searchHospital'); }); Route::controller(AuthController::class)->group(function () { Route::post('otp-request', 'otpRequest'); Route::post('mock-otp', 'mockOtp'); Route::post('login', 'login'); Route::post('logout', 'logout'); Route::post('login-phone', 'loginPhone'); Route::post('register', 'register'); Route::post('forget-password', 'forgetPassword'); Route::post('reset-password', 'resetPassword'); Route::get('social-login/{provider}', 'redirectSocialLogin'); Route::get('social-login/{provider}/callback', 'handleSocialLoginCallback'); }); Route::controller(SpecialityController::class)->group(function () { Route::get('specialities', 'index'); Route::get('list-specialities', 'listSpeciality'); }); Route::controller(HospitalController::class)->group(function () { Route::get('hospitals', 'index'); Route::get('hospitals/{id}', 'show'); }); Route::controller(DoctorController::class)->group(function () { Route::get('doctors/online', 'index')->name('doctors.online'); Route::get('doctors', 'index')->name('doctors.index'); Route::post('doctors/{id}/schedule', 'schedule')->name('doctors.schedule'); Route::get('doctors/{id}', 'show')->name('doctors.show'); }); Route::middleware('auth:sanctum')->group(function () { Route::get('profile/{id}', [ProfileController::class, 'index'])->name('profile'); Route::get('change-profile/{id}', [ProfileController::class, 'changeProfile'])->name('change-profile'); Route::post('profile', [ProfileController::class, 'update'])->name('profile.update'); Route::post('profile-add', [ProfileController::class, 'store'])->name('profile.store'); Route::post('notification-tokens/delete/{id}', [NotificationTokenController::class, 'destroy'])->name('profile.delete.token'); Route::post('notification-tokens', [NotificationTokenController::class, 'store'])->name('profile.store.token'); Route::apiResource('appointment', AppointmentController::class); Route::apiResource('families', PersonController::class)->except(['destroy']); Route::get('autocomplete/marital_status', [AutocompleteController::class, 'maritalStatus']); Route::get('autocomplete/blood_type', [AutocompleteController::class, 'bloodType']); Route::get('autocomplete/relationship', [AutocompleteController::class, 'relationship']); Route::get('autocomplete/corporate', [AutocompleteController::class, 'corporate']); Route::post('manual-linking', [LinkingController::class, 'linkingValidate']); Route::get('card/{member_id}', [LinkingController::class, 'card']); Route::get('card/{member_id}/{log_id}', [LinkingController::class, 'card_detail']); Route::controller(HomeController::class)->group(function () { Route::get('home', 'index')->name('homes.index'); Route::get('home/hospital', 'listHospital')->name('homes.listHospital'); }); Route::controller(LivechatController::class)->group(function () { Route::get('livechat', 'index')->name('livechats.index'); Route::get('livechat/consultation', 'consultation')->name('livechats.consultation'); Route::post('livechat/consultation-request', 'consultation_request')->name('livechats.consultation-request'); Route::get('livechat/consultation-request/{id}', 'consultation_request_show'); Route::get('livechat/consultation-request/consultation-payment-choose/{id}', 'consultation_payment_choose'); Route::get('livechat/consultation-request/consultation-payment-check/{id}', 'consultation_check_payment'); Route::post('livechat/consultation-payment', 'consultation_payment'); }); Route::post('create-invoice-duitku', [DuitkuController::class, 'createInvoice']); Route::post('check-status-duitku', [DuitkuController::class, 'checkStatus']); }); Route::post('payment-method-duitku', [DuitkuController::class, 'paymentMethod']); Route::post('callback-duitku', [DuitkuController::class, 'callback']); Route::get('redirect-duitku', [DuitkuController::class, 'redirect']); ;});