micro-generate 1.3.10 → 1.3.12

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 (80) hide show
  1. package/README.md +83 -9
  2. package/dist/cli/generators/add-mongo-generator.d.ts +4 -0
  3. package/dist/cli/generators/add-mongo-generator.js +212 -0
  4. package/dist/cli/generators/add-mongo-generator.js.map +1 -0
  5. package/dist/cli/generators/add-mysql-generator.d.ts +4 -0
  6. package/dist/cli/generators/add-mysql-generator.js +221 -0
  7. package/dist/cli/generators/add-mysql-generator.js.map +1 -0
  8. package/dist/cli/generators/add-redis-generator.d.ts +1 -0
  9. package/dist/cli/generators/add-redis-generator.js +100 -0
  10. package/dist/cli/generators/add-redis-generator.js.map +1 -0
  11. package/dist/cli/generators/feature-generator.js +26 -338
  12. package/dist/cli/generators/feature-generator.js.map +1 -1
  13. package/dist/cli/generators/init-generator.js +31 -649
  14. package/dist/cli/generators/init-generator.js.map +1 -1
  15. package/dist/cli/generators/model-generator.d.ts +6 -0
  16. package/dist/cli/generators/model-generator.js +50 -0
  17. package/dist/cli/generators/model-generator.js.map +1 -0
  18. package/dist/cli/index.js +71 -0
  19. package/dist/cli/index.js.map +1 -1
  20. package/dist/cli/templates/feature/mongoModel.template.d.ts +6 -0
  21. package/dist/cli/templates/feature/mongoModel.template.js +57 -0
  22. package/dist/cli/templates/feature/mongoModel.template.js.map +1 -0
  23. package/dist/cli/templates/feature/mysqlModel.template.d.ts +6 -0
  24. package/dist/cli/templates/feature/mysqlModel.template.js +62 -0
  25. package/dist/cli/templates/feature/mysqlModel.template.js.map +1 -0
  26. package/dist/cli/templates/feature/resolvers.template.d.ts +1 -0
  27. package/dist/cli/templates/feature/resolvers.template.js +21 -0
  28. package/dist/cli/templates/feature/resolvers.template.js.map +1 -0
  29. package/dist/cli/templates/feature/service.template.d.ts +11 -0
  30. package/dist/cli/templates/feature/service.template.js +68 -0
  31. package/dist/cli/templates/feature/service.template.js.map +1 -0
  32. package/dist/cli/templates/feature/typeDefs.template.d.ts +1 -0
  33. package/dist/cli/templates/feature/typeDefs.template.js +24 -0
  34. package/dist/cli/templates/feature/typeDefs.template.js.map +1 -0
  35. package/dist/cli/templates/project/api.template.d.ts +1 -0
  36. package/dist/cli/templates/project/api.template.js +40 -0
  37. package/dist/cli/templates/project/api.template.js.map +1 -0
  38. package/dist/cli/templates/project/config.template.d.ts +1 -0
  39. package/dist/cli/templates/project/config.template.js +12 -0
  40. package/dist/cli/templates/project/config.template.js.map +1 -0
  41. package/dist/cli/templates/project/featuresIndex.template.d.ts +1 -0
  42. package/dist/cli/templates/project/featuresIndex.template.js +4 -0
  43. package/dist/cli/templates/project/featuresIndex.template.js.map +1 -0
  44. package/dist/cli/templates/project/index.template.d.ts +8 -0
  45. package/dist/cli/templates/project/index.template.js +104 -0
  46. package/dist/cli/templates/project/index.template.js.map +1 -0
  47. package/dist/cli/templates/project/mongo.template.d.ts +1 -0
  48. package/dist/cli/templates/project/mongo.template.js +51 -0
  49. package/dist/cli/templates/project/mongo.template.js.map +1 -0
  50. package/dist/cli/templates/project/mongoClient.template.d.ts +1 -0
  51. package/dist/cli/templates/project/mongoClient.template.js +21 -0
  52. package/dist/cli/templates/project/mongoClient.template.js.map +1 -0
  53. package/dist/cli/templates/project/mysqlClient.template.d.ts +1 -0
  54. package/dist/cli/templates/project/mysqlClient.template.js +18 -0
  55. package/dist/cli/templates/project/mysqlClient.template.js.map +1 -0
  56. package/dist/cli/templates/project/redis.template.d.ts +1 -0
  57. package/dist/cli/templates/project/redis.template.js +255 -0
  58. package/dist/cli/templates/project/redis.template.js.map +1 -0
  59. package/dist/cli/templates/project/sanitize.template.d.ts +1 -0
  60. package/dist/cli/templates/project/sanitize.template.js +11 -0
  61. package/dist/cli/templates/project/sanitize.template.js.map +1 -0
  62. package/dist/cli/templates/project/skill.template.d.ts +1 -0
  63. package/dist/cli/templates/project/skill.template.js +147 -0
  64. package/dist/cli/templates/project/skill.template.js.map +1 -0
  65. package/dist/cli/templates/project/tsconfig.template.d.ts +1 -0
  66. package/dist/cli/templates/project/tsconfig.template.js +17 -0
  67. package/dist/cli/templates/project/tsconfig.template.js.map +1 -0
  68. package/dist/core/MicroserviceServer.d.ts +4 -0
  69. package/dist/core/MicroserviceServer.js +13 -0
  70. package/dist/core/MicroserviceServer.js.map +1 -1
  71. package/dist/database/mysql.d.ts +23 -0
  72. package/dist/database/mysql.js +68 -0
  73. package/dist/database/mysql.js.map +1 -0
  74. package/dist/database/redis.d.ts +1 -1
  75. package/dist/database/redis.js +6 -8
  76. package/dist/database/redis.js.map +1 -1
  77. package/dist/index.d.ts +1 -0
  78. package/dist/index.js +1 -0
  79. package/dist/index.js.map +1 -1
  80. package/package.json +5 -1
