@greatapps/common 1.1.217 → 1.1.219

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 (254) hide show
  1. package/dist/components/account/ConfigurationsMyAccountModal.mjs +5 -5
  2. package/dist/components/account/ConfigurationsMyAccountModal.mjs.map +1 -1
  3. package/dist/components/account/ConfirmDeleteAccountModal.mjs +2 -2
  4. package/dist/components/account/ConfirmDeleteAccountModal.mjs.map +1 -1
  5. package/dist/components/account/ConfirmGlobalPreferencesModal.mjs +2 -2
  6. package/dist/components/account/ConfirmGlobalPreferencesModal.mjs.map +1 -1
  7. package/dist/components/account/DeleteAccountModal.mjs +3 -3
  8. package/dist/components/account/DeleteAccountModal.mjs.map +1 -1
  9. package/dist/components/account/DisableTwoFactorAuthModal.mjs +2 -2
  10. package/dist/components/account/DisableTwoFactorAuthModal.mjs.map +1 -1
  11. package/dist/components/account/IsntPossibleDeleteAccountModal.mjs +2 -2
  12. package/dist/components/account/IsntPossibleDeleteAccountModal.mjs.map +1 -1
  13. package/dist/components/account/TwoFactorAuthModal.mjs +6 -6
  14. package/dist/components/account/TwoFactorAuthModal.mjs.map +1 -1
  15. package/dist/components/account/hooks/useChangePhoneForm.mjs.map +1 -1
  16. package/dist/components/account/hooks/useTwoFactorAuthForm.mjs.map +1 -1
  17. package/dist/components/account/sections/ChangeEmailModal.mjs +6 -6
  18. package/dist/components/account/sections/ChangeEmailModal.mjs.map +1 -1
  19. package/dist/components/account/sections/ChangePasswordSection.mjs +4 -4
  20. package/dist/components/account/sections/ChangePasswordSection.mjs.map +1 -1
  21. package/dist/components/account/sections/ChangePhoneModal.mjs +5 -5
  22. package/dist/components/account/sections/ChangePhoneModal.mjs.map +1 -1
  23. package/dist/components/account/sections/MyProfileSection.mjs +3 -3
  24. package/dist/components/account/sections/MyProfileSection.mjs.map +1 -1
  25. package/dist/components/account/sections/PreferencesSection.mjs +6 -6
  26. package/dist/components/account/sections/PreferencesSection.mjs.map +1 -1
  27. package/dist/components/account/sections/SecuritySection.mjs +3 -3
  28. package/dist/components/account/sections/SecuritySection.mjs.map +1 -1
  29. package/dist/components/embeds/CrispEmbed.mjs.map +1 -1
  30. package/dist/components/embeds/FrillEmbed.mjs.map +1 -1
  31. package/dist/components/layouts/AppMobileNavBar.mjs.map +1 -1
  32. package/dist/components/layouts/AppNavBar.mjs.map +1 -1
  33. package/dist/components/layouts/MdSideBarNavigation.mjs +2 -2
  34. package/dist/components/layouts/MdSideBarNavigation.mjs.map +1 -1
  35. package/dist/components/layouts/NavBar.mjs +2 -2
  36. package/dist/components/layouts/NavBar.mjs.map +1 -1
  37. package/dist/components/layouts/NotificationsPopover.mjs +4 -4
  38. package/dist/components/layouts/NotificationsPopover.mjs.map +1 -1
  39. package/dist/components/layouts/ProfilePopover.mjs +2 -2
  40. package/dist/components/layouts/ProfilePopover.mjs.map +1 -1
  41. package/dist/components/layouts/UsersSelectorPopover.mjs +5 -5
  42. package/dist/components/layouts/UsersSelectorPopover.mjs.map +1 -1
  43. package/dist/components/navigation/CancelledSubscriptionBanner.mjs.map +1 -1
  44. package/dist/components/navigation/NavItemsContext.mjs.map +1 -1
  45. package/dist/components/navigation/ProjectSelectorPopover.mjs +6 -6
  46. package/dist/components/navigation/ProjectSelectorPopover.mjs.map +1 -1
  47. package/dist/components/navigation/shells/TabsMobileShell.mjs.map +1 -1
  48. package/dist/components/navigation/subcomponents/ProjectSelector.mjs +5 -5
  49. package/dist/components/navigation/subcomponents/ProjectSelector.mjs.map +1 -1
  50. package/dist/components/pages/notifications/Notifications.mjs +5 -5
  51. package/dist/components/pages/notifications/Notifications.mjs.map +1 -1
  52. package/dist/components/ui/buttons/Button.mjs.map +1 -1
  53. package/dist/components/ui/buttons/CancelButton.mjs.map +1 -1
  54. package/dist/components/ui/buttons/CopyButton.mjs +2 -2
  55. package/dist/components/ui/buttons/CopyButton.mjs.map +1 -1
  56. package/dist/components/ui/data-display/Accordion.mjs +2 -2
  57. package/dist/components/ui/data-display/Accordion.mjs.map +1 -1
  58. package/dist/components/ui/data-display/Badge.mjs.map +1 -1
  59. package/dist/components/ui/data-display/Card.mjs.map +1 -1
  60. package/dist/components/ui/data-display/Pagination.mjs +7 -7
  61. package/dist/components/ui/data-display/Pagination.mjs.map +1 -1
  62. package/dist/components/ui/data-display/ScrollArea.mjs.map +1 -1
  63. package/dist/components/ui/data-display/Separator.mjs.map +1 -1
  64. package/dist/components/ui/data-display/Table.mjs.map +1 -1
  65. package/dist/components/ui/data-display/Tabs.mjs.map +1 -1
  66. package/dist/components/ui/feedback/CircularProgress.mjs.map +1 -1
  67. package/dist/components/ui/feedback/DefaultCircularProgress.mjs.map +1 -1
  68. package/dist/components/ui/feedback/LoadingOverlay.mjs.map +1 -1
  69. package/dist/components/ui/feedback/Progress.mjs.map +1 -1
  70. package/dist/components/ui/feedback/Toast.mjs +7 -7
  71. package/dist/components/ui/feedback/Toast.mjs.map +1 -1
  72. package/dist/components/ui/form/Calendar.mjs +7 -7
  73. package/dist/components/ui/form/Calendar.mjs.map +1 -1
  74. package/dist/components/ui/form/Checkbox.mjs +2 -2
  75. package/dist/components/ui/form/Checkbox.mjs.map +1 -1
  76. package/dist/components/ui/form/ComboboxField.mjs +4 -4
  77. package/dist/components/ui/form/ComboboxField.mjs.map +1 -1
  78. package/dist/components/ui/form/DatePicker.mjs.map +1 -1
  79. package/dist/components/ui/form/DateRangePicker.mjs +2 -2
  80. package/dist/components/ui/form/DateRangePicker.mjs.map +1 -1
  81. package/dist/components/ui/form/FormField.mjs +3 -3
  82. package/dist/components/ui/form/FormField.mjs.map +1 -1
  83. package/dist/components/ui/form/Input.mjs.map +1 -1
  84. package/dist/components/ui/form/InputOtp.mjs +2 -2
  85. package/dist/components/ui/form/InputOtp.mjs.map +1 -1
  86. package/dist/components/ui/form/PhoneInput.mjs.map +1 -1
  87. package/dist/components/ui/form/RadioGroup.mjs +2 -2
  88. package/dist/components/ui/form/RadioGroup.mjs.map +1 -1
  89. package/dist/components/ui/form/Select.mjs +6 -6
  90. package/dist/components/ui/form/Select.mjs.map +1 -1
  91. package/dist/components/ui/form/Switch.mjs.map +1 -1
  92. package/dist/components/ui/form/SwitchOptionFieldWithIcon.mjs.map +1 -1
  93. package/dist/components/ui/form/Textarea.mjs.map +1 -1
  94. package/dist/components/ui/overlay/Command.mjs +2 -2
  95. package/dist/components/ui/overlay/Command.mjs.map +1 -1
  96. package/dist/components/ui/overlay/Dialog.mjs +2 -2
  97. package/dist/components/ui/overlay/Dialog.mjs.map +1 -1
  98. package/dist/components/ui/overlay/Popover.mjs.map +1 -1
  99. package/dist/components/ui/overlay/Sheet.mjs +2 -2
  100. package/dist/components/ui/overlay/Sheet.mjs.map +1 -1
  101. package/dist/components/ui/overlay/Tooltip.mjs.map +1 -1
  102. package/dist/components/widgets/notifications/NotificationCard.mjs +2 -2
  103. package/dist/components/widgets/notifications/NotificationCard.mjs.map +1 -1
  104. package/dist/hooks/copy-to-clipboard.hook.mjs.map +1 -1
  105. package/dist/index.mjs.map +1 -1
  106. package/dist/middleware.mjs.map +1 -1
  107. package/dist/modules/accounts/actions/account-management.action.mjs.map +1 -1
  108. package/dist/modules/accounts/actions/find-current-account.action.mjs.map +1 -1
  109. package/dist/modules/accounts/actions/list-currencies.action.mjs.map +1 -1
  110. package/dist/modules/accounts/actions/list-timezones.action.mjs.map +1 -1
  111. package/dist/modules/accounts/hooks/current-account.hook.mjs.map +1 -1
  112. package/dist/modules/accounts/hooks/useAccountManagement.mjs.map +1 -1
  113. package/dist/modules/accounts/hooks/useCurrencies.mjs.map +1 -1
  114. package/dist/modules/accounts/hooks/useTimezones.mjs.map +1 -1
  115. package/dist/modules/accounts/services/account.service.mjs.map +1 -1
  116. package/dist/modules/auth/hooks/login.hook.mjs.map +1 -1
  117. package/dist/modules/auth/hooks/logout.hook.mjs.map +1 -1
  118. package/dist/modules/auth/hooks/register.hook.mjs.map +1 -1
  119. package/dist/modules/ia-credits/actions/list-ia-credits.action.mjs.map +1 -1
  120. package/dist/modules/projects/actions/add-project-user.action.mjs.map +1 -1
  121. package/dist/modules/projects/actions/list-all-account-users.action.mjs.map +1 -1
  122. package/dist/modules/projects/actions/list-available-users.action.mjs.map +1 -1
  123. package/dist/modules/projects/actions/list-project-users.action.mjs.map +1 -1
  124. package/dist/modules/projects/actions/remove-project-user.action.mjs.map +1 -1
  125. package/dist/modules/projects/hooks/add-project-user.hook.mjs.map +1 -1
  126. package/dist/modules/projects/hooks/list-all-account-users.hook.mjs.map +1 -1
  127. package/dist/modules/projects/hooks/list-available-users.hook.mjs.map +1 -1
  128. package/dist/modules/projects/hooks/list-project-users.hook.mjs.map +1 -1
  129. package/dist/modules/projects/hooks/remove-project-user.hook.mjs.map +1 -1
  130. package/dist/modules/subscriptions/actions/list-subscriptions.action.mjs.map +1 -1
  131. package/dist/modules/subscriptions/hooks/find-active-subscription.hook.mjs.map +1 -1
  132. package/dist/modules/subscriptions/hooks/list-subscriptions.hook.mjs.map +1 -1
  133. package/dist/modules/users/action/find-user-by-id.action.mjs.map +1 -1
  134. package/dist/modules/users/action/list-messages.action.mjs.map +1 -1
  135. package/dist/modules/users/action/mark-all-messages-as-read.action.mjs.map +1 -1
  136. package/dist/modules/users/action/mark-message-as-read.action.mjs.map +1 -1
  137. package/dist/modules/users/hooks/messages.hook.mjs.map +1 -1
  138. package/dist/modules/whitelabel/actions/find-whitelabel-styles.action.mjs.map +1 -1
  139. package/dist/modules/whitelabel/actions/find-whitelabel.action.mjs.map +1 -1
  140. package/dist/modules/whitelabel/services/whitelabel-styles.service.mjs.map +1 -1
  141. package/dist/providers/whitelabel.provider.mjs.map +1 -1
  142. package/dist/utils/countries.mjs.map +1 -1
  143. package/dist/utils/safeServerAction.mjs.map +1 -1
  144. package/dist/utils/withAction.mjs.map +1 -1
  145. package/package.json +89 -90
  146. package/src/components/account/ConfigurationsMyAccountModal.tsx +5 -5
  147. package/src/components/account/ConfirmDeleteAccountModal.tsx +55 -55
  148. package/src/components/account/ConfirmGlobalPreferencesModal.tsx +2 -2
  149. package/src/components/account/DeleteAccountModal.tsx +130 -130
  150. package/src/components/account/DisableTwoFactorAuthModal.tsx +2 -2
  151. package/src/components/account/IsntPossibleDeleteAccountModal.tsx +49 -49
  152. package/src/components/account/TwoFactorAuthModal.tsx +6 -6
  153. package/src/components/account/hooks/useChangePhoneForm.tsx +81 -81
  154. package/src/components/account/hooks/useTwoFactorAuthForm.tsx +101 -101
  155. package/src/components/account/sections/ChangeEmailModal.tsx +6 -6
  156. package/src/components/account/sections/ChangePasswordSection.tsx +4 -4
  157. package/src/components/account/sections/ChangePhoneModal.tsx +231 -231
  158. package/src/components/account/sections/MyProfileSection.tsx +3 -3
  159. package/src/components/account/sections/PreferencesSection.tsx +6 -6
  160. package/src/components/account/sections/SecuritySection.tsx +3 -3
  161. package/src/components/embeds/CrispEmbed.tsx +101 -101
  162. package/src/components/embeds/FrillEmbed.tsx +119 -119
  163. package/src/components/layouts/AppMobileNavBar.tsx +111 -111
  164. package/src/components/layouts/AppNavBar.tsx +57 -57
  165. package/src/components/layouts/MdSideBarNavigation.tsx +4 -4
  166. package/src/components/layouts/NavBar.tsx +120 -120
  167. package/src/components/layouts/NotificationsPopover.tsx +4 -4
  168. package/src/components/layouts/ProfilePopover.tsx +2 -2
  169. package/src/components/layouts/UsersSelectorPopover.tsx +238 -238
  170. package/src/components/navigation/CancelledSubscriptionBanner.tsx +69 -69
  171. package/src/components/navigation/NavItemsContext.ts +20 -20
  172. package/src/components/navigation/ProjectSelectorPopover.tsx +6 -6
  173. package/src/components/navigation/shells/TabsMobileShell.tsx +72 -72
  174. package/src/components/navigation/subcomponents/ProjectSelector.tsx +5 -5
  175. package/src/components/pages/notifications/Notifications.tsx +160 -160
  176. package/src/components/ui/buttons/Button.tsx +57 -57
  177. package/src/components/ui/buttons/CancelButton.tsx +14 -14
  178. package/src/components/ui/buttons/CopyButton.tsx +54 -54
  179. package/src/components/ui/data-display/Accordion.tsx +81 -81
  180. package/src/components/ui/data-display/Badge.tsx +47 -47
  181. package/src/components/ui/data-display/Card.tsx +93 -93
  182. package/src/components/ui/data-display/Pagination.tsx +126 -126
  183. package/src/components/ui/data-display/ScrollArea.tsx +59 -59
  184. package/src/components/ui/data-display/Separator.tsx +29 -29
  185. package/src/components/ui/data-display/Table.tsx +117 -117
  186. package/src/components/ui/data-display/Tabs.tsx +67 -67
  187. package/src/components/ui/feedback/CircularProgress.tsx +75 -75
  188. package/src/components/ui/feedback/DefaultCircularProgress.tsx +61 -61
  189. package/src/components/ui/feedback/LoadingOverlay.tsx +31 -31
  190. package/src/components/ui/feedback/Progress.tsx +40 -40
  191. package/src/components/ui/feedback/Toast.tsx +101 -101
  192. package/src/components/ui/form/Calendar.tsx +228 -228
  193. package/src/components/ui/form/Checkbox.tsx +31 -31
  194. package/src/components/ui/form/ComboboxField.tsx +4 -4
  195. package/src/components/ui/form/DatePicker.tsx +97 -97
  196. package/src/components/ui/form/DateRangePicker.tsx +108 -108
  197. package/src/components/ui/form/FormField.tsx +6 -5
  198. package/src/components/ui/form/Input.tsx +20 -20
  199. package/src/components/ui/form/InputOtp.tsx +80 -80
  200. package/src/components/ui/form/PhoneInput.tsx +205 -205
  201. package/src/components/ui/form/RadioGroup.tsx +45 -45
  202. package/src/components/ui/form/Select.tsx +200 -200
  203. package/src/components/ui/form/Switch.tsx +32 -32
  204. package/src/components/ui/form/SwitchOptionFieldWithIcon.tsx +2 -2
  205. package/src/components/ui/form/Textarea.tsx +19 -19
  206. package/src/components/ui/overlay/Command.tsx +185 -185
  207. package/src/components/ui/overlay/Dialog.tsx +151 -151
  208. package/src/components/ui/overlay/Popover.tsx +49 -49
  209. package/src/components/ui/overlay/Sheet.tsx +166 -166
  210. package/src/components/ui/overlay/Tooltip.tsx +62 -62
  211. package/src/components/widgets/notifications/NotificationCard.tsx +68 -68
  212. package/src/hooks/copy-to-clipboard.hook.tsx +67 -67
  213. package/src/index.ts +355 -355
  214. package/src/middleware.ts +4 -4
  215. package/src/modules/accounts/actions/account-management.action.ts +90 -90
  216. package/src/modules/accounts/actions/find-current-account.action.ts +9 -9
  217. package/src/modules/accounts/actions/list-currencies.action.ts +8 -8
  218. package/src/modules/accounts/actions/list-timezones.action.ts +8 -8
  219. package/src/modules/accounts/hooks/current-account.hook.tsx +22 -22
  220. package/src/modules/accounts/hooks/useAccountManagement.ts +85 -85
  221. package/src/modules/accounts/hooks/useCurrencies.ts +15 -15
  222. package/src/modules/accounts/hooks/useTimezones.ts +15 -15
  223. package/src/modules/accounts/services/account.service.ts +236 -236
  224. package/src/modules/accounts/types.ts +214 -214
  225. package/src/modules/auth/hooks/login.hook.tsx +13 -13
  226. package/src/modules/auth/hooks/logout.hook.tsx +11 -11
  227. package/src/modules/auth/hooks/register.hook.tsx +11 -11
  228. package/src/modules/ia-credits/actions/list-ia-credits.action.ts +8 -8
  229. package/src/modules/projects/actions/add-project-user.action.ts +9 -9
  230. package/src/modules/projects/actions/list-all-account-users.action.ts +9 -9
  231. package/src/modules/projects/actions/list-available-users.action.ts +9 -9
  232. package/src/modules/projects/actions/list-project-users.action.ts +9 -9
  233. package/src/modules/projects/actions/remove-project-user.action.ts +9 -9
  234. package/src/modules/projects/hooks/add-project-user.hook.ts +69 -69
  235. package/src/modules/projects/hooks/list-all-account-users.hook.ts +34 -34
  236. package/src/modules/projects/hooks/list-available-users.hook.ts +33 -33
  237. package/src/modules/projects/hooks/list-project-users.hook.ts +33 -33
  238. package/src/modules/projects/hooks/remove-project-user.hook.ts +69 -69
  239. package/src/modules/subscriptions/actions/list-subscriptions.action.ts +9 -9
  240. package/src/modules/subscriptions/hooks/find-active-subscription.hook.ts +19 -19
  241. package/src/modules/subscriptions/hooks/list-subscriptions.hook.ts +17 -17
  242. package/src/modules/users/action/find-user-by-id.action.ts +8 -8
  243. package/src/modules/users/action/list-messages.action.ts +12 -12
  244. package/src/modules/users/action/mark-all-messages-as-read.action.ts +8 -8
  245. package/src/modules/users/action/mark-message-as-read.action.ts +8 -8
  246. package/src/modules/users/hooks/messages.hook.ts +60 -60
  247. package/src/modules/whitelabel/actions/find-whitelabel-styles.action.ts +14 -14
  248. package/src/modules/whitelabel/actions/find-whitelabel.action.ts +23 -23
  249. package/src/modules/whitelabel/services/whitelabel-styles.service.ts +98 -98
  250. package/src/modules/whitelabel/styles-schema.ts +37 -37
  251. package/src/providers/whitelabel.provider.tsx +46 -46
  252. package/src/utils/countries.ts +224 -224
  253. package/src/utils/safeServerAction.ts +21 -21
  254. package/src/utils/withAction.ts +13 -13
