prostgles-server 2.0.206 → 2.0.207

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.
@@ -1,8 +1,11 @@
1
1
  /// <reference types="node" />
2
+ /// <reference types="node" />
2
3
  import { S3 } from 'aws-sdk';
4
+ import * as stream from 'stream';
3
5
  import { DB, DBHandlerServer, Prostgles } from './Prostgles';
4
6
  import { ALLOWED_CONTENT_TYPE, ALLOWED_EXTENSION, ValidatedColumnInfo } from 'prostgles-types';
5
7
  export declare const asSQLIdentifier: (name: string, db: DB) => Promise<string>;
8
+ declare type OnProgress = (progress: S3.ManagedUpload.Progress) => void;
6
9
  export declare type ImageOptions = {
7
10
  keepMetadata?: boolean;
8
11
  compression?:
@@ -74,7 +77,8 @@ export default class FileManager {
74
77
  mime: string | ALLOWED_CONTENT_TYPE;
75
78
  ext: string | ALLOWED_EXTENSION;
76
79
  }>;
77
- upload(file: Buffer | string, name: string, mime: string, onProgress?: (progress: S3.ManagedUpload.Progress) => void): Promise<UploadedItem>;
80
+ uploadStream: (name: string, mime: string, onProgress?: OnProgress) => stream.PassThrough;
81
+ private upload;
78
82
  uploadAsMedia: (params: {
79
83
  item: UploadItem;
80
84
  allowedExtensions?: Array<ALLOWED_EXTENSION>;
@@ -97,6 +101,7 @@ export declare const getFileType: (file: Buffer | string, fileName: string) => P
97
101
  mime: ALLOWED_CONTENT_TYPE;
98
102
  ext: ALLOWED_EXTENSION;
99
103
  }>;
104
+ export {};
100
105
  /**
101
106
  *
102
107
 
@@ -1 +1 @@
1
- {"version":3,"file":"FileManager.d.ts","sourceRoot":"","sources":["../lib/FileManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FileManager.d.ts","sourceRoot":"","sources":["../lib/FileManager.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.getFileType = exports.getFileTypeFromFilename = exports.asSQLIdentifier = void 0;
5
5
  const aws_sdk_1 = require("aws-sdk");
6
6
  const fs = require("fs");
7
+ const stream = require("stream");
7
8
  const sharp = require("sharp");
8
9
  const prostgles_types_1 = require("prostgles-types");
9
10
  const DboBuilder_1 = require("./DboBuilder");
@@ -15,6 +16,29 @@ exports.asSQLIdentifier = asSQLIdentifier;
15
16
  const aws_sdk_2 = require("aws-sdk");
16
17
  class FileManager {
17
18
  constructor(config, imageOptions) {
19
+ // async getUploadURL(fileName: string): Promise<string> {
20
+ // const thisHour = new Date();
21
+ // thisHour.setMilliseconds(0);
22
+ // thisHour.setSeconds(0);
23
+ // thisHour.setMinutes(0);
24
+ // const now = Date.now();
25
+ // const HOUR = 60 * 60;
26
+ // const params = {
27
+ // Bucket: this.config.bucket,
28
+ // Key: fileName,
29
+ // Expires: Math.round(((now - (+thisHour))/1000 + 2 * HOUR )), // one hour
30
+ // ACL: "bucket-owner-full-control",
31
+ // ContentType: "image/png",
32
+ // };
33
+ // return await this.s3Client.getSignedUrlPromise("putObject", params)
34
+ // }
35
+ this.uploadStream = (name, mime, onProgress) => {
36
+ if (!this.s3Client)
37
+ throw new Error("S3 config missing. Can only upload streams to S3");
38
+ const pass = new stream.PassThrough();
39
+ this.upload(pass, name, mime, onProgress);
40
+ return pass;
41
+ };
18
42
  this.uploadAsMedia = async (params) => {
19
43
  const { item, imageOptions } = params;
20
44
  const { name, data, content_type } = item;
@@ -368,26 +392,10 @@ class FileManager {
368
392
  throw `File MIME type not found for the provided extension: ${result?.ext}`;
369
393
  return result;
370
394
  }
371
- // async getUploadURL(fileName: string): Promise<string> {
372
- // const thisHour = new Date();
373
- // thisHour.setMilliseconds(0);
374
- // thisHour.setSeconds(0);
375
- // thisHour.setMinutes(0);
376
- // const now = Date.now();
377
- // const HOUR = 60 * 60;
378
- // const params = {
379
- // Bucket: this.config.bucket,
380
- // Key: fileName,
381
- // Expires: Math.round(((now - (+thisHour))/1000 + 2 * HOUR )), // one hour
382
- // ACL: "bucket-owner-full-control",
383
- // ContentType: "image/png",
384
- // };
385
- // return await this.s3Client.getSignedUrlPromise("putObject", params)
386
- // }
387
395
  async upload(file, name, mime, onProgress) {
388
396
  return new Promise(async (resolve, reject) => {
389
397
  if (!file) {
390
- throw "No file. Expecting: Buffer | String";
398
+ throw "No file. Expecting: Buffer | String | stream";
391
399
  }
392
400
  if (!name) {
393
401
  throw "No name. Expecting: String";
@@ -395,6 +403,9 @@ class FileManager {
395
403
  // let type = await this.getMIME(file, name, allowedExtensions);
396
404
  const url = `${this.fileRoute}/${name}`;
397
405
  if (!this.s3Client) {
406
+ if (file instanceof stream.PassThrough) {
407
+ throw new Error("S3 config missing. Can only upload streams to S3");
408
+ }
398
409
  const config = this.config;
399
410
  try {
400
411
  await fs.promises.mkdir(config.localFolderPath, { recursive: true });
@@ -1 +1 @@
1
- {"version":3,"file":"FileManager.js","sourceRoot":"","sources":["../lib/FileManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FileManager.js","sourceRoot":"","sources":["../lib/FileManager.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,11 @@
1
1
  /// <reference types="node" />
2
+ /// <reference types="node" />
2
3
  import { S3 } from 'aws-sdk';
4
+ import * as stream from 'stream';
3
5
  import { DB, DBHandlerServer, Prostgles } from './Prostgles';
4
6
  import { ALLOWED_CONTENT_TYPE, ALLOWED_EXTENSION, ValidatedColumnInfo } from 'prostgles-types';
5
7
  export declare const asSQLIdentifier: (name: string, db: DB) => Promise<string>;
8
+ declare type OnProgress = (progress: S3.ManagedUpload.Progress) => void;
6
9
  export declare type ImageOptions = {
7
10
  keepMetadata?: boolean;
8
11
  compression?:
@@ -74,7 +77,8 @@ export default class FileManager {
74
77
  mime: string | ALLOWED_CONTENT_TYPE;
75
78
  ext: string | ALLOWED_EXTENSION;
76
79
  }>;
77
- upload(file: Buffer | string, name: string, mime: string, onProgress?: (progress: S3.ManagedUpload.Progress) => void): Promise<UploadedItem>;
80
+ uploadStream: (name: string, mime: string, onProgress?: OnProgress) => stream.PassThrough;
81
+ private upload;
78
82
  uploadAsMedia: (params: {
79
83
  item: UploadItem;
80
84
  allowedExtensions?: Array<ALLOWED_EXTENSION>;
@@ -97,6 +101,7 @@ export declare const getFileType: (file: Buffer | string, fileName: string) => P
97
101
  mime: ALLOWED_CONTENT_TYPE;
98
102
  ext: ALLOWED_EXTENSION;
99
103
  }>;
104
+ export {};
100
105
  /**
101
106
  *
102
107
 
@@ -1 +1 @@
1
- {"version":3,"file":"FileManager.d.ts","sourceRoot":"","sources":["FileManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FileManager.d.ts","sourceRoot":"","sources":["FileManager.ts"],"names":[],"mappings":"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"}
@@ -30,6 +30,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
30
30
  exports.getFileType = exports.getFileTypeFromFilename = exports.asSQLIdentifier = void 0;
31
31
  const aws_sdk_1 = require("aws-sdk");
32
32
  const fs = __importStar(require("fs"));
33
+ const stream = __importStar(require("stream"));
33
34
  const sharp = __importStar(require("sharp"));
34
35
  const prostgles_types_1 = require("prostgles-types");
35
36
  const DboBuilder_1 = require("./DboBuilder");
@@ -41,6 +42,29 @@ exports.asSQLIdentifier = asSQLIdentifier;
41
42
  const aws_sdk_2 = __importDefault(require("aws-sdk"));
42
43
  class FileManager {
43
44
  constructor(config, imageOptions) {
45
+ // async getUploadURL(fileName: string): Promise<string> {
46
+ // const thisHour = new Date();
47
+ // thisHour.setMilliseconds(0);
48
+ // thisHour.setSeconds(0);
49
+ // thisHour.setMinutes(0);
50
+ // const now = Date.now();
51
+ // const HOUR = 60 * 60;
52
+ // const params = {
53
+ // Bucket: this.config.bucket,
54
+ // Key: fileName,
55
+ // Expires: Math.round(((now - (+thisHour))/1000 + 2 * HOUR )), // one hour
56
+ // ACL: "bucket-owner-full-control",
57
+ // ContentType: "image/png",
58
+ // };
59
+ // return await this.s3Client.getSignedUrlPromise("putObject", params)
60
+ // }
61
+ this.uploadStream = (name, mime, onProgress) => {
62
+ if (!this.s3Client)
63
+ throw new Error("S3 config missing. Can only upload streams to S3");
64
+ const pass = new stream.PassThrough();
65
+ this.upload(pass, name, mime, onProgress);
66
+ return pass;
67
+ };
44
68
  this.uploadAsMedia = async (params) => {
45
69
  const { item, imageOptions } = params;
46
70
  const { name, data, content_type } = item;
@@ -394,26 +418,10 @@ class FileManager {
394
418
  throw `File MIME type not found for the provided extension: ${result?.ext}`;
395
419
  return result;
396
420
  }
397
- // async getUploadURL(fileName: string): Promise<string> {
398
- // const thisHour = new Date();
399
- // thisHour.setMilliseconds(0);
400
- // thisHour.setSeconds(0);
401
- // thisHour.setMinutes(0);
402
- // const now = Date.now();
403
- // const HOUR = 60 * 60;
404
- // const params = {
405
- // Bucket: this.config.bucket,
406
- // Key: fileName,
407
- // Expires: Math.round(((now - (+thisHour))/1000 + 2 * HOUR )), // one hour
408
- // ACL: "bucket-owner-full-control",
409
- // ContentType: "image/png",
410
- // };
411
- // return await this.s3Client.getSignedUrlPromise("putObject", params)
412
- // }
413
421
  async upload(file, name, mime, onProgress) {
414
422
  return new Promise(async (resolve, reject) => {
415
423
  if (!file) {
416
- throw "No file. Expecting: Buffer | String";
424
+ throw "No file. Expecting: Buffer | String | stream";
417
425
  }
418
426
  if (!name) {
419
427
  throw "No name. Expecting: String";
@@ -421,6 +429,9 @@ class FileManager {
421
429
  // let type = await this.getMIME(file, name, allowedExtensions);
422
430
  const url = `${this.fileRoute}/${name}`;
423
431
  if (!this.s3Client) {
432
+ if (file instanceof stream.PassThrough) {
433
+ throw new Error("S3 config missing. Can only upload streams to S3");
434
+ }
424
435
  const config = this.config;
425
436
  try {
426
437
  await fs.promises.mkdir(config.localFolderPath, { recursive: true });
@@ -2,6 +2,7 @@
2
2
  import { S3, IAM } from 'aws-sdk';
3
3
  import { ManagedUpload } from 'aws-sdk/clients/s3';
4
4
  import * as fs from 'fs';
5
+ import * as stream from 'stream';
5
6
 
6
7
  import * as sharp from "sharp";
7
8
 
@@ -15,6 +16,8 @@ export const asSQLIdentifier = async (name: string, db: DB): Promise<string> =>
15
16
  return (await db.one("select format('%I', $1) as name", [name]))?.name
16
17
  }
17
18
 
19
+ type OnProgress = (progress: S3.ManagedUpload.Progress) => void
20
+
18
21
  export type ImageOptions = {
19
22
  keepMetadata?: boolean;
20
23
  compression?:
@@ -61,6 +64,7 @@ export type UploadedItem = {
61
64
  s3_url?: string;
62
65
  };
63
66
  import AWS from 'aws-sdk';
67
+ import internal from "stream";
64
68
  export default class FileManager {
65
69
 
66
70
  static testCredentials = async (accessKeyId: string, secretAccessKey: string) => {
@@ -220,16 +224,30 @@ export default class FileManager {
220
224
  // return await this.s3Client.getSignedUrlPromise("putObject", params)
221
225
  // }
222
226
 
223
- async upload(
224
- file: Buffer | string,
227
+ uploadStream = (
225
228
  name: string,
226
229
  mime: string,
227
- onProgress?: (progress: S3.ManagedUpload.Progress) => void
230
+ onProgress?: OnProgress
231
+ ) => {
232
+ if(!this.s3Client) throw new Error("S3 config missing. Can only upload streams to S3");
233
+
234
+ const pass = new stream.PassThrough();
235
+
236
+ this.upload(pass, name, mime, onProgress)
237
+
238
+ return pass;
239
+ }
240
+
241
+ private async upload(
242
+ file: Buffer | string | stream.PassThrough,
243
+ name: string,
244
+ mime: string,
245
+ onProgress?: OnProgress
228
246
  ): Promise<UploadedItem> {
229
247
 
230
248
  return new Promise(async (resolve, reject) => {
231
249
  if(!file){
232
- throw "No file. Expecting: Buffer | String";
250
+ throw "No file. Expecting: Buffer | String | stream";
233
251
  }
234
252
  if(!name){
235
253
  throw "No name. Expecting: String";
@@ -238,6 +256,9 @@ export default class FileManager {
238
256
  // let type = await this.getMIME(file, name, allowedExtensions);
239
257
  const url = `${this.fileRoute}/${name}`;
240
258
  if(!this.s3Client){
259
+ if(file instanceof stream.PassThrough){
260
+ throw new Error("S3 config missing. Can only upload streams to S3");
261
+ }
241
262
  const config = this.config as LocalConfig;
242
263
  try {
243
264
  await fs.promises.mkdir(config.localFolderPath, { recursive: true });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prostgles-server",
3
- "version": "2.0.206",
3
+ "version": "2.0.207",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1 +1 @@
1
- 14652
1
+ 10441
@@ -21,7 +21,7 @@
21
21
  },
22
22
  "../..": {
23
23
  "name": "prostgles-server",
24
- "version": "2.0.205",
24
+ "version": "2.0.206",
25
25
  "license": "MIT",
26
26
  "dependencies": {
27
27
  "@aws-sdk/client-s3": "^3.121.0",