@xuda.io/drive_module 1.1.1014 → 1.1.1016

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 (2) hide show
  1. package/index.js +2 -426
  2. package/package.json +1 -1
package/index.js CHANGED
@@ -43,7 +43,6 @@ const url = require("url");
43
43
  "rename_drive_folder",
44
44
  "update_drive_file_sharing_mode",
45
45
  "delete_file_bulk",
46
-
47
46
  "check_drive_file",
48
47
  "update_drive_file_tags",
49
48
  ].forEach((method) => {
@@ -647,150 +646,6 @@ exports.get_drive_file_info = async function (req, job_id, headers) {
647
646
  };
648
647
  }
649
648
  };
650
- // exports.delete_drive_files = async function (req) {
651
- // try {
652
- // const { drive_type, app_id, files_arr } = req;
653
- // validate_drive_type(drive_type);
654
-
655
- // if (!Array.isArray(files_arr)) {
656
- // return {
657
- // code: -400,
658
- // data: "error - files_arr must be Array",
659
- // };
660
- // }
661
-
662
- // let doc_ret;
663
- // for await (const file of files_arr) {
664
-
665
- // let doc = await get_drive_doc(
666
- // "file",
667
- // drive_type,
668
- // app_id,
669
- // uid,
670
- // file.file_path,
671
- // headers
672
- // );
673
-
674
- // switch (drive_type) {
675
- // case "studio": {
676
- // const app_id_master = await _common.get_project_app_id(app_id);
677
- // doc_ret = await db_module.get_app_couch_doc(
678
- // app_id_master,
679
- // path.basename(file.path)
680
- // );
681
-
682
- // const ret = rimraf.sync(file.path); // delete the file
683
- // if (doc_ret.code > -1) {
684
- // if (doc_ret.data.type === "directory") {
685
- // const docs = await get_folder_docs(
686
- // path.basename(file.path),
687
- // drive_type,
688
- // app_id_master
689
- // );
690
- // for await (let doc of docs) {
691
- // doc._deleted = true;
692
- // await db_module.save_app_couch_doc(app_id_master, doc);
693
- // }
694
- // }
695
-
696
- // doc_ret.data._deleted = true;
697
- // save_ret = await db_module.save_app_couch_doc(
698
- // app_id_master,
699
- // doc_ret.data
700
- // );
701
- // }
702
-
703
- // misc_module.rsync_drive_resources_to_remote_servers(
704
- // "studio",
705
- // app_id_master
706
- // );
707
- // break;
708
- // }
709
-
710
- // case "workspace": {
711
- // const app_id_reference = await _common.get_project_app_id(app_id);
712
-
713
- // doc_ret = await db_module.get_app_couch_doc(
714
- // app_id_reference,
715
- // path.basename(file.path)
716
- // );
717
-
718
- // if (doc_ret.data.type === "file") {
719
- // await module.exports.delete_file_from_bucket(doc_ret.data.bucket);
720
- // }
721
- // if (doc_ret.data.type === "directory") {
722
- // const docs = await get_folder_docs(
723
- // path.basename(file.path),
724
- // drive_type,
725
- // app_id_reference
726
- // );
727
- // for await (let doc of docs) {
728
- // if (doc.type === "file") {
729
- // await module.exports.delete_file_from_bucket(doc.bucket);
730
- // }
731
- // doc.ts = Date.now();
732
- // doc.stat = 4;
733
- // await db_module.save_app_couch_doc(app_id_reference, doc);
734
- // }
735
- // }
736
-
737
- // doc_ret.data.ts = Date.now();
738
- // doc_ret.data.stat = 4;
739
- // save_ret = await db_module.save_app_couch_doc(
740
- // app_id_reference,
741
- // doc_ret.data
742
- // );
743
-
744
- // misc_module.rsync_drive_resources_to_remote_servers(
745
- // "workspace",
746
- // app_id_reference
747
- // );
748
- // break;
749
- // }
750
-
751
- // case "user": {
752
- // doc_ret = await db_module.get_couch_doc("xuda_drive", file.name);
753
- // if (doc_ret.data.type === "file") {
754
- // await module.exports.delete_file_from_bucket(doc_ret.data.bucket);
755
- // }
756
- // if (doc_ret.data.type === "directory") {
757
- // const docs = await get_folder_docs(
758
- // path.basename(file.path),
759
- // drive_type,
760
- // null
761
- // );
762
- // for await (let doc of docs) {
763
- // if (doc.type === "file") {
764
- // await module.exports.delete_file_from_bucket(doc.bucket);
765
- // }
766
- // doc.ts = Date.now();
767
- // doc.stat = 4;
768
- // await db_module.save_couch_doc("xuda_drive", doc);
769
- // }
770
- // }
771
- // doc_ret.data.ts = Date.now();
772
- // doc_ret.data.stat = 4;
773
- // save_ret = await db_module.save_couch_doc("xuda_drive", doc_ret.data);
774
-
775
- // misc_module.rsync_drive_resources_to_remote_servers(
776
- // "user",
777
- // doc_ret.data.uid
778
- // );
779
- // break;
780
- // }
781
- // default:
782
- // break;
783
- // }
784
- // }
785
-
786
- // return {
787
- // code: 200,
788
- // data: req.files_arr,
789
- // };
790
- // } catch (err) {
791
- // return { code: -1, data: err.message };
792
- // }
793
- // };
794
649
 
