taon 21.0.54 → 21.0.56

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 (324) hide show
  1. package/README.md +159 -159
  2. package/bin/start.js +17 -17
  3. package/bin/taon +5 -5
  4. package/bin/taon-debug +5 -5
  5. package/bin/taon-debug-brk +4 -4
  6. package/browser/README.md +24 -24
  7. package/browser/fesm2022/taon-browser.mjs.map +1 -1
  8. package/browser/package.json +1 -1
  9. package/browser-prod/README.md +24 -24
  10. package/browser-prod/fesm2022/taon-browser.mjs.map +1 -1
  11. package/browser-prod/package.json +1 -1
  12. package/icon-menu-taon.svg +15 -15
  13. package/lib/build-info._auto-generated_.d.ts +1 -1
  14. package/lib/build-info._auto-generated_.js +1 -1
  15. package/lib/package.json +1 -1
  16. package/lib/realtime/realtime-strategy/realtime-strategy-socket-io.js.map +1 -1
  17. package/lib/ui/index.js +2 -2
  18. package/lib/ui/taon-admin-mode-configuration/index.js +2 -2
  19. package/lib-prod/base-classes/base-abstract-entity.d.ts +7 -0
  20. package/lib-prod/base-classes/base-abstract-entity.js +32 -9
  21. package/lib-prod/base-classes/base-abstract-entity.js.map +1 -0
  22. package/lib-prod/base-classes/base-angular-service.d.ts +27 -0
  23. package/lib-prod/base-classes/base-angular-service.js +8 -3
  24. package/lib-prod/base-classes/base-angular-service.js.map +1 -0
  25. package/lib-prod/base-classes/base-class.d.ts +15 -0
  26. package/lib-prod/base-classes/base-class.js +15 -10
  27. package/lib-prod/base-classes/base-class.js.map +1 -0
  28. package/lib-prod/base-classes/base-context.d.ts +20 -0
  29. package/lib-prod/base-classes/base-context.js +13 -9
  30. package/lib-prod/base-classes/base-context.js.map +1 -0
  31. package/lib-prod/base-classes/base-controller.d.ts +84 -0
  32. package/lib-prod/base-classes/base-controller.js +45 -26
  33. package/lib-prod/base-classes/base-controller.js.map +1 -0
  34. package/lib-prod/base-classes/base-crud-controller.d.ts +28 -0
  35. package/lib-prod/base-classes/base-crud-controller.js +104 -50
  36. package/lib-prod/base-classes/base-crud-controller.js.map +1 -0
  37. package/lib-prod/base-classes/base-custom-repository.d.ts +3 -0
  38. package/lib-prod/base-classes/base-custom-repository.js +16 -6
  39. package/lib-prod/base-classes/base-custom-repository.js.map +1 -0
  40. package/lib-prod/base-classes/base-electron-service.d.ts +0 -0
  41. package/lib-prod/base-classes/base-electron-service.js +1 -0
  42. package/lib-prod/base-classes/base-electron-service.js.map +1 -0
  43. package/lib-prod/base-classes/base-entity.d.ts +16 -0
  44. package/lib-prod/base-classes/base-entity.js +16 -6
  45. package/lib-prod/base-classes/base-entity.js.map +1 -0
  46. package/lib-prod/base-classes/base-file-upload.middleware.d.ts +14 -0
  47. package/lib-prod/base-classes/base-file-upload.middleware.js +24 -14
  48. package/lib-prod/base-classes/base-file-upload.middleware.js.map +1 -0
  49. package/lib-prod/base-classes/base-injector.d.ts +67 -0
  50. package/lib-prod/base-classes/base-injector.js +27 -13
  51. package/lib-prod/base-classes/base-injector.js.map +1 -0
  52. package/lib-prod/base-classes/base-middleware.d.ts +38 -0
  53. package/lib-prod/base-classes/base-middleware.js +7 -2
  54. package/lib-prod/base-classes/base-middleware.js.map +1 -0
  55. package/lib-prod/base-classes/base-migration.d.ts +11 -0
  56. package/lib-prod/base-classes/base-migration.js +12 -7
  57. package/lib-prod/base-classes/base-migration.js.map +1 -0
  58. package/lib-prod/base-classes/base-provider.d.ts +8 -0
  59. package/lib-prod/base-classes/base-provider.js +7 -2
  60. package/lib-prod/base-classes/base-provider.js.map +1 -0
  61. package/lib-prod/base-classes/base-repository.d.ts +272 -0
  62. package/lib-prod/base-classes/base-repository.js +38 -21
  63. package/lib-prod/base-classes/base-repository.js.map +1 -0
  64. package/lib-prod/base-classes/base-subscriber-for-entity.d.ts +81 -0
  65. package/lib-prod/base-classes/base-subscriber-for-entity.js +16 -6
  66. package/lib-prod/base-classes/base-subscriber-for-entity.js.map +1 -0
  67. package/lib-prod/base-classes/base.d.ts +1 -0
  68. package/lib-prod/base-classes/base.js +3 -1
  69. package/lib-prod/base-classes/base.js.map +1 -0
  70. package/lib-prod/build-info._auto-generated_.d.ts +24 -0
  71. package/lib-prod/build-info._auto-generated_.js +10 -6
  72. package/lib-prod/build-info._auto-generated_.js.map +1 -0
  73. package/lib-prod/config/controller-config.d.ts +21 -0
  74. package/lib-prod/config/controller-config.js +9 -3
  75. package/lib-prod/config/controller-config.js.map +1 -0
  76. package/lib-prod/config/controller-options.d.ts +16 -0
  77. package/lib-prod/config/controller-options.js +7 -2
  78. package/lib-prod/config/controller-options.js.map +1 -0
  79. package/lib-prod/config/method-config.d.ts +39 -0
  80. package/lib-prod/config/method-config.js +6 -1
  81. package/lib-prod/config/method-config.js.map +1 -0
  82. package/lib-prod/config/param-config.d.ts +8 -0
  83. package/lib-prod/config/param-config.js +6 -1
  84. package/lib-prod/config/param-config.js.map +1 -0
  85. package/lib-prod/constants.d.ts +9 -0
  86. package/lib-prod/constants.js +6 -7
  87. package/lib-prod/constants.js.map +1 -0
  88. package/lib-prod/context-db-migrations.d.ts +17 -0
  89. package/lib-prod/context-db-migrations.js +76 -69
  90. package/lib-prod/context-db-migrations.js.map +1 -0
  91. package/lib-prod/create-context.d.ts +78 -0
  92. package/lib-prod/create-context.js +19 -13
  93. package/lib-prod/create-context.js.map +1 -0
  94. package/lib-prod/decorators/classes/controller-decorator.d.ts +5 -0
  95. package/lib-prod/decorators/classes/controller-decorator.js +10 -6
  96. package/lib-prod/decorators/classes/controller-decorator.js.map +1 -0
  97. package/lib-prod/decorators/classes/entity-decorator.d.ts +19 -0
  98. package/lib-prod/decorators/classes/entity-decorator.js +31 -16
  99. package/lib-prod/decorators/classes/entity-decorator.js.map +1 -0
  100. package/lib-prod/decorators/classes/middleware-decorator.d.ts +8 -0
  101. package/lib-prod/decorators/classes/middleware-decorator.js +15 -9
  102. package/lib-prod/decorators/classes/middleware-decorator.js.map +1 -0
  103. package/lib-prod/decorators/classes/migration-decorator.d.ts +7 -0
  104. package/lib-prod/decorators/classes/migration-decorator.js +14 -8
  105. package/lib-prod/decorators/classes/migration-decorator.js.map +1 -0
  106. package/lib-prod/decorators/classes/provider-decorator.d.ts +7 -0
  107. package/lib-prod/decorators/classes/provider-decorator.js +14 -8
  108. package/lib-prod/decorators/classes/provider-decorator.js.map +1 -0
  109. package/lib-prod/decorators/classes/repository-decorator.d.ts +7 -0
  110. package/lib-prod/decorators/classes/repository-decorator.js +14 -8
  111. package/lib-prod/decorators/classes/repository-decorator.js.map +1 -0
  112. package/lib-prod/decorators/classes/subscriber-decorator.d.ts +8 -0
  113. package/lib-prod/decorators/classes/subscriber-decorator.js +15 -8
  114. package/lib-prod/decorators/classes/subscriber-decorator.js.map +1 -0
  115. package/lib-prod/decorators/decorator-abstract-opt.d.ts +3 -0
  116. package/lib-prod/decorators/decorator-abstract-opt.js +6 -1
  117. package/lib-prod/decorators/decorator-abstract-opt.js.map +1 -0
  118. package/lib-prod/decorators/http/http-decorators.d.ts +3 -0
  119. package/lib-prod/decorators/http/http-decorators.js +7 -3
  120. package/lib-prod/decorators/http/http-decorators.js.map +1 -0
  121. package/lib-prod/decorators/http/http-methods-decorators.d.ts +70 -0
  122. package/lib-prod/decorators/http/http-methods-decorators.js +22 -12
  123. package/lib-prod/decorators/http/http-methods-decorators.js.map +1 -0
  124. package/lib-prod/decorators/http/http-params-decorators.d.ts +8 -0
  125. package/lib-prod/decorators/http/http-params-decorators.js +15 -7
  126. package/lib-prod/decorators/http/http-params-decorators.js.map +1 -0
  127. package/lib-prod/dependency-injection/di-container.d.ts +5 -0
  128. package/lib-prod/dependency-injection/di-container.js +7 -2
  129. package/lib-prod/dependency-injection/di-container.js.map +1 -0
  130. package/lib-prod/endpoint-context-storage.d.ts +11 -0
  131. package/lib-prod/endpoint-context-storage.js +11 -4
  132. package/lib-prod/endpoint-context-storage.js.map +1 -0
  133. package/lib-prod/endpoint-context.d.ts +197 -0
  134. package/lib-prod/endpoint-context.js +460 -435
  135. package/lib-prod/endpoint-context.js.map +1 -0
  136. package/lib-prod/entity-process.d.ts +39 -0
  137. package/lib-prod/entity-process.js +77 -61
  138. package/lib-prod/entity-process.js.map +1 -0
  139. package/lib-prod/env/env.angular-node-app.d.ts +64 -0
  140. package/lib-prod/env/env.angular-node-app.js +69 -64
  141. package/lib-prod/env/env.angular-node-app.js.map +1 -0
  142. package/lib-prod/env/env.docs-webapp.d.ts +64 -0
  143. package/lib-prod/env/env.docs-webapp.js +69 -64
  144. package/lib-prod/env/env.docs-webapp.js.map +1 -0
  145. package/lib-prod/env/env.electron-app.d.ts +64 -0
  146. package/lib-prod/env/env.electron-app.js +69 -64
  147. package/lib-prod/env/env.electron-app.js.map +1 -0
  148. package/lib-prod/env/env.mobile-app.d.ts +64 -0
  149. package/lib-prod/env/env.mobile-app.js +69 -64
  150. package/lib-prod/env/env.mobile-app.js.map +1 -0
  151. package/lib-prod/env/env.npm-lib-and-cli-tool.d.ts +64 -0
  152. package/lib-prod/env/env.npm-lib-and-cli-tool.js +69 -64
  153. package/lib-prod/env/env.npm-lib-and-cli-tool.js.map +1 -0
  154. package/lib-prod/env/env.vscode-plugin.d.ts +64 -0
  155. package/lib-prod/env/env.vscode-plugin.js +69 -64
  156. package/lib-prod/env/env.vscode-plugin.js.map +1 -0
  157. package/lib-prod/env/index.d.ts +6 -0
  158. package/lib-prod/env/index.js +23 -6
  159. package/lib-prod/env/index.js.map +1 -0
  160. package/lib-prod/express-types.d.ts +1 -0
  161. package/lib-prod/express-types.js +3 -1
  162. package/lib-prod/express-types.js.map +1 -0
  163. package/lib-prod/formly/formly.models.d.ts +1 -0
  164. package/lib-prod/formly/formly.models.js +3 -1
  165. package/lib-prod/formly/formly.models.js.map +1 -0
  166. package/lib-prod/formly/fromly.d.ts +16 -0
  167. package/lib-prod/formly/fromly.js +33 -29
  168. package/lib-prod/formly/fromly.js.map +1 -0
  169. package/lib-prod/formly/type-from-entity.d.ts +20 -0
  170. package/lib-prod/formly/type-from-entity.js +24 -15
  171. package/lib-prod/formly/type-from-entity.js.map +1 -0
  172. package/lib-prod/get-response-value.d.ts +6 -0
  173. package/lib-prod/get-response-value.js +6 -1
  174. package/lib-prod/get-response-value.js.map +1 -0
  175. package/lib-prod/global-state/taon-global-state/index.d.ts +5 -0
  176. package/lib-prod/global-state/taon-global-state/index.js +22 -5
  177. package/lib-prod/global-state/taon-global-state/index.js.map +1 -0
  178. package/lib-prod/global-state/taon-global-state/taon-global-state.abstract.context.d.ts +19 -0
  179. package/lib-prod/global-state/taon-global-state/taon-global-state.abstract.context.js +18 -14
  180. package/lib-prod/global-state/taon-global-state/taon-global-state.abstract.context.js.map +1 -0
  181. package/lib-prod/global-state/taon-global-state/taon-global-state.constants.d.ts +2 -0
  182. package/lib-prod/global-state/taon-global-state/taon-global-state.constants.js +7 -3
  183. package/lib-prod/global-state/taon-global-state/taon-global-state.constants.js.map +1 -0
  184. package/lib-prod/global-state/taon-global-state/taon-global-state.controller.d.ts +11 -0
  185. package/lib-prod/global-state/taon-global-state/taon-global-state.controller.js +38 -19
  186. package/lib-prod/global-state/taon-global-state/taon-global-state.controller.js.map +1 -0
  187. package/lib-prod/global-state/taon-global-state/taon-global-state.entity.d.ts +7 -0
  188. package/lib-prod/global-state/taon-global-state/taon-global-state.entity.js +41 -12
  189. package/lib-prod/global-state/taon-global-state/taon-global-state.entity.js.map +1 -0
  190. package/lib-prod/global-state/taon-global-state/taon-global-state.middleware.d.ts +3 -0
  191. package/lib-prod/global-state/taon-global-state/taon-global-state.middleware.js +16 -6
  192. package/lib-prod/global-state/taon-global-state/taon-global-state.middleware.js.map +1 -0
  193. package/lib-prod/global-state/taon-global-state/taon-global-state.models.d.ts +28 -0
  194. package/lib-prod/global-state/taon-global-state/taon-global-state.models.js +7 -3
  195. package/lib-prod/global-state/taon-global-state/taon-global-state.models.js.map +1 -0
  196. package/lib-prod/global-state/taon-global-state/taon-global-state.provider.d.ts +3 -0
  197. package/lib-prod/global-state/taon-global-state/taon-global-state.provider.js +16 -6
  198. package/lib-prod/global-state/taon-global-state/taon-global-state.provider.js.map +1 -0
  199. package/lib-prod/global-state/taon-global-state/taon-global-state.repository.d.ts +9 -0
  200. package/lib-prod/global-state/taon-global-state/taon-global-state.repository.js +23 -16
  201. package/lib-prod/global-state/taon-global-state/taon-global-state.repository.js.map +1 -0
  202. package/lib-prod/global-state/taon-global-state/taon-global-state.subscriber.d.ts +7 -0
  203. package/lib-prod/global-state/taon-global-state/taon-global-state.subscriber.js +20 -13
  204. package/lib-prod/global-state/taon-global-state/taon-global-state.subscriber.js.map +1 -0
  205. package/lib-prod/global-state/taon-global-state/taon-global-state.utils.d.ts +2 -0
  206. package/lib-prod/global-state/taon-global-state/taon-global-state.utils.js +8 -3
  207. package/lib-prod/global-state/taon-global-state/taon-global-state.utils.js.map +1 -0
  208. package/lib-prod/global-state/taon-transaction-registry/index.d.ts +10 -0
  209. package/lib-prod/global-state/taon-transaction-registry/index.js +27 -10
  210. package/lib-prod/global-state/taon-transaction-registry/index.js.map +1 -0
  211. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.abstract.context.d.ts +19 -0
  212. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.abstract.context.js +20 -16
  213. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.abstract.context.js.map +1 -0
  214. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.constants.d.ts +2 -0
  215. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.constants.js +5 -1
  216. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.constants.js.map +1 -0
  217. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.controller.d.ts +9 -0
  218. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.controller.js +33 -18
  219. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.controller.js.map +1 -0
  220. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.entity.d.ts +12 -0
  221. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.entity.js +55 -14
  222. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.entity.js.map +1 -0
  223. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.middleware.d.ts +3 -0
  224. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.middleware.js +16 -6
  225. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.middleware.js.map +1 -0
  226. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.models.d.ts +6 -0
  227. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.models.js +6 -2
  228. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.models.js.map +1 -0
  229. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.provider.d.ts +3 -0
  230. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.provider.js +16 -6
  231. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.provider.js.map +1 -0
  232. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.repository.d.ts +9 -0
  233. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.repository.js +20 -13
  234. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.repository.js.map +1 -0
  235. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.subscriber.d.ts +7 -0
  236. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.subscriber.js +20 -13
  237. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.subscriber.js.map +1 -0
  238. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.utils.d.ts +2 -0
  239. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.utils.js +5 -1
  240. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.utils.js.map +1 -0
  241. package/lib-prod/helpers/class-helpers.d.ts +22 -0
  242. package/lib-prod/helpers/class-helpers.js +78 -60
  243. package/lib-prod/helpers/class-helpers.js.map +1 -0
  244. package/lib-prod/helpers/clone-obj.d.ts +1 -0
  245. package/lib-prod/helpers/clone-obj.js +12 -7
  246. package/lib-prod/helpers/clone-obj.js.map +1 -0
  247. package/lib-prod/helpers/taon-helpers.d.ts +16 -0
  248. package/lib-prod/helpers/taon-helpers.js +36 -21
  249. package/lib-prod/helpers/taon-helpers.js.map +1 -0
  250. package/lib-prod/index._auto-generated_.d.ts +0 -0
  251. package/lib-prod/index._auto-generated_.js +2 -1
  252. package/lib-prod/index._auto-generated_.js.map +1 -0
  253. package/lib-prod/index.d.ts +230 -0
  254. package/lib-prod/index.js +94 -73
  255. package/lib-prod/index.js.map +1 -0
  256. package/lib-prod/inject.d.ts +4 -0
  257. package/lib-prod/inject.js +9 -4
  258. package/lib-prod/inject.js.map +1 -0
  259. package/lib-prod/migrations/index.d.ts +1 -0
  260. package/lib-prod/migrations/index.js +18 -1
  261. package/lib-prod/migrations/index.js.map +1 -0
  262. package/lib-prod/migrations/migrations_index._auto-generated_.d.ts +0 -0
  263. package/lib-prod/migrations/migrations_index._auto-generated_.js +1 -0
  264. package/lib-prod/migrations/migrations_index._auto-generated_.js.map +1 -0
  265. package/lib-prod/models.d.ts +255 -0
  266. package/lib-prod/models.js +53 -14
  267. package/lib-prod/models.js.map +1 -0
  268. package/lib-prod/orm/columns.d.ts +32 -0
  269. package/lib-prod/orm/columns.js +70 -22
  270. package/lib-prod/orm/columns.js.map +1 -0
  271. package/lib-prod/orm/index.d.ts +1 -0
  272. package/lib-prod/orm/index.js +18 -1
  273. package/lib-prod/orm/index.js.map +1 -0
  274. package/lib-prod/package.json +1 -1
  275. package/lib-prod/realtime/realtime-client.d.ts +41 -0
  276. package/lib-prod/realtime/realtime-client.js +30 -24
  277. package/lib-prod/realtime/realtime-client.js.map +1 -0
  278. package/lib-prod/realtime/realtime-core.d.ts +40 -0
  279. package/lib-prod/realtime/realtime-core.js +51 -26
  280. package/lib-prod/realtime/realtime-core.js.map +1 -0
  281. package/lib-prod/realtime/realtime-server.d.ts +43 -0
  282. package/lib-prod/realtime/realtime-server.js +34 -28
  283. package/lib-prod/realtime/realtime-server.js.map +1 -0
  284. package/lib-prod/realtime/realtime-strategy/index.d.ts +4 -0
  285. package/lib-prod/realtime/realtime-strategy/index.js +21 -4
  286. package/lib-prod/realtime/realtime-strategy/index.js.map +1 -0
  287. package/lib-prod/realtime/realtime-strategy/realtime-strategy-ipc.d.ts +80 -0
  288. package/lib-prod/realtime/realtime-strategy/realtime-strategy-ipc.js +41 -24
  289. package/lib-prod/realtime/realtime-strategy/realtime-strategy-ipc.js.map +1 -0
  290. package/lib-prod/realtime/realtime-strategy/realtime-strategy-mock.d.ts +14 -0
  291. package/lib-prod/realtime/realtime-strategy/realtime-strategy-mock.js +34 -20
  292. package/lib-prod/realtime/realtime-strategy/realtime-strategy-mock.js.map +1 -0
  293. package/lib-prod/realtime/realtime-strategy/realtime-strategy-socket-io.d.ts +16 -0
  294. package/lib-prod/realtime/realtime-strategy/realtime-strategy-socket-io.js +12 -6
  295. package/lib-prod/realtime/realtime-strategy/realtime-strategy-socket-io.js.map +1 -0
  296. package/lib-prod/realtime/realtime-strategy/realtime-strategy.d.ts +11 -0
  297. package/lib-prod/realtime/realtime-strategy/realtime-strategy.js +7 -1
  298. package/lib-prod/realtime/realtime-strategy/realtime-strategy.js.map +1 -0
  299. package/lib-prod/realtime/realtime-subs-manager.d.ts +14 -0
  300. package/lib-prod/realtime/realtime-subs-manager.js +19 -13
  301. package/lib-prod/realtime/realtime-subs-manager.js.map +1 -0
  302. package/lib-prod/realtime/realtime.models.d.ts +25 -0
  303. package/lib-prod/realtime/realtime.models.js +3 -1
  304. package/lib-prod/realtime/realtime.models.js.map +1 -0
  305. package/lib-prod/symbols.d.ts +63 -0
  306. package/lib-prod/symbols.js +20 -19
  307. package/lib-prod/symbols.js.map +1 -0
  308. package/lib-prod/ui/index.d.ts +1 -0
  309. package/lib-prod/ui/index.js +5 -1
  310. package/lib-prod/ui/index.js.map +1 -0
  311. package/lib-prod/ui/taon-admin-mode-configuration/index.d.ts +1 -0
  312. package/lib-prod/ui/taon-admin-mode-configuration/index.js +5 -1
  313. package/lib-prod/ui/taon-admin-mode-configuration/index.js.map +1 -0
  314. package/lib-prod/validators.d.ts +5 -0
  315. package/lib-prod/validators.js +20 -12
  316. package/lib-prod/validators.js.map +1 -0
  317. package/lib-prod.split-namespaces.json +91 -31
  318. package/package.json +1 -1
  319. package/websql/README.md +24 -24
  320. package/websql/fesm2022/taon-websql.mjs.map +1 -1
  321. package/websql/package.json +1 -1
  322. package/websql-prod/README.md +24 -24
  323. package/websql-prod/fesm2022/taon-websql.mjs.map +1 -1
  324. package/websql-prod/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "taon/browser-prod",
