arkos 1.2.13-test.1 → 1.2.13-test.3
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/cjs/app.js +1 -138
- package/dist/cjs/exports/auth/index.js +1 -6
- package/dist/cjs/exports/controllers/index.js +1 -11
- package/dist/cjs/exports/error-handler/index.js +1 -11
- package/dist/cjs/exports/index.js +1 -12
- package/dist/cjs/exports/middlewares/index.js +1 -7
- package/dist/cjs/exports/prisma/index.js +1 -6
- package/dist/cjs/exports/services/index.js +1 -49
- package/dist/cjs/exports/utils/index.js +1 -44
- package/dist/cjs/exports/validation/index.js +1 -11
- package/dist/cjs/modules/auth/auth.controller.js +1 -194
- package/dist/cjs/modules/auth/auth.router.js +1 -50
- package/dist/cjs/modules/auth/auth.service.js +1 -185
- package/dist/cjs/modules/auth/utils/helpers/auth.controller.helpers.js +1 -83
- package/dist/cjs/modules/base/base.controller.js +1 -158
- package/dist/cjs/modules/base/base.middlewares.js +1 -92
- package/dist/cjs/modules/base/base.router.js +1 -24
- package/dist/cjs/modules/base/base.service.js +1 -128
- package/dist/cjs/modules/base/utils/helpers/base.controller.helpers.js +1 -82
- package/dist/cjs/modules/base/utils/helpers/base.middlewares.helpers.js +1 -50
- package/dist/cjs/modules/base/utils/helpers/base.router.helpers.js +1 -97
- package/dist/cjs/modules/base/utils/helpers/base.service.helpers.js +1 -171
- package/dist/cjs/modules/email/email.service.js +1 -104
- package/dist/cjs/modules/error-handler/error-handler.controller.js +4 -146
- package/dist/cjs/modules/error-handler/utils/app-error.js +1 -17
- package/dist/cjs/modules/error-handler/utils/catch-async.js +1 -12
- package/dist/cjs/modules/error-handler/utils/error-handler.helpers.js +3 -201
- package/dist/cjs/modules/file-upload/file-upload.controller.js +1 -271
- package/dist/cjs/modules/file-upload/file-upload.router.js +1 -44
- package/dist/cjs/modules/file-upload/file-upload.service.js +1 -322
- package/dist/cjs/modules/file-upload/utils/helpers/file-upload.helpers.js +1 -97
- package/dist/cjs/modules/swagger/swagger.router.js +1 -119
- package/dist/cjs/modules/swagger/swagger.router.js.map +1 -1
- package/dist/cjs/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js +1 -270
- package/dist/cjs/modules/swagger/utils/helpers/get-system-json-schema-paths.js +1 -66
- package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js +1 -41
- package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js +1 -29
- package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schema.js +1 -30
- package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes.js +1 -471
- package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes.js +1 -575
- package/dist/cjs/modules/swagger/utils/helpers/missing-json-schemas-generator.js +1 -253
- package/dist/cjs/modules/swagger/utils/helpers/missing-json-schemas-generator.js.map +1 -1
- package/dist/cjs/modules/swagger/utils/helpers/swagger.router.helpers.js +1 -105
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/paths.js +1 -9
- package/dist/cjs/server.js +5 -85
- package/dist/cjs/server.js.map +1 -1
- package/dist/cjs/types/arkos-config.js +1 -3
- package/dist/cjs/types/auth.js +1 -3
- package/dist/cjs/types/index.js +1 -11
- package/dist/cjs/types/router-config.js +1 -3
- package/dist/cjs/utils/arkos-env.js +1 -9
- package/dist/cjs/utils/cli/build.js +6 -212
- package/dist/cjs/utils/cli/dev.js +5 -256
- package/dist/cjs/utils/cli/dev.js.map +1 -1
- package/dist/cjs/utils/cli/generate.js +12 -189
- package/dist/cjs/utils/cli/index.js +1 -81
- package/dist/cjs/utils/cli/start.js +5 -94
- package/dist/cjs/utils/cli/utils/cli.helpers.js +1 -24
- package/dist/cjs/utils/cli/utils/template-generator/templates/generate-auth-configs-template.js +5 -20
- package/dist/cjs/utils/cli/utils/template-generator/templates/generate-controller-template.js +6 -15
- package/dist/cjs/utils/cli/utils/template-generator/templates/generate-middlewares.js +38 -67
- package/dist/cjs/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js +8 -36
- package/dist/cjs/utils/cli/utils/template-generator/templates/generate-router-template.js +11 -36
- package/dist/cjs/utils/cli/utils/template-generator/templates/generate-service-template.js +7 -27
- package/dist/cjs/utils/cli/utils/template-generators.js +2 -28
- package/dist/cjs/utils/dotenv.helpers.js +1 -43
- package/dist/cjs/utils/features/api.features.js +1 -167
- package/dist/cjs/utils/features/change-case.features.js +1 -67
- package/dist/cjs/utils/helpers/api.features.helpers.js +1 -106
- package/dist/cjs/utils/helpers/change-case.helpers.js +1 -177
- package/dist/cjs/utils/helpers/deepmerge.helper.js +1 -115
- package/dist/cjs/utils/helpers/fs.helpers.js +1 -61
- package/dist/cjs/utils/helpers/global.helpers.js +1 -89
- package/dist/cjs/utils/helpers/models.helpers.js +11 -339
- package/dist/cjs/utils/helpers/prisma.helpers.js +1 -52
- package/dist/cjs/utils/helpers/query-parser.helpers.js +1 -45
- package/dist/cjs/utils/helpers/routers.helpers.js +1 -21
- package/dist/cjs/utils/helpers/text.helpers.js +1 -28
- package/dist/cjs/utils/prisma/enhaced-prisma-json-schema-generator.js +1 -451
- package/dist/cjs/utils/prisma/enhaced-prisma-json-schema-generator.js.map +1 -1
- package/dist/cjs/utils/prisma/prisma-json-schema-generator.js +1 -88
- package/dist/cjs/utils/prisma/prisma-schema-parser.js +3 -158
- package/dist/cjs/utils/prisma/types.js +1 -3
- package/dist/cjs/utils/sheu.js +1 -119
- package/dist/cjs/utils/validate-dto.js +1 -17
- package/dist/cjs/utils/validate-schema.js +1 -15
- package/dist/esm/app.js +1 -0
- package/dist/esm/app.js.map +1 -0
- package/dist/esm/exports/auth/index.js +1 -0
- package/dist/esm/exports/auth/index.js.map +1 -0
- package/dist/esm/exports/controllers/index.js +1 -0
- package/dist/esm/exports/controllers/index.js.map +1 -0
- package/dist/esm/exports/error-handler/index.js +1 -0
- package/dist/esm/exports/error-handler/index.js.map +1 -0
- package/dist/esm/exports/index.js +1 -0
- package/dist/esm/exports/index.js.map +1 -0
- package/dist/esm/exports/middlewares/index.js +1 -0
- package/dist/esm/exports/middlewares/index.js.map +1 -0
- package/dist/esm/exports/prisma/index.js +1 -0
- package/dist/esm/exports/prisma/index.js.map +1 -0
- package/dist/esm/exports/services/index.js +1 -0
- package/dist/esm/exports/services/index.js.map +1 -0
- package/dist/esm/exports/utils/index.js +1 -0
- package/dist/esm/exports/utils/index.js.map +1 -0
- package/dist/esm/exports/validation/index.js +1 -0
- package/dist/esm/exports/validation/index.js.map +1 -0
- package/dist/esm/modules/auth/auth.controller.js +1 -0
- package/dist/esm/modules/auth/auth.controller.js.map +1 -0
- package/dist/esm/modules/auth/auth.router.js +1 -0
- package/dist/esm/modules/auth/auth.router.js.map +1 -0
- package/dist/esm/modules/auth/auth.service.js +1 -0
- package/dist/esm/modules/auth/auth.service.js.map +1 -0
- package/dist/esm/modules/auth/utils/helpers/auth.controller.helpers.js +1 -0
- package/dist/esm/modules/auth/utils/helpers/auth.controller.helpers.js.map +1 -0
- package/dist/esm/modules/base/base.controller.js +1 -0
- package/dist/esm/modules/base/base.controller.js.map +1 -0
- package/dist/esm/modules/base/base.middlewares.js +1 -0
- package/dist/esm/modules/base/base.middlewares.js.map +1 -0
- package/dist/esm/modules/base/base.router.js +1 -0
- package/dist/esm/modules/base/base.router.js.map +1 -0
- package/dist/esm/modules/base/base.service.js +1 -0
- package/dist/esm/modules/base/base.service.js.map +1 -0
- package/dist/esm/modules/base/utils/helpers/base.controller.helpers.js +1 -0
- package/dist/esm/modules/base/utils/helpers/base.controller.helpers.js.map +1 -0
- package/dist/esm/modules/base/utils/helpers/base.middlewares.helpers.js +1 -0
- package/dist/esm/modules/base/utils/helpers/base.middlewares.helpers.js.map +1 -0
- package/dist/esm/modules/base/utils/helpers/base.router.helpers.js +1 -0
- package/dist/esm/modules/base/utils/helpers/base.router.helpers.js.map +1 -0
- package/dist/esm/modules/base/utils/helpers/base.service.helpers.js +1 -0
- package/dist/esm/modules/base/utils/helpers/base.service.helpers.js.map +1 -0
- package/dist/esm/modules/email/email.service.js +1 -0
- package/dist/esm/modules/email/email.service.js.map +1 -0
- package/dist/esm/modules/error-handler/error-handler.controller.js +4 -0
- package/dist/esm/modules/error-handler/error-handler.controller.js.map +1 -0
- package/dist/esm/modules/error-handler/utils/app-error.js +1 -0
- package/dist/esm/modules/error-handler/utils/app-error.js.map +1 -0
- package/dist/esm/modules/error-handler/utils/catch-async.js +1 -0
- package/dist/esm/modules/error-handler/utils/catch-async.js.map +1 -0
- package/dist/esm/modules/error-handler/utils/error-handler.helpers.js +3 -0
- package/dist/esm/modules/error-handler/utils/error-handler.helpers.js.map +1 -0
- package/dist/esm/modules/file-upload/file-upload.controller.js +1 -0
- package/dist/esm/modules/file-upload/file-upload.controller.js.map +1 -0
- package/dist/esm/modules/file-upload/file-upload.router.js +1 -0
- package/dist/esm/modules/file-upload/file-upload.router.js.map +1 -0
- package/dist/esm/modules/file-upload/file-upload.service.js +1 -0
- package/dist/esm/modules/file-upload/file-upload.service.js.map +1 -0
- package/dist/esm/modules/file-upload/utils/helpers/file-upload.helpers.js +1 -0
- package/dist/esm/modules/file-upload/utils/helpers/file-upload.helpers.js.map +1 -0
- package/dist/esm/modules/swagger/swagger.router.js +1 -0
- package/dist/esm/modules/swagger/swagger.router.js.map +1 -0
- package/dist/esm/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js +1 -0
- package/dist/esm/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js.map +1 -0
- package/dist/esm/modules/swagger/utils/helpers/get-system-json-schema-paths.js +1 -0
- package/dist/esm/modules/swagger/utils/helpers/get-system-json-schema-paths.js.map +1 -0
- package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js +1 -0
- package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js.map +1 -0
- package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js +1 -0
- package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js.map +1 -0
- package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schema.js +1 -0
- package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schema.js.map +1 -0
- package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes.js +1 -0
- package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes.js.map +1 -0
- package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes.js +1 -0
- package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes.js.map +1 -0
- package/dist/esm/modules/swagger/utils/helpers/missing-json-schemas-generator.js +1 -0
- package/dist/esm/modules/swagger/utils/helpers/missing-json-schemas-generator.js.map +1 -0
- package/dist/esm/modules/swagger/utils/helpers/swagger.router.helpers.js +1 -0
- package/dist/esm/modules/swagger/utils/helpers/swagger.router.helpers.js.map +1 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/paths.js +1 -0
- package/dist/esm/paths.js.map +1 -0
- package/dist/esm/server.js +5 -0
- package/dist/esm/server.js.map +1 -0
- package/dist/esm/types/arkos-config.js +1 -0
- package/dist/esm/types/arkos-config.js.map +1 -0
- package/dist/esm/types/auth.js +1 -0
- package/dist/esm/types/auth.js.map +1 -0
- package/dist/esm/types/index.js +1 -0
- package/dist/esm/types/index.js.map +1 -0
- package/dist/esm/types/router-config.js +1 -0
- package/dist/esm/types/router-config.js.map +1 -0
- package/dist/esm/utils/arkos-env.js +1 -0
- package/dist/esm/utils/arkos-env.js.map +1 -0
- package/dist/esm/utils/cli/build.js +6 -0
- package/dist/esm/utils/cli/build.js.map +1 -0
- package/dist/esm/utils/cli/dev.js +5 -0
- package/dist/esm/utils/cli/dev.js.map +1 -0
- package/dist/esm/utils/cli/generate.js +12 -0
- package/dist/esm/utils/cli/generate.js.map +1 -0
- package/dist/esm/utils/cli/index.js +1 -0
- package/dist/esm/utils/cli/index.js.map +1 -0
- package/dist/esm/utils/cli/start.js +5 -0
- package/dist/esm/utils/cli/start.js.map +1 -0
- package/dist/esm/utils/cli/utils/cli.helpers.js +1 -0
- package/dist/esm/utils/cli/utils/cli.helpers.js.map +1 -0
- package/dist/esm/utils/cli/utils/template-generator/templates/generate-auth-configs-template.js +21 -0
- package/dist/esm/utils/cli/utils/template-generator/templates/generate-auth-configs-template.js.map +1 -0
- package/dist/esm/utils/cli/utils/template-generator/templates/generate-controller-template.js +12 -0
- package/dist/esm/utils/cli/utils/template-generator/templates/generate-controller-template.js.map +1 -0
- package/dist/esm/utils/cli/utils/template-generator/templates/generate-middlewares.js +206 -0
- package/dist/esm/utils/cli/utils/template-generator/templates/generate-middlewares.js.map +1 -0
- package/dist/esm/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js +36 -0
- package/dist/esm/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js.map +1 -0
- package/dist/esm/utils/cli/utils/template-generator/templates/generate-router-template.js +18 -0
- package/dist/esm/utils/cli/utils/template-generator/templates/generate-router-template.js.map +1 -0
- package/dist/esm/utils/cli/utils/template-generator/templates/generate-service-template.js +15 -0
- package/dist/esm/utils/cli/utils/template-generator/templates/generate-service-template.js.map +1 -0
- package/dist/esm/utils/cli/utils/template-generators.js +2 -0
- package/dist/esm/utils/cli/utils/template-generators.js.map +1 -0
- package/dist/esm/utils/dotenv.helpers.js +1 -0
- package/dist/esm/utils/dotenv.helpers.js.map +1 -0
- package/dist/esm/utils/features/api.features.js +1 -0
- package/dist/esm/utils/features/api.features.js.map +1 -0
- package/dist/esm/utils/features/change-case.features.js +1 -0
- package/dist/esm/utils/features/change-case.features.js.map +1 -0
- package/dist/esm/utils/helpers/api.features.helpers.js +1 -0
- package/dist/esm/utils/helpers/api.features.helpers.js.map +1 -0
- package/dist/esm/utils/helpers/change-case.helpers.js +1 -0
- package/dist/esm/utils/helpers/change-case.helpers.js.map +1 -0
- package/dist/esm/utils/helpers/deepmerge.helper.js +1 -0
- package/dist/esm/utils/helpers/deepmerge.helper.js.map +1 -0
- package/dist/esm/utils/helpers/fs.helpers.js +1 -0
- package/dist/esm/utils/helpers/fs.helpers.js.map +1 -0
- package/dist/esm/utils/helpers/global.helpers.js +1 -0
- package/dist/esm/utils/helpers/global.helpers.js.map +1 -0
- package/dist/esm/utils/helpers/models.helpers.js +11 -0
- package/dist/esm/utils/helpers/models.helpers.js.map +1 -0
- package/dist/esm/utils/helpers/prisma.helpers.js +1 -0
- package/dist/esm/utils/helpers/prisma.helpers.js.map +1 -0
- package/dist/esm/utils/helpers/query-parser.helpers.js +1 -0
- package/dist/esm/utils/helpers/query-parser.helpers.js.map +1 -0
- package/dist/esm/utils/helpers/routers.helpers.js +1 -0
- package/dist/esm/utils/helpers/routers.helpers.js.map +1 -0
- package/dist/esm/utils/helpers/text.helpers.js +1 -0
- package/dist/esm/utils/helpers/text.helpers.js.map +1 -0
- package/dist/esm/utils/prisma/enhaced-prisma-json-schema-generator.js +1 -0
- package/dist/esm/utils/prisma/enhaced-prisma-json-schema-generator.js.map +1 -0
- package/dist/esm/utils/prisma/prisma-json-schema-generator.js +1 -0
- package/dist/esm/utils/prisma/prisma-json-schema-generator.js.map +1 -0
- package/dist/esm/utils/prisma/prisma-schema-parser.js +3 -0
- package/dist/esm/utils/prisma/prisma-schema-parser.js.map +1 -0
- package/dist/esm/utils/prisma/types.js +1 -0
- package/dist/esm/utils/prisma/types.js.map +1 -0
- package/dist/esm/utils/sheu.js +1 -0
- package/dist/esm/utils/sheu.js.map +1 -0
- package/dist/esm/utils/validate-dto.js +1 -0
- package/dist/esm/utils/validate-dto.js.map +1 -0
- package/dist/esm/utils/validate-schema.js +1 -0
- package/dist/esm/utils/validate-schema.js.map +1 -0
- package/package.json +6 -4
- package/dist/cjs/index.js +0 -22
- package/dist/esm/index.d.mts +0 -280
- package/dist/esm/index.mjs +0 -22
- package/dist/exports/index.js +0 -1
- package/dist/types/arkos-config.js +0 -1
- package/dist/types/auth.js +0 -1
- package/dist/types/index.js +0 -1
- package/dist/types/router-config.js +0 -1
- package/dist/utils/arkos-env.js +0 -1
- package/dist/utils/dotenv.helpers.js +0 -1
- package/dist/utils/sheu.js +0 -1
- package/dist/utils/validate-dto.js +0 -1
- package/dist/utils/validate-schema.js +0 -1
|
@@ -1,271 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const app_error_1 = __importDefault(require("../error-handler/utils/app-error"));
|
|
7
|
-
const file_upload_service_1 = require("./file-upload.service");
|
|
8
|
-
const path_1 = __importDefault(require("path"));
|
|
9
|
-
const fs_1 = __importDefault(require("fs"));
|
|
10
|
-
const catch_async_1 = __importDefault(require("../error-handler/utils/catch-async"));
|
|
11
|
-
const server_1 = require("../../server");
|
|
12
|
-
const file_upload_helpers_1 = require("./utils/helpers/file-upload.helpers");
|
|
13
|
-
const fs_helpers_1 = require("../../utils/helpers/fs.helpers");
|
|
14
|
-
const models_helpers_1 = require("../../utils/helpers/models.helpers");
|
|
15
|
-
class FileUploadController {
|
|
16
|
-
constructor() {
|
|
17
|
-
this.uploadFile = (0, catch_async_1.default)(async (req, res, next) => {
|
|
18
|
-
this.middlewares = (0, models_helpers_1.getModelModules)("file-upload")?.middlewares || {};
|
|
19
|
-
const { fileType } = req.params;
|
|
20
|
-
const { format, width, height, resizeTo } = req.query;
|
|
21
|
-
const options = { format, width, height, resizeTo };
|
|
22
|
-
const { documentUploadService, fileUploadService, imageUploadService, videoUploadService, } = (0, file_upload_service_1.getFileUploadServices)();
|
|
23
|
-
const { fileUpload } = (0, server_1.getArkosConfig)();
|
|
24
|
-
const baseUploadDir = fileUpload?.baseUploadDir || "/uploads";
|
|
25
|
-
const uploadPath = path_1.default.resolve(process.cwd(), baseUploadDir, fileType);
|
|
26
|
-
try {
|
|
27
|
-
await (0, fs_helpers_1.accessAsync)(uploadPath);
|
|
28
|
-
}
|
|
29
|
-
catch (err) {
|
|
30
|
-
await (0, fs_helpers_1.mkdirAsync)(uploadPath, { recursive: true });
|
|
31
|
-
}
|
|
32
|
-
let uploader;
|
|
33
|
-
switch (fileType) {
|
|
34
|
-
case "images":
|
|
35
|
-
uploader = imageUploadService;
|
|
36
|
-
break;
|
|
37
|
-
case "videos":
|
|
38
|
-
uploader = videoUploadService;
|
|
39
|
-
break;
|
|
40
|
-
case "documents":
|
|
41
|
-
uploader = documentUploadService;
|
|
42
|
-
break;
|
|
43
|
-
case "files":
|
|
44
|
-
uploader = fileUploadService;
|
|
45
|
-
break;
|
|
46
|
-
default:
|
|
47
|
-
return next(new app_error_1.default("Invalid file type", 400));
|
|
48
|
-
}
|
|
49
|
-
uploader.handleMultipleUpload()(req, res, async (err) => {
|
|
50
|
-
if (err)
|
|
51
|
-
return next(err);
|
|
52
|
-
let data;
|
|
53
|
-
if (req.files && Array.isArray(req.files) && req.files.length > 0) {
|
|
54
|
-
if (fileType === "images") {
|
|
55
|
-
data = await Promise.all(req.files.map((file) => (0, file_upload_helpers_1.processImage)(req, file.path, options)));
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
|
-
data = await Promise.all(req.files.map((file) => (0, file_upload_helpers_1.processFile)(req, file.path)));
|
|
59
|
-
}
|
|
60
|
-
data = data.filter((url) => url !== null);
|
|
61
|
-
}
|
|
62
|
-
else if (req.file) {
|
|
63
|
-
if (fileType === "images") {
|
|
64
|
-
data = await (0, file_upload_helpers_1.processImage)(req, req.file.path, options);
|
|
65
|
-
}
|
|
66
|
-
else {
|
|
67
|
-
data = await (0, file_upload_helpers_1.processFile)(req, req.file.path);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
else {
|
|
71
|
-
return next(new app_error_1.default("No file uploaded", 400));
|
|
72
|
-
}
|
|
73
|
-
const jsonContent = {
|
|
74
|
-
success: true,
|
|
75
|
-
data,
|
|
76
|
-
message: Array.isArray(data)
|
|
77
|
-
? `${data.length} files uploaded successfully`
|
|
78
|
-
: "File uploaded successfully",
|
|
79
|
-
};
|
|
80
|
-
if (this.middlewares?.afterUploadFile) {
|
|
81
|
-
req.responseData = jsonContent;
|
|
82
|
-
req.responseStatus = 200;
|
|
83
|
-
return next();
|
|
84
|
-
}
|
|
85
|
-
res.status(200).json(jsonContent);
|
|
86
|
-
});
|
|
87
|
-
});
|
|
88
|
-
this.deleteFile = (0, catch_async_1.default)(async (req, res, next) => {
|
|
89
|
-
this.middlewares = (0, models_helpers_1.getModelModules)("file-upload")?.middlewares || {};
|
|
90
|
-
const { fileType, fileName } = req.params;
|
|
91
|
-
const { documentUploadService, fileUploadService, imageUploadService, videoUploadService, } = (0, file_upload_service_1.getFileUploadServices)();
|
|
92
|
-
let uploader;
|
|
93
|
-
switch (fileType) {
|
|
94
|
-
case "images":
|
|
95
|
-
uploader = imageUploadService;
|
|
96
|
-
break;
|
|
97
|
-
case "videos":
|
|
98
|
-
uploader = videoUploadService;
|
|
99
|
-
break;
|
|
100
|
-
case "documents":
|
|
101
|
-
uploader = documentUploadService;
|
|
102
|
-
break;
|
|
103
|
-
case "files":
|
|
104
|
-
uploader = fileUploadService;
|
|
105
|
-
break;
|
|
106
|
-
default:
|
|
107
|
-
return next(new app_error_1.default("Invalid file type", 400));
|
|
108
|
-
}
|
|
109
|
-
try {
|
|
110
|
-
const { fileUpload } = (0, server_1.getArkosConfig)();
|
|
111
|
-
const baseUploadRoute = fileUpload?.baseRoute || "/api/uploads";
|
|
112
|
-
const urlPattern = new RegExp(`${baseUploadRoute}/${fileType}/${fileName}`);
|
|
113
|
-
const isExpectedUrlPattern = urlPattern.test(req.originalUrl);
|
|
114
|
-
if (isExpectedUrlPattern) {
|
|
115
|
-
const fullUrl = `${req.protocol}://${req.get("host")}${req.originalUrl}`;
|
|
116
|
-
await uploader.deleteFileByUrl(fullUrl);
|
|
117
|
-
}
|
|
118
|
-
else {
|
|
119
|
-
await uploader.deleteFileByName(fileName, fileType);
|
|
120
|
-
}
|
|
121
|
-
if (this.middlewares.afterDeleteFile) {
|
|
122
|
-
req.responseStatus = 204;
|
|
123
|
-
return next();
|
|
124
|
-
}
|
|
125
|
-
res.status(204).json();
|
|
126
|
-
}
|
|
127
|
-
catch (error) {
|
|
128
|
-
if (error instanceof app_error_1.default) {
|
|
129
|
-
return next(error);
|
|
130
|
-
}
|
|
131
|
-
return next(new app_error_1.default("File not found", 404));
|
|
132
|
-
}
|
|
133
|
-
});
|
|
134
|
-
this.updateFile = (0, catch_async_1.default)(async (req, res, next) => {
|
|
135
|
-
this.middlewares = (0, models_helpers_1.getModelModules)("file-upload")?.middlewares || {};
|
|
136
|
-
const { fileType, fileName } = req.params;
|
|
137
|
-
const { format, width, height, resizeTo } = req.query;
|
|
138
|
-
const options = { format, width, height, resizeTo };
|
|
139
|
-
const { documentUploadService, fileUploadService, imageUploadService, videoUploadService, } = (0, file_upload_service_1.getFileUploadServices)();
|
|
140
|
-
const { fileUpload } = (0, server_1.getArkosConfig)();
|
|
141
|
-
const baseUploadDir = fileUpload?.baseUploadDir || "/uploads";
|
|
142
|
-
const uploadPath = path_1.default.resolve(process.cwd(), baseUploadDir, fileType);
|
|
143
|
-
try {
|
|
144
|
-
await (0, fs_helpers_1.accessAsync)(uploadPath);
|
|
145
|
-
}
|
|
146
|
-
catch (err) {
|
|
147
|
-
await (0, fs_helpers_1.mkdirAsync)(uploadPath, { recursive: true });
|
|
148
|
-
}
|
|
149
|
-
let uploader;
|
|
150
|
-
switch (fileType) {
|
|
151
|
-
case "images":
|
|
152
|
-
uploader = imageUploadService;
|
|
153
|
-
break;
|
|
154
|
-
case "videos":
|
|
155
|
-
uploader = videoUploadService;
|
|
156
|
-
break;
|
|
157
|
-
case "documents":
|
|
158
|
-
uploader = documentUploadService;
|
|
159
|
-
break;
|
|
160
|
-
case "files":
|
|
161
|
-
uploader = fileUploadService;
|
|
162
|
-
break;
|
|
163
|
-
default:
|
|
164
|
-
return next(new app_error_1.default("Invalid file type", 400));
|
|
165
|
-
}
|
|
166
|
-
uploader.handleMultipleUpload()(req, res, async (err) => {
|
|
167
|
-
if (err)
|
|
168
|
-
return next(err);
|
|
169
|
-
if (!req.file &&
|
|
170
|
-
(!req.files || !Array.isArray(req.files) || req.files.length === 0)) {
|
|
171
|
-
return next(new app_error_1.default("No new file uploaded", 400));
|
|
172
|
-
}
|
|
173
|
-
if (fileName && fileName.trim() !== "") {
|
|
174
|
-
try {
|
|
175
|
-
const baseUploadRoute = fileUpload?.baseRoute || "/api/uploads";
|
|
176
|
-
const urlPattern = new RegExp(`${baseUploadRoute}/${fileType}/${fileName}`);
|
|
177
|
-
const isExpectedUrlPattern = urlPattern.test(req.originalUrl);
|
|
178
|
-
if (isExpectedUrlPattern) {
|
|
179
|
-
const oldFileUrl = `${req.protocol}://${req.get("host")}${req.originalUrl}`;
|
|
180
|
-
await uploader.deleteFileByUrl(oldFileUrl);
|
|
181
|
-
}
|
|
182
|
-
else {
|
|
183
|
-
await uploader.deleteFileByName(fileName, fileType);
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
catch (error) {
|
|
187
|
-
console.warn(`Could not delete old file: ${fileName}`, error);
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
let data;
|
|
191
|
-
if (req.files && Array.isArray(req.files) && req.files.length > 0) {
|
|
192
|
-
if (fileType === "images") {
|
|
193
|
-
data = await Promise.all(req.files.map((file) => (0, file_upload_helpers_1.processImage)(req, file.path, options)));
|
|
194
|
-
}
|
|
195
|
-
else {
|
|
196
|
-
data = await Promise.all(req.files.map((file) => (0, file_upload_helpers_1.processFile)(req, file.path)));
|
|
197
|
-
}
|
|
198
|
-
data = data.filter((url) => url !== null);
|
|
199
|
-
}
|
|
200
|
-
else if (req.file) {
|
|
201
|
-
if (fileType === "images") {
|
|
202
|
-
data = await (0, file_upload_helpers_1.processImage)(req, req.file.path, options);
|
|
203
|
-
}
|
|
204
|
-
else {
|
|
205
|
-
data = await (0, file_upload_helpers_1.processFile)(req, req.file.path);
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
const jsonContent = {
|
|
209
|
-
success: true,
|
|
210
|
-
data,
|
|
211
|
-
message: Array.isArray(data)
|
|
212
|
-
? fileName && fileName.trim() !== ""
|
|
213
|
-
? `File updated successfully. ${data.length} new files uploaded`
|
|
214
|
-
: `${data.length} files uploaded successfully`
|
|
215
|
-
: fileName && fileName.trim() !== ""
|
|
216
|
-
? "File updated successfully"
|
|
217
|
-
: "File uploaded successfully",
|
|
218
|
-
};
|
|
219
|
-
if (this.middlewares.afterUpdateFile) {
|
|
220
|
-
req.responseData = jsonContent;
|
|
221
|
-
req.responseStatus = 200;
|
|
222
|
-
return next();
|
|
223
|
-
}
|
|
224
|
-
res.status(200).json(jsonContent);
|
|
225
|
-
});
|
|
226
|
-
});
|
|
227
|
-
this.streamFile = (0, catch_async_1.default)(async (req, res, next) => {
|
|
228
|
-
const { fileName, fileType } = req.params;
|
|
229
|
-
const filePath = path_1.default.join(".", "uploads", fileType, fileName);
|
|
230
|
-
try {
|
|
231
|
-
await (0, fs_helpers_1.accessAsync)(filePath);
|
|
232
|
-
}
|
|
233
|
-
catch (err) {
|
|
234
|
-
throw new app_error_1.default("File not found", 404);
|
|
235
|
-
}
|
|
236
|
-
const fileStat = await (0, fs_helpers_1.statAsync)(filePath);
|
|
237
|
-
const fileSize = fileStat.size;
|
|
238
|
-
const range = req.headers.range;
|
|
239
|
-
if (range) {
|
|
240
|
-
const [partialStart, partialEnd] = range
|
|
241
|
-
.replace(/bytes=/, "")
|
|
242
|
-
.split("-");
|
|
243
|
-
const start = parseInt(partialStart, 10) || 0;
|
|
244
|
-
const end = partialEnd ? parseInt(partialEnd, 10) : fileSize - 1;
|
|
245
|
-
if (start >= fileSize || end >= fileSize) {
|
|
246
|
-
res.status(416).json({ error: "Range Not Satisfiable" });
|
|
247
|
-
return;
|
|
248
|
-
}
|
|
249
|
-
res.writeHead(206, {
|
|
250
|
-
"Content-Range": `bytes ${start}-${end}/${fileSize}`,
|
|
251
|
-
"Accept-Ranges": "bytes",
|
|
252
|
-
"Content-Length": end - start + 1,
|
|
253
|
-
"Content-Type": "application/octet-stream",
|
|
254
|
-
"Content-Disposition": `inline; filename="${fileName}"`,
|
|
255
|
-
});
|
|
256
|
-
fs_1.default.createReadStream(filePath, { start, end }).pipe(res);
|
|
257
|
-
}
|
|
258
|
-
else {
|
|
259
|
-
res.writeHead(200, {
|
|
260
|
-
"Content-Length": fileSize,
|
|
261
|
-
"Content-Type": "application/octet-stream",
|
|
262
|
-
"Content-Disposition": `inline; filename="${fileName}"`,
|
|
263
|
-
});
|
|
264
|
-
fs_1.default.createReadStream(filePath).pipe(res);
|
|
265
|
-
}
|
|
266
|
-
});
|
|
267
|
-
}
|
|
268
|
-
}
|
|
269
|
-
const fileUploadController = new FileUploadController();
|
|
270
|
-
exports.default = fileUploadController;
|
|
271
|
-
//# sourceMappingURL=file-upload.controller.js.map
|
|
1
|
+
"use strict";var __importDefault=this&&this.__importDefault||function(v){return v&&v.__esModule?v:{default:v}};Object.defineProperty(exports,"__esModule",{value:!0});const app_error_1=__importDefault(require("../error-handler/utils/app-error")),file_upload_service_1=require("./file-upload.service"),path_1=__importDefault(require("path")),fs_1=__importDefault(require("fs")),catch_async_1=__importDefault(require("../error-handler/utils/catch-async")),server_1=require("../../server"),file_upload_helpers_1=require("./utils/helpers/file-upload.helpers"),fs_helpers_1=require("../../utils/helpers/fs.helpers"),models_helpers_1=require("../../utils/helpers/models.helpers");class FileUploadController{constructor(){this.uploadFile=(0,catch_async_1.default)(async(e,i,s)=>{this.middlewares=(0,models_helpers_1.getModelModules)("file-upload")?.middlewares||{};const{fileType:t}=e.params,{format:a,width:p,height:w,resizeTo:n}=e.query,f={format:a,width:p,height:w,resizeTo:n},{documentUploadService:l,fileUploadService:c,imageUploadService:u,videoUploadService:h}=(0,file_upload_service_1.getFileUploadServices)(),{fileUpload:F}=(0,server_1.getArkosConfig)(),U=F?.baseUploadDir||"/uploads",b=path_1.default.resolve(process.cwd(),U,t);try{await(0,fs_helpers_1.accessAsync)(b)}catch{await(0,fs_helpers_1.mkdirAsync)(b,{recursive:!0})}let y;switch(t){case"images":y=u;break;case"videos":y=h;break;case"documents":y=l;break;case"files":y=c;break;default:return s(new app_error_1.default("Invalid file type",400))}y.handleMultipleUpload()(e,i,async d=>{if(d)return s(d);let o;if(e.files&&Array.isArray(e.files)&&e.files.length>0)t==="images"?o=await Promise.all(e.files.map(g=>(0,file_upload_helpers_1.processImage)(e,g.path,f))):o=await Promise.all(e.files.map(g=>(0,file_upload_helpers_1.processFile)(e,g.path))),o=o.filter(g=>g!==null);else if(e.file)t==="images"?o=await(0,file_upload_helpers_1.processImage)(e,e.file.path,f):o=await(0,file_upload_helpers_1.processFile)(e,e.file.path);else return s(new app_error_1.default("No file uploaded",400));const r={success:!0,data:o,message:Array.isArray(o)?`${o.length} files uploaded successfully`:"File uploaded successfully"};if(this.middlewares?.afterUploadFile)return e.responseData=r,e.responseStatus=200,s();i.status(200).json(r)})}),this.deleteFile=(0,catch_async_1.default)(async(e,i,s)=>{this.middlewares=(0,models_helpers_1.getModelModules)("file-upload")?.middlewares||{};const{fileType:t,fileName:a}=e.params,{documentUploadService:p,fileUploadService:w,imageUploadService:n,videoUploadService:f}=(0,file_upload_service_1.getFileUploadServices)();let l;switch(t){case"images":l=n;break;case"videos":l=f;break;case"documents":l=p;break;case"files":l=w;break;default:return s(new app_error_1.default("Invalid file type",400))}try{const{fileUpload:c}=(0,server_1.getArkosConfig)(),u=c?.baseRoute||"/api/uploads";if(new RegExp(`${u}/${t}/${a}`).test(e.originalUrl)){const U=`${e.protocol}://${e.get("host")}${e.originalUrl}`;await l.deleteFileByUrl(U)}else await l.deleteFileByName(a,t);if(this.middlewares.afterDeleteFile)return e.responseStatus=204,s();i.status(204).json()}catch(c){return c instanceof app_error_1.default?s(c):s(new app_error_1.default("File not found",404))}}),this.updateFile=(0,catch_async_1.default)(async(e,i,s)=>{this.middlewares=(0,models_helpers_1.getModelModules)("file-upload")?.middlewares||{};const{fileType:t,fileName:a}=e.params,{format:p,width:w,height:n,resizeTo:f}=e.query,l={format:p,width:w,height:n,resizeTo:f},{documentUploadService:c,fileUploadService:u,imageUploadService:h,videoUploadService:F}=(0,file_upload_service_1.getFileUploadServices)(),{fileUpload:U}=(0,server_1.getArkosConfig)(),b=U?.baseUploadDir||"/uploads",y=path_1.default.resolve(process.cwd(),b,t);try{await(0,fs_helpers_1.accessAsync)(y)}catch{await(0,fs_helpers_1.mkdirAsync)(y,{recursive:!0})}let d;switch(t){case"images":d=h;break;case"videos":d=F;break;case"documents":d=c;break;case"files":d=u;break;default:return s(new app_error_1.default("Invalid file type",400))}d.handleMultipleUpload()(e,i,async o=>{if(o)return s(o);if(!e.file&&(!e.files||!Array.isArray(e.files)||e.files.length===0))return s(new app_error_1.default("No new file uploaded",400));if(a&&a.trim()!=="")try{const m=U?.baseRoute||"/api/uploads";if(new RegExp(`${m}/${t}/${a}`).test(e.originalUrl)){const S=`${e.protocol}://${e.get("host")}${e.originalUrl}`;await d.deleteFileByUrl(S)}else await d.deleteFileByName(a,t)}catch(m){console.warn(`Could not delete old file: ${a}`,m)}let r;e.files&&Array.isArray(e.files)&&e.files.length>0?(t==="images"?r=await Promise.all(e.files.map(m=>(0,file_upload_helpers_1.processImage)(e,m.path,l))):r=await Promise.all(e.files.map(m=>(0,file_upload_helpers_1.processFile)(e,m.path))),r=r.filter(m=>m!==null)):e.file&&(t==="images"?r=await(0,file_upload_helpers_1.processImage)(e,e.file.path,l):r=await(0,file_upload_helpers_1.processFile)(e,e.file.path));const g={success:!0,data:r,message:Array.isArray(r)?a&&a.trim()!==""?`File updated successfully. ${r.length} new files uploaded`:`${r.length} files uploaded successfully`:a&&a.trim()!==""?"File updated successfully":"File uploaded successfully"};if(this.middlewares.afterUpdateFile)return e.responseData=g,e.responseStatus=200,s();i.status(200).json(g)})}),this.streamFile=(0,catch_async_1.default)(async(e,i,s)=>{const{fileName:t,fileType:a}=e.params,p=path_1.default.join(".","uploads",a,t);try{await(0,fs_helpers_1.accessAsync)(p)}catch{throw new app_error_1.default("File not found",404)}const n=(await(0,fs_helpers_1.statAsync)(p)).size,f=e.headers.range;if(f){const[l,c]=f.replace(/bytes=/,"").split("-"),u=parseInt(l,10)||0,h=c?parseInt(c,10):n-1;if(u>=n||h>=n){i.status(416).json({error:"Range Not Satisfiable"});return}i.writeHead(206,{"Content-Range":`bytes ${u}-${h}/${n}`,"Accept-Ranges":"bytes","Content-Length":h-u+1,"Content-Type":"application/octet-stream","Content-Disposition":`inline; filename="${t}"`}),fs_1.default.createReadStream(p,{start:u,end:h}).pipe(i)}else i.writeHead(200,{"Content-Length":n,"Content-Type":"application/octet-stream","Content-Disposition":`inline; filename="${t}"`}),fs_1.default.createReadStream(p).pipe(i)})}}const fileUploadController=new FileUploadController;exports.default=fileUploadController;
|
|
@@ -1,44 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.getFileUploadRouter = getFileUploadRouter;
|
|
7
|
-
const express_1 = require("express");
|
|
8
|
-
const models_helpers_1 = require("../../utils/helpers/models.helpers");
|
|
9
|
-
const auth_service_1 = __importDefault(require("../auth/auth.service"));
|
|
10
|
-
const file_upload_controller_1 = __importDefault(require("./file-upload.controller"));
|
|
11
|
-
const path_1 = __importDefault(require("path"));
|
|
12
|
-
const express_2 = __importDefault(require("express"));
|
|
13
|
-
const deepmerge_helper_1 = __importDefault(require("../../utils/helpers/deepmerge.helper"));
|
|
14
|
-
const base_middlewares_1 = require("../base/base.middlewares");
|
|
15
|
-
const routers_helpers_1 = require("../../utils/helpers/routers.helpers");
|
|
16
|
-
const file_upload_helpers_1 = require("./utils/helpers/file-upload.helpers");
|
|
17
|
-
const router = (0, express_1.Router)();
|
|
18
|
-
async function getFileUploadRouter(arkosConfig) {
|
|
19
|
-
const { fileUpload } = arkosConfig;
|
|
20
|
-
const modelModules = await (0, models_helpers_1.importPrismaModelModules)("file-upload", arkosConfig);
|
|
21
|
-
let { middlewares = {}, authConfigs = {} } = {};
|
|
22
|
-
if (modelModules) {
|
|
23
|
-
({ middlewares = {}, authConfigs = {} } = modelModules);
|
|
24
|
-
}
|
|
25
|
-
let basePathname = fileUpload?.baseRoute || "/api/uploads/";
|
|
26
|
-
if (!basePathname.startsWith("/"))
|
|
27
|
-
basePathname = "/" + basePathname;
|
|
28
|
-
if (!basePathname.endsWith("/"))
|
|
29
|
-
basePathname = basePathname + "/";
|
|
30
|
-
router.get(`${basePathname}*`, auth_service_1.default.handleAuthenticationControl("View", authConfigs.authenticationControl), auth_service_1.default.handleAccessControl("View", "file-upload", authConfigs.accessControl), ...(0, routers_helpers_1.processMiddleware)(middlewares?.beforeFindFile), file_upload_helpers_1.adjustRequestUrl, express_2.default.static(path_1.default.resolve(process.cwd(), fileUpload?.baseUploadDir || "uploads"), (0, deepmerge_helper_1.default)({
|
|
31
|
-
maxAge: "1y",
|
|
32
|
-
etag: true,
|
|
33
|
-
lastModified: true,
|
|
34
|
-
dotfiles: "ignore",
|
|
35
|
-
fallthrough: true,
|
|
36
|
-
index: false,
|
|
37
|
-
cacheControl: true,
|
|
38
|
-
}, fileUpload?.expressStaticOptions || {})));
|
|
39
|
-
router.post(`${basePathname}:fileType`, auth_service_1.default.handleAuthenticationControl("Create", authConfigs.authenticationControl), auth_service_1.default.handleAccessControl("Create", "file-upload", authConfigs.accessControl), ...(0, routers_helpers_1.processMiddleware)(middlewares?.beforeUploadFile), file_upload_controller_1.default.uploadFile, ...(0, routers_helpers_1.processMiddleware)(middlewares?.afterUploadFile), base_middlewares_1.sendResponse);
|
|
40
|
-
router.patch(`${basePathname}:fileType/:fileName`, auth_service_1.default.handleAuthenticationControl("Update", authConfigs.authenticationControl), auth_service_1.default.handleAccessControl("Update", "file-upload", authConfigs.accessControl), ...(0, routers_helpers_1.processMiddleware)(middlewares?.beforeUpdateFile), file_upload_controller_1.default.updateFile, ...(0, routers_helpers_1.processMiddleware)(middlewares?.afterUpdateFile), base_middlewares_1.sendResponse);
|
|
41
|
-
router.delete(`${basePathname}:fileType/:fileName`, auth_service_1.default.handleAuthenticationControl("Delete", authConfigs.authenticationControl), auth_service_1.default.handleAccessControl("Delete", "file-upload", authConfigs.accessControl), ...(0, routers_helpers_1.processMiddleware)(middlewares?.beforeDeleteFile), file_upload_controller_1.default.deleteFile, ...(0, routers_helpers_1.processMiddleware)(middlewares?.afterDeleteFile), base_middlewares_1.sendResponse);
|
|
42
|
-
return router;
|
|
43
|
-
}
|
|
44
|
-
//# sourceMappingURL=file-upload.router.js.map
|
|
1
|
+
"use strict";var __importDefault=this&&this.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getFileUploadRouter=getFileUploadRouter;const express_1=require("express"),models_helpers_1=require("../../utils/helpers/models.helpers"),auth_service_1=__importDefault(require("../auth/auth.service")),file_upload_controller_1=__importDefault(require("./file-upload.controller")),path_1=__importDefault(require("path")),express_2=__importDefault(require("express")),deepmerge_helper_1=__importDefault(require("../../utils/helpers/deepmerge.helper")),base_middlewares_1=require("../base/base.middlewares"),routers_helpers_1=require("../../utils/helpers/routers.helpers"),file_upload_helpers_1=require("./utils/helpers/file-upload.helpers"),router=(0,express_1.Router)();async function getFileUploadRouter(r){const{fileUpload:s}=r,o=await(0,models_helpers_1.importPrismaModelModules)("file-upload",r);let{middlewares:l={},authConfigs:t={}}={};o&&({middlewares:l={},authConfigs:t={}}=o);let e=s?.baseRoute||"/api/uploads/";return e.startsWith("/")||(e="/"+e),e.endsWith("/")||(e=e+"/"),router.get(`${e}*`,auth_service_1.default.handleAuthenticationControl("View",t.authenticationControl),auth_service_1.default.handleAccessControl("View","file-upload",t.accessControl),...(0,routers_helpers_1.processMiddleware)(l?.beforeFindFile),file_upload_helpers_1.adjustRequestUrl,express_2.default.static(path_1.default.resolve(process.cwd(),s?.baseUploadDir||"uploads"),(0,deepmerge_helper_1.default)({maxAge:"1y",etag:!0,lastModified:!0,dotfiles:"ignore",fallthrough:!0,index:!1,cacheControl:!0},s?.expressStaticOptions||{}))),router.post(`${e}:fileType`,auth_service_1.default.handleAuthenticationControl("Create",t.authenticationControl),auth_service_1.default.handleAccessControl("Create","file-upload",t.accessControl),...(0,routers_helpers_1.processMiddleware)(l?.beforeUploadFile),file_upload_controller_1.default.uploadFile,...(0,routers_helpers_1.processMiddleware)(l?.afterUploadFile),base_middlewares_1.sendResponse),router.patch(`${e}:fileType/:fileName`,auth_service_1.default.handleAuthenticationControl("Update",t.authenticationControl),auth_service_1.default.handleAccessControl("Update","file-upload",t.accessControl),...(0,routers_helpers_1.processMiddleware)(l?.beforeUpdateFile),file_upload_controller_1.default.updateFile,...(0,routers_helpers_1.processMiddleware)(l?.afterUpdateFile),base_middlewares_1.sendResponse),router.delete(`${e}:fileType/:fileName`,auth_service_1.default.handleAuthenticationControl("Delete",t.authenticationControl),auth_service_1.default.handleAccessControl("Delete","file-upload",t.accessControl),...(0,routers_helpers_1.processMiddleware)(l?.beforeDeleteFile),file_upload_controller_1.default.deleteFile,...(0,routers_helpers_1.processMiddleware)(l?.afterDeleteFile),base_middlewares_1.sendResponse),router}
|