@comasoft/nestjs 0.0.96 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (470) hide show
  1. package/README.md +29 -0
  2. package/dist/aws/aws-s3.service.d.ts +17 -0
  3. package/dist/aws/aws-s3.service.js +1 -0
  4. package/dist/aws/aws.module.d.ts +2 -0
  5. package/dist/aws/aws.module.js +1 -0
  6. package/dist/aws/aws.service.d.ts +3 -0
  7. package/dist/aws/aws.service.js +1 -0
  8. package/dist/aws/constants/storage.constant.d.ts +4 -0
  9. package/dist/aws/constants/storage.constant.js +1 -0
  10. package/dist/aws/dto/create-s3-presigned.dto.d.ts +12 -0
  11. package/dist/aws/dto/create-s3-presigned.dto.js +1 -0
  12. package/dist/aws/dto/index.d.ts +2 -0
  13. package/dist/aws/dto/index.js +1 -0
  14. package/dist/aws/dto/response-s3-presigned.dto.d.ts +30 -0
  15. package/dist/aws/dto/response-s3-presigned.dto.js +1 -0
  16. package/dist/aws/index.d.ts +4 -0
  17. package/dist/aws/index.js +1 -0
  18. package/dist/aws/types/s3.interface.d.ts +14 -0
  19. package/dist/aws/types/s3.interface.js +1 -0
  20. package/dist/aws/types/storage.interface.d.ts +19 -0
  21. package/dist/aws/types/storage.interface.js +1 -0
  22. package/dist/category/category.module.d.ts +2 -0
  23. package/dist/category/category.module.js +1 -0
  24. package/dist/category/category.service.d.ts +13 -0
  25. package/dist/category/category.service.js +1 -0
  26. package/dist/category/dto/create-category.dto.d.ts +7 -0
  27. package/dist/category/dto/create-category.dto.js +1 -0
  28. package/dist/category/dto/delete-category.dto.d.ts +3 -0
  29. package/dist/category/dto/delete-category.dto.js +1 -0
  30. package/dist/category/dto/index.d.ts +5 -0
  31. package/dist/category/dto/index.js +1 -0
  32. package/dist/category/dto/response-categories.dto.d.ts +12 -0
  33. package/dist/category/dto/response-categories.dto.js +1 -0
  34. package/dist/category/dto/update-category-sort.dto.d.ts +9 -0
  35. package/dist/category/dto/update-category-sort.dto.js +1 -0
  36. package/dist/category/dto/update-category.dto.d.ts +6 -0
  37. package/dist/category/dto/update-category.dto.js +1 -0
  38. package/dist/category/index.d.ts +3 -0
  39. package/dist/category/index.js +1 -0
  40. package/dist/comment/comment.module.d.ts +2 -0
  41. package/dist/comment/comment.module.js +1 -0
  42. package/dist/comment/comment.service.d.ts +33 -0
  43. package/dist/comment/comment.service.js +1 -0
  44. package/dist/comment/dto/create-comment.dto.d.ts +7 -0
  45. package/dist/comment/dto/create-comment.dto.js +1 -0
  46. package/dist/comment/dto/index.d.ts +3 -0
  47. package/dist/comment/dto/index.js +1 -0
  48. package/dist/comment/dto/response-comment.dto.d.ts +26 -0
  49. package/dist/comment/dto/response-comment.dto.js +1 -0
  50. package/dist/comment/dto/update-comment.dto.d.ts +4 -0
  51. package/dist/comment/dto/update-comment.dto.js +1 -0
  52. package/dist/comment/index.d.ts +3 -0
  53. package/dist/comment/index.js +1 -0
  54. package/dist/database/entities/category.entity.d.ts +14 -0
  55. package/dist/database/entities/category.entity.js +1 -0
  56. package/dist/database/entities/comment.entity.d.ts +16 -0
  57. package/dist/database/entities/comment.entity.js +1 -0
  58. package/dist/database/entities/config.entity.d.ts +8 -0
  59. package/dist/database/entities/config.entity.js +1 -0
  60. package/dist/database/entities/file.entity.d.ts +20 -0
  61. package/dist/database/entities/file.entity.js +1 -0
  62. package/dist/database/entities/index.d.ts +10 -0
  63. package/dist/database/entities/index.js +1 -0
  64. package/dist/database/entities/like.entity.d.ts +10 -0
  65. package/dist/database/entities/like.entity.js +1 -0
  66. package/dist/database/entities/logs-audit.entity.d.ts +16 -0
  67. package/dist/database/entities/logs-audit.entity.js +1 -0
  68. package/dist/database/entities/logs-event.entity.d.ts +16 -0
  69. package/dist/database/entities/logs-event.entity.js +1 -0
  70. package/dist/database/entities/notification-recipient.entity.d.ts +19 -0
  71. package/dist/database/entities/notification-recipient.entity.js +1 -0
  72. package/dist/database/entities/notification.entity.d.ts +18 -0
  73. package/dist/database/entities/notification.entity.js +1 -0
  74. package/dist/database/entities/role.entity.d.ts +13 -0
  75. package/dist/database/entities/role.entity.js +1 -0
  76. package/dist/database/entities/roles.entity.d.ts +12 -0
  77. package/dist/database/entities/roles.entity.js +1 -0
  78. package/dist/decorators/api-custom-params.decorator.js +1 -35
  79. package/dist/decorators/auth.decorator.factory.d.ts +1 -1
  80. package/dist/decorators/auth.decorator.factory.js +1 -12
  81. package/dist/decorators/cookies.decorator.js +1 -9
  82. package/dist/decorators/custom-params.decorator.js +1 -16
  83. package/dist/decorators/delete-columns.decorator.js +1 -33
  84. package/dist/decorators/index.js +1 -24
  85. package/dist/decorators/patch-body.decorator.js +1 -30
  86. package/dist/decorators/soft-delete.decorator.js +1 -24
  87. package/dist/decorators/timestamps.decorator.js +1 -31
  88. package/dist/decorators/user.decorator.js +1 -8
  89. package/dist/dto/auth-user-local.dto.js +1 -26
  90. package/dist/dto/auth-user-sso.dto.js +1 -21
  91. package/dist/dto/custom-params.dto.js +1 -46
  92. package/dist/dto/file.dto.d.ts +18 -0
  93. package/dist/dto/file.dto.js +1 -0
  94. package/dist/dto/index.d.ts +2 -0
  95. package/dist/dto/index.js +1 -24
  96. package/dist/dto/jwt-user.dto.js +1 -6
  97. package/dist/dto/pagination.dto.js +1 -36
  98. package/dist/dto/remove-ids.dto.js +1 -23
  99. package/dist/dto/response-access-token.dto.js +1 -24
  100. package/dist/dto/response-id.dto.js +1 -35
  101. package/dist/dto/response-uid.dto.d.ts +2 -0
  102. package/dist/dto/response-uid.dto.js +1 -27
  103. package/dist/dto/update-ids.dto.d.ts +6 -1
  104. package/dist/dto/update-ids.dto.js +1 -31
  105. package/dist/dto/update-sort.dto.d.ts +9 -0
  106. package/dist/dto/update-sort.dto.js +1 -0
  107. package/dist/enums.common.d.ts +23 -0
  108. package/dist/enums.common.js +1 -35
  109. package/dist/events/event-bus.module.d.ts +2 -0
  110. package/dist/events/event-bus.module.js +1 -0
  111. package/dist/events/index.d.ts +4 -0
  112. package/dist/events/index.js +1 -0
  113. package/dist/events/listeners/audit-event.listener.d.ts +9 -0
  114. package/dist/events/listeners/audit-event.listener.js +1 -0
  115. package/dist/events/listeners/index.d.ts +1 -0
  116. package/dist/events/listeners/index.js +1 -0
  117. package/dist/events/listeners/system-event.listener.d.ts +9 -0
  118. package/dist/events/listeners/system-event.listener.js +1 -0
  119. package/dist/events/services/event-logger.service.d.ts +5 -0
  120. package/dist/events/services/event-logger.service.js +1 -0
  121. package/dist/events/services/event-notification.service.d.ts +7 -0
  122. package/dist/events/services/event-notification.service.js +1 -0
  123. package/dist/events/services/event-storage.service.d.ts +11 -0
  124. package/dist/events/services/event-storage.service.js +1 -0
  125. package/dist/events/services/index.d.ts +4 -0
  126. package/dist/events/services/index.js +1 -0
  127. package/dist/events/services/token.service.d.ts +23 -0
  128. package/dist/events/services/token.service.js +1 -0
  129. package/dist/events/types/audit-events.type.d.ts +12 -0
  130. package/dist/events/types/audit-events.type.js +1 -0
  131. package/dist/events/types/index.d.ts +18 -0
  132. package/dist/events/types/index.js +1 -0
  133. package/dist/filters/http-exception.filter.d.ts +4 -0
  134. package/dist/filters/http-exception.filter.js +1 -53
  135. package/dist/filters/index.js +1 -17
  136. package/dist/guards/auth.guard.d.ts +3 -1
  137. package/dist/guards/auth.guard.js +1 -38
  138. package/dist/guards/jwt.guard.js +1 -17
  139. package/dist/index.d.ts +20 -8
  140. package/dist/index.js +1 -24
  141. package/dist/interceptors/error.interceptor.js +1 -26
  142. package/dist/interceptors/index.js +1 -18
  143. package/dist/interceptors/success.interceptor.js +1 -30
  144. package/dist/library.module.d.ts +2 -0
  145. package/dist/library.module.js +1 -0
  146. package/dist/like/dto/create-like.dto.d.ts +7 -0
  147. package/dist/like/dto/create-like.dto.js +1 -0
  148. package/dist/like/dto/index.d.ts +2 -0
  149. package/dist/like/dto/index.js +1 -0
  150. package/dist/like/dto/response-like.dto.d.ts +19 -0
  151. package/dist/like/dto/response-like.dto.js +1 -0
  152. package/dist/like/index.d.ts +3 -0
  153. package/dist/like/index.js +1 -0
  154. package/dist/like/like.module.d.ts +2 -0
  155. package/dist/like/like.module.js +1 -0
  156. package/dist/like/like.service.d.ts +13 -0
  157. package/dist/like/like.service.js +1 -0
  158. package/dist/logger/index.d.ts +2 -0
  159. package/dist/logger/index.js +1 -0
  160. package/dist/logger/pino-options.d.ts +31 -0
  161. package/dist/logger/pino-options.js +1 -0
  162. package/dist/logger/pino-pretty-transport.d.ts +1 -0
  163. package/dist/logger/pino-pretty-transport.js +1 -0
  164. package/dist/modules/index.d.ts +1 -0
  165. package/dist/modules/index.js +1 -0
  166. package/dist/modules/redis.module.d.ts +9 -0
  167. package/dist/modules/redis.module.js +1 -0
  168. package/dist/notifications/index.d.ts +70 -0
  169. package/dist/notifications/index.js +1 -0
  170. package/dist/notifications/notification.module.d.ts +2 -0
  171. package/dist/notifications/notification.module.js +1 -0
  172. package/dist/notifications/services/email.service.d.ts +31 -0
  173. package/dist/notifications/services/email.service.js +1 -0
  174. package/dist/notifications/services/index.d.ts +7 -0
  175. package/dist/notifications/services/index.js +1 -0
  176. package/dist/notifications/services/kakao.service.d.ts +41 -0
  177. package/dist/notifications/services/kakao.service.js +1 -0
  178. package/dist/notifications/services/message-template.service.d.ts +15 -0
  179. package/dist/notifications/services/message-template.service.js +1 -0
  180. package/dist/notifications/services/notification-send.service.d.ts +30 -0
  181. package/dist/notifications/services/notification-send.service.js +1 -0
  182. package/dist/notifications/services/notification.service.d.ts +37 -0
  183. package/dist/notifications/services/notification.service.js +1 -0
  184. package/dist/notifications/services/slack.service.d.ts +11 -0
  185. package/dist/notifications/services/slack.service.js +1 -0
  186. package/dist/notifications/services/sms.service.d.ts +19 -0
  187. package/dist/notifications/services/sms.service.js +1 -0
  188. package/dist/passport/jwt.strategy.js +1 -55
  189. package/dist/passport/kakao.strategy.js +1 -36
  190. package/dist/passport/local.strategy.js +1 -41
  191. package/dist/redis/index.d.ts +2 -0
  192. package/dist/redis/index.js +1 -0
  193. package/dist/redis/redis-constraint.d.ts +1 -0
  194. package/dist/redis/redis-constraint.js +1 -0
  195. package/dist/redis/redis.module.d.ts +8 -0
  196. package/dist/redis/redis.module.js +1 -0
  197. package/dist/redis/redis.service.d.ts +12 -0
  198. package/dist/redis/redis.service.js +1 -0
  199. package/dist/role/dto/create-role.dto.d.ts +5 -0
  200. package/dist/role/dto/create-role.dto.js +1 -0
  201. package/dist/role/dto/index.d.ts +3 -0
  202. package/dist/role/dto/index.js +1 -0
  203. package/dist/role/dto/response-roles.dto.d.ts +15 -0
  204. package/dist/role/dto/response-roles.dto.js +1 -0
  205. package/dist/role/dto/update-role.dto.d.ts +6 -0
  206. package/dist/role/dto/update-role.dto.js +1 -0
  207. package/dist/role/index.d.ts +3 -0
  208. package/dist/role/index.js +1 -0
  209. package/dist/role/role.module.d.ts +2 -0
  210. package/dist/role/role.module.js +1 -0
  211. package/dist/role/role.service.d.ts +17 -0
  212. package/dist/role/role.service.js +1 -0
  213. package/dist/services/file.service.d.ts +55 -0
  214. package/dist/services/file.service.js +1 -0
  215. package/dist/services/index.d.ts +2 -0
  216. package/dist/services/index.js +1 -0
  217. package/dist/services/message-template.service.d.ts +15 -0
  218. package/dist/services/message-template.service.js +1 -0
  219. package/dist/services/permission-checker.service.d.ts +38 -0
  220. package/dist/services/permission-checker.service.js +1 -0
  221. package/dist/setup-swagger.js +1 -32
  222. package/dist/shared/error-codes.d.ts +5 -0
  223. package/dist/shared/error-codes.js +1 -0
  224. package/dist/utils/common.utils.d.ts +2 -0
  225. package/dist/utils/common.utils.js +1 -32
  226. package/dist/utils/enum.utils.js +1 -8
  227. package/dist/utils/index.d.ts +1 -0
  228. package/dist/utils/index.js +1 -20
  229. package/dist/utils/object-diff.d.ts +1 -0
  230. package/dist/utils/object-diff.js +1 -0
  231. package/dist/utils/pagination-qb.utils.js +1 -154
  232. package/dist/utils/pagination.utils.js +1 -32
  233. package/jest.config.js +11 -0
  234. package/package/dist/aws/dto/index.d.ts +2 -0
  235. package/package/dist/aws/dto/index.js +18 -0
  236. package/package/dist/aws/index.d.ts +4 -0
  237. package/package/dist/aws/index.js +20 -0
  238. package/package/dist/database/entities/index.d.ts +7 -0
  239. package/package/dist/database/entities/index.js +23 -0
  240. package/package/dist/decorators/index.d.ts +8 -0
  241. package/package/dist/decorators/index.js +24 -0
  242. package/package/dist/dto/index.d.ts +10 -0
  243. package/package/dist/dto/index.js +26 -0
  244. package/package/dist/events/index.d.ts +4 -0
  245. package/package/dist/events/index.js +20 -0
  246. package/package/dist/events/listeners/index.d.ts +1 -0
  247. package/package/dist/events/listeners/index.js +17 -0
  248. package/package/dist/events/services/index.d.ts +3 -0
  249. package/package/dist/events/services/index.js +19 -0
  250. package/package/dist/events/types/index.d.ts +18 -0
  251. package/package/dist/events/types/index.js +17 -0
  252. package/package/dist/filters/index.d.ts +1 -0
  253. package/package/dist/filters/index.js +17 -0
  254. package/package/dist/index.d.ts +16 -0
  255. package/package/dist/index.js +32 -0
  256. package/package/dist/interceptors/index.d.ts +2 -0
  257. package/package/dist/interceptors/index.js +18 -0
  258. package/package/dist/logger/index.d.ts +2 -0
  259. package/package/dist/logger/index.js +18 -0
  260. package/package/dist/modules/index.d.ts +1 -0
  261. package/package/dist/modules/index.js +17 -0
  262. package/package/dist/notifications/index.d.ts +53 -0
  263. package/package/dist/notifications/index.js +18 -0
  264. package/package/dist/notifications/services/index.d.ts +5 -0
  265. package/package/dist/notifications/services/index.js +21 -0
  266. package/package/dist/redis/index.d.ts +2 -0
  267. package/package/dist/redis/index.js +18 -0
  268. package/package/dist/services/index.d.ts +2 -0
  269. package/package/dist/services/index.js +18 -0
  270. package/package/dist/utils/index.d.ts +5 -0
  271. package/package/dist/utils/index.js +21 -0
  272. package/package/index.d.ts +1 -0
  273. package/package/index.js +17 -0
  274. package/package.json +61 -16
  275. package/untitled folder/package/README.md +29 -0
  276. package/untitled folder/package/dist/aws/aws-s3.service.d.ts +17 -0
  277. package/untitled folder/package/dist/aws/aws-s3.service.js +158 -0
  278. package/untitled folder/package/dist/aws/aws.module.d.ts +2 -0
  279. package/untitled folder/package/dist/aws/aws.module.js +25 -0
  280. package/untitled folder/package/dist/aws/aws.service.d.ts +3 -0
  281. package/untitled folder/package/dist/aws/aws.service.js +21 -0
  282. package/untitled folder/package/dist/aws/constants/storage.constant.d.ts +4 -0
  283. package/untitled folder/package/dist/aws/constants/storage.constant.js +25 -0
  284. package/untitled folder/package/dist/aws/dto/create-s3-presigned.dto.d.ts +12 -0
  285. package/untitled folder/package/dist/aws/dto/create-s3-presigned.dto.js +78 -0
  286. package/untitled folder/package/dist/aws/dto/index.d.ts +2 -0
  287. package/untitled folder/package/dist/aws/dto/index.js +18 -0
  288. package/untitled folder/package/dist/aws/dto/response-s3-presigned.dto.d.ts +30 -0
  289. package/untitled folder/package/dist/aws/dto/response-s3-presigned.dto.js +110 -0
  290. package/untitled folder/package/dist/aws/index.d.ts +4 -0
  291. package/untitled folder/package/dist/aws/index.js +20 -0
  292. package/untitled folder/package/dist/aws/types/s3.interface.d.ts +14 -0
  293. package/untitled folder/package/dist/aws/types/s3.interface.js +2 -0
  294. package/untitled folder/package/dist/aws/types/storage.interface.d.ts +19 -0
  295. package/untitled folder/package/dist/aws/types/storage.interface.js +2 -0
  296. package/untitled folder/package/dist/database/entities/category.entity.d.ts +13 -0
  297. package/untitled folder/package/dist/database/entities/category.entity.js +66 -0
  298. package/untitled folder/package/dist/database/entities/config.entity.d.ts +8 -0
  299. package/untitled folder/package/dist/database/entities/config.entity.js +44 -0
  300. package/untitled folder/package/dist/database/entities/file.entity.d.ts +20 -0
  301. package/untitled folder/package/dist/database/entities/file.entity.js +91 -0
  302. package/untitled folder/package/dist/database/entities/index.d.ts +7 -0
  303. package/untitled folder/package/dist/database/entities/index.js +23 -0
  304. package/untitled folder/package/dist/database/entities/like.entity.d.ts +10 -0
  305. package/untitled folder/package/dist/database/entities/like.entity.js +49 -0
  306. package/untitled folder/package/dist/database/entities/logs-audit.entity.d.ts +16 -0
  307. package/untitled folder/package/dist/database/entities/logs-audit.entity.js +72 -0
  308. package/untitled folder/package/dist/database/entities/logs-event.entity.d.ts +16 -0
  309. package/untitled folder/package/dist/database/entities/logs-event.entity.js +72 -0
  310. package/untitled folder/package/dist/database/entities/notification.entity.d.ts +16 -0
  311. package/untitled folder/package/dist/database/entities/notification.entity.js +75 -0
  312. package/untitled folder/package/dist/database/entities/roles.entity.d.ts +12 -0
  313. package/untitled folder/package/dist/database/entities/roles.entity.js +50 -0
  314. package/untitled folder/package/dist/decorators/api-custom-params.decorator.d.ts +7 -0
  315. package/untitled folder/package/dist/decorators/api-custom-params.decorator.js +35 -0
  316. package/untitled folder/package/dist/decorators/auth.decorator.factory.d.ts +1 -0
  317. package/untitled folder/package/dist/decorators/auth.decorator.factory.js +33 -0
  318. package/untitled folder/package/dist/decorators/cookies.decorator.d.ts +1 -0
  319. package/untitled folder/package/dist/decorators/cookies.decorator.js +9 -0
  320. package/untitled folder/package/dist/decorators/custom-params.decorator.d.ts +1 -0
  321. package/untitled folder/package/dist/decorators/custom-params.decorator.js +16 -0
  322. package/untitled folder/package/dist/decorators/delete-columns.decorator.d.ts +1 -0
  323. package/untitled folder/package/dist/decorators/delete-columns.decorator.js +33 -0
  324. package/untitled folder/package/dist/decorators/index.d.ts +8 -0
  325. package/untitled folder/package/dist/decorators/index.js +24 -0
  326. package/untitled folder/package/dist/decorators/patch-body.decorator.d.ts +1 -0
  327. package/untitled folder/package/dist/decorators/patch-body.decorator.js +38 -0
  328. package/untitled folder/package/dist/decorators/soft-delete.decorator.d.ts +1 -0
  329. package/untitled folder/package/dist/decorators/soft-delete.decorator.js +10 -0
  330. package/untitled folder/package/dist/decorators/timestamps.decorator.d.ts +6 -0
  331. package/untitled folder/package/dist/decorators/timestamps.decorator.js +23 -0
  332. package/untitled folder/package/dist/decorators/user.decorator.d.ts +1 -0
  333. package/untitled folder/package/dist/decorators/user.decorator.js +8 -0
  334. package/untitled folder/package/dist/dto/auth-user-local.dto.d.ts +4 -0
  335. package/untitled folder/package/dist/dto/auth-user-local.dto.js +26 -0
  336. package/untitled folder/package/dist/dto/auth-user-sso.dto.d.ts +3 -0
  337. package/untitled folder/package/dist/dto/auth-user-sso.dto.js +21 -0
  338. package/untitled folder/package/dist/dto/custom-params.dto.d.ts +7 -0
  339. package/untitled folder/package/dist/dto/custom-params.dto.js +46 -0
  340. package/untitled folder/package/dist/dto/file.dto.d.ts +18 -0
  341. package/untitled folder/package/dist/dto/file.dto.js +67 -0
  342. package/untitled folder/package/dist/dto/index.d.ts +10 -0
  343. package/untitled folder/package/dist/dto/index.js +26 -0
  344. package/untitled folder/package/dist/dto/jwt-user.dto.d.ts +6 -0
  345. package/untitled folder/package/dist/dto/jwt-user.dto.js +6 -0
  346. package/untitled folder/package/dist/dto/pagination.dto.d.ts +8 -0
  347. package/untitled folder/package/dist/dto/pagination.dto.js +36 -0
  348. package/untitled folder/package/dist/dto/remove-ids.dto.d.ts +3 -0
  349. package/untitled folder/package/dist/dto/remove-ids.dto.js +23 -0
  350. package/untitled folder/package/dist/dto/response-access-token.dto.d.ts +3 -0
  351. package/untitled folder/package/dist/dto/response-access-token.dto.js +24 -0
  352. package/untitled folder/package/dist/dto/response-id.dto.d.ts +8 -0
  353. package/untitled folder/package/dist/dto/response-id.dto.js +35 -0
  354. package/untitled folder/package/dist/dto/response-uid.dto.d.ts +6 -0
  355. package/untitled folder/package/dist/dto/response-uid.dto.js +27 -0
  356. package/untitled folder/package/dist/dto/update-ids.dto.d.ts +5 -0
  357. package/untitled folder/package/dist/dto/update-ids.dto.js +31 -0
  358. package/untitled folder/package/dist/dto/update-sort.dto.d.ts +9 -0
  359. package/untitled folder/package/dist/dto/update-sort.dto.js +50 -0
  360. package/untitled folder/package/dist/enums.common.d.ts +52 -0
  361. package/untitled folder/package/dist/enums.common.js +62 -0
  362. package/untitled folder/package/dist/events/event-bus.module.d.ts +2 -0
  363. package/untitled folder/package/dist/events/event-bus.module.js +44 -0
  364. package/untitled folder/package/dist/events/index.d.ts +4 -0
  365. package/untitled folder/package/dist/events/index.js +20 -0
  366. package/untitled folder/package/dist/events/listeners/audit-event.listener.d.ts +9 -0
  367. package/untitled folder/package/dist/events/listeners/audit-event.listener.js +58 -0
  368. package/untitled folder/package/dist/events/listeners/index.d.ts +1 -0
  369. package/untitled folder/package/dist/events/listeners/index.js +17 -0
  370. package/untitled folder/package/dist/events/listeners/system-event.listener.d.ts +9 -0
  371. package/untitled folder/package/dist/events/listeners/system-event.listener.js +58 -0
  372. package/untitled folder/package/dist/events/services/event-logger.service.d.ts +5 -0
  373. package/untitled folder/package/dist/events/services/event-logger.service.js +34 -0
  374. package/untitled folder/package/dist/events/services/event-notification.service.d.ts +6 -0
  375. package/untitled folder/package/dist/events/services/event-notification.service.js +74 -0
  376. package/untitled folder/package/dist/events/services/event-storage.service.d.ts +11 -0
  377. package/untitled folder/package/dist/events/services/event-storage.service.js +79 -0
  378. package/untitled folder/package/dist/events/services/index.d.ts +3 -0
  379. package/untitled folder/package/dist/events/services/index.js +19 -0
  380. package/untitled folder/package/dist/events/types/audit-events.type.d.ts +12 -0
  381. package/untitled folder/package/dist/events/types/audit-events.type.js +2 -0
  382. package/untitled folder/package/dist/events/types/index.d.ts +18 -0
  383. package/untitled folder/package/dist/events/types/index.js +17 -0
  384. package/untitled folder/package/dist/filters/http-exception.filter.d.ts +8 -0
  385. package/untitled folder/package/dist/filters/http-exception.filter.js +71 -0
  386. package/untitled folder/package/dist/filters/index.d.ts +1 -0
  387. package/untitled folder/package/dist/filters/index.js +17 -0
  388. package/untitled folder/package/dist/guards/auth.guard.d.ts +10 -0
  389. package/untitled folder/package/dist/guards/auth.guard.js +63 -0
  390. package/untitled folder/package/dist/guards/jwt.guard.d.ts +4 -0
  391. package/untitled folder/package/dist/guards/jwt.guard.js +17 -0
  392. package/untitled folder/package/dist/index.d.ts +16 -0
  393. package/untitled folder/package/dist/index.js +32 -0
  394. package/untitled folder/package/dist/interceptors/error.interceptor.d.ts +5 -0
  395. package/untitled folder/package/dist/interceptors/error.interceptor.js +26 -0
  396. package/untitled folder/package/dist/interceptors/index.d.ts +2 -0
  397. package/untitled folder/package/dist/interceptors/index.js +18 -0
  398. package/untitled folder/package/dist/interceptors/success.interceptor.d.ts +5 -0
  399. package/untitled folder/package/dist/interceptors/success.interceptor.js +30 -0
  400. package/untitled folder/package/dist/library.module.d.ts +2 -0
  401. package/untitled folder/package/dist/library.module.js +20 -0
  402. package/untitled folder/package/dist/logger/index.d.ts +2 -0
  403. package/untitled folder/package/dist/logger/index.js +18 -0
  404. package/untitled folder/package/dist/logger/pino-options.d.ts +31 -0
  405. package/untitled folder/package/dist/logger/pino-options.js +77 -0
  406. package/untitled folder/package/dist/logger/pino-pretty-transport.d.ts +1 -0
  407. package/untitled folder/package/dist/logger/pino-pretty-transport.js +155 -0
  408. package/untitled folder/package/dist/modules/index.d.ts +1 -0
  409. package/untitled folder/package/dist/modules/index.js +17 -0
  410. package/untitled folder/package/dist/modules/redis.module.d.ts +9 -0
  411. package/untitled folder/package/dist/modules/redis.module.js +60 -0
  412. package/untitled folder/package/dist/notifications/index.d.ts +53 -0
  413. package/untitled folder/package/dist/notifications/index.js +18 -0
  414. package/untitled folder/package/dist/notifications/notification.module.d.ts +2 -0
  415. package/untitled folder/package/dist/notifications/notification.module.js +36 -0
  416. package/untitled folder/package/dist/notifications/services/email.service.d.ts +7 -0
  417. package/untitled folder/package/dist/notifications/services/email.service.js +49 -0
  418. package/untitled folder/package/dist/notifications/services/index.d.ts +5 -0
  419. package/untitled folder/package/dist/notifications/services/index.js +21 -0
  420. package/untitled folder/package/dist/notifications/services/kakao.service.d.ts +8 -0
  421. package/untitled folder/package/dist/notifications/services/kakao.service.js +57 -0
  422. package/untitled folder/package/dist/notifications/services/notification.service.d.ts +15 -0
  423. package/untitled folder/package/dist/notifications/services/notification.service.js +83 -0
  424. package/untitled folder/package/dist/notifications/services/slack.service.d.ts +6 -0
  425. package/untitled folder/package/dist/notifications/services/slack.service.js +41 -0
  426. package/untitled folder/package/dist/notifications/services/sms.service.d.ts +6 -0
  427. package/untitled folder/package/dist/notifications/services/sms.service.js +41 -0
  428. package/untitled folder/package/dist/passport/jwt.strategy.d.ts +6 -0
  429. package/untitled folder/package/dist/passport/jwt.strategy.js +55 -0
  430. package/untitled folder/package/dist/passport/kakao.strategy.d.ts +12 -0
  431. package/untitled folder/package/dist/passport/kakao.strategy.js +36 -0
  432. package/untitled folder/package/dist/passport/local.strategy.d.ts +6 -0
  433. package/untitled folder/package/dist/passport/local.strategy.js +41 -0
  434. package/untitled folder/package/dist/redis/index.d.ts +2 -0
  435. package/untitled folder/package/dist/redis/index.js +18 -0
  436. package/untitled folder/package/dist/redis/redis-constraint.d.ts +1 -0
  437. package/untitled folder/package/dist/redis/redis-constraint.js +4 -0
  438. package/untitled folder/package/dist/redis/redis.module.d.ts +8 -0
  439. package/untitled folder/package/dist/redis/redis.module.js +62 -0
  440. package/untitled folder/package/dist/redis/redis.service.d.ts +12 -0
  441. package/untitled folder/package/dist/redis/redis.service.js +76 -0
  442. package/untitled folder/package/dist/services/file.service.d.ts +55 -0
  443. package/untitled folder/package/dist/services/file.service.js +76 -0
  444. package/untitled folder/package/dist/services/index.d.ts +2 -0
  445. package/untitled folder/package/dist/services/index.js +18 -0
  446. package/untitled folder/package/dist/services/message-template.service.d.ts +15 -0
  447. package/untitled folder/package/dist/services/message-template.service.js +74 -0
  448. package/untitled folder/package/dist/services/permission-checker.service.d.ts +38 -0
  449. package/untitled folder/package/dist/services/permission-checker.service.js +64 -0
  450. package/untitled folder/package/dist/setup-swagger.d.ts +9 -0
  451. package/untitled folder/package/dist/setup-swagger.js +32 -0
  452. package/untitled folder/package/dist/utils/common.utils.d.ts +5 -0
  453. package/untitled folder/package/dist/utils/common.utils.js +42 -0
  454. package/untitled folder/package/dist/utils/enum.utils.d.ts +1 -0
  455. package/untitled folder/package/dist/utils/enum.utils.js +8 -0
  456. package/untitled folder/package/dist/utils/index.d.ts +5 -0
  457. package/untitled folder/package/dist/utils/index.js +21 -0
  458. package/untitled folder/package/dist/utils/object-diff.d.ts +1 -0
  459. package/untitled folder/package/dist/utils/object-diff.js +30 -0
  460. package/untitled folder/package/dist/utils/pagination-qb.utils.d.ts +9 -0
  461. package/untitled folder/package/dist/utils/pagination-qb.utils.js +150 -0
  462. package/untitled folder/package/dist/utils/pagination.utils.d.ts +21 -0
  463. package/untitled folder/package/dist/utils/pagination.utils.js +32 -0
  464. package/untitled folder/package/eslint.config.js +31 -0
  465. package/untitled folder/package/index.d.ts +1 -0
  466. package/untitled folder/package/index.js +17 -0
  467. package/untitled folder/package/jest.config.js +11 -0
  468. package/untitled folder/package/package.json +86 -0
  469. package/untitled folder/package/tsconfig.build.json +19 -0
  470. package/untitled folder/package/tsconfig.json +18 -0