@@ -1 +1 @@
1
- {"version":3,"file":"init-generator.js","sourceRoot":"","sources":["../../../src/cli/generators/init-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init-generator.js","sourceRoot":"","sources":["../../../src/cli/generators/init-generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export interface StandaloneModelOptions {
2
+ name: string;
3
+ type: 'mongo' | 'mysql';
4
+ dbConnection?: string;
5
+ }
6
+ export declare const generateModelStandalone: (options: StandaloneModelOptions) => Promise<void>;
@@ -0,0 +1,50 @@
1
+ import fs from 'fs-extra';
2
+ import path from 'path';
3
+ import chalk from 'chalk';
4
+ import { getMongoModelTemplate } from '../templates/feature/mongoModel.template.js';
5
+ import { getMySQLModelTemplate } from '../templates/feature/mysqlModel.template.js';
6
+ export const generateModelStandalone = async (options) => {
7
+ const { name, type, dbConnection } = options;
8
+ const projectRoot = process.cwd();
9
+ const toPascalCase = (s) => s.charAt(0).toUpperCase() + s.slice(1);
10
+ const toKebabCase = (s) => s.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();
11
+ const pluralize = (s) => s.endsWith('s') ? s : s + 's';
12
+ const modelName = toPascalCase(name);
13
+ const fileName = `${toKebabCase(name)}.model.ts`;
14
+ const connectionName = dbConnection || undefined;
15
+ try {
16
+ if (type === 'mongo') {
17
+ const modelsPath = path.join(projectRoot, 'src', 'database', 'mongo', 'models');
18
+ await fs.ensureDir(modelsPath);
19
+ const collectionName = pluralize(name).toLowerCase();
20
+ const modelContent = getMongoModelTemplate({
21
+ modelName,
22
+ collectionName,
23
+ dbConnectionName: connectionName
24
+ });
25
+ const filePath = path.join(modelsPath, fileName);
26
+ await fs.writeFile(filePath, modelContent);
27
+ console.log(chalk.green(`✅ MongoDB Model '${modelName}' created successfully at src/database/mongo/models/${fileName}`));
28
+ }
29
+ else if (type === 'mysql') {
30
+ const modelsPath = path.join(projectRoot, 'src', 'database', 'mysql', 'models');
31
+ await fs.ensureDir(modelsPath);
32
+ const tableName = pluralize(name).toLowerCase();
33
+ const modelContent = getMySQLModelTemplate({
34
+ modelName,
35
+ tableName,
36
+ dbConnectionName: connectionName
37
+ });
38
+ const filePath = path.join(modelsPath, fileName);
39
+ await fs.writeFile(filePath, modelContent);
40
+ console.log(chalk.green(`✅ MySQL Model '${modelName}' created successfully at src/database/mysql/models/${fileName}`));
41
+ }
42
+ else {
43
+ console.error(chalk.red(`❌ Invalid database type: ${type}`));
44
+ }
45
+ }
46
+ catch (error) {
47
+ console.error(chalk.red(`❌ Error generating model: ${error}`));
48
+ }
49
+ };
50
+ //# sourceMappingURL=model-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-generator.js","sourceRoot":"","sources":["../../../src/cli/generators/model-generator.ts"],"names":[],"mappings":"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"}
package/dist/cli/index.js CHANGED
@@ -221,5 +221,76 @@ program
221
221
  returnType: options.returnType
222
222
  });
