nuudel-main 1.0.74 → 1.0.76
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/build/main/lib/common/helpers.d.ts +1 -0
- package/build/main/lib/controller/aws-s3.d.ts +2 -2
- package/build/main/lib/controller/aws-s3.js +56 -30
- package/build/module/lib/common/helpers.d.ts +1 -0
- package/build/module/lib/controller/aws-s3.d.ts +2 -2
- package/build/module/lib/controller/aws-s3.js +54 -29
- package/package.json +2 -2
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
1
2
|
export declare const encBase64: (data: string, encoding?: BufferEncoding) => string;
|
|
2
3
|
export declare const decBase64: (data: string, encoding?: string) => string;
|
|
3
4
|
export declare const checkHash: (hash: string, divider?: number, length?: number) => boolean;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare function push(
|
|
2
|
-
export declare function remove(filename: string): Promise<
|
|
1
|
+
export declare function push(filename: string, encoding: string, mimetype: string, toWidth?: number): Promise<string>;
|
|
2
|
+
export declare function remove(filename: string): Promise<import("@aws-sdk/client-s3").DeleteObjectCommandOutput>;
|
|
@@ -5,22 +5,23 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.remove = exports.push = void 0;
|
|
7
7
|
const fs_1 = __importDefault(require("fs"));
|
|
8
|
-
const
|
|
8
|
+
const client_s3_1 = require("@aws-sdk/client-s3");
|
|
9
9
|
const upload_1 = require("./upload");
|
|
10
10
|
const imageResize_1 = require("./imageResize");
|
|
11
|
-
const { DOMAIN, OBJECT_STORAGE_KEY_ID, OBJECT_STORAGE_SECRET, NEXT_PUBLIC_IMAGE_UPLOAD_URL, NEXT_PUBLIC_OBJECT_STORAGE_BUCKET, AWS_DEFAULT_REGION = 'us-east-1', } = process.env;
|
|
12
|
-
let s3 = new
|
|
13
|
-
endpoint: `https://${NEXT_PUBLIC_IMAGE_UPLOAD_URL
|
|
11
|
+
const { DOMAIN, OBJECT_STORAGE_KEY_ID, OBJECT_STORAGE_SECRET, NEXT_PUBLIC_IMAGE_UPLOAD_URL = 'nyc3.digitaloceanspaces.com', NEXT_PUBLIC_OBJECT_STORAGE_BUCKET, AWS_DEFAULT_REGION = 'us-east-1', } = process === null || process === void 0 ? void 0 : process.env;
|
|
12
|
+
let s3 = new client_s3_1.S3({
|
|
13
|
+
endpoint: `https://${NEXT_PUBLIC_IMAGE_UPLOAD_URL}`,
|
|
14
14
|
region: AWS_DEFAULT_REGION,
|
|
15
15
|
credentials: {
|
|
16
16
|
accessKeyId: OBJECT_STORAGE_KEY_ID,
|
|
17
17
|
secretAccessKey: OBJECT_STORAGE_SECRET,
|
|
18
18
|
},
|
|
19
|
-
|
|
19
|
+
forcePathStyle: false,
|
|
20
20
|
});
|
|
21
|
-
async function push(
|
|
21
|
+
async function push(filename, encoding, mimetype, toWidth) {
|
|
22
22
|
return new Promise(async (resolve, reject) => {
|
|
23
|
-
|
|
23
|
+
var _a;
|
|
24
|
+
let filepath = upload_1.folder + filename;
|
|
24
25
|
if (!fs_1.default.existsSync(filepath)) {
|
|
25
26
|
reject('File ' + filepath + ' does not exist');
|
|
26
27
|
}
|
|
@@ -31,44 +32,69 @@ async function push(path, encoding, mimetype, toWidth) {
|
|
|
31
32
|
catch (ex) {
|
|
32
33
|
fileContent = fs_1.default.readFileSync(filepath);
|
|
33
34
|
}
|
|
35
|
+
const path = DOMAIN +
|
|
36
|
+
'/' +
|
|
37
|
+
new Date().getFullYear().toString() +
|
|
38
|
+
'/' +
|
|
39
|
+
(new Date().getMonth() + 1).toString().padStart(2, '0') +
|
|
40
|
+
'/';
|
|
34
41
|
const params = {
|
|
35
42
|
Bucket: NEXT_PUBLIC_OBJECT_STORAGE_BUCKET,
|
|
36
|
-
Key:
|
|
37
|
-
'/' +
|
|
38
|
-
new Date().getFullYear().toString() +
|
|
39
|
-
'/' +
|
|
40
|
-
(new Date().getMonth() + 1).toString().padStart(2, '0') +
|
|
41
|
-
'/' +
|
|
42
|
-
path,
|
|
43
|
+
Key: path + filename,
|
|
43
44
|
Body: fileContent,
|
|
44
45
|
ContentEncoding: encoding,
|
|
45
46
|
ContentType: mimetype,
|
|
46
|
-
ACL: '
|
|
47
|
+
ACL: !(NEXT_PUBLIC_IMAGE_UPLOAD_URL === null || NEXT_PUBLIC_IMAGE_UPLOAD_URL === void 0 ? void 0 : NEXT_PUBLIC_IMAGE_UPLOAD_URL.includes('.nyc3.digitaloceanspaces.com'))
|
|
48
|
+
? undefined
|
|
49
|
+
: 'public-read',
|
|
47
50
|
};
|
|
48
51
|
try {
|
|
49
|
-
s3.
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
52
|
+
const data = await s3.send(new client_s3_1.PutObjectCommand(params));
|
|
53
|
+
if (!data) {
|
|
54
|
+
return reject('');
|
|
55
|
+
}
|
|
56
|
+
let url = replaceSpace(`https://${NEXT_PUBLIC_OBJECT_STORAGE_BUCKET}.${NEXT_PUBLIC_IMAGE_UPLOAD_URL}/${path}${encodeURIComponent(filename)}`);
|
|
57
|
+
console.log(`File uploaded successfully ${(_a = data === null || data === void 0 ? void 0 : data.$metadata) === null || _a === void 0 ? void 0 : _a.requestId}: ${url}`);
|
|
58
|
+
resolve(url);
|
|
56
59
|
}
|
|
57
60
|
catch (err) {
|
|
58
|
-
console.log(`PutObject
|
|
61
|
+
console.log(`PutObject ====>`, err);
|
|
59
62
|
return reject('');
|
|
60
63
|
}
|
|
61
64
|
});
|
|
62
65
|
}
|
|
63
66
|
exports.push = push;
|
|
64
67
|
async function remove(filename) {
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
68
|
+
if (!filename) {
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
let path = filename.split('/');
|
|
72
|
+
let name = path.pop();
|
|
73
|
+
filename =
|
|
74
|
+
path.join('/') + '/' + decodeURIComponent(replaceSpace(name, true));
|
|
75
|
+
const params = new client_s3_1.DeleteObjectCommand({
|
|
76
|
+
Bucket: NEXT_PUBLIC_OBJECT_STORAGE_BUCKET,
|
|
77
|
+
Key: filename,
|
|
71
78
|
});
|
|
79
|
+
try {
|
|
80
|
+
const data = await s3.send(params);
|
|
81
|
+
console.log('Success. Object deleted.', data);
|
|
82
|
+
return data;
|
|
83
|
+
}
|
|
84
|
+
catch (err) {
|
|
85
|
+
console.log('Error', err);
|
|
86
|
+
}
|
|
72
87
|
}
|
|
73
88
|
exports.remove = remove;
|
|
74
|
-
|
|
89
|
+
function replaceSpace(name, reverse = false) {
|
|
90
|
+
if (!(NEXT_PUBLIC_IMAGE_UPLOAD_URL === null || NEXT_PUBLIC_IMAGE_UPLOAD_URL === void 0 ? void 0 : NEXT_PUBLIC_IMAGE_UPLOAD_URL.includes('.amazonaws.com'))) {
|
|
91
|
+
return name;
|
|
92
|
+
}
|
|
93
|
+
name = !reverse ? name.replace(/%20/g, '+') : name.replace(/+/g, '%20');
|
|
94
|
+
if (!reverse &&
|
|
95
|
+
(NEXT_PUBLIC_IMAGE_UPLOAD_URL === null || NEXT_PUBLIC_IMAGE_UPLOAD_URL === void 0 ? void 0 : NEXT_PUBLIC_IMAGE_UPLOAD_URL.includes('.nyc3.digitaloceanspaces.com'))) {
|
|
96
|
+
name = name.replace('.nyc3.digitaloceanspaces.com', '.nyc3.cdn.digitaloceanspaces.com');
|
|
97
|
+
}
|
|
98
|
+
return name;
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLXMzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jb250cm9sbGVyL2F3cy1zMy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSw0Q0FBb0I7QUFDcEIsa0RBTTRCO0FBQzVCLHFDQUFrQztBQUNsQywrQ0FBNEM7QUFFNUMsTUFBTSxFQUNKLE1BQU0sRUFDTixxQkFBcUIsRUFDckIscUJBQXFCLEVBQ3JCLDRCQUE0QixHQUFHLDZCQUE2QixFQUM1RCxpQ0FBaUMsRUFDakMsa0JBQWtCLEdBQUcsV0FBVyxHQUNqQyxHQUFHLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxHQUFHLENBQUM7QUFFakIsSUFBSSxFQUFFLEdBQU8sSUFBSSxjQUFFLENBQUM7SUFDbEIsUUFBUSxFQUFFLFdBQVcsNEJBQTRCLEVBQUU7SUFDbkQsTUFBTSxFQUFFLGtCQUFrQjtJQUUxQixXQUFXLEVBQUU7UUFDWCxXQUFXLEVBQUUscUJBQXFCO1FBQ2xDLGVBQWUsRUFBRSxxQkFBcUI7S0FDdkM7SUFDRCxjQUFjLEVBQUUsS0FBSztDQUN0QixDQUFDLENBQUM7QUFFSSxLQUFLLFVBQVUsSUFBSSxDQUN4QixRQUFnQixFQUNoQixRQUFnQixFQUNoQixRQUFnQixFQUNoQixPQUFnQjtJQUVoQixPQUFPLElBQUksT0FBTyxDQUFTLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7O1FBQ25ELElBQUksUUFBUSxHQUFXLGVBQU0sR0FBRyxRQUFRLENBQUM7UUFDekMsSUFBSSxDQUFDLFlBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDNUIsTUFBTSxDQUFDLE9BQU8sR0FBRyxRQUFRLEdBQUcsaUJBQWlCLENBQUMsQ0FBQztTQUNoRDtRQUdELElBQUksV0FBVyxHQUFXLFNBQVMsQ0FBQztRQUVwQyxJQUFJO1lBQ0YsV0FBVyxHQUFHLE1BQU0sSUFBQSx5QkFBVyxFQUFDLFFBQVEs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
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
1
2
|
export declare const encBase64: (data: string, encoding?: BufferEncoding) => string;
|
|
2
3
|
export declare const decBase64: (data: string, encoding?: string) => string;
|
|
3
4
|
export declare const checkHash: (hash: string, divider?: number, length?: number) => boolean;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare function push(
|
|
2
|
-
export declare function remove(filename: string): Promise<
|
|
1
|
+
export declare function push(filename: string, encoding: string, mimetype: string, toWidth?: number): Promise<string>;
|
|
2
|
+
export declare function remove(filename: string): Promise<import("@aws-sdk/client-s3").DeleteObjectCommandOutput>;
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import fs from 'fs';
|
|
2
|
-
import S3 from 'aws-sdk/
|
|
2
|
+
import { PutObjectCommand, DeleteObjectCommand, S3, } from '@aws-sdk/client-s3';
|
|
3
3
|
import { folder } from './upload';
|
|
4
4
|
import { imageResize } from './imageResize';
|
|
5
|
-
const { DOMAIN, OBJECT_STORAGE_KEY_ID, OBJECT_STORAGE_SECRET, NEXT_PUBLIC_IMAGE_UPLOAD_URL, NEXT_PUBLIC_OBJECT_STORAGE_BUCKET, AWS_DEFAULT_REGION = 'us-east-1', } = process
|
|
5
|
+
const { DOMAIN, OBJECT_STORAGE_KEY_ID, OBJECT_STORAGE_SECRET, NEXT_PUBLIC_IMAGE_UPLOAD_URL = 'nyc3.digitaloceanspaces.com', NEXT_PUBLIC_OBJECT_STORAGE_BUCKET, AWS_DEFAULT_REGION = 'us-east-1', } = process?.env;
|
|
6
6
|
let s3 = new S3({
|
|
7
|
-
endpoint: `https://${NEXT_PUBLIC_IMAGE_UPLOAD_URL
|
|
7
|
+
endpoint: `https://${NEXT_PUBLIC_IMAGE_UPLOAD_URL}`,
|
|
8
8
|
region: AWS_DEFAULT_REGION,
|
|
9
9
|
credentials: {
|
|
10
10
|
accessKeyId: OBJECT_STORAGE_KEY_ID,
|
|
11
11
|
secretAccessKey: OBJECT_STORAGE_SECRET,
|
|
12
12
|
},
|
|
13
|
-
|
|
13
|
+
forcePathStyle: false,
|
|
14
14
|
});
|
|
15
|
-
export async function push(
|
|
15
|
+
export async function push(filename, encoding, mimetype, toWidth) {
|
|
16
16
|
return new Promise(async (resolve, reject) => {
|
|
17
|
-
let filepath = folder +
|
|
17
|
+
let filepath = folder + filename;
|
|
18
18
|
if (!fs.existsSync(filepath)) {
|
|
19
19
|
reject('File ' + filepath + ' does not exist');
|
|
20
20
|
}
|
|
@@ -25,42 +25,67 @@ export async function push(path, encoding, mimetype, toWidth) {
|
|
|
25
25
|
catch (ex) {
|
|
26
26
|
fileContent = fs.readFileSync(filepath);
|
|
27
27
|
}
|
|
28
|
+
const path = DOMAIN +
|
|
29
|
+
'/' +
|
|
30
|
+
new Date().getFullYear().toString() +
|
|
31
|
+
'/' +
|
|
32
|
+
(new Date().getMonth() + 1).toString().padStart(2, '0') +
|
|
33
|
+
'/';
|
|
28
34
|
const params = {
|
|
29
35
|
Bucket: NEXT_PUBLIC_OBJECT_STORAGE_BUCKET,
|
|
30
|
-
Key:
|
|
31
|
-
'/' +
|
|
32
|
-
new Date().getFullYear().toString() +
|
|
33
|
-
'/' +
|
|
34
|
-
(new Date().getMonth() + 1).toString().padStart(2, '0') +
|
|
35
|
-
'/' +
|
|
36
|
-
path,
|
|
36
|
+
Key: path + filename,
|
|
37
37
|
Body: fileContent,
|
|
38
38
|
ContentEncoding: encoding,
|
|
39
39
|
ContentType: mimetype,
|
|
40
|
-
ACL: '
|
|
40
|
+
ACL: !NEXT_PUBLIC_IMAGE_UPLOAD_URL?.includes('.nyc3.digitaloceanspaces.com')
|
|
41
|
+
? undefined
|
|
42
|
+
: 'public-read',
|
|
41
43
|
};
|
|
42
44
|
try {
|
|
43
|
-
s3.
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
45
|
+
const data = await s3.send(new PutObjectCommand(params));
|
|
46
|
+
if (!data) {
|
|
47
|
+
return reject('');
|
|
48
|
+
}
|
|
49
|
+
let url = replaceSpace(`https://${NEXT_PUBLIC_OBJECT_STORAGE_BUCKET}.${NEXT_PUBLIC_IMAGE_UPLOAD_URL}/${path}${encodeURIComponent(filename)}`);
|
|
50
|
+
console.log(`File uploaded successfully ${data?.$metadata?.requestId}: ${url}`);
|
|
51
|
+
resolve(url);
|
|
50
52
|
}
|
|
51
53
|
catch (err) {
|
|
52
|
-
console.log(`PutObject
|
|
54
|
+
console.log(`PutObject ====>`, err);
|
|
53
55
|
return reject('');
|
|
54
56
|
}
|
|
55
57
|
});
|
|
56
58
|
}
|
|
57
59
|
export async function remove(filename) {
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
60
|
+
if (!filename) {
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
let path = filename.split('/');
|
|
64
|
+
let name = path.pop();
|
|
65
|
+
filename =
|
|
66
|
+
path.join('/') + '/' + decodeURIComponent(replaceSpace(name, true));
|
|
67
|
+
const params = new DeleteObjectCommand({
|
|
68
|
+
Bucket: NEXT_PUBLIC_OBJECT_STORAGE_BUCKET,
|
|
69
|
+
Key: filename,
|
|
64
70
|
});
|
|
71
|
+
try {
|
|
72
|
+
const data = await s3.send(params);
|
|
73
|
+
console.log('Success. Object deleted.', data);
|
|
74
|
+
return data;
|
|
75
|
+
}
|
|
76
|
+
catch (err) {
|
|
77
|
+
console.log('Error', err);
|
|
78
|
+
}
|
|
65
79
|
}
|
|
66
|
-
|
|
80
|
+
function replaceSpace(name, reverse = false) {
|
|
81
|
+
if (!NEXT_PUBLIC_IMAGE_UPLOAD_URL?.includes('.amazonaws.com')) {
|
|
82
|
+
return name;
|
|
83
|
+
}
|
|
84
|
+
name = !reverse ? name.replace(/%20/g, '+') : name.replace(/+/g, '%20');
|
|
85
|
+
if (!reverse &&
|
|
86
|
+
NEXT_PUBLIC_IMAGE_UPLOAD_URL?.includes('.nyc3.digitaloceanspaces.com')) {
|
|
87
|
+
name = name.replace('.nyc3.digitaloceanspaces.com', '.nyc3.cdn.digitaloceanspaces.com');
|
|
88
|
+
}
|
|
89
|
+
return name;
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLXMzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jb250cm9sbGVyL2F3cy1zMy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDcEIsT0FBTyxFQUNMLGdCQUFnQixFQUVoQixtQkFBbUIsRUFFbkIsRUFBRSxHQUNILE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNsQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTVDLE1BQU0sRUFDSixNQUFNLEVBQ04scUJBQXFCLEVBQ3JCLHFCQUFxQixFQUNyQiw0QkFBNEIsR0FBRyw2QkFBNkIsRUFDNUQsaUNBQWlDLEVBQ2pDLGtCQUFrQixHQUFHLFdBQVcsR0FDakMsR0FBRyxPQUFPLEVBQUUsR0FBRyxDQUFDO0FBRWpCLElBQUksRUFBRSxHQUFPLElBQUksRUFBRSxDQUFDO0lBQ2xCLFFBQVEsRUFBRSxXQUFXLDRCQUE0QixFQUFFO0lBQ25ELE1BQU0sRUFBRSxrQkFBa0I7SUFFMUIsV0FBVyxFQUFFO1FBQ1gsV0FBVyxFQUFFLHFCQUFxQjtRQUNsQyxlQUFlLEVBQUUscUJBQXFCO0tBQ3ZDO0lBQ0QsY0FBYyxFQUFFLEtBQUs7Q0FDdEIsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLEtBQUssVUFBVSxJQUFJLENBQ3hCLFFBQWdCLEVBQ2hCLFFBQWdCLEVBQ2hCLFFBQWdCLEVBQ2hCLE9BQWdCO0lBRWhCLE9BQU8sSUFBSSxPQUFPLENBQVMsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtRQUNuRCxJQUFJLFFBQVEsR0FBVyxNQUFNLEdBQUcsUUFBUSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQzVCLE1BQU0sQ0FBQyxPQUFPLEdBQUcsUUFBUSxHQUFHLGlCQUFpQixDQUFDLENBQUM7U0FDaEQ7UUFHRCxJQUFJLFdBQVcsR0FBVyxTQUFTLENBQUM7UUFFcEMsSUFBSTtZQUNGLFdBQVcsR0FBRyxNQUFNLFdBQVcsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7U0FDcEQ7UUFBQyxPQUFPLEVBQUUsRUFBRTtZQUNYLFdBQVcsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ3pDO1FBRUQsTUFBTSxJQUFJLEdBQ1IsTUFBTTtZQUNOLEdBQUc7WUFDSCxJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsRUFBRTtZQUNuQyxHQUFHO1lBQ0gsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDO1lBQ3ZELEdBQUcsQ0FBQztRQUVOLE1BQU0sTUFBTSxHQUEwQjtZQUNwQyxNQUFNLEVBQUUsaUNBQWlDO1lBQ3pDLEdBQUcsRUFBRSxJQUFJLEdBQUcsUUFBUTtZQUNwQixJQUFJLEVBQUUsV0FBVztZQUNqQixlQUFlLEVBQUUsUUFBUTtZQUN6QixXQUFXLEVBQUUsUUFBUTtZQUNyQixHQUFHLEVBQUUsQ0FBQyw0QkFBNEIsRUFBRSxRQUFRLENBQzFDLDhCQUE4QixDQUMvQjtnQkFDQyxDQUFDLENBQUMsU0FBUztnQkFDWCxDQUFDLENBQUMsYUFBYTtTQUNsQixDQUFDO1FBR0YsSUFBSTtZQUNGLE1BQU0sSUFBSSxHQUFHLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDekQsSUFBSSxDQUFDLElBQUksRUFBRTtnQkFDVCxPQUFPLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUNuQjtZQUNELElBQUksR0FBRyxHQUFXLFlBQVksQ0FDNUIsV0FBVyxpQ0FBaUMsSUFBSSw0QkFBNEIsSUFBSSxJQUFJLEdBQUcsa0JBQWtCLENBQ3ZHLFFBQVEsQ0FDVCxFQUFFLENBQ0osQ0FBQztZQUNGLE9BQU8sQ0FBQyxHQUFHLENBQ1QsOEJBQThCLElBQUksRUFBRSxTQUFTLEVBQUUsU0FBUyxLQUFLLEdBQUcsRUFBRSxDQUNuRSxDQUFDO1lBQ0YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ2Q7UUFBQyxPQUFPLEdBQUcsRUFBRTtZQUNaLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDcEMsT0FBTyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDbkI7SUFDSCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxNQUFNLENBQUMsS0FBSyxVQUFVLE1BQU0sQ0FBQyxRQUFnQjtJQUMzQyxJQUFJLENBQUMsUUFBUSxFQUFFO1FBQ2IsT0FBTztLQUNSO0lBQ0QsSUFBSSxJQUFJLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvQixJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDdEIsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxHQUFHLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN0RSxNQUFNLE1BQU0sR0FBRyxJQUFJLG1CQUFtQixDQUFDO1FBQ3JDLE1BQU0sRUFBRSxpQ0FBaUM7UUFDekMsR0FBRyxFQUFFLFFBQVE7S0FDZCxDQUFDLENBQUM7SUFDSCxJQUFJO1FBQ0YsTUFBTSxJQUFJLEdBQUcsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25DLE9BQU8sQ0FBQyxHQUFHLENBQUMsMEJBQTBCLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDOUMsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUFDLE9BQU8sR0FBRyxFQUFFO1FBQ1osT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUM7S0FDM0I7QUFDSCxDQUFDO0FBRUQsU0FBUyxZQUFZLENBQUMsSUFBSSxFQUFFLFVBQW1CLEtBQUs7SUFDbEQsSUFBSSxDQUFDLDRCQUE0QixFQUFFLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFO1FBQzdELE9BQU8sSUFBSSxDQUFDO0tBQ2I7SUFDRCxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN4RSxJQUNFLENBQUMsT0FBTztRQUNSLDRCQUE0QixFQUFFLFFBQVEsQ0FBQyw4QkFBOEIsQ0FBQyxFQUN0RTtRQUNBLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUNqQiw4QkFBOEIsRUFDOUIsa0NBQWtDLENBQ25DLENBQUM7S0FDSDtJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyJ9
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nuudel-main",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.76",
|
|
4
4
|
"description": "main module for nodejs of nuudel",
|
|
5
5
|
"main": "build/main/index.js",
|
|
6
6
|
"typings": "build/main/index.d.ts",
|
|
@@ -48,9 +48,9 @@
|
|
|
48
48
|
"node": ">=10"
|
|
49
49
|
},
|
|
50
50
|
"dependencies": {
|
|
51
|
+
"@aws-sdk/client-s3": "^3.315.0",
|
|
51
52
|
"@aws-sdk/client-ses": "^3.53.0",
|
|
52
53
|
"apn": "^2.2.0",
|
|
53
|
-
"aws-sdk": "^2.1083.0",
|
|
54
54
|
"bcryptjs": "^2.4.3",
|
|
55
55
|
"fastify": "3.23.1",
|
|
56
56
|
"fastify-plugin": "^3.0.1",
|