@solidstarters/solid-code-builder 1.0.8 → 1.0.10

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/dist/code-builder/lib/field/FieldManager.d.ts +2 -1
  2. package/dist/code-builder/lib/field/FieldManager.js +1 -0
  3. package/dist/code-builder/lib/field/FieldManager.js.map +1 -1
  4. package/{src/code-builder/lib/field/decorator-managers/dto/DecimalDecoratorManager.d.ts → dist/code-builder/lib/field/decorator-managers/dto/ApiPropertyDecoratorManager.d.ts} +7 -7
  5. package/{src/code-builder/lib/field/decorator-managers/dto/MinLengthDecoratorManager.js → dist/code-builder/lib/field/decorator-managers/dto/ApiPropertyDecoratorManager.js} +10 -10
  6. package/dist/code-builder/lib/field/decorator-managers/dto/ApiPropertyDecoratorManager.js.map +1 -0
  7. package/dist/code-builder/lib/field/decorator-managers/entity/JoinTableDecoratorManager.d.ts +2 -2
  8. package/dist/code-builder/lib/field/decorator-managers/entity/JoinTableDecoratorManager.js +8 -8
  9. package/dist/code-builder/lib/field/decorator-managers/entity/JoinTableDecoratorManager.js.map +1 -1
  10. package/dist/code-builder/lib/field/field-managers/base/BaseFieldManagerForDto.d.ts +1 -0
  11. package/dist/code-builder/lib/field/field-managers/base/BaseFieldManagerForDto.js +12 -4
  12. package/dist/code-builder/lib/field/field-managers/base/BaseFieldManagerForDto.js.map +1 -1
  13. package/dist/code-builder/lib/field/field-managers/base/BaseFieldManagerForEntity.js +2 -2
  14. package/dist/code-builder/lib/field/field-managers/base/BaseFieldManagerForEntity.js.map +1 -1
  15. package/dist/code-builder/lib/model/helpers.d.ts +1 -0
  16. package/dist/code-builder/lib/model/helpers.js +4 -0
  17. package/dist/code-builder/lib/model/helpers.js.map +1 -1
  18. package/dist/files/generate-model/controllers/__model@dasherize__.controller.ts +3 -2
  19. package/files/generate-model/controllers/__model@dasherize__.controller.ts +3 -2
  20. package/package.json +1 -1
  21. package/src/code-builder/lib/field/FieldManager.ts +1 -0
  22. package/src/code-builder/lib/field/decorator-managers/dto/ApiPropertyDecoratorManager.ts +127 -0
  23. package/src/code-builder/lib/field/decorator-managers/entity/JoinTableDecoratorManager.ts +10 -10
  24. package/src/code-builder/lib/field/field-managers/base/BaseFieldManagerForDto.ts +13 -3
  25. package/src/code-builder/lib/field/field-managers/base/BaseFieldManagerForEntity.ts +2 -2
  26. package/src/code-builder/lib/model/helpers.ts +4 -0
  27. package/solidstarters-solid-code-builder-1.0.7.tgz +0 -0
  28. package/src/code-builder/index.d.ts +0 -9
  29. package/src/code-builder/index.js +0 -178
  30. package/src/code-builder/index.js.map +0 -1
  31. package/src/code-builder/index_spec.d.ts +0 -1
  32. package/src/code-builder/index_spec.js +0 -46
  33. package/src/code-builder/index_spec.js.map +0 -1
  34. package/src/code-builder/lib/field/FieldManager.d.ts +0 -106
  35. package/src/code-builder/lib/field/FieldManager.js +0 -236
  36. package/src/code-builder/lib/field/FieldManager.js.map +0 -1
  37. package/src/code-builder/lib/field/decorator-managers/dto/ArrayDecoratorManager.d.ts +0 -26
  38. package/src/code-builder/lib/field/decorator-managers/dto/ArrayDecoratorManager.js +0 -107
  39. package/src/code-builder/lib/field/decorator-managers/dto/ArrayDecoratorManager.js.map +0 -1
  40. package/src/code-builder/lib/field/decorator-managers/dto/BigIntDecoratorManager.d.ts +0 -24
  41. package/src/code-builder/lib/field/decorator-managers/dto/BigIntDecoratorManager.js +0 -100
  42. package/src/code-builder/lib/field/decorator-managers/dto/BigIntDecoratorManager.js.map +0 -1
  43. package/src/code-builder/lib/field/decorator-managers/dto/BooleanDecoratorManager.d.ts +0 -24
  44. package/src/code-builder/lib/field/decorator-managers/dto/BooleanDecoratorManager.js +0 -102
  45. package/src/code-builder/lib/field/decorator-managers/dto/BooleanDecoratorManager.js.map +0 -1
  46. package/src/code-builder/lib/field/decorator-managers/dto/DateDecoratorManager.d.ts +0 -24
  47. package/src/code-builder/lib/field/decorator-managers/dto/DateDecoratorManager.js +0 -106
  48. package/src/code-builder/lib/field/decorator-managers/dto/DateDecoratorManager.js.map +0 -1
  49. package/src/code-builder/lib/field/decorator-managers/dto/DecimalDecoratorManager.js +0 -112
  50. package/src/code-builder/lib/field/decorator-managers/dto/DecimalDecoratorManager.js.map +0 -1
  51. package/src/code-builder/lib/field/decorator-managers/dto/EmailDecoratorManager.d.ts +0 -24
  52. package/src/code-builder/lib/field/decorator-managers/dto/EmailDecoratorManager.js +0 -99
  53. package/src/code-builder/lib/field/decorator-managers/dto/EmailDecoratorManager.js.map +0 -1
  54. package/src/code-builder/lib/field/decorator-managers/dto/IntDecoratorManager.d.ts +0 -24
  55. package/src/code-builder/lib/field/decorator-managers/dto/IntDecoratorManager.js +0 -100
  56. package/src/code-builder/lib/field/decorator-managers/dto/IntDecoratorManager.js.map +0 -1
  57. package/src/code-builder/lib/field/decorator-managers/dto/JsonDecoratorManager.d.ts +0 -24
  58. package/src/code-builder/lib/field/decorator-managers/dto/JsonDecoratorManager.js +0 -100
  59. package/src/code-builder/lib/field/decorator-managers/dto/JsonDecoratorManager.js.map +0 -1
  60. package/src/code-builder/lib/field/decorator-managers/dto/LengthDecoratorManager.d.ts +0 -25
  61. package/src/code-builder/lib/field/decorator-managers/dto/LengthDecoratorManager.js +0 -104
  62. package/src/code-builder/lib/field/decorator-managers/dto/LengthDecoratorManager.js.map +0 -1
  63. package/src/code-builder/lib/field/decorator-managers/dto/MaxDecoratorManager.d.ts +0 -25
  64. package/src/code-builder/lib/field/decorator-managers/dto/MaxDecoratorManager.js +0 -103
  65. package/src/code-builder/lib/field/decorator-managers/dto/MaxDecoratorManager.js.map +0 -1
  66. package/src/code-builder/lib/field/decorator-managers/dto/MaxLengthDecoratorManager.d.ts +0 -25
  67. package/src/code-builder/lib/field/decorator-managers/dto/MaxLengthDecoratorManager.js +0 -103
  68. package/src/code-builder/lib/field/decorator-managers/dto/MaxLengthDecoratorManager.js.map +0 -1
  69. package/src/code-builder/lib/field/decorator-managers/dto/MinDecoratorManager.d.ts +0 -25
  70. package/src/code-builder/lib/field/decorator-managers/dto/MinDecoratorManager.js +0 -102
  71. package/src/code-builder/lib/field/decorator-managers/dto/MinDecoratorManager.js.map +0 -1
  72. package/src/code-builder/lib/field/decorator-managers/dto/MinLengthDecoratorManager.d.ts +0 -25
  73. package/src/code-builder/lib/field/decorator-managers/dto/MinLengthDecoratorManager.js.map +0 -1
  74. package/src/code-builder/lib/field/decorator-managers/dto/NumberDecoratorManager.d.ts +0 -24
  75. package/src/code-builder/lib/field/decorator-managers/dto/NumberDecoratorManager.js +0 -112
  76. package/src/code-builder/lib/field/decorator-managers/dto/NumberDecoratorManager.js.map +0 -1
  77. package/src/code-builder/lib/field/decorator-managers/dto/OptionalDecoratorManager.d.ts +0 -26
  78. package/src/code-builder/lib/field/decorator-managers/dto/OptionalDecoratorManager.js +0 -104
  79. package/src/code-builder/lib/field/decorator-managers/dto/OptionalDecoratorManager.js.map +0 -1
  80. package/src/code-builder/lib/field/decorator-managers/dto/RegexDecoratorManager.d.ts +0 -25
  81. package/src/code-builder/lib/field/decorator-managers/dto/RegexDecoratorManager.js +0 -102
  82. package/src/code-builder/lib/field/decorator-managers/dto/RegexDecoratorManager.js.map +0 -1
  83. package/src/code-builder/lib/field/decorator-managers/dto/RequiredDecoratorManager.d.ts +0 -25
  84. package/src/code-builder/lib/field/decorator-managers/dto/RequiredDecoratorManager.js +0 -100
  85. package/src/code-builder/lib/field/decorator-managers/dto/RequiredDecoratorManager.js.map +0 -1
  86. package/src/code-builder/lib/field/decorator-managers/dto/StringDecoratorManager.d.ts +0 -24
  87. package/src/code-builder/lib/field/decorator-managers/dto/StringDecoratorManager.js +0 -99
  88. package/src/code-builder/lib/field/decorator-managers/dto/StringDecoratorManager.js.map +0 -1
  89. package/src/code-builder/lib/field/decorator-managers/dto/TransformDecoratorManager.d.ts +0 -25
  90. package/src/code-builder/lib/field/decorator-managers/dto/TransformDecoratorManager.js +0 -102
  91. package/src/code-builder/lib/field/decorator-managers/dto/TransformDecoratorManager.js.map +0 -1
  92. package/src/code-builder/lib/field/decorator-managers/dto/ValidateNestedDecoratorManager.d.ts +0 -30
  93. package/src/code-builder/lib/field/decorator-managers/dto/ValidateNestedDecoratorManager.js +0 -140
  94. package/src/code-builder/lib/field/decorator-managers/dto/ValidateNestedDecoratorManager.js.map +0 -1
  95. package/src/code-builder/lib/field/decorator-managers/entity/ColumnDecoratorManager.d.ts +0 -34
  96. package/src/code-builder/lib/field/decorator-managers/entity/ColumnDecoratorManager.js +0 -178
  97. package/src/code-builder/lib/field/decorator-managers/entity/ColumnDecoratorManager.js.map +0 -1
  98. package/src/code-builder/lib/field/decorator-managers/entity/IndexDecoratorManager.d.ts +0 -24
  99. package/src/code-builder/lib/field/decorator-managers/entity/IndexDecoratorManager.js +0 -79
  100. package/src/code-builder/lib/field/decorator-managers/entity/IndexDecoratorManager.js.map +0 -1
  101. package/src/code-builder/lib/field/decorator-managers/entity/JoinTableDecoratorManager.d.ts +0 -29
  102. package/src/code-builder/lib/field/decorator-managers/entity/JoinTableDecoratorManager.js +0 -118
  103. package/src/code-builder/lib/field/decorator-managers/entity/JoinTableDecoratorManager.js.map +0 -1
  104. package/src/code-builder/lib/field/decorator-managers/entity/ManyToManyDecoratorManager.d.ts +0 -37
  105. package/src/code-builder/lib/field/decorator-managers/entity/ManyToManyDecoratorManager.js +0 -175
  106. package/src/code-builder/lib/field/decorator-managers/entity/ManyToManyDecoratorManager.js.map +0 -1
  107. package/src/code-builder/lib/field/decorator-managers/entity/ManyToOneDecoratorManager.d.ts +0 -34
  108. package/src/code-builder/lib/field/decorator-managers/entity/ManyToOneDecoratorManager.js +0 -179
  109. package/src/code-builder/lib/field/decorator-managers/entity/ManyToOneDecoratorManager.js.map +0 -1
  110. package/src/code-builder/lib/field/decorator-managers/entity/OneToManyDecoratorManager.d.ts +0 -33
  111. package/src/code-builder/lib/field/decorator-managers/entity/OneToManyDecoratorManager.js +0 -155
  112. package/src/code-builder/lib/field/decorator-managers/entity/OneToManyDecoratorManager.js.map +0 -1
  113. package/src/code-builder/lib/field/decorator-managers/entity/UniqueIndexDecoratorManager.d.ts +0 -31
  114. package/src/code-builder/lib/field/decorator-managers/entity/UniqueIndexDecoratorManager.js +0 -174
  115. package/src/code-builder/lib/field/decorator-managers/entity/UniqueIndexDecoratorManager.js.map +0 -1
  116. package/src/code-builder/lib/field/field-managers/base/BaseFieldManagerForDto.d.ts +0 -51
  117. package/src/code-builder/lib/field/field-managers/base/BaseFieldManagerForDto.js +0 -345
  118. package/src/code-builder/lib/field/field-managers/base/BaseFieldManagerForDto.js.map +0 -1
  119. package/src/code-builder/lib/field/field-managers/base/BaseFieldManagerForEntity.d.ts +0 -58
  120. package/src/code-builder/lib/field/field-managers/base/BaseFieldManagerForEntity.js +0 -373
  121. package/src/code-builder/lib/field/field-managers/base/BaseFieldManagerForEntity.js.map +0 -1
  122. package/src/code-builder/lib/field/field-managers/base/DeleteType.d.ts +0 -6
  123. package/src/code-builder/lib/field/field-managers/base/DeleteType.js +0 -11
  124. package/src/code-builder/lib/field/field-managers/base/DeleteType.js.map +0 -1
  125. package/src/code-builder/lib/field/field-managers/bigint/BigIntFieldHandler.d.ts +0 -13
  126. package/src/code-builder/lib/field/field-managers/bigint/BigIntFieldHandler.js +0 -33
  127. package/src/code-builder/lib/field/field-managers/bigint/BigIntFieldHandler.js.map +0 -1
  128. package/src/code-builder/lib/field/field-managers/bigint/BigIntFieldManagerForDto.d.ts +0 -23
  129. package/src/code-builder/lib/field/field-managers/bigint/BigIntFieldManagerForDto.js +0 -81
  130. package/src/code-builder/lib/field/field-managers/bigint/BigIntFieldManagerForDto.js.map +0 -1
  131. package/src/code-builder/lib/field/field-managers/bigint/BigIntFieldManagerForEntity.d.ts +0 -13
  132. package/src/code-builder/lib/field/field-managers/bigint/BigIntFieldManagerForEntity.js +0 -55
  133. package/src/code-builder/lib/field/field-managers/bigint/BigIntFieldManagerForEntity.js.map +0 -1
  134. package/src/code-builder/lib/field/field-managers/boolean/BooleanFieldHandler.d.ts +0 -13
  135. package/src/code-builder/lib/field/field-managers/boolean/BooleanFieldHandler.js +0 -33
  136. package/src/code-builder/lib/field/field-managers/boolean/BooleanFieldHandler.js.map +0 -1
  137. package/src/code-builder/lib/field/field-managers/boolean/BooleanFieldManagerForDto.d.ts +0 -22
  138. package/src/code-builder/lib/field/field-managers/boolean/BooleanFieldManagerForDto.js +0 -75
  139. package/src/code-builder/lib/field/field-managers/boolean/BooleanFieldManagerForDto.js.map +0 -1
  140. package/src/code-builder/lib/field/field-managers/boolean/BooleanFieldManagerForEntity.d.ts +0 -13
  141. package/src/code-builder/lib/field/field-managers/boolean/BooleanFieldManagerForEntity.js +0 -51
  142. package/src/code-builder/lib/field/field-managers/boolean/BooleanFieldManagerForEntity.js.map +0 -1
  143. package/src/code-builder/lib/field/field-managers/computed/ComputedFieldHandler.d.ts +0 -14
  144. package/src/code-builder/lib/field/field-managers/computed/ComputedFieldHandler.js +0 -30
  145. package/src/code-builder/lib/field/field-managers/computed/ComputedFieldHandler.js.map +0 -1
  146. package/src/code-builder/lib/field/field-managers/computed/ComputedFieldManagerForEntity.d.ts +0 -11
  147. package/src/code-builder/lib/field/field-managers/computed/ComputedFieldManagerForEntity.js +0 -33
  148. package/src/code-builder/lib/field/field-managers/computed/ComputedFieldManagerForEntity.js.map +0 -1
  149. package/src/code-builder/lib/field/field-managers/date/DateFieldHandler.d.ts +0 -13
  150. package/src/code-builder/lib/field/field-managers/date/DateFieldHandler.js +0 -33
  151. package/src/code-builder/lib/field/field-managers/date/DateFieldHandler.js.map +0 -1
  152. package/src/code-builder/lib/field/field-managers/date/DateFieldManagerForDto.d.ts +0 -22
  153. package/src/code-builder/lib/field/field-managers/date/DateFieldManagerForDto.js +0 -81
  154. package/src/code-builder/lib/field/field-managers/date/DateFieldManagerForDto.js.map +0 -1
  155. package/src/code-builder/lib/field/field-managers/date/DateFieldManagerForEntity.d.ts +0 -13
  156. package/src/code-builder/lib/field/field-managers/date/DateFieldManagerForEntity.js +0 -59
  157. package/src/code-builder/lib/field/field-managers/date/DateFieldManagerForEntity.js.map +0 -1
  158. package/src/code-builder/lib/field/field-managers/decimal/DecimalFieldHandler.d.ts +0 -13
  159. package/src/code-builder/lib/field/field-managers/decimal/DecimalFieldHandler.js +0 -33
  160. package/src/code-builder/lib/field/field-managers/decimal/DecimalFieldHandler.js.map +0 -1
  161. package/src/code-builder/lib/field/field-managers/decimal/DecimalFieldManagerForDto.d.ts +0 -22
  162. package/src/code-builder/lib/field/field-managers/decimal/DecimalFieldManagerForDto.js +0 -77
  163. package/src/code-builder/lib/field/field-managers/decimal/DecimalFieldManagerForDto.js.map +0 -1
  164. package/src/code-builder/lib/field/field-managers/decimal/DecimalFieldManagerForEntity.d.ts +0 -13
  165. package/src/code-builder/lib/field/field-managers/decimal/DecimalFieldManagerForEntity.js +0 -53
  166. package/src/code-builder/lib/field/field-managers/decimal/DecimalFieldManagerForEntity.js.map +0 -1
  167. package/src/code-builder/lib/field/field-managers/email/EmailFieldHandler.d.ts +0 -14
  168. package/src/code-builder/lib/field/field-managers/email/EmailFieldHandler.js +0 -34
  169. package/src/code-builder/lib/field/field-managers/email/EmailFieldHandler.js.map +0 -1
  170. package/src/code-builder/lib/field/field-managers/email/EmailFieldManagerForDto.d.ts +0 -22
  171. package/src/code-builder/lib/field/field-managers/email/EmailFieldManagerForDto.js +0 -72
  172. package/src/code-builder/lib/field/field-managers/email/EmailFieldManagerForDto.js.map +0 -1
  173. package/src/code-builder/lib/field/field-managers/email/EmailFieldManagerForEntity.d.ts +0 -12
  174. package/src/code-builder/lib/field/field-managers/email/EmailFieldManagerForEntity.js +0 -44
  175. package/src/code-builder/lib/field/field-managers/email/EmailFieldManagerForEntity.js.map +0 -1
  176. package/src/code-builder/lib/field/field-managers/int/IntFieldHandler.d.ts +0 -13
  177. package/src/code-builder/lib/field/field-managers/int/IntFieldHandler.js +0 -33
  178. package/src/code-builder/lib/field/field-managers/int/IntFieldHandler.js.map +0 -1
  179. package/src/code-builder/lib/field/field-managers/int/IntFieldManagerForDto.d.ts +0 -22
  180. package/src/code-builder/lib/field/field-managers/int/IntFieldManagerForDto.js +0 -76
  181. package/src/code-builder/lib/field/field-managers/int/IntFieldManagerForDto.js.map +0 -1
  182. package/src/code-builder/lib/field/field-managers/int/IntFieldManagerForEntity.d.ts +0 -13
  183. package/src/code-builder/lib/field/field-managers/int/IntFieldManagerForEntity.js +0 -52
  184. package/src/code-builder/lib/field/field-managers/int/IntFieldManagerForEntity.js.map +0 -1
  185. package/src/code-builder/lib/field/field-managers/json/JsonFieldHandler.d.ts +0 -14
  186. package/src/code-builder/lib/field/field-managers/json/JsonFieldHandler.js +0 -34
  187. package/src/code-builder/lib/field/field-managers/json/JsonFieldHandler.js.map +0 -1
  188. package/src/code-builder/lib/field/field-managers/json/JsonFieldManagerForDto.d.ts +0 -20
  189. package/src/code-builder/lib/field/field-managers/json/JsonFieldManagerForDto.js +0 -57
  190. package/src/code-builder/lib/field/field-managers/json/JsonFieldManagerForDto.js.map +0 -1
  191. package/src/code-builder/lib/field/field-managers/json/JsonFieldManagerForEntity.d.ts +0 -9
  192. package/src/code-builder/lib/field/field-managers/json/JsonFieldManagerForEntity.js +0 -21
  193. package/src/code-builder/lib/field/field-managers/json/JsonFieldManagerForEntity.js.map +0 -1
  194. package/src/code-builder/lib/field/field-managers/long-text/LongTextFieldHandler.d.ts +0 -14
  195. package/src/code-builder/lib/field/field-managers/long-text/LongTextFieldHandler.js +0 -34
  196. package/src/code-builder/lib/field/field-managers/long-text/LongTextFieldHandler.js.map +0 -1
  197. package/src/code-builder/lib/field/field-managers/long-text/LongTextFieldManagerForDto.d.ts +0 -22
  198. package/src/code-builder/lib/field/field-managers/long-text/LongTextFieldManagerForDto.js +0 -63
  199. package/src/code-builder/lib/field/field-managers/long-text/LongTextFieldManagerForDto.js.map +0 -1
  200. package/src/code-builder/lib/field/field-managers/long-text/LongTextFieldManagerForEntity.d.ts +0 -11
  201. package/src/code-builder/lib/field/field-managers/long-text/LongTextFieldManagerForEntity.js +0 -34
  202. package/src/code-builder/lib/field/field-managers/long-text/LongTextFieldManagerForEntity.js.map +0 -1
  203. package/src/code-builder/lib/field/field-managers/media/MediaFieldHandler.d.ts +0 -13
  204. package/src/code-builder/lib/field/field-managers/media/MediaFieldHandler.js +0 -33
  205. package/src/code-builder/lib/field/field-managers/media/MediaFieldHandler.js.map +0 -1
  206. package/src/code-builder/lib/field/field-managers/media/MediaFieldManagerForDto.d.ts +0 -23
  207. package/src/code-builder/lib/field/field-managers/media/MediaFieldManagerForDto.js +0 -72
  208. package/src/code-builder/lib/field/field-managers/media/MediaFieldManagerForDto.js.map +0 -1
  209. package/src/code-builder/lib/field/field-managers/media/MediaFieldManagerForEntity.d.ts +0 -12
  210. package/src/code-builder/lib/field/field-managers/media/MediaFieldManagerForEntity.js +0 -57
  211. package/src/code-builder/lib/field/field-managers/media/MediaFieldManagerForEntity.js.map +0 -1
  212. package/src/code-builder/lib/field/field-managers/no-ops/NoOpsFieldHandler.d.ts +0 -13
  213. package/src/code-builder/lib/field/field-managers/no-ops/NoOpsFieldHandler.js +0 -27
  214. package/src/code-builder/lib/field/field-managers/no-ops/NoOpsFieldHandler.js.map +0 -1
  215. package/src/code-builder/lib/field/field-managers/no-ops/NoOpsFieldManagerForDto.d.ts +0 -24
  216. package/src/code-builder/lib/field/field-managers/no-ops/NoOpsFieldManagerForDto.js +0 -75
  217. package/src/code-builder/lib/field/field-managers/no-ops/NoOpsFieldManagerForDto.js.map +0 -1
  218. package/src/code-builder/lib/field/field-managers/no-ops/NoOpsFieldManagerForEntity.d.ts +0 -12
  219. package/src/code-builder/lib/field/field-managers/no-ops/NoOpsFieldManagerForEntity.js +0 -35
  220. package/src/code-builder/lib/field/field-managers/no-ops/NoOpsFieldManagerForEntity.js.map +0 -1
  221. package/src/code-builder/lib/field/field-managers/password/PasswordFieldHandler.d.ts +0 -14
  222. package/src/code-builder/lib/field/field-managers/password/PasswordFieldHandler.js +0 -34
  223. package/src/code-builder/lib/field/field-managers/password/PasswordFieldHandler.js.map +0 -1
  224. package/src/code-builder/lib/field/field-managers/password/PasswordFieldManagerForDto.d.ts +0 -29
  225. package/src/code-builder/lib/field/field-managers/password/PasswordFieldManagerForDto.js +0 -121
  226. package/src/code-builder/lib/field/field-managers/password/PasswordFieldManagerForDto.js.map +0 -1
  227. package/src/code-builder/lib/field/field-managers/password/PasswordFieldManagerForEntity.d.ts +0 -11
  228. package/src/code-builder/lib/field/field-managers/password/PasswordFieldManagerForEntity.js +0 -37
  229. package/src/code-builder/lib/field/field-managers/password/PasswordFieldManagerForEntity.js.map +0 -1
  230. package/src/code-builder/lib/field/field-managers/relation/ManyToManyRelationFieldHandler.d.ts +0 -13
  231. package/src/code-builder/lib/field/field-managers/relation/ManyToManyRelationFieldHandler.js +0 -33
  232. package/src/code-builder/lib/field/field-managers/relation/ManyToManyRelationFieldHandler.js.map +0 -1
  233. package/src/code-builder/lib/field/field-managers/relation/ManyToManyRelationFieldManagerForDto.d.ts +0 -51
  234. package/src/code-builder/lib/field/field-managers/relation/ManyToManyRelationFieldManagerForDto.js +0 -366
  235. package/src/code-builder/lib/field/field-managers/relation/ManyToManyRelationFieldManagerForDto.js.map +0 -1
  236. package/src/code-builder/lib/field/field-managers/relation/ManyToManyRelationFieldManagerForEntity.d.ts +0 -30
  237. package/src/code-builder/lib/field/field-managers/relation/ManyToManyRelationFieldManagerForEntity.js +0 -158
  238. package/src/code-builder/lib/field/field-managers/relation/ManyToManyRelationFieldManagerForEntity.js.map +0 -1
  239. package/src/code-builder/lib/field/field-managers/relation/ManyToOneRelationFieldHandler.d.ts +0 -13
  240. package/src/code-builder/lib/field/field-managers/relation/ManyToOneRelationFieldHandler.js +0 -33
  241. package/src/code-builder/lib/field/field-managers/relation/ManyToOneRelationFieldHandler.js.map +0 -1
  242. package/src/code-builder/lib/field/field-managers/relation/ManyToOneRelationFieldManagerForDto.d.ts +0 -43
  243. package/src/code-builder/lib/field/field-managers/relation/ManyToOneRelationFieldManagerForDto.js +0 -294
  244. package/src/code-builder/lib/field/field-managers/relation/ManyToOneRelationFieldManagerForDto.js.map +0 -1
  245. package/src/code-builder/lib/field/field-managers/relation/ManyToOneRelationFieldManagerForEntity.d.ts +0 -31
  246. package/src/code-builder/lib/field/field-managers/relation/ManyToOneRelationFieldManagerForEntity.js +0 -177
  247. package/src/code-builder/lib/field/field-managers/relation/ManyToOneRelationFieldManagerForEntity.js.map +0 -1
  248. package/src/code-builder/lib/field/field-managers/rich-text/RichTextFieldHandler.d.ts +0 -14
  249. package/src/code-builder/lib/field/field-managers/rich-text/RichTextFieldHandler.js +0 -34
  250. package/src/code-builder/lib/field/field-managers/rich-text/RichTextFieldHandler.js.map +0 -1
  251. package/src/code-builder/lib/field/field-managers/rich-text/RichTextFieldManagerForDto.d.ts +0 -22
  252. package/src/code-builder/lib/field/field-managers/rich-text/RichTextFieldManagerForDto.js +0 -63
  253. package/src/code-builder/lib/field/field-managers/rich-text/RichTextFieldManagerForDto.js.map +0 -1
  254. package/src/code-builder/lib/field/field-managers/rich-text/RichTextFieldManagerForEntity.d.ts +0 -11
  255. package/src/code-builder/lib/field/field-managers/rich-text/RichTextFieldManagerForEntity.js +0 -34
  256. package/src/code-builder/lib/field/field-managers/rich-text/RichTextFieldManagerForEntity.js.map +0 -1
  257. package/src/code-builder/lib/field/field-managers/short-text/ShortTextFieldHandler.d.ts +0 -14
  258. package/src/code-builder/lib/field/field-managers/short-text/ShortTextFieldHandler.js +0 -34
  259. package/src/code-builder/lib/field/field-managers/short-text/ShortTextFieldHandler.js.map +0 -1
  260. package/src/code-builder/lib/field/field-managers/short-text/ShortTextFieldManagerForDto.d.ts +0 -22
  261. package/src/code-builder/lib/field/field-managers/short-text/ShortTextFieldManagerForDto.js +0 -63
  262. package/src/code-builder/lib/field/field-managers/short-text/ShortTextFieldManagerForDto.js.map +0 -1
  263. package/src/code-builder/lib/field/field-managers/short-text/ShortTextFieldManagerForEntity.d.ts +0 -11
  264. package/src/code-builder/lib/field/field-managers/short-text/ShortTextFieldManagerForEntity.js +0 -37
  265. package/src/code-builder/lib/field/field-managers/short-text/ShortTextFieldManagerForEntity.js.map +0 -1
  266. package/src/code-builder/lib/field/field-managers/uuid/UUIDFieldHandler.d.ts +0 -14
  267. package/src/code-builder/lib/field/field-managers/uuid/UUIDFieldHandler.js +0 -34
  268. package/src/code-builder/lib/field/field-managers/uuid/UUIDFieldHandler.js.map +0 -1
  269. package/src/code-builder/lib/field/field-managers/uuid/UUIDFieldManagerForDto.d.ts +0 -8
  270. package/src/code-builder/lib/field/field-managers/uuid/UUIDFieldManagerForDto.js +0 -15
  271. package/src/code-builder/lib/field/field-managers/uuid/UUIDFieldManagerForDto.js.map +0 -1
  272. package/src/code-builder/lib/field/field-managers/uuid/UUIDFieldManagerForEntity.d.ts +0 -11
  273. package/src/code-builder/lib/field/field-managers/uuid/UUIDFieldManagerForEntity.js +0 -33
  274. package/src/code-builder/lib/field/field-managers/uuid/UUIDFieldManagerForEntity.js.map +0 -1
  275. package/src/code-builder/lib/model/helpers.d.ts +0 -49
  276. package/src/code-builder/lib/model/helpers.js +0 -407
  277. package/src/code-builder/lib/model/helpers.js.map +0 -1
