@memberjunction/server 2.20.2 → 2.20.3

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 (38) hide show
  1. package/dist/config.d.ts +5 -1
  2. package/dist/config.d.ts.map +1 -1
  3. package/dist/config.js +2 -1
  4. package/dist/config.js.map +1 -1
  5. package/dist/generated/generated.d.ts +122 -57
  6. package/dist/generated/generated.d.ts.map +1 -1
  7. package/dist/generated/generated.js +1287 -694
  8. package/dist/generated/generated.js.map +1 -1
  9. package/dist/generic/ResolverBase.d.ts.map +1 -1
  10. package/dist/generic/ResolverBase.js +8 -4
  11. package/dist/generic/ResolverBase.js.map +1 -1
  12. package/dist/index.d.ts +2 -0
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +2 -0
  15. package/dist/index.js.map +1 -1
  16. package/dist/resolvers/AskSkipResolver.d.ts +14 -5
  17. package/dist/resolvers/AskSkipResolver.d.ts.map +1 -1
  18. package/dist/resolvers/AskSkipResolver.js +250 -61
  19. package/dist/resolvers/AskSkipResolver.js.map +1 -1
  20. package/dist/resolvers/GetDataResolver.d.ts +90 -0
  21. package/dist/resolvers/GetDataResolver.d.ts.map +1 -0
  22. package/dist/resolvers/GetDataResolver.js +294 -0
  23. package/dist/resolvers/GetDataResolver.js.map +1 -0
  24. package/dist/resolvers/SyncDataResolver.d.ts +47 -0
  25. package/dist/resolvers/SyncDataResolver.d.ts.map +1 -0
  26. package/dist/resolvers/SyncDataResolver.js +345 -0
  27. package/dist/resolvers/SyncDataResolver.js.map +1 -0
  28. package/dist/resolvers/SyncRolesUsersResolver.d.ts.map +1 -1
  29. package/dist/resolvers/SyncRolesUsersResolver.js.map +1 -1
  30. package/package.json +23 -22
  31. package/src/config.ts +2 -0
  32. package/src/generated/generated.ts +899 -610
  33. package/src/generic/ResolverBase.ts +14 -5
  34. package/src/index.ts +2 -0
  35. package/src/resolvers/AskSkipResolver.ts +300 -66
  36. package/src/resolvers/GetDataResolver.ts +245 -0
  37. package/src/resolvers/SyncDataResolver.ts +337 -0
  38. package/src/resolvers/SyncRolesUsersResolver.ts +2 -2
