import { type DomainEvent } from '@modules/shared';

/**
 * Fired after a user successfully confirms a phone number change via SMS OTP.
 * Consumed by the audit listener to record sensitive-field changes.
 */
export class PhoneChangedEvent implements DomainEvent {
  readonly eventName = 'user.phone_changed';
  readonly occurredAt = new Date();

  constructor(
    public readonly aggregateId: string,
    public readonly oldPhone: string,
    public readonly newPhone: string,
  ) {}
}