@@ -1,31 +0,0 @@
1
- import ts, { ClassDeclaration } from "@schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript";
2
- import { Change } from "@schematics/angular/utility/change";
3
- import { PartialAddFieldChange } from "../../FieldManager";
4
- interface UniqueIndexDecoratorOptions {
5
- unique: boolean;
6
- fieldName: string;
7
- source: ts.SourceFile;
8
- field: any;
9
- }
10
- export declare class UniqueIndexDecoratorManager {
11
- options: UniqueIndexDecoratorOptions;
12
- classNode: ClassDeclaration;
13
- fieldNode?: ts.PropertyDeclaration | undefined;
14
- constructor(options: UniqueIndexDecoratorOptions, classNode: ClassDeclaration, fieldNode?: ts.PropertyDeclaration | undefined);
15
- isApplyDecorator(): boolean;
16
- decoratorName(): string;
17
- setFieldNode(fieldNode: ts.PropertyDeclaration): void;
18
- buildDecorator(): PartialAddFieldChange;
19
- decoratorImports(): Change[];
20
- updateDecorator(): [ClassDeclaration, Change[]];
21
- private findUniqueIndexDecorator;
22
- private createUniqueIndexDecorator;
23
- private createUniqueIndexDecoratorOptions;
24
- private optionsToPropertyAssignmentsOrNull;
25
- private filterOtherDecorators;
26
- private filterOtherIndexDecorators;
27
- private filterNonDecorators;
28
- private containsIdentifierName;
29
- private containsIndexForField;
30
- }
31
- export {};
@@ -1,174 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.UniqueIndexDecoratorManager = void 0;
7
- const typescript_1 = __importDefault(require("@schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript"));
8
- const ast_utils_1 = require("@schematics/angular/utility/ast-utils");
9
- class UniqueIndexDecoratorManager {
10
- constructor(options, classNode, fieldNode) {
11
- this.options = options;
12
- this.classNode = classNode;
13
- this.fieldNode = fieldNode;
14
- }
15
- isApplyDecorator() {
16
- return this.options.unique;
17
- }
18
- decoratorName() {
19
- return 'Index';
20
- }
21
- setFieldNode(fieldNode) {
22
- this.fieldNode = fieldNode;
23
- }
24
- buildDecorator() {
25
- const fieldSourceLines = [];
26
- const changes = [];
27
- const indexDecoratorLine = `@Index(["${this.options.fieldName}", "deletedTracker"], { unique: true })`;
28
- fieldSourceLines.push(indexDecoratorLine);
29
- changes.push(...this.decoratorImports());
30
- return {
31
- filePath: this.options.source.fileName,
32
- field: this.options.field,
33
- changes: changes,
34
- fieldSourceLines: fieldSourceLines,
35
- };
36
- }
37
- decoratorImports() {
38
- return [(0, ast_utils_1.insertImport)(this.options.source, this.options.source.fileName, this.decoratorName(), 'typeorm')];
39
- }
40
- //Updates the index decorator for the fieldNode based on the options provided
41
- // @returns the updated property declaration
42
- updateDecorator() {
43
- if (!this.classNode)
44
- throw new Error('Class node is required for updating the unique index decorator');
45
- let newModifiers = [];
46
- let existingModifiers = this.classNode.modifiers;
47
- // Get the existing unique index decorator if it exists
48
- const existingUniqueIndexDecorator = this.findUniqueIndexDecorator(existingModifiers);
49
- //Remove the Index decorator if the Index decorator exists
50
- newModifiers = [...this.filterOtherDecorators(this.decoratorName(), existingModifiers), ...this.filterOtherIndexDecorators(this.decoratorName(), this.options, existingModifiers), ...this.filterNonDecorators(existingModifiers)];
51
- //Add the column decorator if column decorator is required
52
- const changes = [];
53
- if (this.isApplyDecorator()) {
54
- newModifiers = [...newModifiers, this.createUniqueIndexDecorator(existingUniqueIndexDecorator)];
55
- changes.push(...this.decoratorImports());
56
- }
57
- // If field node is provided, replace the class members with the updated field node
58
- const newMembers = this.classNode.members.filter((member) => {
59
- // Check if the member is a PropertyDeclaration
60
- if (typescript_1.default.isPropertyDeclaration(member)) {
61
- // Compare the name of the property with the field name
62
- const memberName = member.name.getText();
63
- return memberName !== this.options.fieldName; // Exclude members with the matching field name
64
- }
65
- return true; // Keep non-PropertyDeclaration members
66
- });
67
- if (this.fieldNode) {
68
- newMembers.push(this.fieldNode);
69
- }
70
- // Update the class node with the new modifiers
71
- const updatedClass = typescript_1.default.factory.updateClassDeclaration(this.classNode, newModifiers, this.classNode.name, this.classNode.typeParameters, this.classNode.heritageClauses, newMembers);
72
- return [updatedClass, changes];
73
- }
74
- findUniqueIndexDecorator(existingModifiers) {
75
- return existingModifiers ? existingModifiers
76
- .filter((m) => (m.kind === typescript_1.default.SyntaxKind.Decorator))
77
- .map(m => m)
78
- .filter(m => this.containsIdentifierName(m, this.decoratorName()))
79
- .filter(m => this.containsIndexForField(m, this.options.fieldName))
80
- .pop()
81
- : undefined;
82
- }
83
- createUniqueIndexDecorator(existingDecorator) {
84
- // Capture the existing column decorator options
85
- let existingUniqueIndexDecoratorPropertyAssignments = [];
86
- if (existingDecorator !== undefined) {
87
- //Pre-set the column options from the existing column decorator
88
- const existingCallExpression = existingDecorator.expression;
89
- // Check if call expression has at least 2 arguments
90
- if (existingCallExpression.arguments.length > 1) {
91
- if (!typescript_1.default.isObjectLiteralExpression(existingCallExpression.arguments[1])) {
92
- throw new Error('Column decorator 1st arguments must be an object literal containing the column options');
93
- }
94
- const existingObjectLiteralExpression = existingCallExpression.arguments[1];
95
- existingUniqueIndexDecoratorPropertyAssignments.push(...existingObjectLiteralExpression.properties);
96
- }
97
- }
98
- // Create the new unique index decorator options as property assignments,
99
- const uniqueIndexDecoratorOptions = this.createUniqueIndexDecoratorOptions();
100
- const newPropertyAssignments = Array.from(uniqueIndexDecoratorOptions.values()).filter(p => p !== null);
101
- // Add the other unhandled column decorator options
102
- const handledColumnDecoratorOptions = Array.from(uniqueIndexDecoratorOptions.keys());
103
- //@ts-ignore
104
- const otherPropertyAssignments = existingUniqueIndexDecoratorPropertyAssignments.filter(ps => { var _a; return !handledColumnDecoratorOptions.includes((_a = ps.name) === null || _a === void 0 ? void 0 : _a.escapedText); });
105
- newPropertyAssignments.push(...otherPropertyAssignments);
106
- // Re-create the column decorator with the merged column decorator options
107
- const decoratorIdentifier = typescript_1.default.factory.createIdentifier(this.decoratorName());
108
- const fieldsArray = typescript_1.default.factory.createArrayLiteralExpression([
109
- typescript_1.default.factory.createStringLiteral(this.options.fieldName),
110
- typescript_1.default.factory.createStringLiteral("deletedTracker")
111
- ], false);
112
- const decoratorOptions = typescript_1.default.factory.createObjectLiteralExpression(newPropertyAssignments);
113
- const call = typescript_1.default.factory.createCallExpression(decoratorIdentifier, undefined, [fieldsArray, decoratorOptions]);
114
- return typescript_1.default.factory.createDecorator(call);
115
- }
116
- createUniqueIndexDecoratorOptions() {
117
- const options = new Map();
118
- options.set('unique', typescript_1.default.factory.createTrue());
119
- return this.optionsToPropertyAssignmentsOrNull(options);
120
- }
121
- optionsToPropertyAssignmentsOrNull(options) {
122
- const decoratorOptions = new Map();
123
- options.forEach((value, key) => {
124
- if (value !== null) {
125
- decoratorOptions.set(key, typescript_1.default.factory.createPropertyAssignment(typescript_1.default.factory.createIdentifier(key), value));
126
- }
127
- else {
128
- decoratorOptions.set(key, null);
129
- }
130
- });
131
- return decoratorOptions;
132
- }
133
- filterOtherDecorators(name, existingModifiers) {
134
- return existingModifiers ? existingModifiers.filter((m) => (m.kind === typescript_1.default.SyntaxKind.Decorator)).map(m => m).filter(m => !this.containsIdentifierName(m, name)) : [];
135
- }
136
- filterOtherIndexDecorators(name, decoratorOptions, existingModifiers) {
137
- return existingModifiers
138
- ? existingModifiers
139
- .filter((m) => (m.kind === typescript_1.default.SyntaxKind.Decorator))
140
- .map(m => m)
141
- .filter(m => this.containsIdentifierName(m, name))
142
- .filter(m => !this.containsIndexForField(m, decoratorOptions.fieldName))
143
- : [];
144
- }
145
- filterNonDecorators(existingModifiers) {
146
- return existingModifiers ? existingModifiers.filter((m) => (m.kind !== typescript_1.default.SyntaxKind.Decorator)).map(m => m) : [];
147
- }
148
- containsIdentifierName(m, identifierName) {
149
- const callExpression = m.expression;
150
- const identifier = callExpression.expression;
151
- return identifier.text === identifierName;
152
- }
153
- containsIndexForField(m, fieldName) {
154
- // Check if the Index decorator contains the field name
155
- const callExpression = m.expression;
156
- const args = callExpression.arguments;
157
- if (args.length === 0)
158
- return false;
159
- let indexAlreadyPresent = false;
160
- const fields = args[0];
161
- if (typescript_1.default.isArrayLiteralExpression(fields)) {
162
- const fieldNames = fields.elements.map(e => e.getText().replace(/^["']|["']$/g, ""));
163
- // Check if fieldNames only contains the field name and deletedTracker
164
- indexAlreadyPresent = fieldNames.includes(fieldName) && fieldNames.includes('deletedTracker') && fieldNames.length === 2;
165
- console.log('fieldNames', fieldNames);
166
- console;
167
- }
168
- if (!indexAlreadyPresent)
169
- return false;
170
- return true;
171
- }
172
- }
173
- exports.UniqueIndexDecoratorManager = UniqueIndexDecoratorManager;
174
- //# sourceMappingURL=UniqueIndexDecoratorManager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UniqueIndexDecoratorManager.js","sourceRoot":"","sources":["UniqueIndexDecoratorManager.ts"],"names":[],"mappings":"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"}
@@ -1,51 +0,0 @@
1
- import { Tree } from '@angular-devkit/schematics';
2
- import ts, { SourceFile } from '@schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript';
3
- import { Change } from '@schematics/angular/utility/change';
4
- import { DecoratorManager, DecoratorType, DefaultValueInitializer, FieldChange, FieldManager, FieldType, ManagerForDtoOptions, PartialAddFieldChange } from '../../FieldManager';
5
- export declare abstract class BaseFieldManagerForDto implements FieldManager {
6
- protected readonly moduleName: string;
7
- protected readonly modelName: string;
8
- protected readonly field: any;
9
- protected readonly options: ManagerForDtoOptions;
10
- source: SourceFile;
11
- decoratorManagers: DecoratorManager[];
12
- constructor(tree: Tree, moduleName: string, modelName: string, field: any, options: ManagerForDtoOptions);
13
- removeField(): FieldChange[];
14
- fieldName(): string;
15
- protected removeFieldFor(fieldName: string, fieldSource: SourceFile): FieldChange;
16
- protected getFieldIdentifierNode(fieldName: string, fieldSource: SourceFile): ts.Node | undefined;
17
- protected isFieldPresent(fieldName: string, fieldSource: SourceFile): boolean;
18
- protected addFieldInternal(fieldName: string, fieldType: string, decoratorManagers: DecoratorManager[], field: any, modelName: any, source: ts.SourceFile): FieldChange;
19
- private buildPropertyLine;
20
- addField(): FieldChange[];
21
- protected updateFieldInternal(fieldName: string, fieldType: ts.TypeNode, decoratorManagers: DecoratorManager[], field: any, source: ts.SourceFile): FieldChange;
22
- updateField(): FieldChange[];
23
- protected addAdditionalField(): FieldChange[];
24
- protected addOrUpdateAdditionalField(): FieldChange[];
25
- protected removeAdditionalField(): FieldChange[];
26
- updateFieldType(fieldPropertyDeclarationNode: ts.PropertyDeclaration, newTypeNode?: ts.TypeNode): ts.PropertyDeclaration;
27
- abstract fieldType(): FieldType;
28
- abstract isString(): boolean;
29
- abstract isNumber(): boolean;
30
- abstract isInt(): boolean;
31
- abstract isDecimal(): boolean;
32
- abstract isApplyRegex(): boolean;
33
- abstract isApplyRequired(): boolean;
34
- abstract isApplyMin(): boolean;
35
- abstract isApplyMax(): boolean;
36
- abstract isDate(): boolean;
37
- abstract isTransform(): boolean;
38
- abstract isJson(): boolean;
39
- abstract isBoolean(): boolean;
40
- protected isBigInt(): boolean;
41
- protected isApplyMinLength(): boolean;
42
- protected isApplyMaxLength(): boolean;
43
- protected applyUpdateDecoratorTransformations(fieldPropertyDeclarationNode: ts.PropertyDeclaration, ...transformers: DecoratorManager[]): [ts.PropertyDeclaration, Change[]];
44
- protected applyBuildDecoratorTransformations(...transformers: DecoratorManager[]): PartialAddFieldChange[];
45
- protected calculateReplaceChanges(updatedPropertyDeclarationNodeText: string, fieldPropertyDeclarationNode: ts.PropertyDeclaration, source: ts.SourceFile): Change[];
46
- protected printNode(updatedPropertyDeclarationNode: ts.PropertyDeclaration, nodeSource: SourceFile): string;
47
- protected isAdditionalFieldRequired(): boolean;
48
- protected getFieldDecoratorManagers(field: any, source: SourceFile, ...decoratorTypes: DecoratorType[]): DecoratorManager[];
49
- protected parseDefaultValue(defaultValueConfig: string): any | null;
50
- protected defaultValueInitializer(defaultValueConfig: string): DefaultValueInitializer | null;
51
- }
@@ -1,345 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.BaseFieldManagerForDto = void 0;
7
- const strings_1 = require("@angular-devkit/core/src/utils/strings");
8
- const typescript_1 = __importDefault(require("@schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript"));
9
- const ast_utils_1 = require("@schematics/angular/utility/ast-utils");
10
- const change_1 = require("@schematics/angular/utility/change");
11
- const FieldManager_1 = require("../../FieldManager");
12
- const ArrayDecoratorManager_1 = require("../../decorator-managers/dto/ArrayDecoratorManager");
13
- const BooleanDecoratorManager_1 = require("../../decorator-managers/dto/BooleanDecoratorManager");
14
- const DateDecoratorManager_1 = require("../../decorator-managers/dto/DateDecoratorManager");
15
- const DecimalDecoratorManager_1 = require("../../decorator-managers/dto/DecimalDecoratorManager");
16
- const IntDecoratorManager_1 = require("../../decorator-managers/dto/IntDecoratorManager");
17
- const JsonDecoratorManager_1 = require("../../decorator-managers/dto/JsonDecoratorManager");
18
- const MaxDecoratorManager_1 = require("../../decorator-managers/dto/MaxDecoratorManager");
19
- const MinDecoratorManager_1 = require("../../decorator-managers/dto/MinDecoratorManager");
20
- const NumberDecoratorManager_1 = require("../../decorator-managers/dto/NumberDecoratorManager");
21
- const OptionalDecoratorManager_1 = require("../../decorator-managers/dto/OptionalDecoratorManager");
22
- const RegexDecoratorManager_1 = require("../../decorator-managers/dto/RegexDecoratorManager");
23
- const RequiredDecoratorManager_1 = require("../../decorator-managers/dto/RequiredDecoratorManager");
24
- const StringDecoratorManager_1 = require("../../decorator-managers/dto/StringDecoratorManager");
25
- const TransformDecoratorManager_1 = require("../../decorator-managers/dto/TransformDecoratorManager");
26
- const ValidateNestedDecoratorManager_1 = require("../../decorator-managers/dto/ValidateNestedDecoratorManager");
27
- const BigIntDecoratorManager_1 = require("../../decorator-managers/dto/BigIntDecoratorManager");
28
- const MaxLengthDecoratorManager_1 = require("../../decorator-managers/dto/MaxLengthDecoratorManager");
29
- const MinLengthDecoratorManager_1 = require("../../decorator-managers/dto/MinLengthDecoratorManager");
30
- // This class manages the field generation for the DTOs
31
- // It adds validation decorators to the fields
32
- // The validation decorators added use the class-validator library
33
- class BaseFieldManagerForDto {
34
- constructor(tree, moduleName, modelName, field, options) {
35
- this.moduleName = moduleName;
36
- this.modelName = modelName;
37
- this.field = field;
38
- this.options = options;
39
- const sourceFileName = (options.sourceType === FieldManager_1.DtoSourceType.Create) ? `create-${(0, strings_1.dasherize)(modelName)}.dto.ts` : `update-${(0, strings_1.dasherize)(modelName)}.dto.ts`;
40
- const sourcePath = `src/${(0, strings_1.dasherize)(moduleName)}/dtos/${sourceFileName}`;
41
- this.source = (0, FieldManager_1.createSourceFile)(tree, sourcePath);
42
- this.decoratorManagers = this.getFieldDecoratorManagers(this.field, this.source, FieldManager_1.DecoratorType.Max, FieldManager_1.DecoratorType.Min, FieldManager_1.DecoratorType.MinLength, FieldManager_1.DecoratorType.MaxLength, FieldManager_1.DecoratorType.Required, FieldManager_1.DecoratorType.Optional, FieldManager_1.DecoratorType.Regex, FieldManager_1.DecoratorType.Number, FieldManager_1.DecoratorType.Int, FieldManager_1.DecoratorType.Decimal, FieldManager_1.DecoratorType.String, FieldManager_1.DecoratorType.Date, FieldManager_1.DecoratorType.Boolean, FieldManager_1.DecoratorType.Json);
43
- }
44
- removeField() {
45
- const fieldChanges = [];
46
- console.log(`Dto removeField ${this.fieldName()} called ...`);
47
- fieldChanges.push(this.removeFieldFor(this.fieldName(), this.source));
48
- if (this.isAdditionalFieldRequired()) {
49
- fieldChanges.push(...this.removeAdditionalField());
50
- }
51
- return fieldChanges;
52
- }
53
- fieldName() {
54
- return this.field.name;
55
- }
56
- removeFieldFor(fieldName, fieldSource) {
57
- const fieldIdentifierNode = this.getFieldIdentifierNode(fieldName, fieldSource);
58
- if (fieldIdentifierNode == null) {
59
- // throw new Error(`Could not remove field. Field: ${fieldName} is missing in entity ${classify(this.modelName)}.`);
60
- return {
61
- filePath: this.source.fileName,
62
- field: this.field,
63
- changes: [],
64
- };
65
- }
66
- const propertyDeclarationNode = fieldIdentifierNode.parent;
67
- return {
68
- filePath: fieldSource.fileName,
69
- field: this.field,
70
- changes: [
71
- new FieldManager_1.RemoveChangeSSS(fieldSource.fileName, propertyDeclarationNode.pos, propertyDeclarationNode.getFullText()),
72
- ],
73
- };
74
- }
75
- getFieldIdentifierNode(fieldName, fieldSource) {
76
- return (0, ast_utils_1.findNodes)(fieldSource, typescript_1.default.SyntaxKind.Identifier)
77
- .filter((node) => node.getText() === fieldName)
78
- .filter((node) => (node === null || node === void 0 ? void 0 : node.parent) && typescript_1.default.isPropertyDeclaration(node === null || node === void 0 ? void 0 : node.parent))
79
- .pop();
80
- }
81
- isFieldPresent(fieldName, fieldSource) {
82
- return this.getFieldIdentifierNode(fieldName, fieldSource) != null;
83
- }
84
- addFieldInternal(fieldName, fieldType, decoratorManagers, field, modelName, source) {
85
- //FIXME There might a case where the main field is not present, but additional field is present. Do we update the fields or throw an error. Needs to be discussed
86
- // For now, we assume, that if primary field is not present, then additional field is also not present
87
- if (this.isFieldPresent(fieldName, source)) {
88
- return {
89
- filePath: source.fileName,
90
- field: field,
91
- changes: [],
92
- };
93
- // throw new Error(
94
- // `Field: ${fieldName} already exists in entity ${classify(modelName)}. Use the updateField() method to modify the field`
95
- // );
96
- }
97
- const fieldSourceLines = [];
98
- const changes = [];
99
- //Add the dto field declaration
100
- let dtoPropertyLine = this.buildPropertyLine(fieldName, fieldType, field.defaultValue);
101
- fieldSourceLines.push(dtoPropertyLine);
102
- //Add the decorators to the field declaration
103
- const builderChanges = [];
104
- builderChanges.push(...this.applyBuildDecoratorTransformations(...decoratorManagers.reverse()));
105
- // Capture the changes and field source lines
106
- builderChanges.forEach((builderChange) => {
107
- changes.push(...builderChange.changes);
108
- fieldSourceLines.push(...builderChange.fieldSourceLines);
109
- });
110
- // Create the field definition changes
111
- // const classNode = findNodes(source, ts.SyntaxKind.ClassDeclaration)[0];
112
- const className = (this.options.sourceType === FieldManager_1.DtoSourceType.Create) ? `Create${(0, strings_1.classify)(modelName)}Dto` : `Update${(0, strings_1.classify)(modelName)}Dto`;
113
- const classNode = (0, FieldManager_1.getClassNode)(className, source);
114
- if (!classNode) {
115
- throw new Error(`Class ${className} not found in file ${source.fileName}`);
116
- }
117
- const fieldDefinition = `\n${fieldSourceLines.reverse().join('\n')}\n`;
118
- changes.push(new change_1.InsertChange(source.fileName, classNode.end - 1, fieldDefinition));
119
- return {
120
- filePath: source.fileName,
121
- field: field,
122
- changes: changes,
123
- };
124
- }
125
- buildPropertyLine(fieldName, fieldType, defaultConfigValue) {
126
- var _a, _b;
127
- let entityPropertyLine = `${fieldName}: ${fieldType}`;
128
- const defaultValue = (_b = (_a = this.defaultValueInitializer(defaultConfigValue)) === null || _a === void 0 ? void 0 : _a.text) !== null && _b !== void 0 ? _b : null;
129
- if (defaultValue) {
130
- entityPropertyLine += ` = ${defaultValue}`;
131
- }
132
- entityPropertyLine += ';';
133
- return entityPropertyLine;
134
- }
135
- addField() {
136
- const fieldChanges = [];
137
- const fieldName = this.fieldName();
138
- const fieldType = this.fieldType().text;
139
- const source = this.source;
140
- const field = this.field;
141
- const modelName = this.modelName;
142
- const decoratorManagers = this.decoratorManagers;
143
- fieldChanges.push(this.addFieldInternal(fieldName, fieldType, decoratorManagers, field, modelName, source));
144
- if (this.isAdditionalFieldRequired()) {
145
- // Get the related field property declaration node
146
- fieldChanges.push(...this.addAdditionalField());
147
- }
148
- return fieldChanges;
149
- }
150
- updateFieldInternal(fieldName, fieldType, decoratorManagers, field, source) {
151
- var _a;
152
- const changes = [];
153
- // Get the field property declaration node
154
- const fieldPropertyDeclarationNode = (_a = this.getFieldIdentifierNode(fieldName, source)) === null || _a === void 0 ? void 0 : _a.parent;
155
- // FIXME Handle the imports related to the updated field type
156
- // Update the entity property declaration type
157
- let updatedPropertyDeclarationNode = this.updateFieldType(fieldPropertyDeclarationNode, fieldType);
158
- // Apply the decorator transformations to the field property declaration node
159
- const [updatedPropertyDeclarationNodeTransformed, decoratorChanges] = this.applyUpdateDecoratorTransformations(updatedPropertyDeclarationNode, ...decoratorManagers);
160
- updatedPropertyDeclarationNode = updatedPropertyDeclarationNodeTransformed;
161
- changes.push(...decoratorChanges);
162
- changes.push(...this.calculateReplaceChanges(this.printNode(updatedPropertyDeclarationNode, source), fieldPropertyDeclarationNode, source));
163
- return {
164
- filePath: source.fileName,
165
- field: field,
166
- changes: changes,
167
- };
168
- }
169
- updateField() {
170
- const fieldChanges = [];
171
- console.log(`\ncreate Dto updateField ${this.fieldName()} called ...`);
172
- const fieldName = this.fieldName();
173
- const fieldType = this.fieldType().node(this.field);
174
- const source = this.source;
175
- const field = this.field;
176
- const decoratorManagers = this.decoratorManagers;
177
- //Validate if field exists
178
- if (!this.isFieldPresent(this.fieldName(), this.source)) {
179
- return this.addField();
180
- }
181
- const fieldChange = this.updateFieldInternal(fieldName, fieldType, decoratorManagers, field, source);
182
- fieldChanges.push(fieldChange);
183
- if (this.isAdditionalFieldRequired()) {
184
- // Get the related field property declaration node
185
- fieldChanges.push(...this.addOrUpdateAdditionalField()); // TODO This needs to be refactored and renamed to updateAdditionalField, since it is confusing
186
- }
187
- else {
188
- // fieldChanges.push(this.removeAdditionalField()); //FIXME temporary fix, to check update module command
189
- }
190
- return fieldChanges;
191
- }
192
- addAdditionalField() {
193
- throw new Error(`addAdditionalField method not implemented for field ${this.fieldName()} of type ${this.field.type}`);
194
- }
195
- addOrUpdateAdditionalField() {
196
- throw new Error(`addOrUpdateAdditionalField method not implemented for field ${this.fieldName()} of type ${this.field.type}`);
197
- }
198
- removeAdditionalField() {
199
- return [{
200
- filePath: this.source.fileName,
201
- field: this.field,
202
- changes: [],
203
- }];
204
- }
205
- updateFieldType(fieldPropertyDeclarationNode, newTypeNode) {
206
- // console.log(
207
- // `\nEntity updateFieldType ${this.fieldName()} called ... with existing field type: ${fieldPropertyDeclarationNode.type?.getText()}`,
208
- // );
209
- // const newTypeNode: ts.TypeNode = this.fieldType().node(this.field);
210
- const updatedPropertyDeclaration = typescript_1.default.factory.updatePropertyDeclaration(fieldPropertyDeclarationNode, fieldPropertyDeclarationNode.modifiers, fieldPropertyDeclarationNode.name, fieldPropertyDeclarationNode.questionToken, newTypeNode, // Replace with new type node
211
- fieldPropertyDeclarationNode.initializer);
212
- return updatedPropertyDeclaration;
213
- }
214
- isBigInt() {
215
- return false;
216
- }
217
- ;
218
- isApplyMinLength() {
219
- return false;
220
- }
221
- isApplyMaxLength() {
222
- return false;
223
- }
224
- applyUpdateDecoratorTransformations(fieldPropertyDeclarationNode, ...transformers) {
225
- let updatedPropertyDeclarationNode = fieldPropertyDeclarationNode;
226
- const changes = [];
227
- transformers.forEach(updateTransformation());
228
- return [updatedPropertyDeclarationNode, changes];
229
- function updateTransformation() {
230
- return transformer => {
231
- transformer.setFieldNode(updatedPropertyDeclarationNode);
232
- try {
233
- const [updatedPropertyDeclaration, updateChanges] = transformer.updateDecorator();
234
- updatedPropertyDeclarationNode = updatedPropertyDeclaration;
235
- changes.push(...updateChanges);
236
- }
237
- catch (error) {
238
- // console.log(`Error updating decorator for ${transformer.decoratorName()} with message: ${error.message}`);
239
- throw error;
240
- }
241
- };
242
- }
243
- }
244
- applyBuildDecoratorTransformations(...transformers) {
245
- const partialFieldChanges = [];
246
- transformers.forEach(buildTransformation());
247
- return partialFieldChanges;
248
- function buildTransformation() {
249
- return transformer => {
250
- if (!transformer.isApplyDecorator())
251
- return;
252
- try {
253
- partialFieldChanges.push(transformer.buildDecorator());
254
- }
255
- catch (error) {
256
- // console.log(`Error building decorator for ${transformer.decoratorName()} with message: ${error.message}`);
257
- throw error;
258
- }
259
- };
260
- }
261
- }
262
- calculateReplaceChanges(updatedPropertyDeclarationNodeText, fieldPropertyDeclarationNode, source) {
263
- const changes = [];
264
- if (updatedPropertyDeclarationNodeText.trim() !==
265
- fieldPropertyDeclarationNode.getFullText().trim()) {
266
- console.log(`Updated Code:\n${updatedPropertyDeclarationNodeText.trim()}\nwith length ${updatedPropertyDeclarationNodeText.trim().length}\n`);
267
- console.log(`Old Code:\n${fieldPropertyDeclarationNode.getFullText().trim()}\nwith length ${fieldPropertyDeclarationNode.getFullText().trim().length}\n`);
268
- const replaceChange = new FieldManager_1.ReplaceChangeSSS(source.fileName, fieldPropertyDeclarationNode.pos, fieldPropertyDeclarationNode.getFullText(), `\n\n${updatedPropertyDeclarationNodeText}`);
269
- changes.push(replaceChange);
270
- }
271
- return changes;
272
- }
273
- printNode(updatedPropertyDeclarationNode, nodeSource) {
274
- const printer = typescript_1.default.createPrinter({
275
- newLine: typescript_1.default.NewLineKind.LineFeed,
276
- removeComments: false,
277
- omitTrailingSemicolon: false,
278
- });
279
- const updatedPropertyDeclarationNodeText = printer.printNode(typescript_1.default.EmitHint.Unspecified, updatedPropertyDeclarationNode, nodeSource);
280
- return updatedPropertyDeclarationNodeText;
281
- }
282
- isAdditionalFieldRequired() {
283
- return false;
284
- }
285
- //FIXME: This code is not useful, better initialize the decorators using the constructor, for now
286
- getFieldDecoratorManagers(field, source, ...decoratorTypes) {
287
- return decoratorTypes.map((decoratorType) => {
288
- switch (decoratorType) {
289
- case FieldManager_1.DecoratorType.Max:
290
- return new MaxDecoratorManager_1.MaxDecoratorManager({ isApplyMax: this.isApplyMax(), max: field.max, source: source, field: field });
291
- case FieldManager_1.DecoratorType.Min:
292
- return new MinDecoratorManager_1.MinDecoratorManager({ isApplyMin: this.isApplyMin(), min: field.min, source: source, field: field });
293
- case FieldManager_1.DecoratorType.MinLength:
294
- return new MinLengthDecoratorManager_1.MinLengthDecoratorManager({ isApplyMinLength: this.isApplyMinLength(), length: field.min, source: source, field: field });
295
- case FieldManager_1.DecoratorType.MaxLength:
296
- return new MaxLengthDecoratorManager_1.MaxLengthDecoratorManager({ isApplyMaxLength: this.isApplyMaxLength(), length: field.max, source: source, field: field });
297
- case FieldManager_1.DecoratorType.Required:
298
- return new RequiredDecoratorManager_1.RequiredDecoratorManager({ isApplyRequired: true, required: field.required, source: source, field: field });
299
- case FieldManager_1.DecoratorType.Optional:
300
- return new OptionalDecoratorManager_1.OptionalDecoratorManager({ isApplyOptional: true, optional: (this.options.sourceType === FieldManager_1.DtoSourceType.Update || !field.required), source: source, field: field });
301
- case FieldManager_1.DecoratorType.Regex:
302
- return new RegexDecoratorManager_1.RegexDecoratorManager({ isApplyRegex: this.isApplyRegex(), regexPattern: field.regexPattern, source: source, field: field });
303
- case FieldManager_1.DecoratorType.Number:
304
- return new NumberDecoratorManager_1.NumberDecoratorManager({ isNumber: this.isNumber(), source: source, field: field });
305
- case FieldManager_1.DecoratorType.String:
306
- return new StringDecoratorManager_1.StringDecoratorManager({ isString: this.isString(), source: source, field: field });
307
- case FieldManager_1.DecoratorType.Int:
308
- return new IntDecoratorManager_1.IntDecoratorManager({ isInt: this.isInt(), source: source, field: field });
309
- case FieldManager_1.DecoratorType.Decimal:
310
- return new DecimalDecoratorManager_1.DecimalDecoratorManager({ isDecimal: this.isDecimal(), source: source, field: field });
311
- case FieldManager_1.DecoratorType.BigInt:
312
- return new BigIntDecoratorManager_1.BigIntDecoratorManager({ isBigInt: this.isBigInt(), source: source, field: field });
313
- case FieldManager_1.DecoratorType.Date:
314
- return new DateDecoratorManager_1.DateDecoratorManager({ isDate: this.isDate(), source: source, field: field });
315
- case FieldManager_1.DecoratorType.Boolean:
316
- return new BooleanDecoratorManager_1.BooleanDecoratorManager({ isBoolean: this.isBoolean(), source: source, field: field });
317
- case FieldManager_1.DecoratorType.Json:
318
- return new JsonDecoratorManager_1.JsonDecoratorManager({ isJson: this.isJson(), source: source, field: field });
319
- case FieldManager_1.DecoratorType.Transform:
320
- return new TransformDecoratorManager_1.TransformDecoratorManager({ isTransform: true, type: this.fieldType().text.replace("[]", ""), source: source, field: field });
321
- case FieldManager_1.DecoratorType.Array:
322
- return new ArrayDecoratorManager_1.ArrayDecoratorManager({ isArray: true, source: source, field: field });
323
- case FieldManager_1.DecoratorType.ValidateNested:
324
- return new ValidateNestedDecoratorManager_1.ValidateNestedDecoratorManager({ isValidateNested: true, source: source, field: field });
325
- }
326
- });
327
- }
328
- parseDefaultValue(defaultValueConfig) {
329
- if (!defaultValueConfig)
330
- return null;
331
- return defaultValueConfig;
332
- }
333
- defaultValueInitializer(defaultValueConfig) {
334
- const defaultValue = this.parseDefaultValue(defaultValueConfig);
335
- if (!defaultValue)
336
- return null;
337
- return {
338
- value: defaultValue,
339
- text: `"${defaultValue.toString()}"`,
340
- expression: typescript_1.default.factory.createStringLiteral(defaultValue.toString())
341
- };
342
- }
343
- }
344
- exports.BaseFieldManagerForDto = BaseFieldManagerForDto;
345
- //# sourceMappingURL=BaseFieldManagerForDto.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BaseFieldManagerForDto.js","sourceRoot":"","sources":["BaseFieldManagerForDto.ts"],"names":[],"mappings":"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"}