userId)->get(); return new ProviderExportResult('sessions', $sessions->map(fn (UserSession $session) => [ 'id' => $session->id, 'ip_address' => $session->ip_address, 'user_agent' => $session->user_agent, 'last_used_at' => $session->last_used_at?->toIso8601String(), 'revoked_at' => $session->revoked_at?->toIso8601String(), ])->all()); } public function eraseForCustomer(CustomerSubject $subject): ProviderErasureResult { return new ProviderErasureResult('sessions', ErasureOutcome::Skipped, 'Login sessions belong to individual Users, not Customer accounts.'); } public function eraseForUser(UserSubject $subject): ProviderErasureResult { $deleted = UserSession::where('user_id', $subject->userId)->delete(); if ($deleted === 0) { return new ProviderErasureResult('sessions', ErasureOutcome::Skipped, 'No login sessions for this user.'); } return new ProviderErasureResult('sessions', ErasureOutcome::Erased); } }