@wisemen/nestjs-custom-fields 0.0.0 → 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (337) hide show
  1. package/LICENSE.md +59 -0
  2. package/README.md +279 -0
  3. package/dist/custom-field-choice.d.ts +6 -0
  4. package/dist/custom-field-choice.js +2 -0
  5. package/dist/custom-field-choice.js.map +1 -0
  6. package/dist/custom-field-definition.d.ts +41 -0
  7. package/dist/custom-field-definition.js +2 -0
  8. package/dist/custom-field-definition.js.map +1 -0
  9. package/dist/custom-field-definition.uuid.d.ts +7 -0
  10. package/dist/custom-field-definition.uuid.js +4 -0
  11. package/dist/custom-field-definition.uuid.js.map +1 -0
  12. package/dist/custom-field-rules.d.ts +28 -0
  13. package/dist/custom-field-rules.js +2 -0
  14. package/dist/custom-field-rules.js.map +1 -0
  15. package/dist/custom-field-type-contract.d.ts +38 -0
  16. package/dist/custom-field-type-contract.js +2 -0
  17. package/dist/custom-field-type-contract.js.map +1 -0
  18. package/dist/custom-field-types/boolean/boolean.contract.d.ts +8 -0
  19. package/dist/custom-field-types/boolean/boolean.contract.js +2 -0
  20. package/dist/custom-field-types/boolean/boolean.contract.js.map +1 -0
  21. package/dist/custom-field-types/boolean/boolean.custom-field-definition.factory.unit.test.d.ts +1 -0
  22. package/dist/custom-field-types/boolean/boolean.custom-field-definition.factory.unit.test.js +21 -0
  23. package/dist/custom-field-types/boolean/boolean.custom-field-definition.factory.unit.test.js.map +1 -0
  24. package/dist/custom-field-types/boolean/boolean.custom-field-value.validator.d.ts +1 -0
  25. package/dist/custom-field-types/boolean/boolean.custom-field-value.validator.js +2 -0
  26. package/dist/custom-field-types/boolean/boolean.custom-field-value.validator.js.map +1 -0
  27. package/dist/custom-field-types/boolean/boolean.custom-field-value.validator.unit.test.d.ts +1 -0
  28. package/dist/custom-field-types/boolean/boolean.custom-field-value.validator.unit.test.js +24 -0
  29. package/dist/custom-field-types/boolean/boolean.custom-field-value.validator.unit.test.js.map +1 -0
  30. package/dist/custom-field-types/boolean/boolean.definition-validation.d.ts +7 -0
  31. package/dist/custom-field-types/boolean/boolean.definition-validation.js +10 -0
  32. package/dist/custom-field-types/boolean/boolean.definition-validation.js.map +1 -0
  33. package/dist/custom-field-types/boolean/boolean.dto.d.ts +9 -0
  34. package/dist/custom-field-types/boolean/boolean.dto.js +33 -0
  35. package/dist/custom-field-types/boolean/boolean.dto.js.map +1 -0
  36. package/dist/custom-field-types/boolean/boolean.rules.d.ts +5 -0
  37. package/dist/custom-field-types/boolean/boolean.rules.js +2 -0
  38. package/dist/custom-field-types/boolean/boolean.rules.js.map +1 -0
  39. package/dist/custom-field-types/boolean/boolean.value.d.ts +5 -0
  40. package/dist/custom-field-types/boolean/boolean.value.js +2 -0
  41. package/dist/custom-field-types/boolean/boolean.value.js.map +1 -0
  42. package/dist/custom-field-types/boolean/index.d.ts +6 -0
  43. package/dist/custom-field-types/boolean/index.js +7 -0
  44. package/dist/custom-field-types/boolean/index.js.map +1 -0
  45. package/dist/custom-field-types/date/date.contract.d.ts +12 -0
  46. package/dist/custom-field-types/date/date.contract.js +2 -0
  47. package/dist/custom-field-types/date/date.contract.js.map +1 -0
  48. package/dist/custom-field-types/date/date.custom-field-definition.factory.unit.test.d.ts +1 -0
  49. package/dist/custom-field-types/date/date.custom-field-definition.factory.unit.test.js +70 -0
  50. package/dist/custom-field-types/date/date.custom-field-definition.factory.unit.test.js.map +1 -0
  51. package/dist/custom-field-types/date/date.custom-field-value.validator.d.ts +6 -0
  52. package/dist/custom-field-types/date/date.custom-field-value.validator.js +14 -0
  53. package/dist/custom-field-types/date/date.custom-field-value.validator.js.map +1 -0
  54. package/dist/custom-field-types/date/date.custom-field-value.validator.unit.test.d.ts +1 -0
  55. package/dist/custom-field-types/date/date.custom-field-value.validator.unit.test.js +47 -0
  56. package/dist/custom-field-types/date/date.custom-field-value.validator.unit.test.js.map +1 -0
  57. package/dist/custom-field-types/date/date.definition-validation.d.ts +7 -0
  58. package/dist/custom-field-types/date/date.definition-validation.js +35 -0
  59. package/dist/custom-field-types/date/date.definition-validation.js.map +1 -0
  60. package/dist/custom-field-types/date/date.dto.d.ts +9 -0
  61. package/dist/custom-field-types/date/date.dto.js +34 -0
  62. package/dist/custom-field-types/date/date.dto.js.map +1 -0
  63. package/dist/custom-field-types/date/date.rules.d.ts +5 -0
  64. package/dist/custom-field-types/date/date.rules.js +2 -0
  65. package/dist/custom-field-types/date/date.rules.js.map +1 -0
  66. package/dist/custom-field-types/date/date.value.d.ts +5 -0
  67. package/dist/custom-field-types/date/date.value.js +2 -0
  68. package/dist/custom-field-types/date/date.value.js.map +1 -0
  69. package/dist/custom-field-types/date/index.d.ts +6 -0
  70. package/dist/custom-field-types/date/index.js +7 -0
  71. package/dist/custom-field-types/date/index.js.map +1 -0
  72. package/dist/custom-field-types/index.d.ts +9 -0
  73. package/dist/custom-field-types/index.js +10 -0
  74. package/dist/custom-field-types/index.js.map +1 -0
  75. package/dist/custom-field-types/monetary/index.d.ts +6 -0
  76. package/dist/custom-field-types/monetary/index.js +7 -0
  77. package/dist/custom-field-types/monetary/index.js.map +1 -0
  78. package/dist/custom-field-types/monetary/monetary.contract.d.ts +14 -0
  79. package/dist/custom-field-types/monetary/monetary.contract.js +2 -0
  80. package/dist/custom-field-types/monetary/monetary.contract.js.map +1 -0
  81. package/dist/custom-field-types/monetary/monetary.custom-field-definition.factory.unit.test.d.ts +1 -0
  82. package/dist/custom-field-types/monetary/monetary.custom-field-definition.factory.unit.test.js +98 -0
  83. package/dist/custom-field-types/monetary/monetary.custom-field-definition.factory.unit.test.js.map +1 -0
  84. package/dist/custom-field-types/monetary/monetary.custom-field-value.validator.d.ts +6 -0
  85. package/dist/custom-field-types/monetary/monetary.custom-field-value.validator.js +27 -0
  86. package/dist/custom-field-types/monetary/monetary.custom-field-value.validator.js.map +1 -0
  87. package/dist/custom-field-types/monetary/monetary.custom-field-value.validator.unit.test.d.ts +1 -0
  88. package/dist/custom-field-types/monetary/monetary.custom-field-value.validator.unit.test.js +130 -0
  89. package/dist/custom-field-types/monetary/monetary.custom-field-value.validator.unit.test.js.map +1 -0
  90. package/dist/custom-field-types/monetary/monetary.definition-validation.d.ts +7 -0
  91. package/dist/custom-field-types/monetary/monetary.definition-validation.js +25 -0
  92. package/dist/custom-field-types/monetary/monetary.definition-validation.js.map +1 -0
  93. package/dist/custom-field-types/monetary/monetary.dto.d.ts +10 -0
  94. package/dist/custom-field-types/monetary/monetary.dto.js +34 -0
  95. package/dist/custom-field-types/monetary/monetary.dto.js.map +1 -0
  96. package/dist/custom-field-types/monetary/monetary.rules.d.ts +5 -0
  97. package/dist/custom-field-types/monetary/monetary.rules.js +2 -0
  98. package/dist/custom-field-types/monetary/monetary.rules.js.map +1 -0
  99. package/dist/custom-field-types/monetary/monetary.value.d.ts +5 -0
  100. package/dist/custom-field-types/monetary/monetary.value.js +2 -0
  101. package/dist/custom-field-types/monetary/monetary.value.js.map +1 -0
  102. package/dist/custom-field-types/multi-select/index.d.ts +6 -0
  103. package/dist/custom-field-types/multi-select/index.js +7 -0
  104. package/dist/custom-field-types/multi-select/index.js.map +1 -0
  105. package/dist/custom-field-types/multi-select/multi-select.contract.d.ts +11 -0
  106. package/dist/custom-field-types/multi-select/multi-select.contract.js +2 -0
  107. package/dist/custom-field-types/multi-select/multi-select.contract.js.map +1 -0
  108. package/dist/custom-field-types/multi-select/multi-select.custom-field-definition.factory.unit.test.d.ts +1 -0
  109. package/dist/custom-field-types/multi-select/multi-select.custom-field-definition.factory.unit.test.js +169 -0
  110. package/dist/custom-field-types/multi-select/multi-select.custom-field-definition.factory.unit.test.js.map +1 -0
  111. package/dist/custom-field-types/multi-select/multi-select.custom-field-value.validator.d.ts +5 -0
  112. package/dist/custom-field-types/multi-select/multi-select.custom-field-value.validator.js +25 -0
  113. package/dist/custom-field-types/multi-select/multi-select.custom-field-value.validator.js.map +1 -0
  114. package/dist/custom-field-types/multi-select/multi-select.custom-field-value.validator.unit.test.d.ts +1 -0
  115. package/dist/custom-field-types/multi-select/multi-select.custom-field-value.validator.unit.test.js +122 -0
  116. package/dist/custom-field-types/multi-select/multi-select.custom-field-value.validator.unit.test.js.map +1 -0
  117. package/dist/custom-field-types/multi-select/multi-select.definition-validation.d.ts +7 -0
  118. package/dist/custom-field-types/multi-select/multi-select.definition-validation.js +45 -0
  119. package/dist/custom-field-types/multi-select/multi-select.definition-validation.js.map +1 -0
  120. package/dist/custom-field-types/multi-select/multi-select.dto.d.ts +9 -0
  121. package/dist/custom-field-types/multi-select/multi-select.dto.js +36 -0
  122. package/dist/custom-field-types/multi-select/multi-select.dto.js.map +1 -0
  123. package/dist/custom-field-types/multi-select/multi-select.rules.d.ts +5 -0
  124. package/dist/custom-field-types/multi-select/multi-select.rules.js +2 -0
  125. package/dist/custom-field-types/multi-select/multi-select.rules.js.map +1 -0
  126. package/dist/custom-field-types/multi-select/multi-select.value.d.ts +5 -0
  127. package/dist/custom-field-types/multi-select/multi-select.value.js +2 -0
  128. package/dist/custom-field-types/multi-select/multi-select.value.js.map +1 -0
  129. package/dist/custom-field-types/number/index.d.ts +6 -0
  130. package/dist/custom-field-types/number/index.js +7 -0
  131. package/dist/custom-field-types/number/index.js.map +1 -0
  132. package/dist/custom-field-types/number/number.contract.d.ts +11 -0
  133. package/dist/custom-field-types/number/number.contract.js +2 -0
  134. package/dist/custom-field-types/number/number.contract.js.map +1 -0
  135. package/dist/custom-field-types/number/number.custom-field-definition.factory.unit.test.d.ts +1 -0
  136. package/dist/custom-field-types/number/number.custom-field-definition.factory.unit.test.js +44 -0
  137. package/dist/custom-field-types/number/number.custom-field-definition.factory.unit.test.js.map +1 -0
  138. package/dist/custom-field-types/number/number.custom-field-value.validator.d.ts +5 -0
  139. package/dist/custom-field-types/number/number.custom-field-value.validator.js +14 -0
  140. package/dist/custom-field-types/number/number.custom-field-value.validator.js.map +1 -0
  141. package/dist/custom-field-types/number/number.custom-field-value.validator.unit.test.d.ts +1 -0
  142. package/dist/custom-field-types/number/number.custom-field-value.validator.unit.test.js +46 -0
  143. package/dist/custom-field-types/number/number.custom-field-value.validator.unit.test.js.map +1 -0
  144. package/dist/custom-field-types/number/number.definition-validation.d.ts +7 -0
  145. package/dist/custom-field-types/number/number.definition-validation.js +16 -0
  146. package/dist/custom-field-types/number/number.definition-validation.js.map +1 -0
  147. package/dist/custom-field-types/number/number.dto.d.ts +9 -0
  148. package/dist/custom-field-types/number/number.dto.js +33 -0
  149. package/dist/custom-field-types/number/number.dto.js.map +1 -0
  150. package/dist/custom-field-types/number/number.rules.d.ts +5 -0
  151. package/dist/custom-field-types/number/number.rules.js +2 -0
  152. package/dist/custom-field-types/number/number.rules.js.map +1 -0
  153. package/dist/custom-field-types/number/number.value.d.ts +5 -0
  154. package/dist/custom-field-types/number/number.value.js +2 -0
  155. package/dist/custom-field-types/number/number.value.js.map +1 -0
  156. package/dist/custom-field-types/single-select/index.d.ts +6 -0
  157. package/dist/custom-field-types/single-select/index.js +7 -0
  158. package/dist/custom-field-types/single-select/index.js.map +1 -0
  159. package/dist/custom-field-types/single-select/single-select.contract.d.ts +8 -0
  160. package/dist/custom-field-types/single-select/single-select.contract.js +2 -0
  161. package/dist/custom-field-types/single-select/single-select.contract.js.map +1 -0
  162. package/dist/custom-field-types/single-select/single-select.custom-field-definition.factory.unit.test.d.ts +1 -0
  163. package/dist/custom-field-types/single-select/single-select.custom-field-definition.factory.unit.test.js +100 -0
  164. package/dist/custom-field-types/single-select/single-select.custom-field-definition.factory.unit.test.js.map +1 -0
  165. package/dist/custom-field-types/single-select/single-select.custom-field-value.validator.d.ts +5 -0
  166. package/dist/custom-field-types/single-select/single-select.custom-field-value.validator.js +10 -0
  167. package/dist/custom-field-types/single-select/single-select.custom-field-value.validator.js.map +1 -0
  168. package/dist/custom-field-types/single-select/single-select.custom-field-value.validator.unit.test.d.ts +1 -0
  169. package/dist/custom-field-types/single-select/single-select.custom-field-value.validator.unit.test.js +57 -0
  170. package/dist/custom-field-types/single-select/single-select.custom-field-value.validator.unit.test.js.map +1 -0
  171. package/dist/custom-field-types/single-select/single-select.definition-validation.d.ts +7 -0
  172. package/dist/custom-field-types/single-select/single-select.definition-validation.js +25 -0
  173. package/dist/custom-field-types/single-select/single-select.definition-validation.js.map +1 -0
  174. package/dist/custom-field-types/single-select/single-select.dto.d.ts +9 -0
  175. package/dist/custom-field-types/single-select/single-select.dto.js +34 -0
  176. package/dist/custom-field-types/single-select/single-select.dto.js.map +1 -0
  177. package/dist/custom-field-types/single-select/single-select.rules.d.ts +5 -0
  178. package/dist/custom-field-types/single-select/single-select.rules.js +2 -0
  179. package/dist/custom-field-types/single-select/single-select.rules.js.map +1 -0
  180. package/dist/custom-field-types/single-select/single-select.value.d.ts +5 -0
  181. package/dist/custom-field-types/single-select/single-select.value.js +2 -0
  182. package/dist/custom-field-types/single-select/single-select.value.js.map +1 -0
  183. package/dist/custom-field-types/text/index.d.ts +6 -0
  184. package/dist/custom-field-types/text/index.js +7 -0
  185. package/dist/custom-field-types/text/index.js.map +1 -0
  186. package/dist/custom-field-types/text/text.contract.d.ts +12 -0
  187. package/dist/custom-field-types/text/text.contract.js +2 -0
  188. package/dist/custom-field-types/text/text.contract.js.map +1 -0
  189. package/dist/custom-field-types/text/text.custom-field-definition.factory.unit.test.d.ts +1 -0
  190. package/dist/custom-field-types/text/text.custom-field-definition.factory.unit.test.js +128 -0
  191. package/dist/custom-field-types/text/text.custom-field-definition.factory.unit.test.js.map +1 -0
  192. package/dist/custom-field-types/text/text.custom-field-value.validator.d.ts +5 -0
  193. package/dist/custom-field-types/text/text.custom-field-value.validator.js +17 -0
  194. package/dist/custom-field-types/text/text.custom-field-value.validator.js.map +1 -0
  195. package/dist/custom-field-types/text/text.custom-field-value.validator.unit.test.d.ts +1 -0
  196. package/dist/custom-field-types/text/text.custom-field-value.validator.unit.test.js +64 -0
  197. package/dist/custom-field-types/text/text.custom-field-value.validator.unit.test.js.map +1 -0
  198. package/dist/custom-field-types/text/text.definition-validation.d.ts +7 -0
  199. package/dist/custom-field-types/text/text.definition-validation.js +30 -0
  200. package/dist/custom-field-types/text/text.definition-validation.js.map +1 -0
  201. package/dist/custom-field-types/text/text.dto.d.ts +9 -0
  202. package/dist/custom-field-types/text/text.dto.js +33 -0
  203. package/dist/custom-field-types/text/text.dto.js.map +1 -0
  204. package/dist/custom-field-types/text/text.rules.d.ts +5 -0
  205. package/dist/custom-field-types/text/text.rules.js +2 -0
  206. package/dist/custom-field-types/text/text.rules.js.map +1 -0
  207. package/dist/custom-field-types/text/text.value.d.ts +5 -0
  208. package/dist/custom-field-types/text/text.value.js +2 -0
  209. package/dist/custom-field-types/text/text.value.js.map +1 -0
  210. package/dist/custom-field-types/text-array/index.d.ts +6 -0
  211. package/dist/custom-field-types/text-array/index.js +7 -0
  212. package/dist/custom-field-types/text-array/index.js.map +1 -0
  213. package/dist/custom-field-types/text-array/text-array.contract.d.ts +11 -0
  214. package/dist/custom-field-types/text-array/text-array.contract.js +2 -0
  215. package/dist/custom-field-types/text-array/text-array.contract.js.map +1 -0
  216. package/dist/custom-field-types/text-array/text-array.custom-field-definition.factory.unit.test.d.ts +1 -0
  217. package/dist/custom-field-types/text-array/text-array.custom-field-definition.factory.unit.test.js +71 -0
  218. package/dist/custom-field-types/text-array/text-array.custom-field-definition.factory.unit.test.js.map +1 -0
  219. package/dist/custom-field-types/text-array/text-array.custom-field-value.validator.d.ts +5 -0
  220. package/dist/custom-field-types/text-array/text-array.custom-field-value.validator.js +14 -0
  221. package/dist/custom-field-types/text-array/text-array.custom-field-value.validator.js.map +1 -0
  222. package/dist/custom-field-types/text-array/text-array.custom-field-value.validator.unit.test.d.ts +1 -0
  223. package/dist/custom-field-types/text-array/text-array.custom-field-value.validator.unit.test.js +46 -0
  224. package/dist/custom-field-types/text-array/text-array.custom-field-value.validator.unit.test.js.map +1 -0
  225. package/dist/custom-field-types/text-array/text-array.definition-validation.d.ts +7 -0
  226. package/dist/custom-field-types/text-array/text-array.definition-validation.js +22 -0
  227. package/dist/custom-field-types/text-array/text-array.definition-validation.js.map +1 -0
  228. package/dist/custom-field-types/text-array/text-array.dto.d.ts +9 -0
  229. package/dist/custom-field-types/text-array/text-array.dto.js +36 -0
  230. package/dist/custom-field-types/text-array/text-array.dto.js.map +1 -0
  231. package/dist/custom-field-types/text-array/text-array.rules.d.ts +5 -0
  232. package/dist/custom-field-types/text-array/text-array.rules.js +2 -0
  233. package/dist/custom-field-types/text-array/text-array.rules.js.map +1 -0
  234. package/dist/custom-field-types/text-array/text-array.value.d.ts +5 -0
  235. package/dist/custom-field-types/text-array/text-array.value.js +2 -0
  236. package/dist/custom-field-types/text-array/text-array.value.js.map +1 -0
  237. package/dist/custom-field-types/timestamp/index.d.ts +6 -0
  238. package/dist/custom-field-types/timestamp/index.js +7 -0
  239. package/dist/custom-field-types/timestamp/index.js.map +1 -0
  240. package/dist/custom-field-types/timestamp/timestamp.contract.d.ts +12 -0
  241. package/dist/custom-field-types/timestamp/timestamp.contract.js +2 -0
  242. package/dist/custom-field-types/timestamp/timestamp.contract.js.map +1 -0
  243. package/dist/custom-field-types/timestamp/timestamp.custom-field-definition.factory.unit.test.d.ts +1 -0
  244. package/dist/custom-field-types/timestamp/timestamp.custom-field-definition.factory.unit.test.js +70 -0
  245. package/dist/custom-field-types/timestamp/timestamp.custom-field-definition.factory.unit.test.js.map +1 -0
  246. package/dist/custom-field-types/timestamp/timestamp.custom-field-value.validator.d.ts +6 -0
  247. package/dist/custom-field-types/timestamp/timestamp.custom-field-value.validator.js +14 -0
  248. package/dist/custom-field-types/timestamp/timestamp.custom-field-value.validator.js.map +1 -0
  249. package/dist/custom-field-types/timestamp/timestamp.custom-field-value.validator.unit.test.d.ts +1 -0
  250. package/dist/custom-field-types/timestamp/timestamp.custom-field-value.validator.unit.test.js +47 -0
  251. package/dist/custom-field-types/timestamp/timestamp.custom-field-value.validator.unit.test.js.map +1 -0
  252. package/dist/custom-field-types/timestamp/timestamp.definition-validation.d.ts +7 -0
  253. package/dist/custom-field-types/timestamp/timestamp.definition-validation.js +38 -0
  254. package/dist/custom-field-types/timestamp/timestamp.definition-validation.js.map +1 -0
  255. package/dist/custom-field-types/timestamp/timestamp.dto.d.ts +9 -0
  256. package/dist/custom-field-types/timestamp/timestamp.dto.js +35 -0
  257. package/dist/custom-field-types/timestamp/timestamp.dto.js.map +1 -0
  258. package/dist/custom-field-types/timestamp/timestamp.rules.d.ts +5 -0
  259. package/dist/custom-field-types/timestamp/timestamp.rules.js +2 -0
  260. package/dist/custom-field-types/timestamp/timestamp.rules.js.map +1 -0
  261. package/dist/custom-field-types/timestamp/timestamp.value.d.ts +5 -0
  262. package/dist/custom-field-types/timestamp/timestamp.value.js +2 -0
  263. package/dist/custom-field-types/timestamp/timestamp.value.js.map +1 -0
  264. package/dist/custom-field-value.d.ts +17 -0
  265. package/dist/custom-field-value.js +2 -0
  266. package/dist/custom-field-value.js.map +1 -0
  267. package/dist/decorators/is-custom-fields.decorator.d.ts +1 -0
  268. package/dist/decorators/is-custom-fields.decorator.js +14 -0
  269. package/dist/decorators/is-custom-fields.decorator.js.map +1 -0
  270. package/dist/dto/base-custom-field-value.dto.d.ts +15 -0
  271. package/dist/dto/base-custom-field-value.dto.js +33 -0
  272. package/dist/dto/base-custom-field-value.dto.js.map +1 -0
  273. package/dist/dto/custom-field-value.dto.d.ts +46 -0
  274. package/dist/dto/custom-field-value.dto.js +72 -0
  275. package/dist/dto/custom-field-value.dto.js.map +1 -0
  276. package/dist/dto/custom-field-value.dto.unit.test.d.ts +1 -0
  277. package/dist/dto/custom-field-value.dto.unit.test.js +74 -0
  278. package/dist/dto/custom-field-value.dto.unit.test.js.map +1 -0
  279. package/dist/enum/custom-field-type.enum.d.ts +15 -0
  280. package/dist/enum/custom-field-type.enum.js +28 -0
  281. package/dist/enum/custom-field-type.enum.js.map +1 -0
  282. package/dist/errors/custom-field-definition.error.d.ts +2 -0
  283. package/dist/errors/custom-field-definition.error.js +3 -0
  284. package/dist/errors/custom-field-definition.error.js.map +1 -0
  285. package/dist/exhaustive-check.d.ts +1 -0
  286. package/dist/exhaustive-check.js +4 -0
  287. package/dist/exhaustive-check.js.map +1 -0
  288. package/dist/factory/custom-field-definition.factory.d.ts +41 -0
  289. package/dist/factory/custom-field-definition.factory.js +125 -0
  290. package/dist/factory/custom-field-definition.factory.js.map +1 -0
  291. package/dist/index.d.ts +18 -0
  292. package/dist/index.js +17 -0
  293. package/dist/index.js.map +1 -0
  294. package/dist/repositories/custom-field-definition.repository.module.d.ts +2 -0
  295. package/dist/repositories/custom-field-definition.repository.module.js +27 -0
  296. package/dist/repositories/custom-field-definition.repository.module.js.map +1 -0
  297. package/dist/repositories/custom-field-definitions.repository.d.ts +11 -0
  298. package/dist/repositories/custom-field-definitions.repository.integration.test.d.ts +1 -0
  299. package/dist/repositories/custom-field-definitions.repository.integration.test.js +174 -0
  300. package/dist/repositories/custom-field-definitions.repository.integration.test.js.map +1 -0
  301. package/dist/repositories/custom-field-definitions.repository.js +40 -0
  302. package/dist/repositories/custom-field-definitions.repository.js.map +1 -0
  303. package/dist/repositories/index.d.ts +2 -0
  304. package/dist/repositories/index.js +3 -0
  305. package/dist/repositories/index.js.map +1 -0
  306. package/dist/responses/custom-field-definition.response.d.ts +26 -0
  307. package/dist/responses/custom-field-definition.response.js +99 -0
  308. package/dist/responses/custom-field-definition.response.js.map +1 -0
  309. package/dist/responses/custom-field-definition.response.unit.test.d.ts +1 -0
  310. package/dist/responses/custom-field-definition.response.unit.test.js +96 -0
  311. package/dist/responses/custom-field-definition.response.unit.test.js.map +1 -0
  312. package/dist/tests/sql/datasource.d.ts +2 -0
  313. package/dist/tests/sql/datasource.js +17 -0
  314. package/dist/tests/sql/datasource.js.map +1 -0
  315. package/dist/tests/test-setup.d.ts +8 -0
  316. package/dist/tests/test-setup.js +46 -0
  317. package/dist/tests/test-setup.js.map +1 -0
  318. package/dist/typeorm/custom-field-choice.column.d.ts +2 -0
  319. package/dist/typeorm/custom-field-choice.column.js +49 -0
  320. package/dist/typeorm/custom-field-choice.column.js.map +1 -0
  321. package/dist/typeorm/custom-field-definition.entity.d.ts +20 -0
  322. package/dist/typeorm/custom-field-definition.entity.js +82 -0
  323. package/dist/typeorm/custom-field-definition.entity.js.map +1 -0
  324. package/dist/typeorm/custom-field-value.column.d.ts +2 -0
  325. package/dist/typeorm/custom-field-value.column.js +102 -0
  326. package/dist/typeorm/custom-field-value.column.js.map +1 -0
  327. package/dist/validators/custom-field-value-validation.error.d.ts +6 -0
  328. package/dist/validators/custom-field-value-validation.error.js +22 -0
  329. package/dist/validators/custom-field-value-validation.error.js.map +1 -0
  330. package/dist/validators/custom-field-value.validator.d.ts +4 -0
  331. package/dist/validators/custom-field-value.validator.js +81 -0
  332. package/dist/validators/custom-field-value.validator.js.map +1 -0
  333. package/dist/validators/custom-field-value.validator.unit.test.d.ts +1 -0
  334. package/dist/validators/custom-field-value.validator.unit.test.js +166 -0
  335. package/dist/validators/custom-field-value.validator.unit.test.js.map +1 -0
  336. package/package.json +56 -3
  337. package/skills/getting-started/SKILL.md +263 -0
