@sisques-labs/nestjs-kit 0.1.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 (294) hide show
  1. package/README.md +770 -0
  2. package/dist/index.d.ts +93 -0
  3. package/dist/index.js +110 -0
  4. package/dist/index.js.map +1 -0
  5. package/dist/shared/application/commands/base/base-command.handler.d.ts +6 -0
  6. package/dist/shared/application/commands/base/base-command.handler.js +14 -0
  7. package/dist/shared/application/commands/base/base-command.handler.js.map +1 -0
  8. package/dist/shared/application/commands/interfaces/base-command-handler.interface.d.ts +3 -0
  9. package/dist/shared/application/commands/interfaces/base-command-handler.interface.js +3 -0
  10. package/dist/shared/application/commands/interfaces/base-command-handler.interface.js.map +1 -0
  11. package/dist/shared/application/commands/update/base-update/base-update.command-handler.d.ts +9 -0
  12. package/dist/shared/application/commands/update/base-update/base-update.command-handler.js +25 -0
  13. package/dist/shared/application/commands/update/base-update/base-update.command-handler.js.map +1 -0
  14. package/dist/shared/application/dtos/commands/field-changed/base-field-changed-command.dto.d.ts +5 -0
  15. package/dist/shared/application/dtos/commands/field-changed/base-field-changed-command.dto.js +3 -0
  16. package/dist/shared/application/dtos/commands/field-changed/base-field-changed-command.dto.js.map +1 -0
  17. package/dist/shared/application/services/base-service/base-service.interface.d.ts +3 -0
  18. package/dist/shared/application/services/base-service/base-service.interface.js +3 -0
  19. package/dist/shared/application/services/base-service/base-service.interface.js.map +1 -0
  20. package/dist/shared/domain/aggregates/base-aggregate/base.aggregate.d.ts +9 -0
  21. package/dist/shared/domain/aggregates/base-aggregate/base.aggregate.js +19 -0
  22. package/dist/shared/domain/aggregates/base-aggregate/base.aggregate.js.map +1 -0
  23. package/dist/shared/domain/entities/criteria.d.ts +21 -0
  24. package/dist/shared/domain/entities/criteria.js +12 -0
  25. package/dist/shared/domain/entities/criteria.js.map +1 -0
  26. package/dist/shared/domain/entities/paginated-result.entity.d.ts +8 -0
  27. package/dist/shared/domain/entities/paginated-result.entity.js +16 -0
  28. package/dist/shared/domain/entities/paginated-result.entity.js.map +1 -0
  29. package/dist/shared/domain/enums/filter-operator.enum.d.ts +10 -0
  30. package/dist/shared/domain/enums/filter-operator.enum.js +15 -0
  31. package/dist/shared/domain/enums/filter-operator.enum.js.map +1 -0
  32. package/dist/shared/domain/enums/length-unit/length-unit.enum.d.ts +7 -0
  33. package/dist/shared/domain/enums/length-unit/length-unit.enum.js +12 -0
  34. package/dist/shared/domain/enums/length-unit/length-unit.enum.js.map +1 -0
  35. package/dist/shared/domain/enums/sort-direction.enum.d.ts +4 -0
  36. package/dist/shared/domain/enums/sort-direction.enum.js +9 -0
  37. package/dist/shared/domain/enums/sort-direction.enum.js.map +1 -0
  38. package/dist/shared/domain/enums/user-context/user/user-role/user-role.enum.d.ts +4 -0
  39. package/dist/shared/domain/enums/user-context/user/user-role/user-role.enum.js +9 -0
  40. package/dist/shared/domain/enums/user-context/user/user-role/user-role.enum.js.map +1 -0
  41. package/dist/shared/domain/enums/user-context/user/user-status/user-status.enum.d.ts +5 -0
  42. package/dist/shared/domain/enums/user-context/user/user-status/user-status.enum.js +10 -0
  43. package/dist/shared/domain/enums/user-context/user/user-status/user-status.enum.js.map +1 -0
  44. package/dist/shared/domain/events/base-event.interface.d.ts +13 -0
  45. package/dist/shared/domain/events/base-event.interface.js +21 -0
  46. package/dist/shared/domain/events/base-event.interface.js.map +1 -0
  47. package/dist/shared/domain/exceptions/base.exception.d.ts +6 -0
  48. package/dist/shared/domain/exceptions/base.exception.js +23 -0
  49. package/dist/shared/domain/exceptions/base.exception.js.map +1 -0
  50. package/dist/shared/domain/exceptions/value-objects/invalid-boolean/invalid-boolean.exception.d.ts +4 -0
  51. package/dist/shared/domain/exceptions/value-objects/invalid-boolean/invalid-boolean.exception.js +12 -0
  52. package/dist/shared/domain/exceptions/value-objects/invalid-boolean/invalid-boolean.exception.js.map +1 -0
  53. package/dist/shared/domain/exceptions/value-objects/invalid-color/invalid-color.exception.d.ts +4 -0
  54. package/dist/shared/domain/exceptions/value-objects/invalid-color/invalid-color.exception.js +11 -0
  55. package/dist/shared/domain/exceptions/value-objects/invalid-color/invalid-color.exception.js.map +1 -0
  56. package/dist/shared/domain/exceptions/value-objects/invalid-dimensions/invalid-dimensions.exception.d.ts +4 -0
  57. package/dist/shared/domain/exceptions/value-objects/invalid-dimensions/invalid-dimensions.exception.js +11 -0
  58. package/dist/shared/domain/exceptions/value-objects/invalid-dimensions/invalid-dimensions.exception.js.map +1 -0
  59. package/dist/shared/domain/exceptions/value-objects/invalid-email/invalid-email.exception.d.ts +4 -0
  60. package/dist/shared/domain/exceptions/value-objects/invalid-email/invalid-email.exception.js +11 -0
  61. package/dist/shared/domain/exceptions/value-objects/invalid-email/invalid-email.exception.js.map +1 -0
  62. package/dist/shared/domain/exceptions/value-objects/invalid-enum-value/invalid-enum-value.exception.d.ts +4 -0
  63. package/dist/shared/domain/exceptions/value-objects/invalid-enum-value/invalid-enum-value.exception.js +11 -0
  64. package/dist/shared/domain/exceptions/value-objects/invalid-enum-value/invalid-enum-value.exception.js.map +1 -0
  65. package/dist/shared/domain/exceptions/value-objects/invalid-hex/invalid-hex.exception.d.ts +4 -0
  66. package/dist/shared/domain/exceptions/value-objects/invalid-hex/invalid-hex.exception.js +11 -0
  67. package/dist/shared/domain/exceptions/value-objects/invalid-hex/invalid-hex.exception.js.map +1 -0
  68. package/dist/shared/domain/exceptions/value-objects/invalid-ip/invalid-ip.exception.d.ts +4 -0
  69. package/dist/shared/domain/exceptions/value-objects/invalid-ip/invalid-ip.exception.js +11 -0
  70. package/dist/shared/domain/exceptions/value-objects/invalid-ip/invalid-ip.exception.js.map +1 -0
  71. package/dist/shared/domain/exceptions/value-objects/invalid-json/invalid-json.exception.d.ts +4 -0
  72. package/dist/shared/domain/exceptions/value-objects/invalid-json/invalid-json.exception.js +11 -0
  73. package/dist/shared/domain/exceptions/value-objects/invalid-json/invalid-json.exception.js.map +1 -0
  74. package/dist/shared/domain/exceptions/value-objects/invalid-locale/invalid-locale.exception.d.ts +4 -0
  75. package/dist/shared/domain/exceptions/value-objects/invalid-locale/invalid-locale.exception.js +12 -0
  76. package/dist/shared/domain/exceptions/value-objects/invalid-locale/invalid-locale.exception.js.map +1 -0
  77. package/dist/shared/domain/exceptions/value-objects/invalid-number/invalid-number.exception.d.ts +4 -0
  78. package/dist/shared/domain/exceptions/value-objects/invalid-number/invalid-number.exception.js +11 -0
  79. package/dist/shared/domain/exceptions/value-objects/invalid-number/invalid-number.exception.js.map +1 -0
  80. package/dist/shared/domain/exceptions/value-objects/invalid-numeric-range/invalid-numeric-range.exception.d.ts +4 -0
  81. package/dist/shared/domain/exceptions/value-objects/invalid-numeric-range/invalid-numeric-range.exception.js +11 -0
  82. package/dist/shared/domain/exceptions/value-objects/invalid-numeric-range/invalid-numeric-range.exception.js.map +1 -0
  83. package/dist/shared/domain/exceptions/value-objects/invalid-password/invalid-password.exception.d.ts +4 -0
  84. package/dist/shared/domain/exceptions/value-objects/invalid-password/invalid-password.exception.js +11 -0
  85. package/dist/shared/domain/exceptions/value-objects/invalid-password/invalid-password.exception.js.map +1 -0
  86. package/dist/shared/domain/exceptions/value-objects/invalid-phone/invalid-phone.exception.d.ts +4 -0
  87. package/dist/shared/domain/exceptions/value-objects/invalid-phone/invalid-phone.exception.js +11 -0
  88. package/dist/shared/domain/exceptions/value-objects/invalid-phone/invalid-phone.exception.js.map +1 -0
  89. package/dist/shared/domain/exceptions/value-objects/invalid-string/invalid-string.exception.d.ts +4 -0
  90. package/dist/shared/domain/exceptions/value-objects/invalid-string/invalid-string.exception.js +11 -0
  91. package/dist/shared/domain/exceptions/value-objects/invalid-string/invalid-string.exception.js.map +1 -0
  92. package/dist/shared/domain/exceptions/value-objects/invalid-timezone/invalid-timezone.exception.d.ts +4 -0
  93. package/dist/shared/domain/exceptions/value-objects/invalid-timezone/invalid-timezone.exception.js +12 -0
  94. package/dist/shared/domain/exceptions/value-objects/invalid-timezone/invalid-timezone.exception.js.map +1 -0
  95. package/dist/shared/domain/exceptions/value-objects/invalid-url/invalid-url.exception.d.ts +4 -0
  96. package/dist/shared/domain/exceptions/value-objects/invalid-url/invalid-url.exception.js +11 -0
  97. package/dist/shared/domain/exceptions/value-objects/invalid-url/invalid-url.exception.js.map +1 -0
  98. package/dist/shared/domain/exceptions/value-objects/invalid-uuid/invalid-uuid.exception.d.ts +4 -0
  99. package/dist/shared/domain/exceptions/value-objects/invalid-uuid/invalid-uuid.exception.js +11 -0
  100. package/dist/shared/domain/exceptions/value-objects/invalid-uuid/invalid-uuid.exception.js.map +1 -0
  101. package/dist/shared/domain/interfaces/base-aggregate-dto.interface.d.ts +5 -0
  102. package/dist/shared/domain/interfaces/base-aggregate-dto.interface.js +3 -0
  103. package/dist/shared/domain/interfaces/base-aggregate-dto.interface.js.map +1 -0
  104. package/dist/shared/domain/interfaces/base-view-model-dto.interface.d.ts +5 -0
  105. package/dist/shared/domain/interfaces/base-view-model-dto.interface.js +3 -0
  106. package/dist/shared/domain/interfaces/base-view-model-dto.interface.js.map +1 -0
  107. package/dist/shared/domain/interfaces/event-metadata.interface.d.ts +7 -0
  108. package/dist/shared/domain/interfaces/event-metadata.interface.js +3 -0
  109. package/dist/shared/domain/interfaces/event-metadata.interface.js.map +1 -0
  110. package/dist/shared/domain/interfaces/events/base-event-data.interface.d.ts +4 -0
  111. package/dist/shared/domain/interfaces/events/base-event-data.interface.js +3 -0
  112. package/dist/shared/domain/interfaces/events/base-event-data.interface.js.map +1 -0
  113. package/dist/shared/domain/interfaces/factories/read-factory.interface.d.ts +5 -0
  114. package/dist/shared/domain/interfaces/factories/read-factory.interface.js +3 -0
  115. package/dist/shared/domain/interfaces/factories/read-factory.interface.js.map +1 -0
  116. package/dist/shared/domain/interfaces/factories/write-factory.interface.d.ts +4 -0
  117. package/dist/shared/domain/interfaces/factories/write-factory.interface.js +3 -0
  118. package/dist/shared/domain/interfaces/factories/write-factory.interface.js.map +1 -0
  119. package/dist/shared/domain/interfaces/numeric-range.interface.d.ts +4 -0
  120. package/dist/shared/domain/interfaces/numeric-range.interface.js +3 -0
  121. package/dist/shared/domain/interfaces/numeric-range.interface.js.map +1 -0
  122. package/dist/shared/domain/interfaces/repository/base-read-repository.interface.d.ts +8 -0
  123. package/dist/shared/domain/interfaces/repository/base-read-repository.interface.js +3 -0
  124. package/dist/shared/domain/interfaces/repository/base-read-repository.interface.js.map +1 -0
  125. package/dist/shared/domain/interfaces/repository/base-write-repository.interface.d.ts +5 -0
  126. package/dist/shared/domain/interfaces/repository/base-write-repository.interface.js +3 -0
  127. package/dist/shared/domain/interfaces/repository/base-write-repository.interface.js.map +1 -0
  128. package/dist/shared/domain/interfaces/updated-field.interface.d.ts +5 -0
  129. package/dist/shared/domain/interfaces/updated-field.interface.js +3 -0
  130. package/dist/shared/domain/interfaces/updated-field.interface.js.map +1 -0
  131. package/dist/shared/domain/primitives/base-primitives/base.primitives.d.ts +4 -0
  132. package/dist/shared/domain/primitives/base-primitives/base.primitives.js +3 -0
  133. package/dist/shared/domain/primitives/base-primitives/base.primitives.js.map +1 -0
  134. package/dist/shared/domain/value-objects/base/value-object.base.d.ts +11 -0
  135. package/dist/shared/domain/value-objects/base/value-object.base.js +40 -0
  136. package/dist/shared/domain/value-objects/base/value-object.base.js.map +1 -0
  137. package/dist/shared/domain/value-objects/boolean/boolean.vo.d.ts +26 -0
  138. package/dist/shared/domain/value-objects/boolean/boolean.vo.js +102 -0
  139. package/dist/shared/domain/value-objects/boolean/boolean.vo.js.map +1 -0
  140. package/dist/shared/domain/value-objects/color/color.vo.d.ts +21 -0
  141. package/dist/shared/domain/value-objects/color/color.vo.js +127 -0
  142. package/dist/shared/domain/value-objects/color/color.vo.js.map +1 -0
  143. package/dist/shared/domain/value-objects/date/date.vo.d.ts +9 -0
  144. package/dist/shared/domain/value-objects/date/date.vo.js +23 -0
  145. package/dist/shared/domain/value-objects/date/date.vo.js.map +1 -0
  146. package/dist/shared/domain/value-objects/dimensions/dimensions.vo.d.ts +68 -0
  147. package/dist/shared/domain/value-objects/dimensions/dimensions.vo.js +182 -0
  148. package/dist/shared/domain/value-objects/dimensions/dimensions.vo.js.map +1 -0
  149. package/dist/shared/domain/value-objects/email/email.vo.d.ts +12 -0
  150. package/dist/shared/domain/value-objects/email/email.vo.js +48 -0
  151. package/dist/shared/domain/value-objects/email/email.vo.js.map +1 -0
  152. package/dist/shared/domain/value-objects/enum/enum.vo.d.ts +35 -0
  153. package/dist/shared/domain/value-objects/enum/enum.vo.js +137 -0
  154. package/dist/shared/domain/value-objects/enum/enum.vo.js.map +1 -0
  155. package/dist/shared/domain/value-objects/hex/hex.vo.d.ts +11 -0
  156. package/dist/shared/domain/value-objects/hex/hex.vo.js +38 -0
  157. package/dist/shared/domain/value-objects/hex/hex.vo.js.map +1 -0
  158. package/dist/shared/domain/value-objects/ip/ip.vo.d.ts +19 -0
  159. package/dist/shared/domain/value-objects/ip/ip.vo.js +90 -0
  160. package/dist/shared/domain/value-objects/ip/ip.vo.js.map +1 -0
  161. package/dist/shared/domain/value-objects/json/json.vo.d.ts +43 -0
  162. package/dist/shared/domain/value-objects/json/json.vo.js +224 -0
  163. package/dist/shared/domain/value-objects/json/json.vo.js.map +1 -0
  164. package/dist/shared/domain/value-objects/length-unit/length-unit.vo.d.ts +5 -0
  165. package/dist/shared/domain/value-objects/length-unit/length-unit.vo.js +12 -0
  166. package/dist/shared/domain/value-objects/length-unit/length-unit.vo.js.map +1 -0
  167. package/dist/shared/domain/value-objects/locale/locale.vo.d.ts +27 -0
  168. package/dist/shared/domain/value-objects/locale/locale.vo.js +292 -0
  169. package/dist/shared/domain/value-objects/locale/locale.vo.js.map +1 -0
  170. package/dist/shared/domain/value-objects/number/number.vo.d.ts +23 -0
  171. package/dist/shared/domain/value-objects/number/number.vo.js +77 -0
  172. package/dist/shared/domain/value-objects/number/number.vo.js.map +1 -0
  173. package/dist/shared/domain/value-objects/numeric-range/numeric-range.vo.d.ts +13 -0
  174. package/dist/shared/domain/value-objects/numeric-range/numeric-range.vo.js +35 -0
  175. package/dist/shared/domain/value-objects/numeric-range/numeric-range.vo.js.map +1 -0
  176. package/dist/shared/domain/value-objects/password/password.vo.d.ts +14 -0
  177. package/dist/shared/domain/value-objects/password/password.vo.js +90 -0
  178. package/dist/shared/domain/value-objects/password/password.vo.js.map +1 -0
  179. package/dist/shared/domain/value-objects/phone/phone.vo.d.ts +13 -0
  180. package/dist/shared/domain/value-objects/phone/phone.vo.js +56 -0
  181. package/dist/shared/domain/value-objects/phone/phone.vo.js.map +1 -0
  182. package/dist/shared/domain/value-objects/phone-code/phone-code.vo.d.ts +25 -0
  183. package/dist/shared/domain/value-objects/phone-code/phone-code.vo.js +344 -0
  184. package/dist/shared/domain/value-objects/phone-code/phone-code.vo.js.map +1 -0
  185. package/dist/shared/domain/value-objects/slug/slug.vo.d.ts +25 -0
  186. package/dist/shared/domain/value-objects/slug/slug.vo.js +87 -0
  187. package/dist/shared/domain/value-objects/slug/slug.vo.js.map +1 -0
  188. package/dist/shared/domain/value-objects/string/string.vo.d.ts +38 -0
  189. package/dist/shared/domain/value-objects/string/string.vo.js +146 -0
  190. package/dist/shared/domain/value-objects/string/string.vo.js.map +1 -0
  191. package/dist/shared/domain/value-objects/timezone/timezone.vo.d.ts +23 -0
  192. package/dist/shared/domain/value-objects/timezone/timezone.vo.js +116 -0
  193. package/dist/shared/domain/value-objects/timezone/timezone.vo.js.map +1 -0
  194. package/dist/shared/domain/value-objects/url/url.vo.d.ts +9 -0
  195. package/dist/shared/domain/value-objects/url/url.vo.js +31 -0
  196. package/dist/shared/domain/value-objects/url/url.vo.js.map +1 -0
  197. package/dist/shared/domain/value-objects/uuid/uuid.vo.d.ts +13 -0
  198. package/dist/shared/domain/value-objects/uuid/uuid.vo.js +49 -0
  199. package/dist/shared/domain/value-objects/uuid/uuid.vo.js.map +1 -0
  200. package/dist/shared/domain/view-models/base-view-model/base-view-model.d.ts +14 -0
  201. package/dist/shared/domain/view-models/base-view-model/base-view-model.js +24 -0
  202. package/dist/shared/domain/view-models/base-view-model/base-view-model.js.map +1 -0
  203. package/dist/shared/infrastructure/database/base-database.repository.d.ts +11 -0
  204. package/dist/shared/infrastructure/database/base-database.repository.js +14 -0
  205. package/dist/shared/infrastructure/database/base-database.repository.js.map +1 -0
  206. package/dist/shared/infrastructure/database/mongodb/base-mongo/base-mongo-database.repository.d.ts +9 -0
  207. package/dist/shared/infrastructure/database/mongodb/base-mongo/base-mongo-database.repository.js +78 -0
  208. package/dist/shared/infrastructure/database/mongodb/base-mongo/base-mongo-database.repository.js.map +1 -0
  209. package/dist/shared/infrastructure/database/mongodb/base-mongo/base-mongo-master/base-mongo-master.repository.d.ts +6 -0
  210. package/dist/shared/infrastructure/database/mongodb/base-mongo/base-mongo-master/base-mongo-master.repository.js +12 -0
  211. package/dist/shared/infrastructure/database/mongodb/base-mongo/base-mongo-master/base-mongo-master.repository.js.map +1 -0
  212. package/dist/shared/infrastructure/database/mongodb/dtos/base-mongo.dto.d.ts +5 -0
  213. package/dist/shared/infrastructure/database/mongodb/dtos/base-mongo.dto.js +3 -0
  214. package/dist/shared/infrastructure/database/mongodb/dtos/base-mongo.dto.js.map +1 -0
  215. package/dist/shared/infrastructure/database/mongodb/mongodb.module.d.ts +2 -0
  216. package/dist/shared/infrastructure/database/mongodb/mongodb.module.js +23 -0
  217. package/dist/shared/infrastructure/database/mongodb/mongodb.module.js.map +1 -0
  218. package/dist/shared/infrastructure/database/mongodb/services/mongo-master/mongo-master.service.d.ts +14 -0
  219. package/dist/shared/infrastructure/database/mongodb/services/mongo-master/mongo-master.service.js +57 -0
  220. package/dist/shared/infrastructure/database/mongodb/services/mongo-master/mongo-master.service.js.map +1 -0
  221. package/dist/shared/infrastructure/database/typeorm/base-typeorm/base-typeorm-master/base-typeorm-master.repository.d.ts +9 -0
  222. package/dist/shared/infrastructure/database/typeorm/base-typeorm/base-typeorm-master/base-typeorm-master.repository.js +18 -0
  223. package/dist/shared/infrastructure/database/typeorm/base-typeorm/base-typeorm-master/base-typeorm-master.repository.js.map +1 -0
  224. package/dist/shared/infrastructure/database/typeorm/data-source.d.ts +4 -0
  225. package/dist/shared/infrastructure/database/typeorm/data-source.js +33 -0
  226. package/dist/shared/infrastructure/database/typeorm/data-source.js.map +1 -0
  227. package/dist/shared/infrastructure/database/typeorm/dtos/base-typeorm.dto.d.ts +4 -0
  228. package/dist/shared/infrastructure/database/typeorm/dtos/base-typeorm.dto.js +3 -0
  229. package/dist/shared/infrastructure/database/typeorm/dtos/base-typeorm.dto.js.map +1 -0
  230. package/dist/shared/infrastructure/database/typeorm/entities/base-typeorm.entity.d.ts +6 -0
  231. package/dist/shared/infrastructure/database/typeorm/entities/base-typeorm.entity.js +36 -0
  232. package/dist/shared/infrastructure/database/typeorm/entities/base-typeorm.entity.js.map +1 -0
  233. package/dist/shared/infrastructure/database/typeorm/services/typeorm-master/typeorm-master.service.d.ts +9 -0
  234. package/dist/shared/infrastructure/database/typeorm/services/typeorm-master/typeorm-master.service.js +42 -0
  235. package/dist/shared/infrastructure/database/typeorm/services/typeorm-master/typeorm-master.service.js.map +1 -0
  236. package/dist/shared/infrastructure/database/typeorm/typeorm-module-options.factory.d.ts +3 -0
  237. package/dist/shared/infrastructure/database/typeorm/typeorm-module-options.factory.js +32 -0
  238. package/dist/shared/infrastructure/database/typeorm/typeorm-module-options.factory.js.map +1 -0
  239. package/dist/shared/infrastructure/database/typeorm/typeorm.module.d.ts +2 -0
  240. package/dist/shared/infrastructure/database/typeorm/typeorm.module.js +34 -0
  241. package/dist/shared/infrastructure/database/typeorm/typeorm.module.js.map +1 -0
  242. package/dist/shared/infrastructure/logging/factories/create-shared-winston-logger-options.d.ts +6 -0
  243. package/dist/shared/infrastructure/logging/factories/create-shared-winston-logger-options.js +92 -0
  244. package/dist/shared/infrastructure/logging/factories/create-shared-winston-logger-options.js.map +1 -0
  245. package/dist/shared/infrastructure/logging/formats/shared-winston.formats.d.ts +3 -0
  246. package/dist/shared/infrastructure/logging/formats/shared-winston.formats.js +30 -0
  247. package/dist/shared/infrastructure/logging/formats/shared-winston.formats.js.map +1 -0
  248. package/dist/shared/infrastructure/logging/interfaces/shared-winston-logger-factory-options.interface.d.ts +21 -0
  249. package/dist/shared/infrastructure/logging/interfaces/shared-winston-logger-factory-options.interface.js +3 -0
  250. package/dist/shared/infrastructure/logging/interfaces/shared-winston-logger-factory-options.interface.js.map +1 -0
  251. package/dist/shared/shared.module.d.ts +3 -0
  252. package/dist/shared/shared.module.js +51 -0
  253. package/dist/shared/shared.module.js.map +1 -0
  254. package/dist/shared/transport/graphql/dtos/requests/base-filter/base-filter.input.d.ts +6 -0
  255. package/dist/shared/transport/graphql/dtos/requests/base-filter/base-filter.input.js +40 -0
  256. package/dist/shared/transport/graphql/dtos/requests/base-filter/base-filter.input.js.map +1 -0
  257. package/dist/shared/transport/graphql/dtos/requests/base-find-by-criteria/base-find-by-criteria.input.d.ts +8 -0
  258. package/dist/shared/transport/graphql/dtos/requests/base-find-by-criteria/base-find-by-criteria.input.js +56 -0
  259. package/dist/shared/transport/graphql/dtos/requests/base-find-by-criteria/base-find-by-criteria.input.js.map +1 -0
  260. package/dist/shared/transport/graphql/dtos/requests/base-pagination/base-pagination.input.d.ts +4 -0
  261. package/dist/shared/transport/graphql/dtos/requests/base-pagination/base-pagination.input.js +33 -0
  262. package/dist/shared/transport/graphql/dtos/requests/base-pagination/base-pagination.input.js.map +1 -0
  263. package/dist/shared/transport/graphql/dtos/requests/base-sort/base-sort.input.d.ts +5 -0
  264. package/dist/shared/transport/graphql/dtos/requests/base-sort/base-sort.input.js +34 -0
  265. package/dist/shared/transport/graphql/dtos/requests/base-sort/base-sort.input.js.map +1 -0
  266. package/dist/shared/transport/graphql/dtos/requests/numeric-range/numeric-range.input.d.ts +4 -0
  267. package/dist/shared/transport/graphql/dtos/requests/numeric-range/numeric-range.input.js +31 -0
  268. package/dist/shared/transport/graphql/dtos/requests/numeric-range/numeric-range.input.js.map +1 -0
  269. package/dist/shared/transport/graphql/dtos/responses/base-paginated-result/base-paginated-result.dto.d.ts +6 -0
  270. package/dist/shared/transport/graphql/dtos/responses/base-paginated-result/base-paginated-result.dto.js +36 -0
  271. package/dist/shared/transport/graphql/dtos/responses/base-paginated-result/base-paginated-result.dto.js.map +1 -0
  272. package/dist/shared/transport/graphql/dtos/responses/numeric-range/numeric-range.dto.d.ts +4 -0
  273. package/dist/shared/transport/graphql/dtos/responses/numeric-range/numeric-range.dto.js +31 -0
  274. package/dist/shared/transport/graphql/dtos/responses/numeric-range/numeric-range.dto.js.map +1 -0
  275. package/dist/shared/transport/graphql/dtos/responses/success-response/success-response.dto.d.ts +5 -0
  276. package/dist/shared/transport/graphql/dtos/responses/success-response/success-response.dto.js +32 -0
  277. package/dist/shared/transport/graphql/dtos/responses/success-response/success-response.dto.js.map +1 -0
  278. package/dist/shared/transport/graphql/dtos/success-response-array.dto.d.ts +5 -0
  279. package/dist/shared/transport/graphql/dtos/success-response-array.dto.js +32 -0
  280. package/dist/shared/transport/graphql/dtos/success-response-array.dto.js.map +1 -0
  281. package/dist/shared/transport/graphql/enums/shared-registered-enums.graphql.d.ts +1 -0
  282. package/dist/shared/transport/graphql/enums/shared-registered-enums.graphql.js +15 -0
  283. package/dist/shared/transport/graphql/enums/shared-registered-enums.graphql.js.map +1 -0
  284. package/dist/shared/transport/graphql/mappers/mutation-response/mutation-response.mapper.d.ts +6 -0
  285. package/dist/shared/transport/graphql/mappers/mutation-response/mutation-response.mapper.js +31 -0
  286. package/dist/shared/transport/graphql/mappers/mutation-response/mutation-response.mapper.js.map +1 -0
  287. package/dist/shared/transport/graphql/plugins/complexity.plugin.d.ts +4 -0
  288. package/dist/shared/transport/graphql/plugins/complexity.plugin.js +40 -0
  289. package/dist/shared/transport/graphql/plugins/complexity.plugin.js.map +1 -0
  290. package/dist/shared/transport/graphql/registered-enums/registered-enums.graphql.d.ts +1 -0
  291. package/dist/shared/transport/graphql/registered-enums/registered-enums.graphql.js +33 -0
  292. package/dist/shared/transport/graphql/registered-enums/registered-enums.graphql.js.map +1 -0
  293. package/dist/tsconfig.build.tsbuildinfo +1 -0
  294. package/package.json +152 -0
