@ikonintegration/module-config-api 2.0.17 → 2.0.19

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.
package/Api.ts CHANGED
@@ -2934,7 +2934,7 @@ export interface FaqResponse {
2934
2934
  answer?: string
2935
2935
  }
2936
2936
 
2937
- export interface InputZhvrz8Yp0W {
2937
+ export interface InputVnr9Fm759Zi {
2938
2938
  /**
2939
2939
  * Tenant ID this FAQ belongs to
2940
2940
  * @example "tenant456"
@@ -2957,7 +2957,7 @@ export interface InputZhvrz8Yp0W {
2957
2957
  answer?: string
2958
2958
  }
2959
2959
 
2960
- export interface Input9397F836Qfh {
2960
+ export interface InputGbe7Fhz907 {
2961
2961
  /**
2962
2962
  * Tenant ID this FAQ belongs to
2963
2963
  * @example "tenant456"
@@ -5354,7 +5354,7 @@ export class HttpClient<SecurityDataType = unknown> {
5354
5354
 
5355
5355
  /**
5356
5356
  * @title No title
5357
- * @version 2.0.17
5357
+ * @version 2.0.19
5358
5358
  * @baseUrl http://localhost:8080
5359
5359
  * @contact Ikon Integration <ikon@ikonintegration.com> (http://example.com)
5360
5360
  */
@@ -6019,7 +6019,7 @@ export class Api<SecurityDataType extends unknown> extends HttpClient<SecurityDa
6019
6019
  * @request POST:/tenant/{tenantID}/faq/{faqID}
6020
6020
  * @secure
6021
6021
  */
6022
- createFaq: (tenantId: string, faqId: string, data: InputZhvrz8Yp0W, params: RequestParams = {}) =>
6022
+ createFaq: (tenantId: string, faqId: string, data: InputVnr9Fm759Zi, params: RequestParams = {}) =>
6023
6023
  this.request<CreateFaqData, CreateFaqError>({
6024
6024
  path: `/tenant/${tenantId}/faq/${faqId}`,
6025
6025
  method: 'POST',
@@ -6038,7 +6038,7 @@ export class Api<SecurityDataType extends unknown> extends HttpClient<SecurityDa
6038
6038
  * @request PUT:/tenant/{tenantID}/faq/{faqID}
6039
6039
  * @secure
6040
6040
  */
6041
- updateFaq: (tenantId: string, faqId: string, data: Input9397F836Qfh, params: RequestParams = {}) =>
6041
+ updateFaq: (tenantId: string, faqId: string, data: InputGbe7Fhz907, params: RequestParams = {}) =>
6042
6042
  this.request<UpdateFaqData, UpdateFaqError>({
6043
6043
  path: `/tenant/${tenantId}/faq/${faqId}`,
6044
6044
  method: 'PUT',
package/CacheClient.ts ADDED
@@ -0,0 +1,251 @@
1
+ // @ts-nocheck — This file is compiled in CI alongside generated sources (Api.js)
2
+ import { Api } from './Api.js'
3
+ import type { CustomerResponse, TenantResponse } from './Api.js'
4
+ import { MemoryCache } from './MemoryCache.js'
5
+ import { RedisLike, CacheConfig, CacheConstants } from './CacheTypes.js'
6
+
7
+ /**
8
+ * Extended client that wraps the auto-generated Api with Redis cache support.
9
+ * Provides direct Redis-backed lookups for customers, tenants, certifications, and courses.
10
+ *
11
+ * Usage:
12
+ * ```ts
13
+ * import { CacheClient } from "@ikonintegration/module-config-api/cache";
14
+ *
15
+ * const client = new CacheClient({
16
+ * // API layer (passed to the generated Api client)
17
+ * baseUrl: "https://api.example.com",
18
+ * // Cache layer (optional — enables Redis-backed lookups)
19
+ * cache: {
20
+ * endpoint: "redis.example.com",
21
+ * username: "default",
22
+ * password: "secret",
23
+ * enableTLS: true,
24
+ * version: 5
25
+ * }
26
+ * });
27
+ * ```
28
+ */
29
+ export class CacheClient {
30
+ public api: Api<unknown>
31
+ private _localCache: MemoryCache
32
+ private _remoteCache: RedisLike | null = null
33
+ private _cacheConfig: CacheConfig | null
34
+
35
+ constructor(options: {
36
+ baseUrl?: string
37
+ baseApiParams?: ConstructorParameters<typeof Api>[0]
38
+ cache?: CacheConfig
39
+ }) {
40
+ this.api = new Api({
41
+ baseURL: options.baseUrl,
42
+ ...options.baseApiParams,
43
+ })
44
+ this._localCache = new MemoryCache()
45
+ this._cacheConfig = options.cache || null
46
+ }
47
+
48
+ /********* CACHE LAYER — Customers *********/
49
+
50
+ async getAllCustomers(): Promise<CustomerResponse[] | null> {
51
+ let allCustomers = this._localCache.getValue<CustomerResponse[]>(CacheConstants.CustomerPrefix)
52
+ if (!allCustomers) {
53
+ console.debug('ConfigClient - Customers Fetch All')
54
+ allCustomers = await this._getAllRemoteCustomers()
55
+ if (!allCustomers) return null
56
+ this._localCache.setValue(CacheConstants.CustomerPrefix, allCustomers, CacheConstants.AllCustomersTTL)
57
+ }
58
+ return allCustomers
59
+ }
60
+
61
+ async getCustomerByID(customerID: string): Promise<CustomerResponse | null> {
62
+ // Attempt local cache
63
+ let customer = this._localCache.getValue<CustomerResponse>(`${CacheConstants.CustomerPrefix}${customerID}`)
64
+ // Attempt from allCustomers local cache
65
+ if (!customer) {
66
+ const allCustomers = this._localCache.getValue<CustomerResponse[]>(CacheConstants.CustomerPrefix)
67
+ customer = allCustomers?.find(c => c.id === customerID) || null
68
+ }
69
+ // Attempt remote cache
70
+ if (!customer) {
71
+ console.debug('ConfigClient - Customer Fetch:', customerID)
72
+ await this._initCacheClient()
73
+ const raw = await this._remoteCache?.get(`${CacheConstants.CustomerPrefix}${customerID}`)
74
+ if (!raw) return null
75
+ customer = JSON.parse(raw)
76
+ this._localCache.setValue(`${CacheConstants.CustomerPrefix}${customerID}`, customer, CacheConstants.CustomerTTL)
77
+ }
78
+ return customer
79
+ }
80
+
81
+ /********* CACHE LAYER — Tenants *********/
82
+
83
+ async getAllTenants(): Promise<TenantResponse[] | null> {
84
+ let allTenants = this._localCache.getValue<TenantResponse[]>(CacheConstants.TenantPrefix)
85
+ if (!allTenants) {
86
+ console.debug('ConfigClient - Tenants Fetch All')
87
+ allTenants = await this._getAllRemoteTenants()
88
+ if (!allTenants) return null
89
+ this._localCache.setValue(CacheConstants.TenantPrefix, allTenants, CacheConstants.AllTenantsTTL)
90
+ }
91
+ return allTenants
92
+ }
93
+
94
+ async getTenantByID(tenantID: string): Promise<TenantResponse | null> {
95
+ let tenant = this._localCache.getValue<TenantResponse>(`${CacheConstants.TenantPrefix}${tenantID}`)
96
+ if (!tenant) {
97
+ console.debug('ConfigClient - Tenant Fetch:', tenantID)
98
+ await this._initCacheClient()
99
+ const raw = await this._remoteCache?.get(`${CacheConstants.TenantPrefix}${tenantID}`)
100
+ if (!raw) return null
101
+ tenant = JSON.parse(raw)
102
+ this._localCache.setValue(`${CacheConstants.TenantPrefix}${tenantID}`, tenant, CacheConstants.TenantTTL)
103
+ }
104
+ return tenant
105
+ }
106
+
107
+ /********* CACHE LAYER — Certifications & Courses *********/
108
+
109
+ async getCertificationByID(certID: string, tenantID: string) {
110
+ const tenant = await this.getTenantByID(tenantID)
111
+ if (!tenant || !Array.isArray((tenant as any).certifications)) return null
112
+ return (tenant as any).certifications.find((c: any) => c.id === certID) || null
113
+ }
114
+
115
+ async getCourseByID(courseID: string, tenantID: string) {
116
+ const tenant = await this.getTenantByID(tenantID)
117
+ if (!tenant || !Array.isArray((tenant as any).certifications)) return null
118
+ for (const cert of (tenant as any).certifications) {
119
+ for (const req of cert.requirements || []) {
120
+ if (Array.isArray(req)) {
121
+ const found = req.find((r: any) => r.id === courseID)
122
+ if (found) return found
123
+ } else if (req.id === courseID) return req
124
+ }
125
+ }
126
+ return null
127
+ }
128
+
129
+ async getCourseInCertificationByID(certificationID: string, courseID: string, tenantID: string) {
130
+ const tenant = await this.getTenantByID(tenantID)
131
+ if (!tenant || !Array.isArray((tenant as any).certifications)) return null
132
+ const cert = (tenant as any).certifications.find((c: any) => c.id === certificationID)
133
+ if (!cert) return null
134
+ for (const req of cert.requirements || []) {
135
+ if (Array.isArray(req)) {
136
+ const found = req.find((r: any) => r.id === courseID)
137
+ if (found) return found
138
+ } else if (req.id === courseID) return req
139
+ }
140
+ return null
141
+ }
142
+
143
+ async getAllCoursesByTenantID(tenantID: string) {
144
+ const tenant = await this.getTenantByID(tenantID)
145
+ if (!tenant || !Array.isArray((tenant as any).certifications)) return null
146
+ const courses: any[] = []
147
+ for (const cert of (tenant as any).certifications) {
148
+ for (const req of cert.requirements || []) {
149
+ if (Array.isArray(req)) {
150
+ for (const sub of req) courses.push(sub)
151
+ } else courses.push(req)
152
+ }
153
+ }
154
+ return courses
155
+ }
156
+
157
+ async getAllCoursesByCertificationID(certID: string, tenantID: string) {
158
+ const tenant = await this.getTenantByID(tenantID)
159
+ if (!tenant || !Array.isArray((tenant as any).certifications)) return null
160
+ const courses: any[] = []
161
+ for (const cert of (tenant as any).certifications) {
162
+ if (cert.id !== certID) continue
163
+ for (const req of cert.requirements || []) {
164
+ if (Array.isArray(req)) {
165
+ for (const sub of req) courses.push(sub)
166
+ } else courses.push(req)
167
+ }
168
+ }
169
+ return courses
170
+ }
171
+
172
+ async getAllCourses() {
173
+ return this.getAllCoursesByCustomerID(null)
174
+ }
175
+
176
+ async getAllCoursesByCustomerID(customerID: string | null) {
177
+ const allTenants = await this.getAllTenants()
178
+ if (!allTenants) return []
179
+ const filtered = allTenants.filter(t => !customerID || (t as any).customerID === customerID)
180
+ const courses: any[] = []
181
+ for (const tenant of filtered) {
182
+ if (!Array.isArray((tenant as any).certifications)) continue
183
+ for (const cert of (tenant as any).certifications) {
184
+ for (const req of cert.requirements || []) {
185
+ if (Array.isArray(req)) {
186
+ for (const sub of req) {
187
+ if (!courses.find(c => c.id === sub.id)) courses.push(sub)
188
+ }
189
+ } else {
190
+ if (!courses.find(c => c.id === req.id)) courses.push(req)
191
+ }
192
+ }
193
+ }
194
+ }
195
+ return courses
196
+ }
197
+
198
+ /********* CACHE LAYER — Course Providers *********/
199
+
200
+ async getCourseProviderByIDs(courseProviderID: string, customerID: string) {
201
+ const customer = await this.getCustomerByID(customerID)
202
+ if (!customer || !Array.isArray((customer as any).courseProviders)) return null
203
+ return (customer as any).courseProviders.find((p: any) => p === courseProviderID) || null
204
+ }
205
+
206
+ /********* Private *********/
207
+
208
+ private async _getAllRemoteCustomers(): Promise<CustomerResponse[] | null> {
209
+ await this._initCacheClient()
210
+ if (!this._remoteCache) return null
211
+ const allKeys = await this._remoteCache.keys(`${CacheConstants.CustomerPrefix}*`)
212
+ if (!allKeys || allKeys.length === 0) return null
213
+ const raw = await this._remoteCache.mGet(allKeys)
214
+ return Array.isArray(raw) ? raw.map(r => JSON.parse(r)) : null
215
+ }
216
+
217
+ private async _getAllRemoteTenants(): Promise<TenantResponse[] | null> {
218
+ await this._initCacheClient()
219
+ if (!this._remoteCache) return null
220
+ const allKeys = await this._remoteCache.keys(`${CacheConstants.TenantPrefix}*`)
221
+ if (!allKeys || allKeys.length === 0) return null
222
+ const raw = await this._remoteCache.mGet(allKeys)
223
+ return Array.isArray(raw) ? raw.map(r => JSON.parse(r)) : null
224
+ }
225
+
226
+ private async _initCacheClient() {
227
+ if (this._remoteCache || !this._cacheConfig) return
228
+ const config = this._cacheConfig
229
+
230
+ if (config.version === 5) {
231
+ const dynamicImport = ['@ikonintegration/ikapi']
232
+ const { Redis } = await import(dynamicImport[0])
233
+ this._remoteCache = await Redis.connection({
234
+ hostname: config.endpoint,
235
+ username: config.username,
236
+ password: config.password,
237
+ enableTLS: config.enableTLS ?? true,
238
+ })
239
+ } else {
240
+ const dynamicImport = ['redis', '@ikonintegration/ikapi']
241
+ await import(dynamicImport[0])
242
+ const IKAPI = (await import(dynamicImport[1])).default
243
+ this._remoteCache = new IKAPI.IKRedis({
244
+ host: config.endpoint,
245
+ user: config.username,
246
+ password: config.password,
247
+ enableTLS: config.enableTLS ?? true,
248
+ })
249
+ }
250
+ }
251
+ }
package/CacheTypes.ts ADDED
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Minimal interface for Redis-like clients used by the cache layer.
3
+ * Supports both @ikonintegration/ikapi Redis and the legacy IKRedis.
4
+ */
5
+ export interface RedisLike {
6
+ get(key: string): Promise<string | null>
7
+ keys(pattern: string): Promise<string[]>
8
+ mGet(keys: string[]): Promise<string[]>
9
+ }
10
+
11
+ /**
12
+ * Configuration for the Redis cache connection.
13
+ */
14
+ export interface CacheConfig {
15
+ endpoint: string
16
+ username: string
17
+ password: string
18
+ enableTLS?: boolean
19
+ /** Set to 5 to use the new @ikonintegration/ikapi Redis client */
20
+ version?: number
21
+ }
22
+
23
+ /**
24
+ * Cache key prefixes and TTL constants (matching the legacy client).
25
+ */
26
+ export const CacheConstants = {
27
+ // Customer
28
+ CustomerPrefix: 'CO::',
29
+ AllCustomersTTL: 60 * 60, // 1 hour
30
+ CustomerTTL: 60, // 1 minute
31
+ // Tenant
32
+ TenantPrefix: 'TN::',
33
+ AllTenantsTTL: 60 * 60, // 1 hour
34
+ TenantTTL: 60, // 1 minute
35
+ } as const
package/MemoryCache.ts ADDED
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Simple in-memory TTL cache used as a local layer before hitting Redis.
3
+ */
4
+ export class MemoryCache {
5
+ private store: Map<string, { value: any; expiresAt: number }> = new Map()
6
+
7
+ getValue<T = any>(key: string): T | null {
8
+ const entry = this.store.get(key)
9
+ if (!entry) return null
10
+ if (entry.expiresAt > 0 && Date.now() > entry.expiresAt) {
11
+ this.store.delete(key)
12
+ return null
13
+ }
14
+ return entry.value as T
15
+ }
16
+
17
+ setValue(key: string, value: any, ttlSeconds: number = 0): void {
18
+ const expiresAt = ttlSeconds > 0 ? Date.now() + ttlSeconds * 1000 : 0
19
+ this.store.set(key, { value, expiresAt })
20
+ }
21
+
22
+ cleanKey(key: string): void {
23
+ this.store.delete(key)
24
+ }
25
+
26
+ clear(): void {
27
+ this.store.clear()
28
+ }
29
+ }
package/dist/Api.d.ts CHANGED
@@ -2894,7 +2894,7 @@ export interface FaqResponse {
2894
2894
  */
2895
2895
  answer?: string;
2896
2896
  }
2897
- export interface InputZhvrz8Yp0W {
2897
+ export interface InputVnr9Fm759Zi {
2898
2898
  /**
2899
2899
  * Tenant ID this FAQ belongs to
2900
2900
  * @example "tenant456"
@@ -2916,7 +2916,7 @@ export interface InputZhvrz8Yp0W {
2916
2916
  */
2917
2917
  answer?: string;
2918
2918
  }
2919
- export interface Input9397F836Qfh {
2919
+ export interface InputGbe7Fhz907 {
2920
2920
  /**
2921
2921
  * Tenant ID this FAQ belongs to
2922
2922
  * @example "tenant456"
@@ -5073,7 +5073,7 @@ export declare class HttpClient<SecurityDataType = unknown> {
5073
5073
  }
5074
5074
  /**
5075
5075
  * @title No title
5076
- * @version 2.0.17
5076
+ * @version 2.0.19
5077
5077
  * @baseUrl http://localhost:8080
5078
5078
  * @contact Ikon Integration <ikon@ikonintegration.com> (http://example.com)
5079
5079
  */
@@ -5437,7 +5437,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
5437
5437
  * @request POST:/tenant/{tenantID}/faq/{faqID}
5438
5438
  * @secure
5439
5439
  */
5440
- createFaq: (tenantId: string, faqId: string, data: InputZhvrz8Yp0W, params?: RequestParams) => Promise<any>;
5440
+ createFaq: (tenantId: string, faqId: string, data: InputVnr9Fm759Zi, params?: RequestParams) => Promise<any>;
5441
5441
  /**
5442
5442
  * @description Update an existing FAQ.
5443
5443
  *
@@ -5447,7 +5447,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
5447
5447
  * @request PUT:/tenant/{tenantID}/faq/{faqID}
5448
5448
  * @secure
5449
5449
  */
5450
- updateFaq: (tenantId: string, faqId: string, data: Input9397F836Qfh, params?: RequestParams) => Promise<any>;
5450
+ updateFaq: (tenantId: string, faqId: string, data: InputGbe7Fhz907, params?: RequestParams) => Promise<any>;
5451
5451
  /**
5452
5452
  * @description Delete a FAQ.
5453
5453
  *
package/dist/Api.js CHANGED
@@ -99,7 +99,7 @@ class HttpClient {
99
99
  exports.HttpClient = HttpClient;
100
100
  /**
101
101
  * @title No title
102
- * @version 2.0.17
102
+ * @version 2.0.19
103
103
  * @baseUrl http://localhost:8080
104
104
  * @contact Ikon Integration <ikon@ikonintegration.com> (http://example.com)
105
105
  */
package/dist/Api.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Api.js","sourceRoot":"","sources":["../Api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Api.js","sourceRoot":"","sources":["../Api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ import { Api } from './Api.js';
2
+ import type { CustomerResponse, TenantResponse } from './Api.js';
3
+ import { CacheConfig } from './CacheTypes.js';
4
+ /**
5
+ * Extended client that wraps the auto-generated Api with Redis cache support.
6
+ * Provides direct Redis-backed lookups for customers, tenants, certifications, and courses.
7
+ *
8
+ * Usage:
9
+ * ```ts
10
+ * import { CacheClient } from "@ikonintegration/module-config-api/cache";
11
+ *
12
+ * const client = new CacheClient({
13
+ * // API layer (passed to the generated Api client)
14
+ * baseUrl: "https://api.example.com",
15
+ * // Cache layer (optional — enables Redis-backed lookups)
16
+ * cache: {
17
+ * endpoint: "redis.example.com",
18
+ * username: "default",
19
+ * password: "secret",
20
+ * enableTLS: true,
21
+ * version: 5
22
+ * }
23
+ * });
24
+ * ```
25
+ */
26
+ export declare class CacheClient {
27
+ api: Api<unknown>;
28
+ private _localCache;
29
+ private _remoteCache;
30
+ private _cacheConfig;
31
+ constructor(options: {
32
+ baseUrl?: string;
33
+ baseApiParams?: ConstructorParameters<typeof Api>[0];
34
+ cache?: CacheConfig;
35
+ });
36
+ /********* CACHE LAYER — Customers *********/
37
+ getAllCustomers(): Promise<CustomerResponse[] | null>;
38
+ getCustomerByID(customerID: string): Promise<CustomerResponse | null>;
39
+ /********* CACHE LAYER — Tenants *********/
40
+ getAllTenants(): Promise<TenantResponse[] | null>;
41
+ getTenantByID(tenantID: string): Promise<TenantResponse | null>;
42
+ /********* CACHE LAYER — Certifications & Courses *********/
43
+ getCertificationByID(certID: string, tenantID: string): Promise<any>;
44
+ getCourseByID(courseID: string, tenantID: string): Promise<any>;
45
+ getCourseInCertificationByID(certificationID: string, courseID: string, tenantID: string): Promise<any>;
46
+ getAllCoursesByTenantID(tenantID: string): Promise<any[]>;
47
+ getAllCoursesByCertificationID(certID: string, tenantID: string): Promise<any[]>;
48
+ getAllCourses(): Promise<any[]>;
49
+ getAllCoursesByCustomerID(customerID: string | null): Promise<any[]>;
50
+ /********* CACHE LAYER — Course Providers *********/
51
+ getCourseProviderByIDs(courseProviderID: string, customerID: string): Promise<any>;
52
+ /********* Private *********/
53
+ private _getAllRemoteCustomers;
54
+ private _getAllRemoteTenants;
55
+ private _initCacheClient;
56
+ }
@@ -0,0 +1,260 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CacheClient = void 0;
4
+ // @ts-nocheck — This file is compiled in CI alongside generated sources (Api.js)
5
+ const Api_js_1 = require("./Api.js");
6
+ const MemoryCache_js_1 = require("./MemoryCache.js");
7
+ const CacheTypes_js_1 = require("./CacheTypes.js");
8
+ /**
9
+ * Extended client that wraps the auto-generated Api with Redis cache support.
10
+ * Provides direct Redis-backed lookups for customers, tenants, certifications, and courses.
11
+ *
12
+ * Usage:
13
+ * ```ts
14
+ * import { CacheClient } from "@ikonintegration/module-config-api/cache";
15
+ *
16
+ * const client = new CacheClient({
17
+ * // API layer (passed to the generated Api client)
18
+ * baseUrl: "https://api.example.com",
19
+ * // Cache layer (optional — enables Redis-backed lookups)
20
+ * cache: {
21
+ * endpoint: "redis.example.com",
22
+ * username: "default",
23
+ * password: "secret",
24
+ * enableTLS: true,
25
+ * version: 5
26
+ * }
27
+ * });
28
+ * ```
29
+ */
30
+ class CacheClient {
31
+ constructor(options) {
32
+ this._remoteCache = null;
33
+ this.api = new Api_js_1.Api({
34
+ baseURL: options.baseUrl,
35
+ ...options.baseApiParams,
36
+ });
37
+ this._localCache = new MemoryCache_js_1.MemoryCache();
38
+ this._cacheConfig = options.cache || null;
39
+ }
40
+ /********* CACHE LAYER — Customers *********/
41
+ async getAllCustomers() {
42
+ let allCustomers = this._localCache.getValue(CacheTypes_js_1.CacheConstants.CustomerPrefix);
43
+ if (!allCustomers) {
44
+ console.debug('ConfigClient - Customers Fetch All');
45
+ allCustomers = await this._getAllRemoteCustomers();
46
+ if (!allCustomers)
47
+ return null;
48
+ this._localCache.setValue(CacheTypes_js_1.CacheConstants.CustomerPrefix, allCustomers, CacheTypes_js_1.CacheConstants.AllCustomersTTL);
49
+ }
50
+ return allCustomers;
51
+ }
52
+ async getCustomerByID(customerID) {
53
+ // Attempt local cache
54
+ let customer = this._localCache.getValue(`${CacheTypes_js_1.CacheConstants.CustomerPrefix}${customerID}`);
55
+ // Attempt from allCustomers local cache
56
+ if (!customer) {
57
+ const allCustomers = this._localCache.getValue(CacheTypes_js_1.CacheConstants.CustomerPrefix);
58
+ customer = allCustomers?.find(c => c.id === customerID) || null;
59
+ }
60
+ // Attempt remote cache
61
+ if (!customer) {
62
+ console.debug('ConfigClient - Customer Fetch:', customerID);
63
+ await this._initCacheClient();
64
+ const raw = await this._remoteCache?.get(`${CacheTypes_js_1.CacheConstants.CustomerPrefix}${customerID}`);
65
+ if (!raw)
66
+ return null;
67
+ customer = JSON.parse(raw);
68
+ this._localCache.setValue(`${CacheTypes_js_1.CacheConstants.CustomerPrefix}${customerID}`, customer, CacheTypes_js_1.CacheConstants.CustomerTTL);
69
+ }
70
+ return customer;
71
+ }
72
+ /********* CACHE LAYER — Tenants *********/
73
+ async getAllTenants() {
74
+ let allTenants = this._localCache.getValue(CacheTypes_js_1.CacheConstants.TenantPrefix);
75
+ if (!allTenants) {
76
+ console.debug('ConfigClient - Tenants Fetch All');
77
+ allTenants = await this._getAllRemoteTenants();
78
+ if (!allTenants)
79
+ return null;
80
+ this._localCache.setValue(CacheTypes_js_1.CacheConstants.TenantPrefix, allTenants, CacheTypes_js_1.CacheConstants.AllTenantsTTL);
81
+ }
82
+ return allTenants;
83
+ }
84
+ async getTenantByID(tenantID) {
85
+ let tenant = this._localCache.getValue(`${CacheTypes_js_1.CacheConstants.TenantPrefix}${tenantID}`);
86
+ if (!tenant) {
87
+ console.debug('ConfigClient - Tenant Fetch:', tenantID);
88
+ await this._initCacheClient();
89
+ const raw = await this._remoteCache?.get(`${CacheTypes_js_1.CacheConstants.TenantPrefix}${tenantID}`);
90
+ if (!raw)
91
+ return null;
92
+ tenant = JSON.parse(raw);
93
+ this._localCache.setValue(`${CacheTypes_js_1.CacheConstants.TenantPrefix}${tenantID}`, tenant, CacheTypes_js_1.CacheConstants.TenantTTL);
94
+ }
95
+ return tenant;
96
+ }
97
+ /********* CACHE LAYER — Certifications & Courses *********/
98
+ async getCertificationByID(certID, tenantID) {
99
+ const tenant = await this.getTenantByID(tenantID);
100
+ if (!tenant || !Array.isArray(tenant.certifications))
101
+ return null;
102
+ return tenant.certifications.find((c) => c.id === certID) || null;
103
+ }
104
+ async getCourseByID(courseID, tenantID) {
105
+ const tenant = await this.getTenantByID(tenantID);
106
+ if (!tenant || !Array.isArray(tenant.certifications))
107
+ return null;
108
+ for (const cert of tenant.certifications) {
109
+ for (const req of cert.requirements || []) {
110
+ if (Array.isArray(req)) {
111
+ const found = req.find((r) => r.id === courseID);
112
+ if (found)
113
+ return found;
114
+ }
115
+ else if (req.id === courseID)
116
+ return req;
117
+ }
118
+ }
119
+ return null;
120
+ }
121
+ async getCourseInCertificationByID(certificationID, courseID, tenantID) {
122
+ const tenant = await this.getTenantByID(tenantID);
123
+ if (!tenant || !Array.isArray(tenant.certifications))
124
+ return null;
125
+ const cert = tenant.certifications.find((c) => c.id === certificationID);
126
+ if (!cert)
127
+ return null;
128
+ for (const req of cert.requirements || []) {
129
+ if (Array.isArray(req)) {
130
+ const found = req.find((r) => r.id === courseID);
131
+ if (found)
132
+ return found;
133
+ }
134
+ else if (req.id === courseID)
135
+ return req;
136
+ }
137
+ return null;
138
+ }
139
+ async getAllCoursesByTenantID(tenantID) {
140
+ const tenant = await this.getTenantByID(tenantID);
141
+ if (!tenant || !Array.isArray(tenant.certifications))
142
+ return null;
143
+ const courses = [];
144
+ for (const cert of tenant.certifications) {
145
+ for (const req of cert.requirements || []) {
146
+ if (Array.isArray(req)) {
147
+ for (const sub of req)
148
+ courses.push(sub);
149
+ }
150
+ else
151
+ courses.push(req);
152
+ }
153
+ }
154
+ return courses;
155
+ }
156
+ async getAllCoursesByCertificationID(certID, tenantID) {
157
+ const tenant = await this.getTenantByID(tenantID);
158
+ if (!tenant || !Array.isArray(tenant.certifications))
159
+ return null;
160
+ const courses = [];
161
+ for (const cert of tenant.certifications) {
162
+ if (cert.id !== certID)
163
+ continue;
164
+ for (const req of cert.requirements || []) {
165
+ if (Array.isArray(req)) {
166
+ for (const sub of req)
167
+ courses.push(sub);
168
+ }
169
+ else
170
+ courses.push(req);
171
+ }
172
+ }
173
+ return courses;
174
+ }
175
+ async getAllCourses() {
176
+ return this.getAllCoursesByCustomerID(null);
177
+ }
178
+ async getAllCoursesByCustomerID(customerID) {
179
+ const allTenants = await this.getAllTenants();
180
+ if (!allTenants)
181
+ return [];
182
+ const filtered = allTenants.filter(t => !customerID || t.customerID === customerID);
183
+ const courses = [];
184
+ for (const tenant of filtered) {
185
+ if (!Array.isArray(tenant.certifications))
186
+ continue;
187
+ for (const cert of tenant.certifications) {
188
+ for (const req of cert.requirements || []) {
189
+ if (Array.isArray(req)) {
190
+ for (const sub of req) {
191
+ if (!courses.find(c => c.id === sub.id))
192
+ courses.push(sub);
193
+ }
194
+ }
195
+ else {
196
+ if (!courses.find(c => c.id === req.id))
197
+ courses.push(req);
198
+ }
199
+ }
200
+ }
201
+ }
202
+ return courses;
203
+ }
204
+ /********* CACHE LAYER — Course Providers *********/
205
+ async getCourseProviderByIDs(courseProviderID, customerID) {
206
+ const customer = await this.getCustomerByID(customerID);
207
+ if (!customer || !Array.isArray(customer.courseProviders))
208
+ return null;
209
+ return customer.courseProviders.find((p) => p === courseProviderID) || null;
210
+ }
211
+ /********* Private *********/
212
+ async _getAllRemoteCustomers() {
213
+ await this._initCacheClient();
214
+ if (!this._remoteCache)
215
+ return null;
216
+ const allKeys = await this._remoteCache.keys(`${CacheTypes_js_1.CacheConstants.CustomerPrefix}*`);
217
+ if (!allKeys || allKeys.length === 0)
218
+ return null;
219
+ const raw = await this._remoteCache.mGet(allKeys);
220
+ return Array.isArray(raw) ? raw.map(r => JSON.parse(r)) : null;
221
+ }
222
+ async _getAllRemoteTenants() {
223
+ await this._initCacheClient();
224
+ if (!this._remoteCache)
225
+ return null;
226
+ const allKeys = await this._remoteCache.keys(`${CacheTypes_js_1.CacheConstants.TenantPrefix}*`);
227
+ if (!allKeys || allKeys.length === 0)
228
+ return null;
229
+ const raw = await this._remoteCache.mGet(allKeys);
230
+ return Array.isArray(raw) ? raw.map(r => JSON.parse(r)) : null;
231
+ }
232
+ async _initCacheClient() {
233
+ if (this._remoteCache || !this._cacheConfig)
234
+ return;
235
+ const config = this._cacheConfig;
236
+ if (config.version === 5) {
237
+ const dynamicImport = ['@ikonintegration/ikapi'];
238
+ const { Redis } = await import(dynamicImport[0]);
239
+ this._remoteCache = await Redis.connection({
240
+ hostname: config.endpoint,
241
+ username: config.username,
242
+ password: config.password,
243
+ enableTLS: config.enableTLS ?? true,
244
+ });
245
+ }
246
+ else {
247
+ const dynamicImport = ['redis', '@ikonintegration/ikapi'];
248
+ await import(dynamicImport[0]);
249
+ const IKAPI = (await import(dynamicImport[1])).default;
250
+ this._remoteCache = new IKAPI.IKRedis({
251
+ host: config.endpoint,
252
+ user: config.username,
253
+ password: config.password,
254
+ enableTLS: config.enableTLS ?? true,
255
+ });
256
+ }
257
+ }
258
+ }
259
+ exports.CacheClient = CacheClient;
260
+ //# sourceMappingURL=CacheClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CacheClient.js","sourceRoot":"","sources":["../CacheClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Minimal interface for Redis-like clients used by the cache layer.
3
+ * Supports both @ikonintegration/ikapi Redis and the legacy IKRedis.
4
+ */
5
+ export interface RedisLike {
6
+ get(key: string): Promise<string | null>;
7
+ keys(pattern: string): Promise<string[]>;
8
+ mGet(keys: string[]): Promise<string[]>;
9
+ }
10
+ /**
11
+ * Configuration for the Redis cache connection.
12
+ */
13
+ export interface CacheConfig {
14
+ endpoint: string;
15
+ username: string;
16
+ password: string;
17
+ enableTLS?: boolean;
18
+ /** Set to 5 to use the new @ikonintegration/ikapi Redis client */
19
+ version?: number;
20
+ }
21
+ /**
22
+ * Cache key prefixes and TTL constants (matching the legacy client).
23
+ */
24
+ export declare const CacheConstants: {
25
+ readonly CustomerPrefix: "CO::";
26
+ readonly AllCustomersTTL: number;
27
+ readonly CustomerTTL: 60;
28
+ readonly TenantPrefix: "TN::";
29
+ readonly AllTenantsTTL: number;
30
+ readonly TenantTTL: 60;
31
+ };
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CacheConstants = void 0;
4
+ /**
5
+ * Cache key prefixes and TTL constants (matching the legacy client).
6
+ */
7
+ exports.CacheConstants = {
8
+ // Customer
9
+ CustomerPrefix: 'CO::',
10
+ AllCustomersTTL: 60 * 60, // 1 hour
11
+ CustomerTTL: 60, // 1 minute
12
+ // Tenant
13
+ TenantPrefix: 'TN::',
14
+ AllTenantsTTL: 60 * 60, // 1 hour
15
+ TenantTTL: 60, // 1 minute
16
+ };
17
+ //# sourceMappingURL=CacheTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CacheTypes.js","sourceRoot":"","sources":["../CacheTypes.ts"],"names":[],"mappings":";;;AAsBA;;GAEG;AACU,QAAA,cAAc,GAAG;IAC5B,WAAW;IACX,cAAc,EAAE,MAAM;IACtB,eAAe,EAAE,EAAE,GAAG,EAAE,EAAE,SAAS;IACnC,WAAW,EAAE,EAAE,EAAE,WAAW;IAC5B,SAAS;IACT,YAAY,EAAE,MAAM;IACpB,aAAa,EAAE,EAAE,GAAG,EAAE,EAAE,SAAS;IACjC,SAAS,EAAE,EAAE,EAAE,WAAW;CAClB,CAAA"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Simple in-memory TTL cache used as a local layer before hitting Redis.
3
+ */
4
+ export declare class MemoryCache {
5
+ private store;
6
+ getValue<T = any>(key: string): T | null;
7
+ setValue(key: string, value: any, ttlSeconds?: number): void;
8
+ cleanKey(key: string): void;
9
+ clear(): void;
10
+ }
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MemoryCache = void 0;
4
+ /**
5
+ * Simple in-memory TTL cache used as a local layer before hitting Redis.
6
+ */
7
+ class MemoryCache {
8
+ constructor() {
9
+ this.store = new Map();
10
+ }
11
+ getValue(key) {
12
+ const entry = this.store.get(key);
13
+ if (!entry)
14
+ return null;
15
+ if (entry.expiresAt > 0 && Date.now() > entry.expiresAt) {
16
+ this.store.delete(key);
17
+ return null;
18
+ }
19
+ return entry.value;
20
+ }
21
+ setValue(key, value, ttlSeconds = 0) {
22
+ const expiresAt = ttlSeconds > 0 ? Date.now() + ttlSeconds * 1000 : 0;
23
+ this.store.set(key, { value, expiresAt });
24
+ }
25
+ cleanKey(key) {
26
+ this.store.delete(key);
27
+ }
28
+ clear() {
29
+ this.store.clear();
30
+ }
31
+ }
32
+ exports.MemoryCache = MemoryCache;
33
+ //# sourceMappingURL=MemoryCache.js.map
@@ -0,0 +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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Package barrel export.
3
+ * Re-exports both the auto-generated API client and the custom cache extensions.
4
+ */
5
+ export * from './Api.js';
6
+ export { CacheClient } from './CacheClient.js';
7
+ export { MemoryCache } from './MemoryCache.js';
8
+ export { CacheConstants } from './CacheTypes.js';
9
+ export type { RedisLike, CacheConfig } from './CacheTypes.js';
package/dist/index.js ADDED
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ // @ts-nocheck — This file is compiled in CI alongside generated sources
3
+ /**
4
+ * Package barrel export.
5
+ * Re-exports both the auto-generated API client and the custom cache extensions.
6
+ */
7
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
+ if (k2 === undefined) k2 = k;
9
+ var desc = Object.getOwnPropertyDescriptor(m, k);
10
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
11
+ desc = { enumerable: true, get: function() { return m[k]; } };
12
+ }
13
+ Object.defineProperty(o, k2, desc);
14
+ }) : (function(o, m, k, k2) {
15
+ if (k2 === undefined) k2 = k;
16
+ o[k2] = m[k];
17
+ }));
18
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
19
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.CacheConstants = exports.MemoryCache = exports.CacheClient = void 0;
23
+ // Generated API
24
+ __exportStar(require("./Api.js"), exports);
25
+ // Custom extensions
26
+ var CacheClient_js_1 = require("./CacheClient.js");
27
+ Object.defineProperty(exports, "CacheClient", { enumerable: true, get: function () { return CacheClient_js_1.CacheClient; } });
28
+ var MemoryCache_js_1 = require("./MemoryCache.js");
29
+ Object.defineProperty(exports, "MemoryCache", { enumerable: true, get: function () { return MemoryCache_js_1.MemoryCache; } });
30
+ var CacheTypes_js_1 = require("./CacheTypes.js");
31
+ Object.defineProperty(exports, "CacheConstants", { enumerable: true, get: function () { return CacheTypes_js_1.CacheConstants; } });
32
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";AAAA,wEAAwE;AACxE;;;GAGG;;;;;;;;;;;;;;;;;AAEH,gBAAgB;AAChB,2CAAwB;AAExB,oBAAoB;AACpB,mDAA8C;AAArC,6GAAA,WAAW,OAAA;AACpB,mDAA8C;AAArC,6GAAA,WAAW,OAAA;AACpB,iDAAgD;AAAvC,+GAAA,cAAc,OAAA"}
package/index.ts ADDED
@@ -0,0 +1,14 @@
1
+ // @ts-nocheck — This file is compiled in CI alongside generated sources
2
+ /**
3
+ * Package barrel export.
4
+ * Re-exports both the auto-generated API client and the custom cache extensions.
5
+ */
6
+
7
+ // Generated API
8
+ export * from './Api.js'
9
+
10
+ // Custom extensions
11
+ export { CacheClient } from './CacheClient.js'
12
+ export { MemoryCache } from './MemoryCache.js'
13
+ export { CacheConstants } from './CacheTypes.js'
14
+ export type { RedisLike, CacheConfig } from './CacheTypes.js'
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@ikonintegration/module-config-api",
3
- "version": "2.0.17",
3
+ "version": "2.0.19",
4
4
  "description": "",
5
- "main": "dist/Api.js",
5
+ "main": "dist/index.js",
6
6
  "scripts": {
7
7
  "test": "echo \"Error: no test specified\" && exit 1"
8
8
  },
@@ -12,5 +12,6 @@
12
12
  "type": "commonjs",
13
13
  "dependencies": {
14
14
  "axios": "^1.18.1"
15
- }
15
+ },
16
+ "types": "dist/index.d.ts"
16
17
  }