@diia-inhouse/scaffold 2.17.0 → 2.19.1

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 (29) hide show
  1. package/dist/_sharedTemplates/actionTest.t +2 -2
  2. package/dist/_templates/add/action/01-action.ts.t +5 -10
  3. package/dist/_templates/add/action/01-test.ts.t +2 -2
  4. package/dist/_templates/add/action/02-scriptRunner.t +1 -1
  5. package/dist/_templates/add/action/prompt.js +0 -14
  6. package/dist/_templates/add/action/prompt.js.map +1 -1
  7. package/dist/_templates/add/test/01-test.ts.t +1 -1
  8. package/dist/_templates/add/test/prompt.js +0 -2
  9. package/dist/_templates/add/test/prompt.js.map +1 -1
  10. package/dist/_templates/init/package/01-package.json.t +1 -1
  11. package/dist/_templates/init/service/01-.env.example.t +2 -1
  12. package/dist/_templates/init/service/01-dockerfile.t +1 -1
  13. package/dist/_templates/init/service/01-package.json.t +5 -2
  14. package/dist/_templates/init/service/01-src.actions.v1.getAddResult.ts.t +5 -9
  15. package/dist/_templates/init/service/01-src.bootstrap.ts.t +5 -1
  16. package/dist/_templates/init/service/01-src.config.ts.t +18 -11
  17. package/dist/_templates/init/service/01-src.deps.ts.t +2 -3
  18. package/dist/_templates/init/service/01-tests.integration.actionts.getAddResult.spec.ts.t +3 -2
  19. package/dist/_templates/init/service/01-tests.utils.getApp.ts.t +10 -10
  20. package/dist/_templates/init/service/01-tests.utils.getDeps.ts.t +4 -5
  21. package/dist/_templates/init/service/prompt.js +1 -2
  22. package/dist/_templates/init/service/prompt.js.map +1 -1
  23. package/dist/depsNames.js +1 -1
  24. package/dist/depsNames.js.map +1 -1
  25. package/package.json +6 -7
  26. package/dist/_templates/add/action/01.interface.ts.t +0 -15
  27. package/dist/_templates/add/action/dict.js +0 -18
  28. package/dist/_templates/add/action/dict.js.map +0 -1
  29. package/dist/_templates/init/service/01-src.interfaces.actions.v1.getAddResult.ts.t +0 -13
@@ -4,7 +4,7 @@ import <%= h.changeCase.pascal(name) %>Action from '<%= relateActionPathFromTest
4
4
 
5
5
  import { getApp } from '@tests/utils/getApp'
6
6
 
7
- import { ActionResult } from '<%= relativeInterfacePath %>'
7
+ import { <%= h.changeCase.pascal(name) %>Res } from '@src/generated'
8
8
 
9
9
  describe(`Action ${<%= h.changeCase.pascal(name) %>Action.name}`, () => {
10
10
  let app: Awaited<ReturnType<typeof getApp>>
@@ -31,6 +31,6 @@ describe(`Action ${<%= h.changeCase.pascal(name) %>Action.name}`, () => {
31
31
  const result = await action.handler({session, headers, params: {}})
32
32
 
33
33
  // Assert
34
- expect(result).toEqual<ActionResult>({})
34
+ expect(result).toEqual<<%= h.changeCase.pascal(name) %>Res>({})
35
35
  })
36
36
  })
@@ -4,30 +4,25 @@ to: <%= actionPath %>
4
4
 
5
5
  import { GrpcAppAction } from '@diia-inhouse/diia-app'
6
6
 
7
- import { ActionVersion, SessionType } from '@diia-inhouse/types'
7
+ import { ActionContext } from '@diia-inhouse/types'
8
8
  <% if (isActionWithValidation) { %>
9
9
  import { ValidationSchema } from '@diia-inhouse/validators'
10
10
  <% } %>
11
11
 
12
- import { ActionResult, CustomActionArguments } from '<%= relativeInterfacePath %>'
12
+ import { <%= h.changeCase.pascal(name) %>Req, <%= h.changeCase.pascal(name) %>Res } from '@src/generated'
13
13
 
