@comasoft/nestjs 0.1.0 → 0.1.2

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 (367) hide show
  1. package/README.md +2 -0
  2. package/dist/aws/aws-s3.service.js +158 -1
  3. package/dist/aws/aws.module.js +25 -1
  4. package/dist/aws/aws.service.js +21 -1
  5. package/dist/aws/constants/storage.constant.js +25 -1
  6. package/dist/aws/dto/create-s3-presigned.dto.js +78 -1
  7. package/dist/aws/dto/index.js +18 -1
  8. package/dist/aws/dto/response-s3-presigned.dto.js +110 -1
  9. package/dist/aws/index.js +20 -1
  10. package/dist/aws/types/s3.interface.js +2 -1
  11. package/dist/aws/types/storage.interface.js +2 -1
  12. package/dist/category/category.module.js +23 -1
  13. package/dist/category/category.service.js +124 -1
  14. package/dist/category/dto/create-category.dto.js +34 -1
  15. package/dist/category/dto/delete-category.dto.js +6 -1
  16. package/dist/category/dto/index.js +21 -1
  17. package/dist/category/dto/response-categories.dto.js +52 -1
  18. package/dist/category/dto/update-category-sort.dto.js +33 -1
  19. package/dist/category/dto/update-category.dto.js +9 -1
  20. package/dist/category/index.js +19 -1
  21. package/dist/comment/comment.module.js +23 -1
  22. package/dist/comment/comment.service.js +240 -1
  23. package/dist/comment/dto/create-comment.dto.js +41 -1
  24. package/dist/comment/dto/index.js +19 -1
  25. package/dist/comment/dto/response-comment.dto.js +97 -1
  26. package/dist/comment/dto/update-comment.dto.js +22 -1
  27. package/dist/comment/index.js +19 -1
  28. package/dist/database/entities/category.entity.js +70 -1
  29. package/dist/database/entities/comment.entity.js +77 -1
  30. package/dist/database/entities/config.entity.js +44 -1
  31. package/dist/database/entities/file.entity.js +91 -1
  32. package/dist/database/entities/index.js +26 -1
  33. package/dist/database/entities/like.entity.js +49 -1
  34. package/dist/database/entities/logs-audit.entity.js +72 -1
  35. package/dist/database/entities/logs-event.entity.js +72 -1
  36. package/dist/database/entities/notification-recipient.entity.js +74 -1
  37. package/dist/database/entities/notification.entity.js +69 -1
  38. package/dist/database/entities/role.entity.js +54 -1
  39. package/dist/decorators/api-custom-params.decorator.js +35 -1
  40. package/dist/decorators/auth.decorator.factory.js +33 -1
  41. package/dist/decorators/cookies.decorator.js +9 -1
  42. package/dist/decorators/custom-params.decorator.js +16 -1
  43. package/dist/decorators/index.js +24 -1
  44. package/dist/decorators/patch-body.decorator.js +38 -1
  45. package/dist/decorators/soft-delete.decorator.js +10 -1
  46. package/dist/decorators/timestamps.decorator.js +23 -1
  47. package/dist/decorators/user.decorator.js +8 -1
  48. package/dist/dto/auth-user-local.dto.js +26 -1
  49. package/dist/dto/auth-user-sso.dto.js +21 -1
  50. package/dist/dto/custom-params.dto.js +46 -1
  51. package/dist/dto/file.dto.js +70 -1
  52. package/dist/dto/index.js +26 -1
  53. package/dist/dto/jwt-user.dto.js +6 -1
  54. package/dist/dto/pagination.dto.js +36 -1
  55. package/dist/dto/remove-ids.dto.js +23 -1
  56. package/dist/dto/response-access-token.dto.js +24 -1
  57. package/dist/dto/response-id.dto.js +35 -1
  58. package/dist/dto/response-uid.dto.js +35 -1
  59. package/dist/dto/update-ids.dto.js +45 -1
  60. package/dist/dto/update-sort.dto.js +50 -1
  61. package/dist/enums.common.js +62 -1
  62. package/dist/events/event-bus.module.js +44 -1
  63. package/dist/events/index.js +20 -1
  64. package/dist/events/listeners/audit-event.listener.js +58 -1
  65. package/dist/events/listeners/index.js +17 -1
  66. package/dist/events/listeners/system-event.listener.js +58 -1
  67. package/dist/events/services/event-logger.service.js +34 -1
  68. package/dist/events/services/event-notification.service.js +104 -1
  69. package/dist/events/services/event-storage.service.js +79 -1
  70. package/dist/events/services/index.js +20 -1
  71. package/dist/events/services/token.service.js +88 -1
  72. package/dist/events/types/audit-events.type.js +2 -1
  73. package/dist/events/types/index.js +17 -1
  74. package/dist/filters/http-exception.filter.js +75 -1
  75. package/dist/filters/index.js +17 -1
  76. package/dist/guards/auth.guard.js +60 -1
  77. package/dist/guards/jwt.guard.js +17 -1
  78. package/dist/index.js +36 -1
  79. package/dist/interceptors/error.interceptor.js +26 -1
  80. package/dist/interceptors/index.js +18 -1
  81. package/dist/interceptors/success.interceptor.js +30 -1
  82. package/dist/library.module.js +20 -1
  83. package/dist/like/dto/create-like.dto.js +47 -1
  84. package/dist/like/dto/index.js +18 -1
  85. package/dist/like/dto/response-like.dto.js +79 -1
  86. package/dist/like/index.js +19 -1
  87. package/dist/like/like.module.js +23 -1
  88. package/dist/like/like.service.js +155 -1
  89. package/dist/logger/index.js +18 -1
  90. package/dist/logger/pino-options.js +77 -1
  91. package/dist/logger/pino-pretty-transport.js +164 -1
  92. package/dist/notifications/index.js +18 -1
  93. package/dist/notifications/notification.module.js +32 -1
  94. package/dist/notifications/services/email.service.js +69 -1
  95. package/dist/notifications/services/index.js +23 -1
  96. package/dist/notifications/services/kakao.service.js +94 -1
  97. package/dist/notifications/services/message-template.service.js +74 -1
  98. package/dist/notifications/services/notification-send.service.js +146 -1
  99. package/dist/notifications/services/notification.service.js +125 -1
  100. package/dist/notifications/services/slack.service.js +53 -1
  101. package/dist/notifications/services/sms.service.js +62 -1
  102. package/dist/passport/jwt.strategy.js +55 -1
  103. package/dist/passport/kakao.strategy.js +36 -1
  104. package/dist/passport/local.strategy.js +41 -1
  105. package/dist/redis/index.js +18 -1
  106. package/dist/redis/redis-constraint.js +4 -1
  107. package/dist/redis/redis.module.js +62 -1
  108. package/dist/redis/redis.service.js +76 -1
  109. package/dist/role/dto/create-role.dto.js +41 -1
  110. package/dist/role/dto/index.js +19 -1
  111. package/dist/role/dto/response-roles.dto.js +62 -1
  112. package/dist/role/dto/update-role.dto.js +9 -1
  113. package/dist/role/index.js +19 -1
  114. package/dist/role/role.module.js +23 -1
  115. package/dist/role/role.service.js +144 -1
  116. package/dist/services/file.service.js +82 -1
  117. package/dist/services/index.js +18 -1
  118. package/dist/services/permission-checker.service.js +65 -1
  119. package/dist/setup-swagger.js +32 -1
  120. package/dist/shared/error-codes.js +9 -1
  121. package/dist/utils/common.utils.js +42 -1
  122. package/dist/utils/enum.utils.js +8 -1
  123. package/dist/utils/index.js +21 -1
  124. package/dist/utils/object-diff.js +33 -1
  125. package/dist/utils/pagination-qb.utils.js +154 -1
  126. package/dist/utils/pagination.utils.js +32 -1
  127. package/package.json +1 -1
  128. package/eslint.config.js +0 -31
  129. package/jest.config.js +0 -11
  130. package/package/dist/aws/dto/index.d.ts +0 -2
  131. package/package/dist/aws/dto/index.js +0 -18
  132. package/package/dist/aws/index.d.ts +0 -4
  133. package/package/dist/aws/index.js +0 -20
  134. package/package/dist/database/entities/index.d.ts +0 -7
  135. package/package/dist/database/entities/index.js +0 -23
  136. package/package/dist/decorators/index.d.ts +0 -8
  137. package/package/dist/decorators/index.js +0 -24
  138. package/package/dist/dto/index.d.ts +0 -10
  139. package/package/dist/dto/index.js +0 -26
  140. package/package/dist/events/index.d.ts +0 -4
  141. package/package/dist/events/index.js +0 -20
  142. package/package/dist/events/listeners/index.d.ts +0 -1
  143. package/package/dist/events/listeners/index.js +0 -17
  144. package/package/dist/events/services/index.d.ts +0 -3
  145. package/package/dist/events/services/index.js +0 -19
  146. package/package/dist/events/types/index.d.ts +0 -18
  147. package/package/dist/events/types/index.js +0 -17
  148. package/package/dist/filters/index.d.ts +0 -1
  149. package/package/dist/filters/index.js +0 -17
  150. package/package/dist/index.d.ts +0 -16
  151. package/package/dist/index.js +0 -32
  152. package/package/dist/interceptors/index.d.ts +0 -2
  153. package/package/dist/interceptors/index.js +0 -18
  154. package/package/dist/logger/index.d.ts +0 -2
  155. package/package/dist/logger/index.js +0 -18
  156. package/package/dist/modules/index.d.ts +0 -1
  157. package/package/dist/modules/index.js +0 -17
  158. package/package/dist/notifications/index.d.ts +0 -53
  159. package/package/dist/notifications/index.js +0 -18
  160. package/package/dist/notifications/services/index.d.ts +0 -5
  161. package/package/dist/notifications/services/index.js +0 -21
  162. package/package/dist/redis/index.d.ts +0 -2
  163. package/package/dist/redis/index.js +0 -18
  164. package/package/dist/services/index.d.ts +0 -2
  165. package/package/dist/services/index.js +0 -18
  166. package/package/dist/utils/index.d.ts +0 -5
  167. package/package/dist/utils/index.js +0 -21
  168. package/package/index.d.ts +0 -1
  169. package/package/index.js +0 -17
  170. package/tsconfig.build.json +0 -19
  171. package/tsconfig.json +0 -18
  172. package/untitled folder/package/README.md +0 -29
  173. package/untitled folder/package/dist/aws/aws-s3.service.d.ts +0 -17
  174. package/untitled folder/package/dist/aws/aws-s3.service.js +0 -158
  175. package/untitled folder/package/dist/aws/aws.module.d.ts +0 -2
  176. package/untitled folder/package/dist/aws/aws.module.js +0 -25
  177. package/untitled folder/package/dist/aws/aws.service.d.ts +0 -3
  178. package/untitled folder/package/dist/aws/aws.service.js +0 -21
  179. package/untitled folder/package/dist/aws/constants/storage.constant.d.ts +0 -4
  180. package/untitled folder/package/dist/aws/constants/storage.constant.js +0 -25
  181. package/untitled folder/package/dist/aws/dto/create-s3-presigned.dto.d.ts +0 -12
  182. package/untitled folder/package/dist/aws/dto/create-s3-presigned.dto.js +0 -78
  183. package/untitled folder/package/dist/aws/dto/index.d.ts +0 -2
  184. package/untitled folder/package/dist/aws/dto/index.js +0 -18
  185. package/untitled folder/package/dist/aws/dto/response-s3-presigned.dto.d.ts +0 -30
  186. package/untitled folder/package/dist/aws/dto/response-s3-presigned.dto.js +0 -110
  187. package/untitled folder/package/dist/aws/index.d.ts +0 -4
  188. package/untitled folder/package/dist/aws/index.js +0 -20
  189. package/untitled folder/package/dist/aws/types/s3.interface.d.ts +0 -14
  190. package/untitled folder/package/dist/aws/types/s3.interface.js +0 -2
  191. package/untitled folder/package/dist/aws/types/storage.interface.d.ts +0 -19
  192. package/untitled folder/package/dist/aws/types/storage.interface.js +0 -2
  193. package/untitled folder/package/dist/database/entities/category.entity.d.ts +0 -13
  194. package/untitled folder/package/dist/database/entities/category.entity.js +0 -66
  195. package/untitled folder/package/dist/database/entities/config.entity.d.ts +0 -8
  196. package/untitled folder/package/dist/database/entities/config.entity.js +0 -44
  197. package/untitled folder/package/dist/database/entities/file.entity.d.ts +0 -20
  198. package/untitled folder/package/dist/database/entities/file.entity.js +0 -91
  199. package/untitled folder/package/dist/database/entities/index.d.ts +0 -7
  200. package/untitled folder/package/dist/database/entities/index.js +0 -23
  201. package/untitled folder/package/dist/database/entities/like.entity.d.ts +0 -10
  202. package/untitled folder/package/dist/database/entities/like.entity.js +0 -49
  203. package/untitled folder/package/dist/database/entities/logs-audit.entity.d.ts +0 -16
  204. package/untitled folder/package/dist/database/entities/logs-audit.entity.js +0 -72
  205. package/untitled folder/package/dist/database/entities/logs-event.entity.d.ts +0 -16
  206. package/untitled folder/package/dist/database/entities/logs-event.entity.js +0 -72
  207. package/untitled folder/package/dist/database/entities/notification.entity.d.ts +0 -16
  208. package/untitled folder/package/dist/database/entities/notification.entity.js +0 -75
  209. package/untitled folder/package/dist/database/entities/roles.entity.d.ts +0 -12
  210. package/untitled folder/package/dist/database/entities/roles.entity.js +0 -50
  211. package/untitled folder/package/dist/decorators/api-custom-params.decorator.d.ts +0 -7
  212. package/untitled folder/package/dist/decorators/api-custom-params.decorator.js +0 -35
  213. package/untitled folder/package/dist/decorators/auth.decorator.factory.d.ts +0 -1
  214. package/untitled folder/package/dist/decorators/auth.decorator.factory.js +0 -33
  215. package/untitled folder/package/dist/decorators/cookies.decorator.d.ts +0 -1
  216. package/untitled folder/package/dist/decorators/cookies.decorator.js +0 -9
  217. package/untitled folder/package/dist/decorators/custom-params.decorator.d.ts +0 -1
  218. package/untitled folder/package/dist/decorators/custom-params.decorator.js +0 -16
  219. package/untitled folder/package/dist/decorators/delete-columns.decorator.d.ts +0 -1
  220. package/untitled folder/package/dist/decorators/delete-columns.decorator.js +0 -33
  221. package/untitled folder/package/dist/decorators/index.d.ts +0 -8
  222. package/untitled folder/package/dist/decorators/index.js +0 -24
  223. package/untitled folder/package/dist/decorators/patch-body.decorator.d.ts +0 -1
  224. package/untitled folder/package/dist/decorators/patch-body.decorator.js +0 -38
  225. package/untitled folder/package/dist/decorators/soft-delete.decorator.d.ts +0 -1
  226. package/untitled folder/package/dist/decorators/soft-delete.decorator.js +0 -10
  227. package/untitled folder/package/dist/decorators/timestamps.decorator.d.ts +0 -6
  228. package/untitled folder/package/dist/decorators/timestamps.decorator.js +0 -23
  229. package/untitled folder/package/dist/decorators/user.decorator.d.ts +0 -1
  230. package/untitled folder/package/dist/decorators/user.decorator.js +0 -8
  231. package/untitled folder/package/dist/dto/auth-user-local.dto.d.ts +0 -4
  232. package/untitled folder/package/dist/dto/auth-user-local.dto.js +0 -26
  233. package/untitled folder/package/dist/dto/auth-user-sso.dto.d.ts +0 -3
  234. package/untitled folder/package/dist/dto/auth-user-sso.dto.js +0 -21
  235. package/untitled folder/package/dist/dto/custom-params.dto.d.ts +0 -7
  236. package/untitled folder/package/dist/dto/custom-params.dto.js +0 -46
  237. package/untitled folder/package/dist/dto/file.dto.d.ts +0 -18
  238. package/untitled folder/package/dist/dto/file.dto.js +0 -67
  239. package/untitled folder/package/dist/dto/index.d.ts +0 -10
  240. package/untitled folder/package/dist/dto/index.js +0 -26
  241. package/untitled folder/package/dist/dto/jwt-user.dto.d.ts +0 -6
  242. package/untitled folder/package/dist/dto/jwt-user.dto.js +0 -6
  243. package/untitled folder/package/dist/dto/pagination.dto.d.ts +0 -8
  244. package/untitled folder/package/dist/dto/pagination.dto.js +0 -36
  245. package/untitled folder/package/dist/dto/remove-ids.dto.d.ts +0 -3
  246. package/untitled folder/package/dist/dto/remove-ids.dto.js +0 -23
  247. package/untitled folder/package/dist/dto/response-access-token.dto.d.ts +0 -3
  248. package/untitled folder/package/dist/dto/response-access-token.dto.js +0 -24
  249. package/untitled folder/package/dist/dto/response-id.dto.d.ts +0 -8
  250. package/untitled folder/package/dist/dto/response-id.dto.js +0 -35
  251. package/untitled folder/package/dist/dto/response-uid.dto.d.ts +0 -6
  252. package/untitled folder/package/dist/dto/response-uid.dto.js +0 -27
  253. package/untitled folder/package/dist/dto/update-ids.dto.d.ts +0 -5
  254. package/untitled folder/package/dist/dto/update-ids.dto.js +0 -31
  255. package/untitled folder/package/dist/dto/update-sort.dto.d.ts +0 -9
  256. package/untitled folder/package/dist/dto/update-sort.dto.js +0 -50
  257. package/untitled folder/package/dist/enums.common.d.ts +0 -52
  258. package/untitled folder/package/dist/enums.common.js +0 -62
  259. package/untitled folder/package/dist/events/event-bus.module.d.ts +0 -2
  260. package/untitled folder/package/dist/events/event-bus.module.js +0 -44
  261. package/untitled folder/package/dist/events/index.d.ts +0 -4
  262. package/untitled folder/package/dist/events/index.js +0 -20
  263. package/untitled folder/package/dist/events/listeners/audit-event.listener.d.ts +0 -9
  264. package/untitled folder/package/dist/events/listeners/audit-event.listener.js +0 -58
  265. package/untitled folder/package/dist/events/listeners/index.d.ts +0 -1
  266. package/untitled folder/package/dist/events/listeners/index.js +0 -17
  267. package/untitled folder/package/dist/events/listeners/system-event.listener.d.ts +0 -9
  268. package/untitled folder/package/dist/events/listeners/system-event.listener.js +0 -58
  269. package/untitled folder/package/dist/events/services/event-logger.service.d.ts +0 -5
  270. package/untitled folder/package/dist/events/services/event-logger.service.js +0 -34
  271. package/untitled folder/package/dist/events/services/event-notification.service.d.ts +0 -6
  272. package/untitled folder/package/dist/events/services/event-notification.service.js +0 -74
  273. package/untitled folder/package/dist/events/services/event-storage.service.d.ts +0 -11
  274. package/untitled folder/package/dist/events/services/event-storage.service.js +0 -79
  275. package/untitled folder/package/dist/events/services/index.d.ts +0 -3
  276. package/untitled folder/package/dist/events/services/index.js +0 -19
  277. package/untitled folder/package/dist/events/types/audit-events.type.d.ts +0 -12
  278. package/untitled folder/package/dist/events/types/audit-events.type.js +0 -2
  279. package/untitled folder/package/dist/events/types/index.d.ts +0 -18
  280. package/untitled folder/package/dist/events/types/index.js +0 -17
  281. package/untitled folder/package/dist/filters/http-exception.filter.d.ts +0 -8
  282. package/untitled folder/package/dist/filters/http-exception.filter.js +0 -71
  283. package/untitled folder/package/dist/filters/index.d.ts +0 -1
  284. package/untitled folder/package/dist/filters/index.js +0 -17
  285. package/untitled folder/package/dist/guards/auth.guard.d.ts +0 -10
  286. package/untitled folder/package/dist/guards/auth.guard.js +0 -63
  287. package/untitled folder/package/dist/guards/jwt.guard.d.ts +0 -4
  288. package/untitled folder/package/dist/guards/jwt.guard.js +0 -17
  289. package/untitled folder/package/dist/index.d.ts +0 -16
  290. package/untitled folder/package/dist/index.js +0 -32
  291. package/untitled folder/package/dist/interceptors/error.interceptor.d.ts +0 -5
  292. package/untitled folder/package/dist/interceptors/error.interceptor.js +0 -26
  293. package/untitled folder/package/dist/interceptors/index.d.ts +0 -2
  294. package/untitled folder/package/dist/interceptors/index.js +0 -18
  295. package/untitled folder/package/dist/interceptors/success.interceptor.d.ts +0 -5
  296. package/untitled folder/package/dist/interceptors/success.interceptor.js +0 -30
  297. package/untitled folder/package/dist/library.module.d.ts +0 -2
  298. package/untitled folder/package/dist/library.module.js +0 -20
  299. package/untitled folder/package/dist/logger/index.d.ts +0 -2
  300. package/untitled folder/package/dist/logger/index.js +0 -18
  301. package/untitled folder/package/dist/logger/pino-options.d.ts +0 -31
  302. package/untitled folder/package/dist/logger/pino-options.js +0 -77
  303. package/untitled folder/package/dist/logger/pino-pretty-transport.d.ts +0 -1
  304. package/untitled folder/package/dist/logger/pino-pretty-transport.js +0 -155
  305. package/untitled folder/package/dist/modules/index.d.ts +0 -1
  306. package/untitled folder/package/dist/modules/index.js +0 -17
  307. package/untitled folder/package/dist/modules/redis.module.d.ts +0 -9
  308. package/untitled folder/package/dist/modules/redis.module.js +0 -60
  309. package/untitled folder/package/dist/notifications/index.d.ts +0 -53
  310. package/untitled folder/package/dist/notifications/index.js +0 -18
  311. package/untitled folder/package/dist/notifications/notification.module.d.ts +0 -2
  312. package/untitled folder/package/dist/notifications/notification.module.js +0 -36
  313. package/untitled folder/package/dist/notifications/services/email.service.d.ts +0 -7
  314. package/untitled folder/package/dist/notifications/services/email.service.js +0 -49
  315. package/untitled folder/package/dist/notifications/services/index.d.ts +0 -5
  316. package/untitled folder/package/dist/notifications/services/index.js +0 -21
  317. package/untitled folder/package/dist/notifications/services/kakao.service.d.ts +0 -8
  318. package/untitled folder/package/dist/notifications/services/kakao.service.js +0 -57
  319. package/untitled folder/package/dist/notifications/services/notification.service.d.ts +0 -15
  320. package/untitled folder/package/dist/notifications/services/notification.service.js +0 -83
  321. package/untitled folder/package/dist/notifications/services/slack.service.d.ts +0 -6
  322. package/untitled folder/package/dist/notifications/services/slack.service.js +0 -41
  323. package/untitled folder/package/dist/notifications/services/sms.service.d.ts +0 -6
  324. package/untitled folder/package/dist/notifications/services/sms.service.js +0 -41
  325. package/untitled folder/package/dist/passport/jwt.strategy.d.ts +0 -6
  326. package/untitled folder/package/dist/passport/jwt.strategy.js +0 -55
  327. package/untitled folder/package/dist/passport/kakao.strategy.d.ts +0 -12
  328. package/untitled folder/package/dist/passport/kakao.strategy.js +0 -36
  329. package/untitled folder/package/dist/passport/local.strategy.d.ts +0 -6
  330. package/untitled folder/package/dist/passport/local.strategy.js +0 -41
  331. package/untitled folder/package/dist/redis/index.d.ts +0 -2
  332. package/untitled folder/package/dist/redis/index.js +0 -18
  333. package/untitled folder/package/dist/redis/redis-constraint.d.ts +0 -1
  334. package/untitled folder/package/dist/redis/redis-constraint.js +0 -4
  335. package/untitled folder/package/dist/redis/redis.module.d.ts +0 -8
  336. package/untitled folder/package/dist/redis/redis.module.js +0 -62
  337. package/untitled folder/package/dist/redis/redis.service.d.ts +0 -12
  338. package/untitled folder/package/dist/redis/redis.service.js +0 -76
  339. package/untitled folder/package/dist/services/file.service.d.ts +0 -55
  340. package/untitled folder/package/dist/services/file.service.js +0 -76
  341. package/untitled folder/package/dist/services/index.d.ts +0 -2
  342. package/untitled folder/package/dist/services/index.js +0 -18
  343. package/untitled folder/package/dist/services/message-template.service.d.ts +0 -15
  344. package/untitled folder/package/dist/services/message-template.service.js +0 -74
  345. package/untitled folder/package/dist/services/permission-checker.service.d.ts +0 -38
  346. package/untitled folder/package/dist/services/permission-checker.service.js +0 -64
  347. package/untitled folder/package/dist/setup-swagger.d.ts +0 -9
  348. package/untitled folder/package/dist/setup-swagger.js +0 -32
  349. package/untitled folder/package/dist/utils/common.utils.d.ts +0 -5
  350. package/untitled folder/package/dist/utils/common.utils.js +0 -42
  351. package/untitled folder/package/dist/utils/enum.utils.d.ts +0 -1
  352. package/untitled folder/package/dist/utils/enum.utils.js +0 -8
  353. package/untitled folder/package/dist/utils/index.d.ts +0 -5
  354. package/untitled folder/package/dist/utils/index.js +0 -21
  355. package/untitled folder/package/dist/utils/object-diff.d.ts +0 -1
  356. package/untitled folder/package/dist/utils/object-diff.js +0 -30
  357. package/untitled folder/package/dist/utils/pagination-qb.utils.d.ts +0 -9
  358. package/untitled folder/package/dist/utils/pagination-qb.utils.js +0 -150
  359. package/untitled folder/package/dist/utils/pagination.utils.d.ts +0 -21
  360. package/untitled folder/package/dist/utils/pagination.utils.js +0 -32
  361. package/untitled folder/package/eslint.config.js +0 -31
  362. package/untitled folder/package/index.d.ts +0 -1
  363. package/untitled folder/package/index.js +0 -17
  364. package/untitled folder/package/jest.config.js +0 -11
  365. package/untitled folder/package/package.json +0 -86
  366. package/untitled folder/package/tsconfig.build.json +0 -19
  367. package/untitled folder/package/tsconfig.json +0 -18
