@things-factory/attachment-base 4.3.23 → 4.3.24
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.
|
@@ -18,14 +18,11 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
18
18
|
__setModuleDefault(result, mod);
|
|
19
19
|
return result;
|
|
20
20
|
};
|
|
21
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
22
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
|
-
};
|
|
24
21
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
22
|
const fs = __importStar(require("fs"));
|
|
26
23
|
const mkdirp = __importStar(require("mkdirp"));
|
|
27
24
|
const path_1 = require("path");
|
|
28
|
-
const
|
|
25
|
+
const uuid_1 = require("uuid");
|
|
29
26
|
const env_1 = require("@things-factory/env");
|
|
30
27
|
const attachment_const_1 = require("./attachment-const");
|
|
31
28
|
const send = require('koa-send');
|
|
@@ -33,7 +30,7 @@ if (attachment_const_1.STORAGE && attachment_const_1.STORAGE.type == 'file') {
|
|
|
33
30
|
const uploadDir = env_1.config.getPath(null, attachment_const_1.STORAGE.base || 'attachments');
|
|
34
31
|
attachment_const_1.STORAGE.uploadFile = ({ stream, filename }) => {
|
|
35
32
|
mkdirp.sync(uploadDir);
|
|
36
|
-
const id = (0,
|
|
33
|
+
const id = (0, uuid_1.v4)();
|
|
37
34
|
const ext = filename.split('.').pop();
|
|
38
35
|
const path = ext ? (0, path_1.resolve)(uploadDir, `${id}.${ext}`) : (0, path_1.resolve)(uploadDir, id);
|
|
39
36
|
const relativePath = path.split('\\').pop().split('/').pop();
|
|
@@ -62,7 +59,7 @@ if (attachment_const_1.STORAGE && attachment_const_1.STORAGE.type == 'file') {
|
|
|
62
59
|
return fs.readFileSync(fullpath, encoding);
|
|
63
60
|
};
|
|
64
61
|
attachment_const_1.STORAGE.generateUploadURL = async (type) => {
|
|
65
|
-
const id = (0,
|
|
62
|
+
const id = (0, uuid_1.v4)();
|
|
66
63
|
return await {
|
|
67
64
|
url: `/${attachment_const_1.ATTACHMENT_PATH}`,
|
|
68
65
|
fields: {}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage-file.js","sourceRoot":"","sources":["../server/storage-file.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"storage-file.js","sourceRoot":"","sources":["../server/storage-file.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const
|
|
3
|
+
const uuid_1 = require("uuid");
|
|
7
4
|
const client_s3_1 = require("@aws-sdk/client-s3");
|
|
8
5
|
const lib_storage_1 = require("@aws-sdk/lib-storage");
|
|
9
6
|
const s3_presigned_post_1 = require("@aws-sdk/s3-presigned-post");
|
|
@@ -27,7 +24,7 @@ if (attachment_const_1.STORAGE && attachment_const_1.STORAGE.type == 's3') {
|
|
|
27
24
|
});
|
|
28
25
|
/* upload file */
|
|
29
26
|
attachment_const_1.STORAGE.uploadFile = async ({ stream, filename }) => {
|
|
30
|
-
const id = (0,
|
|
27
|
+
const id = (0, uuid_1.v4)();
|
|
31
28
|
const ext = filename.split('.').pop();
|
|
32
29
|
const key = ext ? `${id}.${ext}` : id;
|
|
33
30
|
var size = 0;
|
|
@@ -89,7 +86,7 @@ if (attachment_const_1.STORAGE && attachment_const_1.STORAGE.type == 's3') {
|
|
|
89
86
|
};
|
|
90
87
|
attachment_const_1.STORAGE.generateUploadURL = async (type) => {
|
|
91
88
|
const expiresInMinutes = 1;
|
|
92
|
-
const id = (0,
|
|
89
|
+
const id = (0, uuid_1.v4)();
|
|
93
90
|
return await (0, s3_presigned_post_1.createPresignedPost)(client, {
|
|
94
91
|
Bucket: attachment_const_1.STORAGE.bucketName,
|
|
95
92
|
Key: id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage-s3.js","sourceRoot":"","sources":["../server/storage-s3.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"storage-s3.js","sourceRoot":"","sources":["../server/storage-s3.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@things-factory/attachment-base",
|
|
3
|
-
"version": "4.3.
|
|
3
|
+
"version": "4.3.24",
|
|
4
4
|
"main": "dist-server/index.js",
|
|
5
5
|
"browser": "client/index.js",
|
|
6
6
|
"things-factory": true,
|
|
@@ -28,11 +28,11 @@
|
|
|
28
28
|
"@aws-sdk/lib-storage": "^3.46.0",
|
|
29
29
|
"@aws-sdk/s3-presigned-post": "^3.46.0",
|
|
30
30
|
"@koa/multer": "^3.0.0",
|
|
31
|
-
"@things-factory/auth-base": "^4.3.
|
|
31
|
+
"@things-factory/auth-base": "^4.3.24",
|
|
32
32
|
"@things-factory/env": "^4.3.23",
|
|
33
33
|
"memfs": "^3.0.1",
|
|
34
34
|
"mime": "^2.4.4",
|
|
35
35
|
"multer": "^1.3.0"
|
|
36
36
|
},
|
|
37
|
-
"gitHead": "
|
|
37
|
+
"gitHead": "43ba20d3476c8604e94f6a6b0bd7e84b6ec1bfd8"
|
|
38
38
|
}
|
package/server/storage-file.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as fs from 'fs'
|
|
2
2
|
import * as mkdirp from 'mkdirp'
|
|
3
3
|
import { resolve } from 'path'
|
|
4
|
-
import
|
|
4
|
+
import { v4 as uuidv4 } from 'uuid'
|
|
5
5
|
|
|
6
6
|
import { config, logger } from '@things-factory/env'
|
|
7
7
|
|
|
@@ -15,7 +15,7 @@ if (STORAGE && STORAGE.type == 'file') {
|
|
|
15
15
|
STORAGE.uploadFile = ({ stream, filename }) => {
|
|
16
16
|
mkdirp.sync(uploadDir)
|
|
17
17
|
|
|
18
|
-
const id =
|
|
18
|
+
const id = uuidv4()
|
|
19
19
|
const ext = filename.split('.').pop()
|
|
20
20
|
const path = ext ? resolve(uploadDir, `${id}.${ext}`) : resolve(uploadDir, id)
|
|
21
21
|
const relativePath = path.split('\\').pop().split('/').pop()
|
|
@@ -53,7 +53,7 @@ if (STORAGE && STORAGE.type == 'file') {
|
|
|
53
53
|
}
|
|
54
54
|
|
|
55
55
|
STORAGE.generateUploadURL = async (type: string): Promise<{ url: string; fields: { [key: string]: string } }> => {
|
|
56
|
-
const id =
|
|
56
|
+
const id = uuidv4()
|
|
57
57
|
|
|
58
58
|
return await {
|
|
59
59
|
url: `/${ATTACHMENT_PATH}`,
|
package/server/storage-s3.ts
CHANGED
|
@@ -1,12 +1,7 @@
|
|
|
1
1
|
import type { Readable } from 'stream'
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
import {
|
|
5
|
-
DeleteObjectCommand,
|
|
6
|
-
GetObjectCommand,
|
|
7
|
-
GetObjectCommandInput,
|
|
8
|
-
S3Client
|
|
9
|
-
} from '@aws-sdk/client-s3'
|
|
2
|
+
import { v4 as uuidv4 } from 'uuid'
|
|
3
|
+
|
|
4
|
+
import { DeleteObjectCommand, GetObjectCommand, GetObjectCommandInput, S3Client } from '@aws-sdk/client-s3'
|
|
10
5
|
import { Upload } from '@aws-sdk/lib-storage'
|
|
11
6
|
import { createPresignedPost } from '@aws-sdk/s3-presigned-post'
|
|
12
7
|
import { logger } from '@things-factory/env'
|
|
@@ -35,7 +30,7 @@ if (STORAGE && STORAGE.type == 's3') {
|
|
|
35
30
|
|
|
36
31
|
/* upload file */
|
|
37
32
|
STORAGE.uploadFile = async ({ stream, filename }) => {
|
|
38
|
-
const id =
|
|
33
|
+
const id = uuidv4()
|
|
39
34
|
const ext = filename.split('.').pop()
|
|
40
35
|
const key = ext ? `${id}.${ext}` : id
|
|
41
36
|
var size: number = 0
|
|
@@ -112,7 +107,7 @@ if (STORAGE && STORAGE.type == 's3') {
|
|
|
112
107
|
|
|
113
108
|
STORAGE.generateUploadURL = async (type: string): Promise<{ url: string; fields: { [key: string]: string } }> => {
|
|
114
109
|
const expiresInMinutes = 1
|
|
115
|
-
const id =
|
|
110
|
+
const id = uuidv4()
|
|
116
111
|
|
|
117
112
|
return await createPresignedPost(client, {
|
|
118
113
|
Bucket: STORAGE.bucketName,
|