@x-fiber-sys/dev-tool 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/README.md +11 -0
  2. package/dist/_cjs/common/action-kind.js +17 -0
  3. package/dist/_cjs/common/constants.js +8 -0
  4. package/dist/_cjs/common/document-kind.js +32 -0
  5. package/dist/_cjs/common/envs-kind.js +142 -0
  6. package/dist/_cjs/common/index.js +25 -0
  7. package/dist/_cjs/common/libraries-kind.js +116 -0
  8. package/dist/_cjs/common/menu-items.js +8 -0
  9. package/dist/_cjs/common/protocol-kind.js +62 -0
  10. package/dist/_cjs/common/symbols-kind.js +45 -0
  11. package/dist/_cjs/common/typings-kind.js +9 -0
  12. package/dist/_cjs/debug.js +195 -0
  13. package/dist/_cjs/index.js +5 -0
  14. package/dist/_cjs/initiator.js +28 -0
  15. package/dist/_cjs/schemas/generate.schema.js +2 -0
  16. package/dist/_cjs/schemas/index.js +18 -0
  17. package/dist/_cjs/schemas/row.schema.js +2 -0
  18. package/dist/_cjs/services/generator.js +107 -0
  19. package/dist/_cjs/services/index.js +19 -0
  20. package/dist/_cjs/services/installer.js +46 -0
  21. package/dist/_cjs/services/navigator.js +69 -0
  22. package/dist/_cjs/services/runner.js +20 -0
  23. package/dist/_cjs/templates/cache.template.js +58 -0
  24. package/dist/_cjs/templates/envs.template.js +115 -0
  25. package/dist/_cjs/templates/index.js +26 -0
  26. package/dist/_cjs/templates/index.template.js +38 -0
  27. package/dist/_cjs/templates/initiator.template.js +750 -0
  28. package/dist/_cjs/templates/ioc.template.js +107 -0
  29. package/dist/_cjs/templates/module.template.js +132 -0
  30. package/dist/_cjs/templates/pg-repository.template.js +432 -0
  31. package/dist/_cjs/templates/sys.template.js +110 -0
  32. package/dist/_cjs/templates/transport.template.js +490 -0
  33. package/dist/_cjs/templates/validator.template.js +16 -0
  34. package/dist/_cjs/types/index.js +2 -0
  35. package/dist/_cjs/types/module.js +2 -0
  36. package/dist/_cjs/types/service.js +2 -0
  37. package/dist/_cjs/utils/hello.js +17 -0
  38. package/dist/_cjs/utils/index.js +18 -0
  39. package/dist/_cjs/utils/ts-utils.js +7 -0
  40. package/dist/_types/common/action-kind.d.ts +15 -0
  41. package/dist/_types/common/constants.d.ts +5 -0
  42. package/dist/_types/common/document-kind.d.ts +29 -0
  43. package/dist/_types/common/envs-kind.d.ts +390 -0
  44. package/dist/_types/common/index.d.ts +9 -0
  45. package/dist/_types/common/libraries-kind.d.ts +115 -0
  46. package/dist/_types/common/menu-items.d.ts +7 -0
  47. package/dist/_types/common/protocol-kind.d.ts +59 -0
  48. package/dist/_types/common/symbols-kind.d.ts +44 -0
  49. package/dist/_types/common/typings-kind.d.ts +6 -0
  50. package/dist/_types/debug.d.ts +19 -0
  51. package/dist/_types/index.d.ts +2 -0
  52. package/dist/_types/initiator.d.ts +7 -0
  53. package/dist/_types/schemas/generate.schema.d.ts +38 -0
  54. package/dist/_types/schemas/index.d.ts +2 -0
  55. package/dist/_types/schemas/row.schema.d.ts +20 -0
  56. package/dist/_types/services/generator.d.ts +15 -0
  57. package/dist/_types/services/index.d.ts +3 -0
  58. package/dist/_types/services/installer.d.ts +5 -0
  59. package/dist/_types/services/navigator.d.ts +10 -0
  60. package/dist/_types/services/runner.d.ts +3 -0
  61. package/dist/_types/templates/cache.template.d.ts +8 -0
  62. package/dist/_types/templates/envs.template.d.ts +5 -0
  63. package/dist/_types/templates/index.d.ts +10 -0
  64. package/dist/_types/templates/index.template.d.ts +7 -0
  65. package/dist/_types/templates/initiator.template.d.ts +33 -0
  66. package/dist/_types/templates/ioc.template.d.ts +9 -0
  67. package/dist/_types/templates/module.template.d.ts +8 -0
  68. package/dist/_types/templates/pg-repository.template.d.ts +19 -0
  69. package/dist/_types/templates/sys.template.d.ts +23 -0
  70. package/dist/_types/templates/transport.template.d.ts +15 -0
  71. package/dist/_types/templates/validator.template.d.ts +7 -0
  72. package/dist/_types/types/index.d.ts +2 -0
  73. package/dist/_types/types/module.d.ts +10 -0
  74. package/dist/_types/types/service.d.ts +21 -0
  75. package/dist/_types/utils/hello.d.ts +1 -0
  76. package/dist/_types/utils/index.d.ts +2 -0
  77. package/dist/_types/utils/ts-utils.d.ts +1 -0
  78. package/package.json +48 -0
