arkos 1.0.17 → 1.0.19-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.
Files changed (83) hide show
  1. package/dist/cjs/app.js +1 -1
  2. package/dist/cjs/app.js.map +1 -1
  3. package/dist/cjs/exports/utils/index.js.map +1 -1
  4. package/dist/cjs/modules/auth/auth.controller.js +8 -12
  5. package/dist/cjs/modules/auth/auth.controller.js.map +1 -1
  6. package/dist/cjs/modules/auth/auth.service.js +4 -4
  7. package/dist/cjs/modules/auth/auth.service.js.map +1 -1
  8. package/dist/cjs/modules/auth/utils/helpers/auth.controller.helpers.js +4 -8
  9. package/dist/cjs/modules/auth/utils/helpers/auth.controller.helpers.js.map +1 -1
  10. package/dist/cjs/modules/auth/utils/helpers/auth.helpers.js +19 -0
  11. package/dist/cjs/modules/auth/utils/helpers/auth.helpers.js.map +1 -0
  12. package/dist/cjs/modules/base/base.middlewares.js +6 -1
  13. package/dist/cjs/modules/base/base.middlewares.js.map +1 -1
  14. package/dist/cjs/modules/base/utils/helpers/base.helpers.js +183 -0
  15. package/dist/cjs/modules/base/utils/helpers/base.helpers.js.map +1 -0
  16. package/dist/cjs/modules/base/utils/helpers/base.service.helpers.js +5 -5
  17. package/dist/cjs/modules/base/utils/helpers/base.service.helpers.js.map +1 -1
  18. package/dist/cjs/modules/file-uploader/file-uploader.service.js +3 -3
  19. package/dist/cjs/modules/file-uploader/file-uploader.service.js.map +1 -1
  20. package/dist/cjs/types/arkos-config.js.map +1 -1
  21. package/dist/cjs/types/prisma-model-router-config.js +3 -0
  22. package/dist/cjs/types/prisma-model-router-config.js.map +1 -0
  23. package/dist/cjs/utils/features/api.features.js +2 -2
  24. package/dist/cjs/utils/features/api.features.js.map +1 -1
  25. package/dist/cjs/utils/helpers/api.features.helpers.js +4 -3
  26. package/dist/cjs/utils/helpers/api.features.helpers.js.map +1 -1
  27. package/dist/cjs/utils/helpers/change-case.helpers.js +2 -2
  28. package/dist/cjs/utils/helpers/change-case.helpers.js.map +1 -1
  29. package/dist/cjs/utils/helpers/fs.helpers.js +14 -45
  30. package/dist/cjs/utils/helpers/fs.helpers.js.map +1 -1
  31. package/dist/cjs/utils/helpers/models.helpers.js +27 -27
  32. package/dist/cjs/utils/helpers/models.helpers.js.map +1 -1
  33. package/dist/cjs/utils/helpers/prisma.helpers.js +5 -3
  34. package/dist/cjs/utils/helpers/prisma.helpers.js.map +1 -1
  35. package/dist/cjs/utils/scripts/export-prisma-types.js +3 -3
  36. package/dist/cjs/utils/scripts/export-prisma-types.js.map +1 -1
  37. package/dist/cjs/utils/scripts/generate-zod-schemas.js +4 -3
  38. package/dist/cjs/utils/scripts/generate-zod-schemas.js.map +1 -1
  39. package/dist/es2020/app.js +1 -1
  40. package/dist/es2020/app.js.map +1 -1
  41. package/dist/es2020/exports/utils/index.js.map +1 -1
  42. package/dist/es2020/modules/auth/auth.controller.js +8 -12
  43. package/dist/es2020/modules/auth/auth.controller.js.map +1 -1
  44. package/dist/es2020/modules/auth/auth.service.js +4 -4
  45. package/dist/es2020/modules/auth/auth.service.js.map +1 -1
  46. package/dist/es2020/modules/auth/utils/helpers/auth.controller.helpers.js +4 -8
  47. package/dist/es2020/modules/auth/utils/helpers/auth.controller.helpers.js.map +1 -1
  48. package/dist/es2020/modules/auth/utils/helpers/auth.helpers.js +12 -0
  49. package/dist/es2020/modules/auth/utils/helpers/auth.helpers.js.map +1 -0
  50. package/dist/es2020/modules/base/base.middlewares.js +6 -1
  51. package/dist/es2020/modules/base/base.middlewares.js.map +1 -1
  52. package/dist/es2020/modules/base/utils/helpers/base.helpers.js +177 -0
  53. package/dist/es2020/modules/base/utils/helpers/base.helpers.js.map +1 -0
  54. package/dist/es2020/modules/base/utils/helpers/base.service.helpers.js +5 -5
  55. package/dist/es2020/modules/base/utils/helpers/base.service.helpers.js.map +1 -1
  56. package/dist/es2020/modules/file-uploader/file-uploader.service.js +3 -3
  57. package/dist/es2020/modules/file-uploader/file-uploader.service.js.map +1 -1
  58. package/dist/es2020/types/arkos-config.js.map +1 -1
  59. package/dist/es2020/types/prisma-model-router-config.js +2 -0
  60. package/dist/es2020/types/prisma-model-router-config.js.map +1 -0
  61. package/dist/es2020/utils/features/api.features.js +2 -2
  62. package/dist/es2020/utils/features/api.features.js.map +1 -1
  63. package/dist/es2020/utils/helpers/api.features.helpers.js +4 -3
  64. package/dist/es2020/utils/helpers/api.features.helpers.js.map +1 -1
  65. package/dist/es2020/utils/helpers/change-case.helpers.js +2 -2
  66. package/dist/es2020/utils/helpers/change-case.helpers.js.map +1 -1
  67. package/dist/es2020/utils/helpers/fs.helpers.js +13 -44
  68. package/dist/es2020/utils/helpers/fs.helpers.js.map +1 -1
  69. package/dist/es2020/utils/helpers/models.helpers.js +28 -28
  70. package/dist/es2020/utils/helpers/models.helpers.js.map +1 -1
  71. package/dist/es2020/utils/helpers/prisma.helpers.js +6 -4
  72. package/dist/es2020/utils/helpers/prisma.helpers.js.map +1 -1
  73. package/dist/es2020/utils/scripts/export-prisma-types.js +3 -3
  74. package/dist/es2020/utils/scripts/export-prisma-types.js.map +1 -1
  75. package/dist/es2020/utils/scripts/generate-zod-schemas.js +4 -3
  76. package/dist/es2020/utils/scripts/generate-zod-schemas.js.map +1 -1
  77. package/dist/types/exports/utils/index.d.ts +1 -0
  78. package/dist/types/modules/auth/utils/helpers/auth.helpers.d.ts +2 -0
  79. package/dist/types/modules/base/utils/helpers/base.helpers.d.ts +5 -0
  80. package/dist/types/types/arkos-config.d.ts +5 -0
  81. package/dist/types/types/prisma-model-router-config.d.ts +18 -0
  82. package/dist/types/utils/helpers/fs.helpers.d.ts +2 -2
  83. package/package.json +46 -34
