@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,110 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SysTemplate = void 0;
4
+ const ts_morph_1 = require("ts-morph");
5
+ const morphix_1 = require("@terra-versity/morphix");
6
+ class SysTemplate {
7
+ constructor() {
8
+ this._variables = new morphix_1.VariablesSculptor();
9
+ }
10
+ package({ name, description }) {
11
+ return {
12
+ name: `@terra-versity/${name}-service`,
13
+ version: '0.1.0',
14
+ description,
15
+ author: 'pestsov-v <pestsov.js@gmail.com>',
16
+ homepage: 'https://github.com/pestsov-v/c-argo-be-mono#readme',
17
+ license: 'ISC',
18
+ main: 'src/index.ts',
19
+ publishConfig: {
20
+ access: 'public',
21
+ },
22
+ repository: {
23
+ type: 'git',
24
+ url: 'git+https://github.com/pestsov-v/c-argo-be-mono.git',
25
+ },
26
+ scripts: {
27
+ dev: 'nodemon ./src/index.ts',
28
+ },
29
+ bugs: {
30
+ url: 'https://github.com/pestsov-v/c-argo-be-mono/issues',
31
+ },
32
+ };
33
+ }
34
+ nodemon() {
35
+ return {
36
+ watch: ['.', '../../../libraries/*', '../../../core/*'],
37
+ ext: 'ts,js,json,d.ts',
38
+ ignore: ['node_modules', 'dist'],
39
+ exec: 'ts-node -r tsconfig-paths/register --files',
40
+ restartable: 'rs',
41
+ };
42
+ }
43
+ dockerfileDev({ kind, name, path }) {
44
+ let source = new ts_morph_1.Project().createSourceFile(path, '', { overwrite: true });
45
+ const workdir = 'c-argo-be-mono';
46
+ source = this._variables.addStatement(source, (writer) => {
47
+ writer.writeLine('FROM node:20.18.3-alpine');
48
+ writer.blankLine();
49
+ writer.writeLine('RUN apk add --no-cache bash');
50
+ writer.blankLine();
51
+ writer.writeLine(`WORKDIR /${workdir}`);
52
+ writer.blankLine();
53
+ writer.writeLine('COPY . .');
54
+ writer.blankLine();
55
+ writer.writeLine('RUN npm install --workspaces');
56
+ writer.blankLine();
57
+ writer.writeLine(`WORKDIR /${workdir}/services/${kind}/${name}-service`);
58
+ writer.blankLine();
59
+ writer.writeLine('ENV NODE_ENV=development');
60
+ writer.blankLine();
61
+ writer.writeLine('CMD ["npm", "run", "dev"]');
62
+ });
63
+ source.saveSync();
64
+ }
65
+ eslintrc(path) {
66
+ const source = new ts_morph_1.Project().createSourceFile(path, '', { overwrite: true });
67
+ this._variables.addStatement(source, (writer) => {
68
+ writer.writeLine('module.exports = {');
69
+ writer.writeLine(`extends: ['../../../.eslintrc.base.js'],`);
70
+ writer.writeLine(`parserOptions: { project: './tsconfig.json' },`);
71
+ writer.writeLine(`settings: {`);
72
+ writer.writeLine(`'import/resolver': {`);
73
+ writer.writeLine(`typescript: {`);
74
+ writer.writeLine('alwaysTryTypes: true,');
75
+ writer.writeLine(`project: './tsconfig.json',`);
76
+ writer.writeLine('}');
77
+ writer.writeLine('}');
78
+ writer.writeLine('}');
79
+ writer.writeLine('}');
80
+ });
81
+ source.saveSync();
82
+ }
83
+ project(name) {
84
+ return {
85
+ $schema: '../../../node_modules/nx/schemas/project-schema.json',
86
+ name: `${name}-service`,
87
+ sourceRoot: `services/sys/${name}-service/src`,
88
+ projectType: 'application',
89
+ targets: {},
90
+ tags: ['service'],
91
+ };
92
+ }
93
+ tsconfig(name) {
94
+ return {
95
+ extends: '../../../tsconfig.json',
96
+ baseUrl: '.',
97
+ compilerOptions: {
98
+ typeRoots: ['./src/types'],
99
+ paths: {
100
+ [`~${name}/*`]: ['./src/*'],
101
+ [`~${name}-common`]: ['./src/schemas/latest/common'],
102
+ [`~${name}-errors`]: ['./src/schemas/latest/errors'],
103
+ [`~${name}-domains/*`]: ['./src/schemas/latest/domains/*'],
104
+ [`~${name}-types/*`]: ['./src/types/*'],
105
+ },
106
+ },
107
+ };
108
+ }
109
+ }
110
+ exports.SysTemplate = SysTemplate;
@@ -0,0 +1,490 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TransportTemplate = 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 TransportTemplate {
8
+ constructor() {
9
+ this._imports = new morphix_1.ImportsSculptor();
10
+ this._class = new morphix_1.ClassSculptor();
11
+ }
12
+ content(concept) {
13
+ const { ref, item } = concept;
14
+ let source = new ts_morph_1.Project().createSourceFile('./index.ts', '', { overwrite: true });
15
+ const hasAnyAction = true;
16
+ const imports = [
17
+ {
18
+ module: common_1.LibrariesKindMapping.reflection,
19
+ namedImports: [
20
+ common_1.ReflectionKindMapping.bind,
21
+ common_1.ReflectionKindMapping.transport,
22
+ common_1.ReflectionKindMapping.extract,
23
+ ],
24
+ },
25
+ ];
26
+ if (hasAnyAction) {
27
+ imports.push({
28
+ module: common_1.LibrariesKindMapping.be_common,
29
+ namedImports: common_1.CommonKindItemsMapping.abstract_id_schema,
30
+ });
31
+ imports.push({
32
+ module: `./${concept.ref.domain}.${common_1.DocumentKindMapping.controller}`,
33
+ namedImports: `${ref.class}${common_1.DocumentClassMapping.controller}`,
34
+ });
35
+ }
36
+ source = this._imports.addModule(source, imports);
37
+ source = this._imports.addNamespace(source, {
38
+ namespace: common_1.ImportsKindMapping.schemas,
39
+ module: `./${ref.domain}.${common_1.DocumentKindMapping.validation_schema}`,
40
+ });
41
+ if (hasAnyAction) {
42
+ imports.push({
43
+ module: common_1.LibrariesKindMapping.be_common,
44
+ namedImports: common_1.CommonKindItemsMapping.abstract_id_schema,
45
+ });
46
+ source = this._imports.addModule(source, {
47
+ module: common_1.LibrariesKindMapping.http_server,
48
+ namedImports: [common_1.HttpServerKindMapping.request, common_1.HttpServerKindMapping.reply],
49
+ isTypings: true,
50
+ });
51
+ }
52
+ const methods = [];
53
+ if (concept.actions.getById && concept.actions.getById.modules.transport) {
54
+ methods.push(this._getById(ref, item));
55
+ }
56
+ if (concept.actions.createOne && concept.actions.createOne.modules.transport) {
57
+ methods.push(this._createOne(ref, item, concept.actions.createOne.properties));
58
+ }
59
+ if (concept.actions.updateById && concept.actions.updateById.modules.transport) {
60
+ methods.push(this._updateById(concept));
61
+ }
62
+ if (concept.actions.archiveById && concept.actions.archiveById.modules.transport) {
63
+ methods.push(this._archiveById(ref));
64
+ }
65
+ if (concept.actions.unarchiveById && concept.actions.unarchiveById.modules.transport) {
66
+ methods.push(this._unarchiveById(ref));
67
+ }
68
+ if (concept.actions.softDeleteById && concept.actions.softDeleteById.modules.transport) {
69
+ methods.push(this._softDeleteById(ref));
70
+ }
71
+ if (concept.actions.restoreById && concept.actions.restoreById.modules.transport) {
72
+ methods.push(this._restoreById(ref));
73
+ }
74
+ if (concept.actions.deleteById && concept.actions.deleteById.modules.transport) {
75
+ methods.push(this._deleteById(ref));
76
+ }
77
+ let constructor = undefined;
78
+ if (hasAnyAction) {
79
+ constructor = {
80
+ parameters: [
81
+ {
82
+ name: `_${common_1.DocumentKindMapping.controller}`,
83
+ isReadonly: true,
84
+ scope: ts_morph_1.Scope.Private,
85
+ decorators: [
86
+ {
87
+ name: common_1.ReflectionKindMapping.extract,
88
+ arguments: (writer) => {
89
+ writer.writeLine(`${ref.class}${common_1.DocumentClassMapping.transport}`);
90
+ },
91
+ },
92
+ ],
93
+ type: (writer) => {
94
+ writer.writeLine(`${ref.class}${common_1.DocumentClassMapping.transport}`);
95
+ },
96
+ },
97
+ ],
98
+ };
99
+ }
100
+ source = this._class.addClass(source, {
101
+ name: `${ref.class}${common_1.DocumentClassMapping.transport}`,
102
+ options: { isExportable: true },
103
+ decorators: { name: common_1.ReflectionKindMapping.bind, arguments: () => void 0 },
104
+ constructor,
105
+ methods,
106
+ });
107
+ return source.getText();
108
+ }
109
+ _getById(ref, item) {
110
+ return {
111
+ name: common_1.ActionKindMapping.get_by_id,
112
+ isAsync: true,
113
+ scope: ts_morph_1.Scope.Public,
114
+ decorators: [
115
+ {
116
+ name: common_1.ReflectionKindMapping.transport,
117
+ arguments: (writer) => {
118
+ writer.writeLine(`'${common_1.ProtocolKindMapping.http}', {`);
119
+ writer.writeLine(`${common_1.TransportFieldsMapping.scope}: '${common_1.AccessScopeMapping.private}',`);
120
+ writer.writeLine(`${common_1.TransportFieldsMapping.method}: '${common_1.HttpMethodMapping.get}',`);
121
+ writer.writeLine(`${common_1.TransportFieldsMapping.route}: '${ref.service}.${ref.domain}.v1.get-by-id',`);
122
+ writer.writeLine(`${common_1.TransportFieldsMapping.schema}: {`);
123
+ writer.writeLine(`${common_1.HttpBlockMapping.querystring}: ${common_1.ImportsKindMapping.schemas}.${ref.class}${common_1.SchemaTypingsMapping.id_schema},`);
124
+ writer.writeLine(`${common_1.HttpBlockMapping.response}: {`);
125
+ writer.writeLine(`${common_1.StatusCodeMapping.ok}: ${common_1.ImportsKindMapping.schemas}.${ref.class}${common_1.SchemaTypingsMapping.item_schema}`);
126
+ writer.writeLine(`},`);
127
+ writer.writeLine(`},`);
128
+ writer.writeLine(`}`);
129
+ },
130
+ },
131
+ ],
132
+ parameters: [
133
+ {
134
+ name: common_1.HttpAliasMapping.request,
135
+ type: (writer) => {
136
+ writer.writeLine(`${common_1.HttpTypingsMapping.request}<{ ${common_1.HttpTypingsMapping.querystring}: ${common_1.ImportsKindMapping.schemas}.${ref.class}${common_1.SchemaBlockMapping.id_schema} }>,`);
137
+ },
138
+ },
139
+ {
140
+ name: common_1.HttpAliasMapping.reply,
141
+ type: (writer) => {
142
+ writer.writeLine(`${common_1.HttpTypingsMapping.reply}<${common_1.ImportsKindMapping.schemas}.${ref.class}${common_1.SchemaBlockMapping.item_schema}>`);
143
+ },
144
+ },
145
+ ],
146
+ body: (writer) => {
147
+ writer.writeLine(`const ${ref.item} = await this._${common_1.DocumentKindMapping.controller}.${common_1.ActionKindMapping.get_by_id}({ ${ref.item}_id: ${common_1.HttpAliasMapping.request}.${common_1.HttpBlockMapping.querystring}.${ref.item}_id })`);
148
+ writer.writeLine(`if (!${ref.item}) {`);
149
+ writer.writeLine(`return ${common_1.HttpAliasMapping.reply}.status(${common_1.StatusCodeMapping.ok}).send({ item: null })`);
150
+ writer.writeLine(`}`);
151
+ writer.blankLine();
152
+ writer.writeLine(`return ${common_1.HttpAliasMapping.reply}.status(${common_1.StatusCodeMapping.ok}).send({`);
153
+ writer.writeLine(`item: {`);
154
+ for (const [name, { generator }] of Object.entries(item)) {
155
+ if (!generator.httpClause)
156
+ continue;
157
+ writer.writeLine(`${name}: ${ref.item}.${generator.sqlAlias},`);
158
+ }
159
+ writer.writeLine(`}`);
160
+ writer.writeLine('})');
161
+ },
162
+ };
163
+ }
164
+ _createOne(ref, item, properties) {
165
+ return {
166
+ name: common_1.ActionKindMapping.create_one,
167
+ isAsync: true,
168
+ scope: ts_morph_1.Scope.Public,
169
+ decorators: [
170
+ {
171
+ name: common_1.ReflectionKindMapping.transport,
172
+ arguments: (writer) => {
173
+ writer.writeLine(`'${common_1.ProtocolKindMapping.http}', {`);
174
+ writer.writeLine(`${common_1.TransportFieldsMapping.scope}: '${common_1.AccessScopeMapping.private}',`);
175
+ writer.writeLine(`${common_1.TransportFieldsMapping.method}: '${common_1.HttpMethodMapping.post}',`);
176
+ writer.writeLine(`${common_1.TransportFieldsMapping.route}: '${ref.service}.${ref.domain}.v1.create-one',`);
177
+ writer.writeLine(`${common_1.TransportFieldsMapping.schema}: {`);
178
+ writer.writeLine(`${common_1.HttpBlockMapping.body}: ${common_1.ImportsKindMapping.schemas}.${ref.class}${common_1.SchemaTypingsMapping.created_schema},`);
179
+ writer.writeLine(`${common_1.HttpBlockMapping.response}: {`);
180
+ writer.writeLine(`${common_1.StatusCodeMapping.created}: ${common_1.SchemaTypingsMapping.abstract_id_schema}`);
181
+ writer.writeLine(`},`);
182
+ writer.writeLine(`},`);
183
+ writer.writeLine(`}`);
184
+ },
185
+ },
186
+ ],
187
+ parameters: [
188
+ {
189
+ name: common_1.HttpAliasMapping.request,
190
+ type: (writer) => {
191
+ writer.writeLine(`${common_1.HttpTypingsMapping.request}<{ ${common_1.HttpTypingsMapping.body}: ${common_1.ImportsKindMapping.schemas}.${ref.class}${common_1.SchemaBlockMapping.created_schema} }>,`);
192
+ },
193
+ },
194
+ {
195
+ name: common_1.HttpAliasMapping.reply,
196
+ type: (writer) => {
197
+ writer.writeLine(`${common_1.HttpTypingsMapping.reply}<${common_1.SchemaBlockMapping.abstract_id_schema}>`);
198
+ },
199
+ },
200
+ ],
201
+ body: (writer) => {
202
+ writer.writeLine(`const id = await this._${common_1.DocumentKindMapping.controller}.${common_1.ActionKindMapping.create_one}({`);
203
+ for (const [name, { generator }] of Object.entries(item)) {
204
+ if (!generator.httpClause)
205
+ continue;
206
+ if (generator.isTimestampGenerate)
207
+ continue;
208
+ const path = `${common_1.HttpAliasMapping.request}.${generator.httpClause}.${name}`;
209
+ if (generator.isOptional) {
210
+ writer.writeLine(`...(${ref.item}.${name} && { ${name}: ${path} }),`);
211
+ }
212
+ else if (generator.isNullable) {
213
+ writer.writeLine(`${name}: ${path} ?? null,`);
214
+ }
215
+ else {
216
+ writer.writeLine(`${name}: ${path},`);
217
+ }
218
+ }
219
+ writer.writeLine('})');
220
+ writer.blankLine();
221
+ if (properties.withIdReturn) {
222
+ writer.writeLine(`return ${common_1.HttpAliasMapping.reply}.status(${common_1.StatusCodeMapping.created}).send({ id })`);
223
+ }
224
+ else {
225
+ writer.writeLine(`return ${common_1.HttpAliasMapping.reply}.status(${common_1.StatusCodeMapping.created}).send()`);
226
+ }
227
+ },
228
+ };
229
+ }
230
+ _updateById({ ref, item }) {
231
+ return {
232
+ name: common_1.ActionKindMapping.update_by_id,
233
+ isAsync: true,
234
+ scope: ts_morph_1.Scope.Public,
235
+ decorators: [
236
+ {
237
+ name: common_1.ReflectionKindMapping.transport,
238
+ arguments: (writer) => {
239
+ writer.writeLine(`'${common_1.ProtocolKindMapping.http}', {`);
240
+ writer.writeLine(`${common_1.TransportFieldsMapping.scope}: '${common_1.AccessScopeMapping.private}',`);
241
+ writer.writeLine(`${common_1.TransportFieldsMapping.method}: '${common_1.HttpMethodMapping.put}',`);
242
+ writer.writeLine(`${common_1.TransportFieldsMapping.route}: '${ref.service}.${ref.domain}.v1.update-by-id',`);
243
+ writer.writeLine(`${common_1.TransportFieldsMapping.schema}: {`);
244
+ writer.writeLine(`${common_1.HttpBlockMapping.querystring}: ${common_1.ImportsKindMapping.schemas}.${ref.class}${common_1.SchemaTypingsMapping.id_schema},`);
245
+ writer.writeLine(`${common_1.HttpBlockMapping.body}: ${common_1.ImportsKindMapping.schemas}.${ref.class}${common_1.SchemaTypingsMapping.updated_schema},`);
246
+ writer.writeLine(`},`);
247
+ writer.writeLine(`}`);
248
+ },
249
+ },
250
+ ],
251
+ parameters: [
252
+ {
253
+ name: common_1.HttpAliasMapping.request,
254
+ type: (writer) => {
255
+ writer.writeLine(`${common_1.HttpTypingsMapping.request}<{`);
256
+ writer.writeLine(`${common_1.HttpTypingsMapping.params}: ${common_1.ImportsKindMapping.schemas}.${ref.class}${common_1.SchemaBlockMapping.id_schema},`);
257
+ writer.writeLine(`${common_1.HttpTypingsMapping.body}: ${common_1.ImportsKindMapping.schemas}.${ref.class}${common_1.SchemaBlockMapping.updated_schema}`);
258
+ writer.writeLine(`}>,`);
259
+ },
260
+ },
261
+ {
262
+ name: common_1.HttpAliasMapping.reply,
263
+ type: (writer) => {
264
+ writer.writeLine(common_1.HttpTypingsMapping.reply);
265
+ },
266
+ },
267
+ ],
268
+ body: (writer) => {
269
+ writer.writeLine(`await this._${common_1.DocumentKindMapping.controller}.${common_1.ActionKindMapping.update_by_id}(`);
270
+ writer.writeLine('{');
271
+ writer.writeLine(`${ref.item}_id: ${common_1.HttpAliasMapping.request}.${common_1.HttpBlockMapping.querystring}.${ref.item}_id `);
272
+ for (const [_, { generator }] of Object.entries(item)) {
273
+ if (generator.partition) {
274
+ writer.writeLine(`${generator.partition.key}: ${common_1.HttpAliasMapping.request}.${generator.partition.httpClause}.${generator.partition.key}`);
275
+ }
276
+ }
277
+ writer.writeLine('},');
278
+ writer.writeLine('{');
279
+ for (const [name, { generator }] of Object.entries(item)) {
280
+ if (!generator.httpClause)
281
+ continue;
282
+ if (generator.isTimestampGenerate)
283
+ continue;
284
+ if (!generator.isUpdated)
285
+ continue;
286
+ writer.writeLine(`${name}: ${common_1.HttpAliasMapping.request}.${common_1.HttpBlockMapping.querystring}.${name},`);
287
+ }
288
+ writer.writeLine('}');
289
+ writer.writeLine(')');
290
+ writer.blankLine();
291
+ writer.writeLine(`return ${common_1.HttpAliasMapping.reply}.status(${common_1.StatusCodeMapping.ok}).send()`);
292
+ },
293
+ };
294
+ }
295
+ _softDeleteById(ref) {
296
+ return {
297
+ name: common_1.ActionKindMapping.soft_delete_by_id,
298
+ isAsync: true,
299
+ scope: ts_morph_1.Scope.Public,
300
+ decorators: [
301
+ {
302
+ name: common_1.ReflectionKindMapping.transport,
303
+ arguments: (writer) => {
304
+ writer.writeLine(`'${common_1.ProtocolKindMapping.http}', {`);
305
+ writer.writeLine(`${common_1.TransportFieldsMapping.scope}: '${common_1.AccessScopeMapping.private}',`);
306
+ writer.writeLine(`${common_1.TransportFieldsMapping.method}: '${common_1.HttpMethodMapping.delete}',`);
307
+ writer.writeLine(`${common_1.TransportFieldsMapping.route}: '${ref.service}.${ref.domain}.v1.soft-delete-by-id',`);
308
+ writer.writeLine(`${common_1.TransportFieldsMapping.schema}: {`);
309
+ writer.writeLine(`${common_1.HttpBlockMapping.querystring}: ${common_1.ImportsKindMapping.schemas}.${ref.class}${common_1.SchemaTypingsMapping.id_schema},`);
310
+ writer.writeLine(`},`);
311
+ writer.writeLine(`}`);
312
+ },
313
+ },
314
+ ],
315
+ parameters: [
316
+ {
317
+ name: common_1.HttpAliasMapping.request,
318
+ type: (writer) => {
319
+ writer.writeLine(`${common_1.HttpTypingsMapping.request}<{ ${common_1.HttpTypingsMapping.querystring}: ${common_1.ImportsKindMapping.schemas}.${ref.class}${common_1.SchemaBlockMapping.id_schema} }>,`);
320
+ },
321
+ },
322
+ {
323
+ name: common_1.HttpAliasMapping.reply,
324
+ type: (writer) => writer.writeLine(common_1.HttpTypingsMapping.reply),
325
+ },
326
+ ],
327
+ body: (writer) => {
328
+ writer.writeLine(`await this._${common_1.DocumentKindMapping.controller}.${common_1.ActionKindMapping.soft_delete_by_id}({ ${ref.item}_id: ${common_1.HttpAliasMapping.request}.${common_1.HttpBlockMapping.querystring}.${ref.item}_id })`);
329
+ writer.writeLine(`return ${common_1.HttpAliasMapping.reply}.status(${common_1.StatusCodeMapping.ok}).send()`);
330
+ },
331
+ };
332
+ }
333
+ _restoreById(ref) {
334
+ return {
335
+ name: common_1.ActionKindMapping.restore_by_id,
336
+ isAsync: true,
337
+ scope: ts_morph_1.Scope.Public,
338
+ decorators: [
339
+ {
340
+ name: common_1.ReflectionKindMapping.transport,
341
+ arguments: (writer) => {
342
+ writer.writeLine(`'${common_1.ProtocolKindMapping.http}', {`);
343
+ writer.writeLine(`${common_1.TransportFieldsMapping.scope}: '${common_1.AccessScopeMapping.private}',`);
344
+ writer.writeLine(`${common_1.TransportFieldsMapping.method}: '${common_1.HttpMethodMapping.patch}',`);
345
+ writer.writeLine(`${common_1.TransportFieldsMapping.route}: '${ref.service}.${ref.domain}.v1.restore-by-id',`);
346
+ writer.writeLine(`${common_1.TransportFieldsMapping.schema}: {`);
347
+ writer.writeLine(`${common_1.HttpBlockMapping.querystring}: ${common_1.ImportsKindMapping.schemas}.${ref.class}${common_1.SchemaTypingsMapping.id_schema},`);
348
+ writer.writeLine(`},`);
349
+ writer.writeLine(`}`);
350
+ },
351
+ },
352
+ ],
353
+ parameters: [
354
+ {
355
+ name: common_1.HttpAliasMapping.request,
356
+ type: (writer) => {
357
+ writer.writeLine(`${common_1.HttpTypingsMapping.request}<{ ${common_1.HttpTypingsMapping.querystring}: ${common_1.ImportsKindMapping.schemas}.${ref.class}${common_1.SchemaBlockMapping.id_schema} }>,`);
358
+ },
359
+ },
360
+ {
361
+ name: common_1.HttpAliasMapping.reply,
362
+ type: (writer) => writer.writeLine(common_1.HttpTypingsMapping.reply),
363
+ },
364
+ ],
365
+ body: (writer) => {
366
+ writer.writeLine(`await this._${common_1.DocumentKindMapping.controller}.${common_1.ActionKindMapping.restore_by_id}({ ${ref.item}_id: ${common_1.HttpAliasMapping.request}.${common_1.HttpBlockMapping.querystring}.${ref.item}_id })`);
367
+ writer.blankLine();
368
+ writer.writeLine(`return ${common_1.HttpAliasMapping.reply}.status(${common_1.StatusCodeMapping.ok}).send()`);
369
+ },
370
+ };
371
+ }
372
+ _archiveById(ref) {
373
+ return {
374
+ name: common_1.ActionKindMapping.archive_by_id,
375
+ isAsync: true,
376
+ scope: ts_morph_1.Scope.Public,
377
+ decorators: [
378
+ {
379
+ name: common_1.ReflectionKindMapping.transport,
380
+ arguments: (writer) => {
381
+ writer.writeLine(`'${common_1.ProtocolKindMapping.http}', {`);
382
+ writer.writeLine(`${common_1.TransportFieldsMapping.scope}: '${common_1.AccessScopeMapping.private}',`);
383
+ writer.writeLine(`${common_1.TransportFieldsMapping.method}: '${common_1.HttpMethodMapping.post}',`);
384
+ writer.writeLine(`${common_1.TransportFieldsMapping.route}: '${ref.service}.${ref.domain}.v1.archive-by-id',`);
385
+ writer.writeLine(`${common_1.TransportFieldsMapping.schema}: {`);
386
+ writer.writeLine(`${common_1.HttpBlockMapping.querystring}: ${common_1.ImportsKindMapping.schemas}.${ref.class}${common_1.SchemaTypingsMapping.id_schema},`);
387
+ writer.writeLine(`},`);
388
+ writer.writeLine(`}`);
389
+ },
390
+ },
391
+ ],
392
+ parameters: [
393
+ {
394
+ name: common_1.HttpAliasMapping.request,
395
+ type: (writer) => {
396
+ writer.writeLine(`${common_1.HttpTypingsMapping.request}<{ ${common_1.HttpTypingsMapping.querystring}: ${common_1.ImportsKindMapping.schemas}.${ref.class}${common_1.SchemaBlockMapping.id_schema} }>,`);
397
+ },
398
+ },
399
+ {
400
+ name: common_1.HttpAliasMapping.reply,
401
+ type: (writer) => writer.writeLine(common_1.HttpTypingsMapping.reply),
402
+ },
403
+ ],
404
+ body: (writer) => {
405
+ writer.writeLine(`await this._${common_1.DocumentKindMapping.controller}.${common_1.ActionKindMapping.archive_by_id}({ ${ref.item}_id: ${common_1.HttpAliasMapping.request}.${common_1.HttpBlockMapping.querystring}.${ref.item}_id })`);
406
+ writer.blankLine();
407
+ writer.writeLine(`return ${common_1.HttpAliasMapping.reply}.status(${common_1.StatusCodeMapping.ok}).send()`);
408
+ },
409
+ };
410
+ }
411
+ _unarchiveById(ref) {
412
+ return {
413
+ name: common_1.ActionKindMapping.unarchive_by_id,
414
+ isAsync: true,
415
+ scope: ts_morph_1.Scope.Public,
416
+ decorators: [
417
+ {
418
+ name: common_1.ReflectionKindMapping.transport,
419
+ arguments: (writer) => {
420
+ writer.writeLine(`'${common_1.ProtocolKindMapping.http}', {`);
421
+ writer.writeLine(`${common_1.TransportFieldsMapping.scope}: '${common_1.AccessScopeMapping.private}',`);
422
+ writer.writeLine(`${common_1.TransportFieldsMapping.method}: '${common_1.HttpMethodMapping.post}',`);
423
+ writer.writeLine(`${common_1.TransportFieldsMapping.route}: '${ref.service}.${ref.domain}.v1.unarchive-by-id',`);
424
+ writer.writeLine(`${common_1.TransportFieldsMapping.schema}: {`);
425
+ writer.writeLine(`${common_1.HttpBlockMapping.querystring}: ${common_1.ImportsKindMapping.schemas}.${ref.class}${common_1.SchemaTypingsMapping.id_schema},`);
426
+ writer.writeLine(`},`);
427
+ writer.writeLine(`}`);
428
+ },
429
+ },
430
+ ],
431
+ parameters: [
432
+ {
433
+ name: common_1.HttpAliasMapping.request,
434
+ type: (writer) => {
435
+ writer.writeLine(`${common_1.HttpTypingsMapping.request}<{ ${common_1.HttpTypingsMapping.querystring}: ${common_1.ImportsKindMapping.schemas}.${ref.class}${common_1.SchemaBlockMapping.id_schema} }>,`);
436
+ },
437
+ },
438
+ {
439
+ name: common_1.HttpAliasMapping.reply,
440
+ type: (writer) => writer.writeLine(common_1.HttpTypingsMapping.reply),
441
+ },
442
+ ],
443
+ body: (writer) => {
444
+ writer.writeLine(`await this._${common_1.DocumentKindMapping.controller}.${common_1.ActionKindMapping.unarchive_by_id}({ ${ref.item}_id: ${common_1.HttpAliasMapping.request}.${common_1.HttpBlockMapping.querystring}.${ref.item}_id })`);
445
+ writer.blankLine();
446
+ writer.writeLine(`return ${common_1.HttpAliasMapping.reply}.status(${common_1.StatusCodeMapping.ok}).send()`);
447
+ },
448
+ };
449
+ }
450
+ _deleteById(ref) {
451
+ return {
452
+ name: common_1.ActionKindMapping.delete_by_id,
453
+ isAsync: true,
454
+ scope: ts_morph_1.Scope.Public,
455
+ decorators: [
456
+ {
457
+ name: common_1.ReflectionKindMapping.transport,
458
+ arguments: (writer) => {
459
+ writer.writeLine(`'${common_1.ProtocolKindMapping.http}', {`);
460
+ writer.writeLine(`${common_1.TransportFieldsMapping.scope}: '${common_1.AccessScopeMapping.private}',`);
461
+ writer.writeLine(`${common_1.TransportFieldsMapping.method}: '${common_1.HttpMethodMapping.delete}',`);
462
+ writer.writeLine(`${common_1.TransportFieldsMapping.route}: '${ref.service}.${ref.domain}.v1.delete-by-id',`);
463
+ writer.writeLine(`${common_1.TransportFieldsMapping.schema}: {`);
464
+ writer.writeLine(`${common_1.HttpBlockMapping.querystring}: ${common_1.ImportsKindMapping.schemas}.${ref.class}${common_1.SchemaTypingsMapping.id_schema},`);
465
+ writer.writeLine(`},`);
466
+ writer.writeLine(`}`);
467
+ },
468
+ },
469
+ ],
470
+ parameters: [
471
+ {
472
+ name: common_1.HttpAliasMapping.request,
473
+ type: (writer) => {
474
+ writer.writeLine(`${common_1.HttpTypingsMapping.request}<{ ${common_1.HttpTypingsMapping.querystring}: ${common_1.ImportsKindMapping.schemas}.${ref.class}${common_1.SchemaBlockMapping.id_schema} }>,`);
475
+ },
476
+ },
477
+ {
478
+ name: common_1.HttpAliasMapping.reply,
479
+ type: (writer) => writer.writeLine(common_1.HttpTypingsMapping.reply),
480
+ },
481
+ ],
482
+ body: (writer) => {
483
+ writer.writeLine(`await this._${common_1.DocumentKindMapping.controller}.${common_1.ActionKindMapping.delete_by_id}({ ${ref.item}_id: ${common_1.HttpAliasMapping.request}.${common_1.HttpBlockMapping.querystring}.${ref.item}_id })`);
484
+ writer.blankLine();
485
+ writer.writeLine(`return ${common_1.HttpAliasMapping.reply}.status(${common_1.StatusCodeMapping.noContent}).send()`);
486
+ },
487
+ };
488
+ }
489
+ }
490
+ exports.TransportTemplate = TransportTemplate;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ValidatorTemplate = void 0;
4
+ const morphix_1 = require("@terra-versity/morphix");
5
+ const ts_morph_1 = require("ts-morph");
6
+ class ValidatorTemplate {
7
+ constructor() {
8
+ this._imports = new morphix_1.ImportsSculptor();
9
+ this._variable = new morphix_1.VariablesSculptor();
10
+ }
11
+ content(concept) {
12
+ let source = new ts_morph_1.Project().createSourceFile('./index.ts', '', { overwrite: true });
13
+ return source.getText();
14
+ }
15
+ }
16
+ exports.ValidatorTemplate = ValidatorTemplate;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.hello = void 0;
4
+ const cfonts_1 = require("cfonts");
5
+ const hello = () => {
6
+ (0, cfonts_1.say)('X-Fiber Tools', {
7
+ font: 'slick',
8
+ align: 'left',
9
+ colors: ['#FAF3E0', '#5C4033'],
10
+ letterSpacing: 1,
11
+ lineHeight: 1,
12
+ space: true,
13
+ maxLength: '0',
14
+ env: 'node',
15
+ });
16
+ };
17
+ exports.hello = hello;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./hello"), exports);
18
+ __exportStar(require("./ts-utils"), exports);