3
- "version": "21.0.54",
3
+ "version": "21.0.56",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^21.0.0",
6
6
  "@angular/core": "^21.0.0"
@@ -1,15 +1,15 @@
1
- <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
- <svg
3
- viewBox="0 0 23.432 23.432004"
4
- version="1.1"
5
- id="svg1"
6
- width="23.431999"
7
- height="23.432003"
8
- xmlns="http://www.w3.org/2000/svg"
9
- xmlns:svg="http://www.w3.org/2000/svg">
10
- <defs
11
- id="defs1" />
12
- <path
13
- id="path1"
14
- d="m 11.521484,1.265625 c -0.953032,1.5597622 -1.9887223,3.0593334 -3.1074215,4.5 C 6.9495642,4.7476223 5.485983,3.7308932 4.0214844,2.7128906 3.8829075,2.6603831 3.738968,2.6414114 3.5917969,2.6582031 2.7651252,6.7213623 1.8733597,10.758159 0.9140625,14.767578 v 0.75 c 1.6097872,1.096932 3.2239518,2.188127 4.8417969,3.273438 v 0.08008 h 0.1171875 c 1.806633,1.211497 3.6188659,2.414261 5.4355471,3.611328 0.07144,0.07147 0.14145,0.143364 0.21289,0.214844 h 0.429688 c 3.432812,-2.431526 6.897745,-4.824781 10.394531,-7.179688 V 14.552734 C 21.353633,10.612741 20.406845,6.6479161 19.505859,2.6582031 19.42892,2.5563391 19.339974,2.5393307 19.238281,2.6054688 17.782054,3.6890192 16.286176,4.7048374 14.75,5.6523438 a 3.4715793,3.1345327 0 0 0 -0.01758,-0.00195 C 13.814421,4.161603 12.851221,2.7003542 11.84375,1.265625 Z M 4.1855469,8.9433594 H 10.810547 V 10.048828 H 8.34375 V 15.46875 H 6.6601562 V 10.048828 H 4.1855469 Z m 7.7285151,0 h 1.638672 l 3.41211,4.3574216 V 8.9433594 h 1.564453 V 15.46875 h -1.689453 l -3.361328,-4.253906 v 4.253906 h -1.564454 z" />
15
- </svg>
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <svg
3
+ viewBox="0 0 23.432 23.432004"
4
+ version="1.1"
5
+ id="svg1"
6
+ width="23.431999"
7
+ height="23.432003"
8
+ xmlns="http://www.w3.org/2000/svg"
9
+ xmlns:svg="http://www.w3.org/2000/svg">
10
+ <defs
11
+ id="defs1" />
12
+ <path
13
+ id="path1"
14
+ d="m 11.521484,1.265625 c -0.953032,1.5597622 -1.9887223,3.0593334 -3.1074215,4.5 C 6.9495642,4.7476223 5.485983,3.7308932 4.0214844,2.7128906 3.8829075,2.6603831 3.738968,2.6414114 3.5917969,2.6582031 2.7651252,6.7213623 1.8733597,10.758159 0.9140625,14.767578 v 0.75 c 1.6097872,1.096932 3.2239518,2.188127 4.8417969,3.273438 v 0.08008 h 0.1171875 c 1.806633,1.211497 3.6188659,2.414261 5.4355471,3.611328 0.07144,0.07147 0.14145,0.143364 0.21289,0.214844 h 0.429688 c 3.432812,-2.431526 6.897745,-4.824781 10.394531,-7.179688 V 14.552734 C 21.353633,10.612741 20.406845,6.6479161 19.505859,2.6582031 19.42892,2.5563391 19.339974,2.5393307 19.238281,2.6054688 17.782054,3.6890192 16.286176,4.7048374 14.75,5.6523438 a 3.4715793,3.1345327 0 0 0 -0.01758,-0.00195 C 13.814421,4.161603 12.851221,2.7003542 11.84375,1.265625 Z M 4.1855469,8.9433594 H 10.810547 V 10.048828 H 8.34375 V 15.46875 H 6.6601562 V 10.048828 H 4.1855469 Z m 7.7285151,0 h 1.638672 l 3.41211,4.3574216 V 8.9433594 h 1.564453 V 15.46875 h -1.689453 l -3.361328,-4.253906 v 4.253906 h -1.564454 z" />
15
+ </svg>
@@ -21,4 +21,4 @@ export declare const CURRENT_PACKAGE_TAON_VERSION = "v21";
21
21
  /**
22
22
  * Autogenerated by current cli tool. Use *tnp release* to bump version.
23
23
  */
