@node-c/core 1.0.0-alpha9 → 1.0.0-beta1

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 (160) hide show
  1. package/coverage/src/app.ts.html +349 -0
  2. package/coverage/src/common/configProvider/configProvider.module.ts.html +160 -0
  3. package/coverage/src/common/configProvider/configProvider.service.ts.html +658 -0
  4. package/coverage/src/common/configProvider/index.html +146 -0
  5. package/coverage/src/common/configProvider/index.ts.html +94 -0
  6. package/coverage/src/common/definitions/common.constants.ts.html +160 -0
  7. package/coverage/src/common/definitions/common.errors.ts.html +124 -0
  8. package/coverage/src/common/definitions/index.html +146 -0
  9. package/coverage/src/common/definitions/index.ts.html +94 -0
  10. package/coverage/src/common/utils/index.html +131 -0
  11. package/coverage/src/common/utils/index.ts.html +88 -0
  12. package/coverage/src/common/utils/utils.loadDynamicModules.ts.html +265 -0
  13. package/coverage/src/domain/entityService/domain.entity.service.ts.html +784 -0
  14. package/coverage/src/domain/entityService/index.html +131 -0
  15. package/coverage/src/domain/entityService/index.ts.html +91 -0
  16. package/coverage/src/index.html +116 -0
  17. package/coverage/src/persistance/entityService/index.html +131 -0
  18. package/coverage/src/persistance/entityService/index.ts.html +91 -0
  19. package/coverage/src/persistance/entityService/persistance.entity.service.ts.html +268 -0
  20. package/dist/app.d.ts +10 -9
  21. package/dist/app.js +30 -15
  22. package/dist/app.js.map +1 -1
  23. package/dist/common/configProvider/configProvider.definitions.d.ts +158 -21
  24. package/dist/common/configProvider/configProvider.definitions.js +22 -8
  25. package/dist/common/configProvider/configProvider.definitions.js.map +1 -1
  26. package/dist/common/configProvider/configProvider.module.js +13 -2
  27. package/dist/common/configProvider/configProvider.module.js.map +1 -1
  28. package/dist/common/configProvider/configProvider.service.js +23 -20
  29. package/dist/common/configProvider/configProvider.service.js.map +1 -1
  30. package/dist/common/definitions/common.constants.d.ts +2 -1
  31. package/dist/common/definitions/common.constants.js +1 -0
  32. package/dist/common/definitions/common.constants.js.map +1 -1
  33. package/dist/common/logger/index.d.ts +3 -0
  34. package/dist/common/logger/index.js +20 -0
  35. package/dist/common/logger/index.js.map +1 -0
  36. package/dist/common/logger/logger.definitions.d.ts +4 -0
  37. package/dist/common/logger/logger.definitions.js +3 -0
  38. package/dist/common/logger/logger.definitions.js.map +1 -0
  39. package/dist/common/logger/logger.module.d.ts +5 -0
  40. package/dist/common/logger/logger.module.js +34 -0
  41. package/dist/common/logger/logger.module.js.map +1 -0
  42. package/dist/common/logger/logger.service.d.ts +6 -0
  43. package/dist/common/logger/logger.service.js +56 -0
  44. package/dist/common/logger/logger.service.js.map +1 -0
  45. package/dist/common/utils/base64UrlEncode/base64UrlEncode.method.d.ts +1 -0
  46. package/dist/common/utils/base64UrlEncode/base64UrlEncode.method.js +9 -0
  47. package/dist/common/utils/base64UrlEncode/base64UrlEncode.method.js.map +1 -0
  48. package/dist/common/utils/base64UrlEncode/index.d.ts +1 -0
  49. package/dist/{persistance/entityService → common/utils/base64UrlEncode}/index.js +1 -2
  50. package/dist/common/utils/base64UrlEncode/index.js.map +1 -0
  51. package/dist/common/utils/getNested/getNested.definitions.d.ts +4 -0
  52. package/dist/common/utils/getNested/getNested.definitions.js +3 -0
  53. package/dist/common/utils/getNested/getNested.definitions.js.map +1 -0
  54. package/dist/common/utils/getNested/getNested.method.d.ts +6 -0
  55. package/dist/common/utils/getNested/getNested.method.js +88 -0
  56. package/dist/common/utils/getNested/getNested.method.js.map +1 -0
  57. package/dist/common/utils/getNested/index.d.ts +2 -0
  58. package/dist/common/utils/getNested/index.js +19 -0
  59. package/dist/common/utils/getNested/index.js.map +1 -0
  60. package/dist/common/utils/httpRequest/httpRequest.definitions.d.ts +19 -0
  61. package/dist/common/utils/httpRequest/httpRequest.definitions.js +3 -0
  62. package/dist/common/utils/httpRequest/httpRequest.definitions.js.map +1 -0
  63. package/dist/common/utils/httpRequest/httpRequest.method.d.ts +2 -0
  64. package/dist/common/utils/httpRequest/httpRequest.method.js +56 -0
  65. package/dist/common/utils/httpRequest/httpRequest.method.js.map +1 -0
  66. package/dist/common/utils/httpRequest/index.d.ts +2 -0
  67. package/dist/common/utils/httpRequest/index.js +19 -0
  68. package/dist/common/utils/httpRequest/index.js.map +1 -0
  69. package/dist/common/utils/index.d.ts +5 -1
  70. package/dist/common/utils/index.js +5 -1
  71. package/dist/common/utils/index.js.map +1 -1
  72. package/dist/common/utils/loadDynamicModules/index.d.ts +1 -0
  73. package/dist/common/utils/loadDynamicModules/index.js +18 -0
  74. package/dist/common/utils/loadDynamicModules/index.js.map +1 -0
  75. package/dist/common/utils/{utils.loadDynamicModules.d.ts → loadDynamicModules/utils.loadDynamicModules.d.ts} +1 -1
  76. package/dist/common/utils/loadDynamicModules/utils.loadDynamicModules.js.map +1 -0
  77. package/dist/common/utils/setNested/index.d.ts +2 -0
  78. package/dist/common/utils/setNested/index.js +19 -0
  79. package/dist/common/utils/setNested/index.js.map +1 -0
  80. package/dist/common/utils/setNested/setNested.definitions.d.ts +4 -0
  81. package/dist/common/utils/setNested/setNested.definitions.js +3 -0
  82. package/dist/common/utils/setNested/setNested.definitions.js.map +1 -0
  83. package/dist/common/utils/setNested/setNested.method.d.ts +2 -0
  84. package/dist/common/utils/setNested/setNested.method.js +70 -0
  85. package/dist/common/utils/setNested/setNested.method.js.map +1 -0
  86. package/dist/data/entityService/data.entity.service.d.ts +19 -0
  87. package/dist/data/entityService/data.entity.service.definitions.d.ts +117 -0
  88. package/dist/data/entityService/data.entity.service.definitions.js +28 -0
  89. package/dist/data/entityService/data.entity.service.definitions.js.map +1 -0
  90. package/dist/{persistance/entityService/persistance.entity.service.js → data/entityService/data.entity.service.js} +42 -9
  91. package/dist/data/entityService/data.entity.service.js.map +1 -0
  92. package/dist/data/entityService/index.d.ts +2 -0
  93. package/dist/data/entityService/index.js +19 -0
  94. package/dist/data/entityService/index.js.map +1 -0
  95. package/dist/domain/entityService/domain.entity.service.d.ts +30 -13
  96. package/dist/domain/entityService/domain.entity.service.definitions.d.ts +26 -19
  97. package/dist/domain/entityService/domain.entity.service.definitions.js +6 -6
  98. package/dist/domain/entityService/domain.entity.service.definitions.js.map +1 -1
  99. package/dist/domain/entityService/domain.entity.service.js +78 -69
  100. package/dist/domain/entityService/domain.entity.service.js.map +1 -1
  101. package/dist/index.d.ts +2 -1
  102. package/dist/index.js +2 -1
  103. package/dist/index.js.map +1 -1
  104. package/dist/scripts/generateDatasourceFiles.d.ts +1 -0
  105. package/dist/scripts/generateDatasourceFiles.js +94 -0
  106. package/dist/scripts/generateDatasourceFiles.js.map +1 -0
  107. package/package.json +17 -9
  108. package/src/app.spec.ts +138 -0
  109. package/src/app.ts +120 -0
  110. package/src/common/configProvider/configProvider.definitions.ts +444 -0
  111. package/src/common/configProvider/configProvider.module.spec.ts +90 -0
  112. package/src/common/configProvider/configProvider.module.ts +25 -0
  113. package/src/common/configProvider/configProvider.service.spec.ts +206 -0
  114. package/src/common/configProvider/configProvider.service.ts +204 -0
  115. package/src/common/configProvider/index.ts +3 -0
  116. package/src/common/definitions/common.constants.ts +27 -0
  117. package/src/common/definitions/common.definitions.ts +13 -0
  118. package/src/common/definitions/common.errors.ts +13 -0
  119. package/src/common/definitions/index.ts +3 -0
  120. package/src/common/logger/index.ts +3 -0
  121. package/src/common/logger/logger.definitions.ts +5 -0
  122. package/src/common/logger/logger.module.ts +21 -0
  123. package/src/common/logger/logger.service.ts +40 -0
  124. package/src/common/utils/base64UrlEncode/base64UrlEncode.method.ts +4 -0
  125. package/src/common/utils/base64UrlEncode/index.ts +1 -0
  126. package/src/common/utils/getNested/getNested.definitions.ts +4 -0
  127. package/src/common/utils/getNested/getNested.method.ts +108 -0
  128. package/src/common/utils/getNested/getNested.spec.ts +151 -0
  129. package/src/common/utils/getNested/index.ts +2 -0
  130. package/src/common/utils/httpRequest/httpRequest.definitions.ts +22 -0
  131. package/src/common/utils/httpRequest/httpRequest.method.ts +46 -0
  132. package/src/common/utils/httpRequest/index.ts +2 -0
  133. package/src/common/utils/index.ts +5 -0
  134. package/src/common/utils/loadDynamicModules/index.ts +1 -0
  135. package/src/common/utils/loadDynamicModules/utils.loadDynamicModules.spec.ts +111 -0
  136. package/src/common/utils/loadDynamicModules/utils.loadDynamicModules.ts +69 -0
  137. package/src/common/utils/setNested/index.ts +2 -0
  138. package/src/common/utils/setNested/setNested.definitions.ts +4 -0
  139. package/src/common/utils/setNested/setNested.method.ts +83 -0
  140. package/src/common/utils/setNested/setNested.spec.ts +184 -0
  141. package/src/data/entityService/data.entity.service.definitions.ts +154 -0
  142. package/src/data/entityService/data.entity.service.spec.ts +112 -0
  143. package/src/data/entityService/data.entity.service.ts +147 -0
  144. package/src/data/entityService/index.ts +2 -0
  145. package/src/domain/entityService/domain.entity.service.definitions.ts +142 -0
  146. package/src/domain/entityService/domain.entity.service.spec.ts +126 -0
  147. package/src/domain/entityService/domain.entity.service.ts +424 -0
  148. package/src/domain/entityService/index.ts +2 -0
  149. package/src/index.ts +7 -0
  150. package/src/scripts/generateDatasourceFiles.ts +59 -0
  151. package/src/vitest.config.ts +9 -0
  152. package/dist/common/utils/utils.loadDynamicModules.js.map +0 -1
  153. package/dist/persistance/entityService/index.d.ts +0 -2
  154. package/dist/persistance/entityService/index.js.map +0 -1
  155. package/dist/persistance/entityService/persistance.entity.service.d.ts +0 -11
  156. package/dist/persistance/entityService/persistance.entity.service.definitions.d.ts +0 -76
  157. package/dist/persistance/entityService/persistance.entity.service.definitions.js +0 -23
  158. package/dist/persistance/entityService/persistance.entity.service.definitions.js.map +0 -1
  159. package/dist/persistance/entityService/persistance.entity.service.js.map +0 -1
  160. /package/dist/common/utils/{utils.loadDynamicModules.js → loadDynamicModules/utils.loadDynamicModules.js} +0 -0
