pangea-server 3.3.33 → 3.3.34

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.
@@ -16,7 +16,7 @@ function initDatabase(models, seeds, config = {}) {
16
16
  username: (0, helpers_1.getEnvStr)('DB_USERNAME'),
17
17
  password: (0, helpers_1.getEnvStr)('DB_PASSWORD'),
18
18
  database: (0, helpers_1.getEnvStr)('DB_DATABASE'),
19
- pool: { max: 5, min: 0, acquire: 30000, idle: 9999999 },
19
+ pool: { max: 10, min: 2, idle: 30000, acquire: 60000 },
20
20
  models: Object.values(models),
21
21
  logging: config.logging ? logQuery : false,
22
22
  benchmark: true,
@@ -5,4 +5,12 @@ export declare function uploadVideo(file: MulterFile, previousFile: PreviousFile
5
5
  export declare function uploadVideos(files: MulterFile[], ...folders: string[]): Promise<string[]>;
6
6
  export declare function deleteFile(filename: string): Promise<void>;
7
7
  export declare function deleteFiles(filenames: string[]): Promise<void[]>;
8
+ export declare function generateUploadUrl(contentType: string, ...folders: string[]): Promise<{
9
+ url: string;
10
+ key: string;
11
+ }>;
12
+ export declare function generateUploadUrls(contentTypes: string[], ...folders: string[]): Promise<{
13
+ url: string;
14
+ key: string;
15
+ }[]>;
8
16
  export {};
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.deleteFiles = exports.deleteFile = exports.uploadVideos = exports.uploadVideo = exports.uploadImages = exports.uploadImage = void 0;
6
+ exports.generateUploadUrls = exports.generateUploadUrl = exports.deleteFiles = exports.deleteFile = exports.uploadVideos = exports.uploadVideo = exports.uploadImages = exports.uploadImage = void 0;
7
7
  const path_1 = __importDefault(require("path"));
8
8
  const promises_1 = __importDefault(require("fs/promises"));
9
9
  const fs_1 = __importDefault(require("fs"));
@@ -72,13 +72,30 @@ function deleteFiles(filenames) {
72
72
  return Promise.all(filenames.map((filename) => deleteFile(filename)));
73
73
  }
74
74
  exports.deleteFiles = deleteFiles;
75
+ async function generateUploadUrl(contentType, ...folders) {
76
+ const key = `${folders.join('/')}/${(0, random_helpers_1.getRandomString)('short')}`;
77
+ const params = {
78
+ Bucket: bucketName,
79
+ Key: key,
80
+ ContentType: contentType,
81
+ ACL: 'public-read',
82
+ Expires: 60,
83
+ };
84
+ const url = await s3.getSignedUrlPromise('putObject', params);
85
+ return { url, key };
86
+ }
87
+ exports.generateUploadUrl = generateUploadUrl;
88
+ async function generateUploadUrls(contentTypes, ...folders) {
89
+ return Promise.all(contentTypes.map((contentType) => generateUploadUrl(contentType, ...folders)));
90
+ }
91
+ exports.generateUploadUrls = generateUploadUrls;
75
92
  // internal functions
76
93
  async function uploadFile(body, contentType, ...folders) {
77
94
  const params = {
78
95
  Bucket: bucketName,
79
96
  Key: `${folders.join('/')}/${(0, random_helpers_1.getRandomString)('short')}`,
80
- Body: body,
81
97
  ContentType: contentType,
98
+ Body: body,
82
99
  ACL: 'public-read',
83
100
  };
84
101
  const res = await s3.upload(params).promise();
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "pangea-server",
3
3
  "description": "",
4
- "version": "3.3.33",
4
+ "version": "3.3.34",
5
5
  "files": [
6
6
  "dist"
7
7
  ],