@ikonintegration/module-config-api 2.0.20 → 2.0.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,21 +2,19 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CacheClient = void 0;
4
4
  // @ts-nocheck — This file is compiled in CI alongside generated sources (Api.js)
5
- const Api_js_1 = require("./Api.js");
6
5
  const MemoryCache_js_1 = require("./MemoryCache.js");
7
6
  const CacheTypes_js_1 = require("./CacheTypes.js");
8
7
  /**
9
8
  * Extended client that wraps the auto-generated Api with Redis cache support.
10
- * Provides direct Redis-backed lookups for customers, tenants, certifications, and courses.
9
+ * Provides direct Redis-backed lookups for expanded customers, tenants, certifications, and courses
10
+ * as they are stored in the persistent cache (not the raw API responses).
11
11
  *
12
12
  * Usage:
13
13
  * ```ts
14
- * import { CacheClient } from "@ikonintegration/module-config-api/cache";
14
+ * import { CacheClient } from "@ikonintegration/module-config-api";
15
15
  *
16
16
  * const client = new CacheClient({
17
- * // API layer (passed to the generated Api client)
18
17
  * baseUrl: "https://api.example.com",
19
- * // Cache layer (optional — enables Redis-backed lookups)
20
18
  * cache: {
21
19
  * endpoint: "redis.example.com",
22
20
  * username: "default",
@@ -30,10 +28,6 @@ const CacheTypes_js_1 = require("./CacheTypes.js");
30
28
  class CacheClient {
31
29
  constructor(options) {
32
30
  this._remoteCache = null;
33
- this.api = new Api_js_1.Api({
34
- baseURL: options.baseUrl,
35
- ...options.baseApiParams,
36
- });
37
31
  this._localCache = new MemoryCache_js_1.MemoryCache();
38
32
  this._cacheConfig = options.cache || null;
39
33
  }
@@ -97,18 +91,18 @@ class CacheClient {
97
91
  /********* CACHE LAYER — Certifications & Courses *********/
98
92
  async getCertificationByID(certID, tenantID) {
99
93
  const tenant = await this.getTenantByID(tenantID);
100
- if (!tenant || !Array.isArray(tenant.certifications))
94
+ if (!tenant?.certifications)
101
95
  return null;
102
- return tenant.certifications.find((c) => c.id === certID) || null;
96
+ return tenant.certifications.find(c => c.id === certID) || null;
103
97
  }