@@ -0,0 +1,155 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const date_fns_tz_1 = require("date-fns-tz");
4
+ const pinoPretty = require("pino-pretty");
5
+ function getLevel(level, extras) {
6
+ let levelStr, levelColor;
7
+ switch (level) {
8
+ case 10:
9
+ levelStr = 'TRACE';
10
+ levelColor = extras.colors.gray;
11
+ break;
12
+ case 20:
13
+ levelStr = 'DEBUG';
14
+ levelColor = extras.colors.blue;
15
+ break;
16
+ case 30:
17
+ levelStr = 'INFO';
18
+ levelColor = extras.colors.green;
19
+ break;
20
+ case 40:
21
+ levelStr = 'WARN';
22
+ levelColor = extras.colors.yellow;
23
+ break;
24
+ case 50:
25
+ levelStr = 'ERROR';
26
+ levelColor = extras.colors.red;
27
+ break;
28
+ case 60:
29
+ levelStr = 'FATAL';
30
+ levelColor = extras.colors.magenta;
31
+ break;
32
+ default:
33
+ levelStr = `LEVEL:${level}`;
34
+ levelColor = extras.colors.white;
35
+ }
36
+ return { levelStr, levelColor };
37
+ }
38
+ function getMethodInfo(method, colors) {
39
+ let methodColor;
40
+ switch (method.toUpperCase()) {
41
+ case 'GET':
42
+ methodColor = colors.blue;
43
+ break;
44
+ case 'POST':
45
+ methodColor = colors.green;
46
+ break;
47
+ case 'PUT':
48
+ methodColor = colors.yellow;
49
+ break;
50
+ case 'PATCH':
51
+ methodColor = colors.blueBright;
52
+ break;
53
+ case 'DELETE':
54
+ methodColor = colors.redBright;
55
+ break;
56
+ default:
57
+ methodColor = colors.white;
58
+ }
59
+ return { methodColor, methodStr: method.toUpperCase() };
60
+ }
61
+ function getResponseTimeInfo(_responseTime, colors) {
62
+ let responseTimeColor = colors.white;
63
+ if (_responseTime) {
64
+ if (_responseTime < 50)
65
+ responseTimeColor = colors.gray;
66
+ else if (_responseTime < 100)
67
+ responseTimeColor = colors.yellow;
68
+ else
69
+ responseTimeColor = colors.red;
70
+ }
71
+ return { responseTimeColor, responseTimeStr: _responseTime + 'ms' };
72
+ }
73
+ function getStatusCodeInfo(statusCode, colors) {
74
+ let statusCodeColor = colors.white;
75
+ if (statusCode) {
76
+ if (statusCode < 300)
77
+ statusCodeColor = colors.green;
78
+ else if (statusCode < 400)
79
+ statusCodeColor = colors.cyan;
80
+ else if (statusCode < 500)
81
+ statusCodeColor = colors.red;
82
+ else
83
+ statusCodeColor = colors.redBright;
84
+ }
85
+ return { statusCodeColor, statusCodeStr: statusCode.toString() };
86
+ }
87
+ function pinoPrettyTransport(opts) {
88
+ const timezone = opts.timezone || 'Asia/Seoul';
89
+ const ignoreContext = opts.ignoreContext || ['InstanceLoader', 'RouterExplorer'];
90
+ return pinoPretty(Object.assign(Object.assign({ singleLine: true, colorize: true, colorizeObjects: false, hideObject: true, ignore: 'time,pid,hostname,context,level' }, opts), { levelFirst: true, messageFormat(log, messageKey, levelLabel, extras) {
91
+ if (ignoreContext.includes(log.context)) {
92
+ return;
93
+ }
94
+ const timestamp = log.time ? (0, date_fns_tz_1.formatInTimeZone)(new Date(log.time), timezone, 'HH:mm:ss') : '';
95
+ const tz = log.time ? (0, date_fns_tz_1.formatInTimeZone)(new Date(log.time), timezone, 'zzz') : '';
96
+ if (log.method) {
97
+ const { methodColor, methodStr } = getMethodInfo(log.method, extras.colors);
98
+ const { responseTimeColor, responseTimeStr } = getResponseTimeInfo(log.responseTime, extras.colors);
99
+ const { statusCodeColor, statusCodeStr } = getStatusCodeInfo(log.statusCode, extras.colors);
100
+ if (log.err) {
101
+ const arr = [
102
+ extras.colors.dim(extras.colors.white(timestamp)),
103
+ extras.colors.gray(tz),
104
+ '',
105
+ extras.colors.underline(statusCodeColor(statusCodeStr)),
106
+ extras.colors.bold(methodColor(methodStr.padEnd(6))),
107
+ methodColor(log.url),
108
+ responseTimeColor(responseTimeStr),
109
+ ];
110
+ const err_arr = [];
111
+ if (log.err.code)
112
+ err_arr.push(extras.colors.italic(extras.colors.red(log.err.code)));
113
+ if (log.err.stack)
114
+ err_arr.push(extras.colors.red(log.err.stack));
115
+ return arr.join(' ') + '\n' + err_arr.join('\n') + '\n';
116
+ }
117
+ else {
118
+ const arr = [
119
+ extras.colors.dim(extras.colors.white(timestamp)),
120
+ extras.colors.gray(tz),
121
+ '',
122
+ statusCodeColor(statusCodeStr),
123
+ extras.colors.bold(methodColor(methodStr.padEnd(6))),
124
+ methodColor(log.url),
125
+ responseTimeColor(responseTimeStr),
126
+ ];
127
+ return arr.join(' ') + '\n';
128
+ }
129
+ }
130
+ const { levelStr, levelColor } = getLevel(log.level, extras);
131
+ const context = log.context ? extras.colors.yellow(`[${log.context}]`) : '';
132
+ const arr = [
133
+ extras.colors.dim(extras.colors.white(timestamp)),
134
+ extras.colors.gray(tz),
135
+ '',
136
+ levelColor(levelStr),
137
+ context,
138
+ levelColor(log[messageKey]),
139
+ ];
140
+ return arr.join(' ') + '\n';
141
+ }, customPrettifiers: {
142
+ time: (timestamp, key, log, extras) => {
143
+ return `⏰ ${timestamp}`;
144
+ },
145
+ level: (logLevel, key, log, extras) => {
146
+ return `LEVEL: ${logLevel} LABEL: ${extras.label} COLORIZED LABEL: ${extras.labelColorized}x`;
147
+ },
148
+ hostname: (hostname) => `MY HOST: ${hostname}`,
149
+ pid: (pid) => pid,
150
+ name: (name, key, log, { colors }) => `${colors.blue(name)}`,
151
+ caller: (caller, key, log, { colors }) => `${colors.greenBright(caller)}`,
152
+ myCustomLogProp: (value, key, log, { colors }) => `My Prop -> ${colors.bold(value)} <--`,
153
+ } }));
154
+ }
155
+ module.exports = pinoPrettyTransport;
@@ -0,0 +1 @@
1
+ export * from './redis.module';
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./redis.module"), exports);
@@ -0,0 +1,9 @@
1
+ import { DynamicModule } from '@nestjs/common';
2
+ import { RedisOptions } from 'ioredis';
3
+ export declare const REDIS_CLIENT = "REDIS_CLIENT";
4
+ export declare class RedisModule {
5
+ static forRootAsync(options: {
6
+ useFactory: (...args: any[]) => RedisOptions;
7
+ inject?: any[];
8
+ }): DynamicModule;
9
+ }
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
9
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
10
+ return new (P || (P = Promise))(function (resolve, reject) {
11
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
12
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
13
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
14
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
15
+ });
16
+ };
17
+ var RedisModule_1;
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ exports.RedisModule = exports.REDIS_CLIENT = void 0;
20
+ const common_1 = require("@nestjs/common");
21
+ const config_1 = require("@nestjs/config");
22
+ const ioredis_1 = require("ioredis");
23
+ exports.REDIS_CLIENT = 'REDIS_CLIENT';
24
+ let RedisModule = RedisModule_1 = class RedisModule {
25
+ static forRootAsync(options) {
26
+ return {
27
+ module: RedisModule_1,
28
+ imports: [config_1.ConfigModule],
29
+ providers: [
30
+ {
31
+ provide: exports.REDIS_CLIENT,
32
+ useFactory: (...args) => __awaiter(this, void 0, void 0, function* () {
33
+ const config = options.useFactory(...args);
34
+ config.retryStrategy = (times) => {
35
+ const logger = new common_1.Logger('Redis');
36
+ if (times > 5) {
37
+ logger.error('Redis Reconnect Max Times, Stop Reconnect');
38
+ return null;
39
+ }
40
+ return 2000;
41
+ };
42
+ const redis = new ioredis_1.default(config);
43
+ const logger = new common_1.Logger('Redis');
44
+ redis.on('ready', () => logger.log('Redis Ready'));
45
+ redis.on('error', (err) => logger.error('Redis Error: ' + err));
46
+ redis.on('reconnecting', () => logger.warn('Redis Reconnecting'));
47
+ return redis;
48
+ }),
49
+ inject: options.inject || [],
50
+ },
51
+ ],
52
+ exports: [exports.REDIS_CLIENT],
53
+ };
54
+ }
55
+ };
56
+ exports.RedisModule = RedisModule;
57
+ exports.RedisModule = RedisModule = RedisModule_1 = __decorate([
58
+ (0, common_1.Global)(),
59
+ (0, common_1.Module)({})
60
+ ], RedisModule);
@@ -0,0 +1,53 @@
1
+ export * from './notification.module';
2
+ export * from './services';
3
+ export interface NotificationOptions {
4
+ email?: {
5
+ to: string;
6
+ subject?: string;
7
+ body?: string;
8
+ template_key?: string;
9
+ variables?: Record<string, any>;
10
+ };
11
+ slack?: {
12
+ channel: string;
13
+ message?: string;
14
+ template_key?: string;
15
+ variables?: Record<string, any>;
16
+ };
17
+ kakao?: {
18
+ to: string;
19
+ template_key: string;
20
+ variables?: Record<string, any>;
21
+ };
22
+ sms?: {
23
+ to: string;
24
+ message?: string;
25
+ template_key?: string;
26
+ variables?: Record<string, any>;
27
+ };
28
+ }
29
+ export type NotificationPayload = {
30
+ type: 'email';
31
+ to: string;
32
+ subject?: string;
33
+ body?: string;
34
+ template_key?: string;
35
+ variables?: Record<string, any>;
36
+ } | {
37
+ type: 'sms';
38
+ to: string;
39
+ message?: string;
40
+ template_key?: string;
41
+ variables?: Record<string, any>;
42
+ } | {
43
+ type: 'kakao';
44
+ to: string;
45
+ template_key: string;
46
+ variables?: Record<string, any>;
47
+ } | {
48
+ type: 'slack';
49
+ channel: string;
50
+ message?: string;
51
+ template_key?: string;
52
+ variables?: Record<string, any>;
53
+ };
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./notification.module"), exports);
18
+ __exportStar(require("./services"), exports);
@@ -0,0 +1,2 @@
1
+ export declare class NotificationModule {
2
+ }
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.NotificationModule = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ const typeorm_1 = require("@nestjs/typeorm");
12
+ const entities_1 = require("../database/entities");
13
+ const message_template_service_1 = require("../services/message-template.service");
14
+ const email_service_1 = require("./services/email.service");
15
+ const kakao_service_1 = require("./services/kakao.service");
16
+ const notification_service_1 = require("./services/notification.service");
17
+ const slack_service_1 = require("./services/slack.service");
18
+ const sms_service_1 = require("./services/sms.service");
19
+ let NotificationModule = class NotificationModule {
20
+ };
21
+ exports.NotificationModule = NotificationModule;
22
+ exports.NotificationModule = NotificationModule = __decorate([
23
+ (0, common_1.Global)(),
24
+ (0, common_1.Module)({
25
+ imports: [typeorm_1.TypeOrmModule.forFeature([entities_1.Config])],
26
+ providers: [
27
+ notification_service_1.NotificationService,
28
+ message_template_service_1.MessageTemplateService,
29
+ email_service_1.EmailService,
30
+ kakao_service_1.KakaoService,
31
+ sms_service_1.SmsService,
32
+ slack_service_1.SlackService,
33
+ ],
34
+ exports: [notification_service_1.NotificationService],
35
+ })
36
+ ], NotificationModule);
@@ -0,0 +1,7 @@
1
+ import { ConfigService } from '@nestjs/config';
2
+ export declare class EmailService {
3
+ private readonly configService;
4
+ constructor(configService: ConfigService);
5
+ send(to: string, subject: string, text: string): Promise<void>;
6
+ sendAws(to: string, subject: string, text: string): Promise<void>;
7
+ }
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
12
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
13
+ return new (P || (P = Promise))(function (resolve, reject) {
14
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
15
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
16
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
17
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
18
+ });
19
+ };
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ exports.EmailService = void 0;
22
+ const common_1 = require("@nestjs/common");
23
+ const config_1 = require("@nestjs/config");
24
+ let EmailService = class EmailService {
25
+ constructor(configService) {
26
+ this.configService = configService;
27
+ }
28
+ send(to, subject, text) {
29
+ return __awaiter(this, void 0, void 0, function* () {
30
+ const provider = this.configService.get('EMAIL_PROVIDER');
31
+ if (!provider || !this.configService.get('EMAIL_FROM')) {
32
+ throw new Error('EMAIL_PROVIDER or EMAIL_FROM is not set');
33
+ }
34
+ if (provider === 'aws') {
35
+ this.sendAws(to, subject, text);
36
+ }
37
+ });
38
+ }
39
+ sendAws(to, subject, text) {
40
+ return __awaiter(this, void 0, void 0, function* () {
41
+ console.log('send aws', to, subject, text);
42
+ });
43
+ }
44
+ };
45
+ exports.EmailService = EmailService;
46
+ exports.EmailService = EmailService = __decorate([
47
+ (0, common_1.Injectable)(),
48
+ __metadata("design:paramtypes", [config_1.ConfigService])
49
+ ], EmailService);
@@ -0,0 +1,5 @@
1
+ export * from './notification.service';
2
+ export * from './email.service';
3
+ export * from './kakao.service';
4
+ export * from './sms.service';
5
+ export * from './slack.service';
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./notification.service"), exports);
18
+ __exportStar(require("./email.service"), exports);
19
+ __exportStar(require("./kakao.service"), exports);
20
+ __exportStar(require("./sms.service"), exports);
21
+ __exportStar(require("./slack.service"), exports);
@@ -0,0 +1,8 @@
1
+ import { ConfigService } from '@nestjs/config';
2
+ export declare class KakaoService {
3
+ private readonly configService;
4
+ constructor(configService: ConfigService);
5
+ send(to: string, template_code: string, variables?: Record<string, any>): Promise<void>;
6
+ sendAligo(to: string, template_code: string, variables?: Record<string, any>): Promise<void>;
7
+ sendPpurio(to: string, template_code: string, variables?: Record<string, any>): Promise<void>;
8
+ }
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
12
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
13
+ return new (P || (P = Promise))(function (resolve, reject) {
14
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
15
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
16
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
17
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
18
+ });
19
+ };
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ exports.KakaoService = void 0;
22
+ const common_1 = require("@nestjs/common");
23
+ const config_1 = require("@nestjs/config");
24
+ let KakaoService = class KakaoService {
25
+ constructor(configService) {
26
+ this.configService = configService;
27
+ }
28
+ send(to, template_code, variables) {
29
+ return __awaiter(this, void 0, void 0, function* () {
30
+ const provider = this.configService.get('KAKAO_PROVIDER');
31
+ if (!provider || !this.configService.get('KAKAO_FROM')) {
32
+ throw new Error('KAKAO_PROVIDER or KAKAO_FROM is not set');
33
+ }
34
+ if (provider === 'aligo') {
35
+ this.sendAligo(to, template_code, variables);
36
+ }
37
+ else if (provider === 'ppurio') {
38
+ this.sendPpurio(to, template_code, variables);
39
+ }
40
+ });
41
+ }
42
+ sendAligo(to, template_code, variables) {
43
+ return __awaiter(this, void 0, void 0, function* () {
44
+ console.log('send aligo', to, template_code, variables);
45
+ });
46
+ }
47
+ sendPpurio(to, template_code, variables) {
48
+ return __awaiter(this, void 0, void 0, function* () {
49
+ console.log('send ppurio', to, template_code, variables);
50
+ });
51
+ }
52
+ };
53
+ exports.KakaoService = KakaoService;
54
+ exports.KakaoService = KakaoService = __decorate([
55
+ (0, common_1.Injectable)(),
56
+ __metadata("design:paramtypes", [config_1.ConfigService])
57
+ ], KakaoService);
@@ -0,0 +1,15 @@
1
+ import { NotificationPayload } from '..';
2
+ import { MessageTemplateService } from '../../services/message-template.service';
3
+ import { EmailService } from './email.service';
4
+ import { KakaoService } from './kakao.service';
5
+ import { SlackService } from './slack.service';
6
+ import { SmsService } from './sms.service';
7
+ export declare class NotificationService {
8
+ private readonly emailService;
9
+ private readonly smsService;
10
+ private readonly kakaoService;
11
+ private readonly slackService;
12
+ private readonly messageTemplateService;
13
+ constructor(emailService: EmailService, smsService: SmsService, kakaoService: KakaoService, slackService: SlackService, messageTemplateService: MessageTemplateService);
14
+ send(payload: NotificationPayload): Promise<void>;
15
+ }
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
12
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
13
+ return new (P || (P = Promise))(function (resolve, reject) {
14
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
15
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
16
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
17
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
18
+ });
19
+ };
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ exports.NotificationService = void 0;
22
+ const common_1 = require("@nestjs/common");
23
+ const message_template_service_1 = require("../../services/message-template.service");
24
+ const email_service_1 = require("./email.service");
25
+ const kakao_service_1 = require("./kakao.service");
26
+ const slack_service_1 = require("./slack.service");
27
+ const sms_service_1 = require("./sms.service");
28
+ let NotificationService = class NotificationService {
29
+ constructor(emailService, smsService, kakaoService, slackService, messageTemplateService) {
30
+ this.emailService = emailService;
31
+ this.smsService = smsService;
32
+ this.kakaoService = kakaoService;
33
+ this.slackService = slackService;
34
+ this.messageTemplateService = messageTemplateService;
35
+ }
36
+ send(payload) {
37
+ return __awaiter(this, void 0, void 0, function* () {
38
+ if (payload.template_key) {
39
+ const template = yield this.messageTemplateService.getTemplate(payload.type, payload.template_key);
40
+ if (!template)
41
+ throw new Error('Template not found');
42
+ const content = this.messageTemplateService.renderTemplate(template, payload.variables || {});
43
+ switch (payload.type) {
44
+ case 'email':
45
+ return this.emailService.send(payload.to, template.subject, content);
46
+ case 'sms':
47
+ return this.smsService.send(payload.to, content);
48
+ case 'kakao':
49
+ return this.kakaoService.send(payload.to, payload.template_key, payload.variables || {});
50
+ case 'slack':
51
+ return this.slackService.send(payload.channel, content);
52
+ }
53
+ }
54
+ else {
55
+ switch (payload.type) {
56
+ case 'email':
57
+ if (!payload.subject || !payload.body)
58
+ throw new Error('subject, body is required');
59
+ return this.emailService.send(payload.to, payload.subject, payload.body);
60
+ case 'sms':
61
+ if (!payload.message)
62
+ throw new Error('message is required');
63
+ return this.smsService.send(payload.to, payload.message);
64
+ case 'kakao':
65
+ throw new Error('kakao template code is required');
66
+ case 'slack':
67
+ if (!payload.message)
68
+ throw new Error('message is required');
69
+ return this.slackService.send(payload.channel, payload.message);
70
+ }
71
+ }
72
+ });
73
+ }
74
+ };
75
+ exports.NotificationService = NotificationService;
76
+ exports.NotificationService = NotificationService = __decorate([
77
+ (0, common_1.Injectable)(),
78
+ __metadata("design:paramtypes", [email_service_1.EmailService,
79
+ sms_service_1.SmsService,
80
+ kakao_service_1.KakaoService,
81
+ slack_service_1.SlackService,
82
+ message_template_service_1.MessageTemplateService])
83
+ ], NotificationService);
@@ -0,0 +1,6 @@
1
+ import { ConfigService } from '@nestjs/config';
2
+ export declare class SlackService {
3
+ private readonly configService;
4
+ constructor(configService: ConfigService);
5
+ send(channel: string, message: string): Promise<void>;
6
+ }