@aws-amplify/datastore 3.7.3 → 3.7.4-custom-pk.79

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 (137) hide show
  1. package/CHANGELOG.md +144 -17
  2. package/README.md +154 -0
  3. package/dist/aws-amplify-datastore.js +3344 -1405
  4. package/dist/aws-amplify-datastore.js.map +1 -1
  5. package/dist/aws-amplify-datastore.min.js +25 -95
  6. package/dist/aws-amplify-datastore.min.js.map +1 -1
  7. package/lib/authModeStrategies/multiAuthStrategy.d.ts +2 -2
  8. package/lib/authModeStrategies/multiAuthStrategy.js +32 -26
  9. package/lib/authModeStrategies/multiAuthStrategy.js.map +1 -1
  10. package/lib/datastore/datastore.d.ts +17 -16
  11. package/lib/datastore/datastore.js +250 -78
  12. package/lib/datastore/datastore.js.map +1 -1
  13. package/lib/index.d.ts +3 -19
  14. package/lib/predicates/index.d.ts +3 -2
  15. package/lib/predicates/index.js +12 -2
  16. package/lib/predicates/index.js.map +1 -1
  17. package/lib/storage/adapter/AsyncStorageAdapter.d.ts +6 -2
  18. package/lib/storage/adapter/AsyncStorageAdapter.js +140 -66
  19. package/lib/storage/adapter/AsyncStorageAdapter.js.map +1 -1
  20. package/lib/storage/adapter/AsyncStorageDatabase.d.ts +4 -4
  21. package/lib/storage/adapter/AsyncStorageDatabase.js +57 -27
  22. package/lib/storage/adapter/AsyncStorageDatabase.js.map +1 -1
  23. package/lib/storage/adapter/InMemoryStore.js +2 -2
  24. package/lib/storage/adapter/InMemoryStore.js.map +1 -1
  25. package/lib/storage/adapter/IndexedDBAdapter.d.ts +7 -2
  26. package/lib/storage/adapter/IndexedDBAdapter.js +460 -253
  27. package/lib/storage/adapter/IndexedDBAdapter.js.map +1 -1
  28. package/lib/storage/adapter/index.d.ts +1 -1
  29. package/lib/storage/storage.d.ts +3 -3
  30. package/lib/storage/storage.js +106 -28
  31. package/lib/storage/storage.js.map +1 -1
  32. package/lib/sync/index.d.ts +23 -7
  33. package/lib/sync/index.js +18 -17
  34. package/lib/sync/index.js.map +1 -1
  35. package/lib/sync/merger.d.ts +3 -3
  36. package/lib/sync/merger.js +8 -6
  37. package/lib/sync/merger.js.map +1 -1
  38. package/lib/sync/outbox.d.ts +2 -2
  39. package/lib/sync/outbox.js +12 -9
  40. package/lib/sync/outbox.js.map +1 -1
  41. package/lib/sync/processors/errorMaps.d.ts +17 -0
  42. package/lib/sync/processors/errorMaps.js +125 -0
  43. package/lib/sync/processors/errorMaps.js.map +1 -0
  44. package/lib/sync/processors/mutation.d.ts +22 -4
  45. package/lib/sync/processors/mutation.js +119 -51
  46. package/lib/sync/processors/mutation.js.map +1 -1
  47. package/lib/sync/processors/subscription.d.ts +4 -2
  48. package/lib/sync/processors/subscription.js +76 -41
  49. package/lib/sync/processors/subscription.js.map +1 -1
  50. package/lib/sync/processors/sync.d.ts +4 -2
  51. package/lib/sync/processors/sync.js +62 -27
  52. package/lib/sync/processors/sync.js.map +1 -1
  53. package/lib/sync/utils.d.ts +3 -2
  54. package/lib/sync/utils.js +54 -7
  55. package/lib/sync/utils.js.map +1 -1
  56. package/lib/types.d.ts +85 -33
  57. package/lib/types.js +31 -2
  58. package/lib/types.js.map +1 -1
  59. package/lib/util.d.ts +43 -33
  60. package/lib/util.js +161 -21
  61. package/lib/util.js.map +1 -1
  62. package/lib-esm/authModeStrategies/multiAuthStrategy.d.ts +2 -2
  63. package/lib-esm/authModeStrategies/multiAuthStrategy.js +32 -26
  64. package/lib-esm/authModeStrategies/multiAuthStrategy.js.map +1 -1
  65. package/lib-esm/datastore/datastore.d.ts +17 -16
  66. package/lib-esm/datastore/datastore.js +252 -80
  67. package/lib-esm/datastore/datastore.js.map +1 -1
  68. package/lib-esm/index.d.ts +3 -19
  69. package/lib-esm/predicates/index.d.ts +3 -2
  70. package/lib-esm/predicates/index.js +13 -3
  71. package/lib-esm/predicates/index.js.map +1 -1
  72. package/lib-esm/storage/adapter/AsyncStorageAdapter.d.ts +6 -2
  73. package/lib-esm/storage/adapter/AsyncStorageAdapter.js +140 -66
  74. package/lib-esm/storage/adapter/AsyncStorageAdapter.js.map +1 -1
  75. package/lib-esm/storage/adapter/AsyncStorageDatabase.d.ts +4 -4
  76. package/lib-esm/storage/adapter/AsyncStorageDatabase.js +57 -27
  77. package/lib-esm/storage/adapter/AsyncStorageDatabase.js.map +1 -1
  78. package/lib-esm/storage/adapter/InMemoryStore.js +2 -2
  79. package/lib-esm/storage/adapter/InMemoryStore.js.map +1 -1
  80. package/lib-esm/storage/adapter/IndexedDBAdapter.d.ts +7 -2
  81. package/lib-esm/storage/adapter/IndexedDBAdapter.js +460 -253
  82. package/lib-esm/storage/adapter/IndexedDBAdapter.js.map +1 -1
  83. package/lib-esm/storage/adapter/index.d.ts +1 -1
  84. package/lib-esm/storage/storage.d.ts +3 -3
  85. package/lib-esm/storage/storage.js +106 -28
  86. package/lib-esm/storage/storage.js.map +1 -1
  87. package/lib-esm/sync/index.d.ts +23 -7
  88. package/lib-esm/sync/index.js +20 -19
  89. package/lib-esm/sync/index.js.map +1 -1
  90. package/lib-esm/sync/merger.d.ts +3 -3
  91. package/lib-esm/sync/merger.js +8 -6
  92. package/lib-esm/sync/merger.js.map +1 -1
  93. package/lib-esm/sync/outbox.d.ts +2 -2
  94. package/lib-esm/sync/outbox.js +13 -10
  95. package/lib-esm/sync/outbox.js.map +1 -1
  96. package/lib-esm/sync/processors/errorMaps.d.ts +17 -0
  97. package/lib-esm/sync/processors/errorMaps.js +119 -0
  98. package/lib-esm/sync/processors/errorMaps.js.map +1 -0
  99. package/lib-esm/sync/processors/mutation.d.ts +22 -4
  100. package/lib-esm/sync/processors/mutation.js +122 -54
  101. package/lib-esm/sync/processors/mutation.js.map +1 -1
  102. package/lib-esm/sync/processors/subscription.d.ts +4 -2
  103. package/lib-esm/sync/processors/subscription.js +77 -42
  104. package/lib-esm/sync/processors/subscription.js.map +1 -1
  105. package/lib-esm/sync/processors/sync.d.ts +4 -2
  106. package/lib-esm/sync/processors/sync.js +62 -27
  107. package/lib-esm/sync/processors/sync.js.map +1 -1
  108. package/lib-esm/sync/utils.d.ts +3 -2
  109. package/lib-esm/sync/utils.js +54 -8
  110. package/lib-esm/sync/utils.js.map +1 -1
  111. package/lib-esm/types.d.ts +85 -33
  112. package/lib-esm/types.js +29 -3
  113. package/lib-esm/types.js.map +1 -1
  114. package/lib-esm/util.d.ts +43 -33
  115. package/lib-esm/util.js +151 -18
  116. package/lib-esm/util.js.map +1 -1
  117. package/package.json +10 -9
  118. package/src/authModeStrategies/multiAuthStrategy.ts +24 -21
  119. package/src/datastore/datastore.ts +396 -143
  120. package/src/predicates/index.ts +32 -10
  121. package/src/storage/adapter/AsyncStorageAdapter.ts +161 -61
  122. package/src/storage/adapter/AsyncStorageDatabase.ts +62 -25
  123. package/src/storage/adapter/InMemoryStore.ts +2 -2
  124. package/src/storage/adapter/IndexedDBAdapter.ts +355 -101
  125. package/src/storage/adapter/index.ts +1 -1
  126. package/src/storage/storage.ts +85 -24
  127. package/src/sync/index.ts +74 -58
  128. package/src/sync/merger.ts +16 -4
  129. package/src/sync/outbox.ts +22 -8
  130. package/src/sync/processors/errorMaps.ts +93 -0
  131. package/src/sync/processors/mutation.ts +143 -84
  132. package/src/sync/processors/subscription.ts +67 -36
  133. package/src/sync/processors/sync.ts +37 -12
  134. package/src/sync/utils.ts +63 -15
  135. package/src/types.ts +242 -49
  136. package/src/util.ts +212 -35
  137. package/ssr/package.json +1 -1
