26 lines
949 B
PHP
26 lines
949 B
PHP
<?php
|
|||
|
|
|
||
|
|
namespace Modules\Core\Customer\Events;
|
||
|
|
|
||
|
|
use Illuminate\Contracts\Auth\Authenticatable;
|
||
|
|
use Modules\Core\Customer\Models\Customer;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Customer-side sibling of Checkout\Events\RecoveryConsentSet — dispatched
|
||
|
|
* by CustomerAccountService::setRecoveryConsent() every time the account's
|
||
|
|
* standing promotional/abandoned-cart-recovery opt-in changes, including
|
||
|
|
* an explicit opt-OUT, not just an opt-in. $consent is the new value,
|
||
|
|
* already written to Customer::meta by the time this fires. Distinct from
|
||
|
|
* RecoveryConsentSet, which fires for the current CART's own opt-in
|
||
|
|
* (CheckoutService::setRecoveryConsent()) — the two write the same meta
|
||
|
|
* shape onto different models and can fire independently of each other.
|
||
|
|
*/
|
||
|
|
class CustomerRecoveryConsentSet
|
||
|
|
{
|
||
|
|
public function __construct(
|
||
|
|
public readonly Customer $customer,
|
||
|
|
public readonly bool $consent,
|
||
|
|
public readonly Authenticatable $causer,
|
||
|
|
) {}
|
||
|
|
}
|