@@ -0,0 +1,23 @@
1
+ import { StringValueObject } from '@/shared/domain/value-objects/string/string.vo';
2
+ export declare class TimezoneValueObject extends StringValueObject {
3
+ private static readonly MIN_LENGTH;
4
+ private static readonly MAX_LENGTH;
5
+ private static readonly COMMON_TIMEZONES;
6
+ constructor(value: string, options?: {
7
+ allowEmpty?: boolean;
8
+ validateExistence?: boolean;
9
+ });
10
+ static fromString(timezone: string, options?: {
11
+ allowEmpty?: boolean;
12
+ validateExistence?: boolean;
13
+ }): TimezoneValueObject;
14
+ static normalizeTimezone(timezone: string): string;
15
+ exists(): boolean;
16
+ isUTC(): boolean;
17
+ getRegion(): string | null;
18
+ getCity(): string | null;
19
+ isEuropean(): boolean;
20
+ isAmerican(): boolean;
21
+ isAsian(): boolean;
22
+ private validateExistence;
23
+ }
@@ -0,0 +1,116 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TimezoneValueObject = void 0;
4
+ const invalid_timezone_exception_1 = require("../../exceptions/value-objects/invalid-timezone/invalid-timezone.exception");
5
+ const string_vo_1 = require("../string/string.vo");
6
+ class TimezoneValueObject extends string_vo_1.StringValueObject {
7
+ constructor(value, options = {}) {
8
+ const processedValue = TimezoneValueObject.normalizeTimezone(value);
9
+ super(processedValue, {
10
+ minLength: TimezoneValueObject.MIN_LENGTH,
11
+ maxLength: TimezoneValueObject.MAX_LENGTH,
12
+ allowEmpty: options.allowEmpty ?? false,
13
+ trim: true,
14
+ });
15
+ if (options.validateExistence !== false) {
16
+ if (this.value.length > 0 || options.allowEmpty !== true) {
17
+ this.validateExistence();
18
+ }
19
+ }
20
+ }
21
+ static fromString(timezone, options = {}) {
22
+ return new TimezoneValueObject(timezone, options);
23
+ }
24
+ static normalizeTimezone(timezone) {
25
+ if (!timezone || typeof timezone !== 'string') {
26
+ return '';
27
+ }
28
+ return timezone.trim();
29
+ }
30
+ exists() {
31
+ return TimezoneValueObject.COMMON_TIMEZONES.has(this.value);
32
+ }
33
+ isUTC() {
34
+ return this.value === 'UTC';
35
+ }
36
+ getRegion() {
37
+ const parts = this.value.split('/');
38
+ return parts.length >= 2 ? parts[0] : null;
39
+ }
40
+ getCity() {
41
+ const parts = this.value.split('/');
42
+ return parts.length >= 2 ? parts[1] : null;
43
+ }
44
+ isEuropean() {
45
+ return this.getRegion() === 'Europe';
46
+ }
47
+ isAmerican() {
48
+ return this.getRegion() === 'America';
49
+ }
50
+ isAsian() {
51
+ return this.getRegion() === 'Asia';
52
+ }
53
+ validateExistence() {
54
+ if (!this.exists()) {
55
+ throw new invalid_timezone_exception_1.InvalidTimezoneException(`Timezone ${this.value} is not recognized as a valid timezone`);
56
+ }
57
+ }
58
+ }
59
+ exports.TimezoneValueObject = TimezoneValueObject;
60
+ TimezoneValueObject.MIN_LENGTH = 3;
61
+ TimezoneValueObject.MAX_LENGTH = 50;
62
+ TimezoneValueObject.COMMON_TIMEZONES = new Set([
63
+ 'UTC',
64
+ 'Europe/London',
65
+ 'Europe/Paris',
66
+ 'Europe/Madrid',
67
+ 'Europe/Berlin',
68
+ 'Europe/Rome',
69
+ 'Europe/Amsterdam',
70
+ 'Europe/Brussels',
71
+ 'Europe/Vienna',
72
+ 'Europe/Zurich',
73
+ 'Europe/Stockholm',
74
+ 'Europe/Oslo',
75
+ 'Europe/Copenhagen',
76
+ 'Europe/Helsinki',
77
+ 'Europe/Warsaw',
78
+ 'Europe/Prague',
79
+ 'Europe/Budapest',
80
+ 'Europe/Bucharest',
81
+ 'Europe/Sofia',
82
+ 'Europe/Athens',
83
+ 'Europe/Istanbul',
84
+ 'Europe/Moscow',
85
+ 'America/New_York',
86
+ 'America/Chicago',
87
+ 'America/Denver',
88
+ 'America/Los_Angeles',
89
+ 'America/Toronto',
90
+ 'America/Vancouver',
91
+ 'America/Mexico_City',
92
+ 'America/Sao_Paulo',
93
+ 'America/Buenos_Aires',
94
+ 'America/Lima',
95
+ 'America/Bogota',
96
+ 'America/Caracas',
97
+ 'America/Santiago',
98
+ 'Asia/Tokyo',
99
+ 'Asia/Seoul',
100
+ 'Asia/Shanghai',
101
+ 'Asia/Hong_Kong',
102
+ 'Asia/Singapore',
103
+ 'Asia/Bangkok',
104
+ 'Asia/Jakarta',
105
+ 'Asia/Manila',
106
+ 'Asia/Kolkata',
107
+ 'Asia/Dubai',
108
+ 'Asia/Tehran',
109
+ 'Asia/Riyadh',
110
+ 'Australia/Sydney',
111
+ 'Australia/Melbourne',
112
+ 'Australia/Perth',
113
+ 'Pacific/Auckland',
114
+ 'Pacific/Honolulu',
115
+ ]);
116
+ //# sourceMappingURL=timezone.vo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timezone.vo.js","sourceRoot":"","sources":["../../../../../src/shared/domain/value-objects/timezone/timezone.vo.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { ValueObject } from '@/shared/domain/value-objects/base/value-object.base';
2
+ export declare class UrlValueObject extends ValueObject<string> {
3
+ private readonly _value;
4
+ constructor(value: string);
5
+ get value(): string;
6
+ protected validate(): void;
7
+ private checkIsEmpty;
8
+ private checkIsUrl;
9
+ }
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UrlValueObject = void 0;
4
+ const invalid_url_exception_1 = require("../../exceptions/value-objects/invalid-url/invalid-url.exception");
5
+ const value_object_base_1 = require("../base/value-object.base");
6
+ class UrlValueObject extends value_object_base_1.ValueObject {
7
+ constructor(value) {
8
+ super();
9
+ this._value = value;
10
+ this.validate();
11
+ }
12
+ get value() {
13
+ return this._value;
14
+ }
15
+ validate() {
16
+ this.checkIsEmpty();
17
+ this.checkIsUrl();
18
+ }
19
+ checkIsEmpty() {
20
+ if (!this._value) {
21
+ throw new invalid_url_exception_1.InvalidUrlException('URL cannot be empty');
22
+ }
23
+ }
24
+ checkIsUrl() {
25
+ if (!this._value.startsWith('http')) {
26
+ throw new invalid_url_exception_1.InvalidUrlException('URL must start with http');
27
+ }
28
+ }
29
+ }
30
+ exports.UrlValueObject = UrlValueObject;
31
+ //# sourceMappingURL=url.vo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url.vo.js","sourceRoot":"","sources":["../../../../../src/shared/domain/value-objects/url/url.vo.ts"],"names":[],"mappings":";;;AAAA,4GAAiH;AACjH,iEAAmF;AASnF,MAAa,cAAe,SAAQ,+BAAmB;IAGrD,YAAY,KAAa;QACvB,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAED,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAES,QAAQ;QAChB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAEO,YAAY;QAClB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,2CAAmB,CAAC,qBAAqB,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAEO,UAAU;QAChB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,2CAAmB,CAAC,0BAA0B,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;CACF;AA7BD,wCA6BC"}
@@ -0,0 +1,13 @@
1
+ import { ValueObject } from '@/shared/domain/value-objects/base/value-object.base';
2
+ export declare class UuidValueObject extends ValueObject<string> {
3
+ private readonly _value;
4
+ constructor(value?: string);
5
+ get value(): string;
6
+ equals(other: UuidValueObject): boolean;
7
+ getVersion(): number | null;
8
+ isNil(): boolean;
9
+ static generate(): UuidValueObject;
10
+ protected validate(): void;
11
+ private checkIsEmpty;
12
+ private checkIsValidUuid;
13
+ }
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UuidValueObject = void 0;
4
+ const crypto_1 = require("crypto");
5
+ const invalid_uuid_exception_1 = require("../../exceptions/value-objects/invalid-uuid/invalid-uuid.exception");
6
+ const value_object_base_1 = require("../base/value-object.base");
7
+ class UuidValueObject extends value_object_base_1.ValueObject {
8
+ constructor(value) {
9
+ super();
10
+ this._value = value ?? (0, crypto_1.randomUUID)();
11
+ this.validate();
12
+ }
13
+ get value() {
14
+ return this._value;
15
+ }
16
+ equals(other) {
17
+ return this._value === other._value;
18
+ }
19
+ getVersion() {
20
+ const match = this._value.match(/^[0-9a-f]{8}-[0-9a-f]{4}-([0-9a-f])[0-9a-f]{3}-[0-9a-f]{4}-[0-9a-f]{12}$/i);
21
+ if (match) {
22
+ return parseInt(match[1], 16);
23
+ }
24
+ return null;
25
+ }
26
+ isNil() {
27
+ return this._value === '00000000-0000-0000-0000-000000000000';
28
+ }
29
+ static generate() {
30
+ return new UuidValueObject();
31
+ }
32
+ validate() {
33
+ this.checkIsEmpty();
34
+ this.checkIsValidUuid();
35
+ }
36
+ checkIsEmpty() {
37
+ if (!this._value || this._value.trim() === '') {
38
+ throw new invalid_uuid_exception_1.InvalidUuidException('UUID cannot be empty');
39
+ }
40
+ }
41
+ checkIsValidUuid() {
42
+ const uuidPattern = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
43
+ if (!uuidPattern.test(this._value)) {
44
+ throw new invalid_uuid_exception_1.InvalidUuidException('Invalid UUID format');
45
+ }
46
+ }
47
+ }
48
+ exports.UuidValueObject = UuidValueObject;
49
+ //# sourceMappingURL=uuid.vo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uuid.vo.js","sourceRoot":"","sources":["../../../../../src/shared/domain/value-objects/uuid/uuid.vo.ts"],"names":[],"mappings":";;;AAAA,mCAAoC;AAEpC,+GAAoH;AACpH,iEAAmF;AASnF,MAAa,eAAgB,SAAQ,+BAAmB;IAGtD,YAAY,KAAc;QACxB,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,KAAK,IAAI,IAAA,mBAAU,GAAE,CAAC;QACpC,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAED,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAEM,MAAM,CAAC,KAAsB;QAClC,OAAO,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC;IACtC,CAAC;IAMM,UAAU;QACf,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAC7B,2EAA2E,CAC5E,CAAC;QACF,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAMM,KAAK;QACV,OAAO,IAAI,CAAC,MAAM,KAAK,sCAAsC,CAAC;IAChE,CAAC;IAMM,MAAM,CAAC,QAAQ;QACpB,OAAO,IAAI,eAAe,EAAE,CAAC;IAC/B,CAAC;IAES,QAAQ;QAChB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAEO,YAAY;QAClB,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC9C,MAAM,IAAI,6CAAoB,CAAC,sBAAsB,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAEO,gBAAgB;QAEtB,MAAM,WAAW,GACf,4EAA4E,CAAC;QAE/E,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,6CAAoB,CAAC,qBAAqB,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;CACF;AAnED,0CAmEC"}
@@ -0,0 +1,14 @@
1
+ export declare abstract class BaseViewModel {
2
+ protected readonly _id: string;
3
+ protected readonly _createdAt: Date;
4
+ protected _updatedAt: Date;
5
+ constructor(props: {
6
+ id: string;
7
+ createdAt: Date;
8
+ updatedAt: Date;
9
+ });
10
+ get id(): string;
11
+ get createdAt(): Date;
12
+ get updatedAt(): Date;
13
+ set updatedAt(updatedAt: Date);
14
+ }
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseViewModel = void 0;
4
+ class BaseViewModel {
5
+ constructor(props) {
6
+ this._id = props.id;
7
+ this._createdAt = props.createdAt;
8
+ this._updatedAt = props.updatedAt;
9
+ }
10
+ get id() {
11
+ return this._id;
12
+ }
13
+ get createdAt() {
14
+ return this._createdAt;
15
+ }
16
+ get updatedAt() {
17
+ return this._updatedAt;
18
+ }
19
+ set updatedAt(updatedAt) {
20
+ this._updatedAt = updatedAt;
21
+ }
22
+ }
23
+ exports.BaseViewModel = BaseViewModel;
24
+ //# sourceMappingURL=base-view-model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-view-model.js","sourceRoot":"","sources":["../../../../../src/shared/domain/view-models/base-view-model/base-view-model.ts"],"names":[],"mappings":";;;AAOA,MAAsB,aAAa;IAKjC,YAAY,KAAuD;QACjE,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC;QACpB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC;IACpC,CAAC;IAOD,IAAW,EAAE;QACX,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAOD,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAOD,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAOD,IAAW,SAAS,CAAC,SAAe;QAClC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAC9B,CAAC;CACF;AA9CD,sCA8CC"}
@@ -0,0 +1,11 @@
1
+ import { Criteria } from '@/shared/domain/entities/criteria';
2
+ import { Logger } from '@nestjs/common';
3
+ export declare class BaseDatabaseRepository {
4
+ protected logger: Logger;
5
+ constructor();
6
+ calculatePagination(criteria: Criteria): Promise<{
7
+ page: number;
8
+ limit: number;
9
+ skip: number;
10
+ }>;
11
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseDatabaseRepository = void 0;
4
+ class BaseDatabaseRepository {
5
+ constructor() { }
6
+ async calculatePagination(criteria) {
7
+ const page = criteria.pagination.page || 1;
8
+ const limit = criteria.pagination.perPage || 10;
9
+ const skip = (page - 1) * limit;
10
+ return { page, limit, skip };
11
+ }
12
+ }
13
+ exports.BaseDatabaseRepository = BaseDatabaseRepository;
14
+ //# sourceMappingURL=base-database.repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-database.repository.js","sourceRoot":"","sources":["../../../../src/shared/infrastructure/database/base-database.repository.ts"],"names":[],"mappings":";;;AAUA,MAAa,sBAAsB;IAajC,gBAAe,CAAC;IAWhB,KAAK,CAAC,mBAAmB,CAAC,QAAkB;QAK1C,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,CAAC;QAC3C,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,OAAO,IAAI,EAAE,CAAC;QAChD,MAAM,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;QAChC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAC/B,CAAC;CACF;AAlCD,wDAkCC"}
@@ -0,0 +1,9 @@
1
+ import { Collection } from 'mongodb';
2
+ import { Criteria } from '@/shared/domain/entities/criteria';
3
+ import { BaseDatabaseRepository } from '@/shared/infrastructure/database/base-database.repository';
4
+ export declare abstract class BaseMongoDatabaseRepository extends BaseDatabaseRepository {
5
+ constructor();
6
+ protected buildMongoQuery(criteria: Criteria): any;
7
+ protected buildSortQuery(criteria: Criteria): any;
8
+ protected executeQueryWithPagination(collection: Collection, mongoQuery: any, sortQuery: any, skip: number, limit: number): Promise<[any[], number]>;
9
+ }
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseMongoDatabaseRepository = void 0;
4
+ const common_1 = require("@nestjs/common");
5
+ const filter_operator_enum_1 = require("../../../../domain/enums/filter-operator.enum");
6
+ const sort_direction_enum_1 = require("../../../../domain/enums/sort-direction.enum");
7
+ const base_database_repository_1 = require("../../base-database.repository");
8
+ class BaseMongoDatabaseRepository extends base_database_repository_1.BaseDatabaseRepository {
9
+ constructor() {
10
+ super();
11
+ this.logger = new common_1.Logger(this.constructor.name);
12
+ }
13
+ buildMongoQuery(criteria) {
14
+ this.logger.log(`Building MongoDB query from criteria: ${JSON.stringify(criteria)}`);
15
+ const query = {};
16
+ if (criteria.filters && criteria.filters.length > 0) {
17
+ criteria.filters.forEach((filter) => {
18
+ switch (filter.operator) {
19
+ case filter_operator_enum_1.FilterOperator.EQUALS:
20
+ query[filter.field] = filter.value;
21
+ break;
22
+ case filter_operator_enum_1.FilterOperator.NOT_EQUALS:
23
+ query[filter.field] = { $ne: filter.value };
24
+ break;
25
+ case filter_operator_enum_1.FilterOperator.LIKE:
26
+ query[filter.field] = { $regex: filter.value, $options: 'i' };
27
+ break;
28
+ case filter_operator_enum_1.FilterOperator.IN:
29
+ query[filter.field] = {
30
+ $in: Array.isArray(filter.value) ? filter.value : [filter.value],
31
+ };
32
+ break;
33
+ case filter_operator_enum_1.FilterOperator.GREATER_THAN:
34
+ query[filter.field] = { $gt: filter.value };
35
+ break;
36
+ case filter_operator_enum_1.FilterOperator.LESS_THAN:
37
+ query[filter.field] = { $lt: filter.value };
38
+ break;
39
+ case filter_operator_enum_1.FilterOperator.GREATER_THAN_OR_EQUAL:
40
+ query[filter.field] = { $gte: filter.value };
41
+ break;
42
+ case filter_operator_enum_1.FilterOperator.LESS_THAN_OR_EQUAL:
43
+ query[filter.field] = { $lte: filter.value };
44
+ break;
45
+ default:
46
+ break;
47
+ }
48
+ });
49
+ }
50
+ return query;
51
+ }
52
+ buildSortQuery(criteria) {
53
+ this.logger.log(`Building MongoDB sort query from criteria: ${JSON.stringify(criteria)}`);
54
+ if (!criteria.sorts || criteria.sorts.length === 0) {
55
+ return { createdAt: sort_direction_enum_1.SortDirection.DESC };
56
+ }
57
+ const sortQuery = {};
58
+ criteria.sorts.forEach((sort) => {
59
+ sortQuery[sort.field] = sort.direction === sort_direction_enum_1.SortDirection.ASC ? 1 : -1;
60
+ });
61
+ return sortQuery;
62
+ }
63
+ async executeQueryWithPagination(collection, mongoQuery, sortQuery, skip, limit) {
64
+ this.logger.log(`Executing MongoDB query with pagination: ${JSON.stringify(mongoQuery)}`);
65
+ const [data, total] = await Promise.all([
66
+ collection
67
+ .find(mongoQuery)
68
+ .sort(sortQuery)
69
+ .skip(skip)
70
+ .limit(limit)
71
+ .toArray(),
72
+ collection.countDocuments(mongoQuery),
73
+ ]);
74
+ return [data, total];
75
+ }
76
+ }
77
+ exports.BaseMongoDatabaseRepository = BaseMongoDatabaseRepository;
78
+ //# sourceMappingURL=base-mongo-database.repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-mongo-database.repository.js","sourceRoot":"","sources":["../../../../../../src/shared/infrastructure/database/mongodb/base-mongo/base-mongo-database.repository.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { BaseMongoDatabaseRepository } from '@/shared/infrastructure/database/mongodb/base-mongo/base-mongo-database.repository';
2
+ import { MongoMasterService } from '@/shared/infrastructure/database/mongodb/services/mongo-master/mongo-master.service';
3
+ export declare class BaseMongoMasterRepository extends BaseMongoDatabaseRepository {
4
+ protected readonly mongoMasterService: MongoMasterService;
5
+ constructor(mongoMasterService: MongoMasterService);
6
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseMongoMasterRepository = void 0;
4
+ const base_mongo_database_repository_1 = require("../base-mongo-database.repository");
5
+ class BaseMongoMasterRepository extends base_mongo_database_repository_1.BaseMongoDatabaseRepository {
6
+ constructor(mongoMasterService) {
7
+ super();
8
+ this.mongoMasterService = mongoMasterService;
9
+ }
10
+ }
11
+ exports.BaseMongoMasterRepository = BaseMongoMasterRepository;
12
+ //# sourceMappingURL=base-mongo-master.repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-mongo-master.repository.js","sourceRoot":"","sources":["../../../../../../../src/shared/infrastructure/database/mongodb/base-mongo/base-mongo-master/base-mongo-master.repository.ts"],"names":[],"mappings":";;;AAAA,sFAAiI;AAOjI,MAAa,yBAA0B,SAAQ,4DAA2B;IACxE,YAA+B,kBAAsC;QACnE,KAAK,EAAE,CAAC;QADqB,uBAAkB,GAAlB,kBAAkB,CAAoB;IAErE,CAAC;CACF;AAJD,8DAIC"}
@@ -0,0 +1,5 @@
1
+ export type BaseMongoDto = {
2
+ id: string;
3
+ createdAt: Date;
4
+ updatedAt: Date;
5
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=base-mongo.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-mongo.dto.js","sourceRoot":"","sources":["../../../../../../src/shared/infrastructure/database/mongodb/dtos/base-mongo.dto.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export declare class MongoModule {
2
+ }
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.MongoModule = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ const mongo_master_service_1 = require("./services/mongo-master/mongo-master.service");
12
+ const SERVICES = [mongo_master_service_1.MongoMasterService];
13
+ let MongoModule = class MongoModule {
14
+ };
15
+ exports.MongoModule = MongoModule;
16
+ exports.MongoModule = MongoModule = __decorate([
17
+ (0, common_1.Global)(),
18
+ (0, common_1.Module)({
19
+ providers: [...SERVICES],
20
+ exports: [...SERVICES],
21
+ })
22
+ ], MongoModule);
23
+ //# sourceMappingURL=mongodb.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mongodb.module.js","sourceRoot":"","sources":["../../../../../src/shared/infrastructure/database/mongodb/mongodb.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAgD;AAEhD,uFAAyH;AAEzH,MAAM,QAAQ,GAAG,CAAC,yCAAkB,CAAC,CAAC;AAW/B,IAAM,WAAW,GAAjB,MAAM,WAAW;CAAG,CAAA;AAAd,kCAAW;sBAAX,WAAW;IALvB,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC;QACN,SAAS,EAAE,CAAC,GAAG,QAAQ,CAAC;QACxB,OAAO,EAAE,CAAC,GAAG,QAAQ,CAAC;KACvB,CAAC;GACW,WAAW,CAAG"}
@@ -0,0 +1,14 @@
1
+ import { OnModuleDestroy, OnModuleInit } from '@nestjs/common';
2
+ import { ConfigService } from '@nestjs/config';
3
+ import { Db } from 'mongodb';
4
+ export declare class MongoMasterService implements OnModuleInit, OnModuleDestroy {
5
+ private readonly configService;
6
+ private readonly logger;
7
+ private client;
8
+ private db;
9
+ constructor(configService: ConfigService);
10
+ onModuleInit(): Promise<void>;
11
+ onModuleDestroy(): Promise<void>;
12
+ getDatabase(): Db;
13
+ getCollection(collectionName: string): import("mongodb").Collection<import("mongodb").Document>;
14
+ }
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var MongoMasterService_1;
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.MongoMasterService = void 0;
14
+ const common_1 = require("@nestjs/common");
15
+ const config_1 = require("@nestjs/config");
16
+ const mongodb_1 = require("mongodb");
17
+ let MongoMasterService = MongoMasterService_1 = class MongoMasterService {
18
+ constructor(configService) {
19
+ this.configService = configService;
20
+ this.logger = new common_1.Logger(MongoMasterService_1.name);
21
+ }
22
+ async onModuleInit() {
23
+ this.logger.log(`🚀 Initializing MongoDB Master`);
24
+ const mongoUrl = this.configService.get('MONGODB_URI');
25
+ const dbName = this.configService.get('MONGODB_DATABASE');
26
+ try {
27
+ this.client = new mongodb_1.MongoClient(mongoUrl, {
28
+ authSource: 'admin',
29
+ });
30
+ await this.client.connect();
31
+ this.db = this.client.db(dbName);
32
+ this.logger.log(`🚀 MongoDB Master connected successfully`);
33
+ }
34
+ catch (error) {
35
+ this.logger.error(`🚀 Error connecting to MongoDB Master: ${error}`);
36
+ throw error;
37
+ }
38
+ }
39
+ async onModuleDestroy() {
40
+ await this.client.close();
41
+ this.logger.log(`🚀 MongoDB Master disconnected`);
42
+ }
43
+ getDatabase() {
44
+ this.logger.log(`🚀 Getting MongoDB Master database`);
45
+ return this.db;
46
+ }
47
+ getCollection(collectionName) {
48
+ this.logger.log(`🚀 Getting MongoDB Master collection ${collectionName}`);
49
+ return this.db.collection(collectionName);
50
+ }
51
+ };
52
+ exports.MongoMasterService = MongoMasterService;
53
+ exports.MongoMasterService = MongoMasterService = MongoMasterService_1 = __decorate([
54
+ (0, common_1.Injectable)(),
55
+ __metadata("design:paramtypes", [config_1.ConfigService])
56
+ ], MongoMasterService);
57
+ //# sourceMappingURL=mongo-master.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mongo-master.service.js","sourceRoot":"","sources":["../../../../../../../src/shared/infrastructure/database/mongodb/services/mongo-master/mongo-master.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAKwB;AACxB,2CAA+C;AAC/C,qCAA0C;AAGnC,IAAM,kBAAkB,0BAAxB,MAAM,kBAAkB;IAK7B,YAA6B,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;QAJxC,WAAM,GAAG,IAAI,eAAM,CAAC,oBAAkB,CAAC,IAAI,CAAC,CAAC;IAIF,CAAC;IAE7D,KAAK,CAAC,YAAY;QAChB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAElD,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAS,aAAa,CAAC,CAAC;QAC/D,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAS,kBAAkB,CAAC,CAAC;QAElE,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,GAAG,IAAI,qBAAW,CAAC,QAAQ,EAAE;gBACtC,UAAU,EAAE,OAAO;aACpB,CAAC,CAAC;YAEH,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;QAC9D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0CAA0C,KAAK,EAAE,CAAC,CAAC;YACrE,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IAED,WAAW;QACT,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC,EAAE,CAAC;IACjB,CAAC;IAED,aAAa,CAAC,cAAsB;QAClC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,wCAAwC,cAAc,EAAE,CAAC,CAAC;QAC1E,OAAO,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;IAC5C,CAAC;CACF,CAAA;AAzCY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,mBAAU,GAAE;qCAMiC,sBAAa;GAL9C,kBAAkB,CAyC9B"}
@@ -0,0 +1,9 @@
1
+ import { Repository } from 'typeorm';
2
+ import { BaseDatabaseRepository } from '@/shared/infrastructure/database/base-database.repository';
3
+ import { TypeormMasterService } from '@/shared/infrastructure/database/typeorm/services/typeorm-master/typeorm-master.service';
4
+ export declare abstract class BaseTypeormMasterRepository<T> extends BaseDatabaseRepository {
5
+ protected readonly typeormMasterService: TypeormMasterService;
6
+ protected readonly repository: Repository<T>;
7
+ constructor(typeormMasterService: TypeormMasterService, entityClass: new () => T);
8
+ protected getRepository<U>(entityClass: new () => U): Repository<U>;
9
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseTypeormMasterRepository = void 0;
4
+ const common_1 = require("@nestjs/common");
5
+ const base_database_repository_1 = require("../../../base-database.repository");
6
+ class BaseTypeormMasterRepository extends base_database_repository_1.BaseDatabaseRepository {
7
+ constructor(typeormMasterService, entityClass) {
8
+ super();
9
+ this.typeormMasterService = typeormMasterService;
10
+ this.logger = new common_1.Logger(BaseTypeormMasterRepository.name);
11
+ this.repository = this.typeormMasterService.getRepository(entityClass);
12
+ }
13
+ getRepository(entityClass) {
14
+ return this.typeormMasterService.getRepository(entityClass);
15
+ }
16
+ }
17
+ exports.BaseTypeormMasterRepository = BaseTypeormMasterRepository;
18
+ //# sourceMappingURL=base-typeorm-master.repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-typeorm-master.repository.js","sourceRoot":"","sources":["../../../../../../../src/shared/infrastructure/database/typeorm/base-typeorm/base-typeorm-master/base-typeorm-master.repository.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AAGxC,gFAAmG;AAGnG,MAAsB,2BAEpB,SAAQ,iDAAsB;IAG9B,YACqB,oBAA0C,EAC7D,WAAwB;QAExB,KAAK,EAAE,CAAC;QAHW,yBAAoB,GAApB,oBAAoB,CAAsB;QAI7D,IAAI,CAAC,MAAM,GAAG,IAAI,eAAM,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC;QAC3D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IACzE,CAAC;IASS,aAAa,CAAI,WAAwB;QACjD,OAAO,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAC9D,CAAC;CACF;AAxBD,kEAwBC"}
@@ -0,0 +1,4 @@
1
+ import 'dotenv/config';
2
+ import { DataSource, DataSourceOptions } from 'typeorm';
3
+ export declare const dataSourceOptions: DataSourceOptions;
4
+ export declare const dataSource: DataSource;