File: /home/xedaptot/ai.naniguide.com/app/SendingServers/Identities/ManagementMode.php
<?php
namespace App\SendingServers\Identities;
/**
* Lifecycle discriminator on `sending_identities` rows.
*
* Determined automatically (never user-chosen) by:
* - server null → LOCAL_DKIM
* - server's driver implements SupportsIdentitySync → VENDOR_SYNC
* - otherwise → MANUAL
*
* Constraints (validated in SendingIdentity::booted):
* LOCAL_DKIM : sending_server_id NULL, customer_id NOT NULL, dkim_* populated, kind=domain
* VENDOR_SYNC : sending_server_id NOT NULL, dkim_* NULL, last_synced_at NOT NULL
* MANUAL : sending_server_id NOT NULL, dkim_* NULL, last_synced_at NULL
*/
enum ManagementMode: string
{
case LOCAL_DKIM = 'local_dkim';
case VENDOR_SYNC = 'vendor_sync';
case MANUAL = 'manual';
}