@steroidsjs/nest 1.1.32 → 1.2.0

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 (354) hide show
  1. package/jest.e2e.config.d.ts +3 -0
  2. package/jest.e2e.config.js +12 -0
  3. package/jest.e2e.config.js.map +1 -0
  4. package/package.json +13 -4
  5. package/{domain → src/domain}/base/BaseEnum.d.ts +0 -0
  6. package/{domain → src/domain}/base/BaseEnum.js +0 -0
  7. package/src/domain/base/BaseEnum.js.map +1 -0
  8. package/{index.d.ts → src/index.d.ts} +0 -0
  9. package/{index.js → src/index.js} +0 -0
  10. package/src/index.js.map +1 -0
  11. package/{infrastructure → src/infrastructure}/base/DatabaseNamingStrategy.d.ts +0 -0
  12. package/{infrastructure → src/infrastructure}/base/DatabaseNamingStrategy.js +0 -0
  13. package/src/infrastructure/base/DatabaseNamingStrategy.js.map +1 -0
  14. package/{infrastructure → src/infrastructure}/commands/MigrateCommand.d.ts +0 -0
  15. package/{infrastructure → src/infrastructure}/commands/MigrateCommand.js +0 -0
  16. package/src/infrastructure/commands/MigrateCommand.js.map +1 -0
  17. package/{infrastructure → src/infrastructure}/commands/dbml/dbml2code.d.ts +0 -0
  18. package/{infrastructure → src/infrastructure}/commands/dbml/dbml2code.js +0 -0
  19. package/src/infrastructure/commands/dbml/dbml2code.js.map +1 -0
  20. package/{infrastructure → src/infrastructure}/commands/dbml/templates.d.ts +0 -0
  21. package/{infrastructure → src/infrastructure}/commands/dbml/templates.js +1 -1
  22. package/src/infrastructure/commands/dbml/templates.js.map +1 -0
  23. package/{infrastructure → src/infrastructure}/commands/generate/CustomPostgresQueryRunner.d.ts +0 -0
  24. package/{infrastructure → src/infrastructure}/commands/generate/CustomPostgresQueryRunner.js +0 -0
  25. package/src/infrastructure/commands/generate/CustomPostgresQueryRunner.js.map +1 -0
  26. package/{infrastructure → src/infrastructure}/commands/generate/CustomRdbmsSchemaBuilder.d.ts +0 -0
  27. package/{infrastructure → src/infrastructure}/commands/generate/CustomRdbmsSchemaBuilder.js +0 -0
  28. package/src/infrastructure/commands/generate/CustomRdbmsSchemaBuilder.js.map +1 -0
  29. package/{infrastructure → src/infrastructure}/commands/generate/index.d.ts +0 -0
  30. package/{infrastructure → src/infrastructure}/commands/generate/index.js +0 -0
  31. package/src/infrastructure/commands/generate/index.js.map +1 -0
  32. package/{infrastructure → src/infrastructure}/decorators/ApiOkSearchResponse.d.ts +0 -0
  33. package/{infrastructure → src/infrastructure}/decorators/ApiOkSearchResponse.js +0 -0
  34. package/src/infrastructure/decorators/ApiOkSearchResponse.js.map +1 -0
  35. package/src/infrastructure/decorators/Computable.d.ts +3 -0
  36. package/src/infrastructure/decorators/Computable.js +7 -0
  37. package/src/infrastructure/decorators/Computable.js.map +1 -0
  38. package/{infrastructure → src/infrastructure}/decorators/Context.d.ts +0 -0
  39. package/{infrastructure → src/infrastructure}/decorators/Context.js +0 -0
  40. package/src/infrastructure/decorators/Context.js.map +1 -0
  41. package/{infrastructure → src/infrastructure}/decorators/TableFromModel.d.ts +1 -0
  42. package/{infrastructure → src/infrastructure}/decorators/TableFromModel.js +7 -1
  43. package/src/infrastructure/decorators/TableFromModel.js.map +1 -0
  44. package/src/infrastructure/decorators/Transform.d.ts +15 -0
  45. package/src/infrastructure/decorators/Transform.js +19 -0
  46. package/src/infrastructure/decorators/Transform.js.map +1 -0
  47. package/{infrastructure → src/infrastructure}/decorators/fields/BaseField.d.ts +3 -0
  48. package/{infrastructure → src/infrastructure}/decorators/fields/BaseField.js +7 -2
  49. package/src/infrastructure/decorators/fields/BaseField.js.map +1 -0
  50. package/{infrastructure → src/infrastructure}/decorators/fields/BooleanField.d.ts +0 -0
  51. package/{infrastructure → src/infrastructure}/decorators/fields/BooleanField.js +0 -0
  52. package/src/infrastructure/decorators/fields/BooleanField.js.map +1 -0
  53. package/{infrastructure → src/infrastructure}/decorators/fields/CoordinateField.d.ts +0 -0
  54. package/{infrastructure → src/infrastructure}/decorators/fields/CoordinateField.js +0 -0
  55. package/src/infrastructure/decorators/fields/CoordinateField.js.map +1 -0
  56. package/{infrastructure → src/infrastructure}/decorators/fields/CreateTimeField.d.ts +0 -0
  57. package/{infrastructure → src/infrastructure}/decorators/fields/CreateTimeField.js +8 -4
  58. package/src/infrastructure/decorators/fields/CreateTimeField.js.map +1 -0
  59. package/{infrastructure → src/infrastructure}/decorators/fields/DateField.d.ts +1 -0
  60. package/{infrastructure → src/infrastructure}/decorators/fields/DateField.js +18 -4
  61. package/src/infrastructure/decorators/fields/DateField.js.map +1 -0
  62. package/{infrastructure → src/infrastructure}/decorators/fields/DateTimeField.d.ts +1 -0
  63. package/{infrastructure → src/infrastructure}/decorators/fields/DateTimeField.js +16 -1
  64. package/src/infrastructure/decorators/fields/DateTimeField.js.map +1 -0
  65. package/{infrastructure → src/infrastructure}/decorators/fields/DecimalField.d.ts +0 -0
  66. package/{infrastructure → src/infrastructure}/decorators/fields/DecimalField.js +0 -0
  67. package/src/infrastructure/decorators/fields/DecimalField.js.map +1 -0
  68. package/{infrastructure → src/infrastructure}/decorators/fields/EmailField.d.ts +0 -0
  69. package/{infrastructure → src/infrastructure}/decorators/fields/EmailField.js +0 -0
  70. package/src/infrastructure/decorators/fields/EmailField.js.map +1 -0
  71. package/{infrastructure → src/infrastructure}/decorators/fields/EnumField.d.ts +0 -0
  72. package/{infrastructure → src/infrastructure}/decorators/fields/EnumField.js +0 -0
  73. package/src/infrastructure/decorators/fields/EnumField.js.map +1 -0
  74. package/{infrastructure → src/infrastructure}/decorators/fields/ExtendField.d.ts +0 -0
  75. package/{infrastructure → src/infrastructure}/decorators/fields/ExtendField.js +0 -0
  76. package/src/infrastructure/decorators/fields/ExtendField.js.map +1 -0
  77. package/{infrastructure → src/infrastructure}/decorators/fields/FileField.d.ts +0 -0
  78. package/{infrastructure → src/infrastructure}/decorators/fields/FileField.js +0 -0
  79. package/src/infrastructure/decorators/fields/FileField.js.map +1 -0
  80. package/{infrastructure → src/infrastructure}/decorators/fields/HtmlField.d.ts +0 -0
  81. package/{infrastructure → src/infrastructure}/decorators/fields/HtmlField.js +0 -0
  82. package/src/infrastructure/decorators/fields/HtmlField.js.map +1 -0
  83. package/{infrastructure → src/infrastructure}/decorators/fields/IntegerField.d.ts +0 -0
  84. package/{infrastructure → src/infrastructure}/decorators/fields/IntegerField.js +0 -0
  85. package/src/infrastructure/decorators/fields/IntegerField.js.map +1 -0
  86. package/{infrastructure → src/infrastructure}/decorators/fields/PasswordField.d.ts +0 -0
  87. package/{infrastructure → src/infrastructure}/decorators/fields/PasswordField.js +0 -0
  88. package/src/infrastructure/decorators/fields/PasswordField.js.map +1 -0
  89. package/{infrastructure → src/infrastructure}/decorators/fields/PhoneField.d.ts +0 -0
  90. package/{infrastructure → src/infrastructure}/decorators/fields/PhoneField.js +0 -0
  91. package/src/infrastructure/decorators/fields/PhoneField.js.map +1 -0
  92. package/{infrastructure → src/infrastructure}/decorators/fields/PrimaryKeyField.d.ts +0 -0
  93. package/{infrastructure → src/infrastructure}/decorators/fields/PrimaryKeyField.js +0 -0
  94. package/src/infrastructure/decorators/fields/PrimaryKeyField.js.map +1 -0
  95. package/src/infrastructure/decorators/fields/RelationField.d.ts +36 -0
  96. package/src/infrastructure/decorators/fields/RelationField.js +95 -0
  97. package/src/infrastructure/decorators/fields/RelationField.js.map +1 -0
  98. package/src/infrastructure/decorators/fields/RelationIdField.d.ts +20 -0
  99. package/src/infrastructure/decorators/fields/RelationIdField.js +60 -0
  100. package/src/infrastructure/decorators/fields/RelationIdField.js.map +1 -0
  101. package/{infrastructure → src/infrastructure}/decorators/fields/StringField.d.ts +0 -0
  102. package/{infrastructure → src/infrastructure}/decorators/fields/StringField.js +0 -0
  103. package/src/infrastructure/decorators/fields/StringField.js.map +1 -0
  104. package/{infrastructure → src/infrastructure}/decorators/fields/TextField.d.ts +0 -0
  105. package/{infrastructure → src/infrastructure}/decorators/fields/TextField.js +0 -0
  106. package/src/infrastructure/decorators/fields/TextField.js.map +1 -0
  107. package/{infrastructure → src/infrastructure}/decorators/fields/TimeField.d.ts +0 -0
  108. package/{infrastructure → src/infrastructure}/decorators/fields/TimeField.js +0 -0
  109. package/src/infrastructure/decorators/fields/TimeField.js.map +1 -0
  110. package/{infrastructure → src/infrastructure}/decorators/fields/UidField.d.ts +0 -0
  111. package/{infrastructure → src/infrastructure}/decorators/fields/UidField.js +0 -0
  112. package/src/infrastructure/decorators/fields/UidField.js.map +1 -0
  113. package/{infrastructure → src/infrastructure}/decorators/fields/UpdateTimeField.d.ts +0 -0
  114. package/{infrastructure → src/infrastructure}/decorators/fields/UpdateTimeField.js +8 -4
  115. package/src/infrastructure/decorators/fields/UpdateTimeField.js.map +1 -0
  116. package/{infrastructure → src/infrastructure}/decorators/fields/index.d.ts +0 -0
  117. package/{infrastructure → src/infrastructure}/decorators/fields/index.js +0 -0
  118. package/src/infrastructure/decorators/fields/index.js.map +1 -0
  119. package/{infrastructure → src/infrastructure}/decorators/schema/SchemaSelect.d.ts +0 -0
  120. package/{infrastructure → src/infrastructure}/decorators/schema/SchemaSelect.js +0 -0
  121. package/src/infrastructure/decorators/schema/SchemaSelect.js.map +1 -0
  122. package/{infrastructure → src/infrastructure}/filters/ValidationExceptionFilter.d.ts +0 -0
  123. package/{infrastructure → src/infrastructure}/filters/ValidationExceptionFilter.js +0 -0
  124. package/src/infrastructure/filters/ValidationExceptionFilter.js.map +1 -0
  125. package/{infrastructure → src/infrastructure}/helpers/ModuleHelper.d.ts +0 -0
  126. package/{infrastructure → src/infrastructure}/helpers/ModuleHelper.js +0 -0
  127. package/src/infrastructure/helpers/ModuleHelper.js.map +1 -0
  128. package/{infrastructure → src/infrastructure}/pipes/CreateDtoPipe.d.ts +0 -0
  129. package/{infrastructure → src/infrastructure}/pipes/CreateDtoPipe.js +0 -0
  130. package/src/infrastructure/pipes/CreateDtoPipe.js.map +1 -0
  131. package/{infrastructure → src/infrastructure}/pipes/SchemaSerializer.d.ts +0 -0
  132. package/{infrastructure → src/infrastructure}/pipes/SchemaSerializer.js +2 -2
  133. package/src/infrastructure/pipes/SchemaSerializer.js.map +1 -0
  134. package/{infrastructure → src/infrastructure}/repositories/CrudRepository.d.ts +2 -1
  135. package/{infrastructure → src/infrastructure}/repositories/CrudRepository.js +13 -7
  136. package/src/infrastructure/repositories/CrudRepository.js.map +1 -0
  137. package/{infrastructure → src/infrastructure}/schemas/SearchSchema.d.ts +0 -0
  138. package/{infrastructure → src/infrastructure}/schemas/SearchSchema.js +0 -0
  139. package/src/infrastructure/schemas/SearchSchema.js.map +1 -0
  140. package/src/infrastructure/tests/ModelTest.test.d.ts +1 -0
  141. package/src/infrastructure/tests/ModelTest.test.js +112 -0
  142. package/src/infrastructure/tests/ModelTest.test.js.map +1 -0
  143. package/src/infrastructure/tests/app/models/ArticleModel.d.ts +15 -0
  144. package/src/infrastructure/tests/app/models/ArticleModel.js +79 -0
  145. package/src/infrastructure/tests/app/models/ArticleModel.js.map +1 -0
  146. package/src/infrastructure/tests/app/models/CommentModel.d.ts +11 -0
  147. package/src/infrastructure/tests/app/models/CommentModel.js +58 -0
  148. package/src/infrastructure/tests/app/models/CommentModel.js.map +1 -0
  149. package/src/infrastructure/tests/app/models/FileModel.d.ts +7 -0
  150. package/src/infrastructure/tests/app/models/FileModel.js +41 -0
  151. package/src/infrastructure/tests/app/models/FileModel.js.map +1 -0
  152. package/src/infrastructure/tests/app/models/ImageModel.d.ts +8 -0
  153. package/src/infrastructure/tests/app/models/ImageModel.js +45 -0
  154. package/src/infrastructure/tests/app/models/ImageModel.js.map +1 -0
  155. package/src/infrastructure/tests/app/models/TagModel.d.ts +4 -0
  156. package/src/infrastructure/tests/app/models/TagModel.js +25 -0
  157. package/src/infrastructure/tests/app/models/TagModel.js.map +1 -0
  158. package/src/infrastructure/tests/app/models/UserInfoModel.d.ts +7 -0
  159. package/src/infrastructure/tests/app/models/UserInfoModel.js +41 -0
  160. package/src/infrastructure/tests/app/models/UserInfoModel.js.map +1 -0
  161. package/src/infrastructure/tests/app/models/UserModel.d.ts +12 -0
  162. package/src/infrastructure/tests/app/models/UserModel.js +71 -0
  163. package/src/infrastructure/tests/app/models/UserModel.js.map +1 -0
  164. package/src/infrastructure/tests/app/repositories/ArticleRepository.d.ts +9 -0
  165. package/src/infrastructure/tests/app/repositories/ArticleRepository.js +35 -0
  166. package/src/infrastructure/tests/app/repositories/ArticleRepository.js.map +1 -0
  167. package/src/infrastructure/tests/app/repositories/CommentRepository.d.ts +9 -0
  168. package/src/infrastructure/tests/app/repositories/CommentRepository.js +35 -0
  169. package/src/infrastructure/tests/app/repositories/CommentRepository.js.map +1 -0
  170. package/src/infrastructure/tests/app/repositories/FileRepository.d.ts +9 -0
  171. package/src/infrastructure/tests/app/repositories/FileRepository.js +35 -0
  172. package/src/infrastructure/tests/app/repositories/FileRepository.js.map +1 -0
  173. package/src/infrastructure/tests/app/repositories/ImageRepository.d.ts +9 -0
  174. package/src/infrastructure/tests/app/repositories/ImageRepository.js +35 -0
  175. package/src/infrastructure/tests/app/repositories/ImageRepository.js.map +1 -0
  176. package/src/infrastructure/tests/app/repositories/TagRepository.d.ts +9 -0
  177. package/src/infrastructure/tests/app/repositories/TagRepository.js +35 -0
  178. package/src/infrastructure/tests/app/repositories/TagRepository.js.map +1 -0
  179. package/src/infrastructure/tests/app/repositories/UserRepository.d.ts +9 -0
  180. package/src/infrastructure/tests/app/repositories/UserRepository.js +35 -0
  181. package/src/infrastructure/tests/app/repositories/UserRepository.js.map +1 -0
  182. package/src/infrastructure/tests/app/services/ArticleService.d.ts +9 -0
  183. package/src/infrastructure/tests/app/services/ArticleService.js +29 -0
  184. package/src/infrastructure/tests/app/services/ArticleService.js.map +1 -0
  185. package/src/infrastructure/tests/app/services/CommentService.d.ts +9 -0
  186. package/src/infrastructure/tests/app/services/CommentService.js +29 -0
  187. package/src/infrastructure/tests/app/services/CommentService.js.map +1 -0
  188. package/src/infrastructure/tests/app/services/FileService.d.ts +9 -0
  189. package/src/infrastructure/tests/app/services/FileService.js +29 -0
  190. package/src/infrastructure/tests/app/services/FileService.js.map +1 -0
  191. package/src/infrastructure/tests/app/services/ImageService.d.ts +9 -0
  192. package/src/infrastructure/tests/app/services/ImageService.js +29 -0
  193. package/src/infrastructure/tests/app/services/ImageService.js.map +1 -0
  194. package/src/infrastructure/tests/app/services/TagService.d.ts +9 -0
  195. package/src/infrastructure/tests/app/services/TagService.js +29 -0
  196. package/src/infrastructure/tests/app/services/TagService.js.map +1 -0
  197. package/src/infrastructure/tests/app/services/UserService.d.ts +9 -0
  198. package/src/infrastructure/tests/app/services/UserService.js +29 -0
  199. package/src/infrastructure/tests/app/services/UserService.js.map +1 -0
  200. package/src/infrastructure/tests/app/tables/ArticleTable.d.ts +3 -0
  201. package/src/infrastructure/tests/app/tables/ArticleTable.js +18 -0
  202. package/src/infrastructure/tests/app/tables/ArticleTable.js.map +1 -0
  203. package/src/infrastructure/tests/app/tables/CommentTable.d.ts +3 -0
  204. package/src/infrastructure/tests/app/tables/CommentTable.js +18 -0
  205. package/src/infrastructure/tests/app/tables/CommentTable.js.map +1 -0
  206. package/src/infrastructure/tests/app/tables/FileTable.d.ts +3 -0
  207. package/src/infrastructure/tests/app/tables/FileTable.js +18 -0
  208. package/src/infrastructure/tests/app/tables/FileTable.js.map +1 -0
  209. package/src/infrastructure/tests/app/tables/ImageTable.d.ts +3 -0
  210. package/src/infrastructure/tests/app/tables/ImageTable.js +18 -0
  211. package/src/infrastructure/tests/app/tables/ImageTable.js.map +1 -0
  212. package/src/infrastructure/tests/app/tables/TagTable.d.ts +3 -0
  213. package/src/infrastructure/tests/app/tables/TagTable.js +18 -0
  214. package/src/infrastructure/tests/app/tables/TagTable.js.map +1 -0
  215. package/src/infrastructure/tests/app/tables/UserInfoTable.d.ts +3 -0
  216. package/src/infrastructure/tests/app/tables/UserInfoTable.js +18 -0
  217. package/src/infrastructure/tests/app/tables/UserInfoTable.js.map +1 -0
  218. package/src/infrastructure/tests/app/tables/UserTable.d.ts +3 -0
  219. package/src/infrastructure/tests/app/tables/UserTable.js +18 -0
  220. package/src/infrastructure/tests/app/tables/UserTable.js.map +1 -0
  221. package/src/infrastructure/tests/bootstrap.d.ts +1 -0
  222. package/src/infrastructure/tests/bootstrap.js +60 -0
  223. package/src/infrastructure/tests/bootstrap.js.map +1 -0
  224. package/{usecases → src/usecases}/base/SearchQuery.d.ts +0 -0
  225. package/{usecases → src/usecases}/base/SearchQuery.js +3 -0
  226. package/src/usecases/base/SearchQuery.js.map +1 -0
  227. package/{usecases → src/usecases}/dtos/ContextDto.d.ts +0 -0
  228. package/{usecases → src/usecases}/dtos/ContextDto.js +0 -0
  229. package/src/usecases/dtos/ContextDto.js.map +1 -0
  230. package/{usecases → src/usecases}/dtos/SearchInputDto.d.ts +0 -0
  231. package/{usecases → src/usecases}/dtos/SearchInputDto.js +0 -0
  232. package/src/usecases/dtos/SearchInputDto.js.map +1 -0
  233. package/{usecases → src/usecases}/dtos/SearchResultDto.d.ts +0 -0
  234. package/{usecases → src/usecases}/dtos/SearchResultDto.js +0 -0
  235. package/src/usecases/dtos/SearchResultDto.js.map +1 -0
  236. package/{usecases → src/usecases}/exceptions/BadRequestException.d.ts +0 -0
  237. package/{usecases → src/usecases}/exceptions/BadRequestException.js +0 -0
  238. package/src/usecases/exceptions/BadRequestException.js.map +1 -0
  239. package/{usecases → src/usecases}/exceptions/DataMapperException.d.ts +0 -0
  240. package/{usecases → src/usecases}/exceptions/DataMapperException.js +0 -0
  241. package/src/usecases/exceptions/DataMapperException.js.map +1 -0
  242. package/{usecases → src/usecases}/exceptions/ForbiddenException.d.ts +0 -0
  243. package/{usecases → src/usecases}/exceptions/ForbiddenException.js +0 -0
  244. package/src/usecases/exceptions/ForbiddenException.js.map +1 -0
  245. package/{usecases → src/usecases}/exceptions/UnauthorizedException.d.ts +0 -0
  246. package/{usecases → src/usecases}/exceptions/UnauthorizedException.js +0 -0
  247. package/src/usecases/exceptions/UnauthorizedException.js.map +1 -0
  248. package/{usecases → src/usecases}/exceptions/ValidationException.d.ts +0 -0
  249. package/{usecases → src/usecases}/exceptions/ValidationException.js +0 -0
  250. package/src/usecases/exceptions/ValidationException.js.map +1 -0
  251. package/{usecases → src/usecases}/exceptions/index.d.ts +0 -0
  252. package/{usecases → src/usecases}/exceptions/index.js +0 -0
  253. package/src/usecases/exceptions/index.js.map +1 -0
  254. package/{usecases → src/usecases}/helpers/ConditionHelper.d.ts +0 -0
  255. package/{usecases → src/usecases}/helpers/ConditionHelper.js +0 -0
  256. package/src/usecases/helpers/ConditionHelper.js.map +1 -0
  257. package/src/usecases/helpers/DataMapper.d.ts +7 -0
  258. package/src/usecases/helpers/DataMapper.js +75 -0
  259. package/src/usecases/helpers/DataMapper.js.map +1 -0
  260. package/{usecases → src/usecases}/helpers/SearchHelper.d.ts +0 -0
  261. package/{usecases → src/usecases}/helpers/SearchHelper.js +0 -0
  262. package/src/usecases/helpers/SearchHelper.js.map +1 -0
  263. package/{usecases → src/usecases}/helpers/ValidationHelper.d.ts +0 -0
  264. package/{usecases → src/usecases}/helpers/ValidationHelper.js +0 -0
  265. package/src/usecases/helpers/ValidationHelper.js.map +1 -0
  266. package/{usecases → src/usecases}/interfaces/ICrudRepository.d.ts +0 -0
  267. package/{usecases → src/usecases}/interfaces/ICrudRepository.js +0 -0
  268. package/src/usecases/interfaces/ICrudRepository.js.map +1 -0
  269. package/{usecases → src/usecases}/interfaces/IFormError.d.ts +0 -0
  270. package/{usecases → src/usecases}/interfaces/IFormError.js +0 -0
  271. package/src/usecases/interfaces/IFormError.js.map +1 -0
  272. package/{usecases → src/usecases}/interfaces/IManualSchema.d.ts +0 -0
  273. package/{usecases → src/usecases}/interfaces/IManualSchema.js +0 -0
  274. package/src/usecases/interfaces/IManualSchema.js.map +1 -0
  275. package/src/usecases/interfaces/ISaveManager.d.ts +3 -0
  276. package/src/usecases/interfaces/ISaveManager.js +3 -0
  277. package/src/usecases/interfaces/ISaveManager.js.map +1 -0
  278. package/{usecases → src/usecases}/services/CrudService.d.ts +0 -0
  279. package/{usecases → src/usecases}/services/CrudService.js +10 -5
  280. package/src/usecases/services/CrudService.js.map +1 -0
  281. package/tsconfig.tsbuildinfo +1 -1
  282. package/domain/base/BaseEnum.js.map +0 -1
  283. package/index.js.map +0 -1
  284. package/infrastructure/base/DatabaseNamingStrategy.js.map +0 -1
  285. package/infrastructure/commands/MigrateCommand.js.map +0 -1
  286. package/infrastructure/commands/dbml/dbml2code.js.map +0 -1
  287. package/infrastructure/commands/dbml/templates.js.map +0 -1
  288. package/infrastructure/commands/generate/CustomPostgresQueryRunner.js.map +0 -1
  289. package/infrastructure/commands/generate/CustomRdbmsSchemaBuilder.js.map +0 -1
  290. package/infrastructure/commands/generate/index.js.map +0 -1
  291. package/infrastructure/decorators/ApiOkSearchResponse.js.map +0 -1
  292. package/infrastructure/decorators/Context.js.map +0 -1
  293. package/infrastructure/decorators/TableFromModel.js.map +0 -1
  294. package/infrastructure/decorators/fields/BaseField.js.map +0 -1
  295. package/infrastructure/decorators/fields/BooleanField.js.map +0 -1
  296. package/infrastructure/decorators/fields/ComputableField.d.ts +0 -15
  297. package/infrastructure/decorators/fields/ComputableField.js +0 -22
  298. package/infrastructure/decorators/fields/ComputableField.js.map +0 -1
  299. package/infrastructure/decorators/fields/CoordinateField.js.map +0 -1
  300. package/infrastructure/decorators/fields/CreateTimeField.js.map +0 -1
  301. package/infrastructure/decorators/fields/DateField.js.map +0 -1
  302. package/infrastructure/decorators/fields/DateTimeField.js.map +0 -1
  303. package/infrastructure/decorators/fields/DecimalField.js.map +0 -1
  304. package/infrastructure/decorators/fields/EmailField.js.map +0 -1
  305. package/infrastructure/decorators/fields/EnumField.js.map +0 -1
  306. package/infrastructure/decorators/fields/ExtendField.js.map +0 -1
  307. package/infrastructure/decorators/fields/FileField.js.map +0 -1
  308. package/infrastructure/decorators/fields/HtmlField.js.map +0 -1
  309. package/infrastructure/decorators/fields/IntegerField.js.map +0 -1
  310. package/infrastructure/decorators/fields/PasswordField.js.map +0 -1
  311. package/infrastructure/decorators/fields/PhoneField.js.map +0 -1
  312. package/infrastructure/decorators/fields/PrimaryKeyField.js.map +0 -1
  313. package/infrastructure/decorators/fields/RelationField.d.ts +0 -9
  314. package/infrastructure/decorators/fields/RelationField.js +0 -52
  315. package/infrastructure/decorators/fields/RelationField.js.map +0 -1
  316. package/infrastructure/decorators/fields/RelationIdField.d.ts +0 -5
  317. package/infrastructure/decorators/fields/RelationIdField.js +0 -16
  318. package/infrastructure/decorators/fields/RelationIdField.js.map +0 -1
  319. package/infrastructure/decorators/fields/StringField.js.map +0 -1
  320. package/infrastructure/decorators/fields/TextField.js.map +0 -1
  321. package/infrastructure/decorators/fields/TimeField.js.map +0 -1
  322. package/infrastructure/decorators/fields/UidField.js.map +0 -1
  323. package/infrastructure/decorators/fields/UpdateTimeField.js.map +0 -1
  324. package/infrastructure/decorators/fields/index.js.map +0 -1
  325. package/infrastructure/decorators/schema/SchemaSelect.js.map +0 -1
  326. package/infrastructure/filters/ValidationExceptionFilter.js.map +0 -1
  327. package/infrastructure/helpers/ModuleHelper.js.map +0 -1
  328. package/infrastructure/pipes/CreateDtoPipe.js.map +0 -1
  329. package/infrastructure/pipes/SchemaSerializer.js.map +0 -1
  330. package/infrastructure/repositories/CrudRepository.js.map +0 -1
  331. package/infrastructure/schemas/BaseSchema.d.ts +0 -6
  332. package/infrastructure/schemas/BaseSchema.js +0 -20
  333. package/infrastructure/schemas/BaseSchema.js.map +0 -1
  334. package/infrastructure/schemas/SearchSchema.js.map +0 -1
  335. package/usecases/base/SearchQuery.js.map +0 -1
  336. package/usecases/dtos/ContextDto.js.map +0 -1
  337. package/usecases/dtos/SearchInputDto.js.map +0 -1
  338. package/usecases/dtos/SearchResultDto.js.map +0 -1
  339. package/usecases/exceptions/BadRequestException.js.map +0 -1
  340. package/usecases/exceptions/DataMapperException.js.map +0 -1
  341. package/usecases/exceptions/ForbiddenException.js.map +0 -1
  342. package/usecases/exceptions/UnauthorizedException.js.map +0 -1
  343. package/usecases/exceptions/ValidationException.js.map +0 -1
  344. package/usecases/exceptions/index.js.map +0 -1
  345. package/usecases/helpers/ConditionHelper.js.map +0 -1
  346. package/usecases/helpers/DataMapperHelper.d.ts +0 -10
  347. package/usecases/helpers/DataMapperHelper.js +0 -210
  348. package/usecases/helpers/DataMapperHelper.js.map +0 -1
  349. package/usecases/helpers/SearchHelper.js.map +0 -1
  350. package/usecases/helpers/ValidationHelper.js.map +0 -1
  351. package/usecases/interfaces/ICrudRepository.js.map +0 -1
  352. package/usecases/interfaces/IFormError.js.map +0 -1
  353. package/usecases/interfaces/IManualSchema.js.map +0 -1
  354. package/usecases/services/CrudService.js.map +0 -1
