@memberjunction/server 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.
Files changed (58) hide show
  1. package/CHANGELOG.json +126 -1
  2. package/CHANGELOG.md +31 -2
  3. package/dist/entitySubclasses/DuplicateRunEntity.server.d.ts +6 -0
  4. package/dist/entitySubclasses/DuplicateRunEntity.server.d.ts.map +1 -0
  5. package/dist/entitySubclasses/DuplicateRunEntity.server.js +37 -0
  6. package/dist/entitySubclasses/DuplicateRunEntity.server.js.map +1 -0
  7. package/dist/generated/generated.d.ts +12 -0
  8. package/dist/generated/generated.d.ts.map +1 -1
  9. package/dist/generated/generated.js +89 -1
  10. package/dist/generated/generated.js.map +1 -1
  11. package/dist/generic/ResolverBase.d.ts +1 -1
  12. package/dist/generic/ResolverBase.d.ts.map +1 -1
  13. package/dist/generic/ResolverBase.js +17 -4
  14. package/dist/generic/ResolverBase.js.map +1 -1
  15. package/dist/generic/RunViewResolver.d.ts +3 -0
  16. package/dist/generic/RunViewResolver.d.ts.map +1 -1
  17. package/dist/generic/RunViewResolver.js +21 -0
  18. package/dist/generic/RunViewResolver.js.map +1 -1
  19. package/dist/index.d.ts +1 -0
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +1 -0
  22. package/dist/index.js.map +1 -1
  23. package/dist/resolvers/AskSkipResolver.d.ts +2 -2
  24. package/dist/resolvers/AskSkipResolver.d.ts.map +1 -1
  25. package/dist/resolvers/AskSkipResolver.js +6 -6
  26. package/dist/resolvers/AskSkipResolver.js.map +1 -1
  27. package/dist/resolvers/EntityRecordNameResolver.d.ts +5 -5
  28. package/dist/resolvers/EntityRecordNameResolver.d.ts.map +1 -1
  29. package/dist/resolvers/EntityRecordNameResolver.js +19 -19
  30. package/dist/resolvers/EntityRecordNameResolver.js.map +1 -1
  31. package/dist/resolvers/FileResolver.d.ts +4 -1
  32. package/dist/resolvers/FileResolver.d.ts.map +1 -1
  33. package/dist/resolvers/FileResolver.js +35 -3
  34. package/dist/resolvers/FileResolver.js.map +1 -1
  35. package/dist/resolvers/MergeRecordsResolver.d.ts +9 -8
  36. package/dist/resolvers/MergeRecordsResolver.d.ts.map +1 -1
  37. package/dist/resolvers/MergeRecordsResolver.js +28 -27
  38. package/dist/resolvers/MergeRecordsResolver.js.map +1 -1
  39. package/dist/resolvers/PotentialDuplicateRecordResolver.d.ts +20 -7
  40. package/dist/resolvers/PotentialDuplicateRecordResolver.d.ts.map +1 -1
  41. package/dist/resolvers/PotentialDuplicateRecordResolver.js +66 -16
  42. package/dist/resolvers/PotentialDuplicateRecordResolver.js.map +1 -1
  43. package/dist/resolvers/UserFavoriteResolver.d.ts +6 -6
  44. package/dist/resolvers/UserFavoriteResolver.d.ts.map +1 -1
  45. package/dist/resolvers/UserFavoriteResolver.js +14 -13
  46. package/dist/resolvers/UserFavoriteResolver.js.map +1 -1
  47. package/package.json +16 -14
  48. package/src/entitySubclasses/DuplicateRunEntity.server.ts +29 -0
  49. package/src/generated/generated.ts +74 -2
  50. package/src/generic/ResolverBase.ts +20 -0
  51. package/src/generic/RunViewResolver.ts +21 -0
  52. package/src/index.ts +1 -0
  53. package/src/resolvers/AskSkipResolver.ts +6 -5
  54. package/src/resolvers/EntityRecordNameResolver.ts +16 -16
  55. package/src/resolvers/FileResolver.ts +39 -5
  56. package/src/resolvers/MergeRecordsResolver.ts +14 -13
  57. package/src/resolvers/PotentialDuplicateRecordResolver.ts +49 -14
  58. package/src/resolvers/UserFavoriteResolver.ts +13 -12
@@ -12,37 +12,61 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
12
  return function (target, key) { decorator(target, key, paramIndex); }
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.DuplicateRecordResolver = exports.PotentialDuplicateResponseType = exports.PotentialDuplicateType = exports.PotentialDuplicateRequestType = void 0;
15
+ exports.DuplicateRecordResolver = exports.PotentialDuplicateResponseType = exports.PotentialDuplicateResultType = exports.PotentialDuplicateType = exports.CompositeKeyOutputType = exports.CompositeKeyInputType = exports.PotentialDuplicateRequestType = void 0;
16
16
  const type_graphql_1 = require("type-graphql");
17
17
  const core_1 = require("@memberjunction/core");
18
18
  const MergeRecordsResolver_1 = require("./MergeRecordsResolver");
19
19
  const sqlserver_dataprovider_1 = require("@memberjunction/sqlserver-dataprovider");
20
+ const ai_mistral_1 = require("@memberjunction/ai-mistral");
21
+ const ai_vectors_pinecone_1 = require("@memberjunction/ai-vectors-pinecone");
22
+ (0, ai_mistral_1.LoadMistralEmbedding)();
23
+ (0, ai_vectors_pinecone_1.LoadPineconeVectorDB)();
20
24
  let PotentialDuplicateRequestType = class PotentialDuplicateRequestType extends core_1.PotentialDuplicateRequest {
21
25
  };
