@lilaquadrat/studio 10.0.0-beta.10 → 10.0.0-beta.12
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/eslint.config.js +146 -0
- package/lib/helpers.d.ts +6 -2
- package/lib/helpers.js +9 -2
- package/lib/helpers.js.map +1 -1
- package/lib/main.d.ts +1 -3
- package/lib/main.js +7 -3
- package/lib/main.js.map +1 -1
- package/lib/services.d.ts +1 -6
- package/lib/services.js +18 -7
- package/lib/services.js.map +1 -1
- package/lib/src/ShareClientFactory.class.d.ts +1 -3
- package/lib/src/ShareClientFactory.class.js +1 -9
- package/lib/src/ShareClientFactory.class.js.map +1 -1
- package/lib/src/classes/models.class.js.map +1 -1
- package/lib/src/classes/mongo.class.js +4 -14
- package/lib/src/classes/mongo.class.js.map +1 -1
- package/lib/src/functions/handleError.d.ts +2 -3
- package/lib/src/functions/handleError.js +3 -16
- package/lib/src/functions/handleError.js.map +1 -1
- package/lib/src/functions/optionsHelper.d.ts +4 -4
- package/lib/src/functions/optionsHelper.js +5 -4
- package/lib/src/functions/optionsHelper.js.map +1 -1
- package/lib/src/helpers/ControllerHelper.d.ts +73 -0
- package/lib/src/helpers/ControllerHelper.js +242 -0
- package/lib/src/helpers/ControllerHelper.js.map +1 -0
- package/lib/src/helpers/EnvMapper.d.ts +0 -0
- package/lib/src/helpers/EnvMapper.js +1 -0
- package/lib/src/helpers/EnvMapper.js.map +1 -0
- package/lib/src/helpers/authPlugin.d.ts +29 -0
- package/lib/src/helpers/authPlugin.js +72 -0
- package/lib/src/helpers/authPlugin.js.map +1 -0
- package/lib/src/helpers/cacheHelper.d.ts +69 -0
- package/lib/src/helpers/cacheHelper.js +235 -0
- package/lib/src/helpers/cacheHelper.js.map +1 -0
- package/lib/src/helpers/createSasToken.d.ts +0 -2
- package/lib/src/helpers/createSasToken.js +35 -32
- package/lib/src/helpers/createSasToken.js.map +1 -1
- package/lib/src/helpers/getSecrets.d.ts +1 -1
- package/lib/src/helpers/getSecrets.js +10 -12
- package/lib/src/helpers/getSecrets.js.map +1 -1
- package/lib/src/helpers/queryAssertionPlugin.d.ts +3 -0
- package/lib/src/helpers/queryAssertionPlugin.js +20 -0
- package/lib/src/helpers/queryAssertionPlugin.js.map +1 -0
- package/lib/src/helpers/safeObjectId.d.ts +1 -1
- package/lib/src/helpers/safeObjectId.js +5 -1
- package/lib/src/helpers/safeObjectId.js.map +1 -1
- package/lib/src/helpers/studioAppPlugin.d.ts +3 -0
- package/lib/src/helpers/studioAppPlugin.js +16 -0
- package/lib/src/helpers/studioAppPlugin.js.map +1 -0
- package/lib/src/logger.js +40 -2
- package/lib/src/logger.js.map +1 -1
- package/lib/src/models/certificate-action.model.js +0 -1
- package/lib/src/models/certificate-action.model.js.map +1 -1
- package/lib/src/models/customers.model.js +3 -0
- package/lib/src/models/customers.model.js.map +1 -1
- package/lib/src/models/editor.model.js +7 -0
- package/lib/src/models/editor.model.js.map +1 -1
- package/lib/src/models/project.model.js +2 -4
- package/lib/src/models/project.model.js.map +1 -1
- package/lib/src/services/access.service.d.ts +0 -37
- package/lib/src/services/access.service.js +119 -108
- package/lib/src/services/access.service.js.map +1 -1
- package/lib/src/services/editor.service.d.ts +4 -0
- package/lib/src/services/editor.service.js +28 -0
- package/lib/src/services/editor.service.js.map +1 -1
- package/lib/src/services/editorBase.service.d.ts +0 -46
- package/lib/src/services/editorBase.service.js +184 -160
- package/lib/src/services/editorBase.service.js.map +1 -1
- package/lib/src/services/hosting.service.js +1 -1
- package/lib/src/services/hosting.service.js.map +1 -1
- package/lib/src/services/import.service.d.ts +5 -21
- package/lib/src/services/import.service.js +63 -65
- package/lib/src/services/import.service.js.map +1 -1
- package/lib/src/services/listParticipants.service.d.ts +0 -3
- package/lib/src/services/listParticipants.service.js +16 -14
- package/lib/src/services/listParticipants.service.js.map +1 -1
- package/lib/src/services/me.service.d.ts +17 -7
- package/lib/src/services/me.service.js +48 -86
- package/lib/src/services/me.service.js.map +1 -1
- package/lib/src/services/publish.service.d.ts +0 -4
- package/lib/src/services/publish.service.js +33 -32
- package/lib/src/services/publish.service.js.map +1 -1
- package/lib/src/services/publishData.service.d.ts +10 -7
- package/lib/src/services/publishData.service.js +32 -75
- package/lib/src/services/publishData.service.js.map +1 -1
- package/lib/src/services/storage.service.d.ts +1 -23
- package/lib/src/services/storage.service.js +6 -28
- package/lib/src/services/storage.service.js.map +1 -1
- package/package.json +21 -23
- package/lib/src/AzureBlobStorage.share.d.ts +0 -19
- package/lib/src/AzureBlobStorage.share.js +0 -162
- package/lib/src/AzureBlobStorage.share.js.map +0 -1
- package/lib/src/AzureFileStorage.share.d.ts +0 -22
- package/lib/src/AzureFileStorage.share.js +0 -139
- package/lib/src/AzureFileStorage.share.js.map +0 -1
- package/lib/src/AzureVault.d.ts +0 -14
- package/lib/src/AzureVault.js +0 -28
- package/lib/src/AzureVault.js.map +0 -1
- package/lib/src/dns.challenge.class.d.ts +0 -17
- package/lib/src/dns.challenge.class.js +0 -41
- package/lib/src/dns.challenge.class.js.map +0 -1
- package/lib/src/http.challenge.class.d.ts +0 -33
- package/lib/src/http.challenge.class.js +0 -58
- package/lib/src/http.challenge.class.js.map +0 -1
- package/lib/src/services/handleFile.service.d.ts +0 -9
- package/lib/src/services/handleFile.service.js +0 -45
- package/lib/src/services/handleFile.service.js.map +0 -1
- package/lib/src/services/media.service.d.ts +0 -35
- package/lib/src/services/media.service.js +0 -418
- package/lib/src/services/media.service.js.map +0 -1
- package/lib/src/services/share.service.d.ts +0 -6
- package/lib/src/services/share.service.js +0 -4
- package/lib/src/services/share.service.js.map +0 -1
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
import { ShareServiceClient } from '@azure/storage-file-share';
|
|
2
|
-
import logger from './logger.js';
|
|
3
|
-
import { DefaultAzureCredential } from '@azure/identity';
|
|
4
|
-
export default class AzureStorageClient {
|
|
5
|
-
constructor(options) {
|
|
6
|
-
if (options.accountName) {
|
|
7
|
-
logger.info('storage.file.use.storage_account');
|
|
8
|
-
const credentials = new DefaultAzureCredential();
|
|
9
|
-
const serviceClient = new ShareServiceClient(`https://${options.accountName}.file.core.windows.net`, credentials);
|
|
10
|
-
this.client = serviceClient.getShareClient(options.shareName);
|
|
11
|
-
}
|
|
12
|
-
else if (options.connectionString) {
|
|
13
|
-
logger.info('storage.file.use.connection_string');
|
|
14
|
-
const serviceClient = ShareServiceClient.fromConnectionString(options.connectionString);
|
|
15
|
-
this.client = serviceClient.getShareClient(options.shareName);
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* creates all folders bases upon the pathArray
|
|
20
|
-
*
|
|
21
|
-
* ``['test', 'test1', 'test2']`` will result in ``/test/test1/test2``
|
|
22
|
-
*/
|
|
23
|
-
async createSingleFolder(pathArray, base) {
|
|
24
|
-
let delimiter;
|
|
25
|
-
let folderToCreate;
|
|
26
|
-
/**
|
|
27
|
-
* removes the first part of the array and uses it as the folder name
|
|
28
|
-
*
|
|
29
|
-
*/
|
|
30
|
-
const folder = pathArray.shift() || '';
|
|
31
|
-
if (base) {
|
|
32
|
-
/**
|
|
33
|
-
* if the last character of base is a slash, no delimiter is necessary
|
|
34
|
-
* this prevents the generation of paths with double slashes
|
|
35
|
-
*/
|
|
36
|
-
delimiter = base?.lastIndexOf('/') === base?.length - 1
|
|
37
|
-
? ''
|
|
38
|
-
: '/';
|
|
39
|
-
folderToCreate = `${base}${delimiter}${folder}`;
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
folderToCreate = folder;
|
|
43
|
-
}
|
|
44
|
-
const directoryClient = this.client.getDirectoryClient(folderToCreate);
|
|
45
|
-
if (!await directoryClient.exists()) {
|
|
46
|
-
await directoryClient.create();
|
|
47
|
-
}
|
|
48
|
-
if (pathArray.length) {
|
|
49
|
-
return this.createSingleFolder(pathArray, folderToCreate);
|
|
50
|
-
}
|
|
51
|
-
return true;
|
|
52
|
-
}
|
|
53
|
-
createFolder(basePath, folder) {
|
|
54
|
-
let pathArray = [];
|
|
55
|
-
/**
|
|
56
|
-
* if the base path starts with a slash, add it to the pathArray
|
|
57
|
-
*/
|
|
58
|
-
if (basePath.indexOf('/') === 0) {
|
|
59
|
-
pathArray.push('/');
|
|
60
|
-
}
|
|
61
|
-
pathArray.push(...basePath.split('/'));
|
|
62
|
-
if (folder)
|
|
63
|
-
pathArray.push(...folder.split('/'));
|
|
64
|
-
pathArray = pathArray.filter((single) => single.length);
|
|
65
|
-
return this.createSingleFolder(pathArray);
|
|
66
|
-
}
|
|
67
|
-
async removeFolder(folder) {
|
|
68
|
-
const directoryClient = this.client.getDirectoryClient(folder);
|
|
69
|
-
directoryClient.listFilesAndDirectories();
|
|
70
|
-
for await (const entity of directoryClient.listFilesAndDirectories()) {
|
|
71
|
-
if (entity.kind === 'file') {
|
|
72
|
-
await directoryClient.getFileClient(entity.name)
|
|
73
|
-
.delete();
|
|
74
|
-
}
|
|
75
|
-
if (entity.kind === 'directory') {
|
|
76
|
-
await this.removeFolder(`${folder}/${entity.name}`);
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
return directoryClient.delete()
|
|
80
|
-
.then(() => true);
|
|
81
|
-
}
|
|
82
|
-
add(destination, filename, filePath) {
|
|
83
|
-
const fileClient = this.client.getDirectoryClient(destination).getFileClient(filename);
|
|
84
|
-
return fileClient.uploadFile(filePath)
|
|
85
|
-
.then(() => true);
|
|
86
|
-
}
|
|
87
|
-
remove(folder, file) {
|
|
88
|
-
return this.client.getDirectoryClient(folder).deleteFile(file)
|
|
89
|
-
.then(() => true);
|
|
90
|
-
}
|
|
91
|
-
async create(destination, filename, data) {
|
|
92
|
-
const bytes = Buffer.byteLength(data);
|
|
93
|
-
await this.createFolder(destination);
|
|
94
|
-
return this.client.getDirectoryClient(destination).createFile(filename, bytes)
|
|
95
|
-
.then((response) => response.fileClient.uploadRange(data, 0, bytes))
|
|
96
|
-
.then(() => true)
|
|
97
|
-
.catch((e) => {
|
|
98
|
-
logger.error(e.message);
|
|
99
|
-
throw new Error(`StatusCode ${e.statusCode} - ${e.request.url}`);
|
|
100
|
-
});
|
|
101
|
-
}
|
|
102
|
-
update(folder, filename, data) {
|
|
103
|
-
return this.client.getDirectoryClient(folder).getFileClient(filename).uploadData(data)
|
|
104
|
-
.then(() => true);
|
|
105
|
-
}
|
|
106
|
-
get(folder, filename) {
|
|
107
|
-
return this.client.getDirectoryClient(folder).getFileClient(filename).downloadToBuffer()
|
|
108
|
-
.catch((e) => {
|
|
109
|
-
throw new Error(`StatusCode ${e.statusCode} - ${e.errorCode} - ${e.request.url}`);
|
|
110
|
-
});
|
|
111
|
-
}
|
|
112
|
-
async list(folder, filter) {
|
|
113
|
-
const files = [];
|
|
114
|
-
const directoryClient = this.client.getDirectoryClient(folder);
|
|
115
|
-
directoryClient.listFilesAndDirectories();
|
|
116
|
-
for await (const entity of directoryClient.listFilesAndDirectories()) {
|
|
117
|
-
if (entity.kind === 'file' && entity.name.match(filter))
|
|
118
|
-
files.push(entity.name);
|
|
119
|
-
}
|
|
120
|
-
return new Promise((resolve, reject) => resolve(files));
|
|
121
|
-
}
|
|
122
|
-
async copy(files, sourceFolder, destinationFolder) {
|
|
123
|
-
const PROMISEARRAY = files.map((file) => {
|
|
124
|
-
const targetClient = this.client.getDirectoryClient(destinationFolder).getFileClient(file);
|
|
125
|
-
const sourceClient = this.client.getDirectoryClient(sourceFolder).getFileClient(file);
|
|
126
|
-
return targetClient.startCopyFromURL(sourceClient.url);
|
|
127
|
-
});
|
|
128
|
-
return Promise.all(PROMISEARRAY)
|
|
129
|
-
.then(() => true)
|
|
130
|
-
.catch((error) => {
|
|
131
|
-
logger.error(error);
|
|
132
|
-
return false;
|
|
133
|
-
});
|
|
134
|
-
}
|
|
135
|
-
getDownloadUrl(path, lifetimeInSeconds) {
|
|
136
|
-
return Promise.resolve('NOT_IMPLEMENTED');
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
//# sourceMappingURL=AzureFileStorage.share.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AzureFileStorage.share.js","sourceRoot":"","sources":["../../src/AzureFileStorage.share.ts"],"names":[],"mappings":"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"}
|
package/lib/src/AzureVault.d.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { ClientSecretCredential, DefaultAzureCredential } from '@azure/identity';
|
|
2
|
-
declare const _default: {
|
|
3
|
-
certificates: {
|
|
4
|
-
import: (name: string, cert: Uint8Array, url: string, credentials: ClientSecretCredential | DefaultAzureCredential) => Promise<import("@azure/keyvault-certificates").KeyVaultCertificateWithPolicy>;
|
|
5
|
-
get: (name: string, url: string, credentials: ClientSecretCredential | DefaultAzureCredential) => Promise<import("@azure/keyvault-certificates").KeyVaultCertificateWithPolicy>;
|
|
6
|
-
};
|
|
7
|
-
keys: {
|
|
8
|
-
get: (name: string, url: string, credentials: ClientSecretCredential | DefaultAzureCredential) => Promise<import("@azure/keyvault-keys").KeyVaultKey>;
|
|
9
|
-
};
|
|
10
|
-
secrets: {
|
|
11
|
-
get: (name: string, url: string, credentials: ClientSecretCredential | DefaultAzureCredential) => Promise<import("@azure/keyvault-secrets").KeyVaultSecret>;
|
|
12
|
-
};
|
|
13
|
-
};
|
|
14
|
-
export default _default;
|
package/lib/src/AzureVault.js
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { CertificateClient } from '@azure/keyvault-certificates';
|
|
2
|
-
import { KeyClient } from '@azure/keyvault-keys';
|
|
3
|
-
import { SecretClient } from '@azure/keyvault-secrets';
|
|
4
|
-
export default {
|
|
5
|
-
certificates: {
|
|
6
|
-
import: (name, cert, url, credentials) => {
|
|
7
|
-
const client = new CertificateClient(url, credentials);
|
|
8
|
-
return client.importCertificate(name, cert);
|
|
9
|
-
},
|
|
10
|
-
get: (name, url, credentials) => {
|
|
11
|
-
const client = new CertificateClient(url, credentials);
|
|
12
|
-
return client.getCertificate(name);
|
|
13
|
-
},
|
|
14
|
-
},
|
|
15
|
-
keys: {
|
|
16
|
-
get: (name, url, credentials) => {
|
|
17
|
-
const client = new KeyClient(url, credentials);
|
|
18
|
-
return client.getKey(name);
|
|
19
|
-
},
|
|
20
|
-
},
|
|
21
|
-
secrets: {
|
|
22
|
-
get: (name, url, credentials) => {
|
|
23
|
-
const client = new SecretClient(url, credentials);
|
|
24
|
-
return client.getSecret(name);
|
|
25
|
-
},
|
|
26
|
-
},
|
|
27
|
-
};
|
|
28
|
-
//# sourceMappingURL=AzureVault.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AzureVault.js","sourceRoot":"","sources":["../../src/AzureVault.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,eAAe;IAEb,YAAY,EAAE;QAEZ,MAAM,EAAE,CACN,IAAY,EACZ,IAAgB,EAChB,GAAW,EACX,WAA4D,EAC5D,EAAE;YAEF,MAAM,MAAM,GAAG,IAAI,iBAAiB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;YACvD,OAAO,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAE9C,CAAC;QAED,GAAG,EAAE,CAAC,IAAY,EAAE,GAAW,EAAE,WAA4D,EAAE,EAAE;YAE/F,MAAM,MAAM,GAAG,IAAI,iBAAiB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;YACvD,OAAO,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAErC,CAAC;KAEF;IAED,IAAI,EAAE;QACJ,GAAG,EAAE,CAAC,IAAY,EAAE,GAAW,EAAE,WAA4D,EAAE,EAAE;YAE/F,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;YAC/C,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAE7B,CAAC;KAEF;IAED,OAAO,EAAE;QACP,GAAG,EAAE,CAAC,IAAY,EAAE,GAAW,EAAE,WAA4D,EAAE,EAAE;YAE/F,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;YAClD,OAAO,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAEhC,CAAC;KACF;CAEF,CAAC"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { DnsManagementClient } from '@azure/arm-dns';
|
|
2
|
-
import { ClientSecretCredential, DefaultAzureCredential } from '@azure/identity';
|
|
3
|
-
export default class DnsSslChallenge {
|
|
4
|
-
company: string;
|
|
5
|
-
project: string;
|
|
6
|
-
subscriptionId: string;
|
|
7
|
-
resourceGroup: string;
|
|
8
|
-
credentials: ClientSecretCredential | DefaultAzureCredential;
|
|
9
|
-
client: DnsManagementClient;
|
|
10
|
-
dnsZone: string;
|
|
11
|
-
constructor(dnsZone: string, credentials: ClientSecretCredential | DefaultAzureCredential, resourceGroup: string, subscriptionId: string);
|
|
12
|
-
init(data: any): void;
|
|
13
|
-
get(data: any): void;
|
|
14
|
-
zones(): string[];
|
|
15
|
-
set(data: any): Promise<import("@azure/arm-dns").RecordSet>;
|
|
16
|
-
remove(data: any): Promise<void>;
|
|
17
|
-
}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { DnsManagementClient } from '@azure/arm-dns';
|
|
2
|
-
import logger from './logger.js';
|
|
3
|
-
export default class DnsSslChallenge {
|
|
4
|
-
constructor(dnsZone, credentials, resourceGroup, subscriptionId) {
|
|
5
|
-
this.credentials = credentials;
|
|
6
|
-
this.subscriptionId = subscriptionId;
|
|
7
|
-
this.dnsZone = dnsZone;
|
|
8
|
-
this.resourceGroup = resourceGroup;
|
|
9
|
-
}
|
|
10
|
-
init(data) {
|
|
11
|
-
logger.debug('CHALLENGE INIT');
|
|
12
|
-
logger.debug(data);
|
|
13
|
-
this.client = new DnsManagementClient(this.credentials, this.subscriptionId);
|
|
14
|
-
}
|
|
15
|
-
get(data) {
|
|
16
|
-
logger.debug('CHALLENGE GET');
|
|
17
|
-
logger.debug(data);
|
|
18
|
-
}
|
|
19
|
-
zones() {
|
|
20
|
-
return ['lilaquadrat.studio'];
|
|
21
|
-
}
|
|
22
|
-
set(data) {
|
|
23
|
-
logger.debug('CHALLENGE SET');
|
|
24
|
-
logger.debug(data);
|
|
25
|
-
return this.client.recordSets.createOrUpdate(this.resourceGroup, this.dnsZone, data.challenge.dnsHost.split('.')[0], 'TXT', {
|
|
26
|
-
ttl: 300,
|
|
27
|
-
fqdn: data.challenge.dnsHost,
|
|
28
|
-
txtRecords: [
|
|
29
|
-
{
|
|
30
|
-
value: [data.challenge.dnsAuthorization],
|
|
31
|
-
},
|
|
32
|
-
],
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
async remove(data) {
|
|
36
|
-
logger.debug('CHALLENGE REMOVED');
|
|
37
|
-
logger.debug(data);
|
|
38
|
-
return this.client.recordSets.delete(this.resourceGroup, this.dnsZone, data.challenge.dnsHost.split('.')[0], 'TXT');
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
//# sourceMappingURL=dns.challenge.class.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dns.challenge.class.js","sourceRoot":"","sources":["../../src/dns.challenge.class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,MAAM,CAAC,OAAO,OAAO,eAAe;IAgBlC,YACE,OAAe,EACf,WAA4D,EAC5D,aAAqB,EACrB,cAAsB;QAGtB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IAErC,CAAC;IAED,IAAI,CAAC,IAAI;QAEP,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAC/B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IAE/E,CAAC;IAED,GAAG,CAAC,IAAI;QAEN,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAC9B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAErB,CAAC;IAED,KAAK;QAEH,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAEhC,CAAC;IAED,GAAG,CAAC,IAAI;QAEN,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAC9B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAEnB,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,cAAc,CAC1C,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EACpC,KAAK,EACL;YACE,GAAG,EAAE,GAAG;YACR,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO;YAC5B,UAAU,EACV;gBACE;oBACE,KAAK,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC;iBACzC;aACF;SACF,CACF,CAAC;IAEJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAI;QAEf,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAClC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAEnB,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAEtH,CAAC;CAEF"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { ShareClientInterface } from '@lilaquadrat/interfaces';
|
|
2
|
-
export default class HttpSslChallenge {
|
|
3
|
-
company: string;
|
|
4
|
-
project: string;
|
|
5
|
-
shareClient: ShareClientInterface;
|
|
6
|
-
constructor(company: string, project: string, shareClient: ShareClientInterface);
|
|
7
|
-
init(data: any): void;
|
|
8
|
-
get(data: any): void;
|
|
9
|
-
/**
|
|
10
|
-
* create the key file in the right folders
|
|
11
|
-
*
|
|
12
|
-
* @param {*} data
|
|
13
|
-
* @memberof SslChallenge
|
|
14
|
-
*/
|
|
15
|
-
set(data: any): Promise<void>;
|
|
16
|
-
remove(data: any): Promise<boolean>;
|
|
17
|
-
/**
|
|
18
|
-
* create a folder string
|
|
19
|
-
*
|
|
20
|
-
* @param {string[]} [add]
|
|
21
|
-
* @returns
|
|
22
|
-
* @memberof SslChallenge
|
|
23
|
-
*/
|
|
24
|
-
getDirectory(add?: string[]): string;
|
|
25
|
-
/**
|
|
26
|
-
* creates .well-known/acme-challange if they not exists
|
|
27
|
-
*
|
|
28
|
-
* @param {ShareClient} shareClient
|
|
29
|
-
* @returns
|
|
30
|
-
* @memberof SslChallenge
|
|
31
|
-
*/
|
|
32
|
-
createDirectories(): Promise<void>;
|
|
33
|
-
}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import logger from './logger.js';
|
|
2
|
-
export default class HttpSslChallenge {
|
|
3
|
-
constructor(company, project, shareClient) {
|
|
4
|
-
this.company = company;
|
|
5
|
-
this.project = project;
|
|
6
|
-
this.shareClient = shareClient;
|
|
7
|
-
}
|
|
8
|
-
init(data) {
|
|
9
|
-
logger.debug('CHALLENGE INIT', data);
|
|
10
|
-
}
|
|
11
|
-
get(data) {
|
|
12
|
-
logger.debug('CHALLENGE GET', data);
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* create the key file in the right folders
|
|
16
|
-
*
|
|
17
|
-
* @param {*} data
|
|
18
|
-
* @memberof SslChallenge
|
|
19
|
-
*/
|
|
20
|
-
async set(data) {
|
|
21
|
-
const { token } = data.challenge;
|
|
22
|
-
const key = data.challenge.keyAuthorization;
|
|
23
|
-
await this.createDirectories();
|
|
24
|
-
await this.shareClient.create(`user/${this.getDirectory(['hosting', '.well-known', 'acme-challenge'])}`, token, key);
|
|
25
|
-
logger.debug('CHALLENGE SET', data);
|
|
26
|
-
}
|
|
27
|
-
async remove(data) {
|
|
28
|
-
await this.shareClient.remove(`user/${this.getDirectory(['hosting', '.well-known', 'acme-challenge'])}`, data.challenge.token);
|
|
29
|
-
logger.debug('CHALLENGE REMOVED', data);
|
|
30
|
-
return true;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* create a folder string
|
|
34
|
-
*
|
|
35
|
-
* @param {string[]} [add]
|
|
36
|
-
* @returns
|
|
37
|
-
* @memberof SslChallenge
|
|
38
|
-
*/
|
|
39
|
-
getDirectory(add) {
|
|
40
|
-
let pathArray = [this.company, this.project];
|
|
41
|
-
if (add)
|
|
42
|
-
pathArray = [...pathArray, ...add];
|
|
43
|
-
return `${pathArray.join('/')}`;
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* creates .well-known/acme-challange if they not exists
|
|
47
|
-
*
|
|
48
|
-
* @param {ShareClient} shareClient
|
|
49
|
-
* @returns
|
|
50
|
-
* @memberof SslChallenge
|
|
51
|
-
*/
|
|
52
|
-
async createDirectories() {
|
|
53
|
-
await this.shareClient.createFolder('user', this.getDirectory());
|
|
54
|
-
await this.shareClient.createFolder('user', this.getDirectory(['hosting', '.well-known']));
|
|
55
|
-
await this.shareClient.createFolder('user', this.getDirectory(['hosting', '.well-known', 'acme-challenge']));
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
//# sourceMappingURL=http.challenge.class.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"http.challenge.class.js","sourceRoot":"","sources":["../../src/http.challenge.class.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,MAAM,CAAC,OAAO,OAAO,gBAAgB;IAQnC,YAAY,OAAe,EAAE,OAAe,EAAE,WAAiC;QAE7E,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IAEjC,CAAC;IAED,IAAI,CAAC,IAAI;QAEP,MAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;IAEvC,CAAC;IAED,GAAG,CAAC,IAAI;QAEN,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;IAEtC,CAAC;IAED;;;;;SAKK;IACL,KAAK,CAAC,GAAG,CAAC,IAAI;QAEZ,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC;QAE5C,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/B,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,YAAY,CAAC,CAAC,SAAS,EAAE,aAAa,EAAE,gBAAgB,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QAErH,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;IAEtC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAI;QAEf,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,YAAY,CAAC,CAAC,SAAS,EAAE,aAAa,EAAE,gBAAgB,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAE/H,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC;IAEd,CAAC;IAED;;;;;;SAMK;IACL,YAAY,CAAC,GAAc;QAEzB,IAAI,SAAS,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAE7C,IAAI,GAAG;YAAE,SAAS,GAAG,CAAC,GAAG,SAAS,EAAE,GAAG,GAAG,CAAC,CAAC;QAE5C,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IAElC,CAAC;IAED;;;;;;SAMK;IACL,KAAK,CAAC,iBAAiB;QAErB,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QACjE,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;QAC3F,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,SAAS,EAAE,aAAa,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAE/G,CAAC;CAEF"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { ShareClientInterface } from '@lilaquadrat/interfaces';
|
|
2
|
-
export declare class HandleFileService {
|
|
3
|
-
client: ShareClientInterface;
|
|
4
|
-
constructor();
|
|
5
|
-
clean(company: string, project: string, folder?: string): Promise<boolean[]>;
|
|
6
|
-
add(company: string, project: string, data: Buffer, folder?: string): Promise<unknown>;
|
|
7
|
-
}
|
|
8
|
-
declare const _default: HandleFileService;
|
|
9
|
-
export default _default;
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import unzipper from 'unzipper';
|
|
2
|
-
import { Readable } from 'stream';
|
|
3
|
-
import mime from 'mime-types';
|
|
4
|
-
import { ShareClientFactory } from '../../main.js';
|
|
5
|
-
export class HandleFileService {
|
|
6
|
-
constructor() {
|
|
7
|
-
const connectionString = process.env.STORAGE_HOSTED;
|
|
8
|
-
this.client = ShareClientFactory('azureBlob', {
|
|
9
|
-
connectionString,
|
|
10
|
-
shareName: 'main',
|
|
11
|
-
accountName: process.env.STORAGE_ACCOUNT,
|
|
12
|
-
});
|
|
13
|
-
}
|
|
14
|
-
clean(company, project, folder = 'editor') {
|
|
15
|
-
return this.client.list(`${company}/${project}/${folder}`, /.(js|css|woff|map)$/i)
|
|
16
|
-
.then((files) => {
|
|
17
|
-
const cleanArray = [];
|
|
18
|
-
files.forEach((file) => {
|
|
19
|
-
cleanArray.push(this.client.remove(`${company}/${project}/${folder}`, file));
|
|
20
|
-
});
|
|
21
|
-
return Promise.all(cleanArray);
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
add(company, project, data, folder = 'editor') {
|
|
25
|
-
return new Promise((resolve, reject) => {
|
|
26
|
-
const readable = new Readable();
|
|
27
|
-
readable.push(data);
|
|
28
|
-
readable.push(null);
|
|
29
|
-
readable
|
|
30
|
-
.pipe(unzipper.Parse())
|
|
31
|
-
.on('entry', async (entry) => {
|
|
32
|
-
if (entry.type === 'Directory')
|
|
33
|
-
return entry.autodrain();
|
|
34
|
-
return this.client.create(`${company}/${project}/${folder}`, entry.path, await entry.buffer(), mime.lookup(entry.path))
|
|
35
|
-
.then(() => entry.autodrain())
|
|
36
|
-
.catch(() => entry.autodrain());
|
|
37
|
-
})
|
|
38
|
-
.on('close', () => {
|
|
39
|
-
resolve(true);
|
|
40
|
-
});
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
export default new HandleFileService();
|
|
45
|
-
//# sourceMappingURL=handleFile.service.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"handleFile.service.js","sourceRoot":"","sources":["../../../src/services/handleFile.service.ts"],"names":[],"mappings":"AAAA,OAAO,QAAmB,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,IAAI,MAAM,YAAY,CAAC;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAGnD,MAAM,OAAO,iBAAiB;IAI5B;QAEE,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,cAAwB,CAAC;QAE9D,IAAI,CAAC,MAAM,GAAG,kBAAkB,CAC9B,WAAW,EACX;YACE,gBAAgB;YAChB,SAAS,EAAE,MAAM;YACjB,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,eAAyB;SACnD,CACF,CAAC;IAEJ,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,OAAe,EAAE,MAAM,GAAG,QAAQ;QAEvD,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,IAAI,OAAO,IAAI,MAAM,EAAE,EAAE,sBAAsB,CAAC;aAC/E,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;YAEd,MAAM,UAAU,GAAuB,EAAE,CAAC;YAE1C,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBAErB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,OAAO,IAAI,OAAO,IAAI,MAAM,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;YAE/E,CAAC,CAAC,CAAC;YAEH,OAAO,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAEjC,CAAC,CAAC,CAAC;IAEP,CAAC;IAED,GAAG,CAAC,OAAe,EAAE,OAAe,EAAE,IAAY,EAAE,MAAM,GAAG,QAAQ;QAEnE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAErC,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;YAChC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEpB,QAAQ;iBACL,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;iBACtB,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,KAAY,EAAE,EAAE;gBAElC,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW;oBAAE,OAAO,KAAK,CAAC,SAAS,EAAE,CAAC;gBAEzD,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,OAAO,IAAI,OAAO,IAAI,MAAM,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,KAAK,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAW,CAAC;qBAC9H,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;qBAC7B,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;YAEpC,CAAC,CAAC;iBACD,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBAEhB,OAAO,CAAC,IAAI,CAAC,CAAC;YAEhB,CAAC,CAAC,CAAC;QAEP,CAAC,CAAC,CAAC;IAEL,CAAC;CAEF;AACD,eAAe,IAAI,iBAAiB,EAAE,CAAC"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import fs from 'fs';
|
|
2
|
-
import { BulkWriteResult, ObjectId, UnorderedBulkOperation } from 'mongodb';
|
|
3
|
-
import Immutable from '../Immutable.class.js';
|
|
4
|
-
import { Media, MediaStats, ListOfModels, Options, BasicData, History } from '@lilaquadrat/interfaces';
|
|
5
|
-
export declare class MediaService extends Immutable<Media> {
|
|
6
|
-
model: import("../classes/modelv2.class.js").default<import("@lilaquadrat/interfaces").Storage, string>;
|
|
7
|
-
getNewModel(company: string, project: string, app: string | undefined, appId: string | undefined, filename: string, originalname: string, mimetype: string, fromCompany?: string, fromProject?: string, file?: Buffer, stream?: fs.WriteStream): Promise<Media>;
|
|
8
|
-
/** creates/deletes folders based upon tags of files in the project */
|
|
9
|
-
refreshFolder(company: string, project: string): Promise<BulkWriteResult>;
|
|
10
|
-
get(company: string, project?: string, app?: string, query?: any, limit?: {
|
|
11
|
-
skip: number;
|
|
12
|
-
limit: number;
|
|
13
|
-
}): Promise<ListOfModels<Media>>;
|
|
14
|
-
getTags(company: string, project: string, search: string): Promise<string[]>;
|
|
15
|
-
getByInternalId(internalId: ObjectId, options: Required<Options>): Promise<import("mongodb").WithId<import("@lilaquadrat/interfaces").Storage> | null>;
|
|
16
|
-
single(company: string, project: string, filename: string): Promise<Media | null>;
|
|
17
|
-
content(company: string, project: string, id: ObjectId): Promise<Media | null>;
|
|
18
|
-
exists(company: string, project: string | undefined, filename: string): Promise<boolean>;
|
|
19
|
-
removeFromCdn(company: string, project: string, id: ObjectId): Promise<import("mongodb").DeleteResult>;
|
|
20
|
-
matchSortTags(documents: any[], search: RegExp | string, sort: string): string[];
|
|
21
|
-
stats(company: string, project: string): Promise<MediaStats>;
|
|
22
|
-
updateImportIds(importData: BasicData<Media>[], options: Required<Options>): Record<string, ObjectId>;
|
|
23
|
-
export(options: Options): Promise<import("mongodb").WithId<import("@lilaquadrat/interfaces").Storage>[]>;
|
|
24
|
-
exportFiles(options: Options): Promise<{
|
|
25
|
-
filename: string;
|
|
26
|
-
buffer: Buffer<ArrayBufferLike>;
|
|
27
|
-
}[]>;
|
|
28
|
-
import(importData: BasicData<Media>[], importHistoryData: BasicData<Media & History>[], idMapping: Record<string, ObjectId>, bulkHistory: UnorderedBulkOperation, options: Required<Options>): Promise<{
|
|
29
|
-
filteredData: BasicData<Media>[];
|
|
30
|
-
skippedData: BasicData<Media>[];
|
|
31
|
-
bulk: UnorderedBulkOperation;
|
|
32
|
-
}>;
|
|
33
|
-
}
|
|
34
|
-
declare const _default: MediaService;
|
|
35
|
-
export default _default;
|