UNPKG

skailan-core

Version:

Servicio de autenticación y multitenancy para Skailan.

70 lines 2.02 kB
import { PrismaClient } from '@prisma/client'; export interface TrialStatus { isActive: boolean; daysRemaining: number; endDate: Date | null; isExpired: boolean; isWarningSent: boolean; canExtend: boolean; } export interface TrialExtensionRequest { organizationId: string; daysToExtend: number; reason: string; requestedBy: string; } export declare class TrialService { private static instance; private prisma; private constructor(); static getInstance(prisma: PrismaClient): TrialService; /** * Inicializa los trabajos cron para monitorear trials */ private initializeCronJobs; /** * Inicia el trial para una organización */ startTrial(organizationId: string, trialDays?: number): Promise<void>; /** * Obtiene el estado actual del trial */ getTrialStatus(organizationId: string): Promise<TrialStatus>; /** * Extiende el trial de una organización */ extendTrial(request: TrialExtensionRequest): Promise<void>; /** * Convierte un trial a suscripción pagada */ convertTrialToPaid(organizationId: string, planId: string): Promise<void>; /** * Verifica y bloquea organizaciones con trial expirado */ blockExpiredTrials(): Promise<void>; /** * Envía advertencias a organizaciones próximas a expirar */ sendTrialWarnings(): Promise<void>; /** * Verifica trials expirados y los marca como expirados */ checkExpiredTrials(): Promise<void>; /** * Registra una acción del trial */ private logTrialAction; /** * Obtiene el historial de acciones del trial */ getTrialHistory(organizationId: string): Promise<any[]>; /** * Verifica si una organización puede acceder al sistema */ canAccess(organizationId: string): Promise<boolean>; /** * Obtiene estadísticas de trials */ getTrialStats(): Promise<any>; } //# sourceMappingURL=TrialService.d.ts.map