24
- export declare const CURRENT_PACKAGE_VERSION = "21.0.54";
24
+ export declare const CURRENT_PACKAGE_VERSION = "21.0.56";
@@ -25,6 +25,6 @@ exports.CURRENT_PACKAGE_TAON_VERSION = 'v21';
25
25
  /**
26
26
  * Autogenerated by current cli tool. Use *tnp release* to bump version.
27
27
  */
28
- exports.CURRENT_PACKAGE_VERSION = '21.0.54';
28
+ exports.CURRENT_PACKAGE_VERSION = '21.0.56';
29
29
  // THIS FILE IS GENERATED - DO NOT MODIFY
30
30
  //# sourceMappingURL=build-info._auto-generated_.js.map
package/lib/package.json CHANGED
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "name": "taon/lib",
3
- "version": "21.0.54"
3
+ "version": "21.0.56"
4
4
  }
@@ -1 +1 @@
1
- {"version":3,"file":"realtime-strategy-socket-io.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;AACA,2DAAuD;AACvD,kBAAkB;AAClB,yCAAkD;AAClD,YAAY;AACZ,uDAA6E;AAE7E;;;;GAIG;AACH,MAAa,wBAAyB,SAAQ,oCAAgB;IAItC;IAHtB,QAAQ;QACN,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,YAAsB,GAAoB;QACxC,KAAK,CAAC,GAAG,CAAC,CAAC;QADS,QAAG,GAAH,GAAG,CAAiB;IAE1C,CAAC;IAED,QAAQ,CAAC,GAAG,IAAI;QACd,sBAAsB;QACtB,OAAO,IAAI,kBAAM,CAAC,GAAG,IAAI,CAAC,CAAC;QAC3B,YAAY;IACd,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,qBAAE,CAAC;IACZ,CAAC;CACF;AAjBD,4DAiBC"}
1
+ {"version":3,"file":"realtime-strategy-socket-io.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;AAEA,2DAAuD;AACvD,kBAAkB;AAClB,yCAAkD;AAClD,YAAY;AACZ,uDAA6E;AAE7E;;;;GAIG;AACH,MAAa,wBAAyB,SAAQ,oCAAgB;IAItC;IAHtB,QAAQ;QACN,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,YAAsB,GAAoB;QACxC,KAAK,CAAC,GAAG,CAAC,CAAC;QADS,QAAG,GAAH,GAAG,CAAiB;IAE1C,CAAC;IAED,QAAQ,CAAC,GAAG,IAAI;QACd,sBAAsB;QACtB,OAAO,IAAI,kBAAM,CAAC,GAAG,IAAI,CAAC,CAAC;QAC3B,YAAY;IACd,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,qBAAE,CAAC;IACZ,CAAC;CACF;AAjBD,4DAiBC"}
package/lib/ui/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.dummy1769878175346 = dummy1769878175346;
4
- function dummy1769878175346() { }
3
+ exports.dummy1769963977321 = dummy1769963977321;
4
+ function dummy1769963977321() { }
5
5
  //# sourceMappingURL=index.js.map
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.dummy1769878176428 = dummy1769878176428;
4
- function dummy1769878176428() { }
3
+ exports.dummy1769963977592 = dummy1769963977592;
4
+ function dummy1769963977592() { }
5
5
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ import type { TaonBaseClass } from './base-class';
2
+ import { TaonBaseEntity } from './base-entity';
3
+ export declare abstract class TaonBaseAbstractEntity<CloneT extends TaonBaseClass = any> extends TaonBaseEntity<CloneT> {
4
+ id: string;
5
+ version: number;
6
+ }
7
+ export type AbstractEntityOmitKeys<ENTITY> = Omit<ENTITY, 'id' | 'version' | '_' | 'clone'>;
@@ -1,19 +1,42 @@
1
- import { Entity, VersionColumn } from 'taon-typeorm/lib-prod'; // @websql
2
- import { PrimaryGeneratedColumn, } from '../orm';
3
- import { TaonBaseEntity } from './base-entity';
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.TaonBaseAbstractEntity = void 0;
13
+ const lib_prod_1 = require("taon-typeorm/lib-prod"); // @websql
14
+ const orm_1 = require("../orm");
15
+ const base_entity_1 = require("./base-entity");
4
16
  //#region @websql