22
26
  exports.PotentialDuplicateRequestType = PotentialDuplicateRequestType;
23
27
  __decorate([
24
28
  (0, type_graphql_1.Field)(() => type_graphql_1.Int),
25
29
  __metadata("design:type", Number)
26
- ], PotentialDuplicateRequestType.prototype, "EntityDocumentID", void 0);
30
+ ], PotentialDuplicateRequestType.prototype, "EntityID", void 0);
27
31
  __decorate([
28
- (0, type_graphql_1.Field)(() => [MergeRecordsResolver_1.PrimaryKeyValueInputType]),
32
+ (0, type_graphql_1.Field)(() => [CompositeKeyInputType]),
29
33
  __metadata("design:type", Array)
30
- ], PotentialDuplicateRequestType.prototype, "PrimaryKeyValues", void 0);
34
+ ], PotentialDuplicateRequestType.prototype, "RecordIDs", void 0);
31
35
  __decorate([
32
36
  (0, type_graphql_1.Field)(() => type_graphql_1.Int, { nullable: true }),
33
37
  __metadata("design:type", Number)
34
- ], PotentialDuplicateRequestType.prototype, "EntitiyID", void 0);
35
- __decorate([
36
- (0, type_graphql_1.Field)(() => String, { nullable: true }),
37
- __metadata("design:type", String)
38
- ], PotentialDuplicateRequestType.prototype, "EntityName", void 0);
38
+ ], PotentialDuplicateRequestType.prototype, "EntityDocumentID", void 0);
39
39
  __decorate([
40
40
  (0, type_graphql_1.Field)(() => type_graphql_1.Int, { nullable: true }),
41
41
  __metadata("design:type", Number)
42
42
  ], PotentialDuplicateRequestType.prototype, "ProbabilityScore", void 0);
43
+ __decorate([
44
+ (0, type_graphql_1.Field)(() => type_graphql_1.Int),
45
+ __metadata("design:type", Number)
46
+ ], PotentialDuplicateRequestType.prototype, "ListID", void 0);
43
47
  exports.PotentialDuplicateRequestType = PotentialDuplicateRequestType = __decorate([
44
48
  (0, type_graphql_1.InputType)()
45
49
  ], PotentialDuplicateRequestType);
50
+ let CompositeKeyInputType = class CompositeKeyInputType extends core_1.CompositeKey {
51
+ };
52
+ exports.CompositeKeyInputType = CompositeKeyInputType;
53
+ __decorate([
54
+ (0, type_graphql_1.Field)(() => [MergeRecordsResolver_1.KeyValuePairInputType]),
55
+ __metadata("design:type", Array)
56
+ ], CompositeKeyInputType.prototype, "KeyValuePairs", void 0);
57
+ exports.CompositeKeyInputType = CompositeKeyInputType = __decorate([
58
+ (0, type_graphql_1.InputType)()
59
+ ], CompositeKeyInputType);
60
+ let CompositeKeyOutputType = class CompositeKeyOutputType extends core_1.CompositeKey {
61
+ };
62
+ exports.CompositeKeyOutputType = CompositeKeyOutputType;
63
+ __decorate([
64
+ (0, type_graphql_1.Field)(() => [MergeRecordsResolver_1.KeyValuePairOutputType]),
65
+ __metadata("design:type", Array)
66
+ ], CompositeKeyOutputType.prototype, "KeyValuePairs", void 0);
67
+ exports.CompositeKeyOutputType = CompositeKeyOutputType = __decorate([
68
+ (0, type_graphql_1.ObjectType)()
69
+ ], CompositeKeyOutputType);
46
70
  let PotentialDuplicateType = class PotentialDuplicateType extends core_1.PotentialDuplicate {
47
71
  };
48
72
  exports.PotentialDuplicateType = PotentialDuplicateType;
@@ -51,23 +75,49 @@ __decorate([
51
75
  __metadata("design:type", Number)
52
76
  ], PotentialDuplicateType.prototype, "ProbabilityScore", void 0);
53
77
  __decorate([
54
- (0, type_graphql_1.Field)(() => [MergeRecordsResolver_1.PrimaryKeyValueOutputType]),
78
+ (0, type_graphql_1.Field)(() => [MergeRecordsResolver_1.KeyValuePairOutputType]),
55
79
  __metadata("design:type", Array)
56
- ], PotentialDuplicateType.prototype, "PrimaryKeyValues", void 0);
80
+ ], PotentialDuplicateType.prototype, "KeyValuePairs", void 0);
57
81
  exports.PotentialDuplicateType = PotentialDuplicateType = __decorate([
58
82
  (0, type_graphql_1.ObjectType)()
59
83
  ], PotentialDuplicateType);
