taon 21.0.18 → 21.0.29

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 (412) hide show
  1. package/README.md +11 -2
  2. package/browser/fesm2022/taon-browser.mjs +1167 -1011
  3. package/browser/fesm2022/taon-browser.mjs.map +1 -1
  4. package/browser/package.json +1 -1
  5. package/browser/types/taon-browser.d.ts +7 -3
  6. package/browser-prod/README.md +24 -0
  7. package/browser-prod/fesm2022/taon-browser.mjs +8367 -0
  8. package/browser-prod/fesm2022/taon-browser.mjs.map +1 -0
  9. package/browser-prod/types/taon-browser.d.ts +2178 -0
  10. package/lib/base-classes/base-context.js +4 -0
  11. package/lib/base-classes/base-context.js.map +1 -1
  12. package/lib/build-info._auto-generated_.d.ts +5 -1
  13. package/lib/build-info._auto-generated_.js +6 -2
  14. package/lib/build-info._auto-generated_.js.map +1 -1
  15. package/lib/decorators/classes/middleware-decorator.d.ts +1 -0
  16. package/lib/decorators/classes/middleware-decorator.js +1 -0
  17. package/lib/decorators/classes/middleware-decorator.js.map +1 -1
  18. package/lib/decorators/classes/subscriber-decorator.d.ts +1 -1
  19. package/lib/decorators/classes/subscriber-decorator.js.map +1 -1
  20. package/lib/env/env.angular-node-app.d.ts +30 -28
  21. package/lib/env/env.angular-node-app.js +32 -30
  22. package/lib/env/env.angular-node-app.js.map +1 -1
  23. package/lib/env/env.docs-webapp.d.ts +30 -28
  24. package/lib/env/env.docs-webapp.js +32 -30
  25. package/lib/env/env.docs-webapp.js.map +1 -1
  26. package/lib/env/env.electron-app.d.ts +30 -28
  27. package/lib/env/env.electron-app.js +32 -30
  28. package/lib/env/env.electron-app.js.map +1 -1
  29. package/lib/env/env.mobile-app.d.ts +30 -28
  30. package/lib/env/env.mobile-app.js +32 -30
  31. package/lib/env/env.mobile-app.js.map +1 -1
  32. package/lib/env/env.npm-lib-and-cli-tool.d.ts +30 -28
  33. package/lib/env/env.npm-lib-and-cli-tool.js +32 -30
  34. package/lib/env/env.npm-lib-and-cli-tool.js.map +1 -1
  35. package/lib/env/env.vscode-plugin.d.ts +30 -28
  36. package/lib/env/env.vscode-plugin.js +32 -30
  37. package/lib/env/env.vscode-plugin.js.map +1 -1
  38. package/lib/formly/type-from-entity.js +9 -9
  39. package/lib/formly/type-from-entity.js.map +1 -1
  40. package/lib/global-state/taon-global-state/index.d.ts +6 -0
  41. package/lib/global-state/taon-global-state/index.js +23 -0
  42. package/lib/global-state/taon-global-state/index.js.map +1 -0
  43. package/lib/global-state/taon-global-state/taon-global-state-api.service.d.ts +7 -0
  44. package/lib/global-state/taon-global-state/taon-global-state.abstract.context.d.ts +19 -0
  45. package/lib/global-state/taon-global-state/taon-global-state.abstract.context.js +23 -0
  46. package/lib/global-state/taon-global-state/taon-global-state.abstract.context.js.map +1 -0
  47. package/lib/global-state/taon-global-state/taon-global-state.constants.d.ts +2 -0
  48. package/lib/global-state/taon-global-state/taon-global-state.constants.js +11 -0
  49. package/lib/global-state/taon-global-state/taon-global-state.constants.js.map +1 -0
  50. package/lib/global-state/taon-global-state/taon-global-state.controller.d.ts +11 -0
  51. package/lib/global-state/taon-global-state/taon-global-state.controller.js +62 -0
  52. package/lib/global-state/taon-global-state/taon-global-state.controller.js.map +1 -0
  53. package/lib/global-state/taon-global-state/taon-global-state.entity.d.ts +7 -0
  54. package/lib/global-state/taon-global-state/taon-global-state.entity.js +64 -0
  55. package/lib/global-state/taon-global-state/taon-global-state.entity.js.map +1 -0
  56. package/lib/global-state/taon-global-state/taon-global-state.middleware.d.ts +3 -0
  57. package/lib/global-state/taon-global-state/taon-global-state.middleware.js +22 -0
  58. package/lib/global-state/taon-global-state/taon-global-state.middleware.js.map +1 -0
  59. package/lib/global-state/taon-global-state/taon-global-state.models.d.ts +28 -0
  60. package/lib/global-state/taon-global-state/taon-global-state.models.js +48 -0
  61. package/lib/global-state/taon-global-state/taon-global-state.models.js.map +1 -0
  62. package/lib/global-state/taon-global-state/taon-global-state.provider.d.ts +3 -0
  63. package/lib/global-state/taon-global-state/taon-global-state.provider.js +22 -0
  64. package/lib/global-state/taon-global-state/taon-global-state.provider.js.map +1 -0
  65. package/lib/global-state/taon-global-state/taon-global-state.repository.d.ts +9 -0
  66. package/lib/global-state/taon-global-state/taon-global-state.repository.js +53 -0
  67. package/lib/global-state/taon-global-state/taon-global-state.repository.js.map +1 -0
  68. package/lib/global-state/taon-global-state/taon-global-state.subscriber.d.ts +7 -0
  69. package/lib/global-state/taon-global-state/taon-global-state.subscriber.js +29 -0
  70. package/lib/global-state/taon-global-state/taon-global-state.subscriber.js.map +1 -0
  71. package/lib/global-state/taon-global-state/taon-global-state.utils.d.ts +4 -0
  72. package/lib/global-state/taon-global-state/taon-global-state.utils.js +16 -0
  73. package/lib/global-state/taon-global-state/taon-global-state.utils.js.map +1 -0
  74. package/lib/global-state/taon-transaction-registry/index.d.ts +11 -0
  75. package/lib/global-state/taon-transaction-registry/index.js +28 -0
  76. package/lib/global-state/taon-transaction-registry/index.js.map +1 -0
  77. package/lib/global-state/taon-transaction-registry/taon-transaction-registry-api.service.d.ts +7 -0
  78. package/lib/global-state/taon-transaction-registry/taon-transaction-registry.abstract.context.d.ts +19 -0
  79. package/lib/global-state/taon-transaction-registry/taon-transaction-registry.abstract.context.js +25 -0
  80. package/lib/global-state/taon-transaction-registry/taon-transaction-registry.abstract.context.js.map +1 -0
  81. package/lib/global-state/taon-transaction-registry/taon-transaction-registry.constants.d.ts +2 -0
  82. package/lib/global-state/taon-transaction-registry/taon-transaction-registry.constants.js +9 -0
  83. package/lib/global-state/taon-transaction-registry/taon-transaction-registry.constants.js.map +1 -0
  84. package/lib/global-state/taon-transaction-registry/taon-transaction-registry.controller.d.ts +9 -0
  85. package/lib/global-state/taon-transaction-registry/taon-transaction-registry.controller.js +52 -0
  86. package/lib/global-state/taon-transaction-registry/taon-transaction-registry.controller.js.map +1 -0
  87. package/lib/global-state/taon-transaction-registry/taon-transaction-registry.entity.d.ts +12 -0
  88. package/lib/global-state/taon-transaction-registry/taon-transaction-registry.entity.js +77 -0
  89. package/lib/global-state/taon-transaction-registry/taon-transaction-registry.entity.js.map +1 -0
  90. package/lib/global-state/taon-transaction-registry/taon-transaction-registry.middleware.d.ts +3 -0
  91. package/lib/global-state/taon-transaction-registry/taon-transaction-registry.middleware.js +22 -0
  92. package/lib/global-state/taon-transaction-registry/taon-transaction-registry.middleware.js.map +1 -0
  93. package/lib/global-state/taon-transaction-registry/taon-transaction-registry.models.d.ts +6 -0
  94. package/lib/global-state/taon-transaction-registry/taon-transaction-registry.models.js +11 -0
  95. package/lib/global-state/taon-transaction-registry/taon-transaction-registry.models.js.map +1 -0
  96. package/lib/global-state/taon-transaction-registry/taon-transaction-registry.provider.d.ts +3 -0
  97. package/lib/global-state/taon-transaction-registry/taon-transaction-registry.provider.js +22 -0
  98. package/lib/global-state/taon-transaction-registry/taon-transaction-registry.provider.js.map +1 -0
  99. package/lib/global-state/taon-transaction-registry/taon-transaction-registry.repository.d.ts +9 -0
  100. package/lib/global-state/taon-transaction-registry/taon-transaction-registry.repository.js +38 -0
  101. package/lib/global-state/taon-transaction-registry/taon-transaction-registry.repository.js.map +1 -0
  102. package/lib/global-state/taon-transaction-registry/taon-transaction-registry.subscriber.d.ts +7 -0
  103. package/lib/global-state/taon-transaction-registry/taon-transaction-registry.subscriber.js +29 -0
  104. package/lib/global-state/taon-transaction-registry/taon-transaction-registry.subscriber.js.map +1 -0
  105. package/lib/global-state/taon-transaction-registry/taon-transaction-registry.utils.d.ts +4 -0
  106. package/lib/global-state/taon-transaction-registry/taon-transaction-registry.utils.js +11 -0
  107. package/lib/global-state/taon-transaction-registry/taon-transaction-registry.utils.js.map +1 -0
  108. package/lib/orm/columns.d.ts +5 -1
  109. package/lib/orm/columns.js +12 -2
  110. package/lib/orm/columns.js.map +1 -1
  111. package/lib/ui/index.js +2 -2
  112. package/lib/ui/taon-admin-mode-configuration/index.js +2 -2
  113. package/lib-prod/base-classes/base-abstract-entity.d.ts +7 -0
  114. package/lib-prod/base-classes/base-abstract-entity.js +42 -0
  115. package/lib-prod/base-classes/base-abstract-entity.js.map +1 -0
  116. package/lib-prod/base-classes/base-angular-service.d.ts +27 -0
  117. package/lib-prod/base-classes/base-angular-service.js +89 -0
  118. package/lib-prod/base-classes/base-angular-service.js.map +1 -0
  119. package/lib-prod/base-classes/base-class.d.ts +15 -0
  120. package/lib-prod/base-classes/base-class.js +40 -0
  121. package/lib-prod/base-classes/base-class.js.map +1 -0
  122. package/lib-prod/base-classes/base-context.d.ts +20 -0
  123. package/lib-prod/base-classes/base-context.js +23 -0
  124. package/lib-prod/base-classes/base-context.js.map +1 -0
  125. package/lib-prod/base-classes/base-controller.d.ts +83 -0
  126. package/lib-prod/base-classes/base-controller.js +173 -0
  127. package/lib-prod/base-classes/base-controller.js.map +1 -0
  128. package/lib-prod/base-classes/base-crud-controller.d.ts +28 -0
  129. package/lib-prod/base-classes/base-crud-controller.js +319 -0
  130. package/lib-prod/base-classes/base-crud-controller.js.map +1 -0
  131. package/lib-prod/base-classes/base-custom-repository.d.ts +3 -0
  132. package/lib-prod/base-classes/base-custom-repository.js +19 -0
  133. package/lib-prod/base-classes/base-custom-repository.js.map +1 -0
  134. package/lib-prod/base-classes/base-electron-service.d.ts +0 -0
  135. package/lib-prod/base-classes/base-electron-service.js +50 -0
  136. package/lib-prod/base-classes/base-electron-service.js.map +1 -0
  137. package/lib-prod/base-classes/base-entity.d.ts +16 -0
  138. package/lib-prod/base-classes/base-entity.js +32 -0
  139. package/lib-prod/base-classes/base-entity.js.map +1 -0
  140. package/lib-prod/base-classes/base-file-upload.middleware.d.ts +14 -0
  141. package/lib-prod/base-classes/base-file-upload.middleware.js +85 -0
  142. package/lib-prod/base-classes/base-file-upload.middleware.js.map +1 -0
  143. package/lib-prod/base-classes/base-injector.d.ts +67 -0
  144. package/lib-prod/base-classes/base-injector.js +198 -0
  145. package/lib-prod/base-classes/base-injector.js.map +1 -0
  146. package/lib-prod/base-classes/base-middleware.d.ts +38 -0
  147. package/lib-prod/base-classes/base-middleware.js +14 -0
  148. package/lib-prod/base-classes/base-middleware.js.map +1 -0
  149. package/lib-prod/base-classes/base-migration.d.ts +11 -0
  150. package/lib-prod/base-classes/base-migration.js +25 -0
  151. package/lib-prod/base-classes/base-migration.js.map +1 -0
  152. package/lib-prod/base-classes/base-provider.d.ts +8 -0
  153. package/lib-prod/base-classes/base-provider.js +13 -0
  154. package/lib-prod/base-classes/base-provider.js.map +1 -0
  155. package/lib-prod/base-classes/base-repository.d.ts +272 -0
  156. package/lib-prod/base-classes/base-repository.js +634 -0
  157. package/lib-prod/base-classes/base-repository.js.map +1 -0
  158. package/lib-prod/base-classes/base-subscriber-for-entity.d.ts +81 -0
  159. package/lib-prod/base-classes/base-subscriber-for-entity.js +155 -0
  160. package/lib-prod/base-classes/base-subscriber-for-entity.js.map +1 -0
  161. package/lib-prod/base-classes/base.d.ts +1 -0
  162. package/lib-prod/base-classes/base.js +20 -0
  163. package/lib-prod/base-classes/base.js.map +1 -0
  164. package/lib-prod/build-info._auto-generated_.d.ts +24 -0
  165. package/lib-prod/build-info._auto-generated_.js +30 -0
  166. package/lib-prod/build-info._auto-generated_.js.map +1 -0
  167. package/lib-prod/config/controller-config.d.ts +21 -0
  168. package/lib-prod/config/controller-config.js +34 -0
  169. package/lib-prod/config/controller-config.js.map +1 -0
  170. package/lib-prod/config/controller-options.d.ts +16 -0
  171. package/lib-prod/config/controller-options.js +8 -0
  172. package/lib-prod/config/controller-options.js.map +1 -0
  173. package/lib-prod/config/method-config.d.ts +39 -0
  174. package/lib-prod/config/method-config.js +12 -0
  175. package/lib-prod/config/method-config.js.map +1 -0
  176. package/lib-prod/config/param-config.d.ts +8 -0
  177. package/lib-prod/config/param-config.js +8 -0
  178. package/lib-prod/config/param-config.js.map +1 -0
  179. package/lib-prod/constants.d.ts +9 -0
  180. package/lib-prod/constants.js +32 -0
  181. package/lib-prod/constants.js.map +1 -0
  182. package/lib-prod/context-db-migrations.d.ts +17 -0
  183. package/lib-prod/context-db-migrations.js +349 -0
  184. package/lib-prod/context-db-migrations.js.map +1 -0
  185. package/lib-prod/create-context.d.ts +78 -0
  186. package/lib-prod/create-context.js +223 -0
  187. package/lib-prod/create-context.js.map +1 -0
  188. package/lib-prod/decorators/classes/controller-decorator.d.ts +5 -0
  189. package/lib-prod/decorators/classes/controller-decorator.js +21 -0
  190. package/lib-prod/decorators/classes/controller-decorator.js.map +1 -0
  191. package/lib-prod/decorators/classes/entity-decorator.d.ts +19 -0
  192. package/lib-prod/decorators/classes/entity-decorator.js +43 -0
  193. package/lib-prod/decorators/classes/entity-decorator.js.map +1 -0
  194. package/lib-prod/decorators/classes/middleware-decorator.d.ts +8 -0
  195. package/lib-prod/decorators/classes/middleware-decorator.js +22 -0
  196. package/lib-prod/decorators/classes/middleware-decorator.js.map +1 -0
  197. package/lib-prod/decorators/classes/migration-decorator.d.ts +7 -0
  198. package/lib-prod/decorators/classes/migration-decorator.js +21 -0
  199. package/lib-prod/decorators/classes/migration-decorator.js.map +1 -0
  200. package/lib-prod/decorators/classes/provider-decorator.d.ts +7 -0
  201. package/lib-prod/decorators/classes/provider-decorator.js +21 -0
  202. package/lib-prod/decorators/classes/provider-decorator.js.map +1 -0
  203. package/lib-prod/decorators/classes/repository-decorator.d.ts +7 -0
  204. package/lib-prod/decorators/classes/repository-decorator.js +21 -0
  205. package/lib-prod/decorators/classes/repository-decorator.js.map +1 -0
  206. package/lib-prod/decorators/classes/subscriber-decorator.d.ts +8 -0
  207. package/lib-prod/decorators/classes/subscriber-decorator.js +22 -0
  208. package/lib-prod/decorators/classes/subscriber-decorator.js.map +1 -0
  209. package/lib-prod/decorators/decorator-abstract-opt.d.ts +3 -0
  210. package/lib-prod/decorators/decorator-abstract-opt.js +7 -0
  211. package/lib-prod/decorators/decorator-abstract-opt.js.map +1 -0
  212. package/lib-prod/decorators/http/http-decorators.d.ts +2 -0
  213. package/lib-prod/decorators/http/http-decorators.js +24 -0
  214. package/lib-prod/decorators/http/http-decorators.js.map +1 -0
  215. package/lib-prod/decorators/http/http-methods-decorators.d.ts +70 -0
  216. package/lib-prod/decorators/http/http-methods-decorators.js +112 -0
  217. package/lib-prod/decorators/http/http-methods-decorators.js.map +1 -0
  218. package/lib-prod/decorators/http/http-params-decorators.d.ts +8 -0
  219. package/lib-prod/decorators/http/http-params-decorators.js +50 -0
  220. package/lib-prod/decorators/http/http-params-decorators.js.map +1 -0
  221. package/lib-prod/dependency-injection/di-container.d.ts +5 -0
  222. package/lib-prod/dependency-injection/di-container.js +35 -0
  223. package/lib-prod/dependency-injection/di-container.js.map +1 -0
  224. package/lib-prod/endpoint-context-storage.d.ts +11 -0
  225. package/lib-prod/endpoint-context-storage.js +38 -0
  226. package/lib-prod/endpoint-context-storage.js.map +1 -0
  227. package/lib-prod/endpoint-context.d.ts +196 -0
  228. package/lib-prod/endpoint-context.js +2416 -0
  229. package/lib-prod/endpoint-context.js.map +1 -0
  230. package/lib-prod/entity-process.d.ts +39 -0
  231. package/lib-prod/entity-process.js +242 -0
  232. package/lib-prod/entity-process.js.map +1 -0
  233. package/lib-prod/env/env.angular-node-app.d.ts +64 -0
  234. package/lib-prod/env/env.angular-node-app.js +71 -0
  235. package/lib-prod/env/env.angular-node-app.js.map +1 -0
  236. package/lib-prod/env/env.docs-webapp.d.ts +64 -0
  237. package/lib-prod/env/env.docs-webapp.js +71 -0
  238. package/lib-prod/env/env.docs-webapp.js.map +1 -0
  239. package/lib-prod/env/env.electron-app.d.ts +64 -0
  240. package/lib-prod/env/env.electron-app.js +71 -0
  241. package/lib-prod/env/env.electron-app.js.map +1 -0
  242. package/lib-prod/env/env.mobile-app.d.ts +64 -0
  243. package/lib-prod/env/env.mobile-app.js +71 -0
  244. package/lib-prod/env/env.mobile-app.js.map +1 -0
  245. package/lib-prod/env/env.npm-lib-and-cli-tool.d.ts +64 -0
  246. package/lib-prod/env/env.npm-lib-and-cli-tool.js +71 -0
  247. package/lib-prod/env/env.npm-lib-and-cli-tool.js.map +1 -0
  248. package/lib-prod/env/env.vscode-plugin.d.ts +64 -0
  249. package/lib-prod/env/env.vscode-plugin.js +71 -0
  250. package/lib-prod/env/env.vscode-plugin.js.map +1 -0
  251. package/lib-prod/env/index.d.ts +6 -0
  252. package/lib-prod/env/index.js +23 -0
  253. package/lib-prod/env/index.js.map +1 -0
  254. package/lib-prod/express-types.d.ts +1 -0
  255. package/lib-prod/express-types.js +3 -0
  256. package/lib-prod/express-types.js.map +1 -0
  257. package/lib-prod/formly/formly.models.d.ts +1 -0
  258. package/lib-prod/formly/formly.models.js +3 -0
  259. package/lib-prod/formly/formly.models.js.map +1 -0
  260. package/lib-prod/formly/fromly.d.ts +16 -0
  261. package/lib-prod/formly/fromly.js +209 -0
  262. package/lib-prod/formly/fromly.js.map +1 -0
  263. package/lib-prod/formly/type-from-entity.d.ts +20 -0
  264. package/lib-prod/formly/type-from-entity.js +60 -0
  265. package/lib-prod/formly/type-from-entity.js.map +1 -0
  266. package/lib-prod/get-response-value.d.ts +6 -0
  267. package/lib-prod/get-response-value.js +27 -0
  268. package/lib-prod/get-response-value.js.map +1 -0
  269. package/lib-prod/global-state/taon-global-state/index.d.ts +5 -0
  270. package/lib-prod/global-state/taon-global-state/index.js +23 -0
  271. package/lib-prod/global-state/taon-global-state/index.js.map +1 -0
  272. package/lib-prod/global-state/taon-global-state/taon-global-state.abstract.context.d.ts +19 -0
  273. package/lib-prod/global-state/taon-global-state/taon-global-state.abstract.context.js +23 -0
  274. package/lib-prod/global-state/taon-global-state/taon-global-state.abstract.context.js.map +1 -0
  275. package/lib-prod/global-state/taon-global-state/taon-global-state.constants.d.ts +2 -0
  276. package/lib-prod/global-state/taon-global-state/taon-global-state.constants.js +11 -0
  277. package/lib-prod/global-state/taon-global-state/taon-global-state.constants.js.map +1 -0
  278. package/lib-prod/global-state/taon-global-state/taon-global-state.controller.d.ts +11 -0
  279. package/lib-prod/global-state/taon-global-state/taon-global-state.controller.js +62 -0
  280. package/lib-prod/global-state/taon-global-state/taon-global-state.controller.js.map +1 -0
  281. package/lib-prod/global-state/taon-global-state/taon-global-state.entity.d.ts +7 -0
  282. package/lib-prod/global-state/taon-global-state/taon-global-state.entity.js +64 -0
  283. package/lib-prod/global-state/taon-global-state/taon-global-state.entity.js.map +1 -0
  284. package/lib-prod/global-state/taon-global-state/taon-global-state.middleware.d.ts +3 -0
  285. package/lib-prod/global-state/taon-global-state/taon-global-state.middleware.js +22 -0
  286. package/lib-prod/global-state/taon-global-state/taon-global-state.middleware.js.map +1 -0
  287. package/lib-prod/global-state/taon-global-state/taon-global-state.models.d.ts +28 -0
  288. package/lib-prod/global-state/taon-global-state/taon-global-state.models.js +48 -0
  289. package/lib-prod/global-state/taon-global-state/taon-global-state.models.js.map +1 -0
  290. package/lib-prod/global-state/taon-global-state/taon-global-state.provider.d.ts +3 -0
  291. package/lib-prod/global-state/taon-global-state/taon-global-state.provider.js +22 -0
  292. package/lib-prod/global-state/taon-global-state/taon-global-state.provider.js.map +1 -0
  293. package/lib-prod/global-state/taon-global-state/taon-global-state.repository.d.ts +9 -0
  294. package/lib-prod/global-state/taon-global-state/taon-global-state.repository.js +53 -0
  295. package/lib-prod/global-state/taon-global-state/taon-global-state.repository.js.map +1 -0
  296. package/lib-prod/global-state/taon-global-state/taon-global-state.subscriber.d.ts +7 -0
  297. package/lib-prod/global-state/taon-global-state/taon-global-state.subscriber.js +29 -0
  298. package/lib-prod/global-state/taon-global-state/taon-global-state.subscriber.js.map +1 -0
  299. package/lib-prod/global-state/taon-global-state/taon-global-state.utils.d.ts +4 -0
  300. package/lib-prod/global-state/taon-global-state/taon-global-state.utils.js +16 -0
  301. package/lib-prod/global-state/taon-global-state/taon-global-state.utils.js.map +1 -0
  302. package/lib-prod/global-state/taon-transaction-registry/index.d.ts +10 -0
  303. package/lib-prod/global-state/taon-transaction-registry/index.js +28 -0
  304. package/lib-prod/global-state/taon-transaction-registry/index.js.map +1 -0
  305. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.abstract.context.d.ts +19 -0
  306. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.abstract.context.js +25 -0
  307. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.abstract.context.js.map +1 -0
  308. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.constants.d.ts +2 -0
  309. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.constants.js +9 -0
  310. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.constants.js.map +1 -0
  311. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.controller.d.ts +9 -0
  312. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.controller.js +52 -0
  313. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.controller.js.map +1 -0
  314. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.entity.d.ts +12 -0
  315. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.entity.js +77 -0
  316. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.entity.js.map +1 -0
  317. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.middleware.d.ts +3 -0
  318. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.middleware.js +22 -0
  319. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.middleware.js.map +1 -0
  320. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.models.d.ts +6 -0
  321. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.models.js +11 -0
  322. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.models.js.map +1 -0
  323. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.provider.d.ts +3 -0
  324. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.provider.js +22 -0
  325. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.provider.js.map +1 -0
  326. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.repository.d.ts +9 -0
  327. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.repository.js +38 -0
  328. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.repository.js.map +1 -0
  329. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.subscriber.d.ts +7 -0
  330. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.subscriber.js +29 -0
  331. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.subscriber.js.map +1 -0
  332. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.utils.d.ts +4 -0
  333. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.utils.js +11 -0
  334. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.utils.js.map +1 -0
  335. package/lib-prod/helpers/class-helpers.d.ts +24 -0
  336. package/lib-prod/helpers/class-helpers.js +233 -0
  337. package/lib-prod/helpers/class-helpers.js.map +1 -0
  338. package/lib-prod/helpers/clone-obj.d.ts +1 -0
  339. package/lib-prod/helpers/clone-obj.js +22 -0
  340. package/lib-prod/helpers/clone-obj.js.map +1 -0
  341. package/lib-prod/helpers/taon-helpers.d.ts +18 -0
  342. package/lib-prod/helpers/taon-helpers.js +152 -0
  343. package/lib-prod/helpers/taon-helpers.js.map +1 -0
  344. package/lib-prod/index._auto-generated_.d.ts +0 -0
  345. package/lib-prod/index._auto-generated_.js +6 -0
  346. package/lib-prod/index._auto-generated_.js.map +1 -0
  347. package/lib-prod/index.d.ts +234 -0
  348. package/lib-prod/index.js +272 -0
  349. package/lib-prod/index.js.map +1 -0
  350. package/lib-prod/inject.d.ts +4 -0
  351. package/lib-prod/inject.js +94 -0
  352. package/lib-prod/inject.js.map +1 -0
  353. package/lib-prod/models.d.ts +260 -0
  354. package/lib-prod/models.js +125 -0
  355. package/lib-prod/models.js.map +1 -0
  356. package/lib-prod/orm/columns.d.ts +32 -0
  357. package/lib-prod/orm/columns.js +112 -0
  358. package/lib-prod/orm/columns.js.map +1 -0
  359. package/lib-prod/orm/index.d.ts +1 -0
  360. package/lib-prod/orm/index.js +73 -0
  361. package/lib-prod/orm/index.js.map +1 -0
  362. package/lib-prod/realtime/realtime-client.d.ts +41 -0
  363. package/lib-prod/realtime/realtime-client.js +204 -0
  364. package/lib-prod/realtime/realtime-client.js.map +1 -0
  365. package/lib-prod/realtime/realtime-core.d.ts +40 -0
  366. package/lib-prod/realtime/realtime-core.js +106 -0
  367. package/lib-prod/realtime/realtime-core.js.map +1 -0
  368. package/lib-prod/realtime/realtime-server.d.ts +43 -0
  369. package/lib-prod/realtime/realtime-server.js +243 -0
  370. package/lib-prod/realtime/realtime-server.js.map +1 -0
  371. package/lib-prod/realtime/realtime-strategy/index.d.ts +4 -0
  372. package/lib-prod/realtime/realtime-strategy/index.js +21 -0
  373. package/lib-prod/realtime/realtime-strategy/index.js.map +1 -0
  374. package/lib-prod/realtime/realtime-strategy/realtime-strategy-ipc.d.ts +80 -0
  375. package/lib-prod/realtime/realtime-strategy/realtime-strategy-ipc.js +297 -0
  376. package/lib-prod/realtime/realtime-strategy/realtime-strategy-ipc.js.map +1 -0
  377. package/lib-prod/realtime/realtime-strategy/realtime-strategy-mock.d.ts +14 -0
  378. package/lib-prod/realtime/realtime-strategy/realtime-strategy-mock.js +303 -0
  379. package/lib-prod/realtime/realtime-strategy/realtime-strategy-mock.js.map +1 -0
  380. package/lib-prod/realtime/realtime-strategy/realtime-strategy-socket-io.d.ts +16 -0
  381. package/lib-prod/realtime/realtime-strategy/realtime-strategy-socket-io.js +33 -0
  382. package/lib-prod/realtime/realtime-strategy/realtime-strategy-socket-io.js.map +1 -0
  383. package/lib-prod/realtime/realtime-strategy/realtime-strategy.d.ts +11 -0
  384. package/lib-prod/realtime/realtime-strategy/realtime-strategy.js +17 -0
  385. package/lib-prod/realtime/realtime-strategy/realtime-strategy.js.map +1 -0
  386. package/lib-prod/realtime/realtime-subs-manager.d.ts +14 -0
  387. package/lib-prod/realtime/realtime-subs-manager.js +94 -0
  388. package/lib-prod/realtime/realtime-subs-manager.js.map +1 -0
  389. package/lib-prod/realtime/realtime.models.d.ts +27 -0
  390. package/lib-prod/realtime/realtime.models.js +3 -0
  391. package/lib-prod/realtime/realtime.models.js.map +1 -0
  392. package/lib-prod/symbols.d.ts +65 -0
  393. package/lib-prod/symbols.js +110 -0
  394. package/lib-prod/symbols.js.map +1 -0
  395. package/lib-prod/ui/index.d.ts +1 -0
  396. package/lib-prod/ui/index.js +5 -0
  397. package/lib-prod/ui/index.js.map +1 -0
  398. package/lib-prod/ui/taon-admin-mode-configuration/index.d.ts +1 -0
  399. package/lib-prod/ui/taon-admin-mode-configuration/index.js +5 -0
  400. package/lib-prod/ui/taon-admin-mode-configuration/index.js.map +1 -0
  401. package/lib-prod/validators.d.ts +7 -0
  402. package/lib-prod/validators.js +85 -0
  403. package/lib-prod/validators.js.map +1 -0
  404. package/package.json +5 -5
  405. package/websql/fesm2022/taon-websql.mjs +1387 -1141
  406. package/websql/fesm2022/taon-websql.mjs.map +1 -1
  407. package/websql/package.json +1 -1
  408. package/websql/types/taon-websql.d.ts +7 -3
  409. package/websql-prod/README.md +24 -0
  410. package/websql-prod/fesm2022/taon-websql.mjs +8198 -0
  411. package/websql-prod/fesm2022/taon-websql.mjs.map +1 -0
  412. package/websql-prod/types/taon-websql.d.ts +2187 -0
