arkos 1.4.1-canary.8 → 1.5.0-canary.1
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/modules/auth/auth.controller.js +13 -0
- package/dist/cjs/modules/auth/auth.controller.js.map +1 -1
- package/dist/cjs/modules/auth/auth.service.js +40 -14
- package/dist/cjs/modules/auth/auth.service.js.map +1 -1
- package/dist/cjs/modules/auth/utils/services/auth-action.service.js +1 -1
- package/dist/cjs/modules/auth/utils/services/auth-action.service.js.map +1 -1
- package/dist/cjs/modules/base/base.middlewares.js +6 -4
- package/dist/cjs/modules/base/base.middlewares.js.map +1 -1
- package/dist/cjs/modules/base/utils/error-prettifier.js +185 -0
- package/dist/cjs/modules/base/utils/error-prettifier.js.map +1 -0
- package/dist/cjs/modules/email/email.service.js +4 -1
- package/dist/cjs/modules/email/email.service.js.map +1 -1
- package/dist/cjs/modules/error-handler/error-handler.controller.js.map +1 -1
- package/dist/cjs/modules/error-handler/utils/error-handler.helpers.js +9 -3
- package/dist/cjs/modules/error-handler/utils/error-handler.helpers.js.map +1 -1
- package/dist/cjs/modules/swagger/utils/helpers/missing-json-schemas-generator.js +3 -0
- package/dist/cjs/modules/swagger/utils/helpers/missing-json-schemas-generator.js.map +1 -1
- package/dist/cjs/types/auth.js.map +1 -1
- package/dist/cjs/utils/arkos-router/index.js +7 -1
- package/dist/cjs/utils/arkos-router/index.js.map +1 -1
- package/dist/cjs/utils/arkos-router/types/index.js.map +1 -1
- package/dist/cjs/utils/arkos-router/utils/helpers/index.js +51 -0
- package/dist/cjs/utils/arkos-router/utils/helpers/index.js.map +1 -1
- package/dist/cjs/utils/cli/generate.js +38 -0
- package/dist/cjs/utils/cli/generate.js.map +1 -1
- package/dist/cjs/utils/cli/index.js +37 -4
- package/dist/cjs/utils/cli/index.js.map +1 -1
- package/dist/cjs/utils/cli/utils/cli.helpers.js +1 -1
- package/dist/cjs/utils/cli/utils/template-generator/templates/auth-configs-template.js +70 -37
- package/dist/cjs/utils/cli/utils/template-generator/templates/auth-configs-template.js.map +1 -1
- package/dist/cjs/utils/cli/utils/template-generator/templates/class-validator-dto-generator.js +556 -0
- package/dist/cjs/utils/cli/utils/template-generator/templates/class-validator-dto-generator.js.map +1 -0
- package/dist/cjs/utils/cli/utils/template-generator/templates/zod-schema-generator.js +327 -0
- package/dist/cjs/utils/cli/utils/template-generator/templates/zod-schema-generator.js.map +1 -0
- package/dist/cjs/utils/cli/utils/template-generators.js +14 -8
- package/dist/cjs/utils/cli/utils/template-generators.js.map +1 -1
- package/dist/cjs/utils/dynamic-loader.js +2 -2
- package/dist/cjs/utils/dynamic-loader.js.map +1 -1
- package/dist/cjs/utils/helpers/routers.helpers.js +2 -3
- package/dist/cjs/utils/helpers/routers.helpers.js.map +1 -1
- package/dist/cjs/utils/prisma/prisma-json-schema-generator.js +5 -5
- package/dist/cjs/utils/prisma/prisma-json-schema-generator.js.map +1 -1
- package/dist/esm/modules/auth/auth.controller.js +13 -0
- package/dist/esm/modules/auth/auth.controller.js.map +1 -1
- package/dist/esm/modules/auth/auth.service.js +40 -14
- package/dist/esm/modules/auth/auth.service.js.map +1 -1
- package/dist/esm/modules/auth/utils/services/auth-action.service.js +1 -1
- package/dist/esm/modules/auth/utils/services/auth-action.service.js.map +1 -1
- package/dist/esm/modules/base/base.middlewares.js +6 -4
- package/dist/esm/modules/base/base.middlewares.js.map +1 -1
- package/dist/esm/modules/base/utils/error-prettifier.js +181 -0
- package/dist/esm/modules/base/utils/error-prettifier.js.map +1 -0
- package/dist/esm/modules/email/email.service.js +4 -1
- package/dist/esm/modules/email/email.service.js.map +1 -1
- package/dist/esm/modules/error-handler/error-handler.controller.js.map +1 -1
- package/dist/esm/modules/error-handler/utils/error-handler.helpers.js +9 -3
- package/dist/esm/modules/error-handler/utils/error-handler.helpers.js.map +1 -1
- package/dist/esm/modules/swagger/utils/helpers/missing-json-schemas-generator.js +3 -0
- package/dist/esm/modules/swagger/utils/helpers/missing-json-schemas-generator.js.map +1 -1
- package/dist/esm/types/auth.js.map +1 -1
- package/dist/esm/utils/arkos-router/index.js +8 -2
- package/dist/esm/utils/arkos-router/index.js.map +1 -1
- package/dist/esm/utils/arkos-router/types/index.js.map +1 -1
- package/dist/esm/utils/arkos-router/utils/helpers/index.js +50 -0
- package/dist/esm/utils/arkos-router/utils/helpers/index.js.map +1 -1
- package/dist/esm/utils/cli/generate.js +38 -0
- package/dist/esm/utils/cli/generate.js.map +1 -1
- package/dist/esm/utils/cli/index.js +37 -4
- package/dist/esm/utils/cli/index.js.map +1 -1
- package/dist/esm/utils/cli/utils/cli.helpers.js +1 -1
- package/dist/esm/utils/cli/utils/template-generator/templates/auth-configs-template.js +70 -37
- package/dist/esm/utils/cli/utils/template-generator/templates/auth-configs-template.js.map +1 -1
- package/dist/esm/utils/cli/utils/template-generator/templates/class-validator-dto-generator.js +549 -0
- package/dist/esm/utils/cli/utils/template-generator/templates/class-validator-dto-generator.js.map +1 -0
- package/dist/esm/utils/cli/utils/template-generator/templates/zod-schema-generator.js +320 -0
- package/dist/esm/utils/cli/utils/template-generator/templates/zod-schema-generator.js.map +1 -0
- package/dist/esm/utils/cli/utils/template-generators.js +14 -8
- package/dist/esm/utils/cli/utils/template-generators.js.map +1 -1
- package/dist/esm/utils/dynamic-loader.js +2 -2
- package/dist/esm/utils/dynamic-loader.js.map +1 -1
- package/dist/esm/utils/helpers/routers.helpers.js +2 -3
- package/dist/esm/utils/helpers/routers.helpers.js.map +1 -1
- package/dist/esm/utils/prisma/prisma-json-schema-generator.js +5 -5
- package/dist/esm/utils/prisma/prisma-json-schema-generator.js.map +1 -1
- package/dist/types/modules/auth/auth.service.d.ts +5 -0
- package/dist/types/modules/auth/utils/services/auth-action.service.d.ts +1 -1
- package/dist/types/modules/base/utils/error-prettifier.d.ts +19 -0
- package/dist/types/modules/email/email.service.d.ts +4 -8
- package/dist/types/types/auth.d.ts +3 -3
- package/dist/types/utils/arkos-router/index.d.ts +3 -1
- package/dist/types/utils/arkos-router/types/index.d.ts +2 -2
- package/dist/types/utils/arkos-router/utils/helpers/index.d.ts +4 -0
- package/dist/types/utils/cli/generate.d.ts +4 -0
- package/dist/types/utils/cli/utils/template-generator/templates/auth-configs-template.d.ts +3 -1
- package/dist/types/utils/cli/utils/template-generator/templates/class-validator-dto-generator.d.ts +18 -0
- package/dist/types/utils/cli/utils/template-generator/templates/zod-schema-generator.d.ts +14 -0
- package/dist/types/utils/helpers/routers.helpers.d.ts +1 -1
- package/package.json +1 -1
- package/dist/cjs/utils/cli/utils/template-generator/templates/class-validator/create-dto-template.js +0 -187
- package/dist/cjs/utils/cli/utils/template-generator/templates/class-validator/create-dto-template.js.map +0 -1
- package/dist/cjs/utils/cli/utils/template-generator/templates/class-validator/update-dto-template.js +0 -181
- package/dist/cjs/utils/cli/utils/template-generator/templates/class-validator/update-dto-template.js.map +0 -1
- package/dist/cjs/utils/cli/utils/template-generator/templates/zod/create-schema-template.js +0 -106
- package/dist/cjs/utils/cli/utils/template-generator/templates/zod/create-schema-template.js.map +0 -1
- package/dist/cjs/utils/cli/utils/template-generator/templates/zod/update-schema-template.js +0 -104
- package/dist/cjs/utils/cli/utils/template-generator/templates/zod/update-schema-template.js.map +0 -1
- package/dist/esm/utils/cli/utils/template-generator/templates/class-validator/create-dto-template.js +0 -181
- package/dist/esm/utils/cli/utils/template-generator/templates/class-validator/create-dto-template.js.map +0 -1
- package/dist/esm/utils/cli/utils/template-generator/templates/class-validator/update-dto-template.js +0 -175
- package/dist/esm/utils/cli/utils/template-generator/templates/class-validator/update-dto-template.js.map +0 -1
- package/dist/esm/utils/cli/utils/template-generator/templates/zod/create-schema-template.js +0 -100
- package/dist/esm/utils/cli/utils/template-generator/templates/zod/create-schema-template.js.map +0 -1
- package/dist/esm/utils/cli/utils/template-generator/templates/zod/update-schema-template.js +0 -98
- package/dist/esm/utils/cli/utils/template-generator/templates/zod/update-schema-template.js.map +0 -1
- package/dist/types/utils/cli/utils/template-generator/templates/class-validator/create-dto-template.d.ts +0 -2
- package/dist/types/utils/cli/utils/template-generator/templates/class-validator/update-dto-template.d.ts +0 -2
- package/dist/types/utils/cli/utils/template-generator/templates/zod/create-schema-template.d.ts +0 -2
- package/dist/types/utils/cli/utils/template-generator/templates/zod/update-schema-template.d.ts +0 -2
|
@@ -4,54 +4,87 @@ exports.generateAuthConfigsTemplate = generateAuthConfigsTemplate;
|
|
|
4
4
|
const fs_helpers_1 = require("../../../../helpers/fs.helpers");
|
|
5
5
|
const text_helpers_1 = require("../../../../helpers/text.helpers");
|
|
6
6
|
function generateAuthConfigsTemplate(options) {
|
|
7
|
-
const { modelName } = options;
|
|
7
|
+
const { modelName, advanced = false } = options;
|
|
8
8
|
const ext = (0, fs_helpers_1.getUserFileExtension)();
|
|
9
9
|
const isTypeScript = ext === "ts";
|
|
10
10
|
if (!modelName)
|
|
11
11
|
throw new Error("Module name is required for auth config template");
|
|
12
|
+
const modelNameCapitalized = (0, text_helpers_1.capitalize)(modelName.kebab.replaceAll("-", " "));
|
|
13
|
+
const modelNameSpaced = modelName.kebab.replaceAll("-", " ");
|
|
12
14
|
const imports = isTypeScript
|
|
13
15
|
? `import { AuthConfigs } from 'arkos/auth';\n`
|
|
14
16
|
: "";
|
|
15
|
-
const
|
|
16
|
-
|
|
17
|
-
|
|
17
|
+
const typeSatisfies = isTypeScript
|
|
18
|
+
? ` as const satisfies AuthConfigs["accessControl"]`
|
|
19
|
+
: "";
|
|
20
|
+
const helperFunction = advanced
|
|
21
|
+
? ``
|
|
22
|
+
: `
|
|
23
|
+
function create${modelName.pascal}Permission(action: string) {
|
|
24
|
+
return authService.permission(action, "${modelName.kebab}", ${modelName.camel}AccessControl);
|
|
25
|
+
}`;
|
|
26
|
+
const permissions = advanced
|
|
27
|
+
? `
|
|
28
|
+
export const ${modelName.camel}Permissions = Object.keys(${modelName.camel}AccessControl).reduce(
|
|
29
|
+
(acc, key) => {
|
|
30
|
+
acc[\`can\${key}\` as const] = authService.permission(
|
|
31
|
+
key,
|
|
32
|
+
"${modelName.kebab}",
|
|
33
|
+
${modelName.camel}AccessControl
|
|
34
|
+
);
|
|
35
|
+
return acc;
|
|
36
|
+
},
|
|
37
|
+
{} as Record<string, ReturnType<typeof authService.permission>>
|
|
38
|
+
)${isTypeScript
|
|
39
|
+
? ` as {
|
|
40
|
+
[K in keyof typeof ${modelName.camel}AccessControl as \`can\${K & string}\`]: ReturnType<
|
|
41
|
+
typeof authService.permission
|
|
42
|
+
>;
|
|
43
|
+
}`
|
|
44
|
+
: ""};`
|
|
45
|
+
: `export const ${modelName.camel}Permissions = {
|
|
46
|
+
canCreate: create${modelName.pascal}Permission("Create"),
|
|
47
|
+
canUpdate: create${modelName.pascal}Permission("Update"),
|
|
48
|
+
canDelete: create${modelName.pascal}Permission("Delete"),
|
|
49
|
+
canView: create${modelName.pascal}Permission("View"),
|
|
50
|
+
};`;
|
|
51
|
+
return `${imports}import { authService } from "arkos/services";
|
|
18
52
|
|
|
19
|
-
export const ${modelName.camel}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
}
|
|
53
|
+
export const ${modelName.camel}AuthenticationControl = {
|
|
54
|
+
Create: true,
|
|
55
|
+
Update: true,
|
|
56
|
+
Delete: true,
|
|
57
|
+
View: true,
|
|
58
|
+
};
|
|
25
59
|
|
|
26
|
-
const ${modelName.camel}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
View: true,
|
|
60
|
+
export const ${modelName.camel}AccessControl = {
|
|
61
|
+
Create: {
|
|
62
|
+
roles: [],
|
|
63
|
+
name: "Create ${modelNameCapitalized}",
|
|
64
|
+
description: "Permission to create new ${modelNameSpaced} records",
|
|
32
65
|
},
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
// description: "Permission to create new ${modelName.kebab.replaceAll("-", " ")} records"
|
|
38
|
-
// },
|
|
39
|
-
// Update: {
|
|
40
|
-
// roles: [],
|
|
41
|
-
// name: "Update ${(0, text_helpers_1.capitalize)(modelName.kebab.replaceAll("-", ""))}",
|
|
42
|
-
// description: "Permission to update existing ${modelName.kebab.replaceAll("-", " ")} records"
|
|
43
|
-
// },
|
|
44
|
-
// Delete: {
|
|
45
|
-
// roles: [],
|
|
46
|
-
// name: "Delete ${(0, text_helpers_1.capitalize)(modelName.kebab.replaceAll("-", ""))}",
|
|
47
|
-
// description: "Permission to delete ${modelName.kebab.replaceAll("-", " ")} records"
|
|
48
|
-
// },
|
|
49
|
-
// View: {
|
|
50
|
-
// roles: [],
|
|
51
|
-
// name: "View ${(0, text_helpers_1.capitalize)(modelName.kebab.replaceAll("-", ""))}",
|
|
52
|
-
// description: "Permission to view ${modelName.kebab.replaceAll("-", " ")} records"
|
|
53
|
-
// },
|
|
66
|
+
Update: {
|
|
67
|
+
roles: [],
|
|
68
|
+
name: "Update ${modelNameCapitalized}",
|
|
69
|
+
description: "Permission to update existing ${modelNameSpaced} records",
|
|
54
70
|
},
|
|
71
|
+
Delete: {
|
|
72
|
+
roles: [],
|
|
73
|
+
name: "Delete ${modelNameCapitalized}",
|
|
74
|
+
description: "Permission to delete ${modelNameSpaced} records",
|
|
75
|
+
},
|
|
76
|
+
View: {
|
|
77
|
+
roles: [],
|
|
78
|
+
name: "View ${modelNameCapitalized}",
|
|
79
|
+
description: "Permission to view ${modelNameSpaced} records",
|
|
80
|
+
},
|
|
81
|
+
}${typeSatisfies};
|
|
82
|
+
${helperFunction}
|
|
83
|
+
${permissions}
|
|
84
|
+
|
|
85
|
+
const ${modelName.camel}AuthConfigs${isTypeScript ? ": AuthConfigs" : ""} = {
|
|
86
|
+
authenticationControl: ${modelName.camel}AuthenticationControl,
|
|
87
|
+
accessControl: ${modelName.camel}AccessControl,
|
|
55
88
|
};
|
|
56
89
|
|
|
57
90
|
export default ${modelName.camel}AuthConfigs;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-configs-template.js","sourceRoot":"","sources":["../../../../../../../src/utils/cli/utils/template-generator/templates/auth-configs-template.ts"],"names":[],"mappings":";;AAIA,
|
|
1
|
+
{"version":3,"file":"auth-configs-template.js","sourceRoot":"","sources":["../../../../../../../src/utils/cli/utils/template-generator/templates/auth-configs-template.ts"],"names":[],"mappings":";;AAIA,kEAiGC;AArGD,+DAAsE;AACtE,mEAA8D;AAG9D,SAAgB,2BAA2B,CACzC,OAAiD;IAEjD,MAAM,EAAE,SAAS,EAAE,QAAQ,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;IAChD,MAAM,GAAG,GAAG,IAAA,iCAAoB,GAAE,CAAC;IACnC,MAAM,YAAY,GAAG,GAAG,KAAK,IAAI,CAAC;IAElC,IAAI,CAAC,SAAS;QACZ,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IAEtE,MAAM,oBAAoB,GAAG,IAAA,yBAAU,EAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAC9E,MAAM,eAAe,GAAG,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAE7D,MAAM,OAAO,GAAG,YAAY;QAC1B,CAAC,CAAC,6CAA6C;QAC/C,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,aAAa,GAAG,YAAY;QAChC,CAAC,CAAC,kDAAkD;QACpD,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,cAAc,GAAG,QAAQ;QAC7B,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC;iBACW,SAAS,CAAC,MAAM;2CACU,SAAS,CAAC,KAAK,MAAM,SAAS,CAAC,KAAK;EAC7E,CAAC;IAED,MAAM,WAAW,GAAG,QAAQ;QAC1B,CAAC,CAAC;eACS,SAAS,CAAC,KAAK,6BAA6B,SAAS,CAAC,KAAK;;;;SAIjE,SAAS,CAAC,KAAK;QAChB,SAAS,CAAC,KAAK;;;;;GAMf,YAAY;YACV,CAAC,CAAC;uBACW,SAAS,CAAC,KAAK;;;EAGpC;YACQ,CAAC,CAAC,EACN,GAAG;QACL,CAAC,CAAC,gBAAgB,SAAS,CAAC,KAAK;qBAChB,SAAS,CAAC,MAAM;qBAChB,SAAS,CAAC,MAAM;qBAChB,SAAS,CAAC,MAAM;mBAClB,SAAS,CAAC,MAAM;GAChC,CAAC;IAEF,OAAO,GAAG,OAAO;;eAEJ,SAAS,CAAC,KAAK;;;;;;;eAOf,SAAS,CAAC,KAAK;;;oBAGV,oBAAoB;6CACK,eAAe;;;;oBAIxC,oBAAoB;kDACU,eAAe;;;;oBAI7C,oBAAoB;yCACC,eAAe;;;;kBAItC,oBAAoB;uCACC,eAAe;;GAEnD,aAAa;EACd,cAAc;EACd,WAAW;;QAEL,SAAS,CAAC,KAAK,cAAc,YAAY,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE;2BAC7C,SAAS,CAAC,KAAK;mBACvB,SAAS,CAAC,KAAK;;;iBAGjB,SAAS,CAAC,KAAK;CAC/B,CAAC;AACF,CAAC","sourcesContent":["import { getUserFileExtension } from \"../../../../helpers/fs.helpers\";\nimport { capitalize } from \"../../../../helpers/text.helpers\";\nimport { TemplateOptions } from \"../../template-generators\";\n\nexport function generateAuthConfigsTemplate(\n options: TemplateOptions & { advanced?: boolean }\n): string {\n const { modelName, advanced = false } = options;\n const ext = getUserFileExtension();\n const isTypeScript = ext === \"ts\";\n\n if (!modelName)\n throw new Error(\"Module name is required for auth config template\");\n\n const modelNameCapitalized = capitalize(modelName.kebab.replaceAll(\"-\", \" \"));\n const modelNameSpaced = modelName.kebab.replaceAll(\"-\", \" \");\n\n const imports = isTypeScript\n ? `import { AuthConfigs } from 'arkos/auth';\\n`\n : \"\";\n\n const typeSatisfies = isTypeScript\n ? ` as const satisfies AuthConfigs[\"accessControl\"]`\n : \"\";\n\n const helperFunction = advanced\n ? ``\n : `\nfunction create${modelName.pascal}Permission(action: string) {\n return authService.permission(action, \"${modelName.kebab}\", ${modelName.camel}AccessControl);\n}`;\n\n const permissions = advanced\n ? `\nexport const ${modelName.camel}Permissions = Object.keys(${modelName.camel}AccessControl).reduce(\n (acc, key) => {\n acc[\\`can\\${key}\\` as const] = authService.permission(\n key,\n \"${modelName.kebab}\",\n ${modelName.camel}AccessControl\n );\n return acc;\n },\n {} as Record<string, ReturnType<typeof authService.permission>>\n)${\n isTypeScript\n ? ` as {\n [K in keyof typeof ${modelName.camel}AccessControl as \\`can\\${K & string}\\`]: ReturnType<\n typeof authService.permission\n >;\n}`\n : \"\"\n };`\n : `export const ${modelName.camel}Permissions = {\n canCreate: create${modelName.pascal}Permission(\"Create\"),\n canUpdate: create${modelName.pascal}Permission(\"Update\"),\n canDelete: create${modelName.pascal}Permission(\"Delete\"),\n canView: create${modelName.pascal}Permission(\"View\"),\n};`;\n\n return `${imports}import { authService } from \"arkos/services\";\n\nexport const ${modelName.camel}AuthenticationControl = {\n Create: true,\n Update: true,\n Delete: true,\n View: true,\n};\n\nexport const ${modelName.camel}AccessControl = {\n Create: {\n roles: [],\n name: \"Create ${modelNameCapitalized}\",\n description: \"Permission to create new ${modelNameSpaced} records\",\n },\n Update: {\n roles: [],\n name: \"Update ${modelNameCapitalized}\",\n description: \"Permission to update existing ${modelNameSpaced} records\",\n },\n Delete: {\n roles: [],\n name: \"Delete ${modelNameCapitalized}\",\n description: \"Permission to delete ${modelNameSpaced} records\",\n },\n View: {\n roles: [],\n name: \"View ${modelNameCapitalized}\",\n description: \"Permission to view ${modelNameSpaced} records\",\n },\n}${typeSatisfies};\n${helperFunction}\n${permissions}\n\nconst ${modelName.camel}AuthConfigs${isTypeScript ? \": AuthConfigs\" : \"\"} = {\n authenticationControl: ${modelName.camel}AuthenticationControl,\n accessControl: ${modelName.camel}AccessControl,\n};\n\nexport default ${modelName.camel}AuthConfigs;\n`;\n}\n"]}
|