@@ -1,12 +1,14 @@
1
1
  import Observable from 'zen-observable-ts';
2
- import { InternalSchema, ModelInstanceMetadata, SchemaModel, ModelPredicate, AuthModeStrategy } from '../../types';
2
+ import { InternalSchema, ModelInstanceMetadata, SchemaModel, ModelPredicate, AuthModeStrategy, ErrorHandler, AmplifyContext } from '../../types';
3
3
  declare class SyncProcessor {
4
4
  private readonly schema;
5
5
  private readonly syncPredicates;
6
6
  private readonly amplifyConfig;
7
7
  private readonly authModeStrategy;
8
+ private readonly errorHandler;
9
+ private readonly amplifyContext;
8
10
  private readonly typeQuery;
9
- constructor(schema: InternalSchema, syncPredicates: WeakMap<SchemaModel, ModelPredicate<any>>, amplifyConfig: Record<string, any>, authModeStrategy: AuthModeStrategy);
11
+ constructor(schema: InternalSchema, syncPredicates: WeakMap<SchemaModel, ModelPredicate<any>>, amplifyConfig: Record<string, any>, authModeStrategy: AuthModeStrategy, errorHandler: ErrorHandler, amplifyContext: AmplifyContext);
10
12
  private generateQueries;
11
13
  private graphqlFilterFromPredicate;
12
14
  private retrievePage;
@@ -79,9 +79,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
79
79
  Object.defineProperty(exports, "__esModule", { value: true });
80
80
  var api_1 = __importDefault(require("@aws-amplify/api"));
81
81
  var zen_observable_ts_1 = __importDefault(require("zen-observable-ts"));
82
+ var types_1 = require("../../types");
82
83
  var utils_1 = require("../utils");
84
+ var util_1 = require("../../util");
83
85
  var core_1 = require("@aws-amplify/core");
84
86
  var predicates_1 = require("../../predicates");
87
+ var errorMaps_1 = require("./errorMaps");
85
88
  var opResultDefaults = {
86
89
  items: [],
87
90
  nextToken: null,
@@ -89,13 +92,16 @@ var opResultDefaults = {
89
92
  };
90
93
  var logger = new core_1.ConsoleLogger('DataStore');
91
94
  var SyncProcessor = /** @class */ (function () {
92
- function SyncProcessor(schema, syncPredicates, amplifyConfig, authModeStrategy) {
95
+ function SyncProcessor(schema, syncPredicates, amplifyConfig, authModeStrategy, errorHandler, amplifyContext) {
93
96
  if (amplifyConfig === void 0) { amplifyConfig = {}; }
94
97
  this.schema = schema;
95
98
  this.syncPredicates = syncPredicates;
96
99
  this.amplifyConfig = amplifyConfig;
97
100
  this.authModeStrategy = authModeStrategy;
101
+ this.errorHandler = errorHandler;
102
+ this.amplifyContext = amplifyContext;
98
103
  this.typeQuery = new WeakMap();
104
+ amplifyContext.API = amplifyContext.API || api_1.default;
99
105
  this.generateQueries();
100
106
  }
101
107
  SyncProcessor.prototype.generateQueries = function () {
@@ -222,18 +228,20 @@ var SyncProcessor = /** @class */ (function () {
222
228
  switch (_b.label) {
223
229
  case 0: return [4 /*yield*/, core_1.jitteredExponentialRetry(function (query, variables) { return __awaiter(_this, void 0, void 0, function () {
224
230
  var authToken, error_2, clientOrForbiddenErrorMessage, hasItems, result, unauthorized, result;
231
+ var _this = this;
225
232
  return __generator(this, function (_a) {
226
233
  switch (_a.label) {
227
234
  case 0:
228
- _a.trys.push([0, 3, , 4]);
235
+ _a.trys.push([0, 3, , 8]);
229
236
  return [4 /*yield*/, utils_1.getTokenForCustomAuth(authMode, this.amplifyConfig)];
230
237
  case 1:
231
238
  authToken = _a.sent();
232
- return [4 /*yield*/, api_1.default.graphql({
239
+ return [4 /*yield*/, this.amplifyContext.API.graphql({
233
240
  query: query,
234
241
  variables: variables,
235
242
  authMode: authMode,
236
243
  authToken: authToken,
244
+ userAgentSuffix: util_1.USER_AGENT_SUFFIX_DATASTORE,
237
245
  })];
238
246
  case 2: return [2 /*return*/, _a.sent()];
239
247
  case 3:
@@ -246,25 +254,52 @@ var SyncProcessor = /** @class */ (function () {
246
254
  error_2.data &&
247
255
  error_2.data[opName] &&
248
256
  error_2.data[opName].items);
249
- if (this.partialDataFeatureFlagEnabled()) {
250
- if (hasItems) {
251
- result = error_2;
252
- result.data[opName].items = result.data[opName].items.filter(function (item) { return item !== null; });
253
- if (error_2.errors) {
254
- core_1.Hub.dispatch('datastore', {
255
- event: 'syncQueriesPartialSyncError',
256
- data: {
257
- errors: error_2.errors,
258
- modelName: modelDefinition.name,
259
- },
260
- });
261
- }
262
- return [2 /*return*/, result];
263
- }
264
- else {
265
- throw error_2;
266
- }
267
- }
257
+ if (!this.partialDataFeatureFlagEnabled()) return [3 /*break*/, 7];
258
+ if (!hasItems) return [3 /*break*/, 6];
259
+ result = error_2;
260
+ result.data[opName].items = result.data[opName].items.filter(function (item) { return item !== null; });
261
+ if (!error_2.errors) return [3 /*break*/, 5];
262
+ return [4 /*yield*/, Promise.all(error_2.errors.map(function (err) { return __awaiter(_this, void 0, void 0, function () {
263
+ var e_1;
264
+ return __generator(this, function (_a) {
265
+ switch (_a.label) {
266
+ case 0:
267
+ _a.trys.push([0, 2, , 3]);
268
+ return [4 /*yield*/, this.errorHandler({
269
+ recoverySuggestion: 'Ensure app code is up to date, auth directives exist and are correct on each model, and that server-side data has not been invalidated by a schema change. If the problem persists, search for or create an issue: https://github.com/aws-amplify/amplify-js/issues',
270
+ localModel: null,
271
+ message: err.message,
272
+ model: modelDefinition.name,
273
+ operation: opName,
274
+ errorType: errorMaps_1.getSyncErrorType(err),
275
+ process: types_1.ProcessName.sync,
276
+ remoteModel: null,
277
+ cause: err,
278
+ })];
279
+ case 1:
280
+ _a.sent();
281
+ return [3 /*break*/, 3];
282
+ case 2:
283
+ e_1 = _a.sent();
284
+ logger.error('Sync error handler failed with:', e_1);
285
+ return [3 /*break*/, 3];
286
+ case 3: return [2 /*return*/];
287
+ }
288
+ });
289
+ }); }))];
290
+ case 4:
291
+ _a.sent();
292
+ core_1.Hub.dispatch('datastore', {
293
+ event: 'syncQueriesPartialSyncError',
294
+ data: {
295
+ errors: error_2.errors,
296
+ modelName: modelDefinition.name,
297
+ },
298
+ });
299
+ _a.label = 5;
300
+ case 5: return [2 /*return*/, result];
301
+ case 6: throw error_2;
302
+ case 7:
268
303
  unauthorized = error_2 &&
269
304
  error_2.errors &&
270
305
  error_2.errors.some(function (err) { return err.errorType === 'Unauthorized'; });
@@ -282,8 +317,8 @@ var SyncProcessor = /** @class */ (function () {
282
317
  else {
283
318
  throw error_2;
284
319
  }
285
- return [3 /*break*/, 4];
286
- case 4: return [2 /*return*/];
320
+ return [3 /*break*/, 8];
321
+ case 8: return [2 /*return*/];
287
322
  }
288
323
  });
289
324
  }); }, [query, variables])];
@@ -299,7 +334,7 @@ var SyncProcessor = /** @class */ (function () {
299
334
  var parentPromises = new Map();
300
335
  var observable = new zen_observable_ts_1.default(function (observer) {
301
336
  var sortedTypesLastSyncs = Object.values(_this.schema.namespaces).reduce(function (map, namespace) {
302
- var e_1, _a;
337
+ var e_2, _a;
303
338
  try {
304
339
  for (var _b = __values(Array.from(namespace.modelTopologicalOrdering.keys())), _c = _b.next(); !_c.done; _c = _b.next()) {
305
340
  var modelName = _c.value;
@@ -307,12 +342,12 @@ var SyncProcessor = /** @class */ (function () {
307
342
  map.set(namespace.models[modelName], typeLastSync);
308
343
  }
309
344
  }
310
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
345
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
311
346
  finally {
312
347
  try {
313
348
  if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
314
349
  }
315
- finally { if (e_1) throw e_1.error; }
350
+ finally { if (e_2) throw e_2.error; }
316
351
  }
317
352
  return map;
318
353
  }, new Map());
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../src/sync/processors/sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../src/sync/processors/sync.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { GRAPHQL_AUTH_MODE } from '@aws-amplify/api-graphql';
2
2
  import { GraphQLAuthError } from '@aws-amplify/api';
3
3
  import { ModelInstanceCreator } from '../datastore/datastore';
4
- import { AuthorizationRule, GraphQLCondition, GraphQLFilter, OpType, PersistentModel, PersistentModelConstructor, PredicatesGroup, RelationshipType, SchemaModel, SchemaNamespace, SchemaNonModel, ModelOperation, InternalSchema, AuthModeStrategy } from '../types';
4
+ import { AuthorizationRule, GraphQLCondition, GraphQLFilter, ModelInstanceMetadata, OpType, PersistentModel, PersistentModelConstructor, PredicatesGroup, RelationshipType, SchemaModel, SchemaNamespace, SchemaNonModel, ModelOperation, InternalSchema, AuthModeStrategy } from '../types';
5
5
  import { MutationEvent } from './';
6
6
  declare enum GraphQLOperationType {
7
7
  LIST = "query",
@@ -22,7 +22,7 @@ export declare function getAuthorizationRules(modelDefinition: SchemaModel): Aut
22
22
  export declare function buildSubscriptionGraphQLOperation(namespace: SchemaNamespace, modelDefinition: SchemaModel, transformerMutationType: TransformerMutationType, isOwnerAuthorization: boolean, ownerField: string): [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
- export declare function predicateToGraphQLCondition(predicate: PredicatesGroup<any>): GraphQLCondition;
25
+ export declare function predicateToGraphQLCondition(predicate: PredicatesGroup<any>, modelDefinition: SchemaModel): GraphQLCondition;
26
26
  export declare function predicateToGraphQLFilter(predicatesGroup: PredicatesGroup<any>): GraphQLFilter;
27
27
  export declare function getUserGroupsFromToken(token: {
28
28
  [field: string]: any;
@@ -38,4 +38,5 @@ export declare function getModelAuthModes({ authModeStrategy, defaultAuthMode, m
38
38
  export declare function getForbiddenError(error: any): any;
39
39
  export declare function getClientSideAuthError(error: any): GraphQLAuthError;
40
40
  export declare function getTokenForCustomAuth(authMode: GRAPHQL_AUTH_MODE, amplifyConfig?: Record<string, any>): Promise<string | undefined>;
41
+ export declare function getIdentifierValue(modelDefinition: SchemaModel, model: ModelInstanceMetadata | PersistentModel): string;
41
42
  export {};
package/lib/sync/utils.js CHANGED
@@ -46,6 +46,22 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
46
46
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
47
  }
48
48
  };
49
+ var __read = (this && this.__read) || function (o, n) {
50
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
51
+ if (!m) return o;
52
+ var i = m.call(o), r, ar = [], e;
53
+ try {
54
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
55
+ }
56
+ catch (error) { e = { error: error }; }
57
+ finally {
58
+ try {
59
+ if (r && !r.done && (m = i["return"])) m.call(i);
60
+ }
61
+ finally { if (e) throw e.error; }
62
+ }
63
+ return ar;
64
+ };
49
65
  Object.defineProperty(exports, "__esModule", { value: true });
50
66
  var api_graphql_1 = require("@aws-amplify/api-graphql");
51
67
  var api_1 = require("@aws-amplify/api");
@@ -92,7 +108,7 @@ function generateSelectionSet(namespace, modelDefinition) {
92
108
  if (types_1.isSchemaModel(modelDefinition)) {
93
109
  scalarAndMetadataFields = scalarAndMetadataFields
94
110
  .concat(getMetadataFields())
95
- .concat(getConnectionFields(modelDefinition));
111
+ .concat(getConnectionFields(modelDefinition, namespace));
96
112
  }
97
113
  var result = scalarAndMetadataFields.join('\n');
98
114
  return result;
@@ -134,7 +150,8 @@ function getScalarFields(modelDefinition) {
134
150
  }, {});
135
151
  return result;
136
152
  }
137
- function getConnectionFields(modelDefinition) {
153
+ // Used for generating the selection set for queries and mutations
154
+ function getConnectionFields(modelDefinition, namespace) {
138
155
  var result = [];
139
156
  Object.values(modelDefinition.fields)
140
157
  .filter(function (_a) {
@@ -151,7 +168,20 @@ function getConnectionFields(modelDefinition) {
151
168
  break;
152
169
  case 'BELONGS_TO':
153
170
  if (types_1.isTargetNameAssociation(association)) {
154
- result.push(name + " { id _deleted }");
171
+ // New codegen (CPK)
172
+ if (association.targetNames && association.targetNames.length > 0) {
173
+ // Need to retrieve relations in order to get connected model keys
174
+ var _b = __read(util_1.establishRelationAndKeys(namespace), 1), relations = _b[0];
175
+ var connectedModelName = modelDefinition.fields[name].type['model'];
176
+ // keyFields are fields of the connected model
177
+ var keyFields = relations[connectedModelName].indexes;
178
+ // We rely on `_deleted` when we process the sync query (e.g. in batchSave in the adapters)
179
+ result.push(name + " { " + keyFields + " _deleted }");
180
+ }
181
+ else {
182
+ // backwards-compatability for schema generated prior to custom primary key support
183
+ result.push(name + " { id _deleted }");
184
+ }
155
185
  }
156
186
  break;
157
187
  default:
@@ -328,26 +358,36 @@ function createMutationInstanceFromModelOperation(relationships, modelDefinition
328
358
  }
329
359
  return v;
330
360
  };
331
- var mutationEvent = modelInstanceCreator(MutationEventConstructor, __assign(__assign({}, (id ? { id: id } : {})), { data: JSON.stringify(element, replacer), modelId: element.id, model: model.name, operation: operation, condition: JSON.stringify(condition) }));
361
+ var modelId = getIdentifierValue(modelDefinition, element);
362
+ var optionalId = types_1.OpType.INSERT && id ? { id: id } : {};
363
+ var mutationEvent = modelInstanceCreator(MutationEventConstructor, __assign(__assign({}, optionalId), { data: JSON.stringify(element, replacer), modelId: modelId, model: model.name, operation: operation, condition: JSON.stringify(condition) }));
332
364
  return mutationEvent;
333
365
  }
334
366
  exports.createMutationInstanceFromModelOperation = createMutationInstanceFromModelOperation;
335
- function predicateToGraphQLCondition(predicate) {
367
+ function predicateToGraphQLCondition(predicate, modelDefinition) {
336
368
  var result = {};
337
369
  if (!predicate || !Array.isArray(predicate.predicates)) {
338
370
  return result;
339
371
  }
372
+ var keyFields = util_1.extractPrimaryKeyFieldNames(modelDefinition);
340
373
  predicate.predicates.forEach(function (p) {
341
374
  var _a;
342
375
  if (types_1.isPredicateObj(p)) {
343
376
  var field = p.field, operator = p.operator, operand = p.operand;
344
- if (field === 'id') {
377
+ // This is compatible with how the GQL Transform currently generates the Condition Input,
378
+ // i.e. any PK and SK fields are omitted and can't be used as conditions.
379
+ // However, I think this limits usability.
380
+ // What if we want to delete all records where SK > some value
381
+ // Or all records where PK = some value but SKs are different values
382
+ // TODO: if the Transform gets updated ^ we'll need to modify this logic to only omit
383
+ // key fields from the predicate/condition when ALL of the keyFields are present and using `eq` operators
384
+ if (keyFields.includes(field)) {
345
385
  return;
346
386
  }
347
387
  result[field] = (_a = {}, _a[operator] = operand, _a);
348
388
  }
349
389
  else {
350
- result[p.type] = predicateToGraphQLCondition(p);
390
+ result[p.type] = predicateToGraphQLCondition(p, modelDefinition);
351
391
  }
352
392
  });
353
393
  return result;
@@ -511,4 +551,11 @@ function getTokenForCustomAuth(authMode, amplifyConfig) {
511
551
  });
512
552
  }
513
553
  exports.getTokenForCustomAuth = getTokenForCustomAuth;
554
+ // Util that takes a modelDefinition and model and returns either the id value(s) or the custom primary key value(s)
555
+ function getIdentifierValue(modelDefinition, model) {
556
+ var pkFieldNames = util_1.extractPrimaryKeyFieldNames(modelDefinition);
557
+ var idOrPk = pkFieldNames.map(function (f) { return model[f]; }).join('-');
558
+ return idOrPk;
559
+ }
560
+ exports.getIdentifierValue = getIdentifierValue;
514
561
  //# sourceMappingURL=utils.js.map
@@ -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
@@ -1,6 +1,9 @@
1
1
  import { ModelInstanceCreator } from './datastore/datastore';
2
2
  import { PredicateAll } from './predicates';
3
3
  import { GRAPHQL_AUTH_MODE } from '@aws-amplify/api-graphql';
4
+ import { Auth } from '@aws-amplify/auth';
5
+ import { API } from '@aws-amplify/api';
6
+ import Cache from '@aws-amplify/cache';
4
7
  import { Adapter } from './storage/adapter';
5
8
  export declare type Schema = UserSchema & {
6
9
  version: string;
@@ -43,17 +46,19 @@ declare type SchemaEnum = {
43
46
  export declare type ModelAssociation = AssociatedWith | TargetNameAssociation;
44
47
  declare type AssociatedWith = {
45
48
  connectionType: 'HAS_MANY' | 'HAS_ONE';
46
- associatedWith: string;
49
+ associatedWith: string | string[];
47
50
  targetName?: string;
51
+ targetNames?: string[];
48
52
  };
49
53
  export declare function isAssociatedWith(obj: any): obj is AssociatedWith;
50
54
  declare type TargetNameAssociation = {
51
55
  connectionType: 'BELONGS_TO';
52
- targetName: string;
56
+ targetName?: string;
57
+ targetNames?: string[];
53
58
  };
54
59
  export declare function isTargetNameAssociation(obj: any): obj is TargetNameAssociation;
55
60
  export declare type ModelAttributes = ModelAttribute[];
56
- declare type ModelAttribute = {
61
+ export declare type ModelAttribute = {
57
62
  type: string;
58
63
  properties?: Record<string, any>;
59
64
  };
@@ -84,6 +89,7 @@ declare type ModelAttributeKey = {
84
89
  declare type ModelAttributePrimaryKey = {
85
90
  type: 'key';
86
91
  properties: {
92
+ name: never;
87
93
  fields: string[];
88
94
  };
89
95
  };
@@ -176,44 +182,74 @@ export declare type ModelField = {
176
182
  export declare type NonModelTypeConstructor<T> = {
177
183
  new (init: T): T;
178
184
  };
179
- export declare type PersistentModelConstructor<T extends PersistentModel, K extends PersistentModelMetaData = {
180
- readOnlyFields: 'createdAt' | 'updatedAt';
181
- }> = {
182
- new (init: ModelInit<T, K>): T;
183
- copyOf(src: T, mutator: (draft: MutableModel<T, K>) => void): T;
184
- };
185
- export declare type TypeConstructorMap = Record<string, PersistentModelConstructor<any> | NonModelTypeConstructor<any>>;
186
- export declare type PersistentModelMetaData = {
187
- readOnlyFields: string;
188
- };
189
- export declare type PersistentModel = Readonly<{
190
- id: string;
191
- } & Record<string, any>>;
192
- export declare type ModelInit<T, K extends PersistentModelMetaData = {
193
- readOnlyFields: 'createdAt' | 'updatedAt';
194
- }> = Omit<T, 'id' | K['readOnlyFields']>;
185
+ export declare type PersistentModelConstructor<T extends PersistentModel> = {
186
+ new (init: ModelInit<T, PersistentModelMetaData<T>>): T;
187
+ copyOf(src: T, mutator: (draft: MutableModel<T, PersistentModelMetaData<T>>) => void): T;
188
+ };
189
+ export declare type TypeConstructorMap = Record<string, PersistentModelConstructor<any> | NonModelTypeConstructor<unknown>>;
190
+ export declare const __identifierBrand__: unique symbol;
191
+ export declare type IdentifierBrand<T, K> = T & {
192
+ [__identifierBrand__]: K;
193
+ };
194
+ export declare type ManagedIdentifier<T, F extends keyof T> = IdentifierBrand<{
195
+ field: F extends string ? F : never;
196
+ type: T;
197
+ }, 'ManagedIdentifier'>;
198
+ export declare type OptionallyManagedIdentifier<T, F extends keyof T> = IdentifierBrand<{
199
+ field: F extends string ? F : never;
200
+ type: T;
201
+ }, 'OptionallyManagedIdentifier'>;
202
+ export declare type CompositeIdentifier<T, K extends Array<keyof T>> = IdentifierBrand<{
203
+ fields: K;
204
+ type: T;
205
+ }, 'CompositeIdentifier'>;
206
+ export declare type CustomIdentifier<T, K extends keyof T> = CompositeIdentifier<T, [K]>;
207
+ export declare type Identifier<T> = ManagedIdentifier<T, any> | OptionallyManagedIdentifier<T, any> | CompositeIdentifier<T, any> | CustomIdentifier<T, any>;
208
+ export declare type IdentifierFields<T extends PersistentModel, M extends PersistentModelMetaData<T> = never> = (MetadataOrDefault<T, M>['identifier'] extends ManagedIdentifier<any, any> | OptionallyManagedIdentifier<any, any> ? MetadataOrDefault<T, M>['identifier']['field'] : MetadataOrDefault<T, M>['identifier'] extends CompositeIdentifier<T, infer B> ? B[number] : MetadataOrDefault<T, M>['identifier']['field']) & string;
209
+ export declare type IdentifierFieldsForInit<T extends PersistentModel, M extends PersistentModelMetaData<T>> = MetadataOrDefault<T, M>['identifier'] extends DefaultPersistentModelMetaData | ManagedIdentifier<T, any> ? never : MetadataOrDefault<T, M>['identifier'] extends OptionallyManagedIdentifier<T, any> ? IdentifierFields<T, M> : MetadataOrDefault<T, M>['identifier'] extends CompositeIdentifier<T, any> ? IdentifierFields<T, M> : never;
210
+ export declare const __modelMeta__: unique symbol;
211
+ export declare type PersistentModelMetaData<T> = {
212
+ identifier?: Identifier<T>;
213
+ readOnlyFields?: string;
214
+ };
215
+ export declare type DefaultPersistentModelMetaData = {
216
+ identifier: ManagedIdentifier<{
217
+ id: string;
218
+ }, 'id'>;
219
+ readOnlyFields: never;
220
+ };
221
+ export declare type MetadataOrDefault<T extends PersistentModel, _ extends PersistentModelMetaData<T> = never> = T extends {
222
+ [__modelMeta__]: PersistentModelMetaData<T>;
223
+ } ? T[typeof __modelMeta__] : DefaultPersistentModelMetaData;
224
+ export declare type PersistentModel = Readonly<Record<string, any>>;
225
+ export declare type MetadataReadOnlyFields<T extends PersistentModel, M extends PersistentModelMetaData<T>> = Extract<MetadataOrDefault<T, M>['readOnlyFields'] | M['readOnlyFields'], keyof T>;
226
+ export declare type ModelInit<T extends PersistentModel, M extends PersistentModelMetaData<T> = {}> = Omit<T, typeof __modelMeta__ | IdentifierFields<T, M> | MetadataReadOnlyFields<T, M>> & (MetadataOrDefault<T, M>['identifier'] extends OptionallyManagedIdentifier<T, any> ? Partial<Pick<T, IdentifierFieldsForInit<T, M>>> : Required<Pick<T, IdentifierFieldsForInit<T, M>>>);
195
227
  declare type DeepWritable<T> = {
196
228
  -readonly [P in keyof T]: T[P] extends TypeName<T[P]> ? T[P] : DeepWritable<T[P]>;
197
229
  };
198
- export declare type MutableModel<T extends Record<string, any>, K extends PersistentModelMetaData = {
199
- readOnlyFields: 'createdAt' | 'updatedAt';
200
- }> = DeepWritable<Omit<T, 'id' | K['readOnlyFields']>> & Readonly<Pick<T, 'id' | K['readOnlyFields']>>;
230
+ 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>>>;
201
231
  export declare type ModelInstanceMetadata = {
202
- id: string;
203
232
  _version: number;
204
233
  _lastChangedAt: number;
205
234
  _deleted: boolean;
206
235
  };
236
+ export declare type IdentifierFieldValue<T extends PersistentModel, M extends PersistentModelMetaData<T>> = MetadataOrDefault<T, M>['identifier'] extends CompositeIdentifier<T, any> ? MetadataOrDefault<T, M>['identifier']['fields'] extends [any] ? T[MetadataOrDefault<T, M>['identifier']['fields'][0]] : never : T[MetadataOrDefault<T, M>['identifier']['field']];
237
+ export declare type IdentifierFieldOrIdentifierObject<T extends PersistentModel, M extends PersistentModelMetaData<T>> = Pick<T, IdentifierFields<T, M>> | IdentifierFieldValue<T, M>;
238
+ export declare function isIdentifierFieldValue<T extends PersistentModel>(obj: any, modelDefinition: SchemaModel): obj is IdentifierFieldValue<T extends PersistentModel ? T : never, any>;
239
+ export declare function isIdentifierFieldOrObject<T extends PersistentModel>(obj: any, modelDefinition: SchemaModel): obj is IdentifierFieldOrIdentifierObject<T, any>;
240
+ export declare function isIdentifierObject<T extends PersistentModel>(obj: any, modelDefinition: SchemaModel): obj is IdentifierFields<T extends PersistentModel ? T : never, any>;
207
241
  export declare enum OpType {
208
242
  INSERT = "INSERT",
209
243
  UPDATE = "UPDATE",
210
244
  DELETE = "DELETE"
211
245
  }
212
- export declare type SubscriptionMessage<T extends PersistentModel> = {
246
+ export declare type SubscriptionMessage<T extends PersistentModel> = Pick<InternalSubscriptionMessage<T>, 'opType' | 'element' | 'model' | 'condition'>;
247
+ export declare type InternalSubscriptionMessage<T extends PersistentModel> = {
213
248
  opType: OpType;
214
249
  element: T;
215
250
  model: PersistentModelConstructor<T>;
216
251
  condition: PredicatesGroup<T> | null;
252
+ savedElement?: T;
217
253
  };
218
254
  export declare type DataStoreSnapshot<T extends PersistentModel> = {
219
255
  items: T[];
@@ -332,7 +368,8 @@ export declare type RelationType = {
332
368
  modelName: string;
333
369
  relationType: 'HAS_ONE' | 'HAS_MANY' | 'BELONGS_TO';
334
370
  targetName?: string;
335
- associatedWith?: string;
371
+ targetNames?: string[];
372
+ associatedWith?: string | string[];
336
373
  };
337
374
  export declare type RelationshipType = {
338
375
  [modelName: string]: {
@@ -351,7 +388,7 @@ export declare type DataStoreConfig = {
351
388
  DataStore?: {
352
389
  authModeStrategyType?: AuthModeStrategyType;
353
390
  conflictHandler?: ConflictHandler;
354
- errorHandler?: (error: SyncError) => void;
391
+ errorHandler?: (error: SyncError<PersistentModel>) => void;
355
392
  maxRecordsToSync?: number;
356
393
  syncPageSize?: number;
357
394
  fullSyncInterval?: number;
@@ -361,7 +398,7 @@ export declare type DataStoreConfig = {
361
398
  };
362
399
  authModeStrategyType?: AuthModeStrategyType;
363
400
  conflictHandler?: ConflictHandler;
364
- errorHandler?: (error: SyncError) => void;
401
+ errorHandler?: (error: SyncError<PersistentModel>) => void;
365
402
  maxRecordsToSync?: number;
366
403
  syncPageSize?: number;
367
404
  fullSyncInterval?: number;
@@ -419,17 +456,27 @@ export declare type SyncConflict = {
419
456
  operation: OpType;
420
457
  attempts: number;
421
458
  };
422
- export declare type SyncError = {
459
+ export declare type SyncError<T extends PersistentModel> = {
423
460
  message: string;
424
- errorType: string;
425
- errorInfo: string;
426
- localModel: PersistentModel;
427
- remoteModel: PersistentModel;
461
+ errorType: ErrorType;
462
+ errorInfo?: string;
463
+ recoverySuggestion?: string;
464
+ model?: string;
465
+ localModel: T;
466
+ remoteModel: T;
467
+ process: ProcessName;
428
468
  operation: string;
469
+ cause?: Error;
429
470
  };
471
+ export declare type ErrorType = 'ConfigError' | 'BadModel' | 'BadRecord' | 'Unauthorized' | 'Transient' | 'Unknown';
472
+ export declare enum ProcessName {
473
+ 'sync' = "sync",
474
+ 'mutate' = "mutate",
475
+ 'subscribe' = "subscribe"
476
+ }
430
477
  export declare const DISCARD: unique symbol;
431
478
  export declare type ConflictHandler = (conflict: SyncConflict) => Promise<PersistentModel | typeof DISCARD> | PersistentModel | typeof DISCARD;
432
- export declare type ErrorHandler = (error: SyncError) => void;
479
+ export declare type ErrorHandler = (error: SyncError<PersistentModel>) => void;
433
480
  export declare type DeferredCallbackResolverOptions = {
434
481
  callback: () => void;
435
482
  maxInterval?: number;
@@ -439,4 +486,9 @@ export declare enum LimitTimerRaceResolvedValues {
439
486
  LIMIT = "LIMIT",
440
487
  TIMER = "TIMER"
441
488
  }
489
+ export declare type AmplifyContext = {
490
+ Auth: typeof Auth;
491
+ API: typeof API;
492
+ Cache: typeof Cache;
493
+ };
442
494
  export {};