@@ -0,0 +1,349 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ContextDbMigrations = void 0;
4
+ //#region imports
5
+ const lib_prod_1 = require("tnp-core/lib-prod");
6
+ const models_1 = require("./models");
7
+ const class_helpers_1 = require("./helpers/class-helpers");
8
+ const lib_prod_2 = require("taon-typeorm/lib-prod");
9
+ class ContextDbMigrations {
10
+ ctx;
11
+ //#region fields
12
+ //#region fields / migration table name
13
+ DEFAULT_MIGRATION_TABLE_NAME = 'TAON_MIGRATION_META';
14
+ //#endregion
15
+ //#region fields / migration statuses
16
+ MIGRATION_STATUS_COMPLETED = 'completed';
17
+ MIGRATION_STATUS_PENDING = 'pending';
18
+ //#endregion
19
+ //#region fields / migration table schema
20
+ table = new lib_prod_2.Table({
21
+ name: this.DEFAULT_MIGRATION_TABLE_NAME,
22
+ columns: [
23
+ {
24
+ name: 'id',
25
+ type: 'integer',
26
+ isPrimary: true, // Mark it as the primary key
27
+ isGenerated: true, // Enable auto-generation
28
+ generationStrategy: 'increment', // Use auto-increment strategy
29
+ },
30
+ {
31
+ name: 'name',
32
+ type: 'varchar',
33
+ length: '255',
34
+ isUnique: true, // Ensure the name is unique
35
+ isNullable: false, // Ensure this field is required
36
+ },
37
+ {
38
+ // context is a part of name
39
+ name: 'context',
40
+ type: 'varchar',
41
+ length: '255',
42
+ isNullable: false, // Optional context for migrations (e.g., tenant or module name)
43
+ },
44
+ {
45
+ name: 'applied_at',
46
+ type: 'timestamp',
47
+ default: 'CURRENT_TIMESTAMP', // Automatically set the timestamp
48
+ isNullable: true,
49
+ },
50
+ {
51
+ name: 'status',
52
+ type: 'varchar',
53
+ length: '50',
54
+ default: `'${this.MIGRATION_STATUS_COMPLETED}'`,
55
+ isNullable: false,
56
+ },
57
+ // { // TODO not needed for now
58
+ // name: 'checksum',
59
+ // type: 'varchar',
60
+ // length: '64',
61
+ // isNullable: true, // Optional field to store a hash/checksum of migration file
62
+ // },
63
+ ],
64
+ });
65
+ //#endregion
66
+ //#endregion
67
+ //#region constructor
68
+ constructor(ctx) {
69
+ this.ctx = ctx;
70
+ }
71
+ //#endregion
72
+ //#region methods & getters / make sure migration table exists
73
+ async ensureMigrationTableExists() {
74
+ //#region @websqlFunc
75
+ if (this.ctx.isRemoteHost || !this.ctx.connection) {
76
+ return;
77
+ }
78
+ const queryRunner = this.ctx.connection.createQueryRunner();
79
+ await queryRunner.connect();
80
+ await queryRunner.startTransaction();
81
+ // Check if the table already exists
82
+ const hasTable = await queryRunner.hasTable(this.DEFAULT_MIGRATION_TABLE_NAME);
83
+ if (hasTable) {
84
+ this.ctx.logMigrations &&
85
+ console.log(`Table ${this.DEFAULT_MIGRATION_TABLE_NAME} already exists.`);
86
+ await queryRunner.commitTransaction();
87
+ await queryRunner.release();
88
+ return; // Exit early if the table exists
89
+ }
90
+ try {
91
+ await queryRunner.createTable(this.table);
92
+ await queryRunner.createIndex(this.DEFAULT_MIGRATION_TABLE_NAME, new lib_prod_2.TableIndex({
93
+ name: 'IDX_NAME',
94
+ columnNames: ['name'],
95
+ }));
96
+ await queryRunner.commitTransaction();
97
+ }
98
+ catch (error) {
99
+ this.ctx.logMigrations &&
100
+ console.error(`Transaction failed [ensureMigrationTableExists]` + `, rolling back:`, error);
101
+ await queryRunner.rollbackTransaction();
102
+ }
103
+ finally {
104
+ await queryRunner.release();
105
+ }
106
+ //#endregion
107
+ }
108
+ //#endregion
109
+ //#region methods & getters / revert migration to timestamp
110
+ async logSelectALl(name, queryRunner) {
111
+ console.log(name, (await queryRunner.query(`SELECT * FROM ${this.DEFAULT_MIGRATION_TABLE_NAME} WHERE context = $1`, [this.ctx.contextName])).map(m => m.name));
112
+ }
113
+ async revertMigrationToTimestamp(timestamp) {
114
+ //#region @websqlFunc
115
+ if (this.ctx.isRemoteHost || !this.ctx.connection) {
116
+ return;
117
+ }
118
+ if (!lib_prod_1.UtilsMigrations.isValidTimestamp(timestamp)) {
119
+ lib_prod_1.Helpers.throw(`Invalid timestamp provided for migration revert: ${timestamp}`);
120
+ }
121
+ // Get all migration class functions and reverse the order
122
+ const migrationsClassFns = this.ctx
123
+ .getClassFunByArr(models_1.Models.ClassType.MIGRATION)
124
+ .reverse();
125
+ // Filter migrations that need to be reverted
126
+ const migrationClassesInstancesToRevert = migrationsClassFns
127
+ .map(classFn => {
128
+ const timestampFromClassName = Number(lib_prod_1.UtilsMigrations.getTimestampFromClassName(class_helpers_1.ClassHelpers.getName(classFn)));
129
+ if (timestampFromClassName <= timestamp) {
130
+ // this.ctx.logMigrations &&
131
+ // console.log(
132
+ // `Stopping migration filter at: ${ClassHelpers.getName(classFn)} ` +
133
+ // `with timestamp ${timestampFromClassName}`,
134
+ // );
135
+ return null;
136
+ }
137
+ return this.ctx.getInstanceBy(classFn);
138
+ })
139
+ .filter(f => !!f)
140
+ .map(f => f)
141
+ .filter(migrationInstance => migrationInstance.isReadyToRun());
142
+ const queryRunner = this.ctx.connection.createQueryRunner();
143
+ await queryRunner.connect();
144
+ try {
145
+ await queryRunner.startTransaction();
146
+ // Fetch applied migrations from the database
147
+ const appliedMigrationsForContext = await queryRunner.query(`SELECT name FROM ${this.DEFAULT_MIGRATION_TABLE_NAME}
148
+ WHERE status = $1 AND context = $2`, [this.MIGRATION_STATUS_COMPLETED, this.ctx.contextName]);
149
+ const appliedMigrationsForContextNames = appliedMigrationsForContext.map(m => m.name);
150
+ // console.log({ appliedMigrationsForContextNames });
151
+ for (const migrationClassInstance of migrationClassesInstancesToRevert) {
152
+ const migrationName = class_helpers_1.ClassHelpers.getName(migrationClassInstance);
153
+ if (!appliedMigrationsForContextNames.includes(migrationName)) {
154
+ this.ctx.logMigrations &&
155
+ console.warn(`Skipping migration not marked as applied: ${migrationName}`);
156
+ continue;
157
+ }
158
+ this.ctx.logMigrations &&
159
+ console.log(`Reverting migration: ${migrationName} , context: ${this.ctx.contextName}`);
160
+ await migrationClassInstance.down(queryRunner);
161
+ // Remove the reverted migration from the tracking table
162
+ await queryRunner.query(`DELETE FROM ${this.DEFAULT_MIGRATION_TABLE_NAME} WHERE name = $1`, [migrationName]);
163
+ }
164
+ await queryRunner.commitTransaction();
165
+ this.ctx.logMigrations &&
166
+ console.log(`Migrations successfully reverted ` +
167
+ `to the specified timestamp ${timestamp} .`);
168
+ }
169
+ catch (error) {
170
+ this.ctx.logMigrations &&
171
+ console.error('Transaction failed, rolling back:', error);
172
+ await queryRunner.rollbackTransaction();
173
+ }
174
+ finally {
175
+ await queryRunner.release();
176
+ }
177
+ //#endregion
178
+ }
179
+ //#endregion
180
+ //#region methods & getters / clear migration table
181
+ async clearMigrationTable() {
182
+ //#region @websqlFunc
183
+ if (this.ctx.isRemoteHost || !this.ctx.connection) {
184
+ return;
185
+ }
186
+ const queryRunner = this.ctx.connection.createQueryRunner();
187
+ await queryRunner.connect();
188
+ await queryRunner.startTransaction();
189
+ try {
190
+ await queryRunner.clearTable(this.DEFAULT_MIGRATION_TABLE_NAME);
191
+ await queryRunner.commitTransaction();
192
+ }
193
+ catch (error) {
194
+ this.ctx.logMigrations &&
195
+ console.error('Transaction failed, rolling back:', error);
196
+ await queryRunner.rollbackTransaction();
197
+ }
198
+ finally {
199
+ await queryRunner.release();
200
+ }
201
+ //#endregion
202
+ }
203
+ //#endregion
204
+ //#region methods & getters / mark all migrations as applied
205
+ async markAllMigrationsAsApplied() {
206
+ //#region @websqlFunc
207
+ if (this.ctx.isRemoteHost || !this.ctx.connection) {
208
+ return;
209
+ }
210
+ const migrationsClassFns = this.ctx.getClassFunByArr(models_1.Models.ClassType.MIGRATION);
211
+ const migrationClassesInstances = migrationsClassFns
212
+ .map(classFn => this.ctx.getInstanceBy(classFn))
213
+ .map(f => f)
214
+ .filter(migrationInstance => migrationInstance.isReadyToRun());
215
+ const queryRunner = this.ctx.connection.createQueryRunner();
216
+ await queryRunner.connect();
217
+ try {
218
+ await queryRunner.startTransaction();
219
+ // Fetch already applied migrations from the database
220
+ const allMigrationsInDb = await queryRunner.query(`SELECT name FROM ${this.DEFAULT_MIGRATION_TABLE_NAME}`);
221
+ const allMigrationInDBNames = allMigrationsInDb.map(m => m.name);
222
+ for (const instance of migrationClassesInstances) {
223
+ const migrationName = class_helpers_1.ClassHelpers.getName(instance);
224
+ if (allMigrationInDBNames.includes(migrationName)) {
225
+ this.ctx.logMigrations &&
226
+ console.log(`Skipping already applied migration: ${migrationName}`);
227
+ continue;
228
+ }
229
+ this.ctx.logMigrations &&
230
+ console.log(`Marking migration as applied: ${migrationName}`);
231
+ // Insert migration as 'complete' without running
232
+ await queryRunner.query(`INSERT INTO ${this.DEFAULT_MIGRATION_TABLE_NAME} (name, status, context, applied_at) ` +
233
+ `VALUES ($1, $2, $3, CURRENT_TIMESTAMP)`, [
234
+ migrationName,
235
+ this.MIGRATION_STATUS_COMPLETED,
236
+ instance.ctx.contextName,
237
+ ]);
238
+ }
239
+ // update all pending migrations to completed
240
+ await queryRunner.query(`UPDATE ${this.DEFAULT_MIGRATION_TABLE_NAME}
241
+ SET status = $1, applied_at = CURRENT_TIMESTAMP
242
+ WHERE status = $2`, [this.MIGRATION_STATUS_COMPLETED, this.MIGRATION_STATUS_PENDING]);
243
+ await queryRunner.commitTransaction();
244
+ this.ctx.logMigrations &&
245
+ console.log('All migrations marked as applied.');
246
+ }
247
+ catch (error) {
248
+ this.ctx.logMigrations &&
249
+ console.error('Failed to mark all migrations as applied, rolling back:', error);
250
+ await queryRunner.rollbackTransaction();
251
+ }
252
+ finally {
253
+ await queryRunner.release();
254
+ }
255
+ //#endregion
256
+ }
257
+ //#endregion
258
+ //#region methods & getters / run all migrations
259
+ async runAllNotCompletedMigrations() {
260
+ //#region @websqlFunc
261
+ if (this.ctx.isRemoteHost || !this.ctx.connection) {
262
+ return;
263
+ }
264
+ const migrationsClassFns = this.ctx.getClassFunByArr(models_1.Models.ClassType.MIGRATION);
265
+ // console.log({
266
+ // migrationClassesALl: migrationsClassFns.map(f => ClassHelpers.getName(f)),
267
+ // });
268
+ const migrationClassesInstances = migrationsClassFns
269
+ .map(classFn => this.ctx.getInstanceBy(classFn))
270
+ .map(f => f)
271
+ .filter(migrationInstance => migrationInstance.isReadyToRun());
272
+ // console.log({
273
+ // migrationClassesInstances: migrationsClassFns.map(f =>
274
+ // ClassHelpers.getName(f),
275
+ // ),
276
+ // });
277
+ const queryRunner = this.ctx.connection.createQueryRunner();
278
+ await queryRunner.connect();
279
+ try {
280
+ await queryRunner.startTransaction();
281
+ // Check if the migrations table exists
282
+ // TODO: Implement check for migrations table existence here
283
+ // Fetch applied migrations from the database
284
+ const appliedMigrationsForContext = await queryRunner.query(`SELECT name, status FROM ${this.DEFAULT_MIGRATION_TABLE_NAME} ` +
285
+ `WHERE context = $1`, [this.ctx.contextName]);
286
+ //#region check and update pending migrations
287
+ const pendingMigrationsForContext = appliedMigrationsForContext.filter(m => m.status === this.MIGRATION_STATUS_PENDING);
288
+ // Run pending migrations first
289
+ for (const pendingContextMigration of pendingMigrationsForContext) {
290
+ const migrationInstance = migrationClassesInstances.find(instance => class_helpers_1.ClassHelpers.getName(instance) === pendingContextMigration.name);
291
+ if (!migrationInstance) {
292
+ this.ctx.logMigrations &&
293
+ console.warn(`Pending migration ${pendingContextMigration.name} not found in loaded migrations.`);
294
+ continue;
295
+ }
296
+ this.ctx.logMigrations &&
297
+ console.log(`Completing pending migration: ${pendingContextMigration.name}`);
298
+ await migrationInstance.up(queryRunner);
299
+ // Update migration status to 'complete'
300
+ await queryRunner.query(`UPDATE ${this.DEFAULT_MIGRATION_TABLE_NAME}
301
+ SET status = $1, applied_at = CURRENT_TIMESTAMP
302
+ WHERE name = $2`, [this.MIGRATION_STATUS_COMPLETED, pendingContextMigration.name]);
303
+ }
304
+ //#endregion
305
+ //#region run new migrations
306
+ for (const instance of migrationClassesInstances) {
307
+ const migrationName = class_helpers_1.ClassHelpers.getName(instance);
308
+ if (appliedMigrationsForContext.some(m => m.name === migrationName)) {
309
+ this.ctx.logMigrations &&
310
+ console.log(`Skipping already applied migration: ${migrationName}`);
311
+ continue;
312
+ }
313
+ this.ctx.logMigrations &&
314
+ console.log(`Applying new migration: ${migrationName}`);
315
+ // Insert migration as 'pending' before execution
316
+ await queryRunner.query(`INSERT INTO ${this.DEFAULT_MIGRATION_TABLE_NAME} (name, status, context, applied_at) ` +
317
+ `VALUES ($1, $2, $3, NULL)`, [migrationName, this.MIGRATION_STATUS_PENDING, this.ctx.contextName]);
318
+ try {
319
+ // Apply migration
320
+ await instance.up(queryRunner);
321
+ // Update migration to 'complete' after successful execution
322
+ await queryRunner.query(`UPDATE ${this.DEFAULT_MIGRATION_TABLE_NAME} ` +
323
+ `SET status = '${this.MIGRATION_STATUS_COMPLETED}', applied_at = CURRENT_TIMESTAMP ` +
324
+ `WHERE name = $1`, [migrationName]);
325
+ }
326
+ catch (error) {
327
+ this.ctx.logMigrations &&
328
+ console.error(`Failed to apply migration: ${migrationName}`, error);
329
+ // Rollback pending migration entry
330
+ await queryRunner.query(`DELETE FROM ${this.DEFAULT_MIGRATION_TABLE_NAME} WHERE name = $1`, [migrationName]);
331
+ throw error; // Rethrow to ensure the transaction is rolled back
332
+ }
333
+ }
334
+ //#endregion
335
+ await queryRunner.commitTransaction();
336
+ }
337
+ catch (error) {
338
+ this.ctx.logMigrations &&
339
+ console.error('Transaction failed, rolling back:', error);
340
+ await queryRunner.rollbackTransaction();
341
+ }
342
+ finally {
343
+ await queryRunner.release();
344
+ }
345
+ //#endregion
346
+ }
347
+ }
348
+ exports.ContextDbMigrations = ContextDbMigrations;
349
+ //# sourceMappingURL=context-db-migrations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-db-migrations.js","sourceRoot":"","sources":[""],"names":[],"mappings":"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"}
@@ -0,0 +1,78 @@
1
+ import { EndpointContext } from './endpoint-context';
2
+ import { Models } from './models';
3
+ /**
4
+ * @returns function that returns context function.
5
+ * Context function can be used to dynamically
6
+ * create context with specific configuration.
7
+ */
8
+ export declare const createContextTemplate: <CTX extends Record<string, object>, CTRL extends Record<string, new (...args: any[]) => any>, ENTITY extends Record<string, new (...args: any[]) => any>, REPO extends Record<string, new (...args: any[]) => any>, PROVIDER extends Record<string, new (...args: any[]) => any>, SUBSCRIBER extends Record<string, new (...args: any[]) => any>, MIGRATION extends Record<string, new (...args: any[]) => any>, MIDDLEWARE extends Record<string, new (...args: any[]) => any>>(configFn: (env: any) => Models.ContextOptions<CTX, CTRL, ENTITY, REPO, PROVIDER, SUBSCRIBER, MIGRATION, MIDDLEWARE>) => () => {
9
+ readonly contextName: string;
10
+ readonly appId: string;
11
+ cloneAsRemote: (cloneOpt?: {
12
+ overrideRemoteHost?: string;
13
+ }) => /*elided*/ any;
14
+ cloneAsNormal: (cloneOpt?: {
15
+ overrideHost?: string;
16
+ }) => /*elided*/ any;
17
+ /**
18
+ * @deprecated
19
+ * - get reference to internal context
20
+ */
21
+ __ref(): Promise<EndpointContext>;
22
+ /**
23
+ * only for internal use
24
+ * @deprecated
25
+ */
26
+ readonly __refSync: EndpointContext;
27
+ getClassInstance<T>(ctor: new (...args: any[]) => T): T;
28
+ getClass<T>(ctor: new (...args: any[]) => T): new (...args: any[]) => T;
29
+ /**
30
+ * - create controller instances for context
31
+ * - init database (if enable) + migation scripts
32
+ */
33
+ initialize: (overrideOptions?: Models.TaonInitializeParams) => Promise<EndpointContext>;
34
+ /**
35
+ * realtime communication with server
36
+ * TCP(upgrade) socket.io (or ipc) based.
37
+ */
38
+ readonly realtime: {
39
+ readonly client: import(".").RealtimeClient;
40
+ readonly server: import(".").RealtimeServer;
41
+ };
42
+ };
43
+ export declare const createContext: <CTX extends Record<string, object>, CTRL extends Record<string, new (...args: any[]) => any>, ENTITY extends Record<string, new (...args: any[]) => any>, REPO extends Record<string, new (...args: any[]) => any>, PROVIDER extends Record<string, new (...args: any[]) => any>, SUBSCRIBER extends Record<string, new (...args: any[]) => any>, MIGRATION extends Record<string, new (...args: any[]) => any>, MIDDLEWARES extends Record<string, new (...args: any[]) => any>>(configFn: (env: any) => Models.ContextOptions<CTX, CTRL, ENTITY, REPO, PROVIDER, SUBSCRIBER, MIGRATION, MIDDLEWARES>) => {
44
+ readonly contextName: string;
45
+ readonly appId: string;
46
+ cloneAsRemote: (cloneOpt?: {
47
+ overrideRemoteHost?: string;
48
+ }) => /*elided*/ any;
49
+ cloneAsNormal: (cloneOpt?: {
50
+ overrideHost?: string;
51
+ }) => /*elided*/ any;
52
+ /**
53
+ * @deprecated
54
+ * - get reference to internal context
55
+ */
56
+ __ref(): Promise<EndpointContext>;
57
+ /**
58
+ * only for internal use
59
+ * @deprecated
60
+ */
61
+ readonly __refSync: EndpointContext;
62
+ getClassInstance<T>(ctor: new (...args: any[]) => T): T;
63
+ getClass<T>(ctor: new (...args: any[]) => T): new (...args: any[]) => T;
64
+ /**
65
+ * - create controller instances for context
66
+ * - init database (if enable) + migation scripts
67
+ */
68
+ initialize: (overrideOptions?: Models.TaonInitializeParams) => Promise<EndpointContext>;
69
+ /**
70
+ * realtime communication with server
71
+ * TCP(upgrade) socket.io (or ipc) based.
72
+ */
73
+ readonly realtime: {
74
+ readonly client: import(".").RealtimeClient;
75
+ readonly server: import(".").RealtimeServer;
76
+ };
77
+ };
78
+ export type TaonContext = ReturnType<typeof createContext>;
@@ -0,0 +1,223 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createContext = exports.createContextTemplate = void 0;
4
+ //#region imports
5
+ const lib_prod_1 = require("tnp-core/lib-prod");
6
+ const endpoint_context_1 = require("./endpoint-context");
7
+ /* */
8
+ const endpoint_context_storage_1 = require("./endpoint-context-storage");
9
+ //#endregion
10
+ /**
11
+ * @returns function that returns context function.
12
+ * Context function can be used to dynamically
13
+ * create context with specific configuration.
14
+ */
15
+ const createContextTemplate = (configFn) => {
16
+ return () => {
17
+ return (0, exports.createContext)(configFn);
18
+ };
19
+ };
20
+ exports.createContextTemplate = createContextTemplate;
21
+ /**
22
+ * REQURIED PROPERTY:
23
+ * - contextName
24
+ */
25
+ const createContextFn = (configFn, cloneOptions) => {
26
+ cloneOptions = cloneOptions || {};
27
+ let config = configFn({});
28
+ // console.log(
29
+ // `
30
+ // [Taon] Creating context ${config.contextName}...`,
31
+ // {config},
32
+ // );
33
+ const endpointContextRef = new endpoint_context_1.EndpointContext(config, configFn, cloneOptions);
34
+ const res = {
35
+ //#region contexts
36
+ get contextName() {
37
+ return config.contextName;
38
+ },
39
+ //#endregion
40
+ get appId() {
41
+ return config.appId;
42
+ },
43
+ cloneAsRemote: (cloneOpt) => {
44
+ cloneOpt = cloneOpt || {};
45
+ const opt = {
46
+ ...cloneOpt,
47
+ sourceContext: endpointContextRef,
48
+ useAsRemoteContext: true,
49
+ };
50
+ return createContextFn(configFn, opt);
51
+ },
52
+ cloneAsNormal: (cloneOpt) => {
53
+ cloneOpt = cloneOpt || {};
54
+ const opt = {
55
+ ...cloneOpt,
56
+ sourceContext: endpointContextRef,
57
+ useAsRemoteContext: false,
58
+ };
59
+ return createContextFn(configFn, opt);
60
+ },
61
+ //#region context
62
+ /**
63
+ * @deprecated
64
+ * - get reference to internal context
65
+ */
66
+ async __ref() {
67
+ if (!endpointContextRef.inited) {
68
+ await endpointContextRef.init({
69
+ initFromRecrusiveContextResovle: true,
70
+ });
71
+ }
72
+ return endpointContextRef;
73
+ },
74
+ /**
75
+ * only for internal use
76
+ * @deprecated
77
+ */
78
+ get __refSync() {
79
+ return endpointContextRef;
80
+ },
81
+ getClassInstance(ctor) {
82
+ return endpointContextRef.getInstanceBy(ctor);
83
+ },
84
+ getClass(ctor) {
85
+ const classFun = endpointContextRef.getClassFunByClass(ctor);
86
+ return classFun;
87
+ //#region old
88
+ // TODO hmmmm for now context for controller inside api service
89
+ // const allContexts = Object.values(classFun[Symbols.orignalClassClonesObj] || {}).map(classFn => {
90
+ // return {
91
+ // ctx: classFn[Symbols.ctxInClassOrClassObj] as EndpointContext,
92
+ // classFn,
93
+ // }
94
+ // })
95
+ // const activeContext = allContexts.find(c => c.ctx.inited);
96
+ // debugger
97
+ // console.log('activeContext', activeContext.ctx.contextName);
98
+ // return activeContext.ctx.getClassFunByClass(ctor) as any;
99
+ //#endregion
100
+ },
101
+ //#endregion
102
+ //#region initialize
103
+ /**
104
+ * - create controller instances for context
105
+ * - init database (if enable) + migation scripts
106
+ */
107
+ initialize: async (overrideOptions) => {
108
+ return await new Promise(async (resolve, reject) => {
109
+ //#region init in set timeout
110
+ setTimeout(async () => {
111
+ if (lib_prod_1.UtilsOs.isRunningInDocker()) {
112
+ const activeContext = config?.activeContext || null;
113
+ if (lib_prod_1._.isString(activeContext) &&
114
+ activeContext !== '' &&
115
+ activeContext !== config?.contextName) {
116
+ console.warn(`[taon] Context ${endpointContextRef.contextName} is not active context, skipping initialization.`);
117
+ resolve(endpointContextRef);
118
+ return;
119
+ }
120
+ }
121
+ await endpointContextRef.init({
122
+ ...overrideOptions,
123
+ });
124
+ if (config.abstract) {
125
+ throw new Error(`Abstract context can not be initialized`);
126
+ }
127
+ await endpointContextRef.initEntities();
128
+ await endpointContextRef.initSubscribers();
129
+ await endpointContextRef.initDatabaseConnection();
130
+ await endpointContextRef.dbMigrations.ensureMigrationTableExists();
131
+ // console.log(
132
+ // 'connection subscribers',
133
+ // endpointContextRef?.connection?.subscribers,
134
+ // );
135
+ // debugger;
136
+ await endpointContextRef.initControllers();
137
+ await endpointContextRef.startServer();
138
+ //#region @websql
139
+ endpointContextRef.writeActiveRoutes();
140
+ //#endregion
141
+ await endpointContextRef.initClasses();
142
+ if (endpointContextRef.databaseConfig) {
143
+ //#region handle websql reload data
144
+ /* */
145
+ /* */
146
+ /* */
147
+ /* */
148
+ /* */
149
+ /* */
150
+ /* */
151
+ /* */
152
+ /* */
153
+ /* */
154
+ /* */
155
+ /* */
156
+ /* */
157
+ /* */
158
+ /* */
159
+ /* */
160
+ /* */
161
+ //#endregion
162
+ //#region TODO this may be usefull but for now
163
+ // 2 separate contexts are fine
164
+ // const shouldStartRemoteHost = endpointContextRef.mode !== 'remote-backend(tcp+udp)';
165
+ // if(shouldStartRemoteHost) {
166
+ // const endpointContextRemoteHostRef = new EndpointContext(config, configFn);
167
+ // await endpointContextRemoteHostRef.init({
168
+ // overrideRemoteHost: endpointContextRef.host,
169
+ // overrideHost: null,
170
+ // });
171
+ // endpointContextRemoteHostRef.initMetadata();
172
+ // endpointContextRef.__contextForControllerInstanceAccess = endpointContextRemoteHostRef;
173
+ // }
174
+ //#endregion
175
+ //#region run migrations tasks
176
+ if (endpointContextRef.onlyMigrationRun) {
177
+ endpointContextRef.logMigrations &&
178
+ lib_prod_1.Helpers.log(`[taon] Running only migrations (context=${endpointContextRef.contextName}).`);
179
+ await endpointContextRef.dbMigrations.runAllNotCompletedMigrations();
180
+ }
181
+ else if (endpointContextRef.onlyMigrationRevertToTimestamp) {
182
+ endpointContextRef.logMigrations &&
183
+ lib_prod_1.Helpers.log(`[taon] Reverting migrations to timestamp ${endpointContextRef.onlyMigrationRevertToTimestamp} (context=${endpointContextRef.contextName}).`);
184
+ await endpointContextRef.dbMigrations.revertMigrationToTimestamp(endpointContextRef.onlyMigrationRevertToTimestamp);
185
+ }
186
+ else {
187
+ endpointContextRef.logMigrations &&
188
+ lib_prod_1.Helpers.log(`[taon] Running all not applied migrations (context=${endpointContextRef.contextName}).`);
189
+ await endpointContextRef.dbMigrations.runAllNotCompletedMigrations();
190
+ }
191
+ //#endregion
192
+ }
193
+ endpoint_context_storage_1.ContextsEndpointStorage.Instance.set(endpointContextRef);
194
+ resolve(endpointContextRef);
195
+ });
196
+ //#endregion
197
+ });
198
+ },
199
+ /**
200
+ * realtime communication with server
201
+ * TCP(upgrade) socket.io (or ipc) based.
202
+ */
203
+ get realtime() {
204
+ return {
205
+ get client() {
206
+ return endpointContextRef.realtimeClient;
207
+ },
208
+ get server() {
209
+ return endpointContextRef.realtimeServer;
210
+ },
211
+ };
212
+ },
213
+ };
214
+ return res;
215
+ };
216
+ //#endregion
217
+ const createContext = (configFn) => {
218
+ return createContextFn(configFn, { useAsRemoteContext: false });
219
+ };
220
+ exports.createContext = createContext;
221
+ // const AA = createContext(() => ({ contextName: 'aa' }));
222
+ // const BB = AA.cloneAsRemoteContext();
223
+ //# sourceMappingURL=create-context.js.map