104
98
  async getCourseByID(courseID, tenantID) {
105
99
  const tenant = await this.getTenantByID(tenantID);
106
- if (!tenant || !Array.isArray(tenant.certifications))
100
+ if (!tenant?.certifications)
107
101
  return null;
108
102
  for (const cert of tenant.certifications) {
109
103
  for (const req of cert.requirements || []) {
110
104
  if (Array.isArray(req)) {
111
- const found = req.find((r) => r.id === courseID);
105
+ const found = req.find(r => r.id === courseID);
112
106
  if (found)
113
107
  return found;
114
108
  }
@@ -120,14 +114,14 @@ class CacheClient {
120
114
  }
121
115
  async getCourseInCertificationByID(certificationID, courseID, tenantID) {
122
116
  const tenant = await this.getTenantByID(tenantID);
123
- if (!tenant || !Array.isArray(tenant.certifications))
117
+ if (!tenant?.certifications)
124
118
  return null;
125
- const cert = tenant.certifications.find((c) => c.id === certificationID);
119
+ const cert = tenant.certifications.find(c => c.id === certificationID);
126
120
  if (!cert)
127
121
  return null;
128
122
  for (const req of cert.requirements || []) {
129
123
  if (Array.isArray(req)) {
130
- const found = req.find((r) => r.id === courseID);
124
+ const found = req.find(r => r.id === courseID);
131
125
  if (found)
132
126
  return found;
133
127
  }
@@ -138,7 +132,7 @@ class CacheClient {
138
132
  }
139
133
  async getAllCoursesByTenantID(tenantID) {
140
134
  const tenant = await this.getTenantByID(tenantID);
141
- if (!tenant || !Array.isArray(tenant.certifications))
135
+ if (!tenant?.certifications)
142
136
  return null;
143
137
  const courses = [];
144
138
  for (const cert of tenant.certifications) {
@@ -155,7 +149,7 @@ class CacheClient {
155
149
  }
156
150
  async getAllCoursesByCertificationID(certID, tenantID) {
157
151
  const tenant = await this.getTenantByID(tenantID);
158
- if (!tenant || !Array.isArray(tenant.certifications))
152
+ if (!tenant?.certifications)
159
153
  return null;
160
154
  const courses = [];
161
155
  for (const cert of tenant.certifications) {
@@ -182,7 +176,7 @@ class CacheClient {
182
176
  const filtered = allTenants.filter(t => !customerID || t.customerID === customerID);
183
177
  const courses = [];
184
178
  for (const tenant of filtered) {
185
- if (!Array.isArray(tenant.certifications))
179
+ if (!tenant.certifications)
186
180
  continue;
187
181
  for (const cert of tenant.certifications) {
188
182
  for (const req of cert.requirements || []) {
@@ -204,9 +198,9 @@ class CacheClient {
204
198
  /********* CACHE LAYER — Course Providers *********/
205
199
  async getCourseProviderByIDs(courseProviderID, customerID) {
206
200
  const customer = await this.getCustomerByID(customerID);
207
- if (!customer || !Array.isArray(customer.courseProviders))
201
+ if (!customer?.allowedOnlineCourseProviders)
208
202
  return null;
209
- return customer.courseProviders.find((p) => p === courseProviderID) || null;
203
+ return customer.allowedOnlineCourseProviders.find(p => p.id === courseProviderID) || null;
210
204
  }
211
205
  /********* Private *********/
212
206
  async _getAllRemoteCustomers() {
@@ -1 +1 @@
1
- {"version":3,"file":"CacheClient.js","sourceRoot":"","sources":["../CacheClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CacheClient.js","sourceRoot":"","sources":["../CacheClient.ts"],"names":[],"mappings":"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"}
@@ -19,13 +19,310 @@ export interface CacheConfig {
19
19
  version?: number;
20
20
  }
21
21
  /**
22
- * Cache key prefixes and TTL constants (matching the legacy client).
22
+ * Cache key prefixes and TTL constants (matching the persistent cache).
23
23
  */
24
24
  export declare const CacheConstants: {
25
- readonly CustomerPrefix: "CO::";
25
+ readonly CustomerPrefix: 'CO::';
26
26
  readonly AllCustomersTTL: number;
27
27
  readonly CustomerTTL: 60;
28
- readonly TenantPrefix: "TN::";
28
+ readonly TenantPrefix: 'TN::';
29
29
  readonly AllTenantsTTL: number;
30
30
  readonly TenantTTL: 60;
31
31
  };
32
+ /**
33
+ * Course provider object as stored in the expanded customer cache.
34
+ */
35
+ export interface CachedCourseProvider {
36
+ id: string;
37
+ type?: string;
38
+ onlineTemplateIDs?: string[];
39
+ provider?: any;
40
+ createdBy?: string;
41
+ createdOn?: number;
42
+ updatedBy?: string;
43
+ updatedOn?: number;
44
+ }
45
+ /**
46
+ * Tile permissions as injected into the cached customer.
47
+ */
48
+ export interface CachedTilePermissions {
49
+ customerID?: string;
50
+ tilePermissions?: Record<string, any>;
51
+ [key: string]: any;
52
+ }
53
+ /**
54
+ * The expanded customer object stored in the persistent cache.
55
+ * Differs from CustomerResponse:
56
+ * - `allowedOnlineCourseProviders` contains full CourseProvider objects (not just IDs)
57
+ * - `tilePermissions` is injected from the PortalTilePermissions table
58
+ */
59
+ export interface CachedCustomer {
60
+ id: string;
61
+ createdBy?: string;
62
+ createdOn?: number;
63
+ updatedBy?: string;
64
+ updatedOn?: number;
65
+ timezoneCode?: string;
66
+ adminRole?: string;
67
+ userRole?: string;
68
+ instructorRole?: string;
69
+ idmKey?: string;
70
+ idmToken?: string;
71
+ idmAPIUser?: string;
72
+ idmAPIPassword?: string;
73
+ mailerSender?: string;
74
+ preventUserFromUpdatingNames?: boolean;
75
+ orgModEndpoint?: string;
76
+ orgAdminRole?: string;
77
+ orgSubAdminRole?: string;
78
+ orgUserRole?: string;
79
+ orgModNamespace?: string;
80
+ /** Expanded: full CourseProvider objects (not just IDs) */
81
+ allowedOnlineCourseProviders?: CachedCourseProvider[];
82
+ allowedForeignReqs?: string[];
83
+ displayName?: string;
84
+ sharedModuleLicenseAPIKey?: string;
85
+ sharedModuleConfigAPIKey?: string;
86
+ sharedModuleAuditingAPIKey?: string;
87
+ sharedModuleAgreementAPIKey?: string;
88
+ sharedModuleOrganizationAPIKey?: string;
89
+ sharedModuleClassroomAPIKey?: string;
90
+ sharedModuleMailerAPIKey?: string;
91
+ authConfig?: Record<string, any>;
92
+ portalConfig?: {
93
+ theme?: string;
94
+ domain?: string;
95
+ cookiesHubDomain?: string;
96
+ acceptConnectionsFrom?: string;
97
+ };
98
+ theme?: Record<string, any>;
99
+ domain?: string;
100
+ cookiesHubDomain?: string;
101
+ acceptConnectionsFrom?: string[];
102
+ worksafeTerm?: string;
103
+ cancelationPolicies?: Array<{
104
+ id?: string;
105
+ description?: string;
106
+ cancelPolicy?: {
107
+ isBusinessDays?: boolean;
108
+ canBeCanceled?: boolean;
109
+ canBeRescheduled?: boolean;
110
+ rules?: Array<{
111
+ untilDaysBefore?: number;
112
+ percentageRefunded?: number;
113
+ amountCharged?: number;
114
+ deductEnrolmentPayment?: boolean;
115
+ }>;
116
+ };
117
+ }>;
118
+ salesTaxLabel?: string;
119
+ ignoreCustomAttributesForSignUp?: boolean;
120
+ timezone?: string;
121
+ /** Injected from PortalTilePermissions table */
122
+ tilePermissions?: CachedTilePermissions | null;
123
+ cooldownPolicies?: Array<{
124
+ id?: string;
125
+ description?: string;
126
+ cooldownPolicy?: {
127
+ rules?: Array<{
128
+ untilFailedAttempts?: number;
129
+ cooldownPeriod?: number;
130
+ invalidateCourseRequirements?: boolean;
131
+ lockApplication?: boolean;
132
+ blockCourse?: boolean;
133
+ autoUnlockInDays?: number;
134
+ }>;
135
+ };
136
+ }>;
137
+ ui?: {
138
+ banner?: {
139
+ type?: string;
140
+ content?: string;
141
+ };
142
+ };
143
+ featureFlags?: Array<{
144
+ name: string;
145
+ enabled: boolean;
146
+ metadata?: string;
147
+ }>;
148
+ [key: string]: any;
149
+ }
150
+ /**
151
+ * Course object as stored inside cached certification requirements.
152
+ */
153
+ export interface CachedCourse {
154
+ id: string;
155
+ certificationID: string;
156
+ tenantID?: string;
157
+ customerID?: string;
158
+ productID?: string;
159
+ waivePayments?: boolean;
160
+ coolDownPeriod?: number | number[] | null;
161
+ coolDownPolicy?: any;
162
+ enableRequestToEnrol?: boolean;
163
+ materialsProductID?: string;
164
+ maxRetry?: number;
165
+ requirementsIDs?: string[];
166
+ requiredOnRenew?: boolean;
167
+ validityPeriod?: number;
168
+ validityPeriodInMonths?: number;
169
+ validityPeriodInYears?: number;
170
+ webhooks?: string[];
171
+ isRetakeAllowed?: boolean;
172
+ allowStudentUploads?: boolean;
173
+ allowIfAnyRequirementMet?: boolean;
174
+ allowOnlyIfCertificationIsValid?: boolean;
175
+ gracePeriodAfterCertCompletion?: number;
176
+ courseFailWebhooks?: string[];
177
+ cooldownStartWebhooks?: string[];
178
+ cooldownEndWebhooks?: string[];
179
+ lockAfterFailure?: boolean;
180
+ agreementID?: string;
181
+ isMandatory?: boolean;
182
+ points?: number;
183
+ courseBooks?: Array<{
184
+ fileID: string;
185
+ fileName: string;
186
+ attachToEmail?: boolean;
187
+ }>;
188
+ courseCertificateType?: string;
189
+ courseCertificateTemplate?: string;
190
+ courseCertNumberMaskFormat?: string;
191
+ courseCertNumberMode?: string;
192
+ courseCertNumberInitialNumber?: string;
193
+ externalRequirementWebhook?: string;
194
+ reuseCertNumber?: boolean;
195
+ warningDuePaymentRemainingDays?: number;
196
+ warningRemainingDays?: Array<{
197
+ template: string;
198
+ period: number;
199
+ }>;
200
+ onlineWarningRemainingDays?: Array<{
201
+ template: string;
202
+ period: number;
203
+ }>;
204
+ emailComplement?: string;
205
+ emailTemplates?: {
206
+ coursePassed?: string | null;
207
+ courseFailed?: string | null;
208
+ };
209
+ emailEventOverrides?: Array<{
210
+ eventID: string;
211
+ templateID?: string;
212
+ cc?: string[];
213
+ }>;
214
+ displayName?: string;
215
+ cardDescription?: string;
216
+ description?: string;
217
+ uiTerm?: string;
218
+ uiLogo?: string;
219
+ calendarColor?: string;
220
+ showCollapsed?: boolean;
221
+ passUiTerm?: string;
222
+ failUiTerm?: string;
223
+ courseType?: string;
224
+ preventLaunchIfCompleted?: boolean;
225
+ requirementUserAttribIDs?: Array<{
226
+ partition: string;
227
+ attributeName: string;
228
+ description: string;
229
+ }>;
230
+ createdBy?: string;
231
+ createdOn?: number;
232
+ updatedBy?: string;
233
+ updatedOn?: number;
234
+ [key: string]: any;
235
+ }
236
+ /**
237
+ * Training provider object as stored inside cached certifications.
238
+ */
239
+ export interface CachedTrainingProvider {
240
+ id: string;
241
+ customerID: string;
242
+ name?: string;
243
+ url?: string;
244
+ isDisabled?: boolean;
245
+ createdBy?: string;
246
+ createdOn?: number;
247
+ updatedBy?: string;
248
+ updatedOn?: number;
249
+ }
250
+ /**
251
+ * Application section within a cached certification.
252
+ */
253
+ export interface CachedApplicationSection {
254
+ applicationEnabled?: boolean;
255
+ equivalenciesSection?: {
256
+ sectionEnabled?: boolean;
257
+ /** Expanded equivalence objects with isDisabled flag */
258
+ options?: Array<{
259
+ id: string;
260
+ isDisabled?: boolean;
261
+ [key: string]: any;
262
+ }>;
263
+ };
264
+ requirementsSection?: {
265
+ sectionEnabled?: boolean;
266
+ /** Expanded requirement objects with isDisabled flag */
267
+ requirements?: Array<{
268
+ id: string;
269
+ isDisabled?: boolean;
270
+ [key: string]: any;
271
+ }>;
272
+ };
273
+ electiveRequirementsSection?: {
274
+ sectionEnabled?: boolean;
275
+ requirements?: Array<{
276
+ id: string;
277
+ isDisabled?: boolean;
278
+ [key: string]: any;
279
+ }>;
280
+ };
281
+ customRequirementsSections?: Array<{
282
+ sectionEnabled?: boolean;
283
+ requirements?: Array<{
284
+ id: string;
285
+ isDisabled?: boolean;
286
+ [key: string]: any;
287
+ }>;
288
+ [key: string]: any;
289
+ }>;
290
+ [key: string]: any;
291
+ }
292
+ /**
293
+ * Certification object as stored inside the cached tenant.
294
+ * Contains expanded requirements (full course objects) and application sections.
295
+ */
296
+ export interface CachedCertification {
297
+ id: string;
298
+ customerID: string;
299
+ tenantID: string;
300
+ /** Expanded course requirements — can be CachedCourse or CachedCourse[] (grouped alternatives) */
301
+ requirements?: (CachedCourse | CachedCourse[])[];
302
+ application?: CachedApplicationSection;
303
+ renewal?: {
304
+ application?: CachedApplicationSection;
305
+ [key: string]: any;
306
+ };
307
+ /** Training providers relevant to this certification */
308
+ trainingProviders?: CachedTrainingProvider[];
309
+ [key: string]: any;
310
+ }
311
+ /**
312
+ * The expanded tenant object stored in the persistent cache.
313
+ * Differs from TenantResponse:
314
+ * - `certifications` array is injected with fully expanded certification objects
315
+ * (including courses, applications with equivalencies/requirements, training providers)
316
+ */
317
+ export interface CachedTenant {
318
+ id: string;
319
+ customerID: string;
320
+ createdBy?: string;
321
+ createdOn?: number;
322
+ updatedBy?: string;
323
+ updatedOn?: number;
324
+ name?: string;
325
+ /** Expanded certifications with full course/application/training provider data */
326
+ certifications?: CachedCertification[];
327
+ [key: string]: any;
328
+ }
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CacheConstants = void 0;
4
4
  /**
5
- * Cache key prefixes and TTL constants (matching the legacy client).
5
+ * Cache key prefixes and TTL constants (matching the persistent cache).
6
6
  */
7
7
  exports.CacheConstants = {
8
8
  // Customer
@@ -1 +1 @@
1
- {"version":3,"file":"MemoryCache.js","sourceRoot":"","sources":["../MemoryCache.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,MAAa,WAAW;IAAxB;QACU,UAAK,GAAmD,IAAI,GAAG,EAAE,CAAA;IAwB3E,CAAC;IAtBC,QAAQ,CAAU,GAAW;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACjC,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAA;QACvB,IAAI,KAAK,CAAC,SAAS,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;YACxD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YACtB,OAAO,IAAI,CAAA;QACb,CAAC;QACD,OAAO,KAAK,CAAC,KAAU,CAAA;IACzB,CAAC;IAED,QAAQ,CAAC,GAAW,EAAE,KAAU,EAAE,aAAqB,CAAC;QACtD,MAAM,SAAS,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QACrE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;IAC3C,CAAC;IAED,QAAQ,CAAC,GAAW;QAClB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IACxB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;IACpB,CAAC;CACF;AAzBD,kCAyBC"}
1
+ {"version":3,"file":"MemoryCache.js","sourceRoot":"","sources":["../MemoryCache.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH;IAAA;QACU,UAAK,GAAmD,IAAI,GAAG,EAAE,CAAA;IAwB3E,CAAC;IAtBC,QAAQ,CAAU,GAAW;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACjC,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAA;QACvB,IAAI,KAAK,CAAC,SAAS,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;YACxD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YACtB,OAAO,IAAI,CAAA;QACb,CAAC;QACD,OAAO,KAAK,CAAC,KAAU,CAAA;IACzB,CAAC;IAED,QAAQ,CAAC,GAAW,EAAE,KAAU,EAAE,UAAU,GAAW,CAAC;QACtD,MAAM,SAAS,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QACrE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;IAC3C,CAAC;IAED,QAAQ,CAAC,GAAW;QAClB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IACxB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;IACpB,CAAC;CACF"}
package/dist/index.d.ts CHANGED
@@ -6,4 +6,4 @@ export * from './Api.js';
6
6
  export { CacheClient } from './CacheClient.js';
7
7
  export { MemoryCache } from './MemoryCache.js';
8
8
  export { CacheConstants } from './CacheTypes.js';
9
- export type { RedisLike, CacheConfig } from './CacheTypes.js';
9
+ export type { RedisLike, CacheConfig, CachedCustomer, CachedTenant, CachedCertification, CachedCourse, CachedCourseProvider, CachedTrainingProvider, CachedApplicationSection, CachedTilePermissions, } from './CacheTypes.js';
package/index.ts CHANGED
@@ -11,4 +11,15 @@ export * from './Api.js'
11
11
  export { CacheClient } from './CacheClient.js'
12
12
  export { MemoryCache } from './MemoryCache.js'
13
13
  export { CacheConstants } from './CacheTypes.js'
14
- export type { RedisLike, CacheConfig } from './CacheTypes.js'
14
+ export type {
15
+ RedisLike,
16
+ CacheConfig,
17
+ CachedCustomer,
18
+ CachedTenant,
19
+ CachedCertification,
20
+ CachedCourse,
21
+ CachedCourseProvider,
22
+ CachedTrainingProvider,
23
+ CachedApplicationSection,
24
+ CachedTilePermissions,
25
+ } from './CacheTypes.js'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ikonintegration/module-config-api",
3
- "version": "2.0.20",
3
+ "version": "2.0.22",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {