UNPKG

cecon-interfaces

Version:
83 lines (82 loc) 3.63 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.PayioActivationBatchEntity = void 0; var license_type_enum_1 = require("../../activation-key/enums/license-type.enum"); var activation_batch_status_enum_1 = require("../enums/activation-batch-status.enum"); var PayioActivationBatchEntity = /** @class */ (function () { function PayioActivationBatchEntity(data) { /** Prazo em dias para ativar as licenças (a partir da criação do lote) */ this.activationDeadlineDays = 180; // 6 meses; /** Quantidade de licenças ativas */ this.activeLicenses = 0; // === INFORMAÇÕES DO APLICATIVO === /** ID do aplicativo que será ativado */ this.appId = ''; /** Nome do aplicativo (para facilitar consultas) */ this.appName = ''; /** Slug do aplicativo */ this.appSlug = ''; /** Quantidade de licenças ativadas */ this.availableLicenses = 0; /** Número sequencial do lote (ex: "2025/001", "2025/002") */ this.batchNumber = ''; // === CONTROLE DE TEMPO === /** Data de criação do lote */ this.createdAt = new Date(); // === AUDITORIA === /** ID do admin que criou o lote */ this.createdBy = ''; // === INFORMAÇÕES DO DISTRIBUIDOR === /** ID do distribuidor que receberá as licenças */ this.distributorId = ''; /** Nome do distribuidor (para facilitar consultas) */ this.distributorName = ''; /** Quantidade de licenças expiradas */ this.expiredLicenses = 0; /** Dias de tolerância após expiração */ this.gracePeriodDays = 0; this.id = ''; // === CONFIGURAÇÕES DE LICENÇA === /** Tipo de licença que será gerada neste lote */ this.licenseType = license_type_enum_1.EPayioLicenseType.SUBSCRIPTION; /** Logs de operações do lote */ this.logs = []; /** Preço total negociado com o distribuidor */ this.negotiatedPrice = 0; /** Quantidade de licenças revogadas */ this.revokedLicenses = 0; /** Indica se é ambiente sandbox */ this.sandbox = false; /** Número sequencial dentro do ano */ this.sequentialNumber = 0; /** Status atual do lote */ this.status = activation_batch_status_enum_1.EPayioActivationBatchStatus.PROCESSING; /** Tags para busca e indexação */ this.tags = []; // === CONTROLE E ESTOQUE DE LICENÇAS === /** Quantidade total de licenças no lote */ this.totalLicenses = 0; // === INFORMAÇÕES COMERCIAIS === /** Preço unitário por licença */ this.unitPrice = 0; /** Data da última atualização */ this.updatedAt = new Date(); /** Período de validade da licença em meses (para definição comercial) */ this.validityPeriodMonths = 12; /** Período de validade da licença do tipo trial em dias (para definição comercial) */ this.validityTrialPeriodDays = 0; /** Versão ou intervalo de versões do software cobertas */ this.versionConstraint = []; /** Ano de referência do lote */ this.year = new Date().getFullYear(); if (data) { for (var key in data) { if (data.hasOwnProperty(key) && key in this) { this[key] = data[key]; } } } } return PayioActivationBatchEntity; }()); exports.PayioActivationBatchEntity = PayioActivationBatchEntity;