arkos 1.2.13-beta → 1.2.13-test.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.
Files changed (222) hide show
  1. package/dist/cjs/app.js +138 -1
  2. package/dist/cjs/app.js.map +1 -1
  3. package/dist/cjs/index.js +22 -0
  4. package/dist/cjs/modules/base/base.middlewares.js +4 -4
  5. package/dist/cjs/modules/base/base.middlewares.js.map +1 -1
  6. package/dist/cjs/modules/swagger/swagger.router.js +62 -43
  7. package/dist/cjs/modules/swagger/swagger.router.js.map +1 -1
  8. package/dist/cjs/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js +82 -62
  9. package/dist/cjs/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js.map +1 -1
  10. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js +23 -16
  11. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js.map +1 -1
  12. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schema.js +1 -1
  13. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schema.js.map +1 -1
  14. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes.js +40 -11
  15. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes.js.map +1 -1
  16. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes.js +419 -9
  17. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes.js.map +1 -1
  18. package/dist/cjs/modules/swagger/utils/helpers/missing-json-schemas-generator.js +253 -0
  19. package/dist/cjs/modules/swagger/utils/helpers/missing-json-schemas-generator.js.map +1 -0
  20. package/dist/cjs/modules/swagger/utils/helpers/swagger.router.helpers.js +31 -20
  21. package/dist/cjs/modules/swagger/utils/helpers/swagger.router.helpers.js.map +1 -1
  22. package/dist/cjs/paths.js +9 -1
  23. package/dist/cjs/server.js +85 -5
  24. package/dist/cjs/server.js.map +1 -1
  25. package/dist/cjs/types/arkos-config.js.map +1 -1
  26. package/dist/cjs/utils/cli/dev.js +7 -7
  27. package/dist/cjs/utils/cli/dev.js.map +1 -1
  28. package/dist/cjs/utils/cli/start.js +4 -3
  29. package/dist/cjs/utils/cli/start.js.map +1 -1
  30. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js +1 -1
  31. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-service-template.js +1 -1
  32. package/dist/cjs/utils/features/api.features.js +1 -1
  33. package/dist/cjs/utils/features/api.features.js.map +1 -1
  34. package/dist/cjs/utils/helpers/global.helpers.js.map +1 -1
  35. package/dist/cjs/utils/helpers/models.helpers.js +43 -21
  36. package/dist/cjs/utils/helpers/models.helpers.js.map +1 -1
  37. package/dist/cjs/utils/prisma/enhaced-prisma-json-schema-generator.js +451 -0
  38. package/dist/cjs/utils/prisma/enhaced-prisma-json-schema-generator.js.map +1 -0
  39. package/dist/cjs/utils/prisma/prisma-json-schema-generator.js +88 -0
  40. package/dist/cjs/utils/prisma/prisma-json-schema-generator.js.map +1 -0
  41. package/dist/cjs/utils/prisma/prisma-schema-parser.js +158 -0
  42. package/dist/cjs/utils/prisma/prisma-schema-parser.js.map +1 -0
  43. package/dist/cjs/utils/prisma/types.js +3 -0
  44. package/dist/cjs/utils/prisma/types.js.map +1 -0
  45. package/dist/esm/index.d.mts +280 -0
  46. package/dist/esm/index.mjs +22 -0
  47. package/dist/exports/index.js +1 -0
  48. package/dist/types/arkos-config.js +1 -0
  49. package/dist/types/auth.js +1 -0
  50. package/dist/types/index.js +1 -0
  51. package/dist/types/modules/base/base.middlewares.d.ts +4 -4
  52. package/dist/types/modules/swagger/utils/helpers/get-authentication-json-schema-paths.d.ts +2 -1
  53. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.d.ts +2 -1
  54. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes.d.ts +2 -1
  55. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes.d.ts +2 -1
  56. package/dist/types/modules/swagger/utils/helpers/missing-json-schemas-generator.d.ts +34 -0
  57. package/dist/types/modules/swagger/utils/helpers/swagger.router.helpers.d.ts +2 -2
  58. package/dist/types/router-config.js +1 -0
  59. package/dist/types/types/arkos-config.d.ts +3 -1
  60. package/dist/types/utils/helpers/models.helpers.d.ts +18 -4
  61. package/dist/types/utils/prisma/enhaced-prisma-json-schema-generator.d.ts +34 -0
  62. package/dist/types/utils/prisma/prisma-json-schema-generator.d.ts +10 -0
  63. package/dist/types/utils/prisma/prisma-schema-parser.d.ts +18 -0
  64. package/dist/types/utils/prisma/types.d.ts +48 -0
  65. package/dist/utils/arkos-env.js +1 -0
  66. package/dist/utils/dotenv.helpers.js +1 -0
  67. package/dist/utils/sheu.js +1 -0
  68. package/dist/utils/validate-dto.js +1 -0
  69. package/dist/utils/validate-schema.js +1 -0
  70. package/package.json +11 -6
  71. package/dist/esm/app.js +0 -1
  72. package/dist/esm/app.js.map +0 -1
  73. package/dist/esm/exports/auth/index.js +0 -2
  74. package/dist/esm/exports/auth/index.js.map +0 -1
  75. package/dist/esm/exports/controllers/index.js +0 -4
  76. package/dist/esm/exports/controllers/index.js.map +0 -1
  77. package/dist/esm/exports/error-handler/index.js +0 -4
  78. package/dist/esm/exports/error-handler/index.js.map +0 -1
  79. package/dist/esm/exports/index.js +0 -8
  80. package/dist/esm/exports/index.js.map +0 -1
  81. package/dist/esm/exports/middlewares/index.js +0 -2
  82. package/dist/esm/exports/middlewares/index.js.map +0 -1
  83. package/dist/esm/exports/prisma/index.js +0 -3
  84. package/dist/esm/exports/prisma/index.js.map +0 -1
  85. package/dist/esm/exports/services/index.js +0 -9
  86. package/dist/esm/exports/services/index.js.map +0 -1
  87. package/dist/esm/exports/utils/index.js +0 -4
  88. package/dist/esm/exports/utils/index.js.map +0 -1
  89. package/dist/esm/exports/validation/index.js +0 -4
  90. package/dist/esm/exports/validation/index.js.map +0 -1
  91. package/dist/esm/modules/auth/auth.controller.js +0 -187
  92. package/dist/esm/modules/auth/auth.controller.js.map +0 -1
  93. package/dist/esm/modules/auth/auth.router.js +0 -44
  94. package/dist/esm/modules/auth/auth.router.js.map +0 -1
  95. package/dist/esm/modules/auth/auth.service.js +0 -178
  96. package/dist/esm/modules/auth/auth.service.js.map +0 -1
  97. package/dist/esm/modules/auth/utils/helpers/auth.controller.helpers.js +0 -73
  98. package/dist/esm/modules/auth/utils/helpers/auth.controller.helpers.js.map +0 -1
  99. package/dist/esm/modules/base/base.controller.js +0 -150
  100. package/dist/esm/modules/base/base.controller.js.map +0 -1
  101. package/dist/esm/modules/base/base.middlewares.js +0 -81
  102. package/dist/esm/modules/base/base.middlewares.js.map +0 -1
  103. package/dist/esm/modules/base/base.router.js +0 -17
  104. package/dist/esm/modules/base/base.router.js.map +0 -1
  105. package/dist/esm/modules/base/base.service.js +0 -120
  106. package/dist/esm/modules/base/base.service.js.map +0 -1
  107. package/dist/esm/modules/base/utils/helpers/base.controller.helpers.js +0 -77
  108. package/dist/esm/modules/base/utils/helpers/base.controller.helpers.js.map +0 -1
  109. package/dist/esm/modules/base/utils/helpers/base.middlewares.helpers.js +0 -44
  110. package/dist/esm/modules/base/utils/helpers/base.middlewares.helpers.js.map +0 -1
  111. package/dist/esm/modules/base/utils/helpers/base.router.helpers.js +0 -89
  112. package/dist/esm/modules/base/utils/helpers/base.router.helpers.js.map +0 -1
  113. package/dist/esm/modules/base/utils/helpers/base.service.helpers.js +0 -165
  114. package/dist/esm/modules/base/utils/helpers/base.service.helpers.js.map +0 -1
  115. package/dist/esm/modules/email/email.service.js +0 -97
  116. package/dist/esm/modules/email/email.service.js.map +0 -1
  117. package/dist/esm/modules/error-handler/error-handler.controller.js +0 -107
  118. package/dist/esm/modules/error-handler/error-handler.controller.js.map +0 -1
  119. package/dist/esm/modules/error-handler/utils/app-error.js +0 -15
  120. package/dist/esm/modules/error-handler/utils/app-error.js.map +0 -1
  121. package/dist/esm/modules/error-handler/utils/catch-async.js +0 -10
  122. package/dist/esm/modules/error-handler/utils/catch-async.js.map +0 -1
  123. package/dist/esm/modules/error-handler/utils/error-handler.helpers.js +0 -160
  124. package/dist/esm/modules/error-handler/utils/error-handler.helpers.js.map +0 -1
  125. package/dist/esm/modules/file-upload/file-upload.controller.js +0 -266
  126. package/dist/esm/modules/file-upload/file-upload.controller.js.map +0 -1
  127. package/dist/esm/modules/file-upload/file-upload.router.js +0 -38
  128. package/dist/esm/modules/file-upload/file-upload.router.js.map +0 -1
  129. package/dist/esm/modules/file-upload/file-upload.service.js +0 -314
  130. package/dist/esm/modules/file-upload/file-upload.service.js.map +0 -1
  131. package/dist/esm/modules/file-upload/utils/helpers/file-upload.helpers.js +0 -87
  132. package/dist/esm/modules/file-upload/utils/helpers/file-upload.helpers.js.map +0 -1
  133. package/dist/esm/modules/swagger/swagger.router.js +0 -94
  134. package/dist/esm/modules/swagger/swagger.router.js.map +0 -1
  135. package/dist/esm/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js +0 -247
  136. package/dist/esm/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js.map +0 -1
  137. package/dist/esm/modules/swagger/utils/helpers/get-system-json-schema-paths.js +0 -63
  138. package/dist/esm/modules/swagger/utils/helpers/get-system-json-schema-paths.js.map +0 -1
  139. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js +0 -38
  140. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js.map +0 -1
  141. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js +0 -19
  142. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js.map +0 -1
  143. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schema.js +0 -24
  144. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schema.js.map +0 -1
  145. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes.js +0 -436
  146. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes.js.map +0 -1
  147. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes.js +0 -159
  148. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes.js.map +0 -1
  149. package/dist/esm/modules/swagger/utils/helpers/swagger.router.helpers.js +0 -84
  150. package/dist/esm/modules/swagger/utils/helpers/swagger.router.helpers.js.map +0 -1
  151. package/dist/esm/paths.js +0 -1
  152. package/dist/esm/paths.js.map +0 -1
  153. package/dist/esm/server.js +0 -5
  154. package/dist/esm/server.js.map +0 -1
  155. package/dist/esm/types/arkos-config.js +0 -2
  156. package/dist/esm/types/arkos-config.js.map +0 -1
  157. package/dist/esm/types/auth.js +0 -2
  158. package/dist/esm/types/auth.js.map +0 -1
  159. package/dist/esm/types/index.js +0 -8
  160. package/dist/esm/types/index.js.map +0 -1
  161. package/dist/esm/types/router-config.js +0 -2
  162. package/dist/esm/types/router-config.js.map +0 -1
  163. package/dist/esm/utils/arkos-env.js +0 -7
  164. package/dist/esm/utils/arkos-env.js.map +0 -1
  165. package/dist/esm/utils/cli/build.js +0 -206
  166. package/dist/esm/utils/cli/build.js.map +0 -1
  167. package/dist/esm/utils/cli/dev.js +0 -249
  168. package/dist/esm/utils/cli/dev.js.map +0 -1
  169. package/dist/esm/utils/cli/generate.js +0 -183
  170. package/dist/esm/utils/cli/generate.js.map +0 -1
  171. package/dist/esm/utils/cli/index.js +0 -74
  172. package/dist/esm/utils/cli/index.js.map +0 -1
  173. package/dist/esm/utils/cli/start.js +0 -86
  174. package/dist/esm/utils/cli/start.js.map +0 -1
  175. package/dist/esm/utils/cli/utils/cli.helpers.js +0 -16
  176. package/dist/esm/utils/cli/utils/cli.helpers.js.map +0 -1
  177. package/dist/esm/utils/cli/utils/template-generator/templates/generate-auth-configs-template.js +0 -33
  178. package/dist/esm/utils/cli/utils/template-generator/templates/generate-auth-configs-template.js.map +0 -1
  179. package/dist/esm/utils/cli/utils/template-generator/templates/generate-controller-template.js +0 -18
  180. package/dist/esm/utils/cli/utils/template-generator/templates/generate-controller-template.js.map +0 -1
  181. package/dist/esm/utils/cli/utils/template-generator/templates/generate-middlewares.js +0 -232
  182. package/dist/esm/utils/cli/utils/template-generator/templates/generate-middlewares.js.map +0 -1
  183. package/dist/esm/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js +0 -61
  184. package/dist/esm/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js.map +0 -1
  185. package/dist/esm/utils/cli/utils/template-generator/templates/generate-router-template.js +0 -37
  186. package/dist/esm/utils/cli/utils/template-generator/templates/generate-router-template.js.map +0 -1
  187. package/dist/esm/utils/cli/utils/template-generator/templates/generate-service-template.js +0 -32
  188. package/dist/esm/utils/cli/utils/template-generator/templates/generate-service-template.js.map +0 -1
  189. package/dist/esm/utils/cli/utils/template-generators.js +0 -25
  190. package/dist/esm/utils/cli/utils/template-generators.js.map +0 -1
  191. package/dist/esm/utils/dotenv.helpers.js +0 -37
  192. package/dist/esm/utils/dotenv.helpers.js.map +0 -1
  193. package/dist/esm/utils/features/api.features.js +0 -160
  194. package/dist/esm/utils/features/api.features.js.map +0 -1
  195. package/dist/esm/utils/features/change-case.features.js +0 -31
  196. package/dist/esm/utils/features/change-case.features.js.map +0 -1
  197. package/dist/esm/utils/helpers/api.features.helpers.js +0 -103
  198. package/dist/esm/utils/helpers/api.features.helpers.js.map +0 -1
  199. package/dist/esm/utils/helpers/change-case.helpers.js +0 -161
  200. package/dist/esm/utils/helpers/change-case.helpers.js.map +0 -1
  201. package/dist/esm/utils/helpers/deepmerge.helper.js +0 -113
  202. package/dist/esm/utils/helpers/deepmerge.helper.js.map +0 -1
  203. package/dist/esm/utils/helpers/fs.helpers.js +0 -52
  204. package/dist/esm/utils/helpers/fs.helpers.js.map +0 -1
  205. package/dist/esm/utils/helpers/global.helpers.js +0 -47
  206. package/dist/esm/utils/helpers/global.helpers.js.map +0 -1
  207. package/dist/esm/utils/helpers/models.helpers.js +0 -300
  208. package/dist/esm/utils/helpers/models.helpers.js.map +0 -1
  209. package/dist/esm/utils/helpers/prisma.helpers.js +0 -44
  210. package/dist/esm/utils/helpers/prisma.helpers.js.map +0 -1
  211. package/dist/esm/utils/helpers/query-parser.helpers.js +0 -40
  212. package/dist/esm/utils/helpers/query-parser.helpers.js.map +0 -1
  213. package/dist/esm/utils/helpers/routers.helpers.js +0 -16
  214. package/dist/esm/utils/helpers/routers.helpers.js.map +0 -1
  215. package/dist/esm/utils/helpers/text.helpers.js +0 -22
  216. package/dist/esm/utils/helpers/text.helpers.js.map +0 -1
  217. package/dist/esm/utils/sheu.js +0 -117
  218. package/dist/esm/utils/sheu.js.map +0 -1
  219. package/dist/esm/utils/validate-dto.js +0 -11
  220. package/dist/esm/utils/validate-dto.js.map +0 -1
  221. package/dist/esm/utils/validate-schema.js +0 -9
  222. package/dist/esm/utils/validate-schema.js.map +0 -1
