UNPKG

@memberjunction/actions-bizapps-lms

Version:

LMS system integration actions for MemberJunction

79 lines 2.8 kB
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