@diagramers/cli 1.0.48 → 1.0.50

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.
@@ -120,249 +120,74 @@ export const ${moduleName}Schema = new mongoose.Schema(
120
120
  { timestamps: true, suppressReservedKeysWarning: true },
121
121
  );
122
122
 
123
- export const ${moduleNameCapitalized}Entity = mongoose.model<I${moduleNameCapitalized}>('${moduleName}', ${moduleName}Schema);`;
123
+ export const ${moduleNameCapitalized}Model = mongoose.model<I${moduleNameCapitalized}>('${moduleName}', ${moduleName}Schema);`;
124
124
  }
125
125
  function generateServiceContent(moduleName, moduleNameCapitalized) {
126
126
  return `import { ObjectId } from "bson";
127
- import dbcontext from "../helpers/dbcontext";
128
- import { ResponseCode } from "../helpers/enums";
129
- import { Result } from "../helpers/result";
130
- import { ${moduleNameCapitalized}Entity } from "../schemas/${moduleName}";
127
+ import { ${moduleNameCapitalized}Model } from '../schemas/${moduleName}.schema';
131
128
 
132
129
  export class ${moduleNameCapitalized}Service {
133
- result: Result;
134
- className = '${moduleNameCapitalized}Service';
135
-
136
- constructor(result: Result) {
137
- this.result = result;
130
+ async getAll() {
131
+ return await ${moduleNameCapitalized}Model.find({ status: 1 });
138
132
  }
139
-
140
- async getAll(): Promise<Result> {
141
- try {
142
- const ${moduleName}s = await dbcontext.${moduleNameCapitalized}Entity.find({ status: 1 });
143
- this.result.Data = ${moduleName}s;
144
- this.result.Status = ResponseCode.Ok;
145
- return this.result;
146
- } catch (ex) {
147
- this.result.addException(this.className, 'GetAll', ex);
148
- return this.result;
149
- }
133
+ async getById(id: string) {
134
+ return await ${moduleNameCapitalized}Model.findById(id);
150
135
  }
151
-
152
- async getById(id: string): Promise<Result> {
153
- try {
154
- const ${moduleName} = await dbcontext.${moduleNameCapitalized}Entity.findById(id);
155
- if (${moduleName}) {
156
- this.result.Data = ${moduleName};
157
- this.result.Status = ResponseCode.Ok;
158
- } else {
159
- this.result.Status = ResponseCode.NotExist;
160
- }
161
- return this.result;
162
- } catch (ex) {
163
- this.result.addException(this.className, 'GetById', ex);
164
- return this.result;
165
- }
166
- }
167
-
168
- async create(${moduleName}Data: any): Promise<Result> {
169
- try {
170
- const ${moduleName}Entity = new ${moduleNameCapitalized}Entity({
171
- _id: new ObjectId(),
172
- ...${moduleName}Data,
173
- status: 1
174
- });
175
- const created${moduleNameCapitalized} = await dbcontext.${moduleNameCapitalized}Entity.create(${moduleName}Entity);
176
- if (created${moduleNameCapitalized}) {
177
- this.result.Data = created${moduleNameCapitalized};
178
- this.result.Status = ResponseCode.Ok;
179
- } else {
180
- this.result.Status = ResponseCode.Error;
181
- this.result.Errors.push('Failed to create ${moduleName}');
182
- }
183
- return this.result;
184
- } catch (ex) {
185
- this.result.addException(this.className, 'Create', ex);
186
- return this.result;
187
- }
136
+ async create(data: any) {
137
+ const entity = new ${moduleNameCapitalized}Model({ _id: new ObjectId(), ...data, status: 1 });
138
+ return await ${moduleNameCapitalized}Model.create(entity);
188
139
  }
189
-
190
- async update(id: string, ${moduleName}Data: any): Promise<Result> {
191
- try {
192
- const updated${moduleNameCapitalized} = await dbcontext.${moduleNameCapitalized}Entity.findByIdAndUpdate(
193
- id,
194
- { ...${moduleName}Data },
195
- { new: true }
196
- );
197
- if (updated${moduleNameCapitalized}) {
198
- this.result.Data = updated${moduleNameCapitalized};
199
- this.result.Status = ResponseCode.Ok;
200
- } else {
201
- this.result.Status = ResponseCode.NotExist;
202
- }
203
- return this.result;
204
- } catch (ex) {
205
- this.result.addException(this.className, 'Update', ex);
206
- return this.result;
207
- }
140
+ async update(id: string, data: any) {
141
+ return await ${moduleNameCapitalized}Model.findByIdAndUpdate(id, { ...data }, { new: true });
208
142
  }
209
-
210
- async delete(id: string): Promise<Result> {
211
- try {
212
- const deleted${moduleNameCapitalized} = await dbcontext.${moduleNameCapitalized}Entity.findByIdAndUpdate(
213
- id,
214
- { status: 0 },
215
- { new: true }
216
- );
217
- if (deleted${moduleNameCapitalized}) {
218
- this.result.Data = deleted${moduleNameCapitalized};
219
- this.result.Status = ResponseCode.Ok;
220
- } else {
221
- this.result.Status = ResponseCode.NotExist;
222
- }
223
- return this.result;
224
- } catch (ex) {
225
- this.result.addException(this.className, 'Delete', ex);
226
- return this.result;
227
- }
143
+ async delete(id: string) {
144
+ return await ${moduleNameCapitalized}Model.findByIdAndUpdate(id, { status: 0 }, { new: true });
228
145
  }
229
146
  }`;
230
147
  }
