@comasoft/nestjs 0.0.97 → 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
@@ -1,32 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.setupSwagger = setupSwagger;
4
- const swagger_1 = require("@nestjs/swagger");
5
- function setupSwagger(app, config) {
6
- const swaggerConfig = new swagger_1.DocumentBuilder()
7
- .setTitle(config.title)
8
- .setDescription(config.description)
9
- .setVersion(config.version)
10
- .addBearerAuth({
11
- type: 'http',
12
- bearerFormat: 'Bearer',
13
- scheme: 'Bearer',
14
- name: 'Authorization',
15
- in: 'header',
16
- }, 'access_token')
17
- .addCookieAuth('refresh_token', {
18
- type: 'apiKey',
19
- in: 'cookie',
20
- name: 'refresh_token',
21
- })
22
- .build();
23
- const document = swagger_1.SwaggerModule.createDocument(app, swaggerConfig);
24
- swagger_1.SwaggerModule.setup(config.uri, app, document, {
25
- swaggerOptions: {
26
- persistAuthorization: true,
27
- defaultModelsExpandDepth: -1,
28
- defaultModelExpandDepth: -1,
29
- docExpansion: 'none',
30
- },
31
- });
32
- }
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.setupSwagger=function setupSwagger(t,r){const o=(new e.DocumentBuilder).setTitle(r.title).setDescription(r.description).setVersion(r.version).addBearerAuth({type:"http",bearerFormat:"Bearer",scheme:"Bearer",name:"Authorization",in:"header"},"access_token").addCookieAuth("refresh_token",{type:"apiKey",in:"cookie",name:"refresh_token"}).build(),n=e.SwaggerModule.createDocument(t,o);e.SwaggerModule.setup(r.uri,t,n,{swaggerOptions:{persistAuthorization:!0,defaultModelsExpandDepth:-1,defaultModelExpandDepth:-1,docExpansion:"none"}})};const e=require("@nestjs/swagger");
@@ -0,0 +1,5 @@
1
+ export declare enum ErrorCode {
2
+ ROLE_HAS_ASSIGNED_USERS = "ROLE_HAS_ASSIGNED_USERS",
3
+ ROLE_COUNT_LIMIT = "ROLE_COUNT_LIMIT",
4
+ CATEGORY_NAME_ALREADY_EXISTS = "CATEGORY_NAME_ALREADY_EXISTS"
5
+ }
@@ -0,0 +1 @@
1
+ var E;Object.defineProperty(exports,"__esModule",{value:!0}),exports.ErrorCode=void 0,function(E){E.ROLE_HAS_ASSIGNED_USERS="ROLE_HAS_ASSIGNED_USERS",E.ROLE_COUNT_LIMIT="ROLE_COUNT_LIMIT",E.CATEGORY_NAME_ALREADY_EXISTS="CATEGORY_NAME_ALREADY_EXISTS"}(E||(exports.ErrorCode=E={}));
@@ -1,3 +1,5 @@
1
1
  export declare const generateOrderId: () => string;
2
2
  export declare const convertExpirationToSeconds: (expiration: string) => number;
3
+ export declare function isSameArray(a: number[], b: number[]): boolean;
3
4
  export declare const _randomRange: (min: number, max: number) => number;
