@xuda.io/xuda-dbs-plugin-xuda 1.0.204 → 1.0.206

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 (3) hide show
  1. package/package.json +1 -1
  2. package/server.js +4 -19
  3. package/studio.mjs +7 -213
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xuda.io/xuda-dbs-plugin-xuda",
3
- "version": "1.0.204",
3
+ "version": "1.0.206",
4
4
  "description": "Xuda Database Socket for Xuda's proprietary structure powered by CouchDB",
5
5
  "scripts": {
6
6
  "pub": "npm version patch --force && npm publish --access public"
package/server.js CHANGED
@@ -559,7 +559,7 @@ const get_opt = function (e, table_obj) {
559
559
  return recursiveReplace(query);
560
560
  }
561
561
 
562
- if (e.filterModelMongo) {
562
+ if (e.dataSourceFilterModelType === "query" && e.filterModelMongo) {
563
563
  selector_new["$and"] = [
564
564
  replaceRegexOptions(replaceKeysInQuery(JSON.parse(e.filterModelMongo))),
565
565
  ];
@@ -574,25 +574,10 @@ const get_opt = function (e, table_obj) {
574
574
  )
575
575
  );
576
576
  }
577
- for (const [key, val] of Object.entries(opt.selector)) {
578
- selector_new["udfData.data." + key] = val;
579
- }
580
-
581
- if (e.viewDbQuery) {
582
- for (const [key, val] of Object.entries(table_obj.tableFields)) {
583
- if (e.viewDbQuery.includes(val.id)) {
584
- const replacer = new RegExp(val.id, "g");
585
- e.viewDbQuery = e.viewDbQuery.replace(
586
- replacer,
587
- "udfData.data." + val.data.field_id
588
- );
589
- }
590
- }
591
-
592
- let viewDbQuery = JSON.parse(e.viewDbQuery.replace(/\\/g, ""));
593
577
 
594
- for (const [key, val] of Object.entries(viewDbQuery)) {
595
- selector_new[key] = val;
578
+ if (e.dataSourceFilterModelType === "index") {
579
+ for (const [key, val] of Object.entries(opt.selector)) {
580
+ selector_new["udfData.data." + key] = val;
596
581
  }
597
582
  }
598
583
 
package/studio.mjs CHANGED
@@ -295,192 +295,6 @@ const get_opt = function (e, table_obj) {
295
295
  }
296
296
  }
297
297
 
298
- // if (e.filterModel && JSON.parse(e.filterModel)) {
299
- // debugger;
300
- // for (const [key, val] of Object.entries(JSON.parse(e.filterModel))) {
301
- // var field_name = "udfData.data." + key;
302
- // var condition = "$and";
303
- // const make_selector = function (val) {
304
- // var value = "";
305
- // var operator = "";
306
- // var value_to = "";
307
- // var operator_to = "";
308
-
309
- // if (val.filterType === "date") {
310
- // var date = val.dateFrom.substr(0, 10);
311
- // switch (val.type) {
312
- // case "equals":
313
- // operator = "$regex";
314
- // value = `^${date}`;
315
- // break;
316
-
317
- // case "greaterThan":
318
- // operator = "$gt";
319
- // value = `${date}`;
320
- // break;
321
-
322
- // case "lessThan":
323
- // operator = "$lt";
324
- // value = `${date}`;
325
- // break;
326
-
327
- // case "blank":
328
- // operator = "$eq";
329
- // value = "";
330
- // break;
331
-
332
- // case "inRange":
333
- // operator = "$gte";
334
- // value = date;
335
- // operator_to = "$lte";
336
- // value_to = val.dateTo.substr(0, 10);
337
- // break;
338
-
339
- // case "notEqual":
340
- // operator = "$regex";
341
- // value = `^((?!${date}).)*$`;
342
- // break;
343
-
344
- // case "notBlank":
345
- // operator = "$ne";
346
- // value = "";
347
- // break;
348
-
349
- // default:
350
- // operator = "$regex";
351
- // value = `^${date}`;
352
- // }
353
- // }
354
-
355
- // if (val.filterType === "string" || val.filterType === "text") {
356
- // switch (val.type) {
357
- // case "contains":
358
- // operator = "$regex";
359
- // value = `${val.filter}`;
360
- // break;
361
-
362
- // case "notContains":
363
- // operator = "$regex";
364
- // value = `^((?!${val.filter}).)*$`;
365
- // break;
366
-
367
- // case "equals":
368
- // operator = "$eq";
369
- // value = `${val.filter}`;
370
- // break;
371
-
372
- // case "notEqual":
373
- // operator = "$ne";
374
- // value = `${val.filter}`;
375
- // break;
376
-
377
- // case "startsWith":
378
- // operator = "$regex";
379
- // value = `^${val.filter}`;
380
- // break;
381
-
382
- // case "endsWith":
383
- // operator = "$regex";
384
- // value = `${val.filter}$`;
385
- // break;
386
-
387
- // case "blank":
388
- // operator = "$eq";
389
- // value = "";
390
- // break;
391
-
392
- // case "notBlank":
393
- // operator = "$ne";
394
- // value = "";
395
- // break;
396
-
397
- // default:
398
- // value = "^" + val.filter;
399
- // }
400
- // }
401
-
402
- // if (val.filterType === "number") {
403
- // switch (val.type) {
404
- // case "equals":
405
- // operator = "$eq";
406
- // value = val.filter;
407
- // break;
408
-
409
- // case "notEqual":
410
- // operator = "$ne";
411
- // value = val.filter;
412
- // break;
413
-
414
- // case "lessThanOrEqual":
415
- // operator = "$lte";
416
- // value = val.filter;
417
- // break;
418
-
419
- // case "greaterThanOrEqual":
420
- // operator = "$gte";
421
- // value = val.filter;
422
- // break;
423
-
424
- // case "lessThan":
425
- // operator = "$lt";
426
- // value = val.filter;
427
- // break;
428
-
429
- // case "greaterThan":
430
- // operator = "$gt";
431
- // value = val.filter;
432
- // break;
433
-
434
- // case "blank":
435
- // operator = "$eq";
436
- // value = 0;
437
- // break;
438
-
439
- // case "notBlank":
440
- // operator = "$ne";
441
- // value = 0;
442
- // break;
443
-
444
- // case "inRange":
445
- // operator = "$gte";
446
- // value = val.filter;
447
- // operator_to = "$lte";
448
- // value_to = val.filterTo;
449
- // break;
450
-
451
- // default:
452
- // operator = "$eq";
453
- // value = val.filter;
454
- // }
455
- // }
456
- // if (!opt.selector[condition]) {
457
- // opt.selector[condition] = [];
458
- // }
459
- // // if (!opt.selector[condition][field_name]) {
460
- // // opt.selector[condition][field_name] = [];
461
- // // }
462
- // opt.selector[condition].push({ [field_name]: { [operator]: value } });
463
-
464
- // if (operator_to) {
465
- // opt.selector[condition].push({
466
- // [field_name]: { [operator_to]: value_to },
467
- // });
468
- // // opt.selector[condition][field_name].push({
469
- // // [operator_to]: value_to,
470
- // // });
471
- // }
472
- // };
473
-
474
- // if (!val.condition1) {
475
- // make_selector(val);
476
- // } else {
477
- // condition = "$" + val.operator.toLowerCase();
478
- // make_selector(val.condition1);
479
- // make_selector(val.condition2);
480
- // }
481
- // }
482
- // }
483
-
484
298
  if (e.total_fields_info) {
485
299
  fields = [];
486
300
  for (const [key, val] of Object.entries(JSON.parse(e.total_fields_info))) {
@@ -509,32 +323,6 @@ const get_opt = function (e, table_obj) {
509
323
 
510
324
  var selector_new = {};
511
325
 
512
- // for (const [key, val] of Object.entries(opt.selector)) {
513
- // if (key.substring(0, 1) === "$") {
514
- // selector_new[key] = val;
515
- // continue;
516
- // }
517
- // selector_new["udfData.data." + key] = val;
518
- // }
519
-
520
- // if (e.viewDbQuery) {
521
- // for (const [key, val] of Object.entries(table_obj.tableFields)) {
522
- // if (e.viewDbQuery.includes(val.id)) {
523
- // const replacer = new RegExp(val.id, "g");
524
- // e.viewDbQuery = e.viewDbQuery.replace(
525
- // replacer,
526
- // "udfData.data." + val.data.field_id
527
- // );
528
- // }
529
- // }
530
-
531
- // let viewDbQuery = JSON.parse(e.viewDbQuery.replace(/\\/g, ""));
532
-
533
- // for (const [key, val] of Object.entries(viewDbQuery)) {
534
- // selector_new[key] = val;
535
- // }
536
- // }
537
-
538
326
  function replaceKeysInQuery(query) {
539
327
  const keys_to_replace = table_obj.tableFields.map((e) => {
540
328
  return e.id;
@@ -608,7 +396,7 @@ const get_opt = function (e, table_obj) {
608
396
  return recursiveReplace(query);
609
397
  }
610
398
 
611
- if (e.filterModelMongo) {
399
+ if (e.dataSourceFilterModelType === "query" && e.filterModelMongo) {
612
400
  selector_new["$and"] = [
613
401
  replaceRegexOptions(replaceKeysInQuery(JSON.parse(e.filterModelMongo))),
614
402
  ];
@@ -624,6 +412,12 @@ const get_opt = function (e, table_obj) {
624
412
  );
625
413
  }
626
414
 
415
+ if (e.dataSourceFilterModelType === "index") {
416
+ for (const [key, val] of Object.entries(opt.selector)) {
417
+ selector_new["udfData.data." + key] = val;
418
+ }
419
+ }
420
+
627
421
  opt.selector = selector_new;
628
422
  opt.selector["udfData.udffileid"] = e.table_id;
629
423
  opt.selector["docType"] = "database";