231
148
  function generateControllerContent(moduleName, moduleNameCapitalized) {
232
- return `import { AuditMessageType, ResponseCode } from "../helpers/enums";
233
- import handleResponse from "../helpers/handle-response";
234
- import { Result } from "../helpers/result";
235
- import { ${moduleNameCapitalized}Service } from "../services/${moduleName}-service";
236
-
237
- export default class ${moduleNameCapitalized}Controller {
149
+ return `import { ${moduleNameCapitalized}Service } from '../services/${moduleName}.service';
238
150
 
151
+ export class ${moduleNameCapitalized}Controller {
152
+ private service = new ${moduleNameCapitalized}Service();
239
153
  async getAll(req, res) {
240
- const result = res.locals.result;
241
- try {
242
- result.addMessage(AuditMessageType.info, req.baseUrl, 'getAll', 'Started');
243
- const ${moduleName}Service = new ${moduleNameCapitalized}Service(result);
244
- const serviceResult = await ${moduleName}Service.getAll();
245
- result.addMessage(AuditMessageType.info, req.baseUrl, 'getAll', 'Finished');
246
- return handleResponse(req, res, serviceResult);
247
- } catch (ex) {
248
- result.addException(req.baseUrl, 'getAll', ex);
249
- return handleResponse(req, res, result);
250
- }
154
+ const data = await this.service.getAll();
155
+ res.json(data);
251
156
  }
252
-
253
157
  async getById(req, res) {
254
- const result = res.locals.result;
255
- try {
256
- result.addMessage(AuditMessageType.info, req.baseUrl, 'getById', 'Started');
257
- const ${moduleName}Service = new ${moduleNameCapitalized}Service(result);
258
- const serviceResult = await ${moduleName}Service.getById(req.params.id);
259
- result.addMessage(AuditMessageType.info, req.baseUrl, 'getById', 'Finished');
260
- return handleResponse(req, res, serviceResult);
261
- } catch (ex) {
262
- result.addException(req.baseUrl, 'getById', ex);
263
- return handleResponse(req, res, result);
264
- }
158
+ const data = await this.service.getById(req.params.id);
159
+ res.json(data);
265
160
  }
266
-
267
161
  async create(req, res) {
268
- const result = res.locals.result;
269
- try {
270
- result.addMessage(AuditMessageType.info, req.baseUrl, 'create', 'Started');
271
- const ${moduleName}Service = new ${moduleNameCapitalized}Service(result);
272
- const serviceResult = await ${moduleName}Service.create(req.body);
273
- result.addMessage(AuditMessageType.info, req.baseUrl, 'create', 'Finished');
274
- return handleResponse(req, res, serviceResult);
275
- } catch (ex) {
276
- result.addException(req.baseUrl, 'create', ex);
277
- return handleResponse(req, res, result);
278
- }
162
+ const data = await this.service.create(req.body);
163
+ res.json(data);
279
164
  }
280
-
281
165
  async update(req, res) {
282
- const result = res.locals.result;
283
- try {
284
- result.addMessage(AuditMessageType.info, req.baseUrl, 'update', 'Started');
285
- const ${moduleName}Service = new ${moduleNameCapitalized}Service(result);
286
- const serviceResult = await ${moduleName}Service.update(req.params.id, req.body);
287
- result.addMessage(AuditMessageType.info, req.baseUrl, 'update', 'Finished');
288
- return handleResponse(req, res, serviceResult);
289
- } catch (ex) {
290
- result.addException(req.baseUrl, 'update', ex);
291
- return handleResponse(req, res, result);
292
- }
166
+ const data = await this.service.update(req.params.id, req.body);
167
+ res.json(data);
293
168
  }
294
-
295
169
  async delete(req, res) {
296
- const result = res.locals.result;
297
- try {
298
- result.addMessage(AuditMessageType.info, req.baseUrl, 'delete', 'Started');
299
- const ${moduleName}Service = new ${moduleNameCapitalized}Service(result);
300
- const serviceResult = await ${moduleName}Service.delete(req.params.id);
301
- result.addMessage(AuditMessageType.info, req.baseUrl, 'delete', 'Finished');
302
- return handleResponse(req, res, serviceResult);
303
- } catch (ex) {
304
- result.addException(req.baseUrl, 'delete', ex);
305
- return handleResponse(req, res, result);
306
- }
170
+ const data = await this.service.delete(req.params.id);
171
+ res.json(data);
307
172
  }
308
173
  }`;
309
174
  }
310
175
  function generateRoutesContent(moduleName, moduleNameCapitalized) {
311
- return `import express from 'express';
312
- import ${moduleNameCapitalized}Controller from '../controllers/${moduleName}-controller';
313
-
314
- const router = express.Router();
315
- const ${moduleName}Controller = new ${moduleNameCapitalized}Controller();
316
-
317
- // GET /api/${moduleName}s
318
- router.get('/', ${moduleName}Controller.getAll.bind(${moduleName}Controller));
176
+ return `import { Router } from 'express';
177
+ import { ${moduleNameCapitalized}Controller } from '../controllers/${moduleName}.controller';
319
178
 
320
- // GET /api/${moduleName}s/:id
321
- router.get('/:id', ${moduleName}Controller.getById.bind(${moduleName}Controller));
179
+ const router = Router();
180
+ const controller = new ${moduleNameCapitalized}Controller();
322
181
 
323
- // POST /api/${moduleName}s
324
- router.post('/', ${moduleName}Controller.create.bind(${moduleName}Controller));
325
-
326
- // PUT /api/${moduleName}s/:id
327
- router.put('/:id', ${moduleName}Controller.update.bind(${moduleName}Controller));
328
-
329
- // DELETE /api/${moduleName}s/:id
330
- router.delete('/:id', ${moduleName}Controller.delete.bind(${moduleName}Controller));
182
+ router.get('/', (req, res) => res.send('${moduleNameCapitalized} API is up.'));
183
+ router.get('/all', (req, res) => controller.getAll(req, res));
184
+ router.get('/:id', (req, res) => controller.getById(req, res));
185
+ router.post('/', (req, res) => controller.create(req, res));
186
+ router.put('/:id', (req, res) => controller.update(req, res));
187
+ router.delete('/:id', (req, res) => controller.delete(req, res));
331
188
 
332
189
  export default router;`;
333
190
  }
