arkos 1.3.1-beta → 1.3.2-beta
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 +139 -1
- package/dist/cjs/exports/auth/index.js +6 -1
- package/dist/cjs/exports/controllers/index.js +11 -1
- package/dist/cjs/exports/error-handler/index.js +11 -1
- package/dist/cjs/exports/index.js +12 -1
- package/dist/cjs/exports/middlewares/index.js +7 -1
- package/dist/cjs/exports/prisma/index.js +13 -1
- package/dist/cjs/exports/services/index.js +48 -1
- package/dist/cjs/exports/utils/index.js +44 -1
- package/dist/cjs/exports/validation/index.js +11 -1
- package/dist/cjs/modules/auth/auth.controller.js +229 -1
- package/dist/cjs/modules/auth/auth.controller.js.map +1 -1
- package/dist/cjs/modules/auth/auth.router.js +82 -1
- package/dist/cjs/modules/auth/auth.router.js.map +1 -1
- package/dist/cjs/modules/auth/auth.service.js +226 -1
- package/dist/cjs/modules/auth/utils/auth-error-objects.js +10 -1
- package/dist/cjs/modules/auth/utils/helpers/auth.controller.helpers.js +83 -1
- package/dist/cjs/modules/auth/utils/services/auth-action.service.js +92 -1
- package/dist/cjs/modules/auth/utils/services/auth-action.service.js.map +1 -1
- package/dist/cjs/modules/base/base.controller.js +172 -1
- package/dist/cjs/modules/base/base.middlewares.js +92 -1
- package/dist/cjs/modules/base/base.router.js +22 -1
- package/dist/cjs/modules/base/base.service.js +507 -1
- package/dist/cjs/modules/base/base.service.js.map +1 -1
- package/dist/cjs/modules/base/types/base.service.types.js +3 -1
- package/dist/cjs/modules/base/types/base.service.types.js.map +1 -1
- package/dist/cjs/modules/base/utils/helpers/base.controller.helpers.js +80 -1
- package/dist/cjs/modules/base/utils/helpers/base.middlewares.helpers.js +50 -1
- package/dist/cjs/modules/base/utils/helpers/base.router.helpers.js +104 -1
- package/dist/cjs/modules/base/utils/helpers/base.service.helpers.js +208 -1
- package/dist/cjs/modules/base/utils/router-validator.js +16 -1
- package/dist/cjs/modules/base/utils/service-hooks-manager.js +19 -1
- package/dist/cjs/modules/email/email.service.js +104 -1
- package/dist/cjs/modules/error-handler/error-handler.controller.js +146 -4
- package/dist/cjs/modules/error-handler/utils/app-error.js +17 -1
- package/dist/cjs/modules/error-handler/utils/catch-async.js +21 -1
- package/dist/cjs/modules/error-handler/utils/error-handler.helpers.js +205 -3
- package/dist/cjs/modules/file-upload/file-upload.controller.js +233 -1
- package/dist/cjs/modules/file-upload/file-upload.router.js +60 -1
- package/dist/cjs/modules/file-upload/file-upload.service.js +322 -1
- package/dist/cjs/modules/file-upload/utils/helpers/file-upload.helpers.js +97 -1
- package/dist/cjs/modules/swagger/swagger.router.js +38 -1
- package/dist/cjs/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js +338 -1
- package/dist/cjs/modules/swagger/utils/helpers/get-swagger-default-configs.js +64 -1
- package/dist/cjs/modules/swagger/utils/helpers/get-system-json-schema-paths.js +37 -1
- package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js +48 -1
- package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js +32 -1
- package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-system-json-schemas.js +49 -1
- package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.js +34 -1
- package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.js +471 -1
- package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes-paths.js +572 -1
- package/dist/cjs/modules/swagger/utils/helpers/missing-json-schemas-generator.js +260 -1
- package/dist/cjs/modules/swagger/utils/helpers/swagger.router.helpers.js +112 -1
- package/dist/cjs/paths.js +9 -1
- package/dist/cjs/server.js +94 -5
- package/dist/cjs/types/arkos-config.js +3 -1
- package/dist/cjs/types/arkos-config.js.map +1 -1
- package/dist/cjs/types/auth.js +3 -1
- package/dist/cjs/types/index.js +11 -1
- package/dist/cjs/types/router-config.js +3 -1
- package/dist/cjs/utils/arkos-env.js +9 -1
- package/dist/cjs/utils/cli/build.js +214 -5
- package/dist/cjs/utils/cli/dev.js +154 -3
- package/dist/cjs/utils/cli/generate.js +109 -1
- package/dist/cjs/utils/cli/index.js +104 -1
- package/dist/cjs/utils/cli/index.js.map +1 -1
- package/dist/cjs/utils/cli/prisma-generate.js +120 -0
- package/dist/cjs/utils/cli/prisma-generate.js.map +1 -0
- package/dist/cjs/utils/cli/start.js +103 -1
- package/dist/cjs/utils/cli/utils/cli.helpers.js +24 -1
- package/dist/cjs/utils/cli/utils/smart-fs-watcher.js +73 -1
- package/dist/cjs/utils/cli/utils/template-generator/templates/auth-configs-template.js +36 -0
- package/dist/cjs/utils/cli/utils/template-generator/templates/auth-configs-template.js.map +1 -0
- package/dist/cjs/utils/cli/utils/template-generator/templates/controller-template.js +21 -0
- package/dist/cjs/utils/cli/utils/template-generator/templates/controller-template.js.map +1 -0
- package/dist/cjs/utils/cli/utils/template-generator/templates/hooks-template.js +201 -0
- package/dist/cjs/utils/cli/utils/template-generator/templates/hooks-template.js.map +1 -0
- package/dist/cjs/utils/cli/utils/template-generator/templates/middlewares-template.js +288 -0
- package/dist/cjs/utils/cli/utils/template-generator/templates/{generate-middlewares.js.map → middlewares-template.js.map} +1 -1
- package/dist/cjs/utils/cli/utils/template-generator/templates/query-options-template.js +64 -0
- package/dist/cjs/utils/cli/utils/template-generator/templates/query-options-template.js.map +1 -0
- package/dist/cjs/utils/cli/utils/template-generator/templates/router-template.js +45 -0
- package/dist/cjs/utils/cli/utils/template-generator/templates/router-template.js.map +1 -0
- package/dist/cjs/utils/cli/utils/template-generator/templates/service-template.js +29 -0
- package/dist/cjs/utils/cli/utils/template-generator/templates/service-template.js.map +1 -0
- package/dist/cjs/utils/cli/utils/template-generators.js +34 -2
- package/dist/cjs/utils/cli/utils/template-generators.js.map +1 -1
- package/dist/cjs/utils/cli/utils/watermark-stamper.js +17 -3
- package/dist/cjs/utils/dotenv.helpers.js +43 -1
- package/dist/cjs/utils/dynamic-loader.js +270 -9
- package/dist/cjs/utils/features/api.features.js +169 -1
- package/dist/cjs/utils/features/change-case.features.js +67 -1
- package/dist/cjs/utils/features/port-and-host-allocator.js +105 -1
- package/dist/cjs/utils/helpers/api.features.helpers.js +112 -1
- package/dist/cjs/utils/helpers/change-case.helpers.js +177 -1
- package/dist/cjs/utils/helpers/deepmerge.helper.js +115 -1
- package/dist/cjs/utils/helpers/dynamic-loader.helpers.js +76 -1
- package/dist/cjs/utils/helpers/fs.helpers.js +57 -1
- package/dist/cjs/utils/helpers/global.helpers.js +94 -1
- package/dist/cjs/utils/helpers/prisma.helpers.js +40 -1
- package/dist/cjs/utils/helpers/query-parser.helpers.js +45 -1
- package/dist/cjs/utils/helpers/routers.helpers.js +37 -1
- package/dist/cjs/utils/helpers/text.helpers.js +28 -1
- package/dist/cjs/utils/prisma/prisma-json-schema-generator.js +455 -1
- package/dist/cjs/utils/prisma/prisma-schema-parser.js +216 -4
- package/dist/cjs/utils/prisma/types.js +3 -1
- package/dist/cjs/utils/sheu.js +120 -1
- package/dist/cjs/utils/validate-dto.js +17 -1
- package/dist/cjs/utils/validate-schema.js +15 -1
- package/dist/esm/app.js +132 -1
- package/dist/esm/exports/auth/index.js +2 -1
- package/dist/esm/exports/controllers/index.js +4 -1
- package/dist/esm/exports/error-handler/index.js +4 -1
- package/dist/esm/exports/index.js +8 -1
- package/dist/esm/exports/middlewares/index.js +2 -1
- package/dist/esm/exports/prisma/index.js +6 -1
- package/dist/esm/exports/services/index.js +9 -1
- package/dist/esm/exports/utils/index.js +4 -1
- package/dist/esm/exports/validation/index.js +4 -1
- package/dist/esm/modules/auth/auth.controller.js +222 -1
- package/dist/esm/modules/auth/auth.controller.js.map +1 -1
- package/dist/esm/modules/auth/auth.router.js +76 -1
- package/dist/esm/modules/auth/auth.router.js.map +1 -1
- package/dist/esm/modules/auth/auth.service.js +219 -1
- package/dist/esm/modules/auth/utils/auth-error-objects.js +4 -1
- package/dist/esm/modules/auth/utils/helpers/auth.controller.helpers.js +73 -1
- package/dist/esm/modules/auth/utils/services/auth-action.service.js +90 -1
- package/dist/esm/modules/auth/utils/services/auth-action.service.js.map +1 -1
- package/dist/esm/modules/base/base.controller.js +165 -1
- package/dist/esm/modules/base/base.middlewares.js +81 -1
- package/dist/esm/modules/base/base.router.js +15 -1
- package/dist/esm/modules/base/base.service.js +500 -1
- package/dist/esm/modules/base/base.service.js.map +1 -1
- package/dist/esm/modules/base/types/base.service.types.js +2 -1
- package/dist/esm/modules/base/types/base.service.types.js.map +1 -1
- package/dist/esm/modules/base/utils/helpers/base.controller.helpers.js +76 -1
- package/dist/esm/modules/base/utils/helpers/base.middlewares.helpers.js +44 -1
- package/dist/esm/modules/base/utils/helpers/base.router.helpers.js +96 -1
- package/dist/esm/modules/base/utils/helpers/base.service.helpers.js +198 -1
- package/dist/esm/modules/base/utils/router-validator.js +14 -1
- package/dist/esm/modules/base/utils/service-hooks-manager.js +17 -1
- package/dist/esm/modules/email/email.service.js +97 -1
- package/dist/esm/modules/error-handler/error-handler.controller.js +107 -4
- package/dist/esm/modules/error-handler/utils/app-error.js +15 -1
- package/dist/esm/modules/error-handler/utils/catch-async.js +19 -1
- package/dist/esm/modules/error-handler/utils/error-handler.helpers.js +163 -3
- package/dist/esm/modules/file-upload/file-upload.controller.js +228 -1
- package/dist/esm/modules/file-upload/file-upload.router.js +54 -1
- package/dist/esm/modules/file-upload/file-upload.service.js +314 -1
- package/dist/esm/modules/file-upload/utils/helpers/file-upload.helpers.js +87 -1
- package/dist/esm/modules/swagger/swagger.router.js +32 -1
- package/dist/esm/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js +333 -1
- package/dist/esm/modules/swagger/utils/helpers/get-swagger-default-configs.js +58 -1
- package/dist/esm/modules/swagger/utils/helpers/get-system-json-schema-paths.js +34 -1
- package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js +42 -1
- package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js +26 -1
- package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-system-json-schemas.js +46 -1
- package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.js +28 -1
- package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.js +465 -1
- package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes-paths.js +566 -1
- package/dist/esm/modules/swagger/utils/helpers/missing-json-schemas-generator.js +255 -1
- package/dist/esm/modules/swagger/utils/helpers/swagger.router.helpers.js +101 -1
- package/dist/esm/paths.js +3 -1
- package/dist/esm/server.js +85 -5
- package/dist/esm/types/arkos-config.js +2 -1
- package/dist/esm/types/arkos-config.js.map +1 -1
- package/dist/esm/types/auth.js +2 -1
- package/dist/esm/types/index.js +8 -1
- package/dist/esm/types/router-config.js +2 -1
- package/dist/esm/utils/arkos-env.js +7 -1
- package/dist/esm/utils/cli/build.js +208 -5
- package/dist/esm/utils/cli/dev.js +147 -3
- package/dist/esm/utils/cli/generate.js +103 -1
- package/dist/esm/utils/cli/index.js +94 -1
- package/dist/esm/utils/cli/index.js.map +1 -1
- package/dist/esm/utils/cli/prisma-generate.js +114 -0
- package/dist/esm/utils/cli/prisma-generate.js.map +1 -0
- package/dist/esm/utils/cli/start.js +96 -1
- package/dist/esm/utils/cli/utils/cli.helpers.js +16 -1
- package/dist/esm/utils/cli/utils/smart-fs-watcher.js +68 -1
- package/dist/esm/utils/cli/utils/template-generator/templates/auth-configs-template.js +33 -0
- package/dist/esm/utils/cli/utils/template-generator/templates/auth-configs-template.js.map +1 -0
- package/dist/esm/utils/cli/utils/template-generator/templates/controller-template.js +18 -0
- package/dist/esm/utils/cli/utils/template-generator/templates/controller-template.js.map +1 -0
- package/dist/esm/utils/cli/utils/template-generator/templates/hooks-template.js +198 -0
- package/dist/esm/utils/cli/utils/template-generator/templates/hooks-template.js.map +1 -0
- package/dist/esm/utils/cli/utils/template-generator/templates/middlewares-template.js +285 -0
- package/dist/esm/utils/cli/utils/template-generator/templates/{generate-middlewares.js.map → middlewares-template.js.map} +1 -1
- package/dist/esm/utils/cli/utils/template-generator/templates/query-options-template.js +61 -0
- package/dist/esm/utils/cli/utils/template-generator/templates/query-options-template.js.map +1 -0
- package/dist/esm/utils/cli/utils/template-generator/templates/router-template.js +39 -0
- package/dist/esm/utils/cli/utils/template-generator/templates/router-template.js.map +1 -0
- package/dist/esm/utils/cli/utils/template-generator/templates/service-template.js +26 -0
- package/dist/esm/utils/cli/utils/template-generator/templates/service-template.js.map +1 -0
- package/dist/esm/utils/cli/utils/template-generators.js +28 -2
- package/dist/esm/utils/cli/utils/template-generators.js.map +1 -1
- package/dist/esm/utils/cli/utils/watermark-stamper.js +15 -3
- package/dist/esm/utils/dotenv.helpers.js +37 -1
- package/dist/esm/utils/dynamic-loader.js +254 -9
- package/dist/esm/utils/features/api.features.js +162 -1
- package/dist/esm/utils/features/change-case.features.js +31 -1
- package/dist/esm/utils/features/port-and-host-allocator.js +67 -1
- package/dist/esm/utils/helpers/api.features.helpers.js +106 -1
- package/dist/esm/utils/helpers/change-case.helpers.js +161 -1
- package/dist/esm/utils/helpers/deepmerge.helper.js +113 -1
- package/dist/esm/utils/helpers/dynamic-loader.helpers.js +69 -1
- package/dist/esm/utils/helpers/fs.helpers.js +48 -1
- package/dist/esm/utils/helpers/global.helpers.js +51 -1
- package/dist/esm/utils/helpers/prisma.helpers.js +32 -1
- package/dist/esm/utils/helpers/query-parser.helpers.js +40 -1
- package/dist/esm/utils/helpers/routers.helpers.js +29 -1
- package/dist/esm/utils/helpers/text.helpers.js +22 -1
- package/dist/esm/utils/prisma/prisma-json-schema-generator.js +448 -1
- package/dist/esm/utils/prisma/prisma-schema-parser.js +209 -4
- package/dist/esm/utils/prisma/types.js +2 -1
- package/dist/esm/utils/sheu.js +118 -1
- package/dist/esm/utils/validate-dto.js +11 -1
- package/dist/esm/utils/validate-schema.js +9 -1
- package/dist/types/modules/auth/utils/services/auth-action.service.d.ts +1 -1
- package/dist/types/modules/base/types/base.service.types.d.ts +12 -9
- package/dist/types/types/arkos-config.d.ts +3 -2
- package/dist/types/utils/cli/prisma-generate.d.ts +1 -0
- package/package.json +2 -2
- package/dist/cjs/utils/cli/utils/template-generator/templates/generate-auth-configs-template.js +0 -21
- package/dist/cjs/utils/cli/utils/template-generator/templates/generate-auth-configs-template.js.map +0 -1
- package/dist/cjs/utils/cli/utils/template-generator/templates/generate-controller-template.js +0 -12
- package/dist/cjs/utils/cli/utils/template-generator/templates/generate-controller-template.js.map +0 -1
- package/dist/cjs/utils/cli/utils/template-generator/templates/generate-hooks-template.js +0 -144
- package/dist/cjs/utils/cli/utils/template-generator/templates/generate-hooks-template.js.map +0 -1
- package/dist/cjs/utils/cli/utils/template-generator/templates/generate-middlewares.js +0 -256
- package/dist/cjs/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js +0 -36
- package/dist/cjs/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js.map +0 -1
- package/dist/cjs/utils/cli/utils/template-generator/templates/generate-router-template.js +0 -18
- package/dist/cjs/utils/cli/utils/template-generator/templates/generate-router-template.js.map +0 -1
- package/dist/cjs/utils/cli/utils/template-generator/templates/generate-service-template.js +0 -9
- package/dist/cjs/utils/cli/utils/template-generator/templates/generate-service-template.js.map +0 -1
- package/dist/esm/utils/cli/utils/template-generator/templates/generate-auth-configs-template.js +0 -21
- package/dist/esm/utils/cli/utils/template-generator/templates/generate-auth-configs-template.js.map +0 -1
- package/dist/esm/utils/cli/utils/template-generator/templates/generate-controller-template.js +0 -12
- package/dist/esm/utils/cli/utils/template-generator/templates/generate-controller-template.js.map +0 -1
- package/dist/esm/utils/cli/utils/template-generator/templates/generate-hooks-template.js +0 -144
- package/dist/esm/utils/cli/utils/template-generator/templates/generate-hooks-template.js.map +0 -1
- package/dist/esm/utils/cli/utils/template-generator/templates/generate-middlewares.js +0 -256
- package/dist/esm/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js +0 -36
- package/dist/esm/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js.map +0 -1
- package/dist/esm/utils/cli/utils/template-generator/templates/generate-router-template.js +0 -18
- package/dist/esm/utils/cli/utils/template-generator/templates/generate-router-template.js.map +0 -1
- package/dist/esm/utils/cli/utils/template-generator/templates/generate-service-template.js +0 -9
- package/dist/esm/utils/cli/utils/template-generator/templates/generate-service-template.js.map +0 -1
- /package/dist/types/utils/cli/utils/template-generator/templates/{generate-auth-configs-template.d.ts → auth-configs-template.d.ts} +0 -0
- /package/dist/types/utils/cli/utils/template-generator/templates/{generate-controller-template.d.ts → controller-template.d.ts} +0 -0
- /package/dist/types/utils/cli/utils/template-generator/templates/{generate-hooks-template.d.ts → hooks-template.d.ts} +0 -0
- /package/dist/types/utils/cli/utils/template-generator/templates/{generate-middlewares.d.ts → middlewares-template.d.ts} +0 -0
- /package/dist/types/utils/cli/utils/template-generator/templates/{generate-prisma-query-options.d.ts → query-options-template.d.ts} +0 -0
- /package/dist/types/utils/cli/utils/template-generator/templates/{generate-router-template.d.ts → router-template.d.ts} +0 -0
- /package/dist/types/utils/cli/utils/template-generator/templates/{generate-service-template.d.ts → service-template.d.ts} +0 -0
|
@@ -1,4 +1,216 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
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.PrismaSchemaParser = void 0;
|
|
7
|
+
const path_1 = __importDefault(require("path"));
|
|
8
|
+
const change_case_helpers_1 = require("../helpers/change-case.helpers");
|
|
9
|
+
const fs_1 = __importDefault(require("fs"));
|
|
10
|
+
class PrismaSchemaParser {
|
|
11
|
+
constructor() {
|
|
12
|
+
this.enums = [];
|
|
13
|
+
this.models = [];
|
|
14
|
+
this.prismaSchemasContent = "";
|
|
15
|
+
this.parsed = false;
|
|
16
|
+
this.parse();
|
|
17
|
+
}
|
|
18
|
+
parse({ override } = { override: false }) {
|
|
19
|
+
if (!this.parsed || override) {
|
|
20
|
+
this.enums = this.extractEnums();
|
|
21
|
+
this.models = this.extractModels();
|
|
22
|
+
this.parsed = true;
|
|
23
|
+
}
|
|
24
|
+
return {
|
|
25
|
+
models: this.models,
|
|
26
|
+
enums: this.enums,
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
extractEnums() {
|
|
30
|
+
const enums = [];
|
|
31
|
+
const schema = this.getPrismaSchemasContent() || "";
|
|
32
|
+
const enumBlocks = schema.match(/enum\s+\w+\s*\{[^}]*\}/g) || [];
|
|
33
|
+
for (const block of enumBlocks) {
|
|
34
|
+
const enumObj = this.parseEnumBlock(block);
|
|
35
|
+
if (enumObj) {
|
|
36
|
+
enums.push(enumObj);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return enums;
|
|
40
|
+
}
|
|
41
|
+
parseEnumBlock(block) {
|
|
42
|
+
const nameMatch = block.match(/enum\s+(\w+)/);
|
|
43
|
+
if (!nameMatch)
|
|
44
|
+
return null;
|
|
45
|
+
const name = nameMatch[1];
|
|
46
|
+
const values = block
|
|
47
|
+
.split("\n")
|
|
48
|
+
.map((line) => line.trim())
|
|
49
|
+
.filter((line) => line &&
|
|
50
|
+
!line.startsWith("enum") &&
|
|
51
|
+
!line.startsWith("{") &&
|
|
52
|
+
!line.startsWith("}"))
|
|
53
|
+
.map((line) => line.replace(/,$/, ""));
|
|
54
|
+
return { name, values };
|
|
55
|
+
}
|
|
56
|
+
extractModels() {
|
|
57
|
+
const models = [];
|
|
58
|
+
const modelBlocks = this.extractModelBlocks();
|
|
59
|
+
for (const block of modelBlocks) {
|
|
60
|
+
const model = this.parseModelBlock(block);
|
|
61
|
+
if (model) {
|
|
62
|
+
models.push(model);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
return models;
|
|
66
|
+
}
|
|
67
|
+
extractModelBlocks() {
|
|
68
|
+
const modelRegex = /model\s+\w+\s*\{((?:[^{}]*(?:\{[^{}]*\}[^{}]*)*)*)\}/g;
|
|
69
|
+
const schema = this.getPrismaSchemasContent() || "";
|
|
70
|
+
return schema.match(modelRegex) || [];
|
|
71
|
+
}
|
|
72
|
+
parseModelBlock(block) {
|
|
73
|
+
const nameMatch = block.match(/model\s+(\w+)/);
|
|
74
|
+
if (!nameMatch)
|
|
75
|
+
return null;
|
|
76
|
+
const name = nameMatch[1];
|
|
77
|
+
const fields = this.parseFields(block);
|
|
78
|
+
const mapMatch = block.match(/@@map\s*\(\s*"([^"]+)"\s*\)/);
|
|
79
|
+
const mapName = mapMatch ? mapMatch[1] : undefined;
|
|
80
|
+
return { name, fields, mapName };
|
|
81
|
+
}
|
|
82
|
+
parseFields(block) {
|
|
83
|
+
const fields = [];
|
|
84
|
+
const fieldLines = block
|
|
85
|
+
.split("\n")
|
|
86
|
+
.map((line) => line.trim())
|
|
87
|
+
.filter((line) => line &&
|
|
88
|
+
!line.startsWith("model") &&
|
|
89
|
+
!line.startsWith("{") &&
|
|
90
|
+
!line.startsWith("}"));
|
|
91
|
+
for (const line of fieldLines) {
|
|
92
|
+
if (line.startsWith("//") || line.startsWith("@@"))
|
|
93
|
+
continue;
|
|
94
|
+
const field = this.parseFieldLine(line);
|
|
95
|
+
if (field) {
|
|
96
|
+
fields.push(field);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
return fields;
|
|
100
|
+
}
|
|
101
|
+
parseFieldLine(line) {
|
|
102
|
+
const fieldMatch = line.match(/^(\w+)\s+(\w+(?:\[\])?)\??\s*(.*)/);
|
|
103
|
+
if (!fieldMatch)
|
|
104
|
+
return null;
|
|
105
|
+
const [, name, typeWithArray, attributesStr] = fieldMatch;
|
|
106
|
+
const isArray = typeWithArray.endsWith("[]");
|
|
107
|
+
const type = isArray ? typeWithArray.slice(0, -2) : typeWithArray;
|
|
108
|
+
const isOptional = line.includes("?");
|
|
109
|
+
const attributes = attributesStr
|
|
110
|
+
.split(/\s+/)
|
|
111
|
+
.filter((attr) => attr.startsWith("@"));
|
|
112
|
+
let defaultValue = undefined;
|
|
113
|
+
const defaultMatch = attributesStr.match(/@default\(([^)]+)\)/);
|
|
114
|
+
if (defaultMatch) {
|
|
115
|
+
defaultValue = this.parseDefaultValue(defaultMatch[1]);
|
|
116
|
+
}
|
|
117
|
+
let connectionField = "";
|
|
118
|
+
const relationMatch = attributesStr.match(/@relation\([^)]*fields:\s*\[([^\]]+)\]/);
|
|
119
|
+
if (relationMatch) {
|
|
120
|
+
connectionField = relationMatch[1].trim().replace(/['"]/g, "");
|
|
121
|
+
}
|
|
122
|
+
const isId = attributes.some((attr) => attr.startsWith("@id"));
|
|
123
|
+
const isUnique = attributes.some((attr) => attr.startsWith("@unique"));
|
|
124
|
+
const models = this.models;
|
|
125
|
+
return {
|
|
126
|
+
name,
|
|
127
|
+
type,
|
|
128
|
+
isOptional,
|
|
129
|
+
isRelation: models.map((model) => model.name).includes(type) ||
|
|
130
|
+
this.getPrismaSchemasContent().includes(`model ${type} {`),
|
|
131
|
+
isArray,
|
|
132
|
+
connectionField,
|
|
133
|
+
defaultValue,
|
|
134
|
+
isId,
|
|
135
|
+
isUnique,
|
|
136
|
+
attributes,
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
parseDefaultValue(defaultStr) {
|
|
140
|
+
defaultStr = defaultStr.trim();
|
|
141
|
+
if (defaultStr.startsWith('"') && defaultStr.endsWith('"'))
|
|
142
|
+
return defaultStr.slice(1, -1);
|
|
143
|
+
if (defaultStr === "true")
|
|
144
|
+
return true;
|
|
145
|
+
if (defaultStr === "false")
|
|
146
|
+
return false;
|
|
147
|
+
if (/^-?\d+$/.test(defaultStr))
|
|
148
|
+
return parseInt(defaultStr, 10);
|
|
149
|
+
if (/^-?\d+\.\d+$/.test(defaultStr))
|
|
150
|
+
return parseFloat(defaultStr);
|
|
151
|
+
if (!defaultStr.includes("("))
|
|
152
|
+
return defaultStr;
|
|
153
|
+
if (defaultStr.includes("("))
|
|
154
|
+
return undefined;
|
|
155
|
+
return defaultStr;
|
|
156
|
+
}
|
|
157
|
+
getPrismaSchemasContent() {
|
|
158
|
+
if (this.prismaSchemasContent)
|
|
159
|
+
return this.prismaSchemasContent;
|
|
160
|
+
const models = [];
|
|
161
|
+
const modelRegex = /model\s+(\w+)\s*{/g;
|
|
162
|
+
const prismaContent = [];
|
|
163
|
+
const prismaPath = path_1.default.resolve(process.cwd(), "prisma");
|
|
164
|
+
const files = this.getAllPrismaFiles(prismaPath);
|
|
165
|
+
for (const file of files) {
|
|
166
|
+
const content = fs_1.default.readFileSync(file, "utf-8");
|
|
167
|
+
if (!prismaContent?.includes?.(content))
|
|
168
|
+
prismaContent.push(content);
|
|
169
|
+
}
|
|
170
|
+
const content = prismaContent
|
|
171
|
+
.join("\n")
|
|
172
|
+
.replace(modelRegex, (_, modelName) => {
|
|
173
|
+
if (!models?.includes?.(modelName))
|
|
174
|
+
models.push((0, change_case_helpers_1.camelCase)(modelName.trim()));
|
|
175
|
+
return `model ${modelName} {`;
|
|
176
|
+
});
|
|
177
|
+
return content;
|
|
178
|
+
}
|
|
179
|
+
getAllPrismaFiles(dirPath, fileList = []) {
|
|
180
|
+
const files = fs_1.default.readdirSync(dirPath);
|
|
181
|
+
files?.forEach((file) => {
|
|
182
|
+
const filePath = path_1.default.join(dirPath, file);
|
|
183
|
+
const stat = fs_1.default.statSync(filePath);
|
|
184
|
+
if (stat.isDirectory() && file !== "migrations") {
|
|
185
|
+
fileList = this.getAllPrismaFiles(filePath, fileList);
|
|
186
|
+
}
|
|
187
|
+
else if (stat.isFile() && file.endsWith(".prisma")) {
|
|
188
|
+
fileList.push(filePath);
|
|
189
|
+
}
|
|
190
|
+
});
|
|
191
|
+
return fileList;
|
|
192
|
+
}
|
|
193
|
+
isEnum(typeName) {
|
|
194
|
+
return this.enums.some((e) => e.name === typeName);
|
|
195
|
+
}
|
|
196
|
+
isModel(typeName) {
|
|
197
|
+
return this.models.some((m) => m.name === typeName);
|
|
198
|
+
}
|
|
199
|
+
getModelUniqueFields(modelName) {
|
|
200
|
+
return this.models
|
|
201
|
+
.find(({ name }) => (0, change_case_helpers_1.pascalCase)(name) === (0, change_case_helpers_1.pascalCase)(modelName))
|
|
202
|
+
?.fields.filter(({ isUnique }) => isUnique);
|
|
203
|
+
}
|
|
204
|
+
getModelRelations(modelName) {
|
|
205
|
+
return this.models
|
|
206
|
+
.find((model) => (0, change_case_helpers_1.pascalCase)(model.name) === (0, change_case_helpers_1.pascalCase)(modelName))
|
|
207
|
+
?.fields.filter((field) => field.isRelation);
|
|
208
|
+
}
|
|
209
|
+
getModelsAsArrayOfStrings() {
|
|
210
|
+
return this.models.map(({ name }) => name);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
exports.PrismaSchemaParser = PrismaSchemaParser;
|
|
214
|
+
const prismaSchemaParser = new PrismaSchemaParser();
|
|
215
|
+
exports.default = prismaSchemaParser;
|
|
216
|
+
//# sourceMappingURL=prisma-schema-parser.js.map
|
package/dist/cjs/utils/sheu.js
CHANGED
|
@@ -1 +1,120 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
class Sheu {
|
|
4
|
+
getTimestamp() {
|
|
5
|
+
return new Date().toTimeString().split(" ")[0];
|
|
6
|
+
}
|
|
7
|
+
formatText(content = "", options = {}) {
|
|
8
|
+
const label = options?.label
|
|
9
|
+
? content
|
|
10
|
+
? options?.label + " "
|
|
11
|
+
: content === null
|
|
12
|
+
? options?.label + " "
|
|
13
|
+
: options?.label
|
|
14
|
+
: "";
|
|
15
|
+
let result = `${label}${content}`;
|
|
16
|
+
if (options.timestamp) {
|
|
17
|
+
const timestamp = this.getTimestamp();
|
|
18
|
+
if (options.timestamp === true)
|
|
19
|
+
result = `${label}\x1b[90m${timestamp}\x1b[0m ${content}`;
|
|
20
|
+
else if (typeof options.timestamp === "string") {
|
|
21
|
+
const colorCode = this.getColorCode(options.timestamp);
|
|
22
|
+
result = `${label}${colorCode}${timestamp}\x1b[0m ${content}`;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
if (options.bold)
|
|
26
|
+
result = `\x1b[1m${result}\x1b[0m`;
|
|
27
|
+
return result;
|
|
28
|
+
}
|
|
29
|
+
getColorCode(color) {
|
|
30
|
+
const colorMap = {
|
|
31
|
+
red: "\x1b[31m",
|
|
32
|
+
blue: "\x1b[34m",
|
|
33
|
+
green: "\x1b[32m",
|
|
34
|
+
yellow: "\x1b[33m",
|
|
35
|
+
cyan: "\x1b[36m",
|
|
36
|
+
magenta: "\x1b[35m",
|
|
37
|
+
white: "\x1b[37m",
|
|
38
|
+
black: "\x1b[30m",
|
|
39
|
+
gray: "\x1b[90m",
|
|
40
|
+
orange: "\x1b[91m",
|
|
41
|
+
};
|
|
42
|
+
return colorMap[color] || "\x1b[90m";
|
|
43
|
+
}
|
|
44
|
+
red(content, options) {
|
|
45
|
+
const coloredText = `\x1b[31m${content}\x1b[0m`;
|
|
46
|
+
return this.formatText(coloredText, options || {});
|
|
47
|
+
}
|
|
48
|
+
blue(content, options) {
|
|
49
|
+
const coloredText = `\x1b[34m${content}\x1b[0m`;
|
|
50
|
+
return this.formatText(coloredText, options || {});
|
|
51
|
+
}
|
|
52
|
+
green(content, options) {
|
|
53
|
+
const coloredText = `\x1b[32m${content}\x1b[0m`;
|
|
54
|
+
return this.formatText(coloredText, options || {});
|
|
55
|
+
}
|
|
56
|
+
yellow(content, options) {
|
|
57
|
+
const coloredText = `\x1b[33m${content}\x1b[0m`;
|
|
58
|
+
return this.formatText(coloredText, options || {});
|
|
59
|
+
}
|
|
60
|
+
cyan(content, options) {
|
|
61
|
+
const coloredText = `\x1b[36m${content}\x1b[0m`;
|
|
62
|
+
return this.formatText(coloredText, options || {});
|
|
63
|
+
}
|
|
64
|
+
magenta(content, options) {
|
|
65
|
+
const coloredText = `\x1b[35m${content}\x1b[0m`;
|
|
66
|
+
return this.formatText(coloredText, options || {});
|
|
67
|
+
}
|
|
68
|
+
white(content, options) {
|
|
69
|
+
const coloredText = `\x1b[37m${content}\x1b[0m`;
|
|
70
|
+
return this.formatText(coloredText, options || {});
|
|
71
|
+
}
|
|
72
|
+
black(content, options) {
|
|
73
|
+
const coloredText = `\x1b[30m${content}\x1b[0m`;
|
|
74
|
+
return this.formatText(coloredText, options || {});
|
|
75
|
+
}
|
|
76
|
+
gray(content, options) {
|
|
77
|
+
const coloredText = `\x1b[90m${content}\x1b[0m`;
|
|
78
|
+
return this.formatText(coloredText, options || {});
|
|
79
|
+
}
|
|
80
|
+
orange(content, options) {
|
|
81
|
+
const coloredText = `\x1b[91m${content}\x1b[0m`;
|
|
82
|
+
return this.formatText(coloredText, options || {});
|
|
83
|
+
}
|
|
84
|
+
bold(content, options) {
|
|
85
|
+
return this.formatText(content, { ...options, bold: true });
|
|
86
|
+
}
|
|
87
|
+
info(message, options) {
|
|
88
|
+
const label = `[\x1b[36mInfo\x1b[0m]`;
|
|
89
|
+
const result = this.formatText(message, { ...options, label });
|
|
90
|
+
console.info(result);
|
|
91
|
+
return result;
|
|
92
|
+
}
|
|
93
|
+
error(message, options) {
|
|
94
|
+
const label = `[\x1b[31mError\x1b[0m]`;
|
|
95
|
+
const result = this.formatText(message, { ...options, label });
|
|
96
|
+
console.error(result);
|
|
97
|
+
return result;
|
|
98
|
+
}
|
|
99
|
+
ready(message, options) {
|
|
100
|
+
const label = `[\x1b[32mReady\x1b[0m]`;
|
|
101
|
+
const result = this.formatText(message, { ...options, label });
|
|
102
|
+
console.info(result);
|
|
103
|
+
return result;
|
|
104
|
+
}
|
|
105
|
+
done(message, options) {
|
|
106
|
+
const label = `[\x1b[32mDone\x1b[0m]`;
|
|
107
|
+
const result = this.formatText(message, { ...options, label });
|
|
108
|
+
console.info(result);
|
|
109
|
+
return result;
|
|
110
|
+
}
|
|
111
|
+
warn(message, options) {
|
|
112
|
+
const label = `[\x1b[33mWarn\x1b[0m]`;
|
|
113
|
+
const result = this.formatText(message, { ...options, label });
|
|
114
|
+
console.warn(result);
|
|
115
|
+
return result;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
const sheu = new Sheu();
|
|
119
|
+
exports.default = sheu;
|
|
120
|
+
//# sourceMappingURL=sheu.js.map
|
|
@@ -1 +1,17 @@
|
|
|
1
|
-
"use strict";
|
|
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.default = validateDto;
|
|
7
|
+
const class_transformer_1 = require("class-transformer");
|
|
8
|
+
const class_validator_1 = require("class-validator");
|
|
9
|
+
const app_error_1 = __importDefault(require("../modules/error-handler/utils/app-error"));
|
|
10
|
+
async function validateDto(DtoClass, data, validationOptions) {
|
|
11
|
+
const dataDto = (0, class_transformer_1.plainToInstance)(DtoClass, data);
|
|
12
|
+
const errors = await (0, class_validator_1.validate)(dataDto, validationOptions);
|
|
13
|
+
if (errors.length > 0)
|
|
14
|
+
throw new app_error_1.default("Invalid request body", 400, errors, "InvalidRequestBody");
|
|
15
|
+
return dataDto;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=validate-dto.js.map
|
|
@@ -1 +1,15 @@
|
|
|
1
|
-
"use strict";
|
|
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.default = validateSchema;
|
|
7
|
+
const app_error_1 = __importDefault(require("../modules/error-handler/utils/app-error"));
|
|
8
|
+
async function validateSchema(schema, data) {
|
|
9
|
+
const result = schema.safeParse(data);
|
|
10
|
+
if (!result.success) {
|
|
11
|
+
throw new app_error_1.default("Invalid request body", 400, result.error.format(), "InvalidRequestBody");
|
|
12
|
+
}
|
|
13
|
+
return result.data;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=validate-schema.js.map
|
package/dist/esm/app.js
CHANGED
|
@@ -1 +1,132 @@
|
|
|
1
|
-
|
|
1
|
+
import express from "express";
|
|
2
|
+
import cors from "cors";
|
|
3
|
+
import cookieParser from "cookie-parser";
|
|
4
|
+
import { getAuthRouter } from "./modules/auth/auth.router.js";
|
|
5
|
+
import { getPrismaModelsRouter, getAvailableResourcesAndRoutesRouter, } from "./modules/base/base.router.js";
|
|
6
|
+
import errorHandler from "./modules/error-handler/error-handler.controller.js";
|
|
7
|
+
import { rateLimit } from "express-rate-limit";
|
|
8
|
+
import compression from "compression";
|
|
9
|
+
import { handleRequestLogs } from "./modules/base/base.middlewares.js";
|
|
10
|
+
import { loadPrismaModule } from "./utils/helpers/prisma.helpers.js";
|
|
11
|
+
import { getFileUploadRouter } from "./modules/file-upload/file-upload.router.js";
|
|
12
|
+
import { queryParser } from "./utils/helpers/query-parser.helpers.js";
|
|
13
|
+
import deepmerge from "./utils/helpers/deepmerge.helper.js";
|
|
14
|
+
import { getSwaggerRouter } from "./modules/swagger/swagger.router.js";
|
|
15
|
+
import { loadAllModuleComponents } from "./utils/dynamic-loader.js";
|
|
16
|
+
export const app = express();
|
|
17
|
+
export async function bootstrap(arkosConfig) {
|
|
18
|
+
await Promise.all([
|
|
19
|
+
loadPrismaModule(),
|
|
20
|
+
loadAllModuleComponents(arkosConfig),
|
|
21
|
+
arkosConfig?.configureApp && (await arkosConfig?.configureApp(app)),
|
|
22
|
+
]);
|
|
23
|
+
const middlewaresConfig = arkosConfig?.middlewares;
|
|
24
|
+
const disabledMiddlewares = middlewaresConfig?.disable || [];
|
|
25
|
+
const replacedMiddlewares = middlewaresConfig?.replace || {};
|
|
26
|
+
if (!disabledMiddlewares?.includes?.("compression"))
|
|
27
|
+
app.use(replacedMiddlewares.compression ||
|
|
28
|
+
compression(arkosConfig?.compressionOptions));
|
|
29
|
+
if (!disabledMiddlewares?.includes?.("global-rate-limit"))
|
|
30
|
+
app.use(replacedMiddlewares.globalRateLimit ||
|
|
31
|
+
rateLimit(deepmerge({
|
|
32
|
+
windowMs: 60 * 1000,
|
|
33
|
+
limit: 500,
|
|
34
|
+
standardHeaders: "draft-7",
|
|
35
|
+
legacyHeaders: false,
|
|
36
|
+
handler: (_, res) => {
|
|
37
|
+
res.status(429).json({
|
|
38
|
+
message: "Too many requests, please try again later",
|
|
39
|
+
});
|
|
40
|
+
},
|
|
41
|
+
}, arkosConfig?.globalRequestRateLimitOptions || {})));
|
|
42
|
+
if (!disabledMiddlewares?.includes?.("cors"))
|
|
43
|
+
app.use(replacedMiddlewares.cors ||
|
|
44
|
+
cors(arkosConfig?.cors?.customHandler
|
|
45
|
+
? arkosConfig.cors.customHandler
|
|
46
|
+
: deepmerge({
|
|
47
|
+
origin: (origin, cb) => {
|
|
48
|
+
const allowed = arkosConfig?.cors?.allowedOrigins;
|
|
49
|
+
if (allowed === "*") {
|
|
50
|
+
cb(null, true);
|
|
51
|
+
}
|
|
52
|
+
else if (Array.isArray(allowed)) {
|
|
53
|
+
cb(null, !origin || allowed?.includes?.(origin));
|
|
54
|
+
}
|
|
55
|
+
else if (typeof allowed === "string") {
|
|
56
|
+
cb(null, !origin || allowed === origin);
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
cb(null, false);
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
methods: ["GET", "POST", "PUT", "DELETE", "PATCH", "OPTIONS"],
|
|
63
|
+
allowedHeaders: [
|
|
64
|
+
"Content-Type",
|
|
65
|
+
"Authorization",
|
|
66
|
+
"Connection",
|
|
67
|
+
],
|
|
68
|
+
credentials: true,
|
|
69
|
+
}, arkosConfig?.cors?.options || {})));
|
|
70
|
+
if (!disabledMiddlewares?.includes?.("express-json"))
|
|
71
|
+
app.use(replacedMiddlewares.expressJson ||
|
|
72
|
+
express.json(arkosConfig?.jsonBodyParserOptions));
|
|
73
|
+
if (!disabledMiddlewares?.includes?.("cookie-parser"))
|
|
74
|
+
app.use(replacedMiddlewares.cookieParser ||
|
|
75
|
+
cookieParser(...[...(arkosConfig?.cookieParserParameters || [])]));
|
|
76
|
+
if (!disabledMiddlewares?.includes?.("query-parser"))
|
|
77
|
+
app.use(replacedMiddlewares.queryParser ||
|
|
78
|
+
queryParser(deepmerge({
|
|
79
|
+
parseNull: true,
|
|
80
|
+
parseUndefined: true,
|
|
81
|
+
parseBoolean: true,
|
|
82
|
+
}, arkosConfig?.queryParserOptions || {})));
|
|
83
|
+
if (!disabledMiddlewares?.includes?.("request-logger"))
|
|
84
|
+
app.use(replacedMiddlewares.requestLogger || handleRequestLogs);
|
|
85
|
+
if (arkosConfig?.middlewares?.additional)
|
|
86
|
+
arkosConfig.middlewares.additional.forEach((middleware) => {
|
|
87
|
+
app.use(middleware);
|
|
88
|
+
});
|
|
89
|
+
const routersConfig = arkosConfig?.routers;
|
|
90
|
+
const disabledRouters = routersConfig?.disable || [];
|
|
91
|
+
const replacedRouters = routersConfig?.replace || {};
|
|
92
|
+
if (!disabledRouters?.includes?.("welcome-endpoint"))
|
|
93
|
+
app.get("/api", replacedRouters.welcomeEndpoint ||
|
|
94
|
+
((_, res) => {
|
|
95
|
+
res.status(200).json({ message: arkosConfig.welcomeMessage });
|
|
96
|
+
}));
|
|
97
|
+
if (!disabledRouters?.includes?.("file-upload")) {
|
|
98
|
+
const fileUploadRouter = replacedRouters.fileUpload
|
|
99
|
+
? await replacedRouters.fileUpload(arkosConfig)
|
|
100
|
+
: await getFileUploadRouter(arkosConfig);
|
|
101
|
+
app.use(fileUploadRouter);
|
|
102
|
+
}
|
|
103
|
+
if (!disabledRouters?.includes?.("auth-router") &&
|
|
104
|
+
arkosConfig.authentication) {
|
|
105
|
+
const authRouter = replacedRouters.authRouter
|
|
106
|
+
? await replacedRouters.authRouter(arkosConfig)
|
|
107
|
+
: await getAuthRouter(arkosConfig);
|
|
108
|
+
app.use("/api", authRouter);
|
|
109
|
+
}
|
|
110
|
+
if (!disabledRouters?.includes?.("prisma-models-router")) {
|
|
111
|
+
const modelsRouter = replacedRouters.prismaModelsRouter
|
|
112
|
+
? await replacedRouters.prismaModelsRouter(arkosConfig)
|
|
113
|
+
: await getPrismaModelsRouter(arkosConfig);
|
|
114
|
+
app.use("/api", modelsRouter);
|
|
115
|
+
}
|
|
116
|
+
app.use("/api", getAvailableResourcesAndRoutesRouter());
|
|
117
|
+
if (arkosConfig.swagger &&
|
|
118
|
+
(process.env.ARKOS_BUILD !== "true" ||
|
|
119
|
+
arkosConfig.swagger.enableAfterBuild === true))
|
|
120
|
+
app.use("/api", await getSwaggerRouter(arkosConfig));
|
|
121
|
+
if (routersConfig?.additional)
|
|
122
|
+
routersConfig.additional.forEach((router) => {
|
|
123
|
+
app.use(router);
|
|
124
|
+
});
|
|
125
|
+
if (!disabledMiddlewares?.includes?.("global-error-handler"))
|
|
126
|
+
app.use(replacedMiddlewares.globalErrorHandler || errorHandler);
|
|
127
|
+
app.use("*", (_, res) => {
|
|
128
|
+
res.status(404).json({ message: "Route not found!" });
|
|
129
|
+
});
|
|
130
|
+
return app;
|
|
131
|
+
}
|
|
132
|
+
//# sourceMappingURL=app.js.map
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
export { defaultExcludedUserFields } from "./../../modules/auth/auth.controller.js";
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import { BaseController } from "./../../modules/base/base.controller.js";
|
|
2
|
+
import fileUploadController from "../../modules/file-upload/file-upload.controller.js";
|
|
3
|
+
export { fileUploadController, BaseController };
|
|
4
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import catchAsync from "../../modules/error-handler/utils/catch-async.js";
|
|
2
|
+
import AppError from "../../modules/error-handler/utils/app-error.js";
|
|
3
|
+
export { catchAsync, AppError };
|
|
4
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
import { BaseController } from "./../modules/base/base.controller.js";
|
|
2
|
+
import { initApp, getArkosConfig } from "../server.js";
|
|
3
|
+
const arkos = {
|
|
4
|
+
init: initApp,
|
|
5
|
+
};
|
|
6
|
+
export { BaseController, getArkosConfig, };
|
|
7
|
+
export default arkos;
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
export { addPrismaQueryOptionsToRequest, handleRequestBodyValidationAndTransformation, } from "../../modules/base/base.middlewares.js";
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
import prismaSchemaParser from "../../utils/prisma/prisma-schema-parser.js";
|
|
2
|
+
export function getPrismaModels() {
|
|
3
|
+
return prismaSchemaParser.models.map(({ name }) => name);
|
|
4
|
+
}
|
|
5
|
+
export { prismaSchemaParser };
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
import { getFileUploadServices, FileUploadService, } from "../../modules/file-upload/file-upload.service.js";
|
|
2
|
+
import authService, { AuthService } from "../../modules/auth/auth.service.js";
|
|
3
|
+
import emailService, { EmailService } from "../../modules/email/email.service.js";
|
|
4
|
+
import { BaseService } from "../../modules/base/base.service.js";
|
|
5
|
+
export { authService, AuthService };
|
|
6
|
+
export { BaseService, };
|
|
7
|
+
export { emailService, EmailService };
|
|
8
|
+
export { getFileUploadServices, FileUploadService };
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
export * from "../../utils/helpers/change-case.helpers.js";
|
|
2
|
+
import APIFeatures, { apiFeatures } from "../../utils/features/api.features.js";
|
|
3
|
+
export { APIFeatures, apiFeatures };
|
|
4
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import validateDto from "../../utils/validate-dto.js";
|
|
2
|
+
import validateSchema from "../../utils/validate-schema.js";
|
|
3
|
+
export { validateDto, validateSchema };
|
|
4
|
+
//# sourceMappingURL=index.js.map
|