5
- let TaonBaseAbstractEntity = class TaonBaseAbstractEntity extends TaonBaseEntity {
17
+ let TaonBaseAbstractEntity = class TaonBaseAbstractEntity extends base_entity_1.TaonBaseEntity {
18
+ //#region @websql
19
+ //#endregion
20
+ id;
21
+ //#region @websql
22
+ //#endregion
23
+ version;
6
24
  };
25
+ exports.TaonBaseAbstractEntity = TaonBaseAbstractEntity;
7
26
  __decorate([
8
- PrimaryGeneratedColumn()
27
+ (0, orm_1.PrimaryGeneratedColumn)()
9
28
  //#endregion
29
+ ,
30
+ __metadata("design:type", String)
10
31
  ], TaonBaseAbstractEntity.prototype, "id", void 0);
11
32
  __decorate([
12
- VersionColumn()
33
+ (0, lib_prod_1.VersionColumn)()
13
34
  //#endregion
35
+ ,
36
+ __metadata("design:type", Number)
14
37
  ], TaonBaseAbstractEntity.prototype, "version", void 0);
15
- TaonBaseAbstractEntity = __decorate([
16
- Entity()
38
+ exports.TaonBaseAbstractEntity = TaonBaseAbstractEntity = __decorate([
39
+ (0, lib_prod_1.Entity)()
17
40
  //#endregion
18
41
  ], TaonBaseAbstractEntity);
19
- export { TaonBaseAbstractEntity };
42
+ //# sourceMappingURL=base-abstract-entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-abstract-entity.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA8D,CAAC,UAAU;AAEzE,gCAMgB;AAGhB,+CAA+C;AAE/C,iBAAiB;AAGV,IAAe,sBAAsB,GAArC,MAAe,sBAEpB,SAAQ,4BAAsB;IAC9B,iBAAiB;IAGjB,AADA,YAAY;IACZ,EAAE,CAAS;IAEX,iBAAiB;IAGjB,AADA,YAAY;IACZ,OAAO,CAAS;CACjB,CAAA;AAZqB,wDAAsB;AAM1C;IAFC,IAAA,4BAAsB,GAAE;IACzB,YAAY;;;kDACD;AAKX;IAFC,IAAA,wBAAa,GAAE;IAChB,YAAY;;;uDACI;iCAXI,sBAAsB;IAF3C,IAAA,iBAAM,GAAE;IACT,YAAY;GACU,sBAAsB,CAY3C"}
@@ -0,0 +1,27 @@
1
+ import { TaonContext } from '../create-context';
2
+ /**
3
+ * TODO prevent calling methods when not initialized
4
+ * with init(ctx)
5
+ */
6
+ export declare abstract class TaonBaseAngularService {
7
+ constructor();
8
+ /**
9
+ * Returns true if the application is running in SSR (server-side rendering) mode only.
10
+ */
11
+ get isSsrPlatform(): boolean;
12
+ /**
13
+ * Returns true if the application is running in browser-only mode.
14
+ */
15
+ get isBrowserPlatform(): boolean;
16
+ /**
17
+ * @deprecated
18
+ * Returns the host URL for the backend service
19
+ * that is running on localhost (normal NodeJS/ExpressJS mode).
20
+ */
21
+ get host(): string;
22
+ injectController<T>(ctor: new (...args: any[]) => T,
23
+ /**
24
+ * optional override context
25
+ */
26
+ overrideCurrentContext?: TaonContext): T;
27
+ }
@@ -1,14 +1,17 @@
1
+ "use strict";
1
2
  /* */
2
3
  /* */
3
4
  /* */
4
- import { inject as taonInject } from '../inject';
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.TaonBaseAngularService = void 0;
7
+ const inject_1 = require("../inject");
5
8
  /**
6
9
  * TODO prevent calling methods when not initialized
7
10
  * with init(ctx)
8
11
  */
9
12
  /* */
10
13
  /* */
11
- export class TaonBaseAngularService {
14
+ class TaonBaseAngularService {
12
15
  /* */
13
16
  /* */
14
17
  /* */
@@ -69,7 +72,7 @@ export class TaonBaseAngularService {
69
72
  * optional override context
70
73
  */
71
74
  overrideCurrentContext) {
72
- return taonInject(() => {
75
+ return (0, inject_1.inject)(() => {
73
76
  let currentContext;
74
77
  /* */
75
78
  /* */
@@ -82,3 +85,5 @@ export class TaonBaseAngularService {
82
85
  });
83
86
  }
84
87
  }
88
+ exports.TaonBaseAngularService = TaonBaseAngularService;
89
+ //# sourceMappingURL=base-angular-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-angular-service.js","sourceRoot":"","sources":[""],"names":[],"mappings":";AAAA,KAAK;AACL,KAAK;AACL,KAAK;;;AAQL,sCAAiD;AAEjD;;;GAGG;AACH,KAAK;AACL,KAAK;AAEL,MAAsB,sBAAsB;IAC5C,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IAEH;QACF,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;IAEH,CAAC;IAED;;OAEG;IACH,IAAW,aAAa;QAC1B,KAAK;QACL,KAAK;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,IAAW,iBAAiB;QAC9B,KAAK;QACL,KAAK;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;OAIG;IACH,IAAI,IAAI;QACV,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QAED,OAAO,KAAK,CAAC,CAAC;IAChB,CAAC;IAED,gBAAgB,CACd,IAA+B;IAC/B;;OAEG;IACH,sBAAoC;QAEpC,OAAO,IAAA,eAAU,EAAC,GAAG,EAAE;YACrB,IAAI,cAA2B,CAAC;YACtC,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK;YAEC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CACb,yFAAyF,CAC1F,CAAC;YACJ,CAAC;YACD,OAAO,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACjE,CAAC,CAAM,CAAC;IACV,CAAC;CACF;AAvFD,wDAuFC"}
@@ -0,0 +1,15 @@
1
+ export declare class TaonBaseClass<CloneT extends TaonBaseClass = any> {
2
+ /**
3
+ * class initialization hook
4
+ * taon after class instance creation
5
+ */
6
+ _(): Promise<void>;
7
+ /**
8
+ *
9
+ * @param overrideObjOrFn if object is provided it will override values in cloned object,
10
+ * if function is provided it will be called with old cloned values and should return
11
+ * object with values to override
12
+ * @returns cloned instance of the class
13
+ */
14
+ clone(overrideObjOrFn?: Partial<CloneT> | ((oldValues: Partial<CloneT>) => Partial<CloneT>)): CloneT;
15
+ }
@@ -1,8 +1,11 @@
1
- import { ___NS__cloneDeep, ___NS__isFunction, ___NS__isString } from 'tnp-core/lib-prod';
2
- import { ClassHelpers__NS__getClassFnFromObject } from '../helpers/class-helpers';
3
- import { cloneObj } from '../helpers/clone-obj';
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TaonBaseClass = void 0;
4
+ const lib_prod_1 = require("tnp-core/lib-prod");
5
+ const class_helpers_1 = require("../helpers/class-helpers");
6
+ const clone_obj_1 = require("../helpers/clone-obj");
4
7
  //#endregion
5
- export class TaonBaseClass {
8
+ class TaonBaseClass {
6
9
  //#region class initialization hook
7
10
  /**
8
11
  * class initialization hook
@@ -19,17 +22,19 @@ export class TaonBaseClass {
19
22
  * @returns cloned instance of the class
20
23
  */
21
24
  clone(overrideObjOrFn) {
22
- if (___NS__isString(overrideObjOrFn)) {
25
+ if ((0, lib_prod_1.___NS__isString)(overrideObjOrFn)) {
23
26
  console.log(overrideObjOrFn);
24
27
  throw new Error('String is not supported as .clone() method argument');
25
28
  }
26
- const classFn = ClassHelpers__NS__getClassFnFromObject(this);
27
- if (___NS__isFunction(overrideObjOrFn)) {
29
+ const classFn = (0, class_helpers_1.ClassHelpers__NS__getClassFnFromObject)(this);
30
+ if ((0, lib_prod_1.___NS__isFunction)(overrideObjOrFn)) {
28
31
  // console.log('clone with fn');
29
- const oldValues = (___NS__cloneDeep(this) || {});
30
- return cloneObj(overrideObjOrFn(oldValues), classFn);
32
+ const oldValues = ((0, lib_prod_1.___NS__cloneDeep)(this) || {});
33
+ return (0, clone_obj_1.cloneObj)(overrideObjOrFn(oldValues), classFn);
31
34
  }
32
35
  // console.log('clone normal');
33
- return cloneObj(overrideObjOrFn, classFn);
36
+ return (0, clone_obj_1.cloneObj)(overrideObjOrFn, classFn);
34
37
  }
35
38
  }
39
+ exports.TaonBaseClass = TaonBaseClass;
40
+ //# sourceMappingURL=base-class.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-class.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;AAEA,gDAAo8J;AAEp8J,4DAA4hB;AAC5hB,oDAAgD;AAEhD,YAAY;AAEZ,MAAa,aAAa;IACxB,mCAAmC;IACnC;;;OAGG;IACH,KAAK,CAAC,CAAC,KAAmB,CAAC;IAC3B,YAAY;IAEZ,eAAe;IACf;;;;;;OAMG;IACI,KAAK,CACV,eAEqD;QAErD,IAAG,IAAA,0BAAe,EAAC,eAAe,CAAC,EAAE,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,CAAC;QACD,MAAM,OAAO,GAAG,IAAA,sDAAsC,EAAC,IAAI,CAAC,CAAC;QAC7D,IAAI,IAAA,4BAAiB,EAAC,eAAe,CAAC,EAAE,CAAC;YACvC,gCAAgC;YAChC,MAAM,SAAS,GAAG,CAAC,IAAA,2BAAgB,EAAC,IAAI,CAAC,IAAI,EAAE,CAA2B,CAAC;YAC3E,OAAO,IAAA,oBAAQ,EAAS,eAAe,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC;QAC/D,CAAC;QACD,+BAA+B;QAC/B,OAAO,IAAA,oBAAQ,EAAS,eAAsB,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC;CAEF;AApCD,sCAoCC"}
@@ -0,0 +1,20 @@
1
+ declare const TaonBaseContext: {
2
+ readonly contextName: string;
3
+ readonly appId: string;
4
+ cloneAsRemote: (cloneOpt?: {
5
+ overrideRemoteHost?: string;
6
+ }) => /*elided*/ any;
7
+ cloneAsNormal: (cloneOpt?: {
8
+ overrideHost?: string;
9
+ }) => /*elided*/ any;
10
+ __ref(): Promise<import("..").EndpointContext>;
11
+ readonly __refSync: import("..").EndpointContext;
12
+ getClassInstance<T>(ctor: new (...args: any[]) => T): T;
13
+ getClass<T>(ctor: new (...args: any[]) => T): new (...args: any[]) => T;
14
+ initialize: (overrideOptions?: import("..").Models__NS__TaonInitializeParams) => Promise<import("..").EndpointContext>;
15
+ readonly realtime: {
16
+ readonly client: import("..").RealtimeClient;
17
+ readonly server: import("..").RealtimeServer;
18
+ };
19
+ };
20
+ export { TaonBaseContext };
@@ -1,19 +1,23 @@
1
- import { createContext } from '../create-context';
2
- import { TaonGlobalStateContext } from '../global-state/taon-global-state/taon-global-state.abstract.context';
3
- import { TaonBaseFileUploadMiddleware } from './base-file-upload.middleware';
4
- import { TaonBaseRepository } from './base-repository';
5
- const TaonBaseContext = createContext(() => ({
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TaonBaseContext = void 0;
4
+ const create_context_1 = require("../create-context");
5
+ const taon_global_state_abstract_context_1 = require("../global-state/taon-global-state/taon-global-state.abstract.context");
6
+ const base_file_upload_middleware_1 = require("./base-file-upload.middleware");
7
+ const base_repository_1 = require("./base-repository");
8
+ const TaonBaseContext = (0, create_context_1.createContext)(() => ({
6
9
  contextName: 'TaonBaseContext',
7
10
  abstract: true,
8
11
  contexts: {
9
- TaonGlobalStateContext,
12
+ TaonGlobalStateContext: taon_global_state_abstract_context_1.TaonGlobalStateContext,
10
13
  },
11
14
  middlewares: {
12
- TaonBaseFileUploadMiddleware,
15
+ TaonBaseFileUploadMiddleware: base_file_upload_middleware_1.TaonBaseFileUploadMiddleware,
13
16
  },
14
17
  repositories: {
15
18
  // @ts-ignore
16
- TaonBaseRepository,
19
+ TaonBaseRepository: base_repository_1.TaonBaseRepository,
17
20
  },
18
21
  }));
19
- export { TaonBaseContext };
22
+ exports.TaonBaseContext = TaonBaseContext;
23
+ //# sourceMappingURL=base-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-context.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;AAAA,sDAAkD;AAClD,6HAA8G;AAC9G,+EAA6E;AAC7E,uDAAuD;AAEvD,MAAM,eAAe,GAAG,IAAA,8BAAa,EAAC,GAAG,EAAE,CAAC,CAAC;IAC3C,WAAW,EAAE,iBAAiB;IAC9B,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE;QACR,sBAAsB,EAAtB,2DAAsB;KACvB;IACD,WAAW,EAAE;QACX,4BAA4B,EAA5B,0DAA4B;KAC7B;IACD,YAAY,EAAE;QACZ,aAAa;QACb,kBAAkB,EAAlB,oCAAkB;KACnB;CACF,CAAC,CAAC,CAAC;AAEK,0CAAe"}
@@ -0,0 +1,84 @@
1
+ import * as FormData from 'form-data';
2
+ import { RestErrorResponseWrapper, HttpResponseError } from 'ng2-rest/lib-prod';
3
+ import { Models__NS__Ng2RestAxiosRequestConfig as Ng2RestModels__NS__Ng2RestAxiosRequestConfig } from 'ng2-rest/lib-prod';
4
+ import type { ContextsEndpointStorage } from '../endpoint-context-storage';
5
+ import type { Models__NS__Http__NS__Response } from '../models';
6
+ import { TaonBaseInjector } from './base-injector';
7
+ export interface MulterFileUploadResponse {
8
+ ok: boolean;
9
+ originalName: string;
10
+ /**
11
+ * name change to this to avoid confusion with originalname
12
+ * (similar to originalname with added uniq part)
13
+ */
14
+ savedAs: string;
15
+ size: number;
16
+ mimetype: string;
17
+ }
18
+ export declare class TaonBaseController<UPLOAD_FILE_QUERY_PARAMS = {}> extends TaonBaseInjector {
19
+ /**
20
+ * Hook that is called when taon app is inited
21
+ * (all contexts are created and inited)
22
+ */
23
+ afterAllCtxInited(options: {
24
+ ctxStorage: ContextsEndpointStorage;
25
+ }): Promise<void>;
26
+ uploadFormDataToServer(formData: FormData, queryParams?: UPLOAD_FILE_QUERY_PARAMS): Models__NS__Http__NS__Response<MulterFileUploadResponse[]>;
27
+ /**
28
+ * Hook after file is uploaded
29
+ * through `uploadFormDataToServer` or `uploadLocalFileToServer`
30
+ */
31
+ protected afterFileUploadAction(file?: MulterFileUploadResponse, queryParams?: UPLOAD_FILE_QUERY_PARAMS): void | Promise<void>;
32
+ uploadLocalFileToServer(absFilePath: string, options?: Pick<Ng2RestModels__NS__Ng2RestAxiosRequestConfig, 'onUploadProgress'>, queryParams?: UPLOAD_FILE_QUERY_PARAMS): Promise<MulterFileUploadResponse[]>;
33
+ /**
34
+ * Easy way to wait for status change with http (1s default) pooling.
35
+ *
36
+ * example (in sub class):
37
+ * ```ts
38
+ async check() {
39
+ await this.waitForProperStatusChange({
40
+ request: () => this.uploadFormDataToServer(void 0, void 0).request(),
41
+ statusCheck: resp => resp.body.json[0].ok,
42
+ });
43
+ }
44
+ * ```
45
+ */
46
+ _waitForProperStatusChange<T>(options: {
47
+ actionName: string;
48
+ /**
49
+ * Request for pooling
50
+ */
51
+ request: (opt?: {
52
+ /**
53
+ * optional index number to identify request in logs
54
+ * (starts from 0 and increments by 1 on each try)
55
+ */
56
+ reqIndexNum?: number;
57
+ httpErrorsCount?: number;
58
+ }) => ReturnType<Models__NS__Http__NS__Response<T>['request']>;
59
+ poolingInterval?: number;
60
+ /**
61
+ * default infinite tries
62
+ */
63
+ maxTries?: number;
64
+ /**
65
+ * default infiniti allowed http errors
66
+ */
67
+ allowedHttpErrors?: number;
68
+ /**
69
+ * condition to be met
70
+ */
71
+ statusCheck?: (response: Awaited<ReturnType<typeof options.request>>) => boolean;
72
+ /**
73
+ * if return true.. loop will continue
74
+ * if false .. will exit the loop
75
+ */
76
+ loopRequestsOnBackendError?: (opt: {
77
+ unknownError: Error;
78
+ unknownHttpError: HttpResponseError<any>;
79
+ taonError: HttpResponseError<RestErrorResponseWrapper>;
80
+ reqIndexNum?: number;
81
+ httpErrorsCount?: number;
82
+ }) => boolean | Promise<boolean>;
83
+ }): Promise<void>;
84
+ }
@@ -1,12 +1,27 @@
1
- import * as FormData from 'form-data'; // @backend
2
- import { HttpResponseError, } from 'ng2-rest/lib-prod';
3
- import { crossPlatformPath, fse, path, CoreModels__NS__TaonHttpErrorCustomProp, UtilsTerminal__NS__waitMilliseconds } from 'tnp-core/lib-prod';
4
- import { TaonController } from '../decorators/classes/controller-decorator';
5
- import { POST } from '../decorators/http/http-methods-decorators';
6
- import { Body, Query } from '../decorators/http/http-params-decorators';
7
- import { TaonBaseFileUploadMiddleware } from './base-file-upload.middleware';
8
- import { TaonBaseInjector } from './base-injector';
9
- let TaonBaseController = class TaonBaseController extends TaonBaseInjector {
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.TaonBaseController = void 0;
16
+ const FormData = require("form-data"); // @backend
17
+ const lib_prod_1 = require("ng2-rest/lib-prod");
18
+ const lib_prod_2 = require("tnp-core/lib-prod");
19
+ const controller_decorator_1 = require("../decorators/classes/controller-decorator");
20
+ const http_methods_decorators_1 = require("../decorators/http/http-methods-decorators");
21
+ const http_params_decorators_1 = require("../decorators/http/http-params-decorators");
22
+ const base_file_upload_middleware_1 = require("./base-file-upload.middleware");
23
+ const base_injector_1 = require("./base-injector");
24
+ let TaonBaseController = class TaonBaseController extends base_injector_1.TaonBaseInjector {
10
25
  /**
11
26
  * Hook that is called when taon app is inited
12
27
  * (all contexts are created and inited)
@@ -21,14 +36,14 @@ let TaonBaseController = class TaonBaseController extends TaonBaseInjector {
21
36
  throw 'No file(s) received';
22
37
  }
23
38
  const responseArr = files.map(f => {
24
- const savedAbs = crossPlatformPath(path.resolve(f.path));
39
+ const savedAbs = (0, lib_prod_2.crossPlatformPath)(lib_prod_2.path.resolve(f.path));
25
40
  // const savedRel = crossPlatformPath(
26
41
  // path.relative(this.ctx.cwd, savedAbs),
27
42
  // );
28
43
  return {
29
44
  ok: true,
30
45
  originalName: f.originalname,
31
- savedAs: path.basename(savedAbs),
46
+ savedAs: lib_prod_2.path.basename(savedAbs),
32
47
  // savedPath: void 0, // not needed
33
48
  size: f.size,
34
49
  mimetype: f.mimetype,
@@ -54,11 +69,11 @@ let TaonBaseController = class TaonBaseController extends TaonBaseInjector {
54
69
  //#region upload local file to server
55
70
  async uploadLocalFileToServer(absFilePath, options, queryParams) {
56
71
  //#region @backendFunc
57
- const stat = fse.statSync(absFilePath);
58
- const stream = fse.createReadStream(absFilePath);
72
+ const stat = lib_prod_2.fse.statSync(absFilePath);
73
+ const stream = lib_prod_2.fse.createReadStream(absFilePath);
59
74
  const form = new FormData();
60
75
  form.append('file', stream, {
61
- filename: path.basename(absFilePath),
76
+ filename: lib_prod_2.path.basename(absFilePath),
62
77
  knownLength: stat.size,
63
78
  });
64
79
  const data = await this.uploadFormDataToServer(form, queryParams).request(options || {});
@@ -92,7 +107,7 @@ let TaonBaseController = class TaonBaseController extends TaonBaseInjector {
92
107
  let i = 0;
93
108
  let httpErrorsCount = 0;
94
109
  while (true) {
95
- await UtilsTerminal__NS__waitMilliseconds(poolingInterval);
110
+ await (0, lib_prod_2.UtilsTerminal__NS__waitMilliseconds)(poolingInterval);
96
111
  try {
97
112
  const resp = await taonRequest({
98
113
  reqIndexNum: i,
@@ -105,10 +120,10 @@ let TaonBaseController = class TaonBaseController extends TaonBaseInjector {
105
120
  catch (error) {
106
121
  httpErrorsCount++;
107
122
  if (options.loopRequestsOnBackendError) {
108
- const isProperTaonError = error instanceof HttpResponseError &&
109
- error.body.json[CoreModels__NS__TaonHttpErrorCustomProp];
110
- const isHttpError = error instanceof HttpResponseError && !isProperTaonError;
111
- const isUnknownError = !(error instanceof HttpResponseError);
123
+ const isProperTaonError = error instanceof lib_prod_1.HttpResponseError &&
124
+ error.body.json[lib_prod_2.CoreModels__NS__TaonHttpErrorCustomProp];
125
+ const isHttpError = error instanceof lib_prod_1.HttpResponseError && !isProperTaonError;
126
+ const isUnknownError = !(error instanceof lib_prod_1.HttpResponseError);
112
127
  const resBool = await options.loopRequestsOnBackendError({
113
128
  taonError: isProperTaonError ? error : void 0,
114
129
  unknownHttpError: isHttpError ? error : void 0,
@@ -135,20 +150,24 @@ let TaonBaseController = class TaonBaseController extends TaonBaseInjector {
135
150
  }
136
151
  }
137
152
  };
153
+ exports.TaonBaseController = TaonBaseController;
138
154
  __decorate([
139
- POST({
155
+ (0, http_methods_decorators_1.POST)({
140
156
  overrideContentType: 'multipart/form-data',
141
157
  middlewares: ({ parentMiddlewares }) => ({
142
158
  ...parentMiddlewares,
143
- TaonBaseFileUploadMiddleware,
159
+ TaonBaseFileUploadMiddleware: base_file_upload_middleware_1.TaonBaseFileUploadMiddleware,
144
160
  }),
145
161
  }),
146
- __param(0, Body()),
147
- __param(1, Query())
162
+ __param(0, (0, http_params_decorators_1.Body)()),
163
+ __param(1, (0, http_params_decorators_1.Query)()),
164
+ __metadata("design:type", Function),
165
+ __metadata("design:paramtypes", [FormData, Object]),
166
+ __metadata("design:returntype", Object)
148
167
  ], TaonBaseController.prototype, "uploadFormDataToServer", null);
149
- TaonBaseController = __decorate([
150
- TaonController({
168
+ exports.TaonBaseController = TaonBaseController = __decorate([
169
+ (0, controller_decorator_1.TaonController)({
151
170
  className: 'TaonBaseController',
152
171
  })
153
172
  ], TaonBaseController);
154
- export { TaonBaseController };
173
+ //# sourceMappingURL=base-controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-controller.js","sourceRoot":"","sources":[""],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { Models__NS__Http__NS__Response } from '../models';
2
+ import { TaonBaseController } from './base-controller';
3
+ import { TaonBaseRepository } from './base-repository';
4
+ /**
5
+ * Please override property entityClassFn with entity class.
6
+ */
7
+ export declare abstract class TaonBaseCrudController<Entity, UPLOAD_FILE_QUERY_PARAMS = {}> extends TaonBaseController<UPLOAD_FILE_QUERY_PARAMS> {
8
+ protected db: TaonBaseRepository<Entity>;
9
+ /**
10
+ * Please provide entity as class property entityClassFn:
11
+ * @returns class function
12
+ *
13
+ */
14
+ abstract entityClassResolveFn: () => any;
15
+ _(): Promise<void>;
16
+ bufforedChanges(id: number | string, property: string, alreadyLength?: number): Models__NS__Http__NS__Response<string | any[]>;
17
+ pagination(pageNumber?: number, pageSize?: number, search?: string): Models__NS__Http__NS__Response<Entity[]>;
18
+ getAll(): Models__NS__Http__NS__Response<Entity[]>;
19
+ getBy(id: number | string): Models__NS__Http__NS__Response<Entity>;
20
+ updateById(id: number | string, item: Entity): Models__NS__Http__NS__Response<Entity>;
21
+ patchById(id: number | string, item: Entity): Models__NS__Http__NS__Response<Entity>;
22
+ bulkUpdate(items: Entity[]): Models__NS__Http__NS__Response<Entity[]>;
23
+ deleteById(id: number | string): Models__NS__Http__NS__Response<Entity>;
24
+ bulkDelete(ids: (number | string)[]): Models__NS__Http__NS__Response<(number | string | Entity)[]>;
25
+ clearTable(): Models__NS__Http__NS__Response<void>;
26
+ save(item: Entity): Models__NS__Http__NS__Response<Entity>;
27
+ bulkCreate(items: Entity): Models__NS__Http__NS__Response<Entity[]>;
28
+ }