@@ -0,0 +1,268 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for src/persistance/entityService/persistance.entity.service.ts</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="../../../prettify.css" />
9
+ <link rel="stylesheet" href="../../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(../../../sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="../../../index.html">All files</a> / <a href="index.html">src/persistance/entityService</a> persistance.entity.service.ts</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">93.33% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>28/30</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">100% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>7/7</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">87.5% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>7/8</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">93.33% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>28/30</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
55
+ Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
+ </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input type="search" id="fileSearch">
61
+ </div>
62
+ </template>
63
+ </div>
64
+ <div class='status-line high'></div>
65
+ <pre><table class="coverage">
66
+ <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
+ <a name='L2'></a><a href='#L2'>2</a>
68
+ <a name='L3'></a><a href='#L3'>3</a>
69
+ <a name='L4'></a><a href='#L4'>4</a>
70
+ <a name='L5'></a><a href='#L5'>5</a>
71
+ <a name='L6'></a><a href='#L6'>6</a>
72
+ <a name='L7'></a><a href='#L7'>7</a>
73
+ <a name='L8'></a><a href='#L8'>8</a>
74
+ <a name='L9'></a><a href='#L9'>9</a>
75
+ <a name='L10'></a><a href='#L10'>10</a>
76
+ <a name='L11'></a><a href='#L11'>11</a>
77
+ <a name='L12'></a><a href='#L12'>12</a>
78
+ <a name='L13'></a><a href='#L13'>13</a>
79
+ <a name='L14'></a><a href='#L14'>14</a>
80
+ <a name='L15'></a><a href='#L15'>15</a>
81
+ <a name='L16'></a><a href='#L16'>16</a>
82
+ <a name='L17'></a><a href='#L17'>17</a>
83
+ <a name='L18'></a><a href='#L18'>18</a>
84
+ <a name='L19'></a><a href='#L19'>19</a>
85
+ <a name='L20'></a><a href='#L20'>20</a>
86
+ <a name='L21'></a><a href='#L21'>21</a>
87
+ <a name='L22'></a><a href='#L22'>22</a>
88
+ <a name='L23'></a><a href='#L23'>23</a>
89
+ <a name='L24'></a><a href='#L24'>24</a>
90
+ <a name='L25'></a><a href='#L25'>25</a>
91
+ <a name='L26'></a><a href='#L26'>26</a>
92
+ <a name='L27'></a><a href='#L27'>27</a>
93
+ <a name='L28'></a><a href='#L28'>28</a>
94
+ <a name='L29'></a><a href='#L29'>29</a>
95
+ <a name='L30'></a><a href='#L30'>30</a>
96
+ <a name='L31'></a><a href='#L31'>31</a>
97
+ <a name='L32'></a><a href='#L32'>32</a>
98
+ <a name='L33'></a><a href='#L33'>33</a>
99
+ <a name='L34'></a><a href='#L34'>34</a>
100
+ <a name='L35'></a><a href='#L35'>35</a>
101
+ <a name='L36'></a><a href='#L36'>36</a>
102
+ <a name='L37'></a><a href='#L37'>37</a>
103
+ <a name='L38'></a><a href='#L38'>38</a>
104
+ <a name='L39'></a><a href='#L39'>39</a>
105
+ <a name='L40'></a><a href='#L40'>40</a>
106
+ <a name='L41'></a><a href='#L41'>41</a>
107
+ <a name='L42'></a><a href='#L42'>42</a>
108
+ <a name='L43'></a><a href='#L43'>43</a>
109
+ <a name='L44'></a><a href='#L44'>44</a>
110
+ <a name='L45'></a><a href='#L45'>45</a>
111
+ <a name='L46'></a><a href='#L46'>46</a>
112
+ <a name='L47'></a><a href='#L47'>47</a>
113
+ <a name='L48'></a><a href='#L48'>48</a>
114
+ <a name='L49'></a><a href='#L49'>49</a>
115
+ <a name='L50'></a><a href='#L50'>50</a>
116
+ <a name='L51'></a><a href='#L51'>51</a>
117
+ <a name='L52'></a><a href='#L52'>52</a>
118
+ <a name='L53'></a><a href='#L53'>53</a>
119
+ <a name='L54'></a><a href='#L54'>54</a>
120
+ <a name='L55'></a><a href='#L55'>55</a>
121
+ <a name='L56'></a><a href='#L56'>56</a>
122
+ <a name='L57'></a><a href='#L57'>57</a>
123
+ <a name='L58'></a><a href='#L58'>58</a>
124
+ <a name='L59'></a><a href='#L59'>59</a>
125
+ <a name='L60'></a><a href='#L60'>60</a>
126
+ <a name='L61'></a><a href='#L61'>61</a>
127
+ <a name='L62'></a><a href='#L62'>62</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
128
+ <span class="cline-any cline-neutral">&nbsp;</span>
129
+ <span class="cline-any cline-neutral">&nbsp;</span>
130
+ <span class="cline-any cline-neutral">&nbsp;</span>
131
+ <span class="cline-any cline-neutral">&nbsp;</span>
132
+ <span class="cline-any cline-neutral">&nbsp;</span>
133
+ <span class="cline-any cline-neutral">&nbsp;</span>
134
+ <span class="cline-any cline-neutral">&nbsp;</span>
135
+ <span class="cline-any cline-neutral">&nbsp;</span>
136
+ <span class="cline-any cline-neutral">&nbsp;</span>
137
+ <span class="cline-any cline-yes">1x</span>
138
+ <span class="cline-any cline-neutral">&nbsp;</span>
139
+ <span class="cline-any cline-neutral">&nbsp;</span>
140
+ <span class="cline-any cline-neutral">&nbsp;</span>
141
+ <span class="cline-any cline-neutral">&nbsp;</span>
142
+ <span class="cline-any cline-neutral">&nbsp;</span>
143
+ <span class="cline-any cline-yes">1x</span>
144
+ <span class="cline-any cline-neutral">&nbsp;</span>
145
+ <span class="cline-any cline-yes">1x</span>
146
+ <span class="cline-any cline-yes">3x</span>
147
+ <span class="cline-any cline-yes">3x</span>
148
+ <span class="cline-any cline-neutral">&nbsp;</span>
149
+ <span class="cline-any cline-neutral">&nbsp;</span>
150
+ <span class="cline-any cline-yes">1x</span>
151
+ <span class="cline-any cline-yes">3x</span>
152
+ <span class="cline-any cline-yes">3x</span>
153
+ <span class="cline-any cline-neutral">&nbsp;</span>
154
+ <span class="cline-any cline-neutral">&nbsp;</span>
155
+ <span class="cline-any cline-yes">1x</span>
156
+ <span class="cline-any cline-yes">3x</span>
157
+ <span class="cline-any cline-yes">3x</span>
158
+ <span class="cline-any cline-neutral">&nbsp;</span>
159
+ <span class="cline-any cline-neutral">&nbsp;</span>
160
+ <span class="cline-any cline-yes">1x</span>
161
+ <span class="cline-any cline-yes">3x</span>
162
+ <span class="cline-any cline-yes">3x</span>
163
+ <span class="cline-any cline-neutral">&nbsp;</span>
164
+ <span class="cline-any cline-neutral">&nbsp;</span>
165
+ <span class="cline-any cline-yes">1x</span>
166
+ <span class="cline-any cline-yes">3x</span>
167
+ <span class="cline-any cline-yes">3x</span>
168
+ <span class="cline-any cline-neutral">&nbsp;</span>
169
+ <span class="cline-any cline-neutral">&nbsp;</span>
170
+ <span class="cline-any cline-yes">1x</span>
171
+ <span class="cline-any cline-yes">3x</span>
172
+ <span class="cline-any cline-yes">3x</span>
173
+ <span class="cline-any cline-neutral">&nbsp;</span>
174
+ <span class="cline-any cline-neutral">&nbsp;</span>
175
+ <span class="cline-any cline-yes">1x</span>
176
+ <span class="cline-any cline-no">&nbsp;</span>
177
+ <span class="cline-any cline-no">&nbsp;</span>
178
+ <span class="cline-any cline-neutral">&nbsp;</span>
179
+ <span class="cline-any cline-yes">1x</span>
180
+ <span class="cline-any cline-neutral">&nbsp;</span>
181
+ <span class="cline-any cline-yes">3x</span>
182
+ <span class="cline-any cline-neutral">&nbsp;</span>
183
+ <span class="cline-any cline-yes">3x</span>
184
+ <span class="cline-any cline-yes">3x</span>
185
+ <span class="cline-any cline-yes">3x</span>
186
+ <span class="cline-any cline-yes">3x</span>
187
+ <span class="cline-any cline-yes">1x</span>
188
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import {
189
+ PersistanceDeleteOptions,
190
+ PersistanceDeleteResult,
191
+ PersistanceFindOneOptions,
192
+ PersistanceFindOptions,
193
+ PersistanceFindResults,
194
+ PersistanceUpdateOptions,
195
+ PersistanceUpdateResult
196
+ } from './persistance.entity.service.definitions';
197
+ &nbsp;
198
+ import { ApplicationError } from '../../common/definitions';
199
+ &nbsp;
200
+ /*
201
+ * This class is used as a unifying abstraction between RDB and non-RDB entities. It can be used
202
+ * to define classes that are agnostic of the type of persitance.
203
+ */
204
+ export class PersistanceEntityService&lt;Entity&gt; {
205
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
206
+ public async bulkCreate(_data: Partial&lt;Entity&gt;[], _options?: unknown): Promise&lt;Entity[]&gt; {
207
+ throw new ApplicationError(`Method bulkCreate not implemented for class ${typeof this}.`);
208
+ }
209
+ &nbsp;
210
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
211
+ public async create(_data: Partial&lt;Entity&gt;, _options?: unknown): Promise&lt;Entity&gt; {
212
+ throw new ApplicationError(`Method create not implemented for class ${typeof this}.`);
213
+ }
214
+ &nbsp;
215
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
216
+ public async count(_options: PersistanceFindOptions): Promise&lt;number | undefined&gt; {
217
+ throw new ApplicationError(`Method count not implemented for class ${typeof this}.`);
218
+ }
219
+ &nbsp;
220
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
221
+ public delete(_options: PersistanceDeleteOptions): Promise&lt;PersistanceDeleteResult&gt; {
222
+ throw new ApplicationError(`Method delete not implemented for class ${typeof this}.`);
223
+ }
224
+ &nbsp;
225
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
226
+ public find(_options: PersistanceFindOptions): Promise&lt;PersistanceFindResults&lt;Entity&gt;&gt; {
227
+ throw new ApplicationError(`Method find not implemented for class ${typeof this}.`);
228
+ }
229
+ &nbsp;
230
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
231
+ public findOne(_options: PersistanceFindOneOptions): Promise&lt;Entity | null&gt; {
232
+ throw new ApplicationError(`Method findOne not implemented for class ${typeof this}.`);
233
+ }
234
+ &nbsp;
235
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
236
+ public <span class="fstat-no" title="function not covered" >getEntityName(): Promise&lt;string&gt; {</span>
237
+ <span class="cstat-no" title="statement not covered" > throw new ApplicationError(`Method getEntityName not implemented for class ${typeof this}.`);</span>
238
+ <span class="cstat-no" title="statement not covered" > }</span>
239
+ &nbsp;
240
+ public async update(
241
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
242
+ _data: Partial&lt;Entity&gt;,
243
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
244
+ _options: PersistanceUpdateOptions
245
+ ): Promise&lt;PersistanceUpdateResult&lt;Entity&gt;&gt; {
246
+ throw new ApplicationError(`Method update not implemented for class ${typeof this}.`);
247
+ }
248
+ }
249
+ &nbsp;</pre></td></tr></table></pre>
250
+
251
+ <div class='push'></div><!-- for sticky footer -->
252
+ </div><!-- /wrapper -->
253
+ <div class='footer quiet pad2 space-top1 center small'>
254
+ Code coverage generated by
255
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
256
+ at 2025-03-29T20:31:24.841Z
257
+ </div>
258
+ <script src="../../../prettify.js"></script>
259
+ <script>
260
+ window.onload = function () {
261
+ prettyPrint();
262
+ };
263
+ </script>
264
+ <script src="../../../sorter.js"></script>
265
+ <script src="../../../block-navigation.js"></script>
266
+ </body>
267
+ </html>
268
+
package/dist/app.d.ts CHANGED
@@ -1,20 +1,21 @@
1
- import { INestApplication, NestModule } from '@nestjs/common';
1
+ import { DynamicModule, INestApplication } from '@nestjs/common';
2
2
  import { ConfigProviderModuleOptions } from './common/configProvider';
