@memberjunction/sqlserver-dataprovider 4.3.1 → 5.0.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.
- package/dist/SQLServerDataProvider.d.ts +58 -6
- package/dist/SQLServerDataProvider.d.ts.map +1 -1
- package/dist/SQLServerDataProvider.js +168 -11
- package/dist/SQLServerDataProvider.js.map +1 -1
- package/dist/SqlLogger.d.ts +0 -55
- package/dist/SqlLogger.d.ts.map +1 -1
- package/dist/SqlLogger.js +1 -170
- package/dist/SqlLogger.js.map +1 -1
- package/dist/__tests__/setup.d.ts +5 -0
- package/dist/__tests__/setup.d.ts.map +1 -0
- package/dist/__tests__/setup.js +17 -0
- package/dist/__tests__/setup.js.map +1 -0
- package/package.json +12 -12
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
* so it is only included by the consumer of the entities library if they want to use it.
|
|
17
17
|
**************************************************************************************************************/
|
|
18
18
|
import { BaseEntity, IEntityDataProvider, IMetadataProvider, RunViewResult, AggregateResult, EntityInfo, EntityFieldInfo, ApplicationInfo, RunViewParams, ProviderType, UserInfo, RecordChange, ILocalStorageProvider, IFileSystemProvider, AuditLogTypeInfo, AuthorizationInfo, TransactionGroupBase, EntitySaveOptions, RunReportParams, DatasetItemFilterType, DatasetResultType, DatasetStatusResultType, EntityRecordNameInput, EntityRecordNameResult, IRunReportProvider, RunReportResult, RecordDependency, RecordMergeRequest, RecordMergeResult, EntityDependency, RunQueryResult, RunQueryParams, PotentialDuplicateRequest, PotentialDuplicateResponse, CompositeKey, EntityDeleteOptions, EntityMergeOptions, DatasetItemResultType, DatabaseProviderBase, QueryInfo, RunViewWithCacheCheckParams, RunViewsWithCacheCheckResponse, RunViewWithCacheCheckResult, RunQueryWithCacheCheckParams, RunQueriesWithCacheCheckResponse, RunQueryWithCacheCheckResult } from '@memberjunction/core';
|
|
19
|
-
import {
|
|
19
|
+
import { MJAuditLogEntity, MJEntityAIActionEntity, MJRecordMergeLogEntity, UserViewEntityExtended } from '@memberjunction/core-entities';
|
|
20
20
|
import sql from 'mssql';
|
|
21
21
|
import { Observable } from 'rxjs';
|
|
22
22
|
import { ExecuteSQLOptions, ExecuteSQLBatchOptions, SQLServerProviderConfigData, SqlLoggingOptions, SqlLoggingSession } from './types.js';
|
|
@@ -470,7 +470,7 @@ export declare class SQLServerDataProvider extends DatabaseProviderBase implemen
|
|
|
470
470
|
runID: string;
|
|
471
471
|
}>;
|
|
472
472
|
protected createViewUserSearchSQL(entityInfo: EntityInfo, userSearchString: string): string;
|
|
473
|
-
CreateAuditLogRecord(user: UserInfo, authorizationName: string | null, auditLogTypeName: string, status: string, details: string | null, entityId: string, recordId: any | null, auditLogDescription: string | null, saveOptions: EntitySaveOptions): Promise<
|
|
473
|
+
CreateAuditLogRecord(user: UserInfo, authorizationName: string | null, auditLogTypeName: string, status: string, details: string | null, entityId: string, recordId: any | null, auditLogDescription: string | null, saveOptions: EntitySaveOptions): Promise<MJAuditLogEntity>;
|
|
474
474
|
protected CheckUserReadPermissions(entityName: string, contextUser: UserInfo): void;
|
|
475
475
|
/**************************************************************************/
|
|
476
476
|
/**************************************************************************/
|
|
@@ -502,8 +502,8 @@ export declare class SQLServerDataProvider extends DatabaseProviderBase implemen
|
|
|
502
502
|
protected GetRecordDependencyLinkSQL(dep: EntityDependency, entity: EntityInfo, relatedEntity: EntityInfo, CompositeKey: CompositeKey): string;
|
|
503
503
|
GetRecordDuplicates(params: PotentialDuplicateRequest, contextUser?: UserInfo): Promise<PotentialDuplicateResponse>;
|
|
504
504
|
MergeRecords(request: RecordMergeRequest, contextUser?: UserInfo, options?: EntityMergeOptions): Promise<RecordMergeResult>;
|
|
505
|
-
protected StartMergeLogging(request: RecordMergeRequest, result: RecordMergeResult, contextUser: UserInfo): Promise<
|
|
506
|
-
protected CompleteMergeLogging(recordMergeLog:
|
|
505
|
+
protected StartMergeLogging(request: RecordMergeRequest, result: RecordMergeResult, contextUser: UserInfo): Promise<MJRecordMergeLogEntity>;
|
|
506
|
+
protected CompleteMergeLogging(recordMergeLog: MJRecordMergeLogEntity, result: RecordMergeResult, contextUser?: UserInfo): Promise<void>;
|
|
507
507
|
/**
|
|
508
508
|
* Generates the SQL Statement that will Save a record to the database.
|
|
509
509
|
*
|
|
@@ -539,7 +539,7 @@ export declare class SQLServerDataProvider extends DatabaseProviderBase implemen
|
|
|
539
539
|
* @returns Array of AI action entities
|
|
540
540
|
* @internal
|
|
541
541
|
*/
|
|
542
|
-
protected GetEntityAIActions(entityInfo: EntityInfo, before: boolean):
|
|
542
|
+
protected GetEntityAIActions(entityInfo: EntityInfo, before: boolean): MJEntityAIActionEntity[];
|
|
543
543
|
/**
|
|
544
544
|
* Handles entity actions (non-AI) for save, delete, or validate operations
|
|
545
545
|
*
|
|
@@ -897,12 +897,64 @@ export declare class SQLServerDataProvider extends DatabaseProviderBase implemen
|
|
|
897
897
|
FindISAChildEntity(entityInfo: EntityInfo, recordPKValue: string, contextUser?: UserInfo): Promise<{
|
|
898
898
|
ChildEntityName: string;
|
|
899
899
|
} | null>;
|
|
900
|
+
/**
|
|
901
|
+
* Discovers ALL IS-A child entities that have records with the given primary key.
|
|
902
|
+
* Used for overlapping subtype parents (AllowMultipleSubtypes = true) where multiple
|
|
903
|
+
* children can coexist. Same UNION ALL query as FindISAChildEntity, but returns all matches.
|
|
904
|
+
*
|
|
905
|
+
* @param entityInfo The parent entity whose children to search
|
|
906
|
+
* @param recordPKValue The primary key value to find in child tables
|
|
907
|
+
* @param contextUser Optional context user for audit/permission purposes
|
|
908
|
+
* @returns Array of child entity names found (empty if none)
|
|
909
|
+
*/
|
|
910
|
+
FindISAChildEntities(entityInfo: EntityInfo, recordPKValue: string, contextUser?: UserInfo): Promise<{
|
|
911
|
+
ChildEntityName: string;
|
|
912
|
+
}[]>;
|
|
900
913
|
/**
|
|
901
914
|
* Builds a UNION ALL query that checks each child entity's base table for a record
|
|
902
915
|
* with the given primary key. Returns the first match (disjoint subtypes guarantee
|
|
903
|
-
* at most one result).
|
|
916
|
+
* at most one result) unless used with overlapping subtypes.
|
|
904
917
|
*/
|
|
905
918
|
private buildChildDiscoverySQL;
|
|
919
|
+
/**************************************************************************
|
|
920
|
+
* IS-A Overlapping Subtype — Record Change Propagation
|
|
921
|
+
*
|
|
922
|
+
* When saving through one branch of an overlapping hierarchy, propagate
|
|
923
|
+
* ancestor-level Record Change entries to all active sibling branches.
|
|
924
|
+
* Executes as a single SQL batch within the active IS-A transaction.
|
|
925
|
+
**************************************************************************/
|
|
926
|
+
/**
|
|
927
|
+
* Propagates Record Change entries to sibling branches of an overlapping IS-A parent.
|
|
928
|
+
* Called from Save() after a successful save of an entity with AllowMultipleSubtypes.
|
|
929
|
+
* Generates a single SQL batch that creates Record Change entries for all child entities
|
|
930
|
+
* (and their sub-trees) except the active branch that triggered this parent save.
|
|
931
|
+
*
|
|
932
|
+
* @param parentInfo The overlapping parent entity's metadata
|
|
933
|
+
* @param changeData The diff data (changesJSON and changesDescription) from the save
|
|
934
|
+
* @param pkValue The shared primary key value
|
|
935
|
+
* @param userId The ID of the user performing the save
|
|
936
|
+
* @param activeChildEntityName The child entity that initiated this parent save (skipped).
|
|
937
|
+
* Undefined when saving the parent directly — all children get propagated to.
|
|
938
|
+
* @param transaction The active IS-A transaction, or undefined for standalone saves
|
|
939
|
+
*/
|
|
940
|
+
private PropagateRecordChangesToSiblings;
|
|
941
|
+
/**
|
|
942
|
+
* Checks whether a given entity matches the target name, or is an ancestor
|
|
943
|
+
* of the target (i.e., the target is somewhere in its descendant sub-tree).
|
|
944
|
+
* Used to identify and skip the active branch during sibling propagation.
|
|
945
|
+
*/
|
|
946
|
+
private isEntityOrAncestorOf;
|
|
947
|
+
/**
|
|
948
|
+
* Recursively enumerates an entity's entire sub-tree from metadata.
|
|
949
|
+
* No DB queries — uses EntityInfo.ChildEntities which is populated from metadata.
|
|
950
|
+
*/
|
|
951
|
+
private getFullSubTree;
|
|
952
|
+
/**
|
|
953
|
+
* Generates a single block of SQL for one sibling entity in the Record Change
|
|
954
|
+
* propagation batch. Uses SELECT...FOR JSON to get the full record, then
|
|
955
|
+
* conditionally inserts a Record Change entry if the record exists.
|
|
956
|
+
*/
|
|
957
|
+
private buildSiblingRecordChangeSQL;
|
|
906
958
|
BeginTransaction(): Promise<void>;
|
|
907
959
|
CommitTransaction(): Promise<void>;
|
|
908
960
|
RollbackTransaction(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SQLServerDataProvider.d.ts","sourceRoot":"","sources":["../src/SQLServerDataProvider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SQLServerDataProvider.d.ts","sourceRoot":"","sources":["../src/SQLServerDataProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -2147,7 +2147,7 @@ export class SQLServerDataProvider extends DatabaseProviderBase {
|
|
|
2147
2147
|
if (!auditLogType) {
|
|
2148
2148
|
throw new Error(`Audit Log Type ${auditLogTypeName} not found in metadata`);
|
|
2149
2149
|
}
|
|
2150
|
-
const auditLog = await this.GetEntityObject('Audit Logs', user); // must pass user context on back end as we're not authenticated the same way as the front end
|
|
2150
|
+
const auditLog = await this.GetEntityObject('MJ: Audit Logs', user); // must pass user context on back end as we're not authenticated the same way as the front end
|
|
2151
2151
|
auditLog.NewRecord();
|
|
2152
2152
|
auditLog.UserID = user.ID;
|
|
2153
2153
|
auditLog.AuditLogTypeID = auditLogType.ID;
|
|
@@ -2221,7 +2221,7 @@ export class SQLServerDataProvider extends DatabaseProviderBase {
|
|
|
2221
2221
|
return; // no change
|
|
2222
2222
|
// if we're here that means we need to invert the status, which either means creating a record or deleting a record
|
|
2223
2223
|
const e = this.Entities.find((e) => e.Name === entityName);
|
|
2224
|
-
const ufEntity = await this.GetEntityObject('User Favorites', contextUser || this.CurrentUser);
|
|
2224
|
+
const ufEntity = await this.GetEntityObject('MJ: User Favorites', contextUser || this.CurrentUser);
|
|
2225
2225
|
if (currentFavoriteId !== null) {
|
|
2226
2226
|
// delete the record since we are setting isFavorite to FALSE
|
|
2227
2227
|
await ufEntity.Load(currentFavoriteId);
|
|
@@ -2399,13 +2399,13 @@ export class SQLServerDataProvider extends DatabaseProviderBase {
|
|
|
2399
2399
|
if (!contextUser) {
|
|
2400
2400
|
throw new Error('User context is required to get record duplicates.');
|
|
2401
2401
|
}
|
|
2402
|
-
const listEntity = await this.GetEntityObject('Lists');
|
|
2402
|
+
const listEntity = await this.GetEntityObject('MJ: Lists');
|
|
2403
2403
|
listEntity.ContextCurrentUser = contextUser;
|
|
2404
2404
|
const success = await listEntity.Load(params.ListID);
|
|
2405
2405
|
if (!success) {
|
|
2406
2406
|
throw new Error(`List with ID ${params.ListID} not found.`);
|
|
2407
2407
|
}
|
|
2408
|
-
const duplicateRun = await this.GetEntityObject('Duplicate Runs');
|
|
2408
|
+
const duplicateRun = await this.GetEntityObject('MJ: Duplicate Runs');
|
|
2409
2409
|
duplicateRun.NewRecord();
|
|
2410
2410
|
duplicateRun.EntityID = params.EntityID;
|
|
2411
2411
|
duplicateRun.StartedByUserID = contextUser.ID;
|
|
@@ -2516,7 +2516,7 @@ export class SQLServerDataProvider extends DatabaseProviderBase {
|
|
|
2516
2516
|
async StartMergeLogging(request, result, contextUser) {
|
|
2517
2517
|
try {
|
|
2518
2518
|
// create records in the Record Merge Logs entity and Record Merge Deletion Logs entity
|
|
2519
|
-
const recordMergeLog = await this.GetEntityObject('Record Merge Logs', contextUser);
|
|
2519
|
+
const recordMergeLog = await this.GetEntityObject('MJ: Record Merge Logs', contextUser);
|
|
2520
2520
|
const entity = this.Entities.find((e) => e.Name === request.EntityName);
|
|
2521
2521
|
if (!entity)
|
|
2522
2522
|
throw new Error(`Entity ${result.Request.EntityName} not found in metadata`);
|
|
@@ -2555,7 +2555,7 @@ export class SQLServerDataProvider extends DatabaseProviderBase {
|
|
|
2555
2555
|
if (await recordMergeLog.Save()) {
|
|
2556
2556
|
// top level saved, now let's create the deletion detail records for each of the records that were merged
|
|
2557
2557
|
for (const d of result.RecordStatus) {
|
|
2558
|
-
const recordMergeDeletionLog = await this.GetEntityObject('Record Merge Deletion Logs', contextUser);
|
|
2558
|
+
const recordMergeDeletionLog = await this.GetEntityObject('MJ: Record Merge Deletion Logs', contextUser);
|
|
2559
2559
|
recordMergeDeletionLog.NewRecord();
|
|
2560
2560
|
recordMergeDeletionLog.RecordMergeLogID = recordMergeLog.ID;
|
|
2561
2561
|
recordMergeDeletionLog.DeletedRecordID = d.CompositeKey.Values(); // this would join together all of the primary key values, which is fine as the primary key is a string
|
|
@@ -2616,8 +2616,9 @@ export class SQLServerDataProvider extends DatabaseProviderBase {
|
|
|
2616
2616
|
else {
|
|
2617
2617
|
sSimpleSQL = execSQL;
|
|
2618
2618
|
}
|
|
2619
|
-
const recordChangesEntityInfo = this.Entities.find((e) => e.Name === 'Record Changes');
|
|
2619
|
+
const recordChangesEntityInfo = this.Entities.find((e) => e.Name === 'MJ: Record Changes');
|
|
2620
2620
|
let sSQL = '';
|
|
2621
|
+
let overlappingChangeData;
|
|
2621
2622
|
if (entity.EntityInfo.TrackRecordChanges && entity.EntityInfo.Name.trim().toLowerCase() !== 'record changes') {
|
|
2622
2623
|
// don't track changes for the record changes entity
|
|
2623
2624
|
let oldData = null;
|
|
@@ -2626,7 +2627,21 @@ export class SQLServerDataProvider extends DatabaseProviderBase {
|
|
|
2626
2627
|
const concatPKIDString = `CONCAT(${entity.EntityInfo.PrimaryKeys.map((pk) => `'${pk.CodeName}','${CompositeKey.DefaultValueDelimiter}',${pk.Name}`).join(`,'${CompositeKey.DefaultFieldDelimiter}',`)})`;
|
|
2627
2628
|
if (!bNewRecord)
|
|
2628
2629
|
oldData = entity.GetAll(true); // get all the OLD values, only do for existing records, for new records, not relevant
|
|
2629
|
-
|
|
2630
|
+
// Capture the diff for overlapping subtype Record Change propagation.
|
|
2631
|
+
// Must happen before finalizeSave() resets OldValues, since the diff would be lost.
|
|
2632
|
+
// Returned to Save() which handles propagation — this is a backend-only concern.
|
|
2633
|
+
const newData = entity.GetAll(false);
|
|
2634
|
+
if (!bNewRecord && oldData) {
|
|
2635
|
+
const diffChanges = this.DiffObjects(oldData, newData, entity.EntityInfo, "'");
|
|
2636
|
+
const diffKeys = diffChanges ? Object.keys(diffChanges) : [];
|
|
2637
|
+
if (diffKeys.length > 0) {
|
|
2638
|
+
overlappingChangeData = {
|
|
2639
|
+
changesJSON: JSON.stringify(diffChanges),
|
|
2640
|
+
changesDescription: this.CreateUserDescriptionOfChanges(diffChanges)
|
|
2641
|
+
};
|
|
2642
|
+
}
|
|
2643
|
+
}
|
|
2644
|
+
const logRecordChangeSQL = this.GetLogRecordChangeSQL(newData, oldData, entity.EntityInfo.Name, '@ID', entity.EntityInfo, bNewRecord ? 'Create' : 'Update', user, false);
|
|
2630
2645
|
if (logRecordChangeSQL === null) {
|
|
2631
2646
|
// if we don't have any record changes to log, just return the simple SQL to run which will do nothing but update __mj_UpdatedAt
|
|
2632
2647
|
// this can happen if a subclass overrides the Dirty() flag to make the object dirty due to factors outside of the
|
|
@@ -2670,7 +2685,7 @@ export class SQLServerDataProvider extends DatabaseProviderBase {
|
|
|
2670
2685
|
// not doing track changes for this entity, keep it simple
|
|
2671
2686
|
sSQL = sSimpleSQL;
|
|
2672
2687
|
}
|
|
2673
|
-
return { fullSQL: sSQL, simpleSQL: sSimpleSQL };
|
|
2688
|
+
return { fullSQL: sSQL, simpleSQL: sSimpleSQL, overlappingChangeData };
|
|
2674
2689
|
}
|
|
2675
2690
|
/**
|
|
2676
2691
|
* Gets AI actions configured for an entity based on trigger timing
|
|
@@ -2921,6 +2936,14 @@ export class SQLServerDataProvider extends DatabaseProviderBase {
|
|
|
2921
2936
|
if (options.SkipEntityActions !== true)
|
|
2922
2937
|
this.HandleEntityActions(entity, 'save', false, user); // NO AWAIT INTENTIONALLY
|
|
2923
2938
|
entityResult.Success = true;
|
|
2939
|
+
// IS-A overlapping subtypes: propagate Record Change entries to sibling branches.
|
|
2940
|
+
// Runs after this entity's save succeeds. Skips the active child branch (if this
|
|
2941
|
+
// is a parent save in a chain) so siblings don't get duplicate entries.
|
|
2942
|
+
if (sqlDetails.overlappingChangeData
|
|
2943
|
+
&& entity.EntityInfo.AllowMultipleSubtypes
|
|
2944
|
+
&& entity.EntityInfo.TrackRecordChanges) {
|
|
2945
|
+
await this.PropagateRecordChangesToSiblings(entity.EntityInfo, sqlDetails.overlappingChangeData, entity.PrimaryKey.Values(), user?.ID ?? '', options.ISAActiveChildEntityName, entity.ProviderTransaction ?? undefined);
|
|
2946
|
+
}
|
|
2924
2947
|
return result[0];
|
|
2925
2948
|
}
|
|
2926
2949
|
else {
|
|
@@ -3557,7 +3580,7 @@ export class SQLServerDataProvider extends DatabaseProviderBase {
|
|
|
3557
3580
|
return `@${f.CodeName}=${quotes}${kv.Value}${quotes}`;
|
|
3558
3581
|
}).join(', ');
|
|
3559
3582
|
const sSimpleSQL = `EXEC [${entity.EntityInfo.SchemaName}].[${spName}] ${sParams}`;
|
|
3560
|
-
const recordChangesEntityInfo = this.Entities.find((e) => e.Name === 'Record Changes');
|
|
3583
|
+
const recordChangesEntityInfo = this.Entities.find((e) => e.Name === 'MJ: Record Changes');
|
|
3561
3584
|
if (entity.EntityInfo.TrackRecordChanges && entity.EntityInfo.Name.trim().toLowerCase() !== 'record changes') {
|
|
3562
3585
|
// don't track changes for the record changes entity
|
|
3563
3586
|
const oldData = entity.GetAll(true); // get all the OLD values
|
|
@@ -4734,10 +4757,35 @@ export class SQLServerDataProvider extends DatabaseProviderBase {
|
|
|
4734
4757
|
}
|
|
4735
4758
|
return null;
|
|
4736
4759
|
}
|
|
4760
|
+
/**
|
|
4761
|
+
* Discovers ALL IS-A child entities that have records with the given primary key.
|
|
4762
|
+
* Used for overlapping subtype parents (AllowMultipleSubtypes = true) where multiple
|
|
4763
|
+
* children can coexist. Same UNION ALL query as FindISAChildEntity, but returns all matches.
|
|
4764
|
+
*
|
|
4765
|
+
* @param entityInfo The parent entity whose children to search
|
|
4766
|
+
* @param recordPKValue The primary key value to find in child tables
|
|
4767
|
+
* @param contextUser Optional context user for audit/permission purposes
|
|
4768
|
+
* @returns Array of child entity names found (empty if none)
|
|
4769
|
+
*/
|
|
4770
|
+
async FindISAChildEntities(entityInfo, recordPKValue, contextUser) {
|
|
4771
|
+
const childEntities = entityInfo.ChildEntities;
|
|
4772
|
+
if (childEntities.length === 0)
|
|
4773
|
+
return [];
|
|
4774
|
+
const unionSQL = this.buildChildDiscoverySQL(childEntities, recordPKValue);
|
|
4775
|
+
if (!unionSQL)
|
|
4776
|
+
return [];
|
|
4777
|
+
const results = await this.ExecuteSQL(unionSQL, undefined, undefined, contextUser);
|
|
4778
|
+
if (results && results.length > 0) {
|
|
4779
|
+
return results
|
|
4780
|
+
.filter((r) => r.EntityName)
|
|
4781
|
+
.map((r) => ({ ChildEntityName: r.EntityName }));
|
|
4782
|
+
}
|
|
4783
|
+
return [];
|
|
4784
|
+
}
|
|
4737
4785
|
/**
|
|
4738
4786
|
* Builds a UNION ALL query that checks each child entity's base table for a record
|
|
4739
4787
|
* with the given primary key. Returns the first match (disjoint subtypes guarantee
|
|
4740
|
-
* at most one result).
|
|
4788
|
+
* at most one result) unless used with overlapping subtypes.
|
|
4741
4789
|
*/
|
|
4742
4790
|
buildChildDiscoverySQL(childEntities, recordPKValue) {
|
|
4743
4791
|
// Sanitize the PK value to prevent SQL injection
|
|
@@ -4754,6 +4802,115 @@ export class SQLServerDataProvider extends DatabaseProviderBase {
|
|
|
4754
4802
|
return '';
|
|
4755
4803
|
return unionParts.join(' UNION ALL ');
|
|
4756
4804
|
}
|
|
4805
|
+
/**************************************************************************
|
|
4806
|
+
* IS-A Overlapping Subtype — Record Change Propagation
|
|
4807
|
+
*
|
|
4808
|
+
* When saving through one branch of an overlapping hierarchy, propagate
|
|
4809
|
+
* ancestor-level Record Change entries to all active sibling branches.
|
|
4810
|
+
* Executes as a single SQL batch within the active IS-A transaction.
|
|
4811
|
+
**************************************************************************/
|
|
4812
|
+
/**
|
|
4813
|
+
* Propagates Record Change entries to sibling branches of an overlapping IS-A parent.
|
|
4814
|
+
* Called from Save() after a successful save of an entity with AllowMultipleSubtypes.
|
|
4815
|
+
* Generates a single SQL batch that creates Record Change entries for all child entities
|
|
4816
|
+
* (and their sub-trees) except the active branch that triggered this parent save.
|
|
4817
|
+
*
|
|
4818
|
+
* @param parentInfo The overlapping parent entity's metadata
|
|
4819
|
+
* @param changeData The diff data (changesJSON and changesDescription) from the save
|
|
4820
|
+
* @param pkValue The shared primary key value
|
|
4821
|
+
* @param userId The ID of the user performing the save
|
|
4822
|
+
* @param activeChildEntityName The child entity that initiated this parent save (skipped).
|
|
4823
|
+
* Undefined when saving the parent directly — all children get propagated to.
|
|
4824
|
+
* @param transaction The active IS-A transaction, or undefined for standalone saves
|
|
4825
|
+
*/
|
|
4826
|
+
async PropagateRecordChangesToSiblings(parentInfo, changeData, pkValue, userId, activeChildEntityName, transaction) {
|
|
4827
|
+
const sqlParts = [];
|
|
4828
|
+
let varIndex = 0;
|
|
4829
|
+
const safePKValue = pkValue.replace(/'/g, "''");
|
|
4830
|
+
const safeUserId = userId.replace(/'/g, "''");
|
|
4831
|
+
const safeChangesJSON = changeData.changesJSON.replace(/'/g, "''");
|
|
4832
|
+
const safeChangesDesc = changeData.changesDescription.replace(/'/g, "''");
|
|
4833
|
+
for (const childInfo of parentInfo.ChildEntities) {
|
|
4834
|
+
// Skip the active branch (the child that initiated the parent save).
|
|
4835
|
+
// When activeChildEntityName is undefined (direct save on parent), propagate to ALL children.
|
|
4836
|
+
if (activeChildEntityName && this.isEntityOrAncestorOf(childInfo, activeChildEntityName))
|
|
4837
|
+
continue;
|
|
4838
|
+
// Recursively enumerate this child's entire sub-tree from metadata
|
|
4839
|
+
const subTree = this.getFullSubTree(childInfo);
|
|
4840
|
+
for (const entityInTree of subTree) {
|
|
4841
|
+
if (!entityInTree.TrackRecordChanges)
|
|
4842
|
+
continue;
|
|
4843
|
+
const varName = `@_rc_prop_${varIndex++}`;
|
|
4844
|
+
sqlParts.push(this.buildSiblingRecordChangeSQL(varName, entityInTree, safeChangesJSON, safeChangesDesc, safePKValue, safeUserId));
|
|
4845
|
+
}
|
|
4846
|
+
}
|
|
4847
|
+
// Execute as single batch
|
|
4848
|
+
if (sqlParts.length > 0) {
|
|
4849
|
+
const batch = sqlParts.join('\n');
|
|
4850
|
+
await this.ExecuteSQL(batch, undefined, {
|
|
4851
|
+
connectionSource: transaction,
|
|
4852
|
+
description: 'IS-A overlapping subtype Record Change propagation',
|
|
4853
|
+
isMutation: true
|
|
4854
|
+
});
|
|
4855
|
+
}
|
|
4856
|
+
}
|
|
4857
|
+
/**
|
|
4858
|
+
* Checks whether a given entity matches the target name, or is an ancestor
|
|
4859
|
+
* of the target (i.e., the target is somewhere in its descendant sub-tree).
|
|
4860
|
+
* Used to identify and skip the active branch during sibling propagation.
|
|
4861
|
+
*/
|
|
4862
|
+
isEntityOrAncestorOf(entityInfo, targetName) {
|
|
4863
|
+
if (entityInfo.Name === targetName)
|
|
4864
|
+
return true;
|
|
4865
|
+
for (const child of entityInfo.ChildEntities) {
|
|
4866
|
+
if (this.isEntityOrAncestorOf(child, targetName))
|
|
4867
|
+
return true;
|
|
4868
|
+
}
|
|
4869
|
+
return false;
|
|
4870
|
+
}
|
|
4871
|
+
/**
|
|
4872
|
+
* Recursively enumerates an entity's entire sub-tree from metadata.
|
|
4873
|
+
* No DB queries — uses EntityInfo.ChildEntities which is populated from metadata.
|
|
4874
|
+
*/
|
|
4875
|
+
getFullSubTree(entityInfo) {
|
|
4876
|
+
const result = [entityInfo];
|
|
4877
|
+
for (const child of entityInfo.ChildEntities) {
|
|
4878
|
+
result.push(...this.getFullSubTree(child));
|
|
4879
|
+
}
|
|
4880
|
+
return result;
|
|
4881
|
+
}
|
|
4882
|
+
/**
|
|
4883
|
+
* Generates a single block of SQL for one sibling entity in the Record Change
|
|
4884
|
+
* propagation batch. Uses SELECT...FOR JSON to get the full record, then
|
|
4885
|
+
* conditionally inserts a Record Change entry if the record exists.
|
|
4886
|
+
*/
|
|
4887
|
+
buildSiblingRecordChangeSQL(varName, entityInfo, safeChangesJSON, safeChangesDesc, safePKValue, safeUserId) {
|
|
4888
|
+
const schema = entityInfo.SchemaName || '__mj';
|
|
4889
|
+
const view = entityInfo.BaseView;
|
|
4890
|
+
const pkName = entityInfo.PrimaryKeys[0]?.Name ?? 'ID';
|
|
4891
|
+
const safeEntityName = entityInfo.Name.replace(/'/g, "''");
|
|
4892
|
+
// Build RecordID in CompositeKey format: "FieldCodeName|Value" (or "F1|V1||F2|V2" for composite PKs)
|
|
4893
|
+
// Must match the format used by the main save flow (concatPKIDString in GetSaveSQLWithDetails)
|
|
4894
|
+
const recordID = entityInfo.PrimaryKeys
|
|
4895
|
+
.map(pk => `${pk.CodeName}${CompositeKey.DefaultValueDelimiter}${safePKValue}`)
|
|
4896
|
+
.join(CompositeKey.DefaultFieldDelimiter);
|
|
4897
|
+
return `
|
|
4898
|
+
DECLARE ${varName} NVARCHAR(MAX) = (
|
|
4899
|
+
SELECT * FROM [${schema}].[${view}] WHERE [${pkName}] = '${safePKValue}'
|
|
4900
|
+
FOR JSON PATH, WITHOUT_ARRAY_WRAPPER
|
|
4901
|
+
);
|
|
4902
|
+
IF ${varName} IS NOT NULL
|
|
4903
|
+
EXEC [${this.MJCoreSchemaName}].spCreateRecordChange_Internal
|
|
4904
|
+
@EntityName='${safeEntityName}',
|
|
4905
|
+
@RecordID='${recordID}',
|
|
4906
|
+
@UserID='${safeUserId}',
|
|
4907
|
+
@Type='Update',
|
|
4908
|
+
@ChangesJSON='${safeChangesJSON}',
|
|
4909
|
+
@ChangesDescription='${safeChangesDesc}',
|
|
4910
|
+
@FullRecordJSON=${varName},
|
|
4911
|
+
@Status='Complete',
|
|
4912
|
+
@Comments=NULL;`;
|
|
4913
|
+
}
|
|
4757
4914
|
async BeginTransaction() {
|
|
4758
4915
|
try {
|
|
4759
4916
|
this._transactionDepth++;
|