@elsikora/nestjs-crud-config 4.1.0 → 5.0.0-dev.2

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 (277) hide show
  1. package/README.md +33 -26
  2. package/dist/{esm/external → external}/tslib/tslib.es6.js +0 -1
  3. package/dist/{esm/index.d.ts → index.d.ts} +2 -2
  4. package/dist/{esm/index.js → index.js} +1 -1
  5. package/dist/{esm/modules → modules}/config/config.module.d.ts +1 -1
  6. package/dist/{esm/modules → modules}/config/config.module.js +4 -3
  7. package/dist/{cjs/modules → modules}/config/config.service.d.ts +5 -5
  8. package/dist/{esm/modules → modules}/config/config.service.js +0 -1
  9. package/dist/{cjs/modules → modules}/config/data/controller.d.ts +4 -4
  10. package/dist/{esm/modules → modules}/config/data/controller.js +0 -1
  11. package/dist/{cjs/modules → modules}/config/data/entity/entity.d.ts +4 -4
  12. package/dist/{esm/modules → modules}/config/data/entity/entity.js +3 -3
  13. package/dist/modules/config/data/entity/index.d.ts +1 -0
  14. package/dist/modules/config/data/index.d.ts +3 -0
  15. package/dist/modules/config/data/interface/index.d.ts +1 -0
  16. package/dist/{cjs/modules → modules}/config/data/interface/interface.d.ts +1 -1
  17. package/dist/modules/config/index.d.ts +11 -0
  18. package/dist/modules/config/interface/index.d.ts +4 -0
  19. package/dist/{cjs/modules → modules}/config/migration/entity/entity.d.ts +3 -3
  20. package/dist/{esm/modules → modules}/config/migration/entity/entity.js +4 -4
  21. package/dist/modules/config/migration/entity/index.d.ts +1 -0
  22. package/dist/modules/config/migration/enum/index.d.ts +1 -0
  23. package/dist/{esm/modules → modules}/config/migration/enum/status.js +0 -1
  24. package/dist/modules/config/migration/index.d.ts +5 -0
  25. package/dist/{cjs/modules → modules}/config/migration/interface/index.d.ts +3 -3
  26. package/dist/{esm/modules → modules}/config/migration/interface/interface.d.ts +1 -1
  27. package/dist/{cjs/modules → modules}/config/migration/interface/migration-definition.interface.d.ts +1 -1
  28. package/dist/{esm/modules → modules}/config/migration/interface/migration-options.interface.d.ts +1 -1
  29. package/dist/{esm/modules → modules}/config/migration/migration-runner.service.d.ts +2 -2
  30. package/dist/{esm/modules → modules}/config/migration/migration-runner.service.js +0 -1
  31. package/dist/{esm/modules → modules}/config/migration/migration.service.d.ts +3 -3
  32. package/dist/{esm/modules → modules}/config/migration/migration.service.js +9 -11
  33. package/dist/{cjs/modules → modules}/config/section/controller.d.ts +4 -4
  34. package/dist/{esm/modules → modules}/config/section/controller.js +0 -1
  35. package/dist/{esm/modules → modules}/config/section/entity/entity.d.ts +3 -3
  36. package/dist/{esm/modules → modules}/config/section/entity/entity.js +3 -3
  37. package/dist/modules/config/section/entity/index.d.ts +1 -0
  38. package/dist/modules/config/section/index.d.ts +2 -0
  39. package/dist/modules/config/section/interface/index.d.ts +1 -0
  40. package/dist/modules/config/type/index.d.ts +2 -0
  41. package/dist/{cjs/modules → modules}/config/type/type.d.ts +1 -1
  42. package/dist/modules/index.d.ts +1 -0
  43. package/dist/{esm/shared → shared}/constant/api-property.constant.js +0 -1
  44. package/dist/{esm/shared → shared}/constant/config/data.constant.js +0 -1
  45. package/dist/shared/constant/config/entity.constant.d.ts +4 -0
  46. package/dist/shared/constant/config/entity.constant.js +7 -0
  47. package/dist/shared/constant/config/index.d.ts +4 -0
  48. package/dist/{esm/shared → shared}/constant/config/migration.constant.js +0 -1
  49. package/dist/{esm/shared → shared}/constant/config/section.constant.js +0 -1
  50. package/dist/{esm/shared → shared}/constant/crypto.constant.js +0 -1
  51. package/dist/shared/constant/index.d.ts +4 -0
  52. package/dist/{esm/shared → shared}/constant/token.constant.js +0 -1
  53. package/dist/{esm/shared → shared}/enum/environment.enum.js +0 -1
  54. package/dist/shared/enum/index.d.ts +6 -0
  55. package/dist/{esm/shared → shared}/enum/instance-name.enum.js +0 -1
  56. package/dist/{esm/shared → shared}/enum/service.enum.js +0 -1
  57. package/dist/shared/index.d.ts +5 -0
  58. package/dist/{cjs/shared → shared}/interface/config/async-module-properties.interface.d.ts +4 -4
  59. package/dist/{cjs/shared → shared}/interface/config/controller-options.interface.d.ts +2 -2
  60. package/dist/{cjs/shared → shared}/interface/config/entity/index.d.ts +3 -3
  61. package/dist/{esm/shared → shared}/interface/config/entity/options.interface.d.ts +3 -2
  62. package/dist/{cjs/shared → shared}/interface/config/index.d.ts +8 -8
  63. package/dist/{esm/shared → shared}/interface/config/options.interface.d.ts +5 -5
  64. package/dist/{cjs/shared → shared}/interface/config/properties-factory.interface.d.ts +1 -1
  65. package/dist/{esm/shared → shared}/interface/config/static-options.interface.d.ts +2 -2
  66. package/dist/shared/interface/index.d.ts +2 -0
  67. package/dist/{cjs/shared → shared}/interface/utility/create-dynamic-entity/index.d.ts +2 -2
  68. package/dist/{esm/shared → shared}/interface/utility/create-dynamic-entity/options.interface.d.ts +1 -1
  69. package/dist/shared/interface/utility/index.d.ts +1 -0
  70. package/dist/shared/type/index.d.ts +1 -0
  71. package/dist/{cjs/shared → shared}/utility/create-dynamic/entity.utility.d.ts +2 -2
  72. package/dist/{esm/shared → shared}/utility/create-dynamic/entity.utility.js +0 -1
  73. package/dist/shared/utility/create-dynamic/index.d.ts +2 -0
  74. package/dist/{cjs/shared → shared}/utility/create-dynamic/service.utility.d.ts +1 -1
  75. package/dist/{esm/shared → shared}/utility/create-dynamic/service.utility.js +0 -1
  76. package/dist/{cjs/shared → shared}/utility/crypto.utility.d.ts +1 -1
  77. package/dist/{esm/shared → shared}/utility/crypto.utility.js +0 -1
  78. package/dist/shared/utility/index.d.ts +4 -0
  79. package/dist/shared/utility/logger.utility.d.ts +37 -0
  80. package/dist/{esm/shared → shared}/utility/logger.utility.js +26 -6
  81. package/package.json +73 -66
  82. package/dist/cjs/external/tslib/tslib.es6.js +0 -43
  83. package/dist/cjs/external/tslib/tslib.es6.js.map +0 -1
  84. package/dist/cjs/index.d.ts +0 -11
  85. package/dist/cjs/index.js +0 -81
  86. package/dist/cjs/index.js.map +0 -1
  87. package/dist/cjs/modules/config/config.module.d.ts +0 -33
  88. package/dist/cjs/modules/config/config.module.js +0 -321
  89. package/dist/cjs/modules/config/config.module.js.map +0 -1
  90. package/dist/cjs/modules/config/config.service.js +0 -315
  91. package/dist/cjs/modules/config/config.service.js.map +0 -1
  92. package/dist/cjs/modules/config/data/controller.js +0 -124
  93. package/dist/cjs/modules/config/data/controller.js.map +0 -1
  94. package/dist/cjs/modules/config/data/entity/entity.js +0 -161
  95. package/dist/cjs/modules/config/data/entity/entity.js.map +0 -1
  96. package/dist/cjs/modules/config/data/entity/index.d.ts +0 -1
  97. package/dist/cjs/modules/config/data/index.d.ts +0 -3
  98. package/dist/cjs/modules/config/data/interface/index.d.ts +0 -1
  99. package/dist/cjs/modules/config/index.d.ts +0 -11
  100. package/dist/cjs/modules/config/interface/index.d.ts +0 -4
  101. package/dist/cjs/modules/config/migration/entity/entity.js +0 -141
  102. package/dist/cjs/modules/config/migration/entity/entity.js.map +0 -1
  103. package/dist/cjs/modules/config/migration/entity/index.d.ts +0 -1
  104. package/dist/cjs/modules/config/migration/enum/index.d.ts +0 -1
  105. package/dist/cjs/modules/config/migration/enum/status.js +0 -11
  106. package/dist/cjs/modules/config/migration/enum/status.js.map +0 -1
  107. package/dist/cjs/modules/config/migration/index.d.ts +0 -5
  108. package/dist/cjs/modules/config/migration/interface/interface.d.ts +0 -12
  109. package/dist/cjs/modules/config/migration/interface/migration-options.interface.d.ts +0 -39
  110. package/dist/cjs/modules/config/migration/migration-runner.service.d.ts +0 -26
  111. package/dist/cjs/modules/config/migration/migration-runner.service.js +0 -93
  112. package/dist/cjs/modules/config/migration/migration-runner.service.js.map +0 -1
  113. package/dist/cjs/modules/config/migration/migration.service.d.ts +0 -79
  114. package/dist/cjs/modules/config/migration/migration.service.js +0 -377
  115. package/dist/cjs/modules/config/migration/migration.service.js.map +0 -1
  116. package/dist/cjs/modules/config/section/controller.js +0 -86
  117. package/dist/cjs/modules/config/section/controller.js.map +0 -1
  118. package/dist/cjs/modules/config/section/entity/entity.d.ts +0 -18
  119. package/dist/cjs/modules/config/section/entity/entity.js +0 -99
  120. package/dist/cjs/modules/config/section/entity/entity.js.map +0 -1
  121. package/dist/cjs/modules/config/section/entity/index.d.ts +0 -1
  122. package/dist/cjs/modules/config/section/index.d.ts +0 -2
  123. package/dist/cjs/modules/config/section/interface/index.d.ts +0 -1
  124. package/dist/cjs/modules/config/type/index.d.ts +0 -2
  125. package/dist/cjs/modules/index.d.ts +0 -1
  126. package/dist/cjs/package.json +0 -8
  127. package/dist/cjs/shared/constant/api-property.constant.js +0 -11
  128. package/dist/cjs/shared/constant/api-property.constant.js.map +0 -1
  129. package/dist/cjs/shared/constant/config/data.constant.js +0 -17
  130. package/dist/cjs/shared/constant/config/data.constant.js.map +0 -1
  131. package/dist/cjs/shared/constant/config/index.d.ts +0 -3
  132. package/dist/cjs/shared/constant/config/migration.constant.js +0 -15
  133. package/dist/cjs/shared/constant/config/migration.constant.js.map +0 -1
  134. package/dist/cjs/shared/constant/config/section.constant.js +0 -13
  135. package/dist/cjs/shared/constant/config/section.constant.js.map +0 -1
  136. package/dist/cjs/shared/constant/crypto.constant.js +0 -17
  137. package/dist/cjs/shared/constant/crypto.constant.js.map +0 -1
  138. package/dist/cjs/shared/constant/index.d.ts +0 -4
  139. package/dist/cjs/shared/constant/token.constant.js +0 -24
  140. package/dist/cjs/shared/constant/token.constant.js.map +0 -1
  141. package/dist/cjs/shared/enum/environment.enum.js +0 -20
  142. package/dist/cjs/shared/enum/environment.enum.js.map +0 -1
  143. package/dist/cjs/shared/enum/index.d.ts +0 -6
  144. package/dist/cjs/shared/enum/instance-name.enum.js +0 -11
  145. package/dist/cjs/shared/enum/instance-name.enum.js.map +0 -1
  146. package/dist/cjs/shared/enum/service.enum.js +0 -224
  147. package/dist/cjs/shared/enum/service.enum.js.map +0 -1
  148. package/dist/cjs/shared/index.d.ts +0 -5
  149. package/dist/cjs/shared/interface/config/entity/options.interface.d.ts +0 -25
  150. package/dist/cjs/shared/interface/config/options.interface.d.ts +0 -39
  151. package/dist/cjs/shared/interface/config/static-options.interface.d.ts +0 -45
  152. package/dist/cjs/shared/interface/index.d.ts +0 -2
  153. package/dist/cjs/shared/interface/utility/create-dynamic-entity/options.interface.d.ts +0 -15
  154. package/dist/cjs/shared/interface/utility/index.d.ts +0 -1
  155. package/dist/cjs/shared/type/index.d.ts +0 -1
  156. package/dist/cjs/shared/utility/create-dynamic/entity.utility.js +0 -68
  157. package/dist/cjs/shared/utility/create-dynamic/entity.utility.js.map +0 -1
  158. package/dist/cjs/shared/utility/create-dynamic/index.d.ts +0 -2
  159. package/dist/cjs/shared/utility/create-dynamic/service.utility.js +0 -35
  160. package/dist/cjs/shared/utility/create-dynamic/service.utility.js.map +0 -1
  161. package/dist/cjs/shared/utility/crypto.utility.js +0 -133
  162. package/dist/cjs/shared/utility/crypto.utility.js.map +0 -1
  163. package/dist/cjs/shared/utility/index.d.ts +0 -4
  164. package/dist/cjs/shared/utility/logger.utility.d.ts +0 -21
  165. package/dist/cjs/shared/utility/logger.utility.js +0 -68
  166. package/dist/cjs/shared/utility/logger.utility.js.map +0 -1
  167. package/dist/esm/external/tslib/tslib.es6.js.map +0 -1
  168. package/dist/esm/index.js.map +0 -1
  169. package/dist/esm/modules/config/config.module.js.map +0 -1
  170. package/dist/esm/modules/config/config.service.d.ts +0 -56
  171. package/dist/esm/modules/config/config.service.js.map +0 -1
  172. package/dist/esm/modules/config/data/controller.d.ts +0 -11
  173. package/dist/esm/modules/config/data/controller.js.map +0 -1
  174. package/dist/esm/modules/config/data/entity/entity.d.ts +0 -25
  175. package/dist/esm/modules/config/data/entity/entity.js.map +0 -1
  176. package/dist/esm/modules/config/data/entity/index.d.ts +0 -1
  177. package/dist/esm/modules/config/data/index.d.ts +0 -3
  178. package/dist/esm/modules/config/data/interface/index.d.ts +0 -1
  179. package/dist/esm/modules/config/data/interface/interface.d.ts +0 -13
  180. package/dist/esm/modules/config/index.d.ts +0 -11
  181. package/dist/esm/modules/config/interface/delete-options.interface.d.ts +0 -24
  182. package/dist/esm/modules/config/interface/get-list-options.interface.d.ts +0 -24
  183. package/dist/esm/modules/config/interface/get-options.interface.d.ts +0 -32
  184. package/dist/esm/modules/config/interface/index.d.ts +0 -4
  185. package/dist/esm/modules/config/interface/set-options.interface.d.ts +0 -36
  186. package/dist/esm/modules/config/migration/entity/entity.d.ts +0 -16
  187. package/dist/esm/modules/config/migration/entity/entity.js.map +0 -1
  188. package/dist/esm/modules/config/migration/entity/index.d.ts +0 -1
  189. package/dist/esm/modules/config/migration/enum/index.d.ts +0 -1
  190. package/dist/esm/modules/config/migration/enum/status.d.ts +0 -7
  191. package/dist/esm/modules/config/migration/enum/status.js.map +0 -1
  192. package/dist/esm/modules/config/migration/index.d.ts +0 -5
  193. package/dist/esm/modules/config/migration/interface/index.d.ts +0 -3
  194. package/dist/esm/modules/config/migration/interface/migration-definition.interface.d.ts +0 -31
  195. package/dist/esm/modules/config/migration/migration-runner.service.js.map +0 -1
  196. package/dist/esm/modules/config/migration/migration.service.js.map +0 -1
  197. package/dist/esm/modules/config/section/controller.d.ts +0 -11
  198. package/dist/esm/modules/config/section/controller.js.map +0 -1
  199. package/dist/esm/modules/config/section/entity/entity.js.map +0 -1
  200. package/dist/esm/modules/config/section/entity/index.d.ts +0 -1
  201. package/dist/esm/modules/config/section/index.d.ts +0 -2
  202. package/dist/esm/modules/config/section/interface/index.d.ts +0 -1
  203. package/dist/esm/modules/config/section/interface/interface.d.ts +0 -8
  204. package/dist/esm/modules/config/type/index.d.ts +0 -2
  205. package/dist/esm/modules/config/type/item.type.d.ts +0 -1
  206. package/dist/esm/modules/config/type/type.d.ts +0 -2
  207. package/dist/esm/modules/index.d.ts +0 -1
  208. package/dist/esm/package.json +0 -8
  209. package/dist/esm/shared/constant/api-property.constant.d.ts +0 -4
  210. package/dist/esm/shared/constant/api-property.constant.js.map +0 -1
  211. package/dist/esm/shared/constant/config/data.constant.d.ts +0 -7
  212. package/dist/esm/shared/constant/config/data.constant.js.map +0 -1
  213. package/dist/esm/shared/constant/config/index.d.ts +0 -3
  214. package/dist/esm/shared/constant/config/migration.constant.d.ts +0 -6
  215. package/dist/esm/shared/constant/config/migration.constant.js.map +0 -1
  216. package/dist/esm/shared/constant/config/section.constant.d.ts +0 -5
  217. package/dist/esm/shared/constant/config/section.constant.js.map +0 -1
  218. package/dist/esm/shared/constant/crypto.constant.d.ts +0 -7
  219. package/dist/esm/shared/constant/crypto.constant.js.map +0 -1
  220. package/dist/esm/shared/constant/index.d.ts +0 -4
  221. package/dist/esm/shared/constant/token.constant.d.ts +0 -10
  222. package/dist/esm/shared/constant/token.constant.js.map +0 -1
  223. package/dist/esm/shared/enum/environment.enum.d.ts +0 -16
  224. package/dist/esm/shared/enum/environment.enum.js.map +0 -1
  225. package/dist/esm/shared/enum/index.d.ts +0 -6
  226. package/dist/esm/shared/enum/instance-name.enum.d.ts +0 -7
  227. package/dist/esm/shared/enum/instance-name.enum.js.map +0 -1
  228. package/dist/esm/shared/enum/service.enum.d.ts +0 -220
  229. package/dist/esm/shared/enum/service.enum.js.map +0 -1
  230. package/dist/esm/shared/index.d.ts +0 -5
  231. package/dist/esm/shared/interface/config/async-module-properties.interface.d.ts +0 -47
  232. package/dist/esm/shared/interface/config/cache-options.interface.d.ts +0 -18
  233. package/dist/esm/shared/interface/config/controller-options.interface.d.ts +0 -32
  234. package/dist/esm/shared/interface/config/encryption-options.interface.d.ts +0 -19
  235. package/dist/esm/shared/interface/config/entity/data-options.interface.d.ts +0 -25
  236. package/dist/esm/shared/interface/config/entity/index.d.ts +0 -3
  237. package/dist/esm/shared/interface/config/entity/section-options.interface.d.ts +0 -17
  238. package/dist/esm/shared/interface/config/index.d.ts +0 -8
  239. package/dist/esm/shared/interface/config/properties-factory.interface.d.ts +0 -11
  240. package/dist/esm/shared/interface/index.d.ts +0 -2
  241. package/dist/esm/shared/interface/utility/create-dynamic-entity/index.d.ts +0 -2
  242. package/dist/esm/shared/interface/utility/create-dynamic-entity/relation-options.interface.d.ts +0 -9
  243. package/dist/esm/shared/interface/utility/index.d.ts +0 -1
  244. package/dist/esm/shared/type/dynamic-entity.type.d.ts +0 -2
  245. package/dist/esm/shared/type/index.d.ts +0 -1
  246. package/dist/esm/shared/utility/create-dynamic/entity.utility.d.ts +0 -11
  247. package/dist/esm/shared/utility/create-dynamic/entity.utility.js.map +0 -1
  248. package/dist/esm/shared/utility/create-dynamic/index.d.ts +0 -2
  249. package/dist/esm/shared/utility/create-dynamic/service.utility.d.ts +0 -10
  250. package/dist/esm/shared/utility/create-dynamic/service.utility.js.map +0 -1
  251. package/dist/esm/shared/utility/crypto.utility.d.ts +0 -37
  252. package/dist/esm/shared/utility/crypto.utility.js.map +0 -1
  253. package/dist/esm/shared/utility/index.d.ts +0 -4
  254. package/dist/esm/shared/utility/logger.utility.d.ts +0 -21
  255. package/dist/esm/shared/utility/logger.utility.js.map +0 -1
  256. /package/dist/{cjs/modules → modules}/config/interface/delete-options.interface.d.ts +0 -0
  257. /package/dist/{cjs/modules → modules}/config/interface/get-list-options.interface.d.ts +0 -0
  258. /package/dist/{cjs/modules → modules}/config/interface/get-options.interface.d.ts +0 -0
  259. /package/dist/{cjs/modules → modules}/config/interface/set-options.interface.d.ts +0 -0
  260. /package/dist/{cjs/modules → modules}/config/migration/enum/status.d.ts +0 -0
  261. /package/dist/{cjs/modules → modules}/config/section/interface/interface.d.ts +0 -0
  262. /package/dist/{cjs/modules → modules}/config/type/item.type.d.ts +0 -0
  263. /package/dist/{cjs/shared → shared}/constant/api-property.constant.d.ts +0 -0
  264. /package/dist/{cjs/shared → shared}/constant/config/data.constant.d.ts +0 -0
  265. /package/dist/{cjs/shared → shared}/constant/config/migration.constant.d.ts +0 -0
  266. /package/dist/{cjs/shared → shared}/constant/config/section.constant.d.ts +0 -0
  267. /package/dist/{cjs/shared → shared}/constant/crypto.constant.d.ts +0 -0
  268. /package/dist/{cjs/shared → shared}/constant/token.constant.d.ts +0 -0
  269. /package/dist/{cjs/shared → shared}/enum/environment.enum.d.ts +0 -0
  270. /package/dist/{cjs/shared → shared}/enum/instance-name.enum.d.ts +0 -0
  271. /package/dist/{cjs/shared → shared}/enum/service.enum.d.ts +0 -0
  272. /package/dist/{cjs/shared → shared}/interface/config/cache-options.interface.d.ts +0 -0
  273. /package/dist/{cjs/shared → shared}/interface/config/encryption-options.interface.d.ts +0 -0
  274. /package/dist/{cjs/shared → shared}/interface/config/entity/data-options.interface.d.ts +0 -0
  275. /package/dist/{cjs/shared → shared}/interface/config/entity/section-options.interface.d.ts +0 -0
  276. /package/dist/{cjs/shared → shared}/interface/utility/create-dynamic-entity/relation-options.interface.d.ts +0 -0
  277. /package/dist/{cjs/shared → shared}/type/dynamic-entity.type.d.ts +0 -0