795
650
  exports.delete_drive_files = async function (req, job_id, headers) {
796
651
  try {
@@ -1754,7 +1609,7 @@ exports.check_drive_file = async function (req, job_id, headers, file_obj) {
1754
1609
  };
1755
1610
 
1756
1611
  if (type === "file") {
1757
- selector.originalname = path.basename(file_path);
1612
+ selector.originalname = file_path; // path.basename(file_path);
1758
1613
  }
1759
1614
 
1760
1615
  switch (drive_type) {
@@ -2022,291 +1877,12 @@ exports.run_drive_pending_ocr = async function (req) {
2022
1877
  }
2023
1878
  };
2024
1879
 
2025
- // exports.search_drive_files = async function (req) {
2026
- // const {
2027
- // drive_type,
2028
- // app_id,
2029
- // search_name,
2030
- // search_string,
2031
- // date_from,
2032
- // date_to,
2033
- // mime_type,
2034
- // file_ext,
2035
- // type,
2036
-
2037
- // sort_by = "name",
2038
- // sort_dir = "desc",
2039
- // path = "/",
2040
- // } = req;
2041
-
2042
- // let { tags = [] } = req;
2043
-
2044
- // let { limit = 100 } = req;
2045
- // let tags_query = {};
2046
- // const sort_by_obj = { name: "originalname", date: "date_created" };
2047
-
2048
- // // const protected_tags = ["tag:", "name:"];
2049
-
2050
- // if (search_string) {
2051
- // // var og_search = ""
2052
- // tags_query = search_string
2053
- // .split(" ")
2054
- // .filter((e) => e.includes(":"))
2055
- // .reduce(
2056
- // (ret, val) => {
2057
- // var tagKey = val.split(":")[0];
2058
- // var tagVal = val.split(":")[1];
2059
-
2060
- // if (tagKey === "tag") {
2061
- // tags.push(tagVal);
2062
- // }
2063
-
2064
- // if (tagKey === "name") {
2065
- // // ret.$or.push(
2066
- // // {
2067
- // // ocr: {
2068
- // // $regex: `(?i)${new_search}`,
2069
- // // },
2070
- // // },
2071
- // // {
2072
- // // originalname: {
2073
- // // $regex: `(?i)${new_search}`,
2074
- // // },
2075
- // // }
2076
- // // );
2077
- // ret.$or.push({ originalname: { $regex: `(?i)${tagVal}` } });
2078
- // }
2079
-
2080
- // return ret;
2081
- // },
2082
- // {
2083
- // $or: [],
2084
- // }
2085
- // );
2086
-
2087
- // var new_search = search_string
2088
- // .split(" ")
2089
- // .filter((e) => !e.includes(":"))
2090
- // .filter((e) => e)
2091
- // .join(" ");
2092
-
2093
- // tags_query.$or = [
2094
- // ...tags_query.$or,
2095
- // {
2096
- // ocr: {
2097
- // $regex: `(?i)${new_search}`,
2098
- // },
2099
- // },
2100
- // {
2101
- // originalname: {
2102
- // $regex: `(?i)${new_search}`,
2103
- // },
2104
- // },
2105
- // ];
2106
- // }
2107
- // try {
2108
- // validate_drive_type(drive_type);
2109
-
2110
- // if (!search_name && !search_string && !tags?.length) {
2111
- // // throw new Error("search too broad");
2112
- // limit = 25;
2113
- // }
2114
-
2115
- // var search_results = [];
2116
-
2117
- // let selector = {
2118
- // docType: `${drive_type}_drive`,
2119
- // stat: 3,
2120
- // $and: [],
2121
- // file_path: path,
2122
- // ...tags_query,
2123
- // };
2124
-
2125
- // if (type) {
2126
- // selector.type = type;
2127
- // }
2128
-
2129
- // if (date_from || date_to) {
2130
- // if (date_to < date_from) {
2131
- // throw new Error("invalid date_from and date_to range");
2132
- // }
2133
-
2134
- // selector.$and.push({
2135
- // date_created: {
2136
- // $lte: date_to,
2137
- // $gte: date_from,
2138
- // },
2139
- // });
2140
- // }
2141
-
2142
- // if (search_name) {
2143
- // selector.originalname = {
2144
- // $regex: `(i)^${req.search_string}`,
2145
- // };
2146
- // }
2147
-
2148
- // if (mime_type) {
2149
- // selector.mime = mime_type;
2150
- // }
2151
-
2152
- // if (file_ext) {
2153
- // selector.file_ext = file_ext;
2154
- // }
2155
-
2156
- // // if (req.search_string) {
2157
- // // selector = {
2158
- // // ...selector,
2159
- // // $or: [
2160
- // // {
2161
- // // ocr: {
2162
- // // $regex: `(?i)${req.search_string}`,
2163
- // // },
2164
- // // },
2165
- // // {
2166
- // // originalname: {
2167
- // // $regex: `(?i)${req.search_string}`,
2168
- // // },
2169
- // // },
2170
- // // ],
2171
- // // };
2172
- // // }
2173
-
2174
- // if (tags?.length) {
2175
- // selector.tags = {
2176
- // $in: tags,
2177
- // };
2178
- // }
2179
-
2180
- // var opt = {
2181
- // selector,
2182
- // limit,
2183
- // fields: [
2184
- // "originalname",
2185
- // "date_created",
2186
- // "server_file_name",
2187
- // "is_folder",
2188
- // "file_ext",
2189
- // "mime",
2190
- // "size",
2191
- // ],
2192
- // sort: [{ [sort_by_obj[sort_by]]: sort_dir }],
2193
- // };
2194
-
2195
- // console.log("opt", opt);
2196
-
2197
- // const alias_results = (docs) => {
2198
- // return docs.map((doc) => {
2199
- // return {
2200
- // name: doc.originalname,
2201
- // path: doc.server_file_name,
2202
- // type: doc.is_folder ? "directory" : "file", //type ||
2203
- // file_url: get_file_url(drive_type, doc.server_file_name, ref),
2204
- // mime: doc.mime,
2205
- // file_ext: doc?.file_ext?.substr(1),
2206
- // size: doc.size,
2207
- // date: doc.date_created,
2208
- // };
2209
- // });
2210
- // };
2211
-
2212
- // var ref;
2213
- // switch (drive_type) {
2214
- // case "workspace": {
2215
- // ref = app_id;
2216
- // const app_id_reference = await _common.get_project_app_id(app_id);
2217
- // search_results = alias_results(
2218
- // (await db_module.find_app_couch_query(app_id_reference, opt)).docs
2219
- // );
2220
- // break;
2221
- // }
2222
-
2223
- // case "user": {
2224
- // ref = uid;
2225
- // search_results = alias_results(
2226
- // (await db_module.find_couch_query("xuda_drive", opt)).docs
2227
- // );
2228
- // break;
2229
- // }
2230
-
2231
- // case "studio": {
2232
- // ref = app_id;
2233
- // const directoryPath = path.join(_conf[`studio_drive_path`], app_id);
2234
-
2235
- // const options = {
2236
- // stat: false,
2237
- // symbolicLinks: false,
2238
- // size: true,
2239
- // hash: false,
2240
- // };
2241
- // const dree_ret = await fs_module.dree_scan(directoryPath, options);
2242
- // var tree = dree_ret.data;
2243
-
2244
- // function findInName(obj, maxResults = limit) {
2245
- // let results = [];
2246
-
2247
- // // Function to search within an individual object
2248
- // function searchInObject(o) {
2249
- // // Stop the recursion if we already have maxResults
2250
- // if (results.length >= maxResults) {
2251
- // return;
2252
- // }
2253
- // if (
2254
- // o.name &&
2255
- // ((search_string && o.name.includes(search_string)) ||
2256
- // (search_name && o.name.startsWith(search_name)))
2257
- // ) {
2258
- // results.push({ name: o.name, path: o.path, type: o.type });
2259
- // }
2260
- // if (o.children) {
2261
- // if (Array.isArray(o.children)) {
2262
- // o.children.forEach((child) => searchInObject(child));
2263
- // } else {
2264
- // searchInObject(o.children);
2265
- // }
2266
- // }
2267
- // }
2268
-
2269
- // searchInObject(obj);
2270
- // return results;
2271
- // }
2272
-
2273
- // search_results = findInName(tree);
2274
-
2275
- // break;
2276
- // }
2277
-
2278
- // default:
2279
- // throw new Error("drive_type error");
2280
- // break;
2281
- // // }
2282
- // }
2283
- // // console.log(search_results);
2284
- // return {
2285
- // code: 200,
2286
- // data: search_results,
2287
- // };
2288
- // } catch (err) {
2289
- // // return err.message;
2290
- // return {
2291
- // code: -200,
2292
- // data: err.message,
2293
- // };
2294
- // }
2295
- // };
2296
-
2297
1880
  exports.get_drive_size = async function (req) {
2298
1881
  try {
2299
1882
  const { drive_type, app_id, uid } = req;
2300
1883
  let size = 0;
2301
1884
  // validate_drive_type(drive_type);
2302
1885
 
2303
- // var ref;
2304
- // if (drive_type === "user") {
2305
- // ref = uid;
2306
- // } else {
2307
- // ref = await _common.get_project_app_id(app_id, true);
2308
- // }
2309
-
2310
1886
  let app_id_master, directoryPath;
2311
1887
  switch (drive_type) {
2312
1888
  case "user":
@@ -2557,7 +2133,7 @@ const get_folder_docs = async function (dir, drive_type, app_id) {
2557
2133
  exports.update_drive_file_tags = async function (req, job_id, headers) {
2558
2134
  try {
2559
2135
  const { type, drive_type, app_id, uid, file_path, tags = [] } = req;
2560
- // const file_name = path.basename(file_path);
2136
+
2561
2137
  validate_drive_type(drive_type);
2562
2138
 
2563
2139
  let doc = await get_drive_doc(
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xuda.io/drive_module",
3
- "version": "1.1.1014",
3
+ "version": "1.1.1016",
4
4
  "description": "Xuda Drive Server Module",
5
5
  "main": "index.js",
6
6
  "dependencies": {