@@ -1 +1,60 @@
1
- var e=this&&this.__decorate||function(e,t,r,i){var o,s=arguments.length,n=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,r,i);else for(var c=e.length-1;c>=0;c--)(o=e[c])&&(n=(s<3?o(n):s>3?o(t,r,n):o(t,r))||n);return s>3&&n&&Object.defineProperty(t,r,n),n},t=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(exports,"__esModule",{value:!0}),exports.AuthGuard=void 0;const r=require("@nestjs/common"),i=require("@nestjs/core"),o=require("../services/permission-checker.service");let s=class AuthGuard{constructor(e,t){this.reflector=e,this.permissionChecker=t}canActivate(e){const t=e.switchToHttp().getRequest(),i=t.user;if(!i)throw new r.UnauthorizedException("User not found");const o=this.reflector.getAllAndOverride("roles",[e.getHandler(),e.getClass()]);if(null==o?void 0:o.length){if(o.includes(i.role))return!0;throw t.audit={roles:o.join(","),user_role:i.role},new r.ForbiddenException("Insufficient role privileges")}const s=this.reflector.getAllAndOverride("permissions",[e.getHandler(),e.getClass()]);if(null==s?void 0:s.length){if(this.permissionChecker.hasAnyPermission(i,s))return!0;throw new r.ForbiddenException("Insufficient permissions")}return!0}};exports.AuthGuard=s,exports.AuthGuard=s=e([(0,r.Injectable)(),t("design:paramtypes",[i.Reflector,o.PermissionCheckerService])],s);
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
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.AuthGuard = void 0;
13
+ const common_1 = require("@nestjs/common");
14
+ const core_1 = require("@nestjs/core");
15
+ const permission_checker_service_1 = require("../services/permission-checker.service");
16
+ let AuthGuard = class AuthGuard {
17
+ constructor(reflector, permissionChecker) {
18
+ this.reflector = reflector;
19
+ this.permissionChecker = permissionChecker;
20
+ }
21
+ canActivate(ctx) {
22
+ const request = ctx.switchToHttp().getRequest();
23
+ const user = request.user;
24
+ if (!user) {
25
+ throw new common_1.UnauthorizedException('User not found');
26
+ }
27
+ const roles = this.reflector.getAllAndOverride('roles', [
28
+ ctx.getHandler(),
29
+ ctx.getClass(),
30
+ ]);
31
+ if (roles === null || roles === void 0 ? void 0 : roles.length) {
32
+ if (roles.includes(user.role)) {
33
+ return true;
34
+ }
35
+ else {
36
+ request.audit = {
37
+ roles: roles.join(','),
38
+ user_role: user.role,
39
+ };
40
+ throw new common_1.ForbiddenException('Insufficient role privileges');
41
+ }
42
+ }
43
+ const permissions = this.reflector.getAllAndOverride('permissions', [ctx.getHandler(), ctx.getClass()]);
44
+ if (permissions === null || permissions === void 0 ? void 0 : permissions.length) {
45
+ if (this.permissionChecker.hasAnyPermission(user, permissions)) {
46
+ return true;
47
+ }
48
+ else {
49
+ throw new common_1.ForbiddenException('Insufficient permissions');
50
+ }
51
+ }
52
+ return true;
53
+ }
54
+ };
55
+ exports.AuthGuard = AuthGuard;
56
+ exports.AuthGuard = AuthGuard = __decorate([
57
+ (0, common_1.Injectable)(),
58
+ __metadata("design:paramtypes", [core_1.Reflector,
59
+ permission_checker_service_1.PermissionCheckerService])
60
+ ], AuthGuard);
@@ -1 +1,17 @@
1
- var e=this&&this.__decorate||function(e,t,r,o){var s,u=arguments.length,c=u<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)c=Reflect.decorate(e,t,r,o);else for(var n=e.length-1;n>=0;n--)(s=e[n])&&(c=(u<3?s(c):u>3?s(t,r,c):s(t,r))||c);return u>3&&c&&Object.defineProperty(t,r,c),c};Object.defineProperty(exports,"__esModule",{value:!0}),exports.JwtAuthGuard=void 0;const t=require("@nestjs/common"),r=require("@nestjs/passport");let o=class JwtAuthGuard extends((0,r.AuthGuard)("jwt")){};exports.JwtAuthGuard=o,exports.JwtAuthGuard=o=e([(0,t.Injectable)()],o);
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.JwtAuthGuard = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ const passport_1 = require("@nestjs/passport");
12
+ let JwtAuthGuard = class JwtAuthGuard extends (0, passport_1.AuthGuard)('jwt') {
13
+ };
14
+ exports.JwtAuthGuard = JwtAuthGuard;
15
+ exports.JwtAuthGuard = JwtAuthGuard = __decorate([
16
+ (0, common_1.Injectable)()
17
+ ], JwtAuthGuard);
package/dist/index.js CHANGED
@@ -1 +1,36 @@
1
- var e=this&&this.__createBinding||(Object.create?function(e,r,t,o){void 0===o&&(o=t);var i=Object.getOwnPropertyDescriptor(r,t);i&&!("get"in i?!r.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return r[t]}}),Object.defineProperty(e,o,i)}:function(e,r,t,o){void 0===o&&(o=t),e[o]=r[t]}),r=this&&this.__exportStar||function(r,t){for(var o in r)"default"===o||Object.prototype.hasOwnProperty.call(t,o)||e(t,r,o)};Object.defineProperty(exports,"__esModule",{value:!0}),r(require("./enums.common"),exports),r(require("./decorators"),exports),r(require("./dto"),exports),r(require("./filters"),exports),r(require("./interceptors"),exports),r(require("./utils"),exports),r(require("./setup-swagger"),exports),r(require("./logger"),exports),r(require("./redis"),exports),r(require("./passport/jwt.strategy"),exports),r(require("./events"),exports),r(require("./notifications"),exports),r(require("./aws"),exports),r(require("./library.module"),exports),r(require("./category"),exports),r(require("./comment"),exports),r(require("./like"),exports),r(require("./role"),exports),r(require("./services"),exports),r(require("./logger"),exports);
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("./enums.common"), exports);
18
+ __exportStar(require("./decorators"), exports);
19
+ __exportStar(require("./dto"), exports);
20
+ __exportStar(require("./filters"), exports);
21
+ __exportStar(require("./interceptors"), exports);
22
+ __exportStar(require("./utils"), exports);
23
+ __exportStar(require("./setup-swagger"), exports);
24
+ __exportStar(require("./logger"), exports);
25
+ __exportStar(require("./redis"), exports);
26
+ __exportStar(require("./passport/jwt.strategy"), exports);
27
+ __exportStar(require("./events"), exports);
28
+ __exportStar(require("./notifications"), exports);
29
+ __exportStar(require("./aws"), exports);
30
+ __exportStar(require("./library.module"), exports);
31
+ __exportStar(require("./category"), exports);
32
+ __exportStar(require("./comment"), exports);
33
+ __exportStar(require("./like"), exports);
34
+ __exportStar(require("./role"), exports);
35
+ __exportStar(require("./services"), exports);
36
+ __exportStar(require("./logger"), exports);
@@ -1 +1,26 @@
1
- var r=this&&this.__decorate||function(r,e,t,o){var n,c=arguments.length,p=c<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,t):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)p=Reflect.decorate(r,e,t,o);else for(var s=r.length-1;s>=0;s--)(n=r[s])&&(p=(c<3?n(p):c>3?n(e,t,p):n(e,t))||p);return c>3&&p&&Object.defineProperty(e,t,p),p};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ErrorInterceptor=void 0;const e=require("@nestjs/common"),t=require("rxjs"),o=require("rxjs/operators");let n=class ErrorInterceptor{intercept(r,n){return n.handle().pipe((0,o.catchError)(r=>r instanceof e.NotFoundException?(0,t.throwError)(()=>r):(0,t.throwError)(()=>new e.InternalServerErrorException("An unexpected error occurred"))))}};exports.ErrorInterceptor=n,exports.ErrorInterceptor=n=r([(0,e.Injectable)()],n);
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.ErrorInterceptor = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ const rxjs_1 = require("rxjs");
12
+ const operators_1 = require("rxjs/operators");
13
+ let ErrorInterceptor = class ErrorInterceptor {
14
+ intercept(context, next) {
15
+ return next.handle().pipe((0, operators_1.catchError)((error) => {
16
+ if (error instanceof common_1.NotFoundException) {
17
+ return (0, rxjs_1.throwError)(() => error);
18
+ }
19
+ return (0, rxjs_1.throwError)(() => new common_1.InternalServerErrorException('An unexpected error occurred'));
20
+ }));
21
+ }
22
+ };
23
+ exports.ErrorInterceptor = ErrorInterceptor;
24
+ exports.ErrorInterceptor = ErrorInterceptor = __decorate([
25
+ (0, common_1.Injectable)()
26
+ ], ErrorInterceptor);
@@ -1 +1,18 @@
1
- var e=this&&this.__createBinding||(Object.create?function(e,r,t,o){void 0===o&&(o=t);var i=Object.getOwnPropertyDescriptor(r,t);i&&!("get"in i?!r.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return r[t]}}),Object.defineProperty(e,o,i)}:function(e,r,t,o){void 0===o&&(o=t),e[o]=r[t]}),r=this&&this.__exportStar||function(r,t){for(var o in r)"default"===o||Object.prototype.hasOwnProperty.call(t,o)||e(t,r,o)};Object.defineProperty(exports,"__esModule",{value:!0}),r(require("./error.interceptor"),exports),r(require("./success.interceptor"),exports);
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("./error.interceptor"), exports);
18
+ __exportStar(require("./success.interceptor"), exports);
@@ -1 +1,30 @@
1
- var e=this&&this.__decorate||function(e,t,r,c){var s,o=arguments.length,n=o<3?t:null===c?c=Object.getOwnPropertyDescriptor(t,r):c;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,r,c);else for(var p=e.length-1;p>=0;p--)(s=e[p])&&(n=(o<3?s(n):o>3?s(t,r,n):s(t,r))||n);return o>3&&n&&Object.defineProperty(t,r,n),n};Object.defineProperty(exports,"__esModule",{value:!0}),exports.SuccessInterceptor=void 0;const t=require("@nestjs/common"),r=require("rxjs/operators");let c=class SuccessInterceptor{intercept(e,t){return t.handle().pipe((0,r.map)(e=>e&&(e.access_token||e.refresh_token)?Object.assign({success:!0},e):{success:!0,data:e}))}};exports.SuccessInterceptor=c,exports.SuccessInterceptor=c=e([(0,t.Injectable)()],c);
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.SuccessInterceptor = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ const operators_1 = require("rxjs/operators");
12
+ let SuccessInterceptor = class SuccessInterceptor {
13
+ intercept(context, next) {
14
+ return next.handle().pipe((0, operators_1.map)((v) => {
15
+ if (v && (v.access_token || v.refresh_token)) {
16
+ return Object.assign({ success: true }, v);
17
+ }
18
+ else {
19
+ return {
20
+ success: true,
21
+ data: v,
22
+ };
23
+ }
24
+ }));
25
+ }
26
+ };
27
+ exports.SuccessInterceptor = SuccessInterceptor;
28
+ exports.SuccessInterceptor = SuccessInterceptor = __decorate([
29
+ (0, common_1.Injectable)()
30
+ ], SuccessInterceptor);
@@ -1 +1,20 @@
1
- var e=this&&this.__decorate||function(e,r,t,o){var l,c=arguments.length,s=c<3?r:null===o?o=Object.getOwnPropertyDescriptor(r,t):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,r,t,o);else for(var i=e.length-1;i>=0;i--)(l=e[i])&&(s=(c<3?l(s):c>3?l(r,t,s):l(r,t))||s);return c>3&&s&&Object.defineProperty(r,t,s),s};Object.defineProperty(exports,"__esModule",{value:!0}),exports.LibraryModule=void 0;const r=require("@nestjs/common");let t=class LibraryModule{};exports.LibraryModule=t,exports.LibraryModule=t=e([(0,r.Global)(),(0,r.Module)({providers:[],exports:[]})],t);
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.LibraryModule = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ let LibraryModule = class LibraryModule {
12
+ };
13
+ exports.LibraryModule = LibraryModule;
14
+ exports.LibraryModule = LibraryModule = __decorate([
15
+ (0, common_1.Global)(),
16
+ (0, common_1.Module)({
17
+ providers: [],
18
+ exports: [],
19
+ })
20
+ ], LibraryModule);
@@ -1 +1,47 @@
1
- var e=this&&this.__decorate||function(e,t,r,i){var o,a=arguments.length,s=a<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var p=e.length-1;p>=0;p--)(o=e[p])&&(s=(a<3?o(s):a>3?o(t,r,s):o(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s},t=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(exports,"__esModule",{value:!0}),exports.CreateLikeBaseDto=void 0;const r=require("@nestjs/swagger"),i=require("class-validator"),o=require("../../enums.common");class CreateLikeBaseDto{}exports.CreateLikeBaseDto=CreateLikeBaseDto,e([(0,r.ApiProperty)({type:Number,description:"Target ID",required:!1}),(0,i.IsNumber)(),(0,i.IsOptional)(),t("design:type",Number)],CreateLikeBaseDto.prototype,"target_id",void 0),e([(0,r.ApiProperty)({type:String,description:"Target UID",required:!1}),(0,i.IsString)(),(0,i.IsOptional)(),t("design:type",String)],CreateLikeBaseDto.prototype,"target_uid",void 0),e([(0,r.ApiProperty)({enum:o.LIKE_TYPE,description:"Like type",example:o.LIKE_TYPE.LIKE}),(0,i.IsEnum)(o.LIKE_TYPE),t("design:type",String)],CreateLikeBaseDto.prototype,"type",void 0);
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
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.CreateLikeBaseDto = void 0;
13
+ const swagger_1 = require("@nestjs/swagger");
14
+ const class_validator_1 = require("class-validator");
15
+ const enums_common_1 = require("../../enums.common");
16
+ class CreateLikeBaseDto {
17
+ }
18
+ exports.CreateLikeBaseDto = CreateLikeBaseDto;
19
+ __decorate([
20
+ (0, swagger_1.ApiProperty)({
21
+ type: Number,
22
+ description: 'Target ID',
23
+ required: false,
24
+ }),
25
+ (0, class_validator_1.IsNumber)(),
26
+ (0, class_validator_1.IsOptional)(),
27
+ __metadata("design:type", Number)
28
+ ], CreateLikeBaseDto.prototype, "target_id", void 0);
29
+ __decorate([
30
+ (0, swagger_1.ApiProperty)({
31
+ type: String,
32
+ description: 'Target UID',
33
+ required: false,
34
+ }),
35
+ (0, class_validator_1.IsString)(),
36
+ (0, class_validator_1.IsOptional)(),
37
+ __metadata("design:type", String)
38
+ ], CreateLikeBaseDto.prototype, "target_uid", void 0);
39
+ __decorate([
40
+ (0, swagger_1.ApiProperty)({
41
+ enum: enums_common_1.LIKE_TYPE,
42
+ description: 'Like type',
43
+ example: enums_common_1.LIKE_TYPE.LIKE,
44
+ }),
45
+ (0, class_validator_1.IsEnum)(enums_common_1.LIKE_TYPE),
46
+ __metadata("design:type", String)
47
+ ], CreateLikeBaseDto.prototype, "type", void 0);
@@ -1 +1,18 @@
1
- var e=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,i)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),t=this&&this.__exportStar||function(t,r){for(var o in t)"default"===o||Object.prototype.hasOwnProperty.call(r,o)||e(r,t,o)};Object.defineProperty(exports,"__esModule",{value:!0}),t(require("./create-like.dto"),exports),t(require("./response-like.dto"),exports);
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("./create-like.dto"), exports);
18
+ __exportStar(require("./response-like.dto"), exports);
@@ -1 +1,79 @@
1
- var e=this&&this.__decorate||function(e,t,o,s){var p,r=arguments.length,i=r<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,o):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,o,s);else for(var n=e.length-1;n>=0;n--)(p=e[n])&&(i=(r<3?p(i):r>3?p(t,o,i):p(t,o))||i);return r>3&&i&&Object.defineProperty(t,o,i),i},t=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ResponseLikeStatsBaseDto=exports.ResponseLikeBaseDto=void 0;const o=require("@nestjs/swagger"),s=require("class-transformer"),p=require("../../enums.common");class ResponseUserDto{}e([(0,o.ApiProperty)({type:String,example:"U0000001"}),(0,s.Expose)(),t("design:type",String)],ResponseUserDto.prototype,"uid",void 0),e([(0,o.ApiProperty)({type:String,example:"John Doe"}),(0,s.Expose)(),t("design:type",String)],ResponseUserDto.prototype,"name",void 0),e([(0,o.ApiProperty)({type:Number,example:1}),(0,s.Expose)(),t("design:type",Number)],ResponseUserDto.prototype,"cnt_likes",void 0);class ResponseLikeBaseDto{}exports.ResponseLikeBaseDto=ResponseLikeBaseDto,e([(0,o.ApiProperty)({type:Number,example:1}),(0,s.Expose)(),t("design:type",Number)],ResponseLikeBaseDto.prototype,"id",void 0),e([(0,o.ApiProperty)({enum:p.LIKE_TYPE,example:p.LIKE_TYPE.LIKE}),(0,s.Expose)(),t("design:type",String)],ResponseLikeBaseDto.prototype,"type",void 0),e([(0,o.ApiProperty)({type:ResponseUserDto}),(0,s.Expose)(),(0,s.Type)(()=>ResponseUserDto),t("design:type",ResponseUserDto)],ResponseLikeBaseDto.prototype,"user",void 0),e([(0,o.ApiProperty)({type:Date,example:"2023-01-01T00:00:00.000Z"}),(0,s.Expose)(),t("design:type",Date)],ResponseLikeBaseDto.prototype,"created_at",void 0),e([(0,o.ApiProperty)({type:Date,example:"2023-01-01T00:00:00.000Z"}),(0,s.Expose)(),t("design:type",Date)],ResponseLikeBaseDto.prototype,"updated_at",void 0);class ResponseLikeStatsBaseDto{}exports.ResponseLikeStatsBaseDto=ResponseLikeStatsBaseDto,e([(0,o.ApiProperty)({type:Number,example:10}),(0,s.Expose)(),t("design:type",Number)],ResponseLikeStatsBaseDto.prototype,"cnt_likes",void 0),e([(0,o.ApiProperty)({type:Number,example:2}),(0,s.Expose)(),t("design:type",Number)],ResponseLikeStatsBaseDto.prototype,"cnt_dislikes",void 0),e([(0,o.ApiProperty)({enum:p.LIKE_TYPE,example:p.LIKE_TYPE.LIKE,required:!1}),(0,s.Expose)(),t("design:type",String)],ResponseLikeStatsBaseDto.prototype,"user_like_type",void 0);
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
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ResponseLikeStatsBaseDto = exports.ResponseLikeBaseDto = void 0;
13
+ const swagger_1 = require("@nestjs/swagger");
14
+ const class_transformer_1 = require("class-transformer");
15
+ const enums_common_1 = require("../../enums.common");
16
+ class ResponseUserDto {
17
+ }
18
+ __decorate([
19
+ (0, swagger_1.ApiProperty)({ type: String, example: 'U0000001' }),
20
+ (0, class_transformer_1.Expose)(),
21
+ __metadata("design:type", String)
22
+ ], ResponseUserDto.prototype, "uid", void 0);
23
+ __decorate([
24
+ (0, swagger_1.ApiProperty)({ type: String, example: 'John Doe' }),
25
+ (0, class_transformer_1.Expose)(),
26
+ __metadata("design:type", String)
27
+ ], ResponseUserDto.prototype, "name", void 0);
28
+ __decorate([
29
+ (0, swagger_1.ApiProperty)({ type: Number, example: 1 }),
30
+ (0, class_transformer_1.Expose)(),
31
+ __metadata("design:type", Number)
32
+ ], ResponseUserDto.prototype, "cnt_likes", void 0);
33
+ class ResponseLikeBaseDto {
34
+ }
35
+ exports.ResponseLikeBaseDto = ResponseLikeBaseDto;
36
+ __decorate([
37
+ (0, swagger_1.ApiProperty)({ type: Number, example: 1 }),
38
+ (0, class_transformer_1.Expose)(),
39
+ __metadata("design:type", Number)
40
+ ], ResponseLikeBaseDto.prototype, "id", void 0);
41
+ __decorate([
42
+ (0, swagger_1.ApiProperty)({ enum: enums_common_1.LIKE_TYPE, example: enums_common_1.LIKE_TYPE.LIKE }),
43
+ (0, class_transformer_1.Expose)(),
44
+ __metadata("design:type", String)
45
+ ], ResponseLikeBaseDto.prototype, "type", void 0);
46
+ __decorate([
47
+ (0, swagger_1.ApiProperty)({ type: ResponseUserDto }),
48
+ (0, class_transformer_1.Expose)(),
49
+ (0, class_transformer_1.Type)(() => ResponseUserDto),
50
+ __metadata("design:type", ResponseUserDto)
51
+ ], ResponseLikeBaseDto.prototype, "user", void 0);
52
+ __decorate([
53
+ (0, swagger_1.ApiProperty)({ type: Date, example: '2023-01-01T00:00:00.000Z' }),
54
+ (0, class_transformer_1.Expose)(),
55
+ __metadata("design:type", Date)
56
+ ], ResponseLikeBaseDto.prototype, "created_at", void 0);
57
+ __decorate([
58
+ (0, swagger_1.ApiProperty)({ type: Date, example: '2023-01-01T00:00:00.000Z' }),
59
+ (0, class_transformer_1.Expose)(),
60
+ __metadata("design:type", Date)
61
+ ], ResponseLikeBaseDto.prototype, "updated_at", void 0);
62
+ class ResponseLikeStatsBaseDto {
63
+ }
64
+ exports.ResponseLikeStatsBaseDto = ResponseLikeStatsBaseDto;
65
+ __decorate([
66
+ (0, swagger_1.ApiProperty)({ type: Number, example: 10 }),
67
+ (0, class_transformer_1.Expose)(),
68
+ __metadata("design:type", Number)
69
+ ], ResponseLikeStatsBaseDto.prototype, "cnt_likes", void 0);
70
+ __decorate([
71
+ (0, swagger_1.ApiProperty)({ type: Number, example: 2 }),
72
+ (0, class_transformer_1.Expose)(),
73
+ __metadata("design:type", Number)
74
+ ], ResponseLikeStatsBaseDto.prototype, "cnt_dislikes", void 0);
75
+ __decorate([
76
+ (0, swagger_1.ApiProperty)({ enum: enums_common_1.LIKE_TYPE, example: enums_common_1.LIKE_TYPE.LIKE, required: false }),
77
+ (0, class_transformer_1.Expose)(),
78
+ __metadata("design:type", String)
79
+ ], ResponseLikeStatsBaseDto.prototype, "user_like_type", void 0);
@@ -1 +1,19 @@
1
- var e=this&&this.__createBinding||(Object.create?function(e,r,t,i){void 0===i&&(i=t);var o=Object.getOwnPropertyDescriptor(r,t);o&&!("get"in o?!r.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return r[t]}}),Object.defineProperty(e,i,o)}:function(e,r,t,i){void 0===i&&(i=t),e[i]=r[t]}),r=this&&this.__exportStar||function(r,t){for(var i in r)"default"===i||Object.prototype.hasOwnProperty.call(t,i)||e(t,r,i)};Object.defineProperty(exports,"__esModule",{value:!0}),r(require("./like.module"),exports),r(require("./like.service"),exports),r(require("./dto"),exports);
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("./like.module"), exports);
18
+ __exportStar(require("./like.service"), exports);
19
+ __exportStar(require("./dto"), exports);
@@ -1 +1,23 @@
1
- var e=this&&this.__decorate||function(e,r,t,o){var i,s=arguments.length,c=s<3?r:null===o?o=Object.getOwnPropertyDescriptor(r,t):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)c=Reflect.decorate(e,r,t,o);else for(var l=e.length-1;l>=0;l--)(i=e[l])&&(c=(s<3?i(c):s>3?i(r,t,c):i(r,t))||c);return s>3&&c&&Object.defineProperty(r,t,c),c};Object.defineProperty(exports,"__esModule",{value:!0}),exports.LikeModule=void 0;const r=require("@nestjs/common"),t=require("@nestjs/typeorm"),o=require("../database/entities"),i=require("./like.service");let s=class LikeModule{};exports.LikeModule=s,exports.LikeModule=s=e([(0,r.Module)({imports:[t.TypeOrmModule.forFeature([o.Like])],providers:[i.LikeService],exports:[i.LikeService]})],s);
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.LikeModule = 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 like_service_1 = require("./like.service");
14
+ let LikeModule = class LikeModule {
15
+ };
16
+ exports.LikeModule = LikeModule;
17
+ exports.LikeModule = LikeModule = __decorate([
18
+ (0, common_1.Module)({
19
+ imports: [typeorm_1.TypeOrmModule.forFeature([entities_1.Like])],
20
+ providers: [like_service_1.LikeService],
21
+ exports: [like_service_1.LikeService],
22
+ })
23
+ ], LikeModule);
@@ -1 +1,155 @@
1
- var e=this&&this.__decorate||function(e,t,i,r){var n,o=arguments.length,s=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,r);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,i,s):n(t,i))||s);return o>3&&s&&Object.defineProperty(t,i,s),s},t=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},i=this&&this.__param||function(e,t){return function(i,r){t(i,r,e)}},r=this&&this.__awaiter||function(e,t,i,r){return new(i||(i=Promise))(function(n,o){function fulfilled(e){try{step(r.next(e))}catch(e){o(e)}}function rejected(e){try{step(r.throw(e))}catch(e){o(e)}}function step(e){e.done?n(e.value):function adopt(e){return e instanceof i?e:new i(function(t){t(e)})}(e.value).then(fulfilled,rejected)}step((r=r.apply(e,t||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.LikeService=void 0;const n=require("@nestjs/common"),o=require("@nestjs/typeorm"),s=require("class-transformer"),a=require("typeorm"),d=require("../database/entities"),u=require("../enums.common"),c=require("./dto");let l=class LikeService{constructor(e,t){this.repository=e,this.dataSource=t}resolveTargetId(e,t,i){return r(this,void 0,void 0,function*(){if(t)return t;if(!i)throw new n.BadRequestException("Either target_id or target_uid is required");throw new n.BadRequestException("resolveTargetId must be implemented in app service")})}validateTarget(e,t){return r(this,void 0,void 0,function*(){throw new n.BadRequestException("validateTarget must be implemented in app service")})}updateTargetLikeCount(e,t,i,o){return r(this,void 0,void 0,function*(){throw new n.BadRequestException("updateTargetLikeCount must be implemented in app service")})}toggleLike(e,t){return r(this,void 0,void 0,function*(){const{target:i,target_id:n,target_uid:o,type:a}=t,l=yield this.resolveTargetId(i,n,o);yield this.validateTarget(i,l);const p=yield this.dataSource.transaction(t=>r(this,void 0,void 0,function*(){const r=yield t.findOne(d.Like,{where:{target:i,target_id:l,user_id:e}});if(r)if(r.type===a){yield t.update(d.Like,r.id,{type:u.LIKE_TYPE.NONE});const e=a===u.LIKE_TYPE.LIKE?-1:0;0!==e&&(yield this.updateTargetLikeCount(t,i,l,e))}else{yield t.update(d.Like,r.id,{type:a});const e=(r.type===u.LIKE_TYPE.LIKE?-1:0)+(a===u.LIKE_TYPE.LIKE?1:0);0!==e&&(yield this.updateTargetLikeCount(t,i,l,e))}else{yield t.save(d.Like,{target:i,target_id:l,user_id:e,type:a});const r=a===u.LIKE_TYPE.LIKE?1:0;0!==r&&(yield this.updateTargetLikeCount(t,i,l,r))}return yield t.findOne(d.Like,{where:{target:i,target_id:l,user_id:e}})}));return p?(0,s.plainToClass)(c.ResponseLikeBaseDto,p):null})}getStats(e,t,i,n){return r(this,void 0,void 0,function*(){const r=yield this.resolveTargetId(e,t,i);yield this.validateTarget(e,r);const o={cnt_likes:yield this.repository.count({where:{target:e,target_id:r,type:u.LIKE_TYPE.LIKE}}),cnt_dislikes:yield this.repository.count({where:{target:e,target_id:r,type:u.LIKE_TYPE.DISLIKE}})};if(n){const t=yield this.repository.findOne({where:{target:e,target_id:r,user_id:n}});t&&t.type!==u.LIKE_TYPE.NONE&&(o.user_like_type=t.type)}return(0,s.plainToClass)(c.ResponseLikeStatsBaseDto,o)})}};exports.LikeService=l,exports.LikeService=l=e([(0,n.Injectable)(),i(0,(0,o.InjectRepository)(d.Like)),t("design:paramtypes",[a.Repository,a.DataSource])],l);
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 __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
15
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
16
+ return new (P || (P = Promise))(function (resolve, reject) {
17
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
18
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
19
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
20
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
21
+ });
22
+ };
23
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ exports.LikeService = void 0;
25
+ const common_1 = require("@nestjs/common");
26
+ const typeorm_1 = require("@nestjs/typeorm");
27
+ const class_transformer_1 = require("class-transformer");
28
+ const typeorm_2 = require("typeorm");
29
+ const entities_1 = require("../database/entities");
30
+ const enums_common_1 = require("../enums.common");
31
+ const dto_1 = require("./dto");
32
+ let LikeService = class LikeService {
33
+ constructor(repository, dataSource) {
34
+ this.repository = repository;
35
+ this.dataSource = dataSource;
36
+ }
37
+ resolveTargetId(target, target_id, target_uid) {
38
+ return __awaiter(this, void 0, void 0, function* () {
39
+ if (target_id)
40
+ return target_id;
41
+ if (!target_uid) {
42
+ throw new common_1.BadRequestException('Either target_id or target_uid is required');
43
+ }
44
+ throw new common_1.BadRequestException('resolveTargetId must be implemented in app service');
45
+ });
46
+ }
47
+ validateTarget(target, target_id) {
48
+ return __awaiter(this, void 0, void 0, function* () {
49
+ throw new common_1.BadRequestException('validateTarget must be implemented in app service');
50
+ });
51
+ }
52
+ updateTargetLikeCount(manager, target, target_id, increment) {
53
+ return __awaiter(this, void 0, void 0, function* () {
54
+ throw new common_1.BadRequestException('updateTargetLikeCount must be implemented in app service');
55
+ });
56
+ }
57
+ toggleLike(user_id, _body) {
58
+ return __awaiter(this, void 0, void 0, function* () {
59
+ const { target, target_id, target_uid, type } = _body;
60
+ const resolved_target_id = yield this.resolveTargetId(target, target_id, target_uid);
61
+ yield this.validateTarget(target, resolved_target_id);
62
+ const finalLike = yield this.dataSource.transaction((manager) => __awaiter(this, void 0, void 0, function* () {
63
+ const existingLike = yield manager.findOne(entities_1.Like, {
64
+ where: {
65
+ target: target,
66
+ target_id: resolved_target_id,
67
+ user_id,
68
+ },
69
+ });
70
+ if (existingLike) {
71
+ if (existingLike.type === type) {
72
+ yield manager.update(entities_1.Like, existingLike.id, { type: enums_common_1.LIKE_TYPE.NONE });
73
+ const countChange = type === enums_common_1.LIKE_TYPE.LIKE ? -1 : 0;
74
+ if (countChange !== 0) {
75
+ yield this.updateTargetLikeCount(manager, target, resolved_target_id, countChange);
76
+ }
77
+ }
78
+ else {
79
+ yield manager.update(entities_1.Like, existingLike.id, { type });
80
+ const previousIncrement = existingLike.type === enums_common_1.LIKE_TYPE.LIKE ? -1 : 0;
81
+ const newIncrement = type === enums_common_1.LIKE_TYPE.LIKE ? 1 : 0;
82
+ const totalChange = previousIncrement + newIncrement;
83
+ if (totalChange !== 0) {
84
+ yield this.updateTargetLikeCount(manager, target, resolved_target_id, totalChange);
85
+ }
86
+ }
87
+ }
88
+ else {
89
+ yield manager.save(entities_1.Like, {
90
+ target: target,
91
+ target_id: resolved_target_id,
92
+ user_id,
93
+ type,
94
+ });
95
+ const countChange = type === enums_common_1.LIKE_TYPE.LIKE ? 1 : 0;
96
+ if (countChange !== 0) {
97
+ yield this.updateTargetLikeCount(manager, target, resolved_target_id, countChange);
98
+ }
99
+ }
100
+ return yield manager.findOne(entities_1.Like, {
101
+ where: {
102
+ target: target,
103
+ target_id: resolved_target_id,
104
+ user_id,
105
+ },
106
+ });
107
+ }));
108
+ return finalLike ? (0, class_transformer_1.plainToClass)(dto_1.ResponseLikeBaseDto, finalLike) : null;
109
+ });
110
+ }
111
+ getStats(target, target_id, target_uid, user_id) {
112
+ return __awaiter(this, void 0, void 0, function* () {
113
+ const resolved_target_id = yield this.resolveTargetId(target, target_id, target_uid);
114
+ yield this.validateTarget(target, resolved_target_id);
115
+ const likeCount = yield this.repository.count({
116
+ where: {
117
+ target: target,
118
+ target_id: resolved_target_id,
119
+ type: enums_common_1.LIKE_TYPE.LIKE,
120
+ },
121
+ });
122
+ const dislikeCount = yield this.repository.count({
123
+ where: {
124
+ target: target,
125
+ target_id: resolved_target_id,
126
+ type: enums_common_1.LIKE_TYPE.DISLIKE,
127
+ },
128
+ });
129
+ const stats = {
130
+ cnt_likes: likeCount,
131
+ cnt_dislikes: dislikeCount,
132
+ };
133
+ if (user_id) {
134
+ const userLike = yield this.repository.findOne({
135
+ where: {
136
+ target: target,
137
+ target_id: resolved_target_id,
138
+ user_id,
139
+ },
140
+ });
141
+ if (userLike && userLike.type !== enums_common_1.LIKE_TYPE.NONE) {
142
+ stats.user_like_type = userLike.type;
143
+ }
144
+ }
145
+ return (0, class_transformer_1.plainToClass)(dto_1.ResponseLikeStatsBaseDto, stats);
146
+ });
147
+ }
148
+ };
149
+ exports.LikeService = LikeService;
150
+ exports.LikeService = LikeService = __decorate([
151
+ (0, common_1.Injectable)(),
152
+ __param(0, (0, typeorm_1.InjectRepository)(entities_1.Like)),
153
+ __metadata("design:paramtypes", [typeorm_2.Repository,
154
+ typeorm_2.DataSource])
155
+ ], LikeService);
@@ -1 +1,18 @@
1
- var e=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,i)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),t=this&&this.__exportStar||function(t,r){for(var o in t)"default"===o||Object.prototype.hasOwnProperty.call(r,o)||e(r,t,o)};Object.defineProperty(exports,"__esModule",{value:!0}),t(require("./pino-options"),exports),t(require("./pino-pretty-transport"),exports);
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("./pino-options"), exports);
18
+ __exportStar(require("./pino-pretty-transport"), exports);