blixify-server 0.3.3 → 0.3.5
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/dist/apis/fbWrapper.d.ts.map +1 -1
- package/dist/apis/fbWrapper.js +11 -6
- package/dist/apis/mongoWrapper.d.ts.map +1 -1
- package/dist/apis/mongoWrapper.js +19 -15
- package/dist/apis/uploadWrapper.d.ts +4 -1
- package/dist/apis/uploadWrapper.d.ts.map +1 -1
- package/dist/apis/uploadWrapper.js +81 -0
- package/package.json +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fbWrapper.d.ts","sourceRoot":"","sources":["../../src/apis/fbWrapper.ts"],"names":[],"mappings":"AASA,OAAO,cAAc,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAG5C;;;GAGG;AACH,qBAAa,eAAe;IAC1B,OAAO,EAAE,GAAG,CAAM;IAClB,UAAU,SAAM;IAChB,MAAM,UAAS;IACf,MAAM,EAAE,cAAc,CAQpB;IACF,GAAG,EAAE,UAAU,CAAC;IAEhB,YAAY,QAAS,GAAG,aAEtB;gBAGA,OAAO,EAAE,GAAG,EACZ,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,OAAO,EACf,MAAM,EAAE,cAAc,EACtB,YAAY,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,OAAO,KAAK,OAAO,EACrD,GAAG,EAAE,UAAU;IAUjB,UAAU,SAAU,GAAG,SAIrB;IAEF,eAAe,QACR,GAAG,OACH,GAAG,yBACc,GAAG,EAAE,KAAK,QAAQ,GAAG,CAAC,gCA4E5C;IAEF,UAAU,QACH,GAAG,OACH,GAAG,qBACU,GAAG,KAAK,QAAQ,GAAG,CAAC,gCA6CtC;IAEF,OAAO,QAAe,GAAG,OAAO,GAAG,mBA6BjC;IAEF,eAAe,QACR,GAAG,OACH,GAAG,qBACU,GAAG,KAAK,QAAQ,GAAG,CAAC,gCAoItC;IAEF,UAAU,QACH,GAAG,OACH,GAAG,qBACU,GAAG,KAAK,QAAQ,GAAG,CAAC,gCAkFtC;IAEF,eAAe,QACR,GAAG,OACH,GAAG,yBACc,GAAG,EAAE,KAAK,QAAQ,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"fbWrapper.d.ts","sourceRoot":"","sources":["../../src/apis/fbWrapper.ts"],"names":[],"mappings":"AASA,OAAO,cAAc,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAG5C;;;GAGG;AACH,qBAAa,eAAe;IAC1B,OAAO,EAAE,GAAG,CAAM;IAClB,UAAU,SAAM;IAChB,MAAM,UAAS;IACf,MAAM,EAAE,cAAc,CAQpB;IACF,GAAG,EAAE,UAAU,CAAC;IAEhB,YAAY,QAAS,GAAG,aAEtB;gBAGA,OAAO,EAAE,GAAG,EACZ,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,OAAO,EACf,MAAM,EAAE,cAAc,EACtB,YAAY,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,OAAO,KAAK,OAAO,EACrD,GAAG,EAAE,UAAU;IAUjB,UAAU,SAAU,GAAG,SAIrB;IAEF,eAAe,QACR,GAAG,OACH,GAAG,yBACc,GAAG,EAAE,KAAK,QAAQ,GAAG,CAAC,gCA4E5C;IAEF,UAAU,QACH,GAAG,OACH,GAAG,qBACU,GAAG,KAAK,QAAQ,GAAG,CAAC,gCA6CtC;IAEF,OAAO,QAAe,GAAG,OAAO,GAAG,mBA6BjC;IAEF,eAAe,QACR,GAAG,OACH,GAAG,qBACU,GAAG,KAAK,QAAQ,GAAG,CAAC,gCAoItC;IAEF,UAAU,QACH,GAAG,OACH,GAAG,qBACU,GAAG,KAAK,QAAQ,GAAG,CAAC,gCAkFtC;IAEF,eAAe,QACR,GAAG,OACH,GAAG,yBACc,GAAG,EAAE,KAAK,QAAQ,GAAG,CAAC,gCAkI5C;IAEF,UAAU,QACH,GAAG,OACH,GAAG,qBACU,GAAG,KAAK,QAAQ,GAAG,CAAC,gCA4CtC;IAEF,QAAQ,QAAe,GAAG,OAAO,GAAG,mBAyQlC;IAEF,IAAI,YA+EF;CACH"}
|
package/dist/apis/fbWrapper.js
CHANGED
|
@@ -354,7 +354,12 @@ class FirebaseWrapper {
|
|
|
354
354
|
}
|
|
355
355
|
});
|
|
356
356
|
this.initBatchDelete = (req, res, workflow) => __awaiter(this, void 0, void 0, function* () {
|
|
357
|
+
var _f, _g, _h, _j;
|
|
357
358
|
try {
|
|
359
|
+
if ((!Array.isArray(req.body.id) || ((_g = (_f = req.body.id) === null || _f === void 0 ? void 0 : _f.length) !== null && _g !== void 0 ? _g : 0) === 0) &&
|
|
360
|
+
(!Array.isArray(req.body.query) || ((_j = (_h = req.body.query) === null || _h === void 0 ? void 0 : _h.length) !== null && _j !== void 0 ? _j : 0) === 0)) {
|
|
361
|
+
throw "Invalid Batch Delete Config";
|
|
362
|
+
}
|
|
358
363
|
const batch = this.fbAdmin.firestore().batch();
|
|
359
364
|
if (Array.isArray(req.body.id)) {
|
|
360
365
|
const fbCollection = this.fbAdmin
|
|
@@ -510,17 +515,17 @@ class FirebaseWrapper {
|
|
|
510
515
|
}
|
|
511
516
|
});
|
|
512
517
|
this.initList = (req, res) => __awaiter(this, void 0, void 0, function* () {
|
|
513
|
-
var
|
|
518
|
+
var _k, _l, _m, _o, _p;
|
|
514
519
|
try {
|
|
515
520
|
//INFO : Security Checker
|
|
516
521
|
const validBaseConfig = (0, QueryModel_1.checkBaseConfig)(this.config, req);
|
|
517
522
|
if (validBaseConfig) {
|
|
518
523
|
const aggregate = req.body.aggregate;
|
|
519
|
-
const queryList = (
|
|
524
|
+
const queryList = (_k = req.body.query) !== null && _k !== void 0 ? _k : [];
|
|
520
525
|
if (aggregate) {
|
|
521
|
-
const queryId = (
|
|
522
|
-
const dateId = (
|
|
523
|
-
const dateRanges = (
|
|
526
|
+
const queryId = (_l = aggregate.queryId) !== null && _l !== void 0 ? _l : "";
|
|
527
|
+
const dateId = (_m = aggregate.dateId) !== null && _m !== void 0 ? _m : "baseUpdatedAt";
|
|
528
|
+
const dateRanges = (_o = aggregate.range) !== null && _o !== void 0 ? _o : [];
|
|
524
529
|
const dataList = [];
|
|
525
530
|
for (const dateRange of dateRanges) {
|
|
526
531
|
//INFO : Step 1 - Query
|
|
@@ -685,7 +690,7 @@ class FirebaseWrapper {
|
|
|
685
690
|
}
|
|
686
691
|
//INFO : Step 2 - Limit
|
|
687
692
|
if (!req.body.stopLimit) {
|
|
688
|
-
fbCollection = fbCollection.limit((
|
|
693
|
+
fbCollection = fbCollection.limit((_p = req.body.limit) !== null && _p !== void 0 ? _p : 10);
|
|
689
694
|
}
|
|
690
695
|
//INFO : Step 3 - Sort
|
|
691
696
|
if (req.body.sort) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mongoWrapper.d.ts","sourceRoot":"","sources":["../../src/apis/mongoWrapper.ts"],"names":[],"mappings":"AASA,OAAO,cAAc,MAAM,yBAAyB,CAAC;AAGrD,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,EAAE,GAAG,CAAC;CACf;AAwJD;;;;GAIG;AACH,qBAAa,YAAY;IACvB,OAAO,EAAE,GAAG,CAAM;IAClB,UAAU,SAAM;IAChB,MAAM,UAAS;IACf,MAAM,EAAE,cAAc,CAQpB;IACF,GAAG,EAAE,UAAU,CAAC;IAChB,OAAO,SAAM;IACb,KAAK,SAAM;IACX,WAAW,EAAE,GAAG,CAAC;IACjB,aAAa,EAAE,MAAM,EAAE,CAAM;IAC7B,KAAK,EAAE,GAAG,CAAC;IAEX,YAAY,QAAS,GAAG,aAEtB;gBAGA,OAAO,EAAE,GAAG,EACZ,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,OAAO,EACf,MAAM,EAAE,cAAc,EACtB,YAAY,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,OAAO,KAAK,OAAO,EACrD,GAAG,EAAE,UAAU,EACf,OAAO,CAAC,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,EACzC,aAAa,CAAC,EAAE,MAAM,EAAE,EACxB,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,KAAK,IAAI;IAgB3D,UAAU,SAAU,GAAG,SAIrB;IAEF,aAAa,YACF,GAAG,QACN,QAAQ,GAAG,QAAQ,GAAG,QAAQ,OAC/B,GAAG,UACA;QACN,GAAG,CAAC,EAAE,GAAG,CAAC;QACV,GAAG,CAAC,EAAE,GAAG,CAAC;KACX,mBA4DD;IAEF,eAAe,QACR,GAAG,OACH,GAAG,yBACc,GAAG,EAAE,KAAK,QAAQ,GAAG,CAAC;;mBAyE5C;IAEF,UAAU,QACH,GAAG,OACH,GAAG,qBACU,GAAG,KAAK,QAAQ,GAAG,CAAC;;mBAkDtC;IAEF,OAAO,QAAe,GAAG,OAAO,GAAG;;mBAuCjC;IAEF,eAAe,QACR,GAAG,OACH,GAAG,qBACU,GAAG,KAAK,QAAQ,GAAG,CAAC;;mBAgKtC;IAEF,UAAU,QACH,GAAG,OACH,GAAG,qBACU,GAAG,KAAK,QAAQ,GAAG,CAAC;;mBAqGtC;IAEF,eAAe,QACR,GAAG,OACH,GAAG,yBACc,GAAG,EAAE,KAAK,QAAQ,GAAG,CAAC;;
|
|
1
|
+
{"version":3,"file":"mongoWrapper.d.ts","sourceRoot":"","sources":["../../src/apis/mongoWrapper.ts"],"names":[],"mappings":"AASA,OAAO,cAAc,MAAM,yBAAyB,CAAC;AAGrD,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,EAAE,GAAG,CAAC;CACf;AAwJD;;;;GAIG;AACH,qBAAa,YAAY;IACvB,OAAO,EAAE,GAAG,CAAM;IAClB,UAAU,SAAM;IAChB,MAAM,UAAS;IACf,MAAM,EAAE,cAAc,CAQpB;IACF,GAAG,EAAE,UAAU,CAAC;IAChB,OAAO,SAAM;IACb,KAAK,SAAM;IACX,WAAW,EAAE,GAAG,CAAC;IACjB,aAAa,EAAE,MAAM,EAAE,CAAM;IAC7B,KAAK,EAAE,GAAG,CAAC;IAEX,YAAY,QAAS,GAAG,aAEtB;gBAGA,OAAO,EAAE,GAAG,EACZ,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,OAAO,EACf,MAAM,EAAE,cAAc,EACtB,YAAY,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,OAAO,KAAK,OAAO,EACrD,GAAG,EAAE,UAAU,EACf,OAAO,CAAC,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,EACzC,aAAa,CAAC,EAAE,MAAM,EAAE,EACxB,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,KAAK,IAAI;IAgB3D,UAAU,SAAU,GAAG,SAIrB;IAEF,aAAa,YACF,GAAG,QACN,QAAQ,GAAG,QAAQ,GAAG,QAAQ,OAC/B,GAAG,UACA;QACN,GAAG,CAAC,EAAE,GAAG,CAAC;QACV,GAAG,CAAC,EAAE,GAAG,CAAC;KACX,mBA4DD;IAEF,eAAe,QACR,GAAG,OACH,GAAG,yBACc,GAAG,EAAE,KAAK,QAAQ,GAAG,CAAC;;mBAyE5C;IAEF,UAAU,QACH,GAAG,OACH,GAAG,qBACU,GAAG,KAAK,QAAQ,GAAG,CAAC;;mBAkDtC;IAEF,OAAO,QAAe,GAAG,OAAO,GAAG;;mBAuCjC;IAEF,eAAe,QACR,GAAG,OACH,GAAG,qBACU,GAAG,KAAK,QAAQ,GAAG,CAAC;;mBAgKtC;IAEF,UAAU,QACH,GAAG,OACH,GAAG,qBACU,GAAG,KAAK,QAAQ,GAAG,CAAC;;mBAqGtC;IAEF,eAAe,QACR,GAAG,OACH,GAAG,yBACc,GAAG,EAAE,KAAK,QAAQ,GAAG,CAAC;;mBAiJ5C;IAEF,UAAU,QACH,GAAG,OACH,GAAG,qBACU,GAAG,KAAK,QAAQ,GAAG,CAAC;;mBAwCtC;IAEF,mBAAmB,CAAC,GAAG,EAAE,GAAG;IAiO5B,QAAQ,QAAe,GAAG,OAAO,GAAG;;;;;mBAgQlC;IAEF,IAAI,YAgFF;CACH"}
|
|
@@ -616,8 +616,12 @@ class MongoWrapper {
|
|
|
616
616
|
}
|
|
617
617
|
});
|
|
618
618
|
this.initBatchDelete = (req, res, workflow) => __awaiter(this, void 0, void 0, function* () {
|
|
619
|
-
var _l, _m;
|
|
619
|
+
var _l, _m, _o, _p, _q, _r;
|
|
620
620
|
try {
|
|
621
|
+
if ((!Array.isArray(req.body.id) || ((_m = (_l = req.body.id) === null || _l === void 0 ? void 0 : _l.length) !== null && _m !== void 0 ? _m : 0) === 0) &&
|
|
622
|
+
(!Array.isArray(req.body.query) || ((_p = (_o = req.body.query) === null || _o === void 0 ? void 0 : _o.length) !== null && _p !== void 0 ? _p : 0) === 0)) {
|
|
623
|
+
throw "Invalid Batch Delete Config";
|
|
624
|
+
}
|
|
621
625
|
if (Array.isArray(req.body.id)) {
|
|
622
626
|
const mongoCollection = this.mongoDB
|
|
623
627
|
.db(this.tableId)
|
|
@@ -646,7 +650,7 @@ class MongoWrapper {
|
|
|
646
650
|
_id: { $in: req.body.id },
|
|
647
651
|
});
|
|
648
652
|
const resBody = { success: req.body.id };
|
|
649
|
-
if ((
|
|
653
|
+
if ((_q = req.body) === null || _q === void 0 ? void 0 : _q.stopRes)
|
|
650
654
|
return resBody;
|
|
651
655
|
res.send(resBody);
|
|
652
656
|
}
|
|
@@ -743,7 +747,7 @@ class MongoWrapper {
|
|
|
743
747
|
}
|
|
744
748
|
yield mongoCollection.deleteMany(queryFilter);
|
|
745
749
|
const resBody = { success: ids };
|
|
746
|
-
if ((
|
|
750
|
+
if ((_r = req.body) === null || _r === void 0 ? void 0 : _r.stopRes)
|
|
747
751
|
return resBody;
|
|
748
752
|
res.send(resBody);
|
|
749
753
|
}
|
|
@@ -753,7 +757,7 @@ class MongoWrapper {
|
|
|
753
757
|
}
|
|
754
758
|
});
|
|
755
759
|
this.initDelete = (req, res, workflow) => __awaiter(this, void 0, void 0, function* () {
|
|
756
|
-
var
|
|
760
|
+
var _s;
|
|
757
761
|
try {
|
|
758
762
|
const valid = req.body.id;
|
|
759
763
|
if (valid) {
|
|
@@ -779,7 +783,7 @@ class MongoWrapper {
|
|
|
779
783
|
new: mongoData,
|
|
780
784
|
});
|
|
781
785
|
const resBody = { success: true };
|
|
782
|
-
if ((
|
|
786
|
+
if ((_s = req.body) === null || _s === void 0 ? void 0 : _s.stopRes)
|
|
783
787
|
return resBody;
|
|
784
788
|
res.send(resBody);
|
|
785
789
|
}
|
|
@@ -792,22 +796,22 @@ class MongoWrapper {
|
|
|
792
796
|
}
|
|
793
797
|
});
|
|
794
798
|
this.initList = (req, res) => __awaiter(this, void 0, void 0, function* () {
|
|
795
|
-
var
|
|
799
|
+
var _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3;
|
|
796
800
|
try {
|
|
797
801
|
//INFO : Security Checker
|
|
798
802
|
const validBaseConfig = (0, QueryModel_1.checkBaseConfig)(this.config, req);
|
|
799
803
|
if (validBaseConfig) {
|
|
800
804
|
const aggregate = req.body.aggregate;
|
|
801
|
-
const queryList = (
|
|
805
|
+
const queryList = (_t = req.body.query) !== null && _t !== void 0 ? _t : [];
|
|
802
806
|
let queryFilter = {};
|
|
803
807
|
// INFO : Step 1 - Query
|
|
804
808
|
queryFilter = handleParseQueryFilter(queryList);
|
|
805
809
|
if (aggregate) {
|
|
806
810
|
// INFO : Step 2 - Aggregate
|
|
807
811
|
const dataList = [];
|
|
808
|
-
const queryId = (
|
|
809
|
-
const dateId = (
|
|
810
|
-
const dateRanges = (
|
|
812
|
+
const queryId = (_u = aggregate.queryId) !== null && _u !== void 0 ? _u : "";
|
|
813
|
+
const dateId = (_v = aggregate.dateId) !== null && _v !== void 0 ? _v : "baseUpdatedAt";
|
|
814
|
+
const dateRanges = (_w = aggregate.range) !== null && _w !== void 0 ? _w : [
|
|
811
815
|
(0, moment_timezone_1.default)().format("DD/MM/YYYY HH:mm:ss"),
|
|
812
816
|
];
|
|
813
817
|
for (const dateRange of dateRanges) {
|
|
@@ -946,8 +950,8 @@ class MongoWrapper {
|
|
|
946
950
|
if (aggregate.groupId)
|
|
947
951
|
value = result;
|
|
948
952
|
else {
|
|
949
|
-
value = (
|
|
950
|
-
ids = (
|
|
953
|
+
value = (_y = (_x = result[0]) === null || _x === void 0 ? void 0 : _x.value) !== null && _y !== void 0 ? _y : 0;
|
|
954
|
+
ids = (_0 = (_z = result[0]) === null || _z === void 0 ? void 0 : _z.ids) !== null && _0 !== void 0 ? _0 : [];
|
|
951
955
|
}
|
|
952
956
|
dataList.push({
|
|
953
957
|
_id: id,
|
|
@@ -958,7 +962,7 @@ class MongoWrapper {
|
|
|
958
962
|
const resBody = {
|
|
959
963
|
data: dataList,
|
|
960
964
|
};
|
|
961
|
-
if ((
|
|
965
|
+
if ((_1 = req.body) === null || _1 === void 0 ? void 0 : _1.stopRes)
|
|
962
966
|
return resBody;
|
|
963
967
|
res.send(resBody);
|
|
964
968
|
}
|
|
@@ -977,7 +981,7 @@ class MongoWrapper {
|
|
|
977
981
|
mongoCollection.aggregate(pipeline).toArray(),
|
|
978
982
|
mongoCollection.aggregate(countPipeline).toArray(),
|
|
979
983
|
]);
|
|
980
|
-
const count = ((
|
|
984
|
+
const count = ((_2 = countResult[0]) === null || _2 === void 0 ? void 0 : _2.total) || 0;
|
|
981
985
|
//INFO : Security Checker
|
|
982
986
|
let validOpsConfig = true;
|
|
983
987
|
if (dataList.length > 0) {
|
|
@@ -995,7 +999,7 @@ class MongoWrapper {
|
|
|
995
999
|
data: dataList,
|
|
996
1000
|
count,
|
|
997
1001
|
};
|
|
998
|
-
if ((
|
|
1002
|
+
if ((_3 = req.body) === null || _3 === void 0 ? void 0 : _3.stopRes)
|
|
999
1003
|
return resBody;
|
|
1000
1004
|
res.send(resBody);
|
|
1001
1005
|
}
|
|
@@ -16,11 +16,14 @@ export declare class UploadWrapper {
|
|
|
16
16
|
lib: UploadLib;
|
|
17
17
|
storageType: string;
|
|
18
18
|
modelChecker: (obj: any, isDeleteDirectory?: boolean) => boolean;
|
|
19
|
-
constructor(uploadAdmin: any, isProd: boolean, config: SecurityConfig, lib: UploadLib, storageType?: "firebase" | "aws");
|
|
19
|
+
constructor(uploadAdmin: any, isProd: boolean, config: SecurityConfig, lib: UploadLib, storageType?: "firebase" | "aws" | "file");
|
|
20
|
+
private ensureDirectoryExists;
|
|
21
|
+
private getLocalFilePath;
|
|
20
22
|
initUpload: (req: any, res: any, type: "create" | "update") => Promise<void>;
|
|
21
23
|
initDelete: (req: any, res: any) => Promise<void>;
|
|
22
24
|
deleteGoogleFolderContents: (folderRef: any) => Promise<void>;
|
|
23
25
|
deleteAWSFolderContent: (bucketName: string, directoryPrefix: string) => Promise<void>;
|
|
26
|
+
deleteLocalFolderContents: (folderPath: string) => Promise<void>;
|
|
24
27
|
initDeleteDirectory: (req: any, res: any) => Promise<void>;
|
|
25
28
|
initBatchDeleteDirectory: (req: any, res: any) => Promise<void>;
|
|
26
29
|
initGet: (req: any, res: any) => Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uploadWrapper.d.ts","sourceRoot":"","sources":["../../src/apis/uploadWrapper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"uploadWrapper.d.ts","sourceRoot":"","sources":["../../src/apis/uploadWrapper.ts"],"names":[],"mappings":"AAKA,OAAO,cAAc,MAAM,yBAAyB,CAAC;AAErD,UAAU,SAAS;IACjB,MAAM,EAAE,GAAG,CAAC;IACZ,UAAU,EAAE,GAAG,CAAC;IAChB,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ;AAED;;;GAGG;AACH,qBAAa,aAAa;IACxB,WAAW,EAAE,GAAG,CAAM;IACtB,MAAM,UAAS;IACf,MAAM,EAAE,cAAc,CAQpB;IACF,GAAG,EAAE,SAAS,CAAC;IACf,WAAW,SAAc;IAEzB,YAAY,QAAS,GAAG,sBAAsB,OAAO,aAUnD;gBAGA,WAAW,EAAE,GAAG,EAChB,MAAM,EAAE,OAAO,EACf,MAAM,EAAE,cAAc,EACtB,GAAG,EAAE,SAAS,EACd,WAAW,CAAC,EAAE,UAAU,GAAG,KAAK,GAAG,MAAM;IAS3C,OAAO,CAAC,qBAAqB;IAM7B,OAAO,CAAC,gBAAgB;IAkBxB,UAAU,QAAe,GAAG,OAAO,GAAG,QAAQ,QAAQ,GAAG,QAAQ,mBA4H/D;IAEF,UAAU,QAAe,GAAG,OAAO,GAAG,mBAiDpC;IAEF,0BAA0B,cAAqB,GAAG,mBAwBhD;IAEF,sBAAsB,eACR,MAAM,mBACD,MAAM,mBAiBvB;IAEF,yBAAyB,eAAsB,MAAM,mBAenD;IAEF,mBAAmB,QAAe,GAAG,OAAO,GAAG,mBA6C7C;IAEF,wBAAwB,QAAe,GAAG,OAAO,GAAG,mBAmDlD;IAEF,OAAO,QAAe,GAAG,OAAO,GAAG,mBA2DjC;IAEF,IAAI,YA6EF;CACH"}
|
|
@@ -14,7 +14,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.UploadWrapper = void 0;
|
|
16
16
|
const axios_1 = __importDefault(require("axios"));
|
|
17
|
+
const fs_1 = __importDefault(require("fs"));
|
|
17
18
|
const mime_1 = __importDefault(require("mime"));
|
|
19
|
+
const path_1 = __importDefault(require("path"));
|
|
18
20
|
const QueryModel_1 = require("../model/QueryModel");
|
|
19
21
|
/**
|
|
20
22
|
* @Wrapper
|
|
@@ -101,6 +103,24 @@ class UploadWrapper {
|
|
|
101
103
|
yield s3UploadPromise("file");
|
|
102
104
|
res.send({ data: token });
|
|
103
105
|
}
|
|
106
|
+
else if (this.storageType === "file") {
|
|
107
|
+
if (respData.downloadLink) {
|
|
108
|
+
const response = yield (0, axios_1.default)({
|
|
109
|
+
method: "GET",
|
|
110
|
+
url: respData.downloadLink,
|
|
111
|
+
responseType: "arraybuffer",
|
|
112
|
+
});
|
|
113
|
+
if (response.data) {
|
|
114
|
+
const filePath = this.getLocalFilePath(respData.bucketName, respData.assetCollectionName, respData.assetParentId, respData.assetFileName);
|
|
115
|
+
fs_1.default.writeFileSync(filePath, response.data);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
else if (req.file) {
|
|
119
|
+
const filePath = this.getLocalFilePath(respData.bucketName, respData.assetCollectionName, respData.assetParentId, respData.assetFileName);
|
|
120
|
+
fs_1.default.writeFileSync(filePath, req.file.buffer);
|
|
121
|
+
}
|
|
122
|
+
res.send({ data: token });
|
|
123
|
+
}
|
|
104
124
|
else {
|
|
105
125
|
const firebaseBucket = this.uploadAdmin.storage().bucket();
|
|
106
126
|
const uploadFilePromise = (type, response) => {
|
|
@@ -169,6 +189,12 @@ class UploadWrapper {
|
|
|
169
189
|
};
|
|
170
190
|
yield s3.deleteObject(params).promise();
|
|
171
191
|
}
|
|
192
|
+
else if (this.storageType === "file") {
|
|
193
|
+
const filePath = this.getLocalFilePath(respData.bucketName, respData.assetCollectionName, respData.assetParentId, respData.assetFileName);
|
|
194
|
+
if (fs_1.default.existsSync(filePath)) {
|
|
195
|
+
fs_1.default.unlinkSync(filePath);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
172
198
|
else {
|
|
173
199
|
const firebaseBucket = this.uploadAdmin.storage().bucket();
|
|
174
200
|
yield firebaseBucket
|
|
@@ -224,6 +250,24 @@ class UploadWrapper {
|
|
|
224
250
|
}
|
|
225
251
|
catch (error) { }
|
|
226
252
|
});
|
|
253
|
+
this.deleteLocalFolderContents = (folderPath) => __awaiter(this, void 0, void 0, function* () {
|
|
254
|
+
try {
|
|
255
|
+
if (fs_1.default.existsSync(folderPath)) {
|
|
256
|
+
const files = fs_1.default.readdirSync(folderPath);
|
|
257
|
+
for (const file of files) {
|
|
258
|
+
const curPath = path_1.default.join(folderPath, file);
|
|
259
|
+
if (fs_1.default.lstatSync(curPath).isDirectory()) {
|
|
260
|
+
yield this.deleteLocalFolderContents(curPath);
|
|
261
|
+
fs_1.default.rmdirSync(curPath);
|
|
262
|
+
}
|
|
263
|
+
else {
|
|
264
|
+
fs_1.default.unlinkSync(curPath);
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
catch (error) { }
|
|
270
|
+
});
|
|
227
271
|
this.initDeleteDirectory = (req, res) => __awaiter(this, void 0, void 0, function* () {
|
|
228
272
|
try {
|
|
229
273
|
const respData = req.body.data;
|
|
@@ -239,6 +283,10 @@ class UploadWrapper {
|
|
|
239
283
|
if (this.storageType === "aws") {
|
|
240
284
|
yield this.deleteAWSFolderContent(`${respData.bucketName}`, `${respData.assetCollectionName}/${respData.assetParentId}/`);
|
|
241
285
|
}
|
|
286
|
+
else if (this.storageType === "file") {
|
|
287
|
+
const folderPath = path_1.default.join(this.uploadAdmin, respData.bucketName, respData.assetCollectionName, respData.assetParentId);
|
|
288
|
+
yield this.deleteLocalFolderContents(folderPath);
|
|
289
|
+
}
|
|
242
290
|
else {
|
|
243
291
|
const folderRef = this.uploadAdmin
|
|
244
292
|
.storage()
|
|
@@ -273,6 +321,10 @@ class UploadWrapper {
|
|
|
273
321
|
if (this.storageType === "aws") {
|
|
274
322
|
yield this.deleteAWSFolderContent(`${respData.bucketName}`, `${respData.assetCollectionName}/${eachId}/`);
|
|
275
323
|
}
|
|
324
|
+
else if (this.storageType === "file") {
|
|
325
|
+
const folderPath = path_1.default.join(this.uploadAdmin, respData.bucketName, respData.assetCollectionName, eachId);
|
|
326
|
+
yield this.deleteLocalFolderContents(folderPath);
|
|
327
|
+
}
|
|
276
328
|
else {
|
|
277
329
|
const folderRef = this.uploadAdmin
|
|
278
330
|
.storage()
|
|
@@ -324,6 +376,24 @@ class UploadWrapper {
|
|
|
324
376
|
}
|
|
325
377
|
}));
|
|
326
378
|
}
|
|
379
|
+
else if (this.storageType === "file") {
|
|
380
|
+
const filePath = path_1.default.join(this.uploadAdmin, bucketName, assetCollectionName, assetParentId, nestedPath);
|
|
381
|
+
if (fs_1.default.existsSync(filePath)) {
|
|
382
|
+
const extension = nestedPath.split(".").pop();
|
|
383
|
+
let contentType;
|
|
384
|
+
if (extension === "mbtiles") {
|
|
385
|
+
contentType = "application/vnd.mapbox-vector-tile";
|
|
386
|
+
}
|
|
387
|
+
else {
|
|
388
|
+
contentType = mime_1.default.getType(extension) || "application/octet-stream";
|
|
389
|
+
}
|
|
390
|
+
res.set("Content-Type", contentType);
|
|
391
|
+
res.sendFile(filePath);
|
|
392
|
+
}
|
|
393
|
+
else {
|
|
394
|
+
res.status(404).send({ message: "File not found" });
|
|
395
|
+
}
|
|
396
|
+
}
|
|
327
397
|
}
|
|
328
398
|
catch (error) {
|
|
329
399
|
res.status(400).json({ err: error });
|
|
@@ -396,5 +466,16 @@ class UploadWrapper {
|
|
|
396
466
|
this.lib = lib;
|
|
397
467
|
this.storageType = storageType !== null && storageType !== void 0 ? storageType : "firebase";
|
|
398
468
|
}
|
|
469
|
+
ensureDirectoryExists(dirPath) {
|
|
470
|
+
if (!fs_1.default.existsSync(dirPath)) {
|
|
471
|
+
fs_1.default.mkdirSync(dirPath, { recursive: true });
|
|
472
|
+
}
|
|
473
|
+
}
|
|
474
|
+
getLocalFilePath(bucketName, assetCollectionName, assetParentId, assetFileName) {
|
|
475
|
+
const basePath = this.uploadAdmin;
|
|
476
|
+
const fullPath = path_1.default.join(basePath, bucketName, assetCollectionName, assetParentId, assetFileName);
|
|
477
|
+
this.ensureDirectoryExists(path_1.default.dirname(fullPath));
|
|
478
|
+
return fullPath;
|
|
479
|
+
}
|
|
399
480
|
}
|
|
400
481
|
exports.UploadWrapper = UploadWrapper;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "blixify-server",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.05",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"main": "dist/apis/index.js",
|
|
6
6
|
"private": false,
|
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
"start:mongo": "cd dist && node mongoServer.js",
|
|
26
26
|
"start:fb": "cd dist && node firebaseServer.js",
|
|
27
27
|
"start:auth": "cd dist && node authServer.js",
|
|
28
|
+
"start:file": "cd dist && node fileServer.js",
|
|
28
29
|
"start:aws": "cd dist && node awsServer.js",
|
|
29
30
|
"start:monday": "cd dist && node mondayServer.js",
|
|
30
31
|
"start:trackVision": "cd dist && node trackVisionServer.js",
|