@@ -0,0 +1,750 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InitiatorTemplate = void 0;
4
+ const ts_morph_1 = require("ts-morph");
5
+ const morphix_1 = require("@terra-versity/morphix");
6
+ const common_1 = require("../common");
7
+ class InitiatorTemplate {
8
+ constructor(path, concept) {
9
+ this._imports = new morphix_1.ImportsSculptor();
10
+ this._class = new morphix_1.ClassSculptor();
11
+ this._path = path;
12
+ this._concept = concept;
13
+ }
14
+ generate() {
15
+ const { service, libraries } = this._concept;
16
+ let source = new ts_morph_1.Project().createSourceFile(this._path, '', { overwrite: true });
17
+ const imports = [
18
+ { module: './ioc', namedImports: common_1.SYMBOL_NAME },
19
+ { module: `~${service}-types/envs`, namedImports: 'ConfigEnvs' },
20
+ {
21
+ module: common_1.LibrariesKindMapping.reflection,
22
+ namedImports: [common_1.ReflectionKindMapping.extract, common_1.ReflectionKindMapping.registry],
23
+ },
24
+ {
25
+ module: common_1.LibrariesKindMapping.be_config,
26
+ namedImports: ['Config', 'ConfigObj'],
27
+ isTypings: true,
28
+ },
29
+ {
30
+ module: common_1.LibrariesKindMapping.context,
31
+ namedImports: ['Context'],
32
+ isTypings: true,
33
+ },
34
+ {
35
+ module: common_1.LibrariesKindMapping.logger,
36
+ namedImports: ['Logger', 'Level'],
37
+ isTypings: true,
38
+ },
39
+ {
40
+ module: common_1.LibrariesKindMapping.tracer,
41
+ namedImports: ['Tracer'],
42
+ isTypings: true,
43
+ },
44
+ ];
45
+ const parameters = [
46
+ this._applyModule({
47
+ name: common_1.SymbolsAliasMapping.config,
48
+ sym: common_1.SymbolsKindMapping.config,
49
+ type: (writer) => writer.writeLine(`${common_1.SymbolsKindMapping.config}<ConfigEnvs>`),
50
+ }),
51
+ this._applyModule({
52
+ name: common_1.SymbolsAliasMapping.context,
53
+ sym: common_1.SymbolsKindMapping.context,
54
+ type: (writer) => writer.writeLine(common_1.SymbolsKindMapping.context),
55
+ }),
56
+ this._applyModule({
57
+ name: common_1.SymbolsAliasMapping.logger,
58
+ sym: common_1.SymbolsKindMapping.logger,
59
+ type: (writer) => writer.writeLine(common_1.SymbolsKindMapping.logger),
60
+ }),
61
+ this._applyModule({
62
+ name: common_1.SymbolsAliasMapping.tracer,
63
+ sym: common_1.SymbolsKindMapping.tracer,
64
+ type: (writer) => writer.writeLine(common_1.SymbolsKindMapping.tracer),
65
+ }),
66
+ this._applyModule({
67
+ name: common_1.SymbolsAliasMapping.registry,
68
+ sym: common_1.SymbolsKindMapping.registry,
69
+ type: (writer) => writer.writeLine(common_1.SymbolsKindMapping.registry),
70
+ }),
71
+ ];
72
+ if (libraries.scrambler) {
73
+ imports.push({
74
+ module: common_1.LibrariesKindMapping.scrambler,
75
+ namedImports: common_1.ScramblerKindMapping.scrambler,
76
+ isTypings: true,
77
+ });
78
+ parameters.push(this._applyModule({
79
+ name: common_1.SymbolsAliasMapping.scrambler,
80
+ sym: common_1.SymbolsKindMapping.scrambler,
81
+ type: (writer) => writer.writeLine(common_1.SymbolsKindMapping.scrambler),
82
+ }));
83
+ }
84
+ if (libraries.emails) {
85
+ imports.push({
86
+ module: common_1.LibrariesKindMapping.emails,
87
+ namedImports: common_1.EmailsKindMapping.emails,
88
+ isTypings: true,
89
+ });
90
+ parameters.push(this._applyModule({
91
+ name: common_1.SymbolsAliasMapping.emails,
92
+ sym: common_1.SymbolsKindMapping.emails,
93
+ type: (writer) => writer.writeLine(common_1.SymbolsKindMapping.emails),
94
+ }));
95
+ }
96
+ if (libraries.slack) {
97
+ imports.push({
98
+ module: common_1.LibrariesKindMapping.slack,
99
+ namedImports: common_1.SlackKindMapping.slack,
100
+ isTypings: true,
101
+ });
102
+ parameters.push(this._applyModule({
103
+ name: common_1.SymbolsAliasMapping.slack,
104
+ sym: common_1.SymbolsKindMapping.slack,
105
+ type: (writer) => writer.writeLine(common_1.SymbolsKindMapping.slack),
106
+ }));
107
+ }
108
+ if (libraries.telegram) {
109
+ imports.push({
110
+ module: common_1.LibrariesKindMapping.telegram,
111
+ namedImports: common_1.TelegramKindMapping.telegram,
112
+ isTypings: true,
113
+ });
114
+ parameters.push(this._applyModule({
115
+ name: common_1.SymbolsAliasMapping.telegram,
116
+ sym: common_1.SymbolsKindMapping.telegram,
117
+ type: (writer) => writer.writeLine(common_1.SymbolsKindMapping.telegram),
118
+ }));
119
+ }
120
+ if (libraries.redis) {
121
+ imports.push({
122
+ module: common_1.LibrariesKindMapping.redis,
123
+ namedImports: common_1.RedisKindMapping.redis,
124
+ isTypings: true,
125
+ });
126
+ parameters.push(this._applyModule({
127
+ name: common_1.SymbolsAliasMapping.redis,
128
+ sym: common_1.SymbolsKindMapping.redis,
129
+ type: (writer) => writer.writeLine(common_1.SymbolsKindMapping.redis),
130
+ }));
131
+ }
132
+ if (libraries.broker) {
133
+ imports.push({
134
+ module: common_1.LibrariesKindMapping.kafka,
135
+ namedImports: common_1.BrokerKindMapping.broker,
136
+ isTypings: true,
137
+ });
138
+ parameters.push(this._applyModule({
139
+ name: common_1.SymbolsAliasMapping.broker,
140
+ sym: common_1.SymbolsKindMapping.broker,
141
+ type: (writer) => writer.writeLine(common_1.SymbolsKindMapping.broker),
142
+ }));
143
+ }
144
+ if (libraries.clickHouse) {
145
+ imports.push({
146
+ module: common_1.LibrariesKindMapping.click_house,
147
+ namedImports: common_1.ClickHouseKindMapping.click_house,
148
+ isTypings: true,
149
+ });
150
+ parameters.push(this._applyModule({
151
+ name: common_1.SymbolsAliasMapping.click_house,
152
+ sym: common_1.SymbolsKindMapping.click_house,
153
+ type: (writer) => writer.writeLine(common_1.SymbolsKindMapping.click_house),
154
+ }));
155
+ }
156
+ if (libraries.postgres) {
157
+ imports.push({
158
+ module: common_1.LibrariesKindMapping.sql,
159
+ namedImports: common_1.SqlKindMapping.postgres,
160
+ isTypings: true,
161
+ });
162
+ parameters.push(this._applyModule({
163
+ name: common_1.SymbolsAliasMapping.postgres,
164
+ sym: common_1.SymbolsKindMapping.postgres,
165
+ type: (writer) => writer.writeLine(common_1.SymbolsKindMapping.postgres),
166
+ }));
167
+ }
168
+ if (libraries.timescale) {
169
+ imports.push({
170
+ module: common_1.LibrariesKindMapping.sql,
171
+ namedImports: common_1.SqlKindMapping.timescale,
172
+ isTypings: true,
173
+ });
174
+ parameters.push(this._applyModule({
175
+ name: common_1.SymbolsAliasMapping.timescale,
176
+ sym: common_1.SymbolsKindMapping.timescale,
177
+ type: (writer) => writer.writeLine(common_1.SymbolsKindMapping.timescale),
178
+ }));
179
+ }
180
+ if (libraries.storix) {
181
+ imports.push({
182
+ module: common_1.LibrariesKindMapping.storix,
183
+ namedImports: common_1.StorixKindMapping.storix,
184
+ isTypings: true,
185
+ });
186
+ parameters.push(this._applyModule({
187
+ name: common_1.SymbolsAliasMapping.storix,
188
+ sym: common_1.SymbolsKindMapping.storix,
189
+ type: (writer) => writer.writeLine(common_1.SymbolsKindMapping.storix),
190
+ }));
191
+ }
192
+ if (libraries.manager) {
193
+ imports.push({
194
+ module: common_1.LibrariesKindMapping.manager,
195
+ namedImports: common_1.ManagerKindMapping.manager,
196
+ isTypings: true,
197
+ });
198
+ parameters.push(this._applyModule({
199
+ name: common_1.SymbolsAliasMapping.manager,
200
+ sym: common_1.SymbolsKindMapping.manager,
201
+ type: (writer) => writer.writeLine(common_1.SymbolsKindMapping.manager),
202
+ }));
203
+ }
204
+ if (libraries.httpServer) {
205
+ imports.push({
206
+ module: common_1.LibrariesKindMapping.http_server,
207
+ namedImports: common_1.HttpServerKindMapping.http_server,
208
+ isTypings: true,
209
+ });
210
+ parameters.push(this._applyModule({
211
+ name: common_1.SymbolsAliasMapping.http_server,
212
+ sym: common_1.SymbolsKindMapping.http_server,
213
+ type: (writer) => writer.writeLine(common_1.SymbolsKindMapping.http_server),
214
+ }));
215
+ }
216
+ if (libraries.wsServer) {
217
+ imports.push({
218
+ module: common_1.LibrariesKindMapping.ws_server,
219
+ namedImports: common_1.WsServerKindMapping.ws_server,
220
+ isTypings: true,
221
+ });
222
+ parameters.push(this._applyModule({
223
+ name: common_1.SymbolsAliasMapping.ws_server,
224
+ sym: common_1.SymbolsKindMapping.ws_server,
225
+ type: (writer) => writer.writeLine(common_1.SymbolsKindMapping.ws_server),
226
+ }));
227
+ }
228
+ const methods = [
229
+ {
230
+ name: 'init',
231
+ scope: ts_morph_1.Scope.Public,
232
+ isAsync: true,
233
+ body: (writer) => {
234
+ writer.writeLine(`await ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.${common_1.INIT_METHOD}(this._envs)`);
235
+ writer.blankLine();
236
+ writer.writeLine(`await ${common_1.THIS}.${common_1.SymbolsAliasMapping.registry}.${common_1.INIT_METHOD}(['latest'])`);
237
+ const packages = [
238
+ common_1.SymbolsAliasMapping.logger,
239
+ common_1.SymbolsAliasMapping.tracer,
240
+ ];
241
+ const mapping = {
242
+ [common_1.SymbolsAliasMapping.logger]: this._addLogger,
243
+ [common_1.SymbolsAliasMapping.tracer]: this._addTracer,
244
+ };
245
+ if (libraries.scrambler) {
246
+ packages.push(common_1.SymbolsAliasMapping.scrambler);
247
+ mapping[common_1.SymbolsAliasMapping.scrambler] = this._addScrambler;
248
+ }
249
+ if (libraries.emails) {
250
+ packages.push(common_1.SymbolsAliasMapping.emails);
251
+ mapping[common_1.SymbolsAliasMapping.emails] = this._addEmails;
252
+ }
253
+ if (libraries.slack) {
254
+ packages.push(common_1.SymbolsAliasMapping.slack);
255
+ mapping[common_1.SymbolsAliasMapping.slack] = this._addSlack;
256
+ }
257
+ if (libraries.telegram) {
258
+ packages.push(common_1.SymbolsAliasMapping.telegram);
259
+ mapping[common_1.SymbolsAliasMapping.telegram] = this._addTelegram;
260
+ }
261
+ if (libraries.redis) {
262
+ packages.push(common_1.SymbolsAliasMapping.redis);
263
+ mapping[common_1.SymbolsAliasMapping.redis] = this._addRedis;
264
+ }
265
+ if (libraries.broker) {
266
+ packages.push(common_1.SymbolsAliasMapping.broker);
267
+ mapping[common_1.SymbolsAliasMapping.broker] = this._addBroker;
268
+ }
269
+ if (libraries.clickHouse) {
270
+ packages.push(common_1.SymbolsAliasMapping.click_house);
271
+ mapping[common_1.SymbolsAliasMapping.click_house] = this._addClickHouse;
272
+ }
273
+ if (libraries.postgres) {
274
+ packages.push(common_1.SymbolsAliasMapping.postgres);
275
+ mapping[common_1.SymbolsAliasMapping.postgres] = this._addPostgres;
276
+ }
277
+ if (libraries.timescale) {
278
+ packages.push(common_1.SymbolsAliasMapping.timescale);
279
+ mapping[common_1.SymbolsAliasMapping.timescale] = this._addTimescale;
280
+ }
281
+ if (libraries.storix) {
282
+ packages.push(common_1.SymbolsAliasMapping.storix);
283
+ mapping[common_1.SymbolsAliasMapping.storix] = this._addStorix;
284
+ }
285
+ if (libraries.manager) {
286
+ packages.push(common_1.SymbolsAliasMapping.manager);
287
+ mapping[common_1.SymbolsAliasMapping.manager] = this._addManager;
288
+ }
289
+ if (libraries.httpServer) {
290
+ packages.push(common_1.SymbolsAliasMapping.http_server);
291
+ mapping[common_1.SymbolsAliasMapping.http_server] = this._addHttpServer;
292
+ }
293
+ packages.forEach((pkg) => {
294
+ if (mapping[pkg]) {
295
+ writer.write(`
296
+ await ${common_1.THIS}.${pkg}.${common_1.INIT_METHOD}({
297
+ ${mapping[pkg]()}
298
+ })
299
+ `);
300
+ }
301
+ });
302
+ if (libraries.wsServer) {
303
+ if (!libraries.scrambler) {
304
+ this._addScrambler();
305
+ writer.write(`
306
+ await ${common_1.THIS}.${common_1.SymbolsAliasMapping.redis_subscriber}.${common_1.INIT_METHOD}({
307
+ ${this._addRedis('websocket-gw')}
308
+ })
309
+ `);
310
+ writer.write(`
311
+ await ${common_1.THIS}.${common_1.SymbolsAliasMapping.redis_publisher}.${common_1.INIT_METHOD}({
312
+ ${this._addRedis('websocket-gw')}
313
+ })
314
+ `);
315
+ }
316
+ this._addWsServer();
317
+ }
318
+ },
319
+ },
320
+ {
321
+ name: 'healthcheck',
322
+ scope: ts_morph_1.Scope.Public,
323
+ isAsync: true,
324
+ body: (writer) => {
325
+ const packages = [];
326
+ if (libraries.wsServer)
327
+ packages.push(common_1.SymbolsAliasMapping.ws_server);
328
+ if (libraries.httpServer)
329
+ packages.push(common_1.SymbolsAliasMapping.http_server);
330
+ if (libraries.manager)
331
+ packages.push(common_1.SymbolsAliasMapping.manager);
332
+ if (libraries.storix)
333
+ packages.push(common_1.SymbolsAliasMapping.storix);
334
+ if (libraries.timescale)
335
+ packages.push(common_1.SymbolsAliasMapping.timescale);
336
+ if (libraries.postgres)
337
+ packages.push(common_1.SymbolsAliasMapping.postgres);
338
+ if (libraries.clickHouse)
339
+ packages.push(common_1.SymbolsAliasMapping.click_house);
340
+ if (libraries.broker)
341
+ packages.push(common_1.SymbolsAliasMapping.broker);
342
+ if (libraries.redis)
343
+ packages.push(common_1.SymbolsAliasMapping.redis);
344
+ packages.forEach((pkg) => writer.writeLine(`await ${common_1.THIS}.${pkg}.${common_1.DESTROY_METHOD}()`));
345
+ },
346
+ },
347
+ {
348
+ name: 'destroy',
349
+ scope: ts_morph_1.Scope.Public,
350
+ isAsync: true,
351
+ body: (writer) => {
352
+ const packages = [
353
+ common_1.SymbolsAliasMapping.tracer,
354
+ common_1.SymbolsAliasMapping.logger,
355
+ common_1.SymbolsAliasMapping.config,
356
+ ];
357
+ if (libraries.wsServer)
358
+ packages.push(common_1.SymbolsAliasMapping.ws_server);
359
+ if (libraries.httpServer)
360
+ packages.push(common_1.SymbolsAliasMapping.http_server);
361
+ if (libraries.manager)
362
+ packages.push(common_1.SymbolsAliasMapping.manager);
363
+ if (libraries.storix)
364
+ packages.push(common_1.SymbolsAliasMapping.storix);
365
+ if (libraries.timescale)
366
+ packages.push(common_1.SymbolsAliasMapping.timescale);
367
+ if (libraries.postgres)
368
+ packages.push(common_1.SymbolsAliasMapping.postgres);
369
+ if (libraries.clickHouse)
370
+ packages.push(common_1.SymbolsAliasMapping.click_house);
371
+ if (libraries.broker)
372
+ packages.push(common_1.SymbolsAliasMapping.broker);
373
+ if (libraries.redis)
374
+ packages.push(common_1.SymbolsAliasMapping.redis);
375
+ if (libraries.telegram)
376
+ packages.push(common_1.SymbolsAliasMapping.telegram);
377
+ if (libraries.slack)
378
+ packages.push(common_1.SymbolsAliasMapping.slack);
379
+ packages.forEach((pkg) => writer.writeLine(`await ${common_1.THIS}.${pkg}.${common_1.DESTROY_METHOD}()`));
380
+ },
381
+ },
382
+ ];
383
+ source = this._imports.addModule(source, imports);
384
+ source = this._class.addClass(source, {
385
+ name: 'Initiator',
386
+ constructor: { parameters },
387
+ options: { isExportable: true },
388
+ methods,
389
+ getters: {
390
+ name: '_envs',
391
+ scope: ts_morph_1.Scope.Private,
392
+ body: (writer) => writer.write(`return ${JSON.stringify(this._envs(writer))}`),
393
+ returning: (writer) => writer.writeLine('ConfigObj<ConfigEnvs>'),
394
+ },
395
+ });
396
+ source.saveSync();
397
+ }
398
+ _applyModule({ name, sym, type }) {
399
+ return {
400
+ name: name.toString(),
401
+ isReadonly: true,
402
+ scope: ts_morph_1.Scope.Private,
403
+ type: (writer) => type(writer),
404
+ decorators: {
405
+ name: 'extract',
406
+ arguments: (writer) => writer.writeLine(`${common_1.SYMBOL_NAME}.${sym.toString()}`),
407
+ },
408
+ };
409
+ }
410
+ _envs(writer) {
411
+ const { libraries, service } = this._concept;
412
+ const envs = {
413
+ [common_1.EnvsKindMapping.service_name]: (0, common_1.getServiceName)(service),
414
+ [common_1.EnvsKindMapping.default_log_level]: common_1.EnvsDefaultMapping.default_log_level,
415
+ [common_1.EnvsKindMapping.tracer_collect_url]: common_1.EnvsDefaultMapping.default_log_level,
416
+ [common_1.EnvsKindMapping.tracer_type]: common_1.EnvsDefaultMapping.tracer_type,
417
+ [common_1.EnvsKindMapping.tracer_param]: common_1.EnvsDefaultMapping.tracer_param,
418
+ [common_1.EnvsKindMapping.tracer_log_spans]: common_1.EnvsDefaultMapping.tracer_log_spans,
419
+ };
420
+ const libraryEnvs = {
421
+ axios: [],
422
+ queue: [],
423
+ scrambler: [
424
+ 'scrambler_algorithm',
425
+ 'scrambler_random_bytes',
426
+ 'scrambler_salt',
427
+ 'scrambler_access_token_minutes',
428
+ 'scrambler_refresh_token_days',
429
+ 'scrambler_jwt_secret',
430
+ ],
431
+ emails: [
432
+ 'mail_is_secure',
433
+ 'mail_auth_username',
434
+ 'mail_auth_password',
435
+ 'mail_from_sender',
436
+ 'mail_host',
437
+ 'mail_port',
438
+ ],
439
+ slack: ['slack_secret', 'slack_token', 'slack_server_host', 'slack_server_port'],
440
+ telegram: ['telegram_bot_token'],
441
+ redis: ['redis_host', 'redis_port', 'redis_auth_user', 'redis_auth_password'],
442
+ broker: ['broker_url'],
443
+ clickHouse: [
444
+ 'click_house_write_host',
445
+ 'click_house_write_port',
446
+ 'click_house_write_user',
447
+ 'click_house_write_password',
448
+ 'click_house_database',
449
+ ],
450
+ postgres: [
451
+ 'postgres_write_host',
452
+ 'postgres_write_port',
453
+ 'postgres_write_username',
454
+ 'postgres_write_password',
455
+ 'postgres_database',
456
+ ],
457
+ timescale: [
458
+ 'timescale_write_host',
459
+ 'timescale_write_port',
460
+ 'timescale_write_username',
461
+ 'timescale_write_password',
462
+ 'timescale_database',
463
+ ],
464
+ storix: [
465
+ 'storix_aws_endpoint',
466
+ 'storix_aws_region',
467
+ 'storix_aws_access_id',
468
+ 'storix_aws_access_key',
469
+ 'storix_force_path_style',
470
+ ],
471
+ httpServer: ['http_server_host', 'http_server_port'],
472
+ manager: ['manager_host', 'manager_port'],
473
+ wsServer: ['ws_server_host', 'ws_server_port', 'ws_gw_service_endpoint'],
474
+ };
475
+ for (const [library, keys] of Object.entries(libraryEnvs)) {
476
+ if (libraries[library]) {
477
+ writer.blankLine();
478
+ for (const key of keys) {
479
+ envs[common_1.EnvsKindMapping[key]] = common_1.EnvsDefaultMapping[key];
480
+ }
481
+ }
482
+ }
483
+ return envs;
484
+ }
485
+ _addLogger() {
486
+ return `
487
+ packages: {
488
+ context: ${common_1.THIS}.${common_1.SymbolsAliasMapping.context},
489
+ },
490
+ config: {
491
+ logLevel: this.${common_1.SymbolsAliasMapping.config}.getString<Level>('${common_1.EnvsKindMapping.default_log_level}'),
492
+ },
493
+ options: {
494
+ service: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.getString('${common_1.EnvsKindMapping.service_name}'),
495
+ }
496
+ `;
497
+ }
498
+ _addTracer() {
499
+ return `
500
+ packages: {
501
+ logger: ${common_1.THIS}.${common_1.SymbolsAliasMapping.logger},
502
+ context: ${common_1.THIS}.${common_1.SymbolsAliasMapping.context},
503
+ },
504
+ config: {
505
+ collectorUrl: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.getString('${common_1.EnvsKindMapping.tracer_collect_url}'),
506
+ type: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.getString('${common_1.EnvsKindMapping.tracer_type}'),
507
+ param: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.getNumber('${common_1.EnvsKindMapping.tracer_param}'),
508
+ logSpans: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.getBoolean('${common_1.EnvsKindMapping.tracer_log_spans}'),
509
+ },
510
+ options: {
511
+ service: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.getString('${common_1.EnvsKindMapping.service_name}'),
512
+ }
513
+ `;
514
+ }
515
+ _addScrambler() {
516
+ return `
517
+ config: {
518
+ algorithm: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.getString('${common_1.EnvsKindMapping.scrambler_algorithm}'),
519
+ randomBytes: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.getNumber('${common_1.EnvsKindMapping.scrambler_random_bytes}'),
520
+ salt: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.getNumber('${common_1.EnvsKindMapping.scrambler_salt}'),
521
+ accessTokenMinutes: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.getNumber('${common_1.EnvsKindMapping.scrambler_access_token_minutes}'),
522
+ refreshTokenDays: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.getNumber('${common_1.EnvsKindMapping.scrambler_refresh_token_days}'),
523
+ jwtSecret: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.getString('${common_1.EnvsKindMapping.scrambler_jwt_secret}'),
524
+ },
525
+ `;
526
+ }
527
+ _addEmails() {
528
+ return `
529
+ packages: {
530
+ logger: ${common_1.THIS}.${common_1.SymbolsAliasMapping.logger},
531
+ },
532
+ config: {
533
+ host: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.getString('${common_1.EnvsKindMapping.mail_host}'),
534
+ port: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.getNumber('${common_1.EnvsKindMapping.mail_port}'),
535
+ secure: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.getBoolean('${common_1.EnvsKindMapping.mail_is_secure}'),
536
+ auth: {
537
+ user: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.getString('${common_1.EnvsKindMapping.mail_auth_username}'),
538
+ password: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.getString('${common_1.EnvsKindMapping.mail_auth_password}'),
539
+ },
540
+ },
541
+ options: {
542
+ fromSender: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.getString('${common_1.EnvsKindMapping.mail_from_sender}'),
543
+ }
544
+ `;
545
+ }
546
+ _addSlack() {
547
+ return `
548
+ packages: {
549
+ logger: ${common_1.THIS}.${common_1.SymbolsAliasMapping.logger},
550
+ },
551
+ config: {
552
+ secret: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.getString('${common_1.EnvsKindMapping.slack_secret}'),
553
+ token: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.getString('${common_1.EnvsKindMapping.slack_token}'),
554
+ host: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.getString('${common_1.EnvsKindMapping.slack_server_host}'),
555
+ port: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.getNumber('${common_1.EnvsKindMapping.slack_server_port}'),
556
+ },
557
+ `;
558
+ }
559
+ _addTelegram() {
560
+ return `
561
+ packages: {
562
+ logger: ${common_1.THIS}.${common_1.SymbolsAliasMapping.logger},
563
+ tracer: ${common_1.THIS}.${common_1.SymbolsAliasMapping.tracer},
564
+ context: ${common_1.THIS}.${common_1.SymbolsAliasMapping.context},
565
+ scrambler: ${common_1.THIS}.${common_1.SymbolsAliasMapping.scrambler},
566
+ },
567
+ config: {
568
+ token: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.getString('${common_1.EnvsKindMapping.telegram_bot_token}'),
569
+ },
570
+ `;
571
+ }
572
+ _addRedis(prefix) {
573
+ return `
574
+ packages: {
575
+ logger: ${common_1.THIS}.${common_1.SymbolsAliasMapping.logger}
576
+ },
577
+ config: {
578
+ host: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.getString('${common_1.EnvsKindMapping.redis_host}'),
579
+ port: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.getNumber('${common_1.EnvsKindMapping.redis_port}'),
580
+ auth: {
581
+ user: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.getString('${common_1.EnvsKindMapping.redis_auth_user}'),
582
+ password: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.getString('${common_1.EnvsKindMapping.redis_auth_password}'),
583
+ },
584
+ },
585
+ options: {
586
+ prefix: '${prefix}',
587
+ service: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.getString('${common_1.EnvsKindMapping.service_name}'),
588
+ isDevelopment: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.isDevelopment,
589
+ version: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.serviceVersion,
590
+ },
591
+ `;
592
+ }
593
+ _addBroker() {
594
+ return `
595
+ packages: {
596
+ logger: ${common_1.THIS}.${common_1.SymbolsAliasMapping.logger},
597
+ tracer: ${common_1.THIS}.${common_1.SymbolsAliasMapping.tracer},
598
+ context: ${common_1.THIS}.${common_1.SymbolsAliasMapping.context},
599
+ },
600
+ config: {
601
+ service: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.getString('${common_1.EnvsKindMapping.service_name}'),
602
+ brokers: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.getString('${common_1.EnvsKindMapping.broker_url}'),
603
+ },
604
+ options: {
605
+ requestTimeout: 10_000
606
+ },
607
+ `;
608
+ }
609
+ _addClickHouse() {
610
+ return `
611
+ packages: {
612
+ logger: ${common_1.THIS}.${common_1.SymbolsAliasMapping.logger},
613
+ },
614
+ config: {
615
+ write: {
616
+ port: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.getNumber('${common_1.EnvsKindMapping.click_house_write_port}'),
617
+ host: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.getString('${common_1.EnvsKindMapping.click_house_write_host}'),
618
+ auth: {
619
+ user: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.getString('${common_1.EnvsKindMapping.click_house_write_user}'),
620
+ password: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.getString('${common_1.EnvsKindMapping.click_house_write_password}'),
621
+ },
622
+ },
623
+ database: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.getString('${common_1.EnvsKindMapping.click_house_database}'),
624
+ },
625
+ options: {
626
+ service: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.getString('${common_1.EnvsKindMapping.service_name}'),
627
+ serviceVersion: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.serviceVersion,
628
+ isDevelopment: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.isDevelopment,
629
+ requestTimeout: 10_000
630
+ },
631
+ `;
632
+ }
633
+ _addPostgres() {
634
+ return `
635
+ packages: {
636
+ logger: ${common_1.THIS}.${common_1.SymbolsAliasMapping.logger},
637
+ },
638
+ config: {
639
+ write: {
640
+ host: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.getString('${common_1.EnvsKindMapping.postgres_write_host}'),
641
+ port: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.getNumber('${common_1.EnvsKindMapping.postgres_write_port}'),
642
+ auth: {
643
+ user: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.getString('${common_1.EnvsKindMapping.postgres_write_username}'),
644
+ password: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.getString('${common_1.EnvsKindMapping.postgres_write_password}'),
645
+ }
646
+ },
647
+ database: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.getString('${common_1.EnvsKindMapping.postgres_database}'),
648
+ },
649
+ options: {
650
+ service: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.getString('${common_1.EnvsKindMapping.service_name}'),
651
+ serviceVersion: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.serviceVersion,
652
+ isDevelopment: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.isDevelopment,
653
+ }
654
+ `;
655
+ }
656
+ _addTimescale() {
657
+ return `
658
+ packages: {
659
+ logger: ${common_1.THIS}.${common_1.SymbolsAliasMapping.logger},
660
+ },
661
+ config: {
662
+ write: {
663
+ host: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.getString('${common_1.EnvsKindMapping.timescale_write_host}'),
664
+ port: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.getNumber('${common_1.EnvsKindMapping.timescale_write_port}'),
665
+ auth: {
666
+ user: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.getString('${common_1.EnvsKindMapping.timescale_write_username}'),
667
+ password: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.getString('${common_1.EnvsKindMapping.timescale_write_password}'),
668
+ }
669
+ },
670
+ database: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.getString('${common_1.EnvsKindMapping.timescale_database}'),
671
+ },
672
+ options: {
673
+ service: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.getString('${common_1.EnvsKindMapping.service_name}'),
674
+ serviceVersion: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.serviceVersion,
675
+ isDevelopment: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.isDevelopment,
676
+ }
677
+ `;
678
+ }
679
+ _addStorix() {
680
+ return `
681
+ packages: {
682
+ logger: this.${common_1.SymbolsAliasMapping.logger},
683
+ },
684
+ config: {
685
+ endpoint: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.getString('${common_1.EnvsKindMapping.storix_aws_endpoint}'),
686
+ region: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.getString('${common_1.EnvsKindMapping.storix_aws_region}'),
687
+ auth: {
688
+ id: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.getString('${common_1.EnvsKindMapping.storix_aws_access_id}'),
689
+ key: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.getString('${common_1.EnvsKindMapping.storix_aws_access_key}'),
690
+ },
691
+ forcePathStyle: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.getBoolean('${common_1.EnvsKindMapping.storix_force_path_style}'),
692
+ }
693
+ `;
694
+ }
695
+ _addManager() {
696
+ return `
697
+ packages: {
698
+ logger: ${common_1.THIS}.${common_1.SymbolsAliasMapping.logger},
699
+ tracer: ${common_1.THIS}.${common_1.SymbolsAliasMapping.tracer},
700
+ context: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config},
701
+ registry: ${common_1.THIS}.${common_1.SymbolsAliasMapping.registry},
702
+ },
703
+ config: {
704
+ host: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.getString('${common_1.EnvsKindMapping.manager_host}'),
705
+ port: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.getNumber('${common_1.EnvsKindMapping.manager_port}'),
706
+ },
707
+ options: {
708
+ serviceVersion: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.serviceVersion,
709
+ },
710
+ `;
711
+ }
712
+ _addHttpServer() {
713
+ return `
714
+ packages: {
715
+ logger: ${common_1.THIS}.${common_1.SymbolsAliasMapping.logger},
716
+ tracer: ${common_1.THIS}.${common_1.SymbolsAliasMapping.tracer},
717
+ context: ${common_1.THIS}.${common_1.SymbolsAliasMapping.context},
718
+ registry: ${common_1.THIS}.${common_1.SymbolsAliasMapping.registry},
719
+ },
720
+ config: {
721
+ host: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.getString('${common_1.EnvsKindMapping.http_server_host}'),
722
+ port: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.getNumber('${common_1.EnvsKindMapping.http_server_port}'),
723
+ },
724
+ options: {
725
+ serviceVersion: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.serviceVersion,
726
+ }
727
+ `;
728
+ }
729
+ _addWsServer() {
730
+ return `
731
+ packages: {
732
+ logger: ${common_1.THIS}.${common_1.SymbolsAliasMapping.logger},
733
+ tracer: ${common_1.THIS}.${common_1.SymbolsAliasMapping.tracer},
734
+ context: ${common_1.THIS}.${common_1.SymbolsAliasMapping.context},
735
+ scrambler: ${common_1.THIS}.${common_1.SymbolsAliasMapping.scrambler},
736
+ subscriber: ${common_1.THIS}.${common_1.SymbolsAliasMapping.redis_subscriber},
737
+ publisher: ${common_1.THIS}.${common_1.SymbolsAliasMapping.redis_publisher},
738
+ },
739
+ config: {
740
+ host: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.getString('${common_1.EnvsKindMapping.ws_server_host}'),
741
+ port: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.getNumber('${common_1.EnvsKindMapping.ws_server_port}'),
742
+ endpoint: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.getString('${common_1.EnvsKindMapping.ws_gw_service_endpoint}'),
743
+ },
744
+ options: {
745
+ service: ${common_1.THIS}.${common_1.SymbolsAliasMapping.config}.getString('${common_1.EnvsKindMapping.service_name}'),
746
+ }
747
+ `;
748
+ }
749
+ }
750
+ exports.InitiatorTemplate = InitiatorTemplate;