@@ -1,12 +1,23 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DateTimeField = void 0;
3
+ exports.DateTimeField = exports.normalizeDateTime = void 0;
4
4
  const common_1 = require("@nestjs/common");
5
5
  const lodash_1 = require("lodash");
6
6
  const typeorm_1 = require("typeorm");
7
7
  const class_validator_1 = require("class-validator");
8
8
  const class_transformer_1 = require("class-transformer");
9
9
  const BaseField_1 = require("./BaseField");
10
+ const date_fns_1 = require("date-fns");
11
+ const normalizeDateTime = value => {
12
+ if (!value) {
13
+ return null;
14
+ }
15
+ if (typeof value === 'string') {
16
+ value = (0, date_fns_1.parseISO)(value);
17
+ }
18
+ return (0, date_fns_1.formatISO9075)(value);
19
+ };
20
+ exports.normalizeDateTime = normalizeDateTime;
10
21
  function DateTimeField(options = {}) {
11
22
  return (0, common_1.applyDecorators)((0, BaseField_1.BaseField)(options, {
12
23
  decoratorName: 'DateTimeField',
@@ -17,6 +28,10 @@ function DateTimeField(options = {}) {
17
28
  precision: (0, lodash_1.has)(options, 'precision') ? options.precision : 0,
18
29
  default: options.defaultValue,
19
30
  nullable: options.nullable,
31
+ transformer: {
32
+ from: exports.normalizeDateTime,
33
+ to: exports.normalizeDateTime,
34
+ },
20
35
  }), (0, class_validator_1.IsDate)({
21
36
  message: 'Некорректный формат даты',
22
37
  }), (0, class_transformer_1.Type)(() => Date));
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DateTimeField.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/DateTimeField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,mCAAmC;AACnC,qCAA+B;AAC/B,qDAAuC;AACvC,yDAAuC;AACvC,2CAAyD;AACzD,uCAAiD;AAE1C,MAAM,iBAAiB,GAAG,KAAK,CAAC,EAAE;IACrC,IAAI,CAAC,KAAK,EAAE;QACR,OAAO,IAAI,CAAC;KACf;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC3B,KAAK,GAAG,IAAA,mBAAQ,EAAC,KAAK,CAAC,CAAC;KAC3B;IAED,OAAO,IAAA,wBAAa,EAAC,KAAK,CAAC,CAAC;AAChC,CAAC,CAAC;AATW,QAAA,iBAAiB,qBAS5B;AAMF,SAAgB,aAAa,CAAC,UAAuC,EAAE;IACnE,OAAO,IAAA,wBAAe,EAClB,IAAA,qBAAS,EAAC,OAAO,EAAE;QACf,aAAa,EAAE,eAAe;QAC9B,OAAO,EAAE,UAAU;QACnB,MAAM,EAAE,QAAQ;KACnB,CAAC,EACF,IAAA,gBAAM,EAAC;QACH,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,IAAA,YAAI,EAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC7D,OAAO,EAAE,OAAO,CAAC,YAAY;QAC7B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,WAAW,EAAE;YACT,IAAI,EAAE,yBAAiB;YACvB,EAAE,EAAE,yBAAiB;SACxB;KACJ,CAAC,EACF,IAAA,wBAAM,EAAC;QACH,OAAO,EAAE,0BAA0B;KACtC,CAAC,EACF,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CACnB,CAAC;AACN,CAAC;AAtBD,sCAsBC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DecimalField.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/DecimalField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,qCAA+B;AAC/B,qDAAqD;AACrD,2CAAyD;AAOzD,SAAgB,YAAY,CAAC,UAAgC,EAAE;IAC3D,OAAO,IAAA,wBAAe,EAAC,GAAG;QAClB,IAAA,qBAAS,EAAC,OAAO,EAAE;YACf,aAAa,EAAE,cAAc;YAC7B,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;SACnB,CAAC;QACF,IAAA,gBAAM,EAAC;YACH,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,OAAO,CAAC,YAAY;YAC7B,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,EAAE;YAClC,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;SAC5B,CAAC;QACF,OAAO,CAAC,QAAQ,IAAI,IAAA,4BAAU,EAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC;QACjE,IAAA,0BAAQ,EAAC;YACL,OAAO,EAAE,qBAAqB;SACjC,CAAC;KACL,CAAC,MAAM,CAAC,OAAO,CAAC,CACpB,CAAC;AACN,CAAC;AApBD,oCAoBC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmailField.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/EmailField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,qCAA+B;AAC/B,qDAAwC;AACxC,2CAAyD;AAMzD,SAAgB,UAAU,CAAC,UAA8B,EAAE;IACvD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;QAChB,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC;KAC3B;IAED,OAAO,IAAA,wBAAe,EAClB,IAAA,qBAAS,EAAC,OAAO,EAAC;QACd,aAAa,EAAE,YAAY;QAC3B,OAAO,EAAE,OAAO;QAChB,MAAM,EAAE,QAAQ;KACnB,CAAC,EACF,IAAA,gBAAM,EAAC;QACH,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,OAAO,CAAC,YAAY;QAC7B,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC7B,CAAC,EACF,IAAA,yBAAO,EAAC;QACJ,OAAO,EAAE,0BAA0B;KACtC,CAAC,CACL,CAAC;AACN,CAAC;AArBD,gCAqBC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EnumField.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/EnumField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,qCAA+B;AAC/B,qDAAmD;AACnD,2CAAyD;AACzD,4DAAqD;AAMrD,SAAgB,SAAS,CAAC,UAA6B,EAAE;IACrD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QAC7B,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YAC9C,IAAI,KAAK,CAAC,SAAS,YAAY,kBAAQ,EAAE;gBACrC,GAAG,mCACI,GAAG,GACH,KAAK,CAAC,MAAM,EAAE,CACpB,CAAC;aACL;iBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBAClC,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;aACtB;YACD,OAAO,GAAG,CAAC;QACf,CAAC,EAAE,EAAE,CAAC,CAAC;KACV;SAAM,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,YAAY,kBAAQ,EAAE;QACzF,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;KACxC;IAED,OAAO,IAAA,wBAAe,EAAC,GAAG;QAClB,IAAA,qBAAS,EAAC,OAAO,EAAC;YACd,aAAa,EAAE,WAAW;YAC1B,OAAO,EAAE,MAAM;YACf,MAAM,EAAE,QAAQ;SACnB,CAAC;QACF,IAAA,gBAAM,EAAC;YACH,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,OAAO,CAAC,YAAY;YAC7B,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC7B,CAAC;QACF,OAAO,CAAC,QAAQ,IAAI,IAAA,4BAAU,EAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC;QACjE,IAAA,wBAAM,EAAC,OAAO,CAAC,IAAI,CAAC;KACvB,CAAC,MAAM,CAAC,OAAO,CAAC,CACpB,CAAC;AACN,CAAC;AAhCD,8BAgCC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExtendField.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/ExtendField.ts"],"names":[],"mappings":";;;AAAA,2CAAkF;AAOlF,SAAgB,WAAW,CAAC,UAAU,EAAE,UAAwC,EAAE;IAC9E,OAAO,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE;QAC5B,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;YAC7B,OAAO,GAAG,EAAC,eAAe,EAAE,OAAO,EAAC,CAAC;SACxC;QAED,MAAM,cAAc,GAAG,OAAO,CAAC,eAAe,IAAI,YAAY,CAAC;QAC/D,IAAI,CAAC,cAAc,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,YAAY,GAAG,cAAc,GAAG,UAAU,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;SAChG;QAGD,MAAM,aAAa,GAAG,IAAA,2BAAe,EAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAClE,MAAM,SAAS,GAAG,IAAA,6BAAiB,EAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAChE,SAAS,iCAAK,aAAa,GAAK,OAAO,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACpE,CAAC,CAAC;AACN,CAAC;AAhBD,kCAgBC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileField.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/FileField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,qCAA+B;AAC/B,qDAA2D;AAC3D,2CAAyD;AAMzD,SAAgB,SAAS,CAAC,UAAsB,EAAE;IAC9C,OAAO,IAAA,wBAAe,EAClB,IAAA,qBAAS,EAAC,OAAO,EAAE;QACf,aAAa,EAAE,WAAW;QAC1B,OAAO,EAAE,MAAM;QACf,MAAM,EAAE,QAAQ;KACnB,CAAC,EACF,IAAA,gBAAM,EAAC;QACH,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;QACnD,OAAO,EAAE,OAAO,CAAC,YAAY;QAC7B,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC7B,CAAC,EACF,IAAA,4BAAU,GAAE,EACZ,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAA,yBAAO,GAAE,CAAC,CAAC,CAAC,IAAA,uBAAK,GAAE,CACzC,CAAC;AACN,CAAC;AAfD,8BAeC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HtmlField.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/HtmlField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,qCAA+B;AAC/B,2CAAyD;AAEzD,SAAgB,SAAS,CAAC,UAA6B,EAAE;IACrD,OAAO,IAAA,wBAAe,EAClB,IAAA,qBAAS,EAAC,OAAO,EAAE;QACf,aAAa,EAAE,WAAW;QAC1B,OAAO,EAAE,MAAM;QACf,MAAM,EAAE,QAAQ;KACnB,CAAC,EACF,IAAA,gBAAM,EAAC;QACH,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,OAAO,CAAC,YAAY;QAC7B,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC7B,CAAC,CACL,CAAC;AACN,CAAC;AAbD,8BAaC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IntegerField.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/IntegerField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,mCAA+C;AAC/C,qCAA+B;AAC/B,qDAA4E;AAC5E,2CAAyD;AACzD,yDAA4C;AAM5C,SAAgB,YAAY,CAAC,UAAgC,EAAE;IAC3D,OAAO,IAAA,wBAAe,EAAC,GAAG;QACtB,IAAA,qBAAS,EAAC,OAAO,EAAE;YACf,aAAa,EAAE,cAAc;YAC7B,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;SACnB,CAAC;QACF,IAAA,gBAAM,EAAC;YACH,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,OAAO,CAAC,YAAY;YAC7B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC7B,CAAC;QACF,OAAO,CAAC,QAAQ,IAAI,IAAA,4BAAU,EAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,WAAW,CAAC;QACjG,IAAA,6BAAS,EAAC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE;YAClB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACtB,OAAO,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,IAAA,kBAAU,EAAC,SAAS,CAAC,CAAC,CAAC;aACxD;YACD,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAA,kBAAU,EAAC,KAAK,CAAC,CAAC;QACtD,CAAC,CAAE;QACH,IAAA,uBAAK,EAAC;YACF,OAAO,EAAE,oBAAoB;YAC7B,IAAI,EAAE,OAAO,CAAC,OAAO;SACxB,CAAC;QACF,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ,IAAI,IAAA,qBAAG,EAAC,OAAO,CAAC,GAAG,CAAC;QACnD,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ,IAAI,IAAA,qBAAG,EAAC,OAAO,CAAC,GAAG,CAAC;KACtD,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;AACvB,CAAC;AA3BD,oCA2BC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PasswordField.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/PasswordField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,qCAA+B;AAC/B,2CAAyD;AAEzD,SAAgB,aAAa,CAAC,UAA6B,EAAE;IACzD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;QAChB,OAAO,CAAC,KAAK,GAAG,QAAQ,CAAC;KAC5B;IAED,OAAO,IAAA,wBAAe,EAClB,IAAA,qBAAS,EAAC,OAAO,EAAE;QACf,aAAa,EAAE,eAAe;QAC9B,OAAO,EAAE,UAAU;QACnB,MAAM,EAAE,QAAQ;KACnB,CAAC,EACF,IAAA,gBAAM,EAAC;QACH,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,OAAO,CAAC,GAAG;QACnB,OAAO,EAAE,OAAO,CAAC,YAAY;QAC7B,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC7B,CAAC,CACL,CAAC;AACN,CAAC;AAlBD,sCAkBC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PhoneField.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/PhoneField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,qCAA+B;AAC/B,qDAA8C;AAC9C,2CAAyD;AACzD,yDAA4C;AAM5C,MAAM,iCAAiC,GAAG,SAAS,CAAC;AAEpD,SAAgB,UAAU,CAAC,UAA8B,EAAE;IACvD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;QAChB,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;KAC7B;IAED,OAAO,IAAA,wBAAe,EAClB,IAAA,qBAAS,EAAC,OAAO,EAAE;QACf,aAAa,EAAE,YAAY;QAC3B,OAAO,EAAE,OAAO;QAChB,MAAM,EAAE,QAAQ;KACnB,CAAC,EACF,IAAA,gBAAM,EAAC;QACH,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,EAAE;QACzB,OAAO,EAAE,OAAO,CAAC,YAAY;QAC7B,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC7B,CAAC,EACF,IAAA,6BAAS,EAAC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,iCAAiC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAC5F,IAAA,+BAAa,EAAC,IAAI,EAAE;QAChB,OAAO,EAAE,6BAA6B;KACzC,CAAC,CACL,CAAC;AACN,CAAC;AAvBD,gCAuBC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PrimaryKeyField.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/PrimaryKeyField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,qCAA+C;AAC/C,2CAAyD;AAEzD,SAAgB,eAAe,CAAC,UAA6B,EAAE;IAC3D,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;QAChB,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;KACxB;IAED,OAAO,IAAA,wBAAe,EAClB,IAAA,qBAAS,EAAC,OAAO,EAAE;QACf,aAAa,EAAE,iBAAiB;QAChC,OAAO,EAAE,YAAY;QACrB,MAAM,EAAE,QAAQ;KACnB,CAAC,EACF,IAAA,gCAAsB,EAAC,EAAC,IAAI,EAAE,SAAS,EAAC,CAAC,CAC5C,CAAC;AACN,CAAC;AAbD,0CAaC"}
@@ -0,0 +1,36 @@
1
+ import { IBaseFieldOptions } from './BaseField';
2
+ export interface IRelationFieldOneToOneOptions extends IBaseFieldOptions {
3
+ type: 'OneToOne';
4
+ isOwningSide: boolean;
5
+ relationClass: () => any;
6
+ }
7
+ export interface IRelationFieldManyToManyOptions extends IBaseFieldOptions {
8
+ type: 'ManyToMany';
9
+ isOwningSide: boolean;
10
+ relationClass: () => any;
11
+ }
12
+ export interface IRelationFieldManyToOneOptions extends IBaseFieldOptions {
13
+ type: 'ManyToOne';
14
+ relationClass: () => any;
15
+ }
16
+ export interface IRelationFieldOneToManyOptions extends IBaseFieldOptions {
17
+ type: 'OneToMany';
18
+ relationClass: () => any;
19
+ inverseSide: string | ((object: any) => any);
20
+ }
21
+ export declare type IRelationFieldOptions = IRelationFieldOneToOneOptions | IRelationFieldManyToManyOptions | IRelationFieldManyToOneOptions | IRelationFieldOneToManyOptions;
22
+ export declare const relationTransformFromDb: ({ value, options }: {
23
+ value: any;
24
+ options: any;
25
+ }) => any;
26
+ export declare const relationTransformToDb: ({ value, item, key, options }: {
27
+ value: any;
28
+ item: any;
29
+ key: any;
30
+ options: any;
31
+ }) => any;
32
+ export declare const relationTransform: ({ value, options }: {
33
+ value: any;
34
+ options: any;
35
+ }) => any;
36
+ export declare function RelationField(options: IRelationFieldOptions): <TFunction extends Function, Y>(target: object | TFunction, propertyKey?: string | symbol, descriptor?: TypedPropertyDescriptor<Y>) => void;
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RelationField = exports.relationTransform = exports.relationTransformToDb = exports.relationTransformFromDb = void 0;
4
+ const common_1 = require("@nestjs/common");
5
+ const typeorm_1 = require("typeorm");
6
+ const class_validator_1 = require("class-validator");
7
+ const class_transformer_1 = require("class-transformer");
8
+ const BaseField_1 = require("./BaseField");
9
+ const TableFromModel_1 = require("../TableFromModel");
10
+ const Transform_1 = require("../Transform");
11
+ const DataMapper_1 = require("../../../usecases/helpers/DataMapper");
12
+ const getRelationDecorator = (relation) => {
13
+ switch (relation) {
14
+ case 'OneToOne':
15
+ return typeorm_1.OneToOne;
16
+ case 'ManyToMany':
17
+ return typeorm_1.ManyToMany;
18
+ case 'OneToMany':
19
+ return typeorm_1.OneToMany;
20
+ case 'ManyToOne':
21
+ return typeorm_1.ManyToOne;
22
+ default:
23
+ throw new Error('Wrong relation type: ' + relation);
24
+ }
25
+ };
26
+ const getOwningDecorator = (options) => {
27
+ if (options.type === 'ManyToMany' && options.isOwningSide) {
28
+ return typeorm_1.JoinTable;
29
+ }
30
+ if (options.type === 'OneToOne' && options.isOwningSide) {
31
+ return typeorm_1.JoinColumn;
32
+ }
33
+ return null;
34
+ };
35
+ const transformInstances = (TargetClass, value, isArray = false) => {
36
+ if (isArray && Array.isArray(value)) {
37
+ return value.map(item => transformInstances(TargetClass, item));
38
+ }
39
+ if (typeof value === 'object' && !(value instanceof TargetClass)) {
40
+ return DataMapper_1.DataMapper.create(TargetClass, value);
41
+ }
42
+ return value;
43
+ };
44
+ const transformIds = (TableClass, value, isArray = false) => {
45
+ if (isArray && Array.isArray(value)) {
46
+ return value.map(item => transformIds(TableClass, item));
47
+ }
48
+ if (typeof value === 'number') {
49
+ const primaryKey = (0, BaseField_1.getMetaPrimaryKey)(TableClass);
50
+ return DataMapper_1.DataMapper.create(TableClass, { [primaryKey]: value });
51
+ }
52
+ return value;
53
+ };
54
+ const relationTransformFromDb = ({ value, options }) => {
55
+ const ModelClass = options.relationClass();
56
+ return transformInstances(ModelClass, value, options.isArray);
57
+ };
58
+ exports.relationTransformFromDb = relationTransformFromDb;
59
+ const relationTransformToDb = ({ value, item, key, options }) => {
60
+ const TableClass = (0, TableFromModel_1.getTableFromModel)(options.relationClass());
61
+ const relationIdName = (0, BaseField_1.getMetaFields)(item.constructor).find(name => {
62
+ const relationOptions = (0, BaseField_1.getFieldOptions)(item.constructor, name);
63
+ return relationOptions.appType === 'relationId' && relationOptions.relationName === key;
64
+ });
65
+ if (relationIdName && item[relationIdName]) {
66
+ return transformIds(TableClass, item[relationIdName], options.isArray);
67
+ }
68
+ return transformInstances(TableClass, value, options.isArray);
69
+ };
70
+ exports.relationTransformToDb = relationTransformToDb;
71
+ const relationTransform = ({ value, options }) => {
72
+ const DtoClass = options.relationClass();
73
+ return transformInstances(DtoClass, value, options.isArray);
74
+ };
75
+ exports.relationTransform = relationTransform;
76
+ function RelationField(options) {
77
+ const OwningDecorator = getOwningDecorator(options);
78
+ return (0, common_1.applyDecorators)(...[
79
+ (0, BaseField_1.BaseField)(options, {
80
+ decoratorName: 'RelationField',
81
+ appType: 'relation',
82
+ jsType: 'number',
83
+ isArray: ['ManyToMany', 'OneToMany'].includes(options.type),
84
+ }),
85
+ getRelationDecorator(options.type)(() => (0, TableFromModel_1.getTableFromModel)(options.relationClass()), options.inverseSide, { cascade: ['insert', 'update'], onUpdate: 'CASCADE' }),
86
+ OwningDecorator && OwningDecorator(),
87
+ (0, class_validator_1.ValidateNested)({ each: true }),
88
+ (0, class_transformer_1.Type)(options.relationClass),
89
+ (0, Transform_1.Transform)(exports.relationTransformFromDb, Transform_1.TRANSFORM_TYPE_FROM_DB),
90
+ (0, Transform_1.Transform)(exports.relationTransformToDb, Transform_1.TRANSFORM_TYPE_TO_DB),
91
+ (0, Transform_1.Transform)(options.transform || exports.relationTransform),
92
+ ].filter(Boolean));
93
+ }
94
+ exports.RelationField = RelationField;
95
+ //# sourceMappingURL=RelationField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RelationField.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/RelationField.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { IBaseFieldOptions } from './BaseField';
2
+ export interface IRelationIdFieldOptions extends IBaseFieldOptions {
3
+ relationName?: string;
4
+ }
5
+ export declare const relationTransformFromDb: ({ value, item, key, options }: {
6
+ value: any;
7
+ item: any;
8
+ key: any;
9
+ options: any;
10
+ }) => any;
11
+ export declare const relationTransformToDb: ({ value, item, options }: {
12
+ value: any;
13
+ item: any;
14
+ options: any;
15
+ }) => any;
16
+ export declare const relationTransform: ({ value, options }: {
17
+ value: any;
18
+ options: any;
19
+ }) => any;
20
+ export declare function RelationIdField(options?: IRelationIdFieldOptions): <TFunction extends Function, Y>(target: object | TFunction, propertyKey?: string | symbol, descriptor?: TypedPropertyDescriptor<Y>) => void;
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RelationIdField = exports.relationTransform = exports.relationTransformToDb = exports.relationTransformFromDb = void 0;
4
+ const common_1 = require("@nestjs/common");
5
+ const BaseField_1 = require("./BaseField");
6
+ const TableFromModel_1 = require("../TableFromModel");
7
+ const Transform_1 = require("../Transform");
8
+ const DataMapper_1 = require("../../../usecases/helpers/DataMapper");
9
+ const relationTransformFromDbInternal = (TableClass, value, isArray = false) => {
10
+ if (isArray && Array.isArray(value)) {
11
+ return value.map(item => relationTransformFromDbInternal(TableClass, item));
12
+ }
13
+ if (value && typeof value === 'object') {
14
+ const primaryKey = (0, BaseField_1.getMetaPrimaryKey)(TableClass);
15
+ return value[primaryKey];
16
+ }
17
+ return value;
18
+ };
19
+ const relationTransformFromDb = ({ value, item, key, options }) => {
20
+ if (value) {
21
+ return value;
22
+ }
23
+ const relationOptions = (0, BaseField_1.getFieldOptions)(item.constructor, options.relationName);
24
+ const TableClass = (0, TableFromModel_1.getTableFromModel)(relationOptions.relationClass());
25
+ const relationValue = item[options.relationName];
26
+ return relationTransformFromDbInternal(TableClass, relationValue, relationOptions.isArray);
27
+ };
28
+ exports.relationTransformFromDb = relationTransformFromDb;
29
+ const relationTransformToDbInternal = (TableClass, value, isArray = false) => {
30
+ if (isArray && Array.isArray(value)) {
31
+ return value.map(item => relationTransformToDbInternal(TableClass, item));
32
+ }
33
+ if (typeof value === 'number') {
34
+ const primaryKey = (0, BaseField_1.getMetaPrimaryKey)(TableClass);
35
+ return DataMapper_1.DataMapper.create(TableClass, { [primaryKey]: value });
36
+ }
37
+ return value;
38
+ };
39
+ const relationTransformToDb = ({ value, item, options }) => {
40
+ return value;
41
+ };
42
+ exports.relationTransformToDb = relationTransformToDb;
43
+ const relationTransform = ({ value, options }) => {
44
+ return value;
45
+ };
46
+ exports.relationTransform = relationTransform;
47
+ function RelationIdField(options = {}) {
48
+ return (0, common_1.applyDecorators)(...[
49
+ (0, BaseField_1.BaseField)(options, {
50
+ decoratorName: 'RelationIdField',
51
+ appType: 'relationId',
52
+ jsType: 'number',
53
+ }),
54
+ (0, Transform_1.Transform)(exports.relationTransformFromDb, Transform_1.TRANSFORM_TYPE_FROM_DB),
55
+ (0, Transform_1.Transform)(exports.relationTransformToDb, Transform_1.TRANSFORM_TYPE_TO_DB),
56
+ (0, Transform_1.Transform)(options.transform || exports.relationTransform),
57
+ ].filter(Boolean));
58
+ }
59
+ exports.RelationIdField = RelationIdField;
60
+ //# sourceMappingURL=RelationIdField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RelationIdField.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/RelationIdField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,2CAA6F;AAC7F,sDAAoD;AACpD,4CAAqF;AACrF,qEAAgE;AAOhE,MAAM,+BAA+B,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,EAAE,EAAE;IAC3E,IAAI,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACjC,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,+BAA+B,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;KAC/E;IACD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QACpC,MAAM,UAAU,GAAG,IAAA,6BAAiB,EAAC,UAAU,CAAC,CAAC;QACjD,OAAO,KAAK,CAAC,UAAU,CAAC,CAAC;KAC5B;IACD,OAAO,KAAK,CAAC;AACjB,CAAC,CAAA;AACM,MAAM,uBAAuB,GAAG,CAAC,EAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAC,EAAE,EAAE;IACnE,IAAI,KAAK,EAAE;QACP,OAAO,KAAK,CAAC;KAChB;IAED,MAAM,eAAe,GAAG,IAAA,2BAAe,EAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAChF,MAAM,UAAU,GAAG,IAAA,kCAAiB,EAAC,eAAe,CAAC,aAAa,EAAE,CAAC,CAAC;IACtE,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAEjD,OAAO,+BAA+B,CAAC,UAAU,EAAE,aAAa,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;AAC/F,CAAC,CAAA;AAVY,QAAA,uBAAuB,2BAUnC;AAID,MAAM,6BAA6B,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,EAAE,EAAE;IACzE,IAAI,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACjC,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,6BAA6B,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;KAC7E;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC3B,MAAM,UAAU,GAAG,IAAA,6BAAiB,EAAC,UAAU,CAAC,CAAC;QACjD,OAAO,uBAAU,CAAC,MAAM,CAAC,UAAU,EAAE,EAAC,CAAC,UAAU,CAAC,EAAE,KAAK,EAAC,CAAC,CAAC;KAC/D;IACD,OAAO,KAAK,CAAC;AACjB,CAAC,CAAA;AACM,MAAM,qBAAqB,GAAG,CAAC,EAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAC,EAAE,EAAE;IAE5D,OAAO,KAAK,CAAC;AACjB,CAAC,CAAA;AAHY,QAAA,qBAAqB,yBAGjC;AAEM,MAAM,iBAAiB,GAAG,CAAC,EAAC,KAAK,EAAE,OAAO,EAAC,EAAE,EAAE;IAClD,OAAO,KAAK,CAAC;AACjB,CAAC,CAAA;AAFY,QAAA,iBAAiB,qBAE7B;AAED,SAAgB,eAAe,CAAC,UAAmC,EAAE;IACjE,OAAO,IAAA,wBAAe,EAClB,GAAG;QACC,IAAA,qBAAS,EAAC,OAAO,EAAE;YACf,aAAa,EAAE,iBAAiB;YAChC,OAAO,EAAE,YAAY;YACrB,MAAM,EAAE,QAAQ;SACnB,CAAC;QACF,IAAA,qBAAS,EAAC,+BAAuB,EAAE,kCAAsB,CAAC;QAC1D,IAAA,qBAAS,EAAC,6BAAqB,EAAE,gCAAoB,CAAC;QACtD,IAAA,qBAAS,EAAC,OAAO,CAAC,SAAS,IAAI,yBAAiB,CAAC;KACpD,CAAC,MAAM,CAAC,OAAO,CAAC,CACpB,CAAC;AACN,CAAC;AAbD,0CAaC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StringField.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/StringField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,qCAA+B;AAC/B,qDAAuF;AACvF,2CAAyD;AAMzD,SAAgB,WAAW,CAAC,UAA+B,EAAE;IACzD,OAAO,IAAA,wBAAe,EAAC,GAAG;QACtB,IAAA,qBAAS,EAAC,OAAO,EAAE;YACf,aAAa,EAAE,aAAa;YAC5B,OAAO,EAAE,QAAQ;YACjB,MAAM,EAAE,QAAQ;SACnB,CAAC;QACF,IAAA,gBAAM,EAAC;YACH,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,OAAO,CAAC,GAAG;YACnB,OAAO,EAAE,OAAO,CAAC,YAAY;YAC7B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC7B,CAAC;QACF,IAAA,0BAAQ,EAAC;YACL,OAAO,EAAE,oBAAoB;SAChC,CAAC;QACF,IAAA,4BAAU,GAAE;QACZ,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ,IAAI,IAAA,2BAAS,EAAC,OAAO,CAAC,GAAG,CAAC;QACzD,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ,IAAI,IAAA,2BAAS,EAAC,OAAO,CAAC,GAAG,CAAC;KAC5D,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;AACvB,CAAC;AArBD,kCAqBC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextField.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/TextField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,qCAA+B;AAC/B,2CAAyD;AAEzD,SAAgB,SAAS,CAAC,UAA6B,EAAE;IACrD,OAAO,IAAA,wBAAe,EAClB,IAAA,qBAAS,EAAC,OAAO,EAAE;QACf,aAAa,EAAE,WAAW;QAC1B,OAAO,EAAE,MAAM;QACf,MAAM,EAAE,QAAQ;KACnB,CAAC,EACF,IAAA,gBAAM,EAAC;QACH,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,OAAO,CAAC,GAAG;QACnB,OAAO,EAAE,OAAO,CAAC,YAAY;QAC7B,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC7B,CAAC,CACL,CAAC;AACN,CAAC;AAdD,8BAcC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TimeField.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/TimeField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,qCAA+B;AAC/B,qDAA+C;AAC/C,2CAAyD;AAEzD,SAAgB,SAAS,CAAC,UAA6B,EAAE;IACrD,OAAO,IAAA,wBAAe,EAClB,IAAA,qBAAS,EAAC,OAAO,EAAE;QACf,aAAa,EAAE,WAAW;QAC1B,OAAO,EAAE,MAAM;QACf,MAAM,EAAE,QAAQ;KACnB,CAAC,EACF,IAAA,gBAAM,EAAC;QACH,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,CAAC;QACT,OAAO,EAAE,OAAO,CAAC,YAAY;QAC7B,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC7B,CAAC,EACF,IAAA,gCAAc,GAAE,CACnB,CAAC;AACN,CAAC;AAfD,8BAeC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UidField.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/UidField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,+BAAkC;AAClC,qCAAuD;AACvD,kFAA6E;AAC7E,2CAAyD;AAElD,MAAM,WAAW,GAAG,GAAW,EAAE,CAAC,IAAA,SAAM,GAAE,CAAC;AAArC,QAAA,WAAW,eAA0B;AAElD,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE;IAC1C,MAAM,UAAU,GAAG,YAAY,GAAG,gBAAgB,CAAC;IACnD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;QAErB,MAAM,CAAC,UAAU,CAAC,GAAG;YACjB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;gBACrB,IAAI,CAAC,YAAY,CAAC,GAAG,IAAA,mBAAW,GAAE,CAAC;aACtC;QACL,CAAC,CAAC;KACL;IAED,IAAA,gCAAsB,GAAE,CAAC,eAAe,CAAC,IAAI,CAAC;QAC1C,MAAM,EAAE,MAAM,CAAC,WAAW;QAC1B,YAAY,EAAE,UAAU;QACxB,IAAI,EAAE,uCAAkB,CAAC,aAAa;KACzC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,SAAgB,QAAQ,CAAC,UAA6B,EAAE;IACpD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;QAChB,OAAO,CAAC,KAAK,GAAG,gBAAgB,CAAC;KACpC;IAED,OAAO,IAAA,wBAAe,EAClB,IAAA,qBAAS,EAAC,OAAO,EAAE;QACf,aAAa,EAAE,UAAU;QACzB,OAAO,EAAE,KAAK;QACd,MAAM,EAAE,QAAQ;KACnB,CAAC,EACF,IAAA,gBAAM,EAAC;QACH,IAAI,EAAE,OAAO,CAAC,MAAM,IAAI,SAAS;QACjC,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,KAAK;KAChB,CAAC,EACF,YAAY,CACf,CAAC;AACN,CAAC;AAnBD,4BAmBC"}
@@ -5,13 +5,13 @@ const common_1 = require("@nestjs/common");
5
5
  const lodash_1 = require("lodash");
6
6
  const typeorm_1 = require("typeorm");
7
7
  const EventListenerTypes_1 = require("typeorm/metadata/types/EventListenerTypes");
8
- const class_transformer_1 = require("class-transformer");
9
8
  const BaseField_1 = require("./BaseField");
9
+ const DateTimeField_1 = require("./DateTimeField");
10
10
  const UpdateTimeBehaviour = (object, propertyName) => {
11
11
  const methodName = propertyName + '__updateTimeBehaviour';
12
12
  if (!object[methodName]) {
13
13
  object[methodName] = function () {
14
- this[propertyName] = new Date();
14
+ this[propertyName] = (0, DateTimeField_1.normalizeDateTime)(new Date());
15
15
  };
16
16
  }
17
17
  [EventListenerTypes_1.EventListenerTypes.BEFORE_INSERT, EventListenerTypes_1.EventListenerTypes.BEFORE_INSERT].forEach(type => {
@@ -30,12 +30,16 @@ function UpdateTimeField(options = {}) {
30
30
  decoratorName: 'UpdateTimeField',
31
31
  appType: 'updateTime',
32
32
  jsType: 'string',
33
- }), (0, typeorm_1.UpdateDateColumn)({
33
+ }), (0, typeorm_1.Column)({
34
34
  type: 'timestamp',
35
35
  precision: (0, lodash_1.has)(options, 'precision') ? options.precision : 0,
36
36
  default: (0, lodash_1.has)(options, 'defaultValue') ? options.defaultValue : undefined,
37
37
  nullable: (0, lodash_1.has)(options, 'nullable') ? options.nullable : false,
38
- }), UpdateTimeBehaviour, (0, class_transformer_1.Type)(() => Date));
38
+ transformer: {
39
+ from: DateTimeField_1.normalizeDateTime,
40
+ to: DateTimeField_1.normalizeDateTime,
41
+ },
42
+ }), UpdateTimeBehaviour);
39
43
  }
