import { type DomainEvent } from '@modules/shared';
import { type NotificationChannel } from '../value-objects/notification-channel.vo';

export class NotificationSentEvent implements DomainEvent {
  readonly eventName = 'notification.sent';
  readonly occurredAt = new Date();

  constructor(
    public readonly aggregateId: string,
    public readonly userId: string,
    public readonly channel: NotificationChannel,
    public readonly templateKey: string,
  ) {}
}