package/README.md CHANGED
@@ -16,7 +16,7 @@
16
16
  - [Description](#-description)
17
17
  - [Features](#-features)
18
18
  - [Installation](#-installation)
19
- - [Migrating to 4.0](#migrating-to-40)
19
+ - [Migrating to 5.0](#migrating-to-50)
20
20
  - [Usage](#-usage)
21
21
  - [Migration System](#-migration-system)
22
22
  - [API Documentation](#-api-documentation)
@@ -55,31 +55,35 @@ Whether you're managing API keys across different environments, storing feature
55
55
 
56
56
  ## 🛠 Installation
57
57
 
58
- These docs describe the CrudConfig 4 contract. Use the 4.x-only range so the package manager cannot resolve an incompatible 3.x release:
58
+ These docs describe the CrudConfig 5 contract: Automator 5, NestJS 12, TypeORM 1, ES modules only. Use the 5.x range, which also accepts the 5.0.0 prereleases:
59
59
 
60
60
  ```bash
61
61
  # npm
62
- npm install @elsikora/nestjs-crud-config@^4.0.0-0
62
+ npm install @elsikora/nestjs-crud-config@^5.0.0-0
63
63
 
64
64
  # yarn
65
- yarn add @elsikora/nestjs-crud-config@^4.0.0-0
65
+ yarn add @elsikora/nestjs-crud-config@^5.0.0-0
66
66
 
67
67
  # pnpm
68
- pnpm add @elsikora/nestjs-crud-config@^4.0.0-0
68
+ pnpm add @elsikora/nestjs-crud-config@^5.0.0-0
69
69
  ```
70
70
 
71
71
  ### Prerequisites
72
72
 
73
- Install the required peer dependencies:
73
+ Node.js `^22.13.0 || >=24.11.0`. Install the required peer dependencies:
74
74
 
75
75
  ```bash
76
- npm install @elsikora/nestjs-crud-automator@^4.0.0-0 @nestjs/common@^11.1.24 @nestjs/core@^11.1.24 @nestjs/typeorm@^11.0.0 typeorm@^0.3.20
77
- npm install @nestjs/passport@^11.0.5 @nestjs/platform-fastify@11.1.24 @nestjs/swagger@11.4.2 @nestjs/throttler@^6.5.0 class-transformer@^0.5.1 class-validator@^0.15.1 fastify@^5.8.5 lodash@^4.18.1
76
+ npm install @elsikora/nestjs-crud-automator@^5.0.0-0 @nestjs/common@^12 @nestjs/core@^12 @nestjs/typeorm@^12 typeorm@^1
77
+ npm install @nestjs/passport@^12 @nestjs/platform-fastify@^12 @nestjs/swagger@^12 @nestjs/throttler class-transformer class-validator fastify lodash
78
78
  ```
79
79
 
80
- ### Automator 4 compatibility
80
+ The package ships as ES modules only. CommonJS applications keep `require("@elsikora/nestjs-crud-config")`, which Node.js loads through `require(esm)`. Importing the package loads no `.env` file: set `NCC_LOG_LEVEL` in the environment, or load `.env` in the application, for example with `ConfigModule.forRoot()`.
81
81
 
82
- CrudConfig 4 requires `@elsikora/nestjs-crud-automator >=4.0.0-0 <5.0.0`. Automator 3 is not supported.
82
+ ### Automator 5 compatibility
83
+
84
+ CrudConfig 5 requires `@elsikora/nestjs-crud-automator ^5.0.0-dev.5`. Automator 4 and older are not supported.
85
+
86
+ Generated routes run Automator's `ApiAuthorizationGuard`. When the section or data controllers are enabled, import Automator's global `ApiAuthorizationModule` once in the root module, as the examples below do; without it the application fails at startup with `Nest can't resolve dependencies of the ApiAuthorizationGuard`. Headless mode does not need it.
83
87
 
84
88
  Generated route overrides continue to use Automator generation config:
85
89
 
@@ -93,21 +97,19 @@ DELETE: {
93
97
 
94
98
  ConfigData `CREATE` and `UPDATE` use Automator nested request relation loading. The built-in section relation expects request bodies such as `{ "section": { "id": "section-uuid" } }`.
95
99
 
96
- CrudConfig creates each generated service through `createDynamicService()` and `@ApiService({ entity })`, so its inherited same-entity CRUD methods satisfy the Automator 4 generated-route capability boundary. Applications do not need a wrapper or compatibility layer.
97
-
98
- The tested Swagger baseline remains exact `11.4.2`. See [Migrating to 4.0](#migrating-to-40) for the compatibility change.
100
+ CrudConfig creates each generated service through `createDynamicService()` and `@ApiService({ entity })`, so its inherited same-entity CRUD methods satisfy the Automator generated-route capability boundary. Applications do not need a wrapper or compatibility layer.
99
101
 
100
- ### Migrating to 4.0
102
+ ### Migrating to 5.0
101
103
 
102
- CrudConfig 4 removes Automator 3 compatibility. The CrudConfig runtime contract is otherwise unchanged:
104
+ CrudConfig 5 moves to the latest majors and ships as ES modules only. The CrudConfig runtime contract is otherwise unchanged:
103
105
 
104
- - generated routes keep the same paths, payloads, and `generation.isEnabled` options;
105
- - ConfigData relation input remains `{ "section": { "id": "section-uuid" } }`;
106
- - transaction ownership and `eventManager` join behavior remain unchanged;
107
- - the database schema, duplicate mapping, and EventEmitter-free runtime remain unchanged;
108
- - no consumer wrapper or legacy compatibility wiring is introduced.
106
+ - peers move to Automator 5, NestJS 12, Swagger 12, `@nestjs/typeorm` 12 and TypeORM 1; Node.js `^22.13.0 || >=24.11.0`;
107
+ - the build is ESM only: `dist/esm`, `dist/cjs` and the `require` export condition are gone, CommonJS applications load the package through `require(esm)`;
108
+ - the `@nestjs/cache-manager` dependency moves to 12, so `npm ci` no longer fails with `ERESOLVE` on NestJS 12;
109
+ - the package no longer imports `dotenv/config`: it never loads `.env`, and `NCC_LOG_LEVEL` comes from the application's environment;
110
+ - module options, `CrudConfigService`, generated routes, the database schema and transaction ownership do not change.
109
111
 
110
- See the complete [4.0 migration guide](docs/guides/migrating-to-4-0/page.mdx). The [3.0 migration guide](docs/guides/migrating-to-3-0/page.mdx) remains available for applications upgrading from CrudConfig 2.
112
+ See the complete [5.0 migration guide](docs/guides/migrating-to-5-0/page.mdx). The [4.0](docs/guides/migrating-to-4-0/page.mdx) and [3.0](docs/guides/migrating-to-3-0/page.mdx) migration guides remain available for older upgrades.
111
113
 
112
114
  ### Database Support
113
115
 
@@ -115,7 +117,7 @@ This package works with any database supported by TypeORM:
115
117
 
116
118
  - PostgreSQL
117
119
  - MySQL/MariaDB
118
- - SQLite
120
+ - SQLite (through the `better-sqlite3` driver; TypeORM 1 removes `sqlite`)
119
121
  - Microsoft SQL Server
120
122
  - Oracle
121
123
  - MongoDB
@@ -129,10 +131,13 @@ This package works with any database supported by TypeORM:
129
131
  // app.module.ts
130
132
  import { Module } from "@nestjs/common";
131
133
  import { TypeOrmModule } from "@nestjs/typeorm";
134
+ import { ApiAuthorizationModule } from "@elsikora/nestjs-crud-automator";
132
135
  import { CrudConfigModule, TOKEN_CONSTANT } from "@elsikora/nestjs-crud-config";
133
136
 
134
137
  @Module({
135
138
  imports: [
139
+ // Automator's generated routes run ApiAuthorizationGuard; import this global module once in the root module
140
+ ApiAuthorizationModule,
136
141
  // First register CrudConfigModule to create dynamic entities
137
142
  CrudConfigModule.register({
138
143
  environment: "development",
@@ -170,7 +175,7 @@ import { CrudConfigModule, TOKEN_CONSTANT } from "@elsikora/nestjs-crud-config";
170
175
  // Entity customization
171
176
  entityOptions: {
172
177
  tablePrefix: "app_",
173
- timestampColumnType: "timestamptz", // PostgreSQL; defaults to "timestamp"
178
+ timestampColumnType: "timestamptz", // PostgreSQL; defaults to Date, the timestamp type of the driver
174
179
  configSection: {
175
180
  tableName: "config_sections",
176
181
  maxNameLength: 128,
@@ -279,10 +284,12 @@ When using `registerAsync()`, static options like controllers and entity configu
279
284
  // app.module.ts
280
285
  import { Module } from "@nestjs/common";
281
286
  import { ConfigModule, ConfigService } from "@nestjs/config";
287
+ import { ApiAuthorizationModule } from "@elsikora/nestjs-crud-automator";
282
288
  import { CrudConfigModule } from "@elsikora/nestjs-crud-config";
283
289
 
284
290
  @Module({
285
291
  imports: [
292
+ ApiAuthorizationModule,
286
293
  ConfigModule.forRoot(),
287
294
  CrudConfigModule.registerAsync({
288
295
  imports: [ConfigModule],
@@ -772,7 +779,7 @@ CrudConfigModule.register({
772
779
  });
773
780
  ```
774
781
 
775
- Automator 4 route options use `generation.isEnabled` for route generation. Relation loading uses TypeORM `relationLoadStrategy` values (`"query"` or `"join"`); the built-in ConfigData section relation uses `"query"`.
782
+ Automator route options use `generation.isEnabled` for route generation. Relation loading uses TypeORM `relationLoadStrategy` values (`"query"` or `"join"`); the built-in ConfigData section relation uses `"query"`.
776
783
 
777
784
  ## 🗄️ Database Schema
778
785
 
@@ -932,7 +939,7 @@ The module supports any database that TypeORM supports, including:
932
939
 
933
940
  - **PostgreSQL** - Recommended for production
934
941
  - **MySQL/MariaDB** - Popular choice for web applications
935
- - **SQLite** - Perfect for development and testing
942
+ - **SQLite** - Perfect for development and testing (TypeORM 1 driver `better-sqlite3`)
936
943
  - **Microsoft SQL Server** - Enterprise database support
937
944
  - **Oracle** - Enterprise-grade database
938
945
  - **MongoDB** - NoSQL document database
@@ -1017,7 +1024,7 @@ CrudConfigModule.register({
1017
1024
  });
1018
1025
  ```
1019
1026
 
1020
- `timestampColumnType` applies to all nine temporal columns in the section, data, and migration entities. It defaults to `"timestamp"`; choose a TypeORM `ColumnType` supported by your database driver, such as `"timestamptz"` for PostgreSQL or `"datetime"` for SQL.js/SQLite. Changing it for an existing database still requires the corresponding schema migration.
1027
+ `timestampColumnType` applies to all nine temporal columns in the section, data, and migration entities. It defaults to `Date`, which TypeORM maps to the timestamp type of each driver: `timestamp` on PostgreSQL and `datetime` on MySQL, MariaDB, SQLite (`better-sqlite3`) and SQL.js, so the default entities work on every one of them. Set a driver-specific type, such as `"timestamptz"` for PostgreSQL, only when the application needs it. Changing it for an existing database still requires the corresponding schema migration.
1021
1028
 
1022
1029
  ### What happens if the database is unavailable?
1023
1030
 
@@ -36,4 +36,3 @@ typeof SuppressedError === "function" ? SuppressedError : function (error, suppr
36
36
  };
37
37
 
38
38
  export { __decorate, __metadata, __param };
39
- //# sourceMappingURL=tslib.es6.js.map
@@ -7,5 +7,5 @@
7
7
  * configuration values from a database.
8
8
  * @module nestjs-crud-config
9
9
  */
10
- export * from './modules';
11
- export * from './shared';
10
+ export * from './modules/index.js';
11
+ export * from './shared/index.js';
@@ -9,6 +9,7 @@ export { ConfigMigrationService } from './modules/config/migration/migration.ser
9
9
  export { createConfigSectionEntity } from './modules/config/section/entity/entity.js';
10
10
  export { API_PROPERTY_CONSTANT } from './shared/constant/api-property.constant.js';
11
11
  export { CONFIG_DATA_CONSTANT } from './shared/constant/config/data.constant.js';
12
+ export { CONFIG_ENTITY_CONSTANT } from './shared/constant/config/entity.constant.js';
12
13
  export { CONFIG_MIGRATION_CONSTANT } from './shared/constant/config/migration.constant.js';
13
14
  export { CONFIG_SECTION_CONSTANT } from './shared/constant/config/section.constant.js';
14
15
  export { CRYPTO_CONSTANT } from './shared/constant/crypto.constant.js';
@@ -20,4 +21,3 @@ export { createDynamicEntityClass, createDynamicEntityClass as createDynamicEnti
20
21
  export { createDynamicService } from './shared/utility/create-dynamic/service.utility.js';
21
22
  export { CryptoUtility } from './shared/utility/crypto.utility.js';
22
23
  export { LoggerUtility } from './shared/utility/logger.utility.js';
23
- //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- import { IConfigOptions, ICrudConfigAsyncModuleProperties } from '../../shared/interface/config';
1
+ import { IConfigOptions, ICrudConfigAsyncModuleProperties } from '../../shared/interface/config/index.js';
2
2
  import { DynamicModule } from '@nestjs/common';
3
3
  export declare class CrudConfigModule {
4
4
  static register(options: IConfigOptions): DynamicModule;
@@ -11,6 +11,7 @@ import { CacheModule } from '@nestjs/cache-manager';
11
11
  import { Global, Module } from '@nestjs/common';
12
12
  import { getRepositoryToken, getDataSourceToken } from '@nestjs/typeorm';
13
13
  import { CONFIG_DATA_CONSTANT } from '../../shared/constant/config/data.constant.js';
14
+ import { CONFIG_ENTITY_CONSTANT } from '../../shared/constant/config/entity.constant.js';
14
15
  import { CONFIG_MIGRATION_CONSTANT } from '../../shared/constant/config/migration.constant.js';
15
16
  import { CONFIG_SECTION_CONSTANT } from '../../shared/constant/config/section.constant.js';
16
17
  import { TOKEN_CONSTANT } from '../../shared/constant/token.constant.js';
@@ -24,7 +25,8 @@ var CrudConfigModule_1;
24
25
  let CrudConfigModule = CrudConfigModule_1 = class CrudConfigModule {
25
26
  static register(options) {
26
27
  const prefix = options.entityOptions?.tablePrefix ?? "";
27
- const timestampColumnType = options.entityOptions?.timestampColumnType ?? "timestamp";
28
+ const timestampColumnType = options.entityOptions?.timestampColumnType ??
29
+ CONFIG_ENTITY_CONSTANT.DEFAULT_TIMESTAMP_COLUMN_TYPE;
28
30
  const sectionEntity = createConfigSectionEntity({
29
31
  maxDescriptionLength: options.entityOptions?.configSection?.maxDescriptionLength ??
30
32
  CONFIG_SECTION_CONSTANT.MAX_DESCRIPTION_LENGTH,
@@ -183,7 +185,7 @@ let CrudConfigModule = CrudConfigModule_1 = class CrudConfigModule {
183
185
  static registerAsync(properties) {
184
186
  const staticEntityOptions = properties.staticOptions?.entityOptions;
185
187
  const prefix = staticEntityOptions?.tablePrefix ?? "";
186
- const timestampColumnType = staticEntityOptions?.timestampColumnType ?? "timestamp";
188
+ const timestampColumnType = staticEntityOptions?.timestampColumnType ?? CONFIG_ENTITY_CONSTANT.DEFAULT_TIMESTAMP_COLUMN_TYPE;
187
189
  const sectionEntity = createConfigSectionEntity({
188
190
  maxDescriptionLength: staticEntityOptions?.configSection?.maxDescriptionLength ??
189
191
  CONFIG_SECTION_CONSTANT.MAX_DESCRIPTION_LENGTH,
@@ -318,4 +320,3 @@ CrudConfigModule = CrudConfigModule_1 = __decorate([
318
320
  ], CrudConfigModule);
319
321
 
320
322
  export { CrudConfigModule };
321
- //# sourceMappingURL=config.module.js.map
@@ -1,11 +1,11 @@
1
- import { IConfigData } from './data';
2
- import { IConfigSection } from './section';
3
- import { IConfigOptions } from '../../shared/interface/config';
1
+ import { IConfigData } from './data/index.js';
2
+ import { IConfigSection } from './section/index.js';
3
+ import { IConfigOptions } from '../../shared/interface/config/index.js';
4
4
  import { Cache } from 'cache-manager';
5
5
  import { ApiServiceBase } from '@elsikora/nestjs-crud-automator';
6
- import { CryptoUtility } from '../../shared/utility';
6
+ import { CryptoUtility } from '../../shared/utility/index.js';
7
7
  import { DataSource } from 'typeorm';
8
- import { IConfigDeleteOptions, IConfigGetListOptions, IConfigGetOptions, IConfigSetOptions } from './interface';
8
+ import { IConfigDeleteOptions, IConfigGetListOptions, IConfigGetOptions, IConfigSetOptions } from './interface/index.js';
9
9
  /**
10
10
  * Service for managing configuration data with caching support
11
11
  * Provides methods to retrieve configuration values with optional decryption
@@ -312,4 +312,3 @@ CrudConfigService = __decorate([
312
312
  ], CrudConfigService);
313
313
 
314
314
  export { CrudConfigService };
315
- //# sourceMappingURL=config.service.js.map
@@ -1,7 +1,7 @@
1
- import { IConfigData } from '.';
2
- import { Type } from '@nestjs/common/interfaces';
3
- import { IConfigControllerOptions } from '../../../shared/interface/config';
4
- import { TDynamicEntity } from '../../../shared/type';
1
+ import { IConfigData } from './index.js';
2
+ import { Type } from '@nestjs/common';
3
+ import { IConfigControllerOptions } from '../../../shared/interface/config/index.js';
4
+ import { TDynamicEntity } from '../../../shared/type/index.js';
5
5
  /**
6
6
  * Factory to create dynamic ConfigData controller with the correct entity
7
7
  * @param {TDynamicEntity} entity The entity type to create controller for
@@ -119,4 +119,3 @@ function createDynamicDataController(entity, options) {
119
119
  }
120
120
 
121
121
  export { createDynamicDataController };
122
- //# sourceMappingURL=controller.js.map
@@ -1,7 +1,7 @@
1
- import { IConfigSection } from '../../section';
2
- import { TDynamicEntity } from '../../../../shared/type';
1
+ import { IConfigSection } from '../../section/index.js';
2
+ import { TDynamicEntity } from '../../../../shared/type/index.js';
3
3
  import { ColumnType } from 'typeorm';
4
- import { IConfigData } from '../interface';
4
+ import { IConfigData } from '../interface/index.js';
5
5
  /**
6
6
  * Creates a dynamic ConfigData entity with TypeORM decorators
7
7
  * @param {object} options - Configuration options for the entity
@@ -11,7 +11,7 @@ import { IConfigData } from '../interface';
11
11
  * @param {number} options.maxNameLength - Maximum length for name field
12
12
  * @param {number} options.maxValueLength - Maximum length for value field
13
13
  * @param {string} options.tableName - Name of the database table
14
- * @param {ColumnType} [options.timestampColumnType] - TypeORM type for timestamp fields; defaults to `timestamp`
14
+ * @param {ColumnType} [options.timestampColumnType] - TypeORM type for timestamp fields; defaults to `Date`, the timestamp type of the driver
15
15
  * @returns {TDynamicEntity} Dynamically created ConfigData entity class
16
16
  */
17
17
  export declare function createConfigDataEntity(options: {
@@ -1,5 +1,6 @@
1
1
  import { ApiPropertyDescribe, EApiPropertyDescribeType, EApiPropertyStringType, EApiPropertyDateIdentifier, EApiPropertyDateType } from '@elsikora/nestjs-crud-automator';
2
2
  import { API_PROPERTY_CONSTANT } from '../../../../shared/constant/api-property.constant.js';
3
+ import { CONFIG_ENTITY_CONSTANT } from '../../../../shared/constant/config/entity.constant.js';
3
4
  import { createDynamicEntityClass } from '../../../../shared/utility/create-dynamic/entity.utility.js';
4
5
  import '../../../../external/tslib/tslib.es6.js';
5
6
  import '@nestjs/common';
@@ -17,11 +18,11 @@ import '../../../../shared/utility/logger.utility.js';
17
18
  * @param {number} options.maxNameLength - Maximum length for name field
18
19
  * @param {number} options.maxValueLength - Maximum length for value field
19
20
  * @param {string} options.tableName - Name of the database table
20
- * @param {ColumnType} [options.timestampColumnType] - TypeORM type for timestamp fields; defaults to `timestamp`
21
+ * @param {ColumnType} [options.timestampColumnType] - TypeORM type for timestamp fields; defaults to `Date`, the timestamp type of the driver
21
22
  * @returns {TDynamicEntity} Dynamically created ConfigData entity class
22
23
  */
23
24
  function createConfigDataEntity(options) {
24
- const timestampColumnType = options.timestampColumnType ?? "timestamp";
25
+ const timestampColumnType = options.timestampColumnType ?? CONFIG_ENTITY_CONSTANT.DEFAULT_TIMESTAMP_COLUMN_TYPE;
25
26
  return createDynamicEntityClass({
26
27
  columns: {
27
28
  createdAt: {
@@ -156,4 +157,3 @@ function createConfigDataEntity(options) {
156
157
  }
157
158
 
158
159
  export { createConfigDataEntity };
159
- //# sourceMappingURL=entity.js.map
@@ -0,0 +1 @@
1
+ export { createConfigDataEntity } from './entity.js';
@@ -0,0 +1,3 @@
1
+ export * from './controller.js';
2
+ export * from './entity/index.js';
3
+ export type * from './interface/index.js';
@@ -0,0 +1 @@
1
+ export type { IConfigData } from './interface.js';
@@ -1,5 +1,5 @@
1
1
  import { IApiBaseEntity } from '@elsikora/nestjs-crud-automator';
2
- import { IConfigSection } from '../../section';
2
+ import { IConfigSection } from '../../section/index.js';
3
3
  export interface IConfigData extends IApiBaseEntity {
4
4
  createdAt: Date;
5
5
  description: string;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * CRUD Configuration Module for NestJS.
3
+ * Exports the module, service, and related interfaces.
4
+ */
5
+ export { CrudConfigModule } from './config.module.js';
6
+ export { CrudConfigService } from './config.service.js';
7
+ export * from './data/index.js';
8
+ export type * from './interface/index.js';
9
+ export * from './migration/index.js';
10
+ export * from './section/index.js';
11
+ export type * from './type/index.js';
@@ -0,0 +1,4 @@
1
+ export { type IConfigDeleteOptions } from './delete-options.interface.js';
2
+ export { type IConfigGetListOptions } from './get-list-options.interface.js';
3
+ export { type IConfigGetOptions } from './get-options.interface.js';
4
+ export { type IConfigSetOptions } from './set-options.interface.js';
@@ -1,12 +1,12 @@
1
- import { TDynamicEntity } from '../../../../shared/type';
1
+ import { TDynamicEntity } from '../../../../shared/type/index.js';
2
2
  import { ColumnType } from 'typeorm';
3
- import { IConfigMigration } from '../interface';
3
+ import { IConfigMigration } from '../interface/index.js';
4
4
  /**
5
5
  * Creates a dynamic ConfigMigration entity with TypeORM decorators
6
6
  * @param {object} options - Configuration options for the entity
7
7
  * @param {number} options.maxNameLength - Maximum length for migration name field
8
8
  * @param {string} options.tableName - Name of the database table
9
- * @param {ColumnType} [options.timestampColumnType] - TypeORM type for timestamp fields; defaults to `timestamp`
9
+ * @param {ColumnType} [options.timestampColumnType] - TypeORM type for timestamp fields; defaults to `Date`, the timestamp type of the driver
10
10
  * @returns {TDynamicEntity} Dynamically created ConfigMigration entity class
11
11
  */
12
12
  export declare function createConfigMigrationEntity(options: {
@@ -1,5 +1,6 @@
1
1
  import { ApiPropertyDescribe, EApiPropertyDescribeType, EApiPropertyDateIdentifier, EApiPropertyDateType, EApiPropertyStringType } from '@elsikora/nestjs-crud-automator';
2
2
  import { API_PROPERTY_CONSTANT } from '../../../../shared/constant/api-property.constant.js';
3
+ import { CONFIG_ENTITY_CONSTANT } from '../../../../shared/constant/config/entity.constant.js';
3
4
  import { CONFIG_MIGRATION_CONSTANT } from '../../../../shared/constant/config/migration.constant.js';
4
5
  import { createDynamicEntityClass } from '../../../../shared/utility/create-dynamic/entity.utility.js';
5
6
  import '../../../../external/tslib/tslib.es6.js';
@@ -14,11 +15,11 @@ import '../../../../shared/utility/logger.utility.js';
14
15
  * @param {object} options - Configuration options for the entity
15
16
  * @param {number} options.maxNameLength - Maximum length for migration name field
16
17
  * @param {string} options.tableName - Name of the database table
17
- * @param {ColumnType} [options.timestampColumnType] - TypeORM type for timestamp fields; defaults to `timestamp`
18
+ * @param {ColumnType} [options.timestampColumnType] - TypeORM type for timestamp fields; defaults to `Date`, the timestamp type of the driver
18
19
  * @returns {TDynamicEntity} Dynamically created ConfigMigration entity class
19
20
  */
20
21
  function createConfigMigrationEntity(options) {
21
- const timestampColumnType = options.timestampColumnType ?? "timestamp";
22
+ const timestampColumnType = options.timestampColumnType ?? CONFIG_ENTITY_CONSTANT.DEFAULT_TIMESTAMP_COLUMN_TYPE;
22
23
  return createDynamicEntityClass({
23
24
  columns: {
24
25
  createdAt: {
@@ -47,7 +48,7 @@ function createConfigMigrationEntity(options) {
47
48
  default: "PENDING",
48
49
  enum: ["PENDING", "RUNNING", "COMPLETED", "FAILED", "STUCK"],
49
50
  nullable: false,
50
- type: "enum",
51
+ type: "simple-enum",
51
52
  },
52
53
  updatedAt: {
53
54
  default: () => "CURRENT_TIMESTAMP",
@@ -136,4 +137,3 @@ function createConfigMigrationEntity(options) {
136
137
  }
137
138
 
138
139
  export { createConfigMigrationEntity };
139
- //# sourceMappingURL=entity.js.map
@@ -0,0 +1 @@
1
+ export { createConfigMigrationEntity } from './entity.js';
@@ -0,0 +1 @@
1
+ export { EConfigMigrationStatus } from './status.js';
@@ -8,4 +8,3 @@ var EConfigMigrationStatus;
8
8
  })(EConfigMigrationStatus || (EConfigMigrationStatus = {}));
9
9
 
10
10
  export { EConfigMigrationStatus };
11
- //# sourceMappingURL=status.js.map
@@ -0,0 +1,5 @@
1
+ export * from './entity/index.js';
2
+ export * from './enum/index.js';
3
+ export type * from './interface/index.js';
4
+ export { ConfigMigrationRunnerService } from './migration-runner.service.js';
5
+ export { ConfigMigrationService } from './migration.service.js';
@@ -1,3 +1,3 @@
1
- export type { IConfigMigration } from './interface';
2
- export type { IConfigMigrationDefinition } from './migration-definition.interface';
3
- export type { IConfigMigrationOptions } from './migration-options.interface';
1
+ export type { IConfigMigration } from './interface.js';
2
+ export type { IConfigMigrationDefinition } from './migration-definition.interface.js';
3
+ export type { IConfigMigrationOptions } from './migration-options.interface.js';
@@ -1,5 +1,5 @@
1
1
  import { IApiBaseEntity } from '@elsikora/nestjs-crud-automator';
2
- import { EConfigMigrationStatus } from '../enum';
2
+ import { EConfigMigrationStatus } from '../enum/index.js';
3
3
  export interface IConfigMigration extends IApiBaseEntity {
4
4
  createdAt: Date;
5
5
  executedAt?: Date;
@@ -1,4 +1,4 @@
1
- import { CrudConfigService } from '../../config.service';
1
+ import { CrudConfigService } from '../../config.service.js';
2
2
  import { EntityManager } from 'typeorm';
3
3
  /**
4
4
  * Interface for defining a migration
@@ -1,4 +1,4 @@
1
- import { IConfigMigrationDefinition } from './migration-definition.interface';
1
+ import { IConfigMigrationDefinition } from './migration-definition.interface.js';
2
2
  /**
3
3
  * Interface for migration configuration options
4
4
  * @see {@link https://elsikora.com/docs/nestjs-crud-config/migration-system | Migration System}
@@ -1,7 +1,7 @@
1
- import { IConfigOptions } from '../../../shared/interface/config';
1
+ import { IConfigOptions } from '../../../shared/interface/config/index.js';
2
2
  import { EntityManager } from 'typeorm';
3
3
  import { OnApplicationBootstrap } from '@nestjs/common';
4
- import { ConfigMigrationService } from './migration.service';
4
+ import { ConfigMigrationService } from './migration.service.js';
5
5
  /**
6
6
  * Service that runs migrations on application startup
7
7
  * @see {@link https://elsikora.com/docs/nestjs-crud-config/migration-system | Migration System}
@@ -90,4 +90,3 @@ ConfigMigrationRunnerService = __decorate([
90
90
  ], ConfigMigrationRunnerService);
91
91
 
92
92
  export { ConfigMigrationRunnerService };
93
- //# sourceMappingURL=migration-runner.service.js.map
@@ -1,7 +1,7 @@
1
1
  import { ApiServiceBase } from '@elsikora/nestjs-crud-automator';
2
- import { IConfigOptions } from '../../../shared/interface/config';
3
- import { IConfigMigration, IConfigMigrationDefinition } from './interface';
4
- import { CrudConfigService } from '../config.service';
2
+ import { IConfigOptions } from '../../../shared/interface/config/index.js';
3
+ import { IConfigMigration, IConfigMigrationDefinition } from './interface/index.js';
4
+ import { CrudConfigService } from '../config.service.js';
5
5
  import { OnModuleInit } from '@nestjs/common';
6
6
  import { DataSource, EntityManager } from 'typeorm';
7
7
  /**
@@ -1,23 +1,25 @@
1
1
  import { __decorate, __param, __metadata } from '../../../external/tslib/tslib.es6.js';
2
2
  import { ApiFunctionTransactionScope } from '@elsikora/nestjs-crud-automator';
3
3
  import { CrudConfigService } from '../config.service.js';
4
- import { Injectable, Inject, Logger } from '@nestjs/common';
4
+ import { Injectable, Inject } from '@nestjs/common';
5
5
  import { CONFIG_MIGRATION_CONSTANT } from '../../../shared/constant/config/migration.constant.js';
6
6
  import { TOKEN_CONSTANT } from '../../../shared/constant/token.constant.js';
7
7
  import { DataSource } from 'typeorm';
8
+ import '@nestjs/typeorm';
9
+ import '../../../shared/utility/crypto.utility.js';
10
+ import { LoggerUtility } from '../../../shared/utility/logger.utility.js';
8
11
  import { EConfigMigrationStatus } from './enum/status.js';
9
12
 
10
- var ConfigMigrationService_1;
11
13
  /**
12
14
  * Service responsible for coordinating and tracking execution of migrations.
13
15
  * @see {@link https://elsikora.com/docs/nestjs-crud-config/migration-system | Migration System}
14
16
  * @see {@link https://elsikora.com/docs/nestjs-crud-config/api-reference/classes/config-migration-service | API Reference - ConfigMigrationService}
15
17
  */
16
- let ConfigMigrationService = ConfigMigrationService_1 = class ConfigMigrationService {
18
+ let ConfigMigrationService = class ConfigMigrationService {
17
19
  dataSource;
18
20
  options;
19
21
  configService;
20
- LOGGER = new Logger(ConfigMigrationService_1.name);
22
+ LOGGER = LoggerUtility.getLogger("ConfigMigrationService");
21
23
  MIGRATION_SERVICE;
22
24
  constructor(dataSource, options, configService, migrationService) {
23
25
  this.dataSource = dataSource;
@@ -325,11 +327,8 @@ let ConfigMigrationService = ConfigMigrationService_1 = class ConfigMigrationSer
325
327
  }
326
328
  async runWithOwnerManager(ownerManager, callback) {
327
329
  const queryRunner = ownerManager.queryRunner;
328
- if (
329
- // eslint-disable-next-line @elsikora/sonar/deprecation -- The supported TypeORM 0.3 peer exposes DataSource identity as connection.
330
- ownerManager.connection !== this.dataSource ||
331
- // eslint-disable-next-line @elsikora/sonar/deprecation -- The supported TypeORM 0.3 QueryRunner exposes DataSource identity as connection.
332
- queryRunner?.connection !== this.dataSource ||
330
+ if (ownerManager.dataSource !== this.dataSource ||
331
+ queryRunner?.dataSource !== this.dataSource ||
333
332
  queryRunner.manager !== ownerManager ||
334
333
  !queryRunner.isTransactionActive ||
335
334
  queryRunner.isReleased) {
@@ -365,7 +364,7 @@ let ConfigMigrationService = ConfigMigrationService_1 = class ConfigMigrationSer
365
364
  }
366
365
  }
367
366
  };
368
- ConfigMigrationService = ConfigMigrationService_1 = __decorate([
367
+ ConfigMigrationService = __decorate([
369
368
  Injectable(),
370
369
  __param(0, Inject(DataSource)),
371
370
  __param(1, Inject(TOKEN_CONSTANT.CONFIG_OPTIONS)),
@@ -374,4 +373,3 @@ ConfigMigrationService = ConfigMigrationService_1 = __decorate([
374
373
  ], ConfigMigrationService);
375
374
 
376
375
  export { ConfigMigrationService };
377
- //# sourceMappingURL=migration.service.js.map
@@ -1,7 +1,7 @@
1
- import { IConfigSection } from '.';
2
- import { Type } from '@nestjs/common/interfaces';
3
- import { IConfigControllerOptions } from '../../../shared/interface/config';
4
- import { TDynamicEntity } from '../../../shared/type';
1
+ import { IConfigSection } from './index.js';
2
+ import { Type } from '@nestjs/common';
3
+ import { IConfigControllerOptions } from '../../../shared/interface/config/index.js';
4
+ import { TDynamicEntity } from '../../../shared/type/index.js';
5
5
  /**
6
6
  * Factory to create dynamic ConfigSection controller with the correct entity
7
7
  * @param {TDynamicEntity} entity The entity type to create controller for
@@ -81,4 +81,3 @@ function createDynamicSectionController(entity, options) {
81
81
  }
82
82
 
83
83
  export { createDynamicSectionController };
84
- //# sourceMappingURL=controller.js.map
@@ -1,13 +1,13 @@
1
- import { TDynamicEntity } from '../../../../shared/type';
1
+ import { TDynamicEntity } from '../../../../shared/type/index.js';
2
2
  import { ColumnType } from 'typeorm';
3
- import { IConfigSection } from '../interface';
3
+ import { IConfigSection } from '../interface/index.js';
4
4
  /**
5
5
  * Creates a dynamic ConfigSection entity with TypeORM decorators
6
6
  * @param {object} options - Configuration options for the entity
7
7
  * @param {number} options.maxDescriptionLength - Maximum length for description field
8
8
  * @param {number} options.maxNameLength - Maximum length for name field
9
9
  * @param {string} options.tableName - Name of the database table
10
- * @param {ColumnType} [options.timestampColumnType] - TypeORM type for timestamp fields; defaults to `timestamp`
10
+ * @param {ColumnType} [options.timestampColumnType] - TypeORM type for timestamp fields; defaults to `Date`, the timestamp type of the driver
11
11
  * @returns {TDynamicEntity} Dynamically created ConfigSection entity class
12
12
  */
13
13
  export declare function createConfigSectionEntity(options: {
@@ -1,5 +1,6 @@
1
1
  import { ApiPropertyDescribe, EApiPropertyDescribeType, EApiPropertyDateIdentifier, EApiPropertyDateType, EApiPropertyStringType } from '@elsikora/nestjs-crud-automator';
2
2
  import { API_PROPERTY_CONSTANT } from '../../../../shared/constant/api-property.constant.js';
3
+ import { CONFIG_ENTITY_CONSTANT } from '../../../../shared/constant/config/entity.constant.js';
3
4
  import { createDynamicEntityClass } from '../../../../shared/utility/create-dynamic/entity.utility.js';
4
5
  import '../../../../external/tslib/tslib.es6.js';
5
6
  import '@nestjs/common';
@@ -14,11 +15,11 @@ import '../../../../shared/utility/logger.utility.js';
14
15
  * @param {number} options.maxDescriptionLength - Maximum length for description field
15
16
  * @param {number} options.maxNameLength - Maximum length for name field
16
17
  * @param {string} options.tableName - Name of the database table
17
- * @param {ColumnType} [options.timestampColumnType] - TypeORM type for timestamp fields; defaults to `timestamp`
18
+ * @param {ColumnType} [options.timestampColumnType] - TypeORM type for timestamp fields; defaults to `Date`, the timestamp type of the driver
18
19
  * @returns {TDynamicEntity} Dynamically created ConfigSection entity class
19
20
  */
20
21
  function createConfigSectionEntity(options) {
21
- const timestampColumnType = options.timestampColumnType ?? "timestamp";
22
+ const timestampColumnType = options.timestampColumnType ?? CONFIG_ENTITY_CONSTANT.DEFAULT_TIMESTAMP_COLUMN_TYPE;
22
23
  return createDynamicEntityClass({
23
24
  columns: {
24
25
  createdAt: {
@@ -94,4 +95,3 @@ function createConfigSectionEntity(options) {
94
95
  }
95
96
 
96
97
  export { createConfigSectionEntity };
97
- //# sourceMappingURL=entity.js.map
@@ -0,0 +1 @@
1
+ export { createConfigSectionEntity } from './entity.js';