3
+ export interface NodeCAppGenerateOrmConfigModuleOptions {
4
+ [moduleName: string]: {
5
+ entitiesPathInModule: string;
6
+ migrationsPathInModule: string;
7
+ modulePathInProject: string;
8
+ };
9
+ }
3
10
  export interface NodeCAppStartOptions {
4
11
  apiModulesOptions?: {
5
12
  appModuleIndex: number;
6
13
  apiModuleName: string;
7
14
  }[];
8
15
  generateOrmConfig?: boolean;
9
- generateOrmConfigModuleOptions?: {
10
- [moduleName: string]: {
11
- entitiesPathInModule: string;
12
- migrationsPathInModule: string;
13
- modulePathInProject: string;
14
- };
15
- };
16
+ generateOrmConfigModuleOptions?: NodeCAppGenerateOrmConfigModuleOptions;
16
17
  loadConfigOptions?: ConfigProviderModuleOptions;
17
18
  }
18
19
  export declare class NodeCApp {
19
- static start(appModules: NestModule[], options?: NodeCAppStartOptions): Promise<INestApplication<unknown>[]>;
20
+ static start(appModules: DynamicModule[], options?: NodeCAppStartOptions): Promise<INestApplication<unknown>[]>;
20
21
  }
package/dist/app.js CHANGED
@@ -19,41 +19,40 @@ var __rest = (this && this.__rest) || function (s, e) {
19
19
  }
