openloops 0.1.8 → 0.1.10

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 (296) hide show
  1. package/dist/chunk-XRJFNASX.mjs +14 -0
  2. package/dist/common/clients/index.js +26 -0
  3. package/dist/common/clients/index.mjs +3 -0
  4. package/dist/common/clients/llm-client.js +159 -0
  5. package/dist/common/clients/llm-client.mjs +126 -0
  6. package/dist/common/clients/sentry-client.js +87 -0
  7. package/dist/common/clients/sentry-client.mjs +53 -0
  8. package/dist/common/clients/serper-client.js +74 -0
  9. package/dist/common/clients/serper-client.mjs +41 -0
  10. package/dist/common/core/base.app.js +57 -0
  11. package/dist/common/core/base.app.mjs +34 -0
  12. package/dist/common/core/base.entity.js +208 -0
  13. package/dist/common/core/base.entity.mjs +179 -0
  14. package/dist/common/core/base.use-case.js +30 -0
  15. package/dist/common/core/base.use-case.mjs +7 -0
  16. package/dist/common/core/index.js +1 -0
  17. package/dist/common/core/index.mjs +0 -0
  18. package/dist/common/core/utils/delete-empty-fields.js +66 -0
  19. package/dist/common/core/utils/delete-empty-fields.mjs +43 -0
  20. package/dist/common/core/utils/flatten-object.js +45 -0
  21. package/dist/common/core/utils/flatten-object.mjs +22 -0
  22. package/dist/common/core/utils/index.js +26 -0
  23. package/dist/common/core/utils/index.mjs +3 -0
  24. package/dist/common/core/utils/is-plain-object.js +32 -0
  25. package/dist/common/core/utils/is-plain-object.mjs +9 -0
  26. package/dist/common/decorators/admin-only/admin-only.js +52 -0
  27. package/dist/common/decorators/admin-only/admin-only.mjs +28 -0
  28. package/dist/common/decorators/admin-only/index.js +22 -0
  29. package/dist/common/decorators/admin-only/index.mjs +1 -0
  30. package/dist/common/decorators/index.js +26 -0
  31. package/dist/common/decorators/index.mjs +3 -0
  32. package/dist/common/decorators/mask-in-logs/index.js +22 -0
  33. package/dist/common/decorators/mask-in-logs/index.mjs +1 -0
  34. package/dist/common/decorators/mask-in-logs/mask-in-logs.js +53 -0
  35. package/dist/common/decorators/mask-in-logs/mask-in-logs.mjs +29 -0
  36. package/dist/common/decorators/owner-only/index.js +22 -0
  37. package/dist/common/decorators/owner-only/index.mjs +1 -0
  38. package/dist/common/decorators/owner-only/owner-only.js +52 -0
  39. package/dist/common/decorators/owner-only/owner-only.mjs +28 -0
  40. package/dist/common/error/http-error.js +37 -0
  41. package/dist/common/error/http-error.mjs +14 -0
  42. package/dist/common/error/index.js +24 -0
  43. package/dist/common/error/index.mjs +2 -0
  44. package/dist/common/error/reportError.js +51 -0
  45. package/dist/common/error/reportError.mjs +28 -0
  46. package/dist/common/helpers/extract-json-from-text.js +63 -0
  47. package/dist/common/helpers/extract-json-from-text.mjs +40 -0
  48. package/dist/common/helpers/index.js +24 -0
  49. package/dist/common/helpers/index.mjs +2 -0
  50. package/dist/common/helpers/sanitize-string.js +45 -0
  51. package/dist/common/helpers/sanitize-string.mjs +12 -0
  52. package/dist/common/logger/index.js +22 -0
  53. package/dist/common/logger/index.mjs +1 -0
  54. package/dist/common/logger/pino.js +70 -0
  55. package/dist/common/logger/pino.mjs +36 -0
  56. package/dist/common/repositories/index.js +24 -0
  57. package/dist/common/repositories/index.mjs +2 -0
  58. package/dist/common/repositories/mongo-db.client.js +79 -0
  59. package/dist/common/repositories/mongo-db.client.mjs +57 -0
  60. package/dist/common/repositories/mongo-db.repository.js +219 -0
  61. package/dist/common/repositories/mongo-db.repository.mjs +196 -0
  62. package/dist/common/utils/secret-manager.js +105 -0
  63. package/dist/common/utils/secret-manager.mjs +71 -0
  64. package/dist/index.js +22 -7
  65. package/dist/index.mjs +1 -7
  66. package/dist/services/agent/core/agent-loop.js +29 -0
  67. package/dist/services/agent/core/agent-loop.mjs +6 -0
  68. package/dist/services/agent/core/agent-state.js +102 -0
  69. package/dist/services/agent/core/agent-state.mjs +78 -0
  70. package/dist/services/agent/core/agent.js +351 -0
  71. package/dist/services/agent/core/agent.mjs +327 -0
  72. package/dist/services/agent/core/index.js +26 -0
  73. package/dist/services/agent/core/index.mjs +3 -0
  74. package/dist/services/agent/loops/index.js +24 -0
  75. package/dist/services/agent/loops/index.mjs +2 -0
  76. package/dist/services/agent/loops/plan-execute/index.js +22 -0
  77. package/dist/services/agent/loops/plan-execute/index.mjs +1 -0
  78. package/dist/services/agent/loops/plan-execute/plan-execute-loop.js +242 -0
  79. package/dist/services/agent/loops/plan-execute/plan-execute-loop.mjs +226 -0
  80. package/dist/services/agent/loops/shared/index.js +22 -0
  81. package/dist/services/agent/loops/shared/index.mjs +1 -0
  82. package/dist/services/agent/loops/shared/skills/action-planner.js +68 -0
  83. package/dist/services/agent/loops/shared/skills/action-planner.mjs +45 -0
  84. package/dist/services/agent/loops/shared/skills/confirmation-gate.js +53 -0
  85. package/dist/services/agent/loops/shared/skills/confirmation-gate.mjs +30 -0
  86. package/dist/services/agent/loops/shared/skills/fast-responder.js +70 -0
  87. package/dist/services/agent/loops/shared/skills/fast-responder.mjs +47 -0
  88. package/dist/services/agent/loops/shared/skills/final-responder.js +57 -0
  89. package/dist/services/agent/loops/shared/skills/final-responder.mjs +34 -0
  90. package/dist/services/agent/loops/shared/skills/index.js +32 -0
  91. package/dist/services/agent/loops/shared/skills/index.mjs +6 -0
  92. package/dist/services/agent/loops/shared/skills/state-observer.js +57 -0
  93. package/dist/services/agent/loops/shared/skills/state-observer.mjs +34 -0
  94. package/dist/services/agent/loops/shared/skills/strategy-engine.js +60 -0
  95. package/dist/services/agent/loops/shared/skills/strategy-engine.mjs +37 -0
  96. package/dist/services/agent/modules/chats/entities/agent-action.entity.js +151 -0
  97. package/dist/services/agent/modules/chats/entities/agent-action.entity.mjs +128 -0
  98. package/dist/services/agent/modules/chats/entities/agent-task.entity.js +231 -0
  99. package/dist/services/agent/modules/chats/entities/agent-task.entity.mjs +207 -0
  100. package/dist/services/agent/modules/chats/entities/chat-context.entity.js +70 -0
  101. package/dist/services/agent/modules/chats/entities/chat-context.entity.mjs +47 -0
  102. package/dist/services/agent/modules/chats/entities/chat-message.entity.js +58 -0
  103. package/dist/services/agent/modules/chats/entities/chat-message.entity.mjs +35 -0
  104. package/dist/services/agent/modules/chats/entities/chat-settings.entity.js +63 -0
  105. package/dist/services/agent/modules/chats/entities/chat-settings.entity.mjs +40 -0
  106. package/dist/services/agent/modules/chats/entities/chat.entity.js +163 -0
  107. package/dist/services/agent/modules/chats/entities/chat.entity.mjs +140 -0
  108. package/dist/services/agent/modules/chats/entities/index.js +22 -0
  109. package/dist/services/agent/modules/chats/entities/index.mjs +1 -0
  110. package/dist/services/agent/modules/chats/lambdas/create-chat/create-chat.use-case.js +56 -0
  111. package/dist/services/agent/modules/chats/lambdas/create-chat/create-chat.use-case.mjs +27 -0
  112. package/dist/services/agent/modules/chats/lambdas/create-chat/index.js +22 -0
  113. package/dist/services/agent/modules/chats/lambdas/create-chat/index.mjs +1 -0
  114. package/dist/services/agent/modules/chats/lambdas/delete-chat/delete-chat.use-case.js +61 -0
  115. package/dist/services/agent/modules/chats/lambdas/delete-chat/delete-chat.use-case.mjs +32 -0
  116. package/dist/services/agent/modules/chats/lambdas/delete-chat/index.js +22 -0
  117. package/dist/services/agent/modules/chats/lambdas/delete-chat/index.mjs +1 -0
  118. package/dist/services/agent/modules/chats/lambdas/get-chat-by-id/get-chat-by-id.use-case.js +52 -0
  119. package/dist/services/agent/modules/chats/lambdas/get-chat-by-id/get-chat-by-id.use-case.mjs +23 -0
  120. package/dist/services/agent/modules/chats/lambdas/get-chat-by-id/index.js +22 -0
  121. package/dist/services/agent/modules/chats/lambdas/get-chat-by-id/index.mjs +1 -0
  122. package/dist/services/agent/modules/chats/lambdas/interrupt-execution/index.js +22 -0
  123. package/dist/services/agent/modules/chats/lambdas/interrupt-execution/index.mjs +1 -0
  124. package/dist/services/agent/modules/chats/lambdas/interrupt-execution/interrupt-execution.use-case.js +64 -0
  125. package/dist/services/agent/modules/chats/lambdas/interrupt-execution/interrupt-execution.use-case.mjs +35 -0
  126. package/dist/services/agent/modules/chats/lambdas/list-chats-by-props/index.js +22 -0
  127. package/dist/services/agent/modules/chats/lambdas/list-chats-by-props/index.mjs +1 -0
  128. package/dist/services/agent/modules/chats/lambdas/list-chats-by-props/list-chats-by-props.use-case.js +52 -0
  129. package/dist/services/agent/modules/chats/lambdas/list-chats-by-props/list-chats-by-props.use-case.mjs +23 -0
  130. package/dist/services/agent/modules/chats/lambdas/list-chats-by-user/index.js +22 -0
  131. package/dist/services/agent/modules/chats/lambdas/list-chats-by-user/index.mjs +1 -0
  132. package/dist/services/agent/modules/chats/lambdas/list-chats-by-user/list-chats-by-user.use-case.js +59 -0
  133. package/dist/services/agent/modules/chats/lambdas/list-chats-by-user/list-chats-by-user.use-case.mjs +30 -0
  134. package/dist/services/agent/modules/chats/lambdas/update-chat/index.js +22 -0
  135. package/dist/services/agent/modules/chats/lambdas/update-chat/index.mjs +1 -0
  136. package/dist/services/agent/modules/chats/lambdas/update-chat/update-chat.use-case.js +64 -0
  137. package/dist/services/agent/modules/chats/lambdas/update-chat/update-chat.use-case.mjs +35 -0
  138. package/dist/services/agent/modules/chats/repositories/chat.repository.js +67 -0
  139. package/dist/services/agent/modules/chats/repositories/chat.repository.mjs +38 -0
  140. package/dist/services/agent/modules/chats/repositories/index.js +22 -0
  141. package/dist/services/agent/modules/chats/repositories/index.mjs +1 -0
  142. package/dist/services/agent/modules/llmcalls/entities/index.js +22 -0
  143. package/dist/services/agent/modules/llmcalls/entities/index.mjs +1 -0
  144. package/dist/services/agent/modules/llmcalls/entities/llmcall.entity.js +71 -0
  145. package/dist/services/agent/modules/llmcalls/entities/llmcall.entity.mjs +48 -0
  146. package/dist/services/agent/modules/llmcalls/lambdas/create-llmcall/create-llmcall.use-case.js +56 -0
  147. package/dist/services/agent/modules/llmcalls/lambdas/create-llmcall/create-llmcall.use-case.mjs +27 -0
  148. package/dist/services/agent/modules/llmcalls/lambdas/create-llmcall/index.js +22 -0
  149. package/dist/services/agent/modules/llmcalls/lambdas/create-llmcall/index.mjs +1 -0
  150. package/dist/services/agent/modules/llmcalls/lambdas/delete-llmcall/delete-llmcall.use-case.js +61 -0
  151. package/dist/services/agent/modules/llmcalls/lambdas/delete-llmcall/delete-llmcall.use-case.mjs +32 -0
  152. package/dist/services/agent/modules/llmcalls/lambdas/delete-llmcall/index.js +22 -0
  153. package/dist/services/agent/modules/llmcalls/lambdas/delete-llmcall/index.mjs +1 -0
  154. package/dist/services/agent/modules/llmcalls/lambdas/get-llm-usage/get-llm-usage.use-case.js +123 -0
  155. package/dist/services/agent/modules/llmcalls/lambdas/get-llm-usage/get-llm-usage.use-case.mjs +94 -0
  156. package/dist/services/agent/modules/llmcalls/lambdas/get-llm-usage/index.js +22 -0
  157. package/dist/services/agent/modules/llmcalls/lambdas/get-llm-usage/index.mjs +1 -0
  158. package/dist/services/agent/modules/llmcalls/lambdas/get-llmcall-by-id/get-llmcall-by-id.use-case.js +52 -0
  159. package/dist/services/agent/modules/llmcalls/lambdas/get-llmcall-by-id/get-llmcall-by-id.use-case.mjs +23 -0
  160. package/dist/services/agent/modules/llmcalls/lambdas/get-llmcall-by-id/index.js +22 -0
  161. package/dist/services/agent/modules/llmcalls/lambdas/get-llmcall-by-id/index.mjs +1 -0
  162. package/dist/services/agent/modules/llmcalls/lambdas/list-llmcalls-by-props/index.js +22 -0
  163. package/dist/services/agent/modules/llmcalls/lambdas/list-llmcalls-by-props/index.mjs +1 -0
  164. package/dist/services/agent/modules/llmcalls/lambdas/list-llmcalls-by-props/list-llmcalls-by-props.use-case.js +52 -0
  165. package/dist/services/agent/modules/llmcalls/lambdas/list-llmcalls-by-props/list-llmcalls-by-props.use-case.mjs +23 -0
  166. package/dist/services/agent/modules/llmcalls/lambdas/update-llmcall/index.js +22 -0
  167. package/dist/services/agent/modules/llmcalls/lambdas/update-llmcall/index.mjs +1 -0
  168. package/dist/services/agent/modules/llmcalls/lambdas/update-llmcall/update-llmcall.use-case.js +62 -0
  169. package/dist/services/agent/modules/llmcalls/lambdas/update-llmcall/update-llmcall.use-case.mjs +33 -0
  170. package/dist/services/agent/modules/llmcalls/repositories/index.js +22 -0
  171. package/dist/services/agent/modules/llmcalls/repositories/index.mjs +1 -0
  172. package/dist/services/agent/modules/llmcalls/repositories/llmcall.repository.js +67 -0
  173. package/dist/services/agent/modules/llmcalls/repositories/llmcall.repository.mjs +38 -0
  174. package/dist/services/agent/modules/mcp-servers/entities/index.js +22 -0
  175. package/dist/services/agent/modules/mcp-servers/entities/index.mjs +1 -0
  176. package/dist/services/agent/modules/mcp-servers/entities/mcpserver.entity.js +79 -0
  177. package/dist/services/agent/modules/mcp-servers/entities/mcpserver.entity.mjs +56 -0
  178. package/dist/services/agent/modules/mcp-servers/lambdas/create-mcpserver/create-mcpserver.use-case.js +56 -0
  179. package/dist/services/agent/modules/mcp-servers/lambdas/create-mcpserver/create-mcpserver.use-case.mjs +27 -0
  180. package/dist/services/agent/modules/mcp-servers/lambdas/create-mcpserver/index.js +22 -0
  181. package/dist/services/agent/modules/mcp-servers/lambdas/create-mcpserver/index.mjs +1 -0
  182. package/dist/services/agent/modules/mcp-servers/lambdas/delete-mcpserver/delete-mcpserver.use-case.js +61 -0
  183. package/dist/services/agent/modules/mcp-servers/lambdas/delete-mcpserver/delete-mcpserver.use-case.mjs +32 -0
  184. package/dist/services/agent/modules/mcp-servers/lambdas/delete-mcpserver/index.js +22 -0
  185. package/dist/services/agent/modules/mcp-servers/lambdas/delete-mcpserver/index.mjs +1 -0
  186. package/dist/services/agent/modules/mcp-servers/lambdas/get-mcpserver-by-id/get-mcpserver-by-id.use-case.js +52 -0
  187. package/dist/services/agent/modules/mcp-servers/lambdas/get-mcpserver-by-id/get-mcpserver-by-id.use-case.mjs +23 -0
  188. package/dist/services/agent/modules/mcp-servers/lambdas/get-mcpserver-by-id/index.js +22 -0
  189. package/dist/services/agent/modules/mcp-servers/lambdas/get-mcpserver-by-id/index.mjs +1 -0
  190. package/dist/services/agent/modules/mcp-servers/lambdas/list-mcpservers-by-user/index.js +22 -0
  191. package/dist/services/agent/modules/mcp-servers/lambdas/list-mcpservers-by-user/index.mjs +1 -0
  192. package/dist/services/agent/modules/mcp-servers/lambdas/list-mcpservers-by-user/list-mcpservers-by-user.use-case.js +59 -0
  193. package/dist/services/agent/modules/mcp-servers/lambdas/list-mcpservers-by-user/list-mcpservers-by-user.use-case.mjs +30 -0
  194. package/dist/services/agent/modules/mcp-servers/lambdas/update-mcpserver/index.js +22 -0
  195. package/dist/services/agent/modules/mcp-servers/lambdas/update-mcpserver/index.mjs +1 -0
  196. package/dist/services/agent/modules/mcp-servers/lambdas/update-mcpserver/update-mcpserver.use-case.js +61 -0
  197. package/dist/services/agent/modules/mcp-servers/lambdas/update-mcpserver/update-mcpserver.use-case.mjs +32 -0
  198. package/dist/services/agent/modules/mcp-servers/repositories/index.js +22 -0
  199. package/dist/services/agent/modules/mcp-servers/repositories/index.mjs +1 -0
  200. package/dist/services/agent/modules/mcp-servers/repositories/mcpserver.repository.js +67 -0
  201. package/dist/services/agent/modules/mcp-servers/repositories/mcpserver.repository.mjs +38 -0
  202. package/dist/services/agent/skills/index.js +24 -0
  203. package/dist/services/agent/skills/index.mjs +2 -0
  204. package/dist/services/agent/skills/shared/index.js +22 -0
  205. package/dist/services/agent/skills/shared/index.mjs +1 -0
  206. package/dist/services/agent/skills/shared/shared-rules.js +37 -0
  207. package/dist/services/agent/skills/shared/shared-rules.mjs +11 -0
  208. package/dist/services/agent/skills/skill-runner.js +121 -0
  209. package/dist/services/agent/skills/skill-runner.mjs +92 -0
  210. package/dist/services/agent/skills/skill.js +128 -0
  211. package/dist/services/agent/skills/skill.mjs +105 -0
  212. package/dist/services/agent/tools/core/call-ai/call-ai.skill.js +54 -0
  213. package/dist/services/agent/tools/core/call-ai/call-ai.skill.mjs +31 -0
  214. package/dist/services/agent/tools/core/call-ai/call-ai.tool.js +68 -0
  215. package/dist/services/agent/tools/core/call-ai/call-ai.tool.mjs +45 -0
  216. package/dist/services/agent/tools/core/call-ai/index.js +22 -0
  217. package/dist/services/agent/tools/core/call-ai/index.mjs +1 -0
  218. package/dist/services/agent/tools/core/index.js +24 -0
  219. package/dist/services/agent/tools/core/index.mjs +2 -0
  220. package/dist/services/agent/tools/core/web-search/index.js +22 -0
  221. package/dist/services/agent/tools/core/web-search/index.mjs +1 -0
  222. package/dist/services/agent/tools/core/web-search/web-search.tool.js +51 -0
  223. package/dist/services/agent/tools/core/web-search/web-search.tool.mjs +30 -0
  224. package/dist/services/agent/tools/index.js +24 -0
  225. package/dist/services/agent/tools/index.mjs +2 -0
  226. package/dist/services/agent/tools/tool.js +57 -0
  227. package/dist/services/agent/tools/tool.mjs +34 -0
  228. package/dist/services/agent/utils/rank-tools-by-keywords.js +65 -0
  229. package/dist/services/agent/utils/rank-tools-by-keywords.mjs +42 -0
  230. package/dist/services/app/core/app.js +60 -0
  231. package/dist/services/app/core/app.mjs +47 -0
  232. package/dist/services/app/core/current-session.js +124 -0
  233. package/dist/services/app/core/current-session.mjs +104 -0
  234. package/dist/services/app/core/current-user.js +84 -0
  235. package/dist/services/app/core/current-user.mjs +61 -0
  236. package/dist/services/app/core/index.js +26 -0
  237. package/dist/services/app/core/index.mjs +3 -0
  238. package/dist/services/app/modules/authentication/lambdas/login/index.js +22 -0
  239. package/dist/services/app/modules/authentication/lambdas/login/index.mjs +1 -0
  240. package/dist/services/app/modules/authentication/lambdas/login/login.use-case.js +89 -0
  241. package/dist/services/app/modules/authentication/lambdas/login/login.use-case.mjs +50 -0
  242. package/dist/services/app/modules/users/entities/index.js +22 -0
  243. package/dist/services/app/modules/users/entities/index.mjs +1 -0
  244. package/dist/services/app/modules/users/entities/user-acquisition.js +55 -0
  245. package/dist/services/app/modules/users/entities/user-acquisition.mjs +26 -0
  246. package/dist/services/app/modules/users/entities/user-country.js +44 -0
  247. package/dist/services/app/modules/users/entities/user-country.mjs +21 -0
  248. package/dist/services/app/modules/users/entities/user-currency.js +44 -0
  249. package/dist/services/app/modules/users/entities/user-currency.mjs +21 -0
  250. package/dist/services/app/modules/users/entities/user-email.value-object.js +43 -0
  251. package/dist/services/app/modules/users/entities/user-email.value-object.mjs +20 -0
  252. package/dist/services/app/modules/users/entities/user-language.js +44 -0
  253. package/dist/services/app/modules/users/entities/user-language.mjs +21 -0
  254. package/dist/services/app/modules/users/entities/user-marketing.js +53 -0
  255. package/dist/services/app/modules/users/entities/user-marketing.mjs +24 -0
  256. package/dist/services/app/modules/users/entities/user-notification-preferences.js +41 -0
  257. package/dist/services/app/modules/users/entities/user-notification-preferences.mjs +18 -0
  258. package/dist/services/app/modules/users/entities/user-password.value-object.js +69 -0
  259. package/dist/services/app/modules/users/entities/user-password.value-object.mjs +36 -0
  260. package/dist/services/app/modules/users/entities/user-permissions.js +59 -0
  261. package/dist/services/app/modules/users/entities/user-permissions.mjs +36 -0
  262. package/dist/services/app/modules/users/entities/user-preferences.js +69 -0
  263. package/dist/services/app/modules/users/entities/user-preferences.mjs +46 -0
  264. package/dist/services/app/modules/users/entities/user-report-preferences.js +56 -0
  265. package/dist/services/app/modules/users/entities/user-report-preferences.mjs +33 -0
  266. package/dist/services/app/modules/users/entities/user-report-schedule.js +41 -0
  267. package/dist/services/app/modules/users/entities/user-report-schedule.mjs +18 -0
  268. package/dist/services/app/modules/users/entities/user-timezone.js +44 -0
  269. package/dist/services/app/modules/users/entities/user-timezone.mjs +21 -0
  270. package/dist/services/app/modules/users/entities/user.entity.js +133 -0
  271. package/dist/services/app/modules/users/entities/user.entity.mjs +103 -0
  272. package/dist/services/app/modules/users/lambdas/create-user/create-user.use-case.js +58 -0
  273. package/dist/services/app/modules/users/lambdas/create-user/create-user.use-case.mjs +29 -0
  274. package/dist/services/app/modules/users/lambdas/create-user/index.js +22 -0
  275. package/dist/services/app/modules/users/lambdas/create-user/index.mjs +1 -0
  276. package/dist/services/app/modules/users/lambdas/delete-user/delete-user.use-case.js +61 -0
  277. package/dist/services/app/modules/users/lambdas/delete-user/delete-user.use-case.mjs +32 -0
  278. package/dist/services/app/modules/users/lambdas/delete-user/index.js +22 -0
  279. package/dist/services/app/modules/users/lambdas/delete-user/index.mjs +1 -0
  280. package/dist/services/app/modules/users/lambdas/get-user-by-id/get-user-by-id.use-case.js +52 -0
  281. package/dist/services/app/modules/users/lambdas/get-user-by-id/get-user-by-id.use-case.mjs +23 -0
  282. package/dist/services/app/modules/users/lambdas/get-user-by-id/index.js +22 -0
  283. package/dist/services/app/modules/users/lambdas/get-user-by-id/index.mjs +1 -0
  284. package/dist/services/app/modules/users/lambdas/list-users-by-props/index.js +22 -0
  285. package/dist/services/app/modules/users/lambdas/list-users-by-props/index.mjs +1 -0
  286. package/dist/services/app/modules/users/lambdas/list-users-by-props/list-users-by-props.use-case.js +52 -0
  287. package/dist/services/app/modules/users/lambdas/list-users-by-props/list-users-by-props.use-case.mjs +23 -0
  288. package/dist/services/app/modules/users/lambdas/update-user/index.js +22 -0
  289. package/dist/services/app/modules/users/lambdas/update-user/index.mjs +1 -0
  290. package/dist/services/app/modules/users/lambdas/update-user/update-user.use-case.js +62 -0
  291. package/dist/services/app/modules/users/lambdas/update-user/update-user.use-case.mjs +33 -0
  292. package/dist/services/app/modules/users/repositories/index.js +22 -0
  293. package/dist/services/app/modules/users/repositories/index.mjs +1 -0
  294. package/dist/services/app/modules/users/repositories/user.repository.js +83 -0
  295. package/dist/services/app/modules/users/repositories/user.repository.mjs +54 -0
  296. package/package.json +2 -2
