arkos 0.0.9 → 0.0.11

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 (125) hide show
  1. package/dist/main/app.d.ts +11 -0
  2. package/dist/main/app.d.ts.map +1 -0
  3. package/dist/main/app.js +121 -0
  4. package/dist/main/app.js.map +1 -0
  5. package/dist/main/modules/auth/auth.controller.d.ts +23 -0
  6. package/dist/main/modules/auth/auth.controller.d.ts.map +1 -0
  7. package/dist/main/modules/auth/auth.controller.js +310 -0
  8. package/dist/main/modules/auth/auth.controller.js.map +1 -0
  9. package/dist/main/modules/auth/auth.router.d.ts +4 -0
  10. package/dist/main/modules/auth/auth.router.d.ts.map +1 -0
  11. package/dist/main/modules/auth/auth.router.js +64 -0
  12. package/dist/main/modules/auth/auth.router.js.map +1 -0
  13. package/dist/main/modules/auth/auth.service.d.ts +16 -0
  14. package/dist/main/modules/auth/auth.service.d.ts.map +1 -0
  15. package/dist/main/modules/auth/auth.service.js +120 -0
  16. package/dist/main/modules/auth/auth.service.js.map +1 -0
  17. package/dist/main/modules/base/base.controller.d.ts +17 -0
  18. package/dist/main/modules/base/base.controller.d.ts.map +1 -0
  19. package/dist/main/modules/base/base.controller.js +296 -0
  20. package/dist/main/modules/base/base.controller.js.map +1 -0
  21. package/dist/main/modules/base/base.middlewares.d.ts +20 -0
  22. package/dist/main/modules/base/base.middlewares.d.ts.map +1 -0
  23. package/dist/main/modules/base/base.middlewares.js +86 -0
  24. package/dist/main/modules/base/base.middlewares.js.map +1 -0
  25. package/dist/main/modules/base/base.router.d.ts +4 -0
  26. package/dist/main/modules/base/base.router.d.ts.map +1 -0
  27. package/dist/main/modules/base/base.router.js +75 -0
  28. package/dist/main/modules/base/base.router.js.map +1 -0
  29. package/dist/main/modules/base/base.service.d.ts +32 -0
  30. package/dist/main/modules/base/base.service.d.ts.map +1 -0
  31. package/dist/main/modules/base/base.service.js +149 -0
  32. package/dist/main/modules/base/base.service.js.map +1 -0
  33. package/dist/main/modules/base/utils/base.helpers.d.ts +29 -0
  34. package/dist/main/modules/base/utils/base.helpers.d.ts.map +1 -0
  35. package/dist/main/modules/base/utils/base.helpers.js +106 -0
  36. package/dist/main/modules/base/utils/base.helpers.js.map +1 -0
  37. package/dist/main/modules/email/email.service.d.ts +22 -0
  38. package/dist/main/modules/email/email.service.d.ts.map +1 -0
  39. package/dist/main/modules/email/email.service.js +45 -0
  40. package/dist/main/modules/email/email.service.js.map +1 -0
  41. package/dist/main/modules/email/utils/helpers/email.helpers.d.ts +9 -0
  42. package/dist/main/modules/email/utils/helpers/email.helpers.d.ts.map +1 -0
  43. package/dist/main/modules/email/utils/helpers/email.helpers.js +25 -0
  44. package/dist/main/modules/email/utils/helpers/email.helpers.js.map +1 -0
  45. package/dist/main/modules/error-handler/error-handler.controller.d.ts +4 -0
  46. package/dist/main/modules/error-handler/error-handler.controller.d.ts.map +1 -0
  47. package/dist/main/modules/error-handler/error-handler.controller.js +182 -0
  48. package/dist/main/modules/error-handler/error-handler.controller.js.map +1 -0
  49. package/dist/main/modules/error-handler/utils/app-error.d.ts +11 -0
  50. package/dist/main/modules/error-handler/utils/app-error.d.ts.map +1 -0
  51. package/dist/main/modules/error-handler/utils/app-error.js +23 -0
  52. package/dist/main/modules/error-handler/utils/app-error.js.map +1 -0
  53. package/dist/main/modules/error-handler/utils/catch-async.d.ts +4 -0
  54. package/dist/main/modules/error-handler/utils/catch-async.d.ts.map +1 -0
  55. package/dist/main/modules/error-handler/utils/catch-async.js +9 -0
  56. package/dist/main/modules/error-handler/utils/catch-async.js.map +1 -0
  57. package/dist/main/modules/error-handler/utils/error-handler.helpers.d.ts +43 -0
  58. package/dist/main/modules/error-handler/utils/error-handler.helpers.d.ts.map +1 -0
  59. package/dist/main/modules/error-handler/utils/error-handler.helpers.js +209 -0
  60. package/dist/main/modules/error-handler/utils/error-handler.helpers.js.map +1 -0
  61. package/dist/main/modules/file-uploader/file-uploader.service.d.ts +20 -0
  62. package/dist/main/modules/file-uploader/file-uploader.service.d.ts.map +1 -0
  63. package/dist/main/modules/file-uploader/file-uploader.service.js +114 -0
  64. package/dist/main/modules/file-uploader/file-uploader.service.js.map +1 -0
  65. package/dist/main/paths.d.ts +2 -0
  66. package/dist/main/paths.d.ts.map +1 -0
  67. package/dist/main/paths.js +9 -0
  68. package/dist/main/paths.js.map +1 -0
  69. package/dist/main/server.d.ts +21 -0
  70. package/dist/main/server.d.ts.map +1 -0
  71. package/dist/main/server.js +52 -0
  72. package/dist/main/server.js.map +1 -0
  73. package/dist/main/utils/features/api.features.d.ts +20 -0
  74. package/dist/main/utils/features/api.features.d.ts.map +1 -0
  75. package/dist/main/utils/features/api.features.js +175 -0
  76. package/dist/main/utils/features/api.features.js.map +1 -0
  77. package/dist/main/utils/features/prisma.helpers.d.ts +3 -0
  78. package/dist/main/utils/features/prisma.helpers.d.ts.map +1 -0
  79. package/dist/main/utils/features/prisma.helpers.js +20 -0
  80. package/dist/main/utils/features/prisma.helpers.js.map +1 -0
  81. package/dist/main/utils/helpers/api.features.helpers.d.ts +41 -0
  82. package/dist/main/utils/helpers/api.features.helpers.d.ts.map +1 -0
  83. package/dist/main/utils/helpers/api.features.helpers.js +161 -0
  84. package/dist/main/utils/helpers/api.features.helpers.js.map +1 -0
  85. package/dist/main/utils/helpers/models.helpers.d.ts +21 -0
  86. package/dist/main/utils/helpers/models.helpers.d.ts.map +1 -0
  87. package/dist/main/utils/helpers/models.helpers.js +192 -0
  88. package/dist/main/utils/helpers/models.helpers.js.map +1 -0
  89. package/dist/main/utils/helpers/text.helpers.d.ts +2 -0
  90. package/dist/main/utils/helpers/text.helpers.d.ts.map +1 -0
  91. package/dist/main/utils/helpers/text.helpers.js +12 -0
  92. package/dist/main/utils/helpers/text.helpers.js.map +1 -0
  93. package/dist/main/utils/permissions/index.d.ts +3 -0
  94. package/dist/main/utils/permissions/index.d.ts.map +1 -0
  95. package/dist/main/utils/permissions/index.js +17 -0
  96. package/dist/main/utils/permissions/index.js.map +1 -0
  97. package/dist/main/utils/scripts/export-prisma-types.d.ts +2 -0
  98. package/dist/main/utils/scripts/export-prisma-types.d.ts.map +1 -0
  99. package/dist/main/utils/scripts/export-prisma-types.js +152 -0
  100. package/dist/main/utils/scripts/export-prisma-types.js.map +1 -0
  101. package/dist/main/utils/scripts/generate-zod-schemas.d.ts +2 -0
  102. package/dist/main/utils/scripts/generate-zod-schemas.d.ts.map +1 -0
  103. package/dist/main/utils/scripts/generate-zod-schemas.js +121 -0
  104. package/dist/main/utils/scripts/generate-zod-schemas.js.map +1 -0
  105. package/dist/main/utils/scripts/prisma-db-push.d.ts +2 -0
  106. package/dist/main/utils/scripts/prisma-db-push.d.ts.map +1 -0
  107. package/dist/main/utils/scripts/prisma-db-push.js +24 -0
  108. package/dist/main/utils/scripts/prisma-db-push.js.map +1 -0
  109. package/dist/main/utils/validate-dto.d.ts +3 -0
  110. package/dist/main/utils/validate-dto.d.ts.map +1 -0
  111. package/dist/main/utils/validate-dto.js +17 -0
  112. package/dist/main/utils/validate-dto.js.map +1 -0
  113. package/dist/modules/auth/auth.service.js +3 -3
  114. package/dist/modules/auth/auth.service.js.map +1 -1
  115. package/dist/modules/base/base.router.d.ts.map +1 -1
  116. package/dist/modules/base/base.router.js +1 -0
  117. package/dist/modules/base/base.router.js.map +1 -1
  118. package/dist/server.d.ts.map +1 -1
  119. package/dist/server.js +2 -1
  120. package/dist/server.js.map +1 -1
  121. package/dist/src/utils/prisma.d.ts +3 -0
  122. package/dist/src/utils/prisma.d.ts.map +1 -0
  123. package/dist/src/utils/prisma.js +6 -0
  124. package/dist/src/utils/prisma.js.map +1 -0
  125. package/package.json +5 -1
