@aws-amplify/datastore 3.7.1-unstable.2 → 3.7.1-unstable.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/aws-amplify-datastore.js +51 -11
- package/dist/aws-amplify-datastore.js.map +1 -1
- package/dist/aws-amplify-datastore.min.js +1 -1
- package/dist/aws-amplify-datastore.min.js.map +1 -1
- package/lib/storage/adapter/InMemoryStore.native.d.ts +1 -2
- package/lib/storage/storage.js +2 -1
- package/lib/storage/storage.js.map +1 -1
- package/lib/sync/outbox.d.ts +1 -0
- package/lib/sync/outbox.js +39 -5
- package/lib/sync/outbox.js.map +1 -1
- package/lib-esm/storage/adapter/InMemoryStore.native.d.ts +1 -2
- package/lib-esm/storage/storage.js +2 -1
- package/lib-esm/storage/storage.js.map +1 -1
- package/lib-esm/sync/outbox.d.ts +1 -0
- package/lib-esm/sync/outbox.js +40 -6
- package/lib-esm/sync/outbox.js.map +1 -1
- package/package.json +7 -7
- package/src/storage/storage.ts +12 -15
- package/src/sync/outbox.ts +57 -18
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export declare function createInMemoryStore(): import("@react-native-async-storage/async-storage").AsyncStorageStatic;
|
|
1
|
+
export declare function createInMemoryStore(): AsyncStorage;
|
package/lib/storage/storage.js
CHANGED
|
@@ -351,7 +351,8 @@ var StorageClass = /** @class */ (function () {
|
|
|
351
351
|
// set original values for these fields
|
|
352
352
|
updatedFields.forEach(function (field) {
|
|
353
353
|
var e_2, _a, e_3, _b;
|
|
354
|
-
var
|
|
354
|
+
var _c;
|
|
355
|
+
var targetName = types_1.isTargetNameAssociation((_c = fields[field]) === null || _c === void 0 ? void 0 : _c.association);
|
|
355
356
|
// if field refers to a belongsTo relation, use the target field instead
|
|
356
357
|
var key = targetName || field;
|
|
357
358
|
// check field values by value. Ignore unchanged fields
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/storage/storage.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAAkD;AAElD,sDAAkC;AAGlC,4CAAsD;AACtD,kCAckB;AAClB,gCAKiB;AAEjB,kFAA4D;
|
|
1
|
+
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/storage/storage.ts"],"names":[],"mappings":"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"}
|
package/lib/sync/outbox.d.ts
CHANGED
package/lib/sync/outbox.js
CHANGED
|
@@ -202,8 +202,7 @@ var MutationEventOutbox = /** @class */ (function () {
|
|
|
202
202
|
return __generator(this, function (_a) {
|
|
203
203
|
switch (_a.label) {
|
|
204
204
|
case 0:
|
|
205
|
-
mutationEventModelDefinition = this.schema.namespaces[util_1.SYNC].models
|
|
206
|
-
.MutationEvent;
|
|
205
|
+
mutationEventModelDefinition = this.schema.namespaces[util_1.SYNC].models.MutationEvent;
|
|
207
206
|
return [4 /*yield*/, storage.query(this.MutationEvent, predicates_1.ModelPredicateCreator.createFromExisting(mutationEventModelDefinition, function (c) { return c.modelId('eq', model.id); }))];
|
|
208
207
|
case 1:
|
|
209
208
|
mutationEvents = _a.sent();
|
|
@@ -235,7 +234,7 @@ var MutationEventOutbox = /** @class */ (function () {
|
|
|
235
234
|
// see https://github.com/aws-amplify/amplify-js/pull/7354 for more details
|
|
236
235
|
MutationEventOutbox.prototype.syncOutboxVersionsOnDequeue = function (storage, record, head, recordOp) {
|
|
237
236
|
return __awaiter(this, void 0, void 0, function () {
|
|
238
|
-
var _version, _lastChangedAt, _deleted, incomingData, data, __version, __lastChangedAt, __deleted, outgoingData, mutationEventModelDefinition, predicate, outdatedMutations, reconciledMutations;
|
|
237
|
+
var _version, _lastChangedAt, _deleted, _incomingData, incomingData, data, __version, __lastChangedAt, __deleted, _outgoingData, outgoingData, mutationEventModelDefinition, predicate, outdatedMutations, reconciledMutations;
|
|
239
238
|
var _this = this;
|
|
240
239
|
return __generator(this, function (_a) {
|
|
241
240
|
switch (_a.label) {
|
|
@@ -243,12 +242,14 @@ var MutationEventOutbox = /** @class */ (function () {
|
|
|
243
242
|
if (head.operation !== recordOp) {
|
|
244
243
|
return [2 /*return*/];
|
|
245
244
|
}
|
|
246
|
-
_version = record._version, _lastChangedAt = record._lastChangedAt, _deleted = record._deleted,
|
|
245
|
+
_version = record._version, _lastChangedAt = record._lastChangedAt, _deleted = record._deleted, _incomingData = __rest(record, ["_version", "_lastChangedAt", "_deleted"]);
|
|
246
|
+
incomingData = this.removeTimestampFields(head.model, _incomingData);
|
|
247
247
|
data = JSON.parse(head.data);
|
|
248
248
|
if (!data) {
|
|
249
249
|
return [2 /*return*/];
|
|
250
250
|
}
|
|
251
|
-
__version = data._version, __lastChangedAt = data._lastChangedAt, __deleted = data._deleted,
|
|
251
|
+
__version = data._version, __lastChangedAt = data._lastChangedAt, __deleted = data._deleted, _outgoingData = __rest(data, ["_version", "_lastChangedAt", "_deleted"]);
|
|
252
|
+
outgoingData = this.removeTimestampFields(head.model, _outgoingData);
|
|
252
253
|
// Don't sync the version when the data in the response does not match the data
|
|
253
254
|
// in the request, i.e., when there's a handled conflict
|
|
254
255
|
if (!util_1.valuesEqual(incomingData, outgoingData, true)) {
|
|
@@ -294,6 +295,39 @@ var MutationEventOutbox = /** @class */ (function () {
|
|
|
294
295
|
_deleted: _deleted }, previousData), currentData));
|
|
295
296
|
return this.modelInstanceCreator(this.MutationEvent, __assign(__assign({}, current), { data: data }));
|
|
296
297
|
};
|
|
298
|
+
/*
|
|
299
|
+
if a model is using custom timestamp fields
|
|
300
|
+
the custom field names will be stored in the model attributes
|
|
301
|
+
|
|
302
|
+
e.g.
|
|
303
|
+
"attributes": [
|
|
304
|
+
{
|
|
305
|
+
"type": "model",
|
|
306
|
+
"properties": {
|
|
307
|
+
"timestamps": {
|
|
308
|
+
"createdAt": "createdOn",
|
|
309
|
+
"updatedAt": "updatedOn"
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
]
|
|
314
|
+
*/
|
|
315
|
+
MutationEventOutbox.prototype.removeTimestampFields = function (model, record) {
|
|
316
|
+
var _a, _b;
|
|
317
|
+
var CREATED_AT_DEFAULT_KEY = 'createdAt';
|
|
318
|
+
var UPDATED_AT_DEFAULT_KEY = 'updatedAt';
|
|
319
|
+
var createdTimestampKey = CREATED_AT_DEFAULT_KEY;
|
|
320
|
+
var updatedTimestampKey = UPDATED_AT_DEFAULT_KEY;
|
|
321
|
+
var modelAttributes = (_a = this.schema.namespaces[util_1.USER].models[model].attributes) === null || _a === void 0 ? void 0 : _a.find(function (attr) { return attr.type === 'model'; });
|
|
322
|
+
var timestampFieldsMap = (_b = modelAttributes === null || modelAttributes === void 0 ? void 0 : modelAttributes.properties) === null || _b === void 0 ? void 0 : _b.timestamps;
|
|
323
|
+
if (timestampFieldsMap) {
|
|
324
|
+
createdTimestampKey = timestampFieldsMap[CREATED_AT_DEFAULT_KEY];
|
|
325
|
+
updatedTimestampKey = timestampFieldsMap[UPDATED_AT_DEFAULT_KEY];
|
|
326
|
+
}
|
|
327
|
+
delete record[createdTimestampKey];
|
|
328
|
+
delete record[updatedTimestampKey];
|
|
329
|
+
return record;
|
|
330
|
+
};
|
|
297
331
|
return MutationEventOutbox;
|
|
298
332
|
}());
|
|
299
333
|
exports.MutationEventOutbox = MutationEventOutbox;
|
package/lib/sync/outbox.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outbox.js","sourceRoot":"","sources":["../../src/sync/outbox.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,4CAAsD;AAOtD,kCAKkB;AAClB,
|
|
1
|
+
{"version":3,"file":"outbox.js","sourceRoot":"","sources":["../../src/sync/outbox.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export declare function createInMemoryStore(): import("@react-native-async-storage/async-storage").AsyncStorageStatic;
|
|
1
|
+
export declare function createInMemoryStore(): AsyncStorage;
|
|
@@ -346,7 +346,8 @@ var StorageClass = /** @class */ (function () {
|
|
|
346
346
|
// set original values for these fields
|
|
347
347
|
updatedFields.forEach(function (field) {
|
|
348
348
|
var e_2, _a, e_3, _b;
|
|
349
|
-
var
|
|
349
|
+
var _c;
|
|
350
|
+
var targetName = isTargetNameAssociation((_c = fields[field]) === null || _c === void 0 ? void 0 : _c.association);
|
|
350
351
|
// if field refers to a belongsTo relation, use the target field instead
|
|
351
352
|
var key = targetName || field;
|
|
352
353
|
// check field values by value. Ignore unchanged fields
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/storage/storage.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,UAAU,MAAM,UAAU,CAAC;AAGlC,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAKN,MAAM,EAKN,QAAQ,EAGR,uBAAuB,GACvB,MAAM,UAAU,CAAC;AAClB,OAAO,EACN,kBAAkB,EAClB,OAAO,EACP,iBAAiB,EACjB,WAAW,GACX,MAAM,SAAS,CAAC;AAEjB,OAAO,iBAAiB,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/storage/storage.ts"],"names":[],"mappings":"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"}
|
package/lib-esm/sync/outbox.d.ts
CHANGED
package/lib-esm/sync/outbox.js
CHANGED
|
@@ -74,7 +74,7 @@ var __read = (this && this.__read) || function (o, n) {
|
|
|
74
74
|
};
|
|
75
75
|
import { ModelPredicateCreator } from '../predicates';
|
|
76
76
|
import { QueryOne, } from '../types';
|
|
77
|
-
import { SYNC, valuesEqual } from '../util';
|
|
77
|
+
import { USER, SYNC, valuesEqual } from '../util';
|
|
78
78
|
import { TransformerMutationType } from './utils';
|
|
79
79
|
// TODO: Persist deleted ids
|
|
80
80
|
var MutationEventOutbox = /** @class */ (function () {
|
|
@@ -200,8 +200,7 @@ var MutationEventOutbox = /** @class */ (function () {
|
|
|
200
200
|
return __generator(this, function (_a) {
|
|
201
201
|
switch (_a.label) {
|
|
202
202
|
case 0:
|
|
203
|
-
mutationEventModelDefinition = this.schema.namespaces[SYNC].models
|
|
204
|
-
.MutationEvent;
|
|
203
|
+
mutationEventModelDefinition = this.schema.namespaces[SYNC].models.MutationEvent;
|
|
205
204
|
return [4 /*yield*/, storage.query(this.MutationEvent, ModelPredicateCreator.createFromExisting(mutationEventModelDefinition, function (c) { return c.modelId('eq', model.id); }))];
|
|
206
205
|
case 1:
|
|
207
206
|
mutationEvents = _a.sent();
|
|
@@ -233,7 +232,7 @@ var MutationEventOutbox = /** @class */ (function () {
|
|
|
233
232
|
// see https://github.com/aws-amplify/amplify-js/pull/7354 for more details
|
|
234
233
|
MutationEventOutbox.prototype.syncOutboxVersionsOnDequeue = function (storage, record, head, recordOp) {
|
|
235
234
|
return __awaiter(this, void 0, void 0, function () {
|
|
236
|
-
var _version, _lastChangedAt, _deleted, incomingData, data, __version, __lastChangedAt, __deleted, outgoingData, mutationEventModelDefinition, predicate, outdatedMutations, reconciledMutations;
|
|
235
|
+
var _version, _lastChangedAt, _deleted, _incomingData, incomingData, data, __version, __lastChangedAt, __deleted, _outgoingData, outgoingData, mutationEventModelDefinition, predicate, outdatedMutations, reconciledMutations;
|
|
237
236
|
var _this = this;
|
|
238
237
|
return __generator(this, function (_a) {
|
|
239
238
|
switch (_a.label) {
|
|
@@ -241,12 +240,14 @@ var MutationEventOutbox = /** @class */ (function () {
|
|
|
241
240
|
if (head.operation !== recordOp) {
|
|
242
241
|
return [2 /*return*/];
|
|
243
242
|
}
|
|
244
|
-
_version = record._version, _lastChangedAt = record._lastChangedAt, _deleted = record._deleted,
|
|
243
|
+
_version = record._version, _lastChangedAt = record._lastChangedAt, _deleted = record._deleted, _incomingData = __rest(record, ["_version", "_lastChangedAt", "_deleted"]);
|
|
244
|
+
incomingData = this.removeTimestampFields(head.model, _incomingData);
|
|
245
245
|
data = JSON.parse(head.data);
|
|
246
246
|
if (!data) {
|
|
247
247
|
return [2 /*return*/];
|
|
248
248
|
}
|
|
249
|
-
__version = data._version, __lastChangedAt = data._lastChangedAt, __deleted = data._deleted,
|
|
249
|
+
__version = data._version, __lastChangedAt = data._lastChangedAt, __deleted = data._deleted, _outgoingData = __rest(data, ["_version", "_lastChangedAt", "_deleted"]);
|
|
250
|
+
outgoingData = this.removeTimestampFields(head.model, _outgoingData);
|
|
250
251
|
// Don't sync the version when the data in the response does not match the data
|
|
251
252
|
// in the request, i.e., when there's a handled conflict
|
|
252
253
|
if (!valuesEqual(incomingData, outgoingData, true)) {
|
|
@@ -292,6 +293,39 @@ var MutationEventOutbox = /** @class */ (function () {
|
|
|
292
293
|
_deleted: _deleted }, previousData), currentData));
|
|
293
294
|
return this.modelInstanceCreator(this.MutationEvent, __assign(__assign({}, current), { data: data }));
|
|
294
295
|
};
|
|
296
|
+
/*
|
|
297
|
+
if a model is using custom timestamp fields
|
|
298
|
+
the custom field names will be stored in the model attributes
|
|
299
|
+
|
|
300
|
+
e.g.
|
|
301
|
+
"attributes": [
|
|
302
|
+
{
|
|
303
|
+
"type": "model",
|
|
304
|
+
"properties": {
|
|
305
|
+
"timestamps": {
|
|
306
|
+
"createdAt": "createdOn",
|
|
307
|
+
"updatedAt": "updatedOn"
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
]
|
|
312
|
+
*/
|
|
313
|
+
MutationEventOutbox.prototype.removeTimestampFields = function (model, record) {
|
|
314
|
+
var _a, _b;
|
|
315
|
+
var CREATED_AT_DEFAULT_KEY = 'createdAt';
|
|
316
|
+
var UPDATED_AT_DEFAULT_KEY = 'updatedAt';
|
|
317
|
+
var createdTimestampKey = CREATED_AT_DEFAULT_KEY;
|
|
318
|
+
var updatedTimestampKey = UPDATED_AT_DEFAULT_KEY;
|
|
319
|
+
var modelAttributes = (_a = this.schema.namespaces[USER].models[model].attributes) === null || _a === void 0 ? void 0 : _a.find(function (attr) { return attr.type === 'model'; });
|
|
320
|
+
var timestampFieldsMap = (_b = modelAttributes === null || modelAttributes === void 0 ? void 0 : modelAttributes.properties) === null || _b === void 0 ? void 0 : _b.timestamps;
|
|
321
|
+
if (timestampFieldsMap) {
|
|
322
|
+
createdTimestampKey = timestampFieldsMap[CREATED_AT_DEFAULT_KEY];
|
|
323
|
+
updatedTimestampKey = timestampFieldsMap[UPDATED_AT_DEFAULT_KEY];
|
|
324
|
+
}
|
|
325
|
+
delete record[createdTimestampKey];
|
|
326
|
+
delete record[updatedTimestampKey];
|
|
327
|
+
return record;
|
|
328
|
+
};
|
|
295
329
|
return MutationEventOutbox;
|
|
296
330
|
}());
|
|
297
331
|
export { MutationEventOutbox };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outbox.js","sourceRoot":"","sources":["../../src/sync/outbox.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAOtD,OAAO,EAIN,QAAQ,GACR,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"outbox.js","sourceRoot":"","sources":["../../src/sync/outbox.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-amplify/datastore",
|
|
3
|
-
"version": "3.7.1-unstable.
|
|
3
|
+
"version": "3.7.1-unstable.6+807dea0ac",
|
|
4
4
|
"description": "AppSyncLocal support for aws-amplify",
|
|
5
5
|
"main": "./lib/index.js",
|
|
6
6
|
"module": "./lib-esm/index.js",
|
|
@@ -48,11 +48,11 @@
|
|
|
48
48
|
"fake-indexeddb": "3.0.0"
|
|
49
49
|
},
|
|
50
50
|
"dependencies": {
|
|
51
|
-
"@aws-amplify/api": "4.0.27-unstable.
|
|
52
|
-
"@aws-amplify/auth": "4.3.17-unstable.
|
|
53
|
-
"@aws-amplify/core": "4.3.9-unstable.
|
|
54
|
-
"@aws-amplify/pubsub": "4.2.3-unstable.
|
|
55
|
-
"amazon-cognito-identity-js": "5.2.4-unstable.
|
|
51
|
+
"@aws-amplify/api": "4.0.27-unstable.6+807dea0ac",
|
|
52
|
+
"@aws-amplify/auth": "4.3.17-unstable.6+807dea0ac",
|
|
53
|
+
"@aws-amplify/core": "4.3.9-unstable.6+807dea0ac",
|
|
54
|
+
"@aws-amplify/pubsub": "4.2.3-unstable.6+807dea0ac",
|
|
55
|
+
"amazon-cognito-identity-js": "5.2.4-unstable.27+807dea0ac",
|
|
56
56
|
"idb": "5.0.6",
|
|
57
57
|
"immer": "9.0.6",
|
|
58
58
|
"ulid": "2.3.0",
|
|
@@ -111,5 +111,5 @@
|
|
|
111
111
|
"lib-esm"
|
|
112
112
|
]
|
|
113
113
|
},
|
|
114
|
-
"gitHead": "
|
|
114
|
+
"gitHead": "807dea0acae8389854560ca73b035ecbf220d040"
|
|
115
115
|
}
|
package/src/storage/storage.ts
CHANGED
|
@@ -28,11 +28,10 @@ import {
|
|
|
28
28
|
import { Adapter } from './adapter';
|
|
29
29
|
import getDefaultAdapter from './adapter/getDefaultAdapter';
|
|
30
30
|
|
|
31
|
-
export type StorageSubscriptionMessage<
|
|
32
|
-
T
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
};
|
|
31
|
+
export type StorageSubscriptionMessage<T extends PersistentModel> =
|
|
32
|
+
SubscriptionMessage<T> & {
|
|
33
|
+
mutator?: Symbol;
|
|
34
|
+
};
|
|
36
35
|
|
|
37
36
|
export type StorageFacade = Omit<Adapter, 'setUp'>;
|
|
38
37
|
export type Storage = InstanceType<typeof StorageClass>;
|
|
@@ -135,9 +134,9 @@ class StorageClass implements StorageFacade {
|
|
|
135
134
|
|
|
136
135
|
const element = updateMutationInput || originalElement;
|
|
137
136
|
|
|
138
|
-
const modelConstructor = (
|
|
139
|
-
originalElement
|
|
140
|
-
)
|
|
137
|
+
const modelConstructor = (
|
|
138
|
+
Object.getPrototypeOf(originalElement) as Object
|
|
139
|
+
).constructor as PersistentModelConstructor<T>;
|
|
141
140
|
|
|
142
141
|
this.pushStream.next({
|
|
143
142
|
model: modelConstructor,
|
|
@@ -318,17 +317,15 @@ class StorageClass implements StorageFacade {
|
|
|
318
317
|
const modelConstructor = Object.getPrototypeOf(model)
|
|
319
318
|
.constructor as PersistentModelConstructor<T>;
|
|
320
319
|
const namespace = this.namespaceResolver(modelConstructor);
|
|
321
|
-
const { fields } =
|
|
322
|
-
modelConstructor.name
|
|
323
|
-
]
|
|
324
|
-
|
|
325
|
-
namespace
|
|
326
|
-
].keys[modelConstructor.name];
|
|
320
|
+
const { fields } =
|
|
321
|
+
this.schema.namespaces[namespace].models[modelConstructor.name];
|
|
322
|
+
const { primaryKey, compositeKeys = [] } =
|
|
323
|
+
this.schema.namespaces[namespace].keys[modelConstructor.name];
|
|
327
324
|
|
|
328
325
|
// set original values for these fields
|
|
329
326
|
updatedFields.forEach((field: string) => {
|
|
330
327
|
const targetName: any = isTargetNameAssociation(
|
|
331
|
-
fields[field]
|
|
328
|
+
fields[field]?.association
|
|
332
329
|
);
|
|
333
330
|
|
|
334
331
|
// if field refers to a belongsTo relation, use the target field instead
|
package/src/sync/outbox.ts
CHANGED
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
PersistentModelConstructor,
|
|
13
13
|
QueryOne,
|
|
14
14
|
} from '../types';
|
|
15
|
-
import { SYNC, valuesEqual } from '../util';
|
|
15
|
+
import { USER, SYNC, valuesEqual } from '../util';
|
|
16
16
|
import { TransformerMutationType } from './utils';
|
|
17
17
|
|
|
18
18
|
// TODO: Persist deleted ids
|
|
@@ -31,9 +31,8 @@ class MutationEventOutbox {
|
|
|
31
31
|
mutationEvent: MutationEvent
|
|
32
32
|
): Promise<void> {
|
|
33
33
|
storage.runExclusive(async s => {
|
|
34
|
-
const mutationEventModelDefinition =
|
|
35
|
-
'MutationEvent'
|
|
36
|
-
];
|
|
34
|
+
const mutationEventModelDefinition =
|
|
35
|
+
this.schema.namespaces[SYNC].models['MutationEvent'];
|
|
37
36
|
|
|
38
37
|
const predicate = ModelPredicateCreator.createFromExisting<MutationEvent>(
|
|
39
38
|
mutationEventModelDefinition,
|
|
@@ -124,8 +123,8 @@ class MutationEventOutbox {
|
|
|
124
123
|
storage: StorageFacade,
|
|
125
124
|
model: T
|
|
126
125
|
): Promise<MutationEvent[]> {
|
|
127
|
-
const mutationEventModelDefinition =
|
|
128
|
-
.MutationEvent;
|
|
126
|
+
const mutationEventModelDefinition =
|
|
127
|
+
this.schema.namespaces[SYNC].models.MutationEvent;
|
|
129
128
|
|
|
130
129
|
const mutationEvents = await storage.query(
|
|
131
130
|
this.MutationEvent,
|
|
@@ -161,7 +160,9 @@ class MutationEventOutbox {
|
|
|
161
160
|
return;
|
|
162
161
|
}
|
|
163
162
|
|
|
164
|
-
const { _version, _lastChangedAt, _deleted, ...
|
|
163
|
+
const { _version, _lastChangedAt, _deleted, ..._incomingData } = record;
|
|
164
|
+
const incomingData = this.removeTimestampFields(head.model, _incomingData);
|
|
165
|
+
|
|
165
166
|
const data = JSON.parse(head.data);
|
|
166
167
|
|
|
167
168
|
if (!data) {
|
|
@@ -172,8 +173,9 @@ class MutationEventOutbox {
|
|
|
172
173
|
_version: __version,
|
|
173
174
|
_lastChangedAt: __lastChangedAt,
|
|
174
175
|
_deleted: __deleted,
|
|
175
|
-
...
|
|
176
|
+
..._outgoingData
|
|
176
177
|
} = data;
|
|
178
|
+
const outgoingData = this.removeTimestampFields(head.model, _outgoingData);
|
|
177
179
|
|
|
178
180
|
// Don't sync the version when the data in the response does not match the data
|
|
179
181
|
// in the request, i.e., when there's a handled conflict
|
|
@@ -181,9 +183,8 @@ class MutationEventOutbox {
|
|
|
181
183
|
return;
|
|
182
184
|
}
|
|
183
185
|
|
|
184
|
-
const mutationEventModelDefinition =
|
|
185
|
-
'MutationEvent'
|
|
186
|
-
];
|
|
186
|
+
const mutationEventModelDefinition =
|
|
187
|
+
this.schema.namespaces[SYNC].models['MutationEvent'];
|
|
187
188
|
|
|
188
189
|
const predicate = ModelPredicateCreator.createFromExisting<MutationEvent>(
|
|
189
190
|
mutationEventModelDefinition,
|
|
@@ -222,13 +223,8 @@ class MutationEventOutbox {
|
|
|
222
223
|
previous: MutationEvent,
|
|
223
224
|
current: MutationEvent
|
|
224
225
|
): MutationEvent {
|
|
225
|
-
const {
|
|
226
|
-
|
|
227
|
-
id,
|
|
228
|
-
_lastChangedAt,
|
|
229
|
-
_deleted,
|
|
230
|
-
...previousData
|
|
231
|
-
} = JSON.parse(previous.data);
|
|
226
|
+
const { _version, id, _lastChangedAt, _deleted, ...previousData } =
|
|
227
|
+
JSON.parse(previous.data);
|
|
232
228
|
|
|
233
229
|
const {
|
|
234
230
|
id: __id,
|
|
@@ -252,6 +248,49 @@ class MutationEventOutbox {
|
|
|
252
248
|
data,
|
|
253
249
|
});
|
|
254
250
|
}
|
|
251
|
+
|
|
252
|
+
/*
|
|
253
|
+
if a model is using custom timestamp fields
|
|
254
|
+
the custom field names will be stored in the model attributes
|
|
255
|
+
|
|
256
|
+
e.g.
|
|
257
|
+
"attributes": [
|
|
258
|
+
{
|
|
259
|
+
"type": "model",
|
|
260
|
+
"properties": {
|
|
261
|
+
"timestamps": {
|
|
262
|
+
"createdAt": "createdOn",
|
|
263
|
+
"updatedAt": "updatedOn"
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
]
|
|
268
|
+
*/
|
|
269
|
+
private removeTimestampFields(
|
|
270
|
+
model: string,
|
|
271
|
+
record: PersistentModel
|
|
272
|
+
): PersistentModel {
|
|
273
|
+
const CREATED_AT_DEFAULT_KEY = 'createdAt';
|
|
274
|
+
const UPDATED_AT_DEFAULT_KEY = 'updatedAt';
|
|
275
|
+
|
|
276
|
+
let createdTimestampKey = CREATED_AT_DEFAULT_KEY;
|
|
277
|
+
let updatedTimestampKey = UPDATED_AT_DEFAULT_KEY;
|
|
278
|
+
|
|
279
|
+
const modelAttributes = this.schema.namespaces[USER].models[
|
|
280
|
+
model
|
|
281
|
+
].attributes?.find(attr => attr.type === 'model');
|
|
282
|
+
const timestampFieldsMap = modelAttributes?.properties?.timestamps;
|
|
283
|
+
|
|
284
|
+
if (timestampFieldsMap) {
|
|
285
|
+
createdTimestampKey = timestampFieldsMap[CREATED_AT_DEFAULT_KEY];
|
|
286
|
+
updatedTimestampKey = timestampFieldsMap[UPDATED_AT_DEFAULT_KEY];
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
delete (record as Record<string, any>)[createdTimestampKey];
|
|
290
|
+
delete (record as Record<string, any>)[updatedTimestampKey];
|
|
291
|
+
|
|
292
|
+
return record;
|
|
293
|
+
}
|
|
255
294
|
}
|
|
256
295
|
|
|
257
296
|
export { MutationEventOutbox };
|