@@ -0,0 +1,90 @@
1
+ import { AppContext } from '../types.js';
2
+ export declare class GetDataInputType {
3
+ Token: string;
4
+ Queries: string[];
5
+ }
6
+ export declare class GetDataOutputType {
7
+ Success: boolean;
8
+ ErrorMessage: string;
9
+ SQL: string;
10
+ Results: string[];
11
+ }
12
+ export declare class SimpleEntityResultType {
13
+ Success: boolean;
14
+ ErrorMessage: string;
15
+ Results: SimpleEntityOutputType[];
16
+ }
17
+ export declare class SimpleEntityOutputType {
18
+ ID: string;
19
+ Name: string;
20
+ Description: string;
21
+ SchemaName: string;
22
+ BaseView: string;
23
+ BaseTable: string;
24
+ CodeName: string;
25
+ ClassName: string;
26
+ Fields: SimpleEntityFieldOutputType[];
27
+ }
28
+ export declare class SimpleEntityFieldOutputType {
29
+ ID: string;
30
+ Name: string;
31
+ Description: string;
32
+ Type: string;
33
+ AllowsNull: boolean;
34
+ MaxLength: number;
35
+ }
36
+ export declare class GetDataResolver {
37
+ GetData(input: GetDataInputType, context: AppContext): Promise<{
38
+ Success: boolean;
39
+ Results: string[];
40
+ ErrorMessage?: undefined;
41
+ } | {
42
+ Success: boolean;
43
+ ErrorMessage: any;
44
+ Results: any[];
45
+ }>;
46
+ GetAllEntities(context: AppContext): Promise<{
47
+ Success: boolean;
48
+ Results: {
49
+ ID: string;
50
+ Name: string;
51
+ Description: string;
52
+ SchemaName: string;
53
+ BaseView: string;
54
+ BaseTable: string;
55
+ CodeName: string;
56
+ ClassName: string;
57
+ Fields: {
58
+ ID: string;
59
+ Name: string;
60
+ Description: string;
61
+ Type: string;
62
+ AllowsNull: boolean;
63
+ MaxLength: number;
64
+ }[];
65
+ }[];
66
+ ErrorMessage?: undefined;
67
+ } | {
68
+ Success: boolean;
69
+ ErrorMessage: any;
70
+ Results: any[];
71
+ }>;
72
+ }
73
+ export declare class TokenUseLog {
74
+ Token: string;
75
+ UsedAt: Date;
76
+ UsePayload: any;
77
+ }
78
+ export declare class GetDataAccessToken {
79
+ Token: string;
80
+ ExpiresAt: Date;
81
+ RequstedAt: Date;
82
+ RequestorPayload: any;
83
+ TokenUses: TokenUseLog[];
84
+ }
85
+ export declare function registerAccessToken(token?: string, lifeSpan?: number, requestorPayload?: any): GetDataAccessToken;
86
+ export declare function deleteAccessToken(token: string): void;
87
+ export declare function tokenExists(token: string): boolean;
88
+ export declare function isTokenValid(token: string): boolean;
89
+ export declare function recordTokenUse(token: string, usePayload: any): void;
90
+ //# sourceMappingURL=GetDataResolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GetDataResolver.d.ts","sourceRoot":"","sources":["../../src/resolvers/GetDataResolver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAKzC,qBACa,gBAAgB;IAEzB,KAAK,EAAE,MAAM,CAAC;IAGd,OAAO,EAAE,MAAM,EAAE,CAAC;CACrB;AAGD,qBACa,iBAAiB;IAE1B,OAAO,EAAE,OAAO,CAAC;IAGjB,YAAY,EAAE,MAAM,CAAC;IAGrB,GAAG,EAAE,MAAM,CAAC;IAMZ,OAAO,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,qBACa,sBAAsB;IAE/B,OAAO,EAAE,OAAO,CAAC;IAGjB,YAAY,EAAE,MAAM,CAAC;IAGrB,OAAO,EAAE,sBAAsB,EAAE,CAAC;CACrC;AAED,qBACa,sBAAsB;IAE/B,EAAE,EAAE,MAAM,CAAC;IAGX,IAAI,EAAE,MAAM,CAAC;IAGb,WAAW,EAAE,MAAM,CAAC;IAGpB,UAAU,EAAE,MAAM,CAAC;IAGnB,QAAQ,EAAE,MAAM,CAAC;IAGjB,SAAS,EAAE,MAAM,CAAC;IAGlB,QAAQ,EAAE,MAAM,CAAC;IAGjB,SAAS,EAAE,MAAM,CAAC;IAGlB,MAAM,EAAE,2BAA2B,EAAE,CAAC;CACzC;AAED,qBACa,2BAA2B;IAEpC,EAAE,EAAE,MAAM,CAAC;IAGX,IAAI,EAAE,MAAM,CAAC;IAGb,WAAW,EAAE,MAAM,CAAC;IAGpB,IAAI,EAAE,MAAM,CAAC;IAGb,UAAU,EAAE,OAAO,CAAC;IAGpB,SAAS,EAAE,MAAM,CAAC;CACrB;AAGD,qBAAa,eAAe;IAQlB,OAAO,CACyB,KAAK,EAAE,gBAAgB,EACtD,OAAO,EAAE,UAAU;;;;;;;;;IAgCpB,cAAc,CACb,OAAO,EAAE,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;CAmC7B;AAGD,qBAAa,WAAW;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,IAAI,CAAC;IACb,UAAU,EAAE,GAAG,CAAC;CACnB;AAMD,qBAAa,kBAAkB;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,IAAI,CAAC;IAChB,UAAU,EAAE,IAAI,CAAC;IAIjB,gBAAgB,EAAE,GAAG,CAAC;IACtB,SAAS,EAAE,WAAW,EAAE,CAAC;CAC5B;AAGD,wBAAgB,mBAAmB,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,GAAE,MAA+B,EAAE,gBAAgB,CAAC,EAAE,GAAG,GAAG,kBAAkB,CAezI;AACD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,QAQ9C;AACD,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,WAExC;AACD,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,WAMzC;AACD,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,QAQ5D"}
@@ -0,0 +1,294 @@
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, ObjectType, Query } from 'type-graphql';
14
+ import { LogError, LogStatus, Metadata } from '@memberjunction/core';
15
+ import { RequireSystemUser } from '../directives/RequireSystemUser.js';
16
+ import { v4 as uuidv4 } from 'uuid';
17
+ let GetDataInputType = class GetDataInputType {
18
+ Token;
19
+ Queries;
20
+ };
21
+ __decorate([
22
+ Field(() => String),
23
+ __metadata("design:type", String)
24
+ ], GetDataInputType.prototype, "Token", void 0);
25
+ __decorate([
26
+ Field(() => [String]),
27
+ __metadata("design:type", Array)
28
+ ], GetDataInputType.prototype, "Queries", void 0);
29
+ GetDataInputType = __decorate([
30
+ InputType()
31
+ ], GetDataInputType);
32
+ export { GetDataInputType };
33
+ let GetDataOutputType = class GetDataOutputType {
34
+ Success;
35
+ ErrorMessage;
36
+ SQL;
37
+ Results;
38
+ };
39
+ __decorate([
40
+ Field(() => Boolean),
41
+ __metadata("design:type", Boolean)
42
+ ], GetDataOutputType.prototype, "Success", void 0);
43
+ __decorate([
44
+ Field(() => String),
45
+ __metadata("design:type", String)
46
+ ], GetDataOutputType.prototype, "ErrorMessage", void 0);
47
+ __decorate([
48
+ Field(() => String),
49
+ __metadata("design:type", String)
50
+ ], GetDataOutputType.prototype, "SQL", void 0);
51
+ __decorate([
52
+ Field(() => [String]),
53
+ __metadata("design:type", Array)
54
+ ], GetDataOutputType.prototype, "Results", void 0);
55
+ GetDataOutputType = __decorate([
56
+ ObjectType()
57
+ ], GetDataOutputType);
58
+ export { GetDataOutputType };
59
+ let SimpleEntityResultType = class SimpleEntityResultType {
60
+ Success;
61
+ ErrorMessage;
62
+ Results;
63
+ };
64
+ __decorate([
65
+ Field(() => Boolean),
66
+ __metadata("design:type", Boolean)
67
+ ], SimpleEntityResultType.prototype, "Success", void 0);
68
+ __decorate([
69
+ Field(() => String),
70
+ __metadata("design:type", String)
71
+ ], SimpleEntityResultType.prototype, "ErrorMessage", void 0);
72
+ __decorate([
73
+ Field(() => [SimpleEntityOutputType]),
74
+ __metadata("design:type", Array)
75
+ ], SimpleEntityResultType.prototype, "Results", void 0);
76
+ SimpleEntityResultType = __decorate([
77
+ ObjectType()
78
+ ], SimpleEntityResultType);
79
+ export { SimpleEntityResultType };
80
+ let SimpleEntityOutputType = class SimpleEntityOutputType {
81
+ ID;
82
+ Name;
83
+ Description;
84
+ SchemaName;
85
+ BaseView;
86
+ BaseTable;
87
+ CodeName;
88
+ ClassName;
89
+ Fields;
90
+ };
91
+ __decorate([
92
+ Field(() => String),
93
+ __metadata("design:type", String)
94
+ ], SimpleEntityOutputType.prototype, "ID", void 0);
95
+ __decorate([
96
+ Field(() => String),
97
+ __metadata("design:type", String)
98
+ ], SimpleEntityOutputType.prototype, "Name", void 0);
99
+ __decorate([
100
+ Field(() => String),
101
+ __metadata("design:type", String)
102
+ ], SimpleEntityOutputType.prototype, "Description", void 0);
103
+ __decorate([
104
+ Field(() => String),
105
+ __metadata("design:type", String)
106
+ ], SimpleEntityOutputType.prototype, "SchemaName", void 0);
107
+ __decorate([
108
+ Field(() => String),
109
+ __metadata("design:type", String)
110
+ ], SimpleEntityOutputType.prototype, "BaseView", void 0);
111
+ __decorate([
112
+ Field(() => String),
113
+ __metadata("design:type", String)
114
+ ], SimpleEntityOutputType.prototype, "BaseTable", void 0);
115
+ __decorate([
116
+ Field(() => String),
117
+ __metadata("design:type", String)
118
+ ], SimpleEntityOutputType.prototype, "CodeName", void 0);
119
+ __decorate([
120
+ Field(() => String),
121
+ __metadata("design:type", String)
122
+ ], SimpleEntityOutputType.prototype, "ClassName", void 0);
123
+ __decorate([
124
+ Field(() => [SimpleEntityFieldOutputType]),
125
+ __metadata("design:type", Array)
126
+ ], SimpleEntityOutputType.prototype, "Fields", void 0);
127
+ SimpleEntityOutputType = __decorate([
128
+ ObjectType()
129
+ ], SimpleEntityOutputType);
130
+ export { SimpleEntityOutputType };
131
+ let SimpleEntityFieldOutputType = class SimpleEntityFieldOutputType {
132
+ ID;
133
+ Name;
134
+ Description;
135
+ Type;
136
+ AllowsNull;
137
+ MaxLength;
138
+ };
139
+ __decorate([
140
+ Field(() => String),
141
+ __metadata("design:type", String)
142
+ ], SimpleEntityFieldOutputType.prototype, "ID", void 0);
143
+ __decorate([
144
+ Field(() => String),
145
+ __metadata("design:type", String)
146
+ ], SimpleEntityFieldOutputType.prototype, "Name", void 0);
147
+ __decorate([
148
+ Field(() => String),
149
+ __metadata("design:type", String)
150
+ ], SimpleEntityFieldOutputType.prototype, "Description", void 0);
151
+ __decorate([
152
+ Field(() => String),
153
+ __metadata("design:type", String)
154
+ ], SimpleEntityFieldOutputType.prototype, "Type", void 0);
155
+ __decorate([
156
+ Field(() => Boolean),
157
+ __metadata("design:type", Boolean)
158
+ ], SimpleEntityFieldOutputType.prototype, "AllowsNull", void 0);
159
+ __decorate([
160
+ Field(() => Number),
161
+ __metadata("design:type", Number)
162
+ ], SimpleEntityFieldOutputType.prototype, "MaxLength", void 0);
163
+ SimpleEntityFieldOutputType = __decorate([
164
+ ObjectType()
165
+ ], SimpleEntityFieldOutputType);
166
+ export { SimpleEntityFieldOutputType };
167
+ export class GetDataResolver {
168
+ async GetData(input, context) {
169
+ try {
170
+ LogStatus(`GetDataResolver.GetData() ---- IMPORTANT - temporarily using the same connection as rest of the server, we need to separately create a READ ONLY CONNECTION and pass that in
171
+ the AppContext so we can use that special connection here to ensure we are using a lower privileged connection for this operation to prevent mutation from being possible.`);
172
+ LogStatus(`${JSON.stringify(input)}`);
173
+ if (!isTokenValid(input.Token)) {
174
+ throw new Error(`Token ${input.Token} is not valid or has expired`);
175
+ }
176
+ let success = true;
177
+ const promises = input.Queries.map((q) => {
178
+ return context.dataSource.query(q);
179
+ });
180
+ const results = await Promise.all(promises);
181
+ recordTokenUse(input.Token, { request: input, results: results });
182
+ return { Success: success, Results: results.map((r) => JSON.stringify(r)) };
183
+ }
184
+ catch (err) {
185
+ LogError(err);
186
+ return { Success: false, ErrorMessage: typeof err === 'string' ? err : err.message, Results: [] };
187
+ }
188
+ }
189
+ async GetAllEntities(context) {
190
+ try {
191
+ const md = new Metadata();
192
+ const result = md.Entities.map((e) => {
193
+ return {
194
+ ID: e.ID,
195
+ Name: e.Name,
196
+ Description: e.Description,
197
+ SchemaName: e.SchemaName,
198
+ BaseView: e.BaseView,
199
+ BaseTable: e.BaseTable,
200
+ CodeName: e.CodeName,
201
+ ClassName: e.ClassName,
202
+ Fields: e.Fields.map((f) => {
203
+ return {
204
+ ID: f.ID,
205
+ Name: f.Name,
206
+ Description: f.Description,
207
+ Type: f.Type,
208
+ AllowsNull: f.AllowsNull,
209
+ MaxLength: f.MaxLength,
210
+ };
211
+ })
212
+ };
213
+ });
214
+ return { Success: true, Results: result };
215
+ }
216
+ catch (err) {
217
+ LogError(err);
218
+ return { Success: false, ErrorMessage: typeof err === 'string' ? err : err.message, Results: [] };
219
+ }
220
+ }
221
+ }
222
+ __decorate([
223
+ RequireSystemUser(),
224
+ Query(() => GetDataOutputType),
225
+ __param(0, Arg('input', () => GetDataInputType)),
226
+ __param(1, Ctx()),
227
+ __metadata("design:type", Function),
228
+ __metadata("design:paramtypes", [GetDataInputType, Object]),
229
+ __metadata("design:returntype", Promise)
230
+ ], GetDataResolver.prototype, "GetData", null);
231
+ __decorate([
232
+ RequireSystemUser(),
233
+ Query(() => SimpleEntityResultType),
234
+ __param(0, Ctx()),
235
+ __metadata("design:type", Function),
236
+ __metadata("design:paramtypes", [Object]),
237
+ __metadata("design:returntype", Promise)
238
+ ], GetDataResolver.prototype, "GetAllEntities", null);
239
+ export class TokenUseLog {
240
+ Token;
241
+ UsedAt;
242
+ UsePayload;
243
+ }
244
+ export class GetDataAccessToken {
245
+ Token;
246
+ ExpiresAt;
247
+ RequstedAt;
248
+ RequestorPayload;
249
+ TokenUses;
250
+ }
251
+ const __accessTokens = [];
252
+ const __defaultTokenLifeSpan = 1000 * 60 * 5;
253
+ export function registerAccessToken(token, lifeSpan = __defaultTokenLifeSpan, requestorPayload) {
254
+ const tokenToUse = token || uuidv4();
255
+ if (tokenExists(tokenToUse)) {
256
+ throw new Error(`Token ${tokenToUse} already exists`);
257
+ }
258
+ const newToken = new GetDataAccessToken();
259
+ newToken.Token = tokenToUse;
260
+ newToken.ExpiresAt = new Date(new Date().getTime() + lifeSpan);
261
+ newToken.RequstedAt = new Date();
262
+ newToken.RequestorPayload = requestorPayload;
263
+ __accessTokens.push(newToken);
264
+ return newToken;
265
+ }
266
+ export function deleteAccessToken(token) {
267
+ const index = __accessTokens.findIndex((t) => t.Token === token);
268
+ if (index >= 0) {
269
+ __accessTokens.splice(index, 1);
270
+ }
271
+ else {
272
+ throw new Error(`Token ${token} does not exist`);
273
+ }
274
+ }
275
+ export function tokenExists(token) {
276
+ return __accessTokens.find((t) => t.Token === token) !== undefined;
277
+ }
278
+ export function isTokenValid(token) {
279
+ const t = __accessTokens.find((t) => t.Token === token);
280
+ if (t) {
281
+ return t.ExpiresAt > new Date();
282
+ }
283
+ return false;
284
+ }
285
+ export function recordTokenUse(token, usePayload) {
286
+ const t = __accessTokens.find((t) => t.Token === token);
287
+ if (t) {
288
+ t.TokenUses.push({ Token: token, UsedAt: new Date(), UsePayload: usePayload });
289
+ }
290
+ else {
291
+ throw new Error(`Token ${token} does not exist`);
292
+ }
293
+ }
294
+ //# sourceMappingURL=GetDataResolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GetDataResolver.js","sourceRoot":"","sources":["../../src/resolvers/GetDataResolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ import { AppContext } from '../types.js';
2
+ import { BaseEntity, CompositeKey, Metadata, UserInfo } from '@memberjunction/core';
3
+ import { CompositeKeyInputType, CompositeKeyOutputType } from '../generic/KeyInputOutputTypes.js';
4
+ export declare enum SyncDataActionType {
5
+ Create = "Create",
6
+ Update = "Update",
7
+ CreateOrUpdate = "CreateOrUpdate",
8
+ Delete = "Delete",
9
+ DeleteWithFilter = "DeleteWithFilter"
10
+ }
11
+ export declare class ActionItemInputType {
12
+ EntityName: string;
13
+ PrimaryKey?: CompositeKeyInputType;
14
+ AlternateKey?: CompositeKeyInputType;
15
+ Type: SyncDataActionType;
16
+ RecordJSON?: string;
17
+ DeleteFilter?: string;
18
+ }
19
+ export declare class ActionItemOutputType {
20
+ Success: boolean;
21
+ ErrorMessage: string;
22
+ EntityName: string;
23
+ PrimaryKey?: CompositeKeyOutputType;
24
+ AlternateKey?: CompositeKeyOutputType;
25
+ Type: SyncDataActionType;
26
+ RecordJSON?: string;
27
+ DeleteFilter?: string;
28
+ }
29
+ export declare class SyncDataResultType {
30
+ Success: boolean;
31
+ Results: ActionItemOutputType[];
32
+ }
33
+ export declare class SyncDataResolver {
34
+ SyncData(items: ActionItemInputType[], context: AppContext): Promise<{
35
+ Success: boolean;
36
+ Results: ActionItemOutputType[];
37
+ }>;
38
+ protected SyncSingleItem(item: ActionItemInputType, context: AppContext, md: Metadata): Promise<ActionItemOutputType>;
39
+ protected SyncSingleItemDeleteWithFilter(entityName: string, filter: string, result: ActionItemOutputType, user: UserInfo): Promise<void>;
40
+ protected LoadFromAlternateKey(entityName: string, alternateKey: CompositeKey, user: UserInfo): Promise<BaseEntity>;
41
+ protected SyncSingleItemCreateOrUpdate(entityObject: BaseEntity, pk: CompositeKey, ak: CompositeKey, fieldValues: any, result: ActionItemOutputType): Promise<void>;
42
+ protected SyncSingleItemDelete(entityObject: BaseEntity, pk: CompositeKey, ak: CompositeKey, result: ActionItemOutputType): Promise<void>;
43
+ protected SyncSingleItemCreate(entityObject: BaseEntity, fieldValues: any, result: ActionItemOutputType): Promise<void>;
44
+ protected SyncSingleItemUpdate(entityObject: BaseEntity, pk: CompositeKey, ak: CompositeKey, fieldValues: any, result: ActionItemOutputType): Promise<void>;
45
+ protected InnerSyncSingleItemUpdate(entityObject: BaseEntity, fieldValues: any, result: ActionItemOutputType): Promise<void>;
46
+ }
47
+ //# sourceMappingURL=SyncDataResolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SyncDataResolver.d.ts","sourceRoot":"","sources":["../../src/resolvers/SyncDataResolver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAY,QAAQ,EAAW,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEvG,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AASlG,oBAAY,kBAAkB;IAC1B,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,cAAc,mBAAmB;IACjC,MAAM,WAAW;IACjB,gBAAgB,qBAAqB;CACtC;AAQD,qBACa,mBAAmB;IAE5B,UAAU,EAAG,MAAM,CAAC;IAGpB,UAAU,CAAC,EAAE,qBAAqB,CAAC;IAGnC,YAAY,CAAC,EAAE,qBAAqB,CAAC;IAGrC,IAAI,EAAG,kBAAkB,CAAC;IAM1B,UAAU,CAAC,EAAE,MAAM,CAAC;IAMpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAGH,qBACa,oBAAoB;IAE7B,OAAO,EAAE,OAAO,CAAC;IAGjB,YAAY,EAAE,MAAM,CAAC;IAGrB,UAAU,EAAG,MAAM,CAAC;IAGpB,UAAU,CAAC,EAAE,sBAAsB,CAAC;IAGpC,YAAY,CAAC,EAAE,sBAAsB,CAAC;IAGtC,IAAI,EAAG,kBAAkB,CAAC;IAM1B,UAAU,CAAC,EAAE,MAAM,CAAC;IAMpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,qBACa,kBAAkB;IAE7B,OAAO,EAAE,OAAO,CAAC;IAGjB,OAAO,EAAE,oBAAoB,EAAE,CAAM;CACtC;AAED,qBAAa,gBAAgB;IAOnB,QAAQ,CAC8B,KAAK,EAAE,mBAAmB,EAAE,EACjE,OAAO,EAAE,UAAU;;;;cAmBV,cAAc,CAAC,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,GAAG,OAAO,CAAC,oBAAoB,CAAC;cAmD3G,8BAA8B,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,oBAAoB,EAAE,IAAI,EAAE,QAAQ;cAiC/G,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC;cA6BzG,4BAA4B,CAAC,YAAY,EAAE,UAAU,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,oBAAoB;cAuBzI,oBAAoB,CAAC,YAAY,EAAE,UAAU,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,oBAAoB;cA4B/G,oBAAoB,CAAC,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,oBAAoB;cAgB7F,oBAAoB,CAAC,YAAY,EAAE,UAAU,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,oBAAoB;cAqBjI,yBAAyB,CAAC,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,oBAAoB;CASrH"}