@resolveio/server-lib 9.0.33 → 9.0.35
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/managers/method.manager.js +15 -7
- package/managers/method.manager.js.map +1 -1
- package/managers/mongo.manager.d.ts +14 -14
- package/managers/mongo.manager.js +336 -145
- package/managers/mongo.manager.js.map +1 -1
- package/managers/subscription.manager.js +10 -4
- package/managers/subscription.manager.js.map +1 -1
- package/methods/collections.js +27 -436
- package/methods/collections.js.map +1 -1
- package/package.json +1 -1
- package/server-app.js.map +1 -1
package/methods/collections.js
CHANGED
|
@@ -129,30 +129,15 @@ function loadCollectionMethods(methodManager) {
|
|
|
129
129
|
}
|
|
130
130
|
}),
|
|
131
131
|
function: function (collection, document) {
|
|
132
|
-
var _this = this;
|
|
133
132
|
return new Promise(function (resolve, reject) {
|
|
134
133
|
if (!index_1.ResolveIOServer.getMongoManager().collection(collection)) {
|
|
135
134
|
reject('Invalid collection');
|
|
136
135
|
}
|
|
137
136
|
else {
|
|
138
|
-
var
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
}
|
|
142
|
-
catch (errors) {
|
|
143
|
-
schemaErrors = errors;
|
|
144
|
-
_this.callMethodInternal('insertErrorLog', 'Schema Failed on insert - ' + collection, [schemaErrors, document]);
|
|
145
|
-
}
|
|
146
|
-
if (schemaErrors) {
|
|
147
|
-
console.log(schemaErrors);
|
|
148
|
-
reject('Schema Errors');
|
|
149
|
-
}
|
|
150
|
-
else {
|
|
151
|
-
var id_1 = mongo_manager_1.objectIdHexString();
|
|
152
|
-
document['_id'] = id_1;
|
|
153
|
-
document['__v'] = 0;
|
|
154
|
-
index_1.ResolveIOServer.getMongoManager().collection(collection).insertOne(document).then(function () { return resolve(id_1); }, function (err) { return reject(err); });
|
|
155
|
-
}
|
|
137
|
+
var id_1 = mongo_manager_1.objectIdHexString();
|
|
138
|
+
document['_id'] = id_1;
|
|
139
|
+
document['__v'] = 0;
|
|
140
|
+
index_1.ResolveIOServer.getMongoManager().collection(collection).insertOne(document).then(function () { return resolve(id_1); }, function (err) { return reject(err); });
|
|
156
141
|
}
|
|
157
142
|
});
|
|
158
143
|
}
|
|
@@ -174,47 +159,23 @@ function loadCollectionMethods(methodManager) {
|
|
|
174
159
|
}
|
|
175
160
|
}),
|
|
176
161
|
function: function (collection, documents) {
|
|
177
|
-
|
|
178
|
-
return new Promise(function (res, rej) {
|
|
162
|
+
return new Promise(function (resolve, reject) {
|
|
179
163
|
if (!index_1.ResolveIOServer.getMongoManager().collection(collection)) {
|
|
180
|
-
|
|
164
|
+
reject('Invalid collection');
|
|
181
165
|
}
|
|
182
166
|
else {
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
try {
|
|
189
|
-
index_1.ResolveIOServer.getMongoManager().collection(collection)['simplschema'].validate(document_1);
|
|
190
|
-
}
|
|
191
|
-
catch (errors) {
|
|
192
|
-
schemaErrors = errors;
|
|
193
|
-
_this.callMethodInternal('insertErrorLog', 'Schema Failed on insert - ' + collection, [schemaErrors, document_1]);
|
|
194
|
-
}
|
|
195
|
-
if (schemaErrors) {
|
|
196
|
-
console.log(schemaErrors);
|
|
197
|
-
reject('Schema Errors');
|
|
198
|
-
}
|
|
199
|
-
else {
|
|
200
|
-
var id_2 = mongo_manager_1.objectIdHexString();
|
|
201
|
-
document_1['_id'] = id_2;
|
|
202
|
-
document_1['__v'] = 0;
|
|
203
|
-
index_1.ResolveIOServer.getMongoManager().collection(collection).insertOne(document_1).then(function () { return resolve(id_2); }, function (err) { return reject(err); });
|
|
204
|
-
}
|
|
205
|
-
}));
|
|
206
|
-
};
|
|
207
|
-
for (var i = 0; i < documents.length; i++) {
|
|
208
|
-
_loop_1(i);
|
|
209
|
-
}
|
|
210
|
-
Promise.all(promises).then(function (vals) { return res(vals); }, function (err) { return rej(err); });
|
|
167
|
+
documents.forEach(function (document) {
|
|
168
|
+
document['_id'] = mongo_manager_1.objectIdHexString();
|
|
169
|
+
document['__v'] = 0;
|
|
170
|
+
});
|
|
171
|
+
index_1.ResolveIOServer.getMongoManager().collection(collection).insertMany(documents).then(function () { return resolve(documents.map(function (a) { return a['_id']; })); }, function (err) { return reject(err); });
|
|
211
172
|
}
|
|
212
173
|
});
|
|
213
174
|
}
|
|
214
175
|
},
|
|
215
176
|
// Replaces 1 document with new document (from _id)
|
|
216
177
|
// @Inputs: collection, document id
|
|
217
|
-
// @Outputs: res = 1 (updated 1),
|
|
178
|
+
// @Outputs: res = 1 (updated 1), err = not updated/wrong version
|
|
218
179
|
// Search for doc, check version, if found then try and update
|
|
219
180
|
updateDocument: {
|
|
220
181
|
check: new simpl_schema_1.default({
|
|
@@ -227,130 +188,12 @@ function loadCollectionMethods(methodManager) {
|
|
|
227
188
|
}
|
|
228
189
|
}),
|
|
229
190
|
function: function (collection, f_document) {
|
|
230
|
-
var _this = this;
|
|
231
191
|
return new Promise(function (resolve, reject) {
|
|
232
192
|
if (!index_1.ResolveIOServer.getMongoManager().collection(collection)) {
|
|
233
193
|
reject('Invalid collection');
|
|
234
194
|
}
|
|
235
195
|
else {
|
|
236
|
-
index_1.ResolveIOServer.getMongoManager().collection(collection).
|
|
237
|
-
if (currDoc) {
|
|
238
|
-
if (currDoc.__v === f_document['__v']) {
|
|
239
|
-
var versionDoc = common_1.deepCopy(currDoc);
|
|
240
|
-
versionDoc._id = {
|
|
241
|
-
_id: currDoc._id,
|
|
242
|
-
__v: currDoc.__v
|
|
243
|
-
};
|
|
244
|
-
var schemaErrors = null;
|
|
245
|
-
try {
|
|
246
|
-
index_1.ResolveIOServer.getMongoManager().collection(collection)['simplschema'].validate(f_document);
|
|
247
|
-
}
|
|
248
|
-
catch (errors) {
|
|
249
|
-
schemaErrors = errors;
|
|
250
|
-
_this.callMethodInternal('insertErrorLog', 'Schema Failed on updateDocument - ' + collection, [schemaErrors, f_document]);
|
|
251
|
-
}
|
|
252
|
-
if (schemaErrors) {
|
|
253
|
-
console.log(schemaErrors);
|
|
254
|
-
reject('Schema Errors');
|
|
255
|
-
}
|
|
256
|
-
else {
|
|
257
|
-
var updates_1 = common_1.getMongoUpdates(currDoc, f_document, true);
|
|
258
|
-
if (index_1.ResolveIOServer.getMongoManager().collection(collection + '.versions')) {
|
|
259
|
-
index_1.ResolveIOServer.getMongoManager().collection(collection + '.versions').create(versionDoc).then(function (doc) {
|
|
260
|
-
index_1.ResolveIOServer.getMongoManager().collection(collection + '.versions').deleteMany({
|
|
261
|
-
$and: [
|
|
262
|
-
{ '_id._id': currDoc._id },
|
|
263
|
-
{ '_id.__v': { $lte: currDoc.__v - 4 } }
|
|
264
|
-
]
|
|
265
|
-
}).then(function () {
|
|
266
|
-
if (updates_1) {
|
|
267
|
-
index_1.ResolveIOServer.getMongoManager().collection(collection).updateOne({ _id: f_document['_id'] }, updates_1).then(function (res) {
|
|
268
|
-
resolve(res);
|
|
269
|
-
}, function (err) { return reject(err); });
|
|
270
|
-
}
|
|
271
|
-
else {
|
|
272
|
-
resolve(1);
|
|
273
|
-
}
|
|
274
|
-
}, function (err) { return reject(err); });
|
|
275
|
-
}, function (err) {
|
|
276
|
-
index_1.ResolveIOServer.getMongoManager().collection(collection + '.versions').deleteMany({
|
|
277
|
-
$and: [
|
|
278
|
-
{ '_id._id': currDoc._id },
|
|
279
|
-
{ '_id.__v': { $lte: currDoc.__v - 4 } }
|
|
280
|
-
]
|
|
281
|
-
}).then(function () {
|
|
282
|
-
if (updates_1) {
|
|
283
|
-
index_1.ResolveIOServer.getMongoManager().collection(collection).updateOne({ _id: f_document['_id'] }, updates_1).then(function (res) {
|
|
284
|
-
resolve(res);
|
|
285
|
-
}, function (err) { return reject(err); });
|
|
286
|
-
}
|
|
287
|
-
else {
|
|
288
|
-
resolve(1);
|
|
289
|
-
}
|
|
290
|
-
}, function (err) { return reject(err); });
|
|
291
|
-
});
|
|
292
|
-
}
|
|
293
|
-
else {
|
|
294
|
-
if (updates_1) {
|
|
295
|
-
index_1.ResolveIOServer.getMongoManager().collection(collection).updateOne({ _id: f_document['_id'] }, updates_1).then(function (res) {
|
|
296
|
-
resolve(res);
|
|
297
|
-
}, function (err) { return reject(err); });
|
|
298
|
-
}
|
|
299
|
-
else {
|
|
300
|
-
resolve(1);
|
|
301
|
-
}
|
|
302
|
-
}
|
|
303
|
-
}
|
|
304
|
-
}
|
|
305
|
-
else {
|
|
306
|
-
console.log('invalid version - ' + collection, currDoc.__v, f_document['__v']);
|
|
307
|
-
if (index_1.ResolveIOServer.getMongoManager().collection(collection + '.versions')) {
|
|
308
|
-
index_1.ResolveIOServer.getMongoManager().collection(collection + '.versions').findOne({
|
|
309
|
-
$and: [
|
|
310
|
-
{ '_id._id': currDoc._id },
|
|
311
|
-
{ '_id.__v': f_document['__v'] }
|
|
312
|
-
]
|
|
313
|
-
}).then(function (oldDoc) {
|
|
314
|
-
var newCurrDocId = currDoc._id;
|
|
315
|
-
if (oldDoc) {
|
|
316
|
-
var versionDoc_1 = common_1.deepCopy(currDoc);
|
|
317
|
-
versionDoc_1._id = {
|
|
318
|
-
_id: currDoc._id,
|
|
319
|
-
__v: currDoc.__v
|
|
320
|
-
};
|
|
321
|
-
var updatedDoc = common_1.getMongoMergeUpdatedDoc(f_document, currDoc, oldDoc);
|
|
322
|
-
updatedDoc._id = newCurrDocId;
|
|
323
|
-
updatedDoc.__v++;
|
|
324
|
-
updatedDoc.updatedAt = new Date();
|
|
325
|
-
index_1.ResolveIOServer.getMongoManager().collection(collection).replaceOne({ _id: newCurrDocId }, updatedDoc).then(function (res) {
|
|
326
|
-
index_1.ResolveIOServer.getMongoManager().collection(collection + '.versions').create(versionDoc_1).then(function (doc) {
|
|
327
|
-
index_1.ResolveIOServer.getMongoManager().collection(collection + '.versions').deleteMany({
|
|
328
|
-
$and: [
|
|
329
|
-
{ '_id._id': versionDoc_1._id._id },
|
|
330
|
-
{ '_id.__v': { $lte: versionDoc_1._id.__v - 4 } }
|
|
331
|
-
]
|
|
332
|
-
}).then(function () {
|
|
333
|
-
resolve(res);
|
|
334
|
-
}, function (err) { return reject(err); });
|
|
335
|
-
}, function (err) { return reject(err); });
|
|
336
|
-
}, function (err) { return reject(err); });
|
|
337
|
-
}
|
|
338
|
-
else {
|
|
339
|
-
reject('Invalid Version And Could Not Find History - DB: ' + currDoc.__v + ', Trying to update with :' + f_document['__v']);
|
|
340
|
-
}
|
|
341
|
-
}, function (err) { return reject(err); });
|
|
342
|
-
}
|
|
343
|
-
else {
|
|
344
|
-
reject('Invalid Version And We Are NOT Using Versions On This Collection!');
|
|
345
|
-
}
|
|
346
|
-
}
|
|
347
|
-
}
|
|
348
|
-
else {
|
|
349
|
-
reject('No Document');
|
|
350
|
-
}
|
|
351
|
-
}, function (errDoc) {
|
|
352
|
-
reject('No Document');
|
|
353
|
-
});
|
|
196
|
+
index_1.ResolveIOServer.getMongoManager().collection(collection).replaceOne({ _id: f_document['_id'] }, f_document).then(function (res) { return resolve(res); }, function (err) { return reject(err); });
|
|
354
197
|
}
|
|
355
198
|
});
|
|
356
199
|
}
|
|
@@ -379,7 +222,6 @@ function loadCollectionMethods(methodManager) {
|
|
|
379
222
|
}
|
|
380
223
|
}),
|
|
381
224
|
function: function (collection, doc_id, updateParams, doc__v) {
|
|
382
|
-
var _this = this;
|
|
383
225
|
return new Promise(function (resolve, reject) {
|
|
384
226
|
if (!index_1.ResolveIOServer.getMongoManager().collection(collection)) {
|
|
385
227
|
reject('Invalid collection');
|
|
@@ -392,71 +234,9 @@ function loadCollectionMethods(methodManager) {
|
|
|
392
234
|
modifiedDoc_1[data.prop] = data.data;
|
|
393
235
|
});
|
|
394
236
|
if (modifiedDoc_1.__v === doc__v) {
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
__v: currDoc.__v
|
|
399
|
-
};
|
|
400
|
-
var schemaErrors = null;
|
|
401
|
-
try {
|
|
402
|
-
index_1.ResolveIOServer.getMongoManager().collection(collection)['simplschema'].validate(modifiedDoc_1);
|
|
403
|
-
}
|
|
404
|
-
catch (errors) {
|
|
405
|
-
schemaErrors = errors;
|
|
406
|
-
_this.callMethodInternal('insertErrorLog', 'Schema Failed on updateDocumentProps - ' + collection, [schemaErrors, modifiedDoc_1]);
|
|
407
|
-
}
|
|
408
|
-
if (schemaErrors) {
|
|
409
|
-
console.log(schemaErrors);
|
|
410
|
-
reject('Schema Errors');
|
|
411
|
-
}
|
|
412
|
-
else {
|
|
413
|
-
var updates_2 = common_1.getMongoUpdates(currDoc, modifiedDoc_1, true);
|
|
414
|
-
if (index_1.ResolveIOServer.getMongoManager().collection(collection + '.versions')) {
|
|
415
|
-
index_1.ResolveIOServer.getMongoManager().collection(collection + '.versions').create(versionDoc).then(function (doc) {
|
|
416
|
-
index_1.ResolveIOServer.getMongoManager().collection(collection + '.versions').deleteMany({
|
|
417
|
-
$and: [
|
|
418
|
-
{ '_id._id': currDoc._id },
|
|
419
|
-
{ '_id.__v': { $lte: currDoc.__v - 4 } }
|
|
420
|
-
]
|
|
421
|
-
}).then(function () {
|
|
422
|
-
if (updates_2) {
|
|
423
|
-
index_1.ResolveIOServer.getMongoManager().collection(collection).updateOne({ _id: modifiedDoc_1._id }, updates_2).then(function (res) {
|
|
424
|
-
resolve(res);
|
|
425
|
-
}, function (err) { return reject(err); });
|
|
426
|
-
}
|
|
427
|
-
else {
|
|
428
|
-
resolve(1);
|
|
429
|
-
}
|
|
430
|
-
}, function (err) { return reject(err); });
|
|
431
|
-
}, function (err) {
|
|
432
|
-
index_1.ResolveIOServer.getMongoManager().collection(collection + '.versions').deleteMany({
|
|
433
|
-
$and: [
|
|
434
|
-
{ '_id._id': currDoc._id },
|
|
435
|
-
{ '_id.__v': { $lte: currDoc.__v - 4 } }
|
|
436
|
-
]
|
|
437
|
-
}).then(function () {
|
|
438
|
-
if (updates_2) {
|
|
439
|
-
index_1.ResolveIOServer.getMongoManager().collection(collection).updateOne({ _id: modifiedDoc_1._id }, updates_2).then(function (res) {
|
|
440
|
-
resolve(res);
|
|
441
|
-
}, function (err) { return reject(err); });
|
|
442
|
-
}
|
|
443
|
-
else {
|
|
444
|
-
resolve(1);
|
|
445
|
-
}
|
|
446
|
-
}, function (err) { return reject(err); });
|
|
447
|
-
});
|
|
448
|
-
}
|
|
449
|
-
else {
|
|
450
|
-
if (updates_2) {
|
|
451
|
-
index_1.ResolveIOServer.getMongoManager().collection(collection).updateOne({ _id: modifiedDoc_1._id }, updates_2).then(function (res) {
|
|
452
|
-
resolve(res);
|
|
453
|
-
}, function (err) { return reject(err); });
|
|
454
|
-
}
|
|
455
|
-
else {
|
|
456
|
-
resolve(1);
|
|
457
|
-
}
|
|
458
|
-
}
|
|
459
|
-
}
|
|
237
|
+
index_1.ResolveIOServer.getMongoManager().collection(collection).replaceOne({ _id: modifiedDoc_1._id }, modifiedDoc_1, {}, false, true).then(function (res) {
|
|
238
|
+
resolve(res);
|
|
239
|
+
}, function (err) { return reject(err); });
|
|
460
240
|
}
|
|
461
241
|
else {
|
|
462
242
|
console.log(new Date(), 'invalid version - ' + collection, currDoc.__v, doc__v);
|
|
@@ -469,31 +249,10 @@ function loadCollectionMethods(methodManager) {
|
|
|
469
249
|
}).then(function (oldDoc) {
|
|
470
250
|
var newCurrDocId = currDoc._id;
|
|
471
251
|
if (oldDoc) {
|
|
472
|
-
var versionDoc_2 = common_1.deepCopy(currDoc);
|
|
473
|
-
versionDoc_2._id = {
|
|
474
|
-
_id: currDoc._id,
|
|
475
|
-
__v: currDoc.__v
|
|
476
|
-
};
|
|
477
252
|
var updatedDoc = common_1.getMongoMergeUpdatedDoc(modifiedDoc_1, currDoc, oldDoc);
|
|
478
253
|
updatedDoc._id = newCurrDocId;
|
|
479
|
-
updatedDoc.
|
|
480
|
-
|
|
481
|
-
index_1.ResolveIOServer.getMongoManager().collection(collection).replaceOne({ _id: newCurrDocId }, updatedDoc).then(function (res) {
|
|
482
|
-
if (index_1.ResolveIOServer.getMongoManager().collection(collection + '.versions')) {
|
|
483
|
-
index_1.ResolveIOServer.getMongoManager().collection(collection + '.versions').create(versionDoc_2).then(function (doc) {
|
|
484
|
-
index_1.ResolveIOServer.getMongoManager().collection(collection + '.versions').deleteMany({
|
|
485
|
-
$and: [
|
|
486
|
-
{ '_id._id': versionDoc_2._id._id },
|
|
487
|
-
{ '_id.__v': { $lte: versionDoc_2._id.__v - 4 } }
|
|
488
|
-
]
|
|
489
|
-
}).then(function () {
|
|
490
|
-
resolve(res);
|
|
491
|
-
}, function (err) { return reject(err); });
|
|
492
|
-
}, function (err) { return reject(err); });
|
|
493
|
-
}
|
|
494
|
-
else {
|
|
495
|
-
resolve(res);
|
|
496
|
-
}
|
|
254
|
+
index_1.ResolveIOServer.getMongoManager().collection(collection).replaceOne({ _id: newCurrDocId }, updatedDoc, {}, false, true).then(function (res) {
|
|
255
|
+
resolve(res);
|
|
497
256
|
}, function (err) { return reject(err); });
|
|
498
257
|
}
|
|
499
258
|
else {
|
|
@@ -529,7 +288,6 @@ function loadCollectionMethods(methodManager) {
|
|
|
529
288
|
}
|
|
530
289
|
}),
|
|
531
290
|
function: function (collection, f_document, f_oldDocument) {
|
|
532
|
-
var _this = this;
|
|
533
291
|
return new Promise(function (resolve, reject) {
|
|
534
292
|
if (!index_1.ResolveIOServer.getMongoManager().collection(collection)) {
|
|
535
293
|
reject('Invalid collection');
|
|
@@ -538,101 +296,18 @@ function loadCollectionMethods(methodManager) {
|
|
|
538
296
|
index_1.ResolveIOServer.getMongoManager().collection(collection).findOne({ _id: f_document['_id'] }).then(function (currDoc) {
|
|
539
297
|
if (currDoc) {
|
|
540
298
|
if (currDoc.__v === f_document['__v']) {
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
__v: currDoc.__v
|
|
545
|
-
};
|
|
546
|
-
var schemaErrors = null;
|
|
547
|
-
try {
|
|
548
|
-
index_1.ResolveIOServer.getMongoManager().collection(collection)['simplschema'].validate(f_document);
|
|
549
|
-
}
|
|
550
|
-
catch (errors) {
|
|
551
|
-
schemaErrors = errors;
|
|
552
|
-
_this.callMethodInternal('insertErrorLog', 'Schema Failed on updateDocument - ' + collection, [schemaErrors, f_document]);
|
|
553
|
-
}
|
|
554
|
-
if (schemaErrors) {
|
|
555
|
-
console.log(schemaErrors);
|
|
556
|
-
reject('Schema Errors');
|
|
557
|
-
}
|
|
558
|
-
else {
|
|
559
|
-
var updates_3 = common_1.getMongoUpdates(currDoc, f_document, true);
|
|
560
|
-
if (index_1.ResolveIOServer.getMongoManager().collection(collection + '.versions')) {
|
|
561
|
-
index_1.ResolveIOServer.getMongoManager().collection(collection + '.versions').create(versionDoc).then(function (doc) {
|
|
562
|
-
index_1.ResolveIOServer.getMongoManager().collection(collection + '.versions').deleteMany({
|
|
563
|
-
$and: [
|
|
564
|
-
{ '_id._id': currDoc._id },
|
|
565
|
-
{ '_id.__v': { $lte: currDoc.__v - 4 } }
|
|
566
|
-
]
|
|
567
|
-
}).then(function () {
|
|
568
|
-
if (updates_3) {
|
|
569
|
-
index_1.ResolveIOServer.getMongoManager().collection(collection).updateOne({ _id: f_document['_id'] }, updates_3).then(function (res) {
|
|
570
|
-
resolve(res);
|
|
571
|
-
}, function (err) { return reject(err); });
|
|
572
|
-
}
|
|
573
|
-
else {
|
|
574
|
-
resolve(1);
|
|
575
|
-
}
|
|
576
|
-
}, function (err) { return reject(err); });
|
|
577
|
-
}, function (err) {
|
|
578
|
-
index_1.ResolveIOServer.getMongoManager().collection(collection + '.versions').deleteMany({
|
|
579
|
-
$and: [
|
|
580
|
-
{ '_id._id': currDoc._id },
|
|
581
|
-
{ '_id.__v': { $lte: currDoc.__v - 4 } }
|
|
582
|
-
]
|
|
583
|
-
}).then(function () {
|
|
584
|
-
if (updates_3) {
|
|
585
|
-
index_1.ResolveIOServer.getMongoManager().collection(collection).updateOne({ _id: f_document['_id'] }, updates_3).then(function (res) {
|
|
586
|
-
resolve(res);
|
|
587
|
-
}, function (err) { return reject(err); });
|
|
588
|
-
}
|
|
589
|
-
else {
|
|
590
|
-
resolve(1);
|
|
591
|
-
}
|
|
592
|
-
}, function (err) { return reject(err); });
|
|
593
|
-
});
|
|
594
|
-
}
|
|
595
|
-
else {
|
|
596
|
-
if (updates_3) {
|
|
597
|
-
index_1.ResolveIOServer.getMongoManager().collection(collection).updateOne({ _id: f_document['_id'] }, updates_3).then(function (res) {
|
|
598
|
-
resolve(res);
|
|
599
|
-
}, function (err) { return reject(err); });
|
|
600
|
-
}
|
|
601
|
-
else {
|
|
602
|
-
resolve(1);
|
|
603
|
-
}
|
|
604
|
-
}
|
|
605
|
-
}
|
|
299
|
+
index_1.ResolveIOServer.getMongoManager().collection(collection).replaceOne({ _id: f_document['_id'] }, f_document, {}, false, true).then(function (res) {
|
|
300
|
+
resolve(res);
|
|
301
|
+
}, function (err) { return reject(err); });
|
|
606
302
|
}
|
|
607
303
|
else {
|
|
608
304
|
console.log('OFFLINE - invalid version - ' + collection, currDoc.__v, f_document['__v']);
|
|
609
305
|
var newCurrDocId = currDoc._id;
|
|
610
306
|
if (f_oldDocument) {
|
|
611
|
-
var versionDoc_3 = common_1.deepCopy(currDoc);
|
|
612
|
-
versionDoc_3._id = {
|
|
613
|
-
_id: currDoc._id,
|
|
614
|
-
__v: currDoc.__v
|
|
615
|
-
};
|
|
616
307
|
var updatedDoc = common_1.getMongoMergeUpdatedDoc(f_document, currDoc, f_oldDocument);
|
|
617
308
|
updatedDoc._id = newCurrDocId;
|
|
618
|
-
updatedDoc.
|
|
619
|
-
|
|
620
|
-
index_1.ResolveIOServer.getMongoManager().collection(collection).replaceOne({ _id: newCurrDocId }, updatedDoc).then(function (res) {
|
|
621
|
-
if (index_1.ResolveIOServer.getMongoManager().collection(collection + '.versions')) {
|
|
622
|
-
index_1.ResolveIOServer.getMongoManager().collection(collection + '.versions').create(versionDoc_3).then(function (doc) {
|
|
623
|
-
index_1.ResolveIOServer.getMongoManager().collection(collection + '.versions').deleteMany({
|
|
624
|
-
$and: [
|
|
625
|
-
{ '_id._id': versionDoc_3._id._id },
|
|
626
|
-
{ '_id.__v': { $lte: versionDoc_3._id.__v - 4 } }
|
|
627
|
-
]
|
|
628
|
-
}).then(function () {
|
|
629
|
-
resolve(res);
|
|
630
|
-
}, function (err) { return reject(err); });
|
|
631
|
-
}, function (err) { return reject(err); });
|
|
632
|
-
}
|
|
633
|
-
else {
|
|
634
|
-
resolve(res);
|
|
635
|
-
}
|
|
309
|
+
index_1.ResolveIOServer.getMongoManager().collection(collection).replaceOne({ _id: newCurrDocId }, updatedDoc, {}, false, true).then(function (res) {
|
|
310
|
+
resolve(res);
|
|
636
311
|
}, function (err) { return reject(err); });
|
|
637
312
|
}
|
|
638
313
|
else {
|
|
@@ -676,7 +351,6 @@ function loadCollectionMethods(methodManager) {
|
|
|
676
351
|
}
|
|
677
352
|
}),
|
|
678
353
|
function: function (collection, doc_id, updateParams, doc__v, f_oldDocument) {
|
|
679
|
-
var _this = this;
|
|
680
354
|
return new Promise(function (resolve, reject) {
|
|
681
355
|
if (!index_1.ResolveIOServer.getMongoManager().collection(collection)) {
|
|
682
356
|
reject('Invalid collection');
|
|
@@ -689,101 +363,18 @@ function loadCollectionMethods(methodManager) {
|
|
|
689
363
|
modifiedDoc_2[data.prop] = data.data;
|
|
690
364
|
});
|
|
691
365
|
if (modifiedDoc_2.__v === doc__v) {
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
__v: currDoc.__v
|
|
696
|
-
};
|
|
697
|
-
var schemaErrors = null;
|
|
698
|
-
try {
|
|
699
|
-
index_1.ResolveIOServer.getMongoManager().collection(collection)['simplschema'].validate(modifiedDoc_2);
|
|
700
|
-
}
|
|
701
|
-
catch (errors) {
|
|
702
|
-
schemaErrors = errors;
|
|
703
|
-
_this.callMethodInternal('insertErrorLog', 'Schema Failed on updateDocumentProps - ' + collection, [schemaErrors, modifiedDoc_2]);
|
|
704
|
-
}
|
|
705
|
-
if (schemaErrors) {
|
|
706
|
-
console.log(schemaErrors);
|
|
707
|
-
reject('Schema Errors');
|
|
708
|
-
}
|
|
709
|
-
else {
|
|
710
|
-
var updates_4 = common_1.getMongoUpdates(currDoc, modifiedDoc_2, true);
|
|
711
|
-
if (index_1.ResolveIOServer.getMongoManager().collection(collection + '.versions')) {
|
|
712
|
-
index_1.ResolveIOServer.getMongoManager().collection(collection + '.versions').create(versionDoc).then(function (doc) {
|
|
713
|
-
index_1.ResolveIOServer.getMongoManager().collection(collection + '.versions').deleteMany({
|
|
714
|
-
$and: [
|
|
715
|
-
{ '_id._id': currDoc._id },
|
|
716
|
-
{ '_id.__v': { $lte: currDoc.__v - 4 } }
|
|
717
|
-
]
|
|
718
|
-
}).then(function () {
|
|
719
|
-
if (updates_4) {
|
|
720
|
-
index_1.ResolveIOServer.getMongoManager().collection(collection).updateOne({ _id: modifiedDoc_2._id }, updates_4).then(function (res) {
|
|
721
|
-
resolve(res);
|
|
722
|
-
}, function (err) { return reject(err); });
|
|
723
|
-
}
|
|
724
|
-
else {
|
|
725
|
-
resolve(1);
|
|
726
|
-
}
|
|
727
|
-
}, function (err) { return reject(err); });
|
|
728
|
-
}, function (err) {
|
|
729
|
-
index_1.ResolveIOServer.getMongoManager().collection(collection + '.versions').deleteMany({
|
|
730
|
-
$and: [
|
|
731
|
-
{ '_id._id': currDoc._id },
|
|
732
|
-
{ '_id.__v': { $lte: currDoc.__v - 4 } }
|
|
733
|
-
]
|
|
734
|
-
}).then(function () {
|
|
735
|
-
if (updates_4) {
|
|
736
|
-
index_1.ResolveIOServer.getMongoManager().collection(collection).updateOne({ _id: modifiedDoc_2._id }, updates_4).then(function (res) {
|
|
737
|
-
resolve(res);
|
|
738
|
-
}, function (err) { return reject(err); });
|
|
739
|
-
}
|
|
740
|
-
else {
|
|
741
|
-
resolve(1);
|
|
742
|
-
}
|
|
743
|
-
}, function (err) { return reject(err); });
|
|
744
|
-
});
|
|
745
|
-
}
|
|
746
|
-
else {
|
|
747
|
-
if (updates_4) {
|
|
748
|
-
index_1.ResolveIOServer.getMongoManager().collection(collection).updateOne({ _id: modifiedDoc_2._id }, updates_4).then(function (res) {
|
|
749
|
-
resolve(res);
|
|
750
|
-
}, function (err) { return reject(err); });
|
|
751
|
-
}
|
|
752
|
-
else {
|
|
753
|
-
resolve(1);
|
|
754
|
-
}
|
|
755
|
-
}
|
|
756
|
-
}
|
|
366
|
+
index_1.ResolveIOServer.getMongoManager().collection(collection).replaceOne({ _id: modifiedDoc_2._id }, modifiedDoc_2, {}, false, true).then(function (res) {
|
|
367
|
+
resolve(res);
|
|
368
|
+
}, function (err) { return reject(err); });
|
|
757
369
|
}
|
|
758
370
|
else {
|
|
759
371
|
console.log('OFFLINE - invalid version - ' + collection, currDoc.__v, doc__v);
|
|
760
372
|
var newCurrDocId = currDoc._id;
|
|
761
373
|
if (f_oldDocument) {
|
|
762
|
-
var versionDoc_4 = common_1.deepCopy(currDoc);
|
|
763
|
-
versionDoc_4._id = {
|
|
764
|
-
_id: currDoc._id,
|
|
765
|
-
__v: currDoc.__v
|
|
766
|
-
};
|
|
767
374
|
var updatedDoc = common_1.getMongoMergeUpdatedDoc(modifiedDoc_2, currDoc, f_oldDocument);
|
|
768
375
|
updatedDoc._id = newCurrDocId;
|
|
769
|
-
updatedDoc.__v++;
|
|
770
|
-
updatedDoc.updatedAt = new Date();
|
|
771
376
|
index_1.ResolveIOServer.getMongoManager().collection(collection).replaceOne({ _id: newCurrDocId }, updatedDoc).then(function (res) {
|
|
772
|
-
|
|
773
|
-
index_1.ResolveIOServer.getMongoManager().collection(collection + '.versions').create(versionDoc_4).then(function (doc) {
|
|
774
|
-
index_1.ResolveIOServer.getMongoManager().collection(collection + '.versions').deleteMany({
|
|
775
|
-
$and: [
|
|
776
|
-
{ '_id._id': versionDoc_4._id._id },
|
|
777
|
-
{ '_id.__v': { $lte: versionDoc_4._id.__v - 4 } }
|
|
778
|
-
]
|
|
779
|
-
}).then(function () {
|
|
780
|
-
resolve(res);
|
|
781
|
-
}, function (err) { return reject(err); });
|
|
782
|
-
}, function (err) { return reject(err); });
|
|
783
|
-
}
|
|
784
|
-
else {
|
|
785
|
-
resolve(res);
|
|
786
|
-
}
|
|
377
|
+
resolve(res);
|
|
787
378
|
}, function (err) { return reject(err); });
|
|
788
379
|
}
|
|
789
380
|
else {
|