223
223
  });
224
+ program
225
+ .command('model')
226
+ .description('Generate a new database model standalone')
227
+ .option('-n, --name <name>', 'Model name')
228
+ .option('-t, --type <type>', 'Database type (mongo or mysql)')
229
+ .option('-c, --connection <connection>', 'Connection name')
230
+ .action(async (options) => {
231
+ const prompts = [];
232
+ if (!options.name) {
233
+ prompts.push({
234
+ type: 'input',
235
+ name: 'name',
236
+ message: 'Model name:',
237
+ validate: (input) => input ? true : 'Model name is required',
238
+ });
239
+ }
240
+ if (!options.type) {
241
+ prompts.push({
242
+ type: 'rawlist',
243
+ name: 'type',
244
+ message: 'Database type:',
245
+ choices: [
246
+ { name: 'MongoDB (Mongoose)', value: 'mongo' },
247
+ { name: 'MySQL (Sequelize)', value: 'mysql' },
248
+ ],
249
+ });
250
+ }
251
+ const answers = await inquirer.prompt(prompts);
252
+ const name = options.name || answers.name;
253
+ const type = options.type || answers.type;
254
+ let dbConnection = options.connection;
255
+ if (dbConnection === undefined) {
256
+ const connAnswer = await inquirer.prompt([{
257
+ type: 'input',
258
+ name: 'connection',
259
+ message: `Enter the ${type === 'mongo' ? 'MongoDB' : 'MySQL'} connection name (leave empty for default):`,
260
+ }]);
261
+ dbConnection = connAnswer.connection;
262
+ }
263
+ const { generateModelStandalone } = await import('./generators/model-generator.js');
264
+ await generateModelStandalone({
265
+ name,
266
+ type,
267
+ dbConnection: dbConnection || undefined
268
+ });
269
+ });
270
+ program
271
+ .command('add <technology>')
272
+ .description('Add a database/cache technology to an already initialized project')
273
+ .option('-n, --name <name>', 'Default database name')
274
+ .option('-s, --secondary <dbs>', 'Secondary database names (comma separated)')
275
+ .action(async (technology, options) => {
276
+ const tech = technology.toLowerCase();
277
+ const defaultDb = options.name;
278
+ const secondaryDbs = options.secondary ? options.secondary.split(',').map((s) => s.trim()).filter((s) => s.length > 0) : undefined;
279
+ if (tech === 'redis') {
280
+ const { addRedis } = await import('./generators/add-redis-generator.js');
281
+ await addRedis();
282
+ }
283
+ else if (tech === 'mongo' || tech === 'mongodb') {
284
+ const { addMongo } = await import('./generators/add-mongo-generator.js');
285
+ await addMongo({ defaultDb, secondaryDbs });
286
+ }
287
+ else if (tech === 'mysql') {
288
+ const { addMySQL } = await import('./generators/add-mysql-generator.js');
289
+ await addMySQL({ defaultDb, secondaryDbs });
290
+ }
291
+ else {
292
+ console.error(`Error: Technology "${technology}" is not supported. Supported technologies: redis, mongo, mysql`);
293
+ }
294
+ });
224
295
  program.parse();
