@memberjunction/core 5.8.0 → 5.10.0

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.
Files changed (48) hide show
  1. package/dist/generic/RegisterForStartup.js +1 -1
  2. package/dist/generic/RegisterForStartup.js.map +1 -1
  3. package/dist/generic/baseEngine.d.ts +64 -1
  4. package/dist/generic/baseEngine.d.ts.map +1 -1
  5. package/dist/generic/baseEngine.js +229 -22
  6. package/dist/generic/baseEngine.js.map +1 -1
  7. package/dist/generic/baseEntity.d.ts +31 -3
  8. package/dist/generic/baseEntity.d.ts.map +1 -1
  9. package/dist/generic/baseEntity.js +46 -0
  10. package/dist/generic/baseEntity.js.map +1 -1
  11. package/dist/generic/databaseProviderBase.d.ts +19 -1
  12. package/dist/generic/databaseProviderBase.d.ts.map +1 -1
  13. package/dist/generic/databaseProviderBase.js +44 -1
  14. package/dist/generic/databaseProviderBase.js.map +1 -1
  15. package/dist/generic/hookRegistry.d.ts +83 -0
  16. package/dist/generic/hookRegistry.d.ts.map +1 -0
  17. package/dist/generic/hookRegistry.js +87 -0
  18. package/dist/generic/hookRegistry.js.map +1 -0
  19. package/dist/generic/interfaces.d.ts +16 -0
  20. package/dist/generic/interfaces.d.ts.map +1 -1
  21. package/dist/generic/interfaces.js.map +1 -1
  22. package/dist/generic/localCacheManager.d.ts +200 -19
  23. package/dist/generic/localCacheManager.d.ts.map +1 -1
  24. package/dist/generic/localCacheManager.js +504 -135
  25. package/dist/generic/localCacheManager.js.map +1 -1
  26. package/dist/generic/providerBase.d.ts +106 -2
  27. package/dist/generic/providerBase.d.ts.map +1 -1
  28. package/dist/generic/providerBase.js +379 -40
  29. package/dist/generic/providerBase.js.map +1 -1
  30. package/dist/generic/queryInfo.d.ts +14 -6
  31. package/dist/generic/queryInfo.d.ts.map +1 -1
  32. package/dist/generic/queryInfo.js +15 -10
  33. package/dist/generic/queryInfo.js.map +1 -1
  34. package/dist/generic/queryInfoInterfaces.d.ts +6 -1
  35. package/dist/generic/queryInfoInterfaces.d.ts.map +1 -1
  36. package/dist/generic/securityInfo.d.ts +41 -0
  37. package/dist/generic/securityInfo.d.ts.map +1 -1
  38. package/dist/generic/securityInfo.js +23 -2
  39. package/dist/generic/securityInfo.js.map +1 -1
  40. package/dist/index.d.ts +1 -0
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/index.js +1 -0
  43. package/dist/index.js.map +1 -1
  44. package/dist/views/runView.d.ts +33 -0
  45. package/dist/views/runView.d.ts.map +1 -1
  46. package/dist/views/runView.js.map +1 -1
  47. package/package.json +2 -2
  48. package/readme.md +58 -0