@@ -0,0 +1,161 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseQueryParamsWithModifiers = parseQueryParamsWithModifiers;
4
+ /**
5
+ * Default configuration for field types
6
+ */
7
+ const DEFAULT_FIELD_CONFIG = {
8
+ dateFields: ['createdAt', 'updatedAt', 'deletedAt', 'date'],
9
+ booleanFields: ['isActive', 'isDeleted', 'isPublished', 'isArchived'],
10
+ numericFields: ['age', 'price', 'quantity', 'amount', 'rating'],
11
+ };
12
+ /**
13
+ * Parses query parameters into a structured filter object compatible with Prisma queries.
14
+ * Supports various operators and data type conversions.
15
+ *
16
+ * @param query - Object containing query parameters
17
+ * @param fieldConfig - Optional configuration for field type mapping
18
+ * @returns Structured filter object for database queries
19
+ *
20
+ * @example
21
+ * // Basic usage
22
+ * parseQueryParamsWithModifiers({ name__contains: 'john' })
23
+ * // => { name: { contains: 'john', mode: 'sensitive' } }
24
+ *
25
+ * @example
26
+ * // Complex query
27
+ * parseQueryParamsWithModifiers({
28
+ * name__not__equals: 'john',
29
+ * age__gt: '25',
30
+ * tags__in: 'tag1,tag2',
31
+ * orderBy__createdAt: 'desc'
32
+ * })
33
+ */
34
+ function parseQueryParamsWithModifiers(query,
35
+ // excludedFields: string[],
36
+ fieldConfig = DEFAULT_FIELD_CONFIG) {
37
+ const queryObj = JSON.parse(JSON.stringify(query));
38
+ // excludedFields.forEach((el) => delete queryObj[el])
39
+ return Object.entries(JSON.parse(JSON.stringify(query))).reduce((acc, [key, value]) => {
40
+ if (!value)
41
+ return acc;
42
+ // Convert value to string if it's not already
43
+ const stringValue = Array.isArray(value)
44
+ ? value[0]?.toString()
45
+ : value.toString();
46
+ const parts = key.split('__');
47
+ if (parts.length < 2) {
48
+ acc[key] = value;
49
+ return acc;
50
+ }
51
+ const fieldName = parts[0];
52
+ // Handle ordering
53
+ if (fieldName === 'orderBy' && parts.length === 2) {
54
+ if (!acc.orderBy)
55
+ acc.orderBy = {};
56
+ acc.orderBy[parts[1]] = stringValue;
57
+ return acc;
58
+ }
59
+ // Handle simple equals case
60
+ if (parts.length === 1) {
61
+ acc[fieldName] = {
62
+ equals: convertValue(stringValue, fieldName, 'equals', fieldConfig),
63
+ };
64
+ return acc;
65
+ }
66
+ let currentLevel = acc;
67
+ let currentKey = fieldName;
68
+ // Build nested structure
69
+ for (let i = 1; i < parts.length - 1; i++) {
70
+ if (!currentLevel[currentKey]) {
71
+ currentLevel[currentKey] = {};
72
+ }
73
+ currentLevel = currentLevel[currentKey];
74
+ currentKey = parts[i];
75
+ }
76
+ const lastOperator = parts[parts.length - 1];
77
+ // Handle special operators
78
+ switch (lastOperator) {
79
+ case 'icontains':
80
+ currentLevel[currentKey] = {
81
+ contains: stringValue,
82
+ mode: 'insensitive',
83
+ };
84
+ break;
85
+ case 'contains':
86
+ currentLevel[currentKey] = {
87
+ contains: stringValue,
88
+ mode: 'sensitive',
89
+ };
90
+ break;
91
+ case 'in':
92
+ case 'notIn':
93
+ currentLevel[currentKey] = {
94
+ [lastOperator]: stringValue
95
+ .split(',')
96
+ .map((v) => convertValue(v.trim(), fieldName, lastOperator, fieldConfig)),
97
+ };
98
+ break;
99
+ case 'or':
100
+ const values = stringValue.split(',');
101
+ if (!acc.OR)
102
+ acc.OR = [];
103
+ acc.OR.push(...values.map((val) => ({
104
+ [fieldName]: {
105
+ equals: convertValue(val.trim(), fieldName, 'equals', fieldConfig),
106
+ },
107
+ })));
108
+ break;
109
+ case 'isNull':
110
+ currentLevel[currentKey] = {
111
+ equals: stringValue.toLowerCase() === 'true' ? null : undefined,
112
+ };
113
+ break;
114
+ case 'isEmpty':
115
+ currentLevel[currentKey] = {
116
+ equals: stringValue.toLowerCase() === 'true' ? '' : undefined,
117
+ };
118
+ break;
119
+ default:
120
+ currentLevel[currentKey] = {
121
+ [lastOperator]: convertValue(stringValue, fieldName, lastOperator, fieldConfig),
122
+ };
123
+ }
124
+ return acc;
125
+ }, {});
126
+ }
127
+ /**
128
+ * Converts string values to appropriate types based on field configuration
129
+ */
130
+ function convertValue(value, fieldName, operator, config) {
131
+ // Handle date fields
132
+ if (config.dateFields.includes(fieldName)) {
133
+ return new Date(value);
134
+ }
135
+ // Handle boolean fields
136
+ if (config.booleanFields.includes(fieldName)) {
137
+ return value.toLowerCase() === 'true';
138
+ }
139
+ // Handle numeric fields
140
+ if (config.numericFields.includes(fieldName)) {
141
+ return Number(value);
142
+ }
143
+ return value;
144
+ }
145
+ // Example usage:
146
+ /*
147
+ const query = {
148
+ name__not__equals: 'uanela',
149
+ email__contains: 'example.com',
150
+ description__icontains: 'test',
151
+ age__gt: '25',
152
+ status: 'active',
153
+ tags__in: 'tag1,tag2,tag3',
154
+ createdAt__gt: '2024-01-01',
155
+ isActive: 'true',
156
+ orderBy__createdAt: 'desc'
157
+ };
158
+
159
+ const result = parseQueryParamsWithModifiers(query);
160
+ */
161
+ //# sourceMappingURL=api.features.helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.features.helpers.js","sourceRoot":"","sources":["../../../../main/utils/helpers/api.features.helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ export declare function importPrismaModelModules(modelName: string): Promise<{
2
+ middlewares?: any;
3
+ authConfigs?: any;
4
+ prismaQueryOptions?: any;
5
+ }>;
6
+ export declare function getAppWidthEjectedMiddlewares(app: any): Promise<any>;
7
+ declare const models: string[];
8
+ export type RelationFields = {
9
+ singular: {
10
+ name: string;
11
+ type: string;
12
+ }[];
13
+ list: {
14
+ name: string;
15
+ type: string;
16
+ }[];
17
+ };
18
+ declare const prismaModelRelationFields: Record<string, RelationFields>;
19
+ export declare function getPrismaModelRelations(modelName: string): RelationFields | undefined;
20
+ export { models, prismaModelRelationFields };
21
+ //# sourceMappingURL=models.helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.helpers.d.ts","sourceRoot":"","sources":["../../../../main/utils/helpers/models.helpers.ts"],"names":[],"mappings":"AAMA,wBAAsB,wBAAwB,CAAC,SAAS,EAAE,MAAM;kBAuB9C,GAAG;kBACH,GAAG;yBACI,GAAG;GA4C3B;AAED,wBAAsB,6BAA6B,CAAC,GAAG,EAAE,GAAG,gBAoB3D;AAED,QAAA,MAAM,MAAM,EAAE,MAAM,EAAO,CAAC;AAgB5B,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC3C,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACxC,CAAC;AAKF,QAAA,MAAM,yBAAyB,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAM,CAAC;AAsFrE,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,8BAIxD;AAED,OAAO,EAAE,MAAM,EAAE,yBAAyB,EAAE,CAAC"}
@@ -0,0 +1,192 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.prismaModelRelationFields = exports.models = void 0;
40
+ exports.importPrismaModelModules = importPrismaModelModules;
41
+ exports.getAppWidthEjectedMiddlewares = getAppWidthEjectedMiddlewares;
42
+ exports.getPrismaModelRelations = getPrismaModelRelations;
43
+ const paths_1 = require("../../paths");
44
+ const path_1 = __importDefault(require("path"));
45
+ const fs_1 = __importDefault(require("fs"));
46
+ const change_case_all_1 = require("change-case-all");
47
+ const app_1 = require("../../app");
48
+ async function importPrismaModelModules(modelName) {
49
+ const kebabModelName = (0, change_case_all_1.kebabCase)(modelName);
50
+ const moduleDir = path_1.default.resolve(paths_1.ROOT_DIR, "src", "modules", modelName);
51
+ const extension = process.env.NODE_ENV === "production" ? "js" : "ts";
52
+ // Define the expected file paths
53
+ const middlewaresFile = path_1.default.join(moduleDir, `${kebabModelName}.middlewares.${extension}`);
54
+ const authConfigsFile = path_1.default.join(moduleDir, `${kebabModelName}.auth-configs.${extension}`);
55
+ const prismaQueryOptionsFile = path_1.default.join(moduleDir, `${kebabModelName}.prisma-query-options.${extension}`);
56
+ // Initialize result object
57
+ const result = {};
58
+ // Try to import middlewares
59
+ try {
60
+ if (fs_1.default.existsSync(middlewaresFile)) {
61
+ const middlewareModule = await Promise.resolve(`${middlewaresFile}`).then(s => __importStar(require(s)));
62
+ result.middlewares = middlewareModule;
63
+ }
64
+ }
65
+ catch (error) {
66
+ console.error(`Error importing middlewares for model "${modelName}":`, error);
67
+ }
68
+ // Try to import auth configs
69
+ try {
70
+ if (fs_1.default.existsSync(authConfigsFile)) {
71
+ const authConfigsModule = await Promise.resolve(`${authConfigsFile}`).then(s => __importStar(require(s)));
72
+ result.authConfigs = authConfigsModule.default || authConfigsModule;
73
+ }
74
+ }
75
+ catch (error) {
76
+ console.error(`Error importing auth configs for model "${modelName}":`, error);
77
+ }
78
+ // Try to import prisma query options
79
+ try {
80
+ if (fs_1.default.existsSync(prismaQueryOptionsFile)) {
81
+ const prismaQueryOptionsModule = await Promise.resolve(`${prismaQueryOptionsFile}`).then(s => __importStar(require(s)));
82
+ result.prismaQueryOptions =
83
+ prismaQueryOptionsModule.default || prismaQueryOptionsModule;
84
+ }
85
+ }
86
+ catch (error) {
87
+ console.error(`Error importing prisma query options for model "${modelName}":`, error);
88
+ }
89
+ return result;
90
+ }
91
+ async function getAppWidthEjectedMiddlewares(app) {
92
+ const extension = process.env.NODE_ENV === "production" ? "js" : "ts";
93
+ const appWithEjectedMiddlewaresPath = path_1.default.resolve(paths_1.ROOT_DIR, "src", `app.${extension}`);
94
+ if (!appWithEjectedMiddlewaresPath) {
95
+ return null;
96
+ }
97
+ // const middlewarePath = path.join(middlewaresDir, matchingFile)
98
+ try {
99
+ const appEjected = await Promise.resolve(`${appWithEjectedMiddlewaresPath}`).then(s => __importStar(require(s)));
100
+ return appEjected;
101
+ }
102
+ catch (error) {
103
+ return null;
104
+ }
105
+ }
106
+ const models = [];
107
+ exports.models = models;
108
+ Object.keys(app_1.prisma || {}).forEach((key) => {
109
+ const value = app_1.prisma[key];
110
+ if (value &&
111
+ typeof value === "object" &&
112
+ typeof value.findUnique === "function") {
113
+ models.push(key);
114
+ }
115
+ });
116
+ const schemaFolderPath = `./prisma/schema`;
117
+ // Read and process the schema files once
118
+ const prismaModelRelationFields = {};
119
+ exports.prismaModelRelationFields = prismaModelRelationFields;
120
+ const files = fs_1.default
121
+ .readdirSync(schemaFolderPath)
122
+ .filter((file) => file.endsWith(".prisma"));
123
+ for (const model of models) {
124
+ const modelName = (0, change_case_all_1.pascalCase)(model);
125
+ let modelFile;
126
+ for (const file of files) {
127
+ const filePath = path_1.default.join(schemaFolderPath, file);
128
+ const stats = fs_1.default.statSync(filePath);
129
+ if (stats.isFile()) {
130
+ const content = fs_1.default.readFileSync(filePath, "utf-8");
131
+ if (content.includes(`model ${modelName} {`)) {
132
+ modelFile = file;
133
+ break;
134
+ }
135
+ }
136
+ }
137
+ if (!modelFile) {
138
+ throw new Error(`Model ${modelName} not found`);
139
+ }
140
+ const content = fs_1.default.readFileSync(path_1.default.join(schemaFolderPath, modelFile), "utf-8");
141
+ const modelStart = content.indexOf(`model ${modelName} {`);
142
+ const modelEnd = content.indexOf("}", modelStart);
143
+ const modelDefinition = content.slice(modelStart, modelEnd);
144
+ const relations = {
145
+ singular: [],
146
+ list: [],
147
+ };
148
+ const lines = modelDefinition.split("\n");
149
+ for (const line of lines) {
150
+ const trimmedLine = line.trim();
151
+ if (!trimmedLine || trimmedLine.startsWith("model"))
152
+ continue;
153
+ // Check for relations
154
+ const [fieldName, type] = trimmedLine.split(/\s+/);
155
+ const cleanType = type?.replace("[]", "").replace("?", "");
156
+ if (trimmedLine.includes("@relation") ||
157
+ trimmedLine.match(/\s+\w+(\[\])?(\s+@|$)/) ||
158
+ models.includes((0, change_case_all_1.camelCase)(cleanType || ""))
159
+ // content.includes(`model ${cleanType} {`)
160
+ ) {
161
+ const modelStart = content.indexOf(`enum ${cleanType} {`);
162
+ if (!cleanType ||
163
+ modelStart >= 0 ||
164
+ cleanType === "String" ||
165
+ cleanType === "Int" ||
166
+ cleanType === "Float" ||
167
+ cleanType === "Boolean" ||
168
+ cleanType === "DateTime" ||
169
+ cleanType === "Bytes" ||
170
+ cleanType === "Decimal" ||
171
+ cleanType === "BigInt" ||
172
+ cleanType === "Json") {
173
+ continue;
174
+ }
175
+ if (!type?.includes("[]")) {
176
+ relations.singular.push({ name: fieldName, type: cleanType });
177
+ }
178
+ else {
179
+ relations.list.push({ name: fieldName, type: cleanType });
180
+ }
181
+ }
182
+ prismaModelRelationFields[modelName] = relations;
183
+ }
184
+ }
185
+ // Function to get relations from the cache
186
+ function getPrismaModelRelations(modelName) {
187
+ modelName = (0, change_case_all_1.pascalCase)(modelName);
188
+ if (!(modelName in prismaModelRelationFields))
189
+ return;
190
+ return prismaModelRelationFields[modelName];
191
+ }
192
+ //# sourceMappingURL=models.helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.helpers.js","sourceRoot":"","sources":["../../../../main/utils/helpers/models.helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function capitalize(text: string): string;
2
+ //# sourceMappingURL=text.helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text.helpers.d.ts","sourceRoot":"","sources":["../../../../main/utils/helpers/text.helpers.ts"],"names":[],"mappings":"AAAA,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAM/C"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.capitalize = capitalize;
4
+ function capitalize(text) {
5
+ if (!text)
6
+ return '';
7
+ return text
8
+ .split(' ')
9
+ .map((word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())
10
+ .join(' ');
11
+ }
12
+ //# sourceMappingURL=text.helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text.helpers.js","sourceRoot":"","sources":["../../../../main/utils/helpers/text.helpers.ts"],"names":[],"mappings":";;AAAA,gCAMC;AAND,SAAgB,UAAU,CAAC,IAAY;IACrC,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAA;IACpB,OAAO,IAAI;SACR,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;SACzE,IAAI,CAAC,GAAG,CAAC,CAAA;AACd,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { AuthConfigs } from '../../types';
2
+ export declare const permissions: Record<string, AuthConfigs>;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../main/utils/permissions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEzC,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAYnD,CAAA"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.permissions = void 0;
4
+ exports.permissions = {
5
+ uploads: {
6
+ authenticationControl: {
7
+ view: false,
8
+ },
9
+ accessControl: {
10
+ view: ['admin', 'customer'],
11
+ create: ['admin'],
12
+ update: ['admin'],
13
+ delete: ['admin'],
14
+ },
15
+ },
16
+ };
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../main/utils/permissions/index.ts"],"names":[],"mappings":";;;AAEa,QAAA,WAAW,GAAgC;IACtD,OAAO,EAAE;QACP,qBAAqB,EAAE;YACrB,IAAI,EAAE,KAAK;SACZ;QACD,aAAa,EAAE;YACb,IAAI,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC;YAC3B,MAAM,EAAE,CAAC,OAAO,CAAC;YACjB,MAAM,EAAE,CAAC,OAAO,CAAC;YACjB,MAAM,EAAE,CAAC,OAAO,CAAC;SAClB;KACF;CACF,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=export-prisma-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export-prisma-types.d.ts","sourceRoot":"","sources":["../../../../main/utils/scripts/export-prisma-types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,152 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ const fs = __importStar(require("fs"));
37
+ const path = __importStar(require("path"));
38
+ const SCHEMA_FOLDER_PATH = './prisma/schema';
39
+ function getAllSchemaContent() {
40
+ const files = fs
41
+ .readdirSync(SCHEMA_FOLDER_PATH)
42
+ .filter((file) => file.endsWith('.prisma'));
43
+ let combinedSchema = '';
44
+ for (const file of files) {
45
+ const filePath = path.join(SCHEMA_FOLDER_PATH, file);
46
+ const content = fs.readFileSync(filePath, 'utf-8');
47
+ combinedSchema += '\n' + content;
48
+ }
49
+ return combinedSchema;
50
+ }
51
+ function isFieldDefinition(line) {
52
+ // Ignore lines that start with @@ (model attributes)
53
+ if (line.trim().startsWith('@@'))
54
+ return false;
55
+ // Ignore empty lines and comments
56
+ if (!line.trim() || line.trim().startsWith('//'))
57
+ return false;
58
+ // Must start with a valid field name (letter or underscore)
59
+ if (!/^\s*[a-zA-Z_]\w*\s/.test(line))
60
+ return false;
61
+ // Must have at least a name and type
62
+ const parts = line.trim().split(/\s+/);
63
+ if (parts.length < 2)
64
+ return false;
65
+ return true;
66
+ }
67
+ function parseFieldType(fieldType, line) {
68
+ // Remove any ? or [] from the type for the switch
69
+ const baseType = fieldType.replace('?', '').replace('[]', '');
70
+ const isArray = fieldType.includes('[]');
71
+ // If it's a relation (has @relation), keep the original type
72
+ if (line.includes('@relation')) {
73
+ return isArray ? `${baseType}[]` : baseType;
74
+ }
75
+ // Convert Prisma scalar types to TypeScript types
76
+ let tsType = baseType;
77
+ switch (baseType) {
78
+ case 'String':
79
+ tsType = 'string';
80
+ break;
81
+ case 'Int':
82
+ case 'Float':
83
+ case 'Decimal':
84
+ tsType = 'number';
85
+ break;
86
+ case 'Boolean':
87
+ tsType = 'boolean';
88
+ break;
89
+ case 'DateTime':
90
+ tsType = 'Date';
91
+ break;
92
+ case 'Json':
93
+ tsType = 'any';
94
+ break;
95
+ case 'BigInt':
96
+ tsType = 'bigint';
97
+ break;
98
+ case 'Bytes':
99
+ tsType = 'Buffer';
100
+ break;
101
+ }
102
+ return isArray ? `${tsType}[]` : tsType;
103
+ }
104
+ function generateTypes() {
105
+ const schemaContent = getAllSchemaContent();
106
+ let typeDefinitions = `// Auto-generated types from Prisma Schema\n\n`;
107
+ // Generate enum types
108
+ const enumRegex = /enum\s+(\w+)\s*{([^}]*)}/g;
109
+ let enumMatch;
110
+ while ((enumMatch = enumRegex.exec(schemaContent)) !== null) {
111
+ const [_, enumName, enumContent] = enumMatch;
112
+ const values = enumContent
113
+ .trim()
114
+ .split('\n')
115
+ .map((line) => line.trim())
116
+ .filter(Boolean);
117
+ typeDefinitions += `export enum ${enumName} {\n`;
118
+ values.forEach((value) => {
119
+ typeDefinitions += ` ${value} = "${value}",\n`;
120
+ });
121
+ typeDefinitions += `}\n\n`;
122
+ }
123
+ // Generate interface types
124
+ const modelRegex = /model\s+(\w+)\s*{([^}]*)}/g;
125
+ let modelMatch;
126
+ while ((modelMatch = modelRegex.exec(schemaContent)) !== null) {
127
+ const [_, modelName, modelContent] = modelMatch;
128
+ typeDefinitions += `export interface ${modelName} {\n`;
129
+ const lines = modelContent.split('\n');
130
+ for (const line of lines) {
131
+ if (!isFieldDefinition(line))
132
+ continue;
133
+ const parts = line.trim().split(/\s+/);
134
+ const fieldName = parts[0];
135
+ const fieldType = parts[1];
136
+ const isOptional = line.includes('?');
137
+ const parsedType = parseFieldType(fieldType, line);
138
+ typeDefinitions += ` ${fieldName}${isOptional ? '?' : ''}: ${parsedType};\n`;
139
+ }
140
+ typeDefinitions += `}\n\n`;
141
+ }
142
+ const outputDir = path.join(process.cwd(), '.cache/types');
143
+ if (!fs.existsSync(outputDir)) {
144
+ fs.mkdirSync(outputDir, { recursive: true });
145
+ }
146
+ const outputPath = path.join(outputDir, 'prisma.ts');
147
+ fs.writeFileSync(outputPath, typeDefinitions);
148
+ console.log('Types generated successfully at:', outputPath);
149
+ }
150
+ // Run the type generator
151
+ generateTypes();
152
+ //# sourceMappingURL=export-prisma-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export-prisma-types.js","sourceRoot":"","sources":["../../../../main/utils/scripts/export-prisma-types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=generate-zod-schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-zod-schemas.d.ts","sourceRoot":"","sources":["../../../../main/utils/scripts/generate-zod-schemas.ts"],"names":[],"mappings":""}