arkos 0.0.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 (114) hide show
  1. package/README.md +161 -0
  2. package/dist/src/app.d.ts +10 -0
  3. package/dist/src/app.d.ts.map +1 -0
  4. package/dist/src/app.js +114 -0
  5. package/dist/src/app.js.map +1 -0
  6. package/dist/src/index.d.ts +21 -0
  7. package/dist/src/index.d.ts.map +1 -0
  8. package/dist/src/index.js +51 -0
  9. package/dist/src/index.js.map +1 -0
  10. package/dist/src/modules/auth/auth.controller.d.ts +23 -0
  11. package/dist/src/modules/auth/auth.controller.d.ts.map +1 -0
  12. package/dist/src/modules/auth/auth.controller.js +317 -0
  13. package/dist/src/modules/auth/auth.controller.js.map +1 -0
  14. package/dist/src/modules/auth/auth.router.d.ts +4 -0
  15. package/dist/src/modules/auth/auth.router.d.ts.map +1 -0
  16. package/dist/src/modules/auth/auth.router.js +64 -0
  17. package/dist/src/modules/auth/auth.router.js.map +1 -0
  18. package/dist/src/modules/auth/auth.service.d.ts +16 -0
  19. package/dist/src/modules/auth/auth.service.d.ts.map +1 -0
  20. package/dist/src/modules/auth/auth.service.js +122 -0
  21. package/dist/src/modules/auth/auth.service.js.map +1 -0
  22. package/dist/src/modules/base/base.controller.d.ts +17 -0
  23. package/dist/src/modules/base/base.controller.d.ts.map +1 -0
  24. package/dist/src/modules/base/base.controller.js +296 -0
  25. package/dist/src/modules/base/base.controller.js.map +1 -0
  26. package/dist/src/modules/base/base.middlewares.d.ts +20 -0
  27. package/dist/src/modules/base/base.middlewares.d.ts.map +1 -0
  28. package/dist/src/modules/base/base.middlewares.js +86 -0
  29. package/dist/src/modules/base/base.middlewares.js.map +1 -0
  30. package/dist/src/modules/base/base.router.d.ts +4 -0
  31. package/dist/src/modules/base/base.router.d.ts.map +1 -0
  32. package/dist/src/modules/base/base.router.js +74 -0
  33. package/dist/src/modules/base/base.router.js.map +1 -0
  34. package/dist/src/modules/base/base.service.d.ts +32 -0
  35. package/dist/src/modules/base/base.service.d.ts.map +1 -0
  36. package/dist/src/modules/base/base.service.js +149 -0
  37. package/dist/src/modules/base/base.service.js.map +1 -0
  38. package/dist/src/modules/base/utils/base.helpers.d.ts +29 -0
  39. package/dist/src/modules/base/utils/base.helpers.d.ts.map +1 -0
  40. package/dist/src/modules/base/utils/base.helpers.js +106 -0
  41. package/dist/src/modules/base/utils/base.helpers.js.map +1 -0
  42. package/dist/src/modules/email/email.service.d.ts +22 -0
  43. package/dist/src/modules/email/email.service.d.ts.map +1 -0
  44. package/dist/src/modules/email/email.service.js +45 -0
  45. package/dist/src/modules/email/email.service.js.map +1 -0
  46. package/dist/src/modules/email/utils/email.helpers.d.ts +9 -0
  47. package/dist/src/modules/email/utils/email.helpers.d.ts.map +1 -0
  48. package/dist/src/modules/email/utils/email.helpers.js +25 -0
  49. package/dist/src/modules/email/utils/email.helpers.js.map +1 -0
  50. package/dist/src/modules/error-handler/error-handler.controller.d.ts +4 -0
  51. package/dist/src/modules/error-handler/error-handler.controller.d.ts.map +1 -0
  52. package/dist/src/modules/error-handler/error-handler.controller.js +182 -0
  53. package/dist/src/modules/error-handler/error-handler.controller.js.map +1 -0
  54. package/dist/src/modules/error-handler/utils/app-error.d.ts +11 -0
  55. package/dist/src/modules/error-handler/utils/app-error.d.ts.map +1 -0
  56. package/dist/src/modules/error-handler/utils/app-error.js +23 -0
  57. package/dist/src/modules/error-handler/utils/app-error.js.map +1 -0
  58. package/dist/src/modules/error-handler/utils/catch-async.d.ts +4 -0
  59. package/dist/src/modules/error-handler/utils/catch-async.d.ts.map +1 -0
  60. package/dist/src/modules/error-handler/utils/catch-async.js +9 -0
  61. package/dist/src/modules/error-handler/utils/catch-async.js.map +1 -0
  62. package/dist/src/modules/error-handler/utils/error-handler.helpers.d.ts +43 -0
  63. package/dist/src/modules/error-handler/utils/error-handler.helpers.d.ts.map +1 -0
  64. package/dist/src/modules/error-handler/utils/error-handler.helpers.js +209 -0
  65. package/dist/src/modules/error-handler/utils/error-handler.helpers.js.map +1 -0
  66. package/dist/src/modules/file-uploader/file-uploader.service.d.ts +20 -0
  67. package/dist/src/modules/file-uploader/file-uploader.service.d.ts.map +1 -0
  68. package/dist/src/modules/file-uploader/file-uploader.service.js +114 -0
  69. package/dist/src/modules/file-uploader/file-uploader.service.js.map +1 -0
  70. package/dist/src/paths.d.ts +2 -0
  71. package/dist/src/paths.d.ts.map +1 -0
  72. package/dist/src/paths.js +9 -0
  73. package/dist/src/paths.js.map +1 -0
  74. package/dist/src/utils/features/api.features.d.ts +20 -0
  75. package/dist/src/utils/features/api.features.d.ts.map +1 -0
  76. package/dist/src/utils/features/api.features.js +177 -0
  77. package/dist/src/utils/features/api.features.js.map +1 -0
  78. package/dist/src/utils/features/prisma.helpers.d.ts +3 -0
  79. package/dist/src/utils/features/prisma.helpers.d.ts.map +1 -0
  80. package/dist/src/utils/features/prisma.helpers.js +20 -0
  81. package/dist/src/utils/features/prisma.helpers.js.map +1 -0
  82. package/dist/src/utils/helpers/api.features.helpers.d.ts +41 -0
  83. package/dist/src/utils/helpers/api.features.helpers.d.ts.map +1 -0
  84. package/dist/src/utils/helpers/api.features.helpers.js +161 -0
  85. package/dist/src/utils/helpers/api.features.helpers.js.map +1 -0
  86. package/dist/src/utils/helpers/models.helpers.d.ts +21 -0
  87. package/dist/src/utils/helpers/models.helpers.d.ts.map +1 -0
  88. package/dist/src/utils/helpers/models.helpers.js +195 -0
  89. package/dist/src/utils/helpers/models.helpers.js.map +1 -0
  90. package/dist/src/utils/helpers/text.helpers.d.ts +2 -0
  91. package/dist/src/utils/helpers/text.helpers.d.ts.map +1 -0
  92. package/dist/src/utils/helpers/text.helpers.js +12 -0
  93. package/dist/src/utils/helpers/text.helpers.js.map +1 -0
  94. package/dist/src/utils/permissions/index.d.ts +3 -0
  95. package/dist/src/utils/permissions/index.d.ts.map +1 -0
  96. package/dist/src/utils/permissions/index.js +17 -0
  97. package/dist/src/utils/permissions/index.js.map +1 -0
  98. package/dist/src/utils/scripts/export-prisma-types.d.ts +2 -0
  99. package/dist/src/utils/scripts/export-prisma-types.d.ts.map +1 -0
  100. package/dist/src/utils/scripts/export-prisma-types.js +152 -0
  101. package/dist/src/utils/scripts/export-prisma-types.js.map +1 -0
  102. package/dist/src/utils/scripts/generate-zod-schemas.d.ts +2 -0
  103. package/dist/src/utils/scripts/generate-zod-schemas.d.ts.map +1 -0
  104. package/dist/src/utils/scripts/generate-zod-schemas.js +121 -0
  105. package/dist/src/utils/scripts/generate-zod-schemas.js.map +1 -0
  106. package/dist/src/utils/scripts/prisma-db-push.d.ts +2 -0
  107. package/dist/src/utils/scripts/prisma-db-push.d.ts.map +1 -0
  108. package/dist/src/utils/scripts/prisma-db-push.js +24 -0
  109. package/dist/src/utils/scripts/prisma-db-push.js.map +1 -0
  110. package/dist/src/utils/validate-dto.d.ts +3 -0
  111. package/dist/src/utils/validate-dto.d.ts.map +1 -0
  112. package/dist/src/utils/validate-dto.js +17 -0
  113. package/dist/src/utils/validate-dto.js.map +1 -0
  114. package/package.json +91 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.helpers.js","sourceRoot":"","sources":["../../../../src/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":["../../../../src/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":["../../../../src/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":["../../../../src/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":["../../../../src/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":["../../../../src/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":["../../../../src/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":["../../../../src/utils/scripts/generate-zod-schemas.ts"],"names":[],"mappings":""}
