@greatapps/common 1.1.211 → 1.1.214

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 (188) hide show
  1. package/dist/components/account/ConfirmDeleteAccountModal.mjs.map +1 -1
  2. package/dist/components/account/DeleteAccountModal.mjs.map +1 -1
  3. package/dist/components/account/IsntPossibleDeleteAccountModal.mjs.map +1 -1
  4. package/dist/components/account/hooks/useChangePhoneForm.mjs.map +1 -1
  5. package/dist/components/account/hooks/useTwoFactorAuthForm.mjs.map +1 -1
  6. package/dist/components/account/sections/ChangePhoneModal.mjs.map +1 -1
  7. package/dist/components/embeds/CrispEmbed.mjs.map +1 -1
  8. package/dist/components/embeds/FrillEmbed.mjs.map +1 -1
  9. package/dist/components/layouts/AppMobileNavBar.mjs.map +1 -1
  10. package/dist/components/layouts/AppNavBar.mjs.map +1 -1
  11. package/dist/components/layouts/NavBar.mjs.map +1 -1
  12. package/dist/components/layouts/UsersSelectorPopover.mjs.map +1 -1
  13. package/dist/components/navigation/CancelledSubscriptionBanner.mjs.map +1 -1
  14. package/dist/components/navigation/NavItemsContext.mjs.map +1 -1
  15. package/dist/components/navigation/ProjectSelectorPopover.mjs +2 -1
  16. package/dist/components/navigation/ProjectSelectorPopover.mjs.map +1 -1
  17. package/dist/components/navigation/shells/TabsMobileShell.mjs.map +1 -1
  18. package/dist/components/navigation/subcomponents/ProjectSelector.mjs +2 -1
  19. package/dist/components/navigation/subcomponents/ProjectSelector.mjs.map +1 -1
  20. package/dist/components/pages/notifications/Notifications.mjs.map +1 -1
  21. package/dist/components/ui/buttons/Button.mjs.map +1 -1
  22. package/dist/components/ui/buttons/CancelButton.mjs.map +1 -1
  23. package/dist/components/ui/buttons/CopyButton.mjs.map +1 -1
  24. package/dist/components/ui/data-display/Accordion.mjs.map +1 -1
  25. package/dist/components/ui/data-display/Badge.mjs.map +1 -1
  26. package/dist/components/ui/data-display/Card.mjs.map +1 -1
  27. package/dist/components/ui/data-display/Pagination.mjs.map +1 -1
  28. package/dist/components/ui/data-display/ScrollArea.mjs.map +1 -1
  29. package/dist/components/ui/data-display/Separator.mjs.map +1 -1
  30. package/dist/components/ui/data-display/Table.mjs.map +1 -1
  31. package/dist/components/ui/data-display/Tabs.mjs.map +1 -1
  32. package/dist/components/ui/feedback/CircularProgress.mjs.map +1 -1
  33. package/dist/components/ui/feedback/DefaultCircularProgress.mjs.map +1 -1
  34. package/dist/components/ui/feedback/LoadingOverlay.mjs.map +1 -1
  35. package/dist/components/ui/feedback/Progress.mjs.map +1 -1
  36. package/dist/components/ui/feedback/Toast.mjs.map +1 -1
  37. package/dist/components/ui/form/Calendar.mjs.map +1 -1
  38. package/dist/components/ui/form/Checkbox.mjs.map +1 -1
  39. package/dist/components/ui/form/DatePicker.mjs.map +1 -1
  40. package/dist/components/ui/form/DateRangePicker.mjs.map +1 -1
  41. package/dist/components/ui/form/Input.mjs.map +1 -1
  42. package/dist/components/ui/form/InputOtp.mjs.map +1 -1
  43. package/dist/components/ui/form/PhoneInput.mjs.map +1 -1
  44. package/dist/components/ui/form/RadioGroup.mjs.map +1 -1
  45. package/dist/components/ui/form/Select.mjs +1 -1
  46. package/dist/components/ui/form/Select.mjs.map +1 -1
  47. package/dist/components/ui/form/Switch.mjs.map +1 -1
  48. package/dist/components/ui/form/Textarea.mjs.map +1 -1
  49. package/dist/components/ui/overlay/Command.mjs.map +1 -1
  50. package/dist/components/ui/overlay/Dialog.mjs.map +1 -1
  51. package/dist/components/ui/overlay/Popover.mjs.map +1 -1
  52. package/dist/components/ui/overlay/Sheet.mjs.map +1 -1
  53. package/dist/components/ui/overlay/Tooltip.mjs.map +1 -1
  54. package/dist/hooks/copy-to-clipboard.hook.mjs.map +1 -1
  55. package/dist/index.mjs.map +1 -1
  56. package/dist/middleware.mjs.map +1 -1
  57. package/dist/modules/accounts/actions/account-management.action.mjs.map +1 -1
  58. package/dist/modules/accounts/actions/find-current-account.action.mjs.map +1 -1
  59. package/dist/modules/accounts/actions/list-currencies.action.mjs.map +1 -1
  60. package/dist/modules/accounts/actions/list-timezones.action.mjs.map +1 -1
  61. package/dist/modules/accounts/hooks/current-account.hook.mjs.map +1 -1
  62. package/dist/modules/accounts/hooks/useAccountManagement.mjs.map +1 -1
  63. package/dist/modules/accounts/hooks/useCurrencies.mjs.map +1 -1
  64. package/dist/modules/accounts/hooks/useTimezones.mjs.map +1 -1
  65. package/dist/modules/accounts/services/account.service.mjs.map +1 -1
  66. package/dist/modules/auth/hooks/login.hook.mjs.map +1 -1
  67. package/dist/modules/auth/hooks/logout.hook.mjs.map +1 -1
  68. package/dist/modules/auth/hooks/register.hook.mjs.map +1 -1
  69. package/dist/modules/ia-credits/actions/list-ia-credits.action.mjs.map +1 -1
  70. package/dist/modules/projects/actions/add-project-user.action.mjs.map +1 -1
  71. package/dist/modules/projects/actions/list-all-account-users.action.mjs.map +1 -1
  72. package/dist/modules/projects/actions/list-available-users.action.mjs.map +1 -1
  73. package/dist/modules/projects/actions/list-project-users.action.mjs.map +1 -1
  74. package/dist/modules/projects/actions/remove-project-user.action.mjs.map +1 -1
  75. package/dist/modules/projects/hooks/add-project-user.hook.mjs.map +1 -1
  76. package/dist/modules/projects/hooks/list-all-account-users.hook.mjs.map +1 -1
  77. package/dist/modules/projects/hooks/list-available-users.hook.mjs.map +1 -1
  78. package/dist/modules/projects/hooks/list-project-users.hook.mjs.map +1 -1
  79. package/dist/modules/projects/hooks/remove-project-user.hook.mjs.map +1 -1
  80. package/dist/modules/subscriptions/actions/list-subscriptions.action.mjs.map +1 -1
  81. package/dist/modules/subscriptions/hooks/find-active-subscription.hook.mjs.map +1 -1
  82. package/dist/modules/subscriptions/hooks/list-subscriptions.hook.mjs.map +1 -1
  83. package/dist/modules/users/action/find-user-by-id.action.mjs.map +1 -1
  84. package/dist/modules/users/action/list-messages.action.mjs.map +1 -1
  85. package/dist/modules/users/action/mark-all-messages-as-read.action.mjs.map +1 -1
  86. package/dist/modules/users/action/mark-message-as-read.action.mjs.map +1 -1
  87. package/dist/modules/users/hooks/messages.hook.mjs.map +1 -1
  88. package/dist/modules/whitelabel/actions/find-whitelabel-styles.action.mjs.map +1 -1
  89. package/dist/modules/whitelabel/actions/find-whitelabel.action.mjs.map +1 -1
  90. package/dist/modules/whitelabel/services/whitelabel-styles.service.mjs.map +1 -1
  91. package/dist/providers/whitelabel.provider.mjs.map +1 -1
  92. package/dist/utils/countries.mjs.map +1 -1
  93. package/dist/utils/safeServerAction.mjs.map +1 -1
  94. package/dist/utils/withAction.mjs.map +1 -1
  95. package/package.json +90 -90
  96. package/src/components/account/ConfirmDeleteAccountModal.tsx +55 -55
  97. package/src/components/account/DeleteAccountModal.tsx +130 -130
  98. package/src/components/account/IsntPossibleDeleteAccountModal.tsx +49 -49
  99. package/src/components/account/hooks/useChangePhoneForm.tsx +81 -81
  100. package/src/components/account/hooks/useTwoFactorAuthForm.tsx +101 -101
  101. package/src/components/account/sections/ChangePhoneModal.tsx +231 -231
  102. package/src/components/embeds/CrispEmbed.tsx +101 -101
  103. package/src/components/embeds/FrillEmbed.tsx +119 -119
  104. package/src/components/layouts/AppMobileNavBar.tsx +111 -111
  105. package/src/components/layouts/AppNavBar.tsx +57 -57
  106. package/src/components/layouts/NavBar.tsx +122 -122
  107. package/src/components/layouts/UsersSelectorPopover.tsx +238 -238
  108. package/src/components/navigation/CancelledSubscriptionBanner.tsx +69 -69
  109. package/src/components/navigation/NavItemsContext.ts +20 -20
  110. package/src/components/navigation/ProjectSelectorPopover.tsx +2 -1
  111. package/src/components/navigation/shells/TabsMobileShell.tsx +72 -72
  112. package/src/components/navigation/subcomponents/ProjectSelector.tsx +2 -1
  113. package/src/components/pages/notifications/Notifications.tsx +160 -160
  114. package/src/components/ui/buttons/Button.tsx +57 -57
  115. package/src/components/ui/buttons/CancelButton.tsx +14 -14
  116. package/src/components/ui/buttons/CopyButton.tsx +54 -54
  117. package/src/components/ui/data-display/Accordion.tsx +81 -81
  118. package/src/components/ui/data-display/Badge.tsx +47 -47
  119. package/src/components/ui/data-display/Card.tsx +93 -93
  120. package/src/components/ui/data-display/Pagination.tsx +126 -126
  121. package/src/components/ui/data-display/ScrollArea.tsx +59 -59
  122. package/src/components/ui/data-display/Separator.tsx +29 -29
  123. package/src/components/ui/data-display/Table.tsx +117 -117
  124. package/src/components/ui/data-display/Tabs.tsx +67 -67
  125. package/src/components/ui/feedback/CircularProgress.tsx +75 -75
  126. package/src/components/ui/feedback/DefaultCircularProgress.tsx +61 -61
  127. package/src/components/ui/feedback/LoadingOverlay.tsx +31 -31
  128. package/src/components/ui/feedback/Progress.tsx +40 -40
  129. package/src/components/ui/feedback/Toast.tsx +101 -101
  130. package/src/components/ui/form/Calendar.tsx +228 -228
  131. package/src/components/ui/form/Checkbox.tsx +31 -31
  132. package/src/components/ui/form/DatePicker.tsx +97 -97
  133. package/src/components/ui/form/DateRangePicker.tsx +108 -108
  134. package/src/components/ui/form/Input.tsx +20 -20
  135. package/src/components/ui/form/InputOtp.tsx +80 -80
  136. package/src/components/ui/form/PhoneInput.tsx +205 -205
  137. package/src/components/ui/form/RadioGroup.tsx +45 -45
  138. package/src/components/ui/form/Select.tsx +200 -200
  139. package/src/components/ui/form/Switch.tsx +32 -32
  140. package/src/components/ui/form/Textarea.tsx +19 -19
  141. package/src/components/ui/overlay/Command.tsx +185 -185
  142. package/src/components/ui/overlay/Dialog.tsx +151 -151
  143. package/src/components/ui/overlay/Popover.tsx +49 -49
  144. package/src/components/ui/overlay/Sheet.tsx +166 -166
  145. package/src/components/ui/overlay/Tooltip.tsx +62 -62
  146. package/src/hooks/copy-to-clipboard.hook.tsx +67 -67
  147. package/src/index.ts +355 -355
  148. package/src/middleware.ts +4 -4
  149. package/src/modules/accounts/actions/account-management.action.ts +90 -90
  150. package/src/modules/accounts/actions/find-current-account.action.ts +9 -9
  151. package/src/modules/accounts/actions/list-currencies.action.ts +8 -8
  152. package/src/modules/accounts/actions/list-timezones.action.ts +8 -8
  153. package/src/modules/accounts/hooks/current-account.hook.tsx +22 -22
  154. package/src/modules/accounts/hooks/useAccountManagement.ts +85 -85
  155. package/src/modules/accounts/hooks/useCurrencies.ts +15 -15
  156. package/src/modules/accounts/hooks/useTimezones.ts +15 -15
  157. package/src/modules/accounts/services/account.service.ts +236 -236
  158. package/src/modules/accounts/types.ts +214 -214
  159. package/src/modules/auth/hooks/login.hook.tsx +13 -13
  160. package/src/modules/auth/hooks/logout.hook.tsx +11 -11
  161. package/src/modules/auth/hooks/register.hook.tsx +11 -11
  162. package/src/modules/ia-credits/actions/list-ia-credits.action.ts +8 -8
  163. package/src/modules/projects/actions/add-project-user.action.ts +9 -9
  164. package/src/modules/projects/actions/list-all-account-users.action.ts +9 -9
  165. package/src/modules/projects/actions/list-available-users.action.ts +9 -9
  166. package/src/modules/projects/actions/list-project-users.action.ts +9 -9
  167. package/src/modules/projects/actions/remove-project-user.action.ts +9 -9
  168. package/src/modules/projects/hooks/add-project-user.hook.ts +69 -69
  169. package/src/modules/projects/hooks/list-all-account-users.hook.ts +34 -34
  170. package/src/modules/projects/hooks/list-available-users.hook.ts +33 -33
  171. package/src/modules/projects/hooks/list-project-users.hook.ts +33 -33
  172. package/src/modules/projects/hooks/remove-project-user.hook.ts +69 -69
  173. package/src/modules/subscriptions/actions/list-subscriptions.action.ts +9 -9
  174. package/src/modules/subscriptions/hooks/find-active-subscription.hook.ts +19 -19
  175. package/src/modules/subscriptions/hooks/list-subscriptions.hook.ts +17 -17
  176. package/src/modules/users/action/find-user-by-id.action.ts +8 -8
  177. package/src/modules/users/action/list-messages.action.ts +12 -12
  178. package/src/modules/users/action/mark-all-messages-as-read.action.ts +8 -8
  179. package/src/modules/users/action/mark-message-as-read.action.ts +8 -8
  180. package/src/modules/users/hooks/messages.hook.ts +60 -60
  181. package/src/modules/whitelabel/actions/find-whitelabel-styles.action.ts +14 -14
  182. package/src/modules/whitelabel/actions/find-whitelabel.action.ts +23 -23
  183. package/src/modules/whitelabel/services/whitelabel-styles.service.ts +98 -98
  184. package/src/modules/whitelabel/styles-schema.ts +37 -37
  185. package/src/providers/whitelabel.provider.tsx +46 -46
  186. package/src/utils/countries.ts +224 -224
  187. package/src/utils/safeServerAction.ts +21 -21
  188. package/src/utils/withAction.ts +13 -13
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/modules/accounts/hooks/current-account.hook.tsx"],"sourcesContent":["'use client';\n\nimport { useQuery, useQueryClient } from '@tanstack/react-query';\nimport { findCurrentAccount } from '../actions/find-current-account.action';\nimport { withAction } from '../../../utils/withAction';\n\nexport const ACCOUNT_QUERY_KEY = ['account'];\n\nexport function useCurrentAccount() {\n return useQuery({\n queryKey: ACCOUNT_QUERY_KEY,\n queryFn: withAction(findCurrentAccount),\n staleTime: 0,\n gcTime: 10 * 60 * 1000,\n retry: false,\n });\n}\n\nexport function useInvalidateAccount() {\n const queryClient = useQueryClient();\n return () => queryClient.invalidateQueries({ queryKey: ACCOUNT_QUERY_KEY });\n}\n"],"mappings":";AAEA,SAAS,UAAU,sBAAsB;AACzC,SAAS,0BAA0B;AACnC,SAAS,kBAAkB;AAEpB,MAAM,oBAAoB,CAAC,SAAS;AAEpC,SAAS,oBAAoB;AAClC,SAAO,SAAS;AAAA,IACd,UAAU;AAAA,IACV,SAAS,WAAW,kBAAkB;AAAA,IACtC,WAAW;AAAA,IACX,QAAQ,KAAK,KAAK;AAAA,IAClB,OAAO;AAAA,EACT,CAAC;AACH;AAEO,SAAS,uBAAuB;AACrC,QAAM,cAAc,eAAe;AACnC,SAAO,MAAM,YAAY,kBAAkB,EAAE,UAAU,kBAAkB,CAAC;AAC5E;","names":[]}
1
+ {"version":3,"sources":["../../../../src/modules/accounts/hooks/current-account.hook.tsx"],"sourcesContent":["'use client';\r\n\r\nimport { useQuery, useQueryClient } from '@tanstack/react-query';\r\nimport { findCurrentAccount } from '../actions/find-current-account.action';\r\nimport { withAction } from '../../../utils/withAction';\r\n\r\nexport const ACCOUNT_QUERY_KEY = ['account'];\r\n\r\nexport function useCurrentAccount() {\r\n return useQuery({\r\n queryKey: ACCOUNT_QUERY_KEY,\r\n queryFn: withAction(findCurrentAccount),\r\n staleTime: 0,\r\n gcTime: 10 * 60 * 1000,\r\n retry: false,\r\n });\r\n}\r\n\r\nexport function useInvalidateAccount() {\r\n const queryClient = useQueryClient();\r\n return () => queryClient.invalidateQueries({ queryKey: ACCOUNT_QUERY_KEY });\r\n}\r\n"],"mappings":";AAEA,SAAS,UAAU,sBAAsB;AACzC,SAAS,0BAA0B;AACnC,SAAS,kBAAkB;AAEpB,MAAM,oBAAoB,CAAC,SAAS;AAEpC,SAAS,oBAAoB;AAClC,SAAO,SAAS;AAAA,IACd,UAAU;AAAA,IACV,SAAS,WAAW,kBAAkB;AAAA,IACtC,WAAW;AAAA,IACX,QAAQ,KAAK,KAAK;AAAA,IAClB,OAAO;AAAA,EACT,CAAC;AACH;AAEO,SAAS,uBAAuB;AACrC,QAAM,cAAc,eAAe;AACnC,SAAO,MAAM,YAAY,kBAAkB,EAAE,UAAU,kBAAkB,CAAC;AAC5E;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/modules/accounts/hooks/useAccountManagement.ts"],"sourcesContent":["'use client';\n\nimport { useMutation, useQueryClient } from '@tanstack/react-query';\nimport { USER_QUERY_KEY } from '../../auth/hooks/useUserQuery';\nimport { ACCOUNT_QUERY_KEY } from './current-account.hook';\nimport type {\n UpdateAccountRequest,\n UpdateAccountUserRequest,\n DeleteAccountUserResponse,\n DeleteAccountResponse,\n} from '../types';\nimport {\n updateUserAction,\n updateAccountAction,\n updateAccountUserByIdAction,\n deleteAccountUserAction,\n deleteAccountAction,\n} from '../actions/account-management.action';\nimport { withAction } from '../../../utils/withAction';\nimport type { UseMutationOptions } from '@tanstack/react-query';\n\nconst ACCOUNT_USERS_QUERY_KEY = ['account-users'];\n\nexport function useUpdateAccount() {\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: withAction(updateAccountAction),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ACCOUNT_USERS_QUERY_KEY });\n queryClient.invalidateQueries({ queryKey: ACCOUNT_QUERY_KEY });\n queryClient.invalidateQueries({ queryKey: USER_QUERY_KEY });\n },\n });\n}\n\nexport function useUpdateAccountUser() {\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: withAction(updateUserAction),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ACCOUNT_USERS_QUERY_KEY });\n queryClient.invalidateQueries({ queryKey: ACCOUNT_QUERY_KEY });\n queryClient.invalidateQueries({ queryKey: USER_QUERY_KEY });\n },\n });\n}\n\nexport function useUpdateAccountUserById() {\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: withAction(({ userId, ...user }: UpdateAccountUserRequest & { userId: number }) =>\n updateAccountUserByIdAction(userId, user)\n ),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ACCOUNT_USERS_QUERY_KEY });\n },\n });\n}\n\nexport function useDeleteAccountUser(\n options?: UseMutationOptions<DeleteAccountUserResponse, Error, number>\n) {\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: withAction(deleteAccountUserAction),\n ...options,\n onSuccess: (...params) => {\n options?.onSuccess?.(...params);\n queryClient.invalidateQueries({ queryKey: ACCOUNT_USERS_QUERY_KEY });\n },\n });\n}\n\nexport function useDeleteAccount(\n options?: UseMutationOptions<DeleteAccountResponse, Error, void>\n) {\n return useMutation({\n mutationFn: withAction(deleteAccountAction),\n ...options,\n });\n}\n"],"mappings":";AAEA,SAAS,aAAa,sBAAsB;AAC5C,SAAS,sBAAsB;AAC/B,SAAS,yBAAyB;AAOlC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,kBAAkB;AAG3B,MAAM,0BAA0B,CAAC,eAAe;AAEzC,SAAS,mBAAmB;AACjC,QAAM,cAAc,eAAe;AAEnC,SAAO,YAAY;AAAA,IACjB,YAAY,WAAW,mBAAmB;AAAA,IAC1C,WAAW,MAAM;AACf,kBAAY,kBAAkB,EAAE,UAAU,wBAAwB,CAAC;AACnE,kBAAY,kBAAkB,EAAE,UAAU,kBAAkB,CAAC;AAC7D,kBAAY,kBAAkB,EAAE,UAAU,eAAe,CAAC;AAAA,IAC5D;AAAA,EACF,CAAC;AACH;AAEO,SAAS,uBAAuB;AACrC,QAAM,cAAc,eAAe;AAEnC,SAAO,YAAY;AAAA,IACjB,YAAY,WAAW,gBAAgB;AAAA,IACvC,WAAW,MAAM;AACf,kBAAY,kBAAkB,EAAE,UAAU,wBAAwB,CAAC;AACnE,kBAAY,kBAAkB,EAAE,UAAU,kBAAkB,CAAC;AAC7D,kBAAY,kBAAkB,EAAE,UAAU,eAAe,CAAC;AAAA,IAC5D;AAAA,EACF,CAAC;AACH;AAEO,SAAS,2BAA2B;AACzC,QAAM,cAAc,eAAe;AAEnC,SAAO,YAAY;AAAA,IACjB,YAAY;AAAA,MAAW,CAAC,EAAE,QAAQ,GAAG,KAAK,MACxC,4BAA4B,QAAQ,IAAI;AAAA,IAC1C;AAAA,IACA,WAAW,MAAM;AACf,kBAAY,kBAAkB,EAAE,UAAU,wBAAwB,CAAC;AAAA,IACrE;AAAA,EACF,CAAC;AACH;AAEO,SAAS,qBACd,SACA;AACA,QAAM,cAAc,eAAe;AAEnC,SAAO,YAAY;AAAA,IACjB,YAAY,WAAW,uBAAuB;AAAA,IAC9C,GAAG;AAAA,IACH,WAAW,IAAI,WAAW;AACxB,eAAS,YAAY,GAAG,MAAM;AAC9B,kBAAY,kBAAkB,EAAE,UAAU,wBAAwB,CAAC;AAAA,IACrE;AAAA,EACF,CAAC;AACH;AAEO,SAAS,iBACd,SACA;AACA,SAAO,YAAY;AAAA,IACjB,YAAY,WAAW,mBAAmB;AAAA,IAC1C,GAAG;AAAA,EACL,CAAC;AACH;","names":[]}
1
+ {"version":3,"sources":["../../../../src/modules/accounts/hooks/useAccountManagement.ts"],"sourcesContent":["'use client';\r\n\r\nimport { useMutation, useQueryClient } from '@tanstack/react-query';\r\nimport { USER_QUERY_KEY } from '../../auth/hooks/useUserQuery';\r\nimport { ACCOUNT_QUERY_KEY } from './current-account.hook';\r\nimport type {\r\n UpdateAccountRequest,\r\n UpdateAccountUserRequest,\r\n DeleteAccountUserResponse,\r\n DeleteAccountResponse,\r\n} from '../types';\r\nimport {\r\n updateUserAction,\r\n updateAccountAction,\r\n updateAccountUserByIdAction,\r\n deleteAccountUserAction,\r\n deleteAccountAction,\r\n} from '../actions/account-management.action';\r\nimport { withAction } from '../../../utils/withAction';\r\nimport type { UseMutationOptions } from '@tanstack/react-query';\r\n\r\nconst ACCOUNT_USERS_QUERY_KEY = ['account-users'];\r\n\r\nexport function useUpdateAccount() {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation({\r\n mutationFn: withAction(updateAccountAction),\r\n onSuccess: () => {\r\n queryClient.invalidateQueries({ queryKey: ACCOUNT_USERS_QUERY_KEY });\r\n queryClient.invalidateQueries({ queryKey: ACCOUNT_QUERY_KEY });\r\n queryClient.invalidateQueries({ queryKey: USER_QUERY_KEY });\r\n },\r\n });\r\n}\r\n\r\nexport function useUpdateAccountUser() {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation({\r\n mutationFn: withAction(updateUserAction),\r\n onSuccess: () => {\r\n queryClient.invalidateQueries({ queryKey: ACCOUNT_USERS_QUERY_KEY });\r\n queryClient.invalidateQueries({ queryKey: ACCOUNT_QUERY_KEY });\r\n queryClient.invalidateQueries({ queryKey: USER_QUERY_KEY });\r\n },\r\n });\r\n}\r\n\r\nexport function useUpdateAccountUserById() {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation({\r\n mutationFn: withAction(({ userId, ...user }: UpdateAccountUserRequest & { userId: number }) =>\r\n updateAccountUserByIdAction(userId, user)\r\n ),\r\n onSuccess: () => {\r\n queryClient.invalidateQueries({ queryKey: ACCOUNT_USERS_QUERY_KEY });\r\n },\r\n });\r\n}\r\n\r\nexport function useDeleteAccountUser(\r\n options?: UseMutationOptions<DeleteAccountUserResponse, Error, number>\r\n) {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation({\r\n mutationFn: withAction(deleteAccountUserAction),\r\n ...options,\r\n onSuccess: (...params) => {\r\n options?.onSuccess?.(...params);\r\n queryClient.invalidateQueries({ queryKey: ACCOUNT_USERS_QUERY_KEY });\r\n },\r\n });\r\n}\r\n\r\nexport function useDeleteAccount(\r\n options?: UseMutationOptions<DeleteAccountResponse, Error, void>\r\n) {\r\n return useMutation({\r\n mutationFn: withAction(deleteAccountAction),\r\n ...options,\r\n });\r\n}\r\n"],"mappings":";AAEA,SAAS,aAAa,sBAAsB;AAC5C,SAAS,sBAAsB;AAC/B,SAAS,yBAAyB;AAOlC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,kBAAkB;AAG3B,MAAM,0BAA0B,CAAC,eAAe;AAEzC,SAAS,mBAAmB;AACjC,QAAM,cAAc,eAAe;AAEnC,SAAO,YAAY;AAAA,IACjB,YAAY,WAAW,mBAAmB;AAAA,IAC1C,WAAW,MAAM;AACf,kBAAY,kBAAkB,EAAE,UAAU,wBAAwB,CAAC;AACnE,kBAAY,kBAAkB,EAAE,UAAU,kBAAkB,CAAC;AAC7D,kBAAY,kBAAkB,EAAE,UAAU,eAAe,CAAC;AAAA,IAC5D;AAAA,EACF,CAAC;AACH;AAEO,SAAS,uBAAuB;AACrC,QAAM,cAAc,eAAe;AAEnC,SAAO,YAAY;AAAA,IACjB,YAAY,WAAW,gBAAgB;AAAA,IACvC,WAAW,MAAM;AACf,kBAAY,kBAAkB,EAAE,UAAU,wBAAwB,CAAC;AACnE,kBAAY,kBAAkB,EAAE,UAAU,kBAAkB,CAAC;AAC7D,kBAAY,kBAAkB,EAAE,UAAU,eAAe,CAAC;AAAA,IAC5D;AAAA,EACF,CAAC;AACH;AAEO,SAAS,2BAA2B;AACzC,QAAM,cAAc,eAAe;AAEnC,SAAO,YAAY;AAAA,IACjB,YAAY;AAAA,MAAW,CAAC,EAAE,QAAQ,GAAG,KAAK,MACxC,4BAA4B,QAAQ,IAAI;AAAA,IAC1C;AAAA,IACA,WAAW,MAAM;AACf,kBAAY,kBAAkB,EAAE,UAAU,wBAAwB,CAAC;AAAA,IACrE;AAAA,EACF,CAAC;AACH;AAEO,SAAS,qBACd,SACA;AACA,QAAM,cAAc,eAAe;AAEnC,SAAO,YAAY;AAAA,IACjB,YAAY,WAAW,uBAAuB;AAAA,IAC9C,GAAG;AAAA,IACH,WAAW,IAAI,WAAW;AACxB,eAAS,YAAY,GAAG,MAAM;AAC9B,kBAAY,kBAAkB,EAAE,UAAU,wBAAwB,CAAC;AAAA,IACrE;AAAA,EACF,CAAC;AACH;AAEO,SAAS,iBACd,SACA;AACA,SAAO,YAAY;AAAA,IACjB,YAAY,WAAW,mBAAmB;AAAA,IAC1C,GAAG;AAAA,EACL,CAAC;AACH;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/modules/accounts/hooks/useCurrencies.ts"],"sourcesContent":["'use client';\n\nimport { useQuery } from '@tanstack/react-query';\nimport { listCurrenciesAction } from '../actions/list-currencies.action';\nimport { withAction } from '../../../utils/withAction';\n\nexport const CURRENCIES_QUERY_KEY = ['currencies'];\n\nexport function useCurrencies() {\n return useQuery({\n queryKey: CURRENCIES_QUERY_KEY,\n queryFn: withAction(listCurrenciesAction),\n staleTime: Infinity,\n });\n}\n"],"mappings":";AAEA,SAAS,gBAAgB;AACzB,SAAS,4BAA4B;AACrC,SAAS,kBAAkB;AAEpB,MAAM,uBAAuB,CAAC,YAAY;AAE1C,SAAS,gBAAgB;AAC9B,SAAO,SAAS;AAAA,IACd,UAAU;AAAA,IACV,SAAS,WAAW,oBAAoB;AAAA,IACxC,WAAW;AAAA,EACb,CAAC;AACH;","names":[]}
1
+ {"version":3,"sources":["../../../../src/modules/accounts/hooks/useCurrencies.ts"],"sourcesContent":["'use client';\r\n\r\nimport { useQuery } from '@tanstack/react-query';\r\nimport { listCurrenciesAction } from '../actions/list-currencies.action';\r\nimport { withAction } from '../../../utils/withAction';\r\n\r\nexport const CURRENCIES_QUERY_KEY = ['currencies'];\r\n\r\nexport function useCurrencies() {\r\n return useQuery({\r\n queryKey: CURRENCIES_QUERY_KEY,\r\n queryFn: withAction(listCurrenciesAction),\r\n staleTime: Infinity,\r\n });\r\n}\r\n"],"mappings":";AAEA,SAAS,gBAAgB;AACzB,SAAS,4BAA4B;AACrC,SAAS,kBAAkB;AAEpB,MAAM,uBAAuB,CAAC,YAAY;AAE1C,SAAS,gBAAgB;AAC9B,SAAO,SAAS;AAAA,IACd,UAAU;AAAA,IACV,SAAS,WAAW,oBAAoB;AAAA,IACxC,WAAW;AAAA,EACb,CAAC;AACH;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/modules/accounts/hooks/useTimezones.ts"],"sourcesContent":["'use client';\n\nimport { useQuery } from '@tanstack/react-query';\nimport { listTimezonesAction } from '../actions/list-timezones.action';\nimport { withAction } from '../../../utils/withAction';\n\nexport const TIMEZONES_QUERY_KEY = ['timezones'];\n\nexport function useTimezones() {\n return useQuery({\n queryKey: TIMEZONES_QUERY_KEY,\n queryFn: withAction(listTimezonesAction),\n staleTime: Infinity,\n });\n}\n"],"mappings":";AAEA,SAAS,gBAAgB;AACzB,SAAS,2BAA2B;AACpC,SAAS,kBAAkB;AAEpB,MAAM,sBAAsB,CAAC,WAAW;AAExC,SAAS,eAAe;AAC7B,SAAO,SAAS;AAAA,IACd,UAAU;AAAA,IACV,SAAS,WAAW,mBAAmB;AAAA,IACvC,WAAW;AAAA,EACb,CAAC;AACH;","names":[]}
1
+ {"version":3,"sources":["../../../../src/modules/accounts/hooks/useTimezones.ts"],"sourcesContent":["'use client';\r\n\r\nimport { useQuery } from '@tanstack/react-query';\r\nimport { listTimezonesAction } from '../actions/list-timezones.action';\r\nimport { withAction } from '../../../utils/withAction';\r\n\r\nexport const TIMEZONES_QUERY_KEY = ['timezones'];\r\n\r\nexport function useTimezones() {\r\n return useQuery({\r\n queryKey: TIMEZONES_QUERY_KEY,\r\n queryFn: withAction(listTimezonesAction),\r\n staleTime: Infinity,\r\n });\r\n}\r\n"],"mappings":";AAEA,SAAS,gBAAgB;AACzB,SAAS,2BAA2B;AACpC,SAAS,kBAAkB;AAEpB,MAAM,sBAAsB,CAAC,WAAW;AAExC,SAAS,eAAe;AAC7B,SAAO,SAAS;AAAA,IACd,UAAU;AAAA,IACV,SAAS,WAAW,mBAAmB;AAAA,IACvC,WAAW;AAAA,EACb,CAAC;AACH;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/modules/accounts/services/account.service.ts"],"sourcesContent":["import 'server-only';\n\nimport { api } from '../../../infra/api/client';\nimport { ApiError } from '../../../infra/api/types';\nimport { buildQueryParams } from '../../../infra/utils/params';\nimport { getUserContext } from '../../auth/utils/get-user-context';\nimport { fileToBase64 } from '../../../utils/file/index';\nimport type {\n Account,\n AccountUsersPaginationParams,\n ChangePasswordRequest,\n ChangePasswordResponse,\n ChangeUserPhotoResponse,\n CreateAccountUserRequest,\n CreateAccountUserResponse,\n DeleteAccountResponse,\n DeleteAccountUserResponse,\n GetAccountDataResponse,\n ListAccountUsersResponse,\n UpdateAccountRequest,\n UpdateAccountResponse,\n UpdateAccountUserRequest,\n UpdateAccountUserResponse,\n} from '../types';\n\nclass AccountService {\n async findCurrentAccount(): Promise<Account> {\n const { id_account } = await getUserContext();\n const response = await api.apps.get<GetAccountDataResponse>(`/accounts/${id_account}`);\n\n if (response.status === 0 || !response.data?.[0]) {\n throw new ApiError(\n response.message || 'Erro ao buscar dados da conta',\n 'GET_ACCOUNT_FAILED',\n 400\n );\n }\n\n return response.data[0];\n }\n\n async listAccountUsers(params?: Partial<AccountUsersPaginationParams>) {\n const { id_account } = await getUserContext();\n const queryParams = buildQueryParams(params);\n const endpoint = `/accounts/${id_account}/users?${queryParams}`;\n const response = await api.apps.get<ListAccountUsersResponse>(endpoint);\n\n if (response.status === 0) {\n throw new ApiError(\n response.message || 'Erro ao listar usuários',\n 'LIST_ACCOUNT_USERS_FAILED',\n 400\n );\n }\n\n return {\n users: response.data || [],\n total: response.total || 0,\n };\n }\n\n async changeUserPhoto(userId: number, photo: File): Promise<ChangeUserPhotoResponse> {\n const { id_account } = await getUserContext();\n const base64 = await fileToBase64(photo);\n const response = await api.apps.put<ChangeUserPhotoResponse>(\n `/accounts/${id_account}/users/${userId}/file/photo`,\n { file: base64 }\n );\n\n if (response.status === 0) {\n throw new ApiError(\n response.message || 'Erro ao mudar foto do usuário',\n 'CHANGE_USER_PHOTO_FAILED',\n 400\n );\n }\n\n return response;\n }\n\n async deleteAccountUser(userId: number): Promise<DeleteAccountUserResponse> {\n const { id_account } = await getUserContext();\n const response = await api.apps.delete<DeleteAccountUserResponse>(\n `/accounts/${id_account}/users/${userId}`\n );\n\n if (response.status === 0) {\n throw new ApiError(response.message || 'Erro ao deletar usuário', 'DELETE_USER_FAILED', 400);\n }\n\n return response;\n }\n\n async deleteAccount(): Promise<DeleteAccountResponse> {\n const { id_account } = await getUserContext();\n const response = await api.apps.delete<DeleteAccountResponse>(`/accounts/${id_account}`);\n\n if (response.status === 0) {\n throw new ApiError(response.message || 'Erro ao deletar conta', 'DELETE_ACCOUNT_FAILED', 400);\n }\n\n return response;\n }\n\n async createAccountUser(user: CreateAccountUserRequest): Promise<CreateAccountUserResponse> {\n const { id_account } = await getUserContext();\n const response = await api.apps.post<CreateAccountUserResponse>(\n `/accounts/${id_account}/users`,\n {\n ...user,\n photo: user.photo ? await fileToBase64(user.photo) : null,\n }\n );\n\n if (response.status === 0) {\n throw new ApiError(response.message || 'Erro ao criar usuário', 'CREATE_USER_FAILED', 400);\n }\n\n return response;\n }\n\n private async resolvePhotoField(user: UpdateAccountUserRequest): Promise<{ photo?: string | null }> {\n if (user.photo === undefined) return {};\n const photo =\n user.photo != null && typeof user.photo !== 'string'\n ? await fileToBase64(user.photo)\n : user.photo;\n return { photo };\n }\n\n async updateAccountUser(user: UpdateAccountUserRequest): Promise<UpdateAccountUserResponse> {\n const { id_account, id_user } = await getUserContext();\n const response = await api.apps.put<UpdateAccountUserResponse>(\n `/accounts/${id_account}/users/${id_user}`,\n { ...user, ...(await this.resolvePhotoField(user)) }\n );\n\n if (response.status === 0) {\n throw new ApiError(\n response.message || 'Erro ao atualizar usuário',\n 'UPDATE_USER_FAILED',\n 400\n );\n }\n\n return response;\n }\n\n async updateAccountUserById(\n userId: number,\n user: UpdateAccountUserRequest\n ): Promise<UpdateAccountUserResponse> {\n const { id_account } = await getUserContext();\n const response = await api.apps.put<UpdateAccountUserResponse>(\n `/accounts/${id_account}/users/${userId}`,\n { ...user, ...(await this.resolvePhotoField(user)) }\n );\n\n if (response.status === 0) {\n throw new ApiError(\n response.message || 'Erro ao atualizar usuário',\n 'UPDATE_USER_FAILED',\n 400\n );\n }\n\n return response;\n }\n\n async updateAccount(data: UpdateAccountRequest): Promise<UpdateAccountResponse> {\n const { id_account } = await getUserContext();\n const response = await api.apps.put<UpdateAccountResponse>(`/accounts/${id_account}`, data);\n\n if (response.status === 0) {\n throw new ApiError(\n response.message || 'Erro ao atualizar conta',\n 'UPDATE_ACCOUNT_FAILED',\n 400\n );\n }\n\n return response;\n }\n\n async requestContactReset(type: 'email' | 'phone', newContact: string, ddi?: string): Promise<void> {\n const { id_account, id_user } = await getUserContext();\n const response = await api.apps.post<{ status: number; message: string }>(\n `/accounts/${id_account}/users/${id_user}/resetContact/request`,\n { type, newContact, ...(ddi ? { ddi } : {}) }\n );\n\n if (response.status === 0) {\n throw new ApiError(\n response.message || 'Erro ao solicitar alteração',\n 'REQUEST_CONTACT_RESET_FAILED',\n 400\n );\n }\n }\n\n async confirmContactReset(type: 'email' | 'phone', token: string, newContact: string, ddi?: string): Promise<void> {\n const { id_account, id_user } = await getUserContext();\n const response = await api.apps.post<{ status: number; message: string }>(\n `/accounts/${id_account}/users/${id_user}/resetContact/confirm`,\n { type, token, newContact, ...(ddi ? { ddi } : {}) }\n );\n\n if (response.status === 0) {\n throw new ApiError(\n response.message || 'Código inválido ou expirado',\n 'CONFIRM_CONTACT_RESET_FAILED',\n 400\n );\n }\n }\n\n async changePassword(data: ChangePasswordRequest): Promise<ChangePasswordResponse> {\n const { id_account, id_user } = await getUserContext();\n const response = await api.apps.put<ChangePasswordResponse>(\n `/accounts/${id_account}/users/${id_user}/action/changePassword`,\n data\n );\n\n if (response.status === 0) {\n throw new ApiError(\n response.message || 'Erro ao alterar senha',\n 'CHANGE_PASSWORD_FAILED',\n 400\n );\n }\n\n return response;\n }\n}\n\nexport const accountService = new AccountService();\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../../src/modules/accounts/services/account.service.ts"],"sourcesContent":["import 'server-only';\r\n\r\nimport { api } from '../../../infra/api/client';\r\nimport { ApiError } from '../../../infra/api/types';\r\nimport { buildQueryParams } from '../../../infra/utils/params';\r\nimport { getUserContext } from '../../auth/utils/get-user-context';\r\nimport { fileToBase64 } from '../../../utils/file/index';\r\nimport type {\r\n Account,\r\n AccountUsersPaginationParams,\r\n ChangePasswordRequest,\r\n ChangePasswordResponse,\r\n ChangeUserPhotoResponse,\r\n CreateAccountUserRequest,\r\n CreateAccountUserResponse,\r\n DeleteAccountResponse,\r\n DeleteAccountUserResponse,\r\n GetAccountDataResponse,\r\n ListAccountUsersResponse,\r\n UpdateAccountRequest,\r\n UpdateAccountResponse,\r\n UpdateAccountUserRequest,\r\n UpdateAccountUserResponse,\r\n} from '../types';\r\n\r\nclass AccountService {\r\n async findCurrentAccount(): Promise<Account> {\r\n const { id_account } = await getUserContext();\r\n const response = await api.apps.get<GetAccountDataResponse>(`/accounts/${id_account}`);\r\n\r\n if (response.status === 0 || !response.data?.[0]) {\r\n throw new ApiError(\r\n response.message || 'Erro ao buscar dados da conta',\r\n 'GET_ACCOUNT_FAILED',\r\n 400\r\n );\r\n }\r\n\r\n return response.data[0];\r\n }\r\n\r\n async listAccountUsers(params?: Partial<AccountUsersPaginationParams>) {\r\n const { id_account } = await getUserContext();\r\n const queryParams = buildQueryParams(params);\r\n const endpoint = `/accounts/${id_account}/users?${queryParams}`;\r\n const response = await api.apps.get<ListAccountUsersResponse>(endpoint);\r\n\r\n if (response.status === 0) {\r\n throw new ApiError(\r\n response.message || 'Erro ao listar usuários',\r\n 'LIST_ACCOUNT_USERS_FAILED',\r\n 400\r\n );\r\n }\r\n\r\n return {\r\n users: response.data || [],\r\n total: response.total || 0,\r\n };\r\n }\r\n\r\n async changeUserPhoto(userId: number, photo: File): Promise<ChangeUserPhotoResponse> {\r\n const { id_account } = await getUserContext();\r\n const base64 = await fileToBase64(photo);\r\n const response = await api.apps.put<ChangeUserPhotoResponse>(\r\n `/accounts/${id_account}/users/${userId}/file/photo`,\r\n { file: base64 }\r\n );\r\n\r\n if (response.status === 0) {\r\n throw new ApiError(\r\n response.message || 'Erro ao mudar foto do usuário',\r\n 'CHANGE_USER_PHOTO_FAILED',\r\n 400\r\n );\r\n }\r\n\r\n return response;\r\n }\r\n\r\n async deleteAccountUser(userId: number): Promise<DeleteAccountUserResponse> {\r\n const { id_account } = await getUserContext();\r\n const response = await api.apps.delete<DeleteAccountUserResponse>(\r\n `/accounts/${id_account}/users/${userId}`\r\n );\r\n\r\n if (response.status === 0) {\r\n throw new ApiError(response.message || 'Erro ao deletar usuário', 'DELETE_USER_FAILED', 400);\r\n }\r\n\r\n return response;\r\n }\r\n\r\n async deleteAccount(): Promise<DeleteAccountResponse> {\r\n const { id_account } = await getUserContext();\r\n const response = await api.apps.delete<DeleteAccountResponse>(`/accounts/${id_account}`);\r\n\r\n if (response.status === 0) {\r\n throw new ApiError(response.message || 'Erro ao deletar conta', 'DELETE_ACCOUNT_FAILED', 400);\r\n }\r\n\r\n return response;\r\n }\r\n\r\n async createAccountUser(user: CreateAccountUserRequest): Promise<CreateAccountUserResponse> {\r\n const { id_account } = await getUserContext();\r\n const response = await api.apps.post<CreateAccountUserResponse>(\r\n `/accounts/${id_account}/users`,\r\n {\r\n ...user,\r\n photo: user.photo ? await fileToBase64(user.photo) : null,\r\n }\r\n );\r\n\r\n if (response.status === 0) {\r\n throw new ApiError(response.message || 'Erro ao criar usuário', 'CREATE_USER_FAILED', 400);\r\n }\r\n\r\n return response;\r\n }\r\n\r\n private async resolvePhotoField(user: UpdateAccountUserRequest): Promise<{ photo?: string | null }> {\r\n if (user.photo === undefined) return {};\r\n const photo =\r\n user.photo != null && typeof user.photo !== 'string'\r\n ? await fileToBase64(user.photo)\r\n : user.photo;\r\n return { photo };\r\n }\r\n\r\n async updateAccountUser(user: UpdateAccountUserRequest): Promise<UpdateAccountUserResponse> {\r\n const { id_account, id_user } = await getUserContext();\r\n const response = await api.apps.put<UpdateAccountUserResponse>(\r\n `/accounts/${id_account}/users/${id_user}`,\r\n { ...user, ...(await this.resolvePhotoField(user)) }\r\n );\r\n\r\n if (response.status === 0) {\r\n throw new ApiError(\r\n response.message || 'Erro ao atualizar usuário',\r\n 'UPDATE_USER_FAILED',\r\n 400\r\n );\r\n }\r\n\r\n return response;\r\n }\r\n\r\n async updateAccountUserById(\r\n userId: number,\r\n user: UpdateAccountUserRequest\r\n ): Promise<UpdateAccountUserResponse> {\r\n const { id_account } = await getUserContext();\r\n const response = await api.apps.put<UpdateAccountUserResponse>(\r\n `/accounts/${id_account}/users/${userId}`,\r\n { ...user, ...(await this.resolvePhotoField(user)) }\r\n );\r\n\r\n if (response.status === 0) {\r\n throw new ApiError(\r\n response.message || 'Erro ao atualizar usuário',\r\n 'UPDATE_USER_FAILED',\r\n 400\r\n );\r\n }\r\n\r\n return response;\r\n }\r\n\r\n async updateAccount(data: UpdateAccountRequest): Promise<UpdateAccountResponse> {\r\n const { id_account } = await getUserContext();\r\n const response = await api.apps.put<UpdateAccountResponse>(`/accounts/${id_account}`, data);\r\n\r\n if (response.status === 0) {\r\n throw new ApiError(\r\n response.message || 'Erro ao atualizar conta',\r\n 'UPDATE_ACCOUNT_FAILED',\r\n 400\r\n );\r\n }\r\n\r\n return response;\r\n }\r\n\r\n async requestContactReset(type: 'email' | 'phone', newContact: string, ddi?: string): Promise<void> {\r\n const { id_account, id_user } = await getUserContext();\r\n const response = await api.apps.post<{ status: number; message: string }>(\r\n `/accounts/${id_account}/users/${id_user}/resetContact/request`,\r\n { type, newContact, ...(ddi ? { ddi } : {}) }\r\n );\r\n\r\n if (response.status === 0) {\r\n throw new ApiError(\r\n response.message || 'Erro ao solicitar alteração',\r\n 'REQUEST_CONTACT_RESET_FAILED',\r\n 400\r\n );\r\n }\r\n }\r\n\r\n async confirmContactReset(type: 'email' | 'phone', token: string, newContact: string, ddi?: string): Promise<void> {\r\n const { id_account, id_user } = await getUserContext();\r\n const response = await api.apps.post<{ status: number; message: string }>(\r\n `/accounts/${id_account}/users/${id_user}/resetContact/confirm`,\r\n { type, token, newContact, ...(ddi ? { ddi } : {}) }\r\n );\r\n\r\n if (response.status === 0) {\r\n throw new ApiError(\r\n response.message || 'Código inválido ou expirado',\r\n 'CONFIRM_CONTACT_RESET_FAILED',\r\n 400\r\n );\r\n }\r\n }\r\n\r\n async changePassword(data: ChangePasswordRequest): Promise<ChangePasswordResponse> {\r\n const { id_account, id_user } = await getUserContext();\r\n const response = await api.apps.put<ChangePasswordResponse>(\r\n `/accounts/${id_account}/users/${id_user}/action/changePassword`,\r\n data\r\n );\r\n\r\n if (response.status === 0) {\r\n throw new ApiError(\r\n response.message || 'Erro ao alterar senha',\r\n 'CHANGE_PASSWORD_FAILED',\r\n 400\r\n );\r\n }\r\n\r\n return response;\r\n }\r\n}\r\n\r\nexport const accountService = new AccountService();\r\n"],"mappings":"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","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/modules/auth/hooks/login.hook.tsx"],"sourcesContent":["\"use client\";\n\nimport { useMutation } from \"@tanstack/react-query\";\nimport { loginAction } from \"../actions/login.action\";\nimport { LoginRequest, LoginSuccessResponse } from \"../schema\";\nimport { withAction } from \"../../../utils/withAction\";\n\nexport function useLogin() {\n return useMutation({\n mutationFn: (credentials: LoginRequest) =>\n withAction(loginAction)(credentials) as Promise<LoginSuccessResponse>,\n });\n}\n"],"mappings":";AAEA,SAAS,mBAAmB;AAC5B,SAAS,mBAAmB;AAE5B,SAAS,kBAAkB;AAEpB,SAAS,WAAW;AACzB,SAAO,YAAY;AAAA,IACjB,YAAY,CAAC,gBACX,WAAW,WAAW,EAAE,WAAW;AAAA,EACvC,CAAC;AACH;","names":[]}
1
+ {"version":3,"sources":["../../../../src/modules/auth/hooks/login.hook.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport { useMutation } from \"@tanstack/react-query\";\r\nimport { loginAction } from \"../actions/login.action\";\r\nimport { LoginRequest, LoginSuccessResponse } from \"../schema\";\r\nimport { withAction } from \"../../../utils/withAction\";\r\n\r\nexport function useLogin() {\r\n return useMutation({\r\n mutationFn: (credentials: LoginRequest) =>\r\n withAction(loginAction)(credentials) as Promise<LoginSuccessResponse>,\r\n });\r\n}\r\n"],"mappings":";AAEA,SAAS,mBAAmB;AAC5B,SAAS,mBAAmB;AAE5B,SAAS,kBAAkB;AAEpB,SAAS,WAAW;AACzB,SAAO,YAAY;AAAA,IACjB,YAAY,CAAC,gBACX,WAAW,WAAW,EAAE,WAAW;AAAA,EACvC,CAAC;AACH;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/modules/auth/hooks/logout.hook.tsx"],"sourcesContent":["\"use client\";\n\nimport { useMutation } from \"@tanstack/react-query\";\nimport { logoutAction } from \"../actions/logout.action\";\nimport { withAction } from \"../../../utils/withAction\";\n\nexport function useLogout() {\n return useMutation({\n mutationFn: withAction(logoutAction),\n });\n}\n"],"mappings":";AAEA,SAAS,mBAAmB;AAC5B,SAAS,oBAAoB;AAC7B,SAAS,kBAAkB;AAEpB,SAAS,YAAY;AAC1B,SAAO,YAAY;AAAA,IACjB,YAAY,WAAW,YAAY;AAAA,EACrC,CAAC;AACH;","names":[]}
1
+ {"version":3,"sources":["../../../../src/modules/auth/hooks/logout.hook.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport { useMutation } from \"@tanstack/react-query\";\r\nimport { logoutAction } from \"../actions/logout.action\";\r\nimport { withAction } from \"../../../utils/withAction\";\r\n\r\nexport function useLogout() {\r\n return useMutation({\r\n mutationFn: withAction(logoutAction),\r\n });\r\n}\r\n"],"mappings":";AAEA,SAAS,mBAAmB;AAC5B,SAAS,oBAAoB;AAC7B,SAAS,kBAAkB;AAEpB,SAAS,YAAY;AAC1B,SAAO,YAAY;AAAA,IACjB,YAAY,WAAW,YAAY;AAAA,EACrC,CAAC;AACH;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/modules/auth/hooks/register.hook.tsx"],"sourcesContent":["\"use client\";\n\nimport { useMutation } from \"@tanstack/react-query\";\nimport { registerAction } from \"../actions/register.action\";\nimport { withAction } from \"../../../utils/withAction\";\n\nexport function useRegister() {\n return useMutation({\n mutationFn: withAction(registerAction),\n });\n}\n"],"mappings":";AAEA,SAAS,mBAAmB;AAC5B,SAAS,sBAAsB;AAC/B,SAAS,kBAAkB;AAEpB,SAAS,cAAc;AAC5B,SAAO,YAAY;AAAA,IACjB,YAAY,WAAW,cAAc;AAAA,EACvC,CAAC;AACH;","names":[]}
1
+ {"version":3,"sources":["../../../../src/modules/auth/hooks/register.hook.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport { useMutation } from \"@tanstack/react-query\";\r\nimport { registerAction } from \"../actions/register.action\";\r\nimport { withAction } from \"../../../utils/withAction\";\r\n\r\nexport function useRegister() {\r\n return useMutation({\r\n mutationFn: withAction(registerAction),\r\n });\r\n}\r\n"],"mappings":";AAEA,SAAS,mBAAmB;AAC5B,SAAS,sBAAsB;AAC/B,SAAS,kBAAkB;AAEpB,SAAS,cAAc;AAC5B,SAAO,YAAY;AAAA,IACjB,YAAY,WAAW,cAAc;AAAA,EACvC,CAAC;AACH;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/modules/ia-credits/actions/list-ia-credits.action.ts"],"sourcesContent":["'use server';\n\nimport { safeServerAction } from '../../../utils/safeServerAction';\nimport { iaCreditsService } from '../services/ia-credits.service';\n\nexport async function listIaCreditsAction(subscriptionId: number | string) {\n return safeServerAction(() => iaCreditsService.listOperations(subscriptionId));\n}\n"],"mappings":";AAEA,SAAS,wBAAwB;AACjC,SAAS,wBAAwB;AAEjC,eAAsB,oBAAoB,gBAAiC;AACzE,SAAO,iBAAiB,MAAM,iBAAiB,eAAe,cAAc,CAAC;AAC/E;","names":[]}
1
+ {"version":3,"sources":["../../../../src/modules/ia-credits/actions/list-ia-credits.action.ts"],"sourcesContent":["'use server';\r\n\r\nimport { safeServerAction } from '../../../utils/safeServerAction';\r\nimport { iaCreditsService } from '../services/ia-credits.service';\r\n\r\nexport async function listIaCreditsAction(subscriptionId: number | string) {\r\n return safeServerAction(() => iaCreditsService.listOperations(subscriptionId));\r\n}\r\n"],"mappings":";AAEA,SAAS,wBAAwB;AACjC,SAAS,wBAAwB;AAEjC,eAAsB,oBAAoB,gBAAiC;AACzE,SAAO,iBAAiB,MAAM,iBAAiB,eAAe,cAAc,CAAC;AAC/E;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/modules/projects/actions/add-project-user.action.ts"],"sourcesContent":["'use server';\n\nimport { safeServerAction } from '../../../utils/safeServerAction';\nimport { projectUsersService } from '../services/project-users.service';\nimport type { AddRemoveProjectUsersParams } from '../types';\n\nexport async function addProjectUserAction(params: AddRemoveProjectUsersParams) {\n return safeServerAction(() => projectUsersService.addToProject(params));\n}\n"],"mappings":";AAEA,SAAS,wBAAwB;AACjC,SAAS,2BAA2B;AAGpC,eAAsB,qBAAqB,QAAqC;AAC9E,SAAO,iBAAiB,MAAM,oBAAoB,aAAa,MAAM,CAAC;AACxE;","names":[]}
1
+ {"version":3,"sources":["../../../../src/modules/projects/actions/add-project-user.action.ts"],"sourcesContent":["'use server';\r\n\r\nimport { safeServerAction } from '../../../utils/safeServerAction';\r\nimport { projectUsersService } from '../services/project-users.service';\r\nimport type { AddRemoveProjectUsersParams } from '../types';\r\n\r\nexport async function addProjectUserAction(params: AddRemoveProjectUsersParams) {\r\n return safeServerAction(() => projectUsersService.addToProject(params));\r\n}\r\n"],"mappings":";AAEA,SAAS,wBAAwB;AACjC,SAAS,2BAA2B;AAGpC,eAAsB,qBAAqB,QAAqC;AAC9E,SAAO,iBAAiB,MAAM,oBAAoB,aAAa,MAAM,CAAC;AACxE;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/modules/projects/actions/list-all-account-users.action.ts"],"sourcesContent":["'use server';\n\nimport { safeServerAction } from '../../../utils/safeServerAction';\nimport { projectUsersService } from '../services/project-users.service';\nimport type { ListUsersParams } from '../types';\n\nexport async function listAllAccountUsersAction(params: ListUsersParams = {}) {\n return safeServerAction(() => projectUsersService.listAllAccountUsers(params));\n}\n"],"mappings":";AAEA,SAAS,wBAAwB;AACjC,SAAS,2BAA2B;AAGpC,eAAsB,0BAA0B,SAA0B,CAAC,GAAG;AAC5E,SAAO,iBAAiB,MAAM,oBAAoB,oBAAoB,MAAM,CAAC;AAC/E;","names":[]}
1
+ {"version":3,"sources":["../../../../src/modules/projects/actions/list-all-account-users.action.ts"],"sourcesContent":["'use server';\r\n\r\nimport { safeServerAction } from '../../../utils/safeServerAction';\r\nimport { projectUsersService } from '../services/project-users.service';\r\nimport type { ListUsersParams } from '../types';\r\n\r\nexport async function listAllAccountUsersAction(params: ListUsersParams = {}) {\r\n return safeServerAction(() => projectUsersService.listAllAccountUsers(params));\r\n}\r\n"],"mappings":";AAEA,SAAS,wBAAwB;AACjC,SAAS,2BAA2B;AAGpC,eAAsB,0BAA0B,SAA0B,CAAC,GAAG;AAC5E,SAAO,iBAAiB,MAAM,oBAAoB,oBAAoB,MAAM,CAAC;AAC/E;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/modules/projects/actions/list-available-users.action.ts"],"sourcesContent":["'use server';\n\nimport { safeServerAction } from '../../../utils/safeServerAction';\nimport { projectUsersService } from '../services/project-users.service';\nimport type { ListUsersParams } from '../types';\n\nexport async function listAvailableUsersAction(projectId: number, params: ListUsersParams = {}) {\n return safeServerAction(() => projectUsersService.listNotInProject(projectId, params));\n}\n"],"mappings":";AAEA,SAAS,wBAAwB;AACjC,SAAS,2BAA2B;AAGpC,eAAsB,yBAAyB,WAAmB,SAA0B,CAAC,GAAG;AAC9F,SAAO,iBAAiB,MAAM,oBAAoB,iBAAiB,WAAW,MAAM,CAAC;AACvF;","names":[]}
1
+ {"version":3,"sources":["../../../../src/modules/projects/actions/list-available-users.action.ts"],"sourcesContent":["'use server';\r\n\r\nimport { safeServerAction } from '../../../utils/safeServerAction';\r\nimport { projectUsersService } from '../services/project-users.service';\r\nimport type { ListUsersParams } from '../types';\r\n\r\nexport async function listAvailableUsersAction(projectId: number, params: ListUsersParams = {}) {\r\n return safeServerAction(() => projectUsersService.listNotInProject(projectId, params));\r\n}\r\n"],"mappings":";AAEA,SAAS,wBAAwB;AACjC,SAAS,2BAA2B;AAGpC,eAAsB,yBAAyB,WAAmB,SAA0B,CAAC,GAAG;AAC9F,SAAO,iBAAiB,MAAM,oBAAoB,iBAAiB,WAAW,MAAM,CAAC;AACvF;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/modules/projects/actions/list-project-users.action.ts"],"sourcesContent":["'use server';\n\nimport { safeServerAction } from '../../../utils/safeServerAction';\nimport { projectUsersService } from '../services/project-users.service';\nimport type { ListUsersParams } from '../types';\n\nexport async function listProjectUsersAction(projectId: number, params: ListUsersParams = {}) {\n return safeServerAction(() => projectUsersService.listInProject(projectId, params));\n}\n"],"mappings":";AAEA,SAAS,wBAAwB;AACjC,SAAS,2BAA2B;AAGpC,eAAsB,uBAAuB,WAAmB,SAA0B,CAAC,GAAG;AAC5F,SAAO,iBAAiB,MAAM,oBAAoB,cAAc,WAAW,MAAM,CAAC;AACpF;","names":[]}
1
+ {"version":3,"sources":["../../../../src/modules/projects/actions/list-project-users.action.ts"],"sourcesContent":["'use server';\r\n\r\nimport { safeServerAction } from '../../../utils/safeServerAction';\r\nimport { projectUsersService } from '../services/project-users.service';\r\nimport type { ListUsersParams } from '../types';\r\n\r\nexport async function listProjectUsersAction(projectId: number, params: ListUsersParams = {}) {\r\n return safeServerAction(() => projectUsersService.listInProject(projectId, params));\r\n}\r\n"],"mappings":";AAEA,SAAS,wBAAwB;AACjC,SAAS,2BAA2B;AAGpC,eAAsB,uBAAuB,WAAmB,SAA0B,CAAC,GAAG;AAC5F,SAAO,iBAAiB,MAAM,oBAAoB,cAAc,WAAW,MAAM,CAAC;AACpF;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/modules/projects/actions/remove-project-user.action.ts"],"sourcesContent":["'use server';\n\nimport { safeServerAction } from '../../../utils/safeServerAction';\nimport { projectUsersService } from '../services/project-users.service';\nimport type { AddRemoveProjectUsersParams } from '../types';\n\nexport async function removeProjectUserAction(params: AddRemoveProjectUsersParams) {\n return safeServerAction(() => projectUsersService.removeFromProject(params));\n}\n"],"mappings":";AAEA,SAAS,wBAAwB;AACjC,SAAS,2BAA2B;AAGpC,eAAsB,wBAAwB,QAAqC;AACjF,SAAO,iBAAiB,MAAM,oBAAoB,kBAAkB,MAAM,CAAC;AAC7E;","names":[]}
1
+ {"version":3,"sources":["../../../../src/modules/projects/actions/remove-project-user.action.ts"],"sourcesContent":["'use server';\r\n\r\nimport { safeServerAction } from '../../../utils/safeServerAction';\r\nimport { projectUsersService } from '../services/project-users.service';\r\nimport type { AddRemoveProjectUsersParams } from '../types';\r\n\r\nexport async function removeProjectUserAction(params: AddRemoveProjectUsersParams) {\r\n return safeServerAction(() => projectUsersService.removeFromProject(params));\r\n}\r\n"],"mappings":";AAEA,SAAS,wBAAwB;AACjC,SAAS,2BAA2B;AAGpC,eAAsB,wBAAwB,QAAqC;AACjF,SAAO,iBAAiB,MAAM,oBAAoB,kBAAkB,MAAM,CAAC;AAC7E;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/modules/projects/hooks/add-project-user.hook.ts"],"sourcesContent":["'use client';\n\nimport { useQueryClient, useMutation, InfiniteData } from '@tanstack/react-query';\nimport { addProjectUserAction } from '../actions/add-project-user.action';\nimport { LIST_PROJECT_USERS_BASE_KEY } from './list-project-users.hook';\nimport { LIST_ALL_ACCOUNT_USERS_BASE_KEY } from './list-all-account-users.hook';\nimport type { UsersPage, AccountUser, ProjectUser } from '../types';\n\nexport function useAddProjectUser(projectId: number) {\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: (userId: number) =>\n addProjectUserAction({ projectId, users: [userId] }),\n\n onMutate: async (userId) => {\n await queryClient.cancelQueries({ queryKey: LIST_ALL_ACCOUNT_USERS_BASE_KEY() });\n await queryClient.cancelQueries({ queryKey: LIST_PROJECT_USERS_BASE_KEY(projectId) });\n\n const prevAccountUsers = queryClient.getQueriesData<InfiniteData<UsersPage<AccountUser>>>({\n queryKey: LIST_ALL_ACCOUNT_USERS_BASE_KEY(),\n });\n const prevProjectUsers = queryClient.getQueriesData<InfiniteData<UsersPage<ProjectUser>>>({\n queryKey: LIST_PROJECT_USERS_BASE_KEY(projectId),\n });\n\n queryClient.setQueriesData<InfiniteData<UsersPage<AccountUser>>>(\n { queryKey: LIST_ALL_ACCOUNT_USERS_BASE_KEY(), exact: false },\n (old) => {\n if (!old) return old;\n return {\n ...old,\n pages: old.pages.map((page) => ({\n ...page,\n data: page.data.map((u) =>\n u.id === userId ? { ...u, in_project: true } : u\n ),\n })),\n };\n }\n );\n\n queryClient.setQueriesData<InfiniteData<UsersPage<ProjectUser>>>(\n { queryKey: LIST_PROJECT_USERS_BASE_KEY(projectId), exact: false },\n (old) => {\n if (!old?.pages.length) return old;\n return {\n ...old,\n pages: old.pages.map((page, i) =>\n i === 0 ? { ...page, total: page.total + 1 } : page\n ),\n };\n }\n );\n\n return { prevAccountUsers, prevProjectUsers };\n },\n\n onError: (_err, _userId, ctx) => {\n ctx?.prevAccountUsers.forEach(([key, data]) => queryClient.setQueryData(key, data));\n ctx?.prevProjectUsers.forEach(([key, data]) => queryClient.setQueryData(key, data));\n },\n\n onSettled: () => {\n queryClient.invalidateQueries({ queryKey: LIST_PROJECT_USERS_BASE_KEY(projectId) });\n queryClient.invalidateQueries({ queryKey: LIST_ALL_ACCOUNT_USERS_BASE_KEY() });\n },\n });\n}\n"],"mappings":";AAEA,SAAS,gBAAgB,mBAAiC;AAC1D,SAAS,4BAA4B;AACrC,SAAS,mCAAmC;AAC5C,SAAS,uCAAuC;AAGzC,SAAS,kBAAkB,WAAmB;AACnD,QAAM,cAAc,eAAe;AAEnC,SAAO,YAAY;AAAA,IACjB,YAAY,CAAC,WACX,qBAAqB,EAAE,WAAW,OAAO,CAAC,MAAM,EAAE,CAAC;AAAA,IAErD,UAAU,OAAO,WAAW;AAC1B,YAAM,YAAY,cAAc,EAAE,UAAU,gCAAgC,EAAE,CAAC;AAC/E,YAAM,YAAY,cAAc,EAAE,UAAU,4BAA4B,SAAS,EAAE,CAAC;AAEpF,YAAM,mBAAmB,YAAY,eAAqD;AAAA,QACxF,UAAU,gCAAgC;AAAA,MAC5C,CAAC;AACD,YAAM,mBAAmB,YAAY,eAAqD;AAAA,QACxF,UAAU,4BAA4B,SAAS;AAAA,MACjD,CAAC;AAED,kBAAY;AAAA,QACV,EAAE,UAAU,gCAAgC,GAAG,OAAO,MAAM;AAAA,QAC5D,CAAC,QAAQ;AACP,cAAI,CAAC,IAAK,QAAO;AACjB,iBAAO;AAAA,YACL,GAAG;AAAA,YACH,OAAO,IAAI,MAAM,IAAI,CAAC,UAAU;AAAA,cAC9B,GAAG;AAAA,cACH,MAAM,KAAK,KAAK;AAAA,gBAAI,CAAC,MACnB,EAAE,OAAO,SAAS,EAAE,GAAG,GAAG,YAAY,KAAK,IAAI;AAAA,cACjD;AAAA,YACF,EAAE;AAAA,UACJ;AAAA,QACF;AAAA,MACF;AAEA,kBAAY;AAAA,QACV,EAAE,UAAU,4BAA4B,SAAS,GAAG,OAAO,MAAM;AAAA,QACjE,CAAC,QAAQ;AACP,cAAI,CAAC,KAAK,MAAM,OAAQ,QAAO;AAC/B,iBAAO;AAAA,YACL,GAAG;AAAA,YACH,OAAO,IAAI,MAAM;AAAA,cAAI,CAAC,MAAM,MAC1B,MAAM,IAAI,EAAE,GAAG,MAAM,OAAO,KAAK,QAAQ,EAAE,IAAI;AAAA,YACjD;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAEA,aAAO,EAAE,kBAAkB,iBAAiB;AAAA,IAC9C;AAAA,IAEA,SAAS,CAAC,MAAM,SAAS,QAAQ;AAC/B,WAAK,iBAAiB,QAAQ,CAAC,CAAC,KAAK,IAAI,MAAM,YAAY,aAAa,KAAK,IAAI,CAAC;AAClF,WAAK,iBAAiB,QAAQ,CAAC,CAAC,KAAK,IAAI,MAAM,YAAY,aAAa,KAAK,IAAI,CAAC;AAAA,IACpF;AAAA,IAEA,WAAW,MAAM;AACf,kBAAY,kBAAkB,EAAE,UAAU,4BAA4B,SAAS,EAAE,CAAC;AAClF,kBAAY,kBAAkB,EAAE,UAAU,gCAAgC,EAAE,CAAC;AAAA,IAC/E;AAAA,EACF,CAAC;AACH;","names":[]}
1
+ {"version":3,"sources":["../../../../src/modules/projects/hooks/add-project-user.hook.ts"],"sourcesContent":["'use client';\r\n\r\nimport { useQueryClient, useMutation, InfiniteData } from '@tanstack/react-query';\r\nimport { addProjectUserAction } from '../actions/add-project-user.action';\r\nimport { LIST_PROJECT_USERS_BASE_KEY } from './list-project-users.hook';\r\nimport { LIST_ALL_ACCOUNT_USERS_BASE_KEY } from './list-all-account-users.hook';\r\nimport type { UsersPage, AccountUser, ProjectUser } from '../types';\r\n\r\nexport function useAddProjectUser(projectId: number) {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation({\r\n mutationFn: (userId: number) =>\r\n addProjectUserAction({ projectId, users: [userId] }),\r\n\r\n onMutate: async (userId) => {\r\n await queryClient.cancelQueries({ queryKey: LIST_ALL_ACCOUNT_USERS_BASE_KEY() });\r\n await queryClient.cancelQueries({ queryKey: LIST_PROJECT_USERS_BASE_KEY(projectId) });\r\n\r\n const prevAccountUsers = queryClient.getQueriesData<InfiniteData<UsersPage<AccountUser>>>({\r\n queryKey: LIST_ALL_ACCOUNT_USERS_BASE_KEY(),\r\n });\r\n const prevProjectUsers = queryClient.getQueriesData<InfiniteData<UsersPage<ProjectUser>>>({\r\n queryKey: LIST_PROJECT_USERS_BASE_KEY(projectId),\r\n });\r\n\r\n queryClient.setQueriesData<InfiniteData<UsersPage<AccountUser>>>(\r\n { queryKey: LIST_ALL_ACCOUNT_USERS_BASE_KEY(), exact: false },\r\n (old) => {\r\n if (!old) return old;\r\n return {\r\n ...old,\r\n pages: old.pages.map((page) => ({\r\n ...page,\r\n data: page.data.map((u) =>\r\n u.id === userId ? { ...u, in_project: true } : u\r\n ),\r\n })),\r\n };\r\n }\r\n );\r\n\r\n queryClient.setQueriesData<InfiniteData<UsersPage<ProjectUser>>>(\r\n { queryKey: LIST_PROJECT_USERS_BASE_KEY(projectId), exact: false },\r\n (old) => {\r\n if (!old?.pages.length) return old;\r\n return {\r\n ...old,\r\n pages: old.pages.map((page, i) =>\r\n i === 0 ? { ...page, total: page.total + 1 } : page\r\n ),\r\n };\r\n }\r\n );\r\n\r\n return { prevAccountUsers, prevProjectUsers };\r\n },\r\n\r\n onError: (_err, _userId, ctx) => {\r\n ctx?.prevAccountUsers.forEach(([key, data]) => queryClient.setQueryData(key, data));\r\n ctx?.prevProjectUsers.forEach(([key, data]) => queryClient.setQueryData(key, data));\r\n },\r\n\r\n onSettled: () => {\r\n queryClient.invalidateQueries({ queryKey: LIST_PROJECT_USERS_BASE_KEY(projectId) });\r\n queryClient.invalidateQueries({ queryKey: LIST_ALL_ACCOUNT_USERS_BASE_KEY() });\r\n },\r\n });\r\n}\r\n"],"mappings":";AAEA,SAAS,gBAAgB,mBAAiC;AAC1D,SAAS,4BAA4B;AACrC,SAAS,mCAAmC;AAC5C,SAAS,uCAAuC;AAGzC,SAAS,kBAAkB,WAAmB;AACnD,QAAM,cAAc,eAAe;AAEnC,SAAO,YAAY;AAAA,IACjB,YAAY,CAAC,WACX,qBAAqB,EAAE,WAAW,OAAO,CAAC,MAAM,EAAE,CAAC;AAAA,IAErD,UAAU,OAAO,WAAW;AAC1B,YAAM,YAAY,cAAc,EAAE,UAAU,gCAAgC,EAAE,CAAC;AAC/E,YAAM,YAAY,cAAc,EAAE,UAAU,4BAA4B,SAAS,EAAE,CAAC;AAEpF,YAAM,mBAAmB,YAAY,eAAqD;AAAA,QACxF,UAAU,gCAAgC;AAAA,MAC5C,CAAC;AACD,YAAM,mBAAmB,YAAY,eAAqD;AAAA,QACxF,UAAU,4BAA4B,SAAS;AAAA,MACjD,CAAC;AAED,kBAAY;AAAA,QACV,EAAE,UAAU,gCAAgC,GAAG,OAAO,MAAM;AAAA,QAC5D,CAAC,QAAQ;AACP,cAAI,CAAC,IAAK,QAAO;AACjB,iBAAO;AAAA,YACL,GAAG;AAAA,YACH,OAAO,IAAI,MAAM,IAAI,CAAC,UAAU;AAAA,cAC9B,GAAG;AAAA,cACH,MAAM,KAAK,KAAK;AAAA,gBAAI,CAAC,MACnB,EAAE,OAAO,SAAS,EAAE,GAAG,GAAG,YAAY,KAAK,IAAI;AAAA,cACjD;AAAA,YACF,EAAE;AAAA,UACJ;AAAA,QACF;AAAA,MACF;AAEA,kBAAY;AAAA,QACV,EAAE,UAAU,4BAA4B,SAAS,GAAG,OAAO,MAAM;AAAA,QACjE,CAAC,QAAQ;AACP,cAAI,CAAC,KAAK,MAAM,OAAQ,QAAO;AAC/B,iBAAO;AAAA,YACL,GAAG;AAAA,YACH,OAAO,IAAI,MAAM;AAAA,cAAI,CAAC,MAAM,MAC1B,MAAM,IAAI,EAAE,GAAG,MAAM,OAAO,KAAK,QAAQ,EAAE,IAAI;AAAA,YACjD;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAEA,aAAO,EAAE,kBAAkB,iBAAiB;AAAA,IAC9C;AAAA,IAEA,SAAS,CAAC,MAAM,SAAS,QAAQ;AAC/B,WAAK,iBAAiB,QAAQ,CAAC,CAAC,KAAK,IAAI,MAAM,YAAY,aAAa,KAAK,IAAI,CAAC;AAClF,WAAK,iBAAiB,QAAQ,CAAC,CAAC,KAAK,IAAI,MAAM,YAAY,aAAa,KAAK,IAAI,CAAC;AAAA,IACpF;AAAA,IAEA,WAAW,MAAM;AACf,kBAAY,kBAAkB,EAAE,UAAU,4BAA4B,SAAS,EAAE,CAAC;AAClF,kBAAY,kBAAkB,EAAE,UAAU,gCAAgC,EAAE,CAAC;AAAA,IAC/E;AAAA,EACF,CAAC;AACH;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/modules/projects/hooks/list-all-account-users.hook.ts"],"sourcesContent":["'use client';\n\nimport { useInfiniteQuery } from '@tanstack/react-query';\nimport { listAllAccountUsersAction } from '../actions/list-all-account-users.action';\nimport { withAction } from '../../../utils/withAction';\n\nconst PAGE_SIZE = 20;\n\nexport const LIST_ALL_ACCOUNT_USERS_BASE_KEY = () => ['account-users', 'all'];\nexport const LIST_ALL_ACCOUNT_USERS_QUERY_KEY = (search: string = '', projectId?: number) => [\n ...LIST_ALL_ACCOUNT_USERS_BASE_KEY(),\n search,\n projectId,\n];\n\nexport function useListAllAccountUsers(search: string = '', projectId?: number) {\n return useInfiniteQuery({\n queryKey: LIST_ALL_ACCOUNT_USERS_QUERY_KEY(search, projectId),\n queryFn: ({ pageParam }) =>\n withAction(() =>\n listAllAccountUsersAction({\n search: search || undefined,\n page: pageParam as number,\n limit: PAGE_SIZE,\n inProject: projectId,\n })\n )(),\n getNextPageParam: (lastPage, allPages) => {\n const loaded = allPages.reduce((sum, p) => sum + p.data.length, 0);\n return loaded < lastPage.total ? allPages.length + 1 : undefined;\n },\n initialPageParam: 1,\n });\n}\n"],"mappings":";AAEA,SAAS,wBAAwB;AACjC,SAAS,iCAAiC;AAC1C,SAAS,kBAAkB;AAE3B,MAAM,YAAY;AAEX,MAAM,kCAAkC,MAAM,CAAC,iBAAiB,KAAK;AACrE,MAAM,mCAAmC,CAAC,SAAiB,IAAI,cAAuB;AAAA,EAC3F,GAAG,gCAAgC;AAAA,EACnC;AAAA,EACA;AACF;AAEO,SAAS,uBAAuB,SAAiB,IAAI,WAAoB;AAC9E,SAAO,iBAAiB;AAAA,IACtB,UAAU,iCAAiC,QAAQ,SAAS;AAAA,IAC5D,SAAS,CAAC,EAAE,UAAU,MACpB;AAAA,MAAW,MACT,0BAA0B;AAAA,QACxB,QAAQ,UAAU;AAAA,QAClB,MAAM;AAAA,QACN,OAAO;AAAA,QACP,WAAW;AAAA,MACb,CAAC;AAAA,IACH,EAAE;AAAA,IACJ,kBAAkB,CAAC,UAAU,aAAa;AACxC,YAAM,SAAS,SAAS,OAAO,CAAC,KAAK,MAAM,MAAM,EAAE,KAAK,QAAQ,CAAC;AACjE,aAAO,SAAS,SAAS,QAAQ,SAAS,SAAS,IAAI;AAAA,IACzD;AAAA,IACA,kBAAkB;AAAA,EACpB,CAAC;AACH;","names":[]}
1
+ {"version":3,"sources":["../../../../src/modules/projects/hooks/list-all-account-users.hook.ts"],"sourcesContent":["'use client';\r\n\r\nimport { useInfiniteQuery } from '@tanstack/react-query';\r\nimport { listAllAccountUsersAction } from '../actions/list-all-account-users.action';\r\nimport { withAction } from '../../../utils/withAction';\r\n\r\nconst PAGE_SIZE = 20;\r\n\r\nexport const LIST_ALL_ACCOUNT_USERS_BASE_KEY = () => ['account-users', 'all'];\r\nexport const LIST_ALL_ACCOUNT_USERS_QUERY_KEY = (search: string = '', projectId?: number) => [\r\n ...LIST_ALL_ACCOUNT_USERS_BASE_KEY(),\r\n search,\r\n projectId,\r\n];\r\n\r\nexport function useListAllAccountUsers(search: string = '', projectId?: number) {\r\n return useInfiniteQuery({\r\n queryKey: LIST_ALL_ACCOUNT_USERS_QUERY_KEY(search, projectId),\r\n queryFn: ({ pageParam }) =>\r\n withAction(() =>\r\n listAllAccountUsersAction({\r\n search: search || undefined,\r\n page: pageParam as number,\r\n limit: PAGE_SIZE,\r\n inProject: projectId,\r\n })\r\n )(),\r\n getNextPageParam: (lastPage, allPages) => {\r\n const loaded = allPages.reduce((sum, p) => sum + p.data.length, 0);\r\n return loaded < lastPage.total ? allPages.length + 1 : undefined;\r\n },\r\n initialPageParam: 1,\r\n });\r\n}\r\n"],"mappings":";AAEA,SAAS,wBAAwB;AACjC,SAAS,iCAAiC;AAC1C,SAAS,kBAAkB;AAE3B,MAAM,YAAY;AAEX,MAAM,kCAAkC,MAAM,CAAC,iBAAiB,KAAK;AACrE,MAAM,mCAAmC,CAAC,SAAiB,IAAI,cAAuB;AAAA,EAC3F,GAAG,gCAAgC;AAAA,EACnC;AAAA,EACA;AACF;AAEO,SAAS,uBAAuB,SAAiB,IAAI,WAAoB;AAC9E,SAAO,iBAAiB;AAAA,IACtB,UAAU,iCAAiC,QAAQ,SAAS;AAAA,IAC5D,SAAS,CAAC,EAAE,UAAU,MACpB;AAAA,MAAW,MACT,0BAA0B;AAAA,QACxB,QAAQ,UAAU;AAAA,QAClB,MAAM;AAAA,QACN,OAAO;AAAA,QACP,WAAW;AAAA,MACb,CAAC;AAAA,IACH,EAAE;AAAA,IACJ,kBAAkB,CAAC,UAAU,aAAa;AACxC,YAAM,SAAS,SAAS,OAAO,CAAC,KAAK,MAAM,MAAM,EAAE,KAAK,QAAQ,CAAC;AACjE,aAAO,SAAS,SAAS,QAAQ,SAAS,SAAS,IAAI;AAAA,IACzD;AAAA,IACA,kBAAkB;AAAA,EACpB,CAAC;AACH;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/modules/projects/hooks/list-available-users.hook.ts"],"sourcesContent":["'use client';\n\nimport { useInfiniteQuery } from '@tanstack/react-query';\nimport { listAvailableUsersAction } from '../actions/list-available-users.action';\nimport { withAction } from '../../../utils/withAction';\n\nconst PAGE_SIZE = 20;\n\nexport const LIST_AVAILABLE_USERS_BASE_KEY = (projectId: number) => ['project-users', projectId, 'out'];\nexport const LIST_AVAILABLE_USERS_QUERY_KEY = (projectId: number, search: string = '') => [\n ...LIST_AVAILABLE_USERS_BASE_KEY(projectId),\n search,\n];\n\nexport function useListAvailableUsers(projectId: number, search: string = '') {\n return useInfiniteQuery({\n queryKey: LIST_AVAILABLE_USERS_QUERY_KEY(projectId, search),\n queryFn: ({ pageParam }) =>\n withAction(() =>\n listAvailableUsersAction(projectId, {\n search: search || undefined,\n page: pageParam as number,\n limit: PAGE_SIZE,\n })\n )(),\n getNextPageParam: (lastPage, allPages) => {\n const loaded = allPages.reduce((sum, p) => sum + p.data.length, 0);\n return loaded < lastPage.total ? allPages.length + 1 : undefined;\n },\n initialPageParam: 1,\n enabled: !!projectId,\n });\n}\n"],"mappings":";AAEA,SAAS,wBAAwB;AACjC,SAAS,gCAAgC;AACzC,SAAS,kBAAkB;AAE3B,MAAM,YAAY;AAEX,MAAM,gCAAgC,CAAC,cAAsB,CAAC,iBAAiB,WAAW,KAAK;AAC/F,MAAM,iCAAiC,CAAC,WAAmB,SAAiB,OAAO;AAAA,EACxF,GAAG,8BAA8B,SAAS;AAAA,EAC1C;AACF;AAEO,SAAS,sBAAsB,WAAmB,SAAiB,IAAI;AAC5E,SAAO,iBAAiB;AAAA,IACtB,UAAU,+BAA+B,WAAW,MAAM;AAAA,IAC1D,SAAS,CAAC,EAAE,UAAU,MACpB;AAAA,MAAW,MACT,yBAAyB,WAAW;AAAA,QAClC,QAAQ,UAAU;AAAA,QAClB,MAAM;AAAA,QACN,OAAO;AAAA,MACT,CAAC;AAAA,IACH,EAAE;AAAA,IACJ,kBAAkB,CAAC,UAAU,aAAa;AACxC,YAAM,SAAS,SAAS,OAAO,CAAC,KAAK,MAAM,MAAM,EAAE,KAAK,QAAQ,CAAC;AACjE,aAAO,SAAS,SAAS,QAAQ,SAAS,SAAS,IAAI;AAAA,IACzD;AAAA,IACA,kBAAkB;AAAA,IAClB,SAAS,CAAC,CAAC;AAAA,EACb,CAAC;AACH;","names":[]}
1
+ {"version":3,"sources":["../../../../src/modules/projects/hooks/list-available-users.hook.ts"],"sourcesContent":["'use client';\r\n\r\nimport { useInfiniteQuery } from '@tanstack/react-query';\r\nimport { listAvailableUsersAction } from '../actions/list-available-users.action';\r\nimport { withAction } from '../../../utils/withAction';\r\n\r\nconst PAGE_SIZE = 20;\r\n\r\nexport const LIST_AVAILABLE_USERS_BASE_KEY = (projectId: number) => ['project-users', projectId, 'out'];\r\nexport const LIST_AVAILABLE_USERS_QUERY_KEY = (projectId: number, search: string = '') => [\r\n ...LIST_AVAILABLE_USERS_BASE_KEY(projectId),\r\n search,\r\n];\r\n\r\nexport function useListAvailableUsers(projectId: number, search: string = '') {\r\n return useInfiniteQuery({\r\n queryKey: LIST_AVAILABLE_USERS_QUERY_KEY(projectId, search),\r\n queryFn: ({ pageParam }) =>\r\n withAction(() =>\r\n listAvailableUsersAction(projectId, {\r\n search: search || undefined,\r\n page: pageParam as number,\r\n limit: PAGE_SIZE,\r\n })\r\n )(),\r\n getNextPageParam: (lastPage, allPages) => {\r\n const loaded = allPages.reduce((sum, p) => sum + p.data.length, 0);\r\n return loaded < lastPage.total ? allPages.length + 1 : undefined;\r\n },\r\n initialPageParam: 1,\r\n enabled: !!projectId,\r\n });\r\n}\r\n"],"mappings":";AAEA,SAAS,wBAAwB;AACjC,SAAS,gCAAgC;AACzC,SAAS,kBAAkB;AAE3B,MAAM,YAAY;AAEX,MAAM,gCAAgC,CAAC,cAAsB,CAAC,iBAAiB,WAAW,KAAK;AAC/F,MAAM,iCAAiC,CAAC,WAAmB,SAAiB,OAAO;AAAA,EACxF,GAAG,8BAA8B,SAAS;AAAA,EAC1C;AACF;AAEO,SAAS,sBAAsB,WAAmB,SAAiB,IAAI;AAC5E,SAAO,iBAAiB;AAAA,IACtB,UAAU,+BAA+B,WAAW,MAAM;AAAA,IAC1D,SAAS,CAAC,EAAE,UAAU,MACpB;AAAA,MAAW,MACT,yBAAyB,WAAW;AAAA,QAClC,QAAQ,UAAU;AAAA,QAClB,MAAM;AAAA,QACN,OAAO;AAAA,MACT,CAAC;AAAA,IACH,EAAE;AAAA,IACJ,kBAAkB,CAAC,UAAU,aAAa;AACxC,YAAM,SAAS,SAAS,OAAO,CAAC,KAAK,MAAM,MAAM,EAAE,KAAK,QAAQ,CAAC;AACjE,aAAO,SAAS,SAAS,QAAQ,SAAS,SAAS,IAAI;AAAA,IACzD;AAAA,IACA,kBAAkB;AAAA,IAClB,SAAS,CAAC,CAAC;AAAA,EACb,CAAC;AACH;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/modules/projects/hooks/list-project-users.hook.ts"],"sourcesContent":["'use client';\n\nimport { useInfiniteQuery } from '@tanstack/react-query';\nimport { listProjectUsersAction } from '../actions/list-project-users.action';\nimport { withAction } from '../../../utils/withAction';\n\nconst PAGE_SIZE = 20;\n\nexport const LIST_PROJECT_USERS_BASE_KEY = (projectId: number) => ['project-users', projectId, 'in'];\nexport const LIST_PROJECT_USERS_QUERY_KEY = (projectId: number, search: string = '') => [\n ...LIST_PROJECT_USERS_BASE_KEY(projectId),\n search,\n];\n\nexport function useListProjectUsers(projectId: number, search: string = '') {\n return useInfiniteQuery({\n queryKey: LIST_PROJECT_USERS_QUERY_KEY(projectId, search),\n queryFn: ({ pageParam }) =>\n withAction(() =>\n listProjectUsersAction(projectId, {\n search: search || undefined,\n page: pageParam as number,\n limit: PAGE_SIZE,\n })\n )(),\n getNextPageParam: (lastPage, allPages) => {\n const loaded = allPages.reduce((sum, p) => sum + p.data.length, 0);\n return loaded < lastPage.total ? allPages.length + 1 : undefined;\n },\n initialPageParam: 1,\n enabled: !!projectId,\n });\n}\n"],"mappings":";AAEA,SAAS,wBAAwB;AACjC,SAAS,8BAA8B;AACvC,SAAS,kBAAkB;AAE3B,MAAM,YAAY;AAEX,MAAM,8BAA8B,CAAC,cAAsB,CAAC,iBAAiB,WAAW,IAAI;AAC5F,MAAM,+BAA+B,CAAC,WAAmB,SAAiB,OAAO;AAAA,EACtF,GAAG,4BAA4B,SAAS;AAAA,EACxC;AACF;AAEO,SAAS,oBAAoB,WAAmB,SAAiB,IAAI;AAC1E,SAAO,iBAAiB;AAAA,IACtB,UAAU,6BAA6B,WAAW,MAAM;AAAA,IACxD,SAAS,CAAC,EAAE,UAAU,MACpB;AAAA,MAAW,MACT,uBAAuB,WAAW;AAAA,QAChC,QAAQ,UAAU;AAAA,QAClB,MAAM;AAAA,QACN,OAAO;AAAA,MACT,CAAC;AAAA,IACH,EAAE;AAAA,IACJ,kBAAkB,CAAC,UAAU,aAAa;AACxC,YAAM,SAAS,SAAS,OAAO,CAAC,KAAK,MAAM,MAAM,EAAE,KAAK,QAAQ,CAAC;AACjE,aAAO,SAAS,SAAS,QAAQ,SAAS,SAAS,IAAI;AAAA,IACzD;AAAA,IACA,kBAAkB;AAAA,IAClB,SAAS,CAAC,CAAC;AAAA,EACb,CAAC;AACH;","names":[]}
1
+ {"version":3,"sources":["../../../../src/modules/projects/hooks/list-project-users.hook.ts"],"sourcesContent":["'use client';\r\n\r\nimport { useInfiniteQuery } from '@tanstack/react-query';\r\nimport { listProjectUsersAction } from '../actions/list-project-users.action';\r\nimport { withAction } from '../../../utils/withAction';\r\n\r\nconst PAGE_SIZE = 20;\r\n\r\nexport const LIST_PROJECT_USERS_BASE_KEY = (projectId: number) => ['project-users', projectId, 'in'];\r\nexport const LIST_PROJECT_USERS_QUERY_KEY = (projectId: number, search: string = '') => [\r\n ...LIST_PROJECT_USERS_BASE_KEY(projectId),\r\n search,\r\n];\r\n\r\nexport function useListProjectUsers(projectId: number, search: string = '') {\r\n return useInfiniteQuery({\r\n queryKey: LIST_PROJECT_USERS_QUERY_KEY(projectId, search),\r\n queryFn: ({ pageParam }) =>\r\n withAction(() =>\r\n listProjectUsersAction(projectId, {\r\n search: search || undefined,\r\n page: pageParam as number,\r\n limit: PAGE_SIZE,\r\n })\r\n )(),\r\n getNextPageParam: (lastPage, allPages) => {\r\n const loaded = allPages.reduce((sum, p) => sum + p.data.length, 0);\r\n return loaded < lastPage.total ? allPages.length + 1 : undefined;\r\n },\r\n initialPageParam: 1,\r\n enabled: !!projectId,\r\n });\r\n}\r\n"],"mappings":";AAEA,SAAS,wBAAwB;AACjC,SAAS,8BAA8B;AACvC,SAAS,kBAAkB;AAE3B,MAAM,YAAY;AAEX,MAAM,8BAA8B,CAAC,cAAsB,CAAC,iBAAiB,WAAW,IAAI;AAC5F,MAAM,+BAA+B,CAAC,WAAmB,SAAiB,OAAO;AAAA,EACtF,GAAG,4BAA4B,SAAS;AAAA,EACxC;AACF;AAEO,SAAS,oBAAoB,WAAmB,SAAiB,IAAI;AAC1E,SAAO,iBAAiB;AAAA,IACtB,UAAU,6BAA6B,WAAW,MAAM;AAAA,IACxD,SAAS,CAAC,EAAE,UAAU,MACpB;AAAA,MAAW,MACT,uBAAuB,WAAW;AAAA,QAChC,QAAQ,UAAU;AAAA,QAClB,MAAM;AAAA,QACN,OAAO;AAAA,MACT,CAAC;AAAA,IACH,EAAE;AAAA,IACJ,kBAAkB,CAAC,UAAU,aAAa;AACxC,YAAM,SAAS,SAAS,OAAO,CAAC,KAAK,MAAM,MAAM,EAAE,KAAK,QAAQ,CAAC;AACjE,aAAO,SAAS,SAAS,QAAQ,SAAS,SAAS,IAAI;AAAA,IACzD;AAAA,IACA,kBAAkB;AAAA,IAClB,SAAS,CAAC,CAAC;AAAA,EACb,CAAC;AACH;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/modules/projects/hooks/remove-project-user.hook.ts"],"sourcesContent":["'use client';\n\nimport { useQueryClient, useMutation, InfiniteData } from '@tanstack/react-query';\nimport { removeProjectUserAction } from '../actions/remove-project-user.action';\nimport { LIST_PROJECT_USERS_BASE_KEY } from './list-project-users.hook';\nimport { LIST_ALL_ACCOUNT_USERS_BASE_KEY } from './list-all-account-users.hook';\nimport type { UsersPage, AccountUser, ProjectUser } from '../types';\n\nexport function useRemoveProjectUser(projectId: number) {\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: (userId: number) =>\n removeProjectUserAction({ projectId, users: [userId] }),\n\n onMutate: async (userId) => {\n await queryClient.cancelQueries({ queryKey: LIST_ALL_ACCOUNT_USERS_BASE_KEY() });\n await queryClient.cancelQueries({ queryKey: LIST_PROJECT_USERS_BASE_KEY(projectId) });\n\n const prevAccountUsers = queryClient.getQueriesData<InfiniteData<UsersPage<AccountUser>>>({\n queryKey: LIST_ALL_ACCOUNT_USERS_BASE_KEY(),\n });\n const prevProjectUsers = queryClient.getQueriesData<InfiniteData<UsersPage<ProjectUser>>>({\n queryKey: LIST_PROJECT_USERS_BASE_KEY(projectId),\n });\n\n queryClient.setQueriesData<InfiniteData<UsersPage<AccountUser>>>(\n { queryKey: LIST_ALL_ACCOUNT_USERS_BASE_KEY(), exact: false },\n (old) => {\n if (!old) return old;\n return {\n ...old,\n pages: old.pages.map((page) => ({\n ...page,\n data: page.data.map((u) =>\n u.id === userId ? { ...u, in_project: false } : u\n ),\n })),\n };\n }\n );\n\n queryClient.setQueriesData<InfiniteData<UsersPage<ProjectUser>>>(\n { queryKey: LIST_PROJECT_USERS_BASE_KEY(projectId), exact: false },\n (old) => {\n if (!old?.pages.length) return old;\n return {\n ...old,\n pages: old.pages.map((page, i) =>\n i === 0 ? { ...page, total: page.total - 1 } : page\n ),\n };\n }\n );\n\n return { prevAccountUsers, prevProjectUsers };\n },\n\n onError: (_err, _userId, ctx) => {\n ctx?.prevAccountUsers.forEach(([key, data]) => queryClient.setQueryData(key, data));\n ctx?.prevProjectUsers.forEach(([key, data]) => queryClient.setQueryData(key, data));\n },\n\n onSettled: () => {\n queryClient.invalidateQueries({ queryKey: LIST_PROJECT_USERS_BASE_KEY(projectId) });\n queryClient.invalidateQueries({ queryKey: LIST_ALL_ACCOUNT_USERS_BASE_KEY() });\n },\n });\n}\n"],"mappings":";AAEA,SAAS,gBAAgB,mBAAiC;AAC1D,SAAS,+BAA+B;AACxC,SAAS,mCAAmC;AAC5C,SAAS,uCAAuC;AAGzC,SAAS,qBAAqB,WAAmB;AACtD,QAAM,cAAc,eAAe;AAEnC,SAAO,YAAY;AAAA,IACjB,YAAY,CAAC,WACX,wBAAwB,EAAE,WAAW,OAAO,CAAC,MAAM,EAAE,CAAC;AAAA,IAExD,UAAU,OAAO,WAAW;AAC1B,YAAM,YAAY,cAAc,EAAE,UAAU,gCAAgC,EAAE,CAAC;AAC/E,YAAM,YAAY,cAAc,EAAE,UAAU,4BAA4B,SAAS,EAAE,CAAC;AAEpF,YAAM,mBAAmB,YAAY,eAAqD;AAAA,QACxF,UAAU,gCAAgC;AAAA,MAC5C,CAAC;AACD,YAAM,mBAAmB,YAAY,eAAqD;AAAA,QACxF,UAAU,4BAA4B,SAAS;AAAA,MACjD,CAAC;AAED,kBAAY;AAAA,QACV,EAAE,UAAU,gCAAgC,GAAG,OAAO,MAAM;AAAA,QAC5D,CAAC,QAAQ;AACP,cAAI,CAAC,IAAK,QAAO;AACjB,iBAAO;AAAA,YACL,GAAG;AAAA,YACH,OAAO,IAAI,MAAM,IAAI,CAAC,UAAU;AAAA,cAC9B,GAAG;AAAA,cACH,MAAM,KAAK,KAAK;AAAA,gBAAI,CAAC,MACnB,EAAE,OAAO,SAAS,EAAE,GAAG,GAAG,YAAY,MAAM,IAAI;AAAA,cAClD;AAAA,YACF,EAAE;AAAA,UACJ;AAAA,QACF;AAAA,MACF;AAEA,kBAAY;AAAA,QACV,EAAE,UAAU,4BAA4B,SAAS,GAAG,OAAO,MAAM;AAAA,QACjE,CAAC,QAAQ;AACP,cAAI,CAAC,KAAK,MAAM,OAAQ,QAAO;AAC/B,iBAAO;AAAA,YACL,GAAG;AAAA,YACH,OAAO,IAAI,MAAM;AAAA,cAAI,CAAC,MAAM,MAC1B,MAAM,IAAI,EAAE,GAAG,MAAM,OAAO,KAAK,QAAQ,EAAE,IAAI;AAAA,YACjD;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAEA,aAAO,EAAE,kBAAkB,iBAAiB;AAAA,IAC9C;AAAA,IAEA,SAAS,CAAC,MAAM,SAAS,QAAQ;AAC/B,WAAK,iBAAiB,QAAQ,CAAC,CAAC,KAAK,IAAI,MAAM,YAAY,aAAa,KAAK,IAAI,CAAC;AAClF,WAAK,iBAAiB,QAAQ,CAAC,CAAC,KAAK,IAAI,MAAM,YAAY,aAAa,KAAK,IAAI,CAAC;AAAA,IACpF;AAAA,IAEA,WAAW,MAAM;AACf,kBAAY,kBAAkB,EAAE,UAAU,4BAA4B,SAAS,EAAE,CAAC;AAClF,kBAAY,kBAAkB,EAAE,UAAU,gCAAgC,EAAE,CAAC;AAAA,IAC/E;AAAA,EACF,CAAC;AACH;","names":[]}
1
+ {"version":3,"sources":["../../../../src/modules/projects/hooks/remove-project-user.hook.ts"],"sourcesContent":["'use client';\r\n\r\nimport { useQueryClient, useMutation, InfiniteData } from '@tanstack/react-query';\r\nimport { removeProjectUserAction } from '../actions/remove-project-user.action';\r\nimport { LIST_PROJECT_USERS_BASE_KEY } from './list-project-users.hook';\r\nimport { LIST_ALL_ACCOUNT_USERS_BASE_KEY } from './list-all-account-users.hook';\r\nimport type { UsersPage, AccountUser, ProjectUser } from '../types';\r\n\r\nexport function useRemoveProjectUser(projectId: number) {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation({\r\n mutationFn: (userId: number) =>\r\n removeProjectUserAction({ projectId, users: [userId] }),\r\n\r\n onMutate: async (userId) => {\r\n await queryClient.cancelQueries({ queryKey: LIST_ALL_ACCOUNT_USERS_BASE_KEY() });\r\n await queryClient.cancelQueries({ queryKey: LIST_PROJECT_USERS_BASE_KEY(projectId) });\r\n\r\n const prevAccountUsers = queryClient.getQueriesData<InfiniteData<UsersPage<AccountUser>>>({\r\n queryKey: LIST_ALL_ACCOUNT_USERS_BASE_KEY(),\r\n });\r\n const prevProjectUsers = queryClient.getQueriesData<InfiniteData<UsersPage<ProjectUser>>>({\r\n queryKey: LIST_PROJECT_USERS_BASE_KEY(projectId),\r\n });\r\n\r\n queryClient.setQueriesData<InfiniteData<UsersPage<AccountUser>>>(\r\n { queryKey: LIST_ALL_ACCOUNT_USERS_BASE_KEY(), exact: false },\r\n (old) => {\r\n if (!old) return old;\r\n return {\r\n ...old,\r\n pages: old.pages.map((page) => ({\r\n ...page,\r\n data: page.data.map((u) =>\r\n u.id === userId ? { ...u, in_project: false } : u\r\n ),\r\n })),\r\n };\r\n }\r\n );\r\n\r\n queryClient.setQueriesData<InfiniteData<UsersPage<ProjectUser>>>(\r\n { queryKey: LIST_PROJECT_USERS_BASE_KEY(projectId), exact: false },\r\n (old) => {\r\n if (!old?.pages.length) return old;\r\n return {\r\n ...old,\r\n pages: old.pages.map((page, i) =>\r\n i === 0 ? { ...page, total: page.total - 1 } : page\r\n ),\r\n };\r\n }\r\n );\r\n\r\n return { prevAccountUsers, prevProjectUsers };\r\n },\r\n\r\n onError: (_err, _userId, ctx) => {\r\n ctx?.prevAccountUsers.forEach(([key, data]) => queryClient.setQueryData(key, data));\r\n ctx?.prevProjectUsers.forEach(([key, data]) => queryClient.setQueryData(key, data));\r\n },\r\n\r\n onSettled: () => {\r\n queryClient.invalidateQueries({ queryKey: LIST_PROJECT_USERS_BASE_KEY(projectId) });\r\n queryClient.invalidateQueries({ queryKey: LIST_ALL_ACCOUNT_USERS_BASE_KEY() });\r\n },\r\n });\r\n}\r\n"],"mappings":";AAEA,SAAS,gBAAgB,mBAAiC;AAC1D,SAAS,+BAA+B;AACxC,SAAS,mCAAmC;AAC5C,SAAS,uCAAuC;AAGzC,SAAS,qBAAqB,WAAmB;AACtD,QAAM,cAAc,eAAe;AAEnC,SAAO,YAAY;AAAA,IACjB,YAAY,CAAC,WACX,wBAAwB,EAAE,WAAW,OAAO,CAAC,MAAM,EAAE,CAAC;AAAA,IAExD,UAAU,OAAO,WAAW;AAC1B,YAAM,YAAY,cAAc,EAAE,UAAU,gCAAgC,EAAE,CAAC;AAC/E,YAAM,YAAY,cAAc,EAAE,UAAU,4BAA4B,SAAS,EAAE,CAAC;AAEpF,YAAM,mBAAmB,YAAY,eAAqD;AAAA,QACxF,UAAU,gCAAgC;AAAA,MAC5C,CAAC;AACD,YAAM,mBAAmB,YAAY,eAAqD;AAAA,QACxF,UAAU,4BAA4B,SAAS;AAAA,MACjD,CAAC;AAED,kBAAY;AAAA,QACV,EAAE,UAAU,gCAAgC,GAAG,OAAO,MAAM;AAAA,QAC5D,CAAC,QAAQ;AACP,cAAI,CAAC,IAAK,QAAO;AACjB,iBAAO;AAAA,YACL,GAAG;AAAA,YACH,OAAO,IAAI,MAAM,IAAI,CAAC,UAAU;AAAA,cAC9B,GAAG;AAAA,cACH,MAAM,KAAK,KAAK;AAAA,gBAAI,CAAC,MACnB,EAAE,OAAO,SAAS,EAAE,GAAG,GAAG,YAAY,MAAM,IAAI;AAAA,cAClD;AAAA,YACF,EAAE;AAAA,UACJ;AAAA,QACF;AAAA,MACF;AAEA,kBAAY;AAAA,QACV,EAAE,UAAU,4BAA4B,SAAS,GAAG,OAAO,MAAM;AAAA,QACjE,CAAC,QAAQ;AACP,cAAI,CAAC,KAAK,MAAM,OAAQ,QAAO;AAC/B,iBAAO;AAAA,YACL,GAAG;AAAA,YACH,OAAO,IAAI,MAAM;AAAA,cAAI,CAAC,MAAM,MAC1B,MAAM,IAAI,EAAE,GAAG,MAAM,OAAO,KAAK,QAAQ,EAAE,IAAI;AAAA,YACjD;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAEA,aAAO,EAAE,kBAAkB,iBAAiB;AAAA,IAC9C;AAAA,IAEA,SAAS,CAAC,MAAM,SAAS,QAAQ;AAC/B,WAAK,iBAAiB,QAAQ,CAAC,CAAC,KAAK,IAAI,MAAM,YAAY,aAAa,KAAK,IAAI,CAAC;AAClF,WAAK,iBAAiB,QAAQ,CAAC,CAAC,KAAK,IAAI,MAAM,YAAY,aAAa,KAAK,IAAI,CAAC;AAAA,IACpF;AAAA,IAEA,WAAW,MAAM;AACf,kBAAY,kBAAkB,EAAE,UAAU,4BAA4B,SAAS,EAAE,CAAC;AAClF,kBAAY,kBAAkB,EAAE,UAAU,gCAAgC,EAAE,CAAC;AAAA,IAC/E;AAAA,EACF,CAAC;AACH;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/modules/subscriptions/actions/list-subscriptions.action.ts"],"sourcesContent":["'use server';\n\nimport { safeServerAction } from '../../../utils/safeServerAction';\nimport type { FindSubscriptionsParams } from '../types';\nimport { subscriptionsService } from '../services/subscriptions.service';\n\nexport async function listSubscriptionsAction(params?: Partial<FindSubscriptionsParams>) {\n return safeServerAction(() => subscriptionsService.listSubscriptions(params));\n}\n"],"mappings":";AAEA,SAAS,wBAAwB;AAEjC,SAAS,4BAA4B;AAErC,eAAsB,wBAAwB,QAA2C;AACvF,SAAO,iBAAiB,MAAM,qBAAqB,kBAAkB,MAAM,CAAC;AAC9E;","names":[]}
1
+ {"version":3,"sources":["../../../../src/modules/subscriptions/actions/list-subscriptions.action.ts"],"sourcesContent":["'use server';\r\n\r\nimport { safeServerAction } from '../../../utils/safeServerAction';\r\nimport type { FindSubscriptionsParams } from '../types';\r\nimport { subscriptionsService } from '../services/subscriptions.service';\r\n\r\nexport async function listSubscriptionsAction(params?: Partial<FindSubscriptionsParams>) {\r\n return safeServerAction(() => subscriptionsService.listSubscriptions(params));\r\n}\r\n"],"mappings":";AAEA,SAAS,wBAAwB;AAEjC,SAAS,4BAA4B;AAErC,eAAsB,wBAAwB,QAA2C;AACvF,SAAO,iBAAiB,MAAM,qBAAqB,kBAAkB,MAAM,CAAC;AAC9E;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/modules/subscriptions/hooks/find-active-subscription.hook.ts"],"sourcesContent":["'use client';\n\nimport { useQuery } from '@tanstack/react-query';\nimport { listSubscriptionsAction } from '../actions/list-subscriptions.action';\nimport { parseResult } from '../../../infra/utils/parser';\nimport { SubscriptionSchema } from '../types';\nimport { SUBSCRIPTIONS_QUERY_KEY } from './list-subscriptions.hook';\nimport { withAction } from '../../../utils/withAction';\n\nexport function useActiveSubscription() {\n return useQuery({\n queryKey: [...SUBSCRIPTIONS_QUERY_KEY, 'active'],\n queryFn: async () =>\n parseResult(\n SubscriptionSchema,\n await withAction(() => listSubscriptionsAction({ active: true }))()\n ),\n });\n}\n"],"mappings":";AAEA,SAAS,gBAAgB;AACzB,SAAS,+BAA+B;AACxC,SAAS,mBAAmB;AAC5B,SAAS,0BAA0B;AACnC,SAAS,+BAA+B;AACxC,SAAS,kBAAkB;AAEpB,SAAS,wBAAwB;AACtC,SAAO,SAAS;AAAA,IACd,UAAU,CAAC,GAAG,yBAAyB,QAAQ;AAAA,IAC/C,SAAS,YACP;AAAA,MACE;AAAA,MACA,MAAM,WAAW,MAAM,wBAAwB,EAAE,QAAQ,KAAK,CAAC,CAAC,EAAE;AAAA,IACpE;AAAA,EACJ,CAAC;AACH;","names":[]}
1
+ {"version":3,"sources":["../../../../src/modules/subscriptions/hooks/find-active-subscription.hook.ts"],"sourcesContent":["'use client';\r\n\r\nimport { useQuery } from '@tanstack/react-query';\r\nimport { listSubscriptionsAction } from '../actions/list-subscriptions.action';\r\nimport { parseResult } from '../../../infra/utils/parser';\r\nimport { SubscriptionSchema } from '../types';\r\nimport { SUBSCRIPTIONS_QUERY_KEY } from './list-subscriptions.hook';\r\nimport { withAction } from '../../../utils/withAction';\r\n\r\nexport function useActiveSubscription() {\r\n return useQuery({\r\n queryKey: [...SUBSCRIPTIONS_QUERY_KEY, 'active'],\r\n queryFn: async () =>\r\n parseResult(\r\n SubscriptionSchema,\r\n await withAction(() => listSubscriptionsAction({ active: true }))()\r\n ),\r\n });\r\n}\r\n"],"mappings":";AAEA,SAAS,gBAAgB;AACzB,SAAS,+BAA+B;AACxC,SAAS,mBAAmB;AAC5B,SAAS,0BAA0B;AACnC,SAAS,+BAA+B;AACxC,SAAS,kBAAkB;AAEpB,SAAS,wBAAwB;AACtC,SAAO,SAAS;AAAA,IACd,UAAU,CAAC,GAAG,yBAAyB,QAAQ;AAAA,IAC/C,SAAS,YACP;AAAA,MACE;AAAA,MACA,MAAM,WAAW,MAAM,wBAAwB,EAAE,QAAQ,KAAK,CAAC,CAAC,EAAE;AAAA,IACpE;AAAA,EACJ,CAAC;AACH;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/modules/subscriptions/hooks/list-subscriptions.hook.ts"],"sourcesContent":["'use client';\n\nimport { useQuery } from '@tanstack/react-query';\nimport { listSubscriptionsAction } from '../actions/list-subscriptions.action';\nimport { parseResult } from '../../../infra/utils/parser';\nimport { SubscriptionSchema, type FindSubscriptionsParams } from '../types';\nimport { withAction } from '../../../utils/withAction';\n\nexport const SUBSCRIPTIONS_QUERY_KEY = ['subscriptions'];\n\nexport function useSubscriptions(params?: Partial<FindSubscriptionsParams>) {\n return useQuery({\n queryKey: [...SUBSCRIPTIONS_QUERY_KEY, params],\n queryFn: async () =>\n parseResult(SubscriptionSchema, await withAction(() => listSubscriptionsAction(params))()),\n });\n}\n"],"mappings":";AAEA,SAAS,gBAAgB;AACzB,SAAS,+BAA+B;AACxC,SAAS,mBAAmB;AAC5B,SAAS,0BAAwD;AACjE,SAAS,kBAAkB;AAEpB,MAAM,0BAA0B,CAAC,eAAe;AAEhD,SAAS,iBAAiB,QAA2C;AAC1E,SAAO,SAAS;AAAA,IACd,UAAU,CAAC,GAAG,yBAAyB,MAAM;AAAA,IAC7C,SAAS,YACP,YAAY,oBAAoB,MAAM,WAAW,MAAM,wBAAwB,MAAM,CAAC,EAAE,CAAC;AAAA,EAC7F,CAAC;AACH;","names":[]}
1
+ {"version":3,"sources":["../../../../src/modules/subscriptions/hooks/list-subscriptions.hook.ts"],"sourcesContent":["'use client';\r\n\r\nimport { useQuery } from '@tanstack/react-query';\r\nimport { listSubscriptionsAction } from '../actions/list-subscriptions.action';\r\nimport { parseResult } from '../../../infra/utils/parser';\r\nimport { SubscriptionSchema, type FindSubscriptionsParams } from '../types';\r\nimport { withAction } from '../../../utils/withAction';\r\n\r\nexport const SUBSCRIPTIONS_QUERY_KEY = ['subscriptions'];\r\n\r\nexport function useSubscriptions(params?: Partial<FindSubscriptionsParams>) {\r\n return useQuery({\r\n queryKey: [...SUBSCRIPTIONS_QUERY_KEY, params],\r\n queryFn: async () =>\r\n parseResult(SubscriptionSchema, await withAction(() => listSubscriptionsAction(params))()),\r\n });\r\n}\r\n"],"mappings":";AAEA,SAAS,gBAAgB;AACzB,SAAS,+BAA+B;AACxC,SAAS,mBAAmB;AAC5B,SAAS,0BAAwD;AACjE,SAAS,kBAAkB;AAEpB,MAAM,0BAA0B,CAAC,eAAe;AAEhD,SAAS,iBAAiB,QAA2C;AAC1E,SAAO,SAAS;AAAA,IACd,UAAU,CAAC,GAAG,yBAAyB,MAAM;AAAA,IAC7C,SAAS,YACP,YAAY,oBAAoB,MAAM,WAAW,MAAM,wBAAwB,MAAM,CAAC,EAAE,CAAC;AAAA,EAC7F,CAAC;AACH;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/modules/users/action/find-user-by-id.action.ts"],"sourcesContent":["'use server';\n\nimport { safeServerAction } from '../../../utils/safeServerAction';\nimport { userService } from '../services/user.service';\n\nexport async function findUserById() {\n return safeServerAction(() => userService.findById());\n}\n"],"mappings":";AAEA,SAAS,wBAAwB;AACjC,SAAS,mBAAmB;AAE5B,eAAsB,eAAe;AACnC,SAAO,iBAAiB,MAAM,YAAY,SAAS,CAAC;AACtD;","names":[]}
1
+ {"version":3,"sources":["../../../../src/modules/users/action/find-user-by-id.action.ts"],"sourcesContent":["'use server';\r\n\r\nimport { safeServerAction } from '../../../utils/safeServerAction';\r\nimport { userService } from '../services/user.service';\r\n\r\nexport async function findUserById() {\r\n return safeServerAction(() => userService.findById());\r\n}\r\n"],"mappings":";AAEA,SAAS,wBAAwB;AACjC,SAAS,mBAAmB;AAE5B,eAAsB,eAAe;AACnC,SAAO,iBAAiB,MAAM,YAAY,SAAS,CAAC;AACtD;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/modules/users/action/list-messages.action.ts"],"sourcesContent":["'use server';\n\nimport { safeServerAction } from '../../../utils/safeServerAction';\nimport { messagesService } from '../services/messages.service';\nimport type { FindMessagesParams } from '../schema/messages.schema';\n\nexport async function listMessagesAction(params?: Partial<FindMessagesParams>) {\n return safeServerAction(async () => {\n const result = await messagesService.listMessages(params);\n return { data: result.data, total: result.total, totalUnread: result.totalUnread };\n });\n}\n"],"mappings":";AAEA,SAAS,wBAAwB;AACjC,SAAS,uBAAuB;AAGhC,eAAsB,mBAAmB,QAAsC;AAC7E,SAAO,iBAAiB,YAAY;AAClC,UAAM,SAAS,MAAM,gBAAgB,aAAa,MAAM;AACxD,WAAO,EAAE,MAAM,OAAO,MAAM,OAAO,OAAO,OAAO,aAAa,OAAO,YAAY;AAAA,EACnF,CAAC;AACH;","names":[]}
1
+ {"version":3,"sources":["../../../../src/modules/users/action/list-messages.action.ts"],"sourcesContent":["'use server';\r\n\r\nimport { safeServerAction } from '../../../utils/safeServerAction';\r\nimport { messagesService } from '../services/messages.service';\r\nimport type { FindMessagesParams } from '../schema/messages.schema';\r\n\r\nexport async function listMessagesAction(params?: Partial<FindMessagesParams>) {\r\n return safeServerAction(async () => {\r\n const result = await messagesService.listMessages(params);\r\n return { data: result.data, total: result.total, totalUnread: result.totalUnread };\r\n });\r\n}\r\n"],"mappings":";AAEA,SAAS,wBAAwB;AACjC,SAAS,uBAAuB;AAGhC,eAAsB,mBAAmB,QAAsC;AAC7E,SAAO,iBAAiB,YAAY;AAClC,UAAM,SAAS,MAAM,gBAAgB,aAAa,MAAM;AACxD,WAAO,EAAE,MAAM,OAAO,MAAM,OAAO,OAAO,OAAO,aAAa,OAAO,YAAY;AAAA,EACnF,CAAC;AACH;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/modules/users/action/mark-all-messages-as-read.action.ts"],"sourcesContent":["'use server';\n\nimport { safeServerAction } from '../../../utils/safeServerAction';\nimport { messagesService } from '../services/messages.service';\n\nexport async function markAllMessagesAsReadAction() {\n return safeServerAction(() => messagesService.markAllAsRead());\n}\n"],"mappings":";AAEA,SAAS,wBAAwB;AACjC,SAAS,uBAAuB;AAEhC,eAAsB,8BAA8B;AAClD,SAAO,iBAAiB,MAAM,gBAAgB,cAAc,CAAC;AAC/D;","names":[]}
1
+ {"version":3,"sources":["../../../../src/modules/users/action/mark-all-messages-as-read.action.ts"],"sourcesContent":["'use server';\r\n\r\nimport { safeServerAction } from '../../../utils/safeServerAction';\r\nimport { messagesService } from '../services/messages.service';\r\n\r\nexport async function markAllMessagesAsReadAction() {\r\n return safeServerAction(() => messagesService.markAllAsRead());\r\n}\r\n"],"mappings":";AAEA,SAAS,wBAAwB;AACjC,SAAS,uBAAuB;AAEhC,eAAsB,8BAA8B;AAClD,SAAO,iBAAiB,MAAM,gBAAgB,cAAc,CAAC;AAC/D;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/modules/users/action/mark-message-as-read.action.ts"],"sourcesContent":["'use server';\n\nimport { safeServerAction } from '../../../utils/safeServerAction';\nimport { messagesService } from '../services/messages.service';\n\nexport async function markMessageAsReadAction(messageId: string) {\n return safeServerAction(() => messagesService.markAsRead(messageId));\n}\n"],"mappings":";AAEA,SAAS,wBAAwB;AACjC,SAAS,uBAAuB;AAEhC,eAAsB,wBAAwB,WAAmB;AAC/D,SAAO,iBAAiB,MAAM,gBAAgB,WAAW,SAAS,CAAC;AACrE;","names":[]}
1
+ {"version":3,"sources":["../../../../src/modules/users/action/mark-message-as-read.action.ts"],"sourcesContent":["'use server';\r\n\r\nimport { safeServerAction } from '../../../utils/safeServerAction';\r\nimport { messagesService } from '../services/messages.service';\r\n\r\nexport async function markMessageAsReadAction(messageId: string) {\r\n return safeServerAction(() => messagesService.markAsRead(messageId));\r\n}\r\n"],"mappings":";AAEA,SAAS,wBAAwB;AACjC,SAAS,uBAAuB;AAEhC,eAAsB,wBAAwB,WAAmB;AAC/D,SAAO,iBAAiB,MAAM,gBAAgB,WAAW,SAAS,CAAC;AACrE;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/modules/users/hooks/messages.hook.ts"],"sourcesContent":["'use client';\n\nimport { useInfiniteQuery, useMutation, useQuery, useQueryClient } from '@tanstack/react-query';\nimport { listMessagesAction } from '../action/list-messages.action';\nimport { markMessageAsReadAction } from '../action/mark-message-as-read.action';\nimport { markAllMessagesAsReadAction } from '../action/mark-all-messages-as-read.action';\nimport { withAction } from '../../../utils/withAction';\nimport type { FindMessagesParams } from '../schema/messages.schema';\n\nexport const MESSAGES_QUERY_KEY = ['messages'];\n\nconst INFINITE_MESSAGES_PAGE_SIZE = 10;\n\nexport function useMessages(params?: Partial<FindMessagesParams>) {\n return useQuery({\n queryKey: [...MESSAGES_QUERY_KEY, params],\n queryFn: withAction(() => listMessagesAction(params)),\n });\n}\n\nexport function useInfiniteMessages(params?: Partial<Omit<FindMessagesParams, 'page' | 'limit'>>) {\n return useInfiniteQuery({\n queryKey: [...MESSAGES_QUERY_KEY, 'infinite', params],\n queryFn: ({ pageParam }) =>\n withAction(() =>\n listMessagesAction({\n ...params,\n page: pageParam as number,\n limit: INFINITE_MESSAGES_PAGE_SIZE,\n })\n )(),\n getNextPageParam: (lastPage, allPages) => {\n const loaded = allPages.reduce((sum, p) => sum + p.data.length, 0);\n return loaded < lastPage.total ? allPages.length + 1 : undefined;\n },\n initialPageParam: 1,\n });\n}\n\nexport function useMarkMessageAsRead() {\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: withAction(markMessageAsReadAction),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: MESSAGES_QUERY_KEY });\n },\n });\n}\n\nexport function useMarkAllMessagesAsRead() {\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: withAction(markAllMessagesAsReadAction),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: MESSAGES_QUERY_KEY });\n },\n });\n}\n"],"mappings":";AAEA,SAAS,kBAAkB,aAAa,UAAU,sBAAsB;AACxE,SAAS,0BAA0B;AACnC,SAAS,+BAA+B;AACxC,SAAS,mCAAmC;AAC5C,SAAS,kBAAkB;AAGpB,MAAM,qBAAqB,CAAC,UAAU;AAE7C,MAAM,8BAA8B;AAE7B,SAAS,YAAY,QAAsC;AAChE,SAAO,SAAS;AAAA,IACd,UAAU,CAAC,GAAG,oBAAoB,MAAM;AAAA,IACxC,SAAS,WAAW,MAAM,mBAAmB,MAAM,CAAC;AAAA,EACtD,CAAC;AACH;AAEO,SAAS,oBAAoB,QAA8D;AAChG,SAAO,iBAAiB;AAAA,IACtB,UAAU,CAAC,GAAG,oBAAoB,YAAY,MAAM;AAAA,IACpD,SAAS,CAAC,EAAE,UAAU,MACpB;AAAA,MAAW,MACT,mBAAmB;AAAA,QACjB,GAAG;AAAA,QACH,MAAM;AAAA,QACN,OAAO;AAAA,MACT,CAAC;AAAA,IACH,EAAE;AAAA,IACJ,kBAAkB,CAAC,UAAU,aAAa;AACxC,YAAM,SAAS,SAAS,OAAO,CAAC,KAAK,MAAM,MAAM,EAAE,KAAK,QAAQ,CAAC;AACjE,aAAO,SAAS,SAAS,QAAQ,SAAS,SAAS,IAAI;AAAA,IACzD;AAAA,IACA,kBAAkB;AAAA,EACpB,CAAC;AACH;AAEO,SAAS,uBAAuB;AACrC,QAAM,cAAc,eAAe;AAEnC,SAAO,YAAY;AAAA,IACjB,YAAY,WAAW,uBAAuB;AAAA,IAC9C,WAAW,MAAM;AACf,kBAAY,kBAAkB,EAAE,UAAU,mBAAmB,CAAC;AAAA,IAChE;AAAA,EACF,CAAC;AACH;AAEO,SAAS,2BAA2B;AACzC,QAAM,cAAc,eAAe;AAEnC,SAAO,YAAY;AAAA,IACjB,YAAY,WAAW,2BAA2B;AAAA,IAClD,WAAW,MAAM;AACf,kBAAY,kBAAkB,EAAE,UAAU,mBAAmB,CAAC;AAAA,IAChE;AAAA,EACF,CAAC;AACH;","names":[]}
1
+ {"version":3,"sources":["../../../../src/modules/users/hooks/messages.hook.ts"],"sourcesContent":["'use client';\r\n\r\nimport { useInfiniteQuery, useMutation, useQuery, useQueryClient } from '@tanstack/react-query';\r\nimport { listMessagesAction } from '../action/list-messages.action';\r\nimport { markMessageAsReadAction } from '../action/mark-message-as-read.action';\r\nimport { markAllMessagesAsReadAction } from '../action/mark-all-messages-as-read.action';\r\nimport { withAction } from '../../../utils/withAction';\r\nimport type { FindMessagesParams } from '../schema/messages.schema';\r\n\r\nexport const MESSAGES_QUERY_KEY = ['messages'];\r\n\r\nconst INFINITE_MESSAGES_PAGE_SIZE = 10;\r\n\r\nexport function useMessages(params?: Partial<FindMessagesParams>) {\r\n return useQuery({\r\n queryKey: [...MESSAGES_QUERY_KEY, params],\r\n queryFn: withAction(() => listMessagesAction(params)),\r\n });\r\n}\r\n\r\nexport function useInfiniteMessages(params?: Partial<Omit<FindMessagesParams, 'page' | 'limit'>>) {\r\n return useInfiniteQuery({\r\n queryKey: [...MESSAGES_QUERY_KEY, 'infinite', params],\r\n queryFn: ({ pageParam }) =>\r\n withAction(() =>\r\n listMessagesAction({\r\n ...params,\r\n page: pageParam as number,\r\n limit: INFINITE_MESSAGES_PAGE_SIZE,\r\n })\r\n )(),\r\n getNextPageParam: (lastPage, allPages) => {\r\n const loaded = allPages.reduce((sum, p) => sum + p.data.length, 0);\r\n return loaded < lastPage.total ? allPages.length + 1 : undefined;\r\n },\r\n initialPageParam: 1,\r\n });\r\n}\r\n\r\nexport function useMarkMessageAsRead() {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation({\r\n mutationFn: withAction(markMessageAsReadAction),\r\n onSuccess: () => {\r\n queryClient.invalidateQueries({ queryKey: MESSAGES_QUERY_KEY });\r\n },\r\n });\r\n}\r\n\r\nexport function useMarkAllMessagesAsRead() {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation({\r\n mutationFn: withAction(markAllMessagesAsReadAction),\r\n onSuccess: () => {\r\n queryClient.invalidateQueries({ queryKey: MESSAGES_QUERY_KEY });\r\n },\r\n });\r\n}\r\n"],"mappings":";AAEA,SAAS,kBAAkB,aAAa,UAAU,sBAAsB;AACxE,SAAS,0BAA0B;AACnC,SAAS,+BAA+B;AACxC,SAAS,mCAAmC;AAC5C,SAAS,kBAAkB;AAGpB,MAAM,qBAAqB,CAAC,UAAU;AAE7C,MAAM,8BAA8B;AAE7B,SAAS,YAAY,QAAsC;AAChE,SAAO,SAAS;AAAA,IACd,UAAU,CAAC,GAAG,oBAAoB,MAAM;AAAA,IACxC,SAAS,WAAW,MAAM,mBAAmB,MAAM,CAAC;AAAA,EACtD,CAAC;AACH;AAEO,SAAS,oBAAoB,QAA8D;AAChG,SAAO,iBAAiB;AAAA,IACtB,UAAU,CAAC,GAAG,oBAAoB,YAAY,MAAM;AAAA,IACpD,SAAS,CAAC,EAAE,UAAU,MACpB;AAAA,MAAW,MACT,mBAAmB;AAAA,QACjB,GAAG;AAAA,QACH,MAAM;AAAA,QACN,OAAO;AAAA,MACT,CAAC;AAAA,IACH,EAAE;AAAA,IACJ,kBAAkB,CAAC,UAAU,aAAa;AACxC,YAAM,SAAS,SAAS,OAAO,CAAC,KAAK,MAAM,MAAM,EAAE,KAAK,QAAQ,CAAC;AACjE,aAAO,SAAS,SAAS,QAAQ,SAAS,SAAS,IAAI;AAAA,IACzD;AAAA,IACA,kBAAkB;AAAA,EACpB,CAAC;AACH;AAEO,SAAS,uBAAuB;AACrC,QAAM,cAAc,eAAe;AAEnC,SAAO,YAAY;AAAA,IACjB,YAAY,WAAW,uBAAuB;AAAA,IAC9C,WAAW,MAAM;AACf,kBAAY,kBAAkB,EAAE,UAAU,mBAAmB,CAAC;AAAA,IAChE;AAAA,EACF,CAAC;AACH;AAEO,SAAS,2BAA2B;AACzC,QAAM,cAAc,eAAe;AAEnC,SAAO,YAAY;AAAA,IACjB,YAAY,WAAW,2BAA2B;AAAA,IAClD,WAAW,MAAM;AACf,kBAAY,kBAAkB,EAAE,UAAU,mBAAmB,CAAC;AAAA,IAChE;AAAA,EACF,CAAC;AACH;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/modules/whitelabel/actions/find-whitelabel-styles.action.ts"],"sourcesContent":["'use server';\n\nimport { cache } from 'react';\nimport { whitelabelStylesService } from '../services/whitelabel-styles.service';\nimport { WhitelabelStylesData } from '../styles-schema';\n\nexport const findWhitelabelStyles = cache(async (id_wl: number): Promise<WhitelabelStylesData | null> => {\n try {\n return await whitelabelStylesService.getByWlId(id_wl);\n } catch (error) {\n console.error('[findWhitelabelStyles] Error fetching styles:', error);\n return null;\n }\n});\n"],"mappings":";AAEA,SAAS,aAAa;AACtB,SAAS,+BAA+B;AAGjC,MAAM,uBAAuB,MAAM,OAAO,UAAwD;AACvG,MAAI;AACF,WAAO,MAAM,wBAAwB,UAAU,KAAK;AAAA,EACtD,SAAS,OAAO;AACd,YAAQ,MAAM,iDAAiD,KAAK;AACpE,WAAO;AAAA,EACT;AACF,CAAC;","names":[]}
1
+ {"version":3,"sources":["../../../../src/modules/whitelabel/actions/find-whitelabel-styles.action.ts"],"sourcesContent":["'use server';\r\n\r\nimport { cache } from 'react';\r\nimport { whitelabelStylesService } from '../services/whitelabel-styles.service';\r\nimport { WhitelabelStylesData } from '../styles-schema';\r\n\r\nexport const findWhitelabelStyles = cache(async (id_wl: number): Promise<WhitelabelStylesData | null> => {\r\n try {\r\n return await whitelabelStylesService.getByWlId(id_wl);\r\n } catch (error) {\r\n console.error('[findWhitelabelStyles] Error fetching styles:', error);\r\n return null;\r\n }\r\n});\r\n"],"mappings":";AAEA,SAAS,aAAa;AACtB,SAAS,+BAA+B;AAGjC,MAAM,uBAAuB,MAAM,OAAO,UAAwD;AACvG,MAAI;AACF,WAAO,MAAM,wBAAwB,UAAU,KAAK;AAAA,EACtD,SAAS,OAAO;AACd,YAAQ,MAAM,iDAAiD,KAAK;AACpE,WAAO;AAAA,EACT;AACF,CAAC;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/modules/whitelabel/actions/find-whitelabel.action.ts"],"sourcesContent":["'use server';\n\n\nimport { headers } from \"next/headers\";\nimport { whitelabelService } from \"../services/whitelabel.service\";\nimport { ApiError } from \"../../../infra/api/types\";\nimport { cache } from \"react\";\n\nexport const findWhitelabel = cache(async () => {\n const headersList = await headers();\n const host = headersList.get('host');\n\n if (!host) {\n throw new ApiError('Host header not found', 'HOST_NOT_FOUND', 400);\n }\n\n const whitelabel = await whitelabelService.getTokenByDomain(host);\n\n if (!whitelabel) {\n throw new ApiError('Whitelabel not found', 'WL_NOT_FOUND', 404);\n }\n\n return whitelabel;\n});"],"mappings":";AAGA,SAAS,eAAe;AACxB,SAAS,yBAAyB;AAClC,SAAS,gBAAgB;AACzB,SAAS,aAAa;AAEf,MAAM,iBAAiB,MAAM,YAAY;AAC5C,QAAM,cAAc,MAAM,QAAQ;AAClC,QAAM,OAAO,YAAY,IAAI,MAAM;AAEnC,MAAI,CAAC,MAAM;AACP,UAAM,IAAI,SAAS,yBAAyB,kBAAkB,GAAG;AAAA,EACrE;AAEA,QAAM,aAAa,MAAM,kBAAkB,iBAAiB,IAAI;AAEhE,MAAI,CAAC,YAAY;AACb,UAAM,IAAI,SAAS,wBAAwB,gBAAgB,GAAG;AAAA,EAClE;AAEA,SAAO;AACX,CAAC;","names":[]}
1
+ {"version":3,"sources":["../../../../src/modules/whitelabel/actions/find-whitelabel.action.ts"],"sourcesContent":["'use server';\r\n\r\n\r\nimport { headers } from \"next/headers\";\r\nimport { whitelabelService } from \"../services/whitelabel.service\";\r\nimport { ApiError } from \"../../../infra/api/types\";\r\nimport { cache } from \"react\";\r\n\r\nexport const findWhitelabel = cache(async () => {\r\n const headersList = await headers();\r\n const host = headersList.get('host');\r\n\r\n if (!host) {\r\n throw new ApiError('Host header not found', 'HOST_NOT_FOUND', 400);\r\n }\r\n\r\n const whitelabel = await whitelabelService.getTokenByDomain(host);\r\n\r\n if (!whitelabel) {\r\n throw new ApiError('Whitelabel not found', 'WL_NOT_FOUND', 404);\r\n }\r\n\r\n return whitelabel;\r\n});"],"mappings":";AAGA,SAAS,eAAe;AACxB,SAAS,yBAAyB;AAClC,SAAS,gBAAgB;AACzB,SAAS,aAAa;AAEf,MAAM,iBAAiB,MAAM,YAAY;AAC5C,QAAM,cAAc,MAAM,QAAQ;AAClC,QAAM,OAAO,YAAY,IAAI,MAAM;AAEnC,MAAI,CAAC,MAAM;AACP,UAAM,IAAI,SAAS,yBAAyB,kBAAkB,GAAG;AAAA,EACrE;AAEA,QAAM,aAAa,MAAM,kBAAkB,iBAAiB,IAAI;AAEhE,MAAI,CAAC,YAAY;AACb,UAAM,IAAI,SAAS,wBAAwB,gBAAgB,GAAG;AAAA,EAClE;AAEA,SAAO;AACX,CAAC;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/modules/whitelabel/services/whitelabel-styles.service.ts"],"sourcesContent":["import greatCache from '@greatapps/cache';\nimport { ApiError } from '../../../infra/api/types';\nimport { WhitelabelStylesData, GeneralStyleJson } from '../styles-schema';\n\ninterface WithStyleApiResponse {\n status: number;\n data: Record<string, unknown>[];\n}\n\nfunction parseStyleField<T>(value: unknown): T | null {\n if (typeof value === 'string') {\n try { return JSON.parse(value) as T; } catch { return null; }\n }\n if (value && typeof value === 'object') return value as T;\n return null;\n}\n\nfunction mapWithStyleResponse(row: Record<string, unknown>): WhitelabelStylesData {\n const general = parseStyleField<GeneralStyleJson>(row['style_general']);\n\n if (general) {\n if (!general.logo && row['logo']) general.logo = row['logo'] as string;\n if (!general.favicon && row['favicon']) general.favicon = row['favicon'] as string;\n }\n\n return {\n id: row['style_id'] as number,\n id_wl: row['style_id_wl'] as number,\n general,\n signin_page: parseStyleField(row['style_signin_page']),\n signup_page: parseStyleField(row['style_signup_page']),\n dashboard: parseStyleField(row['style_dashboard']),\n };\n}\n\nclass WhitelabelStylesService {\n private getApiUrl(): string {\n const apiUrl = process.env.GAPPS_R3_API_URL;\n if (!apiUrl) throw new ApiError('GAPPS_R3_API_URL not configured', 'CONFIG_ERROR', 500);\n return apiUrl;\n }\n\n private getToken(): string {\n const token = process.env.WHITELABEL_TOKEN_MASTER;\n if (!token) throw new ApiError('WHITELABEL_TOKEN_MASTER not configured', 'CONFIG_ERROR', 500);\n return token;\n }\n\n async getByWlId(id_wl: number): Promise<WhitelabelStylesData | null> {\n const apiUrl = this.getApiUrl();\n const token = this.getToken();\n const url = `${apiUrl}/v1/pt-br/1/whitelabels/${id_wl}/with-style`;\n\n console.log('[WhitelabelStylesService] Fetching with-style for id_wl', { id_wl, url });\n\n const cache = new greatCache({\n service: 'whitelabel-styles-service',\n version: '1.0',\n domain: 'whitelabel-cache.greatapps.com.br',\n ambient: process.env.NODE_ENV || 'development',\n });\n\n const cacheKey = `whitelabel-styles-${id_wl}`;\n const cachedData = await cache.select(cacheKey);\n\n if (cachedData.status == 1 && 'data' in cachedData && cachedData.data) {\n console.log('[WhitelabelStylesService] Cache hit for id_wl', { id_wl });\n return JSON.parse(cachedData.data) as WhitelabelStylesData;\n }\n\n const response = await fetch(url, {\n method: 'GET',\n headers: { authorization: token },\n });\n\n if (!response.ok) {\n console.error('[WhitelabelStylesService] Failed to fetch with-style', { status: response.status });\n return null;\n }\n\n const result: WithStyleApiResponse = await response.json();\n\n if (result.status !== 1 || !result.data?.length) {\n console.warn('[WhitelabelStylesService] No data in with-style for id_wl', { id_wl });\n return null;\n }\n\n const parsed = mapWithStyleResponse(result.data[0]);\n\n if (parsed.id) {\n await cache.insert(cacheKey, JSON.stringify(parsed), 300);\n }\n\n return parsed;\n }\n}\n\nexport const whitelabelStylesService = new WhitelabelStylesService();\n"],"mappings":"AAAA,OAAO,gBAAgB;AACvB,SAAS,gBAAgB;AAQzB,SAAS,gBAAmB,OAA0B;AACpD,MAAI,OAAO,UAAU,UAAU;AAC7B,QAAI;AAAE,aAAO,KAAK,MAAM,KAAK;AAAA,IAAQ,QAAQ;AAAE,aAAO;AAAA,IAAM;AAAA,EAC9D;AACA,MAAI,SAAS,OAAO,UAAU,SAAU,QAAO;AAC/C,SAAO;AACT;AAEA,SAAS,qBAAqB,KAAoD;AAChF,QAAM,UAAU,gBAAkC,IAAI,eAAe,CAAC;AAEtE,MAAI,SAAS;AACX,QAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,EAAG,SAAQ,OAAO,IAAI,MAAM;AAC3D,QAAI,CAAC,QAAQ,WAAW,IAAI,SAAS,EAAG,SAAQ,UAAU,IAAI,SAAS;AAAA,EACzE;AAEA,SAAO;AAAA,IACL,IAAI,IAAI,UAAU;AAAA,IAClB,OAAO,IAAI,aAAa;AAAA,IACxB;AAAA,IACA,aAAa,gBAAgB,IAAI,mBAAmB,CAAC;AAAA,IACrD,aAAa,gBAAgB,IAAI,mBAAmB,CAAC;AAAA,IACrD,WAAW,gBAAgB,IAAI,iBAAiB,CAAC;AAAA,EACnD;AACF;AAEA,MAAM,wBAAwB;AAAA,EACpB,YAAoB;AAC1B,UAAM,SAAS,QAAQ,IAAI;AAC3B,QAAI,CAAC,OAAQ,OAAM,IAAI,SAAS,mCAAmC,gBAAgB,GAAG;AACtF,WAAO;AAAA,EACT;AAAA,EAEQ,WAAmB;AACzB,UAAM,QAAQ,QAAQ,IAAI;AAC1B,QAAI,CAAC,MAAO,OAAM,IAAI,SAAS,0CAA0C,gBAAgB,GAAG;AAC5F,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,UAAU,OAAqD;AACnE,UAAM,SAAS,KAAK,UAAU;AAC9B,UAAM,QAAQ,KAAK,SAAS;AAC5B,UAAM,MAAM,GAAG,MAAM,2BAA2B,KAAK;AAErD,YAAQ,IAAI,2DAA2D,EAAE,OAAO,IAAI,CAAC;AAErF,UAAM,QAAQ,IAAI,WAAW;AAAA,MAC3B,SAAS;AAAA,MACT,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,SAAS,QAAQ,IAAI,YAAY;AAAA,IACnC,CAAC;AAED,UAAM,WAAW,qBAAqB,KAAK;AAC3C,UAAM,aAAa,MAAM,MAAM,OAAO,QAAQ;AAE9C,QAAI,WAAW,UAAU,KAAK,UAAU,cAAc,WAAW,MAAM;AACrE,cAAQ,IAAI,iDAAiD,EAAE,MAAM,CAAC;AACtE,aAAO,KAAK,MAAM,WAAW,IAAI;AAAA,IACnC;AAEA,UAAM,WAAW,MAAM,MAAM,KAAK;AAAA,MAChC,QAAQ;AAAA,MACR,SAAS,EAAE,eAAe,MAAM;AAAA,IAClC,CAAC;AAED,QAAI,CAAC,SAAS,IAAI;AAChB,cAAQ,MAAM,wDAAwD,EAAE,QAAQ,SAAS,OAAO,CAAC;AACjG,aAAO;AAAA,IACT;AAEA,UAAM,SAA+B,MAAM,SAAS,KAAK;AAEzD,QAAI,OAAO,WAAW,KAAK,CAAC,OAAO,MAAM,QAAQ;AAC/C,cAAQ,KAAK,6DAA6D,EAAE,MAAM,CAAC;AACnF,aAAO;AAAA,IACT;AAEA,UAAM,SAAS,qBAAqB,OAAO,KAAK,CAAC,CAAC;AAElD,QAAI,OAAO,IAAI;AACb,YAAM,MAAM,OAAO,UAAU,KAAK,UAAU,MAAM,GAAG,GAAG;AAAA,IAC1D;AAEA,WAAO;AAAA,EACT;AACF;AAEO,MAAM,0BAA0B,IAAI,wBAAwB;","names":[]}
1
+ {"version":3,"sources":["../../../../src/modules/whitelabel/services/whitelabel-styles.service.ts"],"sourcesContent":["import greatCache from '@greatapps/cache';\r\nimport { ApiError } from '../../../infra/api/types';\r\nimport { WhitelabelStylesData, GeneralStyleJson } from '../styles-schema';\r\n\r\ninterface WithStyleApiResponse {\r\n status: number;\r\n data: Record<string, unknown>[];\r\n}\r\n\r\nfunction parseStyleField<T>(value: unknown): T | null {\r\n if (typeof value === 'string') {\r\n try { return JSON.parse(value) as T; } catch { return null; }\r\n }\r\n if (value && typeof value === 'object') return value as T;\r\n return null;\r\n}\r\n\r\nfunction mapWithStyleResponse(row: Record<string, unknown>): WhitelabelStylesData {\r\n const general = parseStyleField<GeneralStyleJson>(row['style_general']);\r\n\r\n if (general) {\r\n if (!general.logo && row['logo']) general.logo = row['logo'] as string;\r\n if (!general.favicon && row['favicon']) general.favicon = row['favicon'] as string;\r\n }\r\n\r\n return {\r\n id: row['style_id'] as number,\r\n id_wl: row['style_id_wl'] as number,\r\n general,\r\n signin_page: parseStyleField(row['style_signin_page']),\r\n signup_page: parseStyleField(row['style_signup_page']),\r\n dashboard: parseStyleField(row['style_dashboard']),\r\n };\r\n}\r\n\r\nclass WhitelabelStylesService {\r\n private getApiUrl(): string {\r\n const apiUrl = process.env.GAPPS_R3_API_URL;\r\n if (!apiUrl) throw new ApiError('GAPPS_R3_API_URL not configured', 'CONFIG_ERROR', 500);\r\n return apiUrl;\r\n }\r\n\r\n private getToken(): string {\r\n const token = process.env.WHITELABEL_TOKEN_MASTER;\r\n if (!token) throw new ApiError('WHITELABEL_TOKEN_MASTER not configured', 'CONFIG_ERROR', 500);\r\n return token;\r\n }\r\n\r\n async getByWlId(id_wl: number): Promise<WhitelabelStylesData | null> {\r\n const apiUrl = this.getApiUrl();\r\n const token = this.getToken();\r\n const url = `${apiUrl}/v1/pt-br/1/whitelabels/${id_wl}/with-style`;\r\n\r\n console.log('[WhitelabelStylesService] Fetching with-style for id_wl', { id_wl, url });\r\n\r\n const cache = new greatCache({\r\n service: 'whitelabel-styles-service',\r\n version: '1.0',\r\n domain: 'whitelabel-cache.greatapps.com.br',\r\n ambient: process.env.NODE_ENV || 'development',\r\n });\r\n\r\n const cacheKey = `whitelabel-styles-${id_wl}`;\r\n const cachedData = await cache.select(cacheKey);\r\n\r\n if (cachedData.status == 1 && 'data' in cachedData && cachedData.data) {\r\n console.log('[WhitelabelStylesService] Cache hit for id_wl', { id_wl });\r\n return JSON.parse(cachedData.data) as WhitelabelStylesData;\r\n }\r\n\r\n const response = await fetch(url, {\r\n method: 'GET',\r\n headers: { authorization: token },\r\n });\r\n\r\n if (!response.ok) {\r\n console.error('[WhitelabelStylesService] Failed to fetch with-style', { status: response.status });\r\n return null;\r\n }\r\n\r\n const result: WithStyleApiResponse = await response.json();\r\n\r\n if (result.status !== 1 || !result.data?.length) {\r\n console.warn('[WhitelabelStylesService] No data in with-style for id_wl', { id_wl });\r\n return null;\r\n }\r\n\r\n const parsed = mapWithStyleResponse(result.data[0]);\r\n\r\n if (parsed.id) {\r\n await cache.insert(cacheKey, JSON.stringify(parsed), 300);\r\n }\r\n\r\n return parsed;\r\n }\r\n}\r\n\r\nexport const whitelabelStylesService = new WhitelabelStylesService();\r\n"],"mappings":"AAAA,OAAO,gBAAgB;AACvB,SAAS,gBAAgB;AAQzB,SAAS,gBAAmB,OAA0B;AACpD,MAAI,OAAO,UAAU,UAAU;AAC7B,QAAI;AAAE,aAAO,KAAK,MAAM,KAAK;AAAA,IAAQ,QAAQ;AAAE,aAAO;AAAA,IAAM;AAAA,EAC9D;AACA,MAAI,SAAS,OAAO,UAAU,SAAU,QAAO;AAC/C,SAAO;AACT;AAEA,SAAS,qBAAqB,KAAoD;AAChF,QAAM,UAAU,gBAAkC,IAAI,eAAe,CAAC;AAEtE,MAAI,SAAS;AACX,QAAI,CAAC,QAAQ,QAAQ,IAAI,MAAM,EAAG,SAAQ,OAAO,IAAI,MAAM;AAC3D,QAAI,CAAC,QAAQ,WAAW,IAAI,SAAS,EAAG,SAAQ,UAAU,IAAI,SAAS;AAAA,EACzE;AAEA,SAAO;AAAA,IACL,IAAI,IAAI,UAAU;AAAA,IAClB,OAAO,IAAI,aAAa;AAAA,IACxB;AAAA,IACA,aAAa,gBAAgB,IAAI,mBAAmB,CAAC;AAAA,IACrD,aAAa,gBAAgB,IAAI,mBAAmB,CAAC;AAAA,IACrD,WAAW,gBAAgB,IAAI,iBAAiB,CAAC;AAAA,EACnD;AACF;AAEA,MAAM,wBAAwB;AAAA,EACpB,YAAoB;AAC1B,UAAM,SAAS,QAAQ,IAAI;AAC3B,QAAI,CAAC,OAAQ,OAAM,IAAI,SAAS,mCAAmC,gBAAgB,GAAG;AACtF,WAAO;AAAA,EACT;AAAA,EAEQ,WAAmB;AACzB,UAAM,QAAQ,QAAQ,IAAI;AAC1B,QAAI,CAAC,MAAO,OAAM,IAAI,SAAS,0CAA0C,gBAAgB,GAAG;AAC5F,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,UAAU,OAAqD;AACnE,UAAM,SAAS,KAAK,UAAU;AAC9B,UAAM,QAAQ,KAAK,SAAS;AAC5B,UAAM,MAAM,GAAG,MAAM,2BAA2B,KAAK;AAErD,YAAQ,IAAI,2DAA2D,EAAE,OAAO,IAAI,CAAC;AAErF,UAAM,QAAQ,IAAI,WAAW;AAAA,MAC3B,SAAS;AAAA,MACT,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,SAAS,QAAQ,IAAI,YAAY;AAAA,IACnC,CAAC;AAED,UAAM,WAAW,qBAAqB,KAAK;AAC3C,UAAM,aAAa,MAAM,MAAM,OAAO,QAAQ;AAE9C,QAAI,WAAW,UAAU,KAAK,UAAU,cAAc,WAAW,MAAM;AACrE,cAAQ,IAAI,iDAAiD,EAAE,MAAM,CAAC;AACtE,aAAO,KAAK,MAAM,WAAW,IAAI;AAAA,IACnC;AAEA,UAAM,WAAW,MAAM,MAAM,KAAK;AAAA,MAChC,QAAQ;AAAA,MACR,SAAS,EAAE,eAAe,MAAM;AAAA,IAClC,CAAC;AAED,QAAI,CAAC,SAAS,IAAI;AAChB,cAAQ,MAAM,wDAAwD,EAAE,QAAQ,SAAS,OAAO,CAAC;AACjG,aAAO;AAAA,IACT;AAEA,UAAM,SAA+B,MAAM,SAAS,KAAK;AAEzD,QAAI,OAAO,WAAW,KAAK,CAAC,OAAO,MAAM,QAAQ;AAC/C,cAAQ,KAAK,6DAA6D,EAAE,MAAM,CAAC;AACnF,aAAO;AAAA,IACT;AAEA,UAAM,SAAS,qBAAqB,OAAO,KAAK,CAAC,CAAC;AAElD,QAAI,OAAO,IAAI;AACb,YAAM,MAAM,OAAO,UAAU,KAAK,UAAU,MAAM,GAAG,GAAG;AAAA,IAC1D;AAEA,WAAO;AAAA,EACT;AACF;AAEO,MAAM,0BAA0B,IAAI,wBAAwB;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/providers/whitelabel.provider.tsx"],"sourcesContent":["\"use client\";\n\nimport { createContext, ReactNode, useContext } from \"react\";\nimport { WhitelabelData } from \"../modules/whitelabel/schema\";\nimport { WhitelabelStylesData } from \"../modules/whitelabel/styles-schema\";\n\ninterface WhitelabelContextProps {\n whitelabel: WhitelabelData | null;\n whitelabelStyles: WhitelabelStylesData | null;\n}\n\nconst WhitelabelContext = createContext<WhitelabelContextProps | undefined>(undefined);\n\ninterface WhitelabelProviderProps {\n children: ReactNode;\n whitelabel: WhitelabelData | null;\n whitelabelStyles?: WhitelabelStylesData | null;\n}\n\nexport function WhitelabelProvider({\n children,\n whitelabel,\n whitelabelStyles = null,\n}: WhitelabelProviderProps) {\n return (\n <WhitelabelContext.Provider value={{ whitelabel, whitelabelStyles }}>\n {children}\n </WhitelabelContext.Provider>\n );\n}\n\nexport function useWhitelabel(): WhitelabelContextProps {\n const context = useContext(WhitelabelContext);\n if (context === undefined) {\n throw new Error(\"useWhitelabel deve ser usado dentro de um WhitelabelProvider\");\n }\n return context;\n}\n\nexport function useWhitelabelStyles(): WhitelabelStylesData | null {\n const context = useContext(WhitelabelContext);\n if (context === undefined) {\n throw new Error(\"useWhitelabelStyles deve ser usado dentro de um WhitelabelProvider\");\n }\n return context.whitelabelStyles;\n}\n"],"mappings":";AAyBI;AAvBJ,SAAS,eAA0B,kBAAkB;AASrD,MAAM,oBAAoB,cAAkD,MAAS;AAQ9E,SAAS,mBAAmB;AAAA,EACjC;AAAA,EACA;AAAA,EACA,mBAAmB;AACrB,GAA4B;AAC1B,SACE,oBAAC,kBAAkB,UAAlB,EAA2B,OAAO,EAAE,YAAY,iBAAiB,GAC/D,UACH;AAEJ;AAEO,SAAS,gBAAwC;AACtD,QAAM,UAAU,WAAW,iBAAiB;AAC5C,MAAI,YAAY,QAAW;AACzB,UAAM,IAAI,MAAM,8DAA8D;AAAA,EAChF;AACA,SAAO;AACT;AAEO,SAAS,sBAAmD;AACjE,QAAM,UAAU,WAAW,iBAAiB;AAC5C,MAAI,YAAY,QAAW;AACzB,UAAM,IAAI,MAAM,oEAAoE;AAAA,EACtF;AACA,SAAO,QAAQ;AACjB;","names":[]}
1
+ {"version":3,"sources":["../../src/providers/whitelabel.provider.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport { createContext, ReactNode, useContext } from \"react\";\r\nimport { WhitelabelData } from \"../modules/whitelabel/schema\";\r\nimport { WhitelabelStylesData } from \"../modules/whitelabel/styles-schema\";\r\n\r\ninterface WhitelabelContextProps {\r\n whitelabel: WhitelabelData | null;\r\n whitelabelStyles: WhitelabelStylesData | null;\r\n}\r\n\r\nconst WhitelabelContext = createContext<WhitelabelContextProps | undefined>(undefined);\r\n\r\ninterface WhitelabelProviderProps {\r\n children: ReactNode;\r\n whitelabel: WhitelabelData | null;\r\n whitelabelStyles?: WhitelabelStylesData | null;\r\n}\r\n\r\nexport function WhitelabelProvider({\r\n children,\r\n whitelabel,\r\n whitelabelStyles = null,\r\n}: WhitelabelProviderProps) {\r\n return (\r\n <WhitelabelContext.Provider value={{ whitelabel, whitelabelStyles }}>\r\n {children}\r\n </WhitelabelContext.Provider>\r\n );\r\n}\r\n\r\nexport function useWhitelabel(): WhitelabelContextProps {\r\n const context = useContext(WhitelabelContext);\r\n if (context === undefined) {\r\n throw new Error(\"useWhitelabel deve ser usado dentro de um WhitelabelProvider\");\r\n }\r\n return context;\r\n}\r\n\r\nexport function useWhitelabelStyles(): WhitelabelStylesData | null {\r\n const context = useContext(WhitelabelContext);\r\n if (context === undefined) {\r\n throw new Error(\"useWhitelabelStyles deve ser usado dentro de um WhitelabelProvider\");\r\n }\r\n return context.whitelabelStyles;\r\n}\r\n"],"mappings":";AAyBI;AAvBJ,SAAS,eAA0B,kBAAkB;AASrD,MAAM,oBAAoB,cAAkD,MAAS;AAQ9E,SAAS,mBAAmB;AAAA,EACjC;AAAA,EACA;AAAA,EACA,mBAAmB;AACrB,GAA4B;AAC1B,SACE,oBAAC,kBAAkB,UAAlB,EAA2B,OAAO,EAAE,YAAY,iBAAiB,GAC/D,UACH;AAEJ;AAEO,SAAS,gBAAwC;AACtD,QAAM,UAAU,WAAW,iBAAiB;AAC5C,MAAI,YAAY,QAAW;AACzB,UAAM,IAAI,MAAM,8DAA8D;AAAA,EAChF;AACA,SAAO;AACT;AAEO,SAAS,sBAAmD;AACjE,QAAM,UAAU,WAAW,iBAAiB;AAC5C,MAAI,YAAY,QAAW;AACzB,UAAM,IAAI,MAAM,oEAAoE;AAAA,EACtF;AACA,SAAO,QAAQ;AACjB;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/countries.ts"],"sourcesContent":["export interface Country {\n iso: string;\n name: string;\n dial: string;\n}\n\nexport function flagUrl(iso: string): string {\n return `https://hatscripts.github.io/circle-flags/flags/${iso.toLowerCase()}.svg`;\n}\n\nexport const COUNTRIES: Country[] = [\n { iso: 'BR', name: 'Brasil', dial: '+55' },\n { iso: 'US', name: 'United States', dial: '+1' },\n { iso: 'PT', name: 'Portugal', dial: '+351' },\n { iso: 'AF', name: 'Afghanistan', dial: '+93' },\n { iso: 'AL', name: 'Albania', dial: '+355' },\n { iso: 'DZ', name: 'Algeria', dial: '+213' },\n { iso: 'AD', name: 'Andorra', dial: '+376' },\n { iso: 'AO', name: 'Angola', dial: '+244' },\n { iso: 'AG', name: 'Antigua and Barbuda', dial: '+1268' },\n { iso: 'AR', name: 'Argentina', dial: '+54' },\n { iso: 'AM', name: 'Armenia', dial: '+374' },\n { iso: 'AU', name: 'Australia', dial: '+61' },\n { iso: 'AT', name: 'Austria', dial: '+43' },\n { iso: 'AZ', name: 'Azerbaijan', dial: '+994' },\n { iso: 'BS', name: 'Bahamas', dial: '+1242' },\n { iso: 'BH', name: 'Bahrain', dial: '+973' },\n { iso: 'BD', name: 'Bangladesh', dial: '+880' },\n { iso: 'BB', name: 'Barbados', dial: '+1246' },\n { iso: 'BY', name: 'Belarus', dial: '+375' },\n { iso: 'BE', name: 'Belgium', dial: '+32' },\n { iso: 'BZ', name: 'Belize', dial: '+501' },\n { iso: 'BJ', name: 'Benin', dial: '+229' },\n { iso: 'BT', name: 'Bhutan', dial: '+975' },\n { iso: 'BO', name: 'Bolivia', dial: '+591' },\n { iso: 'BA', name: 'Bosnia and Herzegovina', dial: '+387' },\n { iso: 'BW', name: 'Botswana', dial: '+267' },\n { iso: 'BN', name: 'Brunei', dial: '+673' },\n { iso: 'BG', name: 'Bulgaria', dial: '+359' },\n { iso: 'BF', name: 'Burkina Faso', dial: '+226' },\n { iso: 'BI', name: 'Burundi', dial: '+257' },\n { iso: 'KH', name: 'Cambodia', dial: '+855' },\n { iso: 'CM', name: 'Cameroon', dial: '+237' },\n { iso: 'CA', name: 'Canada', dial: '+1' },\n { iso: 'CV', name: 'Cape Verde', dial: '+238' },\n { iso: 'CF', name: 'Central African Republic', dial: '+236' },\n { iso: 'TD', name: 'Chad', dial: '+235' },\n { iso: 'CL', name: 'Chile', dial: '+56' },\n { iso: 'CN', name: 'China', dial: '+86' },\n { iso: 'CO', name: 'Colombia', dial: '+57' },\n { iso: 'KM', name: 'Comoros', dial: '+269' },\n { iso: 'CG', name: 'Congo', dial: '+242' },\n { iso: 'CD', name: 'Congo (DR)', dial: '+243' },\n { iso: 'CR', name: 'Costa Rica', dial: '+506' },\n { iso: 'HR', name: 'Croatia', dial: '+385' },\n { iso: 'CU', name: 'Cuba', dial: '+53' },\n { iso: 'CY', name: 'Cyprus', dial: '+357' },\n { iso: 'CZ', name: 'Czech Republic', dial: '+420' },\n { iso: 'DK', name: 'Denmark', dial: '+45' },\n { iso: 'DJ', name: 'Djibouti', dial: '+253' },\n { iso: 'DM', name: 'Dominica', dial: '+1767' },\n { iso: 'DO', name: 'Dominican Republic', dial: '+1809' },\n { iso: 'EC', name: 'Ecuador', dial: '+593' },\n { iso: 'EG', name: 'Egypt', dial: '+20' },\n { iso: 'SV', name: 'El Salvador', dial: '+503' },\n { iso: 'GQ', name: 'Equatorial Guinea', dial: '+240' },\n { iso: 'ER', name: 'Eritrea', dial: '+291' },\n { iso: 'EE', name: 'Estonia', dial: '+372' },\n { iso: 'SZ', name: 'Eswatini', dial: '+268' },\n { iso: 'ET', name: 'Ethiopia', dial: '+251' },\n { iso: 'FJ', name: 'Fiji', dial: '+679' },\n { iso: 'FI', name: 'Finland', dial: '+358' },\n { iso: 'FR', name: 'France', dial: '+33' },\n { iso: 'GA', name: 'Gabon', dial: '+241' },\n { iso: 'GM', name: 'Gambia', dial: '+220' },\n { iso: 'GE', name: 'Georgia', dial: '+995' },\n { iso: 'DE', name: 'Germany', dial: '+49' },\n { iso: 'GH', name: 'Ghana', dial: '+233' },\n { iso: 'GR', name: 'Greece', dial: '+30' },\n { iso: 'GD', name: 'Grenada', dial: '+1473' },\n { iso: 'GT', name: 'Guatemala', dial: '+502' },\n { iso: 'GN', name: 'Guinea', dial: '+224' },\n { iso: 'GW', name: 'Guinea-Bissau', dial: '+245' },\n { iso: 'GY', name: 'Guyana', dial: '+592' },\n { iso: 'HT', name: 'Haiti', dial: '+509' },\n { iso: 'HN', name: 'Honduras', dial: '+504' },\n { iso: 'HU', name: 'Hungary', dial: '+36' },\n { iso: 'IS', name: 'Iceland', dial: '+354' },\n { iso: 'IN', name: 'India', dial: '+91' },\n { iso: 'ID', name: 'Indonesia', dial: '+62' },\n { iso: 'IR', name: 'Iran', dial: '+98' },\n { iso: 'IQ', name: 'Iraq', dial: '+964' },\n { iso: 'IE', name: 'Ireland', dial: '+353' },\n { iso: 'IL', name: 'Israel', dial: '+972' },\n { iso: 'IT', name: 'Italy', dial: '+39' },\n { iso: 'JM', name: 'Jamaica', dial: '+1876' },\n { iso: 'JP', name: 'Japan', dial: '+81' },\n { iso: 'JO', name: 'Jordan', dial: '+962' },\n { iso: 'KZ', name: 'Kazakhstan', dial: '+7' },\n { iso: 'KE', name: 'Kenya', dial: '+254' },\n { iso: 'KI', name: 'Kiribati', dial: '+686' },\n { iso: 'KW', name: 'Kuwait', dial: '+965' },\n { iso: 'KG', name: 'Kyrgyzstan', dial: '+996' },\n { iso: 'LA', name: 'Laos', dial: '+856' },\n { iso: 'LV', name: 'Latvia', dial: '+371' },\n { iso: 'LB', name: 'Lebanon', dial: '+961' },\n { iso: 'LS', name: 'Lesotho', dial: '+266' },\n { iso: 'LR', name: 'Liberia', dial: '+231' },\n { iso: 'LY', name: 'Libya', dial: '+218' },\n { iso: 'LI', name: 'Liechtenstein', dial: '+423' },\n { iso: 'LT', name: 'Lithuania', dial: '+370' },\n { iso: 'LU', name: 'Luxembourg', dial: '+352' },\n { iso: 'MG', name: 'Madagascar', dial: '+261' },\n { iso: 'MW', name: 'Malawi', dial: '+265' },\n { iso: 'MY', name: 'Malaysia', dial: '+60' },\n { iso: 'MV', name: 'Maldives', dial: '+960' },\n { iso: 'ML', name: 'Mali', dial: '+223' },\n { iso: 'MT', name: 'Malta', dial: '+356' },\n { iso: 'MH', name: 'Marshall Islands', dial: '+692' },\n { iso: 'MR', name: 'Mauritania', dial: '+222' },\n { iso: 'MU', name: 'Mauritius', dial: '+230' },\n { iso: 'MX', name: 'Mexico', dial: '+52' },\n { iso: 'FM', name: 'Micronesia', dial: '+691' },\n { iso: 'MD', name: 'Moldova', dial: '+373' },\n { iso: 'MC', name: 'Monaco', dial: '+377' },\n { iso: 'MN', name: 'Mongolia', dial: '+976' },\n { iso: 'ME', name: 'Montenegro', dial: '+382' },\n { iso: 'MA', name: 'Morocco', dial: '+212' },\n { iso: 'MZ', name: 'Mozambique', dial: '+258' },\n { iso: 'MM', name: 'Myanmar', dial: '+95' },\n { iso: 'NA', name: 'Namibia', dial: '+264' },\n { iso: 'NR', name: 'Nauru', dial: '+674' },\n { iso: 'NP', name: 'Nepal', dial: '+977' },\n { iso: 'NL', name: 'Netherlands', dial: '+31' },\n { iso: 'NZ', name: 'New Zealand', dial: '+64' },\n { iso: 'NI', name: 'Nicaragua', dial: '+505' },\n { iso: 'NE', name: 'Niger', dial: '+227' },\n { iso: 'NG', name: 'Nigeria', dial: '+234' },\n { iso: 'KP', name: 'North Korea', dial: '+850' },\n { iso: 'MK', name: 'North Macedonia', dial: '+389' },\n { iso: 'NO', name: 'Norway', dial: '+47' },\n { iso: 'OM', name: 'Oman', dial: '+968' },\n { iso: 'PK', name: 'Pakistan', dial: '+92' },\n { iso: 'PW', name: 'Palau', dial: '+680' },\n { iso: 'PS', name: 'Palestine', dial: '+970' },\n { iso: 'PA', name: 'Panama', dial: '+507' },\n { iso: 'PG', name: 'Papua New Guinea', dial: '+675' },\n { iso: 'PY', name: 'Paraguay', dial: '+595' },\n { iso: 'PE', name: 'Peru', dial: '+51' },\n { iso: 'PH', name: 'Philippines', dial: '+63' },\n { iso: 'PL', name: 'Poland', dial: '+48' },\n { iso: 'QA', name: 'Qatar', dial: '+974' },\n { iso: 'RO', name: 'Romania', dial: '+40' },\n { iso: 'RU', name: 'Russia', dial: '+7' },\n { iso: 'RW', name: 'Rwanda', dial: '+250' },\n { iso: 'KN', name: 'Saint Kitts and Nevis', dial: '+1869' },\n { iso: 'LC', name: 'Saint Lucia', dial: '+1758' },\n { iso: 'VC', name: 'Saint Vincent and the Grenadines', dial: '+1784' },\n { iso: 'WS', name: 'Samoa', dial: '+685' },\n { iso: 'SM', name: 'San Marino', dial: '+378' },\n { iso: 'ST', name: 'São Tomé and Príncipe', dial: '+239' },\n { iso: 'SA', name: 'Saudi Arabia', dial: '+966' },\n { iso: 'SN', name: 'Senegal', dial: '+221' },\n { iso: 'RS', name: 'Serbia', dial: '+381' },\n { iso: 'SC', name: 'Seychelles', dial: '+248' },\n { iso: 'SL', name: 'Sierra Leone', dial: '+232' },\n { iso: 'SG', name: 'Singapore', dial: '+65' },\n { iso: 'SK', name: 'Slovakia', dial: '+421' },\n { iso: 'SI', name: 'Slovenia', dial: '+386' },\n { iso: 'SB', name: 'Solomon Islands', dial: '+677' },\n { iso: 'SO', name: 'Somalia', dial: '+252' },\n { iso: 'ZA', name: 'South Africa', dial: '+27' },\n { iso: 'KR', name: 'South Korea', dial: '+82' },\n { iso: 'SS', name: 'South Sudan', dial: '+211' },\n { iso: 'ES', name: 'Spain', dial: '+34' },\n { iso: 'LK', name: 'Sri Lanka', dial: '+94' },\n { iso: 'SD', name: 'Sudan', dial: '+249' },\n { iso: 'SR', name: 'Suriname', dial: '+597' },\n { iso: 'SE', name: 'Sweden', dial: '+46' },\n { iso: 'CH', name: 'Switzerland', dial: '+41' },\n { iso: 'SY', name: 'Syria', dial: '+963' },\n { iso: 'TW', name: 'Taiwan', dial: '+886' },\n { iso: 'TJ', name: 'Tajikistan', dial: '+992' },\n { iso: 'TZ', name: 'Tanzania', dial: '+255' },\n { iso: 'TH', name: 'Thailand', dial: '+66' },\n { iso: 'TL', name: 'Timor-Leste', dial: '+670' },\n { iso: 'TG', name: 'Togo', dial: '+228' },\n { iso: 'TO', name: 'Tonga', dial: '+676' },\n { iso: 'TT', name: 'Trinidad and Tobago', dial: '+1868' },\n { iso: 'TN', name: 'Tunisia', dial: '+216' },\n { iso: 'TR', name: 'Turkey', dial: '+90' },\n { iso: 'TM', name: 'Turkmenistan', dial: '+993' },\n { iso: 'TV', name: 'Tuvalu', dial: '+688' },\n { iso: 'UG', name: 'Uganda', dial: '+256' },\n { iso: 'UA', name: 'Ukraine', dial: '+380' },\n { iso: 'AE', name: 'United Arab Emirates', dial: '+971' },\n { iso: 'GB', name: 'United Kingdom', dial: '+44' },\n { iso: 'UY', name: 'Uruguay', dial: '+598' },\n { iso: 'UZ', name: 'Uzbekistan', dial: '+998' },\n { iso: 'VU', name: 'Vanuatu', dial: '+678' },\n { iso: 'VE', name: 'Venezuela', dial: '+58' },\n { iso: 'VN', name: 'Vietnam', dial: '+84' },\n { iso: 'YE', name: 'Yemen', dial: '+967' },\n { iso: 'ZM', name: 'Zambia', dial: '+260' },\n { iso: 'ZW', name: 'Zimbabwe', dial: '+263' },\n];\n\n// Sorted by dial code length desc for correct prefix matching\nconst SORTED_BY_DIAL_LENGTH = [...COUNTRIES].sort(\n (a, b) => b.dial.length - a.dial.length\n);\n\nconst DEFAULT_COUNTRY = COUNTRIES[0]; // Brasil\n\nexport function parsePhoneValue(value: string): { country: Country; number: string } {\n if (!value) return { country: DEFAULT_COUNTRY, number: '' };\n for (const country of SORTED_BY_DIAL_LENGTH) {\n const prefix = country.dial + ' ';\n if (value.startsWith(prefix)) {\n return { country, number: value.slice(prefix.length) };\n }\n }\n return { country: DEFAULT_COUNTRY, number: value };\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../src/utils/countries.ts"],"sourcesContent":["export interface Country {\r\n iso: string;\r\n name: string;\r\n dial: string;\r\n}\r\n\r\nexport function flagUrl(iso: string): string {\r\n return `https://hatscripts.github.io/circle-flags/flags/${iso.toLowerCase()}.svg`;\r\n}\r\n\r\nexport const COUNTRIES: Country[] = [\r\n { iso: 'BR', name: 'Brasil', dial: '+55' },\r\n { iso: 'US', name: 'United States', dial: '+1' },\r\n { iso: 'PT', name: 'Portugal', dial: '+351' },\r\n { iso: 'AF', name: 'Afghanistan', dial: '+93' },\r\n { iso: 'AL', name: 'Albania', dial: '+355' },\r\n { iso: 'DZ', name: 'Algeria', dial: '+213' },\r\n { iso: 'AD', name: 'Andorra', dial: '+376' },\r\n { iso: 'AO', name: 'Angola', dial: '+244' },\r\n { iso: 'AG', name: 'Antigua and Barbuda', dial: '+1268' },\r\n { iso: 'AR', name: 'Argentina', dial: '+54' },\r\n { iso: 'AM', name: 'Armenia', dial: '+374' },\r\n { iso: 'AU', name: 'Australia', dial: '+61' },\r\n { iso: 'AT', name: 'Austria', dial: '+43' },\r\n { iso: 'AZ', name: 'Azerbaijan', dial: '+994' },\r\n { iso: 'BS', name: 'Bahamas', dial: '+1242' },\r\n { iso: 'BH', name: 'Bahrain', dial: '+973' },\r\n { iso: 'BD', name: 'Bangladesh', dial: '+880' },\r\n { iso: 'BB', name: 'Barbados', dial: '+1246' },\r\n { iso: 'BY', name: 'Belarus', dial: '+375' },\r\n { iso: 'BE', name: 'Belgium', dial: '+32' },\r\n { iso: 'BZ', name: 'Belize', dial: '+501' },\r\n { iso: 'BJ', name: 'Benin', dial: '+229' },\r\n { iso: 'BT', name: 'Bhutan', dial: '+975' },\r\n { iso: 'BO', name: 'Bolivia', dial: '+591' },\r\n { iso: 'BA', name: 'Bosnia and Herzegovina', dial: '+387' },\r\n { iso: 'BW', name: 'Botswana', dial: '+267' },\r\n { iso: 'BN', name: 'Brunei', dial: '+673' },\r\n { iso: 'BG', name: 'Bulgaria', dial: '+359' },\r\n { iso: 'BF', name: 'Burkina Faso', dial: '+226' },\r\n { iso: 'BI', name: 'Burundi', dial: '+257' },\r\n { iso: 'KH', name: 'Cambodia', dial: '+855' },\r\n { iso: 'CM', name: 'Cameroon', dial: '+237' },\r\n { iso: 'CA', name: 'Canada', dial: '+1' },\r\n { iso: 'CV', name: 'Cape Verde', dial: '+238' },\r\n { iso: 'CF', name: 'Central African Republic', dial: '+236' },\r\n { iso: 'TD', name: 'Chad', dial: '+235' },\r\n { iso: 'CL', name: 'Chile', dial: '+56' },\r\n { iso: 'CN', name: 'China', dial: '+86' },\r\n { iso: 'CO', name: 'Colombia', dial: '+57' },\r\n { iso: 'KM', name: 'Comoros', dial: '+269' },\r\n { iso: 'CG', name: 'Congo', dial: '+242' },\r\n { iso: 'CD', name: 'Congo (DR)', dial: '+243' },\r\n { iso: 'CR', name: 'Costa Rica', dial: '+506' },\r\n { iso: 'HR', name: 'Croatia', dial: '+385' },\r\n { iso: 'CU', name: 'Cuba', dial: '+53' },\r\n { iso: 'CY', name: 'Cyprus', dial: '+357' },\r\n { iso: 'CZ', name: 'Czech Republic', dial: '+420' },\r\n { iso: 'DK', name: 'Denmark', dial: '+45' },\r\n { iso: 'DJ', name: 'Djibouti', dial: '+253' },\r\n { iso: 'DM', name: 'Dominica', dial: '+1767' },\r\n { iso: 'DO', name: 'Dominican Republic', dial: '+1809' },\r\n { iso: 'EC', name: 'Ecuador', dial: '+593' },\r\n { iso: 'EG', name: 'Egypt', dial: '+20' },\r\n { iso: 'SV', name: 'El Salvador', dial: '+503' },\r\n { iso: 'GQ', name: 'Equatorial Guinea', dial: '+240' },\r\n { iso: 'ER', name: 'Eritrea', dial: '+291' },\r\n { iso: 'EE', name: 'Estonia', dial: '+372' },\r\n { iso: 'SZ', name: 'Eswatini', dial: '+268' },\r\n { iso: 'ET', name: 'Ethiopia', dial: '+251' },\r\n { iso: 'FJ', name: 'Fiji', dial: '+679' },\r\n { iso: 'FI', name: 'Finland', dial: '+358' },\r\n { iso: 'FR', name: 'France', dial: '+33' },\r\n { iso: 'GA', name: 'Gabon', dial: '+241' },\r\n { iso: 'GM', name: 'Gambia', dial: '+220' },\r\n { iso: 'GE', name: 'Georgia', dial: '+995' },\r\n { iso: 'DE', name: 'Germany', dial: '+49' },\r\n { iso: 'GH', name: 'Ghana', dial: '+233' },\r\n { iso: 'GR', name: 'Greece', dial: '+30' },\r\n { iso: 'GD', name: 'Grenada', dial: '+1473' },\r\n { iso: 'GT', name: 'Guatemala', dial: '+502' },\r\n { iso: 'GN', name: 'Guinea', dial: '+224' },\r\n { iso: 'GW', name: 'Guinea-Bissau', dial: '+245' },\r\n { iso: 'GY', name: 'Guyana', dial: '+592' },\r\n { iso: 'HT', name: 'Haiti', dial: '+509' },\r\n { iso: 'HN', name: 'Honduras', dial: '+504' },\r\n { iso: 'HU', name: 'Hungary', dial: '+36' },\r\n { iso: 'IS', name: 'Iceland', dial: '+354' },\r\n { iso: 'IN', name: 'India', dial: '+91' },\r\n { iso: 'ID', name: 'Indonesia', dial: '+62' },\r\n { iso: 'IR', name: 'Iran', dial: '+98' },\r\n { iso: 'IQ', name: 'Iraq', dial: '+964' },\r\n { iso: 'IE', name: 'Ireland', dial: '+353' },\r\n { iso: 'IL', name: 'Israel', dial: '+972' },\r\n { iso: 'IT', name: 'Italy', dial: '+39' },\r\n { iso: 'JM', name: 'Jamaica', dial: '+1876' },\r\n { iso: 'JP', name: 'Japan', dial: '+81' },\r\n { iso: 'JO', name: 'Jordan', dial: '+962' },\r\n { iso: 'KZ', name: 'Kazakhstan', dial: '+7' },\r\n { iso: 'KE', name: 'Kenya', dial: '+254' },\r\n { iso: 'KI', name: 'Kiribati', dial: '+686' },\r\n { iso: 'KW', name: 'Kuwait', dial: '+965' },\r\n { iso: 'KG', name: 'Kyrgyzstan', dial: '+996' },\r\n { iso: 'LA', name: 'Laos', dial: '+856' },\r\n { iso: 'LV', name: 'Latvia', dial: '+371' },\r\n { iso: 'LB', name: 'Lebanon', dial: '+961' },\r\n { iso: 'LS', name: 'Lesotho', dial: '+266' },\r\n { iso: 'LR', name: 'Liberia', dial: '+231' },\r\n { iso: 'LY', name: 'Libya', dial: '+218' },\r\n { iso: 'LI', name: 'Liechtenstein', dial: '+423' },\r\n { iso: 'LT', name: 'Lithuania', dial: '+370' },\r\n { iso: 'LU', name: 'Luxembourg', dial: '+352' },\r\n { iso: 'MG', name: 'Madagascar', dial: '+261' },\r\n { iso: 'MW', name: 'Malawi', dial: '+265' },\r\n { iso: 'MY', name: 'Malaysia', dial: '+60' },\r\n { iso: 'MV', name: 'Maldives', dial: '+960' },\r\n { iso: 'ML', name: 'Mali', dial: '+223' },\r\n { iso: 'MT', name: 'Malta', dial: '+356' },\r\n { iso: 'MH', name: 'Marshall Islands', dial: '+692' },\r\n { iso: 'MR', name: 'Mauritania', dial: '+222' },\r\n { iso: 'MU', name: 'Mauritius', dial: '+230' },\r\n { iso: 'MX', name: 'Mexico', dial: '+52' },\r\n { iso: 'FM', name: 'Micronesia', dial: '+691' },\r\n { iso: 'MD', name: 'Moldova', dial: '+373' },\r\n { iso: 'MC', name: 'Monaco', dial: '+377' },\r\n { iso: 'MN', name: 'Mongolia', dial: '+976' },\r\n { iso: 'ME', name: 'Montenegro', dial: '+382' },\r\n { iso: 'MA', name: 'Morocco', dial: '+212' },\r\n { iso: 'MZ', name: 'Mozambique', dial: '+258' },\r\n { iso: 'MM', name: 'Myanmar', dial: '+95' },\r\n { iso: 'NA', name: 'Namibia', dial: '+264' },\r\n { iso: 'NR', name: 'Nauru', dial: '+674' },\r\n { iso: 'NP', name: 'Nepal', dial: '+977' },\r\n { iso: 'NL', name: 'Netherlands', dial: '+31' },\r\n { iso: 'NZ', name: 'New Zealand', dial: '+64' },\r\n { iso: 'NI', name: 'Nicaragua', dial: '+505' },\r\n { iso: 'NE', name: 'Niger', dial: '+227' },\r\n { iso: 'NG', name: 'Nigeria', dial: '+234' },\r\n { iso: 'KP', name: 'North Korea', dial: '+850' },\r\n { iso: 'MK', name: 'North Macedonia', dial: '+389' },\r\n { iso: 'NO', name: 'Norway', dial: '+47' },\r\n { iso: 'OM', name: 'Oman', dial: '+968' },\r\n { iso: 'PK', name: 'Pakistan', dial: '+92' },\r\n { iso: 'PW', name: 'Palau', dial: '+680' },\r\n { iso: 'PS', name: 'Palestine', dial: '+970' },\r\n { iso: 'PA', name: 'Panama', dial: '+507' },\r\n { iso: 'PG', name: 'Papua New Guinea', dial: '+675' },\r\n { iso: 'PY', name: 'Paraguay', dial: '+595' },\r\n { iso: 'PE', name: 'Peru', dial: '+51' },\r\n { iso: 'PH', name: 'Philippines', dial: '+63' },\r\n { iso: 'PL', name: 'Poland', dial: '+48' },\r\n { iso: 'QA', name: 'Qatar', dial: '+974' },\r\n { iso: 'RO', name: 'Romania', dial: '+40' },\r\n { iso: 'RU', name: 'Russia', dial: '+7' },\r\n { iso: 'RW', name: 'Rwanda', dial: '+250' },\r\n { iso: 'KN', name: 'Saint Kitts and Nevis', dial: '+1869' },\r\n { iso: 'LC', name: 'Saint Lucia', dial: '+1758' },\r\n { iso: 'VC', name: 'Saint Vincent and the Grenadines', dial: '+1784' },\r\n { iso: 'WS', name: 'Samoa', dial: '+685' },\r\n { iso: 'SM', name: 'San Marino', dial: '+378' },\r\n { iso: 'ST', name: 'São Tomé and Príncipe', dial: '+239' },\r\n { iso: 'SA', name: 'Saudi Arabia', dial: '+966' },\r\n { iso: 'SN', name: 'Senegal', dial: '+221' },\r\n { iso: 'RS', name: 'Serbia', dial: '+381' },\r\n { iso: 'SC', name: 'Seychelles', dial: '+248' },\r\n { iso: 'SL', name: 'Sierra Leone', dial: '+232' },\r\n { iso: 'SG', name: 'Singapore', dial: '+65' },\r\n { iso: 'SK', name: 'Slovakia', dial: '+421' },\r\n { iso: 'SI', name: 'Slovenia', dial: '+386' },\r\n { iso: 'SB', name: 'Solomon Islands', dial: '+677' },\r\n { iso: 'SO', name: 'Somalia', dial: '+252' },\r\n { iso: 'ZA', name: 'South Africa', dial: '+27' },\r\n { iso: 'KR', name: 'South Korea', dial: '+82' },\r\n { iso: 'SS', name: 'South Sudan', dial: '+211' },\r\n { iso: 'ES', name: 'Spain', dial: '+34' },\r\n { iso: 'LK', name: 'Sri Lanka', dial: '+94' },\r\n { iso: 'SD', name: 'Sudan', dial: '+249' },\r\n { iso: 'SR', name: 'Suriname', dial: '+597' },\r\n { iso: 'SE', name: 'Sweden', dial: '+46' },\r\n { iso: 'CH', name: 'Switzerland', dial: '+41' },\r\n { iso: 'SY', name: 'Syria', dial: '+963' },\r\n { iso: 'TW', name: 'Taiwan', dial: '+886' },\r\n { iso: 'TJ', name: 'Tajikistan', dial: '+992' },\r\n { iso: 'TZ', name: 'Tanzania', dial: '+255' },\r\n { iso: 'TH', name: 'Thailand', dial: '+66' },\r\n { iso: 'TL', name: 'Timor-Leste', dial: '+670' },\r\n { iso: 'TG', name: 'Togo', dial: '+228' },\r\n { iso: 'TO', name: 'Tonga', dial: '+676' },\r\n { iso: 'TT', name: 'Trinidad and Tobago', dial: '+1868' },\r\n { iso: 'TN', name: 'Tunisia', dial: '+216' },\r\n { iso: 'TR', name: 'Turkey', dial: '+90' },\r\n { iso: 'TM', name: 'Turkmenistan', dial: '+993' },\r\n { iso: 'TV', name: 'Tuvalu', dial: '+688' },\r\n { iso: 'UG', name: 'Uganda', dial: '+256' },\r\n { iso: 'UA', name: 'Ukraine', dial: '+380' },\r\n { iso: 'AE', name: 'United Arab Emirates', dial: '+971' },\r\n { iso: 'GB', name: 'United Kingdom', dial: '+44' },\r\n { iso: 'UY', name: 'Uruguay', dial: '+598' },\r\n { iso: 'UZ', name: 'Uzbekistan', dial: '+998' },\r\n { iso: 'VU', name: 'Vanuatu', dial: '+678' },\r\n { iso: 'VE', name: 'Venezuela', dial: '+58' },\r\n { iso: 'VN', name: 'Vietnam', dial: '+84' },\r\n { iso: 'YE', name: 'Yemen', dial: '+967' },\r\n { iso: 'ZM', name: 'Zambia', dial: '+260' },\r\n { iso: 'ZW', name: 'Zimbabwe', dial: '+263' },\r\n];\r\n\r\n// Sorted by dial code length desc for correct prefix matching\r\nconst SORTED_BY_DIAL_LENGTH = [...COUNTRIES].sort(\r\n (a, b) => b.dial.length - a.dial.length\r\n);\r\n\r\nconst DEFAULT_COUNTRY = COUNTRIES[0]; // Brasil\r\n\r\nexport function parsePhoneValue(value: string): { country: Country; number: string } {\r\n if (!value) return { country: DEFAULT_COUNTRY, number: '' };\r\n for (const country of SORTED_BY_DIAL_LENGTH) {\r\n const prefix = country.dial + ' ';\r\n if (value.startsWith(prefix)) {\r\n return { country, number: value.slice(prefix.length) };\r\n }\r\n }\r\n return { country: DEFAULT_COUNTRY, number: value };\r\n}\r\n"],"mappings":"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","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/safeServerAction.ts"],"sourcesContent":["import { isRedirectError } from 'next/dist/client/components/redirect-error';\nimport { ApiError } from '../infra/api/types';\nimport type { ActionResult } from '../infra/api/types';\n\nexport async function safeServerAction<T>(\n fn: () => Promise<T>\n): Promise<ActionResult<T>> {\n try {\n const data = await fn();\n return { success: true, data };\n } catch (error) {\n if (isRedirectError(error)) throw error;\n const message =\n error instanceof ApiError\n ? error.message\n : error instanceof Error\n ? error.message\n : 'Erro desconhecido';\n return { success: false, error: message };\n }\n}\n"],"mappings":"AAAA,SAAS,uBAAuB;AAChC,SAAS,gBAAgB;AAGzB,eAAsB,iBACpB,IAC0B;AAC1B,MAAI;AACF,UAAM,OAAO,MAAM,GAAG;AACtB,WAAO,EAAE,SAAS,MAAM,KAAK;AAAA,EAC/B,SAAS,OAAO;AACd,QAAI,gBAAgB,KAAK,EAAG,OAAM;AAClC,UAAM,UACJ,iBAAiB,WACb,MAAM,UACN,iBAAiB,QACf,MAAM,UACN;AACR,WAAO,EAAE,SAAS,OAAO,OAAO,QAAQ;AAAA,EAC1C;AACF;","names":[]}
1
+ {"version":3,"sources":["../../src/utils/safeServerAction.ts"],"sourcesContent":["import { isRedirectError } from 'next/dist/client/components/redirect-error';\r\nimport { ApiError } from '../infra/api/types';\r\nimport type { ActionResult } from '../infra/api/types';\r\n\r\nexport async function safeServerAction<T>(\r\n fn: () => Promise<T>\r\n): Promise<ActionResult<T>> {\r\n try {\r\n const data = await fn();\r\n return { success: true, data };\r\n } catch (error) {\r\n if (isRedirectError(error)) throw error;\r\n const message =\r\n error instanceof ApiError\r\n ? error.message\r\n : error instanceof Error\r\n ? error.message\r\n : 'Erro desconhecido';\r\n return { success: false, error: message };\r\n }\r\n}\r\n"],"mappings":"AAAA,SAAS,uBAAuB;AAChC,SAAS,gBAAgB;AAGzB,eAAsB,iBACpB,IAC0B;AAC1B,MAAI;AACF,UAAM,OAAO,MAAM,GAAG;AACtB,WAAO,EAAE,SAAS,MAAM,KAAK;AAAA,EAC/B,SAAS,OAAO;AACd,QAAI,gBAAgB,KAAK,EAAG,OAAM;AAClC,UAAM,UACJ,iBAAiB,WACb,MAAM,UACN,iBAAiB,QACf,MAAM,UACN;AACR,WAAO,EAAE,SAAS,OAAO,OAAO,QAAQ;AAAA,EAC1C;AACF;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/withAction.ts"],"sourcesContent":["import type { ActionResult } from '../infra/api/types';\n\nexport function withAction<TArgs extends any[], TData>(\n action: (...args: TArgs) => Promise<ActionResult<TData>>\n): (...args: TArgs) => Promise<TData> {\n return async (...args) => {\n const result = await action(...args);\n if (!result.success) {\n throw new Error(result.error ?? 'Erro desconhecido');\n }\n return result.data as TData;\n };\n}\n"],"mappings":"AAEO,SAAS,WACd,QACoC;AACpC,SAAO,UAAU,SAAS;AACxB,UAAM,SAAS,MAAM,OAAO,GAAG,IAAI;AACnC,QAAI,CAAC,OAAO,SAAS;AACnB,YAAM,IAAI,MAAM,OAAO,SAAS,mBAAmB;AAAA,IACrD;AACA,WAAO,OAAO;AAAA,EAChB;AACF;","names":[]}
1
+ {"version":3,"sources":["../../src/utils/withAction.ts"],"sourcesContent":["import type { ActionResult } from '../infra/api/types';\r\n\r\nexport function withAction<TArgs extends any[], TData>(\r\n action: (...args: TArgs) => Promise<ActionResult<TData>>\r\n): (...args: TArgs) => Promise<TData> {\r\n return async (...args) => {\r\n const result = await action(...args);\r\n if (!result.success) {\r\n throw new Error(result.error ?? 'Erro desconhecido');\r\n }\r\n return result.data as TData;\r\n };\r\n}\r\n"],"mappings":"AAEO,SAAS,WACd,QACoC;AACpC,SAAO,UAAU,SAAS;AACxB,UAAM,SAAS,MAAM,OAAO,GAAG,IAAI;AACnC,QAAI,CAAC,OAAO,SAAS;AACnB,YAAM,IAAI,MAAM,OAAO,SAAS,mBAAmB;AAAA,IACrD;AACA,WAAO,OAAO;AAAA,EAChB;AACF;","names":[]}