5
+ export declare const _sleep: (time: number) => Promise<unknown>;
@@ -1,32 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports._randomRange = exports.convertExpirationToSeconds = exports.generateOrderId = void 0;
4
- const date_fns_1 = require("date-fns");
5
- const generateOrderId = () => {
6
- const date_part = (0, date_fns_1.format)(new Date(), 'yyMMdd');
7
- const full_timestamp = Date.now().toString();
8
- const short_timestamp = full_timestamp.slice(-7);
9
- return `${date_part}-${short_timestamp}`;
10
- };
11
- exports.generateOrderId = generateOrderId;
12
- const convertExpirationToSeconds = (expiration) => {
13
- const unit = expiration.slice(-1);
14
- const value = parseInt(expiration.slice(0, -1), 10);
15
- switch (unit) {
16
- case 'd':
17
- return value * 24 * 60 * 60;
18
- case 'h':
19
- return value * 60 * 60;
20
- case 'm':
21
- return value * 60;
22
- case 's':
23
- return value;
24
- default:
25
- throw new Error('Invalid expiration format');
26
- }
27
- };
28
- exports.convertExpirationToSeconds = convertExpirationToSeconds;
29
- const _randomRange = (min, max) => {
30
- return Math.floor(min + Math.random() * (max - min + 1));
31
- };
32
- exports._randomRange = _randomRange;
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports._sleep=exports._randomRange=exports.convertExpirationToSeconds=exports.generateOrderId=void 0,exports.isSameArray=function isSameArray(e,r){if(e.length!==r.length)return!1;const t=[...e].sort(),o=[...r].sort();return t.every((e,r)=>e===o[r])};const e=require("date-fns");exports.generateOrderId=()=>`${(0,e.format)(new Date,"yyMMdd")}-${Date.now().toString().slice(-7)}`;exports.convertExpirationToSeconds=e=>{const r=e.slice(-1),t=parseInt(e.slice(0,-1),10);switch(r){case"d":return 24*t*60*60;case"h":return 60*t*60;case"m":return 60*t;case"s":return t;default:throw new Error("Invalid expiration format")}};exports._randomRange=(e,r)=>Math.floor(e+Math.random()*(r-e+1));exports._sleep=e=>new Promise(r=>setTimeout(r,e));
@@ -1,8 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.valueToEnum = void 0;
4
- const valueToEnum = (enumObj, value) => {
5
- const enumKey = Object.keys(enumObj).find((key) => enumObj[key] === value);
6
- return enumKey ? enumObj[enumKey] : undefined;
7
- };
8
- exports.valueToEnum = valueToEnum;
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.valueToEnum=void 0;exports.valueToEnum=(e,o)=>{const t=Object.keys(e).find(t=>e[t]===o);return t?e[t]:void 0};
@@ -1,4 +1,5 @@
1
1
  export * from './common.utils';
2
+ export * from './object-diff';
2
3
  export * from './enum.utils';
3
4
  export * from './pagination.utils';
4
5
  export * from './pagination-qb.utils';