@@ -0,0 +1,5 @@
1
+ import { RelationFields } from "../../../../utils/helpers/models.helpers";
2
+ export declare function isPrismaRelationFormat(obj: Record<string, any>): boolean;
3
+ export declare function handleRelationFieldsInBody(body: Record<string, any>, relationFields: RelationFields, ignoreActions?: string[]): Record<string, any>;
4
+ export declare function canBeUsedToConnect(modelName: string, bodyField: Record<string, any> | undefined | null): boolean;
5
+ export declare function isListFieldAnArray(field: any): boolean;
@@ -7,6 +7,11 @@ import { Options as QueryParserOptions } from "../utils/helpers/query-parser.hel
7
7
  import { ValidatorOptions } from "class-validator";
8
8
  import { MsDuration } from "../modules/auth/utils/helpers/auth.controller.helpers";
9
9
  export type ArkosConfig = {
10
+ request?: {
11
+ parameters?: {
12
+ allowDangerousPrismaQueryOptions?: boolean;
13
+ };
14
+ };
10
15
  welcomeMessage?: string;
11
16
  port?: number | undefined;
12
17
  host?: string;
@@ -0,0 +1,18 @@
1
+ export type AvailableEndpoints = "createOne" | "findOne" | "updateOne" | "deleteOne" | "findMany" | "createMany" | "udpateMany" | "deleteMany";
2
+ export type PrismaModelRouterConfig = {
3
+ parent?: {
4
+ model?: string;
5
+ referenceField?: string;
6
+ endpoints?: "*" | AvailableEndpoints | AvailableEndpoints[];
7
+ };
8
+ disable?: boolean | {
9
+ createOne?: boolean;
10
+ findOne?: boolean;
11
+ updateOne?: boolean;
12
+ deleteOne?: boolean;
13
+ createMany?: boolean;
14
+ findMany?: boolean;
15
+ updateMany?: boolean;
16
+ deleteMany?: boolean;
17
+ };
18
+ };
@@ -2,5 +2,5 @@ import fs from "fs";
2
2
  export declare const statAsync: typeof fs.stat.__promisify__;
3
3
  export declare const accessAsync: typeof fs.access.__promisify__;
4
4
  export declare const mkdirAsync: typeof fs.mkdir.__promisify__;
5
- export declare const extension: string;
6
- export declare const userFileExtension: "ts" | "js";
5
+ export declare let userFileExtension: "ts" | "js" | undefined;
6
+ export declare const getUserFileExtension: () => "ts" | "js";
package/package.json CHANGED
@@ -1,50 +1,50 @@
1
1
  {
2
2
  "name": "arkos",
3
- "version": "1.0.17",
3
+ "version": "1.0.19-beta",
4
4
  "description": "The Express & Prisma Framework For RESTful API",
5
5
  "main": "dist/cjs/exports/index.js",
6
6
  "module": "dist/es2020/exports/index.js",
7
7
  "types": "dist/types/exports/index.d.ts",
8
8
  "exports": {
9
9
  ".": {
10
+ "types": "./dist/types/exports/index.d.ts",
10
11
  "import": "./dist/es2020/exports/index.js",
11
- "require": "./dist/cjs/exports/index.js",
12
- "types": "./dist/types/exports/index.d.ts"
12
+ "require": "./dist/cjs/exports/index.js"
13
13
  },
14
14
  "./prisma": {
15
+ "types": "./dist/types/exports/prisma/index.d.ts",
15
16
  "import": "./dist/es2020/exports/prisma/index.js",
16
- "require": "./dist/cjs/exports/prisma/index.js",
17
- "types": "./dist/types/exports/prisma/index.d.ts"
17
+ "require": "./dist/cjs/exports/prisma/index.js"
18
18
  },
19
19
  "./auth": {
20
+ "types": "./dist/types/exports/auth/index.d.ts",
20
21
  "import": "./dist/es2020/exports/auth/index.js",
21
- "require": "./dist/cjs/exports/auth/index.js",
22
- "types": "./dist/types/exports/auth/index.d.ts"
22
+ "require": "./dist/cjs/exports/auth/index.js"
23
23
  },
24
24
  "./services": {
25
+ "types": "./dist/types/exports/services/index.d.ts",
25
26
  "import": "./dist/es2020/exports/services/index.js",
26
- "require": "./dist/cjs/exports/services/index.js",
27
- "types": "./dist/types/exports/services/index.d.ts"
27
+ "require": "./dist/cjs/exports/services/index.js"
28
28
  },
29
29
  "./validation": {
30
+ "types": "./dist/types/exports/validation/index.d.ts",
30
31
  "import": "./dist/es2020/exports/validation/index.js",
31
- "require": "./dist/cjs/exports/validation/index.js",
32
- "types": "./dist/types/exports/validation/index.d.ts"
32
+ "require": "./dist/cjs/exports/validation/index.js"
33
33
  },
34
34
  "./error-handler": {
35
+ "types": "./dist/types/exports/error-handler/index.d.ts",
35
36
  "import": "./dist/es2020/exports/error-handler/index.js",
36
- "require": "./dist/cjs/exports/error-handler/index.js",
37
- "types": "./dist/types/exports/error-handler/index.d.ts"
37
+ "require": "./dist/cjs/exports/error-handler/index.js"
38
38
  },
39
39
  "./utils": {
40
+ "types": "./dist/types/exports/utils/index.d.ts",
40
41
  "import": "./dist/es2020/exports/utils/index.js",
41
- "require": "./dist/cjs/exports/utils/index.js",
42
- "types": "./dist/types/exports/utils/index.d.ts"
42
+ "require": "./dist/cjs/exports/utils/index.js"
43
43
  },
44
44
  "./*": {
45
+ "types": "./dist/types/exports/*.d.ts",
45
46
  "import": "./dist/es2020/exports/*.js",
46
- "require": "./dist/cjs/exports/*.js",
47
- "types": "./dist/types/exports/*.d.ts"
47
+ "require": "./dist/cjs/exports/*.js"
48
48
  }
49
49
  },
50
50
  "typesVersions": {
@@ -66,6 +66,24 @@
66
66
  ]
67
67
  }
68
68
  },