60
- let PotentialDuplicateResponseType = class PotentialDuplicateResponseType extends core_1.PotentialDuplicateResponse {
84
+ let PotentialDuplicateResultType = class PotentialDuplicateResultType extends core_1.PotentialDuplicateResult {
61
85
  };
62
- exports.PotentialDuplicateResponseType = PotentialDuplicateResponseType;
86
+ exports.PotentialDuplicateResultType = PotentialDuplicateResultType;
63
87
  __decorate([
64
- (0, type_graphql_1.Field)(() => type_graphql_1.Int),
88
+ (0, type_graphql_1.Field)(() => type_graphql_1.Int, { nullable: true }),
65
89
  __metadata("design:type", Number)
66
- ], PotentialDuplicateResponseType.prototype, "EntityID", void 0);
90
+ ], PotentialDuplicateResultType.prototype, "EntityID", void 0);
67
91
  __decorate([
68
92
  (0, type_graphql_1.Field)(() => [PotentialDuplicateType]),
69
93
  __metadata("design:type", Array)
70
- ], PotentialDuplicateResponseType.prototype, "Duplicates", void 0);
94
+ ], PotentialDuplicateResultType.prototype, "Duplicates", void 0);
95
+ __decorate([
96
+ (0, type_graphql_1.Field)(() => CompositeKeyOutputType),
97
+ __metadata("design:type", core_1.CompositeKey)
98
+ ], PotentialDuplicateResultType.prototype, "RecordPrimaryKeys", void 0);
99
+ __decorate([
100
+ (0, type_graphql_1.Field)(() => [type_graphql_1.Int]),
101
+ __metadata("design:type", Array)
102
+ ], PotentialDuplicateResultType.prototype, "DuplicateRunDetailMatchRecordIDs", void 0);
103
+ exports.PotentialDuplicateResultType = PotentialDuplicateResultType = __decorate([
104
+ (0, type_graphql_1.ObjectType)()
105
+ ], PotentialDuplicateResultType);
106
+ let PotentialDuplicateResponseType = class PotentialDuplicateResponseType extends core_1.PotentialDuplicateResponse {
107
+ };
108
+ exports.PotentialDuplicateResponseType = PotentialDuplicateResponseType;
109
+ __decorate([
110
+ (0, type_graphql_1.Field)(() => String),
111
+ __metadata("design:type", String)
112
+ ], PotentialDuplicateResponseType.prototype, "Status", void 0);
113
+ __decorate([
114
+ (0, type_graphql_1.Field)(() => String, { nullable: true }),
115
+ __metadata("design:type", String)
116
+ ], PotentialDuplicateResponseType.prototype, "ErrorMessage", void 0);
117
+ __decorate([
118
+ (0, type_graphql_1.Field)(() => [PotentialDuplicateResultType]),
119
+ __metadata("design:type", Array)
120
+ ], PotentialDuplicateResponseType.prototype, "PotentialDuplicateResult", void 0);
71
121
  exports.PotentialDuplicateResponseType = PotentialDuplicateResponseType = __decorate([
72
122
  (0, type_graphql_1.ObjectType)()
73
123
  ], PotentialDuplicateResponseType);