14
- export default class <%= h.changeCase.pascal(name) %>Action implements GrpcAppAction {
14
+ export default class <%= h.changeCase.pascal(name) %>Action implements GrpcAppAction<ActionContext<<%= h.changeCase.pascal(name) %>Req>> {
15
15
  constructor(private readonly service: unknown) {}
16
16
 
17
- readonly sessionType: SessionType = SessionType.<%= sessionType %>
18
-
19
- readonly actionVersion: ActionVersion = ActionVersion.V<%= version %>
20
-
21
17
  readonly name: string = '<%= name %>'
22
18
 
23
19
  <% if (isActionWithValidation) { %>
24
- readonly validationRules: ValidationSchema<CustomActionArguments['params']> = {}
20
+ readonly validationRules: ValidationSchema<<%= h.changeCase.pascal(name) %>Req> = {}
25
21
  <% } %>
26
22
 
27
- async handler(args: CustomActionArguments): Promise<ActionResult> {
23
+ async handler(args: ActionContext<<%= h.changeCase.pascal(name) %>Req>): Promise<<%= h.changeCase.pascal(name) %>Res> {
28
24
  const {
29
25
  params: {},
30
- <% if (sessionType === 'User') { %> session: { user }, <% } %>
31
26
  } = args
32
27
  }
33
28
  }
@@ -7,7 +7,7 @@ import <%= h.changeCase.pascal(name) %>Action from '<%= relateActionPathFromTest
7
7
 
8
8
  import { getApp } from '@tests/utils/getApp'
9
9
 
10
- import { ActionResult } from '<%= relativeInterfacePath %>'
10
+ import { <%= h.changeCase.pascal(name) %>Req, <%= h.changeCase.pascal(name) %>Res } from '@src/generated'
11
11
 
12
12
  describe(`Action ${<%= h.changeCase.pascal(name) %>Action.name}`, () => {
13
13
  let app: Awaited<ReturnType<typeof getApp>>
@@ -32,6 +32,6 @@ describe(`Action ${<%= h.changeCase.pascal(name) %>Action.name}`, () => {
32
32
  const result = await <%= name %>Action.handler({session, headers, params: {}})
33
33
 
34
34
  // Assert
35
- expect(result).toEqual<ActionResult>({})
35
+ expect(result).toEqual<<%= h.changeCase.pascal(name) %>Res>({})
36
36
  })
37
37
  })
@@ -1,3 +1,3 @@
1
1
  ---
2
- sh: "npx prettier --write <%= actionPath %> <%= interfacePath %> <%= testPath %>"
2
+ sh: "npx prettier --write <%= actionPath %> <%= testPath %>"
3
3
  ---
@@ -5,9 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const node_fs_1 = __importDefault(require("node:fs"));
7
7
  const node_path_1 = __importDefault(require("node:path"));
8
- const types_1 = require("@diia-inhouse/types");
9
8
  const prompt_1 = require("../../../prompt");
10
- const dict_1 = require("./dict");
11
9
  const ROOT_ACTION = '.';
12
10
  const NEW_FOLDER = 'new-folder';
13
11
  function getActionsFolder(versionFolder) {
@@ -58,28 +56,16 @@ exports.default = {
58
56
  }
59
57
  const newActionPath = actionFolder === ROOT_ACTION ? node_path_1.default.join(normalizedVersion, actionName) : node_path_1.default.join(normalizedVersion, actionFolder, actionName);
60
58
  const finalActionPath = node_path_1.default.resolve(process.cwd(), 'src/actions', `${newActionPath}.ts`);
61
- const finalInterfacePath = node_path_1.default.resolve(process.cwd(), 'src/interfaces/actions', `${newActionPath}.ts`);
62
- const relativeInterfacePath = node_path_1.default.join('@interfaces/actions', newActionPath);
63
59
  const testPath = node_path_1.default.resolve(process.cwd(), 'tests/integration/actions/', `${newActionPath}.spec.ts`);
64
60
  const relateActionPathFromTest = node_path_1.default.join('@src/actions', newActionPath);
65
61
  const isActionWithValidation = await (0, prompt_1.promptYesNoSelect)({
66
62
  message: 'Do you need validation?',
67
63
  });
68
- const sessionType = await (0, prompt_1.promptAutoComplete)({
69
- name: 'sessionType',
70
- message: 'Pick SessionType for current action',
71
- choices: Object.keys(types_1.SessionType),
72
- });
73
- const inheritedActionInterface = dict_1.mapSessionTypeToActionArguments[sessionType];
74
64
  return {
75
65
  name: actionName,
76
66
  version,
77
67
  actionPath: finalActionPath,
78
- interfacePath: finalInterfacePath,
79
- relativeInterfacePath,
80
68
  isActionWithValidation,
81
- inheritedActionInterface,
82
- sessionType,
83
69
  testPath,
84
70
  relateActionPathFromTest,
85
71
  };
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../../../src/_templates/add/action/prompt.ts"],"names":[],"mappings":";;;;;AAAA,sDAAwB;AACxB,0DAA4B;AAE5B,+CAAiD;AAIjD,4CAAuE;AAEvE,iCAAwD;AAExD,MAAM,WAAW,GAAG,GAAG,CAAA;AACvB,MAAM,UAAU,GAAG,YAAY,CAAA;AAE/B,SAAS,gBAAgB,CAAC,aAAqB;IAC3C,MAAM,uBAAuB,GAAG,mBAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,aAAa,CAAC,CAAA;IAEzF,MAAM,2BAA2B,GAAG,iBAAE,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAA;IAE1E,IAAI,CAAC,2BAA2B,EAAE,CAAC;QAC/B,iBAAE,CAAC,SAAS,CAAC,uBAAuB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAE1D,OAAO,CAAC,WAAW,EAAE,UAAU,CAAC,CAAA;IACpC,CAAC;IAED,MAAM,aAAa,GAAG,iBAAE;SACnB,WAAW,CAAC,uBAAuB,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;SAC7D,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;SACxC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IAEvC,OAAO,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,aAAa,CAAC,CAAA;AACtD,CAAC;AAED,kBAAe;IACX,MAAM,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAU,EAAoB,EAAE;QACrD,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;YAC/C,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,8BAA8B;YACvC,QAAQ,EAAE,IAAI;SACjB,CAAC,CAAA;QACF,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;YACtC,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,iCAAiC;YAC1C,OAAO,EAAE,CAAC;YACV,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,CAAC,KAAa,EAAU,EAAE,CAAC,IAAI,KAAK,EAAE;SACjD,CAAC,CAAA;QAEF,MAAM,iBAAiB,GAAG,IAAI,OAAO,EAAE,CAAA;QAEvC,IAAI,YAAY,GAAG,MAAM,IAAA,2BAAkB,EAAC;YACxC,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE;UACX,WAAW;UACX,UAAU,0DAA0D;YAClE,OAAO,EAAE,gBAAgB,CAAC,iBAAiB,CAAC;SAC/C,CAAC,CAAA;QAEF,IAAI,YAAY,KAAK,UAAU,EAAE,CAAC;YAC9B,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;gBAC5C,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,+BAA+B;gBACxC,QAAQ,EAAE,IAAI;aACjB,CAAC,CAAA;YAEF,YAAY,GAAG,aAAa,KAAK,iBAAiB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,mBAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAA;QACpH,CAAC;QAED,MAAM,aAAa,GACf,YAAY,KAAK,WAAW,CAAC,CAAC,CAAC,mBAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,mBAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,YAAY,EAAE,UAAU,CAAC,CAAA;QAEpI,MAAM,eAAe,GAAG,mBAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,GAAG,aAAa,KAAK,CAAC,CAAA;QACzF,MAAM,kBAAkB,GAAG,mBAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,wBAAwB,EAAE,GAAG,aAAa,KAAK,CAAC,CAAA;QAEvG,MAAM,qBAAqB,GAAG,mBAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,aAAa,CAAC,CAAA;QAE7E,MAAM,QAAQ,GAAG,mBAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,4BAA4B,EAAE,GAAG,aAAa,UAAU,CAAC,CAAA;QACtG,MAAM,wBAAwB,GAAG,mBAAI,CAAC,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,CAAA;QAEzE,MAAM,sBAAsB,GAAG,MAAM,IAAA,0BAAiB,EAAC;YACnD,OAAO,EAAE,yBAAyB;SACrC,CAAC,CAAA;QAEF,MAAM,WAAW,GAAG,MAAM,IAAA,2BAAkB,EAAc;YACtD,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,qCAAqC;YAC9C,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,mBAAW,CAAC;SACpC,CAAC,CAAA;QAEF,MAAM,wBAAwB,GAAG,sCAA+B,CAAC,WAAW,CAAC,CAAA;QAE7E,OAAO;YACH,IAAI,EAAE,UAAU;YAChB,OAAO;YACP,UAAU,EAAE,eAAe;YAC3B,aAAa,EAAE,kBAAkB;YACjC,qBAAqB;YACrB,sBAAsB;YACtB,wBAAwB;YACxB,WAAW;YACX,QAAQ;YACR,wBAAwB;SAC3B,CAAA;IACL,CAAC;CACJ,CAAA"}
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../../../src/_templates/add/action/prompt.ts"],"names":[],"mappings":"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"}
@@ -2,4 +2,4 @@
2
2
  to: <%= testPath %>
3
3
  ---
4
4
 
5
- <%- include(sharedTemplatePath, {name, relativeInterfacePath, relateActionPathFromTest}) %>
5
+ <%- include(sharedTemplatePath, {name, relateActionPathFromTest}) %>
@@ -33,13 +33,11 @@ exports.default = {
33
33
  });
34
34
  const actionName = node_path_1.default.basename(actionPath);
35
35
  const testPath = node_path_1.default.join('tests', 'integration', `${actionPath}.spec.ts`);
36
- const relativeInterfacePathFromTest = node_path_1.default.join('@interfaces', actionPath);
37
36
  const relateActionPathFromTest = node_path_1.default.join('@src', actionPath);
38
37
  const result = {
39
38
  sharedTemplatePath: (0, utils_1.getSharedTemplate)('actionTest.t'),
40
39
  testPath,
41
40
  name: actionName,
42
- relativeInterfacePath: relativeInterfacePathFromTest,
43
41
  relateActionPathFromTest,
44
42
  };
45
43
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../../../src/_templates/add/test/prompt.ts"],"names":[],"mappings":";;;;;AAAA,sDAAwB;AACxB,0DAA4B;AAG5B,+DAAiE;AACjE,0CAAkD;AAElD,KAAK,UAAU,MAAM;IACjB,MAAM,GAAG,GAAa,EAAE,CAAA;IACxB,MAAM,qBAAqB,GAAG,mBAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,CAAC,CAAA;IAExE,MAAM,EAAE,GAAG,KAAK,EAAE,iBAAyB,EAAiB,EAAE;QAC1D,MAAM,aAAa,GAAG,iBAAE,CAAC,WAAW,CAAC,iBAAiB,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAA;QAEhF,KAAK,MAAM,IAAI,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;YACnE,MAAM,IAAI,GAAG,mBAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,CAAA;YAC/C,MAAM,eAAe,GAAG,mBAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,mBAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAA;YAEhF,MAAM,gBAAgB,GAAG,mBAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC,CAAA;YAE7D,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;QAC9B,CAAC;QAED,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,mBAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;QAEjI,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAC1D,CAAC,CAAA;IAED,MAAM,EAAE,CAAC,qBAAqB,CAAC,CAAA;IAE/B,OAAO,GAAG,CAAA;AACd,CAAC;AAED,kBAAe;IACX,MAAM,EAAE,KAAK,IAAsB,EAAE;QACjC,MAAM,UAAU,GAAG,MAAM,IAAA,iCAAkB,EAAC;YACxC,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,sBAAsB;YAC/B,OAAO,EAAE,MAAM,MAAM,EAAE;SAC1B,CAAC,CAAA;QAEF,MAAM,UAAU,GAAG,mBAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;QAE5C,MAAM,QAAQ,GAAG,mBAAI,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,UAAU,UAAU,CAAC,CAAA;QAC3E,MAAM,6BAA6B,GAAG,mBAAI,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,CAAA;QAC1E,MAAM,wBAAwB,GAAG,mBAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;QAE9D,MAAM,MAAM,GAAG;YACX,kBAAkB,EAAE,IAAA,yBAAiB,EAAC,cAAc,CAAC;YAErD,QAAQ;YACR,IAAI,EAAE,UAAU;YAChB,qBAAqB,EAAE,6BAA6B;YACpD,wBAAwB;SAC3B,CAAA;QAED,OAAO,MAAM,CAAA;IACjB,CAAC;CACJ,CAAA"}
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../../../src/_templates/add/test/prompt.ts"],"names":[],"mappings":";;;;;AAAA,sDAAwB;AACxB,0DAA4B;AAG5B,+DAAiE;AACjE,0CAAkD;AAElD,KAAK,UAAU,MAAM;IACjB,MAAM,GAAG,GAAa,EAAE,CAAA;IACxB,MAAM,qBAAqB,GAAG,mBAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,CAAC,CAAA;IAExE,MAAM,EAAE,GAAG,KAAK,EAAE,iBAAyB,EAAiB,EAAE;QAC1D,MAAM,aAAa,GAAG,iBAAE,CAAC,WAAW,CAAC,iBAAiB,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAA;QAEhF,KAAK,MAAM,IAAI,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;YACnE,MAAM,IAAI,GAAG,mBAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,CAAA;YAC/C,MAAM,eAAe,GAAG,mBAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,mBAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAA;YAEhF,MAAM,gBAAgB,GAAG,mBAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC,CAAA;YAE7D,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;QAC9B,CAAC;QAED,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,mBAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;QAEjI,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAC1D,CAAC,CAAA;IAED,MAAM,EAAE,CAAC,qBAAqB,CAAC,CAAA;IAE/B,OAAO,GAAG,CAAA;AACd,CAAC;AAED,kBAAe;IACX,MAAM,EAAE,KAAK,IAAsB,EAAE;QACjC,MAAM,UAAU,GAAG,MAAM,IAAA,iCAAkB,EAAC;YACxC,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,sBAAsB;YAC/B,OAAO,EAAE,MAAM,MAAM,EAAE;SAC1B,CAAC,CAAA;QAEF,MAAM,UAAU,GAAG,mBAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;QAE5C,MAAM,QAAQ,GAAG,mBAAI,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,UAAU,UAAU,CAAC,CAAA;QAC3E,MAAM,wBAAwB,GAAG,mBAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;QAE9D,MAAM,MAAM,GAAG;YACX,kBAAkB,EAAE,IAAA,yBAAiB,EAAC,cAAc,CAAC;YAErD,QAAQ;YACR,IAAI,EAAE,UAAU;YAChB,wBAAwB;SAC3B,CAAA;QAED,OAAO,MAAM,CAAA;IACjB,CAAC;CACJ,CAAA"}
@@ -23,7 +23,7 @@ to: <%= packageName %>/package.json
23
23
  "test": "jest",
24
24
  "test:unit": "npm run test --selectProjects unit",
25
25
  "find-circulars": "madge --circular --extensions ts ./",
26
- "lint:lockfile": "lockfile-lint --path package-lock.json --allowed-hosts registry.npmjs.org --validate-https"
26
+ "lint:lockfile": "lockfile-lint --path package-lock.json --allowed-hosts registry.npmjs.org gitlab.diia.org.ua --validate-https"
27
27
  },
28
28
  "files": ["dist"],
29
29
  "keywords": [],
@@ -2,7 +2,7 @@
2
2
  to: <%= serviceName %>/.env.example
3
3
  ---
4
4
  NODE_ENV=local
5
- LOG_LEVEL=debug
5
+ LOG_LEVEL=info
6
6
 
7
7
  TRANSPORT_TYPE=Redis
8
8
  TRANSPORT_OPTIONS={"host":"localhost","port":"6379"}
@@ -55,5 +55,6 @@ HEALTH_CHECK_IS_ENABLED=false
55
55
  HEALTH_CHECK_IS_PORT=4545
56
56
 
57
57
  GRPC_SERVER_ENABLED=true
58
+ GRPC_REFLECTION_ENABLED=true
58
59
  GRPC_SERVICES=["ua.gov.diia.<%= h.changeCase.pascalCase(serviceName).toLowerCase() %>.<%= h.changeCase.pascalCase(serviceName) %>"]
59
60
  GRPC_SERVER_PORT=5<%= Math.floor(Math.random() * (999 - 100) + 100) %>
@@ -2,7 +2,7 @@
2
2
  to: <%= serviceName %>/Dockerfile
3
3
  ---
4
4
  ### Stage 1
5
- FROM node:18-alpine as node-first
5
+ FROM gitlab.diia.org.ua:5050/diia-inhouse/ci/node-builder:18-alpine as node-first
6
6
 
7
7
  WORKDIR /home/node/app
8
8
 
@@ -15,8 +15,8 @@ to: <%= serviceName %>/package.json
15
15
  "semantic-release": "semantic-release",
16
16
  "lint": "eslint --ext .ts . && prettier --check .",
17
17
  "lint-fix": "eslint --ext .ts --fix && prettier --write .",
18
- "lint:lockfile": "lockfile-lint --path package-lock.json --allowed-hosts registry.npmjs.org --validate-https",
19
- "test": "jest",
18
+ "lint:lockfile": "lockfile-lint --path package-lock.json --allowed-hosts registry.npmjs.org gitlab.diia.org.ua --validate-https",
19
+ "test": "NODE_OPTIONS=\"$NODE_OPTIONS --experimental-vm-modules\" jest",
20
20
  "test:integration": "npm run test --selectProjects integration --",
21
21
  <%if (h.isOptionSelected(selectedOptions, 'database')) {%>
22
22
  "migrate-deploy": "npm run migrate up",
@@ -33,6 +33,9 @@ to: <%= serviceName %>/package.json
33
33
  "engines": {
34
34
  "node": ">=18"
35
35
  },
36
+ "files": [
37
+ "dist"
38
+ ],
36
39
  "_moduleAliases": {
37
40
  "@services": "dist/services",
38
41
  "@interfaces": "dist/interfaces",
@@ -4,24 +4,20 @@ to: <%= serviceName %>/src/actions/v1/getAddResult.ts
4
4
 
5
5
  import { GrpcAppAction } from '@diia-inhouse/diia-app'
6
6
 
7
- import { ActionVersion, SessionType } from '@diia-inhouse/types'
7
+ import { ActionContext } from '@diia-inhouse/types'
8
8
  import { ValidationSchema } from '@diia-inhouse/validators'
9
9
 
10
- import { ActionResult, CustomActionArguments } from '@interfaces/actions/v1/getAddResult'
11
-
12
- export default class GetAddResult implements GrpcAppAction {
13
- readonly sessionType = SessionType.None
14
-
15
- readonly actionVersion = ActionVersion.V1
10
+ import { GetAddResultReq, GetAddResultRes } from '@src/generated'
16
11
 
12
+ export default class GetAddResultAction implements GrpcAppAction<ActionContext<GetAddResultReq>> {
17
13
  readonly name = 'getAddResult'
18
14
 
19
- readonly validationRules: ValidationSchema<CustomActionArguments['params']> = {
15
+ readonly validationRules: ValidationSchema<GetAddResultReq> = {
20
16
  a: {type: 'number'},
21
17
  b: {type: 'number'}
22
18
  }
23
19
 
24
- async handler(args: CustomActionArguments): Promise<ActionResult> {
20
+ async handler(args: ActionContext<GetAddResultReq>): Promise<GetAddResultRes> {
25
21
  const { params: { a, b } } = args
26
22
 
27
23
  return { result: a + b }
@@ -14,5 +14,9 @@ export async function bootstrap(serviceName: string): Promise<void> {
14
14
  const app = new Application<ServiceContext<AppConfig, AppDeps>>(serviceName)
15
15
 
16
16
  await app.setConfig(configFactory)
17
- await app.setDeps(deps).initialize().start()
17
+ await app.setDeps(deps)
18
+
19
+ const appOperator = await app.initialize()
20
+
21
+ await appOperator.start()
18
22
  }
@@ -2,10 +2,9 @@
2
2
  to: <%= serviceName %>/src/config.ts
3
3
  ---
4
4
 
5
- import { BalancingStrategy, BaseConfig, MetricsConfig, TransporterConfig } from '@diia-inhouse/diia-app'
5
+ import { BaseConfig } from '@diia-inhouse/diia-app'
6
6
 
7
7
  import { EnvService } from '@diia-inhouse/env'
8
- import { HealthCheckConfig } from '@diia-inhouse/healthcheck'
9
8
 
10
9
  <%if (h.isOptionSelected(selectedOptions, 'database')) {%>
11
10
  import { AppDbConfig, ReplicaSetNodeConfig } from '@diia-inhouse/db'
@@ -26,23 +25,23 @@ import {
26
25
  <%}%>
27
26
 
28
27
  // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
29
- export default (envService: EnvService <%= h.isOptionSelected(selectedOptions, ['internal', 'external']) ? ", serviceName: string" : '' %>) => ({
30
- transporter: <TransporterConfig>{
28
+ export default async (envService: EnvService <%= h.isOptionSelected(selectedOptions, ['internal', 'external']) ? ", serviceName: string" : '' %>) => ({
29
+ transporter: {
31
30
  type: envService.getVar('TRANSPORT_TYPE'),
32
31
  options: envService.getVar('TRANSPORT_OPTIONS', 'object', {}),
33
32
  },
34
33
 
35
- balancing: <BalancingStrategy>{
34
+ balancing: {
36
35
  strategy: envService.getVar('BALANCING_STRATEGY_NAME', 'string'),
37
36
  strategyOptions: envService.getVar('BALANCING_STRATEGY_OPTIONS', 'object', {}),
38
37
  },
39
38
 
40
- healthCheck: <HealthCheckConfig>{
39
+ healthCheck: {
41
40
  isEnabled: envService.getVar('HEALTH_CHECK_IS_ENABLED', 'boolean'),
42
41
  port: envService.getVar('HEALTH_CHECK_IS_PORT', 'number', 4545),
43
42
  },
44
43
 
45
- metrics: <MetricsConfig>{
44
+ metrics: {
46
45
  moleculer: {
47
46
  prometheus: {
48
47
  isEnabled: envService.getVar('METRICS_MOLECULER_PROMETHEUS_IS_ENABLED', 'boolean', true),
@@ -63,10 +62,18 @@ export default (envService: EnvService <%= h.isOptionSelected(selectedOptions, [
63
62
  },
64
63
  },
65
64
 
65
+ grpcServer: {
66
+ isEnabled: envService.getVar('GRPC_SERVER_ENABLED', 'boolean', false),
67
+ port: envService.getVar('GRPC_SERVER_PORT', 'number', 5000),
68
+ services: envService.getVar('GRPC_SERVICES', 'object'),
69
+ isReflectionEnabled: envService.getVar('GRPC_REFLECTION_ENABLED', 'boolean', false),
70
+ maxReceiveMessageLength: envService.getVar('GRPC_SERVER_MAX_RECEIVE_MESSAGE_LENGTH', 'number', 1024 * 1024 * 4),
71
+ },
72
+
66
73
  grpc: {},
67
74
 
68
75
  <%if (h.isOptionSelected(selectedOptions, 'database')) {%>
69
- db: <AppDbConfig>{
76
+ db: {
70
77
  database: envService.getVar('MONGO_DATABASE', 'string'),
71
78
  replicaSet: envService.getVar('MONGO_REPLICA_SET', 'string'),
72
79
  user: await envService.getSecret('MONGO_USER', { accessor: 'username', nullable: true }),
@@ -86,7 +93,7 @@ export default (envService: EnvService <%= h.isOptionSelected(selectedOptions, [
86
93
  <%}%>
87
94
 
88
95
  <%if (h.isOptionSelected(selectedOptions, 'external')) {%>
89
- redis: <RedisConfig>{
96
+ redis: {
90
97
  readWrite: envService.getVar('REDIS_READ_WRITE_OPTIONS', 'object'),
91
98
 
92
99
  readOnly: envService.getVar('REDIS_READ_ONLY_OPTIONS', 'object'),
@@ -94,7 +101,7 @@ export default (envService: EnvService <%= h.isOptionSelected(selectedOptions, [
94
101
  <%}%>
95
102
 
96
103
  <%if (h.isOptionSelected(selectedOptions, 'redis')) {%>
97
- store: <RedisConfig>{
104
+ store: {
98
105
  readWrite: envService.getVar('STORE_READ_WRITE_OPTIONS', 'object'),
99
106
 
100
107
  readOnly: envService.getVar('STORE_READ_ONLY_OPTIONS', 'object'),
@@ -102,7 +109,7 @@ export default (envService: EnvService <%= h.isOptionSelected(selectedOptions, [
102
109
  <%}%>
103
110
 
104
111
  <%if (h.isOptionSelected(selectedOptions, ['internal', 'external'])) {%>
105
- rabbit: <QueueConnectionConfig>{
112
+ rabbit: {
106
113
  <%if (h.isOptionSelected(selectedOptions, 'internal')) {%>
107
114
  [QueueConnectionType.Internal]: {
108
115
  connection: {
@@ -7,8 +7,7 @@ import { DepsFactoryFn } from "@diia-inhouse/diia-app";
7
7
  import { AppDeps } from "@interfaces/deps";
8
8
  import { AppConfig } from "@interfaces/config";
9
9
 
10
- export default (
11
- config: AppConfig
12
- ): ReturnType<DepsFactoryFn<AppConfig, AppDeps>> => {
10
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
11
+ export default async (_config: AppConfig): ReturnType<DepsFactoryFn<AppConfig, AppDeps>> => {
13
12
  return {};
14
13
  };
@@ -1,10 +1,11 @@
1
1
  ---
2
- to: <%= serviceName %>/tests/integration/actions/v1/addAction.spec.ts
2
+ to: <%= serviceName %>/tests/integration/actions/v1/getAddResult.spec.ts
3
3
  ---
4
4
 
5
5
  import TestKit from '@diia-inhouse/test'
6
6
 
7
7
  import GetAddResultAction from '@src/actions/v1/getAddResult'
8
+ import { GetAddResultRes } from '@src/generated'
8
9
 
9
10
  import { getApp } from '@tests/utils/getApp'
10
11
 
@@ -34,6 +35,6 @@ describe(`Action ${GetAddResultAction.name}`, () => {
34
35
  const result = await getAddResult.handler({ params: { a, b }, session, headers })
35
36
 
36
37
  // Assert
37
- expect(result).toEqual({ result: 5 })
38
+ expect(result).toEqual<GetAddResultRes>({ result: 5 })
38
39
  })
39
40
  })
@@ -2,11 +2,7 @@
2
2
  to: <%= serviceName %>/tests/utils/getApp.ts
3
3
  ---
4
4
 
5
- import { asClass } from 'awilix'
6
-
7
- import { Application, GrpcService, MoleculerService, ServiceContext, ServiceOperator } from '@diia-inhouse/diia-app'
8
-
9
- import { mockClass } from '@diia-inhouse/test'
5
+ import { Application, ServiceContext, ServiceOperator } from '@diia-inhouse/diia-app'
10
6
 
11
7
  import config from '@src/config'
12
8
 
@@ -16,11 +12,15 @@ import deps from '@tests/utils/getDeps'
16
12
  import { AppConfig } from '@interfaces/config'
17
13
  import { AppDeps } from '@interfaces/deps'
18
14
 
19
- export function getApp(): ServiceOperator<AppConfig, AppDeps & TestDeps> {
15
+ export async function getApp(): Promise<ServiceOperator<AppConfig, AppDeps & TestDeps>> {
20
16
  const app = new Application<ServiceContext<AppConfig, AppDeps & TestDeps>>('<%= h.changeCase.pascal(serviceName) %>')
21
- .setConfig(config)
22
- .setDeps(deps)
23
- .initialize()
24
17
 
25
- return app
18
+ await app.setConfig(config)
19
+ await app.setDeps(deps)
20
+
21
+ const appOperator = await app.initialize()
22
+
23
+ await appOperator.start()
24
+
25
+ return appOperator
26
26
  }
@@ -1,11 +1,9 @@
1
1
  ---
2
2
  to: <%= serviceName %>/tests/utils/getDeps.ts
3
3
  ---
4
- import { asClass } from 'awilix'
5
4
 
6
- import { DepsFactoryFn } from '@diia-inhouse/diia-app'
5
+ import { DepsFactoryFn, asClass } from '@diia-inhouse/diia-app'
7
6
 
8
- import { IdentifierService } from '@diia-inhouse/crypto'
9
7
  import TestKit from '@diia-inhouse/test'
10
8
 
11
9
  import deps from '@src/deps'
@@ -15,9 +13,10 @@ import { TestDeps } from '@tests/interfaces'
15
13
  import { AppConfig } from '@interfaces/config'
16
14
  import { AppDeps } from '@interfaces/deps'
17
15
 
18
- export default (config: AppConfig): ReturnType<DepsFactoryFn<AppConfig, AppDeps & TestDeps>> => {
16
+ export default async (config: AppConfig): ReturnType<DepsFactoryFn<AppConfig, AppDeps & TestDeps>> => {
19
17
  return {
20
- ...deps(config),
18
+ ...(await deps(config)),
19
+
21
20
  testKit: asClass(TestKit).singleton(),
22
21
  }
23
22
  }
@@ -14,7 +14,7 @@ exports.default = {
14
14
  const { serviceName } = await prompter.prompt({
15
15
  type: 'input',
16
16
  name: 'serviceName',
17
- message: "What's your new service name (e.g. super-gen)? Make sure new service is added to the ServiceName enum in the types package",
17
+ message: "What's your new service name (e.g. criminal-cert-service)?",
18
18
  required: true,
19
19
  });
20
20
  const { description } = await prompter.prompt({
@@ -27,7 +27,6 @@ exports.default = {
27
27
  message: 'Which external dependencies do you want use with that service?',
28
28
  choices,
29
29
  });
30
- console.log(chalk_1.default.red.bold('\n!!! REMINDER !!!\r'));
31
30
  console.log(chalk_1.default.red.bold("Don't forget to add charts and envs to the infra repo manually\r"));
32
31
  const { devDeps, deps } = depsNames_1.serviceDependencies;
33
32
  return { serviceName, description, dependencies: { devDeps: devDeps.join(' '), deps: deps.join(' ') }, selectedOptions };
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../../../src/_templates/init/service/prompt.ts"],"names":[],"mappings":";;;;;AAAA,kDAAyB;AAEzB,kDAAwD;AAExD,yEAAkF;AAElF,iDAAyD;AAEzD,MAAM,OAAO,GAAwB,MAAM,CAAC,MAAM,CAAC,qBAAW,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;AAEnG,kBAAe;IACX,MAAM,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAU,EAAoB,EAAE;QACrD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,8FAA8F,CAAC,CAAC,CAAA;QAEvH,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;YAC1C,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,aAAa;YACnB,OAAO,EACH,4HAA4H;YAChI,QAAQ,EAAE,IAAI;SACjB,CAAC,CAAA;QAEF,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;YAC1C,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,sCAAsC;YAC/C,QAAQ,EAAE,IAAI;SACjB,CAAC,CAAA;QAEF,MAAM,eAAe,GAAG,MAAM,IAAA,yBAAiB,EAAc;YACzD,OAAO,EAAE,gEAAgE;YACzE,OAAO;SACV,CAAC,CAAA;QAEF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAA;QACnD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC,CAAA;QAE/F,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,+BAAmB,CAAA;QAE7C,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,eAAe,EAAE,CAAA;IAC5H,CAAC;CACJ,CAAA"}
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../../../src/_templates/init/service/prompt.ts"],"names":[],"mappings":";;;;;AAAA,kDAAyB;AAEzB,kDAAwD;AAExD,yEAAkF;AAElF,iDAAyD;AAEzD,MAAM,OAAO,GAAwB,MAAM,CAAC,MAAM,CAAC,qBAAW,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;AAEnG,kBAAe;IACX,MAAM,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAU,EAAoB,EAAE;QACrD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,8FAA8F,CAAC,CAAC,CAAA;QAEvH,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;YAC1C,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,4DAA4D;YACrE,QAAQ,EAAE,IAAI;SACjB,CAAC,CAAA;QAEF,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;YAC1C,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,sCAAsC;YAC/C,QAAQ,EAAE,IAAI;SACjB,CAAC,CAAA;QAEF,MAAM,eAAe,GAAG,MAAM,IAAA,yBAAiB,EAAc;YACzD,OAAO,EAAE,gEAAgE;YACzE,OAAO;SACV,CAAC,CAAA;QAEF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC,CAAA;QAE/F,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,+BAAmB,CAAA;QAE7C,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,eAAe,EAAE,CAAA;IAC5H,CAAC;CACJ,CAAA"}
package/dist/depsNames.js CHANGED
@@ -14,7 +14,7 @@ const devDeps = [
14
14
  'madge',
15
15
  'prettier',
16
16
  'rimraf',
17
- 'semantic-release',
17
+ 'semantic-release@21.1.2',
18
18
  'ts-node',
19
19
  'ts-patch',
20
20
  'typescript',
@@ -1 +1 @@
1
- {"version":3,"file":"depsNames.js","sourceRoot":"","sources":["../src/depsNames.ts"],"names":[],"mappings":";;;AAAA,MAAM,OAAO,GAAG;IACZ,uBAAuB;IACvB,6BAA6B;IAC7B,oBAAoB;IACpB,wBAAwB;IACxB,oBAAoB;IACpB,aAAa;IACb,QAAQ;IACR,MAAM;IACN,eAAe;IACf,OAAO;IACP,UAAU;IACV,QAAQ;IACR,kBAAkB;IAClB,SAAS;IACT,UAAU;IACV,YAAY;CACf,CAAA;AAEY,QAAA,mBAAmB,GAAG,EAAE,OAAO,EAAE,CAAA;AAEjC,QAAA,mBAAmB,GAAG;IAC/B,OAAO,EAAE,CAAC,GAAG,OAAO,EAAE,wBAAwB,CAAC;IAC/C,IAAI,EAAE;QACF,yBAAyB;QACzB,sBAAsB;QACtB,kBAAkB;QAClB,wBAAwB;QACxB,2BAA2B;QAC3B,0BAA0B;QAC1B,4BAA4B;QAC5B,mBAAmB;QACnB,sBAAsB;QACtB,2BAA2B;QAC3B,oBAAoB;QACpB,qBAAqB;QACrB,qBAAqB;QACrB,qBAAqB;QACrB,0BAA0B;QAC1B,eAAe;QACf,cAAc;KACjB;CACJ,CAAA"}
1
+ {"version":3,"file":"depsNames.js","sourceRoot":"","sources":["../src/depsNames.ts"],"names":[],"mappings":";;;AAAA,MAAM,OAAO,GAAG;IACZ,uBAAuB;IACvB,6BAA6B;IAC7B,oBAAoB;IACpB,wBAAwB;IACxB,oBAAoB;IACpB,aAAa;IACb,QAAQ;IACR,MAAM;IACN,eAAe;IACf,OAAO;IACP,UAAU;IACV,QAAQ;IACR,yBAAyB;IACzB,SAAS;IACT,UAAU;IACV,YAAY;CACf,CAAA;AAEY,QAAA,mBAAmB,GAAG,EAAE,OAAO,EAAE,CAAA;AAEjC,QAAA,mBAAmB,GAAG;IAC/B,OAAO,EAAE,CAAC,GAAG,OAAO,EAAE,wBAAwB,CAAC;IAC/C,IAAI,EAAE;QACF,yBAAyB;QACzB,sBAAsB;QACtB,kBAAkB;QAClB,wBAAwB;QACxB,2BAA2B;QAC3B,0BAA0B;QAC1B,4BAA4B;QAC5B,mBAAmB;QACnB,sBAAsB;QACtB,2BAA2B;QAC3B,oBAAoB;QACpB,qBAAqB;QACrB,qBAAqB;QACrB,qBAAqB;QACrB,0BAA0B;QAC1B,eAAe;QACf,cAAc;KACjB;CACJ,CAAA"}
package/package.json CHANGED
@@ -1,9 +1,7 @@
1
1
  {
2
2
  "name": "@diia-inhouse/scaffold",
3
- "version": "2.17.0",
3
+ "version": "2.19.1",
4
4
  "main": "dist/index.js",
5
- "license": "SEE LICENCE IN LICENCE.md",
6
- "repository": "https://github.com/diia-open-source/be-scaffold.git",
7
5
  "engines": {
8
6
  "node": ">=18"
9
7
  },
@@ -11,12 +9,12 @@
11
9
  "lint": "eslint --ext .ts . && prettier --check .",
12
10
  "lint-fix": "eslint --ext .ts . --fix && prettier --write .",
13
11
  "lint:lockfile": "lockfile-lint --path package-lock.json --allowed-hosts registry.npmjs.org --validate-https",
14
- "prebuild": "rimraf dist",
15
- "build": "tsc && npm run cp:templates",
12
+ "build": "rimraf dist && tsc && npm run cp:templates",
16
13
  "clean:result": "rimraf generation-result",
17
14
  "cp:templates": "cd src && copyfiles _templates/**/*.t ../dist && copyfiles _sharedTemplates/**/*.t ../dist",
18
15
  "prepare": "npm run build",
19
- "find-circulars": "madge --circular --extensions ts ./"
16
+ "find-circulars": "madge --circular --extensions ts ./",
17
+ "semantic-release": "semantic-release"
20
18
  },
21
19
  "bin": {
22
20
  "scaffold": "dist/bin.js"
@@ -62,5 +60,6 @@
62
60
  "madge": {
63
61
  "tsConfig": "./tsconfig.json"
64
62
  },
65
- "peerDependencies": null
63
+ "repository": "https://github.com/diia-open-source/be-scaffold.git",
64
+ "license": "SEE LICENCE IN LICENCE.md"
66
65
  }
@@ -1,15 +0,0 @@
1
- ---
2
- to: <%= interfacePath %>
3
- ---
4
-
5
- <% if (inheritedActionInterface) { %>
6
- import { <%= inheritedActionInterface %> } from '@diia-inhouse/types'
7
- <% } %>
8
- import { <%= h.changeCase.pascal(name) %>Req, <%= h.changeCase.pascal(name) %>Res } from '@src/generated'
9
-
10
-
11
- export interface CustomActionArguments <%= inheritedActionInterface ? `extends ${inheritedActionInterface}` : '' %> {
12
- params: <%= h.changeCase.pascal(name) %>Req
13
- }
14
-
15
- export type ActionResult = <%= h.changeCase.pascal(name) %>Res
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mapSessionTypeToActionArguments = void 0;
4
- const types_1 = require("@diia-inhouse/types");
5
- exports.mapSessionTypeToActionArguments = {
6
- [types_1.SessionType.User]: 'UserActionArguments',
7
- [types_1.SessionType.Partner]: 'PartnerActionArguments',
8
- [types_1.SessionType.EResident]: 'EResidentActionArguments',
9
- [types_1.SessionType.Acquirer]: 'AcquirerActionArguments',
10
- [types_1.SessionType.Temporary]: 'TemporaryActionArguments',
11
- [types_1.SessionType.PortalUser]: 'PortalUserActionArguments',
12
- [types_1.SessionType.ServiceUser]: 'ServiceUserActionArguments',
13
- [types_1.SessionType.EResidentApplicant]: 'UserActionArguments',
14
- [types_1.SessionType.ServiceEntrance]: 'UserActionArguments',
15
- [types_1.SessionType.CabinetUser]: 'UserActionArguments',
16
- [types_1.SessionType.None]: 'ServiceActionArguments',
17
- };
18
- //# sourceMappingURL=dict.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dict.js","sourceRoot":"","sources":["../../../../src/_templates/add/action/dict.ts"],"names":[],"mappings":";;;AAAA,+CAAiD;AAEpC,QAAA,+BAA+B,GAAgC;IACxE,CAAC,mBAAW,CAAC,IAAI,CAAC,EAAE,qBAAqB;IACzC,CAAC,mBAAW,CAAC,OAAO,CAAC,EAAE,wBAAwB;IAC/C,CAAC,mBAAW,CAAC,SAAS,CAAC,EAAE,0BAA0B;IACnD,CAAC,mBAAW,CAAC,QAAQ,CAAC,EAAE,yBAAyB;IACjD,CAAC,mBAAW,CAAC,SAAS,CAAC,EAAE,0BAA0B;IACnD,CAAC,mBAAW,CAAC,UAAU,CAAC,EAAE,2BAA2B;IACrD,CAAC,mBAAW,CAAC,WAAW,CAAC,EAAE,4BAA4B;IACvD,CAAC,mBAAW,CAAC,kBAAkB,CAAC,EAAE,qBAAqB;IACvD,CAAC,mBAAW,CAAC,eAAe,CAAC,EAAE,qBAAqB;IACpD,CAAC,mBAAW,CAAC,WAAW,CAAC,EAAE,qBAAqB;IAChD,CAAC,mBAAW,CAAC,IAAI,CAAC,EAAE,wBAAwB;CAC/C,CAAA"}
@@ -1,13 +0,0 @@
1
- ---
2
- to: <%= serviceName %>/src/interfaces/actions/v1/getAddResult.ts
3
- ---
4
-
5
- import { UserActionArguments } from '@diia-inhouse/types'
6
-
7
- import { GetAddResultReq, GetAddResultRes } from '@src/generated'
8
-
9
- export interface CustomActionArguments extends UserActionArguments {
10
- params: GetAddResultReq
11
- }
12
-
13
- export type ActionResult = GetAddResultRes