mm-share-lib 0.0.5 → 0.0.7

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 (325) hide show
  1. package/dist/src/auth/apple/apple.module.d.ts +2 -0
  2. package/dist/src/auth/apple/apple.module.js +22 -0
  3. package/dist/src/auth/apple/apple.module.js.map +1 -0
  4. package/dist/src/auth/apple/apple.service.d.ts +9 -0
  5. package/dist/src/auth/apple/apple.service.js +38 -0
  6. package/dist/src/auth/apple/apple.service.js.map +1 -0
  7. package/dist/src/auth/apple/dto/apple-login.dto.d.ts +5 -0
  8. package/dist/src/auth/apple/dto/apple-login.dto.js +33 -0
  9. package/dist/src/auth/apple/dto/apple-login.dto.js.map +1 -0
  10. package/dist/src/auth/apple/dto/index.d.ts +1 -0
  11. package/dist/src/auth/apple/dto/index.js +18 -0
  12. package/dist/src/auth/apple/dto/index.js.map +1 -0
  13. package/dist/src/auth/apple/index.d.ts +3 -0
  14. package/dist/src/auth/apple/index.js +20 -0
  15. package/dist/src/auth/apple/index.js.map +1 -0
  16. package/dist/src/auth/config/apple.config.d.ts +3 -0
  17. package/dist/src/auth/config/apple.config.js +29 -0
  18. package/dist/src/auth/config/apple.config.js.map +1 -0
  19. package/dist/src/auth/config/auth.config.d.ts +3 -0
  20. package/dist/src/auth/config/auth.config.js +42 -0
  21. package/dist/src/auth/config/auth.config.js.map +1 -0
  22. package/dist/src/auth/config/facebook.config.d.ts +3 -0
  23. package/dist/src/auth/config/facebook.config.js +34 -0
  24. package/dist/src/auth/config/facebook.config.js.map +1 -0
  25. package/dist/src/auth/config/file.config.d.ts +3 -0
  26. package/dist/src/auth/config/file.config.js +66 -0
  27. package/dist/src/auth/config/file.config.js.map +1 -0
  28. package/dist/src/auth/config/google.config.d.ts +3 -0
  29. package/dist/src/auth/config/google.config.js +34 -0
  30. package/dist/src/auth/config/google.config.js.map +1 -0
  31. package/dist/src/auth/config/index.d.ts +6 -0
  32. package/dist/src/auth/config/index.js +23 -0
  33. package/dist/src/auth/config/index.js.map +1 -0
  34. package/dist/src/auth/config/twitter.config.d.ts +8 -0
  35. package/dist/src/auth/config/twitter.config.js +34 -0
  36. package/dist/src/auth/config/twitter.config.js.map +1 -0
  37. package/dist/src/auth/facebook/dto/facebook-login.dto.d.ts +3 -0
  38. package/dist/src/auth/facebook/dto/facebook-login.dto.js +23 -0
  39. package/dist/src/auth/facebook/dto/facebook-login.dto.js.map +1 -0
  40. package/dist/src/auth/facebook/dto/index.d.ts +1 -0
  41. package/dist/src/auth/facebook/dto/index.js +18 -0
  42. package/dist/src/auth/facebook/dto/index.js.map +1 -0
  43. package/dist/src/auth/facebook/facebook.module.d.ts +2 -0
  44. package/dist/src/auth/facebook/facebook.module.js +23 -0
  45. package/dist/src/auth/facebook/facebook.module.js.map +1 -0
  46. package/dist/src/auth/facebook/facebook.service.d.ts +10 -0
  47. package/dist/src/auth/facebook/facebook.service.js +50 -0
  48. package/dist/src/auth/facebook/facebook.service.js.map +1 -0
  49. package/dist/src/auth/facebook/index.d.ts +4 -0
  50. package/dist/src/auth/facebook/index.js +21 -0
  51. package/dist/src/auth/facebook/index.js.map +1 -0
  52. package/dist/src/auth/facebook/interface/facebook.interface.d.ts +6 -0
  53. package/dist/src/auth/facebook/interface/facebook.interface.js +3 -0
  54. package/dist/src/auth/facebook/interface/facebook.interface.js.map +1 -0
  55. package/dist/src/auth/facebook/interface/index.d.ts +1 -0
  56. package/dist/src/auth/facebook/interface/index.js +18 -0
  57. package/dist/src/auth/facebook/interface/index.js.map +1 -0
  58. package/dist/src/auth/google/dto/google-login.dto.d.ts +3 -0
  59. package/dist/src/auth/google/dto/google-login.dto.js +23 -0
  60. package/dist/src/auth/google/dto/google-login.dto.js.map +1 -0
  61. package/dist/src/auth/google/dto/index.d.ts +1 -0
  62. package/dist/src/auth/google/dto/index.js +18 -0
  63. package/dist/src/auth/google/dto/index.js.map +1 -0
  64. package/dist/src/auth/google/google.module.d.ts +2 -0
  65. package/dist/src/auth/google/google.module.js +22 -0
  66. package/dist/src/auth/google/google.module.js.map +1 -0
  67. package/dist/src/auth/google/google.service.d.ts +10 -0
  68. package/dist/src/auth/google/google.service.js +49 -0
  69. package/dist/src/auth/google/google.service.js.map +1 -0
  70. package/dist/src/auth/google/index.d.ts +3 -0
  71. package/dist/src/auth/google/index.js +20 -0
  72. package/dist/src/auth/google/index.js.map +1 -0
  73. package/dist/src/auth/index.d.ts +5 -0
  74. package/dist/src/auth/index.js +22 -0
  75. package/dist/src/auth/index.js.map +1 -0
  76. package/dist/src/auth/twitter/dto/index.d.ts +1 -0
  77. package/dist/src/auth/twitter/dto/index.js +18 -0
  78. package/dist/src/auth/twitter/dto/index.js.map +1 -0
  79. package/dist/src/auth/twitter/dto/twitter-login.dto.d.ts +4 -0
  80. package/dist/src/auth/twitter/dto/twitter-login.dto.js +28 -0
  81. package/dist/src/auth/twitter/dto/twitter-login.dto.js.map +1 -0
  82. package/dist/src/auth/twitter/index.d.ts +3 -0
  83. package/dist/src/auth/twitter/index.js +20 -0
  84. package/dist/src/auth/twitter/index.js.map +1 -0
  85. package/dist/src/auth/twitter/twitter.module.d.ts +2 -0
  86. package/dist/src/auth/twitter/twitter.module.js +23 -0
  87. package/dist/src/auth/twitter/twitter.module.js.map +1 -0
  88. package/dist/src/auth/twitter/twitter.service.d.ts +9 -0
  89. package/dist/src/auth/twitter/twitter.service.js +49 -0
  90. package/dist/src/auth/twitter/twitter.service.js.map +1 -0
  91. package/dist/src/config/index.d.ts +1 -0
  92. package/dist/src/config/index.js +18 -0
  93. package/dist/src/config/index.js.map +1 -0
  94. package/dist/src/config/type.config.d.ts +79 -0
  95. package/dist/src/config/type.config.js +3 -0
  96. package/dist/src/config/type.config.js.map +1 -0
  97. package/dist/src/dto/pagination.dto.d.ts +3 -2
  98. package/dist/src/dto/pagination.dto.js +26 -0
  99. package/dist/src/dto/pagination.dto.js.map +1 -1
  100. package/dist/src/filter/rpc-exception.filter.d.ts +6 -0
  101. package/dist/src/filter/rpc-exception.filter.js +21 -0
  102. package/dist/src/filter/rpc-exception.filter.js.map +1 -0
  103. package/dist/src/index.d.ts +1 -0
  104. package/dist/src/index.js +1 -0
  105. package/dist/src/index.js.map +1 -1
  106. package/dist/src/interface/index.d.ts +1 -0
  107. package/dist/src/interface/index.js +18 -0
  108. package/dist/src/interface/index.js.map +1 -0
  109. package/dist/src/interface/social.interface.d.ts +6 -0
  110. package/dist/src/interface/social.interface.js +3 -0
  111. package/dist/src/interface/social.interface.js.map +1 -0
  112. package/dist/src/lib/index.d.ts +2 -0
  113. package/dist/src/lib/index.js +2 -0
  114. package/dist/src/lib/index.js.map +1 -1
  115. package/dist/src/lib/mailer/config/index.d.ts +1 -0
  116. package/dist/src/lib/mailer/config/index.js +18 -0
  117. package/dist/src/lib/mailer/config/index.js.map +1 -0
  118. package/dist/src/lib/mailer/config/mailer.config.d.ts +3 -0
  119. package/dist/src/lib/mailer/config/mailer.config.js +72 -0
  120. package/dist/src/lib/mailer/config/mailer.config.js.map +1 -0
  121. package/dist/src/lib/mailer/index.d.ts +2 -0
  122. package/dist/src/lib/mailer/index.js +19 -0
  123. package/dist/src/lib/mailer/index.js.map +1 -0
  124. package/dist/src/lib/mailer/mailer.module.d.ts +2 -0
  125. package/dist/src/lib/mailer/mailer.module.js +20 -0
  126. package/dist/src/lib/mailer/mailer.module.js.map +1 -0
  127. package/dist/src/lib/mailer/mailer.service.d.ts +12 -0
  128. package/dist/src/lib/mailer/mailer.service.js +66 -0
  129. package/dist/src/lib/mailer/mailer.service.js.map +1 -0
  130. package/dist/src/lib/redis/index.d.ts +0 -0
  131. package/dist/src/lib/redis/index.js +1 -0
  132. package/dist/src/lib/redis/index.js.map +1 -0
  133. package/dist/src/lib/search-engine/document/base.document.d.ts +1 -1
  134. package/dist/src/lib/search-engine/interface/search-document.interface.d.ts +1 -1
  135. package/dist/src/lib/search-engine/typesense/collection/index.d.ts +1 -0
  136. package/dist/src/lib/search-engine/typesense/collection/index.js +18 -0
  137. package/dist/src/lib/search-engine/typesense/collection/index.js.map +1 -0
  138. package/dist/src/lib/search-engine/typesense/document/index.d.ts +1 -0
  139. package/dist/src/lib/search-engine/typesense/document/index.js +18 -0
  140. package/dist/src/lib/search-engine/typesense/document/index.js.map +1 -0
  141. package/dist/src/lib/search-engine/typesense/index.d.ts +1 -0
  142. package/dist/src/lib/search-engine/typesense/index.js +1 -0
  143. package/dist/src/lib/search-engine/typesense/index.js.map +1 -1
  144. package/dist/src/lib/search-engine/typesense/service/client.service.d.ts +3 -2
  145. package/dist/src/lib/search-engine/typesense/service/client.service.js +4 -1
  146. package/dist/src/lib/search-engine/typesense/service/client.service.js.map +1 -1
  147. package/dist/src/lib/storage/index.d.ts +0 -0
  148. package/dist/src/lib/storage/index.js +1 -0
  149. package/dist/src/lib/storage/index.js.map +1 -0
  150. package/dist/src/lib/typesense/client/index.d.ts +1 -0
  151. package/dist/src/lib/typesense/client/index.js +6 -0
  152. package/dist/src/lib/typesense/client/index.js.map +1 -0
  153. package/dist/src/lib/typesense/collection/index.d.ts +1 -0
  154. package/dist/src/lib/typesense/collection/index.js +18 -0
  155. package/dist/src/lib/typesense/collection/index.js.map +1 -0
  156. package/dist/src/lib/typesense/collection/typesense-colletctions.creator.d.ts +10 -0
  157. package/dist/src/lib/typesense/collection/typesense-colletctions.creator.js +42 -0
  158. package/dist/src/lib/typesense/collection/typesense-colletctions.creator.js.map +1 -0
  159. package/dist/src/lib/typesense/decorator/field.decorator.d.ts +9 -0
  160. package/dist/src/lib/typesense/decorator/field.decorator.js +15 -0
  161. package/dist/src/lib/typesense/decorator/field.decorator.js.map +1 -0
  162. package/dist/src/lib/typesense/decorator/index.d.ts +2 -0
  163. package/dist/src/lib/typesense/decorator/index.js +19 -0
  164. package/dist/src/lib/typesense/decorator/index.js.map +1 -0
  165. package/dist/src/lib/typesense/decorator/schema.decorator.d.ts +7 -0
  166. package/dist/src/lib/typesense/decorator/schema.decorator.js +16 -0
  167. package/dist/src/lib/typesense/decorator/schema.decorator.js.map +1 -0
  168. package/dist/src/lib/typesense/document/base.document.d.ts +3 -0
  169. package/dist/src/lib/typesense/document/base.document.js +7 -0
  170. package/dist/src/lib/typesense/document/base.document.js.map +1 -0
  171. package/dist/src/lib/typesense/document/index.d.ts +1 -0
  172. package/dist/src/lib/typesense/document/index.js +18 -0
  173. package/dist/src/lib/typesense/document/index.js.map +1 -0
  174. package/dist/src/lib/typesense/index.d.ts +4 -0
  175. package/dist/src/lib/typesense/index.js +21 -0
  176. package/dist/src/lib/typesense/index.js.map +1 -0
  177. package/dist/src/lib/typesense/metadata/index.d.ts +4 -0
  178. package/dist/src/lib/typesense/metadata/index.js +21 -0
  179. package/dist/src/lib/typesense/metadata/index.js.map +1 -0
  180. package/dist/src/lib/typesense/metadata/schema.metadata.d.ts +19 -0
  181. package/dist/src/lib/typesense/metadata/schema.metadata.js +3 -0
  182. package/dist/src/lib/typesense/metadata/schema.metadata.js.map +1 -0
  183. package/dist/src/lib/typesense/metadata/typesense.metadata-accessor.d.ts +7 -0
  184. package/dist/src/lib/typesense/metadata/typesense.metadata-accessor.js +47 -0
  185. package/dist/src/lib/typesense/metadata/typesense.metadata-accessor.js.map +1 -0
  186. package/dist/src/lib/typesense/metadata/typesense.metadata-explorer.d.ts +14 -0
  187. package/dist/src/lib/typesense/metadata/typesense.metadata-explorer.js +50 -0
  188. package/dist/src/lib/typesense/metadata/typesense.metadata-explorer.js.map +1 -0
  189. package/dist/src/lib/typesense/metadata/typesense.metadata-registry.d.ts +10 -0
  190. package/dist/src/lib/typesense/metadata/typesense.metadata-registry.js +33 -0
  191. package/dist/src/lib/typesense/metadata/typesense.metadata-registry.js.map +1 -0
  192. package/dist/src/lib/typesense/module/index.d.ts +4 -0
  193. package/dist/src/lib/typesense/module/index.js +21 -0
  194. package/dist/src/lib/typesense/module/index.js.map +1 -0
  195. package/dist/src/lib/typesense/module/interface.module.d.ts +27 -0
  196. package/dist/src/lib/typesense/module/interface.module.js +3 -0
  197. package/dist/src/lib/typesense/module/interface.module.js.map +1 -0
  198. package/dist/src/lib/typesense/module/typesense.constant.d.ts +1 -0
  199. package/dist/src/lib/typesense/module/typesense.constant.js +5 -0
  200. package/dist/src/lib/typesense/module/typesense.constant.js.map +1 -0
  201. package/dist/src/lib/typesense/module/typesense.module.d.ts +8 -0
  202. package/dist/src/lib/typesense/module/typesense.module.js +74 -0
  203. package/dist/src/lib/typesense/module/typesense.module.js.map +1 -0
  204. package/dist/src/lib/typesense/module/typesense.provider.d.ts +5 -0
  205. package/dist/src/lib/typesense/module/typesense.provider.js +48 -0
  206. package/dist/src/lib/typesense/module/typesense.provider.js.map +1 -0
  207. package/dist/src/response/base-entity.response.d.ts +3 -0
  208. package/dist/src/response/base-entity.response.js +23 -0
  209. package/dist/src/response/base-entity.response.js.map +1 -0
  210. package/dist/src/response/index.d.ts +1 -0
  211. package/dist/src/response/index.js +1 -0
  212. package/dist/src/response/index.js.map +1 -1
  213. package/dist/src/response/login.response.d.ts +0 -0
  214. package/dist/src/response/login.response.js +1 -0
  215. package/dist/src/response/login.response.js.map +1 -0
  216. package/dist/src/response/pagination.response.d.ts +5 -5
  217. package/dist/src/response/pagination.response.js +39 -0
  218. package/dist/src/response/pagination.response.js.map +1 -1
  219. package/dist/src/util/index.d.ts +1 -0
  220. package/dist/src/util/index.js +1 -0
  221. package/dist/src/util/index.js.map +1 -1
  222. package/dist/src/util/validate-config.d.ts +2 -0
  223. package/dist/src/util/validate-config.js +19 -0
  224. package/dist/src/util/validate-config.js.map +1 -0
  225. package/dist/tsconfig.build.tsbuildinfo +1 -1
  226. package/package.json +12 -2
  227. package/src/auth/apple/apple.module.ts +10 -0
  228. package/src/auth/apple/apple.service.ts +28 -0
  229. package/src/auth/apple/dto/apple-login.dto.ts +16 -0
  230. package/src/auth/apple/dto/index.ts +1 -0
  231. package/src/auth/apple/index.ts +3 -0
  232. package/src/auth/config/apple.config.ts +18 -0
  233. package/src/auth/config/auth.config.ts +29 -0
  234. package/src/auth/config/facebook.config.ts +23 -0
  235. package/src/auth/config/file.config.ts +50 -0
  236. package/src/auth/config/google.config.ts +23 -0
  237. package/src/auth/config/index.ts +6 -0
  238. package/src/auth/config/twitter.config.ts +22 -0
  239. package/src/auth/facebook/dto/facebook-login.dto.ts +8 -0
  240. package/src/auth/facebook/dto/index.ts +1 -0
  241. package/src/auth/facebook/facebook.module.ts +11 -0
  242. package/src/auth/facebook/facebook.service.ts +51 -0
  243. package/src/auth/facebook/index.ts +4 -0
  244. package/src/auth/facebook/interface/facebook.interface.ts +6 -0
  245. package/src/auth/facebook/interface/index.ts +1 -0
  246. package/src/auth/google/dto/google-login.dto.ts +8 -0
  247. package/src/auth/google/dto/index.ts +1 -0
  248. package/src/auth/google/google.module.ts +10 -0
  249. package/src/auth/google/google.service.ts +49 -0
  250. package/src/auth/google/index.ts +3 -0
  251. package/src/auth/index.ts +5 -0
  252. package/src/auth/twitter/dto/index.ts +1 -0
  253. package/src/auth/twitter/dto/twitter-login.dto.ts +12 -0
  254. package/src/auth/twitter/index.ts +3 -0
  255. package/src/auth/twitter/twitter.module.ts +11 -0
  256. package/src/auth/twitter/twitter.service.ts +43 -0
  257. package/src/config/index.ts +1 -0
  258. package/src/config/type.config.ts +88 -0
  259. package/src/dto/base-filter.dto.ts +4 -4
  260. package/src/dto/pagination.dto.ts +16 -4
  261. package/src/exception/bad-request-error.exception.spec.ts +24 -24
  262. package/src/exception/bad-request-error.exception.ts +8 -8
  263. package/src/exception/base.exception.ts +36 -36
  264. package/src/exception/conflict-error.exception.spec.ts +23 -23
  265. package/src/exception/conflict-error.exception.ts +8 -8
  266. package/src/exception/forbidden-error.exception.spec.ts +23 -23
  267. package/src/exception/forbidden-error.exception.ts +8 -8
  268. package/src/exception/index.ts +7 -7
  269. package/src/exception/internal-server-error.exception.spec.ts +23 -23
  270. package/src/exception/internal-server-error.exception.ts +12 -12
  271. package/src/exception/not-found-error.exception.spec.ts +23 -23
  272. package/src/exception/not-found-error.exception.ts +8 -8
  273. package/src/exception/unauthorized-error.exception.spec.ts +23 -23
  274. package/src/exception/unauthorized-error.exception.ts +12 -12
  275. package/src/filter/http-exception.filter.ts +23 -23
  276. package/src/filter/rpc-exception.filter.ts +15 -0
  277. package/src/index.ts +1 -0
  278. package/src/interface/index.ts +1 -0
  279. package/src/interface/social.interface.ts +6 -0
  280. package/src/lib/index.ts +2 -0
  281. package/src/lib/mailer/config/index.ts +1 -0
  282. package/src/lib/mailer/config/mailer.config.ts +62 -0
  283. package/src/lib/mailer/index.ts +2 -0
  284. package/src/lib/mailer/mailer.module.ts +8 -0
  285. package/src/lib/mailer/mailer.service.ts +53 -0
  286. package/src/lib/redis/index.ts +0 -0
  287. package/src/lib/search-engine/document/base.document.ts +2 -2
  288. package/src/lib/search-engine/interface/search-document.interface.ts +10 -2
  289. package/src/lib/search-engine/schema/generic.schema.ts +1 -1
  290. package/src/lib/search-engine/schema/index.ts +1 -1
  291. package/src/lib/search-engine/typesense/collection/index.ts +1 -0
  292. package/src/lib/search-engine/typesense/document/index.ts +1 -0
  293. package/src/lib/search-engine/typesense/index.ts +4 -3
  294. package/src/lib/search-engine/typesense/service/client.service.ts +260 -258
  295. package/src/lib/storage/index.ts +0 -0
  296. package/src/lib/typesense/client/index.ts +1 -0
  297. package/src/lib/typesense/collection/index.ts +1 -0
  298. package/src/lib/typesense/collection/typesense-colletctions.creator.ts +29 -0
  299. package/src/lib/typesense/decorator/field.decorator.spec.ts +89 -0
  300. package/src/lib/typesense/decorator/field.decorator.ts +44 -0
  301. package/src/lib/typesense/decorator/index.ts +2 -0
  302. package/src/lib/typesense/decorator/schema.decorator.ts +23 -0
  303. package/src/lib/typesense/document/base.document.ts +3 -0
  304. package/src/lib/typesense/document/index.ts +1 -0
  305. package/src/lib/typesense/index.ts +6 -0
  306. package/src/lib/typesense/metadata/index.ts +4 -0
  307. package/src/lib/typesense/metadata/schema.metadata.ts +21 -0
  308. package/src/lib/typesense/metadata/typesense.metadata-accessor.ts +37 -0
  309. package/src/lib/typesense/metadata/typesense.metadata-explorer.spec.ts +56 -0
  310. package/src/lib/typesense/metadata/typesense.metadata-explorer.ts +41 -0
  311. package/src/lib/typesense/metadata/typesense.metadata-registry.ts +28 -0
  312. package/src/lib/typesense/module/index.ts +4 -0
  313. package/src/lib/typesense/module/interface.module.ts +36 -0
  314. package/src/lib/typesense/module/typesense.constant.ts +1 -0
  315. package/src/lib/typesense/module/typesense.module.spec.ts +94 -0
  316. package/src/lib/typesense/module/typesense.module.ts +87 -0
  317. package/src/lib/typesense/module/typesense.provider.ts +54 -0
  318. package/src/response/base-entity.response.ts +8 -0
  319. package/src/response/index.ts +2 -1
  320. package/src/response/login.response.ts +0 -0
  321. package/src/response/pagination.response.ts +52 -37
  322. package/src/setup/microservice.setup.ts +29 -29
  323. package/src/util/app.utils.ts +18 -18
  324. package/src/util/index.ts +1 -0
  325. package/src/util/validate-config.ts +20 -0