@@ -1 +1 @@
1
- {"version":3,"file":"PotentialDuplicateRecordResolver.js","sourceRoot":"","sources":["../../src/resolvers/PotentialDuplicateRecordResolver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,+CAAmG;AACnG,+CAAsJ;AACtJ,iEAA0F;AAE1F,mFAAmE;AAG5D,IAAM,6BAA6B,GAAnC,MAAM,6BAA8B,SAAQ,gCAAyB;CAgB3E,CAAA;AAhBY,sEAA6B;AAExC;IADC,IAAA,oBAAK,EAAC,GAAG,EAAE,CAAC,kBAAG,CAAC;;uEACQ;AAGzB;IADC,IAAA,oBAAK,EAAC,GAAG,EAAE,CAAC,CAAC,+CAAwB,CAAC,CAAC;;uEACK;AAG7C;IADC,IAAA,oBAAK,EAAC,GAAG,EAAE,CAAC,kBAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gEACnB;AAGlB;IADC,IAAA,oBAAK,EAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;iEACrB;AAGnB;IADC,IAAA,oBAAK,EAAC,GAAG,EAAE,CAAC,kBAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uEACZ;wCAdd,6BAA6B;IADzC,IAAA,wBAAS,GAAE;GACC,6BAA6B,CAgBzC;AAGM,IAAM,sBAAsB,GAA5B,MAAM,sBAAuB,SAAQ,yBAAkB;CAM7D,CAAA;AANY,wDAAsB;AAEjC;IADC,IAAA,oBAAK,EAAC,GAAG,EAAE,CAAC,oBAAK,CAAC;;gEACM;AAGzB;IADC,IAAA,oBAAK,EAAC,GAAG,EAAE,CAAC,CAAC,gDAAyB,CAAC,CAAC;;gEACK;iCALnC,sBAAsB;IADlC,IAAA,yBAAU,GAAE;GACA,sBAAsB,CAMlC;AAGM,IAAM,8BAA8B,GAApC,MAAM,8BAA+B,SAAQ,iCAA0B;CAO7E,CAAA;AAPY,wEAA8B;AAGzC;IADC,IAAA,oBAAK,EAAC,GAAG,EAAE,CAAC,kBAAG,CAAC;;gEACA;AAGjB;IADC,IAAA,oBAAK,EAAC,GAAG,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC;;kEACD;yCAN1B,8BAA8B;IAD1C,IAAA,yBAAU,GAAE;GACA,8BAA8B,CAO1C;AAGM,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAG5B,AAAN,KAAK,CAAC,mBAAmB,CAAQ,EAAE,UAAU,EAAE,WAAW,EAAc,EAAgB,MAAqC;QACzH,MAAM,EAAE,GAAG,IAAI,eAAQ,EAAE,CAAC;QAE1B,MAAM,IAAI,GAAG,kCAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QAC3H,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,QAAQ,WAAW,CAAC,KAAK,yBAAyB,CAAC,CAAC;QACtE,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC1D,OAAO,MAAM,CAAC;IAChB,CAAC;CACJ,CAAA;AAdY,0DAAuB;AAG5B;IADL,IAAA,oBAAK,EAAC,GAAG,EAAE,CAAC,8BAA8B,CAAC;IACjB,WAAA,IAAA,kBAAG,GAAE,CAAA;IAA2C,WAAA,IAAA,kBAAG,EAAC,QAAQ,CAAC,CAAA;;6CAAQ,6BAA6B;;kEAU1H;kCAbQ,uBAAuB;IADnC,IAAA,uBAAQ,EAAC,8BAA8B,CAAC;GAC5B,uBAAuB,CAcnC"}
1
+ {"version":3,"file":"PotentialDuplicateRecordResolver.js","sourceRoot":"","sources":["../../src/resolvers/PotentialDuplicateRecordResolver.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,20 @@
1
- import { PrimaryKeyValue } from '@memberjunction/core';
1
+ import { CompositeKey } from '@memberjunction/core';
2
2
  import { AppContext } from '@memberjunction/server';
3
3
  import { UserFavoriteResolverBase } from '../generated/generated';
4
4
  export declare class UserFavoriteSearchParams {
5
5
  EntityID: number;
6
- PrimaryKeyValues: PrimaryKeyValue[];
6
+ CompositeKey: CompositeKey;
7
7
  UserID: number;
8
8
  }
9
9
  export declare class UserFavoriteSetParams {
10
10
  EntityID: number;
11
- PrimaryKeyValues: PrimaryKeyValue[];
11
+ CompositeKey: CompositeKey;
12
12
  UserID: number;
13
13
  IsFavorite: boolean;
14
14
  }
15
15
  export declare class UserFavoriteResult {
16
16
  EntityID: number;
17
- PrimaryKeyValues: PrimaryKeyValue[];
17
+ CompositeKey: CompositeKey;
18
18
  UserID: number;
19
19
  IsFavorite: boolean;
20
20
  Success: boolean;
@@ -25,7 +25,7 @@ export declare class UserFavoriteResolver extends UserFavoriteResolverBase {
25
25
  GetRecordFavoriteStatus(params: UserFavoriteSearchParams, {}: AppContext): Promise<{
26
26
  EntityID: number;
27
27
  UserID: number;
28
- PrimaryKeyValues: PrimaryKeyValue[];
28
+ CompositeKey: CompositeKey;
29
29
  IsFavorite: boolean;
30
30
  Success: boolean;
31
31
  }>;
@@ -33,7 +33,7 @@ export declare class UserFavoriteResolver extends UserFavoriteResolverBase {
33
33
  Success: boolean;
34
34
  EntityID: number;
35
35
  UserID: number;
36
- PrimaryKeyValues: PrimaryKeyValue[];
36
+ CompositeKey: CompositeKey;
37
37
  IsFavorite: boolean;
38
38
  };
39
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"UserFavoriteResolver.d.ts","sourceRoot":"","sources":["../../src/resolvers/UserFavoriteResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,UAAU,EAA+H,MAAM,wBAAwB,CAAC;AAIjL,OAAO,EAAiB,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAKjF,qBACa,wBAAwB;IAEnC,QAAQ,EAAE,MAAM,CAAC;IAGjB,gBAAgB,EAAE,eAAe,EAAE,CAAC;IAGpC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,qBACa,qBAAqB;IAEhC,QAAQ,EAAE,MAAM,CAAC;IAGjB,gBAAgB,EAAE,eAAe,EAAE,CAAC;IAGpC,MAAM,EAAE,MAAM,CAAC;IAGf,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,qBACa,kBAAkB;IAE7B,QAAQ,EAAE,MAAM,CAAC;IAGjB,gBAAgB,EAAE,eAAe,EAAE,CAAC;IAGpC,MAAM,EAAE,MAAM,CAAC;IAGf,UAAU,EAAE,OAAO,CAAC;IAGpB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,qBACa,oBAAqB,SAAQ,wBAAwB;IAE1D,qBAAqB,CAA2B,MAAM,EAAE,MAAM,EAAS,EAAE,UAAU,EAAE,EAAE,UAAU;IAKjG,0BAA0B,CAA2B,MAAM,EAAE,wBAAwB,EAAS,EAAE,UAAU,EAAE,EAAE,UAAU;IAKxH,uBAAuB,CAAgD,MAAM,EAAE,wBAAwB,EAAS,EAAE,EAAE,UAAU;;;;;;;IAepI,uBAAuB,CAA6C,MAAM,EAAE,qBAAqB,EAAS,EAAE,WAAW,EAAE,EAAE,UAAU;;;;;;;CAgBtI;AAED,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"UserFavoriteResolver.d.ts","sourceRoot":"","sources":["../../src/resolvers/UserFavoriteResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAyH,MAAM,wBAAwB,CAAC;AAI3K,OAAO,EAAiB,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAMjF,qBACa,wBAAwB;IAEnC,QAAQ,EAAE,MAAM,CAAC;IAGjB,YAAY,EAAE,YAAY,CAAC;IAG3B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,qBACa,qBAAqB;IAEhC,QAAQ,EAAE,MAAM,CAAC;IAGjB,YAAY,EAAE,YAAY,CAAC;IAG3B,MAAM,EAAE,MAAM,CAAC;IAGf,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,qBACa,kBAAkB;IAE7B,QAAQ,EAAE,MAAM,CAAC;IAGjB,YAAY,EAAE,YAAY,CAAC;IAG3B,MAAM,EAAE,MAAM,CAAC;IAGf,UAAU,EAAE,OAAO,CAAC;IAGpB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,qBACa,oBAAqB,SAAQ,wBAAwB;IAE1D,qBAAqB,CAA2B,MAAM,EAAE,MAAM,EAAS,EAAE,UAAU,EAAE,EAAE,UAAU;IAKjG,0BAA0B,CAA2B,MAAM,EAAE,wBAAwB,EAAS,EAAE,UAAU,EAAE,EAAE,UAAU;IAKxH,uBAAuB,CAAgD,MAAM,EAAE,wBAAwB,EAAS,EAAE,EAAE,UAAU;;;;;;;IAepI,uBAAuB,CAA6C,MAAM,EAAE,qBAAqB,EAAS,EAAE,WAAW,EAAE,EAAE,UAAU;;;;;;;CAgBtI;AAED,eAAe,oBAAoB,CAAC"}
@@ -17,6 +17,7 @@ const core_1 = require("@memberjunction/core");
17
17
  const server_1 = require("@memberjunction/server");
18
18
  const sqlserver_dataprovider_1 = require("@memberjunction/sqlserver-dataprovider");
19
19
  const generated_1 = require("../generated/generated");
20
+ const PotentialDuplicateRecordResolver_1 = require("./PotentialDuplicateRecordResolver");
20
21
  let UserFavoriteSearchParams = class UserFavoriteSearchParams {
21
22
  };
22
23
  exports.UserFavoriteSearchParams = UserFavoriteSearchParams;
@@ -25,9 +26,9 @@ __decorate([
25
26
  __metadata("design:type", Number)
26
27
  ], UserFavoriteSearchParams.prototype, "EntityID", void 0);
27
28
  __decorate([
28
- (0, server_1.Field)(() => [server_1.PrimaryKeyValueInputType]),
29
- __metadata("design:type", Array)
30
- ], UserFavoriteSearchParams.prototype, "PrimaryKeyValues", void 0);
29
+ (0, server_1.Field)(() => PotentialDuplicateRecordResolver_1.CompositeKeyInputType),
30
+ __metadata("design:type", core_1.CompositeKey)
31
+ ], UserFavoriteSearchParams.prototype, "CompositeKey", void 0);
31
32
  __decorate([
32
33
  (0, server_1.Field)(() => server_1.Int),
33
34
  __metadata("design:type", Number)
@@ -43,9 +44,9 @@ __decorate([
43
44
  __metadata("design:type", Number)
44
45
  ], UserFavoriteSetParams.prototype, "EntityID", void 0);
45
46
  __decorate([
46
- (0, server_1.Field)(() => [server_1.PrimaryKeyValueInputType]),
47
- __metadata("design:type", Array)
48
- ], UserFavoriteSetParams.prototype, "PrimaryKeyValues", void 0);
47
+ (0, server_1.Field)(() => PotentialDuplicateRecordResolver_1.CompositeKeyInputType),
48
+ __metadata("design:type", core_1.CompositeKey)
49
+ ], UserFavoriteSetParams.prototype, "CompositeKey", void 0);
49
50
  __decorate([
50
51
  (0, server_1.Field)(() => server_1.Int),
51
52
  __metadata("design:type", Number)
@@ -65,9 +66,9 @@ __decorate([
65
66
  __metadata("design:type", Number)
66
67
  ], UserFavoriteResult.prototype, "EntityID", void 0);
67
68
  __decorate([
68
- (0, server_1.Field)(() => [server_1.PrimaryKeyValueOutputType]),
69
- __metadata("design:type", Array)
70
- ], UserFavoriteResult.prototype, "PrimaryKeyValues", void 0);
69
+ (0, server_1.Field)(() => PotentialDuplicateRecordResolver_1.CompositeKeyOutputType),
70
+ __metadata("design:type", core_1.CompositeKey)
71
+ ], UserFavoriteResult.prototype, "CompositeKey", void 0);
71
72
  __decorate([
72
73
  (0, server_1.Field)(() => server_1.Int),
73
74
  __metadata("design:type", Number)
@@ -97,8 +98,8 @@ let UserFavoriteResolver = class UserFavoriteResolver extends generated_1.UserFa
97
98
  return {
98
99
  EntityID: params.EntityID,
99
100
  UserID: params.UserID,
100
- PrimaryKeyValues: params.PrimaryKeyValues,
101
- IsFavorite: await md.GetRecordFavoriteStatus(params.UserID, e.Name, params.PrimaryKeyValues),
101
+ CompositeKey: params.CompositeKey,
102
+ IsFavorite: await md.GetRecordFavoriteStatus(params.UserID, e.Name, params.CompositeKey),
102
103
  Success: true,
103
104
  };
104
105
  else
@@ -109,12 +110,12 @@ let UserFavoriteResolver = class UserFavoriteResolver extends generated_1.UserFa
109
110
  const e = md.Entities.find((e) => e.ID === params.EntityID);
110
111
  const u = sqlserver_dataprovider_1.UserCache.Users.find((u) => u.ID === userPayload.userRecord.ID);
111
112
  if (e) {
112
- md.SetRecordFavoriteStatus(params.UserID, e.Name, params.PrimaryKeyValues, params.IsFavorite, u);
113
+ md.SetRecordFavoriteStatus(params.UserID, e.Name, params.CompositeKey, params.IsFavorite, u);
113
114
  return {
114
115
  Success: true,
115
116
  EntityID: params.EntityID,
116
117
  UserID: params.UserID,
117
- PrimaryKeyValues: params.PrimaryKeyValues,
118
+ CompositeKey: params.CompositeKey,
118
119
  IsFavorite: params.IsFavorite,
119
120
  };
120
121
  }
@@ -1 +1 @@
1
- {"version":3,"file":"UserFavoriteResolver.js","sourceRoot":"","sources":["../../src/resolvers/UserFavoriteResolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UserFavoriteResolver.js","sourceRoot":"","sources":["../../src/resolvers/UserFavoriteResolver.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memberjunction/server",
3
- "version": "1.2.2",
3
+ "version": "1.3.0",
4
4
  "description": "MemberJunction: This project provides API access via GraphQL to the common data store.",
5
5
  "main": "dist/index.js",
6
6
  "types": "src/index.ts",
@@ -8,7 +8,7 @@
8
8
  "license": "ISC",
9
9
  "scripts": {
10
10
  "clean": "rimraf dist",
11
- "build": "rimraf dist && tsc",
11
+ "build": "tsc",
12
12
  "watch": "tsc -w",
13
13
  "test": "echo \"Error: no test specified\" && exit 1",
14
14
  "lint:eslint": "eslint \"**/*.{ts,js,}\" --max-warnings=0",
@@ -21,18 +21,20 @@
21
21
  "dependencies": {
22
22
  "@apollo/server": "^4.9.1",
23
23
  "@graphql-tools/utils": "^10.0.1",
24
- "@memberjunction/ai": "~1.2.2",
25
- "@memberjunction/ai-openai": "~1.2.2",
26
- "@memberjunction/aiengine": "~1.2.2",
27
- "@memberjunction/core": "~1.2.2",
28
- "@memberjunction/core-entities": "~1.2.2",
29
- "@memberjunction/data-context": "~1.2.2",
30
- "@memberjunction/data-context-server": "~1.2.2",
31
- "@memberjunction/global": "~1.2.2",
32
- "@memberjunction/storage": "~1.2.2",
33
- "@memberjunction/queue": "~1.2.2",
34
- "@memberjunction/sqlserver-dataprovider": "~1.2.2",
35
- "@memberjunction/skip-types": "~1.2.2",
24
+ "@memberjunction/ai": "~1.3.0",
25
+ "@memberjunction/ai-openai": "~1.3.0",
26
+ "@memberjunction/aiengine": "~1.3.0",
27
+ "@memberjunction/ai-mistral": "~1.3.0",
28
+ "@memberjunction/ai-vectors-pinecone": "~1.3.0",
29
+ "@memberjunction/core": "~1.3.0",
30
+ "@memberjunction/core-entities": "~1.3.0",
31
+ "@memberjunction/data-context": "~1.3.0",
32
+ "@memberjunction/data-context-server": "~1.3.0",
33
+ "@memberjunction/global": "~1.3.0",
34
+ "@memberjunction/storage": "~1.3.0",
35
+ "@memberjunction/queue": "~1.3.0",
36
+ "@memberjunction/sqlserver-dataprovider": "~1.3.0",
37
+ "@memberjunction/skip-types": "~1.3.0",
36
38
  "@types/cors": "^2.8.13",
37
39
  "@types/jsonwebtoken": "^8.5.9",
38
40
  "@types/node": "^18.11.14",
@@ -0,0 +1,29 @@
1
+ import { BaseEntity, PotentialDuplicateRequest } from "@memberjunction/core";
2
+ import { RegisterClass } from "@memberjunction/global";
3
+ import { DuplicateRunEntity } from "@memberjunction/core-entities";
4
+ import { DuplicateRecordDetector } from "@memberjunction/ai-vector-dupe";
5
+
6
+ @RegisterClass(BaseEntity, 'Duplicate Runs', 3)
7
+ export class DuplicateRunEntity_Server extends DuplicateRunEntity {
8
+ public async Save(): Promise<boolean> {
9
+ const saveResult: boolean = await super.Save();
10
+ if (saveResult && this.EndedAt === null) {
11
+ // do something
12
+ const duplicateRecordDetector: DuplicateRecordDetector = new DuplicateRecordDetector();
13
+ let request: PotentialDuplicateRequest = new PotentialDuplicateRequest();
14
+ request.EntityID = this.EntityID;
15
+ request.ListID = this.SourceListID;
16
+ request.Options = {
17
+ DuplicateRunID: this.ID,
18
+ };
19
+
20
+ const response = await duplicateRecordDetector.getDuplicateRecords(request, this.ContextCurrentUser);
21
+ }
22
+
23
+ return saveResult;
24
+ }
25
+ }
26
+
27
+ export function LoadDuplicateRunEntityServerSubClass() {
28
+
29
+ }
@@ -2,7 +2,7 @@
2
2
  * ALL ENTITIES - TypeGraphQL Type Class Definition - AUTO GENERATED FILE
3
3
  * Generated Entities and Resolvers for Server
4
4
  *
5
- * GENERATED: 4/30/2024, 12:16:26 PM
5
+ * GENERATED: 5/8/2024, 3:00:03 PM
6
6
  *
7
7
  * >>> DO NOT MODIFY THIS FILE!!!!!!!!!!!!
8
8
  * >>> YOUR CHANGES WILL BE OVERWRITTEN
@@ -2846,9 +2846,13 @@ export class Entity_ {
2846
2846
  @Field(() => Boolean)
2847
2847
  spDeleteGenerated: boolean;
2848
2848
 
2849
- @Field(() => Boolean)
2849
+ @Field(() => Boolean, {description: 'When set to 1, the deleted spDelete will pre-process deletion to related entities that have 1:M cardinality with this entity. This does not have effect if spDeleteGenerated = 0'})
2850
2850
  CascadeDeletes: boolean;
2851
2851
 
2852
+ @Field({nullable: true, description: 'When specified, this stored procedure is used to find matching records in this particular entity. The convention is to pass in the primary key(s) columns for the given entity to the procedure and the return will be zero to many rows where there is a column for each primary key field(s) and a ProbabilityScore (numeric(1,12)) column that has a 0 to 1 value of the probability of a match.'})
2853
+ @MaxLength(510)
2854
+ spMatch?: string;
2855
+
2852
2856
  @Field(() => Boolean)
2853
2857
  UserFormGenerated: boolean;
2854
2858
 
@@ -3091,6 +3095,9 @@ export class CreateEntityInput {
3091
3095
  @Field(() => Boolean)
3092
3096
  CascadeDeletes: boolean;
3093
3097
 
3098
+ @Field({ nullable: true })
3099
+ spMatch: string;
3100
+
3094
3101
  @Field(() => Boolean)
3095
3102
  UserFormGenerated: boolean;
3096
3103
 
@@ -3209,6 +3216,9 @@ export class UpdateEntityInput {
3209
3216
  @Field(() => Boolean)
3210
3217
  CascadeDeletes: boolean;
3211
3218
 
3219
+ @Field({ nullable: true })
3220
+ spMatch: string;
3221
+
3212
3222
  @Field(() => Boolean)
3213
3223
  UserFormGenerated: boolean;
3214
3224
 
@@ -16904,6 +16914,32 @@ export class DataContextItemResolver extends ResolverBase {
16904
16914
  const i = input, d = dataSource; // prevent error
16905
16915
  }
16906
16916
 
16917
+ @Mutation(() => DataContextItem_)
16918
+ async DeleteDataContextItem(@Arg('ID', () => Int) ID: number, @Ctx() { dataSource, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
16919
+ if (await this.BeforeDelete(dataSource, ID)) { // fire event and proceed if it wasn't cancelled
16920
+ const entityObject = <DataContextItemEntity>await new Metadata().GetEntityObject('Data Context Items', this.GetUserFromPayload(userPayload));
16921
+ await entityObject.Load(ID);
16922
+ const returnValue = entityObject.GetAll(); // grab the values before we delete so we can return last state before delete if we are successful.
16923
+ if (await entityObject.Delete()) {
16924
+ await this.AfterDelete(dataSource, ID); // fire event
16925
+ return returnValue;
16926
+ }
16927
+ else
16928
+ return null; // delete failed, this will cause an exception
16929
+ }
16930
+ else
16931
+ return null; // BeforeDelete canceled the operation, this will cause an exception
16932
+ }
16933
+
16934
+ // Before/After UPDATE Event Hooks for Sub-Classes to Override
16935
+ protected async BeforeDelete(dataSource: DataSource, ID: number): Promise<boolean> {
16936
+ const i = ID, d = dataSource; // prevent error;
16937
+ return true;
16938
+ }
16939
+ protected async AfterDelete(dataSource: DataSource, ID: number) {
16940
+ const i = ID, d = dataSource; // prevent error
16941
+ }
16942
+
16907
16943
  }
16908
16944
 
16909
16945
  //****************************************************************************
@@ -17117,6 +17153,32 @@ export class DataContextResolver extends ResolverBase {
17117
17153
  const i = input, d = dataSource; // prevent error
17118
17154
  }
17119
17155
 
17156
+ @Mutation(() => DataContext_)
17157
+ async DeleteDataContext(@Arg('ID', () => Int) ID: number, @Ctx() { dataSource, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
17158
+ if (await this.BeforeDelete(dataSource, ID)) { // fire event and proceed if it wasn't cancelled
17159
+ const entityObject = <DataContextEntity>await new Metadata().GetEntityObject('Data Contexts', this.GetUserFromPayload(userPayload));
17160
+ await entityObject.Load(ID);
17161
+ const returnValue = entityObject.GetAll(); // grab the values before we delete so we can return last state before delete if we are successful.
17162
+ if (await entityObject.Delete()) {
17163
+ await this.AfterDelete(dataSource, ID); // fire event
17164
+ return returnValue;
17165
+ }
17166
+ else
17167
+ return null; // delete failed, this will cause an exception
17168
+ }
17169
+ else
17170
+ return null; // BeforeDelete canceled the operation, this will cause an exception
17171
+ }
17172
+
17173
+ // Before/After UPDATE Event Hooks for Sub-Classes to Override
17174
+ protected async BeforeDelete(dataSource: DataSource, ID: number): Promise<boolean> {
17175
+ const i = ID, d = dataSource; // prevent error;
17176
+ return true;
17177
+ }
17178
+ protected async AfterDelete(dataSource: DataSource, ID: number) {
17179
+ const i = ID, d = dataSource; // prevent error
17180
+ }
17181
+
17120
17182
  }
17121
17183
 
17122
17184
  //****************************************************************************
@@ -18985,6 +19047,10 @@ export class DuplicateRunDetailMatch_ {
18985
19047
  @Field(() => Int)
18986
19048
  DuplicateRunDetailID: number;
18987
19049
 
19050
+ @Field({description: 'Either Vector or SP'})
19051
+ @MaxLength(40)
19052
+ MatchSource: string;
19053
+
18988
19054
  @Field()
18989
19055
  @MaxLength(1000)
18990
19056
  MatchRecordID: string;
@@ -19033,6 +19099,9 @@ export class CreateDuplicateRunDetailMatchInput {
19033
19099
  @Field(() => Int)
19034
19100
  DuplicateRunDetailID: number;
19035
19101
 
19102
+ @Field()
19103
+ MatchSource: string;
19104
+
19036
19105
  @Field()
19037
19106
  MatchRecordID: string;
19038
19107
 
@@ -19070,6 +19139,9 @@ export class UpdateDuplicateRunDetailMatchInput {
19070
19139
  @Field(() => Int)
19071
19140
  DuplicateRunDetailID: number;
19072
19141
 
19142
+ @Field()
19143
+ MatchSource: string;
19144
+
19073
19145
  @Field()
19074
19146
  MatchRecordID: string;
19075
19147
 
@@ -80,6 +80,7 @@ export class ResolverBase {
80
80
  viewInput.ExcludeDataFromAllPriorViewRuns,
81
81
  viewInput.ForceAuditLog,
82
82
  viewInput.AuditLogDescription,
83
+ viewInput.ResultType,
83
84
  userPayload,
84
85
  pubSub
85
86
  );
@@ -106,6 +107,7 @@ export class ResolverBase {
106
107
  viewInput.ExcludeDataFromAllPriorViewRuns,
107
108
  viewInput.ForceAuditLog,
108
109
  viewInput.AuditLogDescription,
110
+ viewInput.ResultType,
109
111
  userPayload,
110
112
  pubSub
111
113
  );
@@ -142,6 +144,7 @@ export class ResolverBase {
142
144
  false,
143
145
  viewInput.ForceAuditLog,
144
146
  viewInput.AuditLogDescription,
147
+ viewInput.ResultType,
145
148
  userPayload,
146
149
  pubSub
147
150
  );
@@ -180,6 +183,7 @@ export class ResolverBase {
180
183
  excludeDataFromAllPriorViewRuns: boolean | undefined,
181
184
  forceAuditLog: boolean | undefined,
182
185
  auditLogDescription: string | undefined,
186
+ resultType: string | undefined,
183
187
  userPayload: UserPayload | null,
184
188
  pubSub: PubSubEngine
185
189
  ) {
@@ -193,6 +197,21 @@ export class ResolverBase {
193
197
  if (!entityInfo) throw new Error(`Entity ${viewInfo.Entity} not found in metadata`);
194
198
 
195
199
  const rv = new RunView();
200
+
201
+ // figure out the result type from the input string (if provided)
202
+ let rt: 'simple' | 'entity_object' | 'count_only' = 'simple';
203
+ switch (resultType?.trim().toLowerCase()) {
204
+ case 'entity_object':
205
+ rt = 'entity_object';
206
+ break;
207
+ case 'count_only':
208
+ rt = 'count_only';
209
+ break;
210
+ default:
211
+ rt = 'simple';
212
+ break;
213
+ }
214
+
196
215
  const result = await rv.RunView(
197
216
  {
198
217
  ViewID: viewInfo.ID,
@@ -209,6 +228,7 @@ export class ResolverBase {
209
228
  IgnoreMaxRows: ignoreMaxRows,
210
229
  ForceAuditLog: forceAuditLog,
211
230
  AuditLogDescription: auditLogDescription,
231
+ ResultType: rt,
212
232
  },
213
233
  user
214
234
  );
@@ -92,6 +92,13 @@ export class RunViewByIDInput {
92
92
  "if provided and either ForceAuditLog is set, or the entity's property settings for logging view runs are set to true, this will be used as the Audit Log Description.",
93
93
  })
94
94
  AuditLogDescription?: string;
95
+
96
+ @Field(() => String, {
97
+ nullable: true,
98
+ description:
99
+ 'Optional, pass in entity_object, simple, or count_only as options to specify the type of result you want back. Defaults to simple if not provided',
100
+ })
101
+ ResultType?: string;
95
102
  }
96
103
 
97
104
  @InputType()
@@ -174,6 +181,13 @@ export class RunViewByNameInput {
174
181
  "if provided and either ForceAuditLog is set, or the entity's property settings for logging view runs are set to true, this will be used as the Audit Log Description.",
175
182
  })
176
183
  AuditLogDescription?: string;
184
+
185
+ @Field(() => String, {
186
+ nullable: true,
187
+ description:
188
+ 'Optional, pass in entity_object, simple, or count_only as options to specify the type of result you want back. Defaults to simple if not provided',
189
+ })
190
+ ResultType?: string;
177
191
  }
178
192
  @InputType()
179
193
  export class RunDynamicViewInput {
@@ -241,6 +255,13 @@ export class RunDynamicViewInput {
241
255
  "if provided and either ForceAuditLog is set, or the entity's property settings for logging view runs are set to true, this will be used as the Audit Log Description.",
242
256
  })
243
257
  AuditLogDescription?: string;
258
+
259
+ @Field(() => String, {
260
+ nullable: true,
261
+ description:
262
+ 'Optional, pass in entity_object, simple, or count_only as options to specify the type of result you want back. Defaults to simple if not provided',
263
+ })
264
+ ResultType?: string;
244
265
  }
245
266
 
246
267
  @ObjectType()
package/src/index.ts CHANGED
@@ -33,6 +33,7 @@ export { configInfo } from './config';
33
33
  export * from './directives';
34
34
  export * from './entitySubclasses/userViewEntity.server';
35
35
  export * from './entitySubclasses/entityPermissions.server';
36
+ export * from './entitySubclasses/DuplicateRunEntity.server';
36
37
  export * from './types';
37
38
  export { TokenExpiredError } from './auth';
38
39