@@ -0,0 +1,34 @@
1
+ import { OpenAPIV3 } from "openapi-types";
2
+ import { ArkosConfig } from "../../../../exports";
3
+ declare class MissingJsonSchemasGenerator {
4
+ private extractModelNameFromSchemaRef;
5
+ private extractActionFromOperationId;
6
+ private extractModelNameFromOperationId;
7
+ private extractSchemaRefsWithContext;
8
+ private extractPathSchemaRefs;
9
+ private getSchemaNameFromRef;
10
+ generateMissingJsonSchemas(currentPaths: OpenAPIV3.PathsObject, currentJsonSchemas: Record<string, any>, arkosConfig: ArkosConfig): Promise<Record<string, any>>;
11
+ private extractActionFromSchemaRef;
12
+ analyzeMissingSchemas(currentPaths: OpenAPIV3.PathsObject, currentJsonSchemas: Record<string, any>): {
13
+ allRefs: Array<{
14
+ ref: string;
15
+ context: any;
16
+ }>;
17
+ missingRefs: Array<{
18
+ ref: string;
19
+ context: any;
20
+ }>;
21
+ existingRefs: Array<{
22
+ ref: string;
23
+ context: any;
24
+ }>;
25
+ modelActions: {
26
+ model: string;
27
+ action: string;
28
+ ref: string;
29
+ operationId?: string;
30
+ }[];
31
+ };
32
+ }
33
+ declare const missingJsonSchemaGenerator: MissingJsonSchemasGenerator;
34
+ export default missingJsonSchemaGenerator;
@@ -1,7 +1,7 @@
1
1
  import { ArkosConfig } from "../../../../exports";