40
44
  exports.UpdateTimeField = UpdateTimeField;
41
45
  //# sourceMappingURL=UpdateTimeField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UpdateTimeField.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/UpdateTimeField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,mCAAmC;AACnC,qCAAuD;AACvD,kFAA6E;AAC7E,2CAAyD;AACzD,mDAAkD;AAMlD,MAAM,mBAAmB,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE;IACjD,MAAM,UAAU,GAAG,YAAY,GAAG,uBAAuB,CAAC;IAC1D,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;QAErB,MAAM,CAAC,UAAU,CAAC,GAAG;YACjB,IAAI,CAAC,YAAY,CAAC,GAAG,IAAA,iCAAiB,EAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QACvD,CAAC,CAAC;KACL;IAED,CAAC,uCAAkB,CAAC,aAAa,EAAE,uCAAkB,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QAChF,IAAA,gCAAsB,GAAE,CAAC,eAAe,CAAC,IAAI,CAAC;YAC1C,MAAM,EAAE,MAAM,CAAC,WAAW;YAC1B,YAAY,EAAE,UAAU;YACxB,IAAI;SACP,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,SAAgB,eAAe,CAAC,UAAmC,EAAE;IACjE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;QAChB,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC;KAC9B;IAED,OAAO,IAAA,wBAAe,EAClB,IAAA,qBAAS,EAAC,OAAO,EAAE;QACf,aAAa,EAAE,iBAAiB;QAChC,OAAO,EAAE,YAAY;QACrB,MAAM,EAAE,QAAQ;KACnB,CAAC,EACF,IAAA,gBAAM,EAAC;QACH,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,IAAA,YAAI,EAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC7D,OAAO,EAAE,IAAA,YAAI,EAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;QACzE,QAAQ,EAAE,IAAA,YAAI,EAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK;QAC9D,WAAW,EAAE;YACT,IAAI,EAAE,iCAAiB;YACvB,EAAE,EAAE,iCAAiB;SACxB;KACJ,CAAC,EACF,mBAAmB,CACtB,CAAC;AACN,CAAC;AAvBD,0CAuBC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/index.ts"],"names":[],"mappings":";;;AAcA,+CAA4C;AAApC,4GAAA,YAAY,OAAA;AACpB,qDAAkD;AAA1C,kHAAA,eAAe,OAAA;AACvB,qDAAkD;AAA1C,kHAAA,eAAe,OAAA;AACvB,yCAAsC;AAA9B,sGAAA,SAAS,OAAA;AACjB,iDAA8C;AAAtC,8GAAA,aAAa,OAAA;AACrB,+CAA4C;AAApC,4GAAA,YAAY,OAAA;AACpB,2CAAwC;AAAhC,wGAAA,UAAU,OAAA;AAClB,yCAAsC;AAA9B,sGAAA,SAAS,OAAA;AACjB,yCAAsC;AAA9B,sGAAA,SAAS,OAAA;AACjB,yCAAsC;AAA9B,sGAAA,SAAS,OAAA;AACjB,+CAA4C;AAApC,4GAAA,YAAY,OAAA;AACpB,iDAA8C;AAAtC,8GAAA,aAAa,OAAA;AACrB,2CAAwC;AAAhC,wGAAA,UAAU,OAAA;AAClB,qDAAkD;AAA1C,kHAAA,eAAe,OAAA;AACvB,6CAA0C;AAAlC,0GAAA,WAAW,OAAA;AACnB,yCAAsC;AAA9B,sGAAA,SAAS,OAAA;AACjB,yCAAsC;AAA9B,sGAAA,SAAS,OAAA;AACjB,uCAAoC;AAA5B,oGAAA,QAAQ,OAAA;AAChB,qDAAkD;AAA1C,kHAAA,eAAe,OAAA;AACvB,iDAA8C;AAAtC,8GAAA,aAAa,OAAA;AACrB,qDAAkD;AAA1C,kHAAA,eAAe,OAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SchemaSelect.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/schema/SchemaSelect.ts"],"names":[],"mappings":";;;AAAa,QAAA,2BAA2B,GAAG,6BAA6B,CAAC;AAOlE,MAAM,sBAAsB,GAAG,CAClC,WAAW,EACb,EAAE,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,mCAA2B,EAAE,WAAW,CAAC,CAAC;AAFrE,QAAA,sBAAsB,0BAE+C;AAElF,SAAgB,YAAY,CAAC,UAA0B,EAAE;IACrD,OAAO,CAAC,MAAM,EAAE,EAAE;QACd,OAAO,CAAC,cAAc,CAAC,mCAA2B,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACzE,CAAC,CAAC;AACN,CAAC;AAJD,oCAIC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ValidationExceptionFilter.js","sourceRoot":"","sources":["../../../../src/infrastructure/filters/ValidationExceptionFilter.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAiF;AAEjF,qDAAgD;AAChD,uFAAkF;AAGlF,IAAa,yBAAyB,GAAtC,MAAa,yBAAyB;IAClC,WAAW,CAAC,MAAM;QACd,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,YAAY,iCAAe,EAAE;YAC/D,OAAO,MAAM,CAAC,MAAM,CAChB,CAAC,MAAW,EAAE,IAAI,EAAE,EAAE;;gBAClB,IAAI,IAAI,CAAC,WAAW,EAAE;oBAClB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;iBACtE;gBACD,IAAI,CAAA,MAAA,IAAI,CAAC,QAAQ,0CAAE,MAAM,IAAG,CAAC,EAAE;oBAC3B,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;iBAC3D;gBACD,OAAO,MAAM,CAAC;YAClB,CAAC,EACD,EAAE,CACL,CAAC;SACL;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,SAA8B,EAAE,IAAmB;QACrD,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,EAAY,CAAC;QAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAElD,QAAQ;aAEH,MAAM,CAAC,mBAAU,CAAC,EAAE,CAAC;aACrB,IAAI,CAAC;YACF,UAAU,EAAE,mBAAU,CAAC,WAAW;YAClC,MAAM;SACT,CAAC,CAAC;IACX,CAAC;CACJ,CAAA;AAhCY,yBAAyB;IADrC,IAAA,cAAK,EAAC,yCAAmB,CAAC;GACd,yBAAyB,CAgCrC;AAhCY,8DAAyB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModuleHelper.js","sourceRoot":"","sources":["../../../../src/infrastructure/helpers/ModuleHelper.ts"],"names":[],"mappings":";;;AAAA,6BAA6B;AAC7B,yBAAyB;AAEzB,MAAa,YAAY;IACrB,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,EAAE;QAC7B,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAE1B,OAAO,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC;aACrB,GAAG,CAAC,QAAQ,CAAC,EAAE;YACZ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAC3D,OAAO,IAAI,CAAC;aACf;YAED,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;YAChD,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE;gBACd,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;aACvB;YAED,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;YACjD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC;QAC1C,CAAC,CAAC;aACD,MAAM,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;CACJ;AApBD,oCAoBC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CreateDtoPipe.js","sourceRoot":"","sources":["../../../../src/infrastructure/pipes/CreateDtoPipe.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA2E;AAC3E,yDAAkD;AAGlD,IAAa,aAAa,GAA1B,MAAa,aAAa;IACtB,KAAK,CAAC,SAAS,CAAC,KAAU,EAAE,QAA0B;QAClD,OAAO,IAAA,mCAAe,EAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACrD,CAAC;CACJ,CAAA;AAJY,aAAa;IADzB,IAAA,mBAAU,GAAE;GACA,aAAa,CAIzB;AAJY,sCAAa"}
