UNPKG

@memberjunction/actions-bizapps-lms

Version:

LMS system integration actions for MemberJunction

125 lines 3.35 kB
import { LearnWorldsBaseAction } from '../learnworlds-base.action'; import { ActionParam, ActionResultSimple, RunActionParams } from '@memberjunction/actions-base'; /** * Interface for a LearnWorlds course */ export interface LearnWorldsCourse { id: string; title: string; subtitle?: string; description?: string; shortDescription?: string; status: 'published' | 'draft' | 'coming_soon'; visibility: 'public' | 'private' | 'hidden'; isActive: boolean; isFree: boolean; price?: number; currency?: string; originalPrice?: number; discountPercentage?: number; categoryId?: string; categoryName?: string; tags?: string[]; level?: 'beginner' | 'intermediate' | 'advanced' | 'all'; language?: string; duration?: number; thumbnailUrl?: string; coverImageUrl?: string; promoVideoUrl?: string; instructorId?: string; instructorName?: string; instructorBio?: string; instructorAvatarUrl?: string; totalUnits: number; totalLessons: number; totalQuizzes: number; totalAssignments: number; estimatedDuration?: number; totalEnrollments: number; activeEnrollments: number; completionRate: number; averageRating?: number; totalReviews?: number; createdAt: Date; updatedAt: Date; publishedAt?: Date; enrollmentStartDate?: Date; enrollmentEndDate?: Date; requiresApproval: boolean; hasPrerequisites: boolean; prerequisites?: string[]; certificateAvailable: boolean; objectives?: string[]; targetAudience?: string[]; requirements?: string[]; } /** * Interface for course catalog summary */ export interface CourseCatalogSummary { totalCourses: number; publishedCourses: number; draftCourses: number; freeCourses: number; paidCourses: number; categoryCounts: Record<string, number>; levelCounts: Record<string, number>; languageCounts: Record<string, number>; enrollmentStats: { totalEnrollments: number; averageEnrollmentsPerCourse: number; mostPopularCourses: Array<{ id: string; title: string; enrollments: number; }>; }; priceStats: { averagePrice: number; minPrice: number; maxPrice: number; currency: string; }; } /** * Action to retrieve courses from LearnWorlds LMS */ export declare class GetLearnWorldsCoursesAction extends LearnWorldsBaseAction { /** * Description of the action */ get Description(): string; /** * Main execution method */ protected InternalRunAction(params: RunActionParams): Promise<ActionResultSimple>; /** * Map LearnWorlds course data to our interface */ private mapLearnWorldsCourse; /** * Map course status */ private mapCourseStatus; /** * Map course visibility */ private mapCourseVisibility; /** * Map course level */ private mapCourseLevel; /** * Calculate discount percentage */ private calculateDiscountPercentage; /** * Calculate course catalog summary */ private calculateCourseCatalogSummary; /** * Define the parameters for this action */ get Params(): ActionParam[]; } //# sourceMappingURL=get-courses.action.d.ts.map