customerId)->get(); return new ProviderExportResult('addresses', $addresses->map(fn (Address $address) => [ 'id' => $address->id, 'first_name' => $address->first_name, 'last_name' => $address->last_name, 'company_name' => $address->company_name, 'line_one' => $address->line_one, 'line_two' => $address->line_two, 'line_three' => $address->line_three, 'city' => $address->city, 'state' => $address->state, 'postcode' => $address->postcode, 'contact_email' => $address->contact_email, 'contact_phone' => $address->contact_phone, ])->all()); } public function exportForUser(UserSubject $subject): ProviderExportResult { return new ProviderExportResult('addresses', []); } public function eraseForCustomer(CustomerSubject $subject): ProviderErasureResult { Address::where('customer_id', $subject->customerId)->delete(); return new ProviderErasureResult('addresses', ErasureOutcome::Erased); } public function eraseForUser(UserSubject $subject): ProviderErasureResult { return new ProviderErasureResult('addresses', ErasureOutcome::Skipped, 'Addresses belong to Customer accounts, not individual users.'); } }