@@ -1,20 +1 @@
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("./common.utils"), exports);
18
- __exportStar(require("./enum.utils"), exports);
19
- __exportStar(require("./pagination.utils"), exports);
20
- __exportStar(require("./pagination-qb.utils"), exports);
1
+ var e=this&&this.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=r);var o=Object.getOwnPropertyDescriptor(t,r);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,o)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),t=this&&this.__exportStar||function(t,r){for(var i in t)"default"===i||Object.prototype.hasOwnProperty.call(r,i)||e(r,t,i)};Object.defineProperty(exports,"__esModule",{value:!0}),t(require("./common.utils"),exports),t(require("./object-diff"),exports),t(require("./enum.utils"),exports),t(require("./pagination.utils"),exports),t(require("./pagination-qb.utils"),exports);
@@ -0,0 +1 @@
1
+ export declare function getObjectDiff(before: any, after: any, sensitiveFields?: string[]): Record<string, any>;
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.getObjectDiff=function getObjectDiff(e,t,l=[]){const n={};return new Set([...Object.keys(e||{}),...Object.keys(t||{})]).forEach(f=>{if(l.includes(f))return;const o=null==e?void 0:e[f],c=null==t?void 0:t[f];if(null!=o||null!=c)if("object"==typeof o&&null!==o&&"object"==typeof c&&null!==c){const e=getObjectDiff(o,c,l);Object.keys(e).length>0&&(n[f]=e)}else o!==c&&(n[f]={before:o,after:c})}),n};
@@ -1,154 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.applyFiltersAndSorting = applyFiltersAndSorting;
4
- function applyFiltersAndSorting(queryBuilder, options) {
5
- const { _keyword, _group, _sort, aliasName = 'a', keywordFields = ['name'], groupFields = [], } = options;
6
- applyKeywordFilter(queryBuilder, _keyword, aliasName, keywordFields);
7
- applyGroupFilter(queryBuilder, _group, aliasName, groupFields);
8
- applySorting(queryBuilder, _sort, aliasName);
9
- return queryBuilder;
10
- }
11
- function applyKeywordFilter(queryBuilder, keyword, aliasName, keywordFields) {
12
- if (keyword) {
13
- const keywordConditions = keywordFields.map((field) => `${aliasName}.${field} LIKE :keyword`);
14
- queryBuilder.andWhere(`(${keywordConditions.join(' OR ')})`, {
15
- keyword: `%${keyword}%`,
16
- });
17
- }
18
- }
19
- function validateAndParseDate(dateStr) {
20
- if (!/^\d{8}T\d{6}Z$/.test(dateStr)) {
21
- throw new Error('Invalid date format. Use YYYYMMDDTHHMMSSZ (e.g., 20250122T150000Z)');
22
- }
23
- const year = dateStr.substring(0, 4);
24
- const month = dateStr.substring(4, 6);
25
- const day = dateStr.substring(6, 8);
26
- const hour = dateStr.substring(9, 11);
27
- const minute = dateStr.substring(11, 13);
28
- const second = dateStr.substring(13, 15);
29
- const isoString = `${year}-${month}-${day}T${hour}:${minute}:${second}Z`;
30
- const date = new Date(isoString);
31
- if (isNaN(date.getTime())) {
32
- throw new Error('Invalid date');
33
- }
34
- return date;
35
- }
36
- const filterHandlers = {
37
- handleEquals(field, value, index) {
38
- return {
39
- condition: `${field} = :${field}${index}`,
40
- parameters: { [`${field}${index}`]: value },
41
- };
42
- },
43
- handleNumberRange(field, value, index) {
44
- const [minValue, maxValue] = value
45
- .split('__')
46
- .map((v) => (v === '' ? null : Number(v)));
47
- const conditions = [];
48
- const parameters = {};
49
- if (minValue !== null && maxValue !== null) {
50
- conditions.push(`${field} BETWEEN :${field}Min${index} AND :${field}Max${index}`);
51
- parameters[`${field}Min${index}`] = minValue;
52
- parameters[`${field}Max${index}`] = maxValue;
53
- }
54
- else if (minValue !== null) {
55
- conditions.push(`${field} >= :${field}Min${index}`);
56
- parameters[`${field}Min${index}`] = minValue;
57
- }
58
- else if (maxValue !== null) {
59
- conditions.push(`${field} <= :${field}Max${index}`);
60
- parameters[`${field}Max${index}`] = maxValue;
61
- }
62
- return {
63
- condition: conditions.join(' AND '),
64
- parameters,
65
- };
66
- },
67
- handleDateRange(field, value, index) {
68
- const [minValue, maxValue] = value
69
- .split('__')
70
- .map((v) => (v === '' ? null : v));
71
- const conditions = [];
72
- const parameters = {};
73
- if (minValue !== null && maxValue !== null) {
74
- conditions.push(`${field} BETWEEN :${field}Min${index} AND :${field}Max${index}`);
75
- parameters[`${field}Min${index}`] = validateAndParseDate(minValue);
76
- parameters[`${field}Max${index}`] = validateAndParseDate(maxValue);
77
- }
78
- else if (minValue !== null) {
79
- conditions.push(`${field} >= :${field}Min${index}`);
80
- parameters[`${field}Min${index}`] = validateAndParseDate(minValue);
81
- }
82
- else if (maxValue !== null) {
83
- conditions.push(`${field} <= :${field}Max${index}`);
84
- parameters[`${field}Max${index}`] = validateAndParseDate(maxValue);
85
- }
86
- return {
87
- condition: conditions.join(' AND '),
88
- parameters,
89
- };
90
- },
91
- };
92
- function applyGroupFilter(queryBuilder, group, aliasName, groupFields) {
93
- if (!group)
94
- return;
95
- if (groupFields.length === 0)
96
- return;
97
- const groups = group.split('|');
98
- const hasInvalidField = groups.some((g) => {
99
- const [field] = g.split('-');
100
- return !groupFields.includes(field);
101
- });
102
- if (hasInvalidField) {
103
- throw new Error('Invalid field detected in group filter');
104
- }
105
- const allConditions = [];
106
- const allParameters = {};
107
- groups.forEach((g, index) => {
108
- const [field, value] = g.split(/-(.+)/);
109
- const fullField = field.includes('.') ? field : `${aliasName}.${field}`;
110
- let handler;
111
- if (value.includes('__')) {
112
- if (field.includes('_at') || field.includes('_date')) {
113
- handler = filterHandlers.handleDateRange(fullField, value, index);
114
- }
115
- else {
116
- handler = filterHandlers.handleNumberRange(fullField, value, index);
117
- }
118
- }
119
- else {
120
- handler = filterHandlers.handleEquals(fullField, value, index);
121
- }
122
- if (handler.condition) {
123
- allConditions.push(handler.condition);
124
- Object.assign(allParameters, handler.parameters);
125
- }
126
- });
127
- if (allConditions.length > 0) {
128
- queryBuilder.andWhere(`(${allConditions.join(' AND ')})`, allParameters);
129
- }
130
- }
131
- function applySorting(queryBuilder, sort, aliasName) {
132
- if (sort) {
133
- const sorts = sort.split('|');
134
- sorts.forEach((s, index) => {
135
- const [field, order] = s.split('-');
136
- const normalizedOrder = order.toUpperCase();
137
- if (normalizedOrder !== 'ASC' && normalizedOrder !== 'DESC') {
138
- throw new Error(`Invalid sort order: ${order}`);
139
- }
140
- if (index === 0) {
141
- queryBuilder.orderBy(`${aliasName}.${field}`, normalizedOrder);
142
- }
143
- else {
144
- queryBuilder.addOrderBy(`${aliasName}.${field}`, normalizedOrder);
145
- }
146
- });
147
- }
148
- else {
149
- const hasExistingOrderBy = Object.keys(queryBuilder.expressionMap.orderBys).length > 0;
150
- if (!hasExistingOrderBy) {
151
- queryBuilder.orderBy(`${aliasName}.id`, 'DESC');
152
- }
153
- }
154
- }
1
+ function validateAndParseDate(e){if(!/^\d{8}T\d{6}Z$/.test(e))throw new Error("Invalid date format. Use YYYYMMDDTHHMMSSZ (e.g., 20250122T150000Z)");const n=e.substring(0,4),t=e.substring(4,6),r=e.substring(6,8),a=e.substring(9,11),i=e.substring(11,13),s=e.substring(13,15),l=new Date(`${n}-${t}-${r}T${a}:${i}:${s}Z`);if(isNaN(l.getTime()))throw new Error("Invalid date");return l}Object.defineProperty(exports,"__esModule",{value:!0}),exports.applyFiltersAndSorting=function applyFiltersAndSorting(n,t){const{_keyword:r,_group:a,_sort:i,aliasName:s="a",keywordFields:l=["name"],groupFields:o=[]}=t;return function applyKeywordFilter(e,n,t,r){if(n){const a=r.map(e=>`${t}.${e} LIKE :keyword`);e.andWhere(`(${a.join(" OR ")})`,{keyword:`%${n}%`})}}(n,r,s,l),function applyGroupFilter(n,t,r,a){if(!t)return;if(0===a.length)return;const i=t.split("|");if(i.some(e=>{const[n]=e.split("-");return!a.includes(n)}))throw new Error("Invalid field detected in group filter");const s=[],l={};i.forEach((n,t)=>{const[a,i]=n.split(/-(.+)/),o=a.includes(".")?a:`${r}.${a}`;let $;$=i.includes("__")?a.includes("_at")||a.includes("_date")?e.handleDateRange(o,i,t):e.handleNumberRange(o,i,t):e.handleEquals(o,i,t),$.condition&&(s.push($.condition),Object.assign(l,$.parameters))}),s.length>0&&n.andWhere(`(${s.join(" AND ")})`,l)}(n,a,s,o),function applySorting(e,n,t){if(n){n.split("|").forEach((n,r)=>{const[a,i]=n.split("-"),s=i.toUpperCase();if("ASC"!==s&&"DESC"!==s)throw new Error(`Invalid sort order: ${i}`);0===r?e.orderBy(`${t}.${a}`,s):e.addOrderBy(`${t}.${a}`,s)})}else{Object.keys(e.expressionMap.orderBys).length>0||e.orderBy(`${t}.id`,"DESC")}}(n,i,s),n};const e={handleEquals:(e,n,t)=>({condition:`${e} = :${e}${t}`,parameters:{[`${e}${t}`]:n}}),handleNumberRange(e,n,t){const[r,a]=n.split("__").map(e=>""===e?null:Number(e)),i=[],s={};return null!==r&&null!==a?(i.push(`${e} BETWEEN :${e}Min${t} AND :${e}Max${t}`),s[`${e}Min${t}`]=r,s[`${e}Max${t}`]=a):null!==r?(i.push(`${e} >= :${e}Min${t}`),s[`${e}Min${t}`]=r):null!==a&&(i.push(`${e} <= :${e}Max${t}`),s[`${e}Max${t}`]=a),{condition:i.join(" AND "),parameters:s}},handleDateRange(e,n,t){const[r,a]=n.split("__").map(e=>""===e?null:e),i=[],s={};return null!==r&&null!==a?(i.push(`${e} BETWEEN :${e}Min${t} AND :${e}Max${t}`),s[`${e}Min${t}`]=validateAndParseDate(r),s[`${e}Max${t}`]=validateAndParseDate(a)):null!==r?(i.push(`${e} >= :${e}Min${t}`),s[`${e}Min${t}`]=validateAndParseDate(r)):null!==a&&(i.push(`${e} <= :${e}Max${t}`),s[`${e}Max${t}`]=validateAndParseDate(a)),{condition:i.join(" AND "),parameters:s}}};
@@ -1,32 +1 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.paginate = paginate;
13
- function paginate(queryBuilder, options) {
14
- return __awaiter(this, void 0, void 0, function* () {
15
- const { page, limit } = options;
16
- const [items, total] = yield queryBuilder
17
- .skip((page - 1) * limit)
18
- .take(limit)
19
- .getManyAndCount();
20
- const totalPages = Math.ceil(total / limit);
21
- return {
22
- items,
23
- pagination: {
24
- page,
25
- limit,
26
- count: items.length,
27
- count_total: total,
28
- count_page: totalPages,
29
- },
30
- };
31
- });
32
- }
1
+ var t=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))(function(o,a){function fulfilled(t){try{step(i.next(t))}catch(t){a(t)}}function rejected(t){try{step(i.throw(t))}catch(t){a(t)}}function step(t){t.done?o(t.value):function adopt(t){return t instanceof n?t:new n(function(e){e(t)})}(t.value).then(fulfilled,rejected)}step((i=i.apply(t,e||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.paginate=function paginate(e,n){return t(this,void 0,void 0,function*(){const{page:t,limit:i}=n,[o,a]=yield e.skip((t-1)*i).take(i).getManyAndCount(),u=Math.ceil(a/i);return{items:o,pagination:{page:t,limit:i,count:o.length,count_total:a,count_page:u}}})};
package/jest.config.js ADDED
@@ -0,0 +1,11 @@
1
+ module.exports = {
2
+ preset: 'ts-jest',
3
+ testEnvironment: 'node',
4
+ moduleFileExtensions: ['ts', 'js', 'json'],
5
+ testMatch: ['**/*.spec.ts'],
6
+ transform: {
7
+ '^.+\\.ts$': 'ts-jest',
8
+ },
9
+ // 필요시 아래 옵션 추가
10
+ // transformIgnorePatterns: ['/node_modules/(?!패키지명)'],
11
+ };
@@ -0,0 +1,2 @@
1
+ export * from './create-s3-presigned.dto';
2
+ export * from './response-s3-presigned.dto';
@@ -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("./create-s3-presigned.dto"), exports);
18
+ __exportStar(require("./response-s3-presigned.dto"), exports);
@@ -0,0 +1,4 @@
1
+ export * from './aws.module';
2
+ export * from './aws.service';
3
+ export * from './aws-s3.service';
4
+ export * from './dto';
@@ -0,0 +1,20 @@
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("./aws.module"), exports);
18
+ __exportStar(require("./aws.service"), exports);
19
+ __exportStar(require("./aws-s3.service"), exports);
20
+ __exportStar(require("./dto"), exports);
@@ -0,0 +1,7 @@
1
+ export * from './logs-audit.entity';
2
+ export * from './logs-event.entity';
3
+ export * from './file.entity';
4
+ export * from './config.entity';
5
+ export * from './category.entity';
6
+ export * from './like.entity';
7
+ export * from './notification.entity';
@@ -0,0 +1,23 @@
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("./logs-audit.entity"), exports);
18
+ __exportStar(require("./logs-event.entity"), exports);
19
+ __exportStar(require("./file.entity"), exports);
20
+ __exportStar(require("./config.entity"), exports);
21
+ __exportStar(require("./category.entity"), exports);
22
+ __exportStar(require("./like.entity"), exports);
23
+ __exportStar(require("./notification.entity"), exports);
@@ -0,0 +1,8 @@
1
+ export * from './custom-params.decorator';
2
+ export * from './api-custom-params.decorator';
3
+ export * from './patch-body.decorator';
4
+ export * from './user.decorator';
5
+ export * from './auth.decorator.factory';
6
+ export * from './cookies.decorator';
7
+ export * from './timestamps.decorator';
8
+ export * from './soft-delete.decorator';
@@ -0,0 +1,24 @@
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("./custom-params.decorator"), exports);
18
+ __exportStar(require("./api-custom-params.decorator"), exports);
19
+ __exportStar(require("./patch-body.decorator"), exports);
20
+ __exportStar(require("./user.decorator"), exports);
21
+ __exportStar(require("./auth.decorator.factory"), exports);
22
+ __exportStar(require("./cookies.decorator"), exports);
23
+ __exportStar(require("./timestamps.decorator"), exports);
24
+ __exportStar(require("./soft-delete.decorator"), exports);
@@ -0,0 +1,10 @@
1
+ export * from './auth-user-local.dto';
2
+ export * from './pagination.dto';
3
+ export * from './response-id.dto';
4
+ export * from './response-uid.dto';
5
+ export * from './response-access-token.dto';
6
+ export * from './custom-params.dto';
7
+ export * from './update-ids.dto';
8
+ export * from './update-sort.dto';
9
+ export * from './remove-ids.dto';
10
+ export * from './file.dto';
@@ -0,0 +1,26 @@
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("./auth-user-local.dto"), exports);
18
+ __exportStar(require("./pagination.dto"), exports);
19
+ __exportStar(require("./response-id.dto"), exports);
20
+ __exportStar(require("./response-uid.dto"), exports);
21
+ __exportStar(require("./response-access-token.dto"), exports);
22
+ __exportStar(require("./custom-params.dto"), exports);
23
+ __exportStar(require("./update-ids.dto"), exports);
24
+ __exportStar(require("./update-sort.dto"), exports);
25
+ __exportStar(require("./remove-ids.dto"), exports);
26
+ __exportStar(require("./file.dto"), exports);
@@ -0,0 +1,4 @@
1
+ export * from './types';
2
+ export * from './services';
3
+ export * from './listeners';
4
+ export * from './event-bus.module';
@@ -0,0 +1,20 @@
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("./types"), exports);
18
+ __exportStar(require("./services"), exports);
19
+ __exportStar(require("./listeners"), exports);
20
+ __exportStar(require("./event-bus.module"), exports);
@@ -0,0 +1 @@
1
+ export * from './audit-event.listener';
@@ -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("./audit-event.listener"), exports);
@@ -0,0 +1,3 @@
1
+ export * from './event-logger.service';
2
+ export * from './event-storage.service';
3
+ export * from './event-notification.service';
@@ -0,0 +1,19 @@
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("./event-logger.service"), exports);
18
+ __exportStar(require("./event-storage.service"), exports);
19
+ __exportStar(require("./event-notification.service"), exports);
@@ -0,0 +1,18 @@
1
+ import { NotificationOptions } from '../../notifications';
2
+ export interface UserEvent {
3
+ user_id?: number;
4
+ ip_address?: string;
5
+ user_agent?: string;
6
+ }
7
+ export interface BaseEvent {
8
+ readonly uid?: string;
9
+ readonly name: string;
10
+ readonly user?: UserEvent;
11
+ readonly timestamp?: Date;
12
+ readonly notification?: NotificationOptions;
13
+ readonly db?: boolean;
14
+ readonly log?: boolean;
15
+ readonly before?: Record<string, any>;
16
+ readonly after?: Record<string, any>;
17
+ }
18
+ export * from './audit-events.type';
@@ -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("./audit-events.type"), exports);
@@ -0,0 +1 @@
1
+ export * from './http-exception.filter';
@@ -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("./http-exception.filter"), exports);