225
296
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export interface MongoModelTemplateOptions {
2
+ modelName: string;
3
+ collectionName: string;
4
+ dbConnectionName?: string;
5
+ }
6
+ export declare const getMongoModelTemplate: (options: MongoModelTemplateOptions) => string;
@@ -0,0 +1,57 @@
1
+ export const getMongoModelTemplate = (options) => {
2
+ const { modelName, collectionName, dbConnectionName } = options;
3
+ if (dbConnectionName) {
4
+ return `import { Schema, Document, Model } from 'mongoose';
5
+ import { getSecondaryConnection } from '../../../database/mongo/client.js';
6
+
7
+ export interface I${modelName} extends Document {
8
+ createdAt: Date;
9
+ updatedAt: Date;
10
+ // TODO: Add your custom fields here
11
+ [key: string]: any;
12
+ }
13
+
14
+ const ${modelName}Schema: Schema = new Schema({
15
+ // TODO: Define your schema fields
16
+ }, {
17
+ timestamps: true,
18
+ collection: '${collectionName}'
19
+ });
20
+
21
+ let ${modelName}Model: Model<I${modelName}>;
22
+
23
+ export function get${modelName}Model(): Model<I${modelName}> {
24
+ if (${modelName}Model) return ${modelName}Model;
25
+
26
+ const connection = getSecondaryConnection('${dbConnectionName}');
27
+ if (!connection) {
28
+ throw new Error('Database connection "${dbConnectionName}" not found');
29
+ }
30
+
31
+ ${modelName}Model = connection.model<I${modelName}>('${modelName}', ${modelName}Schema);
32
+ return ${modelName}Model;
33
+ }
34
+ `;
35
+ }
36
+ else {
37
+ return `import mongoose, { Schema, Document } from 'mongoose';
38
+
39
+ export interface I${modelName} extends Document {
40
+ createdAt: Date;
41
+ updatedAt: Date;
42
+ // TODO: Add your custom fields here
43
+ [key: string]: any;
44
+ }
45
+
46
+ const ${modelName}Schema: Schema = new Schema({
47
+ // TODO: Define your schema fields
48
+ }, {
49
+ timestamps: true,
50
+ collection: '${collectionName}'
51
+ });
52
+
53
+ export const ${modelName}Model = mongoose.model<I${modelName}>('${modelName}', ${modelName}Schema);
54
+ `;
55
+ }
56
+ };
57
+ //# sourceMappingURL=mongoModel.template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mongoModel.template.js","sourceRoot":"","sources":["../../../../src/cli/templates/feature/mongoModel.template.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,OAAkC,EAAU,EAAE;IAChF,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC;IAEhE,IAAI,gBAAgB,EAAE,CAAC;QACnB,OAAO;;;oBAGK,SAAS;;;;;;;QAOrB,SAAS;;;;mBAIE,cAAc;;;MAG3B,SAAS,iBAAiB,SAAS;;qBAEpB,SAAS,mBAAmB,SAAS;UAChD,SAAS,iBAAiB,SAAS;;iDAEI,gBAAgB;;gDAEjB,gBAAgB;;;MAG1D,SAAS,6BAA6B,SAAS,MAAM,SAAS,MAAM,SAAS;aACtE,SAAS;;CAErB,CAAC;IACE,CAAC;SAAM,CAAC;QACJ,OAAO;;oBAEK,SAAS;;;;;;;QAOrB,SAAS;;;;mBAIE,cAAc;;;eAGlB,SAAS,2BAA2B,SAAS,MAAM,SAAS,MAAM,SAAS;CACzF,CAAC;IACE,CAAC;AACL,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ export interface MySQLModelTemplateOptions {
2
+ modelName: string;
3
+ tableName: string;
4
+ dbConnectionName?: string;
5
+ }
6
+ export declare const getMySQLModelTemplate: (options: MySQLModelTemplateOptions) => string;
@@ -0,0 +1,62 @@
1
+ export const getMySQLModelTemplate = (options) => {
2
+ const { modelName, tableName, dbConnectionName } = options;
3
+ const importStatement = dbConnectionName
4
+ ? `import { getSecondaryMySQLConnection } from '../client.js';`
5
+ : `import getDefaultMySQLConnection from '../client.js';`;
6
+ const connectionLogic = dbConnectionName
7
+ ? `const sequelize = getSecondaryMySQLConnection('${dbConnectionName}');`
8
+ : `const sequelize = getDefaultMySQLConnection();`;
9
+ const connectionNameLog = dbConnectionName || 'default';
10
+ return `import { DataTypes, Model, Optional } from 'sequelize';
11
+ ${importStatement}
12
+
13
+ interface ${modelName}Attributes {
14
+ id: number;
15
+ name: string;
16
+ createdAt?: Date;
17
+ updatedAt?: Date;
18
+ }
19
+
20
+ interface ${modelName}CreationAttributes extends Optional<${modelName}Attributes, 'id'> {}
21
+
22
+ export class ${modelName} extends Model<${modelName}Attributes, ${modelName}CreationAttributes> implements ${modelName}Attributes {
23
+ public id!: number;
24
+ public name!: string;
25
+ public readonly createdAt!: Date;
26
+ public readonly updatedAt!: Date;
27
+ }
28
+
29
+ let initialized = false;
30
+
31
+ export function get${modelName}Model() {
32
+ if (initialized) return ${modelName};
33
+
34
+ ${connectionLogic}
35
+ if (!sequelize) {
36
+ throw new Error('Database connection "${connectionNameLog}" not found or not initialized');
37
+ }
38
+
39
+ ${modelName}.init(
40
+ {
41
+ id: {
42
+ type: DataTypes.INTEGER.UNSIGNED,
43
+ autoIncrement: true,
44
+ primaryKey: true,
45
+ },
46
+ name: {
47
+ type: DataTypes.STRING(128),
48
+ allowNull: false,
49
+ },
50
+ },
51
+ {
52
+ tableName: '${tableName}',
53
+ sequelize,
54
+ }
55
+ );
56
+
57
+ initialized = true;
58
+ return ${modelName};
59
+ }
60
+ `;
61
+ };
62
+ //# sourceMappingURL=mysqlModel.template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mysqlModel.template.js","sourceRoot":"","sources":["../../../../src/cli/templates/feature/mysqlModel.template.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,OAAkC,EAAU,EAAE;IAChF,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC;IAE3D,MAAM,eAAe,GAAG,gBAAgB;QACpC,CAAC,CAAC,6DAA6D;QAC/D,CAAC,CAAC,uDAAuD,CAAC;IAE9D,MAAM,eAAe,GAAG,gBAAgB;QACpC,CAAC,CAAC,kDAAkD,gBAAgB,KAAK;QACzE,CAAC,CAAC,gDAAgD,CAAC;IAEvD,MAAM,iBAAiB,GAAG,gBAAgB,IAAI,SAAS,CAAC;IAExD,OAAO;EACT,eAAe;;YAEL,SAAS;;;;;;;YAOT,SAAS,uCAAuC,SAAS;;eAEtD,SAAS,kBAAkB,SAAS,eAAe,SAAS,kCAAkC,SAAS;;;;;;;;;qBASjG,SAAS;8BACA,SAAS;;MAEjC,eAAe;;gDAE2B,iBAAiB;;;MAG3D,SAAS;;;;;;;;;;;;;0BAaW,SAAS;;;;;;aAMtB,SAAS;;CAErB,CAAC;AACF,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const getResolversTemplate: (name: string, pascalName: string) => string;
@@ -0,0 +1,21 @@
1
+ export const getResolversTemplate = (name, pascalName) => {
2
+ return `import { ${name}Service } from './service.js';
3
+
4
+ export const resolvers = {
5
+ Query: {
6
+ ${name}s: () => ${name}Service.getAll(),
7
+ ${name}: (_: any, { id }: { id: string }) => ({ id, name: 'Test' }),
8
+ },
9
+ Mutation: {
10
+ create${pascalName}: async (_: any, { name }: { name: string }) => {
11
+ const result = await ${name}Service.create(name);
12
+ return {
13
+ success: true,
14
+ message: '${pascalName} created successfully',
15
+ data: result,
16
+ };
17
+ },
18
+ },
19
+ };`;
20
+ };
21
+ //# sourceMappingURL=resolvers.template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolvers.template.js","sourceRoot":"","sources":["../../../../src/cli/templates/feature/resolvers.template.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,IAAY,EAAE,UAAkB,EAAU,EAAE;IAC7E,OAAO,YAAY,IAAI;;;;MAIrB,IAAI,YAAY,IAAI;MACpB,IAAI;;;YAGE,UAAU;6BACO,IAAI;;;oBAGb,UAAU;;;;;GAK3B,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,11 @@
1
+ export interface ServiceTemplateOptions {
2
+ name: string;
3
+ pascalName: string;
4
+ useMongo: boolean;
5
+ useRedis: boolean;
6
+ useMySQL: boolean;
7
+ dbConnectionName?: string;
8
+ generatedModelFileName: string;
9
+ redisDb?: number;
10
+ }
11
+ export declare const getServiceTemplate: (options: ServiceTemplateOptions) => string;
@@ -0,0 +1,68 @@
1
+ export const getServiceTemplate = (options) => {
2
+ const { name, pascalName, useMongo, useRedis, useMySQL, dbConnectionName, generatedModelFileName, redisDb } = options;
3
+ let serviceImports = '';
4
+ let serviceClassBody = '';
5
+ if (useMongo) {
6
+ serviceImports += `import { ${dbConnectionName ? `get${pascalName}Model` : `${pascalName}Model`}, I${pascalName} } from '../../database/mongo/models/${generatedModelFileName}';\n`;
7
+ const modelAccess = dbConnectionName ? `get${pascalName}Model()` : `${pascalName}Model`;
8
+ serviceClassBody += `
9
+ async getAll(): Promise<I${pascalName}[]> {
10
+ return ${modelAccess}.find();
11
+ }
12
+
13
+ async create(name: string): Promise<I${pascalName}> {
14
+ return ${modelAccess}.create({ name });
15
+ }
16
+ `;
17
+ }
18
+ else if (useMySQL) {
19
+ serviceImports += `import { get${pascalName}Model, ${pascalName} } from '../../database/mysql/models/${generatedModelFileName}';\n`;
20
+ const modelAccess = `get${pascalName}Model()`;
21
+ serviceClassBody += `
22
+ async getAll(): Promise<${pascalName}[]> {
23
+ return ${modelAccess}.findAll();
24
+ }
25
+
26
+ async create(name: string): Promise<${pascalName}> {
27
+ return ${modelAccess}.create({ name });
28
+ }
29
+ `;
30
+ }
31
+ else {
32
+ serviceClassBody += `
33
+ async getAll(): Promise<any[]> {
34
+ return [{ id: '1', name: 'Test (No Mongo/MySQL)' }];
35
+ }
36
+
37
+ async create(name: string): Promise<any> {
38
+ return { id: Math.random().toString(), name };
39
+ }
40
+ `;
41
+ }
42
+ if (useRedis) {
43
+ serviceImports += `import { getRedisConnector, createRedisRepository } from '../../database/redis.js';\n`;
44
+ const redisDbNum = redisDb || 0;
45
+ serviceClassBody = `
46
+ private redis = createRedisRepository(
47
+ async () => {
48
+ return getRedisConnector().getConnection(${redisDbNum});
49
+ },
50
+ '${name}:'
51
+ );
52
+ ` + serviceClassBody;
53
+ serviceClassBody += `
54
+ async getCache(key: string): Promise<any> {
55
+ return this.redis.find(key);
56
+ }
57
+
58
+ async setCache(key: string, value: string): Promise<any> {
59
+ return this.redis.saveTTL(key, value, 3600);
60
+ }
61
+ `;
62
+ }
63
+ return `${serviceImports}
64
+ export class ${pascalName}Service {${serviceClassBody}}
65
+
66
+ export const ${name}Service = new ${pascalName}Service();`;
67
+ };
68
+ //# sourceMappingURL=service.template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.template.js","sourceRoot":"","sources":["../../../../src/cli/templates/feature/service.template.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,OAA+B,EAAU,EAAE;IAC1E,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAEtH,IAAI,cAAc,GAAG,EAAE,CAAC;IACxB,IAAI,gBAAgB,GAAG,EAAE,CAAC;IAE1B,IAAI,QAAQ,EAAE,CAAC;QACX,cAAc,IAAI,YAAY,gBAAgB,CAAC,CAAC,CAAC,MAAM,UAAU,OAAO,CAAC,CAAC,CAAC,GAAG,UAAU,OAAO,MAAM,UAAU,wCAAwC,sBAAsB,MAAM,CAAC;QACpL,MAAM,WAAW,GAAG,gBAAgB,CAAC,CAAC,CAAC,MAAM,UAAU,SAAS,CAAC,CAAC,CAAC,GAAG,UAAU,OAAO,CAAC;QAExF,gBAAgB,IAAI;6BACC,UAAU;aAC1B,WAAW;;;yCAGiB,UAAU;aACtC,WAAW;;CAEvB,CAAC;IACE,CAAC;SAAM,IAAI,QAAQ,EAAE,CAAC;QAClB,cAAc,IAAI,eAAe,UAAU,UAAU,UAAU,wCAAwC,sBAAsB,MAAM,CAAC;QACpI,MAAM,WAAW,GAAG,MAAM,UAAU,SAAS,CAAC;QAE9C,gBAAgB,IAAI;4BACA,UAAU;aACzB,WAAW;;;wCAGgB,UAAU;aACrC,WAAW;;CAEvB,CAAC;IACE,CAAC;SAAM,CAAC;QACJ,gBAAgB,IAAI;;;;;;;;CAQ3B,CAAC;IACE,CAAC;IAED,IAAI,QAAQ,EAAE,CAAC;QACX,cAAc,IAAI,uFAAuF,CAAC;QAE1G,MAAM,UAAU,GAAG,OAAO,IAAI,CAAC,CAAC;QAChC,gBAAgB,GAAG;;;qDAG0B,UAAU;;SAEtD,IAAI;;CAEZ,GAAG,gBAAgB,CAAC;QAEb,gBAAgB,IAAI;;;;;;;;CAQ3B,CAAC;IACE,CAAC;IAED,OAAO,GAAG,cAAc;eACb,UAAU,YAAY,gBAAgB;;eAEtC,IAAI,iBAAiB,UAAU,YAAY,CAAC;AAC3D,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const getTypeDefsTemplate: (name: string, pascalName: string) => string;
@@ -0,0 +1,24 @@
1
+ export const getTypeDefsTemplate = (name, pascalName) => {
2
+ return `export const typeDefs = \`#graphql
3
+ type ${pascalName} {
4
+ id: ID!
5
+ name: String
6
+ }
7
+
8
+ type ${pascalName}Response {
9
+ success: Boolean!
10
+ message: String!
11
+ data: ${pascalName}
12
+ }
13
+
14
+ type Query {
15
+ ${name}s: [${pascalName}]
16
+ ${name}(id: ID!): ${pascalName}
17
+ }
18
+
19
+ type Mutation {
20
+ create${pascalName}(name: String!): ${pascalName}Response
21
+ }
22
+ \`;`;
23
+ };
24
+ //# sourceMappingURL=typeDefs.template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typeDefs.template.js","sourceRoot":"","sources":["../../../../src/cli/templates/feature/typeDefs.template.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,IAAY,EAAE,UAAkB,EAAU,EAAE;IAC5E,OAAO;SACF,UAAU;;;;;SAKV,UAAU;;;YAGP,UAAU;;;;MAIhB,IAAI,OAAO,UAAU;MACrB,IAAI,cAAc,UAAU;;;;YAItB,UAAU,oBAAoB,UAAU;;IAEhD,CAAC;AACL,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const apiTemplate = "import axios from 'axios';\n\nexport default class ApiClient {\n public baseUrl: string;\n public timeout: number;\n\n constructor(url: string) {\n this.baseUrl = url;\n this.timeout = 600000; // 10 minutes\n }\n\n private getHeaders(token?: string) {\n const headers: Record<string, string> = {\n 'Content-Type': 'application/json',\n };\n if (token) {\n headers['Authorization'] = token;\n }\n return headers;\n }\n\n protected async get<T>(endpoint: string, params: Record<string, any> = {}, token?: string): Promise<T> {\n const response = await axios.get(`${this.baseUrl}/${endpoint}`, {\n headers: this.getHeaders(token),\n params,\n timeout: this.timeout,\n });\n return response.data;\n }\n\n protected async post<T>(endpoint: string, data: Record<string, any>, token?: string): Promise<T> {\n const response = await axios.post(`${this.baseUrl}/${endpoint}`, data, {\n headers: this.getHeaders(token),\n timeout: this.timeout,\n });\n return response.data;\n }\n}\n";
@@ -0,0 +1,40 @@
1
+ export const apiTemplate = `import axios from 'axios';
2
+
3
+ export default class ApiClient {
4
+ public baseUrl: string;
5
+ public timeout: number;
6
+
7
+ constructor(url: string) {
8
+ this.baseUrl = url;
9
+ this.timeout = 600000; // 10 minutes
10
+ }
11
+
12
+ private getHeaders(token?: string) {
13
+ const headers: Record<string, string> = {
14
+ 'Content-Type': 'application/json',
15
+ };
16
+ if (token) {
17
+ headers['Authorization'] = token;
18
+ }
19
+ return headers;
20
+ }
21
+
22
+ protected async get<T>(endpoint: string, params: Record<string, any> = {}, token?: string): Promise<T> {
23
+ const response = await axios.get(\`\${this.baseUrl}/\${endpoint}\`, {
24
+ headers: this.getHeaders(token),
25
+ params,
26
+ timeout: this.timeout,
27
+ });
28
+ return response.data;
29
+ }
30
+
31
+ protected async post<T>(endpoint: string, data: Record<string, any>, token?: string): Promise<T> {
32
+ const response = await axios.post(\`\${this.baseUrl}/\${endpoint}\`, data, {
33
+ headers: this.getHeaders(token),
34
+ timeout: this.timeout,
35
+ });
36
+ return response.data;
37
+ }
38
+ }
39
+ `;
40
+ //# sourceMappingURL=api.template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.template.js","sourceRoot":"","sources":["../../../../src/cli/templates/project/api.template.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsC1B,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const configTemplate = "import * as dotenv from 'dotenv';\ndotenv.config();\n\nexport function getEnv(name: string): string {\n const value = process.env[name];\n if (!value) {\n throw new Error(`\u274C Variable de entorno requerida no definida: ${name}`);\n }\n return value;\n}\n";
@@ -0,0 +1,12 @@
1
+ export const configTemplate = `import * as dotenv from 'dotenv';
2
+ dotenv.config();
3
+
4
+ export function getEnv(name: string): string {
5
+ const value = process.env[name];
6
+ if (!value) {
7
+ throw new Error(\`❌ Variable de entorno requerida no definida: \${name}\`);
8
+ }
9
+ return value;
10
+ }
11
+ `;
12
+ //# sourceMappingURL=config.template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.template.js","sourceRoot":"","sources":["../../../../src/cli/templates/project/config.template.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG;;;;;;;;;;CAU7B,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const featuresIndexTemplate = "export const typeDefs = ['type Query { status: String }'];\nexport const resolvers = [{ Query: { status: () => 'Functioning' } }];\n";
@@ -0,0 +1,4 @@
1
+ export const featuresIndexTemplate = `export const typeDefs = ['type Query { status: String }'];
2
+ export const resolvers = [{ Query: { status: () => 'Functioning' } }];
3
+ `;
4
+ //# sourceMappingURL=featuresIndex.template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"featuresIndex.template.js","sourceRoot":"","sources":["../../../../src/cli/templates/project/featuresIndex.template.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,qBAAqB,GAAG;;CAEpC,CAAC"}
@@ -0,0 +1,8 @@
1
+ export interface IndexTemplateOptions {
2
+ useMongo: boolean;
3
+ useRedis: boolean;
4
+ useMySQL: boolean;
5
+ dbNames: string[];
6
+ mysqlDbNames: string[];
7
+ }
8
+ export declare const getIndexTemplate: (options: IndexTemplateOptions) => string;