@@ -2,10 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SchemaSerializer = void 0;
4
4
  const common_1 = require("@nestjs/common");
5
- const DataMapperHelper_1 = require("../../usecases/helpers/DataMapperHelper");
5
+ const class_transformer_1 = require("class-transformer");
6
6
  class SchemaSerializer extends common_1.ClassSerializerInterceptor {
7
7
  transformToPlain(data, options) {
8
- return DataMapperHelper_1.DataMapperHelper.anyToPlain(data);
8
+ return (0, class_transformer_1.instanceToPlain)(data);
9
9
  }
10
10
  }
11
11
  exports.SchemaSerializer = SchemaSerializer;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SchemaSerializer.js","sourceRoot":"","sources":["../../../../src/infrastructure/pipes/SchemaSerializer.ts"],"names":[],"mappings":";;;AAAA,2CAA8E;AAE9E,yDAAkD;AAElD,MAAa,gBAAiB,SAAQ,mCAA0B;IAC5D,gBAAgB,CAAC,IAAS,EAAE,OAA8B;QAEtD,OAAO,IAAA,mCAAe,EAAC,IAAI,CAAC,CAAC;IACjC,CAAC;CACJ;AALD,4CAKC"}
@@ -5,6 +5,7 @@ import { SearchResultDto } from '../../usecases/dtos/SearchResultDto';
5
5
  import SearchQuery from '../../usecases/base/SearchQuery';
