prostgles-server 2.0.196 → 2.0.197
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/dist/FileManager.d.ts +2 -0
- package/dist/FileManager.d.ts.map +1 -1
- package/dist/FileManager.js +23 -6
- package/dist/FileManager.js.map +1 -1
- package/lib/FileManager.d.ts +2 -0
- package/lib/FileManager.d.ts.map +1 -1
- package/lib/FileManager.js +26 -6
- package/lib/FileManager.ts +25 -10
- package/package.json +5 -5
- package/tests/client/PID.txt +1 -1
- package/tests/client/package-lock.json +7 -7
- package/tests/client/package.json +1 -1
- package/tests/server/package-lock.json +9 -9
package/dist/FileManager.d.ts
CHANGED
|
@@ -51,7 +51,9 @@ export declare type UploadedItem = {
|
|
|
51
51
|
*/
|
|
52
52
|
s3_url?: string;
|
|
53
53
|
};
|
|
54
|
+
import AWS from 'aws-sdk';
|
|
54
55
|
export default class FileManager {
|
|
56
|
+
static testCredentials: (accessKeyId: string, secretAccessKey: string) => Promise<import("aws-sdk/lib/request").PromiseResult<AWS.STS.GetCallerIdentityResponse, AWS.AWSError>>;
|
|
55
57
|
s3Client?: S3;
|
|
56
58
|
config: S3Config | LocalConfig;
|
|
57
59
|
imageOptions?: ImageOptions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileManager.d.ts","sourceRoot":"","sources":["../lib/FileManager.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"FileManager.d.ts","sourceRoot":"","sources":["../lib/FileManager.ts"],"names":[],"mappings":"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"}
|
package/dist/FileManager.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var _a;
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.getFileType = exports.getFileTypeFromFilename = exports.asSQLIdentifier = void 0;
|
|
4
5
|
const aws_sdk_1 = require("aws-sdk");
|
|
@@ -11,6 +12,7 @@ const asSQLIdentifier = async (name, db) => {
|
|
|
11
12
|
return (await db.one("select format('%I', $1) as name", [name]))?.name;
|
|
12
13
|
};
|
|
13
14
|
exports.asSQLIdentifier = asSQLIdentifier;
|
|
15
|
+
const aws_sdk_2 = require("aws-sdk");
|
|
14
16
|
class FileManager {
|
|
15
17
|
constructor(config, imageOptions) {
|
|
16
18
|
this.uploadAsMedia = async (params) => {
|
|
@@ -287,7 +289,7 @@ class FileManager {
|
|
|
287
289
|
if (!config)
|
|
288
290
|
throw new Error("File table config missing");
|
|
289
291
|
const buffer = typeof file === "string" ? Buffer.from(file, 'utf8') : file;
|
|
290
|
-
|
|
292
|
+
let result = await (0, exports.getFileTypeFromFilename)(fileName);
|
|
291
293
|
if (tableName && colName) {
|
|
292
294
|
const tableConfig = config.referencedTables?.[tableName];
|
|
293
295
|
if (tableConfig && (0, prostgles_types_1.isObject)(tableConfig) && tableConfig.referenceColumns[colName]) {
|
|
@@ -298,7 +300,8 @@ class FileManager {
|
|
|
298
300
|
throw new Error(`Provided file is larger than the ${colConfig.maxFileSizeMB}MB limit`);
|
|
299
301
|
}
|
|
300
302
|
}
|
|
301
|
-
if ("acceptedContent" in colConfig && colConfig.acceptedContent) {
|
|
303
|
+
if ("acceptedContent" in colConfig && colConfig.acceptedContent && colConfig.acceptedContent !== "*") {
|
|
304
|
+
const mime = await (0, exports.getFileType)(buffer, fileName);
|
|
302
305
|
const CONTENTS = [
|
|
303
306
|
"image",
|
|
304
307
|
"audio",
|
|
@@ -311,13 +314,15 @@ class FileManager {
|
|
|
311
314
|
throw new Error(`Dissallowed content type provided: ${mime.mime.split("/")[0]}. Allowed content types: ${allowedContent} `);
|
|
312
315
|
}
|
|
313
316
|
}
|
|
314
|
-
else if ("acceptedContentType" in colConfig && colConfig.acceptedContentType) {
|
|
317
|
+
else if ("acceptedContentType" in colConfig && colConfig.acceptedContentType && colConfig.acceptedContentType !== "*") {
|
|
318
|
+
const mime = await (0, exports.getFileType)(buffer, fileName);
|
|
315
319
|
const allowedContentTypes = DboBuilder_1.ViewHandler._parseFieldFilter(colConfig.acceptedContentType, false, (0, prostgles_types_1.getKeys)(prostgles_types_1.CONTENT_TYPE_TO_EXT));
|
|
316
320
|
if (!allowedContentTypes.some(c => c === mime.mime)) {
|
|
317
321
|
throw new Error(`Dissallowed MIME provided: ${mime.mime}. Allowed MIME values: ${allowedContentTypes} `);
|
|
318
322
|
}
|
|
319
323
|
}
|
|
320
|
-
else if ("acceptedFileTypes" in colConfig && colConfig.acceptedFileTypes) {
|
|
324
|
+
else if ("acceptedFileTypes" in colConfig && colConfig.acceptedFileTypes && colConfig.acceptedFileTypes !== "*") {
|
|
325
|
+
const mime = await (0, exports.getFileType)(buffer, fileName);
|
|
321
326
|
const allowedExtensions = DboBuilder_1.ViewHandler._parseFieldFilter(colConfig.acceptedFileTypes, false, Object.values(prostgles_types_1.CONTENT_TYPE_TO_EXT).flat());
|
|
322
327
|
if (!allowedExtensions.some(c => c === mime.ext)) {
|
|
323
328
|
throw new Error(`Dissallowed extension provided: ${mime.ext}. Allowed extension values: ${allowedExtensions} `);
|
|
@@ -325,7 +330,9 @@ class FileManager {
|
|
|
325
330
|
}
|
|
326
331
|
}
|
|
327
332
|
}
|
|
328
|
-
|
|
333
|
+
if (!result?.mime)
|
|
334
|
+
throw `File MIME type not found for the provided extension: ${result?.ext}`;
|
|
335
|
+
return result;
|
|
329
336
|
}
|
|
330
337
|
// async getUploadURL(fileName: string): Promise<string> {
|
|
331
338
|
// const thisHour = new Date();
|
|
@@ -410,6 +417,16 @@ class FileManager {
|
|
|
410
417
|
}
|
|
411
418
|
}
|
|
412
419
|
exports.default = FileManager;
|
|
420
|
+
_a = FileManager;
|
|
421
|
+
FileManager.testCredentials = async (accessKeyId, secretAccessKey) => {
|
|
422
|
+
const sts = new aws_sdk_2.default.STS();
|
|
423
|
+
aws_sdk_2.default.config.credentials = {
|
|
424
|
+
accessKeyId,
|
|
425
|
+
secretAccessKey
|
|
426
|
+
};
|
|
427
|
+
const ident = await sts.getCallerIdentity({}).promise();
|
|
428
|
+
return ident;
|
|
429
|
+
};
|
|
413
430
|
const getFileTypeFromFilename = (fileName) => {
|
|
414
431
|
const nameParts = fileName.split(".");
|
|
415
432
|
if (nameParts.length < 2)
|
|
@@ -434,7 +451,7 @@ const getFileType = async (file, fileName) => {
|
|
|
434
451
|
if (!res) {
|
|
435
452
|
/* Set correct/missing extension */
|
|
436
453
|
const nameExt = fileNameMime?.ext;
|
|
437
|
-
if (["xml", "txt", "csv", "tsv", "svg"].includes(nameExt) && fileNameMime.mime) {
|
|
454
|
+
if (["xml", "txt", "csv", "tsv", "svg", "sql"].includes(nameExt) && fileNameMime.mime) {
|
|
438
455
|
return fileNameMime;
|
|
439
456
|
}
|
|
440
457
|
throw new Error("Could not get the file type from file buffer");
|
package/dist/FileManager.js.map
CHANGED
|
@@ -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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"}
|
package/lib/FileManager.d.ts
CHANGED
|
@@ -51,7 +51,9 @@ export declare type UploadedItem = {
|
|
|
51
51
|
*/
|
|
52
52
|
s3_url?: string;
|
|
53
53
|
};
|
|
54
|
+
import AWS from 'aws-sdk';
|
|
54
55
|
export default class FileManager {
|
|
56
|
+
static testCredentials: (accessKeyId: string, secretAccessKey: string) => Promise<import("aws-sdk/lib/request").PromiseResult<AWS.STS.GetCallerIdentityResponse, AWS.AWSError>>;
|
|
55
57
|
s3Client?: S3;
|
|
56
58
|
config: S3Config | LocalConfig;
|
|
57
59
|
imageOptions?: ImageOptions;
|
package/lib/FileManager.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileManager.d.ts","sourceRoot":"","sources":["FileManager.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"FileManager.d.ts","sourceRoot":"","sources":["FileManager.ts"],"names":[],"mappings":"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"}
|
package/lib/FileManager.js
CHANGED
|
@@ -22,6 +22,10 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
22
22
|
__setModuleDefault(result, mod);
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
var _a;
|
|
25
29
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
30
|
exports.getFileType = exports.getFileTypeFromFilename = exports.asSQLIdentifier = void 0;
|
|
27
31
|
const aws_sdk_1 = require("aws-sdk");
|
|
@@ -34,6 +38,7 @@ const asSQLIdentifier = async (name, db) => {
|
|
|
34
38
|
return (await db.one("select format('%I', $1) as name", [name]))?.name;
|
|
35
39
|
};
|
|
36
40
|
exports.asSQLIdentifier = asSQLIdentifier;
|
|
41
|
+
const aws_sdk_2 = __importDefault(require("aws-sdk"));
|
|
37
42
|
class FileManager {
|
|
38
43
|
constructor(config, imageOptions) {
|
|
39
44
|
this.uploadAsMedia = async (params) => {
|
|
@@ -310,7 +315,7 @@ class FileManager {
|
|
|
310
315
|
if (!config)
|
|
311
316
|
throw new Error("File table config missing");
|
|
312
317
|
const buffer = typeof file === "string" ? Buffer.from(file, 'utf8') : file;
|
|
313
|
-
|
|
318
|
+
let result = await (0, exports.getFileTypeFromFilename)(fileName);
|
|
314
319
|
if (tableName && colName) {
|
|
315
320
|
const tableConfig = config.referencedTables?.[tableName];
|
|
316
321
|
if (tableConfig && (0, prostgles_types_1.isObject)(tableConfig) && tableConfig.referenceColumns[colName]) {
|
|
@@ -321,7 +326,8 @@ class FileManager {
|
|
|
321
326
|
throw new Error(`Provided file is larger than the ${colConfig.maxFileSizeMB}MB limit`);
|
|
322
327
|
}
|
|
323
328
|
}
|
|
324
|
-
if ("acceptedContent" in colConfig && colConfig.acceptedContent) {
|
|
329
|
+
if ("acceptedContent" in colConfig && colConfig.acceptedContent && colConfig.acceptedContent !== "*") {
|
|
330
|
+
const mime = await (0, exports.getFileType)(buffer, fileName);
|
|
325
331
|
const CONTENTS = [
|
|
326
332
|
"image",
|
|
327
333
|
"audio",
|
|
@@ -334,13 +340,15 @@ class FileManager {
|
|
|
334
340
|
throw new Error(`Dissallowed content type provided: ${mime.mime.split("/")[0]}. Allowed content types: ${allowedContent} `);
|
|
335
341
|
}
|
|
336
342
|
}
|
|
337
|
-
else if ("acceptedContentType" in colConfig && colConfig.acceptedContentType) {
|
|
343
|
+
else if ("acceptedContentType" in colConfig && colConfig.acceptedContentType && colConfig.acceptedContentType !== "*") {
|
|
344
|
+
const mime = await (0, exports.getFileType)(buffer, fileName);
|
|
338
345
|
const allowedContentTypes = DboBuilder_1.ViewHandler._parseFieldFilter(colConfig.acceptedContentType, false, (0, prostgles_types_1.getKeys)(prostgles_types_1.CONTENT_TYPE_TO_EXT));
|
|
339
346
|
if (!allowedContentTypes.some(c => c === mime.mime)) {
|
|
340
347
|
throw new Error(`Dissallowed MIME provided: ${mime.mime}. Allowed MIME values: ${allowedContentTypes} `);
|
|
341
348
|
}
|
|
342
349
|
}
|
|
343
|
-
else if ("acceptedFileTypes" in colConfig && colConfig.acceptedFileTypes) {
|
|
350
|
+
else if ("acceptedFileTypes" in colConfig && colConfig.acceptedFileTypes && colConfig.acceptedFileTypes !== "*") {
|
|
351
|
+
const mime = await (0, exports.getFileType)(buffer, fileName);
|
|
344
352
|
const allowedExtensions = DboBuilder_1.ViewHandler._parseFieldFilter(colConfig.acceptedFileTypes, false, Object.values(prostgles_types_1.CONTENT_TYPE_TO_EXT).flat());
|
|
345
353
|
if (!allowedExtensions.some(c => c === mime.ext)) {
|
|
346
354
|
throw new Error(`Dissallowed extension provided: ${mime.ext}. Allowed extension values: ${allowedExtensions} `);
|
|
@@ -348,7 +356,9 @@ class FileManager {
|
|
|
348
356
|
}
|
|
349
357
|
}
|
|
350
358
|
}
|
|
351
|
-
|
|
359
|
+
if (!result?.mime)
|
|
360
|
+
throw `File MIME type not found for the provided extension: ${result?.ext}`;
|
|
361
|
+
return result;
|
|
352
362
|
}
|
|
353
363
|
// async getUploadURL(fileName: string): Promise<string> {
|
|
354
364
|
// const thisHour = new Date();
|
|
@@ -433,6 +443,16 @@ class FileManager {
|
|
|
433
443
|
}
|
|
434
444
|
}
|
|
435
445
|
exports.default = FileManager;
|
|
446
|
+
_a = FileManager;
|
|
447
|
+
FileManager.testCredentials = async (accessKeyId, secretAccessKey) => {
|
|
448
|
+
const sts = new aws_sdk_2.default.STS();
|
|
449
|
+
aws_sdk_2.default.config.credentials = {
|
|
450
|
+
accessKeyId,
|
|
451
|
+
secretAccessKey
|
|
452
|
+
};
|
|
453
|
+
const ident = await sts.getCallerIdentity({}).promise();
|
|
454
|
+
return ident;
|
|
455
|
+
};
|
|
436
456
|
const getFileTypeFromFilename = (fileName) => {
|
|
437
457
|
const nameParts = fileName.split(".");
|
|
438
458
|
if (nameParts.length < 2)
|
|
@@ -457,7 +477,7 @@ const getFileType = async (file, fileName) => {
|
|
|
457
477
|
if (!res) {
|
|
458
478
|
/* Set correct/missing extension */
|
|
459
479
|
const nameExt = fileNameMime?.ext;
|
|
460
|
-
if (["xml", "txt", "csv", "tsv", "svg"].includes(nameExt) && fileNameMime.mime) {
|
|
480
|
+
if (["xml", "txt", "csv", "tsv", "svg", "sql"].includes(nameExt) && fileNameMime.mime) {
|
|
461
481
|
return fileNameMime;
|
|
462
482
|
}
|
|
463
483
|
throw new Error("Could not get the file type from file buffer");
|
package/lib/FileManager.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
import { S3 } from 'aws-sdk';
|
|
2
|
+
import { S3, IAM } from 'aws-sdk';
|
|
3
3
|
import { ManagedUpload } from 'aws-sdk/clients/s3';
|
|
4
4
|
import * as fs from 'fs';
|
|
5
5
|
|
|
@@ -61,8 +61,19 @@ export type UploadedItem = {
|
|
|
61
61
|
*/
|
|
62
62
|
s3_url?: string;
|
|
63
63
|
};
|
|
64
|
-
|
|
64
|
+
import AWS from 'aws-sdk';
|
|
65
65
|
export default class FileManager {
|
|
66
|
+
|
|
67
|
+
static testCredentials = async (accessKeyId: string, secretAccessKey: string) => {
|
|
68
|
+
const sts = new AWS.STS();
|
|
69
|
+
AWS.config.credentials = {
|
|
70
|
+
accessKeyId,
|
|
71
|
+
secretAccessKey
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
const ident = await sts.getCallerIdentity({}).promise();
|
|
75
|
+
return ident;
|
|
76
|
+
}
|
|
66
77
|
|
|
67
78
|
s3Client?: S3;
|
|
68
79
|
|
|
@@ -93,6 +104,7 @@ export default class FileManager {
|
|
|
93
104
|
region,
|
|
94
105
|
credentials: { accessKeyId, secretAccessKey },
|
|
95
106
|
});
|
|
107
|
+
|
|
96
108
|
}
|
|
97
109
|
}
|
|
98
110
|
|
|
@@ -113,8 +125,8 @@ export default class FileManager {
|
|
|
113
125
|
if(!config) throw new Error("File table config missing");
|
|
114
126
|
|
|
115
127
|
const buffer = typeof file === "string"? Buffer.from(file, 'utf8') : file;
|
|
116
|
-
const mime = await getFileType(buffer, fileName);
|
|
117
128
|
|
|
129
|
+
let result = await getFileTypeFromFilename(fileName);
|
|
118
130
|
if(tableName && colName){
|
|
119
131
|
const tableConfig = config.referencedTables?.[tableName];
|
|
120
132
|
|
|
@@ -127,7 +139,8 @@ export default class FileManager {
|
|
|
127
139
|
}
|
|
128
140
|
}
|
|
129
141
|
|
|
130
|
-
if("acceptedContent" in colConfig && colConfig.acceptedContent){
|
|
142
|
+
if("acceptedContent" in colConfig && colConfig.acceptedContent && colConfig.acceptedContent !== "*"){
|
|
143
|
+
const mime = await getFileType(buffer, fileName);
|
|
131
144
|
const CONTENTS = [
|
|
132
145
|
"image",
|
|
133
146
|
"audio",
|
|
@@ -139,13 +152,15 @@ export default class FileManager {
|
|
|
139
152
|
if(!allowedContent.some(c => mime.mime.startsWith(c))){
|
|
140
153
|
throw new Error(`Dissallowed content type provided: ${mime.mime.split("/")[0]}. Allowed content types: ${allowedContent} `)
|
|
141
154
|
}
|
|
142
|
-
} else if("acceptedContentType" in colConfig && colConfig.acceptedContentType){
|
|
155
|
+
} else if("acceptedContentType" in colConfig && colConfig.acceptedContentType && colConfig.acceptedContentType !== "*"){
|
|
156
|
+
const mime = await getFileType(buffer, fileName);
|
|
143
157
|
const allowedContentTypes = ViewHandler._parseFieldFilter(colConfig.acceptedContentType, false, getKeys(CONTENT_TYPE_TO_EXT));
|
|
144
158
|
|
|
145
159
|
if(!allowedContentTypes.some(c => c === mime.mime)){
|
|
146
160
|
throw new Error(`Dissallowed MIME provided: ${mime.mime}. Allowed MIME values: ${allowedContentTypes} `)
|
|
147
161
|
}
|
|
148
|
-
} else if("acceptedFileTypes" in colConfig && colConfig.acceptedFileTypes){
|
|
162
|
+
} else if("acceptedFileTypes" in colConfig && colConfig.acceptedFileTypes && colConfig.acceptedFileTypes !== "*"){
|
|
163
|
+
const mime = await getFileType(buffer, fileName);
|
|
149
164
|
const allowedExtensions = ViewHandler._parseFieldFilter(colConfig.acceptedFileTypes, false, Object.values(CONTENT_TYPE_TO_EXT).flat());
|
|
150
165
|
|
|
151
166
|
if(!allowedExtensions.some(c => c === mime.ext)){
|
|
@@ -154,8 +169,8 @@ export default class FileManager {
|
|
|
154
169
|
}
|
|
155
170
|
}
|
|
156
171
|
}
|
|
157
|
-
|
|
158
|
-
return
|
|
172
|
+
if(!result?.mime) throw `File MIME type not found for the provided extension: ${result?.ext}`;
|
|
173
|
+
return result;
|
|
159
174
|
}
|
|
160
175
|
|
|
161
176
|
// async getUploadURL(fileName: string): Promise<string> {
|
|
@@ -566,9 +581,9 @@ export const getFileType = async (file: Buffer | string, fileName: string): Prom
|
|
|
566
581
|
|
|
567
582
|
/* Set correct/missing extension */
|
|
568
583
|
const nameExt = fileNameMime?.ext;
|
|
569
|
-
if(["xml", "txt", "csv", "tsv", "svg"].includes(nameExt) && fileNameMime.mime){
|
|
584
|
+
if(["xml", "txt", "csv", "tsv", "svg", "sql"].includes(nameExt) && fileNameMime.mime){
|
|
570
585
|
return fileNameMime as any;
|
|
571
|
-
}
|
|
586
|
+
}
|
|
572
587
|
|
|
573
588
|
throw new Error("Could not get the file type from file buffer");
|
|
574
589
|
} else {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "prostgles-server",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.197",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -24,8 +24,8 @@
|
|
|
24
24
|
},
|
|
25
25
|
"homepage": "https://github.com/prostgles/prostgles-server-js#readme",
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@aws-sdk/client-s3": "^3.
|
|
28
|
-
"aws-sdk": "^2.
|
|
27
|
+
"@aws-sdk/client-s3": "^3.121.0",
|
|
28
|
+
"aws-sdk": "^2.1168.0",
|
|
29
29
|
"bluebird": "^3.7.2",
|
|
30
30
|
"file-type": "^17.1.2",
|
|
31
31
|
"pg-promise": "^10.11.1",
|
|
@@ -33,9 +33,9 @@
|
|
|
33
33
|
"sharp": "^0.30.7"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
|
-
"@aws-sdk/types": "^3.
|
|
36
|
+
"@aws-sdk/types": "^3.110.0",
|
|
37
37
|
"@types/bluebird": "^3.5.36",
|
|
38
|
-
"@types/node": "^
|
|
38
|
+
"@types/node": "^18.0.3",
|
|
39
39
|
"@types/sharp": "^0.30.4",
|
|
40
40
|
"typescript": "^4.7.4"
|
|
41
41
|
}
|
package/tests/client/PID.txt
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
19488
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"license": "ISC",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@types/node": "^14.14.16",
|
|
13
|
-
"prostgles-client": "^1.5.
|
|
13
|
+
"prostgles-client": "^1.5.166",
|
|
14
14
|
"prostgles-types": "^1.5.68",
|
|
15
15
|
"socket.io-client": "^4.5.1"
|
|
16
16
|
}
|
|
@@ -67,9 +67,9 @@
|
|
|
67
67
|
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
|
|
68
68
|
},
|
|
69
69
|
"node_modules/prostgles-client": {
|
|
70
|
-
"version": "1.5.
|
|
71
|
-
"resolved": "https://registry.npmjs.org/prostgles-client/-/prostgles-client-1.5.
|
|
72
|
-
"integrity": "sha512-
|
|
70
|
+
"version": "1.5.166",
|
|
71
|
+
"resolved": "https://registry.npmjs.org/prostgles-client/-/prostgles-client-1.5.166.tgz",
|
|
72
|
+
"integrity": "sha512-O/oKyXIbhtRW10KyR2pHlU5hExdw0vKOQXlgHmTKQ11zQkNr/aFPQyhctCB9J0n/SrSNtcxuZbMkZp9v1YjC/A==",
|
|
73
73
|
"dependencies": {
|
|
74
74
|
"prostgles-types": "^1.5.162"
|
|
75
75
|
}
|
|
@@ -176,9 +176,9 @@
|
|
|
176
176
|
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
|
|
177
177
|
},
|
|
178
178
|
"prostgles-client": {
|
|
179
|
-
"version": "1.5.
|
|
180
|
-
"resolved": "https://registry.npmjs.org/prostgles-client/-/prostgles-client-1.5.
|
|
181
|
-
"integrity": "sha512-
|
|
179
|
+
"version": "1.5.166",
|
|
180
|
+
"resolved": "https://registry.npmjs.org/prostgles-client/-/prostgles-client-1.5.166.tgz",
|
|
181
|
+
"integrity": "sha512-O/oKyXIbhtRW10KyR2pHlU5hExdw0vKOQXlgHmTKQ11zQkNr/aFPQyhctCB9J0n/SrSNtcxuZbMkZp9v1YjC/A==",
|
|
182
182
|
"requires": {
|
|
183
183
|
"prostgles-types": "^1.5.162"
|
|
184
184
|
}
|
|
@@ -21,11 +21,11 @@
|
|
|
21
21
|
},
|
|
22
22
|
"../..": {
|
|
23
23
|
"name": "prostgles-server",
|
|
24
|
-
"version": "2.0.
|
|
24
|
+
"version": "2.0.196",
|
|
25
25
|
"license": "MIT",
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@aws-sdk/client-s3": "^3.
|
|
28
|
-
"aws-sdk": "^2.
|
|
27
|
+
"@aws-sdk/client-s3": "^3.121.0",
|
|
28
|
+
"aws-sdk": "^2.1168.0",
|
|
29
29
|
"bluebird": "^3.7.2",
|
|
30
30
|
"file-type": "^17.1.2",
|
|
31
31
|
"pg-promise": "^10.11.1",
|
|
@@ -33,9 +33,9 @@
|
|
|
33
33
|
"sharp": "^0.30.7"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
|
-
"@aws-sdk/types": "^3.
|
|
36
|
+
"@aws-sdk/types": "^3.110.0",
|
|
37
37
|
"@types/bluebird": "^3.5.36",
|
|
38
|
-
"@types/node": "^
|
|
38
|
+
"@types/node": "^18.0.3",
|
|
39
39
|
"@types/sharp": "^0.30.4",
|
|
40
40
|
"typescript": "^4.7.4"
|
|
41
41
|
}
|
|
@@ -1362,12 +1362,12 @@
|
|
|
1362
1362
|
"prostgles-server": {
|
|
1363
1363
|
"version": "file:../..",
|
|
1364
1364
|
"requires": {
|
|
1365
|
-
"@aws-sdk/client-s3": "^3.
|
|
1366
|
-
"@aws-sdk/types": "^3.
|
|
1365
|
+
"@aws-sdk/client-s3": "^3.121.0",
|
|
1366
|
+
"@aws-sdk/types": "^3.110.0",
|
|
1367
1367
|
"@types/bluebird": "^3.5.36",
|
|
1368
|
-
"@types/node": "^
|
|
1368
|
+
"@types/node": "^18.0.3",
|
|
1369
1369
|
"@types/sharp": "^0.30.4",
|
|
1370
|
-
"aws-sdk": "^2.
|
|
1370
|
+
"aws-sdk": "^2.1168.0",
|
|
1371
1371
|
"bluebird": "^3.7.2",
|
|
1372
1372
|
"file-type": "^17.1.2",
|
|
1373
1373
|
"pg-promise": "^10.11.1",
|