@memberjunction/server 2.24.1 → 2.25.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/index.d.ts CHANGED
@@ -25,6 +25,7 @@ export * from './resolvers/ReportResolver.js';
25
25
  export * from './resolvers/SyncRolesUsersResolver.js';
26
26
  export * from './resolvers/SyncDataResolver.js';
27
27
  export * from './resolvers/GetDataResolver.js';
28
+ export * from './resolvers/TransactionGroupResolver.js';
28
29
  export { GetReadOnlyDataSource, GetReadWriteDataSource } from './util.js';
29
30
  export * from './generated/generated.js';
30
31
  export type MJServerOptions = {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAgBA,OAAO,kBAAkB,CAAC;AAqB1B,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,6CAA6C,CAAC;AAC5D,cAAc,gDAAgD,CAAC;AAC/D,cAAc,iDAAiD,CAAC;AAChE,cAAc,2CAA2C,CAAC;AAC1D,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEnE,cAAc,iCAAiC,CAAC;AAChD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAEhD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yCAAyC,CAAC;AACxD,cAAc,qCAAqC,CAAC;AACpD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uCAAuC,CAAC;AACtD,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAE/C,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAE1E,cAAc,0BAA0B,CAAC;AAKzC,MAAM,MAAM,eAAe,GAAG;IAC5B,aAAa,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5C,CAAC;AAUF,eAAO,MAAM,SAAS,mDAAkB,CAAC;AAEzC,eAAO,MAAM,KAAK,kBAAyB,MAAM,MAAM,CAAC,+DAA+B,eAAe,kBA2HrG,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAgBA,OAAO,kBAAkB,CAAC;AAqB1B,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,6CAA6C,CAAC;AAC5D,cAAc,gDAAgD,CAAC;AAC/D,cAAc,iDAAiD,CAAC;AAChE,cAAc,2CAA2C,CAAC;AAC1D,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEnE,cAAc,iCAAiC,CAAC;AAChD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAEhD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yCAAyC,CAAC;AACxD,cAAc,qCAAqC,CAAC;AACpD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uCAAuC,CAAC;AACtD,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yCAAyC,CAAC;AAExD,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAE1E,cAAc,0BAA0B,CAAC;AAKzC,MAAM,MAAM,eAAe,GAAG;IAC5B,aAAa,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5C,CAAC;AAUF,eAAO,MAAM,SAAS,mDAAkB,CAAC;AAEzC,eAAO,MAAM,KAAK,kBAAyB,MAAM,MAAM,CAAC,+DAA+B,eAAe,kBA2HrG,CAAC"}
package/dist/index.js CHANGED
@@ -53,6 +53,7 @@ export * from './resolvers/ReportResolver.js';
53
53
  export * from './resolvers/SyncRolesUsersResolver.js';
54
54
  export * from './resolvers/SyncDataResolver.js';
55
55
  export * from './resolvers/GetDataResolver.js';
56
+ export * from './resolvers/TransactionGroupResolver.js';
56
57
  export { GetReadOnlyDataSource, GetReadWriteDataSource } from './util.js';
57
58
  export * from './generated/generated.js';
58
59
  import { resolve } from 'node:path';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
12
  };
13
13
  import { Field, ObjectType, Query, Resolver, Ctx } from 'type-graphql';
14
14
  import { Public, RequireSystemUser } from '../directives/index.js';
15
- import packageJson from '../../package.json' assert { type: 'json' };
15
+ import packageJson from '../../package.json' with { type: 'json' };
16
16
  import os from 'node:os';
