@diagramers/cli 1.0.59 → 1.0.61
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.
- package/README.md +37 -12
- package/dist/commands/extend.d.ts.map +1 -1
- package/dist/commands/extend.js +10 -5
- package/dist/commands/extend.js.map +1 -1
- package/dist/services/api-generator.d.ts.map +1 -1
- package/dist/services/api-generator.js +30 -6
- package/dist/services/api-generator.js.map +1 -1
- package/dist/services/project-extender.d.ts.map +1 -1
- package/dist/services/project-extender.js +29 -6
- package/dist/services/project-extender.js.map +1 -1
- package/dist/services/table-generator.d.ts +1 -1
- package/dist/services/table-generator.d.ts.map +1 -1
- package/dist/services/table-generator.js +212 -61
- package/dist/services/table-generator.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
@@ -92,16 +92,33 @@ diagramers extend --module categories --fields name,description,slug
|
|
92
92
|
diagramers extend --module users --type mongodb --fields email,username,role
|
93
93
|
```
|
94
94
|
|
95
|
-
### Generate
|
95
|
+
### Generate Endpoints
|
96
96
|
```bash
|
97
|
-
# Generate
|
98
|
-
diagramers extend --
|
97
|
+
# Generate endpoint for existing module
|
98
|
+
diagramers extend --endpoint users:search-user --method POST
|
99
99
|
|
100
|
-
# Generate
|
101
|
-
diagramers extend --
|
100
|
+
# Generate endpoint with custom path
|
101
|
+
diagramers extend --endpoint products:find-by-category --method GET --path find-category
|
102
|
+
|
103
|
+
# Generate endpoint with description
|
104
|
+
diagramers extend --endpoint orders:cancel-order --method PUT --description "Cancel an order"
|
105
|
+
```
|
106
|
+
|
107
|
+
### Generate Database Tables
|
108
|
+
```bash
|
109
|
+
# Generate table with default fields (name, description)
|
110
|
+
diagramers extend --table categories
|
102
111
|
|
103
|
-
# Generate
|
104
|
-
diagramers extend --table
|
112
|
+
# Generate table with custom fields
|
113
|
+
diagramers extend --table products --fields name,price,description,category_id
|
114
|
+
|
115
|
+
# Generate table with specific field types
|
116
|
+
diagramers extend --table orders --fields customer_email,amount,status,created_date
|
117
|
+
|
118
|
+
# Table generation automatically:
|
119
|
+
# - Creates entity and schema files
|
120
|
+
# - Adds to database seeder with sample data
|
121
|
+
# - Uses proper naming conventions (plural table, singular files)
|
105
122
|
```
|
106
123
|
|
107
124
|
### Generate Database Relations
|
@@ -225,13 +242,21 @@ diagramers extend --table users --type postgres --fields email,username,role
|
|
225
242
|
diagramers extend --table settings --type sqlite --fields key,value
|
226
243
|
```
|
227
244
|
|
228
|
-
### Relations
|
245
|
+
### Generate Relations
|
229
246
|
```bash
|
230
|
-
#
|
231
|
-
diagramers extend --relation user-posts
|
247
|
+
# Generate one-to-many relation (default)
|
248
|
+
diagramers extend --relation user-posts
|
232
249
|
|
233
|
-
#
|
234
|
-
diagramers extend --relation product-categories
|
250
|
+
# Generate many-to-many relation
|
251
|
+
diagramers extend --relation product-categories:many-to-many
|
252
|
+
|
253
|
+
# Generate one-to-one relation
|
254
|
+
diagramers extend --relation user-profile:one-to-one
|
255
|
+
|
256
|
+
# Supported relation types:
|
257
|
+
# - one-to-many (default)
|
258
|
+
# - many-to-many
|
259
|
+
# - one-to-one
|
235
260
|
```
|
236
261
|
|
237
262
|
## 🔌 Plugin System
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"extend.d.ts","sourceRoot":"","sources":["../../src/commands/extend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
1
|
+
{"version":3,"file":"extend.d.ts","sourceRoot":"","sources":["../../src/commands/extend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,QA0G7C"}
|
package/dist/commands/extend.js
CHANGED
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
6
|
exports.extendCommand = extendCommand;
|
7
7
|
const project_extender_1 = require("../services/project-extender");
|
8
|
+
const table_generator_1 = require("../services/table-generator");
|
8
9
|
const chalk_1 = __importDefault(require("chalk"));
|
9
10
|
function extendCommand(program) {
|
10
11
|
program
|
@@ -13,7 +14,7 @@ function extendCommand(program) {
|
|
13
14
|
.option('-f, --feature <feature>', 'Feature to add (auth, email, socket, etc.)')
|
14
15
|
.option('-m, --module <module>', 'Generate new module with full CRUD operations')
|
15
16
|
.option('-e, --endpoint <module:endpoint>', 'Generate new endpoint for existing module (format: module:endpoint)')
|
16
|
-
.option('-t, --table <table>', 'Generate database table/collection')
|
17
|
+
.option('-t, --table <table>', 'Generate database table/collection with seeding')
|
17
18
|
.option('-r, --relation <relation>', 'Generate database relations')
|
18
19
|
.option('-l, --list', 'List available features and templates')
|
19
20
|
.option('--crud', 'Generate full CRUD operations for module')
|
@@ -60,7 +61,7 @@ function extendCommand(program) {
|
|
60
61
|
// Generate database table
|
61
62
|
if (options.table) {
|
62
63
|
console.log(chalk_1.default.blue(`🗄️ Generating table: ${options.table}`));
|
63
|
-
await
|
64
|
+
await (0, table_generator_1.generateTable)(options.table, {
|
64
65
|
fields: options.fields?.split(','),
|
65
66
|
type: options.type || 'mongodb'
|
66
67
|
});
|
@@ -70,17 +71,21 @@ function extendCommand(program) {
|
|
70
71
|
// Generate database relations
|
71
72
|
if (options.relation) {
|
72
73
|
console.log(chalk_1.default.blue(`🔗 Generating relations for: ${options.relation}`));
|
73
|
-
// Parse relation parameters (format: table1-table2:type)
|
74
|
+
// Parse relation parameters (format: table1-table2 or table1-table2:type)
|
74
75
|
const relationParts = options.relation.split(':');
|
75
76
|
const tables = relationParts[0].split('-');
|
76
|
-
const relationType = relationParts[1] || 'one-to-
|
77
|
+
const relationType = relationParts[1] || 'one-to-many'; // Default to one-to-many
|
77
78
|
if (tables.length !== 2) {
|
78
|
-
|
79
|
+
console.error(chalk_1.default.red('❌ Relation format should be table1-table2 or table1-table2:type'));
|
80
|
+
console.error(chalk_1.default.red(' Examples: user-post, product-category:many-to-many'));
|
81
|
+
process.exit(1);
|
79
82
|
}
|
80
83
|
const [table1, table2] = tables;
|
81
84
|
// Import and call the relation generator
|
82
85
|
const { generateRelation } = require('../services/relation-generator');
|
83
86
|
await generateRelation(table1, table2, relationType);
|
87
|
+
console.log(chalk_1.default.green(`✅ Relations ${options.relation} generated successfully!`));
|
88
|
+
return;
|
84
89
|
}
|
85
90
|
// Add feature (legacy support)
|
86
91
|
if (options.feature) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"extend.js","sourceRoot":"","sources":["../../src/commands/extend.ts"],"names":[],"mappings":";;;;;
|
1
|
+
{"version":3,"file":"extend.js","sourceRoot":"","sources":["../../src/commands/extend.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"api-generator.d.ts","sourceRoot":"","sources":["../../src/services/api-generator.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"api-generator.d.ts","sourceRoot":"","sources":["../../src/services/api-generator.ts"],"names":[],"mappings":"AAqBA,wBAAsB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA2DtE;AAmbD,wBAAsB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,GAAE,GAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA6CjH"}
|
@@ -37,6 +37,24 @@ exports.generateModule = generateModule;
|
|
37
37
|
exports.generateEndpoint = generateEndpoint;
|
38
38
|
const fs = __importStar(require("fs"));
|
39
39
|
const path = __importStar(require("path"));
|
40
|
+
// Function to convert plural module names to singular for file names
|
41
|
+
function pluralToSingular(word) {
|
42
|
+
// Simple pluralization rules - can be extended as needed
|
43
|
+
if (word.endsWith('ies')) {
|
44
|
+
return word.slice(0, -3) + 'y'; // categories -> category
|
45
|
+
}
|
46
|
+
else if (word.endsWith('es')) {
|
47
|
+
return word.slice(0, -2); // boxes -> box
|
48
|
+
}
|
49
|
+
else if (word.endsWith('s')) {
|
50
|
+
return word.slice(0, -1); // users -> user, products -> product
|
51
|
+
}
|
52
|
+
return word; // already singular
|
53
|
+
}
|
54
|
+
// Function to convert hyphenated names to camelCase for method names
|
55
|
+
function toCamelCase(str) {
|
56
|
+
return str.replace(/-([a-z])/g, (match, letter) => letter.toUpperCase());
|
57
|
+
}
|
40
58
|
async function generateModule(moduleName) {
|
41
59
|
// Validate module name
|
42
60
|
if (!moduleName || !/^[a-zA-Z][a-zA-Z0-9_-]*$/.test(moduleName)) {
|
@@ -501,20 +519,24 @@ async function generateEndpoint(moduleName, endpointName, options = {}) {
|
|
501
519
|
const customPath = options.path || endpointName;
|
502
520
|
const description = options.description || `${endpointNameCapitalized} endpoint for ${moduleName}`;
|
503
521
|
console.log(`🔧 Adding endpoint '${endpointName}' to module '${moduleName}'...`);
|
522
|
+
// Convert endpoint name to camelCase for method names
|
523
|
+
const camelCaseEndpoint = toCamelCase(endpointName);
|
524
|
+
const camelCaseEndpointCapitalized = camelCaseEndpoint.charAt(0).toUpperCase() + camelCaseEndpoint.slice(1);
|
504
525
|
// Add service method
|
505
526
|
console.log('📝 Adding service method...');
|
506
|
-
await addServiceMethod(modulePath, moduleName, moduleNameCapitalized,
|
527
|
+
await addServiceMethod(modulePath, moduleName, moduleNameCapitalized, camelCaseEndpoint, camelCaseEndpointCapitalized, method, description);
|
507
528
|
// Add controller method
|
508
529
|
console.log('🎮 Adding controller method...');
|
509
|
-
await addControllerMethod(modulePath, moduleName, moduleNameCapitalized,
|
530
|
+
await addControllerMethod(modulePath, moduleName, moduleNameCapitalized, camelCaseEndpoint, camelCaseEndpointCapitalized, method, customPath, description);
|
510
531
|
// Add route
|
511
532
|
console.log('🛣️ Adding route...');
|
512
|
-
await addRoute(modulePath, moduleName, moduleNameCapitalized,
|
533
|
+
await addRoute(modulePath, moduleName, moduleNameCapitalized, camelCaseEndpoint, camelCaseEndpointCapitalized, method, customPath);
|
513
534
|
console.log(`✅ Endpoint '${endpointName}' added to module '${moduleName}' successfully!`);
|
514
535
|
console.log(`🔗 New endpoint available at: ${method} /api/${moduleName}/${customPath}`);
|
515
536
|
}
|
516
537
|
async function addServiceMethod(modulePath, moduleName, moduleNameCapitalized, endpointName, endpointNameCapitalized, method, description) {
|
517
|
-
const
|
538
|
+
const singularName = pluralToSingular(moduleName);
|
539
|
+
const servicePath = path.join(modulePath, 'services', `${singularName}.service.ts`);
|
518
540
|
if (!fs.existsSync(servicePath)) {
|
519
541
|
throw new Error(`Service file not found: ${servicePath}`);
|
520
542
|
}
|
@@ -562,7 +584,8 @@ async function addServiceMethod(modulePath, moduleName, moduleNameCapitalized, e
|
|
562
584
|
fs.writeFileSync(servicePath, serviceContent);
|
563
585
|
}
|
564
586
|
async function addControllerMethod(modulePath, moduleName, moduleNameCapitalized, endpointName, endpointNameCapitalized, method, customPath, description) {
|
565
|
-
const
|
587
|
+
const singularName = pluralToSingular(moduleName);
|
588
|
+
const controllerPath = path.join(modulePath, 'controllers', `${singularName}.controller.ts`);
|
566
589
|
if (!fs.existsSync(controllerPath)) {
|
567
590
|
throw new Error(`Controller file not found: ${controllerPath}`);
|
568
591
|
}
|
@@ -751,7 +774,8 @@ async function addControllerMethod(modulePath, moduleName, moduleNameCapitalized
|
|
751
774
|
fs.writeFileSync(controllerPath, controllerContent);
|
752
775
|
}
|
753
776
|
async function addRoute(modulePath, moduleName, moduleNameCapitalized, endpointName, endpointNameCapitalized, method, customPath) {
|
754
|
-
const
|
777
|
+
const singularName = pluralToSingular(moduleName);
|
778
|
+
const routePath = path.join(modulePath, 'routes', `${singularName}.routes.ts`);
|
755
779
|
if (!fs.existsSync(routePath)) {
|
756
780
|
throw new Error(`Route file not found: ${routePath}`);
|
757
781
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"api-generator.js","sourceRoot":"","sources":["../../src/services/api-generator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,wCA2DC;AAmbD,4CAyCC;AA1hBD,uCAAyB;AACzB,2CAA6B;AAEtB,KAAK,UAAU,cAAc,CAAC,UAAkB;IACrD,uBAAuB;IACvB,IAAI,CAAC,UAAU,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,KAAK,CAAC,qGAAqG,CAAC,CAAC;IACzH,CAAC;IAED,MAAM,qBAAqB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACvF,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAEjC,2CAA2C;IAC3C,MAAM,YAAY,GAAG,CAAC,aAAa,CAAC,CAAC;IACrC,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3F,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,kFAAkF,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9H,CAAC;IAED,oCAAoC;IACpC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;IACpE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9C,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACrE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACpE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACrE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACxE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IACrC,MAAM,aAAa,GAAG,qBAAqB,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAAC;IAC/E,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,UAAU,YAAY,CAAC,EAAE,aAAa,CAAC,CAAC;IAE9F,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IACrC,MAAM,aAAa,GAAG,qBAAqB,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAAC;IAC/E,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,UAAU,YAAY,CAAC,EAAE,aAAa,CAAC,CAAC;IAE7F,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IACtC,MAAM,cAAc,GAAG,sBAAsB,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAAC;IACjF,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,UAAU,aAAa,CAAC,EAAE,cAAc,CAAC,CAAC;IAEhG,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IACzC,MAAM,iBAAiB,GAAG,yBAAyB,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAAC;IACvF,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,EAAE,GAAG,UAAU,gBAAgB,CAAC,EAAE,iBAAiB,CAAC,CAAC;IAEzG,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IACtC,MAAM,aAAa,GAAG,qBAAqB,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAAC;IAC/E,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,GAAG,UAAU,YAAY,CAAC,EAAE,aAAa,CAAC,CAAC;IAE5F,oCAAoC;IACpC,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IACxC,MAAM,oBAAoB,CAAC,UAAU,EAAE,UAAU,EAAE,qBAAqB,CAAC,CAAC;IAE1E,mCAAmC;IACnC,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAC9C,MAAM,mBAAmB,CAAC,UAAU,EAAE,UAAU,EAAE,qBAAqB,CAAC,CAAC;IAEzE,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,0BAA0B,UAAU,GAAG,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,mBAAmB,UAAU,GAAG,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,iBAAiB,UAAU,aAAa,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,qBAAqB,CAAC,UAAkB,EAAE,qBAA6B;IAC9E,OAAO;;;oBAGW,qBAAqB;;;;;;;EAOvC,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,UAAkB,EAAE,qBAA6B;IAC9E,OAAO;YACG,qBAAqB,wBAAwB,UAAU;;eAEpD,UAAU;;;;;;;;;;;;;;;;;;eAkBV,qBAAqB,2BAA2B,qBAAqB,MAAM,UAAU,MAAM,UAAU,UAAU,CAAC;AAC/H,CAAC;AAED,SAAS,sBAAsB,CAAC,UAAkB,EAAE,qBAA6B;IAC/E,OAAO;WACE,qBAAqB,4BAA4B,UAAU;;eAEvD,qBAAqB;;uBAEb,qBAAqB;;;uBAGrB,qBAAqB;;;6BAGf,qBAAqB;uBAC3B,qBAAqB;;;uBAGrB,qBAAqB;;;uBAGrB,qBAAqB;;EAE1C,CAAC;AACH,CAAC;AAED,SAAS,yBAAyB,CAAC,UAAkB,EAAE,qBAA6B;IAClF,OAAO,YAAY,qBAAqB,+BAA+B,UAAU;;;;;;SAM1E,qBAAqB;;;;;4BAKF,qBAAqB;;;wCAGT,UAAU;;;+CAGH,UAAU;;;0CAGf,UAAU;;;;;;;;;;;;;;;;;eAiBrC,qBAAqB;4BACR,qBAAqB;;;;cAInC,UAAU;;8BAEM,UAAU;wDACgB,UAAU;oBAC9C,qBAAqB;;;sCAGH,UAAU;;;;;;;;;yDASS,qBAAqB;;;;;;;;;;;;;;cAchE,UAAU;;0BAEE,UAAU;8CACU,UAAU;oBACpC,qBAAqB;;;;;;;8BAOX,qBAAqB;;;8BAGrB,qBAAqB;;;;;;;uDAOI,qBAAqB;;;;;8BAK9C,qBAAqB;;;;;;;;;cASrC,UAAU;;iCAES,UAAU;uCACJ,UAAU;oBAC7B,qBAAqB;;;;;;;;;;;;kDAYS,UAAU;;;yDAGH,UAAU;;;;oDAIf,UAAU;;;8BAGhC,qBAAqB;;;;;;;uDAOI,qBAAqB;;;;;;;;;;;;;;cAc9D,UAAU;;6BAEK,UAAU;6CACM,UAAU;oBACnC,qBAAqB;;;;;;;8BAOX,qBAAqB;;;;;;;;;;kDAUD,UAAU;;;yDAGH,UAAU;;;oDAGf,UAAU;;;8BAGhC,qBAAqB;;;;;;;uDAOI,qBAAqB;;;;;8BAK9C,qBAAqB;;;;;;;;;cASrC,UAAU;;6BAEK,UAAU;wCACC,UAAU;oBAC9B,qBAAqB;;;;;;;8BAOX,qBAAqB;;;8BAGrB,qBAAqB;;;;;;;;;;;;;8BAarB,qBAAqB;;;;;;EAMjD,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,UAAkB,EAAE,qBAA6B;IAC9E,OAAO;WACE,qBAAqB,qCAAqC,UAAU;;;yBAGtD,qBAAqB;;0CAEJ,qBAAqB;;;;;;;uBAOxC,CAAC;AACxB,CAAC;AAID,SAAS,iBAAiB,CAAC,UAAkB,EAAE,UAAkB;IAC/D,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAAC;IACrE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;QAC1E,OAAO;IACT,CAAC;IAED,IAAI,aAAa,GAAG,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IAE7D,aAAa;IACb,MAAM,eAAe,GAAG,UAAU,UAAU,2BAA2B,UAAU,WAAW,UAAU,WAAW,CAAC;IAClH,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;QAC7C,yCAAyC;QACzC,aAAa,GAAG,aAAa,CAAC,OAAO,CACnC,sEAAsE,EACtE,kEAAkE,eAAe,EAAE,CACpF,CAAC;IACJ,CAAC;IAED,yBAAyB;IACzB,MAAM,iBAAiB,GAAG,gBAAgB,UAAU,MAAM,UAAU,UAAU,CAAC;IAC/E,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAC/C,kCAAkC;QAClC,aAAa,GAAG,aAAa,CAAC,OAAO,CACnC,uCAAuC,EACvC,sCAAsC,iBAAiB,EAAE,CAC1D,CAAC;IACJ,CAAC;IAED,EAAE,CAAC,aAAa,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;AAC7C,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,UAAkB,EAAE,UAAkB,EAAE,qBAA6B;IACvG,mDAAmD;IACnD,iBAAiB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;AAC5C,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,UAAkB,EAAE,UAAkB,EAAE,qBAA6B;IACtG,iEAAiE;IACjE,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,6BAA6B,CAAC,CAAC;IAC5E,IAAI,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QAClC,IAAI,aAAa,GAAG,EAAE,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;QAE5D,2BAA2B;QAC3B,MAAM,eAAe,GAAG,YAAY,qBAAqB,+BAA+B,UAAU,YAAY,UAAU,WAAW,CAAC;QACpI,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;YAC7C,aAAa,GAAG,aAAa,CAAC,OAAO,CACnC,gFAAgF,EAChF,yEAAyE,eAAe,EAAE,CAC3F,CAAC;QACJ,CAAC;QAED,sBAAsB;QACtB,MAAM,cAAc,GAAG,uBAAuB,qBAAqB;;;6DAGV,UAAU;;iBAEtD,UAAU;;iCAEM,qBAAqB,yBAAyB,UAAU;;kBAEvE,UAAU,UAAU,qBAAqB;iBAC1C,UAAU;;;kBAGT,UAAU;mDACuB,UAAU,QAAQ,UAAU;;2CAEpC,qBAAqB,OAAO,UAAU;;;2DAGtB,UAAU,OAAO,UAAU;;;IAGlF,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,qBAAqB,GAAG,CAAC,EAAE,CAAC;YAC7D,aAAa,GAAG,aAAa,CAAC,OAAO,CACnC,+FAA+F,EAC/F,8FAA8F,cAAc,EAAE,CAC/G,CAAC;QACJ,CAAC;QAED,kBAAkB;QAClB,MAAM,UAAU,GAAG,wBAAwB,qBAAqB,cAAc,UAAU,WAAW,CAAC;QACpG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YACxC,aAAa,GAAG,aAAa,CAAC,OAAO,CACnC,mFAAmF,EACnF,kFAAkF,UAAU,EAAE,CAC/F,CAAC;QACJ,CAAC;QAED,wBAAwB;QACxB,MAAM,YAAY,GAAG,SAAS,UAAU,iBAAiB,qBAAqB,oCAAoC,UAAU,mBAAmB,CAAC;QAChJ,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YAC1C,aAAa,GAAG,aAAa,CAAC,OAAO,CACnC,kCAAkC,EAClC,oCAAoC,YAAY,EAAE,CACnD,CAAC;QACJ,CAAC;QAED,EAAE,CAAC,aAAa,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;IAClD,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;AACxD,CAAC;AAEM,KAAK,UAAU,gBAAgB,CAAC,UAAkB,EAAE,YAAoB,EAAE,UAAe,EAAE;IAChG,kBAAkB;IAClB,IAAI,CAAC,UAAU,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,KAAK,CAAC,qGAAqG,CAAC,CAAC;IACzH,CAAC;IAED,IAAI,CAAC,YAAY,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;QACpE,MAAM,IAAI,KAAK,CAAC,uGAAuG,CAAC,CAAC;IAC3H,CAAC;IAED,MAAM,qBAAqB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACvF,MAAM,uBAAuB,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7F,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IACjC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;IAEpE,yBAAyB;IACzB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,WAAW,UAAU,2EAA2E,UAAU,GAAG,CAAC,CAAC;IACjI,CAAC;IAED,sBAAsB;IACtB,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IACvD,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,IAAI,YAAY,CAAC;IAChD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,GAAG,uBAAuB,iBAAiB,UAAU,EAAE,CAAC;IAEnG,OAAO,CAAC,GAAG,CAAC,uBAAuB,YAAY,gBAAgB,UAAU,MAAM,CAAC,CAAC;IAEjF,qBAAqB;IACrB,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAC3C,MAAM,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,qBAAqB,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IAElI,wBAAwB;IACxB,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAC9C,MAAM,mBAAmB,CAAC,UAAU,EAAE,UAAU,EAAE,qBAAqB,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;IAEjJ,YAAY;IACZ,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IACnC,MAAM,QAAQ,CAAC,UAAU,EAAE,UAAU,EAAE,qBAAqB,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IAEzH,OAAO,CAAC,GAAG,CAAC,eAAe,YAAY,sBAAsB,UAAU,iBAAiB,CAAC,CAAC;IAC1F,OAAO,CAAC,GAAG,CAAC,iCAAiC,MAAM,SAAS,UAAU,IAAI,UAAU,EAAE,CAAC,CAAC;AAC1F,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,UAAkB,EAAE,UAAkB,EAAE,qBAA6B,EAAE,YAAoB,EAAE,uBAA+B,EAAE,MAAc,EAAE,WAAmB;IAC/L,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,UAAU,aAAa,CAAC,CAAC;IAElF,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,2BAA2B,WAAW,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,cAAc,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAE1D,+CAA+C;IAC/C,IAAI,aAAa,GAAG,EAAE,CAAC;IACvB,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,KAAK;YACR,aAAa,GAAG,aAAa,YAAY;6BAClB,YAAY;mCACN,qBAAqB;6BAC3B,uBAAuB;MAC9C,CAAC;YACD,MAAM;QACR,KAAK,MAAM;YACT,aAAa,GAAG,aAAa,YAAY;6BAClB,YAAY;mCACN,qBAAqB;6BAC3B,uBAAuB;MAC9C,CAAC;YACD,MAAM;QACR,KAAK,KAAK;YACR,aAAa,GAAG,aAAa,YAAY;6BAClB,YAAY;mCACN,qBAAqB;6BAC3B,uBAAuB;MAC9C,CAAC;YACD,MAAM;QACR,KAAK,QAAQ;YACX,aAAa,GAAG,aAAa,YAAY;6BAClB,YAAY;mCACN,qBAAqB;6BAC3B,uBAAuB;MAC9C,CAAC;YACD,MAAM;QACR;YACE,aAAa,GAAG,aAAa,YAAY;6BAClB,YAAY;6BACZ,uBAAuB;MAC9C,CAAC;IACL,CAAC;IAED,sCAAsC;IACtC,MAAM,cAAc,GAAG,cAAc,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACvD,cAAc,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,GAAG,aAAa,GAAG,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAEvH,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;AAChD,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,UAAkB,EAAE,UAAkB,EAAE,qBAA6B,EAAE,YAAoB,EAAE,uBAA+B,EAAE,MAAc,EAAE,UAAkB,EAAE,WAAmB;IACtN,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,EAAE,GAAG,UAAU,gBAAgB,CAAC,CAAC;IAE3F,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,8BAA8B,cAAc,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,IAAI,iBAAiB,GAAG,EAAE,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IAEhE,uDAAuD;IACvD,IAAI,UAAU,GAAG,EAAE,CAAC;IACpB,IAAI,gBAAgB,GAAG,EAAE,CAAC;IAE1B,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,KAAK;YACR,UAAU,GAAG;;cAEL,UAAU,IAAI,UAAU;;sBAEhB,uBAAuB,IAAI,UAAU;0BACjC,WAAW;oBACjB,qBAAqB;;;8BAGX,uBAAuB;;;;;;;;;;;;;QAa7C,CAAC;YACH,gBAAgB,GAAG,aAAa,YAAY;0CACR,YAAY;;MAEhD,CAAC;YACD,MAAM;QACR,KAAK,MAAM;YACT,UAAU,GAAG;;cAEL,UAAU,IAAI,UAAU;;sBAEhB,uBAAuB,IAAI,UAAU;0BACjC,WAAW;oBACjB,qBAAqB;;;;;;;;;;;8BAWX,uBAAuB;;;;;;;;;;;;;QAa7C,CAAC;YACH,gBAAgB,GAAG,aAAa,YAAY;0CACR,YAAY;;MAEhD,CAAC;YACD,MAAM;QACR,KAAK,KAAK;YACR,UAAU,GAAG;;cAEL,UAAU,IAAI,UAAU;;sBAEhB,uBAAuB,IAAI,UAAU;0BACjC,WAAW;oBACjB,qBAAqB;;;;;;;8BAOX,qBAAqB;;;;;;;;;;;8BAWrB,uBAAuB;;;;;;;;;;;;8BAYvB,qBAAqB;QAC3C,CAAC;YACH,gBAAgB,GAAG,aAAa,YAAY;0CACR,YAAY;;MAEhD,CAAC;YACD,MAAM;QACR,KAAK,QAAQ;YACX,UAAU,GAAG;;cAEL,UAAU,IAAI,UAAU;;sBAEhB,uBAAuB,IAAI,UAAU;0BACjC,WAAW;oBACjB,qBAAqB;;;;;;;8BAOX,qBAAqB;;;8BAGrB,uBAAuB;;;;;;;;;;;;8BAYvB,qBAAqB;QAC3C,CAAC;YACH,gBAAgB,GAAG,aAAa,YAAY;0CACR,YAAY;;MAEhD,CAAC;YACD,MAAM;QACR;YACE,UAAU,GAAG;;cAEL,UAAU,IAAI,UAAU;WAC3B,MAAM,CAAC,WAAW,EAAE;sBACT,uBAAuB,IAAI,UAAU;0BACjC,WAAW;oBACjB,qBAAqB;;;8BAGX,uBAAuB;;;;;;;;;;;QAW7C,CAAC;YACH,gBAAgB,GAAG,aAAa,YAAY;0CACR,YAAY;;MAEhD,CAAC;IACL,CAAC;IAED,sCAAsC;IACtC,MAAM,cAAc,GAAG,iBAAiB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC1D,MAAM,aAAa,GAAG,UAAU,GAAG,IAAI,GAAG,gBAAgB,CAAC;IAC3D,iBAAiB,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,GAAG,aAAa,GAAG,IAAI,GAAG,iBAAiB,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAEhI,EAAE,CAAC,aAAa,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;AACtD,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,UAAkB,EAAE,UAAkB,EAAE,qBAA6B,EAAE,YAAoB,EAAE,uBAA+B,EAAE,MAAc,EAAE,UAAkB;IACtL,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,GAAG,UAAU,YAAY,CAAC,CAAC;IAE7E,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,yBAAyB,SAAS,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAEtD,sCAAsC;IACtC,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,KAAK;YACR,SAAS,GAAG,gBAAgB,UAAU,+BAA+B,YAAY,cAAc,CAAC;YAChG,MAAM;QACR,KAAK,MAAM;YACT,SAAS,GAAG,iBAAiB,UAAU,+BAA+B,YAAY,cAAc,CAAC;YACjG,MAAM;QACR,KAAK,KAAK;YACR,SAAS,GAAG,gBAAgB,UAAU,mCAAmC,YAAY,cAAc,CAAC;YACpG,MAAM;QACR,KAAK,QAAQ;YACX,SAAS,GAAG,mBAAmB,UAAU,mCAAmC,YAAY,cAAc,CAAC;YACvG,MAAM;QACR;YACE,SAAS,GAAG,UAAU,MAAM,CAAC,WAAW,EAAE,MAAM,UAAU,+BAA+B,YAAY,cAAc,CAAC;IACxH,CAAC;IAED,wCAAwC;IACxC,MAAM,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACnE,IAAI,WAAW,KAAK,CAAC,CAAC,EAAE,CAAC;QACvB,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,GAAG,SAAS,GAAG,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAC3G,CAAC;SAAM,CAAC;QACN,qCAAqC;QACrC,YAAY,IAAI,IAAI,GAAG,SAAS,GAAG,IAAI,CAAC;IAC1C,CAAC;IAED,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;AAC5C,CAAC"}
|
1
|
+
{"version":3,"file":"api-generator.js","sourceRoot":"","sources":["../../src/services/api-generator.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"project-extender.d.ts","sourceRoot":"","sources":["../../src/services/project-extender.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"project-extender.d.ts","sourceRoot":"","sources":["../../src/services/project-extender.ts"],"names":[],"mappings":"AAsBA,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;IAWzE,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,GAAE,GAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;YA4CpF,gBAAgB;YAyDhB,mBAAmB;YAuMnB,QAAQ;YAyCR,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;YAsPhB,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"}
|
@@ -40,6 +40,24 @@ exports.ProjectExtender = void 0;
|
|
40
40
|
const fs = __importStar(require("fs-extra"));
|
41
41
|
const path = __importStar(require("path"));
|
42
42
|
const chalk_1 = __importDefault(require("chalk"));
|
43
|
+
// Function to convert plural module names to singular for file names
|
44
|
+
function pluralToSingular(word) {
|
45
|
+
// Simple pluralization rules - can be extended as needed
|
46
|
+
if (word.endsWith('ies')) {
|
47
|
+
return word.slice(0, -3) + 'y'; // categories -> category
|
48
|
+
}
|
49
|
+
else if (word.endsWith('es')) {
|
50
|
+
return word.slice(0, -2); // boxes -> box
|
51
|
+
}
|
52
|
+
else if (word.endsWith('s')) {
|
53
|
+
return word.slice(0, -1); // users -> user, products -> product
|
54
|
+
}
|
55
|
+
return word; // already singular
|
56
|
+
}
|
57
|
+
// Function to convert hyphenated names to camelCase for method names
|
58
|
+
function toCamelCase(str) {
|
59
|
+
return str.replace(/-([a-z])/g, (match, letter) => letter.toUpperCase());
|
60
|
+
}
|
43
61
|
class ProjectExtender {
|
44
62
|
constructor() {
|
45
63
|
this.features = [
|
@@ -174,20 +192,23 @@ class ProjectExtender {
|
|
174
192
|
const customPath = options.path || endpointName;
|
175
193
|
const description = options.description || `${this.capitalizeFirst(endpointName)} endpoint for ${moduleName}`;
|
176
194
|
console.log(chalk_1.default.blue(`🔧 Adding endpoint '${endpointName}' to module '${moduleName}'...`));
|
195
|
+
// Convert endpoint name to camelCase for method names
|
196
|
+
const camelCaseEndpoint = toCamelCase(endpointName);
|
177
197
|
// Add service method
|
178
198
|
console.log(chalk_1.default.blue('📝 Adding service method...'));
|
179
|
-
await this.addServiceMethod(modulePath, moduleName,
|
199
|
+
await this.addServiceMethod(modulePath, moduleName, camelCaseEndpoint, method, description);
|
180
200
|
// Add controller method
|
181
201
|
console.log(chalk_1.default.blue('🎮 Adding controller method...'));
|
182
|
-
await this.addControllerMethod(modulePath, moduleName,
|
202
|
+
await this.addControllerMethod(modulePath, moduleName, camelCaseEndpoint, method, customPath, description);
|
183
203
|
// Add route
|
184
204
|
console.log(chalk_1.default.blue('🛣️ Adding route...'));
|
185
|
-
await this.addRoute(modulePath, moduleName,
|
205
|
+
await this.addRoute(modulePath, moduleName, camelCaseEndpoint, method, customPath);
|
186
206
|
console.log(chalk_1.default.green(`✅ Endpoint '${endpointName}' added to module '${moduleName}' successfully!`));
|
187
207
|
console.log(chalk_1.default.blue(`🔗 New endpoint available at: ${method} /api/${moduleName}/${customPath}`));
|
188
208
|
}
|
189
209
|
async addServiceMethod(modulePath, moduleName, endpointName, method, description) {
|
190
|
-
const
|
210
|
+
const singularName = pluralToSingular(moduleName);
|
211
|
+
const servicePath = path.join(modulePath, 'services', `${singularName}.service.ts`);
|
191
212
|
if (!await fs.pathExists(servicePath)) {
|
192
213
|
throw new Error(`Service file not found: ${servicePath}`);
|
193
214
|
}
|
@@ -237,7 +258,8 @@ class ProjectExtender {
|
|
237
258
|
await fs.writeFile(servicePath, serviceContent);
|
238
259
|
}
|
239
260
|
async addControllerMethod(modulePath, moduleName, endpointName, method, customPath, description) {
|
240
|
-
const
|
261
|
+
const singularName = pluralToSingular(moduleName);
|
262
|
+
const controllerPath = path.join(modulePath, 'controllers', `${singularName}.controller.ts`);
|
241
263
|
if (!await fs.pathExists(controllerPath)) {
|
242
264
|
throw new Error(`Controller file not found: ${controllerPath}`);
|
243
265
|
}
|
@@ -428,7 +450,8 @@ class ProjectExtender {
|
|
428
450
|
await fs.writeFile(controllerPath, controllerContent);
|
429
451
|
}
|
430
452
|
async addRoute(modulePath, moduleName, endpointName, method, customPath) {
|
431
|
-
const
|
453
|
+
const singularName = pluralToSingular(moduleName);
|
454
|
+
const routePath = path.join(modulePath, 'routes', `${singularName}.routes.ts`);
|
432
455
|
if (!await fs.pathExists(routePath)) {
|
433
456
|
throw new Error(`Route file not found: ${routePath}`);
|
434
457
|
}
|
@@ -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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"}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
export declare function generateTable(tableName: string): Promise<void>;
|
1
|
+
export declare function generateTable(tableName: string, options?: any): Promise<void>;
|
2
2
|
//# sourceMappingURL=table-generator.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"table-generator.d.ts","sourceRoot":"","sources":["../../src/services/table-generator.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"table-generator.d.ts","sourceRoot":"","sources":["../../src/services/table-generator.ts"],"names":[],"mappings":"AAeA,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE,GAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAyCvF"}
|
@@ -36,63 +36,92 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.generateTable = generateTable;
|
37
37
|
const fs = __importStar(require("fs"));
|
38
38
|
const path = __importStar(require("path"));
|
39
|
-
|
39
|
+
// Function to convert plural table names to singular for file names
|
40
|
+
function pluralToSingular(word) {
|
41
|
+
if (word.endsWith('ies')) {
|
42
|
+
return word.slice(0, -3) + 'y'; // categories -> category
|
43
|
+
}
|
44
|
+
else if (word.endsWith('es')) {
|
45
|
+
return word.slice(0, -2); // boxes -> box
|
46
|
+
}
|
47
|
+
else if (word.endsWith('s')) {
|
48
|
+
return word.slice(0, -1); // users -> user, products -> product
|
49
|
+
}
|
50
|
+
return word; // already singular
|
51
|
+
}
|
52
|
+
async function generateTable(tableName, options = {}) {
|
40
53
|
// Validate table name
|
41
54
|
if (!tableName || !/^[a-zA-Z][a-zA-Z0-9_-]*$/.test(tableName)) {
|
42
55
|
throw new Error('Invalid table name. Use only letters, numbers, hyphens, and underscores. Must start with a letter.');
|
43
56
|
}
|
44
|
-
const
|
57
|
+
const singularName = pluralToSingular(tableName);
|
58
|
+
const tableNameCapitalized = singularName.charAt(0).toUpperCase() + singularName.slice(1);
|
45
59
|
const currentDir = process.cwd();
|
46
60
|
// Check for required API project structure
|
47
|
-
const requiredDirs = [
|
48
|
-
'src/entities',
|
49
|
-
'src/schemas'
|
50
|
-
];
|
61
|
+
const requiredDirs = ['src/modules'];
|
51
62
|
const missingDirs = requiredDirs.filter(dir => !fs.existsSync(path.join(currentDir, dir)));
|
52
63
|
if (missingDirs.length > 0) {
|
53
64
|
throw new Error(`This command should be run from a diagramers API project. Missing directories: ${missingDirs.join(', ')}`);
|
54
65
|
}
|
55
|
-
|
56
|
-
const
|
57
|
-
fs.
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
66
|
+
// Create module directory structure
|
67
|
+
const modulePath = path.join(currentDir, 'src/modules', tableName);
|
68
|
+
if (!fs.existsSync(modulePath)) {
|
69
|
+
fs.mkdirSync(modulePath, { recursive: true });
|
70
|
+
fs.mkdirSync(path.join(modulePath, 'entities'), { recursive: true });
|
71
|
+
fs.mkdirSync(path.join(modulePath, 'schemas'), { recursive: true });
|
72
|
+
}
|
73
|
+
console.log(`📝 Creating entity for table '${tableName}'...`);
|
74
|
+
const entityContent = generateEntityContent(singularName, tableNameCapitalized, options);
|
75
|
+
fs.writeFileSync(path.join(modulePath, 'entities', `${singularName}.entity.ts`), entityContent);
|
76
|
+
console.log(`📋 Creating schema for table '${tableName}'...`);
|
77
|
+
const schemaContent = generateSchemaContent(singularName, tableNameCapitalized, tableName, options);
|
78
|
+
fs.writeFileSync(path.join(modulePath, 'schemas', `${singularName}.schema.ts`), schemaContent);
|
79
|
+
// Add to seeder
|
80
|
+
console.log(`🌱 Adding '${tableName}' to database seeder...`);
|
81
|
+
await addToSeeder(currentDir, tableName, singularName, tableNameCapitalized, options);
|
63
82
|
console.log('✅ Table generation completed!');
|
64
|
-
console.log(`📊 Entity: src/
|
65
|
-
console.log(`📋 Schema: src/
|
66
|
-
console.log('
|
83
|
+
console.log(`📊 Entity: src/modules/${tableName}/entities/${singularName}.entity.ts`);
|
84
|
+
console.log(`📋 Schema: src/modules/${tableName}/schemas/${singularName}.schema.ts`);
|
85
|
+
console.log('🌱 Added to database seeder');
|
67
86
|
}
|
68
|
-
function generateEntityContent(
|
87
|
+
function generateEntityContent(singularName, tableNameCapitalized, options) {
|
88
|
+
const fields = options.fields || ['name', 'description'];
|
89
|
+
let fieldDefinitions = '';
|
90
|
+
fields.forEach((field) => {
|
91
|
+
const fieldType = getFieldType(field);
|
92
|
+
const isOptional = field === 'description' || field.includes('?');
|
93
|
+
const cleanField = field.replace('?', '');
|
94
|
+
fieldDefinitions += ` ${cleanField}${isOptional ? '?' : ''}: ${fieldType};\n`;
|
95
|
+
});
|
69
96
|
return `import * as mongoose from 'mongoose';
|
70
97
|
import { ObjectId } from "bson";
|
71
98
|
|
72
99
|
export interface I${tableNameCapitalized} extends mongoose.Document {
|
73
|
-
_id: ObjectId
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
createdAt: Date,
|
78
|
-
updatedAt: Date
|
100
|
+
_id: ObjectId;
|
101
|
+
${fieldDefinitions} status: number;
|
102
|
+
createdAt: Date;
|
103
|
+
updatedAt: Date;
|
79
104
|
}`;
|
80
105
|
}
|
81
|
-
function generateSchemaContent(tableName,
|
106
|
+
function generateSchemaContent(singularName, tableNameCapitalized, tableName, options) {
|
107
|
+
const fields = options.fields || ['name', 'description'];
|
108
|
+
let schemaFields = '';
|
109
|
+
fields.forEach((field) => {
|
110
|
+
const isOptional = field === 'description' || field.includes('?');
|
111
|
+
const cleanField = field.replace('?', '');
|
112
|
+
const mongooseType = getMongooseType(cleanField);
|
113
|
+
const required = !isOptional;
|
114
|
+
schemaFields += ` ${cleanField}: {
|
115
|
+
type: ${mongooseType},
|
116
|
+
required: ${required},
|
117
|
+
},\n`;
|
118
|
+
});
|
82
119
|
return `import * as mongoose from 'mongoose';
|
83
|
-
import { I${tableNameCapitalized} } from '../entities/${
|
120
|
+
import { I${tableNameCapitalized} } from '../entities/${singularName}.entity';
|
84
121
|
|
85
|
-
export const ${
|
122
|
+
export const ${singularName}Schema = new mongoose.Schema(
|
86
123
|
{
|
87
|
-
|
88
|
-
type: mongoose.SchemaTypes.String,
|
89
|
-
required: true,
|
90
|
-
},
|
91
|
-
description: {
|
92
|
-
type: mongoose.SchemaTypes.String,
|
93
|
-
required: false,
|
94
|
-
},
|
95
|
-
status: {
|
124
|
+
${schemaFields} status: {
|
96
125
|
type: mongoose.SchemaTypes.Number,
|
97
126
|
default: 1,
|
98
127
|
}
|
@@ -100,38 +129,160 @@ export const ${tableName}Schema = new mongoose.Schema(
|
|
100
129
|
{ timestamps: true, suppressReservedKeysWarning: true },
|
101
130
|
);
|
102
131
|
|
103
|
-
export const ${tableNameCapitalized}
|
132
|
+
export const ${tableNameCapitalized}Model = mongoose.model<I${tableNameCapitalized}>('${tableName}', ${singularName}Schema);`;
|
133
|
+
}
|
134
|
+
function getFieldType(field) {
|
135
|
+
const cleanField = field.replace('?', '').toLowerCase();
|
136
|
+
if (cleanField.includes('id') || cleanField === '_id')
|
137
|
+
return 'ObjectId';
|
138
|
+
if (cleanField.includes('email'))
|
139
|
+
return 'string';
|
140
|
+
if (cleanField.includes('password'))
|
141
|
+
return 'string';
|
142
|
+
if (cleanField.includes('phone'))
|
143
|
+
return 'string';
|
144
|
+
if (cleanField.includes('url'))
|
145
|
+
return 'string';
|
146
|
+
if (cleanField.includes('date') || cleanField.includes('time'))
|
147
|
+
return 'Date';
|
148
|
+
if (cleanField.includes('count') || cleanField.includes('number') || cleanField.includes('age'))
|
149
|
+
return 'number';
|
150
|
+
if (cleanField.includes('is') || cleanField.includes('has') || cleanField.includes('verified'))
|
151
|
+
return 'boolean';
|
152
|
+
if (cleanField.includes('status'))
|
153
|
+
return 'number';
|
154
|
+
return 'string'; // default
|
104
155
|
}
|
105
|
-
function
|
106
|
-
const
|
107
|
-
if (
|
108
|
-
|
156
|
+
function getMongooseType(field) {
|
157
|
+
const cleanField = field.toLowerCase();
|
158
|
+
if (cleanField.includes('id') || cleanField === '_id')
|
159
|
+
return 'mongoose.SchemaTypes.ObjectId';
|
160
|
+
if (cleanField.includes('date') || cleanField.includes('time'))
|
161
|
+
return 'mongoose.SchemaTypes.Date';
|
162
|
+
if (cleanField.includes('count') || cleanField.includes('number') || cleanField.includes('age'))
|
163
|
+
return 'mongoose.SchemaTypes.Number';
|
164
|
+
if (cleanField.includes('is') || cleanField.includes('has') || cleanField.includes('verified'))
|
165
|
+
return 'mongoose.SchemaTypes.Boolean';
|
166
|
+
if (cleanField.includes('status'))
|
167
|
+
return 'mongoose.SchemaTypes.Number';
|
168
|
+
return 'mongoose.SchemaTypes.String'; // default
|
169
|
+
}
|
170
|
+
async function addToSeeder(currentDir, tableName, singularName, tableNameCapitalized, options) {
|
171
|
+
const seederPath = path.join(currentDir, 'src/core/database/seeder.ts');
|
172
|
+
if (!fs.existsSync(seederPath)) {
|
173
|
+
console.log('⚠️ Seeder file not found, skipping seeder update');
|
109
174
|
return;
|
110
175
|
}
|
111
|
-
let
|
176
|
+
let seederContent = fs.readFileSync(seederPath, 'utf8');
|
112
177
|
// Add import
|
113
|
-
const importStatement = `import { ${tableNameCapitalized}
|
114
|
-
if (!
|
115
|
-
// Find the last import
|
116
|
-
const
|
117
|
-
const
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
178
|
+
const importStatement = `import { ${tableNameCapitalized}Model } from '../../modules/${tableName}/schemas/${singularName}.schema';`;
|
179
|
+
if (!seederContent.includes(importStatement)) {
|
180
|
+
// Find the last import and add after it
|
181
|
+
const lastImportIndex = seederContent.lastIndexOf('import');
|
182
|
+
const nextLineIndex = seederContent.indexOf('\n', lastImportIndex);
|
183
|
+
seederContent = seederContent.slice(0, nextLineIndex) + '\n' + importStatement + seederContent.slice(nextLineIndex);
|
184
|
+
}
|
185
|
+
// Add to SeedData interface
|
186
|
+
const seedDataInterface = ` ${tableName}?: any[];`;
|
187
|
+
if (!seederContent.includes(seedDataInterface)) {
|
188
|
+
const interfaceMatch = seederContent.match(/export interface SeedData \{([^}]*)\}/s);
|
189
|
+
if (interfaceMatch) {
|
190
|
+
const beforeClosing = interfaceMatch[0].lastIndexOf('}');
|
191
|
+
const beforeText = interfaceMatch[0].slice(0, beforeClosing);
|
192
|
+
const afterText = interfaceMatch[0].slice(beforeClosing);
|
193
|
+
const newInterface = beforeText + seedDataInterface + '\n' + afterText;
|
194
|
+
seederContent = seederContent.replace(interfaceMatch[0], newInterface);
|
122
195
|
}
|
123
196
|
}
|
124
|
-
// Add
|
125
|
-
const
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
197
|
+
// Add seeder method
|
198
|
+
const seederMethod = ` private async seed${tableNameCapitalized}s(data: any[]): Promise<void> {
|
199
|
+
if (data.length === 0) return;
|
200
|
+
|
201
|
+
logger.info(\`[DatabaseSeeder] Seeding \${data.length} ${tableName}...\`);
|
202
|
+
|
203
|
+
for (const ${singularName}Data of data) {
|
204
|
+
try {
|
205
|
+
const existing = await ${tableNameCapitalized}Model.findOne({ name: ${singularName}Data.name });
|
206
|
+
if (!existing) {
|
207
|
+
const ${singularName} = new ${tableNameCapitalized}Model({
|
208
|
+
...${singularName}Data,
|
209
|
+
status: 1
|
210
|
+
});
|
211
|
+
await ${singularName}.save();
|
212
|
+
logger.info(\`[DatabaseSeeder] Created ${singularName}: \${${singularName}Data.name}\`);
|
213
|
+
} else {
|
214
|
+
logger.info(\`[DatabaseSeeder] ${tableNameCapitalized} \${${singularName}Data.name} already exists, skipping\`);
|
132
215
|
}
|
216
|
+
} catch (error) {
|
217
|
+
logger.error(\`[DatabaseSeeder] Failed to create ${singularName} \${${singularName}Data.name}:\`, error);
|
218
|
+
}
|
219
|
+
}
|
220
|
+
}`;
|
221
|
+
// Add method before closing class brace
|
222
|
+
const classEndIndex = seederContent.lastIndexOf('}');
|
223
|
+
seederContent = seederContent.slice(0, classEndIndex) + seederMethod + '\n\n' + seederContent.slice(classEndIndex);
|
224
|
+
// Add seeder call in seed method
|
225
|
+
const seederCall = ` if (data.${tableName}) {
|
226
|
+
await this.seed${tableNameCapitalized}s(data.${tableName});
|
227
|
+
}`;
|
228
|
+
// Find the seed method and add the call
|
229
|
+
const seedMethodMatch = seederContent.match(/async seed\([^{]*\{([^}]*(?:\{[^}]*\}[^}]*)*)\}/s);
|
230
|
+
if (seedMethodMatch) {
|
231
|
+
const beforeClosing = seedMethodMatch[0].lastIndexOf('}');
|
232
|
+
const beforeText = seedMethodMatch[0].slice(0, beforeClosing);
|
233
|
+
const afterText = seedMethodMatch[0].slice(beforeClosing);
|
234
|
+
const newSeedMethod = beforeText + '\n' + seederCall + '\n ' + afterText;
|
235
|
+
seederContent = seederContent.replace(seedMethodMatch[0], newSeedMethod);
|
236
|
+
}
|
237
|
+
// Add default seed data
|
238
|
+
const defaultData = generateDefaultSeedData(tableName, options);
|
239
|
+
const defaultDataLine = ` ${tableName}: ${JSON.stringify(defaultData, null, 6)},`;
|
240
|
+
// Find defaultData object and add the line
|
241
|
+
const defaultDataMatch = seederContent.match(/const defaultData: SeedData = \{([^}]*(?:\{[^}]*\}[^}]*)*)\}/s);
|
242
|
+
if (defaultDataMatch) {
|
243
|
+
const beforeClosing = defaultDataMatch[0].lastIndexOf('}');
|
244
|
+
const beforeText = defaultDataMatch[0].slice(0, beforeClosing);
|
245
|
+
const afterText = defaultDataMatch[0].slice(beforeClosing);
|
246
|
+
const newDefaultData = beforeText + '\n' + defaultDataLine + '\n ' + afterText;
|
247
|
+
seederContent = seederContent.replace(defaultDataMatch[0], newDefaultData);
|
248
|
+
}
|
249
|
+
fs.writeFileSync(seederPath, seederContent);
|
250
|
+
}
|
251
|
+
function generateDefaultSeedData(tableName, options) {
|
252
|
+
const fields = options.fields || ['name', 'description'];
|
253
|
+
const sampleData = [];
|
254
|
+
// Generate 3 sample records
|
255
|
+
for (let i = 1; i <= 3; i++) {
|
256
|
+
const record = {};
|
257
|
+
fields.forEach((field) => {
|
258
|
+
const cleanField = field.replace('?', '');
|
259
|
+
if (cleanField === 'name') {
|
260
|
+
record[cleanField] = `Sample ${tableName.charAt(0).toUpperCase() + tableName.slice(1, -1)} ${i}`;
|
261
|
+
}
|
262
|
+
else if (cleanField === 'description') {
|
263
|
+
record[cleanField] = `Description for sample ${tableName.slice(0, -1)} ${i}`;
|
264
|
+
}
|
265
|
+
else if (cleanField.includes('email')) {
|
266
|
+
record[cleanField] = `sample${i}@example.com`;
|
267
|
+
}
|
268
|
+
else if (cleanField.includes('phone')) {
|
269
|
+
record[cleanField] = `+1234567890${i}`;
|
270
|
+
}
|
271
|
+
else if (cleanField.includes('url')) {
|
272
|
+
record[cleanField] = `https://example.com/${cleanField}${i}`;
|
273
|
+
}
|
274
|
+
else if (cleanField.includes('count') || cleanField.includes('number') || cleanField.includes('age')) {
|
275
|
+
record[cleanField] = i * 10;
|
276
|
+
}
|
277
|
+
else if (cleanField.includes('is') || cleanField.includes('has') || cleanField.includes('verified')) {
|
278
|
+
record[cleanField] = i % 2 === 1;
|
279
|
+
}
|
280
|
+
else {
|
281
|
+
record[cleanField] = `Sample ${cleanField} ${i}`;
|
282
|
+
}
|
283
|
+
});
|
284
|
+
sampleData.push(record);
|
133
285
|
}
|
134
|
-
|
135
|
-
console.log('📊 Updated dbcontext.ts');
|
286
|
+
return sampleData;
|
136
287
|
}
|
137
288
|
//# sourceMappingURL=table-generator.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"table-generator.js","sourceRoot":"","sources":["../../src/services/table-generator.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"table-generator.js","sourceRoot":"","sources":["../../src/services/table-generator.ts"],"names":[],"mappings":"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"}
|