/**
 * Shipment Limit Exceeded Exception
 *
 * Thrown when an organization has reached its annual shipment limit (Bronze plan).
 */
export class ShipmentLimitExceededException extends Error {
  constructor(
    public readonly organizationId: string,
    public readonly currentCount: number,
    public readonly maxCount: number
  ) {
    super(
      `L'organisation a atteint sa limite de ${maxCount} expéditions par an (${currentCount}/${maxCount}). Passez à un plan supérieur pour des expéditions illimitées.`
    );
    this.name = 'ShipmentLimitExceededException';
  }
}
