$plain, 'hash' => $hash, 'check' => Hash::check($plain, $hash), // should be true ]; }); Route::get('package-names/{name}/products', [ProductController::class, 'index']); Route::prefix('auth')->controller(UserController::class)->group(function () { Route::post('login-with-approo-v2', [UserController::class, 'loginV2']); Route::middleware(['throttle:3,1'])->post('login-otp', 'loginOTP'); Route::post('check-otp', 'checkOTP'); Route::post('verify-email-code','verifyEmailCode'); Route::post('login', 'login'); Route::post('register', 'register'); Route::post('resend-email-verification', [UserController::class, 'resendEmailVerification']); Route::post('/login-google', 'googleLogin'); Route::get('/oauth/callback', 'oauthCallback'); Route::middleware('auth:sanctum')->group(function () { Route::put('logout', 'logout'); }); }); Route::middleware('auth:sanctum')->group(function () { Route::apiResource('reminders', ReminderController::class); Route::get('status', [UserController::class, 'status']); Route::prefix('package-names')->controller(PackageNameController::class)->group(function () { Route::get('/', 'index'); Route::middleware('abilities:admin')->post('/', 'store'); Route::middleware('abilities:admin')->post('/{name}', 'update'); Route::put('/{name}/try', [UserController::class, 'try']); Route::middleware('abilities:admin')->post('/{name}/products', [ProductController::class, 'store']); Route::middleware('abilities:admin')->patch('/{name}/products/{id}', [ProductController::class, 'update']); Route::middleware('abilities:admin')->delete('/{name}/products/{id}', [ProductController::class, 'delete']); Route::put('/{name}/products/{id}/subscribe', [ProductController::class, 'subscribe']); }); // --------- user profile Route::post('/profile', [UserController::class, 'updateProfile']); Route::get('/profile', [UserController::class, 'profile']); ////-- leader board Route::get('/leader-board', [UserController::class, 'leaderBoard']); ///-- mood routes Route::post('/moods/today', [MoodController::class, 'storeUserMood']); Route::get('/moods/history', [MoodController::class, 'getUserMoods']); // --------- get moods Route::get('/moods', [MoodController::class, 'getAllMoods']); // Route::post('breathing-exercises', [BreathingExerciseController::class, 'store']); // Route::get('profile', [BreathingExerciseController::class, 'profile']); // ------------------------------------------------ Route::post('breathing-templates', [BreathingExerciseController::class, 'createTemplate']); Route::get('breathing-templates', [BreathingExerciseController::class, 'getTemplates']); Route::post('breathing-complete', [BreathingExerciseController::class, 'completeSession']); // Route::get('profile', [BreathingExerciseController::class, 'profile']); Route::put('breathing-templates/{id}', [BreathingExerciseController::class, 'updateTemplate']); Route::delete('breathing-templates/{id}', [BreathingExerciseController::class, 'deleteTemplate']); Route::get('user-templates', [BreathingExerciseController::class, 'getUserTemplates']); Route::get('breathing-sessions', [BreathingExerciseController::class, 'getSessions']); /// worry box feature Route::prefix('worries')->controller(WorryController::class)->group(function () { Route::post('/', 'store'); // Create worry + note Route::get('/', 'index'); // Get all worries Route::put('/{id}', 'update'); // Edit worry & note Route::patch('/{id}/toggle', 'toggleSolved'); // Mark solved / unsolved Route::delete('/{id}', 'destroy'); // Delete worry }); /// questions feature Route::get('/questions', [QuestionController::class, 'index']); Route::post('/questions', [QuestionController::class, 'store']); Route::get('/questions/{question}', [QuestionController::class, 'show']); Route::put('/questions/{question}', [QuestionController::class, 'update']); Route::delete('/questions/{question}', [QuestionController::class, 'destroy']); /// slider feature // Route::get('/slider', [SliderController::class, 'index']); /// images Route::post('/images', [ImageController::class, 'store']); Route::get('/images/private', [ImageController::class, 'userImages']); Route::get('/images/all', [ImageController::class, 'allImages']); Route::get('/images/public', [ImageController::class, 'publicImages']); Route::put('/images/{id}', [ImageController::class, 'update']); // ✅ update Route::delete('/images/{id}', [ImageController::class, 'destroy']); // ✅ delete /// music Route::post('/music', [MusicController::class, 'store']); Route::get('/music/all', [MusicController::class, 'all']); Route::put('/music/{id}', [MusicController::class, 'update']); Route::delete('/music/{id}', [MusicController::class, 'destroy']); Route::get('/slider', [SliderController::class, 'index']); // list all sliders Route::post('/slider', [SliderController::class, 'store']); // create slider Route::get('/slider/{id}', [SliderController::class, 'show']); // get single slider Route::put('/slider/{id}', [SliderController::class, 'update']); // update slider Route::delete('/slider/{id}', [SliderController::class, 'destroy']); // delete slider ///media Route::post('/media', [MediaController::class, 'store']); Route::get('/media', [MediaController::class, 'index']); Route::put('/media/{id}', [MediaController::class, 'update']); Route::delete('/media/{id}', [MediaController::class, 'destroy']); Route::get('/media/{id}', [MediaController::class, 'show']); Route::post('/media/{id}/save', [MediaController::class, 'saveMedia']); Route::get('/media/saved', [MediaController::class, 'saved']); Route::post('/media/{id}/note', [MediaController::class, 'storeNote']); });