@xuda.io/xuda-dbs-plugin-xuda 1.0.148 → 1.0.150

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 +14 -10
  3. package/studio.mjs +45 -49
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xuda.io/xuda-dbs-plugin-xuda",
3
- "version": "1.0.148",
3
+ "version": "1.0.150",
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
@@ -501,6 +501,7 @@ const get_opt = function (e, table_obj) {
501
501
 
502
502
  opt.selector = selector_new;
503
503
  opt.selector["udfData.udffileid"] = e.table_id;
504
+ opt.selector["docType"] = "database";
504
505
  opt.selector.stat = e.archived ? 4 : 3;
505
506
 
506
507
  opt.fields.push("_id");
@@ -744,16 +745,19 @@ const query_db = async function (e, db, app_id_reference, table_obj) {
744
745
 
745
746
  mango_index_obj = {
746
747
  index: {
747
- fields: Object.keys(
748
- _.reduce(
749
- opt.sort,
750
- (ret, val) => {
751
- ret[Object.keys(val)[0]] = val;
752
- return ret;
753
- },
754
- opt.selector
755
- )
756
- ),
748
+ fields: [
749
+ ...Object.keys(
750
+ _.reduce(
751
+ opt.sort,
752
+ (ret, val) => {
753
+ ret[Object.keys(val)[0]] = val;
754
+ return ret;
755
+ },
756
+ opt.selector
757
+ )
758
+ ),
759
+ ...["docType", "stat"],
760
+ ],
757
761
  },
758
762
  name: index_name,
759
763
  ddoc: `mango_index_table_${e.table_id}`,
package/studio.mjs CHANGED
@@ -515,6 +515,7 @@ const get_opt = function (e, table_obj) {
515
515
 
516
516
  opt.selector = selector_new;
517
517
  opt.selector["udfData.udffileid"] = e.table_id;
518
+ opt.selector["docType"] = "database";
518
519
  opt.selector.stat = e.archived ? 4 : 3;
519
520
 
520
521
  opt.fields.push("_id");
@@ -763,16 +764,19 @@ const query_db = async function (e, db, table_obj) {
763
764
 
764
765
  mango_index_obj = {
765
766
  index: {
766
- fields: Object.keys(
767
- _.reduce(
768
- opt.sort,
769
- (ret, val) => {
770
- ret[Object.keys(val)[0]] = val;
771
- return ret;
772
- },
773
- opt.selector
774
- )
775
- ),
767
+ fields: [
768
+ ...Object.keys(
769
+ _.reduce(
770
+ opt.sort,
771
+ (ret, val) => {
772
+ ret[Object.keys(val)[0]] = val;
773
+ return ret;
774
+ },
775
+ opt.selector
776
+ )
777
+ ),
778
+ ...["docType", "stat"],
779
+ ],
776
780
  },
777
781
  name: index_name,
778
782
  ddoc: `mango_index_table_${e.table_id}`,
@@ -1161,16 +1165,11 @@ export const del = async (params, resolve, reject) => {
1161
1165
  const e = params.e;
1162
1166
  const db = params.db;
1163
1167
 
1164
- const table_obj = params.table_obj;
1165
- const data = await db.fetch({ keys: e.ids });
1166
- var docs_to_delete = [];
1167
-
1168
- for await (var val of data.rows) {
1169
- var doc = val.doc;
1170
-
1171
- if (doc && doc._id) {
1168
+ for await (let row_id of e.ids) {
1169
+ try {
1170
+ let doc = await db.get(row_id);
1172
1171
  if (e.permanent) {
1173
- docs_to_delete.push({
1172
+ await db.put({
1174
1173
  _id: doc._id,
1175
1174
  _rev: doc._rev,
1176
1175
  _deleted: true,
@@ -1178,41 +1177,38 @@ export const del = async (params, resolve, reject) => {
1178
1177
  } else {
1179
1178
  doc.stat = 4;
1180
1179
  doc.ts = Date.now();
1181
- docs_to_delete.push(doc);
1180
+ await db.put(doc);
1182
1181
  }
1182
+ } catch (err) {
1183
+ return { code: -110, data: err };
1183
1184
  }
1184
1185
  }
1185
- try {
1186
- await db.bulk({ docs: docs_to_delete });
1187
- resolve(docs_to_delete);
1188
- } catch (error) {
1189
- return { code: -110, data: error };
1190
- }
1186
+ resolve(e.ids);
1191
1187
  };
1192
1188
 
1193
- export const restore = async (params, resolve, reject) => {
1194
- const e = params.e;
1195
- const db = params.db;
1196
- var docs_to_restore = [];
1197
- const data = await db.fetch({ keys: e.ids });
1198
-
1199
- for await (var val of data.rows) {
1200
- var doc = val.doc;
1201
-
1202
- if (doc && doc._id) {
1203
- doc.stat = 3;
1204
- doc.ts = Date.now();
1205
- docs_to_restore.push(doc);
1206
- }
1207
- }
1208
-
1209
- try {
1210
- await db.bulk({ docs: docs_to_restore });
1211
- resolve(docs_to_restore);
1212
- } catch (error) {
1213
- return reject(error);
1214
- }
1215
- };
1189
+ // export const restore = async (params, resolve, reject) => {
1190
+ // const e = params.e;
1191
+ // const db = params.db;
1192
+ // var docs_to_restore = [];
1193
+ // const data = await db.fetch({ keys: e.ids });
1194
+
1195
+ // for await (var val of data.rows) {
1196
+ // var doc = val.doc;
1197
+
1198
+ // if (doc && doc._id) {
1199
+ // doc.stat = 3;
1200
+ // doc.ts = Date.now();
1201
+ // docs_to_restore.push(doc);
1202
+ // }
1203
+ // }
1204
+
1205
+ // try {
1206
+ // await db.bulk({ docs: docs_to_restore });
1207
+ // resolve(docs_to_restore);
1208
+ // } catch (error) {
1209
+ // return reject(error);
1210
+ // }
1211
+ // };
1216
1212
 
1217
1213
  export const create_design = async (params, resolve, reject) => {
1218
1214
  const db = params.db;