69
+ "scripts": {
70
+ "build:es2020": "tsc -p tsconfig.es2020.json",
71
+ "build:types": "tsc -p tsconfig.types.json",
72
+ "build:cjs": "tsc -p tsconfig.cjs.json",
73
+ "postbuilda": "echo {\\\"type\":\"commonjs\\\"} > dist/cjs/package.json",
74
+ "build": "pnpm run build:cjs && pnpm run build:es2020 && pnpm run build:types && pnpm run minify",
75
+ "minify": "esbuild dist/**/*.js --minify --outdir=dist --allow-overwrite --log-limit=0 --define:process.env.NODE_ENV=process.env.NODE_ENV",
76
+ "clean": "rm -r dist",
77
+ "dev": "ts-node --watch",
78
+ "lint": "eslint src --ext .ts",
79
+ "prepublishOnly": "pnpm run build",
80
+ "prelinkOnly": "npm run build",
81
+ "test": "jest",
82
+ "test:watch": "jest --watch",
83
+ "test:coverage": "jest --coverage",
84
+ "test:ui": "vitest --ui",
85
+ "test:create": "ts-node src/scripts/create-test.ts"
86
+ },
69
87
  "keywords": [
70
88
  "auto API routes",
71
89
  "TypeScript package",
@@ -149,21 +167,15 @@
149
167
  "engines": {
150
168
  "node": ">=14.16"
151
169
  },
152
- "scripts": {
153
- "build:es2020": "tsc -p tsconfig.es2020.json",
154
- "build:types": "tsc -p tsconfig.types.json",
155
- "build:cjs": "tsc -p tsconfig.cjs.json",
156
- "postbuilda": "echo {\\\"type\":\"commonjs\\\"} > dist/cjs/package.json",
157
- "build": "pnpm run build:cjs && pnpm run build:es2020 && pnpm run build:types && pnpm run minify",
158
- "minify": "esbuild dist/**/*.js --minify --outdir=dist --allow-overwrite --log-limit=0 --define:process.env.NODE_ENV=process.env.NODE_ENV",
159
- "clean": "rm -r dist",
160
- "dev": "ts-node --watch",
161
- "lint": "eslint src --ext .ts",
162
- "prelinkOnly": "npm run build",
163
- "test": "jest",
164
- "test:watch": "jest --watch",
165
- "test:coverage": "jest --coverage",
166
- "test:ui": "vitest --ui",
167
- "test:create": "ts-node src/scripts/create-test.ts"
170
+ "pnpm": {
171
+ "overrides": {},
172
+ "onlyBuiltDependencies": [
173
+ "@prisma/client",
174
+ "@prisma/engines",
175
+ "bcrypt",
176
+ "esbuild",
177
+ "prisma",
178
+ "sharp"
179
+ ]
168
180
  }
169
- }
181
+ }