package/src/middleware.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { createAuthMiddleware } from './middlewares/create-auth-middleware';
2
- export { createMiddlewareChain } from './middlewares/chain';
3
- export type { MiddlewareConfig, MiddlewareFunction, MiddlewareResult } from './middlewares/types';
4
- export { continueChain, stopChain } from './middlewares/types';
1
+ export { createAuthMiddleware } from './middlewares/create-auth-middleware';
2
+ export { createMiddlewareChain } from './middlewares/chain';
3
+ export type { MiddlewareConfig, MiddlewareFunction, MiddlewareResult } from './middlewares/types';
4
+ export { continueChain, stopChain } from './middlewares/types';
@@ -1,90 +1,90 @@
1
- 'use server';
2
-
3
- import { safeServerAction } from '../../../utils/safeServerAction';
4
- import { accountService } from '../services/account.service';
5
- import type {
6
- AccountUsersPaginationParams,
7
- ChangePasswordRequest,
8
- CreateAccountUserRequest,
9
- UpdateAccountRequest,
10
- UpdateAccountUserRequest,
11
- } from '../types';
12
- import { twoFactorService } from '../services/two-factor.service';
13
-
14
- export async function listAccountUsersAction(params?: AccountUsersPaginationParams) {
15
- return safeServerAction(async () => {
16
- const { users, total } = await accountService.listAccountUsers(params);
17
- return { data: users, total };
18
- });
19
- }
20
-
21
- export async function updateUserAction(user: UpdateAccountUserRequest) {
22
- return safeServerAction(() => accountService.updateAccountUser(user));
23
- }
24
-
25
- export async function updateAccountUserByIdAction(
26
- userId: number,
27
- user: UpdateAccountUserRequest
28
- ) {
29
- return safeServerAction(() => accountService.updateAccountUserById(userId, user));
30
- }
31
-
32
- export async function updateAccountAction(data: UpdateAccountRequest) {
33
- return safeServerAction(() => accountService.updateAccount(data));
34
- }
35
-
36
- export async function deleteAccountUserAction(userId: number) {
37
- return safeServerAction(() => accountService.deleteAccountUser(userId));
38
- }
39
-
40
- export async function deleteAccountAction() {
41
- return safeServerAction(() => accountService.deleteAccount());
42
- }
43
-
44
- export async function createAccountUserAction(user: CreateAccountUserRequest) {
45
- return safeServerAction(() => accountService.createAccountUser(user));
46
- }
47
-
48
- export async function changePasswordAction(data: ChangePasswordRequest) {
49
- return safeServerAction(() => accountService.changePassword(data));
50
- }
51
-
52
- export async function requestEmailChangeAction(newEmail: string) {
53
- return safeServerAction(() => accountService.requestContactReset('email', newEmail));
54
- }
55
-
56
- export async function confirmEmailChangeAction(token: string, newEmail: string) {
57
- return safeServerAction(() => accountService.confirmContactReset('email', token, newEmail));
58
- }
59
-
60
- export async function requestPhoneChangeAction(newPhone: string, ddi?: string) {
61
- return safeServerAction(() => accountService.requestContactReset('phone', newPhone, ddi));
62
- }
63
-
64
- export async function confirmPhoneChangeAction(token: string, newPhone: string, ddi?: string) {
65
- return safeServerAction(() => accountService.confirmContactReset('phone', token, newPhone, ddi));
66
- }
67
-
68
- export async function generateTwoFactorAction() {
69
- return safeServerAction(async () => {
70
- const result = await twoFactorService.generate();
71
- return {
72
- qrcode: result.data.qrcode,
73
- backupCodes: result.data.backup_codes,
74
- };
75
- });
76
- }
77
-
78
- export async function confirmTwoFactorAction(code: string) {
79
- return safeServerAction(async () => {
80
- await twoFactorService.confirm(code);
81
- await accountService.updateAccountUser({ two_factor_authentication: true });
82
- });
83
- }
84
-
85
- export async function disableTwoFactorAction(code: string) {
86
- return safeServerAction(async () => {
87
- await twoFactorService.verify(code);
88
- await twoFactorService.disable();
89
- });
90
- }
1
+ 'use server';
2
+
3
+ import { safeServerAction } from '../../../utils/safeServerAction';
4
+ import { accountService } from '../services/account.service';
5
+ import type {
6
+ AccountUsersPaginationParams,
7
+ ChangePasswordRequest,
8
+ CreateAccountUserRequest,
9
+ UpdateAccountRequest,
10
+ UpdateAccountUserRequest,
11
+ } from '../types';
12
+ import { twoFactorService } from '../services/two-factor.service';
13
+
14
+ export async function listAccountUsersAction(params?: AccountUsersPaginationParams) {
15
+ return safeServerAction(async () => {
16
+ const { users, total } = await accountService.listAccountUsers(params);
17
+ return { data: users, total };
18
+ });
19
+ }
20
+
21
+ export async function updateUserAction(user: UpdateAccountUserRequest) {
22
+ return safeServerAction(() => accountService.updateAccountUser(user));
23
+ }
24
+
25
+ export async function updateAccountUserByIdAction(
26
+ userId: number,
27
+ user: UpdateAccountUserRequest
28
+ ) {
29
+ return safeServerAction(() => accountService.updateAccountUserById(userId, user));
30
+ }
31
+
32
+ export async function updateAccountAction(data: UpdateAccountRequest) {
33
+ return safeServerAction(() => accountService.updateAccount(data));
34
+ }
35
+
36
+ export async function deleteAccountUserAction(userId: number) {
37
+ return safeServerAction(() => accountService.deleteAccountUser(userId));
38
+ }
39
+
40
+ export async function deleteAccountAction() {
41
+ return safeServerAction(() => accountService.deleteAccount());
42
+ }
43
+
44
+ export async function createAccountUserAction(user: CreateAccountUserRequest) {
45
+ return safeServerAction(() => accountService.createAccountUser(user));
46
+ }
47
+
48
+ export async function changePasswordAction(data: ChangePasswordRequest) {
49
+ return safeServerAction(() => accountService.changePassword(data));
50
+ }
51
+
52
+ export async function requestEmailChangeAction(newEmail: string) {
53
+ return safeServerAction(() => accountService.requestContactReset('email', newEmail));
54
+ }
55
+
56
+ export async function confirmEmailChangeAction(token: string, newEmail: string) {
57
+ return safeServerAction(() => accountService.confirmContactReset('email', token, newEmail));
58
+ }
59
+
60
+ export async function requestPhoneChangeAction(newPhone: string, ddi?: string) {
61
+ return safeServerAction(() => accountService.requestContactReset('phone', newPhone, ddi));
62
+ }
63
+
64
+ export async function confirmPhoneChangeAction(token: string, newPhone: string, ddi?: string) {
65
+ return safeServerAction(() => accountService.confirmContactReset('phone', token, newPhone, ddi));
66
+ }
67
+
68
+ export async function generateTwoFactorAction() {
69
+ return safeServerAction(async () => {
70
+ const result = await twoFactorService.generate();
71
+ return {
72
+ qrcode: result.data.qrcode,
73
+ backupCodes: result.data.backup_codes,
74
+ };
75
+ });
76
+ }
77
+
78
+ export async function confirmTwoFactorAction(code: string) {
79
+ return safeServerAction(async () => {
80
+ await twoFactorService.confirm(code);
81
+ await accountService.updateAccountUser({ two_factor_authentication: true });
82
+ });
83
+ }
84
+
85
+ export async function disableTwoFactorAction(code: string) {
86
+ return safeServerAction(async () => {
87
+ await twoFactorService.verify(code);
88
+ await twoFactorService.disable();
89
+ });
90
+ }
@@ -1,9 +1,9 @@
1
- 'use server';
2
-
3
- import { safeServerAction } from '../../../utils/safeServerAction';
4
- import { accountService } from '../services/account.service';
5
- import type { Account } from '../types';
6
-
7
- export async function findCurrentAccount() {
8
- return safeServerAction<Account>(() => accountService.findCurrentAccount());
9
- }
1
+ 'use server';
2
+
3
+ import { safeServerAction } from '../../../utils/safeServerAction';
4
+ import { accountService } from '../services/account.service';
5
+ import type { Account } from '../types';
6
+
7
+ export async function findCurrentAccount() {
8
+ return safeServerAction<Account>(() => accountService.findCurrentAccount());
9
+ }
@@ -1,8 +1,8 @@
1
- 'use server';
2
-
3
- import { safeServerAction } from '../../../utils/safeServerAction';
4
- import { currencyService } from '../services/currency.service';
5
-
6
- export async function listCurrenciesAction() {
7
- return safeServerAction(() => currencyService.fetchOptions());
8
- }
1
+ 'use server';
2
+
3
+ import { safeServerAction } from '../../../utils/safeServerAction';
4
+ import { currencyService } from '../services/currency.service';
5
+
6
+ export async function listCurrenciesAction() {
7
+ return safeServerAction(() => currencyService.fetchOptions());
8
+ }
@@ -1,8 +1,8 @@
1
- 'use server';
2
-
3
- import { safeServerAction } from '../../../utils/safeServerAction';
4
- import { timezoneService } from '../services/timezone.service';
5
-
6
- export async function listTimezonesAction() {
7
- return safeServerAction(() => timezoneService.fetchOptions());
8
- }
1
+ 'use server';
2
+
3
+ import { safeServerAction } from '../../../utils/safeServerAction';
4
+ import { timezoneService } from '../services/timezone.service';
5
+
6
+ export async function listTimezonesAction() {
7
+ return safeServerAction(() => timezoneService.fetchOptions());
8
+ }
@@ -1,22 +1,22 @@
1
- 'use client';
2
-
3
- import { useQuery, useQueryClient } from '@tanstack/react-query';
4
- import { findCurrentAccount } from '../actions/find-current-account.action';
5
- import { withAction } from '../../../utils/withAction';
6
-
7
- export const ACCOUNT_QUERY_KEY = ['account'];
8
-
9
- export function useCurrentAccount() {
10
- return useQuery({
11
- queryKey: ACCOUNT_QUERY_KEY,
12
- queryFn: withAction(findCurrentAccount),
13
- staleTime: 0,
14
- gcTime: 10 * 60 * 1000,
15
- retry: false,
16
- });
17
- }
18
-
19
- export function useInvalidateAccount() {
20
- const queryClient = useQueryClient();
21
- return () => queryClient.invalidateQueries({ queryKey: ACCOUNT_QUERY_KEY });
22
- }
1
+ 'use client';
2
+
3
+ import { useQuery, useQueryClient } from '@tanstack/react-query';
4
+ import { findCurrentAccount } from '../actions/find-current-account.action';
5
+ import { withAction } from '../../../utils/withAction';
6
+
7
+ export const ACCOUNT_QUERY_KEY = ['account'];
8
+
9
+ export function useCurrentAccount() {
10
+ return useQuery({
11
+ queryKey: ACCOUNT_QUERY_KEY,
12
+ queryFn: withAction(findCurrentAccount),
13
+ staleTime: 0,
14
+ gcTime: 10 * 60 * 1000,
15
+ retry: false,
16
+ });
17
+ }
18
+
19
+ export function useInvalidateAccount() {
20
+ const queryClient = useQueryClient();
21
+ return () => queryClient.invalidateQueries({ queryKey: ACCOUNT_QUERY_KEY });
22
+ }
@@ -1,85 +1,85 @@
1
- 'use client';
2
-
3
- import { useMutation, useQueryClient } from '@tanstack/react-query';
4
- import { USER_QUERY_KEY } from '../../auth/hooks/useUserQuery';
5
- import { ACCOUNT_QUERY_KEY } from './current-account.hook';
6
- import type {
7
- UpdateAccountRequest,
8
- UpdateAccountUserRequest,
9
- DeleteAccountUserResponse,
10
- DeleteAccountResponse,
11
- } from '../types';
12
- import {
13
- updateUserAction,
14
- updateAccountAction,
15
- updateAccountUserByIdAction,
16
- deleteAccountUserAction,
17
- deleteAccountAction,
18
- } from '../actions/account-management.action';
19
- import { withAction } from '../../../utils/withAction';
20
- import type { UseMutationOptions } from '@tanstack/react-query';
21
-
22
- const ACCOUNT_USERS_QUERY_KEY = ['account-users'];
23
-
24
- export function useUpdateAccount() {
25
- const queryClient = useQueryClient();
26
-
27
- return useMutation({
28
- mutationFn: withAction(updateAccountAction),
29
- onSuccess: () => {
30
- queryClient.invalidateQueries({ queryKey: ACCOUNT_USERS_QUERY_KEY });
31
- queryClient.invalidateQueries({ queryKey: ACCOUNT_QUERY_KEY });
32
- queryClient.invalidateQueries({ queryKey: USER_QUERY_KEY });
33
- },
34
- });
35
- }
36
-
37
- export function useUpdateAccountUser() {
38
- const queryClient = useQueryClient();
39
-
40
- return useMutation({
41
- mutationFn: withAction(updateUserAction),
42
- onSuccess: () => {
43
- queryClient.invalidateQueries({ queryKey: ACCOUNT_USERS_QUERY_KEY });
44
- queryClient.invalidateQueries({ queryKey: ACCOUNT_QUERY_KEY });
45
- queryClient.invalidateQueries({ queryKey: USER_QUERY_KEY });
46
- },
47
- });
48
- }
49
-
50
- export function useUpdateAccountUserById() {
51
- const queryClient = useQueryClient();
52
-
53
- return useMutation({
54
- mutationFn: withAction(({ userId, ...user }: UpdateAccountUserRequest & { userId: number }) =>
55
- updateAccountUserByIdAction(userId, user)
56
- ),
57
- onSuccess: () => {
58
- queryClient.invalidateQueries({ queryKey: ACCOUNT_USERS_QUERY_KEY });
59
- },
60
- });
61
- }
62
-
63
- export function useDeleteAccountUser(
64
- options?: UseMutationOptions<DeleteAccountUserResponse, Error, number>
65
- ) {
66
- const queryClient = useQueryClient();
67
-
68
- return useMutation({
69
- mutationFn: withAction(deleteAccountUserAction),
70
- ...options,
71
- onSuccess: (...params) => {
72
- options?.onSuccess?.(...params);
73
- queryClient.invalidateQueries({ queryKey: ACCOUNT_USERS_QUERY_KEY });
74
- },
75
- });
76
- }
77
-
78
- export function useDeleteAccount(
79
- options?: UseMutationOptions<DeleteAccountResponse, Error, void>
80
- ) {
81
- return useMutation({
82
- mutationFn: withAction(deleteAccountAction),
83
- ...options,
84
- });
85
- }
1
+ 'use client';
2
+
3
+ import { useMutation, useQueryClient } from '@tanstack/react-query';
4
+ import { USER_QUERY_KEY } from '../../auth/hooks/useUserQuery';
5
+ import { ACCOUNT_QUERY_KEY } from './current-account.hook';
6
+ import type {
7
+ UpdateAccountRequest,
8
+ UpdateAccountUserRequest,
9
+ DeleteAccountUserResponse,
10
+ DeleteAccountResponse,
11
+ } from '../types';
12
+ import {
13
+ updateUserAction,
14
+ updateAccountAction,
15
+ updateAccountUserByIdAction,
16
+ deleteAccountUserAction,
17
+ deleteAccountAction,
18
+ } from '../actions/account-management.action';
19
+ import { withAction } from '../../../utils/withAction';
20
+ import type { UseMutationOptions } from '@tanstack/react-query';
21
+
22
+ const ACCOUNT_USERS_QUERY_KEY = ['account-users'];
23
+
24
+ export function useUpdateAccount() {
25
+ const queryClient = useQueryClient();
26
+
27
+ return useMutation({
28
+ mutationFn: withAction(updateAccountAction),
29
+ onSuccess: () => {
30
+ queryClient.invalidateQueries({ queryKey: ACCOUNT_USERS_QUERY_KEY });
31
+ queryClient.invalidateQueries({ queryKey: ACCOUNT_QUERY_KEY });
32
+ queryClient.invalidateQueries({ queryKey: USER_QUERY_KEY });
33
+ },
34
+ });
35
+ }
36
+
37
+ export function useUpdateAccountUser() {
38
+ const queryClient = useQueryClient();
39
+
40
+ return useMutation({
41
+ mutationFn: withAction(updateUserAction),
42
+ onSuccess: () => {
43
+ queryClient.invalidateQueries({ queryKey: ACCOUNT_USERS_QUERY_KEY });
44
+ queryClient.invalidateQueries({ queryKey: ACCOUNT_QUERY_KEY });
45
+ queryClient.invalidateQueries({ queryKey: USER_QUERY_KEY });
46
+ },
47
+ });
48
+ }
49
+
50
+ export function useUpdateAccountUserById() {
51
+ const queryClient = useQueryClient();
52
+
53
+ return useMutation({
54
+ mutationFn: withAction(({ userId, ...user }: UpdateAccountUserRequest & { userId: number }) =>
55
+ updateAccountUserByIdAction(userId, user)
56
+ ),
57
+ onSuccess: () => {
58
+ queryClient.invalidateQueries({ queryKey: ACCOUNT_USERS_QUERY_KEY });
59
+ },
60
+ });
61
+ }
62
+
63
+ export function useDeleteAccountUser(
64
+ options?: UseMutationOptions<DeleteAccountUserResponse, Error, number>
65
+ ) {
66
+ const queryClient = useQueryClient();
67
+
68
+ return useMutation({
69
+ mutationFn: withAction(deleteAccountUserAction),
70
+ ...options,
71
+ onSuccess: (...params) => {
72
+ options?.onSuccess?.(...params);
73
+ queryClient.invalidateQueries({ queryKey: ACCOUNT_USERS_QUERY_KEY });
74
+ },
75
+ });
76
+ }
77
+
78
+ export function useDeleteAccount(
79
+ options?: UseMutationOptions<DeleteAccountResponse, Error, void>
80
+ ) {
81
+ return useMutation({
82
+ mutationFn: withAction(deleteAccountAction),
83
+ ...options,
84
+ });
85
+ }
@@ -1,15 +1,15 @@
1
- 'use client';
2
-
3
- import { useQuery } from '@tanstack/react-query';
4
- import { listCurrenciesAction } from '../actions/list-currencies.action';
5
- import { withAction } from '../../../utils/withAction';
6
-
7
- export const CURRENCIES_QUERY_KEY = ['currencies'];
8
-
9
- export function useCurrencies() {
10
- return useQuery({
11
- queryKey: CURRENCIES_QUERY_KEY,
12
- queryFn: withAction(listCurrenciesAction),
13
- staleTime: Infinity,
14
- });
15
- }
1
+ 'use client';
2
+
3
+ import { useQuery } from '@tanstack/react-query';
4
+ import { listCurrenciesAction } from '../actions/list-currencies.action';
5
+ import { withAction } from '../../../utils/withAction';
6
+
7
+ export const CURRENCIES_QUERY_KEY = ['currencies'];
8
+
9
+ export function useCurrencies() {
10
+ return useQuery({
11
+ queryKey: CURRENCIES_QUERY_KEY,
12
+ queryFn: withAction(listCurrenciesAction),
13
+ staleTime: Infinity,
14
+ });
15
+ }
@@ -1,15 +1,15 @@
1
- 'use client';
2
-
3
- import { useQuery } from '@tanstack/react-query';
4
- import { listTimezonesAction } from '../actions/list-timezones.action';
5
- import { withAction } from '../../../utils/withAction';
6
-
7
- export const TIMEZONES_QUERY_KEY = ['timezones'];
8
-
9
- export function useTimezones() {
10
- return useQuery({
11
- queryKey: TIMEZONES_QUERY_KEY,
12
- queryFn: withAction(listTimezonesAction),
13
- staleTime: Infinity,
14
- });
15
- }
1
+ 'use client';
2
+
3
+ import { useQuery } from '@tanstack/react-query';
4
+ import { listTimezonesAction } from '../actions/list-timezones.action';
5
+ import { withAction } from '../../../utils/withAction';
6
+
7
+ export const TIMEZONES_QUERY_KEY = ['timezones'];
8
+
9
+ export function useTimezones() {
10
+ return useQuery({
11
+ queryKey: TIMEZONES_QUERY_KEY,
12
+ queryFn: withAction(listTimezonesAction),
13
+ staleTime: Infinity,
14
+ });
15
+ }