@xuda.io/xuda-dbs-plugin-xuda 1.0.133 → 1.0.134

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 +1 -345
  3. package/studio.mjs +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xuda.io/xuda-dbs-plugin-xuda",
3
- "version": "1.0.133",
3
+ "version": "1.0.134",
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
@@ -708,350 +708,6 @@ const query_db = async function (e, db, app_id_reference, table_obj) {
708
708
  return raw_data();
709
709
  };
710
710
 
711
- // var limit = 99999;
712
- // var skip = 0;
713
-
714
- // if (e.limit) {
715
- // limit = Number(e.limit);
716
- // }
717
-
718
- // if (e.skip) {
719
- // skip = JSON.parse(e.skip);
720
- // }
721
-
722
- // var fields = [];
723
- // if (e.fields) {
724
- // for (const [key, val] of Object.entries(
725
- // typeof e.fields === "string" ? e.fields.split(",") : e.fields
726
- // )) {
727
- // fields.push(val);
728
- // }
729
- // } else {
730
- // for (const [key, val] of Object.entries(table_obj.tableFields)) {
731
- // fields.push(val.data.field_id);
732
- // }
733
- // }
734
-
735
- // var data = {};
736
- // var from = e.filter_from ? JSON.parse(e.filter_from) : {};
737
- // var to = e.filter_to ? JSON.parse(e.filter_to) : {};
738
- // var sort = [];
739
- // for (const [key, val] of Object.entries(from)) {
740
- // var field_name = key;
741
-
742
- // sort.push(field_name);
743
-
744
- // if (val === to[key]) {
745
- // data[field_name] = val;
746
- // } else {
747
- // data[field_name] = { $gte: val };
748
- // }
749
- // }
750
-
751
- // for (const [key, val] of Object.entries(to)) {
752
- // var field_name = key;
753
-
754
- // if (val !== from[key]) {
755
- // data[field_name]["$lte"] = val;
756
- // }
757
- // }
758
-
759
- // var selector = {};
760
-
761
- // if (from && !_.isEmpty(from)) {
762
- // selector = data;
763
- // }
764
-
765
- // var opt = {
766
- // selector,
767
- // limit: limit,
768
- // skip: skip,
769
- // fields: fields,
770
- // };
771
-
772
- // if (sort.length) {
773
- // opt.sort = sort;
774
- // }
775
-
776
- // if (e?.sort_fields?.length) {
777
- // opt.sort = e.sort_fields;
778
- // if (opt.sort) {
779
- // for (const [key, val] of Object.entries(opt.sort)) {
780
- // var field_name = val.colId;
781
- // opt.sort[key] = {
782
- // ["udfData.data." + field_name]: val.sort,
783
- // };
784
- // }
785
- // }
786
- // }
787
- // // if (e.sort_fields && JSON.parse(e.sort_fields).length) {
788
- // // opt.sort = JSON.parse(e.sort_fields);
789
- // // if (opt.sort) {
790
- // // for (const [key, val] of Object.entries(opt.sort)) {
791
- // // var field_name = val.colId;
792
- // // opt.sort[key] = {
793
- // // ["udfData.data." + field_name]: val.sort,
794
- // // };
795
- // // }
796
- // // }
797
- // // }
798
-
799
- // if (e.grid_filter_info) {
800
- // for (const [key, val] of Object.entries(e.grid_filter_info)) {
801
- // var field_name = key;
802
- // var condition = "$and";
803
- // const make_selector = function (val) {
804
- // var value = "";
805
- // var operator = "";
806
- // var value_to = "";
807
- // var operator_to = "";
808
-
809
- // if (val.filterType === "date") {
810
- // var date = val.dateFrom.substr(0, 10);
811
- // switch (val.type) {
812
- // case "equals":
813
- // operator = "$regex";
814
- // value = `^${date}`;
815
- // break;
816
-
817
- // case "greaterThan":
818
- // operator = "$gt";
819
- // value = `${date}`;
820
- // break;
821
-
822
- // case "lessThan":
823
- // operator = "$lt";
824
- // value = `${date}`;
825
- // break;
826
-
827
- // case "blank":
828
- // operator = "$eq";
829
- // value = "";
830
- // break;
831
-
832
- // case "inRange":
833
- // operator = "$gte";
834
- // value = date;
835
- // operator_to = "$lte";
836
- // value_to = val.dateTo.substr(0, 10);
837
- // break;
838
-
839
- // case "notEqual":
840
- // operator = "$regex";
841
- // value = `^((?!${date}).)*$`;
842
- // break;
843
-
844
- // case "notBlank":
845
- // operator = "$ne";
846
- // value = "";
847
- // break;
848
-
849
- // default:
850
- // operator = "$regex";
851
- // value = `^${date}`;
852
- // }
853
- // }
854
-
855
- // if (val.filterType === "string" || val.filterType === "text") {
856
- // switch (val.type) {
857
- // case "contains":
858
- // operator = "$regex";
859
- // value = `${val.filter}`;
860
- // break;
861
-
862
- // case "notContains":
863
- // operator = "$regex";
864
- // value = `^((?!${val.filter}).)*$`;
865
- // break;
866
-
867
- // case "equals":
868
- // operator = "$eq";
869
- // value = `${val.filter}`;
870
- // break;
871
-
872
- // case "notEqual":
873
- // operator = "$ne";
874
- // value = `${val.filter}`;
875
- // break;
876
-
877
- // case "startsWith":
878
- // operator = "$regex";
879
- // value = `^${val.filter}`;
880
- // break;
881
-
882
- // case "endsWith":
883
- // operator = "$regex";
884
- // value = `${val.filter}$`;
885
- // break;
886
-
887
- // case "blank":
888
- // operator = "$eq";
889
- // value = "";
890
- // break;
891
-
892
- // case "notBlank":
893
- // operator = "$ne";
894
- // value = "";
895
- // break;
896
-
897
- // default:
898
- // value = "^" + val.filter;
899
- // }
900
- // }
901
-
902
- // if (val.filterType === "number") {
903
- // switch (val.type) {
904
- // case "equals":
905
- // operator = "$eq";
906
- // value = val.filter;
907
- // break;
908
-
909
- // case "notEqual":
910
- // operator = "$ne";
911
- // value = val.filter;
912
- // break;
913
-
914
- // case "lessThanOrEqual":
915
- // operator = "$lte";
916
- // value = val.filter;
917
- // break;
918
-
919
- // case "greaterThanOrEqual":
920
- // operator = "$gte";
921
- // value = val.filter;
922
- // break;
923
-
924
- // case "lessThan":
925
- // operator = "$lt";
926
- // value = val.filter;
927
- // break;
928
-
929
- // case "greaterThan":
930
- // operator = "$gt";
931
- // value = val.filter;
932
- // break;
933
-
934
- // case "blank":
935
- // operator = "$eq";
936
- // value = 0;
937
- // break;
938
-
939
- // case "notBlank":
940
- // operator = "$ne";
941
- // value = 0;
942
- // break;
943
-
944
- // case "inRange":
945
- // operator = "$gte";
946
- // value = val.filter;
947
- // operator_to = "$lte";
948
- // value_to = val.filterTo;
949
- // break;
950
-
951
- // default:
952
- // operator = "$eq";
953
- // value = val.filter;
954
- // }
955
- // }
956
- // if (!opt.selector[field_name]) {
957
- // opt.selector[field_name] = {};
958
- // }
959
- // if (!opt.selector[field_name][condition]) {
960
- // opt.selector[field_name][condition] = [];
961
- // }
962
- // opt.selector[field_name][condition].push({
963
- // [operator]: value,
964
- // });
965
-
966
- // if (operator_to) {
967
- // opt.selector[field_name][condition].push({
968
- // [operator_to]: value_to,
969
- // });
970
- // }
971
- // };
972
-
973
- // if (!val.condition1) {
974
- // make_selector(val);
975
- // } else {
976
- // condition = "$" + val.operator.toLowerCase();
977
- // make_selector(val.condition1);
978
- // make_selector(val.condition2);
979
- // }
980
- // }
981
- // }
982
-
983
- // if (e.total_fields_info) {
984
- // fields = [];
985
- // for (const [key, val] of Object.entries(
986
- // JSON.parse(e.total_fields_info)
987
- // )) {
988
- // var field_name = val.field_id;
989
-
990
- // fields.push(field_name);
991
- // }
992
- // opt.fields = fields;
993
- // }
994
- // // fix names
995
-
996
- // for (const [key, val] of Object.entries(opt.fields)) {
997
- // opt.fields[key] = "udfData.data." + val;
998
- // }
999
- // if (!e?.sort_fields?.length) {
1000
- // // added 2021 09 10
1001
- // if (opt.sort) {
1002
- // for (const [key, val] of Object.entries(opt.sort)) {
1003
- // opt.sort[key] = {
1004
- // ["udfData.data." + val]: e.sortOrder === "des" ? "desc" : "asc",
1005
- // };
1006
- // }
1007
- // }
1008
- // }
1009
- // // if (!e.sort_fields || !JSON.parse(e.sort_fields).length) {
1010
- // // // added 2021 09 10
1011
- // // if (opt.sort) {
1012
- // // for (const [key, val] of Object.entries(opt.sort)) {
1013
- // // opt.sort[key] = {
1014
- // // ["udfData.data." + val]: e.sortOrder === "des" ? "desc" : "asc",
1015
- // // };
1016
- // // }
1017
- // // }
1018
- // // }
1019
-
1020
- // var selector_new = {};
1021
-
1022
- // for (const [key, val] of Object.entries(opt.selector)) {
1023
- // selector_new["udfData.data." + key] = val;
1024
- // }
1025
-
1026
- // if (e.viewDbQuery) {
1027
- // for (const [key, val] of Object.entries(table_obj.tableFields)) {
1028
- // if (e.viewDbQuery.includes(val.id)) {
1029
- // const replacer = new RegExp(val.id, "g");
1030
- // e.viewDbQuery = e.viewDbQuery.replace(
1031
- // replacer,
1032
- // "udfData.data." + val.data.field_id
1033
- // );
1034
- // }
1035
- // }
1036
-
1037
- // let viewDbQuery = JSON.parse(e.viewDbQuery.replace(/\\/g, ""));
1038
-
1039
- // for (const [key, val] of Object.entries(viewDbQuery)) {
1040
- // selector_new[key] = val;
1041
- // }
1042
- // }
1043
-
1044
- // opt.selector = selector_new;
1045
- // opt.selector["udfData.udffileid"] = e.table_id;
1046
- // opt.selector.stat = e.archived ? 4 : 3;
1047
-
1048
- // opt.fields.push("_id");
1049
- // opt.fields.push("_rev");
1050
-
1051
- // if (e.selector) {
1052
- // opt.selector = { ...e.selector, ...opt.selector };
1053
- // }
1054
-
1055
711
  // xuda
1056
712
 
1057
713
  try {
@@ -1088,7 +744,7 @@ const query_db = async function (e, db, app_id_reference, table_obj) {
1088
744
 
1089
745
  mango_index_obj = {
1090
746
  index: {
1091
- fields: opt.sort,
747
+ fields: [...Object.keys(opt.selector), ...opt.sort],
1092
748
  },
1093
749
  name: index_name,
1094
750
  ddoc: `mango_index_table_${e.table_id}`,
package/studio.mjs CHANGED
@@ -1082,7 +1082,7 @@ const query_db = async function (e, db, table_obj) {
1082
1082
 
1083
1083
  mango_index_obj = {
1084
1084
  index: {
1085
- fields: opt.sort,
1085
+ fields: [...Object.keys(opt.selector), ...opt.sort],
1086
1086
  },
1087
1087
  name: index_name,
1088
1088
  ddoc: `mango_index_table_${e.table_id}`,