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,61 +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.getUserFileExtension = exports.userFileExtension = exports.crd = exports.mkdirAsync = exports.accessAsync = exports.statAsync = void 0;
|
|
7
|
-
exports.fullCleanCwd = fullCleanCwd;
|
|
8
|
-
exports.checkFileExists = checkFileExists;
|
|
9
|
-
const util_1 = require("util");
|
|
10
|
-
const fs_1 = __importDefault(require("fs"));
|
|
11
|
-
const path_1 = __importDefault(require("path"));
|
|
12
|
-
exports.statAsync = (0, util_1.promisify)(fs_1.default.stat);
|
|
13
|
-
exports.accessAsync = (0, util_1.promisify)(fs_1.default.access);
|
|
14
|
-
exports.mkdirAsync = (0, util_1.promisify)(fs_1.default.mkdir);
|
|
15
|
-
const crd = () => process.env.ARKOS_BUILD === "true"
|
|
16
|
-
? process.cwd() + "/.build/"
|
|
17
|
-
: process.cwd();
|
|
18
|
-
exports.crd = crd;
|
|
19
|
-
function fullCleanCwd(path) {
|
|
20
|
-
if (typeof path !== "string")
|
|
21
|
-
throw new Error("Path must be a string");
|
|
22
|
-
const cwd = process.cwd().replace(/\/+$/, "");
|
|
23
|
-
const escapedCwd = cwd.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
24
|
-
return path.replace(new RegExp(`${escapedCwd}/?`, "g"), "");
|
|
25
|
-
}
|
|
26
|
-
const getUserFileExtension = () => {
|
|
27
|
-
if (exports.userFileExtension)
|
|
28
|
-
return exports.userFileExtension;
|
|
29
|
-
try {
|
|
30
|
-
const currentDir = process.cwd();
|
|
31
|
-
const hasTsConfig = fs_1.default.existsSync(path_1.default.join(currentDir, "tsconfig.json"));
|
|
32
|
-
const hasAppTs = fs_1.default.existsSync(path_1.default.join(currentDir, "src", "app.ts"));
|
|
33
|
-
const hasAppJs = fs_1.default.existsSync(path_1.default.join(currentDir, "src", "app.js"));
|
|
34
|
-
const isBuildMode = process.env.ARKOS_BUILD === "true";
|
|
35
|
-
if (isBuildMode)
|
|
36
|
-
exports.userFileExtension = "js";
|
|
37
|
-
else if (hasTsConfig)
|
|
38
|
-
exports.userFileExtension = "ts";
|
|
39
|
-
else if (hasAppTs && !hasAppJs)
|
|
40
|
-
exports.userFileExtension = "ts";
|
|
41
|
-
else if (hasAppJs)
|
|
42
|
-
exports.userFileExtension = "js";
|
|
43
|
-
else
|
|
44
|
-
exports.userFileExtension = "js";
|
|
45
|
-
return exports.userFileExtension;
|
|
46
|
-
}
|
|
47
|
-
catch (e) {
|
|
48
|
-
exports.userFileExtension = "js";
|
|
49
|
-
return exports.userFileExtension;
|
|
50
|
-
}
|
|
51
|
-
};
|
|
52
|
-
exports.getUserFileExtension = getUserFileExtension;
|
|
53
|
-
function checkFileExists(filePath) {
|
|
54
|
-
try {
|
|
55
|
-
return fs_1.default.existsSync(path_1.default.resolve(filePath));
|
|
56
|
-
}
|
|
57
|
-
catch (error) {
|
|
58
|
-
return false;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
//# sourceMappingURL=fs.helpers.js.map
|
|
1
|
+
"use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getUserFileExtension=exports.userFileExtension=exports.crd=exports.mkdirAsync=exports.accessAsync=exports.statAsync=void 0,exports.fullCleanCwd=fullCleanCwd,exports.checkFileExists=checkFileExists;const util_1=require("util"),fs_1=__importDefault(require("fs")),path_1=__importDefault(require("path"));exports.statAsync=(0,util_1.promisify)(fs_1.default.stat),exports.accessAsync=(0,util_1.promisify)(fs_1.default.access),exports.mkdirAsync=(0,util_1.promisify)(fs_1.default.mkdir);const crd=()=>process.env.ARKOS_BUILD==="true"?process.cwd()+"/.build/":process.cwd();exports.crd=crd;function fullCleanCwd(e){if(typeof e!="string")throw new Error("Path must be a string");const t=process.cwd().replace(/\/+$/,"").replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return e.replace(new RegExp(`${t}/?`,"g"),"")}const getUserFileExtension=()=>{if(exports.userFileExtension)return exports.userFileExtension;try{const e=process.cwd(),s=fs_1.default.existsSync(path_1.default.join(e,"tsconfig.json")),t=fs_1.default.existsSync(path_1.default.join(e,"src","app.ts")),r=fs_1.default.existsSync(path_1.default.join(e,"src","app.js"));return process.env.ARKOS_BUILD==="true"?exports.userFileExtension="js":s||t&&!r?exports.userFileExtension="ts":exports.userFileExtension="js",exports.userFileExtension}catch{return exports.userFileExtension="js",exports.userFileExtension}};exports.getUserFileExtension=getUserFileExtension;function checkFileExists(e){try{return fs_1.default.existsSync(path_1.default.resolve(e))}catch{return!1}}
|
|
@@ -1,89 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
-
};
|
|
38
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.getPackageJson = getPackageJson;
|
|
40
|
-
exports.isEsm = isEsm;
|
|
41
|
-
exports.importModule = importModule;
|
|
42
|
-
exports.detectPackageManagerFromUserAgent = detectPackageManagerFromUserAgent;
|
|
43
|
-
const fs_1 = __importDefault(require("fs"));
|
|
44
|
-
const path_1 = __importDefault(require("path"));
|
|
45
|
-
const module_1 = require("module");
|
|
46
|
-
const url_1 = require("url");
|
|
47
|
-
function getPackageJson() {
|
|
48
|
-
try {
|
|
49
|
-
const pkgPath = path_1.default.join(process.cwd(), "package.json");
|
|
50
|
-
if (fs_1.default.existsSync(pkgPath)) {
|
|
51
|
-
return JSON.parse(fs_1.default.readFileSync(pkgPath, "utf8"));
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
catch (err) {
|
|
55
|
-
console.error("Error checking package.json:", err);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
function isEsm() {
|
|
59
|
-
const pkg = getPackageJson();
|
|
60
|
-
return pkg?.type === "module";
|
|
61
|
-
}
|
|
62
|
-
async function importModule(modulePath, options = { fixExtension: true }) {
|
|
63
|
-
if (!options.fixExtension || modulePath.endsWith(".ts") || !isEsm())
|
|
64
|
-
return await Promise.resolve(`${modulePath}`).then(s => __importStar(require(s)));
|
|
65
|
-
const userRequire = (0, module_1.createRequire)((0, url_1.pathToFileURL)(process.cwd() + "/package.json"));
|
|
66
|
-
const resolved = userRequire.resolve(modulePath);
|
|
67
|
-
return await Promise.resolve(`${(0, url_1.pathToFileURL)(resolved)}`).then(s => __importStar(require(s)));
|
|
68
|
-
}
|
|
69
|
-
function detectPackageManagerFromUserAgent() {
|
|
70
|
-
const userAgent = process.env.npm_config_user_agent || "";
|
|
71
|
-
if (!userAgent)
|
|
72
|
-
return "npm";
|
|
73
|
-
if (userAgent.includes("cnpm"))
|
|
74
|
-
return "cnpm";
|
|
75
|
-
if (userAgent.includes("pnpm"))
|
|
76
|
-
return "pnpm";
|
|
77
|
-
if (userAgent.includes("yarn"))
|
|
78
|
-
return "yarn";
|
|
79
|
-
if (userAgent.includes("npm"))
|
|
80
|
-
return "npm";
|
|
81
|
-
if (userAgent.includes("bun"))
|
|
82
|
-
return "bun";
|
|
83
|
-
if (userAgent.includes("corepack"))
|
|
84
|
-
return "corepack";
|
|
85
|
-
if (userAgent.includes("deno"))
|
|
86
|
-
return "deno";
|
|
87
|
-
return "npm";
|
|
88
|
-
}
|
|
89
|
-
//# sourceMappingURL=global.helpers.js.map
|
|
1
|
+
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,r,u,n){n===void 0&&(n=u);var t=Object.getOwnPropertyDescriptor(r,u);(!t||("get"in t?!r.__esModule:t.writable||t.configurable))&&(t={enumerable:!0,get:function(){return r[u]}}),Object.defineProperty(e,n,t)}:function(e,r,u,n){n===void 0&&(n=u),e[n]=r[u]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,r){Object.defineProperty(e,"default",{enumerable:!0,value:r})}:function(e,r){e.default=r}),__importStar=this&&this.__importStar||function(){var e=function(r){return e=Object.getOwnPropertyNames||function(u){var n=[];for(var t in u)Object.prototype.hasOwnProperty.call(u,t)&&(n[n.length]=t);return n},e(r)};return function(r){if(r&&r.__esModule)return r;var u={};if(r!=null)for(var n=e(r),t=0;t<n.length;t++)n[t]!=="default"&&__createBinding(u,r,n[t]);return __setModuleDefault(u,r),u}}(),__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getPackageJson=getPackageJson,exports.isEsm=isEsm,exports.importModule=importModule,exports.detectPackageManagerFromUserAgent=detectPackageManagerFromUserAgent;const fs_1=__importDefault(require("fs")),path_1=__importDefault(require("path")),module_1=require("module"),url_1=require("url");function getPackageJson(){try{const e=path_1.default.join(process.cwd(),"package.json");if(fs_1.default.existsSync(e))return JSON.parse(fs_1.default.readFileSync(e,"utf8"))}catch(e){console.error("Error checking package.json:",e)}}function isEsm(){return getPackageJson()?.type==="module"}async function importModule(e,r={fixExtension:!0}){if(!r.fixExtension||e.endsWith(".ts")||!isEsm())return await Promise.resolve(`${e}`).then(t=>__importStar(require(t)));const n=(0,module_1.createRequire)((0,url_1.pathToFileURL)(process.cwd()+"/package.json")).resolve(e);return await Promise.resolve(`${(0,url_1.pathToFileURL)(n)}`).then(t=>__importStar(require(t)))}function detectPackageManagerFromUserAgent(){const e=process.env.npm_config_user_agent||"";return e?e.includes("cnpm")?"cnpm":e.includes("pnpm")?"pnpm":e.includes("yarn")?"yarn":e.includes("npm")?"npm":e.includes("bun")?"bun":e.includes("corepack")?"corepack":e.includes("deno")?"deno":"npm":"npm"}
|
|
@@ -1,339 +1,11 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
exports.
|
|
11
|
-
exports.
|
|
12
|
-
exports.assignModuleToResult = assignModuleToResult;
|
|
13
|
-
exports.importPrismaModelModules = importPrismaModelModules;
|
|
14
|
-
exports.getAllPrismaFiles = getAllPrismaFiles;
|
|
15
|
-
exports.initializePrismaModels = initializePrismaModels;
|
|
16
|
-
exports.getPrismaModelRelations = getPrismaModelRelations;
|
|
17
|
-
exports.getPrismaSchemasContent = getPrismaSchemasContent;
|
|
18
|
-
exports.localValidatorFileExists = localValidatorFileExists;
|
|
19
|
-
exports.getModels = getModels;
|
|
20
|
-
exports.getModelUniqueFields = getModelUniqueFields;
|
|
21
|
-
const path_1 = __importDefault(require("path"));
|
|
22
|
-
const fs_1 = __importDefault(require("fs"));
|
|
23
|
-
const change_case_helpers_1 = require("../../utils/helpers/change-case.helpers");
|
|
24
|
-
const fs_helpers_1 = require("./fs.helpers");
|
|
25
|
-
const global_helpers_1 = require("./global.helpers");
|
|
26
|
-
const cli_helpers_1 = require("../cli/utils/cli.helpers");
|
|
27
|
-
const sheu_1 = __importDefault(require("../sheu"));
|
|
28
|
-
let prismaModelsModules = {};
|
|
29
|
-
function setModelModules(modelName, modules) {
|
|
30
|
-
prismaModelsModules[(0, change_case_helpers_1.kebabCase)(modelName)] = modules;
|
|
31
|
-
}
|
|
32
|
-
function getModelModules(modelName) {
|
|
33
|
-
return prismaModelsModules[(0, change_case_helpers_1.kebabCase)(modelName)];
|
|
34
|
-
}
|
|
35
|
-
function getFileModelModulesFileStructure(modelName) {
|
|
36
|
-
const kebabModelName = (0, change_case_helpers_1.kebabCase)(modelName).toLowerCase();
|
|
37
|
-
const isAuthModule = modelName.toLowerCase() === "auth";
|
|
38
|
-
const ext = (0, fs_helpers_1.getUserFileExtension)();
|
|
39
|
-
return {
|
|
40
|
-
core: {
|
|
41
|
-
service: `${kebabModelName}.service.${ext}`,
|
|
42
|
-
controller: `${kebabModelName}.controller.${ext}`,
|
|
43
|
-
middlewares: `${kebabModelName}.middlewares.${ext}`,
|
|
44
|
-
authConfigs: `${kebabModelName}.auth-configs.${ext}`,
|
|
45
|
-
authConfigsNew: `${kebabModelName}.auth.${ext}`,
|
|
46
|
-
prismaQueryOptions: `${kebabModelName}.prisma-query-options.${ext}`,
|
|
47
|
-
prismaQueryOptionsNew: `${kebabModelName}.query.${ext}`,
|
|
48
|
-
router: `${kebabModelName}.router.${ext}`,
|
|
49
|
-
},
|
|
50
|
-
dtos: isAuthModule
|
|
51
|
-
? {
|
|
52
|
-
login: `login.dto.${ext}`,
|
|
53
|
-
signup: `signup.dto.${ext}`,
|
|
54
|
-
getMe: `get-me.dto.${ext}`,
|
|
55
|
-
updateMe: `update-me.dto.${ext}`,
|
|
56
|
-
updatePassword: `update-password.dto.${ext}`,
|
|
57
|
-
}
|
|
58
|
-
: {
|
|
59
|
-
model: `${kebabModelName}.dto.${ext}`,
|
|
60
|
-
create: `create-${kebabModelName}.dto.${ext}`,
|
|
61
|
-
createOne: `create-${kebabModelName}.dto.${ext}`,
|
|
62
|
-
createMany: `create-many-${kebabModelName}.dto.${ext}`,
|
|
63
|
-
update: `update-${kebabModelName}.dto.${ext}`,
|
|
64
|
-
updateOne: `update-${kebabModelName}.dto.${ext}`,
|
|
65
|
-
updateMany: `update-many-${kebabModelName}.dto.${ext}`,
|
|
66
|
-
query: `query-${kebabModelName}.dto.${ext}`,
|
|
67
|
-
findOne: `find-one-${kebabModelName}.dto.${ext}`,
|
|
68
|
-
findMany: `find-many-${kebabModelName}.dto.${ext}`,
|
|
69
|
-
},
|
|
70
|
-
schemas: isAuthModule
|
|
71
|
-
? {
|
|
72
|
-
login: `login.schema.${ext}`,
|
|
73
|
-
signup: `signup.schema.${ext}`,
|
|
74
|
-
getMe: `get-me.schema.${ext}`,
|
|
75
|
-
updateMe: `update-me.schema.${ext}`,
|
|
76
|
-
updatePassword: `update-password.schema.${ext}`,
|
|
77
|
-
}
|
|
78
|
-
: {
|
|
79
|
-
model: `${kebabModelName}.schema.${ext}`,
|
|
80
|
-
create: `create-${kebabModelName}.schema.${ext}`,
|
|
81
|
-
createOne: `create-${kebabModelName}.schema.${ext}`,
|
|
82
|
-
createMany: `create-many-${kebabModelName}.schema.${ext}`,
|
|
83
|
-
update: `update-${kebabModelName}.schema.${ext}`,
|
|
84
|
-
updateOne: `update-${kebabModelName}.schema.${ext}`,
|
|
85
|
-
updateMany: `update-many-${kebabModelName}.schema.${ext}`,
|
|
86
|
-
query: `query-${kebabModelName}.schema.${ext}`,
|
|
87
|
-
findOne: `find-one-${kebabModelName}.schema.${ext}`,
|
|
88
|
-
findMany: `find-many-${kebabModelName}.schema.${ext}`,
|
|
89
|
-
},
|
|
90
|
-
};
|
|
91
|
-
}
|
|
92
|
-
async function processSubdir(modelName, type) {
|
|
93
|
-
const moduleDir = path_1.default.resolve((0, fs_helpers_1.crd)(), "src", "modules", (0, change_case_helpers_1.kebabCase)(modelName));
|
|
94
|
-
const subdir = path_1.default.join(moduleDir, type);
|
|
95
|
-
const fileStructure = getFileModelModulesFileStructure(modelName);
|
|
96
|
-
const result = {};
|
|
97
|
-
try {
|
|
98
|
-
await fs_1.default.promises.access(subdir).catch(() => {
|
|
99
|
-
return;
|
|
100
|
-
});
|
|
101
|
-
await Promise.all(Object.entries(fileStructure[type]).map(async ([key, fileName]) => {
|
|
102
|
-
const filePath = path_1.default.join(subdir, fileName);
|
|
103
|
-
try {
|
|
104
|
-
const module = await (0, global_helpers_1.importModule)(filePath).catch((err) => {
|
|
105
|
-
if (!err.message.includes("Cannot find module")) {
|
|
106
|
-
sheu_1.default.error(`Failed to import ${fileName}:`);
|
|
107
|
-
console.error(err);
|
|
108
|
-
(0, cli_helpers_1.killServerChildProcess)();
|
|
109
|
-
process.exit(1);
|
|
110
|
-
}
|
|
111
|
-
});
|
|
112
|
-
if (module)
|
|
113
|
-
result[key] = module.default;
|
|
114
|
-
}
|
|
115
|
-
catch (error) {
|
|
116
|
-
console.error(error);
|
|
117
|
-
}
|
|
118
|
-
}));
|
|
119
|
-
}
|
|
120
|
-
catch (error) {
|
|
121
|
-
console.error(error);
|
|
122
|
-
}
|
|
123
|
-
return result;
|
|
124
|
-
}
|
|
125
|
-
function validateNamingConventions(key, fileName, result) {
|
|
126
|
-
if (key === "prismaQueryOptions") {
|
|
127
|
-
if (result.prismaQueryOptions) {
|
|
128
|
-
(0, cli_helpers_1.killServerChildProcess)();
|
|
129
|
-
throw new Error(`\n Cannot use both ${fileName} and ${fileName.replace("prisma-query-options", "query")} at once, please choose only one name convention. \n`);
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
else if (key === "prismaQueryOptionsNew") {
|
|
133
|
-
if (result.prismaQueryOptions) {
|
|
134
|
-
(0, cli_helpers_1.killServerChildProcess)();
|
|
135
|
-
throw new Error(`\n Cannot use both ${fileName} and ${fileName.replace("query", "prisma-query-options")} at once, please choose only one name convention. \n`);
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
else if (key === "authConfigs") {
|
|
139
|
-
if (result.authConfigs) {
|
|
140
|
-
(0, cli_helpers_1.killServerChildProcess)();
|
|
141
|
-
throw new Error(`\n Cannot use both ${fileName} and ${fileName.replace("auth-configs", "auth")} at once, please choose only one name convention. \n`);
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
else if (key === "authConfigsNew") {
|
|
145
|
-
if (result.authConfigs) {
|
|
146
|
-
(0, cli_helpers_1.killServerChildProcess)();
|
|
147
|
-
throw new Error(`\n Cannot use both ${fileName} and ${fileName.replace("auth", "auth-configs")} at once, please choose only one name convention. \n`);
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
function assignModuleToResult(key, module, result) {
|
|
152
|
-
if (key === "prismaQueryOptions" || key === "prismaQueryOptionsNew") {
|
|
153
|
-
result.prismaQueryOptions = module.default || module;
|
|
154
|
-
}
|
|
155
|
-
else if (key === "authConfigs" || key === "authConfigsNew") {
|
|
156
|
-
result.authConfigs = module.default || module;
|
|
157
|
-
}
|
|
158
|
-
else if (key === "middlewares" || key === "router") {
|
|
159
|
-
result[key] = module;
|
|
160
|
-
}
|
|
161
|
-
else {
|
|
162
|
-
result[key] = module.default || module;
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
async function importPrismaModelModules(modelName, arkosConfig) {
|
|
166
|
-
const moduleDir = path_1.default.resolve((0, fs_helpers_1.crd)(), "src", "modules", (0, change_case_helpers_1.kebabCase)(modelName));
|
|
167
|
-
const result = {
|
|
168
|
-
dtos: {},
|
|
169
|
-
schemas: {},
|
|
170
|
-
};
|
|
171
|
-
if (getModelModules(modelName))
|
|
172
|
-
return getModelModules(modelName);
|
|
173
|
-
const fileStructure = getFileModelModulesFileStructure(modelName);
|
|
174
|
-
await Promise.all(Object.entries(fileStructure.core).map(async ([key, fileName]) => {
|
|
175
|
-
const filePath = path_1.default.join(moduleDir, fileName);
|
|
176
|
-
try {
|
|
177
|
-
const module = await (0, global_helpers_1.importModule)(filePath).catch((err) => {
|
|
178
|
-
if (!err.message.includes("Cannot find module")) {
|
|
179
|
-
sheu_1.default.error(`Failed to import ${fileName}:`);
|
|
180
|
-
console.error(err);
|
|
181
|
-
(0, cli_helpers_1.killServerChildProcess)();
|
|
182
|
-
process.exit(1);
|
|
183
|
-
}
|
|
184
|
-
});
|
|
185
|
-
if (module) {
|
|
186
|
-
validateNamingConventions(key, fileName, result);
|
|
187
|
-
assignModuleToResult(key, module, result);
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
catch (err) {
|
|
191
|
-
if (err.message.includes("Cannot use both"))
|
|
192
|
-
throw err;
|
|
193
|
-
console.error(err);
|
|
194
|
-
(0, cli_helpers_1.killServerChildProcess)();
|
|
195
|
-
}
|
|
196
|
-
}));
|
|
197
|
-
const validationSubdir = arkosConfig.validation?.resolver
|
|
198
|
-
? arkosConfig.validation.resolver === "zod"
|
|
199
|
-
? "schemas"
|
|
200
|
-
: "dtos"
|
|
201
|
-
: null;
|
|
202
|
-
let validators = {};
|
|
203
|
-
if (validationSubdir)
|
|
204
|
-
validators = await processSubdir(modelName, validationSubdir);
|
|
205
|
-
prismaModelsModules[modelName] = {
|
|
206
|
-
...result,
|
|
207
|
-
...(validationSubdir && { [validationSubdir]: validators }),
|
|
208
|
-
};
|
|
209
|
-
return {
|
|
210
|
-
...result,
|
|
211
|
-
...(validationSubdir && { [validationSubdir]: validators }),
|
|
212
|
-
};
|
|
213
|
-
}
|
|
214
|
-
exports.prismaModelRelationFields = {};
|
|
215
|
-
function getAllPrismaFiles(dirPath, fileList = []) {
|
|
216
|
-
const files = fs_1.default.readdirSync(dirPath);
|
|
217
|
-
files?.forEach((file) => {
|
|
218
|
-
const filePath = path_1.default.join(dirPath, file);
|
|
219
|
-
const stat = fs_1.default.statSync(filePath);
|
|
220
|
-
if (stat.isDirectory() && file !== "migrations") {
|
|
221
|
-
fileList = getAllPrismaFiles(filePath, fileList);
|
|
222
|
-
}
|
|
223
|
-
else if (stat.isFile() && file.endsWith(".prisma")) {
|
|
224
|
-
fileList.push(filePath);
|
|
225
|
-
}
|
|
226
|
-
});
|
|
227
|
-
return fileList;
|
|
228
|
-
}
|
|
229
|
-
const modelRegex = /model\s+(\w+)\s*{/g;
|
|
230
|
-
exports.models = [];
|
|
231
|
-
exports.prismaModelsUniqueFields = [];
|
|
232
|
-
function initializePrismaModels() {
|
|
233
|
-
const copiedContent = getPrismaSchemasContent();
|
|
234
|
-
for (const model of exports.models) {
|
|
235
|
-
const modelName = (0, change_case_helpers_1.pascalCase)(model);
|
|
236
|
-
const modelStart = copiedContent.indexOf(`model ${modelName} {`);
|
|
237
|
-
const modelEnd = copiedContent.indexOf("}", modelStart);
|
|
238
|
-
const modelDefinition = copiedContent.slice(modelStart, modelEnd);
|
|
239
|
-
const relations = {
|
|
240
|
-
singular: [],
|
|
241
|
-
list: [],
|
|
242
|
-
};
|
|
243
|
-
const lines = modelDefinition.split("\n");
|
|
244
|
-
for (const line of lines) {
|
|
245
|
-
const trimmedLine = line.trim();
|
|
246
|
-
if (!trimmedLine ||
|
|
247
|
-
trimmedLine.startsWith("model") ||
|
|
248
|
-
trimmedLine.startsWith("//") ||
|
|
249
|
-
trimmedLine.startsWith("/*"))
|
|
250
|
-
continue;
|
|
251
|
-
const [fieldName, type] = trimmedLine.split(/\s+/);
|
|
252
|
-
const isUnique = trimmedLine?.includes?.("@unique");
|
|
253
|
-
if (isUnique) {
|
|
254
|
-
const existingFields = exports.prismaModelsUniqueFields[model] || [];
|
|
255
|
-
const alreadyExists = existingFields.some((field) => field.name === fieldName &&
|
|
256
|
-
field.type === type &&
|
|
257
|
-
field.isUnique === isUnique);
|
|
258
|
-
if (!alreadyExists) {
|
|
259
|
-
exports.prismaModelsUniqueFields[model] = [
|
|
260
|
-
...existingFields,
|
|
261
|
-
{ name: fieldName, type, isUnique },
|
|
262
|
-
];
|
|
263
|
-
}
|
|
264
|
-
}
|
|
265
|
-
const cleanType = type?.replace("[]", "").replace("?", "");
|
|
266
|
-
if (trimmedLine?.includes?.("@relation") ||
|
|
267
|
-
trimmedLine.match(/\s+\w+(\[\])?(\s+@|$)/) ||
|
|
268
|
-
exports.models?.includes?.((0, change_case_helpers_1.camelCase)(cleanType || ""))) {
|
|
269
|
-
const enumStart = copiedContent.indexOf(`enum ${cleanType} {`);
|
|
270
|
-
const typeStart = copiedContent.indexOf(`type ${cleanType} {`);
|
|
271
|
-
if (!cleanType ||
|
|
272
|
-
enumStart >= 0 ||
|
|
273
|
-
typeStart >= 0 ||
|
|
274
|
-
cleanType === "String" ||
|
|
275
|
-
cleanType === "Int" ||
|
|
276
|
-
cleanType === "Float" ||
|
|
277
|
-
cleanType === "Boolean" ||
|
|
278
|
-
cleanType === "DateTime" ||
|
|
279
|
-
cleanType === "Bytes" ||
|
|
280
|
-
cleanType === "Decimal" ||
|
|
281
|
-
cleanType === "BigInt" ||
|
|
282
|
-
cleanType === "Json") {
|
|
283
|
-
continue;
|
|
284
|
-
}
|
|
285
|
-
if (!type?.includes?.("[]")) {
|
|
286
|
-
relations.singular.push({
|
|
287
|
-
name: fieldName,
|
|
288
|
-
type: cleanType,
|
|
289
|
-
});
|
|
290
|
-
}
|
|
291
|
-
else {
|
|
292
|
-
relations.list.push({
|
|
293
|
-
name: fieldName,
|
|
294
|
-
type: cleanType,
|
|
295
|
-
});
|
|
296
|
-
}
|
|
297
|
-
}
|
|
298
|
-
exports.prismaModelRelationFields[modelName] = relations;
|
|
299
|
-
}
|
|
300
|
-
}
|
|
301
|
-
}
|
|
302
|
-
function getPrismaModelRelations(modelName) {
|
|
303
|
-
modelName = (0, change_case_helpers_1.pascalCase)(modelName);
|
|
304
|
-
if (!(modelName in exports.prismaModelRelationFields))
|
|
305
|
-
return;
|
|
306
|
-
return exports.prismaModelRelationFields[modelName];
|
|
307
|
-
}
|
|
308
|
-
function getModels() {
|
|
309
|
-
return exports.models;
|
|
310
|
-
}
|
|
311
|
-
function getPrismaSchemasContent() {
|
|
312
|
-
if (exports.prismaSchemasContent)
|
|
313
|
-
return exports.prismaSchemasContent;
|
|
314
|
-
const prismaContent = [];
|
|
315
|
-
const files = getAllPrismaFiles("./prisma");
|
|
316
|
-
for (const file of files) {
|
|
317
|
-
const content = fs_1.default.readFileSync(file, "utf-8");
|
|
318
|
-
if (!prismaContent?.includes?.(content))
|
|
319
|
-
prismaContent.push(content);
|
|
320
|
-
}
|
|
321
|
-
const content = prismaContent
|
|
322
|
-
.join("\n")
|
|
323
|
-
.replace(modelRegex, (_, modelName) => {
|
|
324
|
-
if (!exports.models?.includes?.(modelName))
|
|
325
|
-
exports.models.push((0, change_case_helpers_1.camelCase)(modelName.trim()));
|
|
326
|
-
return `model ${modelName} {`;
|
|
327
|
-
});
|
|
328
|
-
return content;
|
|
329
|
-
}
|
|
330
|
-
function getModelUniqueFields(modelName) {
|
|
331
|
-
return exports.prismaModelsUniqueFields[modelName];
|
|
332
|
-
}
|
|
333
|
-
async function localValidatorFileExists(action, modelName, arkosConfig) {
|
|
334
|
-
if (arkosConfig?.swagger?.mode === "prisma")
|
|
335
|
-
return false;
|
|
336
|
-
const modelModules = await importPrismaModelModules(modelName, arkosConfig);
|
|
337
|
-
return !!modelModules?.[arkosConfig.validation?.resolver === "zod" ? "schemas" : "dtos"]?.[(0, change_case_helpers_1.camelCase)(action)];
|
|
338
|
-
}
|
|
339
|
-
//# sourceMappingURL=models.helpers.js.map
|
|
1
|
+
"use strict";var __importDefault=this&&this.__importDefault||function(s){return s&&s.__esModule?s:{default:s}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.prismaModelsUniqueFields=exports.prismaSchemasContent=exports.models=exports.prismaModelRelationFields=void 0,exports.setModelModules=setModelModules,exports.getModelModules=getModelModules,exports.getFileModelModulesFileStructure=getFileModelModulesFileStructure,exports.processSubdir=processSubdir,exports.validateNamingConventions=validateNamingConventions,exports.assignModuleToResult=assignModuleToResult,exports.importPrismaModelModules=importPrismaModelModules,exports.getAllPrismaFiles=getAllPrismaFiles,exports.initializePrismaModels=initializePrismaModels,exports.getPrismaModelRelations=getPrismaModelRelations,exports.getPrismaSchemasContent=getPrismaSchemasContent,exports.localValidatorFileExists=localValidatorFileExists,exports.getModels=getModels,exports.getModelUniqueFields=getModelUniqueFields;const path_1=__importDefault(require("path")),fs_1=__importDefault(require("fs")),change_case_helpers_1=require("../../utils/helpers/change-case.helpers"),fs_helpers_1=require("./fs.helpers"),global_helpers_1=require("./global.helpers"),cli_helpers_1=require("../cli/utils/cli.helpers"),sheu_1=__importDefault(require("../sheu"));let prismaModelsModules={};function setModelModules(s,e){prismaModelsModules[(0,change_case_helpers_1.kebabCase)(s)]=e}function getModelModules(s){return prismaModelsModules[(0,change_case_helpers_1.kebabCase)(s)]}function getFileModelModulesFileStructure(s){const e=(0,change_case_helpers_1.kebabCase)(s).toLowerCase(),o=s.toLowerCase()==="auth",t=(0,fs_helpers_1.getUserFileExtension)();return{core:{service:`${e}.service.${t}`,controller:`${e}.controller.${t}`,middlewares:`${e}.middlewares.${t}`,authConfigs:`${e}.auth-configs.${t}`,authConfigsNew:`${e}.auth.${t}`,prismaQueryOptions:`${e}.prisma-query-options.${t}`,prismaQueryOptionsNew:`${e}.query.${t}`,router:`${e}.router.${t}`},dtos:o?{login:`login.dto.${t}`,signup:`signup.dto.${t}`,getMe:`get-me.dto.${t}`,updateMe:`update-me.dto.${t}`,updatePassword:`update-password.dto.${t}`}:{model:`${e}.dto.${t}`,create:`create-${e}.dto.${t}`,createOne:`create-${e}.dto.${t}`,createMany:`create-many-${e}.dto.${t}`,update:`update-${e}.dto.${t}`,updateOne:`update-${e}.dto.${t}`,updateMany:`update-many-${e}.dto.${t}`,query:`query-${e}.dto.${t}`,findOne:`find-one-${e}.dto.${t}`,findMany:`find-many-${e}.dto.${t}`},schemas:o?{login:`login.schema.${t}`,signup:`signup.schema.${t}`,getMe:`get-me.schema.${t}`,updateMe:`update-me.schema.${t}`,updatePassword:`update-password.schema.${t}`}:{model:`${e}.schema.${t}`,create:`create-${e}.schema.${t}`,createOne:`create-${e}.schema.${t}`,createMany:`create-many-${e}.schema.${t}`,update:`update-${e}.schema.${t}`,updateOne:`update-${e}.schema.${t}`,updateMany:`update-many-${e}.schema.${t}`,query:`query-${e}.schema.${t}`,findOne:`find-one-${e}.schema.${t}`,findMany:`find-many-${e}.schema.${t}`}}}async function processSubdir(s,e){const o=path_1.default.resolve((0,fs_helpers_1.crd)(),"src","modules",(0,change_case_helpers_1.kebabCase)(s)),t=path_1.default.join(o,e),n=getFileModelModulesFileStructure(s),a={};try{await fs_1.default.promises.access(t).catch(()=>{}),await Promise.all(Object.entries(n[e]).map(async([c,d])=>{const u=path_1.default.join(t,d);try{const r=await(0,global_helpers_1.importModule)(u).catch(l=>{l.message.includes("Cannot find module")||(sheu_1.default.error(`Failed to import ${d}:`),console.error(l),(0,cli_helpers_1.killServerChildProcess)(),process.exit(1))});r&&(a[c]=r.default)}catch(r){console.error(r)}}))}catch(c){console.error(c)}return a}function validateNamingConventions(s,e,o){if(s==="prismaQueryOptions"){if(o.prismaQueryOptions)throw(0,cli_helpers_1.killServerChildProcess)(),new Error(`
|
|
2
|
+
Cannot use both ${e} and ${e.replace("prisma-query-options","query")} at once, please choose only one name convention.
|
|
3
|
+
`)}else if(s==="prismaQueryOptionsNew"){if(o.prismaQueryOptions)throw(0,cli_helpers_1.killServerChildProcess)(),new Error(`
|
|
4
|
+
Cannot use both ${e} and ${e.replace("query","prisma-query-options")} at once, please choose only one name convention.
|
|
5
|
+
`)}else if(s==="authConfigs"){if(o.authConfigs)throw(0,cli_helpers_1.killServerChildProcess)(),new Error(`
|
|
6
|
+
Cannot use both ${e} and ${e.replace("auth-configs","auth")} at once, please choose only one name convention.
|
|
7
|
+
`)}else if(s==="authConfigsNew"&&o.authConfigs)throw(0,cli_helpers_1.killServerChildProcess)(),new Error(`
|
|
8
|
+
Cannot use both ${e} and ${e.replace("auth","auth-configs")} at once, please choose only one name convention.
|
|
9
|
+
`)}function assignModuleToResult(s,e,o){s==="prismaQueryOptions"||s==="prismaQueryOptionsNew"?o.prismaQueryOptions=e.default||e:s==="authConfigs"||s==="authConfigsNew"?o.authConfigs=e.default||e:s==="middlewares"||s==="router"?o[s]=e:o[s]=e.default||e}async function importPrismaModelModules(s,e){const o=path_1.default.resolve((0,fs_helpers_1.crd)(),"src","modules",(0,change_case_helpers_1.kebabCase)(s)),t={dtos:{},schemas:{}};if(getModelModules(s))return getModelModules(s);const n=getFileModelModulesFileStructure(s);await Promise.all(Object.entries(n.core).map(async([d,u])=>{const r=path_1.default.join(o,u);try{const l=await(0,global_helpers_1.importModule)(r).catch(p=>{p.message.includes("Cannot find module")||(sheu_1.default.error(`Failed to import ${u}:`),console.error(p),(0,cli_helpers_1.killServerChildProcess)(),process.exit(1))});l&&(validateNamingConventions(d,u,t),assignModuleToResult(d,l,t))}catch(l){if(l.message.includes("Cannot use both"))throw l;console.error(l),(0,cli_helpers_1.killServerChildProcess)()}}));const a=e.validation?.resolver?e.validation.resolver==="zod"?"schemas":"dtos":null;let c={};return a&&(c=await processSubdir(s,a)),prismaModelsModules[s]={...t,...a&&{[a]:c}},{...t,...a&&{[a]:c}}}exports.prismaModelRelationFields={};function getAllPrismaFiles(s,e=[]){return fs_1.default.readdirSync(s)?.forEach(t=>{const n=path_1.default.join(s,t),a=fs_1.default.statSync(n);a.isDirectory()&&t!=="migrations"?e=getAllPrismaFiles(n,e):a.isFile()&&t.endsWith(".prisma")&&e.push(n)}),e}const modelRegex=/model\s+(\w+)\s*{/g;exports.models=[],exports.prismaModelsUniqueFields=[];function initializePrismaModels(){const s=getPrismaSchemasContent();for(const e of exports.models){const o=(0,change_case_helpers_1.pascalCase)(e),t=s.indexOf(`model ${o} {`),n=s.indexOf("}",t),a=s.slice(t,n),c={singular:[],list:[]},d=a.split(`
|
|
10
|
+
`);for(const u of d){const r=u.trim();if(!r||r.startsWith("model")||r.startsWith("//")||r.startsWith("/*"))continue;const[l,p]=r.split(/\s+/),h=r?.includes?.("@unique");if(h){const m=exports.prismaModelsUniqueFields[e]||[];m.some(f=>f.name===l&&f.type===p&&f.isUnique===h)||(exports.prismaModelsUniqueFields[e]=[...m,{name:l,type:p,isUnique:h}])}const i=p?.replace("[]","").replace("?","");if(r?.includes?.("@relation")||r.match(/\s+\w+(\[\])?(\s+@|$)/)||exports.models?.includes?.((0,change_case_helpers_1.camelCase)(i||""))){const m=s.indexOf(`enum ${i} {`),$=s.indexOf(`type ${i} {`);if(!i||m>=0||$>=0||i==="String"||i==="Int"||i==="Float"||i==="Boolean"||i==="DateTime"||i==="Bytes"||i==="Decimal"||i==="BigInt"||i==="Json")continue;p?.includes?.("[]")?c.list.push({name:l,type:i}):c.singular.push({name:l,type:i})}exports.prismaModelRelationFields[o]=c}}}function getPrismaModelRelations(s){if(s=(0,change_case_helpers_1.pascalCase)(s),s in exports.prismaModelRelationFields)return exports.prismaModelRelationFields[s]}function getModels(){return exports.models}function getPrismaSchemasContent(){if(exports.prismaSchemasContent)return exports.prismaSchemasContent;const s=[],e=getAllPrismaFiles("./prisma");for(const t of e){const n=fs_1.default.readFileSync(t,"utf-8");s?.includes?.(n)||s.push(n)}return s.join(`
|
|
11
|
+
`).replace(modelRegex,(t,n)=>(exports.models?.includes?.(n)||exports.models.push((0,change_case_helpers_1.camelCase)(n.trim())),`model ${n} {`))}function getModelUniqueFields(s){return exports.prismaModelsUniqueFields[s]}async function localValidatorFileExists(s,e,o){return o?.swagger?.mode==="prisma"?!1:!!(await importPrismaModelModules(e,o))?.[o.validation?.resolver==="zod"?"schemas":"dtos"]?.[(0,change_case_helpers_1.camelCase)(s)]}
|
|
@@ -1,52 +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.checkDatabaseConnection = exports.prismaInstance = void 0;
|
|
7
|
-
exports.loadPrismaModule = loadPrismaModule;
|
|
8
|
-
exports.getPrismaInstance = getPrismaInstance;
|
|
9
|
-
const fs_1 = __importDefault(require("fs"));
|
|
10
|
-
const catch_async_1 = __importDefault(require("../../modules/error-handler/utils/catch-async"));
|
|
11
|
-
const app_error_1 = __importDefault(require("../../modules/error-handler/utils/app-error"));
|
|
12
|
-
const fs_helpers_1 = require("./fs.helpers");
|
|
13
|
-
const global_helpers_1 = require("./global.helpers");
|
|
14
|
-
exports.prismaInstance = null;
|
|
15
|
-
async function loadPrismaModule() {
|
|
16
|
-
if (!exports.prismaInstance) {
|
|
17
|
-
try {
|
|
18
|
-
let prismaPath = `${(0, fs_helpers_1.crd)()}/src/utils/prisma.${(0, fs_helpers_1.getUserFileExtension)()}`;
|
|
19
|
-
if (!fs_1.default.existsSync(prismaPath))
|
|
20
|
-
prismaPath = `${(0, fs_helpers_1.crd)()}/src/utils/prisma/index.${(0, fs_helpers_1.getUserFileExtension)()}`;
|
|
21
|
-
if (!fs_1.default.existsSync(prismaPath))
|
|
22
|
-
throw new Error("Could not found exported prisma insteance");
|
|
23
|
-
const prismaModule = await (0, global_helpers_1.importModule)(prismaPath, {
|
|
24
|
-
fixExtension: false,
|
|
25
|
-
});
|
|
26
|
-
exports.prismaInstance = prismaModule.default || prismaModule.prisma;
|
|
27
|
-
if (!exports.prismaInstance)
|
|
28
|
-
throw new Error("Prisma not found");
|
|
29
|
-
}
|
|
30
|
-
catch (error) {
|
|
31
|
-
if (error.message === "Prisma not found")
|
|
32
|
-
throw new app_error_1.default(`Could not initialize Prisma module. Make sure your prisma instance is exported under src/utils/prisma.${(0, fs_helpers_1.getUserFileExtension)()} or src/utils/prisma/index.${(0, fs_helpers_1.getUserFileExtension)()}, read more about Arkos' Project Structure under https://www.arkosjs.com/docs/project-structure#root-structure`, 500, {}, "PrismaInstanceNotFound");
|
|
33
|
-
throw error;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
return exports.prismaInstance;
|
|
37
|
-
}
|
|
38
|
-
function getPrismaInstance() {
|
|
39
|
-
return exports.prismaInstance;
|
|
40
|
-
}
|
|
41
|
-
exports.checkDatabaseConnection = (0, catch_async_1.default)(async (req, res, next) => {
|
|
42
|
-
const prisma = await loadPrismaModule();
|
|
43
|
-
try {
|
|
44
|
-
await prisma.$connect();
|
|
45
|
-
next();
|
|
46
|
-
}
|
|
47
|
-
catch (error) {
|
|
48
|
-
console.error("Database connection error", error.message);
|
|
49
|
-
next(new app_error_1.default(error.message, 503));
|
|
50
|
-
}
|
|
51
|
-
});
|
|
52
|
-
//# sourceMappingURL=prisma.helpers.js.map
|
|
1
|
+
"use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.checkDatabaseConnection=exports.prismaInstance=void 0,exports.loadPrismaModule=loadPrismaModule,exports.getPrismaInstance=getPrismaInstance;const fs_1=__importDefault(require("fs")),catch_async_1=__importDefault(require("../../modules/error-handler/utils/catch-async")),app_error_1=__importDefault(require("../../modules/error-handler/utils/app-error")),fs_helpers_1=require("./fs.helpers"),global_helpers_1=require("./global.helpers");exports.prismaInstance=null;async function loadPrismaModule(){if(!exports.prismaInstance)try{let e=`${(0,fs_helpers_1.crd)()}/src/utils/prisma.${(0,fs_helpers_1.getUserFileExtension)()}`;if(fs_1.default.existsSync(e)||(e=`${(0,fs_helpers_1.crd)()}/src/utils/prisma/index.${(0,fs_helpers_1.getUserFileExtension)()}`),!fs_1.default.existsSync(e))throw new Error("Could not found exported prisma insteance");const r=await(0,global_helpers_1.importModule)(e,{fixExtension:!1});if(exports.prismaInstance=r.default||r.prisma,!exports.prismaInstance)throw new Error("Prisma not found")}catch(e){throw e.message==="Prisma not found"?new app_error_1.default(`Could not initialize Prisma module. Make sure your prisma instance is exported under src/utils/prisma.${(0,fs_helpers_1.getUserFileExtension)()} or src/utils/prisma/index.${(0,fs_helpers_1.getUserFileExtension)()}, read more about Arkos' Project Structure under https://www.arkosjs.com/docs/project-structure#root-structure`,500,{},"PrismaInstanceNotFound"):e}return exports.prismaInstance}function getPrismaInstance(){return exports.prismaInstance}exports.checkDatabaseConnection=(0,catch_async_1.default)(async(e,r,s)=>{const o=await loadPrismaModule();try{await o.$connect(),s()}catch(t){console.error("Database connection error",t.message),s(new app_error_1.default(t.message,503))}});
|
|
@@ -1,45 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.queryParser = exports.parse = void 0;
|
|
4
|
-
const parse = (target, options) => {
|
|
5
|
-
switch (typeof target) {
|
|
6
|
-
case "string":
|
|
7
|
-
if (target === "") {
|
|
8
|
-
return "";
|
|
9
|
-
}
|
|
10
|
-
else if (options.parseNull && target === "null") {
|
|
11
|
-
return null;
|
|
12
|
-
}
|
|
13
|
-
else if (options.parseUndefined && target === "undefined") {
|
|
14
|
-
return undefined;
|
|
15
|
-
}
|
|
16
|
-
else if (options.parseBoolean &&
|
|
17
|
-
(target === "true" || target === "false")) {
|
|
18
|
-
return target === "true";
|
|
19
|
-
}
|
|
20
|
-
else if (options.parseNumber && !isNaN(Number(target))) {
|
|
21
|
-
return Number(target);
|
|
22
|
-
}
|
|
23
|
-
else {
|
|
24
|
-
return target;
|
|
25
|
-
}
|
|
26
|
-
case "object":
|
|
27
|
-
if (Array.isArray(target)) {
|
|
28
|
-
return target.map((x) => (0, exports.parse)(x, options));
|
|
29
|
-
}
|
|
30
|
-
else {
|
|
31
|
-
const obj = target;
|
|
32
|
-
Object.keys(obj).map((key) => (obj[key] = (0, exports.parse)(target[key], options)));
|
|
33
|
-
return obj;
|
|
34
|
-
}
|
|
35
|
-
default:
|
|
36
|
-
return target;
|
|
37
|
-
}
|
|
38
|
-
};
|
|
39
|
-
exports.parse = parse;
|
|
40
|
-
const queryParser = (options) => (req, res, next) => {
|
|
41
|
-
req.query = (0, exports.parse)(req.query, options);
|
|
42
|
-
next();
|
|
43
|
-
};
|
|
44
|
-
exports.queryParser = queryParser;
|
|
45
|
-
//# sourceMappingURL=query-parser.helpers.js.map
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.queryParser=exports.parse=void 0;const parse=(e,r)=>{switch(typeof e){case"string":return e===""?"":r.parseNull&&e==="null"?null:r.parseUndefined&&e==="undefined"?void 0:r.parseBoolean&&(e==="true"||e==="false")?e==="true":r.parseNumber&&!isNaN(Number(e))?Number(e):e;case"object":if(Array.isArray(e))return e.map(s=>(0,exports.parse)(s,r));{const s=e;return Object.keys(s).map(u=>s[u]=(0,exports.parse)(e[u],r)),s}default:return e}};exports.parse=parse;const queryParser=e=>(r,s,u)=>{r.query=(0,exports.parse)(r.query,e),u()};exports.queryParser=queryParser;
|
|
@@ -1,21 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.processMiddleware = exports.safeCatchAsync = void 0;
|
|
4
|
-
const error_handler_1 = require("../../exports/error-handler");
|
|
5
|
-
const safeCatchAsync = (middleware) => {
|
|
6
|
-
return middleware ? (0, error_handler_1.catchAsync)(middleware) : undefined;
|
|
7
|
-
};
|
|
8
|
-
exports.safeCatchAsync = safeCatchAsync;
|
|
9
|
-
const processMiddleware = (middleware) => {
|
|
10
|
-
if (!middleware)
|
|
11
|
-
return [];
|
|
12
|
-
if (Array.isArray(middleware)) {
|
|
13
|
-
return middleware
|
|
14
|
-
.filter((mw) => !!mw)
|
|
15
|
-
.map((mw) => (0, exports.safeCatchAsync)(mw));
|
|
16
|
-
}
|
|
17
|
-
else
|
|
18
|
-
return [(0, exports.safeCatchAsync)(middleware)];
|
|
19
|
-
};
|
|
20
|
-
exports.processMiddleware = processMiddleware;
|
|
21
|
-
//# sourceMappingURL=routers.helpers.js.map
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.processMiddleware=exports.safeCatchAsync=void 0;const error_handler_1=require("../../exports/error-handler"),safeCatchAsync=e=>e?(0,error_handler_1.catchAsync)(e):void 0;exports.safeCatchAsync=safeCatchAsync;const processMiddleware=e=>e?Array.isArray(e)?e.filter(r=>!!r).map(r=>(0,exports.safeCatchAsync)(r)):[(0,exports.safeCatchAsync)(e)]:[];exports.processMiddleware=processMiddleware;
|