@@ -1,24 +1,24 @@
1
- import { HttpStatus } from '@nestjs/common';
2
- import { BadRequestException } from './bad-request-error.exception';
3
-
4
- describe('BadRequestException', () => {
5
- it('should set default message and status code if no parameters are provided', () => {
6
- const error = new BadRequestException();
7
-
8
- expect(error.message).toBe('BadRequestException');
9
- expect(error.statusCode).toBe(HttpStatus.BAD_REQUEST);
10
- expect(error.parameters).toBeUndefined();
11
- });
12
-
13
- it('should set custom message, status code, and parameters if provided', () => {
14
- const customMessage = 'Custom message';
15
- const customStatusCode = HttpStatus.BAD_REQUEST;
16
- const customParameters = { key: 'value' };
17
- const error = new BadRequestException(customMessage, customParameters);
18
-
19
- expect(error.message).toBe(customMessage);
20
- expect(error.statusCode).toBe(customStatusCode);
21
- expect(error.parameters).toEqual(customParameters);
22
- console.log(error);
23
- });
24
- });
1
+ import { HttpStatus } from '@nestjs/common';
2
+ import { BadRequestException } from './bad-request-error.exception';
3
+
4
+ describe('BadRequestException', () => {
5
+ it('should set default message and status code if no parameters are provided', () => {
6
+ const error = new BadRequestException();
7
+
8
+ expect(error.message).toBe('BadRequestException');
9
+ expect(error.statusCode).toBe(HttpStatus.BAD_REQUEST);
10
+ expect(error.parameters).toBeUndefined();
11
+ });
12
+
13
+ it('should set custom message, status code, and parameters if provided', () => {
14
+ const customMessage = 'Custom message';
15
+ const customStatusCode = HttpStatus.BAD_REQUEST;
16
+ const customParameters = { key: 'value' };
17
+ const error = new BadRequestException(customMessage, customParameters);
18
+
19
+ expect(error.message).toBe(customMessage);
20
+ expect(error.statusCode).toBe(customStatusCode);
21
+ expect(error.parameters).toEqual(customParameters);
22
+ console.log(error);
23
+ });
24
+ });
@@ -1,8 +1,8 @@
1
- import { HttpStatus } from '@nestjs/common';
2
- import { BaseException, ParametersType } from './base.exception';
3
-
4
- export class BadRequestException extends BaseException {
5
- constructor(message?: string, parameters?: ParametersType) {
6
- super(message ?? 'BadRequestException', HttpStatus.BAD_REQUEST, parameters);
7
- }
8
- }
1
+ import { HttpStatus } from '@nestjs/common';
2
+ import { BaseException, ParametersType } from './base.exception';
3
+
4
+ export class BadRequestException extends BaseException {
5
+ constructor(message?: string, parameters?: ParametersType) {
6
+ super(message ?? 'BadRequestException', HttpStatus.BAD_REQUEST, parameters);
7
+ }
8
+ }
@@ -1,36 +1,36 @@
1
- import { HttpException, HttpStatus } from '@nestjs/common';
2
-
3
- export type ErrorModel = {
4
- error: {
5
- code: string | number;
6
- traceid: string;
7
- message: string;
8
- timestamp: string;
9
- path: string;
10
- };
11
- };
12
-
13
- export type ParametersType = { [key: string]: unknown };
14
-
15
- export class BaseException extends HttpException {
16
- traceid: string;
17
- readonly context: string;
18
- readonly statusCode: number;
19
- readonly code?: string;
20
- readonly parameters: ParametersType;
21
-
22
- constructor(
23
- message: string,
24
- status: HttpStatus,
25
- parameters?: ParametersType,
26
- ) {
27
- super(message, status);
28
-
29
- if (parameters) {
30
- this.parameters = parameters;
31
- }
32
-
33
- this.statusCode = super.getStatus();
34
- Error.captureStackTrace(this);
35
- }
36
- }
1
+ import { HttpException, HttpStatus } from '@nestjs/common';
2
+
3
+ export type ErrorModel = {
4
+ error: {
5
+ code: string | number;
6
+ traceid: string;
7
+ message: string;
8
+ timestamp: string;
9
+ path: string;
10
+ };
11
+ };
12
+
13
+ export type ParametersType = { [key: string]: unknown };
14
+
15
+ export class BaseException extends HttpException {
16
+ traceid: string;
17
+ readonly context: string;
18
+ readonly statusCode: number;
19
+ readonly code?: string;
20
+ readonly parameters: ParametersType;
21
+
22
+ constructor(
23
+ message: string,
24
+ status: HttpStatus,
25
+ parameters?: ParametersType,
26
+ ) {
27
+ super(message, status);
28
+
29
+ if (parameters) {
30
+ this.parameters = parameters;
31
+ }
32
+
33
+ this.statusCode = super.getStatus();
34
+ Error.captureStackTrace(this);
35
+ }
36
+ }
@@ -1,23 +1,23 @@
1
- import { HttpStatus } from '@nestjs/common';
2
- import { ConflictException } from './conflict-error.exception';
3
-
4
- describe('ConflictException', () => {
5
- it('should set default message and status code if no parameters are provided', () => {
6
- const error = new ConflictException();
7
-
8
- expect(error.message).toBe('ConflictException');
9
- expect(error.statusCode).toBe(HttpStatus.CONFLICT);
10
- expect(error.parameters).toBeUndefined();
11
- });
12
-
13
- it('should set custom message, status code, and parameters if provided', () => {
14
- const customMessage = 'Custom message';
15
- const customStatusCode = HttpStatus.CONFLICT;
16
- const customParameters = { key: 'value' };
17
- const error = new ConflictException(customMessage, customParameters);
18
-
19
- expect(error.message).toBe(customMessage);
20
- expect(error.statusCode).toBe(customStatusCode);
21
- expect(error.parameters).toEqual(customParameters);
22
- });
23
- });
1
+ import { HttpStatus } from '@nestjs/common';
2
+ import { ConflictException } from './conflict-error.exception';
3
+
4
+ describe('ConflictException', () => {
5
+ it('should set default message and status code if no parameters are provided', () => {
6
+ const error = new ConflictException();
7
+
8
+ expect(error.message).toBe('ConflictException');
9
+ expect(error.statusCode).toBe(HttpStatus.CONFLICT);
10
+ expect(error.parameters).toBeUndefined();
11
+ });
12
+
13
+ it('should set custom message, status code, and parameters if provided', () => {
14
+ const customMessage = 'Custom message';
15
+ const customStatusCode = HttpStatus.CONFLICT;
16
+ const customParameters = { key: 'value' };
17
+ const error = new ConflictException(customMessage, customParameters);
18
+
19
+ expect(error.message).toBe(customMessage);
20
+ expect(error.statusCode).toBe(customStatusCode);
21
+ expect(error.parameters).toEqual(customParameters);
22
+ });
23
+ });
@@ -1,8 +1,8 @@
1
- import { HttpStatus } from '@nestjs/common';
2
- import { BaseException, ParametersType } from './base.exception';
3
-
4
- export class ConflictException extends BaseException {
5
- constructor(message?: string, parameters?: ParametersType) {
6
- super(message ?? 'ConflictException', HttpStatus.CONFLICT, parameters);
7
- }
8
- }
1
+ import { HttpStatus } from '@nestjs/common';
2
+ import { BaseException, ParametersType } from './base.exception';
3
+
4
+ export class ConflictException extends BaseException {
5
+ constructor(message?: string, parameters?: ParametersType) {
6
+ super(message ?? 'ConflictException', HttpStatus.CONFLICT, parameters);
7
+ }
8
+ }
@@ -1,23 +1,23 @@
1
- import { ForbiddenException } from './forbidden-error.exception';
2
- import { HttpStatus } from '@nestjs/common';
3
-
4
- describe('ForbiddenException', () => {
5
- it('should set default message and status code if no parameters are provided', () => {
6
- const error = new ForbiddenException();
7
-
8
- expect(error.message).toBe('BadRequestException');
9
- expect(error.statusCode).toBe(HttpStatus.FORBIDDEN);
10
- expect(error.parameters).toBeUndefined();
11
- });
12
-
13
- it('should set custom message, status code, and parameters if provided', () => {
14
- const customMessage = 'Custom message';
15
- const customStatusCode = HttpStatus.FORBIDDEN;
16
- const customParameters = { key: 'value' };
17
- const error = new ForbiddenException(customMessage, customParameters);
18
-
19
- expect(error.message).toBe(customMessage);
20
- expect(error.statusCode).toBe(customStatusCode);
21
- expect(error.parameters).toEqual(customParameters);
22
- });
23
- });
1
+ import { ForbiddenException } from './forbidden-error.exception';
2
+ import { HttpStatus } from '@nestjs/common';
3
+
4
+ describe('ForbiddenException', () => {
5
+ it('should set default message and status code if no parameters are provided', () => {
6
+ const error = new ForbiddenException();
7
+
8
+ expect(error.message).toBe('BadRequestException');
9
+ expect(error.statusCode).toBe(HttpStatus.FORBIDDEN);
10
+ expect(error.parameters).toBeUndefined();
11
+ });
12
+
13
+ it('should set custom message, status code, and parameters if provided', () => {
14
+ const customMessage = 'Custom message';
15
+ const customStatusCode = HttpStatus.FORBIDDEN;
16
+ const customParameters = { key: 'value' };
17
+ const error = new ForbiddenException(customMessage, customParameters);
18
+
19
+ expect(error.message).toBe(customMessage);
20
+ expect(error.statusCode).toBe(customStatusCode);
21
+ expect(error.parameters).toEqual(customParameters);
22
+ });
23
+ });
@@ -1,8 +1,8 @@
1
- import { HttpStatus } from '@nestjs/common';
2
- import { BaseException, ParametersType } from './base.exception';
3
-
4
- export class ForbiddenException extends BaseException {
5
- constructor(message?: string, parameters?: ParametersType) {
6
- super(message ?? 'BadRequestException', HttpStatus.FORBIDDEN, parameters);
7
- }
8
- }
1
+ import { HttpStatus } from '@nestjs/common';
2
+ import { BaseException, ParametersType } from './base.exception';
3
+
4
+ export class ForbiddenException extends BaseException {
5
+ constructor(message?: string, parameters?: ParametersType) {
6
+ super(message ?? 'BadRequestException', HttpStatus.FORBIDDEN, parameters);
7
+ }
8
+ }
@@ -1,7 +1,7 @@
1
- export * from './base.exception';
2
- export * from './conflict-error.exception';
3
- export * from './not-found-error.exception';
4
- export * from './forbidden-error.exception';
5
- export * from './bad-request-error.exception';
6
- export * from './unauthorized-error.exception';
7
- export * from './internal-server-error.exception';
1
+ export * from './base.exception';
2
+ export * from './conflict-error.exception';
3
+ export * from './not-found-error.exception';
4
+ export * from './forbidden-error.exception';
5
+ export * from './bad-request-error.exception';
6
+ export * from './unauthorized-error.exception';
7
+ export * from './internal-server-error.exception';
@@ -1,23 +1,23 @@
1
- import { InternalServerException } from './internal-server-error.exception';
2
- import { HttpStatus } from '@nestjs/common';
3
-
4
- describe('InternalServerException', () => {
5
- it('should set default message and status code if no parameters are provided', () => {
6
- const error = new InternalServerException();
7
-
8
- expect(error.message).toBe('InternalServerException');
9
- expect(error.statusCode).toBe(HttpStatus.INTERNAL_SERVER_ERROR);
10
- expect(error.parameters).toBeUndefined();
11
- });
12
-
13
- it('should set custom message, status code, and parameters if provided', () => {
14
- const customMessage = 'Custom message';
15
- const customStatusCode = HttpStatus.INTERNAL_SERVER_ERROR;
16
- const customParameters = { key: 'value' };
17
- const error = new InternalServerException(customMessage, customParameters);
18
-
19
- expect(error.message).toBe(customMessage);
20
- expect(error.statusCode).toBe(customStatusCode);
21
- expect(error.parameters).toEqual(customParameters);
22
- });
23
- });
1
+ import { InternalServerException } from './internal-server-error.exception';
2
+ import { HttpStatus } from '@nestjs/common';
3
+
4
+ describe('InternalServerException', () => {
5
+ it('should set default message and status code if no parameters are provided', () => {
6
+ const error = new InternalServerException();
7
+
8
+ expect(error.message).toBe('InternalServerException');
9
+ expect(error.statusCode).toBe(HttpStatus.INTERNAL_SERVER_ERROR);
10
+ expect(error.parameters).toBeUndefined();
11
+ });
12
+
13
+ it('should set custom message, status code, and parameters if provided', () => {
14
+ const customMessage = 'Custom message';
15
+ const customStatusCode = HttpStatus.INTERNAL_SERVER_ERROR;
16
+ const customParameters = { key: 'value' };
17
+ const error = new InternalServerException(customMessage, customParameters);
18
+
19
+ expect(error.message).toBe(customMessage);
20
+ expect(error.statusCode).toBe(customStatusCode);
21
+ expect(error.parameters).toEqual(customParameters);
22
+ });
23
+ });
@@ -1,12 +1,12 @@
1
- import { HttpStatus } from '@nestjs/common';
2
- import { BaseException, ParametersType } from './base.exception';
3
-
4
- export class InternalServerException extends BaseException {
5
- constructor(message?: string, parameters?: ParametersType) {
6
- super(
7
- message ?? 'InternalServerException',
8
- HttpStatus.INTERNAL_SERVER_ERROR,
9
- parameters,
10
- );
11
- }
12
- }
1
+ import { HttpStatus } from '@nestjs/common';
2
+ import { BaseException, ParametersType } from './base.exception';
3
+
4
+ export class InternalServerException extends BaseException {
5
+ constructor(message?: string, parameters?: ParametersType) {
6
+ super(
7
+ message ?? 'InternalServerException',
8
+ HttpStatus.INTERNAL_SERVER_ERROR,
9
+ parameters,
10
+ );
11
+ }
12
+ }
@@ -1,23 +1,23 @@
1
- import { NotFoundException } from './not-found-error.exception';
2
- import { HttpStatus } from '@nestjs/common';
3
-
4
- describe('NotFoundException', () => {
5
- it('should set default message and status code if no parameters are provided', () => {
6
- const error = new NotFoundException();
7
-
8
- expect(error.message).toBe('NotFoundException');
9
- expect(error.statusCode).toBe(HttpStatus.NOT_FOUND);
10
- expect(error.parameters).toBeUndefined();
11
- });
12
-
13
- it('should set custom message, status code, and parameters if provided', () => {
14
- const customMessage = 'Custom message';
15
- const customStatusCode = HttpStatus.INTERNAL_SERVER_ERROR;
16
- const customParameters = { key: 'value' };
17
- const error = new NotFoundException(customMessage, customParameters);
18
-
19
- expect(error.message).toBe(customMessage);
20
- expect(error.statusCode).toBe(customStatusCode);
21
- expect(error.parameters).toEqual(customParameters);
22
- });
23
- });
1
+ import { NotFoundException } from './not-found-error.exception';
2
+ import { HttpStatus } from '@nestjs/common';
3
+
4
+ describe('NotFoundException', () => {
5
+ it('should set default message and status code if no parameters are provided', () => {
6
+ const error = new NotFoundException();
7
+
8
+ expect(error.message).toBe('NotFoundException');
9
+ expect(error.statusCode).toBe(HttpStatus.NOT_FOUND);
10
+ expect(error.parameters).toBeUndefined();
11
+ });
12
+
13
+ it('should set custom message, status code, and parameters if provided', () => {
14
+ const customMessage = 'Custom message';
15
+ const customStatusCode = HttpStatus.INTERNAL_SERVER_ERROR;
16
+ const customParameters = { key: 'value' };
17
+ const error = new NotFoundException(customMessage, customParameters);
18
+
19
+ expect(error.message).toBe(customMessage);
20
+ expect(error.statusCode).toBe(customStatusCode);
21
+ expect(error.parameters).toEqual(customParameters);
22
+ });
23
+ });
@@ -1,8 +1,8 @@
1
- import { HttpStatus } from '@nestjs/common';
2
- import { BaseException, ParametersType } from './base.exception';
3
-
4
- export class NotFoundException extends BaseException {
5
- constructor(message?: string, parameters?: ParametersType) {
6
- super(message ?? 'NotFoundException', HttpStatus.NOT_FOUND, parameters);
7
- }
8
- }
1
+ import { HttpStatus } from '@nestjs/common';
2
+ import { BaseException, ParametersType } from './base.exception';
3
+
4
+ export class NotFoundException extends BaseException {
5
+ constructor(message?: string, parameters?: ParametersType) {
6
+ super(message ?? 'NotFoundException', HttpStatus.NOT_FOUND, parameters);
7
+ }
8
+ }
@@ -1,23 +1,23 @@
1
- import { UnauthorizedException } from './unauthorized-error.exception';
2
- import { HttpStatus } from '@nestjs/common';
3
-
4
- describe('UnauthorizedException', () => {
5
- it('should set default message and status code if no parameters are provided', () => {
6
- const error = new UnauthorizedException();
7
-
8
- expect(error.message).toBe('UnauthorizedException');
9
- expect(error.statusCode).toBe(HttpStatus.UNAUTHORIZED);
10
- expect(error.parameters).toBeUndefined();
11
- });
12
-
13
- it('should set custom message, status code, and parameters if provided', () => {
14
- const customMessage = 'Custom message';
15
- const customStatusCode = HttpStatus.UNAUTHORIZED;
16
- const customParameters = { key: 'value' };
17
- const error = new UnauthorizedException(customMessage, customParameters);
18
-
19
- expect(error.message).toBe(customMessage);
20
- expect(error.statusCode).toBe(customStatusCode);
21
- expect(error.parameters).toEqual(customParameters);
22
- });
23
- });
1
+ import { UnauthorizedException } from './unauthorized-error.exception';
2
+ import { HttpStatus } from '@nestjs/common';
3
+
4
+ describe('UnauthorizedException', () => {
5
+ it('should set default message and status code if no parameters are provided', () => {
6
+ const error = new UnauthorizedException();
7
+
8
+ expect(error.message).toBe('UnauthorizedException');
9
+ expect(error.statusCode).toBe(HttpStatus.UNAUTHORIZED);
10
+ expect(error.parameters).toBeUndefined();
11
+ });
12
+
13
+ it('should set custom message, status code, and parameters if provided', () => {
14
+ const customMessage = 'Custom message';
15
+ const customStatusCode = HttpStatus.UNAUTHORIZED;
16
+ const customParameters = { key: 'value' };
17
+ const error = new UnauthorizedException(customMessage, customParameters);
18
+
19
+ expect(error.message).toBe(customMessage);
20
+ expect(error.statusCode).toBe(customStatusCode);
21
+ expect(error.parameters).toEqual(customParameters);
22
+ });
23
+ });
@@ -1,12 +1,12 @@
1
- import { HttpStatus } from '@nestjs/common';
2
- import { BaseException, ParametersType } from './base.exception';
3
-
4
- export class UnauthorizedException extends BaseException {
5
- constructor(message?: string, parameters?: ParametersType) {
6
- super(
7
- message ?? 'UnauthorizedException',
8
- HttpStatus.UNAUTHORIZED,
9
- parameters,
10
- );
11
- }
12
- }
1
+ import { HttpStatus } from '@nestjs/common';
2
+ import { BaseException, ParametersType } from './base.exception';
3
+
4
+ export class UnauthorizedException extends BaseException {
5
+ constructor(message?: string, parameters?: ParametersType) {
6
+ super(
7
+ message ?? 'UnauthorizedException',
8
+ HttpStatus.UNAUTHORIZED,
9
+ parameters,
10
+ );
11
+ }
12
+ }
@@ -1,23 +1,23 @@
1
- import {
2
- ExceptionFilter,
3
- Catch,
4
- ArgumentsHost,
5
- HttpException,
6
- } from '@nestjs/common';
7
- import { Request, Response } from 'express';
8
-
9
- @Catch(HttpException)
10
- export class HttpExceptionFilter implements ExceptionFilter {
11
- catch(exception: HttpException, host: ArgumentsHost) {
12
- const ctx = host.switchToHttp();
13
- const response = ctx.getResponse<Response>();
14
- const request = ctx.getRequest<Request>();
15
- const status = exception.getStatus();
16
-
17
- response.status(status).json({
18
- statusCode: status,
19
- timestamp: new Date().toISOString(),
20
- path: request.url,
21
- });
22
- }
23
- }
1
+ import {
2
+ ExceptionFilter,
3
+ Catch,
4
+ ArgumentsHost,
5
+ HttpException,
6
+ } from '@nestjs/common';
7
+ import { Request, Response } from 'express';
8
+
9
+ @Catch(HttpException)
10
+ export class HttpExceptionFilter implements ExceptionFilter {
11
+ catch(exception: HttpException, host: ArgumentsHost) {
12
+ const ctx = host.switchToHttp();
13
+ const response = ctx.getResponse<Response>();
14
+ const request = ctx.getRequest<Request>();
15
+ const status = exception.getStatus();
16
+
17
+ response.status(status).json({
18
+ statusCode: status,
19
+ timestamp: new Date().toISOString(),
20
+ path: request.url,
21
+ });
22
+ }
23
+ }
@@ -0,0 +1,15 @@
1
+ import { Catch } from '@nestjs/common';
2
+ import { RpcException } from '@nestjs/microservices';
3
+ import type { RpcExceptionFilter as NestRpcExceptionFilter } from '@nestjs/common';
4
+ import { throwError } from 'rxjs';
5
+ import type { Observable } from 'rxjs';
6
+
7
+ @Catch(RpcException)
8
+ export class RpcExceptionFilter
9
+ implements NestRpcExceptionFilter<RpcException>
10
+ {
11
+ catch(exception: RpcException): Observable<any> {
12
+ // TODO: handle grpc error here instead of throwing it inside each service
13
+ return throwError(() => exception.getError());
14
+ }
15
+ }
package/src/index.ts CHANGED
@@ -1,3 +1,4 @@
1
+ export * from './auth';
1
2
  export * from './generic';
