@nest-omni/core 1.0.1 → 1.0.3

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 (528) hide show
  1. package/package.json +10 -3
  2. package/dist/boilerplate.polyfill.d.ts +0 -39
  3. package/dist/boilerplate.polyfill.js +0 -66
  4. package/dist/boilerplate.polyfill.js.map +0 -1
  5. package/dist/common/abstract-client.service.d.ts +0 -16
  6. package/dist/common/abstract-client.service.js +0 -26
  7. package/dist/common/abstract-client.service.js.map +0 -1
  8. package/dist/common/abstract.entity.d.ts +0 -17
  9. package/dist/common/abstract.entity.js +0 -71
  10. package/dist/common/abstract.entity.js.map +0 -1
  11. package/dist/common/dto/abstract.dto.d.ts +0 -13
  12. package/dist/common/dto/abstract.dto.js +0 -63
  13. package/dist/common/dto/abstract.dto.js.map +0 -1
  14. package/dist/common/dto/bulk-id.dto.d.ts +0 -3
  15. package/dist/common/dto/bulk-id.dto.js +0 -29
  16. package/dist/common/dto/bulk-id.dto.js.map +0 -1
  17. package/dist/common/dto/create-translation.dto.d.ts +0 -5
  18. package/dist/common/dto/create-translation.dto.js +0 -28
  19. package/dist/common/dto/create-translation.dto.js.map +0 -1
  20. package/dist/common/dto/page-meta.dto.d.ts +0 -15
  21. package/dist/common/dto/page-meta.dto.js +0 -55
  22. package/dist/common/dto/page-meta.dto.js.map +0 -1
  23. package/dist/common/dto/page-options.dto.d.ts +0 -8
  24. package/dist/common/dto/page-options.dto.js +0 -52
  25. package/dist/common/dto/page-options.dto.js.map +0 -1
  26. package/dist/common/dto/page.dto.d.ts +0 -11
  27. package/dist/common/dto/page.dto.js +0 -61
  28. package/dist/common/dto/page.dto.js.map +0 -1
  29. package/dist/common/utils.d.ts +0 -3
  30. package/dist/common/utils.js +0 -26
  31. package/dist/common/utils.js.map +0 -1
  32. package/dist/constants/index.d.ts +0 -4
  33. package/dist/constants/index.js +0 -21
  34. package/dist/constants/index.js.map +0 -1
  35. package/dist/constants/language-code.d.ts +0 -5
  36. package/dist/constants/language-code.js +0 -10
  37. package/dist/constants/language-code.js.map +0 -1
  38. package/dist/constants/order.d.ts +0 -4
  39. package/dist/constants/order.js +0 -9
  40. package/dist/constants/order.js.map +0 -1
  41. package/dist/constants/role-type.d.ts +0 -4
  42. package/dist/constants/role-type.js +0 -9
  43. package/dist/constants/role-type.js.map +0 -1
  44. package/dist/constants/token-type.d.ts +0 -4
  45. package/dist/constants/token-type.js +0 -9
  46. package/dist/constants/token-type.js.map +0 -1
  47. package/dist/decorators/api-page-ok-response.decorator.d.ts +0 -5
  48. package/dist/decorators/api-page-ok-response.decorator.js +0 -26
  49. package/dist/decorators/api-page-ok-response.decorator.js.map +0 -1
  50. package/dist/decorators/auth-user.decorator.d.ts +0 -1
  51. package/dist/decorators/auth-user.decorator.js +0 -16
  52. package/dist/decorators/auth-user.decorator.js.map +0 -1
  53. package/dist/decorators/controller.decorator.d.ts +0 -1
  54. package/dist/decorators/controller.decorator.js +0 -12
  55. package/dist/decorators/controller.decorator.js.map +0 -1
  56. package/dist/decorators/field.decorators.d.ts +0 -71
  57. package/dist/decorators/field.decorators.js +0 -457
  58. package/dist/decorators/field.decorators.js.map +0 -1
  59. package/dist/decorators/http.decorators.d.ts +0 -3
  60. package/dist/decorators/http.decorators.js +0 -9
  61. package/dist/decorators/http.decorators.js.map +0 -1
  62. package/dist/decorators/index.d.ts +0 -12
  63. package/dist/decorators/index.js +0 -29
  64. package/dist/decorators/index.js.map +0 -1
  65. package/dist/decorators/omni-auth.decorator.d.ts +0 -8
  66. package/dist/decorators/omni-auth.decorator.js +0 -36
  67. package/dist/decorators/omni-auth.decorator.js.map +0 -1
  68. package/dist/decorators/operation.decorator.d.ts +0 -1
  69. package/dist/decorators/operation.decorator.js +0 -7
  70. package/dist/decorators/operation.decorator.js.map +0 -1
  71. package/dist/decorators/property.decorators.d.ts +0 -15
  72. package/dist/decorators/property.decorators.js +0 -43
  73. package/dist/decorators/property.decorators.js.map +0 -1
  74. package/dist/decorators/public-route.decorator.d.ts +0 -3
  75. package/dist/decorators/public-route.decorator.js +0 -8
  76. package/dist/decorators/public-route.decorator.js.map +0 -1
  77. package/dist/decorators/swagger.schema.d.ts +0 -5
  78. package/dist/decorators/swagger.schema.js +0 -80
  79. package/dist/decorators/swagger.schema.js.map +0 -1
  80. package/dist/decorators/timestamp-column.decorator.d.ts +0 -1
  81. package/dist/decorators/timestamp-column.decorator.js +0 -29
  82. package/dist/decorators/timestamp-column.decorator.js.map +0 -1
  83. package/dist/decorators/transform.decorators.d.ts +0 -8
  84. package/dist/decorators/transform.decorators.js +0 -96
  85. package/dist/decorators/transform.decorators.js.map +0 -1
  86. package/dist/decorators/translate.decorator.d.ts +0 -5
  87. package/dist/decorators/translate.decorator.js +0 -18
  88. package/dist/decorators/translate.decorator.js.map +0 -1
  89. package/dist/decorators/use-dto.decorator.d.ts +0 -4
  90. package/dist/decorators/use-dto.decorator.js +0 -10
  91. package/dist/decorators/use-dto.decorator.js.map +0 -1
  92. package/dist/decorators/user-check.decorator.d.ts +0 -6
  93. package/dist/decorators/user-check.decorator.js +0 -22
  94. package/dist/decorators/user-check.decorator.js.map +0 -1
  95. package/dist/decorators/user.decorator.d.ts +0 -8
  96. package/dist/decorators/user.decorator.js +0 -39
  97. package/dist/decorators/user.decorator.js.map +0 -1
  98. package/dist/decorators/user_auth.decorator.d.ts +0 -1
  99. package/dist/decorators/user_auth.decorator.js +0 -17
  100. package/dist/decorators/user_auth.decorator.js.map +0 -1
  101. package/dist/decorators/validator.decorators.d.ts +0 -10
  102. package/dist/decorators/validator.decorators.js +0 -63
  103. package/dist/decorators/validator.decorators.js.map +0 -1
  104. package/dist/exceptions/file-not-image.exception.d.ts +0 -4
  105. package/dist/exceptions/file-not-image.exception.js +0 -11
  106. package/dist/exceptions/file-not-image.exception.js.map +0 -1
  107. package/dist/exceptions/index.d.ts +0 -2
  108. package/dist/exceptions/index.js +0 -19
  109. package/dist/exceptions/index.js.map +0 -1
  110. package/dist/exceptions/page-type.exception.d.ts +0 -4
  111. package/dist/exceptions/page-type.exception.js +0 -11
  112. package/dist/exceptions/page-type.exception.js.map +0 -1
  113. package/dist/exceptions/user-not-found.exception.d.ts +0 -4
  114. package/dist/exceptions/user-not-found.exception.js +0 -11
  115. package/dist/exceptions/user-not-found.exception.js.map +0 -1
  116. package/dist/filters/bad-request.filter.d.ts +0 -5
  117. package/dist/filters/bad-request.filter.js +0 -65
  118. package/dist/filters/bad-request.filter.js.map +0 -1
  119. package/dist/filters/constraint-errors.d.ts +0 -1
  120. package/dist/filters/constraint-errors.js +0 -7
  121. package/dist/filters/constraint-errors.js.map +0 -1
  122. package/dist/filters/index.d.ts +0 -3
  123. package/dist/filters/index.js +0 -20
  124. package/dist/filters/index.js.map +0 -1
  125. package/dist/filters/query-failed.filter.d.ts +0 -10
  126. package/dist/filters/query-failed.filter.js +0 -43
  127. package/dist/filters/query-failed.filter.js.map +0 -1
  128. package/dist/guards/auth.guard.d.ts +0 -4
  129. package/dist/guards/auth.guard.js +0 -13
  130. package/dist/guards/auth.guard.js.map +0 -1
  131. package/dist/guards/roles.guard.d.ts +0 -7
  132. package/dist/guards/roles.guard.js +0 -36
  133. package/dist/guards/roles.guard.js.map +0 -1
  134. package/dist/health-checker/health-checker.controller.d.ts +0 -15
  135. package/dist/health-checker/health-checker.controller.js +0 -68
  136. package/dist/health-checker/health-checker.controller.js.map +0 -1
  137. package/dist/health-checker/health-checker.module.d.ts +0 -2
  138. package/dist/health-checker/health-checker.module.js +0 -26
  139. package/dist/health-checker/health-checker.module.js.map +0 -1
  140. package/dist/health-checker/health-indicators/service.indicator.d.ts +0 -8
  141. package/dist/health-checker/health-indicators/service.indicator.js +0 -57
  142. package/dist/health-checker/health-indicators/service.indicator.js.map +0 -1
  143. package/dist/helpers/common.helper.d.ts +0 -3
  144. package/dist/helpers/common.helper.js +0 -37
  145. package/dist/helpers/common.helper.js.map +0 -1
  146. package/dist/helpers/date.helper.d.ts +0 -10
  147. package/dist/helpers/date.helper.js +0 -59
  148. package/dist/helpers/date.helper.js.map +0 -1
  149. package/dist/helpers/excel.helper.d.ts +0 -12
  150. package/dist/helpers/excel.helper.js +0 -250
  151. package/dist/helpers/excel.helper.js.map +0 -1
  152. package/dist/helpers/index.d.ts +0 -3
  153. package/dist/helpers/index.js +0 -20
  154. package/dist/helpers/index.js.map +0 -1
  155. package/dist/index.d.ts +0 -11
  156. package/dist/index.js +0 -28
  157. package/dist/index.js.map +0 -1
  158. package/dist/interceptors/auth-user.interceptor.d.ts +0 -4
  159. package/dist/interceptors/auth-user.interceptor.js +0 -25
  160. package/dist/interceptors/auth-user.interceptor.js.map +0 -1
  161. package/dist/interceptors/index.d.ts +0 -2
  162. package/dist/interceptors/index.js +0 -19
  163. package/dist/interceptors/index.js.map +0 -1
  164. package/dist/interceptors/language-interceptor.service.d.ts +0 -6
  165. package/dist/interceptors/language-interceptor.service.js +0 -31
  166. package/dist/interceptors/language-interceptor.service.js.map +0 -1
  167. package/dist/interceptors/translation-interceptor.service.d.ts +0 -5
  168. package/dist/interceptors/translation-interceptor.service.js +0 -35
  169. package/dist/interceptors/translation-interceptor.service.js.map +0 -1
  170. package/dist/interfaces/IApiFile.d.ts +0 -4
  171. package/dist/interfaces/IApiFile.js +0 -3
  172. package/dist/interfaces/IApiFile.js.map +0 -1
  173. package/dist/interfaces/IFile.d.ts +0 -9
  174. package/dist/interfaces/IFile.js +0 -3
  175. package/dist/interfaces/IFile.js.map +0 -1
  176. package/dist/interfaces/ITranslationDecoratorInterface.d.ts +0 -3
  177. package/dist/interfaces/ITranslationDecoratorInterface.js +0 -3
  178. package/dist/interfaces/ITranslationDecoratorInterface.js.map +0 -1
  179. package/dist/interfaces/index.d.ts +0 -3
  180. package/dist/interfaces/index.js +0 -20
  181. package/dist/interfaces/index.js.map +0 -1
  182. package/dist/interfaces/response.d.ts +0 -25
  183. package/dist/interfaces/response.js +0 -3
  184. package/dist/interfaces/response.js.map +0 -1
  185. package/dist/middlewares/index.d.ts +0 -3
  186. package/dist/middlewares/index.js +0 -20
  187. package/dist/middlewares/index.js.map +0 -1
  188. package/dist/middlewares/omni-auth.middleware.d.ts +0 -1
  189. package/dist/middlewares/omni-auth.middleware.js +0 -14
  190. package/dist/middlewares/omni-auth.middleware.js.map +0 -1
  191. package/dist/middlewares/powerby.middleware.d.ts +0 -1
  192. package/dist/middlewares/powerby.middleware.js +0 -11
  193. package/dist/middlewares/powerby.middleware.js.map +0 -1
  194. package/dist/middlewares/request-id.middleware.d.ts +0 -7
  195. package/dist/middlewares/request-id.middleware.js +0 -23
  196. package/dist/middlewares/request-id.middleware.js.map +0 -1
  197. package/dist/providers/context.provider.d.ts +0 -32
  198. package/dist/providers/context.provider.js +0 -71
  199. package/dist/providers/context.provider.js.map +0 -1
  200. package/dist/providers/generator.provider.d.ts +0 -9
  201. package/dist/providers/generator.provider.js +0 -51
  202. package/dist/providers/generator.provider.js.map +0 -1
  203. package/dist/providers/index.d.ts +0 -2
  204. package/dist/providers/index.js +0 -19
  205. package/dist/providers/index.js.map +0 -1
  206. package/dist/setup/bootstrap.setup.d.ts +0 -5
  207. package/dist/setup/bootstrap.setup.js +0 -102
  208. package/dist/setup/bootstrap.setup.js.map +0 -1
  209. package/dist/setup/index.d.ts +0 -1
  210. package/dist/setup/index.js +0 -18
  211. package/dist/setup/index.js.map +0 -1
  212. package/dist/setup-swagger.d.ts +0 -2
  213. package/dist/setup-swagger.js +0 -63
  214. package/dist/setup-swagger.js.map +0 -1
  215. package/dist/shared/index.d.ts +0 -2
  216. package/dist/shared/index.js +0 -19
  217. package/dist/shared/index.js.map +0 -1
  218. package/dist/shared/serviceRegistryModule.d.ts +0 -2
  219. package/dist/shared/serviceRegistryModule.js +0 -102
  220. package/dist/shared/serviceRegistryModule.js.map +0 -1
  221. package/dist/shared/services/api-config.service.d.ts +0 -70
  222. package/dist/shared/services/api-config.service.js +0 -286
  223. package/dist/shared/services/api-config.service.js.map +0 -1
  224. package/dist/shared/services/aws-s3.service.d.ts +0 -10
  225. package/dist/shared/services/aws-s3.service.js +0 -49
  226. package/dist/shared/services/aws-s3.service.js.map +0 -1
  227. package/dist/shared/services/generator.service.d.ts +0 -4
  228. package/dist/shared/services/generator.service.js +0 -24
  229. package/dist/shared/services/generator.service.js.map +0 -1
  230. package/dist/shared/services/index.d.ts +0 -5
  231. package/dist/shared/services/index.js +0 -22
  232. package/dist/shared/services/index.js.map +0 -1
  233. package/dist/shared/services/translation.service.d.ts +0 -9
  234. package/dist/shared/services/translation.service.js +0 -61
  235. package/dist/shared/services/translation.service.js.map +0 -1
  236. package/dist/shared/services/validator.service.d.ts +0 -3
  237. package/dist/shared/services/validator.service.js +0 -21
  238. package/dist/shared/services/validator.service.js.map +0 -1
  239. package/dist/snake-naming.strategy.d.ts +0 -11
  240. package/dist/snake-naming.strategy.js +0 -38
  241. package/dist/snake-naming.strategy.js.map +0 -1
  242. package/dist/tsconfig.tsbuildinfo +0 -1
  243. package/dist/types.d.ts +0 -9
  244. package/dist/types.js +0 -3
  245. package/dist/types.js.map +0 -1
  246. package/dist/validators/file-mimetype.validator.d.ts +0 -13
  247. package/dist/validators/file-mimetype.validator.js +0 -24
  248. package/dist/validators/file-mimetype.validator.js.map +0 -1
  249. package/dist/validators/index.d.ts +0 -3
  250. package/dist/validators/index.js +0 -20
  251. package/dist/validators/index.js.map +0 -1
  252. package/dist/validators/is-exists.validator.d.ts +0 -18
  253. package/dist/validators/is-exists.validator.js +0 -52
  254. package/dist/validators/is-exists.validator.js.map +0 -1
  255. package/dist/validators/is-unique.validator.d.ts +0 -17
  256. package/dist/validators/is-unique.validator.js +0 -83
  257. package/dist/validators/is-unique.validator.js.map +0 -1
  258. package/dist/validators/phone-country-code.validator.d.ts +0 -2
  259. package/dist/validators/phone-country-code.validator.js +0 -31
  260. package/dist/validators/phone-country-code.validator.js.map +0 -1
  261. package/dist/validators/same-as.validator.d.ts +0 -2
  262. package/dist/validators/same-as.validator.js +0 -26
  263. package/dist/validators/same-as.validator.js.map +0 -1
  264. package/dist/validators/skip-empty.validator.d.ts +0 -1
  265. package/dist/validators/skip-empty.validator.js +0 -19
  266. package/dist/validators/skip-empty.validator.js.map +0 -1
  267. package/src/boilerplate.polyfill.d.ts +0 -39
  268. package/src/boilerplate.polyfill.js +0 -78
  269. package/src/boilerplate.polyfill.ts +0 -202
  270. package/src/common/abstract-client.service.d.ts +0 -20
  271. package/src/common/abstract-client.service.js +0 -39
  272. package/src/common/abstract-client.service.ts +0 -56
  273. package/src/common/abstract.entity.d.ts +0 -24
  274. package/src/common/abstract.entity.js +0 -152
  275. package/src/common/abstract.entity.ts +0 -73
  276. package/src/common/dto/abstract.dto.d.ts +0 -13
  277. package/src/common/dto/abstract.dto.js +0 -96
  278. package/src/common/dto/abstract.dto.ts +0 -64
  279. package/src/common/dto/bulk-id.dto.d.ts +0 -3
  280. package/src/common/dto/bulk-id.dto.js +0 -63
  281. package/src/common/dto/bulk-id.dto.ts +0 -13
  282. package/src/common/dto/create-translation.dto.d.ts +0 -5
  283. package/src/common/dto/create-translation.dto.js +0 -63
  284. package/src/common/dto/create-translation.dto.ts +0 -10
  285. package/src/common/dto/page-meta.dto.d.ts +0 -15
  286. package/src/common/dto/page-meta.dto.js +0 -88
  287. package/src/common/dto/page-meta.dto.ts +0 -37
  288. package/src/common/dto/page-options.dto.d.ts +0 -8
  289. package/src/common/dto/page-options.dto.js +0 -87
  290. package/src/common/dto/page-options.dto.ts +0 -35
  291. package/src/common/dto/page.dto.d.ts +0 -11
  292. package/src/common/dto/page.dto.js +0 -94
  293. package/src/common/dto/page.dto.ts +0 -36
  294. package/src/common/utils.d.ts +0 -14
  295. package/src/common/utils.js +0 -39
  296. package/src/common/utils.ts +0 -45
  297. package/src/constants/index.d.ts +0 -4
  298. package/src/constants/index.js +0 -20
  299. package/src/constants/index.ts +0 -4
  300. package/src/constants/language-code.d.ts +0 -5
  301. package/src/constants/language-code.js +0 -10
  302. package/src/constants/language-code.ts +0 -7
  303. package/src/constants/order.d.ts +0 -4
  304. package/src/constants/order.js +0 -8
  305. package/src/constants/order.ts +0 -4
  306. package/src/constants/role-type.d.ts +0 -4
  307. package/src/constants/role-type.js +0 -8
  308. package/src/constants/role-type.ts +0 -4
  309. package/src/constants/token-type.d.ts +0 -4
  310. package/src/constants/token-type.js +0 -8
  311. package/src/constants/token-type.ts +0 -4
  312. package/src/decorators/api-page-ok-response.decorator.d.ts +0 -5
  313. package/src/decorators/api-page-ok-response.decorator.js +0 -25
  314. package/src/decorators/api-page-ok-response.decorator.ts +0 -31
  315. package/src/decorators/auth-user.decorator.d.ts +0 -1
  316. package/src/decorators/auth-user.decorator.js +0 -15
  317. package/src/decorators/auth-user.decorator.ts +0 -16
  318. package/src/decorators/controller.decorator.d.ts +0 -1
  319. package/src/decorators/controller.decorator.js +0 -34
  320. package/src/decorators/controller.decorator.ts +0 -8
  321. package/src/decorators/field.decorators.d.ts +0 -71
  322. package/src/decorators/field.decorators.js +0 -455
  323. package/src/decorators/field.decorators.ts +0 -773
  324. package/src/decorators/http.decorators.d.ts +0 -3
  325. package/src/decorators/http.decorators.js +0 -8
  326. package/src/decorators/http.decorators.ts +0 -10
  327. package/src/decorators/index.d.ts +0 -12
  328. package/src/decorators/index.js +0 -28
  329. package/src/decorators/index.ts +0 -12
  330. package/src/decorators/omni-auth.decorator.d.ts +0 -8
  331. package/src/decorators/omni-auth.decorator.js +0 -60
  332. package/src/decorators/omni-auth.decorator.ts +0 -46
  333. package/src/decorators/operation.decorator.d.ts +0 -1
  334. package/src/decorators/operation.decorator.js +0 -6
  335. package/src/decorators/operation.decorator.ts +0 -4
  336. package/src/decorators/property.decorators.d.ts +0 -15
  337. package/src/decorators/property.decorators.js +0 -36
  338. package/src/decorators/property.decorators.ts +0 -62
  339. package/src/decorators/public-route.decorator.d.ts +0 -3
  340. package/src/decorators/public-route.decorator.js +0 -8
  341. package/src/decorators/public-route.decorator.ts +0 -8
  342. package/src/decorators/swagger.schema.d.ts +0 -5
  343. package/src/decorators/swagger.schema.js +0 -82
  344. package/src/decorators/swagger.schema.ts +0 -117
  345. package/src/decorators/timestamp-column.decorator.d.ts +0 -1
  346. package/src/decorators/timestamp-column.decorator.js +0 -28
  347. package/src/decorators/timestamp-column.decorator.ts +0 -29
  348. package/src/decorators/transform.decorators.d.ts +0 -35
  349. package/src/decorators/transform.decorators.js +0 -122
  350. package/src/decorators/transform.decorators.ts +0 -147
  351. package/src/decorators/translate.decorator.d.ts +0 -5
  352. package/src/decorators/translate.decorator.js +0 -18
  353. package/src/decorators/translate.decorator.ts +0 -19
  354. package/src/decorators/use-dto.decorator.d.ts +0 -4
  355. package/src/decorators/use-dto.decorator.js +0 -9
  356. package/src/decorators/use-dto.decorator.ts +0 -11
  357. package/src/decorators/user-check.decorator.d.ts +0 -6
  358. package/src/decorators/user-check.decorator.js +0 -44
  359. package/src/decorators/user-check.decorator.ts +0 -30
  360. package/src/decorators/user.decorator.d.ts +0 -8
  361. package/src/decorators/user.decorator.js +0 -62
  362. package/src/decorators/user.decorator.ts +0 -48
  363. package/src/decorators/user_auth.decorator.d.ts +0 -1
  364. package/src/decorators/user_auth.decorator.js +0 -16
  365. package/src/decorators/user_auth.decorator.ts +0 -15
  366. package/src/decorators/validator.decorators.d.ts +0 -10
  367. package/src/decorators/validator.decorators.js +0 -59
  368. package/src/decorators/validator.decorators.ts +0 -78
  369. package/src/exceptions/file-not-image.exception.d.ts +0 -4
  370. package/src/exceptions/file-not-image.exception.js +0 -10
  371. package/src/exceptions/file-not-image.exception.ts +0 -7
  372. package/src/exceptions/index.d.ts +0 -2
  373. package/src/exceptions/index.js +0 -18
  374. package/src/exceptions/index.ts +0 -2
  375. package/src/exceptions/page-type.exception.d.ts +0 -4
  376. package/src/exceptions/page-type.exception.js +0 -10
  377. package/src/exceptions/page-type.exception.ts +0 -7
  378. package/src/exceptions/user-not-found.exception.d.ts +0 -4
  379. package/src/exceptions/user-not-found.exception.js +0 -10
  380. package/src/exceptions/user-not-found.exception.ts +0 -7
  381. package/src/filters/bad-request.filter.d.ts +0 -5
  382. package/src/filters/bad-request.filter.js +0 -104
  383. package/src/filters/bad-request.filter.ts +0 -67
  384. package/src/filters/constraint-errors.d.ts +0 -1
  385. package/src/filters/constraint-errors.js +0 -7
  386. package/src/filters/constraint-errors.ts +0 -5
  387. package/src/filters/index.d.ts +0 -3
  388. package/src/filters/index.js +0 -19
  389. package/src/filters/index.ts +0 -3
  390. package/src/filters/query-failed.filter.d.ts +0 -10
  391. package/src/filters/query-failed.filter.js +0 -81
  392. package/src/filters/query-failed.filter.ts +0 -32
  393. package/src/health-checker/health-checker.controller.d.ts +0 -15
  394. package/src/health-checker/health-checker.controller.js +0 -104
  395. package/src/health-checker/health-checker.controller.ts +0 -51
  396. package/src/health-checker/health-checker.module.d.ts +0 -2
  397. package/src/health-checker/health-checker.module.js +0 -69
  398. package/src/health-checker/health-checker.module.ts +0 -13
  399. package/src/health-checker/health-indicators/service.indicator.d.ts +0 -8
  400. package/src/health-checker/health-indicators/service.indicator.js +0 -102
  401. package/src/health-checker/health-indicators/service.indicator.ts +0 -44
  402. package/src/helpers/common.helper.d.ts +0 -16
  403. package/src/helpers/common.helper.js +0 -49
  404. package/src/helpers/common.helper.ts +0 -49
  405. package/src/helpers/date.helper.d.ts +0 -10
  406. package/src/helpers/date.helper.js +0 -81
  407. package/src/helpers/date.helper.ts +0 -64
  408. package/src/helpers/excel.helper.d.ts +0 -27
  409. package/src/helpers/excel.helper.js +0 -338
  410. package/src/helpers/index.d.ts +0 -3
  411. package/src/helpers/index.js +0 -19
  412. package/src/helpers/index.ts +0 -3
  413. package/src/i18n/en_US/validation.json +0 -38
  414. package/src/i18n/zh_CN/validation.json +0 -38
  415. package/src/index.d.ts +0 -11
  416. package/src/index.js +0 -28
  417. package/src/index.ts +0 -12
  418. package/src/interceptors/auth-user.interceptor.d.ts +0 -4
  419. package/src/interceptors/auth-user.interceptor.js +0 -68
  420. package/src/interceptors/auth-user.interceptor.ts +0 -20
  421. package/src/interceptors/index.d.ts +0 -2
  422. package/src/interceptors/index.js +0 -18
  423. package/src/interceptors/index.ts +0 -2
  424. package/src/interceptors/language-interceptor.service.d.ts +0 -6
  425. package/src/interceptors/language-interceptor.service.js +0 -74
  426. package/src/interceptors/language-interceptor.service.ts +0 -31
  427. package/src/interceptors/translation-interceptor.service.d.ts +0 -5
  428. package/src/interceptors/translation-interceptor.service.js +0 -83
  429. package/src/interceptors/translation-interceptor.service.ts +0 -43
  430. package/src/interfaces/IApiFile.d.ts +0 -4
  431. package/src/interfaces/IApiFile.js +0 -2
  432. package/src/interfaces/IApiFile.ts +0 -4
  433. package/src/interfaces/IFile.d.ts +0 -9
  434. package/src/interfaces/IFile.js +0 -2
  435. package/src/interfaces/IFile.ts +0 -8
  436. package/src/interfaces/ITranslationDecoratorInterface.d.ts +0 -3
  437. package/src/interfaces/ITranslationDecoratorInterface.js +0 -2
  438. package/src/interfaces/ITranslationDecoratorInterface.ts +0 -3
  439. package/src/interfaces/index.d.ts +0 -3
  440. package/src/interfaces/index.js +0 -19
  441. package/src/interfaces/index.ts +0 -3
  442. package/src/interfaces/response.d.ts +0 -25
  443. package/src/interfaces/response.js +0 -2
  444. package/src/interfaces/response.ts +0 -37
  445. package/src/middlewares/index.d.ts +0 -3
  446. package/src/middlewares/index.js +0 -19
  447. package/src/middlewares/index.ts +0 -3
  448. package/src/middlewares/omni-auth.middleware.d.ts +0 -1
  449. package/src/middlewares/omni-auth.middleware.js +0 -13
  450. package/src/middlewares/omni-auth.middleware.ts +0 -10
  451. package/src/middlewares/powerby.middleware.d.ts +0 -1
  452. package/src/middlewares/powerby.middleware.js +0 -10
  453. package/src/middlewares/powerby.middleware.ts +0 -6
  454. package/src/middlewares/request-id.middleware.d.ts +0 -7
  455. package/src/middlewares/request-id.middleware.js +0 -22
  456. package/src/middlewares/request-id.middleware.ts +0 -28
  457. package/src/providers/context.provider.d.ts +0 -32
  458. package/src/providers/context.provider.js +0 -73
  459. package/src/providers/context.provider.ts +0 -98
  460. package/src/providers/generator.provider.d.ts +0 -13
  461. package/src/providers/generator.provider.js +0 -54
  462. package/src/providers/generator.provider.ts +0 -66
  463. package/src/providers/index.d.ts +0 -2
  464. package/src/providers/index.js +0 -18
  465. package/src/providers/index.ts +0 -2
  466. package/src/setup/bootstrap.setup.d.ts +0 -5
  467. package/src/setup/bootstrap.setup.js +0 -138
  468. package/src/setup/bootstrap.setup.ts +0 -139
  469. package/src/setup/index.d.ts +0 -1
  470. package/src/setup/index.js +0 -17
  471. package/src/setup/index.ts +0 -1
  472. package/src/setup/microservices.setup.js +0 -55
  473. package/src/setup-swagger.d.ts +0 -2
  474. package/src/setup-swagger.js +0 -62
  475. package/src/setup-swagger.ts +0 -67
  476. package/src/shared/index.d.ts +0 -2
  477. package/src/shared/index.js +0 -18
  478. package/src/shared/index.ts +0 -2
  479. package/src/shared/serviceRegistryModule.d.ts +0 -2
  480. package/src/shared/serviceRegistryModule.js +0 -176
  481. package/src/shared/serviceRegistryModule.ts +0 -110
  482. package/src/shared/services/api-config.service.d.ts +0 -73
  483. package/src/shared/services/api-config.service.js +0 -335
  484. package/src/shared/services/api-config.service.ts +0 -319
  485. package/src/shared/services/aws-s3.service.d.ts +0 -10
  486. package/src/shared/services/aws-s3.service.js +0 -96
  487. package/src/shared/services/aws-s3.service.ts +0 -39
  488. package/src/shared/services/generator.service.d.ts +0 -4
  489. package/src/shared/services/generator.service.js +0 -67
  490. package/src/shared/services/generator.service.ts +0 -13
  491. package/src/shared/services/index.d.ts +0 -5
  492. package/src/shared/services/index.js +0 -21
  493. package/src/shared/services/index.ts +0 -5
  494. package/src/shared/services/translation.service.d.ts +0 -9
  495. package/src/shared/services/translation.service.js +0 -109
  496. package/src/shared/services/translation.service.ts +0 -59
  497. package/src/shared/services/validator.service.d.ts +0 -3
  498. package/src/shared/services/validator.service.js +0 -64
  499. package/src/shared/services/validator.service.ts +0 -10
  500. package/src/snake-naming.strategy.d.ts +0 -11
  501. package/src/snake-naming.strategy.js +0 -37
  502. package/src/snake-naming.strategy.ts +0 -64
  503. package/src/types.d.ts +0 -9
  504. package/src/types.js +0 -2
  505. package/src/types.ts +0 -44
  506. package/src/validators/file-mimetype.validator.d.ts +0 -13
  507. package/src/validators/file-mimetype.validator.js +0 -21
  508. package/src/validators/file-mimetype.validator.ts +0 -34
  509. package/src/validators/index.d.ts +0 -3
  510. package/src/validators/index.js +0 -19
  511. package/src/validators/index.ts +0 -3
  512. package/src/validators/is-exists.validator.d.ts +0 -18
  513. package/src/validators/is-exists.validator.js +0 -99
  514. package/src/validators/is-exists.validator.ts +0 -60
  515. package/src/validators/is-unique.validator.d.ts +0 -17
  516. package/src/validators/is-unique.validator.js +0 -131
  517. package/src/validators/is-unique.validator.ts +0 -93
  518. package/src/validators/phone-country-code.validator.d.ts +0 -2
  519. package/src/validators/phone-country-code.validator.js +0 -30
  520. package/src/validators/phone-country-code.validator.ts +0 -36
  521. package/src/validators/same-as.validator.d.ts +0 -2
  522. package/src/validators/same-as.validator.js +0 -25
  523. package/src/validators/same-as.validator.ts +0 -27
  524. package/src/validators/skip-empty.validator.d.ts +0 -6
  525. package/src/validators/skip-empty.validator.js +0 -23
  526. package/src/validators/skip-empty.validator.ts +0 -25
  527. package/tsconfig.json +0 -21
  528. package/tsconfig.lib.json +0 -16