@@ -0,0 +1,121 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const promises_1 = __importDefault(require("fs/promises"));
7
+ const path_1 = __importDefault(require("path"));
8
+ async function generateZodSchemas(inputContent) {
9
+ let output = `import { z } from "zod";\n\n`;
10
+ // Extract enum names first to help identify enum types later
11
+ const enumNames = new Set();
12
+ const enumRegex = /export enum (\w+) {([^}]+)}/g;
13
+ let enumMatch;
14
+ while ((enumMatch = enumRegex.exec(inputContent)) !== null) {
15
+ const enumName = enumMatch[1];
16
+ const enumValues = enumMatch[2];
17
+ enumNames.add(enumName);
18
+ // Keep original enum definition
19
+ output += `export enum ${enumName} {\n${enumValues}\n}\n\n`;
20
+ }
21
+ // Helper function to convert type to zod schema
22
+ function typeToZodSchema(type, isOptional = false) {
23
+ type = type.trim();
24
+ const baseSchema = (() => {
25
+ if (type.includes("Date")) {
26
+ return `z.date().or(z.string()).refine((val) => val instanceof Date || !isNaN(Date.parse(val)), "Data inválida")`;
27
+ }
28
+ switch (type) {
29
+ case "string":
30
+ return "z.string()";
31
+ case "number":
32
+ return "z.number()";
33
+ case "boolean":
34
+ return "z.boolean()";
35
+ case "any":
36
+ return "z.any()";
37
+ default:
38
+ // Handle arrays
39
+ if (type.includes("[]")) {
40
+ const arrayType = type.replace("[]", "");
41
+ // Handle primitive types in arrays
42
+ switch (arrayType) {
43
+ case "string":
44
+ return "z.array(z.string())";
45
+ case "number":
46
+ return "z.array(z.number())";
47
+ case "boolean":
48
+ return "z.array(z.boolean())";
49
+ default:
50
+ // Check if it's an enum type
51
+ if (enumNames.has(arrayType)) {
52
+ return `z.array(z.nativeEnum(${arrayType}))`;
53
+ }
54
+ // Otherwise it's a relation/model type
55
+ return `z.array(${arrayType}Schema)`;
56
+ }
57
+ }
58
+ // Handle single types
59
+ if (type.match(/^[A-Z]/)) {
60
+ // Check if it's an enum type
61
+ if (enumNames.has(type)) {
62
+ return `z.nativeEnum(${type})`;
63
+ }
64
+ // Otherwise it's a relation/model type
65
+ return `${type}Schema`;
66
+ }
67
+ return "z.any()";
68
+ }
69
+ })();
70
+ return isOptional ? `${baseSchema}.optional()` : baseSchema;
71
+ }
72
+ // Extract and generate interface schemas
73
+ const interfaceRegex = /export interface (\w+) {([^}]+)}/g;
74
+ let interfaceMatch;
75
+ while ((interfaceMatch = interfaceRegex.exec(inputContent)) !== null) {
76
+ const interfaceName = interfaceMatch[1];
77
+ const interfaceBody = interfaceMatch[2];
78
+ // Parse interface properties
79
+ const properties = interfaceBody
80
+ .split(";")
81
+ .map((line) => line.trim())
82
+ .filter((line) => line)
83
+ .map((line) => {
84
+ const [propName, type] = line.split(":").map((part) => part.trim());
85
+ // Skip createdAt, updatedAt, and deletedAt
86
+ if (["createdAt", "updatedAt", "deletedAt"].includes(propName.replace("?", ""))) {
87
+ return null;
88
+ }
89
+ const isOptional = propName.endsWith("?");
90
+ const cleanPropName = propName.replace("?", "");
91
+ return { name: cleanPropName, type, isOptional };
92
+ })
93
+ .filter((prop) => prop !== null);
94
+ output += `export const ${interfaceName}Schema = z.object({\n`;
95
+ properties.forEach((prop, index) => {
96
+ if (prop) {
97
+ output += ` ${prop.name}: ${typeToZodSchema(prop.type, prop.isOptional)}`;
98
+ if (index < properties.length - 1)
99
+ output += ",";
100
+ output += "\n";
101
+ }
102
+ });
103
+ output += "});\n\n";
104
+ }
105
+ return output;
106
+ }
107
+ // Main execution
108
+ async function main() {
109
+ try {
110
+ const inputContent = await promises_1.default.readFile(path_1.default.join(process.cwd(), ".cache/types", "prisma.ts"), "utf-8");
111
+ const generatedSchemas = await generateZodSchemas(inputContent);
112
+ await promises_1.default.writeFile(path_1.default.join(process.cwd(), ".cache/generated-schemas.ts"), generatedSchemas);
113
+ console.info("Zod schemas generated successfully!");
114
+ }
115
+ catch (error) {
116
+ console.error("Error generating schemas:", error);
117
+ process.exit(1);
118
+ }
119
+ }
120
+ main();
121
+ //# sourceMappingURL=generate-zod-schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-zod-schemas.js","sourceRoot":"","sources":["../../../../src/utils/scripts/generate-zod-schemas.ts"],"names":[],"mappings":";;;;;AAAA,2DAA6B;AAC7B,gDAAwB;AAExB,KAAK,UAAU,kBAAkB,CAAC,YAAoB;IACpD,IAAI,MAAM,GAAG,8BAA8B,CAAC;IAE5C,6DAA6D;IAC7D,MAAM,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;IAC5B,MAAM,SAAS,GAAG,8BAA8B,CAAC;IACjD,IAAI,SAAS,CAAC;IACd,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC3D,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAChC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAExB,gCAAgC;QAChC,MAAM,IAAI,eAAe,QAAQ,OAAO,UAAU,SAAS,CAAC;IAC9D,CAAC;IAED,gDAAgD;IAChD,SAAS,eAAe,CAAC,IAAY,EAAE,aAAsB,KAAK;QAChE,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACnB,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE;YACvB,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC1B,OAAO,0GAA0G,CAAC;YACpH,CAAC;YACD,QAAQ,IAAI,EAAE,CAAC;gBACb,KAAK,QAAQ;oBACX,OAAO,YAAY,CAAC;gBACtB,KAAK,QAAQ;oBACX,OAAO,YAAY,CAAC;gBACtB,KAAK,SAAS;oBACZ,OAAO,aAAa,CAAC;gBACvB,KAAK,KAAK;oBACR,OAAO,SAAS,CAAC;gBACnB;oBACE,gBAAgB;oBAChB,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;wBACxB,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;wBACzC,mCAAmC;wBACnC,QAAQ,SAAS,EAAE,CAAC;4BAClB,KAAK,QAAQ;gCACX,OAAO,qBAAqB,CAAC;4BAC/B,KAAK,QAAQ;gCACX,OAAO,qBAAqB,CAAC;4BAC/B,KAAK,SAAS;gCACZ,OAAO,sBAAsB,CAAC;4BAChC;gCACE,6BAA6B;gCAC7B,IAAI,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;oCAC7B,OAAO,wBAAwB,SAAS,IAAI,CAAC;gCAC/C,CAAC;gCACD,uCAAuC;gCACvC,OAAO,WAAW,SAAS,SAAS,CAAC;wBACzC,CAAC;oBACH,CAAC;oBACD,sBAAsB;oBACtB,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;wBACzB,6BAA6B;wBAC7B,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;4BACxB,OAAO,gBAAgB,IAAI,GAAG,CAAC;wBACjC,CAAC;wBACD,uCAAuC;wBACvC,OAAO,GAAG,IAAI,QAAQ,CAAC;oBACzB,CAAC;oBACD,OAAO,SAAS,CAAC;YACrB,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;QAEL,OAAO,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC;IAC9D,CAAC;IAED,yCAAyC;IACzC,MAAM,cAAc,GAAG,mCAAmC,CAAC;IAC3D,IAAI,cAAc,CAAC;IACnB,OAAO,CAAC,cAAc,GAAG,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACrE,MAAM,aAAa,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;QACxC,MAAM,aAAa,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;QAExC,6BAA6B;QAC7B,MAAM,UAAU,GAAG,aAAa;aAC7B,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC;aACtB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACZ,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACpE,2CAA2C;YAC3C,IACE,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,QAAQ,CAC9C,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAC1B,EACD,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC1C,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAChD,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;QACnD,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAEnC,MAAM,IAAI,gBAAgB,aAAa,uBAAuB,CAAC;QAC/D,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACjC,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,eAAe,CAC1C,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,UAAU,CAChB,EAAE,CAAC;gBACJ,IAAI,KAAK,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC;oBAAE,MAAM,IAAI,GAAG,CAAC;gBACjD,MAAM,IAAI,IAAI,CAAC;YACjB,CAAC;QACH,CAAC,CAAC,CAAC;QACH,MAAM,IAAI,SAAS,CAAC;IACtB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,iBAAiB;AACjB,KAAK,UAAU,IAAI;IACjB,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,MAAM,kBAAE,CAAC,QAAQ,CACpC,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,WAAW,CAAC,EACrD,OAAO,CACR,CAAC;QACF,MAAM,gBAAgB,GAAG,MAAM,kBAAkB,CAAC,YAAY,CAAC,CAAC;QAChE,MAAM,kBAAE,CAAC,SAAS,CAChB,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,6BAA6B,CAAC,EACvD,gBAAgB,CACjB,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;IACtD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;QAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=prisma-db-push.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prisma-db-push.d.ts","sourceRoot":"","sources":["../../../../src/utils/scripts/prisma-db-push.ts"],"names":[],"mappings":""}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const child_process_1 = require("child_process");
7
+ const path_1 = __importDefault(require("path"));
8
+ const dotenv_1 = __importDefault(require("dotenv"));
9
+ const os_1 = __importDefault(require("os"));
10
+ // Define o ambiente, padrão para "development" se não for especificado
11
+ const ENV = process.env.NODE_ENV || 'development';
12
+ // Carrega o arquivo correto
13
+ const envFile = path_1.default.resolve(process.cwd(), `.env.${ENV}`);
14
+ dotenv_1.default.config({ path: envFile });
15
+ if (!process.env.DATABASE_URL) {
16
+ console.error(`❌ DATABASE_URL não encontrado no arquivo ${envFile}`);
17
+ process.exit(1);
18
+ }
19
+ console.info(`🚀 Rodando Prisma DB Push para o ambiente: ${ENV}...`);
20
+ const command = os_1.default.platform() === 'win32'
21
+ ? `set DATABASE_URL="${process.env.DATABASE_URL}" && npx prisma db push`
22
+ : `DATABASE_URL="${process.env.DATABASE_URL}" npx prisma db push`;
23
+ (0, child_process_1.execSync)(command, { stdio: 'inherit' });
24
+ //# sourceMappingURL=prisma-db-push.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prisma-db-push.js","sourceRoot":"","sources":["../../../../src/utils/scripts/prisma-db-push.ts"],"names":[],"mappings":";;;;;AAAA,iDAAwC;AACxC,gDAAuB;AACvB,oDAA2B;AAC3B,4CAAmB;AAEnB,uEAAuE;AACvE,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa,CAAA;AAEjD,4BAA4B;AAC5B,MAAM,OAAO,GAAG,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,GAAG,EAAE,CAAC,CAAA;AAC1D,gBAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;AAEhC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;IAC9B,OAAO,CAAC,KAAK,CAAC,4CAA4C,OAAO,EAAE,CAAC,CAAA;IACpE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC;AAED,OAAO,CAAC,IAAI,CAAC,8CAA8C,GAAG,KAAK,CAAC,CAAA;AAEpE,MAAM,OAAO,GACX,YAAE,CAAC,QAAQ,EAAE,KAAK,OAAO;IACvB,CAAC,CAAC,qBAAqB,OAAO,CAAC,GAAG,CAAC,YAAY,yBAAyB;IACxE,CAAC,CAAC,iBAAiB,OAAO,CAAC,GAAG,CAAC,YAAY,sBAAsB,CAAA;AAErE,IAAA,wBAAQ,EAAC,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { ClassConstructor } from 'class-transformer';
2
+ export default function validateDto<T extends object = any>(DtoClass: ClassConstructor<T>, data: Record<string, any>): Promise<T>;
3
+ //# sourceMappingURL=validate-dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-dto.d.ts","sourceRoot":"","sources":["../../../src/utils/validate-dto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAmB,MAAM,mBAAmB,CAAA;AAIrE,wBAA8B,WAAW,CAAC,CAAC,SAAS,MAAM,GAAG,GAAG,EAC9D,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAC7B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACxB,OAAO,CAAC,CAAC,CAAC,CAKZ"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.default = validateDto;
7
+ const class_transformer_1 = require("class-transformer");
8
+ const class_validator_1 = require("class-validator");
9
+ const app_error_1 = __importDefault(require("../modules/error-handler/utils/app-error"));
10
+ async function validateDto(DtoClass, data) {
11
+ const dataDto = (0, class_transformer_1.plainToInstance)(DtoClass, data);
12
+ const errors = await (0, class_validator_1.validate)(dataDto);
13
+ if (errors.length > 0)
14
+ throw new app_error_1.default('Invalid Data', 400, errors);
15
+ return dataDto;
16
+ }
17
+ //# sourceMappingURL=validate-dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-dto.js","sourceRoot":"","sources":["../../../src/utils/validate-dto.ts"],"names":[],"mappings":";;;;;AAIA,8BAQC;AAZD,yDAAqE;AACrE,qDAA0C;AAC1C,yFAA+D;AAEhD,KAAK,UAAU,WAAW,CACvC,QAA6B,EAC7B,IAAyB;IAEzB,MAAM,OAAO,GAAG,IAAA,mCAAe,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;IAC/C,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAQ,EAAC,OAAO,CAAC,CAAA;IACtC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,IAAI,mBAAQ,CAAC,cAAc,EAAE,GAAG,EAAE,MAAM,CAAC,CAAA;IACtE,OAAO,OAAO,CAAA;AAChB,CAAC"}
package/package.json ADDED
@@ -0,0 +1,91 @@
1
+ {
2
+ "name": "arkos",
3
+ "version": "0.0.1",
4
+ "description": "A super customizable TypeScript package for auto-generating API routes with built-in authentication, email service, error handling, file upload routes, image upload optimization, and seamless Prisma integration.",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "module": "dist/index.mjs",
8
+ "exports": {
9
+ "import": "./dist/index.mjs",
10
+ "require": "./dist/index.js"
11
+ },
12
+ "scripts": {
13
+ "build": "tsc",
14
+ "clean": "rm -rf dist",
15
+ "dev": "ts-node --watch",
16
+ "test": "echo \"Error: no test specified\" && exit 1",
17
+ "lint": "eslint src --ext .ts",
18
+ "prepublishOnly": "npm run build"
19
+ },
20
+ "keywords": [
21
+ "auto API routes",
22
+ "TypeScript package",
23
+ "API generator",
24
+ "authentication",
25
+ "email service",
26
+ "error handling",
27
+ "file upload",
28
+ "image optimization",
29
+ "Prisma integration",
30
+ "customizable API",
31
+ "auto routing",
32
+ "file upload routes",
33
+ "dynamic API routes",
34
+ "Prisma ORM",
35
+ "image upload",
36
+ "API middleware"
37
+ ],
38
+ "author": "Uanela Como",
39
+ "license": "MIT",
40
+ "repository": {
41
+ "type": "git",
42
+ "url": "https://github.com/uanela/arkos.git"
43
+ },
44
+ "bugs": {
45
+ "url": "https://github.com/uanela/arkos/issues"
46
+ },
47
+ "homepage": "https://github.com/uanela/arkos#readme",
48
+ "files": [
49
+ "dist",
50
+ "README.md"
51
+ ],
52
+ "devDependencies": {
53
+ "@prisma/client": "^6.4.1",
54
+ "@types/bcrypt": "^5.0.2",
55
+ "@types/body-parser": "^1.19.5",
56
+ "@types/compression": "^1.7.5",
57
+ "@types/cookie-parser": "^1.4.8",
58
+ "@types/cors": "^2.8.17",
59
+ "@types/express": "^5.0.0",
60
+ "@types/jsonwebtoken": "^9.0.9",
61
+ "@types/multer": "^1.4.12",
62
+ "@types/node": "^22.13.5",
63
+ "@types/nodemailer": "^6.4.17",
64
+ "@typescript-eslint/eslint-plugin": "^6.0.0",
65
+ "@typescript-eslint/parser": "^6.0.0",
66
+ "prisma": "^6.4.1",
67
+ "ts-node": "^10.9.2",
68
+ "typescript": "^5.8.2"
69
+ },
70
+ "dependencies": {
71
+ "@types/pluralize": "^0.0.33",
72
+ "bcrypt": "^5.1.1",
73
+ "body-parser": "^1.20.3",
74
+ "change-case-all": "^2.1.0",
75
+ "class-transformer": "^0.5.1",
76
+ "class-validator": "^0.14.1",
77
+ "compression": "^1.8.0",
78
+ "cookie-parser": "^1.4.7",
79
+ "cors": "^2.8.5",
80
+ "deepmerge": "^4.3.1",
81
+ "dotenv": "^16.4.7",
82
+ "express": "^4.21.2",
83
+ "express-query-parser": "^1.3.3",
84
+ "express-rate-limit": "^7.5.0",
85
+ "jsonwebtoken": "^9.0.2",
86
+ "multer": "1.4.5-lts.1",
87
+ "nodemailer": "^6.10.0",
88
+ "pluralize": "^8.0.0",
89
+ "sharp": "^0.33.5"
90
+ }
91
+ }