spice-couchbase 2.0.15 → 2.0.16
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/build/index.js +61 -142
- package/package.json +1 -1
- package/src/index.js +64 -117
package/build/index.js
CHANGED
|
@@ -100,7 +100,6 @@ module.exports = class Database {
|
|
|
100
100
|
var allUsers = yield _this2.userManager.getAllUsers({
|
|
101
101
|
timeout: 6000
|
|
102
102
|
});
|
|
103
|
-
console.log("UserName::::", _this2.db_config.username, allUsers);
|
|
104
103
|
var update_user_response = yield _this2.userManager.upsertUser(_this2.db_config.username, {
|
|
105
104
|
roles: [{
|
|
106
105
|
name: "scope_admin",
|
|
@@ -110,7 +109,6 @@ module.exports = class Database {
|
|
|
110
109
|
bucket: _this2.db_config.bucket
|
|
111
110
|
}]
|
|
112
111
|
});
|
|
113
|
-
console.log("UPdate Response", update_user_response);
|
|
114
112
|
} catch (e) {
|
|
115
113
|
console.log(e);
|
|
116
114
|
}
|
|
@@ -231,7 +229,6 @@ module.exports = class Database {
|
|
|
231
229
|
return _asyncToGenerator(function* () {
|
|
232
230
|
try {
|
|
233
231
|
var response = yield _this8.connection.get(doc_id);
|
|
234
|
-
console.log("Response ", response);
|
|
235
232
|
return _objectSpread({
|
|
236
233
|
id: doc_id
|
|
237
234
|
}, response.content);
|
|
@@ -278,107 +275,46 @@ module.exports = class Database {
|
|
|
278
275
|
}
|
|
279
276
|
|
|
280
277
|
touch(doc_id) {
|
|
281
|
-
var
|
|
282
|
-
var that = this;
|
|
283
|
-
return new Promise(
|
|
284
|
-
/*#__PURE__*/
|
|
285
|
-
function () {
|
|
286
|
-
var _ref3 = _asyncToGenerator(function* (resolve, reject) {
|
|
287
|
-
that.connection.touch(doc_id, expiry,
|
|
288
|
-
/*#__PURE__*/
|
|
289
|
-
function () {
|
|
290
|
-
var _ref4 = _asyncToGenerator(function* (err, res) {
|
|
291
|
-
if (err) {
|
|
292
|
-
reject(err);
|
|
293
|
-
} else {
|
|
294
|
-
try {
|
|
295
|
-
var created = yield that.get(doc_id);
|
|
296
|
-
resolve(created);
|
|
297
|
-
} catch (e) {
|
|
298
|
-
reject(e);
|
|
299
|
-
}
|
|
300
|
-
}
|
|
301
|
-
});
|
|
302
|
-
|
|
303
|
-
return function (_x7, _x8) {
|
|
304
|
-
return _ref4.apply(this, arguments);
|
|
305
|
-
};
|
|
306
|
-
}());
|
|
307
|
-
});
|
|
278
|
+
var _this9 = this;
|
|
308
279
|
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
280
|
+
var expiry = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
281
|
+
return _asyncToGenerator(function* () {
|
|
282
|
+
yield _this9.connection.touch(doc_id, expiry);
|
|
283
|
+
return yield that.get(doc_id);
|
|
284
|
+
})();
|
|
313
285
|
}
|
|
314
286
|
|
|
315
287
|
count(doc_id, adjustment, initial_value) {
|
|
316
|
-
var
|
|
317
|
-
return new Promise(
|
|
318
|
-
/*#__PURE__*/
|
|
319
|
-
function () {
|
|
320
|
-
var _ref5 = _asyncToGenerator(function* (resolve, reject) {
|
|
321
|
-
that.connection.counter(doc_id, adjustment, {
|
|
322
|
-
initial: initial_value
|
|
323
|
-
}, function (err, res) {
|
|
324
|
-
if (err) {
|
|
325
|
-
reject(err);
|
|
326
|
-
} else {
|
|
327
|
-
resolve(res.value);
|
|
328
|
-
}
|
|
329
|
-
});
|
|
330
|
-
});
|
|
288
|
+
var _this10 = this;
|
|
331
289
|
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
290
|
+
return _asyncToGenerator(function* () {
|
|
291
|
+
var res = yield _this10.connection.counter(doc_id, adjustment, {
|
|
292
|
+
initial: initial_value
|
|
293
|
+
});
|
|
294
|
+
return res.value;
|
|
295
|
+
})();
|
|
336
296
|
}
|
|
337
297
|
|
|
338
298
|
update(doc_id, document) {
|
|
339
|
-
var
|
|
340
|
-
return new Promise(
|
|
341
|
-
/*#__PURE__*/
|
|
342
|
-
function () {
|
|
343
|
-
var _ref6 = _asyncToGenerator(function* (resolve, reject) {
|
|
344
|
-
that.connection.replace(doc_id, document, function (err, res) {
|
|
345
|
-
if (err) {
|
|
346
|
-
reject(err);
|
|
347
|
-
} else {
|
|
348
|
-
resolve(res.value);
|
|
349
|
-
}
|
|
350
|
-
});
|
|
351
|
-
});
|
|
299
|
+
var _this11 = this;
|
|
352
300
|
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
}()
|
|
301
|
+
return _asyncToGenerator(function* () {
|
|
302
|
+
var res = yield _this11.connection.replace(doc_id, document);
|
|
303
|
+
return res.value;
|
|
304
|
+
})();
|
|
357
305
|
}
|
|
358
306
|
|
|
359
307
|
delete(doc_id) {
|
|
360
|
-
var
|
|
361
|
-
return new Promise(
|
|
362
|
-
/*#__PURE__*/
|
|
363
|
-
function () {
|
|
364
|
-
var _ref7 = _asyncToGenerator(function* (resolve, reject) {
|
|
365
|
-
that.connection.remove(doc_id, function (err, res) {
|
|
366
|
-
if (err) {
|
|
367
|
-
reject(err);
|
|
368
|
-
} else {
|
|
369
|
-
resolve(res.value);
|
|
370
|
-
}
|
|
371
|
-
});
|
|
372
|
-
});
|
|
308
|
+
var _this12 = this;
|
|
373
309
|
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
}()
|
|
310
|
+
return _asyncToGenerator(function* () {
|
|
311
|
+
var res = yield _this12.connection.remove(doc_id);
|
|
312
|
+
return res.value;
|
|
313
|
+
})();
|
|
378
314
|
}
|
|
379
315
|
|
|
380
316
|
multi_get(keys, keep_type) {
|
|
381
|
-
var
|
|
317
|
+
var _this13 = this;
|
|
382
318
|
|
|
383
319
|
return _asyncToGenerator(function* () {
|
|
384
320
|
/* var that = this; */
|
|
@@ -390,7 +326,7 @@ module.exports = class Database {
|
|
|
390
326
|
|
|
391
327
|
|
|
392
328
|
if (_.isArray(keys) && keys.length > 0) {
|
|
393
|
-
var functions = _.map(keys, key =>
|
|
329
|
+
var functions = _.map(keys, key => _this13.connection.get(key));
|
|
394
330
|
|
|
395
331
|
var returned_all = yield Promise.allSettled(functions);
|
|
396
332
|
|
|
@@ -406,23 +342,6 @@ module.exports = class Database {
|
|
|
406
342
|
res.value.id = keys[index];
|
|
407
343
|
return res.value;
|
|
408
344
|
});
|
|
409
|
-
/* that.connection.getMulti(keys, function (err, res) {
|
|
410
|
-
if (res) {
|
|
411
|
-
let return_value = [];
|
|
412
|
-
for (var i in res) {
|
|
413
|
-
if (res[i].value) {
|
|
414
|
-
if (!keep_type) {
|
|
415
|
-
delete res[i].value['type']
|
|
416
|
-
}
|
|
417
|
-
res[i].value.id = i;
|
|
418
|
-
return_value.push(res[i].value);
|
|
419
|
-
}
|
|
420
|
-
}
|
|
421
|
-
resolve(return_value);
|
|
422
|
-
} else if (err) {
|
|
423
|
-
reject(err);
|
|
424
|
-
}
|
|
425
|
-
}); */
|
|
426
345
|
} else {
|
|
427
346
|
return [];
|
|
428
347
|
}
|
|
@@ -434,7 +353,7 @@ module.exports = class Database {
|
|
|
434
353
|
return new Promise(
|
|
435
354
|
/*#__PURE__*/
|
|
436
355
|
function () {
|
|
437
|
-
var
|
|
356
|
+
var _ref3 = _asyncToGenerator(function* (resolve, reject) {
|
|
438
357
|
var ViewQuery = couchbase.ViewQuery;
|
|
439
358
|
var query = ViewQuery.from(design_doc, view);
|
|
440
359
|
|
|
@@ -461,7 +380,7 @@ module.exports = class Database {
|
|
|
461
380
|
that.connection.query(query,
|
|
462
381
|
/*#__PURE__*/
|
|
463
382
|
function () {
|
|
464
|
-
var
|
|
383
|
+
var _ref4 = _asyncToGenerator(function* (err, results, matrix) {
|
|
465
384
|
var return_value = [];
|
|
466
385
|
|
|
467
386
|
if (err) {
|
|
@@ -484,27 +403,29 @@ module.exports = class Database {
|
|
|
484
403
|
}
|
|
485
404
|
});
|
|
486
405
|
|
|
487
|
-
return function (
|
|
488
|
-
return
|
|
406
|
+
return function (_x7, _x8, _x9) {
|
|
407
|
+
return _ref4.apply(this, arguments);
|
|
489
408
|
};
|
|
490
409
|
}());
|
|
491
410
|
});
|
|
492
411
|
|
|
493
|
-
return function (
|
|
494
|
-
return
|
|
412
|
+
return function (_x5, _x6) {
|
|
413
|
+
return _ref3.apply(this, arguments);
|
|
495
414
|
};
|
|
496
415
|
}());
|
|
497
416
|
}
|
|
498
417
|
|
|
499
418
|
search(type, columns, query, limit, offset, order_by, do_count, query_scope) {
|
|
500
|
-
var
|
|
419
|
+
var _this14 = this;
|
|
501
420
|
|
|
502
421
|
return _asyncToGenerator(function* () {
|
|
422
|
+
var use_bucket_name = !(spice.config.database.connections[_this14.connection_name].scope && spice.config.database.connections[_this14.connection_name].collection);
|
|
423
|
+
var is_legacy = _this14.scope_name !== "_default" && _this14.collection_name !== "_default";
|
|
503
424
|
var alias = "_reference";
|
|
504
|
-
var bucket = "`".concat(
|
|
505
|
-
var include_type = _this10.scope_name && _this10.collection_name;
|
|
425
|
+
var bucket = "`".concat(use_bucket_name ? _this14.bucket : _this14.collection_name, "`");
|
|
506
426
|
|
|
507
427
|
try {
|
|
428
|
+
//let uses_scopes = this.scope this.scope_name !== "_default";
|
|
508
429
|
if (do_count == undefined) {
|
|
509
430
|
do_count = "false";
|
|
510
431
|
}
|
|
@@ -521,29 +442,29 @@ module.exports = class Database {
|
|
|
521
442
|
}
|
|
522
443
|
|
|
523
444
|
if (columns == "*") {
|
|
524
|
-
columns = "(" +
|
|
525
|
-
fix = ", META(" +
|
|
445
|
+
columns = "(" + bucket + ").*";
|
|
446
|
+
fix = ", META(" + bucket + ").id AS id";
|
|
526
447
|
}
|
|
527
448
|
|
|
528
449
|
if (!columns) {
|
|
529
|
-
columns = "(" +
|
|
530
|
-
fix = ", META(" +
|
|
450
|
+
columns = "(" + bucket + ").*";
|
|
451
|
+
fix = ", META(" + bucket + ").id AS id";
|
|
531
452
|
}
|
|
532
453
|
|
|
533
454
|
if (columns == "id") {
|
|
534
|
-
fix = ", META(" +
|
|
455
|
+
fix = ", META(" + bucket + ").id AS id";
|
|
535
456
|
columns = "";
|
|
536
457
|
}
|
|
537
458
|
|
|
538
459
|
var front_query = "SELECT ".concat(columns, " ").concat(fix, " FROM ").concat(bucket);
|
|
539
460
|
|
|
540
|
-
if (
|
|
461
|
+
if (is_legacy || query) {
|
|
541
462
|
front_query += " WHERE ";
|
|
542
463
|
}
|
|
543
464
|
|
|
544
465
|
var conditions = [];
|
|
545
466
|
|
|
546
|
-
if (
|
|
467
|
+
if (use_bucket_name) {
|
|
547
468
|
conditions.push("type = '".concat(type, "'"));
|
|
548
469
|
}
|
|
549
470
|
|
|
@@ -554,7 +475,7 @@ module.exports = class Database {
|
|
|
554
475
|
query = front_query + conditions.join(" AND ");
|
|
555
476
|
count_query = "SELECT count(meta().id) as count FROM ".concat(bucket);
|
|
556
477
|
|
|
557
|
-
if (
|
|
478
|
+
if (use_bucket_name || query) {
|
|
558
479
|
count_query += " WHERE ";
|
|
559
480
|
}
|
|
560
481
|
|
|
@@ -572,13 +493,11 @@ module.exports = class Database {
|
|
|
572
493
|
query = query + " OFFSET " + offset;
|
|
573
494
|
}
|
|
574
495
|
|
|
575
|
-
var
|
|
576
|
-
var
|
|
577
|
-
console.log(active_query_space, _this10.scope_name, uses_scopes);
|
|
578
|
-
var queries = [_this10.getData(query, active_query_space)];
|
|
496
|
+
var active_query_space = query_scope || !use_bucket_name ? "scope" : "cluster";
|
|
497
|
+
var queries = [_this14.getData(query, active_query_space)];
|
|
579
498
|
|
|
580
499
|
if (do_count === "true") {
|
|
581
|
-
queries.push(
|
|
500
|
+
queries.push(_this14.getCount(count_query, active_query_space));
|
|
582
501
|
}
|
|
583
502
|
|
|
584
503
|
var responses = yield Promise.all(queries);
|
|
@@ -599,7 +518,7 @@ module.exports = class Database {
|
|
|
599
518
|
return new Promise(
|
|
600
519
|
/*#__PURE__*/
|
|
601
520
|
function () {
|
|
602
|
-
var
|
|
521
|
+
var _ref5 = _asyncToGenerator(function* (resolve, reject) {
|
|
603
522
|
try {
|
|
604
523
|
var full_query = search_query + " AND type:" + type;
|
|
605
524
|
var query = that.SearchQuery.new(that.full_text_index || full_text_index, that.SearchQuery.queryString(full_query));
|
|
@@ -620,7 +539,7 @@ module.exports = class Database {
|
|
|
620
539
|
that.cluster.query(query,
|
|
621
540
|
/*#__PURE__*/
|
|
622
541
|
function () {
|
|
623
|
-
var
|
|
542
|
+
var _ref6 = _asyncToGenerator(function* (err, results, matrix) {
|
|
624
543
|
var return_value = [];
|
|
625
544
|
|
|
626
545
|
if (err) {
|
|
@@ -646,8 +565,8 @@ module.exports = class Database {
|
|
|
646
565
|
}
|
|
647
566
|
});
|
|
648
567
|
|
|
649
|
-
return function (
|
|
650
|
-
return
|
|
568
|
+
return function (_x12, _x13, _x14) {
|
|
569
|
+
return _ref6.apply(this, arguments);
|
|
651
570
|
};
|
|
652
571
|
}());
|
|
653
572
|
} catch (e) {
|
|
@@ -655,43 +574,43 @@ module.exports = class Database {
|
|
|
655
574
|
}
|
|
656
575
|
});
|
|
657
576
|
|
|
658
|
-
return function (
|
|
659
|
-
return
|
|
577
|
+
return function (_x10, _x11) {
|
|
578
|
+
return _ref5.apply(this, arguments);
|
|
660
579
|
};
|
|
661
580
|
}());
|
|
662
581
|
}
|
|
663
582
|
|
|
664
583
|
getCount(count_query_element) {
|
|
665
|
-
var
|
|
584
|
+
var _this15 = this;
|
|
666
585
|
|
|
667
586
|
var query_scope = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "cluster";
|
|
668
587
|
return _asyncToGenerator(function* () {
|
|
669
|
-
var response = yield
|
|
588
|
+
var response = yield _this15.query(count_query_element, query_scope);
|
|
670
589
|
return response.rows[0].count;
|
|
671
590
|
})();
|
|
672
591
|
}
|
|
673
592
|
|
|
674
593
|
getData(query_element) {
|
|
675
|
-
var
|
|
594
|
+
var _this16 = this;
|
|
676
595
|
|
|
677
596
|
var query_scope = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "cluster";
|
|
678
597
|
return _asyncToGenerator(function* () {
|
|
679
|
-
var response = yield
|
|
598
|
+
var response = yield _this16.query(query_element, query_scope);
|
|
680
599
|
return response.rows;
|
|
681
600
|
})();
|
|
682
601
|
}
|
|
683
602
|
|
|
684
603
|
query(query) {
|
|
685
|
-
var
|
|
604
|
+
var _this17 = this;
|
|
686
605
|
|
|
687
606
|
var query_scope = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "cluster";
|
|
688
607
|
return _asyncToGenerator(function* () {
|
|
689
|
-
var scope = query_scope ||
|
|
608
|
+
var scope = query_scope || _this17.query_scope;
|
|
690
609
|
|
|
691
610
|
if (scope == "cluster") {
|
|
692
|
-
return yield
|
|
611
|
+
return yield _this17.cluster.query(query);
|
|
693
612
|
} else {
|
|
694
|
-
return yield
|
|
613
|
+
return yield _this17.scope.query(query);
|
|
695
614
|
}
|
|
696
615
|
})();
|
|
697
616
|
}
|
package/package.json
CHANGED
package/src/index.js
CHANGED
|
@@ -70,6 +70,11 @@ module.exports = class Database {
|
|
|
70
70
|
if (this.auto_create_collection) {
|
|
71
71
|
this.upsertCollection();
|
|
72
72
|
}
|
|
73
|
+
|
|
74
|
+
this.use_bucket_name = !(
|
|
75
|
+
spice.config.database.connections[this.connection_name].scope &&
|
|
76
|
+
spice.config.database.connections[this.connection_name].collection
|
|
77
|
+
);
|
|
73
78
|
}
|
|
74
79
|
}
|
|
75
80
|
|
|
@@ -105,7 +110,6 @@ module.exports = class Database {
|
|
|
105
110
|
async assignUserPermission() {
|
|
106
111
|
try {
|
|
107
112
|
let allUsers = await this.userManager.getAllUsers({ timeout: 6000 });
|
|
108
|
-
console.log("UserName::::", this.db_config.username, allUsers);
|
|
109
113
|
let update_user_response = await this.userManager.upsertUser(
|
|
110
114
|
this.db_config.username,
|
|
111
115
|
{
|
|
@@ -115,8 +119,6 @@ module.exports = class Database {
|
|
|
115
119
|
],
|
|
116
120
|
}
|
|
117
121
|
);
|
|
118
|
-
|
|
119
|
-
console.log("UPdate Response", update_user_response);
|
|
120
122
|
} catch (e) {
|
|
121
123
|
console.log(e);
|
|
122
124
|
}
|
|
@@ -224,101 +226,60 @@ module.exports = class Database {
|
|
|
224
226
|
|
|
225
227
|
async get(doc_id) {
|
|
226
228
|
try {
|
|
227
|
-
let response = await this.
|
|
228
|
-
|
|
229
|
+
let response = await (this.use_bucket_name
|
|
230
|
+
? this.connection
|
|
231
|
+
: this.collection
|
|
232
|
+
).get(doc_id);
|
|
233
|
+
|
|
229
234
|
return { id: doc_id, ...response.content };
|
|
230
235
|
} catch (e) {
|
|
231
236
|
console.error(e);
|
|
232
237
|
}
|
|
233
238
|
}
|
|
234
239
|
|
|
235
|
-
insert(doc_id, document, expiry) {
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
async function (err, res) {
|
|
245
|
-
if (err) {
|
|
246
|
-
reject(err);
|
|
247
|
-
} else {
|
|
248
|
-
try {
|
|
249
|
-
let created = await that.get(doc_id);
|
|
250
|
-
resolve(created);
|
|
251
|
-
} catch (e) {
|
|
252
|
-
reject(e);
|
|
253
|
-
}
|
|
254
|
-
}
|
|
255
|
-
}
|
|
256
|
-
);
|
|
257
|
-
});
|
|
240
|
+
async insert(doc_id, document, expiry) {
|
|
241
|
+
await (this.use_bucket_name ? this.connection : this.collection).insert(
|
|
242
|
+
doc_id,
|
|
243
|
+
document,
|
|
244
|
+
{
|
|
245
|
+
expiry: expiry,
|
|
246
|
+
}
|
|
247
|
+
);
|
|
248
|
+
return await this.get(doc_id);
|
|
258
249
|
}
|
|
259
250
|
|
|
260
|
-
touch(doc_id, expiry = 0) {
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
} else {
|
|
267
|
-
try {
|
|
268
|
-
let created = await that.get(doc_id);
|
|
269
|
-
resolve(created);
|
|
270
|
-
} catch (e) {
|
|
271
|
-
reject(e);
|
|
272
|
-
}
|
|
273
|
-
}
|
|
274
|
-
});
|
|
275
|
-
});
|
|
251
|
+
async touch(doc_id, expiry = 0) {
|
|
252
|
+
await (this.use_bucket_name ? this.connection : this.collection).touch(
|
|
253
|
+
doc_id,
|
|
254
|
+
expiry
|
|
255
|
+
);
|
|
256
|
+
return await this.get(doc_id);
|
|
276
257
|
}
|
|
277
258
|
|
|
278
|
-
count(doc_id, adjustment, initial_value) {
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
{
|
|
285
|
-
initial: initial_value,
|
|
286
|
-
},
|
|
287
|
-
function (err, res) {
|
|
288
|
-
if (err) {
|
|
289
|
-
reject(err);
|
|
290
|
-
} else {
|
|
291
|
-
resolve(res.value);
|
|
292
|
-
}
|
|
293
|
-
}
|
|
294
|
-
);
|
|
259
|
+
async count(doc_id, adjustment, initial_value) {
|
|
260
|
+
let res = await (this.use_bucket_name
|
|
261
|
+
? this.connection
|
|
262
|
+
: this.collection
|
|
263
|
+
).counter(doc_id, adjustment, {
|
|
264
|
+
initial: initial_value,
|
|
295
265
|
});
|
|
266
|
+
return res.value;
|
|
296
267
|
}
|
|
297
268
|
|
|
298
|
-
update(doc_id, document) {
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
} else {
|
|
305
|
-
resolve(res.value);
|
|
306
|
-
}
|
|
307
|
-
});
|
|
308
|
-
});
|
|
269
|
+
async update(doc_id, document) {
|
|
270
|
+
let res = await (this.use_bucket_name
|
|
271
|
+
? this.connection
|
|
272
|
+
: this.collection
|
|
273
|
+
).replace(doc_id, document);
|
|
274
|
+
return res.value;
|
|
309
275
|
}
|
|
310
276
|
|
|
311
|
-
delete(doc_id) {
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
} else {
|
|
318
|
-
resolve(res.value);
|
|
319
|
-
}
|
|
320
|
-
});
|
|
321
|
-
});
|
|
277
|
+
async delete(doc_id) {
|
|
278
|
+
let res = await (this.use_bucket_name
|
|
279
|
+
? this.connection
|
|
280
|
+
: this.collection
|
|
281
|
+
).remove(doc_id);
|
|
282
|
+
return res.value;
|
|
322
283
|
}
|
|
323
284
|
|
|
324
285
|
async multi_get(keys, keep_type) {
|
|
@@ -329,7 +290,9 @@ module.exports = class Database {
|
|
|
329
290
|
}
|
|
330
291
|
// console.log("on Multiget", keys);
|
|
331
292
|
if (_.isArray(keys) && keys.length > 0) {
|
|
332
|
-
let functions = _.map(keys, (key) =>
|
|
293
|
+
let functions = _.map(keys, (key) =>
|
|
294
|
+
(this.use_bucket_name ? this.connection : this.collection).get(key)
|
|
295
|
+
);
|
|
333
296
|
let returned_all = await Promise.allSettled(functions);
|
|
334
297
|
|
|
335
298
|
let responses = _.flatten(
|
|
@@ -347,24 +310,6 @@ module.exports = class Database {
|
|
|
347
310
|
res.value.id = keys[index];
|
|
348
311
|
return res.value;
|
|
349
312
|
});
|
|
350
|
-
|
|
351
|
-
/* that.connection.getMulti(keys, function (err, res) {
|
|
352
|
-
if (res) {
|
|
353
|
-
let return_value = [];
|
|
354
|
-
for (var i in res) {
|
|
355
|
-
if (res[i].value) {
|
|
356
|
-
if (!keep_type) {
|
|
357
|
-
delete res[i].value['type']
|
|
358
|
-
}
|
|
359
|
-
res[i].value.id = i;
|
|
360
|
-
return_value.push(res[i].value);
|
|
361
|
-
}
|
|
362
|
-
}
|
|
363
|
-
resolve(return_value);
|
|
364
|
-
} else if (err) {
|
|
365
|
-
reject(err);
|
|
366
|
-
}
|
|
367
|
-
}); */
|
|
368
313
|
} else {
|
|
369
314
|
return [];
|
|
370
315
|
}
|
|
@@ -430,12 +375,16 @@ module.exports = class Database {
|
|
|
430
375
|
do_count,
|
|
431
376
|
query_scope
|
|
432
377
|
) {
|
|
378
|
+
let is_legacy =
|
|
379
|
+
this.scope_name !== "_default" && this.collection_name !== "_default";
|
|
433
380
|
let alias = "_reference";
|
|
434
|
-
let bucket = `\`${
|
|
435
|
-
|
|
436
|
-
|
|
381
|
+
let bucket = `\`${
|
|
382
|
+
this.use_bucket_name ? this.bucket : this.collection_name
|
|
383
|
+
}\``;
|
|
437
384
|
|
|
438
385
|
try {
|
|
386
|
+
//let uses_scopes = this.scope this.scope_name !== "_default";
|
|
387
|
+
|
|
439
388
|
if (do_count == undefined) {
|
|
440
389
|
do_count = "false";
|
|
441
390
|
}
|
|
@@ -450,28 +399,28 @@ module.exports = class Database {
|
|
|
450
399
|
}
|
|
451
400
|
|
|
452
401
|
if (columns == "*") {
|
|
453
|
-
columns = "(" +
|
|
454
|
-
fix = ", META(" +
|
|
402
|
+
columns = "(" + bucket + ").*";
|
|
403
|
+
fix = ", META(" + bucket + ").id AS id";
|
|
455
404
|
}
|
|
456
405
|
|
|
457
406
|
if (!columns) {
|
|
458
|
-
columns = "(" +
|
|
459
|
-
fix = ", META(" +
|
|
407
|
+
columns = "(" + bucket + ").*";
|
|
408
|
+
fix = ", META(" + bucket + ").id AS id";
|
|
460
409
|
}
|
|
461
410
|
|
|
462
411
|
if (columns == "id") {
|
|
463
|
-
fix = ", META(" +
|
|
412
|
+
fix = ", META(" + bucket + ").id AS id";
|
|
464
413
|
columns = "";
|
|
465
414
|
}
|
|
466
415
|
|
|
467
416
|
var front_query = `SELECT ${columns} ${fix} FROM ${bucket}`;
|
|
468
417
|
|
|
469
|
-
if (
|
|
418
|
+
if (is_legacy || query) {
|
|
470
419
|
front_query += " WHERE ";
|
|
471
420
|
}
|
|
472
421
|
|
|
473
422
|
let conditions = [];
|
|
474
|
-
if (
|
|
423
|
+
if (this.use_bucket_name) {
|
|
475
424
|
conditions.push(`type = '${type}'`);
|
|
476
425
|
}
|
|
477
426
|
if (query) {
|
|
@@ -481,7 +430,7 @@ module.exports = class Database {
|
|
|
481
430
|
query = front_query + conditions.join(" AND ");
|
|
482
431
|
|
|
483
432
|
count_query = `SELECT count(meta().id) as count FROM ${bucket}`;
|
|
484
|
-
if (
|
|
433
|
+
if (this.use_bucket_name || query) {
|
|
485
434
|
count_query += " WHERE ";
|
|
486
435
|
}
|
|
487
436
|
query = front_query + conditions.join(" AND ");
|
|
@@ -498,10 +447,8 @@ module.exports = class Database {
|
|
|
498
447
|
query = query + " OFFSET " + offset;
|
|
499
448
|
}
|
|
500
449
|
|
|
501
|
-
let
|
|
502
|
-
|
|
503
|
-
let active_query_space = query_scope || uses_scopes ? "scope" : "cluster";
|
|
504
|
-
console.log(active_query_space, this.scope_name, uses_scopes);
|
|
450
|
+
let active_query_space =
|
|
451
|
+
query_scope || !this.use_bucket_name ? "scope" : "cluster";
|
|
505
452
|
|
|
506
453
|
let queries = [this.getData(query, active_query_space)];
|
|
507
454
|
if (do_count === "true") {
|