20
20
  return t;
21
21
  };
22
- var __importDefault = (this && this.__importDefault) || function (mod) {
23
- return (mod && mod.__esModule) ? mod : { "default": mod };
24
- };
25
22
  Object.defineProperty(exports, "__esModule", { value: true });
26
23
  exports.NodeCApp = void 0;
27
- const common_1 = require("@nestjs/common");
28
24
  const core_1 = require("@nestjs/core");
29
- const morgan_1 = __importDefault(require("morgan"));
30
25
  const configProvider_1 = require("./common/configProvider");
26
+ const logger_1 = require("./common/logger");
31
27
  class NodeCApp {
32
28
  static start(appModules, options) {
33
29
  return __awaiter(this, void 0, void 0, function* () {
30
+ console.info(`[Node-C]: Launching ${appModules.length} applications...`);
34
31
  const { apiModulesOptions, generateOrmConfig, generateOrmConfigModuleOptions, loadConfigOptions } = options || {};
35
32
  const apiModulesOptionsMap = new Map();
36
33
  const apps = [];
37
34
  let config;
38
35
  if (loadConfigOptions) {
36
+ console.info('[Node-C]: Loading configurations...');
39
37
  const { appConfigs } = loadConfigOptions, otherOptions = __rest(loadConfigOptions, ["appConfigs"]);
40
38
  config = yield configProvider_1.ConfigProviderService.loadConfig(appConfigs, otherOptions);
41
39
  if (generateOrmConfig) {
42
40
  const moduleOptionsPerName = generateOrmConfigModuleOptions || {};
43
- const { persistance } = config;
44
- for (const moduleName in persistance) {
45
- const { type } = persistance[moduleName];
41
+ const { data } = config;
42
+ for (const moduleName in data) {
43
+ const { type } = data[moduleName];
46
44
  if (type === configProvider_1.RDBType.ClickHouse || !Object.values(configProvider_1.RDBType).includes(type)) {
47
45
  continue;
48
46
  }
49
47
  yield configProvider_1.ConfigProviderService.generateOrmconfig(config, Object.assign(Object.assign({}, (moduleOptionsPerName[moduleName] || {
50
48
  entitiesPathInModule: 'entities',
51
49
  migrationsPathInModule: 'migrations',
52
- modulePathInProject: `src/persistance/${moduleName}`,
50
+ modulePathInProject: `src/data/${moduleName}`,
53
51
  seedsPathInModule: 'seeds'
54
52
  })), { moduleName }));
55
53
  }
56
54
  }
55
+ console.info('[Node-C]: Configurations loaded.');
57
56
  }
58
57
  if (apiModulesOptions && apiModulesOptions.length) {
59
58
  apiModulesOptions.forEach(item => {
@@ -61,27 +60,43 @@ class NodeCApp {
61
60
  });
62
61
  }
63
62
  for (const i in appModules) {
64
- const app = yield core_1.NestFactory.create(appModules[i], { bodyParser: false });
63
+ console.info(`[Node-C]: Preparing app module no. ${i}...`);
65
64
  const apiModuleName = apiModulesOptionsMap.get(i);
66
65
  if (!apiModuleName) {
66
+ console.info(`[Node-C][${i}]: No api module found. Creating standalone app...`);
67
+ const app = yield core_1.NestFactory.createApplicationContext(appModules[i]);
68
+ app.useLogger(app.get(logger_1.LoggerService));
67
69
  apps.push(app);
70
+ console.info(`[Node-C][${i}]: Standalone created successfully.`);
68
71
  continue;
69
72
  }
73
+ console.info(`[Node-C][${i}]: Api module found. Creating network app...`);
74
+ const app = yield core_1.NestFactory.create(appModules[i], { bodyParser: false });
75
+ app.useLogger(app.get(logger_1.LoggerService));
76
+ console.info(`[Node-C]: Created a network app for module no ${i} (API module name "${apiModuleName}").`);
70
77
  if (!config) {
71
78
  config = app.get(configProvider_1.ConfigProviderService).config;
72
79
  }
73
80
  const { api: apiConfigs } = config;
74
81
  const apiConfig = apiConfigs[apiModuleName];
75
82
  if (apiConfig) {
76
- app.use((0, morgan_1.default)('tiny'));
77
- app.useGlobalPipes(new common_1.ValidationPipe({
78
- whitelist: true
79
- }));
80
83
  const { hostname, port } = apiConfig;
81
84
  if (hostname && port) {
85
+ console.info(`[Node-C][${i}/${apiModuleName}]: Starting listeners...`);
86
+ app.set('query parser', 'extended');
87
+ app.use((req, _res, next) => {
88
+ Object.defineProperty(req, 'query', Object.assign(Object.assign({}, Object.getOwnPropertyDescriptor(req, 'query')), { value: req.query, writable: true }));
89
+ next();
90
+ });
82
91
  yield app.listen(port, hostname);
83
- console.info(`[API.${apiModuleName}] Server listening at ${hostname}:${port}.`);
92
+ console.info(`[NODE-C][${i}/${apiModuleName}] Server listening at ${hostname}:${port}.`);
84
93
  }
94
+ else {
95
+ console.info(`[Node-C][${i}/${apiModuleName}]: No listener configuration found.`);
96
+ }
97
+ }
98
+ else {
99
+ console.info(`[Node-C][${i}/${apiModuleName}]: No API config found.`);
85
100
  }
86
101
  apps.push(app);
87
102
  }
package/dist/app.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}