UNPKG

@memberjunction/actions-bizapps-lms

Version:

LMS system integration actions for MemberJunction

52 lines 1.89 kB
import { BaseLMSAction } from '../../base/base-lms.action'; import { UserInfo } from '@memberjunction/core'; /** * Base class for all LearnWorlds LMS actions. * Handles LearnWorlds-specific authentication and API interaction patterns. */ export declare abstract class LearnWorldsBaseAction extends BaseLMSAction { protected lmsProvider: string; protected integrationName: string; /** * LearnWorlds API version */ protected apiVersion: string; /** * Current action parameters (set by the framework) */ protected params: any; /** * Makes an authenticated request to LearnWorlds API */ protected makeLearnWorldsRequest<T = any>(endpoint: string, method?: 'GET' | 'POST' | 'PUT' | 'DELETE', body?: any, contextUser?: UserInfo): Promise<T>; /** * Makes a paginated request to LearnWorlds API */ protected makeLearnWorldsPaginatedRequest<T = any>(endpoint: string, params?: Record<string, any>, contextUser?: UserInfo): Promise<T[]>; /** * Convert LearnWorlds date format to Date object */ protected parseLearnWorldsDate(dateString: string | number): Date; /** * Format date for LearnWorlds API (ISO 8601) */ protected formatLearnWorldsDate(date: Date): string; /** * Map LearnWorlds user status to standard status */ protected mapUserStatus(status: string): 'active' | 'inactive' | 'suspended'; /** * Map LearnWorlds enrollment status */ protected mapLearnWorldsEnrollmentStatus(enrollment: any): 'active' | 'completed' | 'expired' | 'suspended'; /** * Calculate progress from LearnWorlds data */ protected calculateProgress(progressData: any): { percentage: number; completedUnits: number; totalUnits: number; timeSpent: number; }; } //# sourceMappingURL=learnworlds-base.action.d.ts.map