@@ -128,7 +128,7 @@ export class StartupManager {
128
128
  const cacheStart = Date.now();
129
129
  const storageProvider = Metadata.Provider.LocalStorageProvider;
130
130
  await LocalCacheManager.Instance.Initialize(storageProvider);
131
- console.log(`LocalCacheManager initialized in ${Date.now() - cacheStart}ms`);
131
+ console.debug(`LocalCacheManager initialized in ${Date.now() - cacheStart}ms`);
132
132
  const startTime = Date.now();
133
133
  const registrations = this.GetRegistrations();
134
134
  const groups = this.GroupByPriority(registrations);
@@ -1 +1 @@
1
- {"version":3,"file":"RegisterForStartup.js","sourceRoot":"","sources":["../../src/generic/RegisterForStartup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RegisterForStartup.js","sourceRoot":"","sources":["../../src/generic/RegisterForStartup.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import { DatasetItemFilterType, IMetadataProvider, IRunViewProvider, RunViewResu
5
5
  import { BaseInfo } from "./baseInfo.js";
6
6
  import { BaseEntity, BaseEntityEvent } from "./baseEntity.js";
7
7
  import { IStartupSink } from "./RegisterForStartup.js";
8
+ import { CacheChangedEvent } from "./localCacheManager.js";
8
9
  /**
9
10
  * Property configuration for the BaseEngine class to automatically load/set properties on the class.
10
11
  */
@@ -132,6 +133,16 @@ export interface EngineDataChangeEvent {
132
133
  * provides a mechanism for loading metadata from the database and caching it for use by the engine. Subclasses must implement the Config abstract method and within that
133
134
  * generally it is recommended to call the Load method to load the metadata. Subclasses can also override the AdditionalLoading method to perform additional loading tasks.
134
135
  */
136
+ /**
137
+ * Typed payload for remote-invalidate events received via cache invalidation subscription.
138
+ */
139
+ export interface RemoteInvalidatePayload {
140
+ primaryKeyValues: string | null;
141
+ action: 'save' | 'delete';
142
+ sourceServerId: string;
143
+ timestamp: string;
144
+ recordData?: string;
145
+ }
135
146
  export declare abstract class BaseEngine<T> extends BaseSingleton<T> implements IStartupSink {
136
147
  private _loaded;
137
148
  private _loadingSubject;
@@ -143,6 +154,7 @@ export declare abstract class BaseEngine<T> extends BaseSingleton<T> implements
143
154
  private _entityEventSubjects;
144
155
  private _provider;
145
156
  private _dataChange$;
157
+ private _cacheChangeUnsubscribers;
146
158
  /**
147
159
  * While the BaseEngine class is a singleton, normally, it is possible to have multiple instances of the class in an application if the class is used in multiple contexts that have different providers.
148
160
  */
@@ -272,6 +284,31 @@ export declare abstract class BaseEngine<T> extends BaseSingleton<T> implements
272
284
  * @param event
273
285
  */
274
286
  protected HandleIndividualBaseEntityEvent(event: BaseEntityEvent): Promise<boolean>;
287
+ /**
288
+ * Handles remote-invalidate events from cross-server cache invalidation.
289
+ * These events are fired by GraphQLDataProvider when it receives a cache invalidation
290
+ * notification via GraphQL subscription (originating from Redis pub/sub on another server).
291
+ *
292
+ * When the event payload includes recordData (the saved entity as JSON), the engine
293
+ * applies the change directly to its in-memory array — no server round-trip needed.
294
+ * For delete events or events without recordData, falls back to LoadSingleConfig.
295
+ */
296
+ protected HandleRemoteInvalidateEvent(event: BaseEntityEvent): Promise<boolean>;
297
+ /**
298
+ * Applies record data from a remote-invalidate event directly to the engine's in-memory arrays.
299
+ * Creates a BaseEntity instance, loads the JSON data into it, then updates the matching
300
+ * config arrays — same as applyImmediateMutation but from serialized data instead of a live entity.
301
+ *
302
+ * @returns true if successfully applied to all matching configs, false if fallback is needed
303
+ */
304
+ protected applyRemoteRecordData(matchingConfigs: BaseEnginePropertyConfig[], entityName: string, recordDataJSON: string): Promise<boolean>;
305
+ /**
306
+ * Removes a deleted record from the engine's in-memory arrays using the primary key values
307
+ * from the remote-invalidate event payload. No server round-trip needed.
308
+ *
309
+ * @returns true if successfully applied to all matching configs, false if fallback is needed
310
+ */
311
+ protected applyRemoteDelete(matchingConfigs: BaseEnginePropertyConfig[], primaryKeyValuesJSON: string): boolean;
275
312
  /**
276
313
  * This method handles the debouncing process, by default using the EntityEventDebounceTime property to set the debounce time. Debouncing is
277
314
  * done on a per-entity basis, meaning that if the debounce time passes for a specific entity name, the event will be processed. This is done to
@@ -328,9 +365,12 @@ export declare abstract class BaseEngine<T> extends BaseSingleton<T> implements
328
365
  * 3. The subclass has not overridden AdditionalLoading (no post-processing that depends on full data)
329
366
  *
330
367
  * @param config - The configuration to check
368
+ * @param skipAdditionalLoadingCheck - When true, skips the AdditionalLoading override check.
369
+ * Use this when the caller will invoke AdditionalLoading() itself after applying mutations
370
+ * (e.g., applyRemoteRecordData applies all config mutations then calls AdditionalLoading).
331
371
  * @returns true if immediate mutation is safe, false if a full view refresh is needed
332
372
  */
333
- protected canUseImmediateMutation(config: BaseEnginePropertyConfig): boolean;
373
+ protected canUseImmediateMutation(config: BaseEnginePropertyConfig, skipAdditionalLoadingCheck?: boolean): boolean;
334
374
  /**
335
375
  * Checks if the current instance has overridden the AdditionalLoading method.
336
376
  * We do this by comparing the method to the base class's method.
@@ -408,6 +448,29 @@ export declare abstract class BaseEngine<T> extends BaseSingleton<T> implements
408
448
  * @param contextUser
409
449
  */
410
450
  protected LoadSingleDatasetConfig(config: BaseEnginePropertyConfig, contextUser: UserInfo): Promise<void>;
451
+ /**
452
+ * Registers cross-server cache change callbacks for entity configs.
453
+ * When another server instance updates cached data for an entity this engine
454
+ * tracks, the engine will automatically reload the affected config.
455
+ *
456
+ * This enables multi-server deployments to keep engine in-memory arrays
457
+ * synchronized without polling. Requires a Redis-backed storage provider
458
+ * with pub/sub enabled (via {@link RedisLocalStorageProvider.StartListening}).
459
+ *
460
+ * @param entityConfigs - The entity configurations to register callbacks for
461
+ */
462
+ protected RegisterCacheChangeCallbacks(entityConfigs: BaseEnginePropertyConfig[]): void;
463
+ /**
464
+ * Called when another server instance updates cached data that this engine
465
+ * is tracking. Default behavior: reload the affected config from the database.
466
+ *
467
+ * Engines can override this for custom behavior (e.g., incremental update
468
+ * using the event's {@link CacheChangedEvent.Data} payload).
469
+ *
470
+ * @param config - The engine property config whose data changed
471
+ * @param event - The cache change event from the other server
472
+ */
473
+ protected OnExternalCacheChange(config: BaseEnginePropertyConfig, event: CacheChangedEvent): Promise<void>;
411
474
  /**
412
475
  * Sets an expiration timer for a metadata property.
413
476
  * @param propertyName - The name of the property
@@ -1 +1 @@
1
- {"version":3,"file":"baseEngine.d.ts","sourceRoot":"","sources":["../../src/generic/baseEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"baseEngine.d.ts","sourceRoot":"","sources":["../../src/generic/baseEngine.ts"],"names":[],"mappings":"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"}
@@ -8,8 +8,10 @@ import { Metadata } from "./metadata.js";
8
8
  import { ProviderType } from "./interfaces.js";
9
9
  import { BaseInfo } from "./baseInfo.js";
10
10
  import { BaseEntity } from "./baseEntity.js";
11
+ import { CompositeKey, KeyValuePair } from "./compositeKey.js";
11
12
  import { BaseEngineRegistry } from "./baseEngineRegistry.js";
12
13
  import { LocalCacheManager } from "./localCacheManager.js";
14
+ import { ProviderBase } from "./providerBase.js";
13
15
  /**
14
16
  * Property configuration for the BaseEngine class to automatically load/set properties on the class.
15
17
  */
@@ -38,11 +40,6 @@ export class BaseEnginePropertyConfig extends BaseInfo {
38
40
  Object.assign(this, init);
39
41
  }
40
42
  }
41
- /**
42
- * Abstract base class for any engine-style class which executes work on behalf of a caller typically using a provider-style architecture with plug-ins. This base class
43
- * provides a mechanism for loading metadata from the database and caching it for use by the engine. Subclasses must implement the Config abstract method and within that
44
- * generally it is recommended to call the Load method to load the metadata. Subclasses can also override the AdditionalLoading method to perform additional loading tasks.
45
- */
46
43
  export class BaseEngine extends BaseSingleton {
47
44
  /**
48
45
  * While the BaseEngine class is a singleton, normally, it is possible to have multiple instances of the class in an application if the class is used in multiple contexts that have different providers.
@@ -57,6 +54,7 @@ export class BaseEngine extends BaseSingleton {
57
54
  this._expirationTimers = new Map();
58
55
  this._entityEventSubjects = new Map();
59
56
  this._dataChange$ = new Subject();
57
+ this._cacheChangeUnsubscribers = [];
60
58
  this._entityEventDebounceTime = 1500; // Default debounce time in milliseconds (1.5 seconds)
61
59
  }
62
60
  /**
@@ -300,6 +298,9 @@ export class BaseEngine extends BaseSingleton {
300
298
  */
301
299
  async HandleIndividualBaseEntityEvent(event) {
302
300
  try {
301
+ if (event.type === 'remote-invalidate') {
302
+ return await this.HandleRemoteInvalidateEvent(event);
303
+ }
303
304
  if (event.type === 'delete' || event.type === 'save') {
304
305
  const eName = event.baseEntity.EntityInfo.Name.toLowerCase().trim();
305
306
  const matchingConfigs = this.Configs.filter((config) => {
@@ -329,6 +330,139 @@ export class BaseEngine extends BaseSingleton {
329
330
  return false;
330
331
  }
331
332
  }
333
+ /**
334
+ * Handles remote-invalidate events from cross-server cache invalidation.
335
+ * These events are fired by GraphQLDataProvider when it receives a cache invalidation
336
+ * notification via GraphQL subscription (originating from Redis pub/sub on another server).
337
+ *
338
+ * When the event payload includes recordData (the saved entity as JSON), the engine
339
+ * applies the change directly to its in-memory array — no server round-trip needed.
340
+ * For delete events or events without recordData, falls back to LoadSingleConfig.
341
+ */
342
+ async HandleRemoteInvalidateEvent(event) {
343
+ try {
344
+ const entityName = event.entityName?.toLowerCase().trim();
345
+ if (!entityName) {
346
+ return true; // No entity name, nothing to do
347
+ }
348
+ const matchingConfigs = this.Configs.filter((config) => {
349
+ return config.AutoRefresh && config.EntityName && config.EntityName.trim().toLowerCase() === entityName;
350
+ });
351
+ if (matchingConfigs.length === 0) {
352
+ return true;
353
+ }
354
+ const payload = event.payload;
355
+ const action = payload?.action;
356
+ // Save with record data: apply directly without a server call
357
+ if (action === 'save' && payload?.recordData) {
358
+ const applied = await this.applyRemoteRecordData(matchingConfigs, entityName, payload.recordData);
359
+ if (applied) {
360
+ return true;
361
+ }
362
+ // Fall through to server fetch if direct apply failed
363
+ }
364
+ // Delete with primary key values: remove from arrays directly
365
+ if (action === 'delete' && payload?.primaryKeyValues) {
366
+ const removed = this.applyRemoteDelete(matchingConfigs, payload.primaryKeyValues);
367
+ if (removed) {
368
+ await this.AdditionalLoading(this._contextUser);
369
+ return true;
370
+ }
371
+ // Fall through to server fetch if direct delete failed
372
+ }
373
+ // Fallback: re-fetch from server (missing data or apply failure)
374
+ let refreshCount = 0;
375
+ for (const config of matchingConfigs) {
376
+ await this.LoadSingleConfig(config, this._contextUser);
377
+ refreshCount++;
378
+ }
379
+ if (refreshCount > 0) {
380
+ await this.AdditionalLoading(this._contextUser);
381
+ }
382
+ return true;
383
+ }
384
+ catch (e) {
385
+ LogError(e);
386
+ return false;
387
+ }
388
+ }
389
+ /**
390
+ * Applies record data from a remote-invalidate event directly to the engine's in-memory arrays.
391
+ * Creates a BaseEntity instance, loads the JSON data into it, then updates the matching
392
+ * config arrays — same as applyImmediateMutation but from serialized data instead of a live entity.
393
+ *
394
+ * @returns true if successfully applied to all matching configs, false if fallback is needed
395
+ */
396
+ async applyRemoteRecordData(matchingConfigs, entityName, recordDataJSON) {
397
+ try {
398
+ const recordData = JSON.parse(recordDataJSON);
399
+ const md = new Metadata();
400
+ // Find the proper entity name with original casing from the config
401
+ const originalEntityName = matchingConfigs[0].EntityName;
402
+ const entity = await md.GetEntityObject(originalEntityName, this._contextUser);
403
+ entity.LoadFromData(recordData);
404
+ for (const config of matchingConfigs) {
405
+ // Skip the AdditionalLoading check because we call it ourselves after all mutations
406
+ if (!this.canUseImmediateMutation(config, /*skipAdditionalLoadingCheck*/ true)) {
407
+ return false;
408
+ }
409
+ const currentData = this[config.PropertyName];
410
+ if (!currentData)
411
+ continue;
412
+ const index = this.findEntityIndexByPrimaryKeys(currentData, entity);
413
+ if (index >= 0) {
414
+ currentData[index] = entity;
415
+ this._dataMap.set(config.PropertyName, { entityName: config.EntityName, data: currentData });
416
+ this.NotifyDataChange(config, currentData, 'update', entity);
417
+ }
418
+ else {
419
+ currentData.push(entity);
420
+ this._dataMap.set(config.PropertyName, { entityName: config.EntityName, data: currentData });
421
+ this.NotifyDataChange(config, currentData, 'add', entity);
422
+ }
423
+ // LocalCacheManager handles its own cache sync by listening for
424
+ // remote-invalidate events directly — no need to sync here
425
+ }
426
+ await this.AdditionalLoading(this._contextUser);
427
+ return true;
428
+ }
429
+ catch (e) {
430
+ LogError(e);
431
+ return false; // Fall back to server fetch
432
+ }
433
+ }
434
+ /**
435
+ * Removes a deleted record from the engine's in-memory arrays using the primary key values
436
+ * from the remote-invalidate event payload. No server round-trip needed.
437
+ *
438
+ * @returns true if successfully applied to all matching configs, false if fallback is needed
439
+ */
440
+ applyRemoteDelete(matchingConfigs, primaryKeyValuesJSON) {
441
+ try {
442
+ const rawPairs = JSON.parse(primaryKeyValuesJSON);
443
+ if (!rawPairs || rawPairs.length === 0)
444
+ return false;
445
+ const targetKey = CompositeKey.FromKeyValuePairs(rawPairs.map(kv => new KeyValuePair(kv.FieldName, kv.Value)));
446
+ for (const config of matchingConfigs) {
447
+ const currentData = this[config.PropertyName];
448
+ if (!currentData)
449
+ continue;
450
+ const index = currentData.findIndex(e => e.PrimaryKey.Equals(targetKey));
451
+ if (index >= 0) {
452
+ const removed = currentData[index];
453
+ currentData.splice(index, 1);
454
+ this._dataMap.set(config.PropertyName, { entityName: config.EntityName, data: currentData });
455
+ this.NotifyDataChange(config, currentData, 'delete', removed);
456
+ }
457
+ // LocalCacheManager handles its own cache sync for deletes
458
+ }
459
+ return true;
460
+ }
461
+ catch (e) {
462
+ LogError(e);
463
+ return false;
464
+ }
465
+ }
332
466
  /**
333
467
  * This method handles the debouncing process, by default using the EntityEventDebounceTime property to set the debounce time. Debouncing is
334
468
  * done on a per-entity basis, meaning that if the debounce time passes for a specific entity name, the event will be processed. This is done to
@@ -483,9 +617,12 @@ export class BaseEngine extends BaseSingleton {
483
617
  * 3. The subclass has not overridden AdditionalLoading (no post-processing that depends on full data)
484
618
  *
485
619
  * @param config - The configuration to check
620
+ * @param skipAdditionalLoadingCheck - When true, skips the AdditionalLoading override check.
621
+ * Use this when the caller will invoke AdditionalLoading() itself after applying mutations
622
+ * (e.g., applyRemoteRecordData applies all config mutations then calls AdditionalLoading).
486
623
  * @returns true if immediate mutation is safe, false if a full view refresh is needed
487
624
  */
488
- canUseImmediateMutation(config) {
625
+ canUseImmediateMutation(config, skipAdditionalLoadingCheck = false) {
489
626
  // If there's a filter, we can't safely do immediate mutations because:
490
627
  // - For creates: the new entity might not match the filter
491
628
  // - For updates: the entity might now match or no longer match the filter
@@ -499,8 +636,9 @@ export class BaseEngine extends BaseSingleton {
499
636
  return false;
500
637
  }
501
638
  // Check if AdditionalLoading is overridden in the subclass
502
- // If it is, we need to run full refresh to ensure post-processing happens
503
- if (this.hasAdditionalLoadingOverride()) {
639
+ // If it is, we need to run full refresh to ensure post-processing happens.
640
+ // Callers that invoke AdditionalLoading() themselves can skip this check.
641
+ if (!skipAdditionalLoadingCheck && this.hasAdditionalLoadingOverride()) {
504
642
  return false;
505
643
  }
506
644
  return true;
@@ -617,7 +755,6 @@ export class BaseEngine extends BaseSingleton {
617
755
  return;
618
756
  }
619
757
  const entity = event.baseEntity;
620
- const entityInfo = entity.EntityInfo;
621
758
  // Get the connection string from the provider for fingerprint generation
622
759
  // The provider is needed because fingerprints include connection prefix
623
760
  const provider = this.ProviderToUse;
@@ -635,25 +772,20 @@ export class BaseEngine extends BaseSingleton {
635
772
  StartRow: 0
636
773
  };
637
774
  const fingerprint = LocalCacheManager.Instance.GenerateRunViewFingerprint(params, connectionString);
638
- // Get the primary key field name
639
- const primaryKeyFieldName = entityInfo.FirstPrimaryKey?.Name || 'ID';
775
+ // Build CompositeKey from the entity's primary key fields
776
+ const key = entity.PrimaryKey;
777
+ if (!key || key.KeyValuePairs.length === 0 || key.KeyValuePairs.some(kv => kv.Value == null)) {
778
+ LogStatus(`BaseEngine.syncLocalCacheForConfig: Cannot sync - primary key is incomplete for ${config.EntityName}`);
779
+ return;
780
+ }
640
781
  // Get the updated timestamp from the entity
641
782
  const updatedAt = entity.Get('__mj_UpdatedAt') || new Date().toISOString();
642
783
  if (event.type === 'delete') {
643
- // For deletes, remove the entity from cache
644
- // Use the first primary key value for simple keys
645
- const pkValue = entity.PrimaryKey.KeyValuePairs[0]?.Value;
646
- if (pkValue === null || pkValue === undefined) {
647
- LogStatus(`BaseEngine.syncLocalCacheForConfig: Cannot sync delete - primary key value is null for ${config.EntityName}`);
648
- return;
649
- }
650
- await LocalCacheManager.Instance.RemoveSingleEntity(fingerprint, String(pkValue), primaryKeyFieldName, updatedAt);
784
+ await LocalCacheManager.Instance.RemoveSingleEntity(fingerprint, key, updatedAt);
651
785
  }
652
786
  else {
653
- // For save (create or update), upsert the entity data
654
- // Use GetAll() to get a plain object representation
655
787
  const entityData = entity.GetAll();
656
- await LocalCacheManager.Instance.UpsertSingleEntity(fingerprint, entityData, primaryKeyFieldName, updatedAt);
788
+ await LocalCacheManager.Instance.UpsertSingleEntity(fingerprint, entityData, key, updatedAt);
657
789
  }
658
790
  }
659
791
  /**
@@ -705,6 +837,8 @@ export class BaseEngine extends BaseSingleton {
705
837
  const datasetConfigs = this._metadataConfigs.filter(c => c.Type === 'dataset');
706
838
  await Promise.all([...datasetConfigs.map(c => this.LoadSingleDatasetConfig(c, contextUser)),
707
839
  this.LoadMultipleEntityConfigs(entityConfigs, contextUser)]);
840
+ // Register cross-server cache change callbacks for entity configs
841
+ this.RegisterCacheChangeCallbacks(entityConfigs);
708
842
  }
709
843
  /**
710
844
  * Loads a single metadata configuration.
@@ -799,6 +933,10 @@ export class BaseEngine extends BaseSingleton {
799
933
  async LoadSingleDatasetConfig(config, contextUser) {
800
934
  const p = this.ProviderToUse;
801
935
  const result = await p.GetAndCacheDatasetByName(config.DatasetName, config.DatasetItemFilters);
936
+ if (!result) {
937
+ LogError(`LoadSingleDatasetConfig: GetAndCacheDatasetByName("${config.DatasetName}") returned undefined/null — provider: ${p?.constructor?.name}`);
938
+ return;
939
+ }
802
940
  if (result.Success) {
803
941
  if (config.AddToObject !== false) {
804
942
  if (config.DatasetResultHandling === 'single_property') {
@@ -829,6 +967,75 @@ export class BaseEngine extends BaseSingleton {
829
967
  }
830
968
  }
831
969
  }
970
+ /**
971
+ * Registers cross-server cache change callbacks for entity configs.
972
+ * When another server instance updates cached data for an entity this engine
973
+ * tracks, the engine will automatically reload the affected config.
974
+ *
975
+ * This enables multi-server deployments to keep engine in-memory arrays
976
+ * synchronized without polling. Requires a Redis-backed storage provider
977
+ * with pub/sub enabled (via {@link RedisLocalStorageProvider.StartListening}).
978
+ *
979
+ * @param entityConfigs - The entity configurations to register callbacks for
980
+ */
981
+ RegisterCacheChangeCallbacks(entityConfigs) {
982
+ // Unsubscribe any previous callbacks (e.g., on forceRefresh reload)
983
+ for (const unsub of this._cacheChangeUnsubscribers) {
984
+ unsub();
985
+ }
986
+ this._cacheChangeUnsubscribers = [];
987
+ if (!LocalCacheManager.Instance.IsInitialized) {
988
+ return;
989
+ }
990
+ const connectionPrefix = this.RunViewProviderToUse instanceof ProviderBase
991
+ ? this.RunViewProviderToUse.InstanceConnectionString
992
+ : undefined;
993
+ for (const config of entityConfigs) {
994
+ const fingerprint = LocalCacheManager.Instance.GenerateRunViewFingerprint({
995
+ EntityName: config.EntityName,
996
+ ExtraFilter: config.Filter,
997
+ OrderBy: config.OrderBy,
998
+ ResultType: 'entity_object',
999
+ }, connectionPrefix);
1000
+ const unsubscribe = LocalCacheManager.Instance.RegisterChangeCallback(fingerprint, (event) => this.OnExternalCacheChange(config, event));
1001
+ this._cacheChangeUnsubscribers.push(unsubscribe);
1002
+ }
1003
+ }
1004
+ /**
1005
+ * Called when another server instance updates cached data that this engine
1006
+ * is tracking. Default behavior: reload the affected config from the database.
1007
+ *
1008
+ * Engines can override this for custom behavior (e.g., incremental update
1009
+ * using the event's {@link CacheChangedEvent.Data} payload).
1010
+ *
1011
+ * @param config - The engine property config whose data changed
1012
+ * @param event - The cache change event from the other server
1013
+ */
1014
+ async OnExternalCacheChange(config, event) {
1015
+ // If the event includes the new data, try to apply it directly
1016
+ if (event.Data && event.Action === 'set') {
1017
+ try {
1018
+ const parsed = JSON.parse(event.Data);
1019
+ if (parsed?.results && Array.isArray(parsed.results)) {
1020
+ this.HandleSingleViewResult(config, {
1021
+ Success: true,
1022
+ Results: parsed.results,
1023
+ RowCount: parsed.results.length,
1024
+ TotalRowCount: parsed.results.length,
1025
+ ExecutionTime: 0,
1026
+ ErrorMessage: '',
1027
+ UserViewRunID: '',
1028
+ });
1029
+ return;
1030
+ }
1031
+ }
1032
+ catch {
1033
+ // Fall through to full reload
1034
+ }
1035
+ }
1036
+ // Fallback: reload this config from the database
1037
+ await this.LoadSingleConfig(config, this._contextUser);
1038
+ }
832
1039
  /**
833
1040
  * Sets an expiration timer for a metadata property.
834
1041
  * @param propertyName - The name of the property
@@ -1 +1 @@
1
- {"version":3,"file":"baseEngine.js","sourceRoot":"","sources":["../../src/generic/baseEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"baseEngine.js","sourceRoot":"","sources":["../../src/generic/baseEngine.ts"],"names":[],"mappings":"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"}