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,209 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import path from "path";
|
|
2
|
+
import { camelCase, pascalCase } from "../helpers/change-case.helpers.js";
|
|
3
|
+
import fs from "fs";
|
|
4
|
+
export class PrismaSchemaParser {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.enums = [];
|
|
7
|
+
this.models = [];
|
|
8
|
+
this.prismaSchemasContent = "";
|
|
9
|
+
this.parsed = false;
|
|
10
|
+
this.parse();
|
|
11
|
+
}
|
|
12
|
+
parse({ override } = { override: false }) {
|
|
13
|
+
if (!this.parsed || override) {
|
|
14
|
+
this.enums = this.extractEnums();
|
|
15
|
+
this.models = this.extractModels();
|
|
16
|
+
this.parsed = true;
|
|
17
|
+
}
|
|
18
|
+
return {
|
|
19
|
+
models: this.models,
|
|
20
|
+
enums: this.enums,
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
extractEnums() {
|
|
24
|
+
const enums = [];
|
|
25
|
+
const schema = this.getPrismaSchemasContent() || "";
|
|
26
|
+
const enumBlocks = schema.match(/enum\s+\w+\s*\{[^}]*\}/g) || [];
|
|
27
|
+
for (const block of enumBlocks) {
|
|
28
|
+
const enumObj = this.parseEnumBlock(block);
|
|
29
|
+
if (enumObj) {
|
|
30
|
+
enums.push(enumObj);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return enums;
|
|
34
|
+
}
|
|
35
|
+
parseEnumBlock(block) {
|
|
36
|
+
const nameMatch = block.match(/enum\s+(\w+)/);
|
|
37
|
+
if (!nameMatch)
|
|
38
|
+
return null;
|
|
39
|
+
const name = nameMatch[1];
|
|
40
|
+
const values = block
|
|
41
|
+
.split("\n")
|
|
42
|
+
.map((line) => line.trim())
|
|
43
|
+
.filter((line) => line &&
|
|
44
|
+
!line.startsWith("enum") &&
|
|
45
|
+
!line.startsWith("{") &&
|
|
46
|
+
!line.startsWith("}"))
|
|
47
|
+
.map((line) => line.replace(/,$/, ""));
|
|
48
|
+
return { name, values };
|
|
49
|
+
}
|
|
50
|
+
extractModels() {
|
|
51
|
+
const models = [];
|
|
52
|
+
const modelBlocks = this.extractModelBlocks();
|
|
53
|
+
for (const block of modelBlocks) {
|
|
54
|
+
const model = this.parseModelBlock(block);
|
|
55
|
+
if (model) {
|
|
56
|
+
models.push(model);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return models;
|
|
60
|
+
}
|
|
61
|
+
extractModelBlocks() {
|
|
62
|
+
const modelRegex = /model\s+\w+\s*\{((?:[^{}]*(?:\{[^{}]*\}[^{}]*)*)*)\}/g;
|
|
63
|
+
const schema = this.getPrismaSchemasContent() || "";
|
|
64
|
+
return schema.match(modelRegex) || [];
|
|
65
|
+
}
|
|
66
|
+
parseModelBlock(block) {
|
|
67
|
+
const nameMatch = block.match(/model\s+(\w+)/);
|
|
68
|
+
if (!nameMatch)
|
|
69
|
+
return null;
|
|
70
|
+
const name = nameMatch[1];
|
|
71
|
+
const fields = this.parseFields(block);
|
|
72
|
+
const mapMatch = block.match(/@@map\s*\(\s*"([^"]+)"\s*\)/);
|
|
73
|
+
const mapName = mapMatch ? mapMatch[1] : undefined;
|
|
74
|
+
return { name, fields, mapName };
|
|
75
|
+
}
|
|
76
|
+
parseFields(block) {
|
|
77
|
+
const fields = [];
|
|
78
|
+
const fieldLines = block
|
|
79
|
+
.split("\n")
|
|
80
|
+
.map((line) => line.trim())
|
|
81
|
+
.filter((line) => line &&
|
|
82
|
+
!line.startsWith("model") &&
|
|
83
|
+
!line.startsWith("{") &&
|
|
84
|
+
!line.startsWith("}"));
|
|
85
|
+
for (const line of fieldLines) {
|
|
86
|
+
if (line.startsWith("//") || line.startsWith("@@"))
|
|
87
|
+
continue;
|
|
88
|
+
const field = this.parseFieldLine(line);
|
|
89
|
+
if (field) {
|
|
90
|
+
fields.push(field);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
return fields;
|
|
94
|
+
}
|
|
95
|
+
parseFieldLine(line) {
|
|
96
|
+
const fieldMatch = line.match(/^(\w+)\s+(\w+(?:\[\])?)\??\s*(.*)/);
|
|
97
|
+
if (!fieldMatch)
|
|
98
|
+
return null;
|
|
99
|
+
const [, name, typeWithArray, attributesStr] = fieldMatch;
|
|
100
|
+
const isArray = typeWithArray.endsWith("[]");
|
|
101
|
+
const type = isArray ? typeWithArray.slice(0, -2) : typeWithArray;
|
|
102
|
+
const isOptional = line.includes("?");
|
|
103
|
+
const attributes = attributesStr
|
|
104
|
+
.split(/\s+/)
|
|
105
|
+
.filter((attr) => attr.startsWith("@"));
|
|
106
|
+
let defaultValue = undefined;
|
|
107
|
+
const defaultMatch = attributesStr.match(/@default\(([^)]+)\)/);
|
|
108
|
+
if (defaultMatch) {
|
|
109
|
+
defaultValue = this.parseDefaultValue(defaultMatch[1]);
|
|
110
|
+
}
|
|
111
|
+
let connectionField = "";
|
|
112
|
+
const relationMatch = attributesStr.match(/@relation\([^)]*fields:\s*\[([^\]]+)\]/);
|
|
113
|
+
if (relationMatch) {
|
|
114
|
+
connectionField = relationMatch[1].trim().replace(/['"]/g, "");
|
|
115
|
+
}
|
|
116
|
+
const isId = attributes.some((attr) => attr.startsWith("@id"));
|
|
117
|
+
const isUnique = attributes.some((attr) => attr.startsWith("@unique"));
|
|
118
|
+
const models = this.models;
|
|
119
|
+
return {
|
|
120
|
+
name,
|
|
121
|
+
type,
|
|
122
|
+
isOptional,
|
|
123
|
+
isRelation: models.map((model) => model.name).includes(type) ||
|
|
124
|
+
this.getPrismaSchemasContent().includes(`model ${type} {`),
|
|
125
|
+
isArray,
|
|
126
|
+
connectionField,
|
|
127
|
+
defaultValue,
|
|
128
|
+
isId,
|
|
129
|
+
isUnique,
|
|
130
|
+
attributes,
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
parseDefaultValue(defaultStr) {
|
|
134
|
+
defaultStr = defaultStr.trim();
|
|
135
|
+
if (defaultStr.startsWith('"') && defaultStr.endsWith('"'))
|
|
136
|
+
return defaultStr.slice(1, -1);
|
|
137
|
+
if (defaultStr === "true")
|
|
138
|
+
return true;
|
|
139
|
+
if (defaultStr === "false")
|
|
140
|
+
return false;
|
|
141
|
+
if (/^-?\d+$/.test(defaultStr))
|
|
142
|
+
return parseInt(defaultStr, 10);
|
|
143
|
+
if (/^-?\d+\.\d+$/.test(defaultStr))
|
|
144
|
+
return parseFloat(defaultStr);
|
|
145
|
+
if (!defaultStr.includes("("))
|
|
146
|
+
return defaultStr;
|
|
147
|
+
if (defaultStr.includes("("))
|
|
148
|
+
return undefined;
|
|
149
|
+
return defaultStr;
|
|
150
|
+
}
|
|
151
|
+
getPrismaSchemasContent() {
|
|
152
|
+
if (this.prismaSchemasContent)
|
|
153
|
+
return this.prismaSchemasContent;
|
|
154
|
+
const models = [];
|
|
155
|
+
const modelRegex = /model\s+(\w+)\s*{/g;
|
|
156
|
+
const prismaContent = [];
|
|
157
|
+
const prismaPath = path.resolve(process.cwd(), "prisma");
|
|
158
|
+
const files = this.getAllPrismaFiles(prismaPath);
|
|
159
|
+
for (const file of files) {
|
|
160
|
+
const content = fs.readFileSync(file, "utf-8");
|
|
161
|
+
if (!prismaContent?.includes?.(content))
|
|
162
|
+
prismaContent.push(content);
|
|
163
|
+
}
|
|
164
|
+
const content = prismaContent
|
|
165
|
+
.join("\n")
|
|
166
|
+
.replace(modelRegex, (_, modelName) => {
|
|
167
|
+
if (!models?.includes?.(modelName))
|
|
168
|
+
models.push(camelCase(modelName.trim()));
|
|
169
|
+
return `model ${modelName} {`;
|
|
170
|
+
});
|
|
171
|
+
return content;
|
|
172
|
+
}
|
|
173
|
+
getAllPrismaFiles(dirPath, fileList = []) {
|
|
174
|
+
const files = fs.readdirSync(dirPath);
|
|
175
|
+
files?.forEach((file) => {
|
|
176
|
+
const filePath = path.join(dirPath, file);
|
|
177
|
+
const stat = fs.statSync(filePath);
|
|
178
|
+
if (stat.isDirectory() && file !== "migrations") {
|
|
179
|
+
fileList = this.getAllPrismaFiles(filePath, fileList);
|
|
180
|
+
}
|
|
181
|
+
else if (stat.isFile() && file.endsWith(".prisma")) {
|
|
182
|
+
fileList.push(filePath);
|
|
183
|
+
}
|
|
184
|
+
});
|
|
185
|
+
return fileList;
|
|
186
|
+
}
|
|
187
|
+
isEnum(typeName) {
|
|
188
|
+
return this.enums.some((e) => e.name === typeName);
|
|
189
|
+
}
|
|
190
|
+
isModel(typeName) {
|
|
191
|
+
return this.models.some((m) => m.name === typeName);
|
|
192
|
+
}
|
|
193
|
+
getModelUniqueFields(modelName) {
|
|
194
|
+
return this.models
|
|
195
|
+
.find(({ name }) => pascalCase(name) === pascalCase(modelName))
|
|
196
|
+
?.fields.filter(({ isUnique }) => isUnique);
|
|
197
|
+
}
|
|
198
|
+
getModelRelations(modelName) {
|
|
199
|
+
return this.models
|
|
200
|
+
.find((model) => pascalCase(model.name) === pascalCase(modelName))
|
|
201
|
+
?.fields.filter((field) => field.isRelation);
|
|
202
|
+
}
|
|
203
|
+
getModelsAsArrayOfStrings() {
|
|
204
|
+
return this.models.map(({ name }) => name);
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
const prismaSchemaParser = new PrismaSchemaParser();
|
|
208
|
+
export default prismaSchemaParser;
|
|
209
|
+
//# sourceMappingURL=prisma-schema-parser.js.map
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=types.js.map
|
package/dist/esm/utils/sheu.js
CHANGED
|
@@ -1 +1,118 @@
|
|
|
1
|
-
|
|
1
|
+
class Sheu {
|
|
2
|
+
getTimestamp() {
|
|
3
|
+
return new Date().toTimeString().split(" ")[0];
|
|
4
|
+
}
|
|
5
|
+
formatText(content = "", options = {}) {
|
|
6
|
+
const label = options?.label
|
|
7
|
+
? content
|
|
8
|
+
? options?.label + " "
|
|
9
|
+
: content === null
|
|
10
|
+
? options?.label + " "
|
|
11
|
+
: options?.label
|
|
12
|
+
: "";
|
|
13
|
+
let result = `${label}${content}`;
|
|
14
|
+
if (options.timestamp) {
|
|
15
|
+
const timestamp = this.getTimestamp();
|
|
16
|
+
if (options.timestamp === true)
|
|
17
|
+
result = `${label}\x1b[90m${timestamp}\x1b[0m ${content}`;
|
|
18
|
+
else if (typeof options.timestamp === "string") {
|
|
19
|
+
const colorCode = this.getColorCode(options.timestamp);
|
|
20
|
+
result = `${label}${colorCode}${timestamp}\x1b[0m ${content}`;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
if (options.bold)
|
|
24
|
+
result = `\x1b[1m${result}\x1b[0m`;
|
|
25
|
+
return result;
|
|
26
|
+
}
|
|
27
|
+
getColorCode(color) {
|
|
28
|
+
const colorMap = {
|
|
29
|
+
red: "\x1b[31m",
|
|
30
|
+
blue: "\x1b[34m",
|
|
31
|
+
green: "\x1b[32m",
|
|
32
|
+
yellow: "\x1b[33m",
|
|
33
|
+
cyan: "\x1b[36m",
|
|
34
|
+
magenta: "\x1b[35m",
|
|
35
|
+
white: "\x1b[37m",
|
|
36
|
+
black: "\x1b[30m",
|
|
37
|
+
gray: "\x1b[90m",
|
|
38
|
+
orange: "\x1b[91m",
|
|
39
|
+
};
|
|
40
|
+
return colorMap[color] || "\x1b[90m";
|
|
41
|
+
}
|
|
42
|
+
red(content, options) {
|
|
43
|
+
const coloredText = `\x1b[31m${content}\x1b[0m`;
|
|
44
|
+
return this.formatText(coloredText, options || {});
|
|
45
|
+
}
|
|
46
|
+
blue(content, options) {
|
|
47
|
+
const coloredText = `\x1b[34m${content}\x1b[0m`;
|
|
48
|
+
return this.formatText(coloredText, options || {});
|
|
49
|
+
}
|
|
50
|
+
green(content, options) {
|
|
51
|
+
const coloredText = `\x1b[32m${content}\x1b[0m`;
|
|
52
|
+
return this.formatText(coloredText, options || {});
|
|
53
|
+
}
|
|
54
|
+
yellow(content, options) {
|
|
55
|
+
const coloredText = `\x1b[33m${content}\x1b[0m`;
|
|
56
|
+
return this.formatText(coloredText, options || {});
|
|
57
|
+
}
|
|
58
|
+
cyan(content, options) {
|
|
59
|
+
const coloredText = `\x1b[36m${content}\x1b[0m`;
|
|
60
|
+
return this.formatText(coloredText, options || {});
|
|
61
|
+
}
|
|
62
|
+
magenta(content, options) {
|
|
63
|
+
const coloredText = `\x1b[35m${content}\x1b[0m`;
|
|
64
|
+
return this.formatText(coloredText, options || {});
|
|
65
|
+
}
|
|
66
|
+
white(content, options) {
|
|
67
|
+
const coloredText = `\x1b[37m${content}\x1b[0m`;
|
|
68
|
+
return this.formatText(coloredText, options || {});
|
|
69
|
+
}
|
|
70
|
+
black(content, options) {
|
|
71
|
+
const coloredText = `\x1b[30m${content}\x1b[0m`;
|
|
72
|
+
return this.formatText(coloredText, options || {});
|
|
73
|
+
}
|
|
74
|
+
gray(content, options) {
|
|
75
|
+
const coloredText = `\x1b[90m${content}\x1b[0m`;
|
|
76
|
+
return this.formatText(coloredText, options || {});
|
|
77
|
+
}
|
|
78
|
+
orange(content, options) {
|
|
79
|
+
const coloredText = `\x1b[91m${content}\x1b[0m`;
|
|
80
|
+
return this.formatText(coloredText, options || {});
|
|
81
|
+
}
|
|
82
|
+
bold(content, options) {
|
|
83
|
+
return this.formatText(content, { ...options, bold: true });
|
|
84
|
+
}
|
|
85
|
+
info(message, options) {
|
|
86
|
+
const label = `[\x1b[36mInfo\x1b[0m]`;
|
|
87
|
+
const result = this.formatText(message, { ...options, label });
|
|
88
|
+
console.info(result);
|
|
89
|
+
return result;
|
|
90
|
+
}
|
|
91
|
+
error(message, options) {
|
|
92
|
+
const label = `[\x1b[31mError\x1b[0m]`;
|
|
93
|
+
const result = this.formatText(message, { ...options, label });
|
|
94
|
+
console.error(result);
|
|
95
|
+
return result;
|
|
96
|
+
}
|
|
97
|
+
ready(message, options) {
|
|
98
|
+
const label = `[\x1b[32mReady\x1b[0m]`;
|
|
99
|
+
const result = this.formatText(message, { ...options, label });
|
|
100
|
+
console.info(result);
|
|
101
|
+
return result;
|
|
102
|
+
}
|
|
103
|
+
done(message, options) {
|
|
104
|
+
const label = `[\x1b[32mDone\x1b[0m]`;
|
|
105
|
+
const result = this.formatText(message, { ...options, label });
|
|
106
|
+
console.info(result);
|
|
107
|
+
return result;
|
|
108
|
+
}
|
|
109
|
+
warn(message, options) {
|
|
110
|
+
const label = `[\x1b[33mWarn\x1b[0m]`;
|
|
111
|
+
const result = this.formatText(message, { ...options, label });
|
|
112
|
+
console.warn(result);
|
|
113
|
+
return result;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
const sheu = new Sheu();
|
|
117
|
+
export default sheu;
|
|
118
|
+
//# sourceMappingURL=sheu.js.map
|
|
@@ -1 +1,11 @@
|
|
|
1
|
-
|
|
1
|
+
import { plainToInstance } from "class-transformer";
|
|
2
|
+
import { validate } from "class-validator";
|
|
3
|
+
import AppError from "../modules/error-handler/utils/app-error.js";
|
|
4
|
+
export default async function validateDto(DtoClass, data, validationOptions) {
|
|
5
|
+
const dataDto = plainToInstance(DtoClass, data);
|
|
6
|
+
const errors = await validate(dataDto, validationOptions);
|
|
7
|
+
if (errors.length > 0)
|
|
8
|
+
throw new AppError("Invalid request body", 400, errors, "InvalidRequestBody");
|
|
9
|
+
return dataDto;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=validate-dto.js.map
|
|
@@ -1 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
import AppError from "../modules/error-handler/utils/app-error.js";
|
|
2
|
+
export default async function validateSchema(schema, data) {
|
|
3
|
+
const result = schema.safeParse(data);
|
|
4
|
+
if (!result.success) {
|
|
5
|
+
throw new AppError("Invalid request body", 400, result.error.format(), "InvalidRequestBody");
|
|
6
|
+
}
|
|
7
|
+
return result.data;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=validate-schema.js.map
|
|
@@ -15,7 +15,7 @@ declare class AuthActionService {
|
|
|
15
15
|
private transformAccessControlToValidAuthAction;
|
|
16
16
|
getUniqueActions(): string[];
|
|
17
17
|
getUniqueResources(): string[];
|
|
18
|
-
getByResource(resource: string): AuthAction | undefined;
|
|
18
|
+
getByResource(resource: string): AuthAction[] | undefined;
|
|
19
19
|
getByAction(action: string): AuthAction[];
|
|
20
20
|
exists(action: string, resource: string): boolean;
|
|
21
21
|
}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { User } from "../../../types";
|
|
2
2
|
export type ModelDelegate = Record<string, any>;
|
|
3
|
+
export type ModelGetPayload<G, T = any> = G extends {
|
|
4
|
+
$args: (arg: T) => infer R;
|
|
5
|
+
} ? R : never;
|
|
3
6
|
export type CreateOneData<T extends ModelDelegate> = Parameters<T["create"]>[0] extends {
|
|
4
7
|
data: infer D;
|
|
5
8
|
[x: string]: any;
|
|
@@ -81,7 +84,7 @@ export type DeleteManyResult<T extends ModelDelegate> = ReturnType<T["deleteMany
|
|
|
81
84
|
export interface ServiceBaseContext {
|
|
82
85
|
user?: User;
|
|
83
86
|
accessToken?: string;
|
|
84
|
-
skip?: ("before" | "after" | "error")[];
|
|
87
|
+
skip?: ("before" | "after" | "error")[] | "before" | "after" | "error" | "all";
|
|
85
88
|
throwOnError?: boolean;
|
|
86
89
|
}
|
|
87
90
|
export interface BeforeCreateOneHookArgs<T extends ModelDelegate, Context = ServiceBaseContext> {
|
|
@@ -90,7 +93,7 @@ export interface BeforeCreateOneHookArgs<T extends ModelDelegate, Context = Serv
|
|
|
90
93
|
context?: Context;
|
|
91
94
|
}
|
|
92
95
|
export interface AfterCreateOneHookArgs<T extends ModelDelegate, Context = ServiceBaseContext> {
|
|
93
|
-
result: CreateOneResult<T
|
|
96
|
+
result: Awaited<CreateOneResult<T>>;
|
|
94
97
|
data: CreateOneData<T>;
|
|
95
98
|
queryOptions?: CreateOneOptions<T>;
|
|
96
99
|
context?: Context;
|
|
@@ -101,7 +104,7 @@ export interface BeforeCreateManyHookArgs<T extends ModelDelegate, Context = Ser
|
|
|
101
104
|
context?: Context;
|
|
102
105
|
}
|
|
103
106
|
export interface AfterCreateManyHookArgs<T extends ModelDelegate, Context = ServiceBaseContext> {
|
|
104
|
-
result: CreateManyResult<T
|
|
107
|
+
result: Awaited<CreateManyResult<T>>;
|
|
105
108
|
queryOptions?: CreateManyOptions<T>;
|
|
106
109
|
context?: Context;
|
|
107
110
|
}
|
|
@@ -120,7 +123,7 @@ export interface BeforeFindManyHookArgs<T extends ModelDelegate, Context = Servi
|
|
|
120
123
|
context?: Context;
|
|
121
124
|
}
|
|
122
125
|
export interface AfterFindManyHookArgs<T extends ModelDelegate, Context = ServiceBaseContext> {
|
|
123
|
-
result: FindManyResult<T
|
|
126
|
+
result: Awaited<FindManyResult<T>>;
|
|
124
127
|
filters?: FindManyFilters<T>;
|
|
125
128
|
queryOptions?: FindManyOptions<T>;
|
|
126
129
|
context?: Context;
|
|
@@ -131,7 +134,7 @@ export interface BeforeFindOneHookArgs<T extends ModelDelegate, Context = Servic
|
|
|
131
134
|
context?: Context;
|
|
132
135
|
}
|
|
133
136
|
export interface AfterFindOneHookArgs<T extends ModelDelegate, Context = ServiceBaseContext> {
|
|
134
|
-
result: FindOneResult<T
|
|
137
|
+
result: Awaited<FindOneResult<T>>;
|
|
135
138
|
filters: FindOneFilters<T>;
|
|
136
139
|
queryOptions?: FindOneOptions<T>;
|
|
137
140
|
context?: Context;
|
|
@@ -143,7 +146,7 @@ export interface BeforeUpdateOneHookArgs<T extends ModelDelegate, Context = Serv
|
|
|
143
146
|
context?: Context;
|
|
144
147
|
}
|
|
145
148
|
export interface AfterUpdateOneHookArgs<T extends ModelDelegate, Context = ServiceBaseContext> {
|
|
146
|
-
result: UpdateOneResult<T
|
|
149
|
+
result: Awaited<UpdateOneResult<T>>;
|
|
147
150
|
filters: UpdateOneFilters<T>;
|
|
148
151
|
data: UpdateOneData<T>;
|
|
149
152
|
queryOptions?: UpdateOneOptions<T>;
|
|
@@ -156,7 +159,7 @@ export interface BeforeUpdateManyHookArgs<T extends ModelDelegate, Context = Ser
|
|
|
156
159
|
context?: Context;
|
|
157
160
|
}
|
|
158
161
|
export interface AfterUpdateManyHookArgs<T extends ModelDelegate, Context = ServiceBaseContext> {
|
|
159
|
-
result: UpdateManyResult<T
|
|
162
|
+
result: Awaited<UpdateManyResult<T>>;
|
|
160
163
|
filters: UpdateManyFilters<T>;
|
|
161
164
|
data: UpdateManyData<T>;
|
|
162
165
|
queryOptions?: UpdateManyOptions<T>;
|
|
@@ -167,7 +170,7 @@ export interface BeforeDeleteOneHookArgs<T extends ModelDelegate, Context = Serv
|
|
|
167
170
|
context?: Context;
|
|
168
171
|
}
|
|
169
172
|
export interface AfterDeleteOneHookArgs<T extends ModelDelegate, Context = ServiceBaseContext> {
|
|
170
|
-
result: DeleteOneResult<T
|
|
173
|
+
result: Awaited<DeleteOneResult<T>>;
|
|
171
174
|
filters: DeleteOneFilters<T>;
|
|
172
175
|
context?: Context;
|
|
173
176
|
}
|
|
@@ -176,7 +179,7 @@ export interface BeforeDeleteManyHookArgs<T extends ModelDelegate, Context = Ser
|
|
|
176
179
|
context?: Context;
|
|
177
180
|
}
|
|
178
181
|
export interface AfterDeleteManyHookArgs<T extends ModelDelegate, Context = ServiceBaseContext> {
|
|
179
|
-
result: DeleteManyResult<T
|
|
182
|
+
result: Awaited<DeleteManyResult<T>>;
|
|
180
183
|
filters: DeleteManyFilters<T>;
|
|
181
184
|
context?: Context;
|
|
182
185
|
}
|
|
@@ -9,6 +9,7 @@ import { ValidatorOptions } from "class-validator";
|
|
|
9
9
|
import { MsDuration } from "../modules/auth/utils/helpers/auth.controller.helpers";
|
|
10
10
|
import { OpenAPIV3 } from "openapi-types";
|
|
11
11
|
import type { ApiReferenceConfiguration } from "@scalar/express-api-reference" with { "resolution-mode": "import" };
|
|
12
|
+
import nodemailer from "nodemailer";
|
|
12
13
|
export type ArkosConfig = {
|
|
13
14
|
request?: {
|
|
14
15
|
parameters?: {
|
|
@@ -112,6 +113,7 @@ export type ArkosConfig = {
|
|
|
112
113
|
configureApp?: (app: express.Express) => Promise<any> | any;
|
|
113
114
|
configureServer?: (server: http.Server) => Promise<any> | any;
|
|
114
115
|
email?: {
|
|
116
|
+
name?: string;
|
|
115
117
|
host: string;
|
|
116
118
|
port?: number;
|
|
117
119
|
secure?: boolean;
|
|
@@ -119,8 +121,7 @@ export type ArkosConfig = {
|
|
|
119
121
|
user: string;
|
|
120
122
|
pass: string;
|
|
121
123
|
};
|
|
122
|
-
|
|
123
|
-
};
|
|
124
|
+
} & Parameters<typeof nodemailer.createTransport>[0];
|
|
124
125
|
swagger?: {
|
|
125
126
|
enableAfterBuild?: boolean;
|
|
126
127
|
endpoint?: string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function prismaGenerateCommand(): void;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "arkos",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.2-beta",
|
|
4
4
|
"description": "The Express & Prisma RESTful Framework",
|
|
5
5
|
"main": "dist/cjs/exports/index.js",
|
|
6
6
|
"module": "dist/esm/exports/index.js",
|
|
@@ -85,7 +85,7 @@
|
|
|
85
85
|
"build:esm": "tsc -p tsconfig.esm.json && npx tsx scripts/fix-esm-imports.ts",
|
|
86
86
|
"build:types": "tsc -p tsconfig.types.json",
|
|
87
87
|
"build:cjs": "tsc -p tsconfig.cjs.json",
|
|
88
|
-
"build": "npx rimraf dist && pnpm run build:cjs && pnpm run build:esm && pnpm run build:types && tsx scripts/post-build-scripts.ts
|
|
88
|
+
"build": "npx rimraf dist && pnpm run build:cjs && pnpm run build:esm && pnpm run build:types && tsx scripts/post-build-scripts.ts",
|
|
89
89
|
"buildTsup": "tsup && tsx scripts/post-build-scripts.ts",
|
|
90
90
|
"minifyOld": "esbuild dist/cjs/**/*.js --minify --outdir=dist --allow-overwrite --log-limit=0 --define:process.env.NODE_ENV=process.env.NODE_ENV",
|
|
91
91
|
"minify": "esbuild $(find dist -type f -name '*.js') --minify --outdir=dist --allow-overwrite --log-limit=0 --define:process.env.NODE_ENV=process.env.NODE_ENV",
|
package/dist/cjs/utils/cli/utils/template-generator/templates/generate-auth-configs-template.js
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.generateAuthConfigsTemplate=generateAuthConfigsTemplate;const fs_helpers_1=require("../../../../helpers/fs.helpers");function generateAuthConfigsTemplate(n){const{modelName:e}=n,t=(0,fs_helpers_1.getUserFileExtension)()==="ts";if(!e)throw new Error("Model name is required for auth config template");const r=t?`import { AuthConfigs } from 'arkos/auth';
|
|
2
|
-
`:"",o=t?": AuthConfigs":"";return`${r}
|
|
3
|
-
const ${e.camel}AuthConfigs${o} = {
|
|
4
|
-
authenticationControl: {
|
|
5
|
-
// Create: true,
|
|
6
|
-
// Update: true,
|
|
7
|
-
// Delete: true,
|
|
8
|
-
// View: false,
|
|
9
|
-
},
|
|
10
|
-
|
|
11
|
-
// Only when using Static RBAC
|
|
12
|
-
accessControl: {
|
|
13
|
-
// Create: ["Admin"],
|
|
14
|
-
// Update: ["Admin", "Manager"],
|
|
15
|
-
// Delete: ["Admin"],
|
|
16
|
-
// View: ["User", "Admin", "Guest"],
|
|
17
|
-
},
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
export default ${e.camel}AuthConfigs;
|
|
21
|
-
`}
|
package/dist/cjs/utils/cli/utils/template-generator/templates/generate-auth-configs-template.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generate-auth-configs-template.js","sourceRoot":"","sources":["../../../../../../../src/utils/cli/utils/template-generator/templates/generate-auth-configs-template.ts"],"names":[],"mappings":";;AAGA,kEAoCC;AAvCD,+DAAsE;AAGtE,SAAgB,2BAA2B,CAAC,OAAwB;IAClE,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAC9B,MAAM,GAAG,GAAG,IAAA,iCAAoB,GAAE,CAAC;IACnC,MAAM,YAAY,GAAG,GAAG,KAAK,IAAI,CAAC;IAElC,IAAI,CAAC,SAAS;QACZ,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IAGrE,MAAM,OAAO,GAAG,YAAY;QAC1B,CAAC,CAAC,6CAA6C;QAC/C,CAAC,CAAC,EAAE,CAAC;IAGP,MAAM,cAAc,GAAG,YAAY,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;IAE3D,OAAO,GAAG,OAAO;QACX,SAAS,CAAC,KAAK,cAAc,cAAc;;;;;;;;;;;;;;;;;iBAiBlC,SAAS,CAAC,KAAK;CAC/B,CAAC;AACF,CAAC","sourcesContent":["import { getUserFileExtension } from \"../../../../helpers/fs.helpers\";\nimport { TemplateOptions } from \"../../template-generators\";\n\nexport function generateAuthConfigsTemplate(options: TemplateOptions): string {\n const { modelName } = options;\n const ext = getUserFileExtension();\n const isTypeScript = ext === \"ts\";\n\n if (!modelName)\n throw new Error(\"Model name is required for auth config template\");\n\n // Generate imports for TypeScript\n const imports = isTypeScript\n ? `import { AuthConfigs } from 'arkos/auth';\\n`\n : \"\";\n\n // Generate type annotation for TypeScript\n const typeAnnotation = isTypeScript ? `: AuthConfigs` : \"\";\n\n return `${imports}\nconst ${modelName.camel}AuthConfigs${typeAnnotation} = {\n authenticationControl: {\n // Create: true,\n // Update: true,\n // Delete: true,\n // View: false,\n },\n \n // Only when using Static RBAC\n accessControl: {\n // Create: [\"Admin\"],\n // Update: [\"Admin\", \"Manager\"],\n // Delete: [\"Admin\"],\n // View: [\"User\", \"Admin\", \"Guest\"],\n },\n};\n\nexport default ${modelName.camel}AuthConfigs;\n`;\n}\n"]}
|
package/dist/cjs/utils/cli/utils/template-generator/templates/generate-controller-template.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.generateControllerTemplate=generateControllerTemplate;function generateControllerTemplate(r){const{modelName:e,imports:o}=r;if(!e)throw new Error("Model name is required for controller template");return`import { BaseController } from "${o?.baseController||"arkos/controllers"}";
|
|
2
|
-
|
|
3
|
-
class ${e.pascal}Controller extends BaseController {
|
|
4
|
-
constructor() {
|
|
5
|
-
super("${e.kebab}");
|
|
6
|
-
}
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
const ${e.camel}Controller = new ${e.pascal}Controller();
|
|
10
|
-
|
|
11
|
-
export default ${e.camel}Controller;
|
|
12
|
-
`}
|
package/dist/cjs/utils/cli/utils/template-generator/templates/generate-controller-template.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generate-controller-template.js","sourceRoot":"","sources":["../../../../../../../src/utils/cli/utils/template-generator/templates/generate-controller-template.ts"],"names":[],"mappings":";;AAEA,gEAoBC;AApBD,SAAgB,0BAA0B,CAAC,OAAwB;IACjE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAEvC,IAAI,CAAC,SAAS;QACZ,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IAEpE,OAAO,mCACL,OAAO,EAAE,cAAc,IAAI,mBAC7B;;QAEM,SAAS,CAAC,MAAM;;aAEX,SAAS,CAAC,KAAK;;;;QAIpB,SAAS,CAAC,KAAK,oBAAoB,SAAS,CAAC,MAAM;;iBAE1C,SAAS,CAAC,KAAK;GAC7B,CAAC;AACJ,CAAC","sourcesContent":["import { TemplateOptions } from \"../../template-generators\";\n\nexport function generateControllerTemplate(options: TemplateOptions): string {\n const { modelName, imports } = options;\n\n if (!modelName)\n throw new Error(\"Model name is required for controller template\");\n\n return `import { BaseController } from \"${\n imports?.baseController || \"arkos/controllers\"\n }\";\n \nclass ${modelName.pascal}Controller extends BaseController {\n constructor() {\n super(\"${modelName.kebab}\");\n }\n}\n\nconst ${modelName.camel}Controller = new ${modelName.pascal}Controller();\n\nexport default ${modelName.camel}Controller;\n `;\n}\n"]}
|