fix: controller reminder
This commit is contained in:
@@ -97,14 +97,15 @@ private function authorizeReminder(Reminder $reminder)
|
||||
|
||||
|
||||
public function packageIndex(PackageName $packageName)
|
||||
{
|
||||
$reminders = Reminder::where('user_id', Auth::id())
|
||||
->where('package_name_id', $packageName->id)
|
||||
{
|
||||
// Get package-wide reminders (user_id = null) for this package
|
||||
$reminders = Reminder::where('package_name_id', $packageName->id)
|
||||
->whereNull('user_id')
|
||||
->orderBy('time')
|
||||
->get();
|
||||
|
||||
return response()->json($reminders);
|
||||
}
|
||||
}
|
||||
|
||||
public function packageStore(Request $request, PackageName $packageName)
|
||||
{
|
||||
@@ -126,9 +127,16 @@ public function packageStore(Request $request, PackageName $packageName)
|
||||
return response()->json($reminder, 201);
|
||||
}
|
||||
|
||||
public function packageUpdate(Request $request, PackageName $packageName, Reminder $reminder)
|
||||
{
|
||||
$this->authorizeReminder($reminder);
|
||||
public function packageUpdate(Request $request, PackageName $packageName, Reminder $reminder)
|
||||
{
|
||||
// Basic checks
|
||||
if (!auth()->check()) {
|
||||
return response()->json(['message' => 'Unauthorized'], 401);
|
||||
}
|
||||
|
||||
if ($reminder->user_id !== null) {
|
||||
return response()->json(['message' => 'This is not a package-wide reminder'], 400);
|
||||
}
|
||||
|
||||
if ($reminder->package_name_id !== $packageName->id) {
|
||||
return response()->json(['message' => 'This reminder does not belong to this package'], 403);
|
||||
@@ -146,11 +154,18 @@ public function packageUpdate(Request $request, PackageName $packageName, Remind
|
||||
$reminder->update($data);
|
||||
|
||||
return response()->json($reminder);
|
||||
}
|
||||
}
|
||||
|
||||
public function packageDestroy(PackageName $packageName, Reminder $reminder)
|
||||
{
|
||||
$this->authorizeReminder($reminder);
|
||||
public function packageDestroy(PackageName $packageName, Reminder $reminder)
|
||||
{
|
||||
// Basic checks
|
||||
if (!auth()->check()) {
|
||||
return response()->json(['message' => 'Unauthorized'], 401);
|
||||
}
|
||||
|
||||
if ($reminder->user_id !== null) {
|
||||
return response()->json(['message' => 'This is not a package-wide reminder'], 400);
|
||||
}
|
||||
|
||||
if ($reminder->package_name_id !== $packageName->id) {
|
||||
return response()->json(['message' => 'This reminder does not belong to this package'], 403);
|
||||
@@ -159,6 +174,6 @@ public function packageDestroy(PackageName $packageName, Reminder $reminder)
|
||||
$reminder->delete();
|
||||
|
||||
return response()->json(null, 204);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user