@abtnode/core 1.8.69-beta-b0bb2d67 → 1.8.69-beta-76f8a46f
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/api/team.js +2 -2
- package/lib/blocklet/downloader/resolve-download.js +31 -0
- package/lib/blocklet/manager/base.js +8 -16
- package/lib/blocklet/manager/disk.js +367 -1659
- package/lib/blocklet/manager/helper/{install-from-backup.js → install-application-from-backup.js} +26 -19
- package/lib/blocklet/manager/helper/install-application-from-dev.js +94 -0
- package/lib/blocklet/manager/helper/install-application-from-general.js +188 -0
- package/lib/blocklet/manager/helper/install-component-from-dev.js +80 -0
- package/lib/blocklet/manager/helper/install-component-from-upload.js +181 -0
- package/lib/blocklet/manager/helper/install-component-from-url.js +173 -0
- package/lib/blocklet/manager/helper/migrate-application-to-struct-v2.js +377 -0
- package/lib/blocklet/manager/helper/upgrade-components.js +152 -0
- package/lib/blocklet/storage/backup/spaces.js +14 -14
- package/lib/index.js +7 -7
- package/lib/router/helper.js +5 -7
- package/lib/states/blocklet-extras.js +44 -0
- package/lib/states/blocklet.js +56 -4
- package/lib/states/node.js +1 -0
- package/lib/states/site.js +15 -6
- package/lib/team/manager.js +5 -0
- package/lib/util/blocklet.js +177 -132
- package/lib/util/get-domain-for-blocklet.js +5 -14
- package/lib/util/get-meta-from-url.js +33 -0
- package/lib/util/index.js +0 -5
- package/lib/util/store.js +44 -6
- package/lib/webhook/sender/wallet/index.js +3 -0
- package/package.json +26 -26
package/lib/api/team.js
CHANGED
|
@@ -933,9 +933,9 @@ class TeamAPI extends EventEmitter {
|
|
|
933
933
|
throw new Error(`Blocklet registry already exist: ${sanitized}`);
|
|
934
934
|
}
|
|
935
935
|
|
|
936
|
-
await StoreUtil.
|
|
936
|
+
await StoreUtil.validateStoreUrl(sanitized);
|
|
937
937
|
|
|
938
|
-
const store = await StoreUtil.
|
|
938
|
+
const store = await StoreUtil.getStoreMeta(sanitized);
|
|
939
939
|
|
|
940
940
|
storeList.push({ ...store, url: sanitized, protected: false });
|
|
941
941
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
const path = require('path');
|
|
2
2
|
const fs = require('fs-extra');
|
|
3
|
+
const { Throttle } = require('stream-throttle');
|
|
3
4
|
|
|
4
5
|
const validateBlockletEntry = require('@blocklet/meta/lib/entry');
|
|
5
6
|
const { BLOCKLET_BUNDLE_FOLDER } = require('@blocklet/constant');
|
|
@@ -162,7 +163,37 @@ const resolveDiffDownload = async (
|
|
|
162
163
|
}
|
|
163
164
|
};
|
|
164
165
|
|
|
166
|
+
/**
|
|
167
|
+
* const { filename, mimetype, encoding, createReadStream } = await uploader;
|
|
168
|
+
*/
|
|
169
|
+
const downloadFromUpload = async (uploader, { downloadDir, logger = defaultLogger } = {}) => {
|
|
170
|
+
const cwd = downloadDir;
|
|
171
|
+
const { filename, createReadStream } = await uploader;
|
|
172
|
+
const tarFile = path.join(cwd, `${path.basename(filename, path.extname(filename))}.tgz`);
|
|
173
|
+
await fs.ensureDir(cwd);
|
|
174
|
+
await new Promise((resolve, reject) => {
|
|
175
|
+
const readStream = createReadStream();
|
|
176
|
+
const writeStream = fs.createWriteStream(tarFile);
|
|
177
|
+
readStream
|
|
178
|
+
.pipe(new Throttle({ rate: 1024 * 1024 * 20 })) // 20MB
|
|
179
|
+
.pipe(writeStream);
|
|
180
|
+
readStream.on('error', (error) => {
|
|
181
|
+
logger.error('File upload read stream failed', { error });
|
|
182
|
+
writeStream.destroy(new Error(`File upload read stream failed, ${error.message}`));
|
|
183
|
+
});
|
|
184
|
+
writeStream.on('error', (error) => {
|
|
185
|
+
logger.error('File upload write stream failed', { error });
|
|
186
|
+
fs.removeSync(tarFile);
|
|
187
|
+
reject(error);
|
|
188
|
+
});
|
|
189
|
+
writeStream.on('finish', resolve);
|
|
190
|
+
});
|
|
191
|
+
|
|
192
|
+
return { tarFile };
|
|
193
|
+
};
|
|
194
|
+
|
|
165
195
|
module.exports = {
|
|
166
196
|
resolveDownload,
|
|
167
197
|
resolveDiffDownload,
|
|
198
|
+
downloadFromUpload,
|
|
168
199
|
};
|
|
@@ -16,31 +16,31 @@ class BaseBlockletManager extends EventEmitter {
|
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
-
async install(
|
|
19
|
+
async install() {
|
|
20
20
|
throw new Error('Install must be implemented in sub class');
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
async start(
|
|
23
|
+
async start() {
|
|
24
24
|
throw new Error('Install must be implemented in sub class');
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
-
async stop(
|
|
27
|
+
async stop() {
|
|
28
28
|
throw new Error('Stop must be implemented in sub class');
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
-
async restart(
|
|
31
|
+
async restart() {
|
|
32
32
|
throw new Error('Restart must be implemented in sub class');
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
-
async reload(
|
|
35
|
+
async reload() {
|
|
36
36
|
throw new Error('Reload must be implemented in sub class');
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
-
async delete(
|
|
39
|
+
async delete() {
|
|
40
40
|
throw new Error('Delete must be implemented in sub class');
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
async detail(
|
|
43
|
+
async detail() {
|
|
44
44
|
throw new Error('Detail must be implemented in sub class');
|
|
45
45
|
}
|
|
46
46
|
|
|
@@ -48,17 +48,9 @@ class BaseBlockletManager extends EventEmitter {
|
|
|
48
48
|
throw new Error('List must be implemented in sub class');
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
-
async config(
|
|
51
|
+
async config() {
|
|
52
52
|
throw new Error('Config must be implemented in sub class');
|
|
53
53
|
}
|
|
54
|
-
|
|
55
|
-
async upgrade(did, version) {
|
|
56
|
-
throw new Error('Upgrade must be implemented in sub class');
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
async deploy(folder) {
|
|
60
|
-
throw new Error('Deploy must be implemented in sub class');
|
|
61
|
-
}
|
|
62
54
|
}
|
|
63
55
|
|
|
64
56
|
module.exports = BaseBlockletManager;
|