micro-generate 1.3.1 → 1.3.3
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/dist/cli/generators/feature-generator.js +2 -3
- package/dist/cli/generators/feature-generator.js.map +1 -1
- package/dist/cli/generators/init-generator.js +206 -82
- package/dist/cli/generators/init-generator.js.map +1 -1
- package/dist/core/MicroserviceServer.d.ts +1 -0
- package/dist/core/MicroserviceServer.js +4 -1
- package/dist/core/MicroserviceServer.js.map +1 -1
- package/package.json +1 -1
|
@@ -319,9 +319,8 @@ export default () => {
|
|
|
319
319
|
`;
|
|
320
320
|
}
|
|
321
321
|
if (useRedis) {
|
|
322
|
-
//
|
|
323
|
-
serviceImports += `import {
|
|
324
|
-
serviceImports += `import { createRedisRepository } from '../../db/redis/redis.js';\n`;
|
|
322
|
+
// Import from src/database/redis.js which matches user structure
|
|
323
|
+
serviceImports += `import { getRedisConnector, createRedisRepository } from '../../database/redis.js';\n`;
|
|
325
324
|
// Add repository property to class
|
|
326
325
|
// Logic to determine client access method
|
|
327
326
|
const redisDbNum = options.redisDb || 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feature-generator.js","sourceRoot":"","sources":["../../../src/cli/generators/feature-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,4CAA4C;AAC5C,KAAK,UAAU,aAAa,CAAC,OAA6E;IACtG,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC;IAC9D,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,6CAA6C;IACxG,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAE1E,8BAA8B;IAC9B,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAE/B,MAAM,YAAY,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3E,MAAM,WAAW,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;IAE1F,6BAA6B;IAC7B,MAAM,SAAS,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IAE/D,MAAM,SAAS,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG,GAAG,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC;IACvD,MAAM,cAAc,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;IAE3D,IAAI,YAAY,GAAG,EAAE,CAAC;IAEtB,IAAI,gBAAgB,EAAE,CAAC;QACnB,oEAAoE;QACpE,YAAY,GAAG;;;oBAGH,SAAS;;;;;;;QAOrB,SAAS;;;;mBAIE,cAAc;;;MAG3B,SAAS,iBAAiB,SAAS;;qBAEpB,SAAS,mBAAmB,SAAS;UAChD,SAAS,iBAAiB,SAAS;;iDAEI,gBAAgB;;gDAEjB,gBAAgB;;;MAG1D,SAAS,6BAA6B,SAAS,MAAM,SAAS,MAAM,SAAS;aACtE,SAAS;;CAErB,CAAC;IACE,CAAC;SAAM,CAAC;QACJ,4CAA4C;QAC5C,YAAY,GAAG;;oBAEH,SAAS;;;;;;;QAOrB,SAAS;;;;mBAIE,cAAc;;;eAGlB,SAAS,2BAA2B,SAAS,MAAM,SAAS,MAAM,SAAS;CACzF,CAAC;IACE,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IACjD,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAE3C,OAAO,QAAQ,CAAC,CAAC,2CAA2C;AAChE,CAAC;AAED,wDAAwD;AACxD,KAAK,UAAU,kBAAkB,CAAC,OAA6E;IAC3G,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC;IAC9D,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,6CAA6C;IACxG,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAE1E,8BAA8B;IAC9B,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAE/B,MAAM,YAAY,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3E,MAAM,WAAW,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;IAE1F,6BAA6B;IAC7B,MAAM,SAAS,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IAE/D,MAAM,SAAS,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG,GAAG,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC;IACvD,MAAM,SAAS,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;IAEtD,mCAAmC;IACnC,MAAM,eAAe,GAAG,gBAAgB;QACpC,CAAC,CAAC,6DAA6D;QAC/D,CAAC,CAAC,uDAAuD,CAAC;IAE9D,MAAM,eAAe,GAAG,gBAAgB;QACpC,CAAC,CAAC,kDAAkD,gBAAgB,KAAK;QACzE,CAAC,CAAC,gDAAgD,CAAC;IAEvD,MAAM,iBAAiB,GAAG,gBAAgB,IAAI,SAAS,CAAC;IAExD,MAAM,YAAY,GAAG;EACvB,eAAe;;YAEL,SAAS;;;;;;;YAOT,SAAS,uCAAuC,SAAS;;eAEtD,SAAS,kBAAkB,SAAS,eAAe,SAAS,kCAAkC,SAAS;;;;;;;;;qBASjG,SAAS;8BACA,SAAS;;MAEjC,eAAe;;gDAE2B,iBAAiB;;;MAG3D,SAAS;;;;;;;;;;;;;0BAaW,SAAS;;;;;;aAMtB,SAAS;;CAErB,CAAC;IAEE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IACjD,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAE3C,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAAE,OAA+B,EAAE,EAAE;IACrE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,IAAI,EAAE,QAAQ,GAAG,IAAI,EAAE,QAAQ,GAAG,KAAK,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAC;IACtH,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;IAEtE,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QACnC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,IAAI,kBAAkB,CAAC,CAAC,CAAC;QAC5D,OAAO;IACX,CAAC;IAED,MAAM,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAEhC,MAAM,UAAU,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzE,MAAM,WAAW,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;IAC1F,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAEpC,WAAW;IACX,MAAM,eAAe,GAAG;SACnB,UAAU;;;;;SAKV,UAAU;;;YAGP,UAAU;;;;MAIhB,IAAI,OAAO,UAAU;MACrB,IAAI,cAAc,UAAU;;;;YAItB,UAAU,oBAAoB,UAAU;;IAEhD,CAAC;IAED,mBAAmB;IACnB,IAAI,sBAAsB,GAAG,EAAE,CAAC;IAEhC,IAAI,QAAQ,EAAE,CAAC;QACX,sBAAsB,GAAG,MAAM,aAAa,CAAC,EAAE,GAAG,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;QAC5F,sBAAsB,GAAG,sBAAsB,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC1E,CAAC;IAED,IAAI,QAAQ,EAAE,CAAC;QACX,mDAAmD;QACnD,sBAAsB,GAAG,MAAM,kBAAkB,CAAC,EAAE,GAAG,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;QAC1I,sBAAsB,GAAG,sBAAsB,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC1E,CAAC;IAED,UAAU;IACV,IAAI,cAAc,GAAG,EAAE,CAAC;IACxB,IAAI,gBAAgB,GAAG,EAAE,CAAC;IAE1B,IAAI,QAAQ,EAAE,CAAC;QACX,wEAAwE;QACxE,cAAc,IAAI,YAAY,gBAAgB,CAAC,CAAC,CAAC,MAAM,UAAU,OAAO,CAAC,CAAC,CAAC,GAAG,UAAU,OAAO,MAAM,UAAU,kCAAkC,sBAAsB,MAAM,CAAC;QAE9K,iCAAiC;QACjC,MAAM,WAAW,GAAG,gBAAgB,CAAC,CAAC,CAAC,MAAM,UAAU,SAAS,CAAC,CAAC,CAAC,GAAG,UAAU,OAAO,CAAC;QAExF,gBAAgB,IAAI;6BACC,UAAU;aAC1B,WAAW;;;yCAGiB,UAAU;aACtC,WAAW;;CAEvB,CAAC;IACE,CAAC;SAAM,IAAI,QAAQ,EAAE,CAAC;QACjB,6BAA6B;QAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;QAC/E,IAAI,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,oDAAoD,CAAC,CAAC,CAAC;YAChF,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;YAC7C,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsEvC,CAAC;YACW,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;QACxD,CAAC;QAEA,wEAAwE;QACxE,cAAc,IAAI,eAAe,UAAU,UAAU,UAAU,kCAAkC,sBAAsB,MAAM,CAAC;QAC9H,MAAM,WAAW,GAAG,MAAM,UAAU,SAAS,CAAC;QAE9C,gBAAgB,IAAI;4BACD,UAAU;aACzB,WAAW;;;wCAGgB,UAAU;aACrC,WAAW;;CAEvB,CAAC;IACE,CAAC;SAAM,CAAC;QACJ,6CAA6C;QAC7C,gBAAgB,IAAI;;;;;;;;CAQ3B,CAAC;IACE,CAAC;IAED,IAAI,QAAQ,EAAE,CAAC;QACX,
|
|
1
|
+
{"version":3,"file":"feature-generator.js","sourceRoot":"","sources":["../../../src/cli/generators/feature-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,14 +14,14 @@ export const generateInit = async (options) => {
|
|
|
14
14
|
path.join(projectPath, 'src', 'utils'),
|
|
15
15
|
path.join(projectPath, 'src', 'config'),
|
|
16
16
|
];
|
|
17
|
-
if (useRedis) {
|
|
18
|
-
|
|
19
|
-
}
|
|
17
|
+
// if (useRedis) {
|
|
18
|
+
// dirs.push(path.join(projectPath, 'src', 'database', 'redis'));
|
|
19
|
+
// }
|
|
20
20
|
if (useMongo) {
|
|
21
|
-
dirs.push(path.join(projectPath, 'src', '
|
|
21
|
+
dirs.push(path.join(projectPath, 'src', 'database', 'mongo'));
|
|
22
22
|
}
|
|
23
23
|
if (useMySQL) {
|
|
24
|
-
dirs.push(path.join(projectPath, 'src', '
|
|
24
|
+
dirs.push(path.join(projectPath, 'src', 'database', 'mysql'));
|
|
25
25
|
}
|
|
26
26
|
for (const dir of dirs) {
|
|
27
27
|
await fs.ensureDir(dir);
|
|
@@ -92,52 +92,142 @@ export function getEnv(name: string): string {
|
|
|
92
92
|
}
|
|
93
93
|
`;
|
|
94
94
|
await fs.writeFile(path.join(projectPath, 'src', 'utils', 'config.ts'), configUtilContent);
|
|
95
|
-
// 5. src/
|
|
95
|
+
// 5. src/database/redis.ts
|
|
96
96
|
if (useRedis) {
|
|
97
|
-
const
|
|
97
|
+
const redisContent = `import { Redis, RedisOptions } from 'ioredis';
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
export class RedisConnector {
|
|
101
|
+
private defaultClient: Redis | null = null;
|
|
102
|
+
private clients: Map<number, Redis> = new Map();
|
|
103
|
+
private options: RedisOptions = {};
|
|
104
|
+
private defaultDb: number = 0;
|
|
105
|
+
private host?: string;
|
|
106
|
+
|
|
107
|
+
constructor(optionsOrUrl: RedisOptions | string) {
|
|
108
|
+
if (typeof optionsOrUrl === 'string') {
|
|
109
|
+
this.options = {
|
|
110
|
+
retryStrategy: (times: number) => Math.min(times * 50, 2000)
|
|
111
|
+
};
|
|
112
|
+
this.host = undefined;
|
|
113
|
+
(this as any).url = optionsOrUrl;
|
|
114
|
+
} else {
|
|
115
|
+
this.options = {
|
|
116
|
+
retryStrategy: (times: number) => Math.min(times * 50, 2000),
|
|
117
|
+
...optionsOrUrl
|
|
118
|
+
};
|
|
119
|
+
this.defaultDb = optionsOrUrl.db || 0;
|
|
120
|
+
this.host = optionsOrUrl.host;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
98
123
|
|
|
99
|
-
|
|
124
|
+
async connect(): Promise<void> {
|
|
125
|
+
if (this.defaultClient) {
|
|
126
|
+
console.log('Redis default client already connected');
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
try {
|
|
130
|
+
this.defaultClient = this.createClient(this.defaultDb);
|
|
131
|
+
this.clients.set(this.defaultDb, this.defaultClient);
|
|
132
|
+
await this.defaultClient.connect();
|
|
133
|
+
} catch (error) {
|
|
134
|
+
console.error('Failed to connect to Redis', error);
|
|
135
|
+
throw error;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
100
138
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
139
|
+
private createClient(db: number): Redis {
|
|
140
|
+
let client: Redis;
|
|
141
|
+
const url = (this as any).url;
|
|
142
|
+
|
|
143
|
+
if (url) {
|
|
144
|
+
client = new Redis(url, { ...this.options, db, lazyConnect: true });
|
|
145
|
+
} else {
|
|
146
|
+
client = new Redis({ ...this.options, db, lazyConnect: true });
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
client.on('connect', () => console.log(\`🔴 Redis connected to db \${db}\`));
|
|
150
|
+
client.on('error', (err) => console.error(\`Redis error on db \${db}\`, err));
|
|
151
|
+
return client;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
async disconnect(): Promise<void> {
|
|
155
|
+
const disconnectPromises: Promise<void>[] = [];
|
|
156
|
+
for (const [db, client] of this.clients.entries()) {
|
|
157
|
+
disconnectPromises.push(client.quit().then(() => {}).catch(() => client.disconnect()));
|
|
158
|
+
}
|
|
159
|
+
await Promise.all(disconnectPromises);
|
|
160
|
+
this.clients.clear();
|
|
161
|
+
this.defaultClient = null;
|
|
162
|
+
}
|
|
104
163
|
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
164
|
+
getClient(): Redis {
|
|
165
|
+
if (!this.defaultClient) throw new Error('Redis not connected');
|
|
166
|
+
return this.defaultClient;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
async getConnection(db: number): Promise<Redis> {
|
|
170
|
+
if (db === this.defaultDb) {
|
|
171
|
+
if (!this.defaultClient) await this.connect();
|
|
172
|
+
return this.defaultClient!;
|
|
173
|
+
}
|
|
174
|
+
if (this.clients.has(db)) {
|
|
175
|
+
const client = this.clients.get(db)!;
|
|
176
|
+
if (client.status === 'wait') await client.connect();
|
|
177
|
+
return client;
|
|
178
|
+
}
|
|
179
|
+
const newClient = this.createClient(db);
|
|
180
|
+
this.clients.set(db, newClient);
|
|
181
|
+
await newClient.connect();
|
|
182
|
+
return newClient;
|
|
108
183
|
}
|
|
109
|
-
return redisInstance;
|
|
110
184
|
}
|
|
111
|
-
`;
|
|
112
|
-
await fs.writeFile(path.join(projectPath, 'src', 'db', 'redis', 'client.ts'), redisClientContent);
|
|
113
|
-
// Standardized Redis Repository
|
|
114
|
-
const redisRepositoryContent = `import { Redis } from 'ioredis';
|
|
115
185
|
|
|
116
|
-
|
|
186
|
+
export let redisConnectorInstance: RedisConnector | null = null;
|
|
117
187
|
|
|
118
|
-
export const
|
|
119
|
-
|
|
120
|
-
|
|
188
|
+
export const setRedisConnectorInstance = (connector: RedisConnector) => {
|
|
189
|
+
redisConnectorInstance = connector;
|
|
190
|
+
};
|
|
191
|
+
|
|
192
|
+
export const getRedisConnector = (): RedisConnector => {
|
|
193
|
+
if (!redisConnectorInstance) {
|
|
194
|
+
throw new Error('Redis connector not initialized.');
|
|
195
|
+
}
|
|
196
|
+
return redisConnectorInstance;
|
|
197
|
+
};
|
|
198
|
+
|
|
199
|
+
export const createRedisRepository = (getDb: () => (Redis | Promise<Redis>), keyPrefix: string) => {
|
|
121
200
|
const promiseFunct = (err: any, response: any, resolve: (value: any) => void, reject: (reason?: any) => void) => {
|
|
122
|
-
if (err)
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
201
|
+
if (err) reject(err);
|
|
202
|
+
else resolve(response);
|
|
203
|
+
};
|
|
204
|
+
|
|
205
|
+
const resolveDb = async (): Promise<Redis> => {
|
|
206
|
+
const dbOrPromise = getDb();
|
|
207
|
+
return dbOrPromise instanceof Promise ? await dbOrPromise : dbOrPromise;
|
|
127
208
|
};
|
|
128
209
|
|
|
129
210
|
return {
|
|
130
211
|
find: async (_id: string) => {
|
|
131
|
-
const db =
|
|
212
|
+
const db = await resolveDb();
|
|
132
213
|
return new Promise((resolve, reject) => {
|
|
133
|
-
db.get(_id, (err, response) =>
|
|
134
|
-
|
|
214
|
+
db.get(_id, (err, response) => promiseFunct(err, response, resolve, reject));
|
|
215
|
+
});
|
|
216
|
+
},
|
|
217
|
+
saveTTL: async (_id: string, _data: any, ttl: number) => {
|
|
218
|
+
const db = await resolveDb();
|
|
219
|
+
return new Promise((resolve, reject) => {
|
|
220
|
+
db.set(_id, _data, (err, response) => {
|
|
221
|
+
if (err) reject(err);
|
|
222
|
+
else {
|
|
223
|
+
db.expire(_id, ttl);
|
|
224
|
+
resolve(response);
|
|
225
|
+
}
|
|
135
226
|
});
|
|
136
227
|
});
|
|
137
228
|
},
|
|
138
|
-
|
|
139
229
|
findKeys: async (_id: string) => {
|
|
140
|
-
const db =
|
|
230
|
+
const db = await resolveDb();
|
|
141
231
|
return new Promise((resolve, reject) => {
|
|
142
232
|
db.keys(_id, (err, response) => {
|
|
143
233
|
if (response && response.length > 0) {
|
|
@@ -150,7 +240,7 @@ export const createRedisRepository = (getDb: () => Redis, keyPrefix: string) =>
|
|
|
150
240
|
},
|
|
151
241
|
|
|
152
242
|
findAll: async () => {
|
|
153
|
-
const db =
|
|
243
|
+
const db = await resolveDb();
|
|
154
244
|
return new Promise((resolve, reject) => {
|
|
155
245
|
db.keys(keyPrefix + '*', (err, response) => {
|
|
156
246
|
if (response && response.length > 0) {
|
|
@@ -165,7 +255,7 @@ export const createRedisRepository = (getDb: () => Redis, keyPrefix: string) =>
|
|
|
165
255
|
},
|
|
166
256
|
|
|
167
257
|
save: async (_id: string, _data: any) => {
|
|
168
|
-
const db =
|
|
258
|
+
const db = await resolveDb();
|
|
169
259
|
return new Promise((resolve, reject) => {
|
|
170
260
|
db.set(_id, _data, (err, response) => {
|
|
171
261
|
promiseFunct(err, response, resolve, reject);
|
|
@@ -173,27 +263,13 @@ export const createRedisRepository = (getDb: () => Redis, keyPrefix: string) =>
|
|
|
173
263
|
});
|
|
174
264
|
},
|
|
175
265
|
|
|
176
|
-
saveTTL: async (_id: string, _data: any, ttl: number) => {
|
|
177
|
-
const db = getDb();
|
|
178
|
-
return new Promise((resolve, reject) => {
|
|
179
|
-
db.set(_id, _data, (err, response) => {
|
|
180
|
-
if (err) {
|
|
181
|
-
reject(err);
|
|
182
|
-
} else {
|
|
183
|
-
db.expire(_id, ttl);
|
|
184
|
-
resolve(response);
|
|
185
|
-
}
|
|
186
|
-
});
|
|
187
|
-
});
|
|
188
|
-
},
|
|
189
|
-
|
|
190
266
|
addTTL: async (_id: string, ttl: number) => {
|
|
191
|
-
const db =
|
|
267
|
+
const db = await resolveDb();
|
|
192
268
|
return db.expire(_id, ttl);
|
|
193
269
|
},
|
|
194
270
|
|
|
195
271
|
getTTL: async (_id: string) => {
|
|
196
|
-
const db =
|
|
272
|
+
const db = await resolveDb();
|
|
197
273
|
return new Promise((resolve, reject) => {
|
|
198
274
|
db.ttl(_id, (err, response) => {
|
|
199
275
|
promiseFunct(err, response, resolve, reject);
|
|
@@ -202,7 +278,7 @@ export const createRedisRepository = (getDb: () => Redis, keyPrefix: string) =>
|
|
|
202
278
|
},
|
|
203
279
|
|
|
204
280
|
incr: async (_id: string) => {
|
|
205
|
-
const db =
|
|
281
|
+
const db = await resolveDb();
|
|
206
282
|
return new Promise((resolve, reject) => {
|
|
207
283
|
db.incr(_id, (err, response) => {
|
|
208
284
|
promiseFunct(err, response, resolve, reject);
|
|
@@ -211,7 +287,7 @@ export const createRedisRepository = (getDb: () => Redis, keyPrefix: string) =>
|
|
|
211
287
|
},
|
|
212
288
|
|
|
213
289
|
sadd: async (_id: string, _data: any) => {
|
|
214
|
-
const db =
|
|
290
|
+
const db = await resolveDb();
|
|
215
291
|
return new Promise((resolve, reject) => {
|
|
216
292
|
db.sadd(_id, _data, (err, response) => {
|
|
217
293
|
promiseFunct(err, response, resolve, reject);
|
|
@@ -220,7 +296,7 @@ export const createRedisRepository = (getDb: () => Redis, keyPrefix: string) =>
|
|
|
220
296
|
},
|
|
221
297
|
|
|
222
298
|
sismember: async (_id: string, _data: any) => {
|
|
223
|
-
const db =
|
|
299
|
+
const db = await resolveDb();
|
|
224
300
|
return new Promise((resolve, reject) => {
|
|
225
301
|
db.sismember(_id, _data, (err, response) => {
|
|
226
302
|
promiseFunct(err, response, resolve, reject);
|
|
@@ -229,7 +305,7 @@ export const createRedisRepository = (getDb: () => Redis, keyPrefix: string) =>
|
|
|
229
305
|
},
|
|
230
306
|
|
|
231
307
|
sisremove: async (_id: string, _data: any) => {
|
|
232
|
-
const db =
|
|
308
|
+
const db = await resolveDb();
|
|
233
309
|
return new Promise((resolve, reject) => {
|
|
234
310
|
db.srem(_id, _data, (err, response) => {
|
|
235
311
|
promiseFunct(err, response, resolve, reject);
|
|
@@ -238,7 +314,7 @@ export const createRedisRepository = (getDb: () => Redis, keyPrefix: string) =>
|
|
|
238
314
|
},
|
|
239
315
|
|
|
240
316
|
smembers: async (_id: string) => {
|
|
241
|
-
const db =
|
|
317
|
+
const db = await resolveDb();
|
|
242
318
|
return new Promise((resolve, reject) => {
|
|
243
319
|
db.smembers(_id, (err, response) => {
|
|
244
320
|
promiseFunct(err, response, resolve, reject);
|
|
@@ -254,7 +330,7 @@ export const createRedisRepository = (getDb: () => Redis, keyPrefix: string) =>
|
|
|
254
330
|
},
|
|
255
331
|
|
|
256
332
|
clear: async (key: string) => {
|
|
257
|
-
const db =
|
|
333
|
+
const db = await resolveDb();
|
|
258
334
|
return new Promise((resolve, reject) => {
|
|
259
335
|
db.del(key, (err, response) => {
|
|
260
336
|
promiseFunct(err, response, resolve, reject);
|
|
@@ -263,34 +339,72 @@ export const createRedisRepository = (getDb: () => Redis, keyPrefix: string) =>
|
|
|
263
339
|
}
|
|
264
340
|
};
|
|
265
341
|
};
|
|
342
|
+
|
|
343
|
+
export function createRedisConnector(urlOrOptions: string | RedisOptions): RedisConnector {
|
|
344
|
+
const connector = typeof urlOrOptions === 'string'
|
|
345
|
+
? new RedisConnector(urlOrOptions)
|
|
346
|
+
: new RedisConnector(urlOrOptions);
|
|
347
|
+
setRedisConnectorInstance(connector);
|
|
348
|
+
return connector;
|
|
349
|
+
}
|
|
266
350
|
`;
|
|
267
|
-
await fs.writeFile(path.join(projectPath, 'src', '
|
|
351
|
+
await fs.writeFile(path.join(projectPath, 'src', 'database', 'redis.ts'), redisContent);
|
|
268
352
|
}
|
|
269
|
-
//
|
|
353
|
+
// src/database/mongo.ts
|
|
270
354
|
if (useMongo) {
|
|
271
|
-
const
|
|
272
|
-
import mongoose from 'mongoose';
|
|
273
|
-
|
|
274
|
-
let mongoConnector: MongoDBConnector | null = null;
|
|
355
|
+
const mongoContent = `import mongoose from 'mongoose';
|
|
275
356
|
|
|
276
|
-
export
|
|
277
|
-
|
|
357
|
+
export interface MongoDBOptions {
|
|
358
|
+
uri: string;
|
|
359
|
+
options?: mongoose.ConnectOptions;
|
|
360
|
+
secondaryConnections?: Record<string, string>;
|
|
278
361
|
}
|
|
279
362
|
|
|
280
|
-
export
|
|
281
|
-
|
|
282
|
-
|
|
363
|
+
export class MongoDBConnector {
|
|
364
|
+
private uri: string;
|
|
365
|
+
private options: mongoose.ConnectOptions;
|
|
366
|
+
private secondaryConnectionsConfig: Record<string, string> = {};
|
|
367
|
+
private isConnected = false;
|
|
368
|
+
private secondaryConnections: Map<string, mongoose.Connection> = new Map();
|
|
369
|
+
|
|
370
|
+
constructor(config: MongoDBOptions) {
|
|
371
|
+
this.uri = config.uri;
|
|
372
|
+
this.options = config.options || {};
|
|
373
|
+
this.secondaryConnectionsConfig = config.secondaryConnections || {};
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
async connect(): Promise<void> {
|
|
377
|
+
if (this.isConnected) return;
|
|
378
|
+
try {
|
|
379
|
+
await mongoose.connect(this.uri, this.options);
|
|
380
|
+
this.isConnected = true;
|
|
381
|
+
console.log('✅ Primary MongoDB connected');
|
|
382
|
+
|
|
383
|
+
const secondaryPromises = Object.entries(this.secondaryConnectionsConfig).map(async ([name, uri]) => {
|
|
384
|
+
const conn = mongoose.createConnection(uri, this.options);
|
|
385
|
+
await conn.asPromise();
|
|
386
|
+
this.secondaryConnections.set(name, conn);
|
|
387
|
+
console.log(\`✅ Secondary MongoDB '\${name}' connected\`);
|
|
388
|
+
});
|
|
389
|
+
await Promise.all(secondaryPromises);
|
|
390
|
+
} catch (error) {
|
|
391
|
+
console.error('MongoDB connection error:', error);
|
|
392
|
+
throw error;
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
|
|
396
|
+
getSecondaryConnection(name: string): mongoose.Connection | undefined {
|
|
397
|
+
return this.secondaryConnections.get(name);
|
|
283
398
|
}
|
|
284
|
-
return mongoConnector;
|
|
285
399
|
}
|
|
286
400
|
|
|
287
|
-
export function
|
|
288
|
-
return
|
|
401
|
+
export function createMongoDBConnector(uri: string, secondaryConnections?: Record<string, string>): MongoDBConnector {
|
|
402
|
+
return new MongoDBConnector({ uri, secondaryConnections });
|
|
289
403
|
}
|
|
290
404
|
`;
|
|
291
|
-
await fs.writeFile(path.join(projectPath, 'src', '
|
|
405
|
+
await fs.writeFile(path.join(projectPath, 'src', 'database', 'mongo.ts'), mongoContent);
|
|
292
406
|
}
|
|
293
|
-
// 5.2 src/
|
|
407
|
+
// 5.2 src/database/mysql/client.ts (Only if MySQL is enabled)
|
|
294
408
|
if (useMySQL) {
|
|
295
409
|
const mysqlClientContent = `import { Sequelize } from 'sequelize';
|
|
296
410
|
|
|
@@ -370,25 +484,30 @@ export default () => {
|
|
|
370
484
|
import { typeDefs, resolvers } from './features/index.js';
|
|
371
485
|
import * as dotenv from 'dotenv';\n`;
|
|
372
486
|
if (useMongo) {
|
|
373
|
-
indexImports += `import {
|
|
487
|
+
indexImports += `import { createMongoDBConnector } from './database/mongo.js';\n`;
|
|
374
488
|
}
|
|
375
489
|
if (useRedis) {
|
|
376
|
-
indexImports += `import {
|
|
490
|
+
indexImports += `import { createRedisConnector } from './database/redis.js';\n`;
|
|
377
491
|
}
|
|
378
492
|
if (useMySQL) {
|
|
379
|
-
indexImports += `import { MySQLConnector, setMySQLConnector } from './
|
|
493
|
+
indexImports += `import { MySQLConnector, setMySQLConnector } from './database/mysql/client.js';\n`;
|
|
380
494
|
}
|
|
381
495
|
const indexConfig = [];
|
|
382
496
|
indexConfig.push(`port: parseInt(process.env.PORT || '4000')`);
|
|
383
497
|
if (useMongo) {
|
|
384
498
|
indexConfig.push(`mongoUri: process.env.MONGO_URI || ''`);
|
|
385
499
|
}
|
|
500
|
+
let redisConnectorInit = '';
|
|
386
501
|
if (useRedis) {
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
502
|
+
redisConnectorInit = `
|
|
503
|
+
const redisConnector = createRedisConnector({
|
|
504
|
+
host: process.env.REDIS_HOST || 'localhost',
|
|
505
|
+
port: parseInt(process.env.REDIS_PORT || '6379'),
|
|
506
|
+
password: process.env.REDIS_PASSWORD,
|
|
507
|
+
db: parseInt(process.env.REDIS_DB || '0')
|
|
508
|
+
});
|
|
509
|
+
`;
|
|
510
|
+
indexConfig.push(`redisConnector: redisConnector`);
|
|
392
511
|
}
|
|
393
512
|
if (useMongo && dbNames.length > 0) {
|
|
394
513
|
const secondaryConfig = dbNames.map(name => {
|
|
@@ -404,6 +523,8 @@ import * as dotenv from 'dotenv';\n`;
|
|
|
404
523
|
const indexContent = `${indexImports}
|
|
405
524
|
dotenv.config();
|
|
406
525
|
|
|
526
|
+
${redisConnectorInit}
|
|
527
|
+
|
|
407
528
|
const server = new MicroserviceServer({
|
|
408
529
|
${indexConfig.join(',\n ')},
|
|
409
530
|
typeDefs,
|
|
@@ -440,9 +561,12 @@ setMySQLConnector(mysqlConnector);
|
|
|
440
561
|
|
|
441
562
|
server.start().then(async () => {
|
|
442
563
|
${useMongo ? `if (server.getMongoDBConnector()) {
|
|
443
|
-
|
|
564
|
+
// Optional: Expose mongo connector global if needed,
|
|
565
|
+
// but current pattern might check server.getMongoDBConnector()
|
|
444
566
|
}` : ''}
|
|
445
567
|
|
|
568
|
+
${useRedis ? `await redisConnector.connect();` : ''}
|
|
569
|
+
|
|
446
570
|
${useMySQL ? `await mysqlConnector.connect();` : ''}
|
|
447
571
|
|
|
448
572
|
console.log('Server initialized');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init-generator.js","sourceRoot":"","sources":["../../../src/cli/generators/init-generator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAAE,OAA+B,EAAE,EAAE;IAClE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,IAAI,EAAE,QAAQ,GAAG,IAAI,EAAE,QAAQ,GAAG,KAAK,EAAE,OAAO,GAAG,EAAE,EAAE,YAAY,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;IAC9G,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;IAEnD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,0BAA0B,GAAG,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC;IAE1E,wBAAwB;IACxB,MAAM,IAAI,GAAG;QACT,WAAW;QACX,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,UAAU,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,UAAU,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,OAAO,CAAC;QACtC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,QAAQ,CAAC;KAC1C,CAAC;IAEF,
|
|
1
|
+
{"version":3,"file":"init-generator.js","sourceRoot":"","sources":["../../../src/cli/generators/init-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,10 @@ export class MicroserviceServer {
|
|
|
18
18
|
constructor(config) {
|
|
19
19
|
this.config = config;
|
|
20
20
|
this.app = express();
|
|
21
|
-
if (config.
|
|
21
|
+
if (config.redisConnector) {
|
|
22
|
+
this.redisConnector = config.redisConnector;
|
|
23
|
+
}
|
|
24
|
+
else if (config.redisHost && config.redisPort) {
|
|
22
25
|
this.redisConnector = createRedisConnector({
|
|
23
26
|
host: config.redisHost,
|
|
24
27
|
port: config.redisPort,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MicroserviceServer.js","sourceRoot":"","sources":["../../src/core/MicroserviceServer.ts"],"names":[],"mappings":"AAAA,OAAO,OAAoB,MAAM,SAAS,CAAC;AAC3C,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAoB,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAkB,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EAAE,yCAAyC,EAAE,MAAM,2CAA2C,CAAC;AACtG,OAAO,EAAE,qCAAqC,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"MicroserviceServer.js","sourceRoot":"","sources":["../../src/core/MicroserviceServer.ts"],"names":[],"mappings":"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"}
|