elseware-nodejs 1.5.3 → 1.6.0
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/index.cjs +58 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +21 -1
- package/dist/index.d.ts +21 -1
- package/dist/index.js +57 -1
- package/dist/index.js.map +1 -1
- package/package.json +3 -2
package/dist/index.cjs
CHANGED
|
@@ -6,6 +6,7 @@ var storageBlob = require('@azure/storage-blob');
|
|
|
6
6
|
var fs = require('fs');
|
|
7
7
|
var cloudinaryModule = require('cloudinary');
|
|
8
8
|
var jwt = require('jsonwebtoken');
|
|
9
|
+
var multer = require('multer');
|
|
9
10
|
|
|
10
11
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
12
|
|
|
@@ -14,6 +15,7 @@ var dotenv__default = /*#__PURE__*/_interopDefault(dotenv);
|
|
|
14
15
|
var fs__default = /*#__PURE__*/_interopDefault(fs);
|
|
15
16
|
var cloudinaryModule__default = /*#__PURE__*/_interopDefault(cloudinaryModule);
|
|
16
17
|
var jwt__default = /*#__PURE__*/_interopDefault(jwt);
|
|
18
|
+
var multer__default = /*#__PURE__*/_interopDefault(multer);
|
|
17
19
|
|
|
18
20
|
// src/errors/appError.ts
|
|
19
21
|
var AppError = class extends Error {
|
|
@@ -5412,6 +5414,61 @@ var JWTService = class {
|
|
|
5412
5414
|
return value;
|
|
5413
5415
|
}
|
|
5414
5416
|
};
|
|
5417
|
+
var MulterFileHandlerService = class {
|
|
5418
|
+
storage;
|
|
5419
|
+
options;
|
|
5420
|
+
constructor(options = {}) {
|
|
5421
|
+
this.options = options;
|
|
5422
|
+
this.storage = options.storage === "memory" ? multer__default.default.memoryStorage() : multer__default.default.diskStorage({});
|
|
5423
|
+
}
|
|
5424
|
+
// File Filter
|
|
5425
|
+
fileFilter = (req, file, cb) => {
|
|
5426
|
+
const { allowedMimeTypes, allowedExtensions } = this.options;
|
|
5427
|
+
const mimeType = file.mimetype;
|
|
5428
|
+
const extFromMime = mimeType.split("/")[1]?.toLowerCase();
|
|
5429
|
+
if (allowedMimeTypes?.length) {
|
|
5430
|
+
if (!allowedMimeTypes.includes(mimeType)) {
|
|
5431
|
+
return cb(
|
|
5432
|
+
new AppError(
|
|
5433
|
+
`Invalid file type! Allowed: ${allowedMimeTypes.join(", ")}`,
|
|
5434
|
+
400
|
|
5435
|
+
),
|
|
5436
|
+
false
|
|
5437
|
+
);
|
|
5438
|
+
}
|
|
5439
|
+
}
|
|
5440
|
+
if (allowedExtensions?.length) {
|
|
5441
|
+
if (!extFromMime || !allowedExtensions.includes(extFromMime)) {
|
|
5442
|
+
return cb(
|
|
5443
|
+
new AppError(
|
|
5444
|
+
`Invalid file extension! Allowed: ${allowedExtensions.join(", ")}`,
|
|
5445
|
+
400
|
|
5446
|
+
),
|
|
5447
|
+
false
|
|
5448
|
+
);
|
|
5449
|
+
}
|
|
5450
|
+
}
|
|
5451
|
+
cb(null, true);
|
|
5452
|
+
};
|
|
5453
|
+
// Build multer instance
|
|
5454
|
+
buildUploader() {
|
|
5455
|
+
return multer__default.default({
|
|
5456
|
+
storage: this.storage,
|
|
5457
|
+
fileFilter: this.fileFilter,
|
|
5458
|
+
limits: this.options.fileSizeLimit ? { fileSize: this.options.fileSizeLimit } : void 0
|
|
5459
|
+
});
|
|
5460
|
+
}
|
|
5461
|
+
// Public API
|
|
5462
|
+
single(fieldName) {
|
|
5463
|
+
return this.buildUploader().single(fieldName);
|
|
5464
|
+
}
|
|
5465
|
+
array(fieldName, maxCount) {
|
|
5466
|
+
return this.buildUploader().array(fieldName, maxCount);
|
|
5467
|
+
}
|
|
5468
|
+
fields(fields) {
|
|
5469
|
+
return this.buildUploader().fields(fields);
|
|
5470
|
+
}
|
|
5471
|
+
};
|
|
5415
5472
|
|
|
5416
5473
|
// src/utils/time.ts
|
|
5417
5474
|
function milliseconds(value) {
|
|
@@ -5484,6 +5541,7 @@ exports.MaxHeap = MaxHeap;
|
|
|
5484
5541
|
exports.MaxStack = MaxStack;
|
|
5485
5542
|
exports.MinHeap = MinHeap;
|
|
5486
5543
|
exports.MinStack = MinStack;
|
|
5544
|
+
exports.MulterFileHandlerService = MulterFileHandlerService;
|
|
5487
5545
|
exports.MultiSet = MultiSet;
|
|
5488
5546
|
exports.Node = Node;
|
|
5489
5547
|
exports.OrderedSet = OrderedSet;
|