@memberjunction/sqlserver-dataprovider 1.2.2 → 1.3.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.
@@ -3,7 +3,7 @@
3
3
  * In practice - this FILE will NOT exist in the entities library, we need to move to its own separate project
4
4
  * so it is only included by the consumer of the entities library if they want to use it.
5
5
  **************************************************************************************************************/
6
- import { BaseEntity, IEntityDataProvider, IMetadataProvider, IRunViewProvider, ProviderConfigDataBase, RunViewResult, EntityInfo, EntityFieldInfo, ApplicationInfo, RunViewParams, ProviderBase, ProviderType, UserInfo, RoleInfo, RecordChange, UserRoleInfo, ILocalStorageProvider, RowLevelSecurityFilterInfo, AuditLogTypeInfo, AuthorizationInfo, TransactionGroupBase, EntitySaveOptions, RunReportParams, DatasetItemFilterType, DatasetResultType, DatasetStatusResultType, EntityRecordNameInput, EntityRecordNameResult, IRunReportProvider, RunReportResult, RecordDependency, RecordMergeRequest, RecordMergeResult, EntityDependency, PrimaryKeyValue, IRunQueryProvider, RunQueryResult, PotentialDuplicateRequest, PotentialDuplicateResponse } from "@memberjunction/core";
6
+ import { BaseEntity, IEntityDataProvider, IMetadataProvider, IRunViewProvider, ProviderConfigDataBase, RunViewResult, EntityInfo, EntityFieldInfo, ApplicationInfo, RunViewParams, ProviderBase, ProviderType, UserInfo, RoleInfo, RecordChange, UserRoleInfo, ILocalStorageProvider, RowLevelSecurityFilterInfo, AuditLogTypeInfo, AuthorizationInfo, TransactionGroupBase, EntitySaveOptions, RunReportParams, DatasetItemFilterType, DatasetResultType, DatasetStatusResultType, EntityRecordNameInput, EntityRecordNameResult, IRunReportProvider, RunReportResult, RecordDependency, RecordMergeRequest, RecordMergeResult, EntityDependency, IRunQueryProvider, RunQueryResult, PotentialDuplicateRequest, PotentialDuplicateResponse, CompositeKey } from "@memberjunction/core";
7
7
  import { AuditLogEntity, RecordMergeLogEntity, UserViewEntityExtended } from '@memberjunction/core-entities';
8
8
  import { RunQueryParams } from "@memberjunction/core/dist/generic/runQuery";
