@memberjunction/actions-bizapps-lms
Version:
LMS system integration actions for MemberJunction
77 lines • 2.32 kB
TypeScript
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