2
2
  import { OpenAPIV3 } from "openapi-types";
3
- export declare function getOpenAPIJsonSchemasByConfigMode(swaggerConfig: ArkosConfig["swagger"]): Promise<void | Record<string, any>>;
3
+ export declare function getOpenAPIJsonSchemasByConfigMode(arkosConfig: ArkosConfig): Promise<Record<string, any>>;
4
4
  export declare function getCorrectJsonSchemaName(type: string, modelName: string, suffix: "Dto" | "Schema"): string;
5
5
  export declare function kebabToHuman(kebabStr: string): string;
6
- export declare function getSchemaRef(schemaName: string, mode: string): string;
6
+ export declare function getSchemaRef(schemaName: string, mode: "prisma" | "zod" | "class-validator"): string;
7
7
  export declare function generatePathsForModels(arkosConfig: ArkosConfig): Promise<OpenAPIV3.PathsObject>;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});
@@ -8,6 +8,7 @@ import { Options as QueryParserOptions } from "../utils/helpers/query-parser.hel
8
8
  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
+ import type { ApiReferenceConfiguration } from "@scalar/express-api-reference" with { "resolution-mode": "import" };
11
12
  export type ArkosConfig = {
12
13
  request?: {
13
14
  parameters?: {
@@ -124,6 +125,7 @@ export type ArkosConfig = {
124
125
  enableAfterBuild?: boolean;
125
126
  endpoint?: string;
126
127
  mode: "prisma" | "class-validator" | "zod";
128
+ strict: boolean;
127
129
  options?: {
128
130
  definition?: {
129
131
  openapi?: string;
@@ -158,10 +160,10 @@ export type ArkosConfig = {
158
160
  security?: Array<Record<string, string[]>>;
159
161
  };
160
162
  apis?: string[];
161
- swaggerUiOptions?: Record<string, any>;
162
163
  deepLinking?: boolean;
163
164
  tryItOutEnabled?: boolean;
164
165
  persistAuthorization?: boolean;
165
166
  };
167
+ scalarApiReferenceConfiguration?: Partial<ApiReferenceConfiguration>;
166
168
  };
167
169
  };
@@ -3,6 +3,7 @@ import { ArkosConfig } from "../../exports";
3
3
  type ModeModules = Awaited<ReturnType<typeof importPrismaModelModules>>;
4
4
  export declare function setModelModules(modelName: string, modules: ModeModules): void;
5
5
  export declare function getModelModules(modelName: string): importPrismaModelModulesReturnType;
6
+ export type ValidationFileMappingKey = keyof ReturnType<typeof getFileModelModulesFileStructure>["dtos"];
6
7
  export declare function getFileModelModulesFileStructure(modelName: string): {
7
8
  core: {
8
9
  service: string;
@@ -17,54 +18,66 @@ export declare function getFileModelModulesFileStructure(modelName: string): {
17
18
  dtos: {
18
19
  login: string;
19
20
  signup: string;
21
+ getMe: string;
20
22
  updateMe: string;
21
23
  updatePassword: string;
22
24
  model?: undefined;
23
25
  create?: undefined;
26
+ createOne?: undefined;
24
27
  createMany?: undefined;
25
28
  update?: undefined;
29
+ updateOne?: undefined;
26
30
  updateMany?: undefined;
31
+ query?: undefined;
27
32
  findOne?: undefined;
28
33
  findMany?: undefined;
29
- query?: undefined;
30
34
  } | {
31
35
  model: string;
32
36
  create: string;
37
+ createOne: string;
33
38
  createMany: string;
34
39
  update: string;
40
+ updateOne: string;
35
41
  updateMany: string;
42
+ query: string;
36
43
  findOne: string;
37
44
  findMany: string;
38
- query: string;
39
45
  login?: undefined;
40
46
  signup?: undefined;
47
+ getMe?: undefined;
41
48
  updateMe?: undefined;
42
49
  updatePassword?: undefined;
43
50
  };
44
51
  schemas: {
45
52
  login: string;
46
53
  signup: string;
54
+ getMe: string;
47
55
  updateMe: string;
48
56
  updatePassword: string;
49
57
  model?: undefined;
50
58
  create?: undefined;
59
+ createOne?: undefined;
51
60
  createMany?: undefined;
52
61
  update?: undefined;
62
+ updateOne?: undefined;
53
63
  updateMany?: undefined;
64
+ query?: undefined;
54
65
  findOne?: undefined;
55
66
  findMany?: undefined;
56
- query?: undefined;
57
67
  } | {
58
68
  model: string;
59
69
  create: string;
70
+ createOne: string;
60
71
  createMany: string;
61
72
  update: string;
73
+ updateOne: string;
62
74
  updateMany: string;
75
+ query: string;
63
76
  findOne: string;
64
77
  findMany: string;
65
- query: string;
66
78
  login?: undefined;
67
79
  signup?: undefined;
80
+ getMe?: undefined;
68
81
  updateMe?: undefined;
69
82
  updatePassword?: undefined;
70
83
  };
@@ -104,4 +117,5 @@ export declare function getPrismaModelRelations(modelName: string): RelationFiel
104
117
  declare function getModels(): string[];
105
118
  export declare function getPrismaSchemasContent(): string;
106
119
  declare function getModelUniqueFields(modelName: string): ModelFieldDefition[];
120
+ export declare function localValidatorFileExists(action: ValidationFileMappingKey, modelName: string, arkosConfig: ArkosConfig): Promise<boolean>;
107
121
  export { getModels, getModelUniqueFields };
@@ -0,0 +1,34 @@
1
+ import { ArkosConfig } from "../../exports";
2
+ import { ValidationFileMappingKey } from "../helpers/models.helpers";
3
+ import { JsonSchema } from "./types";
4
+ export interface SchemaGenerationConfig {
5
+ modelName: string;
6
+ arkosConfig: ArkosConfig;
7
+ schemasToGenerate?: ValidationFileMappingKey[];
8
+ }
9
+ export interface GeneratedSchemas {
10
+ [key: string]: JsonSchema;
11
+ }
12
+ export declare class EnhancedPrismaJsonSchemaGenerator {
13
+ private schema;
14
+ generateModelSchemas(config: SchemaGenerationConfig): Promise<GeneratedSchemas>;
15
+ private generateAuthSchemas;
16
+ private generateCrudSchemas;
17
+ private generateCreateSchema;
18
+ private generateUpdateSchema;
19
+ private generateResponseSchema;
20
+ private generateNestedRelationSchema;
21
+ private generateLoginSchema;
22
+ private generateSignupSchema;
23
+ private generateUpdateMeSchema;
24
+ private generateUpdatePasswordSchema;
25
+ private resolvePrismaQueryOptions;
26
+ private getGeneralOptionsForAction;
27
+ private isEndpointDisabled;
28
+ private isModelRelation;
29
+ private convertFieldToJsonSchema;
30
+ private mapPrismaTypeToJsonSchema;
31
+ private isEnum;
32
+ }
33
+ declare const enhancedPrismaJsonSchemaGenerator: EnhancedPrismaJsonSchemaGenerator;
34
+ export default enhancedPrismaJsonSchemaGenerator;
@@ -0,0 +1,10 @@
1
+ import { PrismaModel, JsonSchema } from "./types";
2
+ export declare class PrismaJsonSchemaGenerator {
3
+ generateSchema(model: PrismaModel): JsonSchema;
4
+ private convertFieldToJsonSchema;
5
+ private mapPrismaTypeToJsonSchema;
6
+ private isEnum;
7
+ private isModel;
8
+ }
9
+ declare const prismaJsonSchemaGenerator: PrismaJsonSchemaGenerator;
10
+ export default prismaJsonSchemaGenerator;
@@ -0,0 +1,18 @@
1
+ import { PrismaSchema } from "./types";
2
+ export declare class PrismaSchemaParser {
3
+ private enums;
4
+ private models;
5
+ parse(): PrismaSchema;
6
+ private extractEnums;
7
+ private parseEnumBlock;
8
+ private extractModels;
9
+ private extractModelBlocks;
10
+ private parseModelBlock;
11
+ private parseFields;
12
+ private parseFieldLine;
13
+ private parseDefaultValue;
14
+ isEnum(typeName: string): boolean;
15
+ isModel(typeName: string): boolean;
16
+ }
17
+ declare const prismaSchemaParser: PrismaSchemaParser;
18
+ export default prismaSchemaParser;
@@ -0,0 +1,48 @@
1
+ export interface PrismaField {
2
+ name: string;
3
+ type: string;
4
+ isOptional: boolean;
5
+ isArray: boolean;
6
+ connectionField: string;
7
+ defaultValue?: any;
8
+ isId?: boolean;
9
+ isUnique?: boolean;
10
+ attributes: string[];
11
+ }
12
+ export interface PrismaModel {
13
+ name: string;
14
+ fields: PrismaField[];
15
+ mapName?: string;
16
+ }
17
+ export interface PrismaEnum {
18
+ name: string;
19
+ values: string[];
20
+ }
21
+ export interface PrismaSchema {
22
+ models: PrismaModel[];
23
+ enums: PrismaEnum[];
24
+ }
25
+ export type JsonSchemaProperty = {
26
+ type: string;
27
+ default?: any;
28
+ items?: {
29
+ type: string;
30
+ };
31
+ format?: string;
32
+ enum?: string[];
33
+ $ref?: string;
34
+ [key: string]: any;
35
+ } & Partial<JsonSchema>;
36
+ export interface JsonSchema {
37
+ type: string;
38
+ properties?: {
39
+ [key: string]: JsonSchemaProperty;
40
+ };
41
+ items?: {
42
+ $ref?: string;
43
+ } | JsonSchema;
44
+ required?: string[];
45
+ anyOf?: {
46
+ required: string[];
47
+ }[];
48
+ }
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const arkosEnv={JWT_SECRET:"13a9279eedb286f756212511267152e9585055809ec0606ea9f7eb98a87660c1616fbd39c44d4238a82f29df90b529e24bfdf72a480d1149d79c991c863a22b5ae0fb3ae6f5323bfd6664faef99792637477c38da488e7aa0d39b83ba99aba8e8a20efde7fd5c7ba21a6c938e17a9f99f73226dc61e89cd63f159257841194323f100d1a49b88ce4fdcdf2b066a5f32f88ee12f6487b55b4b5687d7c0caffdd8524e2adc4b941cf52e948f5b330f527eb1354341c876eed12dfa92cef3c341d030d05e6beb1e0a7f6d3e08e7b1aac045130457fd3a53ee469fecdd20fdd2c7a6a72b07cbcb1157c5b1cc581e6767bea32be8e125016a48951e85c7bdb961d9c9fab28444499ce063664fe0bd1a05d60294323bdd69af6d6ff1a2533dac8d4a869f76dbc746ee12f144e0af41029f620471817843140c23d036e731f3ebee21a70ff1549e97486fdf9cbef132ff2ced59fde9be35dd04b358c9a25ec4fd9cc0e36dae651e626d8c13b0c6d2a21f237517a05059680173e71817597062c792ea9c66030ca0d8ed82987e29189947692a0be5fffac4c988ca33f14ce96349661ef850dbff6909c7797676c90a5e47655346f59759482ef8a3a948e97e30f889bd4571610fd19e8ea4818651d37f6529cf32f0fc805bc053e911f0fe96f52b4420d54bd1f40739a95f5853b036c86ab9a51bed57fa9bd48607b5302e88db00900adf",JWT_EXPIRES_IN:"30d",PRISMA_SCHEMA_PATH:"./prisma/schema"};exports.default=arkosEnv;
@@ -0,0 +1 @@
1
+ "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.loadEnvironmentVariables=loadEnvironmentVariables;const path_1=__importDefault(require("path")),fs_1=__importDefault(require("fs")),dotenv_1=__importDefault(require("dotenv"));function loadEnvironmentVariables(){const e=process.env.NODE_ENV,n=process.cwd();let o=[];[path_1.default.resolve(n,".env.defaults"),path_1.default.resolve(n,`.env.${e}`),path_1.default.resolve(n,`.env.${e}.local`),path_1.default.resolve(n,".env.local"),path_1.default.resolve(n,".env")].forEach(r=>{if(fs_1.default.existsSync(r))if(e==="production"&&r.endsWith(".local"))console.info(`Skipping the local ${r.replace(n,"")} files in production`);else{const t=dotenv_1.default.config({path:r,override:!0});t.error?console.warn(`Warning: Error loading ${r}`,t.error):o.push(r)}});const s=["DATABASE_URL"].filter(r=>!process.env[r]);if(s.length>0&&console.error("Missing required environment variables:",s.join(", ")),o)return o}
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});class Sheu{getTimestamp(){return new Date().toTimeString().split(" ")[0]}formatText(t="",e={}){const r=e?.label?t?e?.label+" ":e?.label:"";let o=`${r}${t}`;if(e.timestamp){const m=this.getTimestamp();if(e.timestamp===!0)o=`${r}\x1B[90m${m}\x1B[0m ${t}`;else if(typeof e.timestamp=="string"){const x=this.getColorCode(e.timestamp);o=`${r}${x}${m}\x1B[0m ${t}`}}return e.bold&&(o=`\x1B[1m${o}\x1B[0m`),o}getColorCode(t){return{red:"\x1B[31m",blue:"\x1B[34m",green:"\x1B[32m",yellow:"\x1B[33m",cyan:"\x1B[36m",magenta:"\x1B[35m",white:"\x1B[37m",black:"\x1B[30m",gray:"\x1B[90m",orange:"\x1B[91m"}[t]||"\x1B[90m"}red(t,e){const r=`\x1B[31m${t}\x1B[0m`;return this.formatText(r,e||{})}blue(t,e){const r=`\x1B[34m${t}\x1B[0m`;return this.formatText(r,e||{})}green(t,e){const r=`\x1B[32m${t}\x1B[0m`;return this.formatText(r,e||{})}yellow(t,e){const r=`\x1B[33m${t}\x1B[0m`;return this.formatText(r,e||{})}cyan(t,e){const r=`\x1B[36m${t}\x1B[0m`;return this.formatText(r,e||{})}magenta(t,e){const r=`\x1B[35m${t}\x1B[0m`;return this.formatText(r,e||{})}white(t,e){const r=`\x1B[37m${t}\x1B[0m`;return this.formatText(r,e||{})}black(t,e){const r=`\x1B[30m${t}\x1B[0m`;return this.formatText(r,e||{})}gray(t,e){const r=`\x1B[90m${t}\x1B[0m`;return this.formatText(r,e||{})}orange(t,e){const r=`\x1B[91m${t}\x1B[0m`;return this.formatText(r,e||{})}bold(t,e){const r=`\x1B[1m${t}\x1B[0m`;return this.formatText(r,{...e,bold:!1})}info(t,e){const o=this.formatText(t,{...e,label:"[\x1B[36mINFO\x1B[0m]"});return console.info(o),o}error(t,e){const o=this.formatText(t,{...e,label:"[\x1B[31mERROR\x1B[0m]"});return console.error(o),o}ready(t,e){const o=this.formatText(t,{...e,label:"[\x1B[32mREADY\x1B[0m]"});return console.info(o),o}done(t,e){const o=this.formatText(t,{...e,label:"[\x1B[32mDONE\x1B[0m]"});return console.info(o),o}warn(t,e){const o=this.formatText(t,{...e,label:"[\x1B[33mWARN\x1B[0m]"});return console.warn(o),o}}const sheu=new Sheu;exports.default=sheu;
@@ -0,0 +1 @@
1
+ "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=validateDto;const class_transformer_1=require("class-transformer"),class_validator_1=require("class-validator"),app_error_1=__importDefault(require("../modules/error-handler/utils/app-error"));async function validateDto(e,a,s){const r=(0,class_transformer_1.plainToInstance)(e,a),t=await(0,class_validator_1.validate)(r,s);if(t.length>0)throw new app_error_1.default("Invalid request body",400,t,"invalid_request_body");return r}
@@ -0,0 +1 @@
1
+ "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=validateSchema;const app_error_1=__importDefault(require("../modules/error-handler/utils/app-error"));async function validateSchema(e,t){const r=e.safeParse(t);if(!r.success)throw new app_error_1.default("Invalid request body",400,r.error.format(),"invalid_request_body");return r.data}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "arkos",
3
- "version": "1.2.13-beta",
3
+ "version": "1.2.13-test.1",
4
4
  "description": "The Express & Prisma Framework For RESTful API",
5
5
  "main": "dist/cjs/exports/index.js",
6
6
  "module": "dist/esm/exports/index.js",
@@ -77,13 +77,14 @@
77
77
  }
78
78
  },
79
79
  "scripts": {
80
- "build:esm": "tsc -p tsconfig.esm.json && ts-node scripts/fix-esm-imports.ts",
80
+ "build:esm": "tsc -p tsconfig.esm.json && npx tsx scripts/fix-esm-imports.ts",
81
81
  "build:types": "tsc -p tsconfig.types.json",
82
82
  "build:cjs": "tsc -p tsconfig.cjs.json",
83
- "build": "npx rimraf dist && pnpm run build:cjs && pnpm run build:esm && pnpm run build:types && pnpm run minify && ts-node scripts/post-build-scripts.ts",
84
- "minify": "esbuild dist/**/*.js --minify --outdir=dist --allow-overwrite --log-limit=0 --define:process.env.NODE_ENV=process.env.NODE_ENV",
83
+ "buildNormal": "npx rimraf dist && pnpm run build:cjs && pnpm run build:esm && pnpm run build:types && pnpm run minify && tsx scripts/post-build-scripts.ts",
84
+ "build": "tsup && tsx scripts/post-build-scripts.ts",
85
+ "minify": "esbuild dist/cjs/**/*.js --minify --outdir=dist --allow-overwrite --log-limit=0 --define:process.env.NODE_ENV=process.env.NODE_ENV",
85
86
  "clean": "rm -r dist",
86
- "dev": "ts-node --watch",
87
+ "dev": "tsx --watch",
87
88
  "lint": "eslint src --ext .ts",
88
89
  "prepublishOnly": "pnpm run build",
89
90
  "prelinkOnly": "npm run build",
@@ -91,7 +92,7 @@
91
92
  "test:watch": "jest --watch",
92
93
  "test:coverage": "jest --coverage",
93
94
  "test:ui": "vitest --ui",
94
- "test:create": "ts-node src/scripts/create-test.ts",
95
+ "test:create": "tsx src/scripts/create-test.ts",
95
96
  "publish:test": "npm publish --tag test",
96
97
  "publish:beta": "npm publish --tag beta",
97
98
  "publish:betaAsLatest": "npm publish --tag latest",
@@ -129,6 +130,7 @@
129
130
  "files": ["dist", "cli.js", "README.md"],
130
131
  "devDependencies": {
131
132
  "@prisma/client": "^6.4.1",
133
+ "@scalar/express-api-reference": "^0.8.13",
132
134
  "@types/bcrypt": "^5.0.2",
133
135
  "@types/body-parser": "^1.19.5",
134
136
  "@types/compression": "^1.7.5",
@@ -152,6 +154,8 @@
152
154
  "openapi-types": "^12.1.3",
153
155
  "prisma": "^6.4.1",
154
156
  "ts-jest": "^29.3.1",
157
+ "tsup": "^8.5.0",
158
+ "type-fest": "^4.41.0",
155
159
  "typescript": "^5.8.2"
156
160
  },
157
161
  "dependencies": {
@@ -165,6 +169,7 @@
165
169
  },
166
170
  "peerDependencies": {
167
171
  "@prisma/client": "^6.4.1",
172
+ "@scalar/express-api-reference": "^0.8.13",
168
173
  "bcryptjs": "^3.0.2",
169
174
  "class-transformer": "^0.5.1",
170
175
  "class-validator": "^0.14.1",
package/dist/esm/app.js DELETED
@@ -1 +0,0 @@
1
- "use strict";import c from"express";import p from"cors";import m from"cookie-parser";import{getAuthRouter as f}from"./modules/auth/auth.router.js";import{getPrismaModelsRouter as w,getAvailableResourcesAndRoutesRouter as R}from"./modules/base/base.router.js";import h from"./modules/error-handler/error-handler.controller.js";import{rateLimit as P}from"express-rate-limit";import y from"compression";import{handleRequestLogs as b}from"./modules/base/base.middlewares.js";import{checkDatabaseConnection as q,loadPrismaModule as A}from"./utils/helpers/prisma.helpers.js";import{getFileUploadRouter as O}from"./modules/file-upload/file-upload.router.js";import{queryParser as g}from"./utils/helpers/query-parser.helpers.js";import d from"./utils/helpers/deepmerge.helper.js";import{getSwaggerRouter as E}from"./modules/swagger/swagger.router.js";export const app=c();export async function bootstrap(e){await A(),e?.configureApp&&await e.configureApp(app);const n=e?.middlewares,t=n?.disable||[],a=n?.replace||{};t?.includes?.("compression")||app.use(a.compression||y(e?.compressionOptions)),t?.includes?.("global-rate-limit")||app.use(a.globalRateLimit||P(d({windowMs:60*1e3,limit:500,standardHeaders:"draft-7",legacyHeaders:!1,handler:(r,s)=>{s.status(429).json({message:"Too many requests, please try again later"})}},e?.globalRequestRateLimitOptions||{}))),t?.includes?.("cors")||app.use(a.cors||p(e?.cors?.customHandler?e.cors.customHandler:d({origin:(r,s)=>{const i=e?.cors?.allowedOrigins;i==="*"?s(null,!0):Array.isArray(i)?s(null,!r||i?.includes?.(r)):typeof i=="string"?s(null,!r||i===r):s(null,!1)},methods:["GET","POST","PUT","DELETE","PATCH","OPTIONS"],allowedHeaders:["Content-Type","Authorization","Connection"],credentials:!0},e?.cors?.options||{}))),t?.includes?.("express-json")||app.use(a.expressJson||c.json(e?.jsonBodyParserOptions)),t?.includes?.("cookie-parser")||app.use(a.cookieParser||m(...e?.cookieParserParameters||[])),t?.includes?.("query-parser")||app.use(a.queryParser||g(d({parseNull:!0,parseUndefined:!0,parseBoolean:!0},e?.queryParserOptions||{}))),t?.includes?.("database-connection")||app.use(a.databaseConnection||q),t?.includes?.("request-logger")||app.use(a.requestLogger||b),e?.middlewares?.additional&&e.middlewares.additional.forEach(r=>{app.use(r)});const l=e?.routers,u=l?.disable||[],o=l?.replace||{};if(u?.includes?.("welcome-endpoint")||app.get("/api",o.welcomeEndpoint||((r,s)=>{s.status(200).json({message:e.welcomeMessage})})),!u?.includes?.("file-upload")){const r=o.fileUpload?await o.fileUpload(e):await O(e);app.use(r)}if(!u?.includes?.("auth-router")&&e.authentication){const r=o.authRouter?await o.authRouter(e):await f(e);app.use("/api",r)}if(!u?.includes?.("prisma-models-router")){const r=o.prismaModelsRouter?await o.prismaModelsRouter(e):await w(e);app.use("/api",r)}return app.use("/api",R()),e.swagger&&(process.env.ARKOS_BUILD!=="true"||e.swagger.enableAfterBuild===!0)&&app.use("/api",await E(e)),l?.additional&&l.additional.forEach(r=>{app.use(r)}),t?.includes?.("global-error-handler")||app.use(a.globalErrorHandler||h),app.use("*",(r,s)=>{s.status(404).json({message:"Route not found!"})}),app}
@@ -1 +0,0 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/app.ts"],"names":[],"mappings":"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","sourcesContent":["import express from \"express\";\nimport cors from \"cors\";\nimport cookieParser from \"cookie-parser\";\nimport { getAuthRouter } from \"./modules/auth/auth.router\";\nimport {\n getPrismaModelsRouter,\n getAvailableResourcesAndRoutesRouter,\n} from \"./modules/base/base.router\";\nimport errorHandler from \"./modules/error-handler/error-handler.controller\";\nimport { rateLimit } from \"express-rate-limit\";\nimport compression from \"compression\";\nimport { handleRequestLogs } from \"./modules/base/base.middlewares\";\nimport {\n checkDatabaseConnection,\n loadPrismaModule,\n} from \"./utils/helpers/prisma.helpers\";\nimport { getFileUploadRouter } from \"./modules/file-upload/file-upload.router\";\nimport { ArkosConfig } from \"./types/arkos-config\";\nimport { queryParser } from \"./utils/helpers/query-parser.helpers\";\nimport deepmerge from \"./utils/helpers/deepmerge.helper\";\nimport { getSwaggerRouter } from \"./modules/swagger/swagger.router\";\n\nexport const app: express.Express = express();\n\nexport async function bootstrap(\n arkosConfig: ArkosConfig\n): Promise<express.Express> {\n await loadPrismaModule();\n\n if (arkosConfig?.configureApp) await arkosConfig.configureApp(app);\n\n const middlewaresConfig = arkosConfig?.middlewares;\n const disabledMiddlewares = middlewaresConfig?.disable || [];\n const replacedMiddlewares = middlewaresConfig?.replace || {};\n\n // Compression middleware\n if (!disabledMiddlewares?.includes?.(\"compression\"))\n app.use(\n replacedMiddlewares.compression ||\n compression(arkosConfig?.compressionOptions)\n );\n\n // Global rate limit middleware\n if (!disabledMiddlewares?.includes?.(\"global-rate-limit\"))\n app.use(\n replacedMiddlewares.globalRateLimit ||\n rateLimit(\n deepmerge(\n {\n windowMs: 60 * 1000,\n limit: 500,\n standardHeaders: \"draft-7\",\n legacyHeaders: false,\n handler: (req, res) => {\n res.status(429).json({\n message: \"Too many requests, please try again later\",\n });\n },\n },\n arkosConfig?.globalRequestRateLimitOptions || {}\n )\n )\n );\n\n // CORS middleware\n if (!disabledMiddlewares?.includes?.(\"cors\"))\n app.use(\n replacedMiddlewares.cors ||\n cors(\n arkosConfig?.cors?.customHandler\n ? arkosConfig.cors.customHandler\n : deepmerge(\n {\n origin: (\n origin: string,\n cb: (err: Error | null, allow?: boolean) => void\n ) => {\n const allowed = arkosConfig?.cors?.allowedOrigins;\n\n if (allowed === \"*\") {\n cb(null, true);\n } else if (Array.isArray(allowed)) {\n cb(null, !origin || allowed?.includes?.(origin));\n } else if (typeof allowed === \"string\") {\n cb(null, !origin || allowed === origin);\n } else {\n cb(null, false);\n }\n },\n methods: [\"GET\", \"POST\", \"PUT\", \"DELETE\", \"PATCH\", \"OPTIONS\"],\n allowedHeaders: [\n \"Content-Type\",\n \"Authorization\",\n \"Connection\",\n ],\n credentials: true,\n },\n arkosConfig?.cors?.options || {}\n )\n )\n );\n\n // JSON body parser middleware\n if (!disabledMiddlewares?.includes?.(\"express-json\"))\n app.use(\n replacedMiddlewares.expressJson ||\n express.json(arkosConfig?.jsonBodyParserOptions)\n );\n\n // Cookie parser middleware\n if (!disabledMiddlewares?.includes?.(\"cookie-parser\"))\n app.use(\n replacedMiddlewares.cookieParser ||\n cookieParser(...[...(arkosConfig?.cookieParserParameters || [])])\n );\n\n // Query parser middleware\n if (!disabledMiddlewares?.includes?.(\"query-parser\"))\n app.use(\n replacedMiddlewares.queryParser ||\n queryParser(\n deepmerge(\n {\n parseNull: true,\n parseUndefined: true,\n parseBoolean: true,\n },\n arkosConfig?.queryParserOptions || {}\n )\n )\n );\n\n // Database connection check middleware\n if (!disabledMiddlewares?.includes?.(\"database-connection\"))\n app.use(replacedMiddlewares.databaseConnection || checkDatabaseConnection);\n\n // Request logger middleware\n if (!disabledMiddlewares?.includes?.(\"request-logger\"))\n app.use(replacedMiddlewares.requestLogger || handleRequestLogs);\n\n // Additional custom middlewares\n if (arkosConfig?.middlewares?.additional)\n arkosConfig.middlewares.additional.forEach((middleware) => {\n app.use(middleware);\n });\n\n // Configure routers\n const routersConfig = arkosConfig?.routers;\n const disabledRouters = routersConfig?.disable || [];\n const replacedRouters = routersConfig?.replace || {};\n\n // Welcome endpoint\n if (!disabledRouters?.includes?.(\"welcome-endpoint\"))\n app.get(\n \"/api\",\n replacedRouters.welcomeEndpoint ||\n ((req, res) => {\n res.status(200).json({ message: arkosConfig.welcomeMessage });\n })\n );\n\n // File upload router\n if (!disabledRouters?.includes?.(\"file-upload\")) {\n const fileUploadRouter = replacedRouters.fileUpload\n ? await replacedRouters.fileUpload(arkosConfig)\n : await getFileUploadRouter(arkosConfig);\n app.use(fileUploadRouter);\n }\n\n // Auth router\n if (\n !disabledRouters?.includes?.(\"auth-router\") &&\n arkosConfig.authentication\n ) {\n const authRouter = replacedRouters.authRouter\n ? await replacedRouters.authRouter(arkosConfig)\n : await getAuthRouter(arkosConfig);\n app.use(\"/api\", authRouter);\n }\n\n // Prisma models router\n if (!disabledRouters?.includes?.(\"prisma-models-router\")) {\n const modelsRouter = replacedRouters.prismaModelsRouter\n ? await replacedRouters.prismaModelsRouter(arkosConfig)\n : await getPrismaModelsRouter(arkosConfig);\n app.use(\"/api\", modelsRouter);\n }\n\n app.use(\"/api\", getAvailableResourcesAndRoutesRouter());\n\n if (\n arkosConfig.swagger &&\n (process.env.ARKOS_BUILD !== \"true\" ||\n arkosConfig.swagger.enableAfterBuild === true)\n )\n app.use(\"/api\", await getSwaggerRouter(arkosConfig));\n\n // Additional custom routers\n if (routersConfig?.additional)\n routersConfig.additional.forEach((router) => {\n app.use(router);\n });\n\n // Global error handler middleware (must be last)\n if (!disabledMiddlewares?.includes?.(\"global-error-handler\"))\n app.use(replacedMiddlewares.globalErrorHandler || errorHandler);\n\n app.use(\"*\", (req, res) => {\n res.status(404).json({ message: \"Route not found!\" });\n });\n\n return app;\n}\n"]}
@@ -1,2 +0,0 @@
1
- export { defaultExcludedUserFields } from "./../../modules/auth/auth.controller.js";
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/exports/auth/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC","sourcesContent":["export { defaultExcludedUserFields } from \"./../../modules/auth/auth.controller\";\nexport {\n AuthConfigs,\n AuthJwtPayload,\n AccessControlConfig,\n AuthenticationControlConfig,\n} from \"../../types/auth\";\n"]}
@@ -1,4 +0,0 @@
1
- import { BaseController } from "./../../modules/base/base.controller.js";
2
- import fileUploadController from "../../modules/file-upload/file-upload.controller.js";
3
- export { fileUploadController, BaseController };
4
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/exports/controllers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,oBAAoB,MAAM,kDAAkD,CAAC;AAEpF,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,CAAC","sourcesContent":["import { BaseController } from \"./../../modules/base/base.controller\";\nimport fileUploadController from \"../../modules/file-upload/file-upload.controller\";\n\nexport { fileUploadController, BaseController };\n"]}
@@ -1,4 +0,0 @@
1
- import catchAsync from "../../modules/error-handler/utils/catch-async.js";
2
- import AppError from "../../modules/error-handler/utils/app-error.js";
3
- export { catchAsync, AppError };
4
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/exports/error-handler/index.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,+CAA+C,CAAC;AACvE,OAAO,QAAQ,MAAM,6CAA6C,CAAC;AAEnE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC","sourcesContent":["import catchAsync from \"../../modules/error-handler/utils/catch-async\";\nimport AppError from \"../../modules/error-handler/utils/app-error\";\n\nexport { catchAsync, AppError };\n"]}
@@ -1,8 +0,0 @@
1
- import { BaseController } from "./../modules/base/base.controller.js";
2
- import { initApp, getArkosConfig } from "../server.js";
3
- const arkos = {
4
- init: initApp,
5
- };
6
- export { BaseController, getArkosConfig, };
7
- export default arkos;
8
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/exports/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAepD,MAAM,KAAK,GAAG;IACZ,IAAI,EAAE,OAAO;CACd,CAAC;AAEF,OAAO,EAKL,cAAc,EAGd,cAAc,GACf,CAAC;AAOF,eAAe,KAAK,CAAC","sourcesContent":["import { RouterConfig } from \"../types/router-config\";\nimport { BaseController } from \"./../modules/base/base.controller\";\nimport { initApp, getArkosConfig } from \"../server\";\nimport {\n ArkosRequest,\n ArkosResponse,\n ArkosNextFunction,\n ArkosRequestHandler,\n} from \"../types\";\nimport { ArkosConfig } from \"../types/arkos-config\";\n\n/**\n * Initializes the Arkos application.\n *\n * @module arkos\n * @property {Function} init - Function to initialize the app.\n */\nconst arkos = {\n init: initApp,\n};\n\nexport {\n ArkosRequest,\n ArkosResponse,\n ArkosNextFunction,\n ArkosRequestHandler,\n BaseController,\n ArkosConfig,\n RouterConfig,\n getArkosConfig,\n};\n\n/**\n * Main entry point for the Arkos module.\n *\n * @module arkos\n */\nexport default arkos;\n"]}
@@ -1,2 +0,0 @@
1
- export { addPrismaQueryOptionsToRequest, handleRequestBodyValidationAndTransformation, } from "../../modules/base/base.middlewares.js";
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/exports/middlewares/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,8BAA8B,EAC9B,4CAA4C,GAC7C,MAAM,qCAAqC,CAAC","sourcesContent":["export {\n addPrismaQueryOptionsToRequest,\n handleRequestBodyValidationAndTransformation,\n} from \"../../modules/base/base.middlewares\";\n"]}
@@ -1,3 +0,0 @@
1
- import { getModels } from "../../utils/helpers/models.helpers.js";
2
- export { getModels as getPrismaModels, };
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/exports/prisma/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAE/D,OAAO,EAEL,SAAS,IAAI,eAAe,GAE7B,CAAC","sourcesContent":["import { PrismaQueryOptions, AuthPrismaQueryOptions } from \"../../types\";\nimport { getModels } from \"../../utils/helpers/models.helpers\";\n\nexport {\n PrismaQueryOptions,\n getModels as getPrismaModels,\n AuthPrismaQueryOptions,\n};\n"]}
@@ -1,9 +0,0 @@
1
- import { getFileUploadServices, FileUploadService, } from "../../modules/file-upload/file-upload.service.js";
2
- import authService, { AuthService } from "../../modules/auth/auth.service.js";
3
- import emailService, { EmailService } from "../../modules/email/email.service.js";
4
- import { BaseService, getBaseServices } from "../../modules/base/base.service.js";
5
- export { authService, AuthService };
6
- export { BaseService, getBaseServices };
7
- export { emailService, EmailService };
8
- export { getFileUploadServices, FileUploadService };
9
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/exports/services/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,+CAA+C,CAAC;AAEvD,OAAO,WAAW,EAAE,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,YAAY,EAAE,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAK/E,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;AAKpC,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC;AAKxC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAgB,CAAC;AAKpD,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,CAAC","sourcesContent":["import {\n getFileUploadServices,\n FileUploadService,\n} from \"../../modules/file-upload/file-upload.service\";\nimport { EmailOptions } from \"../../modules/email/email.service\";\nimport authService, { AuthService } from \"../../modules/auth/auth.service\";\nimport emailService, { EmailService } from \"../../modules/email/email.service\";\nimport { BaseService, getBaseServices } from \"../../modules/base/base.service\";\n\n/**\n * Authentication service.\n */\nexport { authService, AuthService };\n\n/**\n * Base service.\n */\nexport { BaseService, getBaseServices };\n\n/**\n * Email service.\n */\nexport { emailService, EmailService, EmailOptions };\n\n/**\n * File upload services.\n */\nexport { getFileUploadServices, FileUploadService };\n"]}
@@ -1,4 +0,0 @@
1
- export * from "../../utils/helpers/change-case.helpers.js";
2
- import APIFeatures, { apiFeatures } from "../../utils/features/api.features.js";
3
- export { APIFeatures, apiFeatures };
4
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/exports/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,yCAAyC,CAAC;AAExD,OAAO,WAAW,EAAE,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAE7E,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC","sourcesContent":["export * from \"../../utils/helpers/change-case.helpers\";\nexport { MsDuration } from \"../../modules/auth/utils/helpers/auth.controller.helpers\";\nimport APIFeatures, { apiFeatures } from \"../../utils/features/api.features\";\n\nexport { APIFeatures, apiFeatures };\n"]}
@@ -1,4 +0,0 @@
1
- import validateDto from "../../utils/validate-dto.js";
2
- import validateSchema from "../../utils/validate-schema.js";
3
- export { validateDto, validateSchema };
4
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/exports/validation/index.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,0BAA0B,CAAC;AACnD,OAAO,cAAc,MAAM,6BAA6B,CAAC;AAEzD,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC","sourcesContent":["import validateDto from \"../../utils/validate-dto\";\nimport validateSchema from \"../../utils/validate-schema\";\n\nexport { validateDto, validateSchema };\n"]}