@@ -1,773 +0,0 @@
1
- import { applyDecorators } from '@nestjs/common';
2
- import type { ApiPropertyOptions } from '@nestjs/swagger';
3
- import { ApiProperty } from '@nestjs/swagger';
4
- import { i18nValidationMessage } from 'nestjs-i18n';
5
- import { Type } from 'class-transformer';
6
- import {
7
- ArrayMaxSize,
8
- ArrayMinSize,
9
- IsBoolean,
10
- IsDate,
11
- IsDefined,
12
- IsEmail,
13
- IsEnum,
14
- IsFQDN,
15
- IsInt,
16
- IsIP,
17
- IsNumber,
18
- IsObject,
19
- IsPositive,
20
- IsString,
21
- IsUrl,
22
- IsUUID,
23
- Max,
24
- MaxDate,
25
- MaxLength,
26
- Min,
27
- MinDate,
28
- MinLength,
29
- NotEquals,
30
- ValidateNested,
31
- } from 'class-validator';
32
-
33
- import { supportedLanguageCount } from '../constants';
34
- import { ApiEnumProperty, ApiUUIDProperty } from './property.decorators';
35
- import {
36
- PhoneNumberSerializer,
37
- ToArray,
38
- ToBoolean,
39
- ToLowerCase,
40
- ToUpperCase,
41
- } from './transform.decorators';
42
- import {
43
- IsEmptyable,
44
- IsNullable,
45
- IsPhoneNumber,
46
- IsTmpKey as IsTemporaryKey,
47
- } from './validator.decorators';
48
- import ValidatorJS from 'validator';
49
-
50
- type RequireField<T, K extends keyof T> = T & Required<Pick<T, K>>;
51
-
52
- interface IFieldOptions {
53
- each?: boolean;
54
- swagger?: boolean;
55
- nullable?: boolean;
56
- group?: string[];
57
- message?: string;
58
- }
59
-
60
- interface INumberFieldOptions extends IFieldOptions {
61
- min?: number;
62
- max?: number;
63
- int?: boolean;
64
- isPositive?: boolean;
65
- }
66
-
67
- interface IDateFieldOptions extends IFieldOptions {
68
- minDate?: Date | (() => Date);
69
- maxDate?: Date | (() => Date);
70
- }
71
-
72
- interface IStringFieldOptions extends IFieldOptions {
73
- minLength?: number;
74
- maxLength?: number;
75
- toLowerCase?: boolean;
76
- toUpperCase?: boolean;
77
- }
78
-
79
- interface IEmailFieldOptions {
80
- emailOptions?: ValidatorJS.IsEmailOptions;
81
- }
82
-
83
- interface IIPFieldOptions {
84
- version?: ValidatorJS.IPVersion;
85
- }
86
-
87
- interface IFQDNFieldOptions extends ValidatorJS.IsFQDNOptions {}
88
-
89
- type IClassFieldOptions = IFieldOptions;
90
- type IBooleanFieldOptions = IFieldOptions;
91
- type IEnumFieldOptions = IFieldOptions;
92
-
93
- export function NumberField(
94
- options: Omit<ApiPropertyOptions, 'type'> & INumberFieldOptions = {},
95
- ): PropertyDecorator {
96
- const decorators = [Type(() => Number)];
97
-
98
- if (options.nullable) {
99
- decorators.push(
100
- IsNullable({
101
- each: options.each,
102
- }),
103
- );
104
- } else {
105
- decorators.push(
106
- NotEquals(null, {
107
- each: options.each,
108
- message: i18nValidationMessage('validation.NOT_EQUALS'),
109
- }),
110
- );
111
- }
112
-
113
- if (options.swagger !== false) {
114
- decorators.push(ApiProperty({ type: Number, ...options }));
115
- }
116
-
117
- if (options.each) {
118
- decorators.push(ToArray());
119
- }
120
-
121
- if (options.int) {
122
- decorators.push(
123
- IsInt({
124
- each: options.each,
125
- message: i18nValidationMessage('validation.IS_INT'),
126
- }),
127
- );
128
- } else {
129
- decorators.push(
130
- IsNumber(
131
- {},
132
- {
133
- each: options.each,
134
- message: i18nValidationMessage('validation.IS_NUMBER'),
135
- },
136
- ),
137
- );
138
- }
139
-
140
- if (typeof options.min === 'number') {
141
- decorators.push(
142
- Min(options.min, {
143
- each: options.each,
144
- message: i18nValidationMessage('validation.MIN'),
145
- }),
146
- );
147
- }
148
-
149
- if (typeof options.max === 'number') {
150
- decorators.push(
151
- Max(options.max, {
152
- each: options.each,
153
- message: i18nValidationMessage('validation.MAX'),
154
- }),
155
- );
156
- }
157
-
158
- if (options.isPositive) {
159
- decorators.push(
160
- IsPositive({
161
- each: options.each,
162
- message: i18nValidationMessage('validation.IS_POSITIVE'),
163
- }),
164
- );
165
- }
166
-
167
- return applyDecorators(...decorators);
168
- }
169
-
170
- export function NumberFieldOptional(
171
- options: Omit<ApiPropertyOptions, 'type' | 'required'> &
172
- INumberFieldOptions = {},
173
- ): PropertyDecorator {
174
- return applyDecorators(
175
- IsEmptyable(),
176
- NumberField({ required: false, ...options }),
177
- );
178
- }
179
-
180
- export function StringField(
181
- options: Omit<ApiPropertyOptions, 'type'> & IStringFieldOptions = {},
182
- ): PropertyDecorator {
183
- const decorators = [
184
- Type(() => String),
185
- IsString({
186
- each: options.each,
187
- message: i18nValidationMessage('validation.IS_STRING'),
188
- }),
189
- ];
190
-
191
- if (options.nullable) {
192
- decorators.push(IsNullable({ each: options.each }));
193
- } else {
194
- decorators.push(
195
- NotEquals(null, {
196
- each: options.each,
197
- message: i18nValidationMessage('validation.NOT_EQUALS'),
198
- }),
199
- );
200
- }
201
-
202
- if (options.swagger !== false) {
203
- decorators.push(
204
- ApiProperty({ type: String, ...options, isArray: options.each }),
205
- );
206
- }
207
-
208
- const minLength = options.minLength ?? 1;
209
-
210
- decorators.push(
211
- MinLength(minLength, {
212
- each: options.each,
213
- message: i18nValidationMessage('validation.MIN_LENGTH'),
214
- }),
215
- );
216
-
217
- if (options.maxLength) {
218
- decorators.push(
219
- MaxLength(options.maxLength, {
220
- each: options.each,
221
- message: i18nValidationMessage('validation.MAX_LENGTH'),
222
- }),
223
- );
224
- }
225
-
226
- if (options.toLowerCase) {
227
- decorators.push(ToLowerCase());
228
- }
229
-
230
- if (options.toUpperCase) {
231
- decorators.push(ToUpperCase());
232
- }
233
-
234
- return applyDecorators(...decorators);
235
- }
236
-
237
- export function StringFieldOptional(
238
- options: Omit<ApiPropertyOptions, 'type' | 'required'> &
239
- IStringFieldOptions = {},
240
- ): PropertyDecorator {
241
- return applyDecorators(
242
- IsEmptyable(),
243
- StringField({ required: false, ...options }),
244
- );
245
- }
246
-
247
- export function PasswordField(
248
- options: Omit<ApiPropertyOptions, 'type' | 'minLength'> &
249
- IStringFieldOptions = {},
250
- ): PropertyDecorator {
251
- const decorators = [
252
- StringField({ ...options, minLength: 6 }) /*IsPassword()*/,
253
- ];
254
-
255
- if (options.nullable) {
256
- decorators.push(IsNullable());
257
- } else {
258
- decorators.push(NotEquals(null));
259
- }
260
-
261
- return applyDecorators(...decorators);
262
- }
263
-
264
- export function PasswordFieldOptional(
265
- options: Omit<ApiPropertyOptions, 'type' | 'required' | 'minLength'> &
266
- IStringFieldOptions = {},
267
- ): PropertyDecorator {
268
- return applyDecorators(
269
- IsEmptyable(),
270
- PasswordField({ required: false, ...options }),
271
- );
272
- }
273
-
274
- export function BooleanField(
275
- options: Omit<ApiPropertyOptions, 'type'> & IBooleanFieldOptions = {},
276
- ): PropertyDecorator {
277
- const decorators = [
278
- ToBoolean(),
279
- IsBoolean({ message: 'validation.INVALID_BOOLEAN' }),
280
- ];
281
-
282
- if (options.nullable) {
283
- decorators.push(IsNullable());
284
- } else {
285
- decorators.push(NotEquals(null));
286
- }
287
-
288
- if (options.swagger !== false) {
289
- decorators.push(ApiProperty({ type: Boolean, ...options }));
290
- }
291
-
292
- return applyDecorators(...decorators);
293
- }
294
-
295
- export function BooleanFieldOptional(
296
- options: Omit<ApiPropertyOptions, 'type' | 'required'> &
297
- IBooleanFieldOptions = {},
298
- ): PropertyDecorator {
299
- return applyDecorators(
300
- IsEmptyable(),
301
- BooleanField({ required: false, ...options }),
302
- );
303
- }
304
-
305
- export function TranslationsField(
306
- options: RequireField<Omit<ApiPropertyOptions, 'isArray'>, 'type'> &
307
- IFieldOptions,
308
- ): PropertyDecorator {
309
- const decorators = [
310
- ArrayMinSize(supportedLanguageCount),
311
- ArrayMaxSize(supportedLanguageCount),
312
- ValidateNested({
313
- each: true,
314
- }),
315
- Type(() => options.type as FunctionConstructor),
316
- ];
317
-
318
- if (options.nullable) {
319
- decorators.push(IsNullable());
320
- } else {
321
- decorators.push(NotEquals(null));
322
- }
323
-
324
- if (options.swagger !== false) {
325
- decorators.push(ApiProperty({ isArray: true, ...options }));
326
- }
327
-
328
- return applyDecorators(...decorators);
329
- }
330
-
331
- export function TranslationsFieldOptional(
332
- options: RequireField<Omit<ApiPropertyOptions, 'isArray'>, 'type'> &
333
- IFieldOptions,
334
- ): PropertyDecorator {
335
- return applyDecorators(
336
- IsEmptyable(),
337
- TranslationsField({ required: false, ...options }),
338
- );
339
- }
340
-
341
- export function TmpKeyField(
342
- options: Omit<ApiPropertyOptions, 'type'> & IStringFieldOptions = {},
343
- ): PropertyDecorator {
344
- const decorators = [
345
- StringField(options),
346
- IsTemporaryKey({ each: options.each }),
347
- ];
348
-
349
- if (options.nullable) {
350
- decorators.push(IsNullable());
351
- } else {
352
- decorators.push(NotEquals(null));
353
- }
354
-
355
- if (options.swagger !== false) {
356
- decorators.push(
357
- ApiProperty({ type: String, ...options, isArray: options.each }),
358
- );
359
- }
360
-
361
- return applyDecorators(...decorators);
362
- }
363
-
364
- export function TmpKeyFieldOptional(
365
- options: Omit<ApiPropertyOptions, 'type' | 'required'> &
366
- IStringFieldOptions = {},
367
- ): PropertyDecorator {
368
- return applyDecorators(
369
- IsEmptyable(),
370
- TmpKeyField({ required: false, ...options }),
371
- );
372
- }
373
-
374
- export function getEnumDescription(enumType: any): string {
375
- const keys = Object.keys(enumType).filter(
376
- (k) => typeof enumType[k as any] === 'number',
377
- );
378
- return keys.map((k) => `${enumType[k]}: ${k}`).join(', ');
379
- }
380
-
381
- // eslint-disable-next-line @typescript-eslint/ban-types
382
- export function EnumField<TEnum extends object>(
383
- getEnum: () => TEnum,
384
- options: Omit<ApiPropertyOptions, 'type' | 'enum' | 'enumName' | 'isArray'> &
385
- IEnumFieldOptions = {},
386
- ): PropertyDecorator {
387
- // eslint-disable-next-line @typescript-eslint/no-explicit-any,@typescript-eslint/ban-types
388
- const enumValue = getEnum();
389
- const decorators = [
390
- IsEnum(enumValue, {
391
- each: options.each,
392
- message: i18nValidationMessage('validation.IS_ENUM'),
393
- }),
394
- ];
395
-
396
- if (options.nullable) {
397
- decorators.push(IsNullable());
398
- } else {
399
- decorators.push(NotEquals(null));
400
- }
401
-
402
- if (options.each) {
403
- decorators.push(ToArray());
404
- }
405
-
406
- if (options.swagger !== false) {
407
- decorators.push(
408
- ApiEnumProperty(getEnum, {
409
- ...options,
410
- isArray: options.each,
411
- }),
412
- );
413
- }
414
-
415
- return applyDecorators(...decorators);
416
- }
417
-
418
- // eslint-disable-next-line @typescript-eslint/ban-types
419
- export function ClassField<TClass extends object>(
420
- getClass: () => TClass,
421
- options: Omit<ApiPropertyOptions, 'type'> & IClassFieldOptions = {},
422
- ): PropertyDecorator {
423
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
424
- const classValue = getClass() as any;
425
-
426
- if (!classValue) {
427
- throw new Error('ClassField: recursive class definition');
428
- }
429
-
430
- const decorators = [
431
- Type(() => classValue),
432
- ValidateNested({ each: options.each }),
433
- ];
434
-
435
- if (options.required !== false) {
436
- decorators.push(IsDefined());
437
- }
438
-
439
- if (options.nullable) {
440
- decorators.push(IsNullable());
441
- } else {
442
- decorators.push(NotEquals(null));
443
- }
444
-
445
- if (options.swagger !== false) {
446
- decorators.push(
447
- ApiProperty({
448
- type: () => classValue,
449
- ...options,
450
- }),
451
- );
452
- }
453
-
454
- if (options.each) {
455
- decorators.push(ToArray());
456
- }
457
-
458
- return applyDecorators(...decorators);
459
- }
460
-
461
- // eslint-disable-next-line @typescript-eslint/ban-types
462
- export function EnumFieldOptional<TEnum extends object>(
463
- getEnum: () => TEnum,
464
- options: Omit<ApiPropertyOptions, 'type' | 'required' | 'enum' | 'enumName'> &
465
- IEnumFieldOptions = {},
466
- ): PropertyDecorator {
467
- return applyDecorators(
468
- IsEmptyable(),
469
- EnumField(getEnum, { required: false, ...options }),
470
- );
471
- }
472
-
473
- // eslint-disable-next-line @typescript-eslint/ban-types
474
- export function ClassFieldOptional<TClass extends object>(
475
- getClass: () => TClass,
476
- options: Omit<ApiPropertyOptions, 'type' | 'required'> &
477
- IClassFieldOptions = {},
478
- ): PropertyDecorator {
479
- return applyDecorators(
480
- IsEmptyable(),
481
- ClassField(getClass, { required: false, ...options }),
482
- );
483
- }
484
-
485
- export function EmailField(
486
- options: Omit<ApiPropertyOptions, 'type'> &
487
- IStringFieldOptions &
488
- IEmailFieldOptions = {},
489
- ): PropertyDecorator {
490
- const decorators = [
491
- IsEmail(options.emailOptions, {
492
- message:
493
- options.message ?? i18nValidationMessage('validation.INVALID_EMAIL'),
494
- }),
495
- StringField({ toLowerCase: true, ...options }),
496
- ];
497
-
498
- if (options.nullable) {
499
- decorators.push(IsNullable());
500
- } else {
501
- decorators.push(NotEquals(null));
502
- }
503
-
504
- if (options.swagger !== false) {
505
- decorators.push(ApiProperty({ type: String, ...options }));
506
- }
507
-
508
- return applyDecorators(...decorators);
509
- }
510
-
511
- export function EmailFieldOptional(
512
- options: Omit<ApiPropertyOptions, 'type'> &
513
- IStringFieldOptions &
514
- IEmailFieldOptions = {},
515
- ): PropertyDecorator {
516
- return applyDecorators(
517
- IsEmptyable(),
518
- EmailField({ required: false, ...options }),
519
- );
520
- }
521
-
522
- export function PhoneField(
523
- options: Omit<ApiPropertyOptions, 'type'> & IFieldOptions = {},
524
- ): PropertyDecorator {
525
- const decorators = [IsPhoneNumber(), PhoneNumberSerializer()];
526
-
527
- if (options.nullable) {
528
- decorators.push(IsNullable());
529
- } else {
530
- decorators.push(NotEquals(null));
531
- }
532
-
533
- if (options.swagger !== false) {
534
- decorators.push(ApiProperty({ type: String, ...options }));
535
- }
536
-
537
- return applyDecorators(...decorators);
538
- }
539
-
540
- export function PhoneFieldOptional(
541
- options: Omit<ApiPropertyOptions, 'type' | 'required'> & IFieldOptions = {},
542
- ): PropertyDecorator {
543
- return applyDecorators(
544
- IsEmptyable(),
545
- PhoneField({ required: false, ...options }),
546
- );
547
- }
548
-
549
- export function UUIDField(
550
- options: Omit<ApiPropertyOptions, 'type' | 'format' | 'isArray'> &
551
- IFieldOptions = {},
552
- ): PropertyDecorator {
553
- const decorators = [
554
- Type(() => String),
555
- IsUUID('4', {
556
- each: options.each,
557
- message: i18nValidationMessage('validation.IS_UUID'),
558
- }),
559
- ];
560
-
561
- if (options.nullable) {
562
- decorators.push(
563
- IsNullable({ message: i18nValidationMessage('validation.IS_NULLABLE') }),
564
- );
565
- } else {
566
- decorators.push(NotEquals(null));
567
- }
568
-
569
- if (options.swagger !== false) {
570
- decorators.push(ApiUUIDProperty(options));
571
- }
572
-
573
- if (options.each) {
574
- decorators.push(ToArray());
575
- }
576
-
577
- return applyDecorators(...decorators);
578
- }
579
-
580
- export function UUIDFieldOptional(
581
- options: Omit<ApiPropertyOptions, 'type' | 'required' | 'isArray'> &
582
- IFieldOptions = {},
583
- ): PropertyDecorator {
584
- return applyDecorators(
585
- IsEmptyable(),
586
- UUIDField({ required: false, ...options }),
587
- );
588
- }
589
-
590
- export function URLField(
591
- options: Omit<ApiPropertyOptions, 'type'> & IStringFieldOptions = {},
592
- ): PropertyDecorator {
593
- const decorators = [
594
- IsUrl(
595
- {},
596
- {
597
- each: options.each,
598
- message: i18nValidationMessage('validation.IS_URL'),
599
- },
600
- ),
601
- StringField({ toLowerCase: true, ...options }),
602
- ];
603
-
604
- if (options.nullable) {
605
- decorators.push(IsNullable({ each: options.each }));
606
- } else {
607
- decorators.push(NotEquals(null, { each: options.each }));
608
- }
609
-
610
- return applyDecorators(...decorators);
611
- }
612
-
613
- export function URLFieldOptional(
614
- options: Omit<ApiPropertyOptions, 'type'> & IStringFieldOptions = {},
615
- ): PropertyDecorator {
616
- return applyDecorators(
617
- IsEmptyable(),
618
- URLField({ required: false, ...options }),
619
- );
620
- }
621
-
622
- export function FQDNField(
623
- options: Omit<ApiPropertyOptions, 'type'> &
624
- IFQDNFieldOptions &
625
- IStringFieldOptions = {},
626
- ): PropertyDecorator {
627
- const decorators = [
628
- IsFQDN(options, {
629
- each: options.each,
630
- message: i18nValidationMessage('validation.IS_FQDN'),
631
- }),
632
- StringField({ toLowerCase: true, ...options }),
633
- ];
634
-
635
- if (options.nullable) {
636
- decorators.push(IsNullable({ each: options.each }));
637
- } else {
638
- decorators.push(NotEquals(null, { each: options.each }));
639
- }
640
-
641
- return applyDecorators(...decorators);
642
- }
643
-
644
- export function FQDNFieldOptional(
645
- options: Omit<ApiPropertyOptions, 'type'> &
646
- IFQDNFieldOptions &
647
- IStringFieldOptions = {},
648
- ): PropertyDecorator {
649
- return applyDecorators(
650
- IsEmptyable(),
651
- FQDNField({ required: false, ...options }),
652
- );
653
- }
654
-
655
- export function DateField(
656
- options: Omit<ApiPropertyOptions, 'type'> & IDateFieldOptions = {},
657
- ): PropertyDecorator {
658
- const decorators = [
659
- Type(() => Date),
660
- IsDate({ message: i18nValidationMessage('validation.IS_DATE') }),
661
- ];
662
-
663
- if (options.nullable) {
664
- decorators.push(IsNullable());
665
- } else {
666
- decorators.push(NotEquals(null));
667
- }
668
-
669
- if (options.minDate) {
670
- decorators.push(
671
- MinDate(options.minDate, {
672
- each: options.each,
673
- message: i18nValidationMessage('validation.MIN_DATE'),
674
- }),
675
- );
676
- }
677
-
678
- if (options.maxDate) {
679
- decorators.push(
680
- MaxDate(options.maxDate, {
681
- each: options.each,
682
- message: i18nValidationMessage('validation.MAX_DATE'),
683
- }),
684
- );
685
- }
686
-
687
- if (options.swagger !== false) {
688
- decorators.push(ApiProperty({ type: Date, ...options }));
689
- }
690
-
691
- return applyDecorators(...decorators);
692
- }
693
-
694
- export function DateFieldOptional(
695
- options: Omit<ApiPropertyOptions, 'type' | 'required'> &
696
- IDateFieldOptions = {},
697
- ): PropertyDecorator {
698
- return applyDecorators(
699
- IsEmptyable(),
700
- DateField({ ...options, required: false }),
701
- );
702
- }
703
-
704
- export function IpFieldOptional(
705
- options: Omit<ApiPropertyOptions, 'type'> &
706
- IIPFieldOptions &
707
- IStringFieldOptions = {},
708
- ): PropertyDecorator {
709
- return applyDecorators(
710
- IsEmptyable(),
711
- IpField({ required: false, ...options }),
712
- );
713
- }
714
-
715
- export function IpField(
716
- options: Omit<ApiPropertyOptions, 'type'> &
717
- IStringFieldOptions &
718
- IIPFieldOptions,
719
- ): PropertyDecorator {
720
- const decorators = [
721
- IsIP(options.version || 4, {
722
- each: options.each,
723
- message: i18nValidationMessage('validation.IS_IP'),
724
- }),
725
- StringField({ toLowerCase: true, ...options }),
726
- ];
727
-
728
- if (options.nullable) {
729
- decorators.push(IsNullable({ each: options.each }));
730
- } else {
731
- decorators.push(NotEquals(null, { each: options.each }));
732
- }
733
-
734
- return applyDecorators(...decorators);
735
- }
736
-
737
- export function ObjectField(
738
- options: Omit<ApiPropertyOptions, 'type'> & IFieldOptions,
739
- ): PropertyDecorator {
740
- const decorators = [
741
- Type(() => Object),
742
- IsObject({
743
- each: options.each,
744
- message: i18nValidationMessage('validation.IS_OBJECT'),
745
- }),
746
- ];
747
-
748
- if (options.nullable) {
749
- decorators.push(IsNullable({ each: options.each }));
750
- } else {
751
- decorators.push(NotEquals(null, { each: options.each }));
752
- }
753
-
754
- if (options.swagger !== false) {
755
- decorators.push(
756
- ApiProperty({
757
- type: 'object',
758
- ...options,
759
- }),
760
- );
761
- }
762
-
763
- return applyDecorators(...decorators);
764
- }
765
-
766
- export function ObjectFieldOptional(
767
- options: Omit<ApiPropertyOptions, 'type'> & IFieldOptions = {},
768
- ): PropertyDecorator {
769
- return applyDecorators(
770
- IsEmptyable(),
771
- ObjectField({ required: false, ...options }),
772
- );
773
- }