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
|
@@ -0,0 +1,285 @@
|
|
|
1
|
+
import { getUserFileExtension } from "../../../../helpers/fs.helpers.js";
|
|
2
|
+
export function generateMiddlewaresTemplate(options) {
|
|
3
|
+
const { modelName } = options;
|
|
4
|
+
const ext = getUserFileExtension();
|
|
5
|
+
const isTypeScript = ext === "ts";
|
|
6
|
+
if (!modelName)
|
|
7
|
+
throw new Error("Module name is required for middleware template");
|
|
8
|
+
const isAuth = modelName.camel === "auth";
|
|
9
|
+
const isFileUpload = modelName.camel === "fileUpload" || modelName.camel === "file-upload";
|
|
10
|
+
const requestType = isTypeScript ? "ArkosRequest" : "req";
|
|
11
|
+
const responseType = isTypeScript ? "ArkosResponse" : "res";
|
|
12
|
+
const nextType = isTypeScript ? "ArkosNextFunction" : "next";
|
|
13
|
+
const baseImports = isTypeScript
|
|
14
|
+
? `import { ArkosRequest, ArkosResponse, ArkosNextFunction } from "arkos";`
|
|
15
|
+
: ``;
|
|
16
|
+
const functionParams = isTypeScript
|
|
17
|
+
? `req: ${requestType}, res: ${responseType}, next: ${nextType}`
|
|
18
|
+
: `req, res, next`;
|
|
19
|
+
const errorFunctionParams = isTypeScript
|
|
20
|
+
? `err: any, req: ${requestType}, res: ${responseType}, next: ${nextType}`
|
|
21
|
+
: `err, req, res, next`;
|
|
22
|
+
if (isAuth) {
|
|
23
|
+
return `${baseImports}
|
|
24
|
+
|
|
25
|
+
// export const beforeGetMe =
|
|
26
|
+
// [async (${functionParams}) => {
|
|
27
|
+
// next();
|
|
28
|
+
// }]
|
|
29
|
+
|
|
30
|
+
// export const afterGetMe =
|
|
31
|
+
// [async (${functionParams}) => {
|
|
32
|
+
// next();
|
|
33
|
+
// }]
|
|
34
|
+
|
|
35
|
+
// export const onGetMeError =
|
|
36
|
+
// [async (${errorFunctionParams}) => {
|
|
37
|
+
// next();
|
|
38
|
+
// }]
|
|
39
|
+
|
|
40
|
+
// export const beforeLogin =
|
|
41
|
+
// [async (${functionParams}) => {
|
|
42
|
+
// next();
|
|
43
|
+
// }]
|
|
44
|
+
|
|
45
|
+
// export const afterLogin =
|
|
46
|
+
// [async (${functionParams}) => {
|
|
47
|
+
// next();
|
|
48
|
+
// }]
|
|
49
|
+
|
|
50
|
+
// export const onLoginError =
|
|
51
|
+
// [async (${errorFunctionParams}) => {
|
|
52
|
+
// next();
|
|
53
|
+
// }]
|
|
54
|
+
|
|
55
|
+
// export const beforeLogout =
|
|
56
|
+
// [async (${functionParams}) => {
|
|
57
|
+
// next();
|
|
58
|
+
// }]
|
|
59
|
+
|
|
60
|
+
// export const afterLogout =
|
|
61
|
+
// [async (${functionParams}) => {
|
|
62
|
+
// next();
|
|
63
|
+
// }]
|
|
64
|
+
|
|
65
|
+
// export const onLogoutError =
|
|
66
|
+
// [async (${errorFunctionParams}) => {
|
|
67
|
+
// next();
|
|
68
|
+
// }]
|
|
69
|
+
|
|
70
|
+
// export const beforeSignup =
|
|
71
|
+
// [async (${functionParams}) => {
|
|
72
|
+
// }]
|
|
73
|
+
|
|
74
|
+
// export const afterSignup =
|
|
75
|
+
// [async (${functionParams}) => {
|
|
76
|
+
// next();
|
|
77
|
+
// }]
|
|
78
|
+
|
|
79
|
+
// export const onSignupError =
|
|
80
|
+
// [async (${errorFunctionParams}) => {
|
|
81
|
+
// next();
|
|
82
|
+
// }]
|
|
83
|
+
|
|
84
|
+
// export const beforeUpdatePassword =
|
|
85
|
+
// [async (${functionParams}) => {
|
|
86
|
+
// next();
|
|
87
|
+
// }]
|
|
88
|
+
|
|
89
|
+
// export const afterUpdatePassword =
|
|
90
|
+
// [async (${functionParams}) => {
|
|
91
|
+
// next();
|
|
92
|
+
// }]
|
|
93
|
+
|
|
94
|
+
// export const onUpdatePasswordError =
|
|
95
|
+
// [async (${errorFunctionParams}) => {
|
|
96
|
+
// next();
|
|
97
|
+
// }]
|
|
98
|
+
`;
|
|
99
|
+
}
|
|
100
|
+
if (isFileUpload) {
|
|
101
|
+
return `${baseImports}
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
// export const beforeFindF]ile =
|
|
105
|
+
// [async (${functionParams}) => {
|
|
106
|
+
// next();
|
|
107
|
+
// }]
|
|
108
|
+
|
|
109
|
+
// There is not afterFindFile: because the main handler is handleded by express.static()
|
|
110
|
+
|
|
111
|
+
// export const onFindFileError =
|
|
112
|
+
// [async (${errorFunctionParams}) => {
|
|
113
|
+
// next();
|
|
114
|
+
// }]
|
|
115
|
+
|
|
116
|
+
// export const beforeUploadFile =
|
|
117
|
+
// [async (${functionParams}) => {
|
|
118
|
+
// next();
|
|
119
|
+
// }]
|
|
120
|
+
|
|
121
|
+
// export const afterUploadFile =
|
|
122
|
+
// [async (${functionParams}) => {
|
|
123
|
+
// next();
|
|
124
|
+
// }]
|
|
125
|
+
|
|
126
|
+
// export const onUploadFileError =
|
|
127
|
+
// [async (${errorFunctionParams}) => {
|
|
128
|
+
// next();
|
|
129
|
+
// }]
|
|
130
|
+
|
|
131
|
+
// export const beforeUpdateFile =
|
|
132
|
+
// [async (${functionParams}) => {
|
|
133
|
+
// next();
|
|
134
|
+
// }]
|
|
135
|
+
|
|
136
|
+
// export const afterUpdateFile =
|
|
137
|
+
// [async (${functionParams}) => {
|
|
138
|
+
// next();
|
|
139
|
+
// }]
|
|
140
|
+
|
|
141
|
+
// export const onUpdateFileError =
|
|
142
|
+
// [async (${errorFunctionParams}) => {
|
|
143
|
+
// next();
|
|
144
|
+
// }]
|
|
145
|
+
|
|
146
|
+
// export const beforeDeleteFile =
|
|
147
|
+
// [async (${functionParams}) => {
|
|
148
|
+
// next();
|
|
149
|
+
// }]
|
|
150
|
+
|
|
151
|
+
// export const afterDeleteFile =
|
|
152
|
+
// [async (${functionParams}) => {
|
|
153
|
+
// next();
|
|
154
|
+
// }]
|
|
155
|
+
|
|
156
|
+
// export const onDeleteFileError =
|
|
157
|
+
// [async (${errorFunctionParams}) => {
|
|
158
|
+
// next();
|
|
159
|
+
// }]
|
|
160
|
+
`;
|
|
161
|
+
}
|
|
162
|
+
return `${baseImports}
|
|
163
|
+
|
|
164
|
+
// export const beforeCreateOne =
|
|
165
|
+
// [async (${functionParams}) => {
|
|
166
|
+
// next();
|
|
167
|
+
// }]
|
|
168
|
+
|
|
169
|
+
// export const afterCreateOne =
|
|
170
|
+
// [async (${functionParams}) => {
|
|
171
|
+
// next();
|
|
172
|
+
// }]
|
|
173
|
+
|
|
174
|
+
// export const onCreateOneError =
|
|
175
|
+
// [async (${errorFunctionParams}) => {
|
|
176
|
+
// next();
|
|
177
|
+
// }]
|
|
178
|
+
|
|
179
|
+
// export const beforeFindOne =
|
|
180
|
+
// [async (${functionParams}) => {
|
|
181
|
+
// next();
|
|
182
|
+
// }]
|
|
183
|
+
|
|
184
|
+
// export const afterFindOne =
|
|
185
|
+
// [async (${functionParams}) => {
|
|
186
|
+
// next();
|
|
187
|
+
// }]
|
|
188
|
+
|
|
189
|
+
// export const onFindOneError =
|
|
190
|
+
// [async (${errorFunctionParams}) => {
|
|
191
|
+
// next();
|
|
192
|
+
// }]
|
|
193
|
+
|
|
194
|
+
// export const beforeFindMany =
|
|
195
|
+
// [async (${functionParams}) => {
|
|
196
|
+
// next();
|
|
197
|
+
// }]
|
|
198
|
+
|
|
199
|
+
// export const afterFindMany =
|
|
200
|
+
// [async (${functionParams}) => {
|
|
201
|
+
// next();
|
|
202
|
+
// }]
|
|
203
|
+
|
|
204
|
+
// export const onFindManyError =
|
|
205
|
+
// [async (${errorFunctionParams}) => {
|
|
206
|
+
// next();
|
|
207
|
+
// }]
|
|
208
|
+
|
|
209
|
+
// export const beforeUpdateOne =
|
|
210
|
+
// [async (${functionParams}) => {
|
|
211
|
+
// next();
|
|
212
|
+
// }]
|
|
213
|
+
|
|
214
|
+
// export const afterUpdateOne =
|
|
215
|
+
// [async (${functionParams}) => {
|
|
216
|
+
// next();
|
|
217
|
+
// }]
|
|
218
|
+
|
|
219
|
+
// export const onUpdateOneError =
|
|
220
|
+
// [async (${errorFunctionParams}) => {
|
|
221
|
+
// next();
|
|
222
|
+
// }]
|
|
223
|
+
|
|
224
|
+
// export const beforeDeleteOne =
|
|
225
|
+
// [async (${functionParams}) => {
|
|
226
|
+
// next();
|
|
227
|
+
// }]
|
|
228
|
+
|
|
229
|
+
// export const afterDeleteOne =
|
|
230
|
+
// [async (${functionParams}) => {
|
|
231
|
+
// next();
|
|
232
|
+
// }]
|
|
233
|
+
|
|
234
|
+
// export const onDeleteOneError =
|
|
235
|
+
// [async (${errorFunctionParams}) => {
|
|
236
|
+
// next();
|
|
237
|
+
// }]
|
|
238
|
+
|
|
239
|
+
// export const beforeCreateMany =
|
|
240
|
+
// [async (${functionParams}) => {
|
|
241
|
+
// next();
|
|
242
|
+
// }]
|
|
243
|
+
|
|
244
|
+
// export const afterCreateMany =
|
|
245
|
+
// [async (${functionParams}) => {
|
|
246
|
+
// next();
|
|
247
|
+
// }]
|
|
248
|
+
|
|
249
|
+
// export const onCreateManyError =
|
|
250
|
+
// [async (${errorFunctionParams}) => {
|
|
251
|
+
// next();
|
|
252
|
+
// }]
|
|
253
|
+
|
|
254
|
+
// export const beforeUpdateMany =
|
|
255
|
+
// [async (${functionParams}) => {
|
|
256
|
+
// next();
|
|
257
|
+
// }]
|
|
258
|
+
|
|
259
|
+
// export const afterUpdateMany =
|
|
260
|
+
// [async (${functionParams}) => {
|
|
261
|
+
// next();
|
|
262
|
+
// }]
|
|
263
|
+
|
|
264
|
+
// export const onUpdateManyError =
|
|
265
|
+
// [async (${errorFunctionParams}) => {
|
|
266
|
+
// next();
|
|
267
|
+
// }]
|
|
268
|
+
|
|
269
|
+
// export const beforeDeleteMany =
|
|
270
|
+
// [async (${functionParams}) => {
|
|
271
|
+
// next();
|
|
272
|
+
// }]
|
|
273
|
+
|
|
274
|
+
// export const afterDeleteMany =
|
|
275
|
+
// [async (${functionParams}) => {
|
|
276
|
+
// next();
|
|
277
|
+
// }]
|
|
278
|
+
|
|
279
|
+
// export const onDeleteManyError =
|
|
280
|
+
// [async (${errorFunctionParams}) => {
|
|
281
|
+
// next();
|
|
282
|
+
// }]
|
|
283
|
+
`;
|
|
284
|
+
}
|
|
285
|
+
//# sourceMappingURL=middlewares-template.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"middlewares-template.js","sourceRoot":"","sources":["../../../../../../../src/utils/cli/utils/template-generator/templates/middlewares-template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAGtE,MAAM,UAAU,2BAA2B,CAAC,OAAwB;IAClE,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAC9B,MAAM,GAAG,GAAG,oBAAoB,EAAE,CAAC;IACnC,MAAM,YAAY,GAAG,GAAG,KAAK,IAAI,CAAC;IAElC,IAAI,CAAC,SAAS;QACZ,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IAErE,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,KAAK,MAAM,CAAC;IAC1C,MAAM,YAAY,GAChB,SAAS,CAAC,KAAK,KAAK,YAAY,IAAI,SAAS,CAAC,KAAK,KAAK,aAAa,CAAC;IAGxE,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC;IAC1D,MAAM,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC;IAC5D,MAAM,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,MAAM,CAAC;IAE7D,MAAM,WAAW,GAAG,YAAY;QAC9B,CAAC,CAAC,yEAAyE;QAC3E,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,cAAc,GAAG,YAAY;QACjC,CAAC,CAAC,QAAQ,WAAW,UAAU,YAAY,WAAW,QAAQ,EAAE;QAChE,CAAC,CAAC,gBAAgB,CAAC;IAErB,MAAM,mBAAmB,GAAG,YAAY;QACtC,CAAC,CAAC,kBAAkB,WAAW,UAAU,YAAY,WAAW,QAAQ,EAAE;QAC1E,CAAC,CAAC,qBAAqB,CAAC;IAE1B,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,GAAG,WAAW;;;eAGV,cAAc;;;;;eAKd,cAAc;;;;;eAKd,mBAAmB;;;;;eAKnB,cAAc;;;;;eAKd,cAAc;;;;;eAKd,mBAAmB;;;;;eAKnB,cAAc;;;;;eAKd,cAAc;;;;;eAKd,mBAAmB;;;;;eAKnB,cAAc;;;;eAId,cAAc;;;;;eAKd,mBAAmB;;;;;eAKnB,cAAc;;;;;eAKd,cAAc;;;;;eAKd,mBAAmB;;;CAGjC,CAAC;IACA,CAAC;IAED,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,GAAG,WAAW;;;;eAIV,cAAc;;;;;;;eAOd,mBAAmB;;;;;eAKnB,cAAc;;;;;eAKd,cAAc;;;;;eAKd,mBAAmB;;;;;eAKnB,cAAc;;;;;eAKd,cAAc;;;;;eAKd,mBAAmB;;;;;eAKnB,cAAc;;;;;eAKd,cAAc;;;;;eAKd,mBAAmB;;;CAGjC,CAAC;IACA,CAAC;IAGD,OAAO,GAAG,WAAW;;;eAGR,cAAc;;;;;eAKd,cAAc;;;;;eAKd,mBAAmB;;;;;eAKnB,cAAc;;;;;eAKd,cAAc;;;;;eAKd,mBAAmB;;;;;eAKnB,cAAc;;;;;eAKd,cAAc;;;;;eAKd,mBAAmB;;;;;eAKnB,cAAc;;;;;eAKd,cAAc;;;;;eAKd,mBAAmB;;;;;eAKnB,cAAc;;;;;eAKd,cAAc;;;;;eAKd,mBAAmB;;;;;eAKnB,cAAc;;;;;eAKd,cAAc;;;;;eAKd,mBAAmB;;;;;eAKnB,cAAc;;;;;eAKd,cAAc;;;;;eAKd,mBAAmB;;;;;eAKnB,cAAc;;;;;eAKd,cAAc;;;;;eAKd,mBAAmB;;;CAGjC,CAAC;AACF,CAAC","sourcesContent":["import { getUserFileExtension } from \"../../../../helpers/fs.helpers\";\nimport { TemplateOptions } from \"../../template-generators\";\n\nexport function generateMiddlewaresTemplate(options: TemplateOptions): string {\n const { modelName } = options;\n const ext = getUserFileExtension();\n const isTypeScript = ext === \"ts\";\n\n if (!modelName)\n throw new Error(\"Module name is required for middleware template\");\n\n const isAuth = modelName.camel === \"auth\";\n const isFileUpload =\n modelName.camel === \"fileUpload\" || modelName.camel === \"file-upload\";\n\n // Generate imports based on TypeScript/JavaScript\n const requestType = isTypeScript ? \"ArkosRequest\" : \"req\";\n const responseType = isTypeScript ? \"ArkosResponse\" : \"res\";\n const nextType = isTypeScript ? \"ArkosNextFunction\" : \"next\";\n\n const baseImports = isTypeScript\n ? `import { ArkosRequest, ArkosResponse, ArkosNextFunction } from \"arkos\";`\n : ``;\n\n const functionParams = isTypeScript\n ? `req: ${requestType}, res: ${responseType}, next: ${nextType}`\n : `req, res, next`;\n\n const errorFunctionParams = isTypeScript\n ? `err: any, req: ${requestType}, res: ${responseType}, next: ${nextType}`\n : `err, req, res, next`;\n\n if (isAuth) {\n return `${baseImports}\n\n// export const beforeGetMe = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const afterGetMe = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const onGetMeError =\n// [async (${errorFunctionParams}) => {\n// next();\n// }]\n\n// export const beforeLogin = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const afterLogin = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const onLoginError =\n// [async (${errorFunctionParams}) => {\n// next();\n// }]\n\n// export const beforeLogout = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const afterLogout = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const onLogoutError =\n// [async (${errorFunctionParams}) => {\n// next();\n// }]\n\n// export const beforeSignup = \n// [async (${functionParams}) => {\n// }]\n\n// export const afterSignup = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const onSignupError =\n// [async (${errorFunctionParams}) => {\n// next();\n// }]\n\n// export const beforeUpdatePassword = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const afterUpdatePassword = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const onUpdatePasswordError =\n// [async (${errorFunctionParams}) => {\n// next();\n// }]\n`;\n }\n\n if (isFileUpload) {\n return `${baseImports}\n\n\n// export const beforeFindF]ile = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// There is not afterFindFile: because the main handler is handleded by express.static()\n\n// export const onFindFileError =\n// [async (${errorFunctionParams}) => {\n// next();\n// }]\n\n// export const beforeUploadFile = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const afterUploadFile = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const onUploadFileError =\n// [async (${errorFunctionParams}) => {\n// next();\n// }]\n\n// export const beforeUpdateFile = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const afterUpdateFile = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const onUpdateFileError =\n// [async (${errorFunctionParams}) => {\n// next();\n// }]\n\n// export const beforeDeleteFile = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const afterDeleteFile = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const onDeleteFileError =\n// [async (${errorFunctionParams}) => {\n// next();\n// }]\n`;\n }\n\n // Regular model interceptors\n return `${baseImports}\n\n// export const beforeCreateOne = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const afterCreateOne = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const onCreateOneError =\n// [async (${errorFunctionParams}) => {\n// next();\n// }]\n\n// export const beforeFindOne = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const afterFindOne = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const onFindOneError =\n// [async (${errorFunctionParams}) => {\n// next();\n// }]\n\n// export const beforeFindMany = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const afterFindMany = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const onFindManyError =\n// [async (${errorFunctionParams}) => {\n// next();\n// }]\n\n// export const beforeUpdateOne = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const afterUpdateOne = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const onUpdateOneError =\n// [async (${errorFunctionParams}) => {\n// next();\n// }]\n\n// export const beforeDeleteOne = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const afterDeleteOne = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const onDeleteOneError =\n// [async (${errorFunctionParams}) => {\n// next();\n// }]\n\n// export const beforeCreateMany = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const afterCreateMany = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const onCreateManyError =\n// [async (${errorFunctionParams}) => {\n// next();\n// }]\n\n// export const beforeUpdateMany = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const afterUpdateMany = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const onUpdateManyError =\n// [async (${errorFunctionParams}) => {\n// next();\n// }]\n\n// export const beforeDeleteMany = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const afterDeleteMany = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const onDeleteManyError =\n// [async (${errorFunctionParams}) => {\n// next();\n// }]\n`;\n}\n"]}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { getUserFileExtension } from "../../../../helpers/fs.helpers.js";
|
|
2
|
+
export function generateQueryOptionsTemplate(options) {
|
|
3
|
+
const { modelName } = options;
|
|
4
|
+
const isAuth = modelName?.camel === "auth";
|
|
5
|
+
const ext = getUserFileExtension();
|
|
6
|
+
const isTypeScript = ext === "ts";
|
|
7
|
+
if (!modelName)
|
|
8
|
+
throw new Error("Model name is required for query config template");
|
|
9
|
+
const imports = isAuth
|
|
10
|
+
? `import { AuthPrismaQueryOptions } from 'arkos/prisma'`
|
|
11
|
+
: `import { PrismaQueryOptions } from 'arkos/prisma'`;
|
|
12
|
+
const typeAnnotation = isTypeScript
|
|
13
|
+
? isAuth
|
|
14
|
+
? `: AuthPrismaQueryOptions<typeof prisma.${modelName.camel}>`
|
|
15
|
+
: `: PrismaQueryOptions<typeof prisma.${modelName.camel}>`
|
|
16
|
+
: "";
|
|
17
|
+
const prismaImport = isTypeScript
|
|
18
|
+
? `import prisma from "../../utils/prisma.js";\n`
|
|
19
|
+
: "";
|
|
20
|
+
if (isAuth) {
|
|
21
|
+
return `${prismaImport}${imports};
|
|
22
|
+
|
|
23
|
+
const ${modelName.camel}QueryOptions${typeAnnotation} = {
|
|
24
|
+
getMe: {},
|
|
25
|
+
updateMe: {},
|
|
26
|
+
deleteMe: {},
|
|
27
|
+
login: {},
|
|
28
|
+
signup: {},
|
|
29
|
+
updatePassword: {},
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export default ${modelName.camel}QueryOptions;
|
|
33
|
+
`;
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
return `${prismaImport}${imports};
|
|
37
|
+
|
|
38
|
+
const ${modelName.camel}QueryOptions${typeAnnotation} = {
|
|
39
|
+
global: {},
|
|
40
|
+
find: {},
|
|
41
|
+
findOne: {},
|
|
42
|
+
findMany: {},
|
|
43
|
+
update: {},
|
|
44
|
+
updateMany: {},
|
|
45
|
+
updateOne: {},
|
|
46
|
+
create: {},
|
|
47
|
+
createMany: {},
|
|
48
|
+
createOne: {},
|
|
49
|
+
save: {},
|
|
50
|
+
saveMany: {},
|
|
51
|
+
saveOne: {},
|
|
52
|
+
delete: {},
|
|
53
|
+
deleteMany: {},
|
|
54
|
+
deleteOne: {},
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export default ${modelName.camel}QueryOptions;
|
|
58
|
+
`;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=query-options-template.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query-options-template.js","sourceRoot":"","sources":["../../../../../../../src/utils/cli/utils/template-generator/templates/query-options-template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAGtE,MAAM,UAAU,4BAA4B,CAAC,OAAwB;IACnE,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAC9B,MAAM,MAAM,GAAG,SAAS,EAAE,KAAK,KAAK,MAAM,CAAC;IAC3C,MAAM,GAAG,GAAG,oBAAoB,EAAE,CAAC;IACnC,MAAM,YAAY,GAAG,GAAG,KAAK,IAAI,CAAC;IAElC,IAAI,CAAC,SAAS;QACZ,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IAGtE,MAAM,OAAO,GAAG,MAAM;QACpB,CAAC,CAAC,uDAAuD;QACzD,CAAC,CAAC,mDAAmD,CAAC;IAGxD,MAAM,cAAc,GAAG,YAAY;QACjC,CAAC,CAAC,MAAM;YACN,CAAC,CAAC,0CAA0C,SAAS,CAAC,KAAK,GAAG;YAC9D,CAAC,CAAC,sCAAsC,SAAS,CAAC,KAAK,GAAG;QAC5D,CAAC,CAAC,EAAE,CAAC;IAGP,MAAM,YAAY,GAAG,YAAY;QAC/B,CAAC,CAAC,4CAA4C;QAC9C,CAAC,CAAC,EAAE,CAAC;IAEP,IAAI,MAAM,EAAE,CAAC;QAEX,OAAO,GAAG,YAAY,GAAG,OAAO;;QAE5B,SAAS,CAAC,KAAK,eAAe,cAAc;;;;;;;;;iBASnC,SAAS,CAAC,KAAK;CAC/B,CAAC;IACA,CAAC;SAAM,CAAC;QAEN,OAAO,GAAG,YAAY,GAAG,OAAO;;QAE5B,SAAS,CAAC,KAAK,eAAe,cAAc;;;;;;;;;;;;;;;;;;;iBAmBnC,SAAS,CAAC,KAAK;CAC/B,CAAC;IACA,CAAC;AACH,CAAC","sourcesContent":["import { getUserFileExtension } from \"../../../../helpers/fs.helpers\";\nimport { TemplateOptions } from \"../../template-generators\";\n\nexport function generateQueryOptionsTemplate(options: TemplateOptions): string {\n const { modelName } = options;\n const isAuth = modelName?.camel === \"auth\";\n const ext = getUserFileExtension();\n const isTypeScript = ext === \"ts\";\n\n if (!modelName)\n throw new Error(\"Model name is required for query config template\");\n\n // Generate imports\n const imports = isAuth\n ? `import { AuthPrismaQueryOptions } from 'arkos/prisma'`\n : `import { PrismaQueryOptions } from 'arkos/prisma'`;\n\n // Generate type annotation for TypeScript\n const typeAnnotation = isTypeScript\n ? isAuth\n ? `: AuthPrismaQueryOptions<typeof prisma.${modelName.camel}>`\n : `: PrismaQueryOptions<typeof prisma.${modelName.camel}>`\n : \"\";\n\n // Generate prisma import if TypeScript\n const prismaImport = isTypeScript\n ? `import prisma from \"../../utils/prisma\";\\n`\n : \"\";\n\n if (isAuth) {\n // Auth template\n return `${prismaImport}${imports};\n\nconst ${modelName.camel}QueryOptions${typeAnnotation} = {\n getMe: {},\n updateMe: {},\n deleteMe: {},\n login: {},\n signup: {},\n updatePassword: {},\n}\n\nexport default ${modelName.camel}QueryOptions;\n`;\n } else {\n // Regular template\n return `${prismaImport}${imports};\n\nconst ${modelName.camel}QueryOptions${typeAnnotation} = {\n global: {},\n find: {},\n findOne: {},\n findMany: {},\n update: {},\n updateMany: {},\n updateOne: {},\n create: {},\n createMany: {},\n createOne: {},\n save: {},\n saveMany: {},\n saveOne: {},\n delete: {},\n deleteMany: {},\n deleteOne: {},\n}\n\nexport default ${modelName.camel}QueryOptions;\n`;\n }\n}\n"]}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import pluralize from "pluralize";
|
|
2
|
+
import { checkFileExists, getUserFileExtension, } from "../../../../helpers/fs.helpers.js";
|
|
3
|
+
export function generateRouterTemplate(options) {
|
|
4
|
+
const { modelName, imports } = options;
|
|
5
|
+
if (!modelName)
|
|
6
|
+
throw new Error("Model name is required for router template");
|
|
7
|
+
const ext = getUserFileExtension();
|
|
8
|
+
const controllerPath = imports?.controller || `./${modelName.kebab}.controller.${ext}`;
|
|
9
|
+
const routerConfigTsType = ext === "ts" ? ": RouterConfig" : "";
|
|
10
|
+
const routerConfigTsTypeImport = ext === "ts" ? "import { RouterConfig } from 'arkos'" : "";
|
|
11
|
+
const controllerExists = checkFileExists(controllerPath);
|
|
12
|
+
const controllerImportLine = controllerExists
|
|
13
|
+
? `import ${modelName.camel}Controller from "${imports?.controller ||
|
|
14
|
+
`./${modelName.kebab}.controller${ext === "js" ? "." + "js" : ""}`}"`
|
|
15
|
+
: `// import ${modelName.camel}Controller from "${imports?.controller ||
|
|
16
|
+
`./${modelName.kebab}.controller${ext === "js" ? "." + "js" : ""}`}"`;
|
|
17
|
+
const controllerHandlerLine = controllerExists
|
|
18
|
+
? ` ${modelName.camel}Controller.someHandler`
|
|
19
|
+
: ` // ${modelName.camel}Controller.someHandler`;
|
|
20
|
+
return `import { Router } from 'express'
|
|
21
|
+
import { authService } from 'arkos/services'
|
|
22
|
+
${controllerImportLine}
|
|
23
|
+
${routerConfigTsTypeImport}
|
|
24
|
+
|
|
25
|
+
export const config${routerConfigTsType} = { }
|
|
26
|
+
|
|
27
|
+
const ${modelName.camel}Router = Router()
|
|
28
|
+
|
|
29
|
+
${modelName.camel}Router.post(
|
|
30
|
+
'/custom-endpoint', // resolves to /api/${pluralize(modelName.kebab)}/custom-endpoint
|
|
31
|
+
authService.authenticate,
|
|
32
|
+
authService.handleAccessControl('CustomAction', '${modelName.kebab}'),
|
|
33
|
+
${controllerHandlerLine}
|
|
34
|
+
)
|
|
35
|
+
|
|
36
|
+
export default ${modelName.camel}Router
|
|
37
|
+
`;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=router-template.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"router-template.js","sourceRoot":"","sources":["../../../../../../../src/utils/cli/utils/template-generator/templates/router-template.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,WAAW,CAAC;AAClC,OAAO,EACL,eAAe,EACf,oBAAoB,GACrB,MAAM,gCAAgC,CAAC;AAGxC,MAAM,UAAU,sBAAsB,CAAC,OAAwB;IAC7D,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAEvC,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAG9E,MAAM,GAAG,GAAG,oBAAoB,EAAE,CAAC;IACnC,MAAM,cAAc,GAClB,OAAO,EAAE,UAAU,IAAI,KAAK,SAAS,CAAC,KAAK,eAAe,GAAG,EAAE,CAAC;IAElE,MAAM,kBAAkB,GAAG,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;IAChE,MAAM,wBAAwB,GAC5B,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,sCAAsC,CAAC,CAAC,CAAC,EAAE,CAAC;IAE7D,MAAM,gBAAgB,GAAG,eAAe,CAAC,cAAc,CAAC,CAAC;IAEzD,MAAM,oBAAoB,GAAG,gBAAgB;QAC3C,CAAC,CAAC,UAAU,SAAS,CAAC,KAAK,oBACvB,OAAO,EAAE,UAAU;YACnB,KAAK,SAAS,CAAC,KAAK,cAAc,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,EAClE,GAAG;QACL,CAAC,CAAC,aAAa,SAAS,CAAC,KAAK,oBAC1B,OAAO,EAAE,UAAU;YACnB,KAAK,SAAS,CAAC,KAAK,cAAc,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,EAClE,GAAG,CAAC;IAER,MAAM,qBAAqB,GAAG,gBAAgB;QAC5C,CAAC,CAAC,KAAK,SAAS,CAAC,KAAK,wBAAwB;QAC9C,CAAC,CAAC,QAAQ,SAAS,CAAC,KAAK,wBAAwB,CAAC;IAEpD,OAAO;;EAEP,oBAAoB;EACpB,wBAAwB;;qBAEL,kBAAkB;;QAE/B,SAAS,CAAC,KAAK;;EAErB,SAAS,CAAC,KAAK;4CAC2B,SAAS,CACjD,SAAS,CAAC,KAAK,CAChB;;qDAEkD,SAAS,CAAC,KAAK;EAClE,qBAAqB;;;iBAGN,SAAS,CAAC,KAAK;CAC/B,CAAC;AACF,CAAC","sourcesContent":["import pluralize from \"pluralize\";\nimport {\n checkFileExists,\n getUserFileExtension,\n} from \"../../../../helpers/fs.helpers\";\nimport { TemplateOptions } from \"../../template-generators\";\n\nexport function generateRouterTemplate(options: TemplateOptions): string {\n const { modelName, imports } = options;\n\n if (!modelName) throw new Error(\"Model name is required for router template\");\n\n // Check if controller file exists\n const ext = getUserFileExtension();\n const controllerPath =\n imports?.controller || `./${modelName.kebab}.controller.${ext}`;\n\n const routerConfigTsType = ext === \"ts\" ? \": RouterConfig\" : \"\";\n const routerConfigTsTypeImport =\n ext === \"ts\" ? \"import { RouterConfig } from 'arkos'\" : \"\";\n\n const controllerExists = checkFileExists(controllerPath);\n\n const controllerImportLine = controllerExists\n ? `import ${modelName.camel}Controller from \"${\n imports?.controller ||\n `./${modelName.kebab}.controller${ext === \"js\" ? \".\" + \"js\" : \"\"}`\n }\"`\n : `// import ${modelName.camel}Controller from \"${\n imports?.controller ||\n `./${modelName.kebab}.controller${ext === \"js\" ? \".\" + \"js\" : \"\"}`\n }\"`;\n\n const controllerHandlerLine = controllerExists\n ? ` ${modelName.camel}Controller.someHandler`\n : ` // ${modelName.camel}Controller.someHandler`;\n\n return `import { Router } from 'express'\nimport { authService } from 'arkos/services'\n${controllerImportLine}\n${routerConfigTsTypeImport}\n\nexport const config${routerConfigTsType} = { }\n\nconst ${modelName.camel}Router = Router()\n\n${modelName.camel}Router.post(\n '/custom-endpoint', // resolves to /api/${pluralize(\n modelName.kebab\n )}/custom-endpoint\n authService.authenticate,\n authService.handleAccessControl('CustomAction', '${modelName.kebab}'),\n${controllerHandlerLine}\n)\n\nexport default ${modelName.camel}Router\n`;\n}\n"]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { getUserFileExtension } from "../../../../helpers/fs.helpers.js";
|
|
2
|
+
export function generateServiceTemplate(options) {
|
|
3
|
+
const { modelName, imports } = options;
|
|
4
|
+
const ext = getUserFileExtension();
|
|
5
|
+
const isTypeScript = ext === "ts";
|
|
6
|
+
if (!modelName)
|
|
7
|
+
throw new Error("Model name is required for service template");
|
|
8
|
+
const prismaImport = isTypeScript
|
|
9
|
+
? `"../../utils/prisma${ext === "ts" ? "" : "." + "js"}";\n`
|
|
10
|
+
: "";
|
|
11
|
+
const baseServiceImport = isTypeScript
|
|
12
|
+
? `import { BaseService } from "${imports?.baseService || "arkos/services"}";`
|
|
13
|
+
: `import { BaseService } from "${imports?.baseService || "arkos/services"}";`;
|
|
14
|
+
const typeParameter = isTypeScript
|
|
15
|
+
? `<typeof prisma.${modelName.camel}>`
|
|
16
|
+
: "";
|
|
17
|
+
return `${isTypeScript && "import prisma from "}${prismaImport}${baseServiceImport}
|
|
18
|
+
|
|
19
|
+
class ${modelName.pascal}Service extends BaseService${typeParameter} {}
|
|
20
|
+
|
|
21
|
+
const ${modelName.camel}Service = new ${modelName.pascal}Service("${modelName.kebab}");
|
|
22
|
+
|
|
23
|
+
export default ${modelName.camel}Service;
|
|
24
|
+
`;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=service-template.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-template.js","sourceRoot":"","sources":["../../../../../../../src/utils/cli/utils/template-generator/templates/service-template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAGtE,MAAM,UAAU,uBAAuB,CAAC,OAAwB;IAC9D,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IACvC,MAAM,GAAG,GAAG,oBAAoB,EAAE,CAAC;IACnC,MAAM,YAAY,GAAG,GAAG,KAAK,IAAI,CAAC;IAElC,IAAI,CAAC,SAAS;QACZ,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IAGjE,MAAM,YAAY,GAAG,YAAY;QAC/B,CAAC,CAAC,sBAAsB,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,MAAM;QAC5D,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,iBAAiB,GAAG,YAAY;QACpC,CAAC,CAAC,gCACE,OAAO,EAAE,WAAW,IAAI,gBAC1B,IAAI;QACN,CAAC,CAAC,gCACE,OAAO,EAAE,WAAW,IAAI,gBAC1B,IAAI,CAAC;IAGT,MAAM,aAAa,GAAG,YAAY;QAChC,CAAC,CAAC,kBAAkB,SAAS,CAAC,KAAK,GAAG;QACtC,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO,GAAG,YAAY,IAAI,qBAAqB,GAAG,YAAY,GAAG,iBAAiB;;QAE5E,SAAS,CAAC,MAAM,8BAA8B,aAAa;;QAE3D,SAAS,CAAC,KAAK,iBAAiB,SAAS,CAAC,MAAM,YAAY,SAAS,CAAC,KAAK;;iBAElE,SAAS,CAAC,KAAK;CAC/B,CAAC;AACF,CAAC","sourcesContent":["import { getUserFileExtension } from \"../../../../helpers/fs.helpers\";\nimport { TemplateOptions } from \"../../template-generators\";\n\nexport function generateServiceTemplate(options: TemplateOptions): string {\n const { modelName, imports } = options;\n const ext = getUserFileExtension();\n const isTypeScript = ext === \"ts\";\n\n if (!modelName)\n throw new Error(\"Model name is required for service template\");\n\n // Generate imports\n const prismaImport = isTypeScript\n ? `\"../../utils/prisma${ext === \"ts\" ? \"\" : \".\" + \"js\"}\";\\n`\n : \"\";\n\n const baseServiceImport = isTypeScript\n ? `import { BaseService } from \"${\n imports?.baseService || \"arkos/services\"\n }\";`\n : `import { BaseService } from \"${\n imports?.baseService || \"arkos/services\"\n }\";`;\n\n // Generate type parameter for TypeScript\n const typeParameter = isTypeScript\n ? `<typeof prisma.${modelName.camel}>`\n : \"\";\n\n return `${isTypeScript && \"import prisma from \"}${prismaImport}${baseServiceImport}\n \nclass ${modelName.pascal}Service extends BaseService${typeParameter} {}\n\nconst ${modelName.camel}Service = new ${modelName.pascal}Service(\"${modelName.kebab}\");\n\nexport default ${modelName.camel}Service;\n`;\n}\n"]}
|
|
@@ -1,2 +1,28 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import { generateControllerTemplate } from "./template-generator/templates/controller-template.js";
|
|
2
|
+
import { generateAuthConfigsTemplate } from "./template-generator/templates/auth-configs-template.js";
|
|
3
|
+
import { generateMiddlewaresTemplate } from "./template-generator/templates/middlewares-template.js";
|
|
4
|
+
import { generateQueryOptionsTemplate } from "./template-generator/templates/query-options-template.js";
|
|
5
|
+
import { generateRouterTemplate } from "./template-generator/templates/router-template.js";
|
|
6
|
+
import { generateServiceTemplate } from "./template-generator/templates/service-template.js";
|
|
7
|
+
import generateHooksTemplate from "./template-generator/templates/hooks-template.js";
|
|
8
|
+
export function generateTemplate(type, options) {
|
|
9
|
+
switch (type) {
|
|
10
|
+
case "controller":
|
|
11
|
+
return generateControllerTemplate(options);
|
|
12
|
+
case "service":
|
|
13
|
+
return generateServiceTemplate(options);
|
|
14
|
+
case "router":
|
|
15
|
+
return generateRouterTemplate(options);
|
|
16
|
+
case "auth-configs":
|
|
17
|
+
return generateAuthConfigsTemplate(options);
|
|
18
|
+
case "query-options":
|
|
19
|
+
return generateQueryOptionsTemplate(options);
|
|
20
|
+
case "interceptors":
|
|
21
|
+
return generateMiddlewaresTemplate(options);
|
|
22
|
+
case "hooks":
|
|
23
|
+
return generateHooksTemplate(options);
|
|
24
|
+
default:
|
|
25
|
+
throw new Error(`\n Unknown template type: ${type}`);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=template-generators.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template-generators.js","sourceRoot":"","sources":["../../../../../src/utils/cli/utils/template-generators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"template-generators.js","sourceRoot":"","sources":["../../../../../src/utils/cli/utils/template-generators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,oDAAoD,CAAC;AAChG,OAAO,EAAE,2BAA2B,EAAE,MAAM,sDAAsD,CAAC;AACnG,OAAO,EAAE,2BAA2B,EAAE,MAAM,qDAAqD,CAAC;AAClG,OAAO,EAAE,4BAA4B,EAAE,MAAM,uDAAuD,CAAC;AACrG,OAAO,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;AACxF,OAAO,EAAE,uBAAuB,EAAE,MAAM,iDAAiD,CAAC;AAC1F,OAAO,qBAAqB,MAAM,+CAA+C,CAAC;AAoBlF,MAAM,UAAU,gBAAgB,CAC9B,IAAY,EACZ,OAAwB;IAExB,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,YAAY;YACf,OAAO,0BAA0B,CAAC,OAAO,CAAC,CAAC;QAC7C,KAAK,SAAS;YACZ,OAAO,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAC1C,KAAK,QAAQ;YACX,OAAO,sBAAsB,CAAC,OAAO,CAAC,CAAC;QACzC,KAAK,cAAc;YACjB,OAAO,2BAA2B,CAAC,OAAO,CAAC,CAAC;QAC9C,KAAK,eAAe;YAClB,OAAO,4BAA4B,CAAC,OAAO,CAAC,CAAC;QAC/C,KAAK,cAAc;YACjB,OAAO,2BAA2B,CAAC,OAAO,CAAC,CAAC;QAC9C,KAAK,OAAO;YACV,OAAO,qBAAqB,CAAC,OAAO,CAAC,CAAC;QACxC;YACE,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,EAAE,CAAC,CAAC;IACzD,CAAC;AACH,CAAC","sourcesContent":["import { generateControllerTemplate } from \"./template-generator/templates/controller-template\";\nimport { generateAuthConfigsTemplate } from \"./template-generator/templates/auth-configs-template\";\nimport { generateMiddlewaresTemplate } from \"./template-generator/templates/middlewares-template\";\nimport { generateQueryOptionsTemplate } from \"./template-generator/templates/query-options-template\";\nimport { generateRouterTemplate } from \"./template-generator/templates/router-template\";\nimport { generateServiceTemplate } from \"./template-generator/templates/service-template\";\nimport generateHooksTemplate from \"./template-generator/templates/hooks-template\";\n\ninterface ModelName {\n pascal: string;\n camel: string;\n kebab: string;\n}\n\ninterface MiddlewareName {\n pascal: string;\n camel: string;\n kebab: string;\n}\n\nexport interface TemplateOptions {\n modelName: ModelName;\n middlewareName?: MiddlewareName;\n imports?: Record<string, string>;\n}\n\nexport function generateTemplate(\n type: string,\n options: TemplateOptions\n): string {\n switch (type) {\n case \"controller\":\n return generateControllerTemplate(options);\n case \"service\":\n return generateServiceTemplate(options);\n case \"router\":\n return generateRouterTemplate(options);\n case \"auth-configs\":\n return generateAuthConfigsTemplate(options);\n case \"query-options\":\n return generateQueryOptionsTemplate(options);\n case \"interceptors\":\n return generateMiddlewaresTemplate(options);\n case \"hooks\":\n return generateHooksTemplate(options);\n default:\n throw new Error(`\\n Unknown template type: ${type}`);\n }\n}\n"]}
|
|
@@ -1,3 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import { getVersion } from "./cli.helpers.js";
|
|
2
|
+
class WatermarkStamper {
|
|
3
|
+
stamp({ envFiles, host, port, }) {
|
|
4
|
+
console.info(`\n \x1b[1m\x1b[36m Arkos.js ${getVersion()}\x1b[0m`);
|
|
5
|
+
if (host && port)
|
|
6
|
+
console.info(` - Local: http://${host}:${port}`);
|
|
7
|
+
if (envFiles?.length || 0 > 1)
|
|
8
|
+
console.info(` - Environments: ${envFiles
|
|
9
|
+
?.join(", ")
|
|
10
|
+
.replaceAll(`${process.cwd()}/`, "")}\n`);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
const watermarkStamper = new WatermarkStamper();
|
|
14
|
+
export default watermarkStamper;
|
|
15
|
+
//# sourceMappingURL=watermark-stamper.js.map
|
|
@@ -1 +1,37 @@
|
|
|
1
|
-
|
|
1
|
+
import path from "path";
|
|
2
|
+
import fs from "fs";
|
|
3
|
+
import dotenv from "dotenv";
|
|
4
|
+
export function loadEnvironmentVariables() {
|
|
5
|
+
const ENV = process.env.NODE_ENV;
|
|
6
|
+
const cwd = process.cwd();
|
|
7
|
+
let loadedEnvs = [];
|
|
8
|
+
const envFiles = [
|
|
9
|
+
path.resolve(cwd, `.env.defaults`),
|
|
10
|
+
path.resolve(cwd, `.env.${ENV}`),
|
|
11
|
+
path.resolve(cwd, `.env.${ENV}.local`),
|
|
12
|
+
path.resolve(cwd, ".env.local"),
|
|
13
|
+
path.resolve(cwd, ".env"),
|
|
14
|
+
];
|
|
15
|
+
envFiles.forEach((filePath) => {
|
|
16
|
+
if (fs.existsSync(filePath)) {
|
|
17
|
+
if (ENV === "production" && filePath.endsWith(".local"))
|
|
18
|
+
console.info(`Skipping the local ${filePath.replace(cwd, "")} files in production`);
|
|
19
|
+
else {
|
|
20
|
+
const result = dotenv.config({ path: filePath, override: true });
|
|
21
|
+
if (result.error) {
|
|
22
|
+
console.warn(`Warning: Error loading ${filePath}`, result.error);
|
|
23
|
+
}
|
|
24
|
+
else
|
|
25
|
+
loadedEnvs.push(filePath);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
const requiredVars = ["DATABASE_URL"];
|
|
30
|
+
const missingVars = requiredVars.filter((varName) => !process.env[varName]);
|
|
31
|
+
if (missingVars.length > 0) {
|
|
32
|
+
console.error("Missing required environment variables:", missingVars.join(", "));
|
|
33
|
+
}
|
|
34
|
+
if (loadedEnvs)
|
|
35
|
+
return loadedEnvs;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=dotenv.helpers.js.map
|