@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-esm/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-esm/sync/utils.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { __assign, __awaiter, __generator, __read } from "tslib";
|
|
1
|
+
import { __assign, __awaiter, __generator, __read, __spread, __values } from "tslib";
|
|
2
2
|
import { GRAPHQL_AUTH_MODE } from '@aws-amplify/api-graphql';
|
|
3
3
|
import { GraphQLAuthError } from '@aws-amplify/api';
|
|
4
4
|
import { Logger } from '@aws-amplify/core';
|
|
5
|
-
import { isEnumFieldType, isGraphQLScalarType, isPredicateObj, isSchemaModel, isSchemaModelWithAttributes, isTargetNameAssociation, isNonModelFieldType, OpType, ModelOperation, } from '../types';
|
|
5
|
+
import { isEnumFieldType, isGraphQLScalarType, isPredicateObj, isSchemaModel, isSchemaModelWithAttributes, isTargetNameAssociation, isNonModelFieldType, OpType, ModelOperation, isPredicateGroup, } from '../types';
|
|
6
6
|
import { extractPrimaryKeyFieldNames, establishRelationAndKeys, IDENTIFIER_KEY_SEPARATOR, } from '../util';
|
|
7
7
|
var logger = new Logger('DataStore');
|
|
8
8
|
var GraphQLOperationType;
|
|
@@ -161,7 +161,7 @@ export function getAuthorizationRules(modelDefinition) {
|
|
|
161
161
|
// Multiple rules can be declared for allow: owner
|
|
162
162
|
rules.forEach(function (rule) {
|
|
163
163
|
// setting defaults for backwards compatibility with old cli
|
|
164
|
-
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;
|
|
164
|
+
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;
|
|
165
165
|
var isReadAuthorized = operations.includes('read');
|
|
166
166
|
var isOwnerAuth = authStrategy === 'owner';
|
|
167
167
|
if (!isReadAuthorized && !isOwnerAuth) {
|
|
@@ -174,6 +174,7 @@ export function getAuthorizationRules(modelDefinition) {
|
|
|
174
174
|
groupClaim: groupClaim,
|
|
175
175
|
authStrategy: authStrategy,
|
|
176
176
|
groups: groups,
|
|
177
|
+
groupsField: groupsField,
|
|
177
178
|
areSubscriptionsPublic: false,
|
|
178
179
|
};
|
|
179
180
|
if (isOwnerAuth) {
|
|
@@ -183,7 +184,7 @@ export function getAuthorizationRules(modelDefinition) {
|
|
|
183
184
|
.concat(modelDefinition.attributes || [])
|
|
184
185
|
.find(function (attr) { return attr && attr.type === 'model'; });
|
|
185
186
|
// find the subscriptions level. ON is default
|
|
186
|
-
var
|
|
187
|
+
var _j = (modelConfig || {}).properties, _k = (_j === void 0 ? {} : _j).subscriptions, _l = (_k === void 0 ? {} : _k).level, level = _l === void 0 ? 'on' : _l;
|
|
187
188
|
// treat subscriptions as public for owner auth with unprotected reads
|
|
188
189
|
// when `read` is omitted from `operations`
|
|
189
190
|
authRule.areSubscriptionsPublic =
|
|
@@ -198,20 +199,27 @@ export function getAuthorizationRules(modelDefinition) {
|
|
|
198
199
|
});
|
|
199
200
|
return resultRules;
|
|
200
201
|
}
|
|
201
|
-
export function buildSubscriptionGraphQLOperation(namespace, modelDefinition, transformerMutationType, isOwnerAuthorization, ownerField) {
|
|
202
|
+
export function buildSubscriptionGraphQLOperation(namespace, modelDefinition, transformerMutationType, isOwnerAuthorization, ownerField, filterArg) {
|
|
203
|
+
if (filterArg === void 0) { filterArg = false; }
|
|
202
204
|
var selectionSet = generateSelectionSet(namespace, modelDefinition);
|
|
203
|
-
var typeName = modelDefinition.name
|
|
205
|
+
var typeName = modelDefinition.name;
|
|
204
206
|
var opName = "on" + transformerMutationType + typeName;
|
|
205
|
-
var docArgs =
|
|
206
|
-
var opArgs =
|
|
207
|
+
var docArgs = [];
|
|
208
|
+
var opArgs = [];
|
|
209
|
+
if (filterArg) {
|
|
210
|
+
docArgs.push("$filter: ModelSubscription" + typeName + "FilterInput");
|
|
211
|
+
opArgs.push('filter: $filter');
|
|
212
|
+
}
|
|
207
213
|
if (isOwnerAuthorization) {
|
|
208
|
-
docArgs
|
|
209
|
-
opArgs
|
|
214
|
+
docArgs.push("$" + ownerField + ": String!");
|
|
215
|
+
opArgs.push(ownerField + ": $" + ownerField);
|
|
210
216
|
}
|
|
217
|
+
var docStr = docArgs.length ? "(" + docArgs.join(',') + ")" : '';
|
|
218
|
+
var opStr = opArgs.length ? "(" + opArgs.join(',') + ")" : '';
|
|
211
219
|
return [
|
|
212
220
|
transformerMutationType,
|
|
213
221
|
opName,
|
|
214
|
-
"subscription operation" +
|
|
222
|
+
"subscription operation" + docStr + "{\n\t\t\t" + opName + opStr + "{\n\t\t\t\t" + selectionSet + "\n\t\t\t}\n\t\t}",
|
|
215
223
|
];
|
|
216
224
|
}
|
|
217
225
|
export function buildGraphQLOperation(namespace, modelDefinition, graphQLOpType) {
|
|
@@ -313,8 +321,24 @@ export function predicateToGraphQLCondition(predicate, modelDefinition) {
|
|
|
313
321
|
var keyFields = extractPrimaryKeyFieldNames(modelDefinition);
|
|
314
322
|
return predicateToGraphQLFilter(predicate, keyFields);
|
|
315
323
|
}
|
|
316
|
-
|
|
324
|
+
/**
|
|
325
|
+
* @param predicatesGroup - Predicate Group
|
|
326
|
+
@returns GQL Filter Expression from Predicate Group
|
|
327
|
+
|
|
328
|
+
@remarks Flattens redundant list predicates
|
|
329
|
+
@example
|
|
330
|
+
|
|
331
|
+
```js
|
|
332
|
+
{ and:[{ and:[{ username: { eq: 'bob' }}] }] }
|
|
333
|
+
```
|
|
334
|
+
Becomes
|
|
335
|
+
```js
|
|
336
|
+
{ and:[{ username: { eq: 'bob' }}] }
|
|
337
|
+
```
|
|
338
|
+
*/
|
|
339
|
+
export function predicateToGraphQLFilter(predicatesGroup, fieldsToOmit, root) {
|
|
317
340
|
if (fieldsToOmit === void 0) { fieldsToOmit = []; }
|
|
341
|
+
if (root === void 0) { root = true; }
|
|
318
342
|
var result = {};
|
|
319
343
|
if (!predicatesGroup || !Array.isArray(predicatesGroup.predicates)) {
|
|
320
344
|
return result;
|
|
@@ -322,9 +346,7 @@ export function predicateToGraphQLFilter(predicatesGroup, fieldsToOmit) {
|
|
|
322
346
|
var type = predicatesGroup.type, predicates = predicatesGroup.predicates;
|
|
323
347
|
var isList = type === 'and' || type === 'or';
|
|
324
348
|
result[type] = isList ? [] : {};
|
|
325
|
-
var
|
|
326
|
-
return isList ? result[type].push(value) : (result[type] = value);
|
|
327
|
-
};
|
|
349
|
+
var children = [];
|
|
328
350
|
predicates.forEach(function (predicate) {
|
|
329
351
|
var _a, _b;
|
|
330
352
|
if (isPredicateObj(predicate)) {
|
|
@@ -334,11 +356,34 @@ export function predicateToGraphQLFilter(predicatesGroup, fieldsToOmit) {
|
|
|
334
356
|
var gqlField = (_a = {},
|
|
335
357
|
_a[field] = (_b = {}, _b[operator] = operand, _b),
|
|
336
358
|
_a);
|
|
337
|
-
|
|
359
|
+
children.push(gqlField);
|
|
338
360
|
return;
|
|
339
361
|
}
|
|
340
|
-
var child = predicateToGraphQLFilter(predicate, fieldsToOmit);
|
|
341
|
-
Object.keys(child).length > 0
|
|
362
|
+
var child = predicateToGraphQLFilter(predicate, fieldsToOmit, false);
|
|
363
|
+
if (Object.keys(child).length > 0) {
|
|
364
|
+
children.push(child);
|
|
365
|
+
}
|
|
366
|
+
});
|
|
367
|
+
// flatten redundant list predicates
|
|
368
|
+
if (children.length === 1) {
|
|
369
|
+
var _a = __read(children, 1), child = _a[0];
|
|
370
|
+
if (
|
|
371
|
+
// any nested list node
|
|
372
|
+
(isList && !root) ||
|
|
373
|
+
// root list node where the only child is also a list node
|
|
374
|
+
(isList && root && ('and' in child || 'or' in child))) {
|
|
375
|
+
delete result[type];
|
|
376
|
+
Object.assign(result, child);
|
|
377
|
+
return result;
|
|
378
|
+
}
|
|
379
|
+
}
|
|
380
|
+
children.forEach(function (child) {
|
|
381
|
+
if (isList) {
|
|
382
|
+
result[type].push(child);
|
|
383
|
+
}
|
|
384
|
+
else {
|
|
385
|
+
result[type] = child;
|
|
386
|
+
}
|
|
342
387
|
});
|
|
343
388
|
if (isList) {
|
|
344
389
|
if (result[type].length === 0)
|
|
@@ -350,6 +395,204 @@ export function predicateToGraphQLFilter(predicatesGroup, fieldsToOmit) {
|
|
|
350
395
|
}
|
|
351
396
|
return result;
|
|
352
397
|
}
|
|
398
|
+
/**
|
|
399
|
+
*
|
|
400
|
+
* @param group - selective sync predicate group
|
|
401
|
+
* @returns set of distinct field names in the filter group
|
|
402
|
+
*/
|
|
403
|
+
export function filterFields(group) {
|
|
404
|
+
var fields = new Set();
|
|
405
|
+
if (!group || !Array.isArray(group.predicates))
|
|
406
|
+
return fields;
|
|
407
|
+
var predicates = group.predicates;
|
|
408
|
+
var stack = __spread(predicates);
|
|
409
|
+
while (stack.length > 0) {
|
|
410
|
+
var current = stack.pop();
|
|
411
|
+
if (isPredicateObj(current)) {
|
|
412
|
+
fields.add(current.field);
|
|
413
|
+
}
|
|
414
|
+
else if (isPredicateGroup(current)) {
|
|
415
|
+
stack.push.apply(stack, __spread(current.predicates));
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
return fields;
|
|
419
|
+
}
|
|
420
|
+
/**
|
|
421
|
+
*
|
|
422
|
+
* @param modelDefinition
|
|
423
|
+
* @returns set of field names used with dynamic auth modes configured for the provided model definition
|
|
424
|
+
*/
|
|
425
|
+
export function dynamicAuthFields(modelDefinition) {
|
|
426
|
+
var e_1, _a;
|
|
427
|
+
var rules = getAuthorizationRules(modelDefinition);
|
|
428
|
+
var fields = new Set();
|
|
429
|
+
try {
|
|
430
|
+
for (var rules_1 = __values(rules), rules_1_1 = rules_1.next(); !rules_1_1.done; rules_1_1 = rules_1.next()) {
|
|
431
|
+
var rule = rules_1_1.value;
|
|
432
|
+
if (rule.groupsField && !rule.groups.length) {
|
|
433
|
+
// dynamic group rule will have no values in `rule.groups`
|
|
434
|
+
fields.add(rule.groupsField);
|
|
435
|
+
}
|
|
436
|
+
else if (rule.ownerField) {
|
|
437
|
+
fields.add(rule.ownerField);
|
|
438
|
+
}
|
|
439
|
+
}
|
|
440
|
+
}
|
|
441
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
442
|
+
finally {
|
|
443
|
+
try {
|
|
444
|
+
if (rules_1_1 && !rules_1_1.done && (_a = rules_1.return)) _a.call(rules_1);
|
|
445
|
+
}
|
|
446
|
+
finally { if (e_1) throw e_1.error; }
|
|
447
|
+
}
|
|
448
|
+
return fields;
|
|
449
|
+
}
|
|
450
|
+
/**
|
|
451
|
+
*
|
|
452
|
+
* @param group - selective sync predicate group
|
|
453
|
+
* @returns the total number of OR'd predicates in the filter group
|
|
454
|
+
*
|
|
455
|
+
* @example returns 2
|
|
456
|
+
* ```js
|
|
457
|
+
* { type: "or", predicates: [
|
|
458
|
+
* { field: "username", operator: "beginsWith", operand: "a" },
|
|
459
|
+
* { field: "title", operator: "contains", operand: "abc" },
|
|
460
|
+
* ]}
|
|
461
|
+
* ```
|
|
462
|
+
*/
|
|
463
|
+
export function countFilterCombinations(group) {
|
|
464
|
+
if (!group || !Array.isArray(group.predicates))
|
|
465
|
+
return 0;
|
|
466
|
+
var count = 0;
|
|
467
|
+
var stack = [group];
|
|
468
|
+
while (stack.length > 0) {
|
|
469
|
+
var current = stack.pop();
|
|
470
|
+
if (isPredicateGroup(current)) {
|
|
471
|
+
var predicates = current.predicates, type = current.type;
|
|
472
|
+
// ignore length = 1; groups with 1 predicate will get flattened when converted to gqlFilter
|
|
473
|
+
if (type === 'or' && predicates.length > 1) {
|
|
474
|
+
count += predicates.length;
|
|
475
|
+
}
|
|
476
|
+
stack.push.apply(stack, __spread(predicates));
|
|
477
|
+
}
|
|
478
|
+
}
|
|
479
|
+
// if we didn't encounter any OR groups, default to 1
|
|
480
|
+
return count || 1;
|
|
481
|
+
}
|
|
482
|
+
/**
|
|
483
|
+
*
|
|
484
|
+
* @param group - selective sync predicate group
|
|
485
|
+
* @returns name of repeated field | null
|
|
486
|
+
*
|
|
487
|
+
* @example returns "username"
|
|
488
|
+
* ```js
|
|
489
|
+
* { type: "and", predicates: [
|
|
490
|
+
* { field: "username", operator: "beginsWith", operand: "a" },
|
|
491
|
+
* { field: "username", operator: "contains", operand: "abc" },
|
|
492
|
+
* ] }
|
|
493
|
+
* ```
|
|
494
|
+
*/
|
|
495
|
+
export function repeatedFieldInGroup(group) {
|
|
496
|
+
if (!group || !Array.isArray(group.predicates))
|
|
497
|
+
return null;
|
|
498
|
+
// convert to filter in order to flatten redundant groups
|
|
499
|
+
var gqlFilter = predicateToGraphQLFilter(group);
|
|
500
|
+
var stack = [gqlFilter];
|
|
501
|
+
var hasGroupRepeatedFields = function (fields) {
|
|
502
|
+
var e_2, _a;
|
|
503
|
+
var seen = {};
|
|
504
|
+
try {
|
|
505
|
+
for (var fields_1 = __values(fields), fields_1_1 = fields_1.next(); !fields_1_1.done; fields_1_1 = fields_1.next()) {
|
|
506
|
+
var f = fields_1_1.value;
|
|
507
|
+
var _b = __read(Object.keys(f), 1), fieldName = _b[0];
|
|
508
|
+
if (seen[fieldName]) {
|
|
509
|
+
return fieldName;
|
|
510
|
+
}
|
|
511
|
+
seen[fieldName] = true;
|
|
512
|
+
}
|
|
513
|
+
}
|
|
514
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
515
|
+
finally {
|
|
516
|
+
try {
|
|
517
|
+
if (fields_1_1 && !fields_1_1.done && (_a = fields_1.return)) _a.call(fields_1);
|
|
518
|
+
}
|
|
519
|
+
finally { if (e_2) throw e_2.error; }
|
|
520
|
+
}
|
|
521
|
+
return null;
|
|
522
|
+
};
|
|
523
|
+
while (stack.length > 0) {
|
|
524
|
+
var current = stack.pop();
|
|
525
|
+
var _a = __read(Object.keys(current), 1), key = _a[0];
|
|
526
|
+
var values = current[key];
|
|
527
|
+
if (!Array.isArray(values)) {
|
|
528
|
+
return null;
|
|
529
|
+
}
|
|
530
|
+
// field value will be single object
|
|
531
|
+
var predicateObjects = values.filter(function (v) { return !Array.isArray(Object.values(v)[0]); });
|
|
532
|
+
// group value will be an array
|
|
533
|
+
var predicateGroups = values.filter(function (v) {
|
|
534
|
+
return Array.isArray(Object.values(v)[0]);
|
|
535
|
+
});
|
|
536
|
+
if (key === 'and') {
|
|
537
|
+
var repeatedField = hasGroupRepeatedFields(predicateObjects);
|
|
538
|
+
if (repeatedField) {
|
|
539
|
+
return repeatedField;
|
|
540
|
+
}
|
|
541
|
+
}
|
|
542
|
+
stack.push.apply(stack, __spread(predicateGroups));
|
|
543
|
+
}
|
|
544
|
+
return null;
|
|
545
|
+
}
|
|
546
|
+
export var RTFError;
|
|
547
|
+
(function (RTFError) {
|
|
548
|
+
RTFError[RTFError["UnknownField"] = 0] = "UnknownField";
|
|
549
|
+
RTFError[RTFError["MaxAttributes"] = 1] = "MaxAttributes";
|
|
550
|
+
RTFError[RTFError["MaxCombinations"] = 2] = "MaxCombinations";
|
|
551
|
+
RTFError[RTFError["RepeatedFieldname"] = 3] = "RepeatedFieldname";
|
|
552
|
+
RTFError[RTFError["NotGroup"] = 4] = "NotGroup";
|
|
553
|
+
RTFError[RTFError["FieldNotInType"] = 5] = "FieldNotInType";
|
|
554
|
+
})(RTFError || (RTFError = {}));
|
|
555
|
+
export function generateRTFRemediation(errorType, modelDefinition, predicatesGroup) {
|
|
556
|
+
var selSyncFields = filterFields(predicatesGroup);
|
|
557
|
+
var selSyncFieldStr = __spread(selSyncFields).join(', ');
|
|
558
|
+
var dynamicAuthModeFields = dynamicAuthFields(modelDefinition);
|
|
559
|
+
var dynamicAuthFieldsStr = __spread(dynamicAuthModeFields).join(', ');
|
|
560
|
+
var filterCombinations = countFilterCombinations(predicatesGroup);
|
|
561
|
+
var repeatedField = repeatedFieldInGroup(predicatesGroup);
|
|
562
|
+
switch (errorType) {
|
|
563
|
+
case RTFError.UnknownField:
|
|
564
|
+
return ("Your API was generated with an older version of the CLI that doesn't support backend subscription filtering." +
|
|
565
|
+
'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`');
|
|
566
|
+
case RTFError.MaxAttributes: {
|
|
567
|
+
var message = "Your selective sync expression for " + modelDefinition.name + " contains " + selSyncFields.size + " different model fields: " + selSyncFieldStr + ".\n\n";
|
|
568
|
+
if (dynamicAuthModeFields.size > 0) {
|
|
569
|
+
message +=
|
|
570
|
+
"Note: the number of fields you can use with selective sync is affected by @auth rules configured on the model.\n\n" +
|
|
571
|
+
"Dynamic auth modes, such as owner auth and dynamic group auth each utilize 1 field.\n" +
|
|
572
|
+
("You currently have " + dynamicAuthModeFields.size + " dynamic auth mode(s) configured on this model: " + dynamicAuthFieldsStr + ".");
|
|
573
|
+
}
|
|
574
|
+
return message;
|
|
575
|
+
}
|
|
576
|
+
case RTFError.MaxCombinations: {
|
|
577
|
+
var message = "Your selective sync expression for " + modelDefinition.name + " contains " + filterCombinations + " field combinations (total number of predicates in an OR expression).\n\n";
|
|
578
|
+
if (dynamicAuthModeFields.size > 0) {
|
|
579
|
+
message +=
|
|
580
|
+
"Note: the number of fields you can use with selective sync is affected by @auth rules configured on the model.\n\n" +
|
|
581
|
+
"Dynamic auth modes, such as owner auth and dynamic group auth factor in to the number of combinations you're using.\n" +
|
|
582
|
+
("You currently have " + dynamicAuthModeFields.size + " dynamic auth mode(s) configured on this model: " + dynamicAuthFieldsStr + ".");
|
|
583
|
+
}
|
|
584
|
+
return message;
|
|
585
|
+
}
|
|
586
|
+
case RTFError.RepeatedFieldname:
|
|
587
|
+
return "Your selective sync expression for " + modelDefinition.name + " contains multiple entries for " + repeatedField + " in the same AND group.";
|
|
588
|
+
case RTFError.NotGroup:
|
|
589
|
+
return ("Your selective sync expression for " + modelDefinition.name + " uses a `not` group. If you'd like to filter subscriptions in the backend, " +
|
|
590
|
+
"rewrite your expression using `ne` or `notContains` operators.");
|
|
591
|
+
case RTFError.FieldNotInType:
|
|
592
|
+
// no remediation instructions. We'll surface the message directly
|
|
593
|
+
return '';
|
|
594
|
+
}
|
|
595
|
+
}
|
|
353
596
|
export function getUserGroupsFromToken(token, rule) {
|
|
354
597
|
// validate token against groupClaim
|
|
355
598
|
var userGroups = token[rule.groupClaim] || [];
|
|
@@ -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-esm/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-esm/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AACA,OAAO,EACN,SAAS,EACT,SAAS,EACT,aAAa,EACb,cAAc,EACd,UAAU,EACV,SAAS,EACT,QAAQ,EACR,UAAU,EACV,cAAc,EAEd,2BAA2B,GAC3B,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/lib-esm/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-esm/util.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { __awaiter, __generator, __read, __spread, __values } from "tslib";
|
|
1
|
+
import { __assign, __awaiter, __generator, __read, __spread, __values } from "tslib";
|
|
2
2
|
import { Buffer } from 'buffer';
|
|
3
3
|
import { monotonicFactory } from 'ulid';
|
|
4
4
|
import { v4 as uuid } from 'uuid';
|
|
@@ -844,8 +844,14 @@ export var establishRelationAndKeys = function (namespace) {
|
|
|
844
844
|
if (connectionType === 'BELONGS_TO') {
|
|
845
845
|
var targetNames = extractTargetNamesFromSrc(fieldAttribute.association);
|
|
846
846
|
if (targetNames) {
|
|
847
|
-
var
|
|
848
|
-
relationship[mKey].indexes.
|
|
847
|
+
var idxName_1 = indexNameFromKeys(targetNames);
|
|
848
|
+
var idxExists = relationship[mKey].indexes.find(function (_c) {
|
|
849
|
+
var _d = __read(_c, 1), index = _d[0];
|
|
850
|
+
return index === idxName_1;
|
|
851
|
+
});
|
|
852
|
+
if (!idxExists) {
|
|
853
|
+
relationship[mKey].indexes.push([idxName_1, targetNames]);
|
|
854
|
+
}
|
|
849
855
|
}
|
|
850
856
|
}
|
|
851
857
|
}
|
|
@@ -969,4 +975,27 @@ export var getIndexKeys = function (namespace, modelName) {
|
|
|
969
975
|
return [ID];
|
|
970
976
|
};
|
|
971
977
|
//#endregion
|
|
978
|
+
/**
|
|
979
|
+
* Determine what the managed timestamp field names are for the given model definition
|
|
980
|
+
* and return the mapping.
|
|
981
|
+
*
|
|
982
|
+
* All timestamp fields are included in the mapping, regardless of whether the final field
|
|
983
|
+
* names are the defaults or customized in the `@model` directive.
|
|
984
|
+
*
|
|
985
|
+
* @see https://docs.amplify.aws/cli/graphql/data-modeling/#customize-creation-and-update-timestamps
|
|
986
|
+
*
|
|
987
|
+
* @param definition modelDefinition to inspect.
|
|
988
|
+
* @returns An object mapping `createdAt` and `updatedAt` to their field names.
|
|
989
|
+
*/
|
|
990
|
+
export var getTimestampFields = function (definition) {
|
|
991
|
+
var _c, _d;
|
|
992
|
+
var modelAttributes = (_c = definition.attributes) === null || _c === void 0 ? void 0 : _c.find(function (attr) { return attr.type === 'model'; });
|
|
993
|
+
var timestampFieldsMap = (_d = modelAttributes === null || modelAttributes === void 0 ? void 0 : modelAttributes.properties) === null || _d === void 0 ? void 0 : _d.timestamps;
|
|
994
|
+
var defaultFields = {
|
|
995
|
+
createdAt: 'createdAt',
|
|
996
|
+
updatedAt: 'updatedAt',
|
|
997
|
+
};
|
|
998
|
+
var customFields = timestampFieldsMap || {};
|
|
999
|
+
return __assign(__assign({}, defaultFields), customFields);
|
|
1000
|
+
};
|
|
972
1001
|
//# sourceMappingURL=util.js.map
|