UNPKG

@memberjunction/actions-bizapps-lms

Version:

LMS system integration actions for MemberJunction

95 lines 2.52 kB
import { LearnWorldsBaseAction } from '../learnworlds-base.action'; import { ActionParam, ActionResultSimple, RunActionParams } from '@memberjunction/actions-base'; /** * Interface for LearnWorlds user detailed information */ export interface LearnWorldsUserDetails { id: string; email: string; username: string; firstName?: string; lastName?: string; fullName?: string; status: 'active' | 'inactive' | 'suspended'; role: string; createdAt: Date; lastLoginAt?: Date; avatarUrl?: string; bio?: string; location?: string; timezone?: string; language?: string; phone?: string; tags?: string[]; customFields?: Record<string, any>; totalCourses: number; completedCourses: number; inProgressCourses: number; notStartedCourses: number; totalTimeSpent: number; averageCompletionRate: number; lastActivityDate?: Date; enrollments?: UserEnrollment[]; totalCertificates: number; totalBadges: number; points?: number; level?: string; emailNotifications?: boolean; twoFactorEnabled?: boolean; agreedToTerms?: boolean; marketingConsent?: boolean; } /** * Interface for user enrollment in a course */ export interface UserEnrollment { courseId: string; courseTitle: string; enrolledAt: Date; status: 'active' | 'completed' | 'expired' | 'suspended'; progress: number; completedAt?: Date; expiresAt?: Date; lastAccessedAt?: Date; timeSpent: number; certificateUrl?: string; grade?: number; } /** * Action to retrieve detailed information about a specific LearnWorlds user */ export declare class GetLearnWorldsUserDetailsAction extends LearnWorldsBaseAction { /** * Description of the action */ get Description(): string; /** * Main execution method */ protected InternalRunAction(params: RunActionParams): Promise<ActionResultSimple>; /** * Map LearnWorlds user data to detailed interface */ private mapUserDetails; /** * Map enrollment data */ private mapEnrollment; /** * Calculate enrollment statistics */ private calculateEnrollmentStats; /** * Merge additional statistics */ private mergeStatistics; /** * Create a summary of user information */ private createUserSummary; /** * Define the parameters for this action */ get Params(): ActionParam[]; } //# sourceMappingURL=get-user-details.action.d.ts.map