17
17
  let Info = class Info {
18
18
  Version;
@@ -1 +1 @@
1
- {"version":3,"file":"InfoResolver.js","sourceRoot":"","sources":["../../src/resolvers/InfoResolver.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,UAAU,EAAO,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAuB,MAAM,cAAc,CAAC;AACjG,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,WAAW,MAAM,oBAAoB,CAAC,SAAS,IAAI,EAAE,MAAM,EAAE,CAAC;AAErE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGlB,IAAM,IAAI,GAAV,MAAM,IAAI;IAGf,OAAO,CAAS;IAEhB,YAAY,CAAU;IAItB,QAAQ,CAAS;IAIjB,IAAI,CAAS;IAIb,QAAQ,CAAS;IAIjB,QAAQ,CAAS;CAClB,CAAA;AAnBC;IAFC,MAAM,EAAE;IACR,KAAK,EAAE;;qCACQ;AAEhB;IADC,KAAK,EAAE;;0CACc;AAItB;IAFC,iBAAiB,EAAE;IACnB,KAAK,EAAE;;sCACS;AAIjB;IAFC,iBAAiB,EAAE;IACnB,KAAK,EAAE;;kCACK;AAIb;IAFC,iBAAiB,EAAE;IACnB,KAAK,EAAE;;sCACS;AAIjB;IAFC,iBAAiB,EAAE;IACnB,KAAK,EAAE;;sCACS;AArBN,IAAI;IADhB,UAAU,EAAE;GACA,IAAI,CAsBhB;;AAGM,IAAM,YAAY,GAAlB,MAAM,YAAY;IAGvB,IAAI,CAAQ,OAAmB;QAC7B,OAAO;YACL,OAAO,EAAE,WAAW,CAAC,OAAO;YAC5B,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC;YACvD,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE;YACvB,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE;YACnB,QAAQ,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK;YAC9B,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE;SACxB,CAAC;IACJ,CAAC;CACF,CAAA;AAVC;IAFC,MAAM,EAAE;IACR,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;IACZ,WAAA,GAAG,EAAE,CAAA;;;oCAAuB,IAAI;wCASrC;AAZU,YAAY;IADxB,QAAQ,CAAC,IAAI,CAAC;GACF,YAAY,CAaxB"}
1
+ {"version":3,"file":"InfoResolver.js","sourceRoot":"","sources":["../../src/resolvers/InfoResolver.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,UAAU,EAAO,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAuB,MAAM,cAAc,CAAC;AACjG,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,WAAW,MAAM,oBAAoB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAEnE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGlB,IAAM,IAAI,GAAV,MAAM,IAAI;IAGf,OAAO,CAAS;IAEhB,YAAY,CAAU;IAItB,QAAQ,CAAS;IAIjB,IAAI,CAAS;IAIb,QAAQ,CAAS;IAIjB,QAAQ,CAAS;CAClB,CAAA;AAnBC;IAFC,MAAM,EAAE;IACR,KAAK,EAAE;;qCACQ;AAEhB;IADC,KAAK,EAAE;;0CACc;AAItB;IAFC,iBAAiB,EAAE;IACnB,KAAK,EAAE;;sCACS;AAIjB;IAFC,iBAAiB,EAAE;IACnB,KAAK,EAAE;;kCACK;AAIb;IAFC,iBAAiB,EAAE;IACnB,KAAK,EAAE;;sCACS;AAIjB;IAFC,iBAAiB,EAAE;IACnB,KAAK,EAAE;;sCACS;AArBN,IAAI;IADhB,UAAU,EAAE;GACA,IAAI,CAsBhB;;AAGM,IAAM,YAAY,GAAlB,MAAM,YAAY;IAGvB,IAAI,CAAQ,OAAmB;QAC7B,OAAO;YACL,OAAO,EAAE,WAAW,CAAC,OAAO;YAC5B,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC;YACvD,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE;YACvB,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE;YACnB,QAAQ,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK;YAC9B,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE;SACxB,CAAC;IACJ,CAAC;CACF,CAAA;AAVC;IAFC,MAAM,EAAE;IACR,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;IACZ,WAAA,GAAG,EAAE,CAAA;;;oCAAuB,IAAI;wCASrC;AAZU,YAAY;IADxB,QAAQ,CAAC,IAAI,CAAC;GACF,YAAY,CAaxB"}
@@ -0,0 +1,36 @@
1
+ import { AppContext } from '../types.js';
2
+ import { BaseEntity } from '@memberjunction/core';
3
+ export declare enum TransactionVariableType {
4
+ Define = "Define",
5
+ Use = "Use"
6
+ }
7
+ export declare enum TransactionOperationType {
8
+ Create = "Create",
9
+ Update = "Update",
10
+ Delete = "Delete"
11
+ }
12
+ export declare class TransactionVariableInputType {
13
+ Name: string;
14
+ ItemIndex: number;
15
+ FieldName: string;
16
+ Type: TransactionVariableType;
17
+ }
18
+ export declare class TransactionItemInputType {
19
+ EntityName: string;
20
+ EntityObjectJSON: string;
21
+ OperationType: TransactionOperationType;
22
+ }
23
+ export declare class TransactionInputType {
24
+ Items: TransactionItemInputType[];
25
+ Variables?: TransactionVariableInputType[] | null;
26
+ }
27
+ export declare class TransactionOutputType {
28
+ Success: boolean;
29
+ ErrorMessages: string[];
30
+ ResultsJSON: string[];
31
+ }
32
+ export declare class TransactionResolver {
33
+ ExecuteTransactionGroup(group: TransactionInputType, context: AppContext): Promise<TransactionOutputType>;
34
+ protected PrepareReturnValue(success: boolean, entityObjects: BaseEntity[], objectValues: any[], group: TransactionInputType): Promise<TransactionOutputType>;
35
+ }
36
+ //# sourceMappingURL=TransactionGroupResolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TransactionGroupResolver.d.ts","sourceRoot":"","sources":["../../src/resolvers/TransactionGroupResolver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAuE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGvH,oBAAY,uBAAuB;IAC/B,MAAM,WAAW;IACjB,GAAG,QAAQ;CACd;AAOD,oBAAY,wBAAwB;IAChC,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,MAAM,WAAW;CACpB;AAQD,qBACa,4BAA4B;IAErC,IAAI,EAAG,MAAM,CAAC;IAGd,SAAS,EAAG,MAAM,CAAC;IAGnB,SAAS,EAAG,MAAM,CAAC;IAGnB,IAAI,EAAG,uBAAuB,CAAC;CAClC;AAED,qBACa,wBAAwB;IAEjC,UAAU,EAAE,MAAM,CAAC;IAGnB,gBAAgB,EAAE,MAAM,CAAC;IAGzB,aAAa,EAAE,wBAAwB,CAAC;CAC3C;AAED,qBACa,oBAAoB;IAE7B,KAAK,EAAE,wBAAwB,EAAE,CAAC;IAGlC,SAAS,CAAC,EAAE,4BAA4B,EAAE,GAAG,IAAI,CAAC;CACrD;AAGD,qBACa,qBAAqB;IAE9B,OAAO,EAAE,OAAO,CAAC;IAGjB,aAAa,EAAE,MAAM,EAAE,CAAC;IAGxB,WAAW,EAAE,MAAM,EAAE,CAAC;CACzB;AAID,qBAAa,mBAAmB;IAEtB,uBAAuB,CACc,KAAK,EAAE,oBAAoB,EAC/D,OAAO,EAAE,UAAU;cA0EV,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;CAoBtK"}
@@ -0,0 +1,205 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
+ return function (target, key) { decorator(target, key, paramIndex); }
12
+ };
13
+ import { Arg, Ctx, Field, InputType, Int, Mutation, ObjectType, registerEnumType } from 'type-graphql';
14
+ import { CompositeKey, KeyValuePair, LogError, Metadata, TransactionVariable } from '@memberjunction/core';
15
+ import { SafeJSONParse } from '@memberjunction/global';
16
+ export var TransactionVariableType;
17
+ (function (TransactionVariableType) {
18
+ TransactionVariableType["Define"] = "Define";
19
+ TransactionVariableType["Use"] = "Use";
20
+ })(TransactionVariableType || (TransactionVariableType = {}));
21
+ registerEnumType(TransactionVariableType, {
22
+ name: "TransactionVariableType",
23
+ description: "Specifies the type of variable: Define or Use",
24
+ });
25
+ export var TransactionOperationType;
26
+ (function (TransactionOperationType) {
27
+ TransactionOperationType["Create"] = "Create";
28
+ TransactionOperationType["Update"] = "Update";
29
+ TransactionOperationType["Delete"] = "Delete";
30
+ })(TransactionOperationType || (TransactionOperationType = {}));
31
+ registerEnumType(TransactionOperationType, {
32
+ name: "TransactionOperationType",
33
+ description: "Specifies the type of operation: Create, Update, or Delete",
34
+ });
35
+ let TransactionVariableInputType = class TransactionVariableInputType {
36
+ Name;
37
+ ItemIndex;
38
+ FieldName;
39
+ Type;
40
+ };
41
+ __decorate([
42
+ Field(() => String),
43
+ __metadata("design:type", String)
44
+ ], TransactionVariableInputType.prototype, "Name", void 0);
45
+ __decorate([
46
+ Field(() => Int),
47
+ __metadata("design:type", Number)
48
+ ], TransactionVariableInputType.prototype, "ItemIndex", void 0);
49
+ __decorate([
50
+ Field(() => String),
51
+ __metadata("design:type", String)
52
+ ], TransactionVariableInputType.prototype, "FieldName", void 0);
53
+ __decorate([
54
+ Field(() => TransactionVariableType),
55
+ __metadata("design:type", String)
56
+ ], TransactionVariableInputType.prototype, "Type", void 0);
57
+ TransactionVariableInputType = __decorate([
58
+ InputType()
59
+ ], TransactionVariableInputType);
60
+ export { TransactionVariableInputType };
61
+ let TransactionItemInputType = class TransactionItemInputType {
62
+ EntityName;
63
+ EntityObjectJSON;
64
+ OperationType;
65
+ };
66
+ __decorate([
67
+ Field(() => String),
68
+ __metadata("design:type", String)
69
+ ], TransactionItemInputType.prototype, "EntityName", void 0);
70
+ __decorate([
71
+ Field(() => String),
72
+ __metadata("design:type", String)
73
+ ], TransactionItemInputType.prototype, "EntityObjectJSON", void 0);
74
+ __decorate([
75
+ Field(() => TransactionOperationType),
76
+ __metadata("design:type", String)
77
+ ], TransactionItemInputType.prototype, "OperationType", void 0);
78
+ TransactionItemInputType = __decorate([
79
+ InputType()
80
+ ], TransactionItemInputType);
81
+ export { TransactionItemInputType };
82
+ let TransactionInputType = class TransactionInputType {
83
+ Items;
84
+ Variables;
85
+ };
86
+ __decorate([
87
+ Field(() => [TransactionItemInputType]),
88
+ __metadata("design:type", Array)
89
+ ], TransactionInputType.prototype, "Items", void 0);
90
+ __decorate([
91
+ Field(() => [TransactionVariableInputType], { nullable: true }),
92
+ __metadata("design:type", Array)
93
+ ], TransactionInputType.prototype, "Variables", void 0);
94
+ TransactionInputType = __decorate([
95
+ InputType()
96
+ ], TransactionInputType);
97
+ export { TransactionInputType };
98
+ let TransactionOutputType = class TransactionOutputType {
99
+ Success;
100
+ ErrorMessages;
101
+ ResultsJSON;
102
+ };
103
+ __decorate([
104
+ Field(() => Boolean),
105
+ __metadata("design:type", Boolean)
106
+ ], TransactionOutputType.prototype, "Success", void 0);
107
+ __decorate([
108
+ Field(() => [String]),
109
+ __metadata("design:type", Array)
110
+ ], TransactionOutputType.prototype, "ErrorMessages", void 0);
111
+ __decorate([
112
+ Field(() => [String]),
113
+ __metadata("design:type", Array)
114
+ ], TransactionOutputType.prototype, "ResultsJSON", void 0);
115
+ TransactionOutputType = __decorate([
116
+ ObjectType()
117
+ ], TransactionOutputType);
118
+ export { TransactionOutputType };
119
+ export class TransactionResolver {
120
+ async ExecuteTransactionGroup(group, context) {
121
+ try {
122
+ const md = new Metadata();
123
+ const tg = await md.CreateTransactionGroup();
124
+ const entityObjects = [];
125
+ const objectValues = [];
126
+ for (const item of group.Items) {
127
+ const entity = await md.GetEntityObject(item.EntityName, context.userPayload.userRecord);
128
+ entityObjects.push(entity);
129
+ const itemValues = SafeJSONParse(item.EntityObjectJSON);
130
+ const pkey = new CompositeKey(entity.PrimaryKeys.map(pk => {
131
+ const kv = new KeyValuePair();
132
+ kv.FieldName = pk.Name;
133
+ kv.Value = itemValues[pk.Name];
134
+ return kv;
135
+ }));
136
+ switch (item.OperationType) {
137
+ case "Update":
138
+ case "Create":
139
+ if (item.OperationType === "Update") {
140
+ await entity.InnerLoad(pkey);
141
+ }
142
+ objectValues.push(itemValues);
143
+ entity.SetMany(itemValues, true);
144
+ entity.TransactionGroup = tg;
145
+ await entity.Save();
146
+ break;
147
+ case "Delete":
148
+ await entity.InnerLoad(pkey);
149
+ objectValues.push(entity.GetDataObject());
150
+ entity.TransactionGroup = tg;
151
+ await entity.Delete();
152
+ break;
153
+ }
154
+ }
155
+ if (group.Variables && group.Variables.length > 0) {
156
+ for (const networkVar of group.Variables) {
157
+ if (networkVar.ItemIndex >= 0 && networkVar.ItemIndex < entityObjects.length) {
158
+ const entityObject = entityObjects[networkVar.ItemIndex];
159
+ const newVar = new TransactionVariable(networkVar.Name, entityObject, networkVar.FieldName, networkVar.Type);
160
+ tg.AddVariable(newVar);
161
+ }
162
+ else {
163
+ throw new Error(`TransactionResolver::ExecuteTransactionGroup --- Error\n\n' + 'Invalid ItemIndex ${networkVar.ItemIndex} in TransactionVariable "${JSON.stringify(networkVar)}"`);
164
+ }
165
+ }
166
+ }
167
+ if (await tg.Submit()) {
168
+ return await this.PrepareReturnValue(true, entityObjects, objectValues, group);
169
+ }
170
+ else {
171
+ return await this.PrepareReturnValue(false, entityObjects, objectValues, group);
172
+ }
173
+ }
174
+ catch (err) {
175
+ LogError(err);
176
+ throw new Error('TransactionResolver::ExecuteTransactionGroup --- Error\n\n' + err);
177
+ }
178
+ }
179
+ async PrepareReturnValue(success, entityObjects, objectValues, group) {
180
+ const jsonResults = [];
181
+ for (let i = 0; i < group.Items.length; i++) {
182
+ const item = group.Items[i];
183
+ if (item.OperationType === 'Delete') {
184
+ jsonResults.push(JSON.stringify(objectValues[i]));
185
+ }
186
+ else {
187
+ jsonResults.push(await entityObjects[i].GetDataObjectJSON());
188
+ }
189
+ }
190
+ return {
191
+ Success: success,
192
+ ErrorMessages: entityObjects.map(e => JSON.stringify(e.LatestResult)),
193
+ ResultsJSON: jsonResults
194
+ };
195
+ }
196
+ }
197
+ __decorate([
198
+ Mutation(() => TransactionOutputType),
199
+ __param(0, Arg('group', () => TransactionInputType)),
200
+ __param(1, Ctx()),
201
+ __metadata("design:type", Function),
202
+ __metadata("design:paramtypes", [TransactionInputType, Object]),
203
+ __metadata("design:returntype", Promise)
204
+ ], TransactionResolver.prototype, "ExecuteTransactionGroup", null);
205
+ //# sourceMappingURL=TransactionGroupResolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TransactionGroupResolver.js","sourceRoot":"","sources":["../../src/resolvers/TransactionGroupResolver.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memberjunction/server",
3
- "version": "2.24.1",
3
+ "version": "2.25.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",
@@ -22,27 +22,27 @@
22
22
  "dependencies": {
23
23
  "@apollo/server": "^4.9.1",
24
24
  "@graphql-tools/utils": "^10.0.1",
25
- "@memberjunction/actions": "2.24.1",
26
- "@memberjunction/ai": "2.24.1",
27
- "@memberjunction/ai-mistral": "2.24.1",
28
- "@memberjunction/ai-openai": "2.24.1",
29
- "@memberjunction/ai-vectors-pinecone": "2.24.1",
30
- "@memberjunction/aiengine": "2.24.1",
31
- "@memberjunction/core": "2.24.1",
32
- "@memberjunction/core-actions": "2.24.1",
33
- "@memberjunction/core-entities": "2.24.1",
34
- "@memberjunction/data-context": "2.24.1",
35
- "@memberjunction/data-context-server": "2.24.1",
36
- "@memberjunction/doc-utils": "2.24.1",
37
- "@memberjunction/entity-communications-server": "2.24.1",
38
- "@memberjunction/external-change-detection": "2.24.1",
39
- "@memberjunction/global": "2.24.1",
40
- "@memberjunction/graphql-dataprovider": "2.24.1",
41
- "@memberjunction/queue": "2.24.1",
42
- "@memberjunction/skip-types": "2.24.1",
43
- "@memberjunction/sqlserver-dataprovider": "2.24.1",
44
- "@memberjunction/storage": "2.24.1",
45
- "@memberjunction/templates": "2.24.1",
25
+ "@memberjunction/actions": "2.25.0",
26
+ "@memberjunction/ai": "2.25.0",
27
+ "@memberjunction/ai-mistral": "2.25.0",
28
+ "@memberjunction/ai-openai": "2.25.0",
29
+ "@memberjunction/ai-vectors-pinecone": "2.25.0",
30
+ "@memberjunction/aiengine": "2.25.0",
31
+ "@memberjunction/core": "2.25.0",
32
+ "@memberjunction/core-actions": "2.25.0",
33
+ "@memberjunction/core-entities": "2.25.0",
34
+ "@memberjunction/data-context": "2.25.0",
35
+ "@memberjunction/data-context-server": "2.25.0",
36
+ "@memberjunction/doc-utils": "2.25.0",
37
+ "@memberjunction/entity-communications-server": "2.25.0",
38
+ "@memberjunction/external-change-detection": "2.25.0",
39
+ "@memberjunction/global": "2.25.0",
40
+ "@memberjunction/graphql-dataprovider": "2.25.0",
41
+ "@memberjunction/queue": "2.25.0",
42
+ "@memberjunction/skip-types": "2.25.0",
43
+ "@memberjunction/sqlserver-dataprovider": "2.25.0",
44
+ "@memberjunction/storage": "2.25.0",
45
+ "@memberjunction/templates": "2.25.0",
46
46
  "@types/cors": "^2.8.13",
47
47
  "@types/jsonwebtoken": "9.0.6",
48
48
  "@types/node": "20.14.2",
package/src/index.ts CHANGED
@@ -63,6 +63,7 @@ export * from './resolvers/ReportResolver.js';
63
63
  export * from './resolvers/SyncRolesUsersResolver.js';
64
64
  export * from './resolvers/SyncDataResolver.js';
65
65
  export * from './resolvers/GetDataResolver.js';
66
+ export * from './resolvers/TransactionGroupResolver.js';
66
67
 
67
68
  export { GetReadOnlyDataSource, GetReadWriteDataSource } from './util.js';
68
69
 
@@ -1,6 +1,6 @@
1
1
  import { Field, ObjectType, Int, Query, Resolver, Ctx, Info as RequestInfo } from 'type-graphql';
2
2
  import { Public, RequireSystemUser } from '../directives/index.js';
3
- import packageJson from '../../package.json' assert { type: 'json' };
3
+ import packageJson from '../../package.json' with { type: 'json' };
4
4
  import { AppContext } from '../types.js';
5
5
  import os from 'node:os';
6
6
 
@@ -0,0 +1,178 @@
1
+ import { Arg, Ctx, Field, InputType, Int, Mutation, ObjectType, registerEnumType } from 'type-graphql';
2
+ import { AppContext } from '../types.js';
3
+ import { CompositeKey, KeyValuePair, LogError, Metadata, TransactionVariable, BaseEntity } from '@memberjunction/core';
4
+ import { SafeJSONParse } from '@memberjunction/global';
5
+
6
+ export enum TransactionVariableType {
7
+ Define = "Define",
8
+ Use = "Use",
9
+ }
10
+
11
+ registerEnumType(TransactionVariableType, {
12
+ name: "TransactionVariableType",
13
+ description: "Specifies the type of variable: Define or Use",
14
+ });
15
+
16
+ export enum TransactionOperationType {
17
+ Create = "Create",
18
+ Update = "Update",
19
+ Delete = "Delete"
20
+ }
21
+
22
+ registerEnumType(TransactionOperationType, {
23
+ name: "TransactionOperationType",
24
+ description: "Specifies the type of operation: Create, Update, or Delete",
25
+ });
26
+
27
+
28
+ @InputType()
29
+ export class TransactionVariableInputType {
30
+ @Field(() => String)
31
+ Name!: string;
32
+
33
+ @Field(() => Int)
34
+ ItemIndex!: number;
35
+
36
+ @Field(() => String)
37
+ FieldName!: string;
38
+
39
+ @Field(() => TransactionVariableType)
40
+ Type!: TransactionVariableType;
41
+ }
42
+
43
+ @InputType()
44
+ export class TransactionItemInputType {
45
+ @Field(() => String)
46
+ EntityName: string;
47
+
48
+ @Field(() => String)
49
+ EntityObjectJSON: string;
50
+
51
+ @Field(() => TransactionOperationType)
52
+ OperationType: TransactionOperationType;
53
+ }
54
+
55
+ @InputType()
56
+ export class TransactionInputType {
57
+ @Field(() => [TransactionItemInputType])
58
+ Items: TransactionItemInputType[];
59
+
60
+ @Field(() => [TransactionVariableInputType], {nullable: true})
61
+ Variables?: TransactionVariableInputType[] | null;
62
+ }
63
+
64
+
65
+ @ObjectType()
66
+ export class TransactionOutputType {
67
+ @Field(() => Boolean)
68
+ Success: boolean;
69
+
70
+ @Field(() => [String])
71
+ ErrorMessages: string[];
72
+
73
+ @Field(() => [String])
74
+ ResultsJSON: string[];
75
+ }
76
+
77
+
78
+
79
+ export class TransactionResolver {
80
+ @Mutation(() => TransactionOutputType)
81
+ async ExecuteTransactionGroup(
82
+ @Arg('group', () => TransactionInputType ) group: TransactionInputType,
83
+ @Ctx() context: AppContext
84
+ ) {
85
+ try {
86
+ // we have received the transaction group information via the network, now we need to reconstruct our TransactionGroup object and run it
87
+ const md = new Metadata();
88
+ const tg = await md.CreateTransactionGroup();
89
+ const entityObjects: BaseEntity[] = [];
90
+ const objectValues: any[] = [];
91
+
92
+ for (const item of group.Items) {
93
+ // instantiate a new entity object for the item
94
+ const entity = await md.GetEntityObject(item.EntityName, context.userPayload.userRecord);
95
+ entityObjects.push(entity); // save for later for mapping variables if needed
96
+
97
+ // get the values from the payload
98
+ const itemValues = SafeJSONParse(item.EntityObjectJSON);
99
+ // build a primary key for the item
100
+ const pkey = new CompositeKey(entity.PrimaryKeys.map(pk => {
101
+ const kv = new KeyValuePair();
102
+ kv.FieldName = pk.Name;
103
+ kv.Value = itemValues[pk.Name];
104
+ return kv;
105
+ }));
106
+ switch (item.OperationType) {
107
+ case "Update":
108
+ case "Create":
109
+ if (item.OperationType === "Update") {
110
+ await entity.InnerLoad(pkey);
111
+ }
112
+ objectValues.push(itemValues);
113
+ entity.SetMany(itemValues, true);
114
+ entity.TransactionGroup = tg;
115
+ await entity.Save();
116
+ break;
117
+ case "Delete":
118
+ await entity.InnerLoad(pkey);
119
+ objectValues.push(entity.GetDataObject());
120
+ entity.TransactionGroup = tg;
121
+ await entity.Delete();
122
+ break;
123
+ }
124
+ }
125
+
126
+ // now, we need to set the variables
127
+ if (group.Variables && group.Variables.length > 0) {
128
+ for (const networkVar of group.Variables) {
129
+ // for each variable, add it to the transaction group and map the index from the network payload to the specific entity object loaded up above
130
+ if (networkVar.ItemIndex >= 0 && networkVar.ItemIndex < entityObjects.length) {
131
+ const entityObject = entityObjects[networkVar.ItemIndex];
132
+ const newVar = new TransactionVariable(networkVar.Name, entityObject, networkVar.FieldName, networkVar.Type);
133
+ tg.AddVariable(newVar);
134
+ }
135
+ else {
136
+ throw new Error(`TransactionResolver::ExecuteTransactionGroup --- Error\n\n' + 'Invalid ItemIndex ${networkVar.ItemIndex} in TransactionVariable "${JSON.stringify(networkVar)}"`);
137
+ }
138
+ }
139
+ }
140
+
141
+ // after all that, we are ready to roll, so let's run the TG
142
+ if (await tg.Submit()) {
143
+ // success!
144
+ return await this.PrepareReturnValue(true, entityObjects, objectValues, group);
145
+ }
146
+ else {
147
+ // failure, send back the results
148
+ return await this.PrepareReturnValue(false, entityObjects, objectValues, group);
149
+ }
150
+ }
151
+ catch (err) {
152
+ LogError(err);
153
+ throw new Error('TransactionResolver::ExecuteTransactionGroup --- Error\n\n' + err);
154
+ }
155
+ }
156
+
157
+ protected async PrepareReturnValue(success: boolean, entityObjects: BaseEntity[], objectValues: any[], group: TransactionInputType): Promise<TransactionOutputType> {
158
+ const jsonResults = [];
159
+ for (let i = 0; i < group.Items.length; i++) {
160
+ const item = group.Items[i];
161
+ if (item.OperationType==='Delete') {
162
+ jsonResults.push(JSON.stringify(objectValues[i]));
163
+ }
164
+ else {
165
+ // create or update, return what is in the database
166
+ jsonResults.push(await entityObjects[i].GetDataObjectJSON());
167
+ }
168
+ }
169
+
170
+ return {
171
+ Success: success,
172
+ ErrorMessages: entityObjects.map(e => JSON.stringify(e.LatestResult)),
173
+ ResultsJSON: jsonResults
174
+ }
175
+ }
176
+
177
+ }
178
+