6
6
  import { SelectQueryBuilder } from 'typeorm/query-builder/SelectQueryBuilder';
7
7
  import { ICondition } from '../../usecases/helpers/ConditionHelper';
8
+ import { ISaveManager } from '../../usecases/interfaces/ISaveManager';
8
9
  export declare class CrudRepository<TModel> implements ICrudRepository<TModel> {
9
10
  primaryKey: string;
10
11
  dbRepository: Repository<any>;
@@ -17,7 +18,7 @@ export declare class CrudRepository<TModel> implements ICrudRepository<TModel> {
17
18
  create(model: TModel, transactionHandler?: (callback: any) => Promise<void>): Promise<TModel>;
18
19
  update(id: number, model: TModel, transactionHandler?: (callback: any) => Promise<void>): Promise<TModel>;
19
20
  save(model: TModel, transactionHandler?: (callback: any) => Promise<void>): Promise<TModel>;
20
- saveInternal(manager: EntityManager, nextModel: TModel): Promise<void>;
21
+ saveInternal(manager: ISaveManager, nextModel: TModel): Promise<void>;
21
22
  remove(id: number, transactionHandler?: (callback: any) => Promise<void>): Promise<void>;
22
23
  removeInternal(manager: EntityManager, id: number): Promise<void>;
23
24
  protected modelToEntity(model: any): any;
@@ -3,7 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CrudRepository = void 0;
4
4
  const SearchHelper_1 = require("../../usecases/helpers/SearchHelper");
5
5
  const SearchQuery_1 = require("../../usecases/base/SearchQuery");
6
- const DataMapperHelper_1 = require("../../usecases/helpers/DataMapperHelper");
6
+ const DataMapper_1 = require("../../usecases/helpers/DataMapper");
7
+ const TableFromModel_1 = require("../decorators/TableFromModel");
8
+ const Transform_1 = require("../decorators/Transform");
7
9
  class CrudRepository {
8
10
  constructor() {
9
11
  this.primaryKey = 'id';
@@ -46,21 +48,25 @@ class CrudRepository {
46
48
  return this.save(model, transactionHandler);
47
49
  }
48
50
  async save(model, transactionHandler) {
51
+ const saver = async (manager, nextModel) => {
52
+ const entity = this.modelToEntity(nextModel);
53
+ const newEntity = await manager.save(entity);
54
+ DataMapper_1.DataMapper.applyValues(nextModel, newEntity, Transform_1.TRANSFORM_TYPE_FROM_DB);
55
+ };
49
56
  if (transactionHandler) {
50
57
  await this.dbRepository.manager.transaction(async (manager) => {
51
58
  await transactionHandler(async () => {
52
- await this.saveInternal(manager, model);
59
+ await this.saveInternal({ save: (nextModel) => saver(manager, nextModel) }, model);
53
60
  });
54
61
  });
55
62
  }
56
63
  else {
57
- await this.saveInternal(this.dbRepository.manager, model);
64
+ await this.saveInternal({ save: (nextModel) => saver(this.dbRepository.manager, nextModel) }, model);
58
65
  }
59
66
  return model;
60
67
  }
61
68
  async saveInternal(manager, nextModel) {
62
- const entity = await manager.save(this.modelToEntity(nextModel));
63
- DataMapperHelper_1.DataMapperHelper.applyChangesToModel(nextModel, entity);
69
+ await manager.save(nextModel);
64
70
  }
65
71
  async remove(id, transactionHandler) {
66
72
  if (transactionHandler) {
@@ -78,13 +84,13 @@ class CrudRepository {
78
84
  await manager.remove(this.dbRepository.create({ id }));
79
85
  }
80
86
  modelToEntity(model) {
81
- return DataMapperHelper_1.DataMapperHelper.modelToEntity(this.dbRepository.manager.connection, model);
87
+ return DataMapper_1.DataMapper.create((0, TableFromModel_1.getTableFromModel)(this.modelClass), model, Transform_1.TRANSFORM_TYPE_TO_DB);
82
88
  }
83
89
  entityToModel(obj) {
84
90
  if (!this.modelClass) {
85
91
  throw new Error('Property modelClass is not set in repository: ' + this.constructor.name);
86
92
  }
87
- return DataMapperHelper_1.DataMapperHelper.anyToModel(obj, this.modelClass);
93
+ return DataMapper_1.DataMapper.create(this.modelClass, obj, Transform_1.TRANSFORM_TYPE_FROM_DB);
88
94
  }
89
95
  }
90
96
  exports.CrudRepository = CrudRepository;