9
9
  export declare class SQLServerProviderConfigData extends ProviderConfigDataBase {
@@ -51,20 +51,20 @@ export declare class SQLServerDataProvider extends ProviderBase implements IEnti
51
51
  /**************************************************************************/
52
52
  /**************************************************************************/
53
53
  get ProviderType(): ProviderType;
54
- GetRecordFavoriteStatus(userId: number, entityName: string, primaryKeyValues: PrimaryKeyValue[]): Promise<boolean>;
55
- GetRecordFavoriteID(userId: number, entityName: string, primaryKeyValues: PrimaryKeyValue[]): Promise<number | null>;
56
- SetRecordFavoriteStatus(userId: number, entityName: string, primaryKeyValues: PrimaryKeyValue[], isFavorite: boolean, contextUser: UserInfo): Promise<void>;
57
- GetRecordChanges(entityName: string, primaryKeyValue: any): Promise<RecordChange[]>;
54
+ GetRecordFavoriteStatus(userId: number, entityName: string, CompositeKey: CompositeKey): Promise<boolean>;
55
+ GetRecordFavoriteID(userId: number, entityName: string, CompositeKey: CompositeKey): Promise<number | null>;
56
+ SetRecordFavoriteStatus(userId: number, entityName: string, CompositeKey: CompositeKey, isFavorite: boolean, contextUser: UserInfo): Promise<void>;
57
+ GetRecordChanges(entityName: string, compositeKey: CompositeKey): Promise<RecordChange[]>;
58
58
  /**
59
59
  * Returns a list of dependencies - records that are linked to the specified Entity/RecordID combination. A dependency is as defined by the relationships in the database. The MemberJunction metadata that is used
60
60
  * for this simply reflects the foreign key relationships that exist in the database. The CodeGen tool is what detects all of the relationships and generates the metadata that is used by MemberJunction. The metadata in question
61
61
  * is within the EntityField table and specifically the RelatedEntity and RelatedEntityField columns. In turn, this method uses that metadata and queries the database to determine the dependencies. To get the list of entity dependencies
62
62
  * you can use the utility method GetEntityDependencies(), which doesn't check for dependencies on a specific record, but rather gets the metadata in one shot that can be used for dependency checking.
63
63
  * @param entityName the name of the entity to check
64
- * @param primaryKeyValues the primary key(s) to check - only send multiple if you have an entity with a composite primary key
64
+ * @param KeyValuePairs the primary key(s) to check - only send multiple if you have an entity with a composite primary key
65
65
  */
66
- GetRecordDependencies(entityName: string, primaryKeyValues: PrimaryKeyValue[]): Promise<RecordDependency[]>;
67
- protected GetRecordDependencyLinkSQL(dep: EntityDependency, entity: EntityInfo, relatedEntity: EntityInfo, primaryKeyValues: PrimaryKeyValue[]): string;
66
+ GetRecordDependencies(entityName: string, compositeKey: CompositeKey): Promise<RecordDependency[]>;
67
+ protected GetRecordDependencyLinkSQL(dep: EntityDependency, entity: EntityInfo, relatedEntity: EntityInfo, CompositeKey: CompositeKey): string;
68
68
  GetRecordDuplicates(params: PotentialDuplicateRequest, contextUser?: UserInfo): Promise<PotentialDuplicateResponse>;
69
69
  MergeRecords(request: RecordMergeRequest, contextUser?: UserInfo): Promise<RecordMergeResult>;
70
70
  protected StartMergeLogging(request: RecordMergeRequest, result: RecordMergeResult, contextUser: UserInfo): Promise<RecordMergeLogEntity>;
@@ -83,7 +83,7 @@ export declare class SQLServerDataProvider extends ProviderBase implements IEnti
83
83
  protected trimString(value: any, maxLength: number, trailingChars: string): any;
84
84
  protected escapeQuotesInProperties(obj: any, quoteToEscape: string): any;
85
85
  protected DiffObjects(oldData: any, newData: any, entityInfo: EntityInfo, quoteToEscape: string): any;
86
- Load(entity: BaseEntity, PrimaryKeyValues: PrimaryKeyValue[], EntityRelationshipsToLoad: string[], user: UserInfo): Promise<{}>;
86
+ Load(entity: BaseEntity, CompositeKey: CompositeKey, EntityRelationshipsToLoad: string[], user: UserInfo): Promise<{}>;
87
87
  protected GetDeleteSQL(entity: BaseEntity, user: UserInfo): string;
88
88
  Delete(entity: BaseEntity, user: UserInfo): Promise<boolean>;
89
89
  /**************************************************************************/
@@ -107,8 +107,8 @@ export declare class SQLServerDataProvider extends ProviderBase implements IEnti
107
107
  protected RollbackTransaction(): Promise<void>;
108
108
  get LocalStorageProvider(): ILocalStorageProvider;
109
109
  GetEntityRecordNames(info: EntityRecordNameInput[]): Promise<EntityRecordNameResult[]>;
110
- GetEntityRecordName(entityName: string, primaryKeyValues: PrimaryKeyValue[]): Promise<string>;
111
- protected GetEntityRecordNameSQL(entityName: string, primaryKeyValues: PrimaryKeyValue[]): string;
110
+ GetEntityRecordName(entityName: string, CompositeKey: CompositeKey): Promise<string>;
111
+ protected GetEntityRecordNameSQL(entityName: string, CompositeKey: CompositeKey): string;
112
112
  CreateTransactionGroup(): Promise<TransactionGroupBase>;
113
113
  /**************************************************************************/
114
114
  /**************************************************************************/
@@ -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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"}
@@ -12,7 +12,6 @@ const aiengine_1 = require("@memberjunction/aiengine");
12
12
  const queue_1 = require("@memberjunction/queue");
13
13
  const SQLServerTransactionGroup_1 = require("./SQLServerTransactionGroup");
14
14
  const UserCache_1 = require("./UserCache");
15
- const ai_vector_dupe_1 = require("@memberjunction/ai-vector-dupe");
16
15
  class SQLServerProviderConfigData extends core_1.ProviderConfigDataBase {
17
16
  get DataSource() { return this.Data.DataSource; }
18
17
  get CurrentUserEmail() { return this.Data.CurrentUserEmail; }
@@ -255,12 +254,13 @@ class SQLServerDataProvider extends core_1.ProviderBase {
255
254
  throw new Error(`Invalid Order By clause: ${orderBy}, contains one more for forbidden keywords`);
256
255
  viewSQL += ` ORDER BY ${orderBy}`;
257
256
  }
258
- // now we can run the viewSQL
259
- const retData = await this._dataSource.query(viewSQL);
260
- // finally, if we have a countSQL, we need to run that first to get the row count
257
+ // now we can run the viewSQL, but only do this if the ResultType !== 'count_only', otherwise we don't need to run the viewSQL
258
+ const retData = params.ResultType === 'count_only' ? [] : await this._dataSource.query(viewSQL);
259
+ // finally, if we have a countSQL, we need to run that to get the row count
261
260
  // but only do that if the # of rows returned is equal to the max rows, otherwise we know we have all the rows
261
+ // OR do that if we are doing a count_only
262
262
  let rowCount = null;
263
- if (countSQL && retData.length === entityInfo.UserViewMaxRows) {
263
+ if (countSQL && (params.ResultType === 'count_only' || retData.length === entityInfo.UserViewMaxRows)) {
264
264
  const countResult = await this._dataSource.query(countSQL);
265
265
  if (countResult && countResult.length > 0) {
266
266
  rowCount = countResult[0].TotalRowCount;
@@ -280,7 +280,7 @@ class SQLServerDataProvider extends core_1.ProviderBase {
280
280
  }), entityInfo.ID, null, params.AuditLogDescription);
281
281
  }
282
282
  return {
283
- RowCount: retData.length,
283
+ RowCount: params.ResultType === 'count_only' ? rowCount : retData.length, /*this property should be total row count if the ResultType='count_only' otherwise it should be the row count of the returned rows */
284
284
  TotalRowCount: rowCount ? rowCount : retData.length,
285
285
  Results: retData,
286
286
  UserViewRunID: userViewRunID,
@@ -502,13 +502,13 @@ class SQLServerDataProvider extends core_1.ProviderBase {
502
502
  get ProviderType() {
503
503
  return core_1.ProviderType.Database;
504
504
  }
505
- async GetRecordFavoriteStatus(userId, entityName, primaryKeyValues) {
506
- const id = await this.GetRecordFavoriteID(userId, entityName, primaryKeyValues);
505
+ async GetRecordFavoriteStatus(userId, entityName, CompositeKey) {
506
+ const id = await this.GetRecordFavoriteID(userId, entityName, CompositeKey);
507
507
  return id !== null;
508
508
  }
509
- async GetRecordFavoriteID(userId, entityName, primaryKeyValues) {
509
+ async GetRecordFavoriteID(userId, entityName, CompositeKey) {
510
510
  try {
511
- const sSQL = `SELECT ID FROM [${this.MJCoreSchemaName}].vwUserFavorites WHERE UserID=${userId} AND Entity='${entityName}' AND RecordID='${primaryKeyValues.map(pkv => pkv.Value).join(',')}'`;
511
+ const sSQL = `SELECT ID FROM [${this.MJCoreSchemaName}].vwUserFavorites WHERE UserID=${userId} AND Entity='${entityName}' AND RecordID='${CompositeKey.Values()}'`;
512
512
  const result = await this.ExecuteSQL(sSQL);
513
513
  if (result && result.length > 0)
514
514
  return result[0].ID;
@@ -520,9 +520,9 @@ class SQLServerDataProvider extends core_1.ProviderBase {
520
520
  throw (e);
521
521
  }
522
522
  }
523
- async SetRecordFavoriteStatus(userId, entityName, primaryKeyValues, isFavorite, contextUser) {
523
+ async SetRecordFavoriteStatus(userId, entityName, CompositeKey, isFavorite, contextUser) {
524
524
  try {
525
- const currentFavoriteId = await this.GetRecordFavoriteID(userId, entityName, primaryKeyValues);
525
+ const currentFavoriteId = await this.GetRecordFavoriteID(userId, entityName, CompositeKey);
526
526
  if ((currentFavoriteId === null && isFavorite === false) ||
527
527
  (currentFavoriteId !== null && isFavorite === true))
528
528
  return; // no change
@@ -541,7 +541,7 @@ class SQLServerDataProvider extends core_1.ProviderBase {
541
541
  // create the record since we are setting isFavorite to TRUE
542
542
  ufEntity.NewRecord();
543
543
  ufEntity.Set('EntityID', e.ID);
544
- ufEntity.Set('RecordID', primaryKeyValues.map(pkv => pkv.Value).join(',')); // this is a comma separated list of primary key values, which is fine as the primary key is a string
544
+ ufEntity.Set('RecordID', CompositeKey.Values()); // this is a comma separated list of primary key values, which is fine as the primary key is a string
545
545
  ufEntity.Set('UserID', userId);
546
546
  if (await ufEntity.Save())
547
547
  return;
@@ -554,9 +554,9 @@ class SQLServerDataProvider extends core_1.ProviderBase {
554
554
  throw (e);
555
555
  }
556
556
  }
557
- async GetRecordChanges(entityName, primaryKeyValue) {
557
+ async GetRecordChanges(entityName, compositeKey) {
558
558
  try {
559
- const sSQL = `SELECT * FROM [${this.MJCoreSchemaName}].vwRecordChanges WHERE Entity='${entityName}' AND RecordID='${primaryKeyValue}' ORDER BY ChangedAt DESC`;
559
+ const sSQL = `SELECT * FROM [${this.MJCoreSchemaName}].vwRecordChanges WHERE Entity='${entityName}' AND RecordID='${compositeKey.Values()}' ORDER BY ChangedAt DESC`;
560
560
  return this.ExecuteSQL(sSQL);
561
561
  }
562
562
  catch (e) {
@@ -570,9 +570,9 @@ class SQLServerDataProvider extends core_1.ProviderBase {
570
570
  * is within the EntityField table and specifically the RelatedEntity and RelatedEntityField columns. In turn, this method uses that metadata and queries the database to determine the dependencies. To get the list of entity dependencies
571
571
  * you can use the utility method GetEntityDependencies(), which doesn't check for dependencies on a specific record, but rather gets the metadata in one shot that can be used for dependency checking.
572
572
  * @param entityName the name of the entity to check
573
- * @param primaryKeyValues the primary key(s) to check - only send multiple if you have an entity with a composite primary key
573
+ * @param KeyValuePairs the primary key(s) to check - only send multiple if you have an entity with a composite primary key
574
574
  */
575
- async GetRecordDependencies(entityName, primaryKeyValues) {
575
+ async GetRecordDependencies(entityName, compositeKey) {
576
576
  try {
577
577
  // first, get the entity dependencies for this entity
578
578
  const entityDependencies = await this.GetEntityDependencies(entityName);
@@ -591,7 +591,7 @@ class SQLServerDataProvider extends core_1.ProviderBase {
591
591
  FROM
592
592
  [${relatedEntityInfo.SchemaName}].${relatedEntityInfo.BaseView}
593
593
  WHERE
594
- ${entityDependency.FieldName} = ${this.GetRecordDependencyLinkSQL(entityDependency, entityInfo, relatedEntityInfo, primaryKeyValues)}`;
594
+ ${entityDependency.FieldName} = ${this.GetRecordDependencyLinkSQL(entityDependency, entityInfo, relatedEntityInfo, compositeKey)}`;
595
595
  }
596
596
  // now, execute the query
597
597
  const result = await this.ExecuteSQL(sSQL);
@@ -600,17 +600,17 @@ class SQLServerDataProvider extends core_1.ProviderBase {
600
600
  for (const r of result) {
601
601
  const entityInfo = this.Entities.find((e) => e.Name.trim().toLowerCase() === r.EntityName?.trim().toLowerCase());
602
602
  // future, if we support foreign keys that are composite keys, we'll need to enable this code
603
- // const pkeyValues: PrimaryKeyValue[] = [];
603
+ // const pkeyValues: KeyValuePair[] = [];
604
604
  // entityInfo.PrimaryKeys.forEach((pk) => {
605
605
  // pkeyValues.push({FieldName: pk.Name, Value: r[pk.Name]}) // add all of the primary keys, which often is as simple as just "ID", but this is generic way to do it
606
606
  // })
607
- // for now, we only support foreign keys that are single fields, so we can do this
608
- const pkVal = r[entityInfo.PrimaryKey.Name];
607
+ let compositeKey = new core_1.CompositeKey();
608
+ compositeKey.LoadFromEntityInfoAndRecord(entityInfo, r);
609
609
  const recordDependency = {
610
610
  EntityName: r.EntityName,
611
611
  RelatedEntityName: r.RelatedEntityName,
612
612
  FieldName: r.FieldName,
613
- PrimaryKeyValue: pkVal
613
+ CompositeKey: compositeKey
614
614
  };
615
615
  recordDependencies.push(recordDependency);
616
616
  }
@@ -622,30 +622,50 @@ class SQLServerDataProvider extends core_1.ProviderBase {
622
622
  throw (e);
623
623
  }
624
624
  }
625
- GetRecordDependencyLinkSQL(dep, entity, relatedEntity, primaryKeyValues) {
625
+ GetRecordDependencyLinkSQL(dep, entity, relatedEntity, CompositeKey) {
626
626
  const f = relatedEntity.Fields.find((f) => f.Name.trim().toLowerCase() === dep.FieldName?.trim().toLowerCase());
627
627
  if (!f)
628
628
  throw new Error(`Field ${dep.FieldName} not found in Entity ${relatedEntity.Name}`);
629
629
  if (f.RelatedEntityFieldName?.trim().toLowerCase() === 'id') {
630
630
  // simple link to first primary key, most common scenario for linkages
631
- return primaryKeyValues[0].Value;
631
+ return CompositeKey.GetValueByIndex(0);
632
632
  }
633
633
  else {
634
634
  // linking to something else, so we need to use that field in a sub-query
635
635
  // NOTICE - we are only using the FIRST primary key in our current implementation, this is because we don't yet support composite foreign keys
636
636
  // if we do start to support composite foreign keys, we'll need to update this code to handle that
637
637
  const quotes = entity.PrimaryKey.NeedsQuotes ? "'" : '';
638
- return `(SELECT ${f.RelatedEntityFieldName} FROM [${entity.SchemaName}].${entity.BaseView} WHERE ${entity.PrimaryKey.Name}=${quotes}${primaryKeyValues[0].Value}${quotes})`;
638
+ return `(SELECT ${f.RelatedEntityFieldName} FROM [${entity.SchemaName}].${entity.BaseView} WHERE ${entity.PrimaryKey.Name}=${quotes}${CompositeKey.GetValueByIndex(0)}${quotes})`;
639
639
  }
640
640
  }
641
641
  async GetRecordDuplicates(params, contextUser) {
642
642
  if (!contextUser) {
643
643
  throw new Error("User context is required to get record duplicates.");
644
644
  }
645
- if (!this._recordDupeDetector) {
646
- this._recordDupeDetector = new ai_vector_dupe_1.DuplicateRecordDetector();
647
- }
648
- return await this._recordDupeDetector.getDuplicateRecords(params, contextUser);
645
+ const listEntity = await this.GetEntityObject('Lists');
646
+ listEntity.ContextCurrentUser = contextUser;
647
+ let success = await listEntity.Load(params.ListID);
648
+ if (!success) {
649
+ throw new Error(`List with ID ${params.ListID} not found.`);
650
+ }
651
+ let duplicateRun = await this.GetEntityObject('Duplicate Runs');
652
+ duplicateRun.NewRecord();
653
+ duplicateRun.EntityID = params.EntityID;
654
+ duplicateRun.StartedByUserID = contextUser.ID;
655
+ duplicateRun.StartedAt = new Date();
656
+ duplicateRun.ProcessingStatus = 'In Progress';
657
+ duplicateRun.ApprovalStatus = 'Pending';
658
+ duplicateRun.SourceListID = listEntity.ID;
659
+ duplicateRun.ContextCurrentUser = contextUser;
660
+ const saveResult = await duplicateRun.Save();
661
+ if (!saveResult) {
662
+ throw new Error(`Failed to save Duplicate Run Entity`);
663
+ }
664
+ let response = {
665
+ Status: 'Inprogress',
666
+ PotentialDuplicateResult: []
667
+ };
668
+ return response;
649
669
  }
650
670
  async MergeRecords(request, contextUser) {
651
671
  const result = {
@@ -670,7 +690,7 @@ class SQLServerDataProvider extends core_1.ProviderBase {
670
690
  // Step 2 - update the surviving record, but only do this if we were provided a field map
671
691
  if (request.FieldMap && request.FieldMap.length > 0) {
672
692
  const survivor = await this.GetEntityObject(request.EntityName, contextUser);
673
- await survivor.InnerLoad(request.SurvivingRecordPrimaryKeyValues);
693
+ await survivor.InnerLoad(request.SurvivingRecordCompositeKey);
674
694
  for (const fieldMap of request.FieldMap) {
675
695
  survivor.Set(fieldMap.FieldName, fieldMap.Value);
676
696
  }
@@ -682,7 +702,7 @@ class SQLServerDataProvider extends core_1.ProviderBase {
682
702
  // Step 3 - update the dependencies for each of the records we will delete
683
703
  for (const pksToDelete of request.RecordsToMerge) {
684
704
  const newRecStatus = {
685
- PrimaryKeyValues: pksToDelete,
705
+ CompositeKey: pksToDelete,
686
706
  Success: false,
687
707
  RecordMergeDeletionLogID: null,
688
708
  Message: null,
@@ -693,19 +713,18 @@ class SQLServerDataProvider extends core_1.ProviderBase {
693
713
  for (const dependency of dependencies) {
694
714
  const reInfo = this.Entities.find((e) => e.Name.trim().toLowerCase() === dependency.RelatedEntityName.trim().toLowerCase());
695
715
  const relatedEntity = await this.GetEntityObject(dependency.RelatedEntityName, contextUser);
696
- const pk = { FieldName: reInfo.PrimaryKey.Name, Value: dependency.PrimaryKeyValue };
697
- await relatedEntity.InnerLoad([pk]);
698
- relatedEntity.Set(dependency.FieldName, request.SurvivingRecordPrimaryKeyValues[0].Value); // only support single field foreign keys for now
716
+ await relatedEntity.InnerLoad(dependency.CompositeKey);
717
+ relatedEntity.Set(dependency.FieldName, request.SurvivingRecordCompositeKey.GetValueByIndex(0)); // only support single field foreign keys for now
699
718
  /*
700
- if we later support composite foreign keys, we'll need to do this instead, at the moment this code will break as dependency.PrimaryKeyValue is a single value, not an array
719
+ if we later support composite foreign keys, we'll need to do this instead, at the moment this code will break as dependency.KeyValuePair is a single value, not an array
701
720
 
702
- for (let pkv of dependency.PrimaryKeyValues) {
721
+ for (let pkv of dependency.KeyValuePairs) {
703
722
  relatedEntity.Set(dependency.FieldName, pkv.Value);
704
723
  }
705
724
  */
706
725
  if (!await relatedEntity.Save()) {
707
726
  newRecStatus.Success = false;
708
- newRecStatus.Message = `Error updating dependency record ${dependency.PrimaryKeyValue.FieldName} : ${dependency.PrimaryKeyValue.Value} for entity ${dependency.RelatedEntityName} to point to surviving record ${request.SurvivingRecordPrimaryKeyValues[0].Value}`;
727
+ newRecStatus.Message = `Error updating dependency record ${dependency.CompositeKey.ToString} for entity ${dependency.RelatedEntityName} to point to surviving record ${request.SurvivingRecordCompositeKey.ToString()}`;
709
728
  throw new Error(newRecStatus.Message);
710
729
  }
711
730
  }
@@ -713,7 +732,7 @@ class SQLServerDataProvider extends core_1.ProviderBase {
713
732
  const recordToDelete = await this.GetEntityObject(request.EntityName, contextUser);
714
733
  await recordToDelete.InnerLoad(pksToDelete);
715
734
  if (!await recordToDelete.Delete()) {
716
- newRecStatus.Message = `Error deleting record ${pksToDelete.map(pk => pk.FieldName + ' : ' + pk.Value).join(',')} for entity ${request.EntityName}`;
735
+ newRecStatus.Message = `Error deleting record ${pksToDelete.ToString()} for entity ${request.EntityName}`;
717
736
  throw new Error(newRecStatus.Message);
718
737
  }
719
738
  else
@@ -745,7 +764,7 @@ class SQLServerDataProvider extends core_1.ProviderBase {
745
764
  throw new Error(`contextUser is null and no CurrentUser is set`);
746
765
  recordMergeLog.NewRecord();
747
766
  recordMergeLog.EntityID = entity.ID;
748
- recordMergeLog.SurvivingRecordID = request.SurvivingRecordPrimaryKeyValues.map(pk => pk.Value).join(','); // this would join together all of the primary key values, which is fine as the primary key is a string
767
+ recordMergeLog.SurvivingRecordID = request.SurvivingRecordCompositeKey.Values(); // this would join together all of the primary key values, which is fine as the primary key is a string
749
768
  recordMergeLog.InitiatedByUserID = contextUser ? contextUser.ID : this.CurrentUser?.ID;
750
769
  recordMergeLog.ApprovalStatus = 'Approved';
751
770
  recordMergeLog.ApprovedByUserID = contextUser ? contextUser.ID : this.CurrentUser?.ID;
@@ -778,7 +797,7 @@ class SQLServerDataProvider extends core_1.ProviderBase {
778
797
  const recordMergeDeletionLog = await this.GetEntityObject('Record Merge Deletion Logs', contextUser);
779
798
  recordMergeDeletionLog.NewRecord();
780
799
  recordMergeDeletionLog.RecordMergeLogID = recordMergeLog.ID;
781
- recordMergeDeletionLog.DeletedRecordID = d.PrimaryKeyValues.map(pk => pk.Value).join(','); // this would join together all of the primary key values, which is fine as the primary key is a string
800
+ 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
782
801
  recordMergeDeletionLog.Status = d.Success ? 'Complete' : 'Error';
783
802
  recordMergeDeletionLog.ProcessingLog = d.Success ? null : d.Message; // only save the message if it failed
784
803
  if (!await recordMergeDeletionLog.Save())
@@ -1133,8 +1152,8 @@ class SQLServerDataProvider extends core_1.ProviderBase {
1133
1152
  return changes;
1134
1153
  }
1135
1154
  }
1136
- async Load(entity, PrimaryKeyValues, EntityRelationshipsToLoad = null, user) {
1137
- const where = PrimaryKeyValues.map((val) => {
1155
+ async Load(entity, CompositeKey, EntityRelationshipsToLoad = null, user) {
1156
+ const where = CompositeKey.KeyValuePairs.map((val) => {
1138
1157
  const pk = entity.EntityInfo.PrimaryKeys.find((pk) => pk.Name.trim().toLowerCase() === val.FieldName.trim().toLowerCase());
1139
1158
  if (!pk)
1140
1159
  throw new Error(`Primary key ${val.FieldName} not found in entity ${entity.EntityInfo.Name}`);
@@ -1578,14 +1597,14 @@ class SQLServerDataProvider extends core_1.ProviderBase {
1578
1597
  async GetEntityRecordNames(info) {
1579
1598
  const result = [];
1580
1599
  for (let i = 0; i < info.length; i++) {
1581
- const r = await this.GetEntityRecordName(info[i].EntityName, info[i].PrimaryKeyValues);
1582
- result.push({ EntityName: info[i].EntityName, PrimaryKeyValues: info[i].PrimaryKeyValues, RecordName: r, Success: r ? true : false, Status: r ? 'Success' : 'Error' });
1600
+ const r = await this.GetEntityRecordName(info[i].EntityName, info[i].CompositeKey);
1601
+ result.push({ EntityName: info[i].EntityName, CompositeKey: info[i].CompositeKey, RecordName: r, Success: r ? true : false, Status: r ? 'Success' : 'Error' });
1583
1602
  }
1584
1603
  return result;
1585
1604
  }
1586
- async GetEntityRecordName(entityName, primaryKeyValues) {
1605
+ async GetEntityRecordName(entityName, CompositeKey) {
1587
1606
  try {
1588
- const sql = this.GetEntityRecordNameSQL(entityName, primaryKeyValues);
1607
+ const sql = this.GetEntityRecordNameSQL(entityName, CompositeKey);
1589
1608
  if (sql) {
1590
1609
  const data = await this.ExecuteSQL(sql);
1591
1610
  if (data && data.length === 1) {
@@ -1593,7 +1612,7 @@ class SQLServerDataProvider extends core_1.ProviderBase {
1593
1612
  return data[0][fields[0]]; // return first field
1594
1613
  }
1595
1614
  else {
1596
- (0, core_1.LogError)(`Entity ${entityName} record ${primaryKeyValues.map(pkv => pkv.FieldName + ':' + pkv.Value)} not found, returning null`);
1615
+ (0, core_1.LogError)(`Entity ${entityName} record ${CompositeKey.ToString()} not found, returning null`);
1597
1616
  return null;
1598
1617
  }
1599
1618
  }
@@ -1603,7 +1622,7 @@ class SQLServerDataProvider extends core_1.ProviderBase {
1603
1622
  return null;
1604
1623
  }
1605
1624
  }
1606
- GetEntityRecordNameSQL(entityName, primaryKeyValues) {
1625
+ GetEntityRecordNameSQL(entityName, CompositeKey) {
1607
1626
  const e = this.Entities.find(e => e.Name === entityName);
1608
1627
  if (!e)
1609
1628
  throw new Error(`Entity ${entityName} not found`);
@@ -1619,7 +1638,7 @@ class SQLServerDataProvider extends core_1.ProviderBase {
1619
1638
  // got our field, create a SQL Query
1620
1639
  let sql = `SELECT ${f.Name} FROM [${e.SchemaName}].[${e.BaseView}] WHERE `;
1621
1640
  let where = '';
1622
- for (let pkv of primaryKeyValues) {
1641
+ for (let pkv of CompositeKey.KeyValuePairs) {
1623
1642
  const pk = e.PrimaryKeys.find(pk => pk.Name === pkv.FieldName);
1624
1643
  const quotes = pk.NeedsQuotes ? "'" : '';
1625
1644
  if (where.length > 0)
@@ -1 +1 @@
1
- {"version":3,"file":"SQLServerDataProvider.js","sourceRoot":"","sources":["../src/SQLServerDataProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SQLServerDataProvider.js","sourceRoot":"","sources":["../src/SQLServerDataProvider.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memberjunction/sqlserver-dataprovider",
3
- "version": "1.2.2",
3
+ "version": "1.3.0",
4
4
  "description": "MemberJunction: SQL Server Client Data Provider",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -19,13 +19,13 @@
19
19
  "typescript": "^5.3.3"
20
20
  },
21
21
  "dependencies": {
22
- "@memberjunction/ai": "~1.2.2",
23
- "@memberjunction/aiengine": "~1.2.2",
24
- "@memberjunction/core": "~1.2.2",
25
- "@memberjunction/core-entities": "~1.2.2",
26
- "@memberjunction/global": "~1.2.2",
27
- "@memberjunction/queue": "~1.2.2",
28
- "@memberjunction/ai-vector-dupe": "~1.2.2",
22
+ "@memberjunction/ai": "~1.3.0",
23
+ "@memberjunction/aiengine": "~1.3.0",
24
+ "@memberjunction/core": "~1.3.0",
25
+ "@memberjunction/core-entities": "~1.3.0",
26
+ "@memberjunction/global": "~1.3.0",
27
+ "@memberjunction/queue": "~1.3.0",
28
+ "@memberjunction/ai-vector-dupe": "~1.3.0",
29
29
  "mssql": "^10.0.2",
30
30
  "typeorm": "^0.3.20"
31
31
  }