334
- function updateDbContext(currentDir, moduleName, moduleNameCapitalized) {
335
- const dbcontextPath = path.join(currentDir, 'src/helpers/dbcontext.ts');
336
- if (!fs.existsSync(dbcontextPath)) {
337
- console.log('⚠️ dbcontext.ts not found, skipping dbcontext update');
338
- return;
339
- }
340
- let dbcontextContent = fs.readFileSync(dbcontextPath, 'utf8');
341
- // Add import
342
- const importStatement = `import { ${moduleNameCapitalized}Entity } from '../schemas/${moduleName}';`;
343
- if (!dbcontextContent.includes(importStatement)) {
344
- // Find the last import statement and add after it
345
- const importRegex = /import.*from.*['"];?\s*$/gm;
346
- const matches = [...dbcontextContent.matchAll(importRegex)];
347
- if (matches.length > 0) {
348
- const lastImport = matches[matches.length - 1];
349
- const insertIndex = lastImport.index + lastImport[0].length;
350
- dbcontextContent = dbcontextContent.slice(0, insertIndex) + '\n' + importStatement + dbcontextContent.slice(insertIndex);
351
- }
352
- }
353
- // Add to dbcontext object
354
- const dbcontextObjectRegex = /export\s+default\s*\{([^}]*)\}/s;
355
- const match = dbcontextContent.match(dbcontextObjectRegex);
356
- if (match) {
357
- const objectContent = match[1];
358
- if (!objectContent.includes(`${moduleNameCapitalized}Entity`)) {
359
- const newObjectContent = objectContent.trim() + `,\n ${moduleNameCapitalized}Entity`;
360
- dbcontextContent = dbcontextContent.replace(dbcontextObjectRegex, `export default {$1${newObjectContent}\n}`);
361
- }
362
- }
363
- fs.writeFileSync(dbcontextPath, dbcontextContent);
364
- console.log('📊 Updated dbcontext.ts');
365
- }
366
191
  function updateRoutesIndex(currentDir, moduleName) {
367
192
  const routesIndexPath = path.join(currentDir, 'src/routes/index.ts');
368
193
  if (!fs.existsSync(routesIndexPath)) {
@@ -371,109 +196,70 @@ function updateRoutesIndex(currentDir, moduleName) {
371
196
  }
372
197
  let routesContent = fs.readFileSync(routesIndexPath, 'utf8');
373
198
  // Add import
374
- const importStatement = `import ${moduleName}Routes from './${moduleName}-routes';`;
199
+ const importStatement = `import ${moduleName}Routes from '../modules/${moduleName}/routes/${moduleName}.routes';`;
375
200
  if (!routesContent.includes(importStatement)) {
376
- // Find the last import statement and add after it
377
- const importRegex = /import.*from.*['"];?\s*$/gm;
378
- const matches = [...routesContent.matchAll(importRegex)];
379
- if (matches.length > 0) {
380
- const lastImport = matches[matches.length - 1];
381
- const insertIndex = lastImport.index + lastImport[0].length;
382
- routesContent = routesContent.slice(0, insertIndex) + '\n' + importStatement + routesContent.slice(insertIndex);
383
- }
201
+ // Add import after the userRoutes import
202
+ routesContent = routesContent.replace(/import userRoutes from '\.\.\/modules\/users\/routes\/user\.routes';/, `import userRoutes from '../modules/users/routes/user.routes';\n${importStatement}`);
384
203
  }
385
204
  // Add route registration
386
- const routeRegistration = `app.use('/api/${moduleName}s', ${moduleName}Routes);`;
205
+ const routeRegistration = `router.use('/${moduleName}', ${moduleName}Routes);`;
387
206
  if (!routesContent.includes(routeRegistration)) {
388
- // Find where routes are registered (usually after imports)
389
- const routeRegex = /app\.use\('\/api\/.*',.*\);?\s*$/gm;
390
- const matches = [...routesContent.matchAll(routeRegex)];
391
- if (matches.length > 0) {
392
- const lastRoute = matches[matches.length - 1];
393
- const insertIndex = lastRoute.index + lastRoute[0].length;
394
- routesContent = routesContent.slice(0, insertIndex) + '\n' + routeRegistration + routesContent.slice(insertIndex);
395
- }
207
+ // Add route after the users route
208
+ routesContent = routesContent.replace(/router\.use\('\/users', userRoutes\);/, `router.use('/users', userRoutes);\n${routeRegistration}`);
396
209
  }
397
210
  fs.writeFileSync(routesIndexPath, routesContent);
398
211
  console.log('🛣️ Updated routes/index.ts');
399
212
  }
400
213
  async function registerModuleRoutes(currentDir, moduleName, moduleNameCapitalized) {
401
- const serverManagerPath = path.join(currentDir, 'src/core/server/manager.ts');
402
- if (!fs.existsSync(serverManagerPath)) {
403
- console.warn('⚠️ Server manager not found, routes will need to be registered manually');
404
- return;
405
- }
406
- let serverManagerContent = fs.readFileSync(serverManagerPath, 'utf8');
407
- // Add import for the new module routes
408
- const importStatement = `const ${moduleName}Routes = require('../../modules/${moduleName}/routes/${moduleName}.routes').default;`;
409
- // Find the registerPluginRoutes method
410
- const methodRegex = /private registerPluginRoutes\(\): void \{([^}]*)\}/s;
411
- const match = serverManagerContent.match(methodRegex);
412
- if (match) {
413
- const methodContent = match[1];
414
- // Add import if not already present
415
- if (!methodContent.includes(importStatement)) {
416
- const updatedMethodContent = methodContent + `\n ${importStatement}`;
417
- serverManagerContent = serverManagerContent.replace(methodRegex, `private registerPluginRoutes(): void {$1${updatedMethodContent}\n }`);
418
- }
419
- // Add route registration
420
- const routeRegistration = `this.app.use('/api', ${moduleName}Routes);`;
421
- if (!methodContent.includes(routeRegistration)) {
422
- const updatedMethodContent = methodContent + `\n ${routeRegistration}`;
423
- serverManagerContent = serverManagerContent.replace(methodRegex, `private registerPluginRoutes(): void {$1${updatedMethodContent}\n }`);
424
- }
425
- fs.writeFileSync(serverManagerPath, serverManagerContent);
426
- console.log('✅ Routes registered in server manager');
427
- }
428
- else {
429
- console.warn('⚠️ Could not find registerPluginRoutes method, routes will need to be registered manually');
430
- }
214
+ // Update routes/index.ts instead of server manager
215
+ updateRoutesIndex(currentDir, moduleName);
431
216
  }
432
217
  async function createDatabaseTable(currentDir, moduleName, moduleNameCapitalized) {
433
- // Create a database seeder script for the new module
434
- const seederScript = `import { ${moduleNameCapitalized}Entity } from '../schemas/${moduleName}.schema';
435
- import { logger } from '../../core/logging';
436
-
437
- export async function seed${moduleNameCapitalized}Table(): Promise<void> {
438
- try {
439
- // Create collection and indexes
440
- await ${moduleNameCapitalized}Entity.createCollection();
441
-
442
- // Create indexes if needed
443
- await ${moduleNameCapitalized}Entity.collection.createIndex({ name: 1 });
444
- await ${moduleNameCapitalized}Entity.collection.createIndex({ createdAt: -1 });
445
-
446
- logger.info(\`✅ ${moduleNameCapitalized} table/collection created successfully\`);
447
- } catch (error) {
448
- logger.error(\`❌ Failed to create ${moduleNameCapitalized} table:\`, error);
449
- throw error;
450
- }
451
- }
452
-
453
- // Auto-run when imported
454
- seed${moduleNameCapitalized}Table().catch(console.error);
455
- `;
456
- const seederPath = path.join(currentDir, 'src/scripts', `seed-${moduleName}.ts`);
457
- fs.writeFileSync(seederPath, seederScript);
458
- // Add to main seeder
218
+ // Update the main seeder using the same logic as the bash script
459
219
  const mainSeederPath = path.join(currentDir, 'src/core/database/seeder.ts');
460
220
  if (fs.existsSync(mainSeederPath)) {
461
221
  let seederContent = fs.readFileSync(mainSeederPath, 'utf8');
462
- // Add import
463
- const importStatement = `import { seed${moduleNameCapitalized}Table } from '../../scripts/seed-${moduleName}';`;
222
+ // Add import for the model
223
+ const importStatement = `import { ${moduleNameCapitalized}Model } from '../../modules/${moduleName}/schemas/${moduleName}.schema';`;
464
224
  if (!seederContent.includes(importStatement)) {
465
- seederContent = seederContent.replace(/import.*from.*['"];?\s*$/gm, `$&\n${importStatement}`);
225
+ seederContent = seederContent.replace(/import { UserModel } from '\.\.\/\.\.\/modules\/users\/schemas\/user\.schema';/, `import { UserModel } from '../../modules/users/schemas/user.schema';\n${importStatement}`);
226
+ }
227
+ // Add seeder function
228
+ const seederFunction = ` private async seed${moduleNameCapitalized}s(data: any[]): Promise<void> {
229
+ if (data.length === 0) return;
230
+
231
+ logger.info(\`[DatabaseSeeder] Seeding \${data.length} ${moduleName}s...\`);
232
+
233
+ for (const ${moduleName}Data of data) {
234
+ try {
235
+ const existing = await ${moduleNameCapitalized}Model.findOne({ name: ${moduleName}Data.name });
236
+ if (!existing) {
237
+ const ${moduleName} = new ${moduleNameCapitalized}Model({
238
+ ...${moduleName}Data,
239
+ status: 1
240
+ });
241
+ await ${moduleName}.save();
242
+ logger.info(\`[DatabaseSeeder] Created ${moduleName}: \${${moduleName}Data.name}\`);
243
+ } else {
244
+ logger.info(\`[DatabaseSeeder] ${moduleNameCapitalized} \${${moduleName}Data.name} already exists, skipping\`);
245
+ }
246
+ } catch (error) {
247
+ logger.error(\`[DatabaseSeeder] Failed to create ${moduleName} \${${moduleName}Data.name}:\`, error);
248
+ }
249
+ }
250
+ }`;
251
+ if (!seederContent.includes(`seed${moduleNameCapitalized}s`)) {
252
+ seederContent = seederContent.replace(/\/\/ TEMPLATE: Add new seeder functions here \(the CLI will add new functions automatically\)/, `// TEMPLATE: Add new seeder functions here (the CLI will add new functions automatically)\n${seederFunction}`);
253
+ }
254
+ // Add seeder call
255
+ const seederCall = ` await this.seed${moduleNameCapitalized}s(seedData.${moduleName}s || []);`;
256
+ if (!seederContent.includes(seederCall)) {
257
+ seederContent = seederContent.replace(/\/\/ TEMPLATE: Call new seeders here \(the CLI will add new calls automatically\)/, `// TEMPLATE: Call new seeders here (the CLI will add new calls automatically)\n${seederCall}`);
466
258
  }
467
- // Add to seeding methods
468
- const seedMethodRegex = /async seedAll\(\): Promise<void> \{([^}]*)\}/s;
469
- const match = seederContent.match(seedMethodRegex);
470
- if (match) {
471
- const methodContent = match[1];
472
- const seedCall = `await seed${moduleNameCapitalized}Table();`;
473
- if (!methodContent.includes(seedCall)) {
474
- const updatedMethodContent = methodContent + `\n ${seedCall}`;
475
- seederContent = seederContent.replace(seedMethodRegex, `async seedAll(): Promise<void> {$1${updatedMethodContent}\n }`);
476
- }
259
+ // Add default seed data
260
+ const seedDataLine = ` ${moduleName}s: [ { name: '${moduleNameCapitalized} Example', description: 'Example ${moduleName}', status: 1 } ],`;
261
+ if (!seederContent.includes(seedDataLine)) {
262
+ seederContent = seederContent.replace(/const defaultData: SeedData = \{/, `const defaultData: SeedData = {\n${seedDataLine}`);
477
263
  }
478
264
  fs.writeFileSync(mainSeederPath, seederContent);
479
265
  }
@@ -1 +1 @@
1
- {"version":3,"file":"api-generator.js","sourceRoot":"","sources":["../../src/services/api-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-generator.js","sourceRoot":"","sources":["../../src/services/api-generator.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,7 @@ export declare class ProjectExtender {
28
28
  private createRoutes;
29
29
  private generateCRUDOperations;
30
30
  private registerModule;
31
+ private updateSeeder;
31
32
  private createTableSchema;
32
33
  private createMongoDBSchema;
33
34
  private createSQLSchema;
@@ -1 +1 @@
1
- {"version":3,"file":"project-extender.d.ts","sourceRoot":"","sources":["../../src/services/project-extender.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CA8Bd;IAEI,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IA8B7B,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA8B9C,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,GAAE,GAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBpE,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE,GAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAWlE,iBAAiB,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,GAAE,GAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;YAWjE,sBAAsB;YAuCtB,sBAAsB;IAoBpC,OAAO,CAAC,yBAAyB;IA+KjC,OAAO,CAAC,sBAAsB;IA0J9B,OAAO,CAAC,oBAAoB;IAoB5B,OAAO,CAAC,sBAAsB;YAmBhB,mBAAmB;IA4PjC,OAAO,CAAC,qBAAqB;YAqBf,oBAAoB;YAuBpB,qBAAqB;YA4DrB,YAAY;YAsBZ,YAAY;YAiCZ,aAAa;YAsHb,gBAAgB;YAyOhB,YAAY;YAwBZ,sBAAsB;YAKtB,cAAc;YAyCd,iBAAiB;YAYjB,mBAAmB;YAiCnB,eAAe;YAqBf,eAAe;YAYf,sBAAsB;YAyCtB,kBAAkB;YA4ClB,eAAe;YASf,uBAAuB;YAevB,gBAAgB;YAkDhB,iBAAiB;YAqCjB,iBAAiB;IA4B/B,OAAO,CAAC,eAAe;CAGxB"}
1
+ {"version":3,"file":"project-extender.d.ts","sourceRoot":"","sources":["../../src/services/project-extender.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CA8Bd;IAEI,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IA8B7B,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA8B9C,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,GAAE,GAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BpE,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE,GAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAWlE,iBAAiB,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,GAAE,GAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;YAWjE,sBAAsB;YAuCtB,sBAAsB;IAoBpC,OAAO,CAAC,yBAAyB;IA+KjC,OAAO,CAAC,sBAAsB;IA0J9B,OAAO,CAAC,oBAAoB;IAoB5B,OAAO,CAAC,sBAAsB;YAmBhB,mBAAmB;IA4PjC,OAAO,CAAC,qBAAqB;YAqBf,oBAAoB;YAuBpB,qBAAqB;YA4DrB,YAAY;YAkBZ,YAAY;YA6BZ,aAAa;YA4Bb,gBAAgB;YAgChB,YAAY;YAqBZ,sBAAsB;YAKtB,cAAc;YAmCd,YAAY;YAsEZ,iBAAiB;YAYjB,mBAAmB;YAiCnB,eAAe;YAqBf,eAAe;YAYf,sBAAsB;YAyCtB,kBAAkB;YA4ClB,eAAe;YASf,uBAAuB;YAevB,gBAAgB;YAkDhB,iBAAiB;YAqCjB,iBAAiB;IA4B/B,OAAO,CAAC,eAAe;CAGxB"}
@@ -137,6 +137,8 @@ class ProjectExtender {
137
137
  }
138
138
  // Update main application to include the module
139
139
  await this.registerModule(projectPath, moduleName);
140
+ // Update database seeder
141
+ await this.updateSeeder(projectPath, moduleName);
140
142
  console.log(chalk_1.default.green(`✅ Module '${moduleName}' generated successfully!`));
141
143
  }
142
144
  async generateTable(tableName, options = {}) {
@@ -894,417 +896,115 @@ export * from './${fileName}';
894
896
  }
895
897
  async createEntity(modulePath, moduleName, options) {
896
898
  const entityName = this.capitalizeFirst(moduleName);
897
- const fields = options.fields || ['name', 'description'];
898
- const entityContent = `import { BaseEntity } from '../../../shared/types/base-entity';
899
-
900
- export interface I${entityName} extends BaseEntity {
901
- ${fields.map((field) => ` ${field}: string;`).join('\n')}
902
- }
903
-
904
- export interface I${entityName}Create {
905
- ${fields.map((field) => ` ${field}: string;`).join('\n')}
906
- }
907
-
908
- export interface I${entityName}Update {
909
- ${fields.map((field) => ` ${field}?: string;`).join('\n')}
910
- }
911
- `;
899
+ const entityContent = `import * as mongoose from 'mongoose';
900
+ import { ObjectId } from "bson";
901
+
902
+ export interface I${entityName} extends mongoose.Document {
903
+ _id: ObjectId,
904
+ name: string,
905
+ description?: string,
906
+ status: number,
907
+ createdAt: Date,
908
+ updatedAt: Date
909
+ }`;
912
910
  await fs.writeFile(path.join(modulePath, 'entities', `${moduleName}.entity.ts`), entityContent);
913
911
  }
914
912
  async createSchema(modulePath, moduleName, options) {
915
913
  const entityName = this.capitalizeFirst(moduleName);
916
- const fields = options.fields || ['name', 'description'];
917
- const schemaContent = `import mongoose, { Schema, Document } from 'mongoose';
914
+ const schemaContent = `import * as mongoose from 'mongoose';
918
915
  import { I${entityName} } from '../entities/${moduleName}.entity';
919
916
 
920
- export interface I${entityName}Document extends Omit<I${entityName}, '_id'>, Document {}
921
-
922
- const ${moduleName}Schema = new Schema({
923
- ${fields.map((field) => ` ${field}: {
924
- type: String,
925
- required: true,
926
- trim: true
927
- }`).join(',\n')}
928
- }, {
929
- timestamps: true,
930
- toJSON: {
931
- transform: function(doc, ret) {
932
- return ret;
933
- }
934
- }
935
- });
936
-
937
- // Indexes
938
- ${fields.map((field) => `${moduleName}Schema.index({ ${field}: 1 });`).join('\n')}
917
+ export const ${moduleName}Schema = new mongoose.Schema(
918
+ {
919
+ name: {
920
+ type: mongoose.SchemaTypes.String,
921
+ required: true,
922
+ },
923
+ description: {
924
+ type: mongoose.SchemaTypes.String,
925
+ required: false,
926
+ },
927
+ status: {
928
+ type: mongoose.SchemaTypes.Number,
929
+ default: 1,
930
+ }
931
+ },
932
+ { timestamps: true, suppressReservedKeysWarning: true },
933
+ );
939
934
 
940
- export const ${entityName}Model = mongoose.model<I${entityName}Document>('${entityName}', ${moduleName}Schema);
941
- `;
935
+ export const ${entityName}Model = mongoose.model<I${entityName}>('${moduleName}', ${moduleName}Schema);`;
942
936
  await fs.writeFile(path.join(modulePath, 'schemas', `${moduleName}.schema.ts`), schemaContent);
943
937
  }
944
938
  async createService(modulePath, moduleName, options) {
945
939
  const entityName = this.capitalizeFirst(moduleName);
946
- const serviceContent = `import { Result } from '../../../shared/types/result';
947
- import { ${entityName}Model, I${entityName}Document } from '../schemas/${moduleName}.schema';
948
- import { I${entityName}, I${entityName}Create, I${entityName}Update } from '../entities/${moduleName}.entity';
940
+ const serviceContent = `import { ObjectId } from "bson";
941
+ import { ${entityName}Model } from '../schemas/${moduleName}.schema';
949
942
 
950
943
  export class ${entityName}Service {
951
- /**
952
- * Get all ${moduleName}s
953
- */
954
- async getAll(): Promise<Result<I${entityName}[]>> {
955
- try {
956
- const ${moduleName}s = await ${entityName}Model.find({ status: 1 }).lean();
957
- const converted${entityName}s = ${moduleName}s.map(${moduleName} => ({
958
- ...${moduleName},
959
- _id: ${moduleName}._id?.toString() || ''
960
- })) as I${entityName}[];
961
- return Result.success(converted${entityName}s);
962
- } catch (error: any) {
963
- return Result.error('Failed to fetch ${moduleName}s', error.message);
944
+ async getAll() {
945
+ return await ${entityName}Model.find({ status: 1 });
964
946
  }
965
- }
966
-
967
- /**
968
- * Get ${moduleName} by ID
969
- */
970
- async getById(id: string): Promise<Result<I${entityName} | null>> {
971
- try {
972
- const ${moduleName} = await ${entityName}Model.findOne({ _id: id, status: 1 });
973
- if (!${moduleName}) {
974
- return Result.error('${entityName} not found', '${entityName} with the specified ID does not exist');
975
- }
976
- const ${moduleName}Obj = ${moduleName}.toObject();
977
- const converted${entityName} = {
978
- ...${moduleName}Obj,
979
- _id: ${moduleName}Obj._id?.toString() || ''
980
- } as I${entityName};
981
- return Result.success(converted${entityName});
982
- } catch (error: any) {
983
- return Result.error('Failed to fetch ${moduleName}', error.message);
947
+ async getById(id: string) {
948
+ return await ${entityName}Model.findById(id);
984
949
  }
985
- }
986
-
987
- /**
988
- * Create new ${moduleName}
989
- */
990
- async create(${moduleName}Data: I${entityName}Create): Promise<Result<I${entityName}>> {
991
- try {
992
- const ${moduleName} = new ${entityName}Model({
993
- ...${moduleName}Data,
994
- status: 1
995
- });
996
-
997
- const saved${entityName} = await ${moduleName}.save();
998
- const ${moduleName}Obj = saved${entityName}.toObject();
999
-
1000
- const converted${entityName} = {
1001
- ...${moduleName}Obj,
1002
- _id: ${moduleName}Obj._id?.toString() || ''
1003
- } as I${entityName};
1004
-
1005
- return Result.success(converted${entityName});
1006
- } catch (error: any) {
1007
- return Result.error('Failed to create ${moduleName}', error.message);
950
+ async create(data: any) {
951
+ const entity = new ${entityName}Model({ _id: new ObjectId(), ...data, status: 1 });
952
+ return await ${entityName}Model.create(entity);
1008
953
  }
1009
- }
1010
-
1011
- /**
1012
- * Update ${moduleName}
1013
- */
1014
- async update(id: string, ${moduleName}Data: I${entityName}Update): Promise<Result<I${entityName} | null>> {
1015
- try {
1016
- const ${moduleName} = await ${entityName}Model.findOne({ _id: id, status: 1 });
1017
- if (!${moduleName}) {
1018
- return Result.error('${entityName} not found', '${entityName} with the specified ID does not exist');
1019
- }
1020
-
1021
- Object.assign(${moduleName}, ${moduleName}Data);
1022
- const updated${entityName} = await ${moduleName}.save();
1023
-
1024
- const ${moduleName}Obj = updated${entityName}.toObject();
1025
-
1026
- const converted${entityName} = {
1027
- ...${moduleName}Obj,
1028
- _id: ${moduleName}Obj._id?.toString() || ''
1029
- } as I${entityName};
1030
-
1031
- return Result.success(converted${entityName});
1032
- } catch (error: any) {
1033
- return Result.error('Failed to update ${moduleName}', error.message);
954
+ async update(id: string, data: any) {
955
+ return await ${entityName}Model.findByIdAndUpdate(id, { ...data }, { new: true });
1034
956
  }
1035
- }
1036
-
1037
- /**
1038
- * Delete ${moduleName} (soft delete)
1039
- */
1040
- async delete(id: string): Promise<Result<boolean>> {
1041
- try {
1042
- const ${moduleName} = await ${entityName}Model.findOne({ _id: id, status: 1 });
1043
- if (!${moduleName}) {
1044
- return Result.error('${entityName} not found', '${entityName} with the specified ID does not exist');
1045
- }
1046
-
1047
- ${moduleName}.status = 0;
1048
- await ${moduleName}.save();
1049
-
1050
- return Result.success(true);
1051
- } catch (error: any) {
1052
- return Result.error('Failed to delete ${moduleName}', error.message);
957
+ async delete(id: string) {
958
+ return await ${entityName}Model.findByIdAndUpdate(id, { status: 0 }, { new: true });
1053
959
  }
1054
- }
1055
- }
1056
- `;
960
+ }`;
1057
961
  await fs.writeFile(path.join(modulePath, 'services', `${moduleName}.service.ts`), serviceContent);
1058
962
  }
1059
963
  async createController(modulePath, moduleName, options) {
1060
964
  const entityName = this.capitalizeFirst(moduleName);
1061
- const controllerContent = `import { Request, Response } from 'express';
1062
- import { ${entityName}Service } from '../services/${moduleName}.service';
1063
- import { I${entityName}Create, I${entityName}Update } from '../entities/${moduleName}.entity';
1064
-
1065
- /**
1066
- * @swagger
1067
- * components:
1068
- * schemas:
1069
- * ${entityName}:
1070
- * type: object
1071
- * properties:
1072
- * _id:
1073
- * type: string
1074
- * name:
1075
- * type: string
1076
- * description:
1077
- * type: string
1078
- * createdAt:
1079
- * type: string
1080
- * format: date-time
1081
- * updatedAt:
1082
- * type: string
1083
- * format: date-time
1084
- */
965
+ const controllerContent = `import { ${entityName}Service } from '../services/${moduleName}.service';
1085
966
 
1086
967
  export class ${entityName}Controller {
1087
- constructor(private service: ${entityName}Service) {}
1088
-
1089
- /**
1090
- * @swagger
1091
- * /api/${moduleName}s:
1092
- * get:
1093
- * summary: Get all ${moduleName}s
1094
- * tags: [${entityName}s]
1095
- * responses:
1096
- * 200:
1097
- * description: List of ${moduleName}s
1098
- * content:
1099
- * application/json:
1100
- * schema:
1101
- * type: object
1102
- * properties:
1103
- * Data:
1104
- * type: array
1105
- * items:
1106
- * $ref: '#/components/schemas/${entityName}'
1107
- * StatusCode:
1108
- * type: number
1109
- * Message:
1110
- * type: string
1111
- */
1112
- async getAll(req: Request, res: Response): Promise<void> {
1113
- try {
1114
- const result = await this.service.getAll();
1115
- res.status(result.StatusCode === 1000 ? 200 : 400).json(result);
1116
- } catch (error: any) {
1117
- res.status(500).json({ error: error.message });
968
+ private service = new ${entityName}Service();
969
+ async getAll(req, res) {
970
+ const data = await this.service.getAll();
971
+ res.json(data);
1118
972
  }
1119
- }
1120
-
1121
- /**
1122
- * @swagger
1123
- * /api/${moduleName}s/{id}:
1124
- * get:
1125
- * summary: Get ${moduleName} by ID
1126
- * tags: [${entityName}s]
1127
- * parameters:
1128
- * - in: path
1129
- * name: id
1130
- * required: true
1131
- * schema:
1132
- * type: string
1133
- * responses:
1134
- * 200:
1135
- * description: ${entityName} details
1136
- * content:
1137
- * application/json:
1138
- * schema:
1139
- * type: object
1140
- * properties:
1141
- * Data:
1142
- * $ref: '#/components/schemas/${entityName}'
1143
- * StatusCode:
1144
- * type: number
1145
- * Message:
1146
- * type: string
1147
- */
1148
- async getById(req: Request, res: Response): Promise<void> {
1149
- try {
1150
- const { id } = req.params;
1151
- const result = await this.service.getById(id);
1152
- res.status(result.StatusCode === 1000 ? 200 : 400).json(result);
1153
- } catch (error: any) {
1154
- res.status(500).json({ error: error.message });
973
+ async getById(req, res) {
974
+ const data = await this.service.getById(req.params.id);
975
+ res.json(data);
1155
976
  }
1156
- }
1157
-
1158
- /**
1159
- * @swagger
1160
- * /api/${moduleName}s:
1161
- * post:
1162
- * summary: Create new ${moduleName}
1163
- * tags: [${entityName}s]
1164
- * requestBody:
1165
- * required: true
1166
- * content:
1167
- * application/json:
1168
- * schema:
1169
- * type: object
1170
- * properties:
1171
- * name:
1172
- * type: string
1173
- * description:
1174
- * type: string
1175
- * responses:
1176
- * 201:
1177
- * description: ${entityName} created successfully
1178
- * content:
1179
- * application/json:
1180
- * schema:
1181
- * type: object
1182
- * properties:
1183
- * Data:
1184
- * $ref: '#/components/schemas/${entityName}'
1185
- * StatusCode:
1186
- * type: number
1187
- * Message:
1188
- * type: string
1189
- */
1190
- async create(req: Request, res: Response): Promise<void> {
1191
- try {
1192
- const ${moduleName}Data: I${entityName}Create = req.body;
1193
- const result = await this.service.create(${moduleName}Data);
1194
- res.status(result.StatusCode === 1000 ? 201 : 400).json(result);
1195
- } catch (error: any) {
1196
- res.status(500).json({ error: error.message });
977
+ async create(req, res) {
978
+ const data = await this.service.create(req.body);
979
+ res.json(data);
1197
980
  }
1198
- }
1199
-
1200
- /**
1201
- * @swagger
1202
- * /api/${moduleName}s/{id}:
1203
- * put:
1204
- * summary: Update ${moduleName}
1205
- * tags: [${entityName}s]
1206
- * parameters:
1207
- * - in: path
1208
- * name: id
1209
- * required: true
1210
- * schema:
1211
- * type: string
1212
- * requestBody:
1213
- * required: true
1214
- * content:
1215
- * application/json:
1216
- * schema:
1217
- * type: object
1218
- * properties:
1219
- * name:
1220
- * type: string
1221
- * description:
1222
- * type: string
1223
- * responses:
1224
- * 200:
1225
- * description: ${entityName} updated successfully
1226
- * content:
1227
- * application/json:
1228
- * schema:
1229
- * type: object
1230
- * properties:
1231
- * Data:
1232
- * $ref: '#/components/schemas/${entityName}'
1233
- * StatusCode:
1234
- * type: number
1235
- * Message:
1236
- * type: string
1237
- */
1238
- async update(req: Request, res: Response): Promise<void> {
1239
- try {
1240
- const { id } = req.params;
1241
- const ${moduleName}Data: I${entityName}Update = req.body;
1242
- const result = await this.service.update(id, ${moduleName}Data);
1243
- res.status(result.StatusCode === 1000 ? 200 : 400).json(result);
1244
- } catch (error: any) {
1245
- res.status(500).json({ error: error.message });
981
+ async update(req, res) {
982
+ const data = await this.service.update(req.params.id, req.body);
983
+ res.json(data);
1246
984
  }
1247
- }
1248
-
1249
- /**
1250
- * @swagger
1251
- * /api/${moduleName}s/{id}:
1252
- * delete:
1253
- * summary: Delete ${moduleName}
1254
- * tags: [${entityName}s]
1255
- * parameters:
1256
- * - in: path
1257
- * name: id
1258
- * required: true
1259
- * schema:
1260
- * type: string
1261
- * responses:
1262
- * 200:
1263
- * description: ${entityName} deleted successfully
1264
- * content:
1265
- * application/json:
1266
- * schema:
1267
- * type: object
1268
- * properties:
1269
- * Data:
1270
- * type: boolean
1271
- * StatusCode:
1272
- * type: number
1273
- * Message:
1274
- * type: string
1275
- */
1276
- async delete(req: Request, res: Response): Promise<void> {
1277
- try {
1278
- const { id } = req.params;
1279
- const result = await this.service.delete(id);
1280
- res.status(result.StatusCode === 1000 ? 200 : 400).json(result);
1281
- } catch (error: any) {
1282
- res.status(500).json({ error: error.message });
985
+ async delete(req, res) {
986
+ const data = await this.service.delete(req.params.id);
987
+ res.json(data);
1283
988
  }
1284
- }
1285
- }
1286
- `;
989
+ }`;
1287
990
  await fs.writeFile(path.join(modulePath, 'controllers', `${moduleName}.controller.ts`), controllerContent);
1288
991
  }
1289
992
  async createRoutes(modulePath, moduleName, options) {
1290
993
  const entityName = this.capitalizeFirst(moduleName);
1291
994
  const routesContent = `import { Router } from 'express';
1292
995
  import { ${entityName}Controller } from '../controllers/${moduleName}.controller';
1293
- import { ${entityName}Service } from '../services/${moduleName}.service';
1294
996
 
1295
997
  const router = Router();
1296
- const service = new ${entityName}Service();
1297
- const controller = new ${entityName}Controller(service);
998
+ const controller = new ${entityName}Controller();
1298
999
 
1299
- // ${entityName} routes
1300
- router.get('/', controller.getAll.bind(controller));
1301
- router.get('/:id', controller.getById.bind(controller));
1302
- router.post('/', controller.create.bind(controller));
1303
- router.put('/:id', controller.update.bind(controller));
1304
- router.delete('/:id', controller.delete.bind(controller));
1000
+ router.get('/', (req, res) => res.send('${entityName} API is up.'));
1001
+ router.get('/all', (req, res) => controller.getAll(req, res));
1002
+ router.get('/:id', (req, res) => controller.getById(req, res));
1003
+ router.post('/', (req, res) => controller.create(req, res));
1004
+ router.put('/:id', (req, res) => controller.update(req, res));
1005
+ router.delete('/:id', (req, res) => controller.delete(req, res));
1305
1006
 
1306
- export default router;
1307
- `;
1007
+ export default router;`;
1308
1008
  await fs.writeFile(path.join(modulePath, 'routes', `${moduleName}.routes.ts`), routesContent);
1309
1009
  }
1310
1010
  async generateCRUDOperations(projectPath, moduleName, options) {
@@ -1314,36 +1014,74 @@ export default router;
1314
1014
  async registerModule(projectPath, moduleName) {
1315
1015
  console.log(chalk_1.default.blue(`📝 Registering ${moduleName} module in main application...`));
1316
1016
  // Update main routes index to include the new module
1317
- const routesIndexPath = path.join(projectPath, 'src', 'modules', 'index.ts');
1017
+ const routesIndexPath = path.join(projectPath, 'src', 'routes', 'index.ts');
1318
1018
  if (await fs.pathExists(routesIndexPath)) {
1319
1019
  let content = await fs.readFile(routesIndexPath, 'utf8');
1320
1020
  // Add import for the new module
1321
- const importStatement = `import ${moduleName}Routes from './${moduleName}/routes/${moduleName}.routes';`;
1021
+ const importStatement = `import ${moduleName}Routes from '../modules/${moduleName}/routes/${moduleName}.routes';`;
1322
1022
  if (!content.includes(importStatement)) {
1323
- // Find the last import statement and add after it
1324
- const importRegex = /import.*from.*['"];?\s*$/gm;
1325
- const matches = [...content.matchAll(importRegex)];
1326
- if (matches.length > 0) {
1327
- const lastImport = matches[matches.length - 1];
1328
- const insertIndex = lastImport.index + lastImport[0].length;
1329
- content = content.slice(0, insertIndex) + '\n' + importStatement + content.slice(insertIndex);
1330
- }
1023
+ // Add import after the userRoutes import
1024
+ content = content.replace(/import userRoutes from '\.\.\/modules\/users\/routes\/user\.routes';/, `import userRoutes from '../modules/users/routes/user.routes';\n${importStatement}`);
1331
1025
  }
1332
1026
  // Add route registration
1333
- const routeRegistration = `app.use('/api/${moduleName}s', ${moduleName}Routes);`;
1027
+ const routeRegistration = `router.use('/${moduleName}', ${moduleName}Routes);`;
1334
1028
  if (!content.includes(routeRegistration)) {
1335
- // Find where routes are registered and add after
1336
- const routeRegex = /app\.use\(.*\);?\s*$/gm;
1337
- const matches = [...content.matchAll(routeRegex)];
1338
- if (matches.length > 0) {
1339
- const lastRoute = matches[matches.length - 1];
1340
- const insertIndex = lastRoute.index + lastRoute[0].length;
1341
- content = content.slice(0, insertIndex) + '\n' + routeRegistration + content.slice(insertIndex);
1342
- }
1029
+ // Add route after the users route
1030
+ content = content.replace(/router\.use\('\/users', userRoutes\);/, `router.use('/users', userRoutes);\n${routeRegistration}`);
1343
1031
  }
1344
1032
  await fs.writeFile(routesIndexPath, content);
1345
1033
  }
1346
1034
  }
1035
+ async updateSeeder(projectPath, moduleName) {
1036
+ const entityName = this.capitalizeFirst(moduleName);
1037
+ const seederPath = path.join(projectPath, 'src', 'core', 'database', 'seeder.ts');
1038
+ if (await fs.pathExists(seederPath)) {
1039
+ let seederContent = await fs.readFile(seederPath, 'utf8');
1040
+ // Add import for the model
1041
+ const importStatement = `import { ${entityName}Model } from '../../modules/${moduleName}/schemas/${moduleName}.schema';`;
1042
+ if (!seederContent.includes(importStatement)) {
1043
+ seederContent = seederContent.replace(/import { UserModel } from '\.\.\/\.\.\/modules\/users\/schemas\/user\.schema';/, `import { UserModel } from '../../modules/users/schemas/user.schema';\n${importStatement}`);
1044
+ }
1045
+ // Add seeder function
1046
+ const seederFunction = ` private async seed${entityName}s(data: any[]): Promise<void> {
1047
+ if (data.length === 0) return;
1048
+
1049
+ logger.info(\`[DatabaseSeeder] Seeding \${data.length} ${moduleName}s...\`);
1050
+
1051
+ for (const ${moduleName}Data of data) {
1052
+ try {
1053
+ const existing = await ${entityName}Model.findOne({ name: ${moduleName}Data.name });
1054
+ if (!existing) {
1055
+ const ${moduleName} = new ${entityName}Model({
1056
+ ...${moduleName}Data,
1057
+ status: 1
1058
+ });
1059
+ await ${moduleName}.save();
1060
+ logger.info(\`[DatabaseSeeder] Created ${moduleName}: \${${moduleName}Data.name}\`);
1061
+ } else {
1062
+ logger.info(\`[DatabaseSeeder] ${entityName} \${${moduleName}Data.name} already exists, skipping\`);
1063
+ }
1064
+ } catch (error) {
1065
+ logger.error(\`[DatabaseSeeder] Failed to create ${moduleName} \${${moduleName}Data.name}:\`, error);
1066
+ }
1067
+ }
1068
+ }`;
1069
+ if (!seederContent.includes(`seed${entityName}s`)) {
1070
+ seederContent = seederContent.replace(/\/\/ TEMPLATE: Add new seeder functions here \(the CLI will add new functions automatically\)/, `// TEMPLATE: Add new seeder functions here (the CLI will add new functions automatically)\n${seederFunction}`);
1071
+ }
1072
+ // Add seeder call
1073
+ const seederCall = ` await this.seed${entityName}s(seedData.${moduleName}s || []);`;
1074
+ if (!seederContent.includes(seederCall)) {
1075
+ seederContent = seederContent.replace(/\/\/ TEMPLATE: Call new seeders here \(the CLI will add new calls automatically\)/, `// TEMPLATE: Call new seeders here (the CLI will add new calls automatically)\n${seederCall}`);
1076
+ }
1077
+ // Add default seed data
1078
+ const seedDataLine = ` ${moduleName}s: [ { name: '${entityName} Example', description: 'Example ${moduleName}', status: 1 } ],`;
1079
+ if (!seederContent.includes(seedDataLine)) {
1080
+ seederContent = seederContent.replace(/const defaultData: SeedData = \{/, `const defaultData: SeedData = {\n${seedDataLine}`);
1081
+ }
1082
+ await fs.writeFile(seederPath, seederContent);
1083
+ }
1084
+ }
1347
1085
  async createTableSchema(projectPath, tableName, options) {
1348
1086
  const entityName = this.capitalizeFirst(tableName);
1349
1087
  const fields = options.fields || ['name', 'description'];
@@ -1 +1 @@
1
- {"version":3,"file":"project-extender.js","sourceRoot":"","sources":["../../src/services/project-extender.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-extender.js","sourceRoot":"","sources":["../../src/services/project-extender.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@diagramers/cli",
3
- "version": "1.0.48",
3
+ "version": "1.0.50",
4
4
  "description": "Diagramers CLI - Command-line tools for managing Diagramers projects",
5
5
  "main": "dist/index.js",
6
6
  "bin": {