UNPKG

@memberjunction/actions-bizapps-lms

Version:

LMS system integration actions for MemberJunction

77 lines 2.32 kB
import { LearnWorldsBaseAction } from '../learnworlds-base.action.js'; import { ActionParam, ActionResultSimple, RunActionParams } from '@memberjunction/actions-base'; import { UserInfo } from '@memberjunction/core'; import { GetCoursesParams, GetCoursesResult } from '../interfaces/index.js'; /** * Action to retrieve courses from LearnWorlds LMS */ export declare class GetLearnWorldsCoursesAction extends LearnWorldsBaseAction { /** * Description of the action */ get Description(): string; /** * Typed public method for direct (non-framework) callers. * Sets company context, fetches courses, and returns a strongly-typed result. * Throws on error. */ GetCourses(params: GetCoursesParams, contextUser: UserInfo): Promise<GetCoursesResult>; /** * Framework entry-point – thin wrapper around the typed public method. */ protected InternalRunAction(params: RunActionParams): Promise<ActionResultSimple>; /** * Extract typed params from framework ActionParam[] */ private extractGetCoursesParams; /** * Build query parameters for the LearnWorlds API request */ private buildQueryParams; /** * Map LearnWorlds course data to our interface */ private mapLearnWorldsCourse; private mapCourseIdentity; private mapCoursePricing; private mapCourseInstructor; private mapCourseContentStats; private mapCourseMeta; /** * 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; /** * Populate category, level, and language counts in the summary */ private populateCategoryCounts; /** * Populate enrollment statistics in the summary */ private populateEnrollmentStats; /** * Populate price statistics in the summary */ private populatePriceStats; /** * Define the parameters for this action */ get Params(): ActionParam[]; } //# sourceMappingURL=get-courses.action.d.ts.map