@memberjunction/actions-bizapps-lms
Version:
LMS system integration actions for MemberJunction
64 lines • 2.06 kB
TypeScript
import { LearnWorldsBaseAction } from '../learnworlds-base.action.js';
import { ActionParam, ActionResultSimple, RunActionParams } from '@memberjunction/actions-base';
import { UserInfo } from '@memberjunction/core';
import { GetCourseDetailsParams, GetCourseDetailsResult } from '../interfaces/index.js';
/**
* Action to retrieve comprehensive course details including curriculum structure
*/
export declare class GetLearnWorldsCourseDetailsAction extends LearnWorldsBaseAction {
/**
* Metadata about this action
*/
get Description(): string;
/**
* Typed public method for direct (non-framework) callers.
* Sets company context, fetches course details, and returns a strongly-typed result.
* Throws on error.
*/
GetCourseDetails(params: GetCourseDetailsParams, contextUser: UserInfo): Promise<GetCourseDetailsResult>;
/**
* Framework entry-point – thin wrapper around the typed public method.
*/
protected InternalRunAction(params: RunActionParams): Promise<ActionResultSimple>;
/**
* Extract typed params from framework ActionParam[]
*/
private extractGetCourseDetailsParams;
/**
* Build the base course details from raw API data
*/
private buildCourseDetails;
/**
* Fetch and attach modules/curriculum to course details
*/
private attachModules;
/**
* Fetch and attach instructors to course details
*/
private attachInstructors;
/**
* Fetch and attach stats to course details
*/
private attachStats;
/**
* Format course modules/sections data
*/
private formatModules;
/**
* Format lesson data within a module
*/
private formatLessons;
/**
* Format instructor data
*/
private formatInstructors;
/**
* Build a summary from the course details
*/
private buildCourseSummary;
/**
* Define the parameters this action expects
*/
get Params(): ActionParam[];
}
//# sourceMappingURL=get-course-details.action.d.ts.map