validate([ 'activity_id' => ['required', 'integer', 'exists:activities,id'], ]); $userId = optional($request->user())->id; if (! $userId) { abort(403); } $activity = Activity::query()->select(['id', 'due_date'])->findOrFail($request->integer('activity_id')); $due = optional($activity->due_date) ? date('Y-m-d', strtotime($activity->due_date)) : now()->toDateString(); ActivityNotificationRead::query()->updateOrCreate( [ 'user_id' => $userId, 'activity_id' => $activity->id, 'due_date' => $due, ], [ 'read_at' => now(), ] ); return response()->json(['status' => 'ok']); } }