@@ -0,0 +1,41 @@
1
+ import { LocalizedString } from '@wisemen/localized-string';
2
+ import { CustomFieldChoice } from '#src/custom-field-choice.js';
3
+ import { CustomFieldDefinitionFieldsByType } from '#src/custom-field-definition.js';
4
+ import { CustomFieldRulesByType } from '#src/custom-field-rules.js';
5
+ import { CustomFieldChoicesModeByType, CustomFieldRulesModeByType } from '#src/custom-field-type-contract.js';
6
+ import { CustomFieldType } from '#src/enum/custom-field-type.enum.js';
7
+ type NullIfEmpty<T> = keyof T extends never ? null : T | null;
8
+ type CustomFieldRulesConfigByType<T extends CustomFieldType> = T extends RequiredRulesCustomField ? Omit<CustomFieldRulesByType<T>, 'type'> : NullIfEmpty<Omit<CustomFieldRulesByType<T>, 'type'>>;
9
+ export type RequiredRulesCustomField = {
10
+ [T in CustomFieldType]: CustomFieldRulesModeByType<T> extends 'required' ? T : never;
11
+ }[CustomFieldType];
12
+ export type NoRulesCustomField = {
13
+ [T in CustomFieldType]: CustomFieldRulesModeByType<T> extends 'none' ? T : never;
14
+ }[CustomFieldType];
15
+ export type OptionalRulesCustomField = Exclude<CustomFieldType, RequiredRulesCustomField | NoRulesCustomField>;
16
+ export type SelectCustomFieldType = {
17
+ [T in CustomFieldType]: CustomFieldChoicesModeByType<T> extends 'required' ? T : never;
18
+ }[CustomFieldType];
19
+ export type CustomFieldDefinitionMetadataFields = {
20
+ tenantUuid: string | null;
21
+ entityType: string;
22
+ key: string;
23
+ label: LocalizedString;
24
+ description: LocalizedString | null;
25
+ isRequired: boolean;
26
+ };
27
+ export type CustomFieldDefinitionDraft<T extends CustomFieldType = CustomFieldType> = CustomFieldDefinitionFieldsByType<T>;
28
+ type BaseCustomFieldInput<TType extends CustomFieldType> = CustomFieldDefinitionMetadataFields & {
29
+ type: TType;
30
+ };
31
+ type RulesInput<TType extends CustomFieldType> = TType extends RequiredRulesCustomField ? {
32
+ rules: CustomFieldRulesConfigByType<TType>;
33
+ } : TType extends OptionalRulesCustomField ? {
34
+ rules?: CustomFieldRulesConfigByType<TType>;
35
+ } : TType extends NoRulesCustomField ? Record<never, never> : never;
36
+ type SelectChoicesConfig<TType extends CustomFieldType> = TType extends SelectCustomFieldType ? {
37
+ choices: CustomFieldChoice[];
38
+ } : Record<never, never>;
39
+ export type CustomFieldDefinitionInput<TType extends CustomFieldType = CustomFieldType> = TType extends CustomFieldType ? BaseCustomFieldInput<TType> & RulesInput<TType> & SelectChoicesConfig<TType> : never;
40
+ export declare function customFieldDefinition<T extends CustomFieldType>(type: T, definition: Omit<CustomFieldDefinitionInput<T>, 'type'>): CustomFieldDefinitionDraft<T>;
41
+ export {};
@@ -0,0 +1,125 @@
1
+ import { generateUuid } from '#src/custom-field-definition.uuid.js';
2
+ import { validateBooleanCustomFieldDefinition } from '#src/custom-field-types/boolean/boolean.definition-validation.js';
3
+ import { validateDateCustomFieldDefinition } from '#src/custom-field-types/date/date.definition-validation.js';
4
+ import { validateMonetaryCustomFieldDefinition } from '#src/custom-field-types/monetary/monetary.definition-validation.js';
5
+ import { validateMultiSelectCustomFieldDefinition } from '#src/custom-field-types/multi-select/multi-select.definition-validation.js';
6
+ import { validateNumberCustomFieldDefinition } from '#src/custom-field-types/number/number.definition-validation.js';
7
+ import { validateSingleSelectCustomFieldDefinition } from '#src/custom-field-types/single-select/single-select.definition-validation.js';
8
+ import { validateTextArrayCustomFieldDefinition } from '#src/custom-field-types/text-array/text-array.definition-validation.js';
9
+ import { validateTextCustomFieldDefinition } from '#src/custom-field-types/text/text.definition-validation.js';
10
+ import { validateTimestampCustomFieldDefinition } from '#src/custom-field-types/timestamp/timestamp.definition-validation.js';
11
+ import { exhaustiveCheck } from '#src/exhaustive-check.js';
12
+ import { CustomFieldType } from '#src/enum/custom-field-type.enum.js';
13
+ import { CustomFieldDefinitionError } from '#src/errors/custom-field-definition.error.js';
14
+ export function customFieldDefinition(type, definition) {
15
+ return normalizeCustomFieldDefinition(withCustomFieldType(type, definition));
16
+ }
17
+ function withCustomFieldType(type, definition) {
18
+ return {
19
+ ...definition,
20
+ type
21
+ };
22
+ }
23
+ function normalizeCustomFieldDefinition(definition) {
24
+ switch (definition.type) {
25
+ case CustomFieldType.TEXT:
26
+ case CustomFieldType.TEXT_ARRAY:
27
+ case CustomFieldType.NUMBER:
28
+ case CustomFieldType.BOOLEAN:
29
+ case CustomFieldType.DATE:
30
+ case CustomFieldType.TIMESTAMP:
31
+ case CustomFieldType.MONETARY: {
32
+ const customFieldDefinition = {
33
+ uuid: generateUuid(),
34
+ tenantUuid: definition.tenantUuid,
35
+ entityType: definition.entityType,
36
+ key: definition.key,
37
+ label: definition.label,
38
+ description: definition.description,
39
+ type: definition.type,
40
+ rules: normalizeRules(definition.type, 'rules' in definition ? definition.rules : null),
41
+ isRequired: definition.isRequired,
42
+ choices: null
43
+ };
44
+ validateCustomFieldDefinition(customFieldDefinition);
45
+ return customFieldDefinition;
46
+ }
47
+ case CustomFieldType.SINGLE_SELECT:
48
+ case CustomFieldType.MULTI_SELECT: {
49
+ const customFieldDefinition = {
50
+ uuid: generateUuid(),
51
+ tenantUuid: definition.tenantUuid,
52
+ entityType: definition.entityType,
53
+ key: definition.key,
54
+ label: definition.label,
55
+ description: definition.description,
56
+ type: definition.type,
57
+ rules: normalizeRules(definition.type, 'rules' in definition ? definition.rules : null),
58
+ isRequired: definition.isRequired,
59
+ choices: definition.choices
60
+ };
61
+ validateCustomFieldDefinition(customFieldDefinition);
62
+ return customFieldDefinition;
63
+ }
64
+ default:
65
+ return exhaustiveCheck(definition);
66
+ }
67
+ }
68
+ function normalizeRules(type, rules) {
69
+ if (rules == null) {
70
+ return null;
71
+ }
72
+ return {
73
+ type,
74
+ ...rules
75
+ };
76
+ }
77
+ function validateCustomFieldDefinition(definition) {
78
+ if (definition.entityType.trim() === '') {
79
+ throw new CustomFieldDefinitionError('Custom field entityType can not be empty');
80
+ }
81
+ if (definition.key.trim() === '') {
82
+ throw new CustomFieldDefinitionError('Custom field key can not be empty');
83
+ }
84
+ if (definition.label.toJSON().length === 0) {
85
+ throw new CustomFieldDefinitionError('Custom field label must contain at least one translation');
86
+ }
87
+ if (definition.description !== null && definition.description.toJSON().length === 0) {
88
+ throw new CustomFieldDefinitionError('Custom field description must contain at least one translation');
89
+ }
90
+ if (definition.rules !== null && definition.rules.type !== definition.type) {
91
+ throw new CustomFieldDefinitionError('Custom field rules must match the field type');
92
+ }
93
+ switch (definition.type) {
94
+ case CustomFieldType.TEXT:
95
+ validateTextCustomFieldDefinition(definition);
96
+ return;
97
+ case CustomFieldType.TEXT_ARRAY:
98
+ validateTextArrayCustomFieldDefinition(definition);
99
+ return;
100
+ case CustomFieldType.NUMBER:
101
+ validateNumberCustomFieldDefinition(definition);
102
+ return;
103
+ case CustomFieldType.BOOLEAN:
104
+ validateBooleanCustomFieldDefinition(definition);
105
+ return;
106
+ case CustomFieldType.DATE:
107
+ validateDateCustomFieldDefinition(definition);
108
+ return;
109
+ case CustomFieldType.TIMESTAMP:
110
+ validateTimestampCustomFieldDefinition(definition);
111
+ return;
112
+ case CustomFieldType.SINGLE_SELECT:
113
+ validateSingleSelectCustomFieldDefinition(definition);
114
+ return;
115
+ case CustomFieldType.MULTI_SELECT:
116
+ validateMultiSelectCustomFieldDefinition(definition);
117
+ return;
118
+ case CustomFieldType.MONETARY:
119
+ validateMonetaryCustomFieldDefinition(definition);
120
+ return;
121
+ default:
122
+ exhaustiveCheck(definition);
123
+ }
124
+ }
125
+ //# sourceMappingURL=custom-field-definition.factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-field-definition.factory.js","sourceRoot":"","sources":["../../lib/factory/custom-field-definition.factory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ export * from './custom-field-choice.js';
2
+ export * from './custom-field-definition.js';
3
+ export type { CustomFieldDefinitionUuid } from './custom-field-definition.uuid.js';
4
+ export * from './custom-field-rules.js';
5
+ export * from './custom-field-value.js';
6
+ export * from './repositories/index.js';
7
+ export { IsCustomFieldsValues as IsCustomFields } from './decorators/is-custom-fields.decorator.js';
8
+ export { CustomFieldValueApiExtraModels, CustomFieldValueDtoApiProperty, BooleanCustomFieldValueDto, CustomFieldValueDto, DateCustomFieldValueDto, TimestampCustomFieldValueDto, MonetaryCustomFieldValueDto, MultiSelectCustomFieldValueDto, NumberCustomFieldValueDto, SingleSelectCustomFieldValueDto, TextArrayCustomFieldValueDto, TextCustomFieldValueDto } from './dto/custom-field-value.dto.js';
9
+ export { CustomFieldDefinitionError } from './errors/custom-field-definition.error.js';
10
+ export { customFieldDefinition } from './factory/custom-field-definition.factory.js';
11
+ export { CustomFieldDefinitionResponse } from './responses/custom-field-definition.response.js';
12
+ export { CustomFieldDefinitionData as CustomFieldDefinitionFields } from './custom-field-definition.js';
13
+ export { CustomFieldType, CustomFieldTypeApiProperty, CustomFieldTypeColumn } from './enum/custom-field-type.enum.js';
14
+ export { CustomFieldDefinition } from './typeorm/custom-field-definition.entity.js';
15
+ export { CustomFieldChoiceColumn } from './typeorm/custom-field-choice.column.js';
16
+ export { CustomFieldValueColumn } from './typeorm/custom-field-value.column.js';
17
+ export { CustomFieldValueValidationError } from './validators/custom-field-value-validation.error.js';
18
+ export { validateCustomFieldValue, validateCustomFieldValues } from './validators/custom-field-value.validator.js';
package/dist/index.js ADDED
@@ -0,0 +1,17 @@
1
+ export * from './custom-field-choice.js';
2
+ export * from './custom-field-definition.js';
3
+ export * from './custom-field-rules.js';
4
+ export * from './custom-field-value.js';
5
+ export * from './repositories/index.js';
6
+ export { IsCustomFieldsValues as IsCustomFields } from './decorators/is-custom-fields.decorator.js';
7
+ export { CustomFieldValueApiExtraModels, CustomFieldValueDtoApiProperty, BooleanCustomFieldValueDto, CustomFieldValueDto, DateCustomFieldValueDto, TimestampCustomFieldValueDto, MonetaryCustomFieldValueDto, MultiSelectCustomFieldValueDto, NumberCustomFieldValueDto, SingleSelectCustomFieldValueDto, TextArrayCustomFieldValueDto, TextCustomFieldValueDto } from './dto/custom-field-value.dto.js';
8
+ export { CustomFieldDefinitionError } from './errors/custom-field-definition.error.js';
9
+ export { customFieldDefinition } from './factory/custom-field-definition.factory.js';
10
+ export { CustomFieldDefinitionResponse } from './responses/custom-field-definition.response.js';
11
+ export { CustomFieldType, CustomFieldTypeApiProperty, CustomFieldTypeColumn } from './enum/custom-field-type.enum.js';
12
+ export { CustomFieldDefinition } from './typeorm/custom-field-definition.entity.js';
13
+ export { CustomFieldChoiceColumn } from './typeorm/custom-field-choice.column.js';
14
+ export { CustomFieldValueColumn } from './typeorm/custom-field-value.column.js';
15
+ export { CustomFieldValueValidationError } from './validators/custom-field-value-validation.error.js';
16
+ export { validateCustomFieldValue, validateCustomFieldValues } from './validators/custom-field-value.validator.js';
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAA;AACxC,cAAc,8BAA8B,CAAA;AAE5C,cAAc,yBAAyB,CAAA;AACvC,cAAc,yBAAyB,CAAA;AACvC,cAAc,yBAAyB,CAAA;AACvC,OAAO,EAAE,oBAAoB,IAAI,cAAc,EAAE,MAAM,4CAA4C,CAAA;AACnG,OAAO,EACL,8BAA8B,EAC9B,8BAA8B,EAC9B,0BAA0B,EAC1B,mBAAmB,EACnB,uBAAuB,EACvB,4BAA4B,EAC5B,2BAA2B,EAC3B,8BAA8B,EAC9B,yBAAyB,EACzB,+BAA+B,EAC/B,4BAA4B,EAC5B,uBAAuB,EACxB,MAAM,iCAAiC,CAAA;AACxC,OAAO,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAA;AACtF,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAA;AACpF,OAAO,EAAE,6BAA6B,EAAE,MAAM,iDAAiD,CAAA;AAE/F,OAAO,EAAE,eAAe,EAAE,0BAA0B,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAA;AACrH,OAAO,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAA;AACnF,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAA;AACjF,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAA;AAC/E,OAAO,EAAE,+BAA+B,EAAE,MAAM,qDAAqD,CAAA;AACrG,OAAO,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,8CAA8C,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare class CustomFieldDefinitionRepositoryModule {
2
+ }
@@ -0,0 +1,27 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ 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;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { CustomFieldDefinitionsRepository } from '#src/repositories/custom-field-definitions.repository.js';
8
+ import { CustomFieldDefinition } from '#src/typeorm/custom-field-definition.entity.js';
9
+ import { Module } from '@nestjs/common';
10
+ import { TypeOrmModule } from '@wisemen/nestjs-typeorm';
11
+ let CustomFieldDefinitionRepositoryModule = class CustomFieldDefinitionRepositoryModule {
12
+ };
13
+ CustomFieldDefinitionRepositoryModule = __decorate([
14
+ Module({
15
+ imports: [
16
+ TypeOrmModule.forFeature([CustomFieldDefinition])
17
+ ],
18
+ providers: [
19
+ CustomFieldDefinitionsRepository,
20
+ ],
21
+ exports: [
22
+ CustomFieldDefinitionsRepository
23
+ ]
24
+ })
25
+ ], CustomFieldDefinitionRepositoryModule);
26
+ export { CustomFieldDefinitionRepositoryModule };
27
+ //# sourceMappingURL=custom-field-definition.repository.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-field-definition.repository.module.js","sourceRoot":"","sources":["../../lib/repositories/custom-field-definition.repository.module.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,gCAAgC,EAAE,MAAM,0DAA0D,CAAA;AAC3G,OAAO,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAA;AACtF,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAahD,IAAM,qCAAqC,GAA3C,MAAM,qCAAqC;CAAG,CAAA;AAAxC,qCAAqC;IAXjD,MAAM,CAAC;QACN,OAAO,EAAE;YACP,aAAa,CAAC,UAAU,CAAC,CAAC,qBAAqB,CAAC,CAAC;SAClD;QACD,SAAS,EAAE;YACT,gCAAgC;SACjC;QACD,OAAO,EAAE;YACP,gCAAgC;SACjC;KACF,CAAC;GACW,qCAAqC,CAAG"}
@@ -0,0 +1,11 @@
1
+ import { Repository } from 'typeorm';
2
+ import { CustomFieldDefinition } from '#src/typeorm/custom-field-definition.entity.js';
3
+ export interface CustomFieldDefinitionsOptions {
4
+ tenantUuid?: string;
5
+ entityType?: string;
6
+ }
7
+ export declare class CustomFieldDefinitionsRepository {
8
+ private readonly repository;
9
+ constructor(repository: Repository<CustomFieldDefinition>);
10
+ findDefinitions(options?: CustomFieldDefinitionsOptions): Promise<CustomFieldDefinition[]>;
11
+ }
@@ -0,0 +1,174 @@
1
+ import { after, before, beforeEach, describe, it } from 'node:test';
2
+ import { expect } from 'expect';
3
+ import { LocalizedString } from '@wisemen/localized-string';
4
+ import { dataSource } from '#src/tests/sql/datasource.js';
5
+ import { IntegrationTestSetup } from '#src/tests/test-setup.js';
6
+ import { CustomFieldType } from '#src/enum/custom-field-type.enum.js';
7
+ import { customFieldDefinition } from '#src/factory/custom-field-definition.factory.js';
8
+ import { CustomFieldDefinition } from '#src/typeorm/custom-field-definition.entity.js';
9
+ import { CustomFieldDefinitionsRepository } from './custom-field-definitions.repository.js';
10
+ describe('ViewCustomFieldDefinitionsRepository integration', () => {
11
+ const integrationTest = new IntegrationTestSetup();
12
+ before(async () => {
13
+ await integrationTest.setup();
14
+ });
15
+ beforeEach(async () => {
16
+ await integrationTest.clear(CustomFieldDefinition);
17
+ });
18
+ after(async () => {
19
+ await integrationTest.teardown();
20
+ });
21
+ it('returns global definitions for the requested entity type ordered by key', async () => {
22
+ const tenantUuid = '00000000-0000-0000-0000-000000000001';
23
+ const referenceDefinition = customFieldDefinition(CustomFieldType.TEXT, {
24
+ tenantUuid: null,
25
+ entityType: 'ticket',
26
+ key: 'reference',
27
+ label: new LocalizedString([{ locale: 'en', value: 'Reference' }]),
28
+ description: null,
29
+ isRequired: false
30
+ });
31
+ const priorityDefinition = customFieldDefinition(CustomFieldType.MULTI_SELECT, {
32
+ tenantUuid: null,
33
+ entityType: 'ticket',
34
+ key: 'priority',
35
+ label: new LocalizedString([{ locale: 'en', value: 'Priority' }]),
36
+ description: new LocalizedString([{ locale: 'en', value: 'Ticket priority' }]),
37
+ isRequired: true,
38
+ choices: [
39
+ {
40
+ value: 'high',
41
+ label: new LocalizedString([{ locale: 'en', value: 'High' }]),
42
+ order: 2
43
+ },
44
+ {
45
+ value: 'low',
46
+ label: new LocalizedString([{ locale: 'en', value: 'Low' }]),
47
+ order: 1
48
+ }
49
+ ],
50
+ rules: {
51
+ minSelections: 1,
52
+ maxSelections: 2
53
+ }
54
+ });
55
+ const tenantDefinition = customFieldDefinition(CustomFieldType.TEXT, {
56
+ tenantUuid,
57
+ entityType: 'ticket',
58
+ key: 'tenant-only',
59
+ label: new LocalizedString([{ locale: 'en', value: 'Tenant only' }]),
60
+ description: null,
61
+ isRequired: false
62
+ });
63
+ const otherEntityDefinition = customFieldDefinition(CustomFieldType.TEXT, {
64
+ tenantUuid: null,
65
+ entityType: 'project',
66
+ key: 'project-code',
67
+ label: new LocalizedString([{ locale: 'en', value: 'Project code' }]),
68
+ description: null,
69
+ isRequired: false
70
+ });
71
+ await dataSource.manager.save(CustomFieldDefinition, [
72
+ referenceDefinition,
73
+ priorityDefinition,
74
+ tenantDefinition,
75
+ otherEntityDefinition
76
+ ]);
77
+ const repository = new CustomFieldDefinitionsRepository(dataSource.manager.getRepository(CustomFieldDefinition));
78
+ const response = await repository.findDefinitions({
79
+ entityType: 'ticket'
80
+ });
81
+ expect(response).toHaveLength(2);
82
+ expect(response.map(item => item.key)).toEqual(['priority', 'reference']);
83
+ expect(response).toEqual([
84
+ {
85
+ uuid: priorityDefinition.uuid,
86
+ tenantUuid: null,
87
+ entityType: 'ticket',
88
+ key: 'priority',
89
+ label: [{ locale: 'en', value: 'Priority' }],
90
+ description: [{ locale: 'en', value: 'Ticket priority' }],
91
+ type: CustomFieldType.MULTI_SELECT,
92
+ isRequired: true,
93
+ choices: [
94
+ {
95
+ value: 'high',
96
+ label: [{ locale: 'en', value: 'High' }],
97
+ order: 2
98
+ },
99
+ {
100
+ value: 'low',
101
+ label: [{ locale: 'en', value: 'Low' }],
102
+ order: 1
103
+ }
104
+ ],
105
+ rules: {
106
+ type: CustomFieldType.MULTI_SELECT,
107
+ minSelections: 1,
108
+ maxSelections: 2
109
+ }
110
+ },
111
+ {
112
+ uuid: referenceDefinition.uuid,
113
+ tenantUuid: null,
114
+ entityType: 'ticket',
115
+ key: 'reference',
116
+ label: [{ locale: 'en', value: 'Reference' }],
117
+ description: null,
118
+ type: CustomFieldType.TEXT,
119
+ isRequired: false,
120
+ choices: null,
121
+ rules: null
122
+ }
123
+ ]);
124
+ });
125
+ it('returns only definitions for the provided tenant', async () => {
126
+ const tenantUuid = '00000000-0000-0000-0000-000000000010';
127
+ const matchingDefinition = customFieldDefinition(CustomFieldType.TEXT, {
128
+ tenantUuid,
129
+ entityType: 'ticket',
130
+ key: 'alpha',
131
+ label: new LocalizedString([{ locale: 'en', value: 'Alpha' }]),
132
+ description: null,
133
+ isRequired: false
134
+ });
135
+ const secondMatchingDefinition = customFieldDefinition(CustomFieldType.TEXT, {
136
+ tenantUuid,
137
+ entityType: 'ticket',
138
+ key: 'zulu',
139
+ label: new LocalizedString([{ locale: 'en', value: 'Zulu' }]),
140
+ description: null,
141
+ isRequired: false
142
+ });
143
+ const otherTenantDefinition = customFieldDefinition(CustomFieldType.TEXT, {
144
+ tenantUuid: '00000000-0000-0000-0000-000000000011',
145
+ entityType: 'ticket',
146
+ key: 'other-tenant',
147
+ label: new LocalizedString([{ locale: 'en', value: 'Other tenant' }]),
148
+ description: null,
149
+ isRequired: false
150
+ });
151
+ const globalDefinition = customFieldDefinition(CustomFieldType.TEXT, {
152
+ tenantUuid: null,
153
+ entityType: 'ticket',
154
+ key: 'global',
155
+ label: new LocalizedString([{ locale: 'en', value: 'Global' }]),
156
+ description: null,
157
+ isRequired: false
158
+ });
159
+ await dataSource.manager.save(CustomFieldDefinition, [
160
+ matchingDefinition,
161
+ secondMatchingDefinition,
162
+ otherTenantDefinition,
163
+ globalDefinition
164
+ ]);
165
+ const repository = new CustomFieldDefinitionsRepository(dataSource.manager.getRepository(CustomFieldDefinition));
166
+ const response = await repository.findDefinitions({
167
+ tenantUuid,
168
+ entityType: 'ticket'
169
+ });
170
+ expect(response.map(item => item.key)).toEqual(['alpha', 'zulu']);
171
+ expect(response.every(item => item.tenantUuid === tenantUuid)).toBe(true);
172
+ });
173
+ });
174
+ //# sourceMappingURL=custom-field-definitions.repository.integration.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-field-definitions.repository.integration.test.js","sourceRoot":"","sources":["../../lib/repositories/custom-field-definitions.repository.integration.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ 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;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
+ return function (target, key) { decorator(target, key, paramIndex); }
12
+ };
13
+ import { Injectable } from '@nestjs/common';
14
+ import { Repository } from 'typeorm';
15
+ import { CustomFieldDefinition } from '#src/typeorm/custom-field-definition.entity.js';
16
+ import { InjectRepository } from '@wisemen/nestjs-typeorm';
17
+ let CustomFieldDefinitionsRepository = class CustomFieldDefinitionsRepository {
18
+ repository;
19
+ constructor(repository) {
20
+ this.repository = repository;
21
+ }
22
+ async findDefinitions(options) {
23
+ return this.repository.find({
24
+ where: {
25
+ entityType: options?.entityType,
26
+ tenantUuid: options?.tenantUuid
27
+ },
28
+ order: {
29
+ key: 'ASC'
30
+ }
31
+ });
32
+ }
33
+ };
34
+ CustomFieldDefinitionsRepository = __decorate([
35
+ Injectable(),
36
+ __param(0, InjectRepository(CustomFieldDefinition)),
37
+ __metadata("design:paramtypes", [Repository])
38
+ ], CustomFieldDefinitionsRepository);
39
+ export { CustomFieldDefinitionsRepository };
40
+ //# sourceMappingURL=custom-field-definitions.repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-field-definitions.repository.js","sourceRoot":"","sources":["../../lib/repositories/custom-field-definitions.repository.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAA;AACtF,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAQnD,IAAM,gCAAgC,GAAtC,MAAM,gCAAgC;IAGxB;IAFnB,YAEmB,UAA6C;QAA7C,eAAU,GAAV,UAAU,CAAmC;IAC5D,CAAC;IAEL,KAAK,CAAC,eAAe,CACnB,OAAwC;QAExC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAC1B,KAAK,EAAE;gBACL,UAAU,EAAE,OAAO,EAAE,UAAU;gBAC/B,UAAU,EAAE,OAAO,EAAE,UAAU;aAChC;YACD,KAAK,EAAE;gBACL,GAAG,EAAE,KAAK;aACX;SACF,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AAnBY,gCAAgC;IAD5C,UAAU,EAAE;IAGR,WAAA,gBAAgB,CAAC,qBAAqB,CAAC,CAAA;qCACX,UAAU;GAH9B,gCAAgC,CAmB5C"}
@@ -0,0 +1,2 @@
1
+ export * from './custom-field-definitions.repository.js';
2
+ export * from './custom-field-definition.repository.module.js';
@@ -0,0 +1,3 @@
1
+ export * from './custom-field-definitions.repository.js';
2
+ export * from './custom-field-definition.repository.module.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/repositories/index.ts"],"names":[],"mappings":"AAAA,cAAc,0CAA0C,CAAA;AACxD,cAAc,gDAAgD,CAAA"}
@@ -0,0 +1,26 @@
1
+ import { LocalizedStringDto } from '@wisemen/localized-string';
2
+ import type { CustomFieldDefinitionData } from '#src/custom-field-definition.js';
3
+ import { CustomFieldType } from '#src/enum/custom-field-type.enum.js';
4
+ import type { CustomFieldDefinitionUuid } from '#src/custom-field-definition.uuid.js';
5
+ import type { CustomFieldRules } from '#src/custom-field-rules.js';
6
+ import { CustomFieldChoice } from '#src/custom-field-choice.js';
7
+ declare class CustomFieldChoiceResponse {
8
+ value: string;
9
+ label: LocalizedStringDto;
10
+ order: number;
11
+ constructor(choice: CustomFieldChoice);
12
+ }
13
+ export declare class CustomFieldDefinitionResponse {
14
+ uuid: CustomFieldDefinitionUuid;
15
+ tenantUuid: string | null;
16
+ entityType: string;
17
+ key: string;
18
+ label: LocalizedStringDto;
19
+ description: LocalizedStringDto | null;
20
+ type: CustomFieldType;
21
+ isRequired: boolean;
22
+ choices: CustomFieldChoiceResponse[] | null;
23
+ rules: CustomFieldRules | null;
24
+ constructor(definition: CustomFieldDefinitionData);
25
+ }
26
+ export {};
@@ -0,0 +1,99 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ 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;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { ApiProperty } from '@nestjs/swagger';
11
+ import { LocalizedStringDto } from '@wisemen/localized-string';
12
+ import { CustomFieldType, CustomFieldTypeApiProperty } from '#src/enum/custom-field-type.enum.js';
13
+ class CustomFieldChoiceResponse {
14
+ value;
15
+ label;
16
+ order;
17
+ constructor(choice) {
18
+ this.value = choice.value;
19
+ this.label = LocalizedStringDto.from(choice.label);
20
+ this.order = choice.order;
21
+ }
22
+ }
23
+ __decorate([
24
+ ApiProperty({ type: String }),
25
+ __metadata("design:type", String)
26
+ ], CustomFieldChoiceResponse.prototype, "value", void 0);
27
+ __decorate([
28
+ ApiProperty({ type: LocalizedStringDto }),
29
+ __metadata("design:type", LocalizedStringDto)
30
+ ], CustomFieldChoiceResponse.prototype, "label", void 0);
31
+ __decorate([
32
+ ApiProperty({ type: Number }),
33
+ __metadata("design:type", Number)
34
+ ], CustomFieldChoiceResponse.prototype, "order", void 0);
35
+ export class CustomFieldDefinitionResponse {
36
+ uuid;
37
+ tenantUuid;
38
+ entityType;
39
+ key;
40
+ label;
41
+ description;
42
+ type;
43
+ isRequired;
44
+ choices;
45
+ rules;
46
+ constructor(definition) {
47
+ this.uuid = definition.uuid;
48
+ this.tenantUuid = definition.tenantUuid;
49
+ this.entityType = definition.entityType;
50
+ this.key = definition.key;
51
+ this.label = LocalizedStringDto.from(definition.label);
52
+ this.description = LocalizedStringDto.from(definition.description);
53
+ this.type = definition.type;
54
+ this.isRequired = definition.isRequired;
55
+ this.choices = definition.choices?.map(choice => new CustomFieldChoiceResponse(choice)) ?? null;
56
+ this.rules = definition.rules;
57
+ }
58
+ }
59
+ __decorate([
60
+ ApiProperty({ type: String, format: 'uuid' }),
61
+ __metadata("design:type", String)
62
+ ], CustomFieldDefinitionResponse.prototype, "uuid", void 0);
63
+ __decorate([
64
+ ApiProperty({ type: String, format: 'uuid', nullable: true }),
65
+ __metadata("design:type", Object)
66
+ ], CustomFieldDefinitionResponse.prototype, "tenantUuid", void 0);
67
+ __decorate([
68
+ ApiProperty({ type: String }),
69
+ __metadata("design:type", String)
70
+ ], CustomFieldDefinitionResponse.prototype, "entityType", void 0);
71
+ __decorate([
72
+ ApiProperty({ type: String }),
73
+ __metadata("design:type", String)
74
+ ], CustomFieldDefinitionResponse.prototype, "key", void 0);
75
+ __decorate([
76
+ ApiProperty({ type: LocalizedStringDto }),
77
+ __metadata("design:type", LocalizedStringDto)
78
+ ], CustomFieldDefinitionResponse.prototype, "label", void 0);
79
+ __decorate([
80
+ ApiProperty({ type: LocalizedStringDto, nullable: true }),
81
+ __metadata("design:type", Object)
82
+ ], CustomFieldDefinitionResponse.prototype, "description", void 0);
83
+ __decorate([
84
+ CustomFieldTypeApiProperty(),
85
+ __metadata("design:type", String)
86
+ ], CustomFieldDefinitionResponse.prototype, "type", void 0);
87
+ __decorate([
88
+ ApiProperty({ type: Boolean }),
89
+ __metadata("design:type", Boolean)
90
+ ], CustomFieldDefinitionResponse.prototype, "isRequired", void 0);
91
+ __decorate([
92
+ ApiProperty({ type: CustomFieldChoiceResponse, isArray: true, nullable: true }),
93
+ __metadata("design:type", Object)
94
+ ], CustomFieldDefinitionResponse.prototype, "choices", void 0);
95
+ __decorate([
96
+ ApiProperty({ type: Object, nullable: true }),
97
+ __metadata("design:type", Object)
98
+ ], CustomFieldDefinitionResponse.prototype, "rules", void 0);
99
+ //# sourceMappingURL=custom-field-definition.response.js.map