@@ -0,0 +1,33 @@
1
+ import "../../../../../chunk-XRJFNASX.mjs";
2
+ import { ReportSchedule } from "./user-report-schedule";
3
+ class ReportPreferences {
4
+ constructor(dailySummary, weeklySummary, monthlySummary, dailyReminder) {
5
+ this.dailySummary = dailySummary;
6
+ this.weeklySummary = weeklySummary;
7
+ this.monthlySummary = monthlySummary;
8
+ this.dailyReminder = dailyReminder;
9
+ }
10
+ dailySummary;
11
+ weeklySummary;
12
+ monthlySummary;
13
+ dailyReminder;
14
+ static fromJSON(props) {
15
+ return new ReportPreferences(
16
+ props.dailySummary && ReportSchedule.fromJSON(props.dailySummary),
17
+ props.weeklySummary && ReportSchedule.fromJSON(props.weeklySummary),
18
+ props.monthlySummary && ReportSchedule.fromJSON(props.monthlySummary),
19
+ props.dailyReminder && ReportSchedule.fromJSON(props.dailyReminder)
20
+ );
21
+ }
22
+ toJSON() {
23
+ return {
24
+ dailySummary: this.dailySummary?.toJSON(),
25
+ weeklySummary: this.weeklySummary?.toJSON(),
26
+ monthlySummary: this.monthlySummary?.toJSON(),
27
+ dailyReminder: this.dailyReminder?.toJSON()
28
+ };
29
+ }
30
+ }
31
+ export {
32
+ ReportPreferences
33
+ };
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var user_report_schedule_exports = {};
20
+ __export(user_report_schedule_exports, {
21
+ ReportSchedule: () => ReportSchedule
22
+ });
23
+ module.exports = __toCommonJS(user_report_schedule_exports);
24
+ class ReportSchedule {
25
+ constructor(enabled, time) {
26
+ this.enabled = enabled;
27
+ this.time = time;
28
+ }
29
+ enabled;
30
+ time;
31
+ static fromJSON(props) {
32
+ return new ReportSchedule(props.enabled, props.time);
33
+ }
34
+ toJSON() {
35
+ return { enabled: this.enabled, time: this.time };
36
+ }
37
+ }
38
+ // Annotate the CommonJS export names for ESM import in node:
39
+ 0 && (module.exports = {
40
+ ReportSchedule
41
+ });
@@ -0,0 +1,18 @@
1
+ import "../../../../../chunk-XRJFNASX.mjs";
2
+ class ReportSchedule {
3
+ constructor(enabled, time) {
4
+ this.enabled = enabled;
5
+ this.time = time;
6
+ }
7
+ enabled;
8
+ time;
9
+ static fromJSON(props) {
10
+ return new ReportSchedule(props.enabled, props.time);
11
+ }
12
+ toJSON() {
13
+ return { enabled: this.enabled, time: this.time };
14
+ }
15
+ }
16
+ export {
17
+ ReportSchedule
18
+ };
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var user_timezone_exports = {};
20
+ __export(user_timezone_exports, {
21
+ Timezone: () => Timezone
22
+ });
23
+ module.exports = __toCommonJS(user_timezone_exports);
24
+ var import_helpers = require("@common/helpers");
25
+ var import_countries_and_currencies_utils = require("countries-and-currencies-utils");
26
+ class Timezone {
27
+ constructor(ianaIdentifier) {
28
+ this.ianaIdentifier = ianaIdentifier;
29
+ }
30
+ ianaIdentifier;
31
+ static fromJSON(props) {
32
+ return new Timezone((0, import_helpers.sanitizeString)(props.ianaIdentifier));
33
+ }
34
+ get offsetInMinutes() {
35
+ return this.ianaIdentifier ? (0, import_countries_and_currencies_utils.getTimezoneOffset)(this.ianaIdentifier) ?? void 0 : void 0;
36
+ }
37
+ toJSON() {
38
+ return { ianaIdentifier: this.ianaIdentifier, offsetInMinutes: this.offsetInMinutes };
39
+ }
40
+ }
41
+ // Annotate the CommonJS export names for ESM import in node:
42
+ 0 && (module.exports = {
43
+ Timezone
44
+ });
@@ -0,0 +1,21 @@
1
+ import "../../../../../chunk-XRJFNASX.mjs";
2
+ import { sanitizeString } from "@common/helpers";
3
+ import { getTimezoneOffset } from "countries-and-currencies-utils";
4
+ class Timezone {
5
+ constructor(ianaIdentifier) {
6
+ this.ianaIdentifier = ianaIdentifier;
7
+ }
8
+ ianaIdentifier;
9
+ static fromJSON(props) {
10
+ return new Timezone(sanitizeString(props.ianaIdentifier));
11
+ }
12
+ get offsetInMinutes() {
13
+ return this.ianaIdentifier ? getTimezoneOffset(this.ianaIdentifier) ?? void 0 : void 0;
14
+ }
15
+ toJSON() {
16
+ return { ianaIdentifier: this.ianaIdentifier, offsetInMinutes: this.offsetInMinutes };
17
+ }
18
+ }
19
+ export {
20
+ Timezone
21
+ };
@@ -0,0 +1,133 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var __decorateClass = (decorators, target, key, kind) => {
20
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
21
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
22
+ if (decorator = decorators[i])
23
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
24
+ if (kind && result) __defProp(target, key, result);
25
+ return result;
26
+ };
27
+ var user_entity_exports = {};
28
+ __export(user_entity_exports, {
29
+ User: () => User,
30
+ UserRole: () => UserRole
31
+ });
32
+ module.exports = __toCommonJS(user_entity_exports);
33
+ var import_decorators = require("@common/decorators");
34
+ var import_base = require("@common/core/base.entity");
35
+ var import_countries_and_currencies_utils = require("countries-and-currencies-utils");
36
+ var import_helpers = require("@common/helpers");
37
+ var import_user_password = require("./user-password.value-object");
38
+ var import_user_email = require("./user-email.value-object");
39
+ var import_user_preferences = require("./user-preferences");
40
+ var import_user_permissions = require("./user-permissions");
41
+ var import_user_acquisition = require("./user-acquisition");
42
+ var import_user_marketing = require("./user-marketing");
43
+ var UserRole = /* @__PURE__ */ ((UserRole2) => {
44
+ UserRole2["ADMIN"] = "admin";
45
+ UserRole2["AGENT"] = "agent";
46
+ UserRole2["GUEST"] = "guest";
47
+ UserRole2["USER"] = "user";
48
+ return UserRole2;
49
+ })(UserRole || {});
50
+ const _User = class _User extends import_base.BaseEntity {
51
+ constructor(props, firstName, lastName, email, password, role, acquisition, marketing, preferences, permissions) {
52
+ super(props);
53
+ this.props = props;
54
+ this.firstName = firstName;
55
+ this.lastName = lastName;
56
+ this.email = email;
57
+ this.acquisition = acquisition;
58
+ this.marketing = marketing;
59
+ this.preferences = preferences;
60
+ this.permissions = permissions;
61
+ this.password = password;
62
+ this.role = role;
63
+ }
64
+ props;
65
+ firstName;
66
+ lastName;
67
+ email;
68
+ acquisition;
69
+ marketing;
70
+ preferences;
71
+ permissions;
72
+ password;
73
+ role;
74
+ static fromJSON(json) {
75
+ return new _User(
76
+ json,
77
+ (0, import_helpers.sanitizeString)(json.firstName),
78
+ (0, import_helpers.sanitizeString)(json.lastName),
79
+ import_user_email.UserEmail.create(json.email),
80
+ json.password,
81
+ (0, import_helpers.sanitizeString)(json.role),
82
+ json.acquisition && import_user_acquisition.UserAcquisition.fromJSON(json.acquisition),
83
+ json.marketing && import_user_marketing.UserMarketing.fromJSON(json.marketing),
84
+ json.preferences && import_user_preferences.UserPreferences.fromJSON(json.preferences),
85
+ json.permissions && import_user_permissions.UserPermissions.fromJSON(json.permissions)
86
+ );
87
+ }
88
+ toJSON() {
89
+ return {
90
+ ...super.toJSON(),
91
+ firstName: this.firstName,
92
+ lastName: this.lastName,
93
+ email: this.email,
94
+ password: this.password,
95
+ role: this.role,
96
+ acquisition: this.acquisition?.toJSON(),
97
+ marketing: this.marketing?.toJSON(),
98
+ preferences: this.preferences?.toJSON(),
99
+ permissions: this.permissions?.toJSON()
100
+ };
101
+ }
102
+ static async create(props) {
103
+ if (props.preferences?.currency?.isoCode) {
104
+ const currencyData = await (0, import_countries_and_currencies_utils.getCurrencyDataFromCurrencyCodeAsync)(props.preferences.currency.isoCode);
105
+ props.preferences.currency.label = currencyData?.label;
106
+ props.preferences.currency.symbol = currencyData?.symbol;
107
+ }
108
+ if (props.password && !import_user_password.UserPassword.isHashed(props.password)) {
109
+ props.password = await import_user_password.UserPassword.create(props.password);
110
+ }
111
+ const user = _User.fromJSON(props);
112
+ user.role = user.role || "user" /* USER */;
113
+ return user;
114
+ }
115
+ get fullName() {
116
+ return `${this.firstName} ${this.lastName}`;
117
+ }
118
+ async verifyPassword(password) {
119
+ return import_user_password.UserPassword.compare(password, String(this.password));
120
+ }
121
+ };
122
+ __decorateClass([
123
+ import_decorators.MaskInLogs
124
+ ], _User.prototype, "password", 2);
125
+ __decorateClass([
126
+ import_decorators.AdminOnly
127
+ ], _User.prototype, "role", 2);
128
+ let User = _User;
129
+ // Annotate the CommonJS export names for ESM import in node:
130
+ 0 && (module.exports = {
131
+ User,
132
+ UserRole
133
+ });
@@ -0,0 +1,103 @@
1
+ import {
2
+ __decorateClass
3
+ } from "../../../../../chunk-XRJFNASX.mjs";
4
+ import { MaskInLogs, AdminOnly } from "@common/decorators";
5
+ import { BaseEntity } from "@common/core/base.entity";
6
+ import { getCurrencyDataFromCurrencyCodeAsync } from "countries-and-currencies-utils";
7
+ import { sanitizeString } from "@common/helpers";
8
+ import { UserPassword } from "./user-password.value-object";
9
+ import { UserEmail } from "./user-email.value-object";
10
+ import { UserPreferences } from "./user-preferences";
11
+ import { UserPermissions } from "./user-permissions";
12
+ import { UserAcquisition } from "./user-acquisition";
13
+ import { UserMarketing } from "./user-marketing";
14
+ var UserRole = /* @__PURE__ */ ((UserRole2) => {
15
+ UserRole2["ADMIN"] = "admin";
16
+ UserRole2["AGENT"] = "agent";
17
+ UserRole2["GUEST"] = "guest";
18
+ UserRole2["USER"] = "user";
19
+ return UserRole2;
20
+ })(UserRole || {});
21
+ const _User = class _User extends BaseEntity {
22
+ constructor(props, firstName, lastName, email, password, role, acquisition, marketing, preferences, permissions) {
23
+ super(props);
24
+ this.props = props;
25
+ this.firstName = firstName;
26
+ this.lastName = lastName;
27
+ this.email = email;
28
+ this.acquisition = acquisition;
29
+ this.marketing = marketing;
30
+ this.preferences = preferences;
31
+ this.permissions = permissions;
32
+ this.password = password;
33
+ this.role = role;
34
+ }
35
+ props;
36
+ firstName;
37
+ lastName;
38
+ email;
39
+ acquisition;
40
+ marketing;
41
+ preferences;
42
+ permissions;
43
+ password;
44
+ role;
45
+ static fromJSON(json) {
46
+ return new _User(
47
+ json,
48
+ sanitizeString(json.firstName),
49
+ sanitizeString(json.lastName),
50
+ UserEmail.create(json.email),
51
+ json.password,
52
+ sanitizeString(json.role),
53
+ json.acquisition && UserAcquisition.fromJSON(json.acquisition),
54
+ json.marketing && UserMarketing.fromJSON(json.marketing),
55
+ json.preferences && UserPreferences.fromJSON(json.preferences),
56
+ json.permissions && UserPermissions.fromJSON(json.permissions)
57
+ );
58
+ }
59
+ toJSON() {
60
+ return {
61
+ ...super.toJSON(),
62
+ firstName: this.firstName,
63
+ lastName: this.lastName,
64
+ email: this.email,
65
+ password: this.password,
66
+ role: this.role,
67
+ acquisition: this.acquisition?.toJSON(),
68
+ marketing: this.marketing?.toJSON(),
69
+ preferences: this.preferences?.toJSON(),
70
+ permissions: this.permissions?.toJSON()
71
+ };
72
+ }
73
+ static async create(props) {
74
+ if (props.preferences?.currency?.isoCode) {
75
+ const currencyData = await getCurrencyDataFromCurrencyCodeAsync(props.preferences.currency.isoCode);
76
+ props.preferences.currency.label = currencyData?.label;
77
+ props.preferences.currency.symbol = currencyData?.symbol;
78
+ }
79
+ if (props.password && !UserPassword.isHashed(props.password)) {
80
+ props.password = await UserPassword.create(props.password);
81
+ }
82
+ const user = _User.fromJSON(props);
83
+ user.role = user.role || "user" /* USER */;
84
+ return user;
85
+ }
86
+ get fullName() {
87
+ return `${this.firstName} ${this.lastName}`;
88
+ }
89
+ async verifyPassword(password) {
90
+ return UserPassword.compare(password, String(this.password));
91
+ }
92
+ };
93
+ __decorateClass([
94
+ MaskInLogs
95
+ ], _User.prototype, "password", 2);
96
+ __decorateClass([
97
+ AdminOnly
98
+ ], _User.prototype, "role", 2);
99
+ let User = _User;
100
+ export {
101
+ User,
102
+ UserRole
103
+ };
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var __decorateClass = (decorators, target, key, kind) => {
20
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
21
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
22
+ if (decorator = decorators[i])
23
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
24
+ if (kind && result) __defProp(target, key, result);
25
+ return result;
26
+ };
27
+ var create_user_use_case_exports = {};
28
+ __export(create_user_use_case_exports, {
29
+ CreateUserUseCase: () => CreateUserUseCase
30
+ });
31
+ module.exports = __toCommonJS(create_user_use_case_exports);
32
+ var import_tsyringe = require("tsyringe");
33
+ var import_base = require("@common/core/base.use-case");
34
+ var import_entities = require("../../entities");
35
+ let CreateUserUseCase = class extends import_base.BaseUseCase {
36
+ constructor(userRepository) {
37
+ super();
38
+ this.userRepository = userRepository;
39
+ }
40
+ userRepository;
41
+ async execute(params) {
42
+ const { payload, currentUser } = params;
43
+ if (!payload?.email) throw new Error("[Create User] email param is required");
44
+ if (!payload?.password) throw new Error("[Create User] password param is required");
45
+ const user = await import_entities.User.create({ ...payload });
46
+ user.setCreatedBy(currentUser);
47
+ await this.userRepository.create(user);
48
+ const { password, ...rest } = user.toJSON();
49
+ return { data: rest };
50
+ }
51
+ };
52
+ CreateUserUseCase = __decorateClass([
53
+ (0, import_tsyringe.autoInjectable)()
54
+ ], CreateUserUseCase);
55
+ // Annotate the CommonJS export names for ESM import in node:
56
+ 0 && (module.exports = {
57
+ CreateUserUseCase
58
+ });
@@ -0,0 +1,29 @@
1
+ import {
2
+ __decorateClass
3
+ } from "../../../../../../chunk-XRJFNASX.mjs";
4
+ import { autoInjectable } from "tsyringe";
5
+ import { BaseUseCase } from "@common/core/base.use-case";
6
+ import { User } from "../../entities";
7
+ let CreateUserUseCase = class extends BaseUseCase {
8
+ constructor(userRepository) {
9
+ super();
10
+ this.userRepository = userRepository;
11
+ }
12
+ userRepository;
13
+ async execute(params) {
14
+ const { payload, currentUser } = params;
15
+ if (!payload?.email) throw new Error("[Create User] email param is required");
16
+ if (!payload?.password) throw new Error("[Create User] password param is required");
17
+ const user = await User.create({ ...payload });
18
+ user.setCreatedBy(currentUser);
19
+ await this.userRepository.create(user);
20
+ const { password, ...rest } = user.toJSON();
21
+ return { data: rest };
22
+ }
23
+ };
24
+ CreateUserUseCase = __decorateClass([
25
+ autoInjectable()
26
+ ], CreateUserUseCase);
27
+ export {
28
+ CreateUserUseCase
29
+ };
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
15
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
16
+ var create_user_exports = {};
17
+ module.exports = __toCommonJS(create_user_exports);
18
+ __reExport(create_user_exports, require("./create-user.use-case"), module.exports);
19
+ // Annotate the CommonJS export names for ESM import in node:
20
+ 0 && (module.exports = {
21
+ ...require("./create-user.use-case")
22
+ });
@@ -0,0 +1 @@
1
+ export * from "./create-user.use-case";
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var __decorateClass = (decorators, target, key, kind) => {
20
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
21
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
22
+ if (decorator = decorators[i])
23
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
24
+ if (kind && result) __defProp(target, key, result);
25
+ return result;
26
+ };
27
+ var delete_user_use_case_exports = {};
28
+ __export(delete_user_use_case_exports, {
29
+ DeleteUserUseCase: () => DeleteUserUseCase
30
+ });
31
+ module.exports = __toCommonJS(delete_user_use_case_exports);
32
+ var import_tsyringe = require("tsyringe");
33
+ var import_base = require("@common/core/base.use-case");
34
+ var import_entities = require("../../entities");
35
+ let DeleteUserUseCase = class extends import_base.BaseUseCase {
36
+ constructor(userRepository) {
37
+ super();
38
+ this.userRepository = userRepository;
39
+ }
40
+ userRepository;
41
+ async execute(params) {
42
+ const { id, hardDelete, accountDeletionReason, currentUser } = params;
43
+ if (!id) throw new Error("Missing id");
44
+ if (hardDelete) {
45
+ if (!currentUser?.isAdmin()) this.throwError403();
46
+ const result2 = await this.userRepository.deleteById(id);
47
+ return { data: { deletedCount: result2 } };
48
+ }
49
+ const user = await import_entities.User.fromJSON({ _id: id, deletedReason: accountDeletionReason });
50
+ user.setDeletedBy(currentUser);
51
+ const result = await this.userRepository.update(user);
52
+ return { data: result || {} };
53
+ }
54
+ };
55
+ DeleteUserUseCase = __decorateClass([
56
+ (0, import_tsyringe.autoInjectable)()
57
+ ], DeleteUserUseCase);
58
+ // Annotate the CommonJS export names for ESM import in node:
59
+ 0 && (module.exports = {
60
+ DeleteUserUseCase
61
+ });
@@ -0,0 +1,32 @@
1
+ import {
2
+ __decorateClass
3
+ } from "../../../../../../chunk-XRJFNASX.mjs";
4
+ import { autoInjectable } from "tsyringe";
5
+ import { BaseUseCase } from "@common/core/base.use-case";
6
+ import { User } from "../../entities";
7
+ let DeleteUserUseCase = class extends BaseUseCase {
8
+ constructor(userRepository) {
9
+ super();
10
+ this.userRepository = userRepository;
11
+ }
12
+ userRepository;
13
+ async execute(params) {
14
+ const { id, hardDelete, accountDeletionReason, currentUser } = params;
15
+ if (!id) throw new Error("Missing id");
16
+ if (hardDelete) {
17
+ if (!currentUser?.isAdmin()) this.throwError403();
18
+ const result2 = await this.userRepository.deleteById(id);
19
+ return { data: { deletedCount: result2 } };
20
+ }
21
+ const user = await User.fromJSON({ _id: id, deletedReason: accountDeletionReason });
22
+ user.setDeletedBy(currentUser);
23
+ const result = await this.userRepository.update(user);
24
+ return { data: result || {} };
25
+ }
26
+ };
27
+ DeleteUserUseCase = __decorateClass([
28
+ autoInjectable()
29
+ ], DeleteUserUseCase);
30
+ export {
31
+ DeleteUserUseCase
32
+ };
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
15
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
16
+ var delete_user_exports = {};
17
+ module.exports = __toCommonJS(delete_user_exports);
18
+ __reExport(delete_user_exports, require("./delete-user.use-case"), module.exports);
19
+ // Annotate the CommonJS export names for ESM import in node:
20
+ 0 && (module.exports = {
21
+ ...require("./delete-user.use-case")
22
+ });
@@ -0,0 +1 @@
1
+ export * from "./delete-user.use-case";