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

export class SubscriptionRenewedEvent implements DomainEvent {
  readonly eventName = 'subscription.renewed';
  readonly occurredAt = new Date();

  constructor(
    public readonly aggregateId: string,
    public readonly userId: string,
    public readonly planTier: PlanTier,
    public readonly newPeriodStart: Date,
    public readonly newPeriodEnd: Date,
  ) {}
}
