diff --git a/app/Http/Controllers/ReminderController.php b/app/Http/Controllers/ReminderController.php index 641b788..4dc84f9 100644 --- a/app/Http/Controllers/ReminderController.php +++ b/app/Http/Controllers/ReminderController.php @@ -11,14 +11,28 @@ class ReminderController extends Controller { - public function index() - { - $reminders = Reminder::where('user_id', Auth::id()) - ->orderBy('time') - ->get(); + public function index(Request $request) + { + $request->validate([ + 'type' => ['nullable', new Enum(ReminderType::class)], + 'package_name' => ['nullable', 'exists:package_names,name'], + ]); - return response()->json($reminders); - } + $reminders = Reminder::query() + ->where('user_id', Auth::id()) + ->when($request->type, function ($q) use ($request) { + $q->where('type', $request->type); + }) + ->when($request->package_name, function ($q) use ($request) { + $q->whereHas('packageName', function ($q2) use ($request) { + $q2->where('name', $request->package_name); + }); + }) + ->orderBy('time') + ->get(); + + return response()->json($reminders); + } public function store(Request $request) {