@memberjunction/actions-bizapps-lms
Version:
LMS system integration actions for MemberJunction
79 lines • 2.8 kB
TypeScript
import { LearnWorldsBaseAction } from '../learnworlds-base.action.js';
import { ActionParam, ActionResultSimple, RunActionParams } from '@memberjunction/actions-base';
import { UserInfo } from '@memberjunction/core';
import { BulkDataParams, LearnWorldsSyncPayload } from '../interfaces/index.js';
/**
* Orchestrates bulk data retrieval from all LearnWorlds retrieval actions
* into a single LearnWorldsSyncPayload for downstream consumers.
*/
export declare class GetLearnWorldsBulkDataAction extends LearnWorldsBaseAction {
/**
* Retrieves bulk data from LearnWorlds, orchestrating multiple retrieval actions.
* Each data type is optional and controlled via Include* boolean params.
* Partial failures are collected into errors without aborting the whole operation.
*/
GetBulkData(params: BulkDataParams, contextUser: UserInfo): Promise<LearnWorldsSyncPayload>;
/**
* If no Include* flags are explicitly set, include everything by default.
*/
private shouldIncludeAll;
/**
* Helper to determine if a data type should be fetched.
*/
private shouldFetch;
/**
* Fetch users, collecting errors on failure.
*/
private fetchUsers;
/**
* Fetch courses, collecting errors on failure.
*/
private fetchCourses;
/**
* Fetch bundles, collecting errors on failure.
*/
private fetchBundles;
/**
* Fetch enrollments for all provided users with controlled concurrency.
* Processes users in batches of CONCURRENCY_LIMIT to avoid overwhelming the API.
*/
private fetchEnrollmentsForUsers;
/**
* Fetch learning progress for all provided users with controlled concurrency.
* Processes users in batches of CONCURRENCY_LIMIT to avoid overwhelming the API.
*/
private fetchProgressForUsers;
/**
* Fetch certificates, collecting errors on failure.
*/
private fetchCertificates;
/**
* Fetch quiz results, collecting errors on failure.
*/
private fetchQuizResults;
/**
* Adds a SyncError to the errors collection from a caught exception.
*/
private collectError;
/**
* Framework entry point that delegates to the typed public method
*/
protected InternalRunAction(params: RunActionParams): Promise<ActionResultSimple>;
/**
* Extract typed params from the generic ActionParam array
*/
private extractBulkDataParams;
/**
* Builds a human-readable summary of data counts in the payload.
*/
private buildDataCountsSummary;
/**
* Define the parameters this action expects
*/
get Params(): ActionParam[];
/**
* Metadata about this action
*/
get Description(): string;
}
//# sourceMappingURL=get-bulk-data.action.d.ts.map