cecon-interfaces
Version:
Interfaces de Projetos Cecon
64 lines (63 loc) • 2.46 kB
TypeScript
import { EPayioLicenseType } from '../../activation-key/enums/license-type.enum';
import { EPayioActivationBatchStatus } from '../enums/activation-batch-status.enum';
export interface IPayioActivationBatch {
/** Prazo em dias para ativar as licenças (a partir da criação do lote) */
activationDeadlineDays: number;
/** Quantidade de licenças ativas */
activeLicenses: number;
/** ID do aplicativo que será ativado */
appId: string;
/** Nome do aplicativo (para facilitar consultas) */
appName: string;
/** Slug do aplicativo */
appSlug: string;
/** Quantidade de licenças ativadas */
availableLicenses: number;
/** Número sequencial do lote (ex: "2025/001", "2025/002") */
batchNumber: string;
/** Data de criação do lote */
createdAt: Date;
/** ID do admin que criou o lote */
createdBy: string;
/** ID do distribuidor que receberá as licenças */
distributorId: string;
/** Nome do distribuidor (para facilitar consultas) */
distributorName: string;
/** Quantidade de licenças expiradas */
expiredLicenses: number;
/** Dias de tolerância após expiração */
gracePeriodDays: number;
/** Identificador único do lote (UUID) */
id: string;
/** Tipo de licença que será gerada neste lote */
licenseType: EPayioLicenseType;
/** Logs de operações do lote */
logs: string[];
/** Preço total negociado com o distribuidor */
negotiatedPrice: number;
/** Observações ou notas sobre o lote */
notes?: string;
/** Quantidade de licenças revogadas */
revokedLicenses: number;
/** Indica se é ambiente sandbox */
sandbox: boolean;
/** Número sequencial dentro do ano */
sequentialNumber: number;
/** Status atual do lote */
status: EPayioActivationBatchStatus;
/** Tags para busca e indexação */
tags: string[];
/** Quantidade total de licenças no lote */
totalLicenses: number;
/** Preço unitário por licença */
unitPrice: number;
/** Data da última atualização */
updatedAt: Date;
/** Tipo de licença que será gerada neste lote */
/** Período de validade da licença do tipo trial em dias (para definição comercial) */
validityTrialPeriodDays: number;
/** Versão ou intervalo de versões do software cobertas */
versionConstraint: string[];
/** Ano de referência do lote */
year: number;
}