2
3
  export * from './constant';
3
4
  export * from './dto';
@@ -0,0 +1 @@
1
+ export * from './social.interface';
@@ -0,0 +1,6 @@
1
+ export interface SocialInterface {
2
+ id: string;
3
+ firstName?: string;
4
+ lastName?: string;
5
+ email?: string;
6
+ }
package/src/lib/index.ts CHANGED
@@ -1 +1,3 @@
1
1
  export * from './search-engine';
2
+ export * from './mailer';
3
+ export * from './typesense';
@@ -0,0 +1 @@
1
+ export * from './mailer.config';
@@ -0,0 +1,62 @@
1
+ import { registerAs } from '@nestjs/config';
2
+ import {
3
+ IsString,
4
+ IsInt,
5
+ Min,
6
+ Max,
7
+ IsOptional,
8
+ IsBoolean,
9
+ IsEmail,
10
+ } from 'class-validator';
11
+ import { validateConfig } from '../../../util';
12
+ import { MailConfig } from '../../../config';
13
+
14
+ class EnvironmentVariablesValidator {
15
+ @IsInt()
16
+ @Min(0)
17
+ @Max(65535)
18
+ @IsOptional()
19
+ MAIL_PORT: number;
20
+
21
+ @IsString()
22
+ MAIL_HOST: string;
23
+
24
+ @IsString()
25
+ @IsOptional()
26
+ MAIL_USER: string;
27
+
28
+ @IsString()
29
+ @IsOptional()
30
+ MAIL_PASSWORD: string;
31
+
32
+ @IsEmail()
33
+ MAIL_DEFAULT_EMAIL: string;
34
+
35
+ @IsString()
36
+ MAIL_DEFAULT_NAME: string;
37
+
38
+ @IsBoolean()
39
+ MAIL_IGNORE_TLS: boolean;
40
+
41
+ @IsBoolean()
42
+ MAIL_SECURE: boolean;
43
+
44
+ @IsBoolean()
45
+ MAIL_REQUIRE_TLS: boolean;
46
+ }
47
+
48
+ export default registerAs<MailConfig>('mail', () => {
49
+ validateConfig(process.env, EnvironmentVariablesValidator);
50
+
51
+ return {
52
+ port: process.env.MAIL_PORT ? parseInt(process.env.MAIL_PORT, 10) : 587,
53
+ host: process.env.MAIL_HOST,
54
+ user: process.env.MAIL_USER,
55
+ password: process.env.MAIL_PASSWORD,
56
+ defaultEmail: process.env.MAIL_DEFAULT_EMAIL,
57
+ defaultName: process.env.MAIL_DEFAULT_NAME,
58
+ ignoreTLS: process.env.MAIL_IGNORE_TLS === 'true',
59
+ secure: process.env.MAIL_SECURE === 'true',
60
+ requireTLS: process.env.MAIL_REQUIRE_TLS === 'true',
61
+ };
62
+ });