@aws-amplify/datastore 4.0.12 → 4.0.13-push-notification-dryrun.43
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/lib/datastore/datastore.d.ts +29 -3
- package/lib/datastore/datastore.js +308 -147
- package/lib/datastore/datastore.js.map +1 -1
- package/lib/predicates/index.d.ts +77 -7
- package/lib/predicates/index.js +142 -122
- package/lib/predicates/index.js.map +1 -1
- package/lib/predicates/next.d.ts +51 -10
- package/lib/predicates/next.js +111 -91
- package/lib/predicates/next.js.map +1 -1
- package/lib/storage/adapter/AsyncStorageAdapter.d.ts +28 -30
- package/lib/storage/adapter/AsyncStorageAdapter.js +135 -532
- package/lib/storage/adapter/AsyncStorageAdapter.js.map +1 -1
- package/lib/storage/adapter/AsyncStorageDatabase.js.map +1 -1
- package/lib/storage/adapter/IndexedDBAdapter.d.ts +28 -29
- package/lib/storage/adapter/IndexedDBAdapter.js +490 -885
- package/lib/storage/adapter/IndexedDBAdapter.js.map +1 -1
- package/lib/storage/adapter/StorageAdapterBase.d.ts +134 -0
- package/lib/storage/adapter/StorageAdapterBase.js +439 -0
- package/lib/storage/adapter/StorageAdapterBase.js.map +1 -0
- package/lib/storage/relationship.d.ts +9 -0
- package/lib/storage/relationship.js +9 -0
- package/lib/storage/relationship.js.map +1 -1
- package/lib/storage/storage.d.ts +1 -1
- package/lib/storage/storage.js +4 -3
- package/lib/storage/storage.js.map +1 -1
- package/lib/sync/index.d.ts +15 -1
- package/lib/sync/index.js +80 -13
- package/lib/sync/index.js.map +1 -1
- package/lib/sync/outbox.js +14 -7
- package/lib/sync/outbox.js.map +1 -1
- package/lib/sync/processors/mutation.d.ts +10 -1
- package/lib/sync/processors/mutation.js +33 -12
- package/lib/sync/processors/mutation.js.map +1 -1
- package/lib/sync/processors/subscription.d.ts +7 -1
- package/lib/sync/processors/subscription.js +196 -135
- package/lib/sync/processors/subscription.js.map +1 -1
- package/lib/sync/processors/sync.d.ts +1 -1
- package/lib/sync/processors/sync.js.map +1 -1
- package/lib/sync/utils.d.ts +66 -2
- package/lib/sync/utils.js +264 -16
- package/lib/sync/utils.js.map +1 -1
- package/lib/types.d.ts +9 -1
- package/lib/types.js.map +1 -1
- package/lib/util.d.ts +16 -0
- package/lib/util.js +31 -2
- package/lib/util.js.map +1 -1
- package/lib-esm/datastore/datastore.d.ts +29 -3
- package/lib-esm/datastore/datastore.js +310 -149
- package/lib-esm/datastore/datastore.js.map +1 -1
- package/lib-esm/predicates/index.d.ts +77 -7
- package/lib-esm/predicates/index.js +143 -123
- package/lib-esm/predicates/index.js.map +1 -1
- package/lib-esm/predicates/next.d.ts +51 -10
- package/lib-esm/predicates/next.js +111 -91
- package/lib-esm/predicates/next.js.map +1 -1
- package/lib-esm/storage/adapter/AsyncStorageAdapter.d.ts +28 -30
- package/lib-esm/storage/adapter/AsyncStorageAdapter.js +138 -535
- package/lib-esm/storage/adapter/AsyncStorageAdapter.js.map +1 -1
- package/lib-esm/storage/adapter/AsyncStorageDatabase.js.map +1 -1
- package/lib-esm/storage/adapter/IndexedDBAdapter.d.ts +28 -29
- package/lib-esm/storage/adapter/IndexedDBAdapter.js +489 -884
- package/lib-esm/storage/adapter/IndexedDBAdapter.js.map +1 -1
- package/lib-esm/storage/adapter/StorageAdapterBase.d.ts +134 -0
- package/lib-esm/storage/adapter/StorageAdapterBase.js +437 -0
- package/lib-esm/storage/adapter/StorageAdapterBase.js.map +1 -0
- package/lib-esm/storage/relationship.d.ts +9 -0
- package/lib-esm/storage/relationship.js +9 -0
- package/lib-esm/storage/relationship.js.map +1 -1
- package/lib-esm/storage/storage.d.ts +1 -1
- package/lib-esm/storage/storage.js +4 -3
- package/lib-esm/storage/storage.js.map +1 -1
- package/lib-esm/sync/index.d.ts +15 -1
- package/lib-esm/sync/index.js +82 -15
- package/lib-esm/sync/index.js.map +1 -1
- package/lib-esm/sync/outbox.js +14 -7
- package/lib-esm/sync/outbox.js.map +1 -1
- package/lib-esm/sync/processors/mutation.d.ts +10 -1
- package/lib-esm/sync/processors/mutation.js +33 -12
- package/lib-esm/sync/processors/mutation.js.map +1 -1
- package/lib-esm/sync/processors/subscription.d.ts +7 -1
- package/lib-esm/sync/processors/subscription.js +197 -136
- package/lib-esm/sync/processors/subscription.js.map +1 -1
- package/lib-esm/sync/processors/sync.d.ts +1 -1
- package/lib-esm/sync/processors/sync.js.map +1 -1
- package/lib-esm/sync/utils.d.ts +66 -2
- package/lib-esm/sync/utils.js +261 -18
- package/lib-esm/sync/utils.js.map +1 -1
- package/lib-esm/types.d.ts +9 -1
- package/lib-esm/types.js.map +1 -1
- package/lib-esm/util.d.ts +16 -0
- package/lib-esm/util.js +32 -3
- package/lib-esm/util.js.map +1 -1
- package/package.json +12 -11
- package/src/datastore/datastore.ts +288 -159
- package/src/predicates/index.ts +145 -175
- package/src/predicates/next.ts +114 -81
- package/src/storage/adapter/AsyncStorageAdapter.ts +97 -563
- package/src/storage/adapter/AsyncStorageDatabase.ts +2 -2
- package/src/storage/adapter/IndexedDBAdapter.ts +318 -770
- package/src/storage/adapter/StorageAdapterBase.ts +545 -0
- package/src/storage/relationship.ts +9 -0
- package/src/storage/storage.ts +12 -9
- package/src/sync/index.ts +108 -20
- package/src/sync/outbox.ts +17 -11
- package/src/sync/processors/mutation.ts +35 -4
- package/src/sync/processors/subscription.ts +124 -10
- package/src/sync/processors/sync.ts +4 -1
- package/src/sync/utils.ts +285 -15
- package/src/types.ts +15 -2
- package/src/util.ts +40 -1
- package/CHANGELOG.md +0 -904
package/lib/sync/utils.d.ts
CHANGED
|
@@ -19,11 +19,75 @@ export declare enum TransformerMutationType {
|
|
|
19
19
|
export declare function getMetadataFields(): ReadonlyArray<string>;
|
|
20
20
|
export declare function generateSelectionSet(namespace: SchemaNamespace, modelDefinition: SchemaModel | SchemaNonModel): string;
|
|
21
21
|
export declare function getAuthorizationRules(modelDefinition: SchemaModel): AuthorizationRule[];
|
|
22
|
-
export declare function buildSubscriptionGraphQLOperation(namespace: SchemaNamespace, modelDefinition: SchemaModel, transformerMutationType: TransformerMutationType, isOwnerAuthorization: boolean, ownerField: string): [TransformerMutationType, string, string];
|
|
22
|
+
export declare function buildSubscriptionGraphQLOperation(namespace: SchemaNamespace, modelDefinition: SchemaModel, transformerMutationType: TransformerMutationType, isOwnerAuthorization: boolean, ownerField: string, filterArg?: boolean): [TransformerMutationType, string, string];
|
|
23
23
|
export declare function buildGraphQLOperation(namespace: SchemaNamespace, modelDefinition: SchemaModel, graphQLOpType: keyof typeof GraphQLOperationType): [TransformerMutationType, string, string][];
|
|
24
24
|
export declare function createMutationInstanceFromModelOperation<T extends PersistentModel>(relationships: RelationshipType, modelDefinition: SchemaModel, opType: OpType, model: PersistentModelConstructor<T>, element: T, condition: GraphQLCondition, MutationEventConstructor: PersistentModelConstructor<MutationEvent>, modelInstanceCreator: ModelInstanceCreator, id?: string): MutationEvent;
|
|
25
25
|
export declare function predicateToGraphQLCondition(predicate: PredicatesGroup<any>, modelDefinition: SchemaModel): GraphQLCondition;
|
|
26
|
-
|
|
26
|
+
/**
|
|
27
|
+
* @param predicatesGroup - Predicate Group
|
|
28
|
+
@returns GQL Filter Expression from Predicate Group
|
|
29
|
+
|
|
30
|
+
@remarks Flattens redundant list predicates
|
|
31
|
+
@example
|
|
32
|
+
|
|
33
|
+
```js
|
|
34
|
+
{ and:[{ and:[{ username: { eq: 'bob' }}] }] }
|
|
35
|
+
```
|
|
36
|
+
Becomes
|
|
37
|
+
```js
|
|
38
|
+
{ and:[{ username: { eq: 'bob' }}] }
|
|
39
|
+
```
|
|
40
|
+
*/
|
|
41
|
+
export declare function predicateToGraphQLFilter(predicatesGroup: PredicatesGroup<any>, fieldsToOmit?: string[], root?: boolean): GraphQLFilter;
|
|
42
|
+
/**
|
|
43
|
+
*
|
|
44
|
+
* @param group - selective sync predicate group
|
|
45
|
+
* @returns set of distinct field names in the filter group
|
|
46
|
+
*/
|
|
47
|
+
export declare function filterFields(group?: PredicatesGroup<any>): Set<string>;
|
|
48
|
+
/**
|
|
49
|
+
*
|
|
50
|
+
* @param modelDefinition
|
|
51
|
+
* @returns set of field names used with dynamic auth modes configured for the provided model definition
|
|
52
|
+
*/
|
|
53
|
+
export declare function dynamicAuthFields(modelDefinition: SchemaModel): Set<string>;
|
|
54
|
+
/**
|
|
55
|
+
*
|
|
56
|
+
* @param group - selective sync predicate group
|
|
57
|
+
* @returns the total number of OR'd predicates in the filter group
|
|
58
|
+
*
|
|
59
|
+
* @example returns 2
|
|
60
|
+
* ```js
|
|
61
|
+
* { type: "or", predicates: [
|
|
62
|
+
* { field: "username", operator: "beginsWith", operand: "a" },
|
|
63
|
+
* { field: "title", operator: "contains", operand: "abc" },
|
|
64
|
+
* ]}
|
|
65
|
+
* ```
|
|
66
|
+
*/
|
|
67
|
+
export declare function countFilterCombinations(group?: PredicatesGroup<any>): number;
|
|
68
|
+
/**
|
|
69
|
+
*
|
|
70
|
+
* @param group - selective sync predicate group
|
|
71
|
+
* @returns name of repeated field | null
|
|
72
|
+
*
|
|
73
|
+
* @example returns "username"
|
|
74
|
+
* ```js
|
|
75
|
+
* { type: "and", predicates: [
|
|
76
|
+
* { field: "username", operator: "beginsWith", operand: "a" },
|
|
77
|
+
* { field: "username", operator: "contains", operand: "abc" },
|
|
78
|
+
* ] }
|
|
79
|
+
* ```
|
|
80
|
+
*/
|
|
81
|
+
export declare function repeatedFieldInGroup(group?: PredicatesGroup<any>): string | null;
|
|
82
|
+
export declare enum RTFError {
|
|
83
|
+
UnknownField = 0,
|
|
84
|
+
MaxAttributes = 1,
|
|
85
|
+
MaxCombinations = 2,
|
|
86
|
+
RepeatedFieldname = 3,
|
|
87
|
+
NotGroup = 4,
|
|
88
|
+
FieldNotInType = 5
|
|
89
|
+
}
|
|
90
|
+
export declare function generateRTFRemediation(errorType: RTFError, modelDefinition: SchemaModel, predicatesGroup: PredicatesGroup<any> | undefined): string;
|
|
27
91
|
export declare function getUserGroupsFromToken(token: {
|
|
28
92
|
[field: string]: any;
|
|
29
93
|
}, rule: AuthorizationRule): string[];
|
package/lib/sync/utils.js
CHANGED
|
@@ -165,7 +165,7 @@ function getAuthorizationRules(modelDefinition) {
|
|
|
165
165
|
// Multiple rules can be declared for allow: owner
|
|
166
166
|
rules.forEach(function (rule) {
|
|
167
167
|
// setting defaults for backwards compatibility with old cli
|
|
168
|
-
var _a = rule.identityClaim, identityClaim = _a === void 0 ? 'cognito:username' : _a, _b = rule.ownerField, ownerField = _b === void 0 ? 'owner' : _b, _c = rule.operations, operations = _c === void 0 ? ['create', 'update', 'delete', 'read'] : _c, _d = rule.provider, provider = _d === void 0 ? 'userPools' : _d, _e = rule.groupClaim, groupClaim = _e === void 0 ? 'cognito:groups' : _e, _f = rule.allow, authStrategy = _f === void 0 ? 'iam' : _f, _g = rule.groups, groups = _g === void 0 ? [] : _g;
|
|
168
|
+
var _a = rule.identityClaim, identityClaim = _a === void 0 ? 'cognito:username' : _a, _b = rule.ownerField, ownerField = _b === void 0 ? 'owner' : _b, _c = rule.operations, operations = _c === void 0 ? ['create', 'update', 'delete', 'read'] : _c, _d = rule.provider, provider = _d === void 0 ? 'userPools' : _d, _e = rule.groupClaim, groupClaim = _e === void 0 ? 'cognito:groups' : _e, _f = rule.allow, authStrategy = _f === void 0 ? 'iam' : _f, _g = rule.groups, groups = _g === void 0 ? [] : _g, _h = rule.groupsField, groupsField = _h === void 0 ? '' : _h;
|
|
169
169
|
var isReadAuthorized = operations.includes('read');
|
|
170
170
|
var isOwnerAuth = authStrategy === 'owner';
|
|
171
171
|
if (!isReadAuthorized && !isOwnerAuth) {
|
|
@@ -178,6 +178,7 @@ function getAuthorizationRules(modelDefinition) {
|
|
|
178
178
|
groupClaim: groupClaim,
|
|
179
179
|
authStrategy: authStrategy,
|
|
180
180
|
groups: groups,
|
|
181
|
+
groupsField: groupsField,
|
|
181
182
|
areSubscriptionsPublic: false,
|
|
182
183
|
};
|
|
183
184
|
if (isOwnerAuth) {
|
|
@@ -187,7 +188,7 @@ function getAuthorizationRules(modelDefinition) {
|
|
|
187
188
|
.concat(modelDefinition.attributes || [])
|
|
188
189
|
.find(function (attr) { return attr && attr.type === 'model'; });
|
|
189
190
|
// find the subscriptions level. ON is default
|
|
190
|
-
var
|
|
191
|
+
var _j = (modelConfig || {}).properties, _k = (_j === void 0 ? {} : _j).subscriptions, _l = (_k === void 0 ? {} : _k).level, level = _l === void 0 ? 'on' : _l;
|
|
191
192
|
// treat subscriptions as public for owner auth with unprotected reads
|
|
192
193
|
// when `read` is omitted from `operations`
|
|
193
194
|
authRule.areSubscriptionsPublic =
|
|
@@ -203,20 +204,27 @@ function getAuthorizationRules(modelDefinition) {
|
|
|
203
204
|
return resultRules;
|
|
204
205
|
}
|
|
205
206
|
exports.getAuthorizationRules = getAuthorizationRules;
|
|
206
|
-
function buildSubscriptionGraphQLOperation(namespace, modelDefinition, transformerMutationType, isOwnerAuthorization, ownerField) {
|
|
207
|
+
function buildSubscriptionGraphQLOperation(namespace, modelDefinition, transformerMutationType, isOwnerAuthorization, ownerField, filterArg) {
|
|
208
|
+
if (filterArg === void 0) { filterArg = false; }
|
|
207
209
|
var selectionSet = generateSelectionSet(namespace, modelDefinition);
|
|
208
|
-
var typeName = modelDefinition.name
|
|
210
|
+
var typeName = modelDefinition.name;
|
|
209
211
|
var opName = "on" + transformerMutationType + typeName;
|
|
210
|
-
var docArgs =
|
|
211
|
-
var opArgs =
|
|
212
|
+
var docArgs = [];
|
|
213
|
+
var opArgs = [];
|
|
214
|
+
if (filterArg) {
|
|
215
|
+
docArgs.push("$filter: ModelSubscription" + typeName + "FilterInput");
|
|
216
|
+
opArgs.push('filter: $filter');
|
|
217
|
+
}
|
|
212
218
|
if (isOwnerAuthorization) {
|
|
213
|
-
docArgs
|
|
214
|
-
opArgs
|
|
219
|
+
docArgs.push("$" + ownerField + ": String!");
|
|
220
|
+
opArgs.push(ownerField + ": $" + ownerField);
|
|
215
221
|
}
|
|
222
|
+
var docStr = docArgs.length ? "(" + docArgs.join(',') + ")" : '';
|
|
223
|
+
var opStr = opArgs.length ? "(" + opArgs.join(',') + ")" : '';
|
|
216
224
|
return [
|
|
217
225
|
transformerMutationType,
|
|
218
226
|
opName,
|
|
219
|
-
"subscription operation" +
|
|
227
|
+
"subscription operation" + docStr + "{\n\t\t\t" + opName + opStr + "{\n\t\t\t\t" + selectionSet + "\n\t\t\t}\n\t\t}",
|
|
220
228
|
];
|
|
221
229
|
}
|
|
222
230
|
exports.buildSubscriptionGraphQLOperation = buildSubscriptionGraphQLOperation;
|
|
@@ -322,8 +330,24 @@ function predicateToGraphQLCondition(predicate, modelDefinition) {
|
|
|
322
330
|
return predicateToGraphQLFilter(predicate, keyFields);
|
|
323
331
|
}
|
|
324
332
|
exports.predicateToGraphQLCondition = predicateToGraphQLCondition;
|
|
325
|
-
|
|
333
|
+
/**
|
|
334
|
+
* @param predicatesGroup - Predicate Group
|
|
335
|
+
@returns GQL Filter Expression from Predicate Group
|
|
336
|
+
|
|
337
|
+
@remarks Flattens redundant list predicates
|
|
338
|
+
@example
|
|
339
|
+
|
|
340
|
+
```js
|
|
341
|
+
{ and:[{ and:[{ username: { eq: 'bob' }}] }] }
|
|
342
|
+
```
|
|
343
|
+
Becomes
|
|
344
|
+
```js
|
|
345
|
+
{ and:[{ username: { eq: 'bob' }}] }
|
|
346
|
+
```
|
|
347
|
+
*/
|
|
348
|
+
function predicateToGraphQLFilter(predicatesGroup, fieldsToOmit, root) {
|
|
326
349
|
if (fieldsToOmit === void 0) { fieldsToOmit = []; }
|
|
350
|
+
if (root === void 0) { root = true; }
|
|
327
351
|
var result = {};
|
|
328
352
|
if (!predicatesGroup || !Array.isArray(predicatesGroup.predicates)) {
|
|
329
353
|
return result;
|
|
@@ -331,9 +355,7 @@ function predicateToGraphQLFilter(predicatesGroup, fieldsToOmit) {
|
|
|
331
355
|
var type = predicatesGroup.type, predicates = predicatesGroup.predicates;
|
|
332
356
|
var isList = type === 'and' || type === 'or';
|
|
333
357
|
result[type] = isList ? [] : {};
|
|
334
|
-
var
|
|
335
|
-
return isList ? result[type].push(value) : (result[type] = value);
|
|
336
|
-
};
|
|
358
|
+
var children = [];
|
|
337
359
|
predicates.forEach(function (predicate) {
|
|
338
360
|
var _a, _b;
|
|
339
361
|
if (types_1.isPredicateObj(predicate)) {
|
|
@@ -343,11 +365,34 @@ function predicateToGraphQLFilter(predicatesGroup, fieldsToOmit) {
|
|
|
343
365
|
var gqlField = (_a = {},
|
|
344
366
|
_a[field] = (_b = {}, _b[operator] = operand, _b),
|
|
345
367
|
_a);
|
|
346
|
-
|
|
368
|
+
children.push(gqlField);
|
|
347
369
|
return;
|
|
348
370
|
}
|
|
349
|
-
var child = predicateToGraphQLFilter(predicate, fieldsToOmit);
|
|
350
|
-
Object.keys(child).length > 0
|
|
371
|
+
var child = predicateToGraphQLFilter(predicate, fieldsToOmit, false);
|
|
372
|
+
if (Object.keys(child).length > 0) {
|
|
373
|
+
children.push(child);
|
|
374
|
+
}
|
|
375
|
+
});
|
|
376
|
+
// flatten redundant list predicates
|
|
377
|
+
if (children.length === 1) {
|
|
378
|
+
var _a = tslib_1.__read(children, 1), child = _a[0];
|
|
379
|
+
if (
|
|
380
|
+
// any nested list node
|
|
381
|
+
(isList && !root) ||
|
|
382
|
+
// root list node where the only child is also a list node
|
|
383
|
+
(isList && root && ('and' in child || 'or' in child))) {
|
|
384
|
+
delete result[type];
|
|
385
|
+
Object.assign(result, child);
|
|
386
|
+
return result;
|
|
387
|
+
}
|
|
388
|
+
}
|
|
389
|
+
children.forEach(function (child) {
|
|
390
|
+
if (isList) {
|
|
391
|
+
result[type].push(child);
|
|
392
|
+
}
|
|
393
|
+
else {
|
|
394
|
+
result[type] = child;
|
|
395
|
+
}
|
|
351
396
|
});
|
|
352
397
|
if (isList) {
|
|
353
398
|
if (result[type].length === 0)
|
|
@@ -360,6 +405,209 @@ function predicateToGraphQLFilter(predicatesGroup, fieldsToOmit) {
|
|
|
360
405
|
return result;
|
|
361
406
|
}
|
|
362
407
|
exports.predicateToGraphQLFilter = predicateToGraphQLFilter;
|
|
408
|
+
/**
|
|
409
|
+
*
|
|
410
|
+
* @param group - selective sync predicate group
|
|
411
|
+
* @returns set of distinct field names in the filter group
|
|
412
|
+
*/
|
|
413
|
+
function filterFields(group) {
|
|
414
|
+
var fields = new Set();
|
|
415
|
+
if (!group || !Array.isArray(group.predicates))
|
|
416
|
+
return fields;
|
|
417
|
+
var predicates = group.predicates;
|
|
418
|
+
var stack = tslib_1.__spread(predicates);
|
|
419
|
+
while (stack.length > 0) {
|
|
420
|
+
var current = stack.pop();
|
|
421
|
+
if (types_1.isPredicateObj(current)) {
|
|
422
|
+
fields.add(current.field);
|
|
423
|
+
}
|
|
424
|
+
else if (types_1.isPredicateGroup(current)) {
|
|
425
|
+
stack.push.apply(stack, tslib_1.__spread(current.predicates));
|
|
426
|
+
}
|
|
427
|
+
}
|
|
428
|
+
return fields;
|
|
429
|
+
}
|
|
430
|
+
exports.filterFields = filterFields;
|
|
431
|
+
/**
|
|
432
|
+
*
|
|
433
|
+
* @param modelDefinition
|
|
434
|
+
* @returns set of field names used with dynamic auth modes configured for the provided model definition
|
|
435
|
+
*/
|
|
436
|
+
function dynamicAuthFields(modelDefinition) {
|
|
437
|
+
var e_1, _a;
|
|
438
|
+
var rules = getAuthorizationRules(modelDefinition);
|
|
439
|
+
var fields = new Set();
|
|
440
|
+
try {
|
|
441
|
+
for (var rules_1 = tslib_1.__values(rules), rules_1_1 = rules_1.next(); !rules_1_1.done; rules_1_1 = rules_1.next()) {
|
|
442
|
+
var rule = rules_1_1.value;
|
|
443
|
+
if (rule.groupsField && !rule.groups.length) {
|
|
444
|
+
// dynamic group rule will have no values in `rule.groups`
|
|
445
|
+
fields.add(rule.groupsField);
|
|
446
|
+
}
|
|
447
|
+
else if (rule.ownerField) {
|
|
448
|
+
fields.add(rule.ownerField);
|
|
449
|
+
}
|
|
450
|
+
}
|
|
451
|
+
}
|
|
452
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
453
|
+
finally {
|
|
454
|
+
try {
|
|
455
|
+
if (rules_1_1 && !rules_1_1.done && (_a = rules_1.return)) _a.call(rules_1);
|
|
456
|
+
}
|
|
457
|
+
finally { if (e_1) throw e_1.error; }
|
|
458
|
+
}
|
|
459
|
+
return fields;
|
|
460
|
+
}
|
|
461
|
+
exports.dynamicAuthFields = dynamicAuthFields;
|
|
462
|
+
/**
|
|
463
|
+
*
|
|
464
|
+
* @param group - selective sync predicate group
|
|
465
|
+
* @returns the total number of OR'd predicates in the filter group
|
|
466
|
+
*
|
|
467
|
+
* @example returns 2
|
|
468
|
+
* ```js
|
|
469
|
+
* { type: "or", predicates: [
|
|
470
|
+
* { field: "username", operator: "beginsWith", operand: "a" },
|
|
471
|
+
* { field: "title", operator: "contains", operand: "abc" },
|
|
472
|
+
* ]}
|
|
473
|
+
* ```
|
|
474
|
+
*/
|
|
475
|
+
function countFilterCombinations(group) {
|
|
476
|
+
if (!group || !Array.isArray(group.predicates))
|
|
477
|
+
return 0;
|
|
478
|
+
var count = 0;
|
|
479
|
+
var stack = [group];
|
|
480
|
+
while (stack.length > 0) {
|
|
481
|
+
var current = stack.pop();
|
|
482
|
+
if (types_1.isPredicateGroup(current)) {
|
|
483
|
+
var predicates = current.predicates, type = current.type;
|
|
484
|
+
// ignore length = 1; groups with 1 predicate will get flattened when converted to gqlFilter
|
|
485
|
+
if (type === 'or' && predicates.length > 1) {
|
|
486
|
+
count += predicates.length;
|
|
487
|
+
}
|
|
488
|
+
stack.push.apply(stack, tslib_1.__spread(predicates));
|
|
489
|
+
}
|
|
490
|
+
}
|
|
491
|
+
// if we didn't encounter any OR groups, default to 1
|
|
492
|
+
return count || 1;
|
|
493
|
+
}
|
|
494
|
+
exports.countFilterCombinations = countFilterCombinations;
|
|
495
|
+
/**
|
|
496
|
+
*
|
|
497
|
+
* @param group - selective sync predicate group
|
|
498
|
+
* @returns name of repeated field | null
|
|
499
|
+
*
|
|
500
|
+
* @example returns "username"
|
|
501
|
+
* ```js
|
|
502
|
+
* { type: "and", predicates: [
|
|
503
|
+
* { field: "username", operator: "beginsWith", operand: "a" },
|
|
504
|
+
* { field: "username", operator: "contains", operand: "abc" },
|
|
505
|
+
* ] }
|
|
506
|
+
* ```
|
|
507
|
+
*/
|
|
508
|
+
function repeatedFieldInGroup(group) {
|
|
509
|
+
if (!group || !Array.isArray(group.predicates))
|
|
510
|
+
return null;
|
|
511
|
+
// convert to filter in order to flatten redundant groups
|
|
512
|
+
var gqlFilter = predicateToGraphQLFilter(group);
|
|
513
|
+
var stack = [gqlFilter];
|
|
514
|
+
var hasGroupRepeatedFields = function (fields) {
|
|
515
|
+
var e_2, _a;
|
|
516
|
+
var seen = {};
|
|
517
|
+
try {
|
|
518
|
+
for (var fields_1 = tslib_1.__values(fields), fields_1_1 = fields_1.next(); !fields_1_1.done; fields_1_1 = fields_1.next()) {
|
|
519
|
+
var f = fields_1_1.value;
|
|
520
|
+
var _b = tslib_1.__read(Object.keys(f), 1), fieldName = _b[0];
|
|
521
|
+
if (seen[fieldName]) {
|
|
522
|
+
return fieldName;
|
|
523
|
+
}
|
|
524
|
+
seen[fieldName] = true;
|
|
525
|
+
}
|
|
526
|
+
}
|
|
527
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
528
|
+
finally {
|
|
529
|
+
try {
|
|
530
|
+
if (fields_1_1 && !fields_1_1.done && (_a = fields_1.return)) _a.call(fields_1);
|
|
531
|
+
}
|
|
532
|
+
finally { if (e_2) throw e_2.error; }
|
|
533
|
+
}
|
|
534
|
+
return null;
|
|
535
|
+
};
|
|
536
|
+
while (stack.length > 0) {
|
|
537
|
+
var current = stack.pop();
|
|
538
|
+
var _a = tslib_1.__read(Object.keys(current), 1), key = _a[0];
|
|
539
|
+
var values = current[key];
|
|
540
|
+
if (!Array.isArray(values)) {
|
|
541
|
+
return null;
|
|
542
|
+
}
|
|
543
|
+
// field value will be single object
|
|
544
|
+
var predicateObjects = values.filter(function (v) { return !Array.isArray(Object.values(v)[0]); });
|
|
545
|
+
// group value will be an array
|
|
546
|
+
var predicateGroups = values.filter(function (v) {
|
|
547
|
+
return Array.isArray(Object.values(v)[0]);
|
|
548
|
+
});
|
|
549
|
+
if (key === 'and') {
|
|
550
|
+
var repeatedField = hasGroupRepeatedFields(predicateObjects);
|
|
551
|
+
if (repeatedField) {
|
|
552
|
+
return repeatedField;
|
|
553
|
+
}
|
|
554
|
+
}
|
|
555
|
+
stack.push.apply(stack, tslib_1.__spread(predicateGroups));
|
|
556
|
+
}
|
|
557
|
+
return null;
|
|
558
|
+
}
|
|
559
|
+
exports.repeatedFieldInGroup = repeatedFieldInGroup;
|
|
560
|
+
var RTFError;
|
|
561
|
+
(function (RTFError) {
|
|
562
|
+
RTFError[RTFError["UnknownField"] = 0] = "UnknownField";
|
|
563
|
+
RTFError[RTFError["MaxAttributes"] = 1] = "MaxAttributes";
|
|
564
|
+
RTFError[RTFError["MaxCombinations"] = 2] = "MaxCombinations";
|
|
565
|
+
RTFError[RTFError["RepeatedFieldname"] = 3] = "RepeatedFieldname";
|
|
566
|
+
RTFError[RTFError["NotGroup"] = 4] = "NotGroup";
|
|
567
|
+
RTFError[RTFError["FieldNotInType"] = 5] = "FieldNotInType";
|
|
568
|
+
})(RTFError = exports.RTFError || (exports.RTFError = {}));
|
|
569
|
+
function generateRTFRemediation(errorType, modelDefinition, predicatesGroup) {
|
|
570
|
+
var selSyncFields = filterFields(predicatesGroup);
|
|
571
|
+
var selSyncFieldStr = tslib_1.__spread(selSyncFields).join(', ');
|
|
572
|
+
var dynamicAuthModeFields = dynamicAuthFields(modelDefinition);
|
|
573
|
+
var dynamicAuthFieldsStr = tslib_1.__spread(dynamicAuthModeFields).join(', ');
|
|
574
|
+
var filterCombinations = countFilterCombinations(predicatesGroup);
|
|
575
|
+
var repeatedField = repeatedFieldInGroup(predicatesGroup);
|
|
576
|
+
switch (errorType) {
|
|
577
|
+
case RTFError.UnknownField:
|
|
578
|
+
return ("Your API was generated with an older version of the CLI that doesn't support backend subscription filtering." +
|
|
579
|
+
'To enable backend subscription filtering, upgrade your Amplify CLI to the latest version and push your app by running `amplify upgrade` followed by `amplify push`');
|
|
580
|
+
case RTFError.MaxAttributes: {
|
|
581
|
+
var message = "Your selective sync expression for " + modelDefinition.name + " contains " + selSyncFields.size + " different model fields: " + selSyncFieldStr + ".\n\n";
|
|
582
|
+
if (dynamicAuthModeFields.size > 0) {
|
|
583
|
+
message +=
|
|
584
|
+
"Note: the number of fields you can use with selective sync is affected by @auth rules configured on the model.\n\n" +
|
|
585
|
+
"Dynamic auth modes, such as owner auth and dynamic group auth each utilize 1 field.\n" +
|
|
586
|
+
("You currently have " + dynamicAuthModeFields.size + " dynamic auth mode(s) configured on this model: " + dynamicAuthFieldsStr + ".");
|
|
587
|
+
}
|
|
588
|
+
return message;
|
|
589
|
+
}
|
|
590
|
+
case RTFError.MaxCombinations: {
|
|
591
|
+
var message = "Your selective sync expression for " + modelDefinition.name + " contains " + filterCombinations + " field combinations (total number of predicates in an OR expression).\n\n";
|
|
592
|
+
if (dynamicAuthModeFields.size > 0) {
|
|
593
|
+
message +=
|
|
594
|
+
"Note: the number of fields you can use with selective sync is affected by @auth rules configured on the model.\n\n" +
|
|
595
|
+
"Dynamic auth modes, such as owner auth and dynamic group auth factor in to the number of combinations you're using.\n" +
|
|
596
|
+
("You currently have " + dynamicAuthModeFields.size + " dynamic auth mode(s) configured on this model: " + dynamicAuthFieldsStr + ".");
|
|
597
|
+
}
|
|
598
|
+
return message;
|
|
599
|
+
}
|
|
600
|
+
case RTFError.RepeatedFieldname:
|
|
601
|
+
return "Your selective sync expression for " + modelDefinition.name + " contains multiple entries for " + repeatedField + " in the same AND group.";
|
|
602
|
+
case RTFError.NotGroup:
|
|
603
|
+
return ("Your selective sync expression for " + modelDefinition.name + " uses a `not` group. If you'd like to filter subscriptions in the backend, " +
|
|
604
|
+
"rewrite your expression using `ne` or `notContains` operators.");
|
|
605
|
+
case RTFError.FieldNotInType:
|
|
606
|
+
// no remediation instructions. We'll surface the message directly
|
|
607
|
+
return '';
|
|
608
|
+
}
|
|
609
|
+
}
|
|
610
|
+
exports.generateRTFRemediation = generateRTFRemediation;
|
|
363
611
|
function getUserGroupsFromToken(token, rule) {
|
|
364
612
|
// validate token against groupClaim
|
|
365
613
|
var userGroups = token[rule.groupClaim] || [];
|
package/lib/sync/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/sync/utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/sync/utils.ts"],"names":[],"mappings":"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"}
|
package/lib/types.d.ts
CHANGED
|
@@ -33,7 +33,14 @@ export declare type SchemaModel = {
|
|
|
33
33
|
name: string;
|
|
34
34
|
pluralName: string;
|
|
35
35
|
attributes?: ModelAttributes;
|
|
36
|
+
/**
|
|
37
|
+
* Explicitly defined fields.
|
|
38
|
+
*/
|
|
36
39
|
fields: ModelFields;
|
|
40
|
+
/**
|
|
41
|
+
* Explicitly defined fields plus implied fields. (E.g., foreign keys.)
|
|
42
|
+
*/
|
|
43
|
+
allFields?: ModelFields;
|
|
37
44
|
syncable?: boolean;
|
|
38
45
|
};
|
|
39
46
|
export declare function isSchemaModel(obj: any): obj is SchemaModel;
|
|
@@ -167,6 +174,7 @@ export declare type AuthorizationRule = {
|
|
|
167
174
|
provider: 'userPools' | 'oidc' | 'iam' | 'apiKey';
|
|
168
175
|
groupClaim: string;
|
|
169
176
|
groups: [string];
|
|
177
|
+
groupsField: string;
|
|
170
178
|
authStrategy: 'owner' | 'groups' | 'private' | 'public';
|
|
171
179
|
areSubscriptionsPublic: boolean;
|
|
172
180
|
};
|
|
@@ -282,7 +290,7 @@ export declare type ModelInit<T extends PersistentModel, M extends PersistentMod
|
|
|
282
290
|
[P in keyof PickOptionalRelatives<ModelInitBase<T, M>>]+?: SettableFieldType<ModelInitBase<T, M>[P]>;
|
|
283
291
|
};
|
|
284
292
|
declare type DeepWritable<T> = {
|
|
285
|
-
-readonly [P in keyof T]: T[P] extends TypeName<T[P]> ? T[P] : T[P] extends Promise<infer InnerPromiseType> ? InnerPromiseType : T[P] extends AsyncCollection<infer InnerCollectionType> ? InnerCollectionType[] | undefined : DeepWritable<T[P]>;
|
|
293
|
+
-readonly [P in keyof T]: T[P] extends TypeName<T[P]> ? T[P] : T[P] extends Promise<infer InnerPromiseType> ? undefined extends InnerPromiseType ? InnerPromiseType | null : InnerPromiseType : T[P] extends AsyncCollection<infer InnerCollectionType> ? InnerCollectionType[] | undefined | null : DeepWritable<T[P]>;
|
|
286
294
|
};
|
|
287
295
|
export declare type MutableModel<T extends PersistentModel, M extends PersistentModelMetaData<T> = {}> = DeepWritable<Omit<T, IdentifierFields<T, M> | MetadataReadOnlyFields<T, M>>> & Readonly<Pick<T, IdentifierFields<T, M> | MetadataReadOnlyFields<T, M>>>;
|
|
288
296
|
export declare type ModelInstanceMetadata = {
|
package/lib/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AACA,+BAYgB;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/lib/util.d.ts
CHANGED
|
@@ -187,3 +187,19 @@ export declare const extractTargetNamesFromSrc: (src: {
|
|
|
187
187
|
export declare const indexNameFromKeys: (keys: string[]) => string;
|
|
188
188
|
export declare const keysEqual: (keysA: any, keysB: any) => boolean;
|
|
189
189
|
export declare const getIndexKeys: (namespace: SchemaNamespace, modelName: string) => string[];
|
|
190
|
+
/**
|
|
191
|
+
* Determine what the managed timestamp field names are for the given model definition
|
|
192
|
+
* and return the mapping.
|
|
193
|
+
*
|
|
194
|
+
* All timestamp fields are included in the mapping, regardless of whether the final field
|
|
195
|
+
* names are the defaults or customized in the `@model` directive.
|
|
196
|
+
*
|
|
197
|
+
* @see https://docs.amplify.aws/cli/graphql/data-modeling/#customize-creation-and-update-timestamps
|
|
198
|
+
*
|
|
199
|
+
* @param definition modelDefinition to inspect.
|
|
200
|
+
* @returns An object mapping `createdAt` and `updatedAt` to their field names.
|
|
201
|
+
*/
|
|
202
|
+
export declare const getTimestampFields: (definition: SchemaModel) => {
|
|
203
|
+
createdAt: string;
|
|
204
|
+
updatedAt: string;
|
|
205
|
+
};
|
package/lib/util.js
CHANGED
|
@@ -859,8 +859,14 @@ exports.establishRelationAndKeys = function (namespace) {
|
|
|
859
859
|
if (connectionType === 'BELONGS_TO') {
|
|
860
860
|
var targetNames = exports.extractTargetNamesFromSrc(fieldAttribute.association);
|
|
861
861
|
if (targetNames) {
|
|
862
|
-
var
|
|
863
|
-
relationship[mKey].indexes.
|
|
862
|
+
var idxName_1 = exports.indexNameFromKeys(targetNames);
|
|
863
|
+
var idxExists = relationship[mKey].indexes.find(function (_c) {
|
|
864
|
+
var _d = tslib_1.__read(_c, 1), index = _d[0];
|
|
865
|
+
return index === idxName_1;
|
|
866
|
+
});
|
|
867
|
+
if (!idxExists) {
|
|
868
|
+
relationship[mKey].indexes.push([idxName_1, targetNames]);
|
|
869
|
+
}
|
|
864
870
|
}
|
|
865
871
|
}
|
|
866
872
|
}
|
|
@@ -984,4 +990,27 @@ exports.getIndexKeys = function (namespace, modelName) {
|
|
|
984
990
|
return [exports.ID];
|
|
985
991
|
};
|
|
986
992
|
//#endregion
|
|
993
|
+
/**
|
|
994
|
+
* Determine what the managed timestamp field names are for the given model definition
|
|
995
|
+
* and return the mapping.
|
|
996
|
+
*
|
|
997
|
+
* All timestamp fields are included in the mapping, regardless of whether the final field
|
|
998
|
+
* names are the defaults or customized in the `@model` directive.
|
|
999
|
+
*
|
|
1000
|
+
* @see https://docs.amplify.aws/cli/graphql/data-modeling/#customize-creation-and-update-timestamps
|
|
1001
|
+
*
|
|
1002
|
+
* @param definition modelDefinition to inspect.
|
|
1003
|
+
* @returns An object mapping `createdAt` and `updatedAt` to their field names.
|
|
1004
|
+
*/
|
|
1005
|
+
exports.getTimestampFields = function (definition) {
|
|
1006
|
+
var _c, _d;
|
|
1007
|
+
var modelAttributes = (_c = definition.attributes) === null || _c === void 0 ? void 0 : _c.find(function (attr) { return attr.type === 'model'; });
|
|
1008
|
+
var timestampFieldsMap = (_d = modelAttributes === null || modelAttributes === void 0 ? void 0 : modelAttributes.properties) === null || _d === void 0 ? void 0 : _d.timestamps;
|
|
1009
|
+
var defaultFields = {
|
|
1010
|
+
createdAt: 'createdAt',
|
|
1011
|
+
updatedAt: 'updatedAt',
|
|
1012
|
+
};
|
|
1013
|
+
var customFields = timestampFieldsMap || {};
|
|
1014
|
+
return tslib_1.__assign(tslib_1.__assign({}, defaultFields), customFields);
|
|
1015
|
+
};
|
|
987
1016
|
//# sourceMappingURL=util.js.map
|