@lilaquadrat/studio 2.2.0
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/lib/helpers.d.ts +3 -0
- package/lib/helpers.js +11 -0
- package/lib/helpers.js.map +1 -0
- package/lib/interfaces.d.ts +33 -0
- package/lib/interfaces.js +13 -0
- package/lib/interfaces.js.map +1 -0
- package/lib/main.d.ts +15 -0
- package/lib/main.js +56 -0
- package/lib/main.js.map +1 -0
- package/lib/models.d.ts +13 -0
- package/lib/models.js +31 -0
- package/lib/models.js.map +1 -0
- package/lib/services.d.ts +9 -0
- package/lib/services.js +23 -0
- package/lib/services.js.map +1 -0
- package/lib/src/AzureBlobStorage.share.d.ts +17 -0
- package/lib/src/AzureBlobStorage.share.js +157 -0
- package/lib/src/AzureBlobStorage.share.js.map +1 -0
- package/lib/src/AzureFileStorage.share.d.ts +16 -0
- package/lib/src/AzureFileStorage.share.js +131 -0
- package/lib/src/AzureFileStorage.share.js.map +1 -0
- package/lib/src/Filesystem.share.d.ts +16 -0
- package/lib/src/Filesystem.share.js +87 -0
- package/lib/src/Filesystem.share.js.map +1 -0
- package/lib/src/Immutable.class.d.ts +45 -0
- package/lib/src/Immutable.class.js +164 -0
- package/lib/src/Immutable.class.js.map +1 -0
- package/lib/src/Mock.share.d.ts +15 -0
- package/lib/src/Mock.share.js +36 -0
- package/lib/src/Mock.share.js.map +1 -0
- package/lib/src/ShareClientFactory.class.d.ts +14 -0
- package/lib/src/ShareClientFactory.class.js +37 -0
- package/lib/src/ShareClientFactory.class.js.map +1 -0
- package/lib/src/aggegations/childData.aggregation.d.ts +194 -0
- package/lib/src/aggegations/childData.aggregation.js +102 -0
- package/lib/src/aggegations/childData.aggregation.js.map +1 -0
- package/lib/src/aggegations/partial.aggregation.d.ts +88 -0
- package/lib/src/aggegations/partial.aggregation.js +68 -0
- package/lib/src/aggegations/partial.aggregation.js.map +1 -0
- package/lib/src/aggegations/publishData.aggregation.d.ts +89 -0
- package/lib/src/aggegations/publishData.aggregation.js +79 -0
- package/lib/src/aggegations/publishData.aggregation.js.map +1 -0
- package/lib/src/aggegations/resultData.aggregation.d.ts +151 -0
- package/lib/src/aggegations/resultData.aggregation.js +124 -0
- package/lib/src/aggegations/resultData.aggregation.js.map +1 -0
- package/lib/src/classes/ControllerBase.class.d.ts +108 -0
- package/lib/src/classes/ControllerBase.class.js +280 -0
- package/lib/src/classes/ControllerBase.class.js.map +1 -0
- package/lib/src/classes/errors/History.error.d.ts +5 -0
- package/lib/src/classes/errors/History.error.js +11 -0
- package/lib/src/classes/errors/History.error.js.map +1 -0
- package/lib/src/classes/errors/Immutable.error.d.ts +5 -0
- package/lib/src/classes/errors/Immutable.error.js +11 -0
- package/lib/src/classes/errors/Immutable.error.js.map +1 -0
- package/lib/src/classes/models.class.d.ts +14 -0
- package/lib/src/classes/models.class.js +44 -0
- package/lib/src/classes/models.class.js.map +1 -0
- package/lib/src/classes/modelv2.class.d.ts +62 -0
- package/lib/src/classes/modelv2.class.js +136 -0
- package/lib/src/classes/modelv2.class.js.map +1 -0
- package/lib/src/classes/mongo.class.d.ts +22 -0
- package/lib/src/classes/mongo.class.js +80 -0
- package/lib/src/classes/mongo.class.js.map +1 -0
- package/lib/src/conf.class.d.ts +36 -0
- package/lib/src/conf.class.js +122 -0
- package/lib/src/conf.class.js.map +1 -0
- package/lib/src/docker-compose.class.d.ts +14 -0
- package/lib/src/docker-compose.class.js +87 -0
- package/lib/src/docker-compose.class.js.map +1 -0
- package/lib/src/domain.class.d.ts +25 -0
- package/lib/src/domain.class.js +98 -0
- package/lib/src/domain.class.js.map +1 -0
- package/lib/src/filterMergeModules.d.ts +3 -0
- package/lib/src/filterMergeModules.js +30 -0
- package/lib/src/filterMergeModules.js.map +1 -0
- package/lib/src/frontend/main.d.ts +2 -0
- package/lib/src/frontend/main.js +9 -0
- package/lib/src/frontend/main.js.map +1 -0
- package/lib/src/functions/respondCode.d.ts +3 -0
- package/lib/src/functions/respondCode.js +5 -0
- package/lib/src/functions/respondCode.js.map +1 -0
- package/lib/src/helpers/cleanObject.d.ts +5 -0
- package/lib/src/helpers/cleanObject.js +9 -0
- package/lib/src/helpers/cleanObject.js.map +1 -0
- package/lib/src/helpers/companyRights.d.ts +2 -0
- package/lib/src/helpers/companyRights.js +20 -0
- package/lib/src/helpers/companyRights.js.map +1 -0
- package/lib/src/helpers/hardCopy.d.ts +2 -0
- package/lib/src/helpers/hardCopy.js +5 -0
- package/lib/src/helpers/hardCopy.js.map +1 -0
- package/lib/src/helpers/helpers.export.d.ts +0 -0
- package/lib/src/helpers/helpers.export.js +1 -0
- package/lib/src/helpers/helpers.export.js.map +1 -0
- package/lib/src/interfaces/Action.interface.d.ts +1 -0
- package/lib/src/interfaces/Action.interface.js +3 -0
- package/lib/src/interfaces/Action.interface.js.map +1 -0
- package/lib/src/interfaces/AppPermissions.d.ts +7 -0
- package/lib/src/interfaces/AppPermissions.js +3 -0
- package/lib/src/interfaces/AppPermissions.js.map +1 -0
- package/lib/src/interfaces/BasicData.interface.d.ts +16 -0
- package/lib/src/interfaces/BasicData.interface.js +3 -0
- package/lib/src/interfaces/BasicData.interface.js.map +1 -0
- package/lib/src/interfaces/CallResponse.interface.d.ts +5 -0
- package/lib/src/interfaces/CallResponse.interface.js +3 -0
- package/lib/src/interfaces/CallResponse.interface.js.map +1 -0
- package/lib/src/interfaces/Contract.interface.d.ts +7 -0
- package/lib/src/interfaces/Contract.interface.js +3 -0
- package/lib/src/interfaces/Contract.interface.js.map +1 -0
- package/lib/src/interfaces/CreateResult.interface.d.ts +5 -0
- package/lib/src/interfaces/CreateResult.interface.js +3 -0
- package/lib/src/interfaces/CreateResult.interface.js.map +1 -0
- package/lib/src/interfaces/DataObject.interface.d.ts +11 -0
- package/lib/src/interfaces/DataObject.interface.js +3 -0
- package/lib/src/interfaces/DataObject.interface.js.map +1 -0
- package/lib/src/interfaces/DatabaseQuery.interface.d.ts +3 -0
- package/lib/src/interfaces/DatabaseQuery.interface.js +3 -0
- package/lib/src/interfaces/DatabaseQuery.interface.js.map +1 -0
- package/lib/src/interfaces/DatabaseQueryOptions.interface.d.ts +31 -0
- package/lib/src/interfaces/DatabaseQueryOptions.interface.js +3 -0
- package/lib/src/interfaces/DatabaseQueryOptions.interface.js.map +1 -0
- package/lib/src/interfaces/DatabaseQuerySites.interface.d.ts +11 -0
- package/lib/src/interfaces/DatabaseQuerySites.interface.js +3 -0
- package/lib/src/interfaces/DatabaseQuerySites.interface.js.map +1 -0
- package/lib/src/interfaces/DomainConf.interface.d.ts +10 -0
- package/lib/src/interfaces/DomainConf.interface.js +3 -0
- package/lib/src/interfaces/DomainConf.interface.js.map +1 -0
- package/lib/src/interfaces/EditorLegacy.interface.d.ts +5 -0
- package/lib/src/interfaces/EditorLegacy.interface.js +3 -0
- package/lib/src/interfaces/EditorLegacy.interface.js.map +1 -0
- package/lib/src/interfaces/HistoryReason.interface copy.d.ts +1 -0
- package/lib/src/interfaces/HistoryReason.interface copy.js +3 -0
- package/lib/src/interfaces/HistoryReason.interface copy.js.map +1 -0
- package/lib/src/interfaces/HistoryReason.interface.d.ts +1 -0
- package/lib/src/interfaces/HistoryReason.interface.js +3 -0
- package/lib/src/interfaces/HistoryReason.interface.js.map +1 -0
- package/lib/src/interfaces/HttpStatusCode.enum.d.ts +319 -0
- package/lib/src/interfaces/HttpStatusCode.enum.js +324 -0
- package/lib/src/interfaces/HttpStatusCode.enum.js.map +1 -0
- package/lib/src/interfaces/ListOfModels.interface.d.ts +5 -0
- package/lib/src/interfaces/ListOfModels.interface.js +3 -0
- package/lib/src/interfaces/ListOfModels.interface.js.map +1 -0
- package/lib/src/interfaces/Modelv2.interface.d.ts +3 -0
- package/lib/src/interfaces/Modelv2.interface.js +3 -0
- package/lib/src/interfaces/Modelv2.interface.js.map +1 -0
- package/lib/src/interfaces/ModuleGeneric.interface.d.ts +10 -0
- package/lib/src/interfaces/ModuleGeneric.interface.js +3 -0
- package/lib/src/interfaces/ModuleGeneric.interface.js.map +1 -0
- package/lib/src/interfaces/Partner.interface.d.ts +14 -0
- package/lib/src/interfaces/Partner.interface.js +3 -0
- package/lib/src/interfaces/Partner.interface.js.map +1 -0
- package/lib/src/interfaces/PublishResult.interface.d.ts +9 -0
- package/lib/src/interfaces/PublishResult.interface.js +3 -0
- package/lib/src/interfaces/PublishResult.interface.js.map +1 -0
- package/lib/src/interfaces/PublishResultStatistics.interface.d.ts +6 -0
- package/lib/src/interfaces/PublishResultStatistics.interface.js +3 -0
- package/lib/src/interfaces/PublishResultStatistics.interface.js.map +1 -0
- package/lib/src/interfaces/Scope.interface.d.ts +7 -0
- package/lib/src/interfaces/Scope.interface.js +3 -0
- package/lib/src/interfaces/Scope.interface.js.map +1 -0
- package/lib/src/interfaces/ShareClient.interface.d.ts +30 -0
- package/lib/src/interfaces/ShareClient.interface.js +3 -0
- package/lib/src/interfaces/ShareClient.interface.js.map +1 -0
- package/lib/src/interfaces/ShareClientOptions.interface.d.ts +5 -0
- package/lib/src/interfaces/ShareClientOptions.interface.js +3 -0
- package/lib/src/interfaces/ShareClientOptions.interface.js.map +1 -0
- package/lib/src/logger.d.ts +2 -0
- package/lib/src/logger.js +46 -0
- package/lib/src/logger.js.map +1 -0
- package/lib/src/models/certificate.model.d.ts +18 -0
- package/lib/src/models/certificate.model.js +42 -0
- package/lib/src/models/certificate.model.js.map +1 -0
- package/lib/src/models/company.model.d.ts +22 -0
- package/lib/src/models/company.model.js +63 -0
- package/lib/src/models/company.model.js.map +1 -0
- package/lib/src/models/editor.model.d.ts +27 -0
- package/lib/src/models/editor.model.js +122 -0
- package/lib/src/models/editor.model.js.map +1 -0
- package/lib/src/models/editorBase.model.d.ts +11 -0
- package/lib/src/models/editorBase.model.js +42 -0
- package/lib/src/models/editorBase.model.js.map +1 -0
- package/lib/src/models/history.model.d.ts +19 -0
- package/lib/src/models/history.model.js +46 -0
- package/lib/src/models/history.model.js.map +1 -0
- package/lib/src/models/id.model.d.ts +11 -0
- package/lib/src/models/id.model.js +21 -0
- package/lib/src/models/id.model.js.map +1 -0
- package/lib/src/models/me.model.d.ts +12 -0
- package/lib/src/models/me.model.js +35 -0
- package/lib/src/models/me.model.js.map +1 -0
- package/lib/src/models/media.model.d.ts +49 -0
- package/lib/src/models/media.model.js +123 -0
- package/lib/src/models/media.model.js.map +1 -0
- package/lib/src/models/permissions.model.d.ts +15 -0
- package/lib/src/models/permissions.model.js +163 -0
- package/lib/src/models/permissions.model.js.map +1 -0
- package/lib/src/models/project.model.d.ts +12 -0
- package/lib/src/models/project.model.js +46 -0
- package/lib/src/models/project.model.js.map +1 -0
- package/lib/src/models/publish.model.d.ts +23 -0
- package/lib/src/models/publish.model.js +180 -0
- package/lib/src/models/publish.model.js.map +1 -0
- package/lib/src/models/secrets.model.d.ts +14 -0
- package/lib/src/models/secrets.model.js +42 -0
- package/lib/src/models/secrets.model.js.map +1 -0
- package/lib/src/models/settings.model.d.ts +8 -0
- package/lib/src/models/settings.model.js +31 -0
- package/lib/src/models/settings.model.js.map +1 -0
- package/lib/src/nginx.class.d.ts +11 -0
- package/lib/src/nginx.class.js +49 -0
- package/lib/src/nginx.class.js.map +1 -0
- package/lib/src/services/editor.service.d.ts +23 -0
- package/lib/src/services/editor.service.js +175 -0
- package/lib/src/services/editor.service.js.map +1 -0
- package/lib/src/services/editorBase.service.d.ts +29 -0
- package/lib/src/services/editorBase.service.js +96 -0
- package/lib/src/services/editorBase.service.js.map +1 -0
- package/lib/src/services/handleFile.service.d.ts +10 -0
- package/lib/src/services/handleFile.service.js +48 -0
- package/lib/src/services/handleFile.service.js.map +1 -0
- package/lib/src/services/history.service.d.ts +26 -0
- package/lib/src/services/history.service.js +237 -0
- package/lib/src/services/history.service.js.map +1 -0
- package/lib/src/services/id.service.d.ts +6 -0
- package/lib/src/services/id.service.js +20 -0
- package/lib/src/services/id.service.js.map +1 -0
- package/lib/src/services/publish.service.d.ts +30 -0
- package/lib/src/services/publish.service.js +201 -0
- package/lib/src/services/publish.service.js.map +1 -0
- package/lib/src/services/secret.service.d.ts +24 -0
- package/lib/src/services/secret.service.js +50 -0
- package/lib/src/services/secret.service.js.map +1 -0
- package/lib/src/services/universal.service.d.ts +23 -0
- package/lib/src/services/universal.service.js +129 -0
- package/lib/src/services/universal.service.js.map +1 -0
- package/lib/src/ssl-challenge.class.d.ts +33 -0
- package/lib/src/ssl-challenge.class.js +63 -0
- package/lib/src/ssl-challenge.class.js.map +1 -0
- package/package.json +60 -0
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const fs_1 = __importDefault(require("fs"));
|
|
7
|
+
class FilesystemClient {
|
|
8
|
+
constructor(options) {
|
|
9
|
+
if (options.baseFolder)
|
|
10
|
+
this.base = options.baseFolder;
|
|
11
|
+
}
|
|
12
|
+
removeFolder() {
|
|
13
|
+
return new Promise((resolve, reject) => resolve(true));
|
|
14
|
+
}
|
|
15
|
+
createFolder(basePath, folder) {
|
|
16
|
+
return new Promise((resolve, reject) => {
|
|
17
|
+
fs_1.default.mkdir(`${this.base}/${basePath}/${folder}`, { recursive: true }, (err) => {
|
|
18
|
+
err
|
|
19
|
+
? reject(err)
|
|
20
|
+
: resolve(true);
|
|
21
|
+
});
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
add(destination, filename, filePath) {
|
|
25
|
+
return new Promise((resolve, reject) => {
|
|
26
|
+
fs_1.default.copyFile(filePath, `${this.base}/${destination}/${filename}`, (err) => {
|
|
27
|
+
err
|
|
28
|
+
? reject(err)
|
|
29
|
+
: resolve(true);
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
create(destination, filename, data) {
|
|
34
|
+
return new Promise((resolve, reject) => {
|
|
35
|
+
fs_1.default.writeFile(`${this.base}/${destination}/${filename}`, data, (err) => {
|
|
36
|
+
err
|
|
37
|
+
? reject(err)
|
|
38
|
+
: resolve(true);
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
remove(folder, file) {
|
|
43
|
+
return new Promise((resolve, reject) => {
|
|
44
|
+
fs_1.default.unlink(`${this.base}/${folder}/${file}`, (err) => {
|
|
45
|
+
err
|
|
46
|
+
? reject(err)
|
|
47
|
+
: resolve(true);
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
update(destination, filename, data) {
|
|
52
|
+
return this.create(destination, filename, data);
|
|
53
|
+
}
|
|
54
|
+
get(folder, filename) {
|
|
55
|
+
return new Promise((resolve, reject) => {
|
|
56
|
+
fs_1.default.readFile(`${this.base}/${folder}/${filename}`, (err, data) => {
|
|
57
|
+
if (err)
|
|
58
|
+
return reject(err);
|
|
59
|
+
return resolve(data);
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
list(folder, filter) {
|
|
64
|
+
return new Promise((resolve, reject) => {
|
|
65
|
+
fs_1.default.readdir(`${this.base}/${folder}`, (err, data) => {
|
|
66
|
+
if (err)
|
|
67
|
+
return reject(err);
|
|
68
|
+
const filteredData = data.filter((single) => single.match(filter));
|
|
69
|
+
return resolve(filteredData);
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
async copy(files, sourceFolder, destinationFolder) {
|
|
74
|
+
const PROMISEARRAY = files.map((file) => new Promise((resolve, reject) => {
|
|
75
|
+
fs_1.default.copyFile(`${sourceFolder}/${file}`, `${destinationFolder}/${file}`, (err) => {
|
|
76
|
+
if (err)
|
|
77
|
+
return reject(err);
|
|
78
|
+
return resolve(true);
|
|
79
|
+
});
|
|
80
|
+
}));
|
|
81
|
+
return Promise.all(PROMISEARRAY)
|
|
82
|
+
.then(() => true)
|
|
83
|
+
.catch(() => false);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
exports.default = FilesystemClient;
|
|
87
|
+
//# sourceMappingURL=Filesystem.share.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Filesystem.share.js","sourceRoot":"","sources":["../../src/Filesystem.share.ts"],"names":[],"mappings":";;;;;AAAA,4CAAoB;AAGpB,MAAqB,gBAAgB;IAMnC,YAAY,OAA2B;QAErC,IAAI,OAAO,CAAC,UAAU;YAAE,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC;IAEzD,CAAC;IAED,YAAY;QAEV,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAElE,CAAC;IAED,YAAY,CAAC,QAAgB,EAAE,MAAc;QAE3C,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAE9C,YAAE,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,QAAQ,IAAI,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE;gBAE1E,GAAG;oBACD,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;oBACb,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAEpB,CAAC,CAAC,CAAC;QAEL,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,GAAG,CAAC,WAAmB,EAAE,QAAgB,EAAE,QAAgB;QAEzD,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAE9C,YAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI,WAAW,IAAI,QAAQ,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE;gBAEvE,GAAG;oBACD,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;oBACb,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAEpB,CAAC,CAAC,CAAC;QAEL,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,MAAM,CAAC,WAAmB,EAAE,QAAgB,EAAE,IAAqB;QAEjE,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAE9C,YAAE,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,WAAW,IAAI,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE;gBAEpE,GAAG;oBACD,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;oBACb,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAEpB,CAAC,CAAC,CAAC;QAEL,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,MAAM,CAAC,MAAc,EAAE,IAAY;QAEjC,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAE9C,YAAE,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,MAAM,IAAI,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE;gBAElD,GAAG;oBACD,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;oBACb,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAEpB,CAAC,CAAC,CAAC;QAEL,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,MAAM,CAAC,WAAmB,EAAE,QAAgB,EAAE,IAAY;QAExD,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IAElD,CAAC;IAED,GAAG,CAAC,MAAc,EAAE,QAAgB;QAElC,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAE7C,YAAE,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,MAAM,IAAI,QAAQ,EAAE,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;gBAE9D,IAAI,GAAG;oBAAE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC5B,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;YAEvB,CAAC,CAAC,CAAC;QAEL,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,IAAI,CAAC,MAAa,EAAE,MAAc;QAEhC,OAAO,IAAI,OAAO,CAAW,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAE/C,YAAE,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,MAAM,EAAE,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;gBAEjD,IAAI,GAAG;oBAAE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;gBAE5B,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;gBAEnE,OAAO,OAAO,CAAC,YAAY,CAAC,CAAC;YAE/B,CAAC,CAAC,CAAC;QAEL,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAe,EAAE,YAAoB,EAAE,iBAAyB;QAEzE,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAEvE,YAAE,CAAC,QAAQ,CAAC,GAAG,YAAY,IAAI,IAAI,EAAE,EAAE,GAAG,iBAAiB,IAAI,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE;gBAE7E,IAAI,GAAG;oBAAE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC5B,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;YAEvB,CAAC,CAAC,CAAC;QAEL,CAAC,CAAC,CAAC,CAAC;QAEJ,OAAO,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;aAC7B,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;aAChB,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;IAExB,CAAC;CAEF;AA5ID,mCA4IC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Filter, OrderedBulkOperation, UnorderedBulkOperation } from 'mongodb';
|
|
2
|
+
import Model from './classes/modelv2.class';
|
|
3
|
+
import { BasicDataInterface, HistoryReason } from '../interfaces';
|
|
4
|
+
import CreateResult from './interfaces/CreateResult.interface';
|
|
5
|
+
export default abstract class Immutable<T extends BasicDataInterface> {
|
|
6
|
+
model: Model<T>;
|
|
7
|
+
/**
|
|
8
|
+
* * adds a new entry in the history and updates the current one
|
|
9
|
+
* **IMPORTANT** dont query fields that would be changed on update, that will mess up the history
|
|
10
|
+
*/
|
|
11
|
+
immutable(_idOrFilterQuery: T['_id'] | Filter<T> | string, data: T | Partial<T>, user: string, reason: HistoryReason, app: string, additionalHistoryData?: Record<string, string | number>, bulk?: UnorderedBulkOperation | OrderedBulkOperation, partial?: string): Promise<import("mongodb").UpdateResult>;
|
|
12
|
+
/**
|
|
13
|
+
* creates or updates data
|
|
14
|
+
* @param _idOrFilterQuery
|
|
15
|
+
* @param data
|
|
16
|
+
* @param user
|
|
17
|
+
* @param reason
|
|
18
|
+
* @param app
|
|
19
|
+
* @param additionalHistoryData
|
|
20
|
+
* @param bulk
|
|
21
|
+
* @returns
|
|
22
|
+
*/
|
|
23
|
+
immutableUpsert(_idOrFilterQuery: T['_id'] | Filter<T>, data: T, user: string, reason: HistoryReason, app: string, additionalHistoryData?: Record<string, string | number>, bulk?: UnorderedBulkOperation | OrderedBulkOperation): Promise<import("mongodb").UpdateResult | CreateResult<T>>;
|
|
24
|
+
/**
|
|
25
|
+
* add a new history entry
|
|
26
|
+
* @param _id
|
|
27
|
+
* @param user
|
|
28
|
+
* @param reason
|
|
29
|
+
* @param app
|
|
30
|
+
* @param additionalHistoryData
|
|
31
|
+
* @param bulk
|
|
32
|
+
* @returns
|
|
33
|
+
*/
|
|
34
|
+
history(_id: T['_id'], user: string, reason: HistoryReason, app: string, additionalHistoryData?: Record<string, string | number>, bulk?: UnorderedBulkOperation | OrderedBulkOperation): Promise<UnorderedBulkOperation | OrderedBulkOperation>;
|
|
35
|
+
/**
|
|
36
|
+
* create new data
|
|
37
|
+
*/
|
|
38
|
+
create(data: T, user: string, source: string, additionalHistoryData?: Record<string, string | number>, bulk?: UnorderedBulkOperation | OrderedBulkOperation): Promise<CreateResult<T>>;
|
|
39
|
+
/**
|
|
40
|
+
* add a new history entry with delete and remove the main document
|
|
41
|
+
*
|
|
42
|
+
*/
|
|
43
|
+
delete(_id: T['_id'], user: string, app: string, additionalHistoryData?: Record<string, string | number>): Promise<import("mongodb").DeleteResult>;
|
|
44
|
+
getModel(fallback: Model<T>, model?: Model<T>): Model<T>;
|
|
45
|
+
}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const mongodb_1 = require("mongodb");
|
|
7
|
+
const models_1 = require("../models");
|
|
8
|
+
const Immutable_error_1 = __importDefault(require("./classes/errors/Immutable.error"));
|
|
9
|
+
const history_service_1 = __importDefault(require("./services/history.service"));
|
|
10
|
+
const id_service_1 = require("./services/id.service");
|
|
11
|
+
class Immutable {
|
|
12
|
+
/**
|
|
13
|
+
* * adds a new entry in the history and updates the current one
|
|
14
|
+
* **IMPORTANT** dont query fields that would be changed on update, that will mess up the history
|
|
15
|
+
*/
|
|
16
|
+
async immutable(_idOrFilterQuery, data, user, reason, app, additionalHistoryData, bulk, partial) {
|
|
17
|
+
let filterQuery;
|
|
18
|
+
const validationType = partial || 'change';
|
|
19
|
+
!mongodb_1.ObjectId.isValid(_idOrFilterQuery)
|
|
20
|
+
? filterQuery = _idOrFilterQuery
|
|
21
|
+
: filterQuery = { _id: _idOrFilterQuery };
|
|
22
|
+
if (!this.model.validate(data, validationType)) {
|
|
23
|
+
throw new Immutable_error_1.default('VALIDATION_FAILED', this.model.compiledTypes[validationType].errors);
|
|
24
|
+
}
|
|
25
|
+
const basicUpdateQuery = {};
|
|
26
|
+
if (Object.keys(data).length) {
|
|
27
|
+
basicUpdateQuery.$set = data;
|
|
28
|
+
}
|
|
29
|
+
if (!partial) {
|
|
30
|
+
const unset = this.model.getUnsetObject(data);
|
|
31
|
+
if (Object.keys(unset).length) {
|
|
32
|
+
basicUpdateQuery.$unset = unset;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
// TODO check if basicUpdateQuery has $set or $unset
|
|
36
|
+
return this.model.db.updateOne(filterQuery, basicUpdateQuery)
|
|
37
|
+
.then((update) => {
|
|
38
|
+
if (update.matchedCount === 0)
|
|
39
|
+
throw new Immutable_error_1.default('document for update not found');
|
|
40
|
+
if (update.modifiedCount === 1) {
|
|
41
|
+
const updateQuery = {
|
|
42
|
+
$inc: { 'history.version': 1 },
|
|
43
|
+
$set: {
|
|
44
|
+
'history.updated': new Date(),
|
|
45
|
+
},
|
|
46
|
+
};
|
|
47
|
+
if (additionalHistoryData) {
|
|
48
|
+
// @ts-ignore
|
|
49
|
+
updateQuery.$set['history.additional'] = additionalHistoryData;
|
|
50
|
+
}
|
|
51
|
+
// eslint-disable-next-line promise/no-nesting
|
|
52
|
+
return this.model.db.findOneAndUpdate(filterQuery, updateQuery, { returnDocument: 'after' })
|
|
53
|
+
.then(async (document) => {
|
|
54
|
+
await history_service_1.default.create(document.value, user, reason, app, this.model.name, undefined, bulk);
|
|
55
|
+
return update;
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
return update;
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* creates or updates data
|
|
63
|
+
* @param _idOrFilterQuery
|
|
64
|
+
* @param data
|
|
65
|
+
* @param user
|
|
66
|
+
* @param reason
|
|
67
|
+
* @param app
|
|
68
|
+
* @param additionalHistoryData
|
|
69
|
+
* @param bulk
|
|
70
|
+
* @returns
|
|
71
|
+
*/
|
|
72
|
+
async immutableUpsert(_idOrFilterQuery, data, user, reason, app, additionalHistoryData, bulk) {
|
|
73
|
+
var _a, _b;
|
|
74
|
+
let filterQuery;
|
|
75
|
+
!mongodb_1.ObjectId.isValid(_idOrFilterQuery)
|
|
76
|
+
? filterQuery = _idOrFilterQuery
|
|
77
|
+
: filterQuery = { _id: _idOrFilterQuery };
|
|
78
|
+
const databaseData = await this.model.db.countDocuments(filterQuery);
|
|
79
|
+
if (databaseData) {
|
|
80
|
+
/** if update, remove immutable keys */
|
|
81
|
+
if ((_a = this.model.immutable) === null || _a === void 0 ? void 0 : _a.length) {
|
|
82
|
+
(_b = this.model.immutable) === null || _b === void 0 ? void 0 : _b.forEach((single) => {
|
|
83
|
+
delete data[single];
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
return this.immutable(_idOrFilterQuery, data, user, reason, app, additionalHistoryData, bulk);
|
|
87
|
+
}
|
|
88
|
+
return this.create(data, user, app, additionalHistoryData, bulk);
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* add a new history entry
|
|
92
|
+
* @param _id
|
|
93
|
+
* @param user
|
|
94
|
+
* @param reason
|
|
95
|
+
* @param app
|
|
96
|
+
* @param additionalHistoryData
|
|
97
|
+
* @param bulk
|
|
98
|
+
* @returns
|
|
99
|
+
*/
|
|
100
|
+
async history(_id, user, reason, app, additionalHistoryData, bulk) {
|
|
101
|
+
const history = await this.model.db.findOne({ _id });
|
|
102
|
+
if (!(history === null || history === void 0 ? void 0 : history._id))
|
|
103
|
+
throw new Immutable_error_1.default('PARENT_DOCUMENT_NOT_FOUND');
|
|
104
|
+
return history_service_1.default.create(history, user, reason, app, this.model.name, additionalHistoryData, bulk);
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* create new data
|
|
108
|
+
*/
|
|
109
|
+
async create(data, user, source, additionalHistoryData, bulk) {
|
|
110
|
+
var _a, _b;
|
|
111
|
+
let type = 'create';
|
|
112
|
+
let inheritedVersion = 0;
|
|
113
|
+
if (!this.model)
|
|
114
|
+
throw new Error('model not set in the main class');
|
|
115
|
+
if (!this.model.validate(data, 'create'))
|
|
116
|
+
throw new Immutable_error_1.default('VALIDATION_FAILED', this.model.compiledTypes.create.errors);
|
|
117
|
+
if ((_a = this.model.historyMatch) === null || _a === void 0 ? void 0 : _a.length) {
|
|
118
|
+
const query = {};
|
|
119
|
+
this.model.historyMatch.forEach((key) => {
|
|
120
|
+
query[key] = data[key];
|
|
121
|
+
});
|
|
122
|
+
const document = await models_1.HistoryModel.db.find(query).limit(1).sort({ _id: -1 }).toArray();
|
|
123
|
+
const lastEntry = document[0];
|
|
124
|
+
if (lastEntry) {
|
|
125
|
+
if (((_b = lastEntry.history) === null || _b === void 0 ? void 0 : _b.reason) !== 'delete')
|
|
126
|
+
throw new Error('DOCUMENT_ALREADY_EXISTS');
|
|
127
|
+
inheritedVersion = lastEntry.history.version + 1;
|
|
128
|
+
type = 'recreate';
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
data.history = {
|
|
132
|
+
version: inheritedVersion,
|
|
133
|
+
created: new Date(),
|
|
134
|
+
source,
|
|
135
|
+
};
|
|
136
|
+
if (additionalHistoryData) {
|
|
137
|
+
data.history.additional = Object.assign({}, additionalHistoryData);
|
|
138
|
+
}
|
|
139
|
+
if (this.model.uniqueId && !data.id) {
|
|
140
|
+
data.id = await id_service_1.IdService.getUnique(data.company, data.project, data.app, data.model);
|
|
141
|
+
}
|
|
142
|
+
console.log(data);
|
|
143
|
+
const inserted = await this.model.db.insertOne(data);
|
|
144
|
+
await this.history(inserted.insertedId, user, type, source, additionalHistoryData, bulk);
|
|
145
|
+
return {
|
|
146
|
+
_id: inserted.insertedId,
|
|
147
|
+
id: data.id,
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* add a new history entry with delete and remove the main document
|
|
152
|
+
*
|
|
153
|
+
*/
|
|
154
|
+
delete(_id, user, app, additionalHistoryData) {
|
|
155
|
+
return this.history(_id, user, 'delete', app, additionalHistoryData)
|
|
156
|
+
.then(() => this.model.db.deleteOne({ _id }));
|
|
157
|
+
}
|
|
158
|
+
getModel(fallback, model) {
|
|
159
|
+
const useModel = model || fallback;
|
|
160
|
+
return useModel;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
exports.default = Immutable;
|
|
164
|
+
//# sourceMappingURL=Immutable.class.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Immutable.class.js","sourceRoot":"","sources":["../../src/Immutable.class.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { ShareClientInterface, ShareClientOptions } from '../interfaces';
|
|
3
|
+
export default class MockClient implements ShareClientInterface {
|
|
4
|
+
client: MockClient;
|
|
5
|
+
constructor(options: ShareClientOptions);
|
|
6
|
+
createFolder(basePath: string, folder: string): Promise<boolean>;
|
|
7
|
+
removeFolder(): Promise<boolean>;
|
|
8
|
+
add(destination: string, filename: string, filePath: string): Promise<boolean>;
|
|
9
|
+
remove(folder: string, file: string): Promise<boolean>;
|
|
10
|
+
create(destination: string, filename: string, data: string | Buffer): Promise<boolean>;
|
|
11
|
+
update(folder: string, filename: string, data: Buffer): Promise<boolean>;
|
|
12
|
+
get(folder: string, filename: string): Promise<Buffer>;
|
|
13
|
+
list(folder: string, filter: RegExp): Promise<string[]>;
|
|
14
|
+
copy(files: string[], destination: string): Promise<boolean>;
|
|
15
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
class MockClient {
|
|
4
|
+
constructor(options) {
|
|
5
|
+
this.client = this;
|
|
6
|
+
}
|
|
7
|
+
createFolder(basePath, folder) {
|
|
8
|
+
return new Promise((resolve) => resolve(true));
|
|
9
|
+
}
|
|
10
|
+
removeFolder() {
|
|
11
|
+
return new Promise((resolve) => resolve(true));
|
|
12
|
+
}
|
|
13
|
+
add(destination, filename, filePath) {
|
|
14
|
+
return new Promise((resolve) => resolve(true));
|
|
15
|
+
}
|
|
16
|
+
remove(folder, file) {
|
|
17
|
+
return new Promise((resolve) => resolve(true));
|
|
18
|
+
}
|
|
19
|
+
create(destination, filename, data) {
|
|
20
|
+
return new Promise((resolve) => resolve(true));
|
|
21
|
+
}
|
|
22
|
+
update(folder, filename, data) {
|
|
23
|
+
return new Promise((resolve) => resolve(true));
|
|
24
|
+
}
|
|
25
|
+
get(folder, filename) {
|
|
26
|
+
return new Promise((resolve) => resolve(Buffer.from('')));
|
|
27
|
+
}
|
|
28
|
+
list(folder, filter) {
|
|
29
|
+
return new Promise((resolve) => resolve([]));
|
|
30
|
+
}
|
|
31
|
+
copy(files, destination) {
|
|
32
|
+
return new Promise((resolve) => resolve(true));
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
exports.default = MockClient;
|
|
36
|
+
//# sourceMappingURL=Mock.share.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Mock.share.js","sourceRoot":"","sources":["../../src/Mock.share.ts"],"names":[],"mappings":";;AAEA,MAAqB,UAAU;IAI7B,YAAY,OAA2B;QAErC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IAErB,CAAC;IAED,YAAY,CAAC,QAAgB,EAAE,MAAc;QAE3C,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAE1D,CAAC;IAED,YAAY;QAEV,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAE1D,CAAC;IAED,GAAG,CAAC,WAAmB,EAAE,QAAgB,EAAE,QAAgB;QAEzD,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAE1D,CAAC;IAED,MAAM,CAAC,MAAc,EAAE,IAAY;QAEjC,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAE1D,CAAC;IAED,MAAM,CAAC,WAAmB,EAAE,QAAgB,EAAE,IAAqB;QAEjE,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAE1D,CAAC;IAED,MAAM,CAAC,MAAc,EAAE,QAAgB,EAAE,IAAY;QAEnD,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAE1D,CAAC;IAED,GAAG,CAAC,MAAc,EAAE,QAAgB;QAElC,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAEpE,CAAC;IAED,IAAI,CAAC,MAAc,EAAE,MAAc;QAEjC,OAAO,IAAI,OAAO,CAAW,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IAEzD,CAAC;IAED,IAAI,CAAC,KAAe,EAAE,WAAmB;QAEvC,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAE1D,CAAC;CAEF;AAhED,6BAgEC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import FilesystemClient from './Filesystem.share';
|
|
2
|
+
import AzureStorageClient from './AzureFileStorage.share';
|
|
3
|
+
import AzureBlobClient from './AzureBlobStorage.share';
|
|
4
|
+
import MockClient from './Mock.share';
|
|
5
|
+
import { ShareClientInterface, ShareClientOptions } from '../interfaces';
|
|
6
|
+
declare const available: {
|
|
7
|
+
filesystem: typeof FilesystemClient;
|
|
8
|
+
mock: typeof MockClient;
|
|
9
|
+
azureStorage: typeof AzureStorageClient;
|
|
10
|
+
azureBlob: typeof AzureBlobClient;
|
|
11
|
+
};
|
|
12
|
+
declare const ShareClientFactory: (type: keyof typeof available, options: ShareClientOptions) => ShareClientInterface;
|
|
13
|
+
export default ShareClientFactory;
|
|
14
|
+
export { FilesystemClient, AzureStorageClient, AzureBlobClient, };
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.AzureBlobClient = exports.AzureStorageClient = exports.FilesystemClient = void 0;
|
|
7
|
+
const Filesystem_share_1 = __importDefault(require("./Filesystem.share"));
|
|
8
|
+
exports.FilesystemClient = Filesystem_share_1.default;
|
|
9
|
+
const AzureFileStorage_share_1 = __importDefault(require("./AzureFileStorage.share"));
|
|
10
|
+
exports.AzureStorageClient = AzureFileStorage_share_1.default;
|
|
11
|
+
const AzureBlobStorage_share_1 = __importDefault(require("./AzureBlobStorage.share"));
|
|
12
|
+
exports.AzureBlobClient = AzureBlobStorage_share_1.default;
|
|
13
|
+
const Mock_share_1 = __importDefault(require("./Mock.share"));
|
|
14
|
+
const available = {
|
|
15
|
+
filesystem: Filesystem_share_1.default,
|
|
16
|
+
mock: Mock_share_1.default,
|
|
17
|
+
azureStorage: AzureFileStorage_share_1.default,
|
|
18
|
+
azureBlob: AzureBlobStorage_share_1.default,
|
|
19
|
+
};
|
|
20
|
+
const ShareClientFactory = (type, options) => {
|
|
21
|
+
let client;
|
|
22
|
+
if (type === 'mock' || !type) {
|
|
23
|
+
client = new Mock_share_1.default(options);
|
|
24
|
+
}
|
|
25
|
+
if (type === 'filesystem') {
|
|
26
|
+
client = new Filesystem_share_1.default(options);
|
|
27
|
+
}
|
|
28
|
+
if (type === 'azureStorage') {
|
|
29
|
+
client = new AzureFileStorage_share_1.default(options);
|
|
30
|
+
}
|
|
31
|
+
if (type === 'azureBlob') {
|
|
32
|
+
client = new AzureBlobStorage_share_1.default(options);
|
|
33
|
+
}
|
|
34
|
+
return client;
|
|
35
|
+
};
|
|
36
|
+
exports.default = ShareClientFactory;
|
|
37
|
+
//# sourceMappingURL=ShareClientFactory.class.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ShareClientFactory.class.js","sourceRoot":"","sources":["../../src/ShareClientFactory.class.ts"],"names":[],"mappings":";;;;;;AAAA,0EAAkD;AA+ChD,2BA/CK,0BAAgB,CA+CL;AA9ClB,sFAA0D;AA+CxD,6BA/CK,gCAAkB,CA+CL;AA9CpB,sFAAuD;AA+CrD,0BA/CK,gCAAe,CA+CL;AA9CjB,8DAAsC;AAGtC,MAAM,SAAS,GAAG;IAChB,UAAU,EAAE,0BAAgB;IAC5B,IAAI,EAAE,oBAAU;IAChB,YAAY,EAAE,gCAAkB;IAChC,SAAS,EAAE,gCAAe;CAC3B,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,IAA4B,EAAE,OAA2B,EAAwB,EAAE;IAE7G,IAAI,MAAwC,CAAC;IAE7C,IAAI,IAAI,KAAK,MAAM,IAAI,CAAC,IAAI,EAAE;QAE5B,MAAM,GAAG,IAAI,oBAAU,CAAC,OAAO,CAAC,CAAC;KAElC;IAED,IAAI,IAAI,KAAK,YAAY,EAAE;QAEzB,MAAM,GAAG,IAAI,0BAAgB,CAAC,OAAO,CAAC,CAAC;KAExC;IAED,IAAI,IAAI,KAAK,cAAc,EAAE;QAE3B,MAAM,GAAG,IAAI,gCAAkB,CAAC,OAAO,CAAC,CAAC;KAE1C;IAED,IAAI,IAAI,KAAK,WAAW,EAAE;QAExB,MAAM,GAAG,IAAI,gCAAe,CAAC,OAAO,CAAC,CAAC;KAEvC;IAED,OAAO,MAA8B,CAAC;AAExC,CAAC,CAAC;AAEF,kBAAe,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
declare const _default: ({
|
|
2
|
+
$addFields: {
|
|
3
|
+
index: string;
|
|
4
|
+
data?: undefined;
|
|
5
|
+
};
|
|
6
|
+
$unwind?: undefined;
|
|
7
|
+
$lookup?: undefined;
|
|
8
|
+
$group?: undefined;
|
|
9
|
+
$replaceRoot?: undefined;
|
|
10
|
+
$project?: undefined;
|
|
11
|
+
} | {
|
|
12
|
+
$unwind: {
|
|
13
|
+
path: string;
|
|
14
|
+
preserveNullAndEmptyArrays: boolean;
|
|
15
|
+
};
|
|
16
|
+
$addFields?: undefined;
|
|
17
|
+
$lookup?: undefined;
|
|
18
|
+
$group?: undefined;
|
|
19
|
+
$replaceRoot?: undefined;
|
|
20
|
+
$project?: undefined;
|
|
21
|
+
} | {
|
|
22
|
+
$lookup: {
|
|
23
|
+
from: string;
|
|
24
|
+
as: string;
|
|
25
|
+
let: {
|
|
26
|
+
pid: string;
|
|
27
|
+
company: string;
|
|
28
|
+
project: string;
|
|
29
|
+
};
|
|
30
|
+
pipeline: ({
|
|
31
|
+
$unwind: {
|
|
32
|
+
path: string;
|
|
33
|
+
preserveNullAndEmptyArrays: boolean;
|
|
34
|
+
};
|
|
35
|
+
$lookup?: undefined;
|
|
36
|
+
$addFields?: undefined;
|
|
37
|
+
$project?: undefined;
|
|
38
|
+
$group?: undefined;
|
|
39
|
+
$replaceRoot?: undefined;
|
|
40
|
+
} | {
|
|
41
|
+
$lookup: {
|
|
42
|
+
from: string;
|
|
43
|
+
as: string;
|
|
44
|
+
let: {
|
|
45
|
+
pid: string;
|
|
46
|
+
};
|
|
47
|
+
pipeline: ({
|
|
48
|
+
$addFields: {
|
|
49
|
+
realId: {
|
|
50
|
+
$toObjectId: string;
|
|
51
|
+
};
|
|
52
|
+
};
|
|
53
|
+
$match?: undefined;
|
|
54
|
+
} | {
|
|
55
|
+
$match: {
|
|
56
|
+
$and: {
|
|
57
|
+
$expr: {
|
|
58
|
+
$eq: (string | boolean)[];
|
|
59
|
+
};
|
|
60
|
+
}[];
|
|
61
|
+
};
|
|
62
|
+
$addFields?: undefined;
|
|
63
|
+
})[];
|
|
64
|
+
};
|
|
65
|
+
$unwind?: undefined;
|
|
66
|
+
$addFields?: undefined;
|
|
67
|
+
$project?: undefined;
|
|
68
|
+
$group?: undefined;
|
|
69
|
+
$replaceRoot?: undefined;
|
|
70
|
+
} | {
|
|
71
|
+
$addFields: {
|
|
72
|
+
'modules.modules': string;
|
|
73
|
+
};
|
|
74
|
+
$unwind?: undefined;
|
|
75
|
+
$lookup?: undefined;
|
|
76
|
+
$project?: undefined;
|
|
77
|
+
$group?: undefined;
|
|
78
|
+
$replaceRoot?: undefined;
|
|
79
|
+
} | {
|
|
80
|
+
$project: {
|
|
81
|
+
moduleData: number;
|
|
82
|
+
};
|
|
83
|
+
$unwind?: undefined;
|
|
84
|
+
$lookup?: undefined;
|
|
85
|
+
$addFields?: undefined;
|
|
86
|
+
$group?: undefined;
|
|
87
|
+
$replaceRoot?: undefined;
|
|
88
|
+
} | {
|
|
89
|
+
$group: {
|
|
90
|
+
_id: string;
|
|
91
|
+
modules: {
|
|
92
|
+
$push: string;
|
|
93
|
+
};
|
|
94
|
+
main: {
|
|
95
|
+
$first: string;
|
|
96
|
+
};
|
|
97
|
+
};
|
|
98
|
+
$unwind?: undefined;
|
|
99
|
+
$lookup?: undefined;
|
|
100
|
+
$addFields?: undefined;
|
|
101
|
+
$project?: undefined;
|
|
102
|
+
$replaceRoot?: undefined;
|
|
103
|
+
} | {
|
|
104
|
+
$replaceRoot: {
|
|
105
|
+
newRoot: {
|
|
106
|
+
$mergeObjects: (string | {
|
|
107
|
+
modules: string;
|
|
108
|
+
})[];
|
|
109
|
+
};
|
|
110
|
+
};
|
|
111
|
+
$unwind?: undefined;
|
|
112
|
+
$lookup?: undefined;
|
|
113
|
+
$addFields?: undefined;
|
|
114
|
+
$project?: undefined;
|
|
115
|
+
$group?: undefined;
|
|
116
|
+
} | {
|
|
117
|
+
$match: {
|
|
118
|
+
$and: {
|
|
119
|
+
$expr: {
|
|
120
|
+
$eq: string[];
|
|
121
|
+
};
|
|
122
|
+
}[];
|
|
123
|
+
};
|
|
124
|
+
})[];
|
|
125
|
+
};
|
|
126
|
+
$addFields?: undefined;
|
|
127
|
+
$unwind?: undefined;
|
|
128
|
+
$group?: undefined;
|
|
129
|
+
$replaceRoot?: undefined;
|
|
130
|
+
$project?: undefined;
|
|
131
|
+
} | {
|
|
132
|
+
$group: {
|
|
133
|
+
_id: string;
|
|
134
|
+
main: {
|
|
135
|
+
$first: string;
|
|
136
|
+
};
|
|
137
|
+
data: {
|
|
138
|
+
$push: string;
|
|
139
|
+
};
|
|
140
|
+
};
|
|
141
|
+
$addFields?: undefined;
|
|
142
|
+
$unwind?: undefined;
|
|
143
|
+
$lookup?: undefined;
|
|
144
|
+
$replaceRoot?: undefined;
|
|
145
|
+
$project?: undefined;
|
|
146
|
+
} | {
|
|
147
|
+
$addFields: {
|
|
148
|
+
data: {
|
|
149
|
+
$arrayToObject: {
|
|
150
|
+
$map: {
|
|
151
|
+
input: string;
|
|
152
|
+
as: string;
|
|
153
|
+
in: {
|
|
154
|
+
k: string;
|
|
155
|
+
v: string;
|
|
156
|
+
};
|
|
157
|
+
};
|
|
158
|
+
};
|
|
159
|
+
};
|
|
160
|
+
index?: undefined;
|
|
161
|
+
};
|
|
162
|
+
$unwind?: undefined;
|
|
163
|
+
$lookup?: undefined;
|
|
164
|
+
$group?: undefined;
|
|
165
|
+
$replaceRoot?: undefined;
|
|
166
|
+
$project?: undefined;
|
|
167
|
+
} | {
|
|
168
|
+
$replaceRoot: {
|
|
169
|
+
newRoot: {
|
|
170
|
+
$mergeObjects: (string | {
|
|
171
|
+
childData: {
|
|
172
|
+
data: string;
|
|
173
|
+
index: string;
|
|
174
|
+
};
|
|
175
|
+
})[];
|
|
176
|
+
};
|
|
177
|
+
};
|
|
178
|
+
$addFields?: undefined;
|
|
179
|
+
$unwind?: undefined;
|
|
180
|
+
$lookup?: undefined;
|
|
181
|
+
$group?: undefined;
|
|
182
|
+
$project?: undefined;
|
|
183
|
+
} | {
|
|
184
|
+
$project: {
|
|
185
|
+
data: number;
|
|
186
|
+
index: number;
|
|
187
|
+
};
|
|
188
|
+
$addFields?: undefined;
|
|
189
|
+
$unwind?: undefined;
|
|
190
|
+
$lookup?: undefined;
|
|
191
|
+
$group?: undefined;
|
|
192
|
+
$replaceRoot?: undefined;
|
|
193
|
+
})[];
|
|
194
|
+
export default _default;
|