@greatapps/common 1.1.24 → 1.1.25
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.
- package/dist/components/account/ConfigurationsMyAccountModal.mjs +121 -0
- package/dist/components/account/ConfigurationsMyAccountModal.mjs.map +1 -0
- package/dist/components/account/ConfirmGlobalPreferencesModal.mjs +45 -0
- package/dist/components/account/ConfirmGlobalPreferencesModal.mjs.map +1 -0
- package/dist/components/account/DisableTwoFactorAuthModal.mjs +67 -0
- package/dist/components/account/DisableTwoFactorAuthModal.mjs.map +1 -0
- package/dist/components/account/TwoFactorAuthModal.mjs +190 -0
- package/dist/components/account/TwoFactorAuthModal.mjs.map +1 -0
- package/dist/components/account/constants.mjs +32 -0
- package/dist/components/account/constants.mjs.map +1 -0
- package/dist/components/account/hooks/useChangeEmailForm.mjs +53 -0
- package/dist/components/account/hooks/useChangeEmailForm.mjs.map +1 -0
- package/dist/components/account/hooks/useChangePasswordForm.mjs +47 -0
- package/dist/components/account/hooks/useChangePasswordForm.mjs.map +1 -0
- package/dist/components/account/hooks/useChangePhoneForm.mjs +64 -0
- package/dist/components/account/hooks/useChangePhoneForm.mjs.map +1 -0
- package/dist/components/account/hooks/useConfigurationsModal.mjs +33 -0
- package/dist/components/account/hooks/useConfigurationsModal.mjs.map +1 -0
- package/dist/components/account/hooks/useDisableTwoFactorAuthForm.mjs +54 -0
- package/dist/components/account/hooks/useDisableTwoFactorAuthForm.mjs.map +1 -0
- package/dist/components/account/hooks/useOtpVerification.mjs +94 -0
- package/dist/components/account/hooks/useOtpVerification.mjs.map +1 -0
- package/dist/components/account/hooks/useTwoFactorAuthForm.mjs +88 -0
- package/dist/components/account/hooks/useTwoFactorAuthForm.mjs.map +1 -0
- package/dist/components/account/sections/ChangeEmailModal.mjs +180 -0
- package/dist/components/account/sections/ChangeEmailModal.mjs.map +1 -0
- package/dist/components/account/sections/ChangePasswordSection.mjs +64 -0
- package/dist/components/account/sections/ChangePasswordSection.mjs.map +1 -0
- package/dist/components/account/sections/ChangePhoneModal.mjs +182 -0
- package/dist/components/account/sections/ChangePhoneModal.mjs.map +1 -0
- package/dist/components/account/sections/MyProfileSection.mjs +312 -0
- package/dist/components/account/sections/MyProfileSection.mjs.map +1 -0
- package/dist/components/account/sections/PreferencesSection.mjs +246 -0
- package/dist/components/account/sections/PreferencesSection.mjs.map +1 -0
- package/dist/components/account/sections/SecuritySection.mjs +147 -0
- package/dist/components/account/sections/SecuritySection.mjs.map +1 -0
- package/dist/components/ui/form/ComboboxField.mjs +130 -0
- package/dist/components/ui/form/ComboboxField.mjs.map +1 -0
- package/dist/components/ui/form/FormField.mjs +103 -0
- package/dist/components/ui/form/FormField.mjs.map +1 -0
- package/dist/components/ui/form/PhoneInput.mjs +78 -0
- package/dist/components/ui/form/PhoneInput.mjs.map +1 -0
- package/dist/components/ui/form/SelectField.mjs +80 -0
- package/dist/components/ui/form/SelectField.mjs.map +1 -0
- package/dist/components/ui/form/SwitchOptionFieldWithIcon.mjs +40 -0
- package/dist/components/ui/form/SwitchOptionFieldWithIcon.mjs.map +1 -0
- package/dist/components/ui/form/TextAreaField.mjs +56 -0
- package/dist/components/ui/form/TextAreaField.mjs.map +1 -0
- package/dist/enums/AccountSectionType.mjs +11 -0
- package/dist/enums/AccountSectionType.mjs.map +1 -0
- package/dist/hooks/useCountdownTimer.mjs +29 -0
- package/dist/hooks/useCountdownTimer.mjs.map +1 -0
- package/dist/hooks/useIsMobile.mjs +18 -0
- package/dist/hooks/useIsMobile.mjs.map +1 -0
- package/dist/hooks/usePasswordVisibility.mjs +13 -0
- package/dist/hooks/usePasswordVisibility.mjs.map +1 -0
- package/dist/index.mjs +80 -0
- package/dist/index.mjs.map +1 -1
- package/dist/modules/accounts/actions/account-management.action.mjs +163 -0
- package/dist/modules/accounts/actions/account-management.action.mjs.map +1 -0
- package/dist/modules/accounts/hooks/useAccountManagement.mjs +64 -0
- package/dist/modules/accounts/hooks/useAccountManagement.mjs.map +1 -0
- package/dist/modules/accounts/services/account.service.mjs +162 -25
- package/dist/modules/accounts/services/account.service.mjs.map +1 -1
- package/dist/modules/accounts/services/two-factor.service.mjs +77 -0
- package/dist/modules/accounts/services/two-factor.service.mjs.map +1 -0
- package/dist/server.mjs +36 -0
- package/dist/server.mjs.map +1 -1
- package/dist/utils/browser/clipboard.mjs +36 -0
- package/dist/utils/browser/clipboard.mjs.map +1 -0
- package/dist/utils/file/index.mjs +9 -0
- package/dist/utils/file/index.mjs.map +1 -0
- package/dist/utils/format/masks.mjs +56 -0
- package/dist/utils/format/masks.mjs.map +1 -0
- package/dist/utils/intl/locales.mjs +12 -0
- package/dist/utils/intl/locales.mjs.map +1 -0
- package/dist/utils/intl/timezones.mjs +41 -0
- package/dist/utils/intl/timezones.mjs.map +1 -0
- package/dist/utils/validators/account.mjs +26 -0
- package/dist/utils/validators/account.mjs.map +1 -0
- package/dist/utils/validators/common.mjs +47 -0
- package/dist/utils/validators/common.mjs.map +1 -0
- package/package.json +5 -1
- package/src/components/account/ConfigurationsMyAccountModal.tsx +147 -0
- package/src/components/account/ConfirmGlobalPreferencesModal.tsx +66 -0
- package/src/components/account/DisableTwoFactorAuthModal.tsx +86 -0
- package/src/components/account/TwoFactorAuthModal.tsx +221 -0
- package/src/components/account/constants.ts +29 -0
- package/src/components/account/hooks/useChangeEmailForm.tsx +56 -0
- package/src/components/account/hooks/useChangePasswordForm.tsx +59 -0
- package/src/components/account/hooks/useChangePhoneForm.tsx +69 -0
- package/src/components/account/hooks/useConfigurationsModal.ts +40 -0
- package/src/components/account/hooks/useDisableTwoFactorAuthForm.tsx +69 -0
- package/src/components/account/hooks/useOtpVerification.tsx +116 -0
- package/src/components/account/hooks/useTwoFactorAuthForm.tsx +114 -0
- package/src/components/account/sections/ChangeEmailModal.tsx +224 -0
- package/src/components/account/sections/ChangePasswordSection.tsx +64 -0
- package/src/components/account/sections/ChangePhoneModal.tsx +229 -0
- package/src/components/account/sections/MyProfileSection.tsx +337 -0
- package/src/components/account/sections/PreferencesSection.tsx +277 -0
- package/src/components/account/sections/SecuritySection.tsx +160 -0
- package/src/components/ui/form/ComboboxField.tsx +154 -0
- package/src/components/ui/form/FormField.tsx +130 -0
- package/src/components/ui/form/PhoneInput.tsx +98 -0
- package/src/components/ui/form/SelectField.tsx +118 -0
- package/src/components/ui/form/SwitchOptionFieldWithIcon.tsx +47 -0
- package/src/components/ui/form/TextAreaField.tsx +70 -0
- package/src/enums/AccountSectionType.ts +6 -0
- package/src/hooks/useCountdownTimer.ts +41 -0
- package/src/hooks/useIsMobile.ts +19 -0
- package/src/hooks/usePasswordVisibility.ts +13 -0
- package/src/index.ts +70 -0
- package/src/modules/accounts/actions/account-management.action.ts +197 -0
- package/src/modules/accounts/hooks/useAccountManagement.ts +79 -0
- package/src/modules/accounts/services/account.service.ts +229 -50
- package/src/modules/accounts/services/two-factor.service.ts +98 -0
- package/src/modules/accounts/types.ts +157 -0
- package/src/server.ts +21 -0
- package/src/utils/browser/clipboard.ts +34 -0
- package/src/utils/file/index.ts +5 -0
- package/src/utils/format/masks.ts +52 -0
- package/src/utils/intl/locales.ts +15 -0
- package/src/utils/intl/timezones.ts +53 -0
- package/src/utils/validators/account.ts +36 -0
- package/src/utils/validators/common.ts +43 -0
package/dist/index.mjs
CHANGED
|
@@ -59,14 +59,55 @@ import { Popover, PopoverTrigger, PopoverContent, PopoverAnchor } from "./compon
|
|
|
59
59
|
import { Sheet, SheetTrigger, SheetClose, SheetContent, SheetHeader, SheetFooter, SheetTitle, SheetDescription } from "./components/ui/overlay/Sheet";
|
|
60
60
|
import { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider } from "./components/ui/overlay/Tooltip";
|
|
61
61
|
import { useMdSidebarStore } from "./store/useMdSidebarStore";
|
|
62
|
+
import { AccountSectionType } from "./enums/AccountSectionType";
|
|
63
|
+
import { default as default5 } from "./hooks/usePasswordVisibility";
|
|
64
|
+
import { default as default6 } from "./hooks/useCountdownTimer";
|
|
65
|
+
import { default as default7 } from "./hooks/useIsMobile";
|
|
66
|
+
import { formatPhone, formatTimer, formatFullName, formatCPF, formatCardNumber } from "./utils/format/masks";
|
|
67
|
+
import { buildTimezoneOptions } from "./utils/intl/timezones";
|
|
68
|
+
import { buildLocaleOptions, LANGUAGE_OPTIONS } from "./utils/intl/locales";
|
|
69
|
+
import { copyToClipboard, readFromClipboard } from "./utils/browser/clipboard";
|
|
70
|
+
import { FormField } from "./components/ui/form/FormField";
|
|
71
|
+
import { SelectField } from "./components/ui/form/SelectField";
|
|
72
|
+
import { ComboboxField } from "./components/ui/form/ComboboxField";
|
|
73
|
+
import { default as default8 } from "./components/ui/form/PhoneInput";
|
|
74
|
+
import { default as default9 } from "./components/ui/form/SwitchOptionFieldWithIcon";
|
|
75
|
+
import { TextAreaField } from "./components/ui/form/TextAreaField";
|
|
76
|
+
import {
|
|
77
|
+
useUpdateAccount,
|
|
78
|
+
useUpdateAccountUser,
|
|
79
|
+
useUpdateAccountUserById,
|
|
80
|
+
useDeleteAccountUser,
|
|
81
|
+
useDeleteAccount
|
|
82
|
+
} from "./modules/accounts/hooks/useAccountManagement";
|
|
83
|
+
import { default as default10 } from "./components/account/ConfigurationsMyAccountModal";
|
|
84
|
+
import { default as default11 } from "./components/account/TwoFactorAuthModal";
|
|
85
|
+
import { default as default12 } from "./components/account/DisableTwoFactorAuthModal";
|
|
86
|
+
import { default as default13 } from "./components/account/ConfirmGlobalPreferencesModal";
|
|
87
|
+
import { MyProfileSection } from "./components/account/sections/MyProfileSection";
|
|
88
|
+
import { PreferencesSection } from "./components/account/sections/PreferencesSection";
|
|
89
|
+
import { SecuritySection } from "./components/account/sections/SecuritySection";
|
|
90
|
+
import { ChangePasswordSection } from "./components/account/sections/ChangePasswordSection";
|
|
91
|
+
import { ChangeEmailModal } from "./components/account/sections/ChangeEmailModal";
|
|
92
|
+
import { ChangePhoneModal } from "./components/account/sections/ChangePhoneModal";
|
|
93
|
+
import {
|
|
94
|
+
GENDER_OPTIONS,
|
|
95
|
+
CURRENCY_OPTIONS,
|
|
96
|
+
TIMEZONE_OPTIONS,
|
|
97
|
+
TIME_FORMAT_OPTIONS,
|
|
98
|
+
NOTIFICATION_TYPES,
|
|
99
|
+
LANGUAGE_OPTIONS as LANGUAGE_OPTIONS2
|
|
100
|
+
} from "./components/account/constants";
|
|
62
101
|
export {
|
|
63
102
|
ADDON_IDS,
|
|
64
103
|
Accordion,
|
|
65
104
|
AccordionContent,
|
|
66
105
|
AccordionItem,
|
|
67
106
|
AccordionTrigger,
|
|
107
|
+
AccountSectionType,
|
|
68
108
|
Badge,
|
|
69
109
|
Button,
|
|
110
|
+
CURRENCY_OPTIONS,
|
|
70
111
|
Calendar,
|
|
71
112
|
CalendarDayButton,
|
|
72
113
|
default2 as CancelButton,
|
|
@@ -77,8 +118,12 @@ export {
|
|
|
77
118
|
CardFooter,
|
|
78
119
|
CardHeader,
|
|
79
120
|
CardTitle,
|
|
121
|
+
ChangeEmailModal,
|
|
122
|
+
ChangePasswordSection,
|
|
123
|
+
ChangePhoneModal,
|
|
80
124
|
Checkbox,
|
|
81
125
|
default3 as CircularProgress,
|
|
126
|
+
ComboboxField,
|
|
82
127
|
Command,
|
|
83
128
|
CommandDialog,
|
|
84
129
|
CommandEmpty,
|
|
@@ -88,6 +133,8 @@ export {
|
|
|
88
133
|
CommandList,
|
|
89
134
|
CommandSeparator,
|
|
90
135
|
CommandShortcut,
|
|
136
|
+
default10 as ConfigurationsMyAccountModal,
|
|
137
|
+
default13 as ConfirmGlobalPreferencesModal,
|
|
91
138
|
CopyButton,
|
|
92
139
|
DatePicker,
|
|
93
140
|
DateRangePicker,
|
|
@@ -102,16 +149,23 @@ export {
|
|
|
102
149
|
DialogPortal,
|
|
103
150
|
DialogTitle,
|
|
104
151
|
DialogTrigger,
|
|
152
|
+
default12 as DisableTwoFactorAuthModal,
|
|
153
|
+
FormField,
|
|
154
|
+
GENDER_OPTIONS,
|
|
105
155
|
Input,
|
|
106
156
|
InputOTP,
|
|
107
157
|
InputOTPGroup,
|
|
108
158
|
InputOTPSeparator,
|
|
109
159
|
InputOTPSlot,
|
|
160
|
+
LANGUAGE_OPTIONS2 as LANGUAGE_OPTIONS,
|
|
161
|
+
LANGUAGE_OPTIONS as LOCALE_LANGUAGE_OPTIONS,
|
|
110
162
|
MainLayout,
|
|
111
163
|
MainLayoutContent,
|
|
112
164
|
MainLayoutMain,
|
|
113
165
|
MainLayoutSpacer,
|
|
114
166
|
MdSideBarNavigation,
|
|
167
|
+
MyProfileSection,
|
|
168
|
+
NOTIFICATION_TYPES,
|
|
115
169
|
NavBar,
|
|
116
170
|
NavBarItem,
|
|
117
171
|
NotificationItem,
|
|
@@ -123,10 +177,12 @@ export {
|
|
|
123
177
|
PaginationLink,
|
|
124
178
|
PaginationNext,
|
|
125
179
|
PaginationPrevious,
|
|
180
|
+
default8 as PhoneInput,
|
|
126
181
|
Popover,
|
|
127
182
|
PopoverAnchor,
|
|
128
183
|
PopoverContent,
|
|
129
184
|
PopoverTrigger,
|
|
185
|
+
PreferencesSection,
|
|
130
186
|
ProfilePopover,
|
|
131
187
|
Progress,
|
|
132
188
|
QueryProvider,
|
|
@@ -135,8 +191,10 @@ export {
|
|
|
135
191
|
SUBSCRIPTIONS_QUERY_KEY,
|
|
136
192
|
ScrollArea,
|
|
137
193
|
ScrollBar,
|
|
194
|
+
SecuritySection,
|
|
138
195
|
Select,
|
|
139
196
|
SelectContent,
|
|
197
|
+
SelectField,
|
|
140
198
|
SelectGroup,
|
|
141
199
|
SelectItem,
|
|
142
200
|
SelectLabel,
|
|
@@ -158,6 +216,9 @@ export {
|
|
|
158
216
|
SubscriptionItemSchema,
|
|
159
217
|
SubscriptionSchema,
|
|
160
218
|
Switch,
|
|
219
|
+
default9 as SwitchOptionFieldWithIcon,
|
|
220
|
+
TIMEZONE_OPTIONS,
|
|
221
|
+
TIME_FORMAT_OPTIONS,
|
|
161
222
|
Table,
|
|
162
223
|
TableBody,
|
|
163
224
|
TableCaption,
|
|
@@ -170,33 +231,52 @@ export {
|
|
|
170
231
|
TabsContent,
|
|
171
232
|
TabsList,
|
|
172
233
|
TabsTrigger,
|
|
234
|
+
TextAreaField,
|
|
173
235
|
Textarea,
|
|
174
236
|
Toast,
|
|
175
237
|
Tooltip,
|
|
176
238
|
TooltipContent,
|
|
177
239
|
TooltipProvider,
|
|
178
240
|
TooltipTrigger,
|
|
241
|
+
default11 as TwoFactorAuthModal,
|
|
179
242
|
USER_QUERY_KEY,
|
|
180
243
|
UserAvatar,
|
|
181
244
|
UsersSelectorPopover,
|
|
182
245
|
badgeVariants,
|
|
246
|
+
buildLocaleOptions,
|
|
183
247
|
buildQueryParams,
|
|
248
|
+
buildTimezoneOptions,
|
|
184
249
|
buttonVariants,
|
|
185
250
|
cn,
|
|
186
251
|
continueChain,
|
|
252
|
+
copyToClipboard,
|
|
187
253
|
createAuthMiddleware,
|
|
188
254
|
createMiddlewareChain,
|
|
255
|
+
formatCPF,
|
|
256
|
+
formatCardNumber,
|
|
257
|
+
formatFullName,
|
|
258
|
+
formatPhone,
|
|
259
|
+
formatTimer,
|
|
189
260
|
parseResult,
|
|
190
261
|
parseSchema,
|
|
262
|
+
readFromClipboard,
|
|
191
263
|
stopChain,
|
|
192
264
|
toastIconContainerVariants,
|
|
193
265
|
toastVariants,
|
|
194
266
|
useActiveSubscription,
|
|
267
|
+
default6 as useCountdownTimer,
|
|
268
|
+
useDeleteAccount,
|
|
269
|
+
useDeleteAccountUser,
|
|
195
270
|
useIaCredits,
|
|
196
271
|
useInvalidateUser,
|
|
272
|
+
default7 as useIsMobile,
|
|
197
273
|
useMdSidebarStore,
|
|
274
|
+
default5 as usePasswordVisibility,
|
|
198
275
|
useSetUserData,
|
|
199
276
|
useSubscriptions,
|
|
277
|
+
useUpdateAccount,
|
|
278
|
+
useUpdateAccountUser,
|
|
279
|
+
useUpdateAccountUserById,
|
|
200
280
|
useUserQuery,
|
|
201
281
|
useUserValidateSession
|
|
202
282
|
};
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["// Types\nexport * from './modules/auth/schema';\nexport * from './modules/users/schema';\nexport * from './modules/whitelabel/schema';\nexport * from './infra/api/types';\n\n// Contexts\nexport * from './providers/query.provider';\nexport * from './providers/auth.provider';\nexport * from './providers/whitelabel.provider';\n\n// Hooks\nexport { useUserQuery, useUserValidateSession, useInvalidateUser, useSetUserData, USER_QUERY_KEY } from './modules/auth/hooks/useUserQuery';\nexport { useSubscriptions, SUBSCRIPTIONS_QUERY_KEY } from './modules/subscriptions/hooks/list-subscriptions.hook';\nexport { useActiveSubscription } from './modules/subscriptions/hooks/find-active-subscription.hook';\nexport { useIaCredits } from './modules/ia-credits/hooks/ia-credits.hook';\nexport type { IaCreditsSummary, IaCreditOperation } from './modules/ia-credits/types';\nexport type { Subscription, SubscriptionItem, FindSubscriptionsParams } from './modules/subscriptions/types';\nexport { SubscriptionSchema, SubscriptionItemSchema } from './modules/subscriptions/types';\nexport { ADDON_IDS } from './modules/subscriptions/constants/addons.constants';\nexport type { AddonKindEnum } from './modules/subscriptions/constants/addons.constants';\n\n// Providers\nexport { QueryProvider } from './providers/query.provider';\n\n// Middleware\nexport { createAuthMiddleware } from './middlewares/create-auth-middleware';\nexport { createMiddlewareChain } from './middlewares/chain';\nexport { continueChain, stopChain } from './middlewares/types';\nexport type { MiddlewareFunction, MiddlewareConfig, MiddlewareResult } from './middlewares/types';\n\n// Utils\nexport { cn } from './infra/utils/clsx';\nexport { buildQueryParams } from './infra/utils/params';\nexport { parseSchema, parseResult } from './infra/utils/parser';\n\n// Layout\nexport { MainLayout, MainLayoutContent, MainLayoutSpacer, MainLayoutMain } from './components/layouts/MainLayout';\nexport { NavBar } from './components/layouts/NavBar';\nexport type { NavBarProps } from './components/layouts/NavBar';\nexport { SideBarNavigation } from './components/layouts/SideBarNavigation';\nexport { MdSideBarNavigation } from './components/layouts/MdSideBarNavigation';\nexport { NotificationItem } from './components/layouts/NotificationItem';\nexport type { NotificationItemProps } from './components/layouts/NotificationItem';\nexport { NotificationsPopover } from './components/layouts/NotificationsPopover';\nexport type { NotificationsPopoverProps, NotificationData } from './components/layouts/NotificationsPopover';\nexport { UsersSelectorPopover } from './components/layouts/UsersSelectorPopover';\nexport type { UsersSelectorPopoverProps, UserSelectorItem } from './components/layouts/UsersSelectorPopover';\nexport { ProfilePopover } from './components/layouts/ProfilePopover';\nexport type { ProfilePopoverProps, ProfileMenuItem } from './components/layouts/ProfilePopover';\nexport { NavBarItem } from './components/layouts/NavBarItem';\nexport type { NavBarItemProps } from './components/layouts/NavBarItem';\n\n// UI - Buttons\nexport { Button, buttonVariants } from './components/ui/buttons/Button';\nexport { CopyButton } from './components/ui/buttons/CopyButton';\nexport { default as CancelButton } from './components/ui/buttons/CancelButton';\n\n// UI - Data Display\nexport { Accordion, AccordionItem, AccordionTrigger, AccordionContent } from './components/ui/data-display/Accordion';\nexport { Badge, badgeVariants } from './components/ui/data-display/Badge';\nexport { Card, CardHeader, CardFooter, CardTitle, CardAction, CardDescription, CardContent } from './components/ui/data-display/Card';\nexport { Pagination, PaginationContent, PaginationLink, PaginationItem, PaginationPrevious, PaginationNext, PaginationEllipsis } from './components/ui/data-display/Pagination';\nexport { ScrollArea, ScrollBar } from './components/ui/data-display/ScrollArea';\nexport { Separator } from './components/ui/data-display/Separator';\nexport { Table, TableHeader, TableBody, TableFooter, TableHead, TableRow, TableCell, TableCaption } from './components/ui/data-display/Table';\nexport { Tabs, TabsList, TabsTrigger, TabsContent } from './components/ui/data-display/Tabs';\nexport { UserAvatar } from './components/ui/data-display/UserAvatar';\nexport type { UserAvatarProps } from './components/ui/data-display/UserAvatar';\n\n// UI - Feedback\nexport { default as CircularProgress } from './components/ui/feedback/CircularProgress';\nexport { default as DefaultCircularProgress } from './components/ui/feedback/DefaultCircularProgress';\nexport { Progress } from './components/ui/feedback/Progress';\nexport { Toast, toastVariants, toastIconContainerVariants } from './components/ui/feedback/Toast';\nexport type { ToastProps } from './components/ui/feedback/Toast';\n\n// UI - Form\nexport { Calendar, CalendarDayButton } from './components/ui/form/Calendar';\nexport { Checkbox } from './components/ui/form/Checkbox';\nexport { DatePicker } from './components/ui/form/DatePicker';\nexport { DateRangePicker } from './components/ui/form/DateRangePicker';\nexport { Input } from './components/ui/form/Input';\nexport { InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator } from './components/ui/form/InputOtp';\nexport { RadioGroup, RadioGroupItem } from './components/ui/form/RadioGroup';\nexport { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue } from './components/ui/form/Select';\nexport { Switch } from './components/ui/form/Switch';\nexport { Textarea } from './components/ui/form/Textarea';\n\n// UI - Overlay\nexport { Command, CommandDialog, CommandInput, CommandList, CommandEmpty, CommandGroup, CommandItem, CommandShortcut, CommandSeparator } from './components/ui/overlay/Command';\nexport { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger } from './components/ui/overlay/Dialog';\nexport { Popover, PopoverTrigger, PopoverContent, PopoverAnchor } from './components/ui/overlay/Popover';\nexport { Sheet, SheetTrigger, SheetClose, SheetContent, SheetHeader, SheetFooter, SheetTitle, SheetDescription } from './components/ui/overlay/Sheet';\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider } from './components/ui/overlay/Tooltip';\n\n// Store\nexport { useMdSidebarStore } from './store/useMdSidebarStore';\n"],"mappings":"AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,SAAS,cAAc,wBAAwB,mBAAmB,gBAAgB,sBAAsB;AACxG,SAAS,kBAAkB,+BAA+B;AAC1D,SAAS,6BAA6B;AACtC,SAAS,oBAAoB;AAG7B,SAAS,oBAAoB,8BAA8B;AAC3D,SAAS,iBAAiB;AAI1B,SAAS,qBAAqB;AAG9B,SAAS,4BAA4B;AACrC,SAAS,6BAA6B;AACtC,SAAS,eAAe,iBAAiB;AAIzC,SAAS,UAAU;AACnB,SAAS,wBAAwB;AACjC,SAAS,aAAa,mBAAmB;AAGzC,SAAS,YAAY,mBAAmB,kBAAkB,sBAAsB;AAChF,SAAS,cAAc;AAEvB,SAAS,yBAAyB;AAClC,SAAS,2BAA2B;AACpC,SAAS,wBAAwB;AAEjC,SAAS,4BAA4B;AAErC,SAAS,4BAA4B;AAErC,SAAS,sBAAsB;AAE/B,SAAS,kBAAkB;AAI3B,SAAS,QAAQ,sBAAsB;AACvC,SAAS,kBAAkB;AAC3B,SAAoB,WAAXA,gBAA+B;AAGxC,SAAS,WAAW,eAAe,kBAAkB,wBAAwB;AAC7E,SAAS,OAAO,qBAAqB;AACrC,SAAS,MAAM,YAAY,YAAY,WAAW,YAAY,iBAAiB,mBAAmB;AAClG,SAAS,YAAY,mBAAmB,gBAAgB,gBAAgB,oBAAoB,gBAAgB,0BAA0B;AACtI,SAAS,YAAY,iBAAiB;AACtC,SAAS,iBAAiB;AAC1B,SAAS,OAAO,aAAa,WAAW,aAAa,WAAW,UAAU,WAAW,oBAAoB;AACzG,SAAS,MAAM,UAAU,aAAa,mBAAmB;AACzD,SAAS,kBAAkB;AAI3B,SAAoB,WAAXA,gBAAmC;AAC5C,SAAoB,WAAXA,gBAA0C;AACnD,SAAS,gBAAgB;AACzB,SAAS,OAAO,eAAe,kCAAkC;AAIjE,SAAS,UAAU,yBAAyB;AAC5C,SAAS,gBAAgB;AACzB,SAAS,kBAAkB;AAC3B,SAAS,uBAAuB;AAChC,SAAS,aAAa;AACtB,SAAS,UAAU,eAAe,cAAc,yBAAyB;AACzE,SAAS,YAAY,sBAAsB;AAC3C,SAAS,QAAQ,eAAe,aAAa,YAAY,aAAa,wBAAwB,sBAAsB,iBAAiB,eAAe,mBAAmB;AACvK,SAAS,cAAc;AACvB,SAAS,gBAAgB;AAGzB,SAAS,SAAS,eAAe,cAAc,aAAa,cAAc,cAAc,aAAa,iBAAiB,wBAAwB;AAC9I,SAAS,QAAQ,aAAa,eAAe,mBAAmB,cAAc,cAAc,eAAe,cAAc,aAAa,qBAAqB;AAC3J,SAAS,SAAS,gBAAgB,gBAAgB,qBAAqB;AACvE,SAAS,OAAO,cAAc,YAAY,cAAc,aAAa,aAAa,YAAY,wBAAwB;AACtH,SAAS,SAAS,gBAAgB,gBAAgB,uBAAuB;AAGzE,SAAS,yBAAyB;","names":["default"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["// Types\nexport * from './modules/auth/schema';\nexport * from './modules/users/schema';\nexport * from './modules/whitelabel/schema';\nexport * from './infra/api/types';\n\n// Contexts\nexport * from './providers/query.provider';\nexport * from './providers/auth.provider';\nexport * from './providers/whitelabel.provider';\n\n// Hooks\nexport { useUserQuery, useUserValidateSession, useInvalidateUser, useSetUserData, USER_QUERY_KEY } from './modules/auth/hooks/useUserQuery';\nexport { useSubscriptions, SUBSCRIPTIONS_QUERY_KEY } from './modules/subscriptions/hooks/list-subscriptions.hook';\nexport { useActiveSubscription } from './modules/subscriptions/hooks/find-active-subscription.hook';\nexport { useIaCredits } from './modules/ia-credits/hooks/ia-credits.hook';\nexport type { IaCreditsSummary, IaCreditOperation } from './modules/ia-credits/types';\nexport type { Subscription, SubscriptionItem, FindSubscriptionsParams } from './modules/subscriptions/types';\nexport { SubscriptionSchema, SubscriptionItemSchema } from './modules/subscriptions/types';\nexport { ADDON_IDS } from './modules/subscriptions/constants/addons.constants';\nexport type { AddonKindEnum } from './modules/subscriptions/constants/addons.constants';\n\n// Providers\nexport { QueryProvider } from './providers/query.provider';\n\n// Middleware\nexport { createAuthMiddleware } from './middlewares/create-auth-middleware';\nexport { createMiddlewareChain } from './middlewares/chain';\nexport { continueChain, stopChain } from './middlewares/types';\nexport type { MiddlewareFunction, MiddlewareConfig, MiddlewareResult } from './middlewares/types';\n\n// Utils\nexport { cn } from './infra/utils/clsx';\nexport { buildQueryParams } from './infra/utils/params';\nexport { parseSchema, parseResult } from './infra/utils/parser';\n\n// Layout\nexport { MainLayout, MainLayoutContent, MainLayoutSpacer, MainLayoutMain } from './components/layouts/MainLayout';\nexport { NavBar } from './components/layouts/NavBar';\nexport type { NavBarProps } from './components/layouts/NavBar';\nexport { SideBarNavigation } from './components/layouts/SideBarNavigation';\nexport { MdSideBarNavigation } from './components/layouts/MdSideBarNavigation';\nexport { NotificationItem } from './components/layouts/NotificationItem';\nexport type { NotificationItemProps } from './components/layouts/NotificationItem';\nexport { NotificationsPopover } from './components/layouts/NotificationsPopover';\nexport type { NotificationsPopoverProps, NotificationData } from './components/layouts/NotificationsPopover';\nexport { UsersSelectorPopover } from './components/layouts/UsersSelectorPopover';\nexport type { UsersSelectorPopoverProps, UserSelectorItem } from './components/layouts/UsersSelectorPopover';\nexport { ProfilePopover } from './components/layouts/ProfilePopover';\nexport type { ProfilePopoverProps, ProfileMenuItem } from './components/layouts/ProfilePopover';\nexport { NavBarItem } from './components/layouts/NavBarItem';\nexport type { NavBarItemProps } from './components/layouts/NavBarItem';\n\n// UI - Buttons\nexport { Button, buttonVariants } from './components/ui/buttons/Button';\nexport { CopyButton } from './components/ui/buttons/CopyButton';\nexport { default as CancelButton } from './components/ui/buttons/CancelButton';\n\n// UI - Data Display\nexport { Accordion, AccordionItem, AccordionTrigger, AccordionContent } from './components/ui/data-display/Accordion';\nexport { Badge, badgeVariants } from './components/ui/data-display/Badge';\nexport { Card, CardHeader, CardFooter, CardTitle, CardAction, CardDescription, CardContent } from './components/ui/data-display/Card';\nexport { Pagination, PaginationContent, PaginationLink, PaginationItem, PaginationPrevious, PaginationNext, PaginationEllipsis } from './components/ui/data-display/Pagination';\nexport { ScrollArea, ScrollBar } from './components/ui/data-display/ScrollArea';\nexport { Separator } from './components/ui/data-display/Separator';\nexport { Table, TableHeader, TableBody, TableFooter, TableHead, TableRow, TableCell, TableCaption } from './components/ui/data-display/Table';\nexport { Tabs, TabsList, TabsTrigger, TabsContent } from './components/ui/data-display/Tabs';\nexport { UserAvatar } from './components/ui/data-display/UserAvatar';\nexport type { UserAvatarProps } from './components/ui/data-display/UserAvatar';\n\n// UI - Feedback\nexport { default as CircularProgress } from './components/ui/feedback/CircularProgress';\nexport { default as DefaultCircularProgress } from './components/ui/feedback/DefaultCircularProgress';\nexport { Progress } from './components/ui/feedback/Progress';\nexport { Toast, toastVariants, toastIconContainerVariants } from './components/ui/feedback/Toast';\nexport type { ToastProps } from './components/ui/feedback/Toast';\n\n// UI - Form\nexport { Calendar, CalendarDayButton } from './components/ui/form/Calendar';\nexport { Checkbox } from './components/ui/form/Checkbox';\nexport { DatePicker } from './components/ui/form/DatePicker';\nexport { DateRangePicker } from './components/ui/form/DateRangePicker';\nexport { Input } from './components/ui/form/Input';\nexport { InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator } from './components/ui/form/InputOtp';\nexport { RadioGroup, RadioGroupItem } from './components/ui/form/RadioGroup';\nexport { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue } from './components/ui/form/Select';\nexport { Switch } from './components/ui/form/Switch';\nexport { Textarea } from './components/ui/form/Textarea';\n\n// UI - Overlay\nexport { Command, CommandDialog, CommandInput, CommandList, CommandEmpty, CommandGroup, CommandItem, CommandShortcut, CommandSeparator } from './components/ui/overlay/Command';\nexport { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger } from './components/ui/overlay/Dialog';\nexport { Popover, PopoverTrigger, PopoverContent, PopoverAnchor } from './components/ui/overlay/Popover';\nexport { Sheet, SheetTrigger, SheetClose, SheetContent, SheetHeader, SheetFooter, SheetTitle, SheetDescription } from './components/ui/overlay/Sheet';\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider } from './components/ui/overlay/Tooltip';\n\n// Store\nexport { useMdSidebarStore } from './store/useMdSidebarStore';\n\n// Enums\nexport { AccountSectionType } from './enums/AccountSectionType';\n\n// Hooks\nexport { default as usePasswordVisibility } from './hooks/usePasswordVisibility';\nexport { default as useCountdownTimer } from './hooks/useCountdownTimer';\nexport { default as useIsMobile } from './hooks/useIsMobile';\n\n// Utils\nexport { formatPhone, formatTimer, formatFullName, formatCPF, formatCardNumber } from './utils/format/masks';\nexport { buildTimezoneOptions } from './utils/intl/timezones';\nexport type { TimezoneOption } from './utils/intl/timezones';\nexport { buildLocaleOptions, LANGUAGE_OPTIONS as LOCALE_LANGUAGE_OPTIONS } from './utils/intl/locales';\nexport type { LocaleOption } from './utils/intl/locales';\nexport { copyToClipboard, readFromClipboard } from './utils/browser/clipboard';\n\n// UI - Form (new widgets)\nexport { FormField } from './components/ui/form/FormField';\nexport { SelectField } from './components/ui/form/SelectField';\nexport { ComboboxField } from './components/ui/form/ComboboxField';\nexport type { ComboboxOption } from './components/ui/form/ComboboxField';\nexport { default as PhoneInput } from './components/ui/form/PhoneInput';\nexport { default as SwitchOptionFieldWithIcon } from './components/ui/form/SwitchOptionFieldWithIcon';\nexport { TextAreaField } from './components/ui/form/TextAreaField';\n\n// Account Module - Hooks\nexport {\n useUpdateAccount,\n useUpdateAccountUser,\n useUpdateAccountUserById,\n useDeleteAccountUser,\n useDeleteAccount,\n} from './modules/accounts/hooks/useAccountManagement';\n\n// Account Types\nexport type {\n UpdateAccountRequest,\n UpdateAccountUserRequest,\n ChangePasswordRequest,\n DeleteAccountActionResult,\n DeleteUserActionResult,\n UpdateAccountActionResult,\n UpdateUserActionResult,\n TwoFactorGenerateResult,\n TwoFactorActionResult,\n ContactResetResult,\n} from './modules/accounts/types';\n\n// Account Components\nexport { default as ConfigurationsMyAccountModal } from './components/account/ConfigurationsMyAccountModal';\nexport { default as TwoFactorAuthModal } from './components/account/TwoFactorAuthModal';\nexport { default as DisableTwoFactorAuthModal } from './components/account/DisableTwoFactorAuthModal';\nexport { default as ConfirmGlobalPreferencesModal } from './components/account/ConfirmGlobalPreferencesModal';\nexport { MyProfileSection } from './components/account/sections/MyProfileSection';\nexport { PreferencesSection } from './components/account/sections/PreferencesSection';\nexport { SecuritySection } from './components/account/sections/SecuritySection';\nexport { ChangePasswordSection } from './components/account/sections/ChangePasswordSection';\nexport { ChangeEmailModal } from './components/account/sections/ChangeEmailModal';\nexport { ChangePhoneModal } from './components/account/sections/ChangePhoneModal';\n\n// Account Constants\nexport {\n GENDER_OPTIONS,\n CURRENCY_OPTIONS,\n TIMEZONE_OPTIONS,\n TIME_FORMAT_OPTIONS,\n NOTIFICATION_TYPES,\n LANGUAGE_OPTIONS,\n} from './components/account/constants';\n"],"mappings":"AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,SAAS,cAAc,wBAAwB,mBAAmB,gBAAgB,sBAAsB;AACxG,SAAS,kBAAkB,+BAA+B;AAC1D,SAAS,6BAA6B;AACtC,SAAS,oBAAoB;AAG7B,SAAS,oBAAoB,8BAA8B;AAC3D,SAAS,iBAAiB;AAI1B,SAAS,qBAAqB;AAG9B,SAAS,4BAA4B;AACrC,SAAS,6BAA6B;AACtC,SAAS,eAAe,iBAAiB;AAIzC,SAAS,UAAU;AACnB,SAAS,wBAAwB;AACjC,SAAS,aAAa,mBAAmB;AAGzC,SAAS,YAAY,mBAAmB,kBAAkB,sBAAsB;AAChF,SAAS,cAAc;AAEvB,SAAS,yBAAyB;AAClC,SAAS,2BAA2B;AACpC,SAAS,wBAAwB;AAEjC,SAAS,4BAA4B;AAErC,SAAS,4BAA4B;AAErC,SAAS,sBAAsB;AAE/B,SAAS,kBAAkB;AAI3B,SAAS,QAAQ,sBAAsB;AACvC,SAAS,kBAAkB;AAC3B,SAAoB,WAAXA,gBAA+B;AAGxC,SAAS,WAAW,eAAe,kBAAkB,wBAAwB;AAC7E,SAAS,OAAO,qBAAqB;AACrC,SAAS,MAAM,YAAY,YAAY,WAAW,YAAY,iBAAiB,mBAAmB;AAClG,SAAS,YAAY,mBAAmB,gBAAgB,gBAAgB,oBAAoB,gBAAgB,0BAA0B;AACtI,SAAS,YAAY,iBAAiB;AACtC,SAAS,iBAAiB;AAC1B,SAAS,OAAO,aAAa,WAAW,aAAa,WAAW,UAAU,WAAW,oBAAoB;AACzG,SAAS,MAAM,UAAU,aAAa,mBAAmB;AACzD,SAAS,kBAAkB;AAI3B,SAAoB,WAAXA,gBAAmC;AAC5C,SAAoB,WAAXA,gBAA0C;AACnD,SAAS,gBAAgB;AACzB,SAAS,OAAO,eAAe,kCAAkC;AAIjE,SAAS,UAAU,yBAAyB;AAC5C,SAAS,gBAAgB;AACzB,SAAS,kBAAkB;AAC3B,SAAS,uBAAuB;AAChC,SAAS,aAAa;AACtB,SAAS,UAAU,eAAe,cAAc,yBAAyB;AACzE,SAAS,YAAY,sBAAsB;AAC3C,SAAS,QAAQ,eAAe,aAAa,YAAY,aAAa,wBAAwB,sBAAsB,iBAAiB,eAAe,mBAAmB;AACvK,SAAS,cAAc;AACvB,SAAS,gBAAgB;AAGzB,SAAS,SAAS,eAAe,cAAc,aAAa,cAAc,cAAc,aAAa,iBAAiB,wBAAwB;AAC9I,SAAS,QAAQ,aAAa,eAAe,mBAAmB,cAAc,cAAc,eAAe,cAAc,aAAa,qBAAqB;AAC3J,SAAS,SAAS,gBAAgB,gBAAgB,qBAAqB;AACvE,SAAS,OAAO,cAAc,YAAY,cAAc,aAAa,aAAa,YAAY,wBAAwB;AACtH,SAAS,SAAS,gBAAgB,gBAAgB,uBAAuB;AAGzE,SAAS,yBAAyB;AAGlC,SAAS,0BAA0B;AAGnC,SAAoB,WAAXA,gBAAwC;AACjD,SAAoB,WAAXA,gBAAoC;AAC7C,SAAoB,WAAXA,gBAA8B;AAGvC,SAAS,aAAa,aAAa,gBAAgB,WAAW,wBAAwB;AACtF,SAAS,4BAA4B;AAErC,SAAS,oBAAwC,wBAA+B;AAEhF,SAAS,iBAAiB,yBAAyB;AAGnD,SAAS,iBAAiB;AAC1B,SAAS,mBAAmB;AAC5B,SAAS,qBAAqB;AAE9B,SAAoB,WAAXA,gBAA6B;AACtC,SAAoB,WAAXA,gBAA4C;AACrD,SAAS,qBAAqB;AAG9B;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAiBP,SAAoB,WAAXA,iBAA+C;AACxD,SAAoB,WAAXA,iBAAqC;AAC9C,SAAoB,WAAXA,iBAA4C;AACrD,SAAoB,WAAXA,iBAAgD;AACzD,SAAS,wBAAwB;AACjC,SAAS,0BAA0B;AACnC,SAAS,uBAAuB;AAChC,SAAS,6BAA6B;AACtC,SAAS,wBAAwB;AACjC,SAAS,wBAAwB;AAGjC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,oBAAAC;AAAA,OACK;","names":["default","LANGUAGE_OPTIONS"]}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
"use server";
|
|
2
|
+
import { accountService } from "../services/account.service";
|
|
3
|
+
import { ApiError } from "../../../infra/api/types";
|
|
4
|
+
import { twoFactorService } from "../services/two-factor.service";
|
|
5
|
+
async function listAccountUsersAction(params) {
|
|
6
|
+
try {
|
|
7
|
+
const { users, total } = await accountService.listAccountUsers(params);
|
|
8
|
+
return { success: true, data: users, total };
|
|
9
|
+
} catch (error) {
|
|
10
|
+
if (error instanceof ApiError) return { success: false, error: error.message };
|
|
11
|
+
return { success: false, error: "Erro ao listar usu\xE1rios. Tente novamente." };
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
async function updateUserAction(user) {
|
|
15
|
+
try {
|
|
16
|
+
const result = await accountService.updateAccountUser(user);
|
|
17
|
+
return { success: true, data: result };
|
|
18
|
+
} catch (error) {
|
|
19
|
+
if (error instanceof ApiError) return { success: false, error: error.message };
|
|
20
|
+
return { success: false, error: "Erro ao atualizar usu\xE1rio. Tente novamente." };
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
async function updateAccountUserByIdAction(userId, user) {
|
|
24
|
+
try {
|
|
25
|
+
const result = await accountService.updateAccountUserById(userId, user);
|
|
26
|
+
return { success: true, data: result };
|
|
27
|
+
} catch (error) {
|
|
28
|
+
if (error instanceof ApiError) return { success: false, error: error.message };
|
|
29
|
+
return { success: false, error: "Erro ao atualizar usu\xE1rio. Tente novamente." };
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
async function updateAccountAction(data) {
|
|
33
|
+
try {
|
|
34
|
+
await accountService.updateAccount(data);
|
|
35
|
+
return { success: true };
|
|
36
|
+
} catch (error) {
|
|
37
|
+
if (error instanceof ApiError) return { success: false, error: error.message };
|
|
38
|
+
return { success: false, error: "Erro ao atualizar conta. Tente novamente." };
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
async function deleteAccountUserAction(userId) {
|
|
42
|
+
try {
|
|
43
|
+
await accountService.deleteAccountUser(userId);
|
|
44
|
+
return { success: true };
|
|
45
|
+
} catch (error) {
|
|
46
|
+
if (error instanceof ApiError) return { success: false, error: error.message };
|
|
47
|
+
return { success: false, error: "Erro ao remover usu\xE1rio. Tente novamente." };
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
async function deleteAccountAction() {
|
|
51
|
+
try {
|
|
52
|
+
await accountService.deleteAccount();
|
|
53
|
+
return { success: true };
|
|
54
|
+
} catch (error) {
|
|
55
|
+
if (error instanceof ApiError) return { success: false, error: error.message };
|
|
56
|
+
return { success: false, error: "Erro ao excluir conta. Tente novamente." };
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
async function createAccountUserAction(user) {
|
|
60
|
+
try {
|
|
61
|
+
const result = await accountService.createAccountUser(user);
|
|
62
|
+
return { success: true, data: result.data };
|
|
63
|
+
} catch (error) {
|
|
64
|
+
if (error instanceof ApiError) return { success: false, error: error.message };
|
|
65
|
+
return { success: false, error: "Erro ao criar usu\xE1rio. Tente novamente." };
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
async function changePasswordAction(data) {
|
|
69
|
+
try {
|
|
70
|
+
await accountService.changePassword(data);
|
|
71
|
+
return { success: true };
|
|
72
|
+
} catch (error) {
|
|
73
|
+
if (error instanceof ApiError) return { success: false, error: error.message };
|
|
74
|
+
return { success: false, error: "Erro ao alterar senha. Tente novamente." };
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
async function requestEmailChangeAction(newEmail) {
|
|
78
|
+
try {
|
|
79
|
+
await accountService.requestContactReset("email", newEmail);
|
|
80
|
+
return { success: true };
|
|
81
|
+
} catch (error) {
|
|
82
|
+
if (error instanceof ApiError) return { success: false, error: error.message };
|
|
83
|
+
return { success: false, error: "E-mail j\xE1 existente ou ocorreu um erro. Tente novamente mais tarde." };
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
async function confirmEmailChangeAction(token, newEmail) {
|
|
87
|
+
try {
|
|
88
|
+
await accountService.confirmContactReset("email", token, newEmail);
|
|
89
|
+
return { success: true };
|
|
90
|
+
} catch (error) {
|
|
91
|
+
if (error instanceof ApiError) return { success: false, error: error.message };
|
|
92
|
+
return { success: false, error: "C\xF3digo inv\xE1lido ou expirado. Tente novamente." };
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
async function requestPhoneChangeAction(newPhone) {
|
|
96
|
+
try {
|
|
97
|
+
await accountService.requestContactReset("phone", newPhone);
|
|
98
|
+
return { success: true };
|
|
99
|
+
} catch (error) {
|
|
100
|
+
if (error instanceof ApiError) return { success: false, error: error.message };
|
|
101
|
+
return { success: false, error: "N\xFAmero j\xE1 existente ou ocorreu um erro. Tente novamente mais tarde." };
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
async function confirmPhoneChangeAction(token, newPhone) {
|
|
105
|
+
try {
|
|
106
|
+
await accountService.confirmContactReset("phone", token, newPhone);
|
|
107
|
+
return { success: true };
|
|
108
|
+
} catch (error) {
|
|
109
|
+
if (error instanceof ApiError) return { success: false, error: error.message };
|
|
110
|
+
return { success: false, error: "C\xF3digo inv\xE1lido ou expirado. Tente novamente." };
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
async function generateTwoFactorAction() {
|
|
114
|
+
try {
|
|
115
|
+
const result = await twoFactorService.generate();
|
|
116
|
+
return { success: true, qrcode: result.data.qrcode, backupCodes: result.data.backup_codes };
|
|
117
|
+
} catch (error) {
|
|
118
|
+
if (error instanceof ApiError) return { success: false, error: error.message };
|
|
119
|
+
return { success: false, error: "Erro ao gerar QR Code. Tente novamente." };
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
async function confirmTwoFactorAction(code) {
|
|
123
|
+
try {
|
|
124
|
+
await twoFactorService.confirm(code);
|
|
125
|
+
return { success: true };
|
|
126
|
+
} catch (error) {
|
|
127
|
+
if (error instanceof ApiError) return { success: false, error: error.message };
|
|
128
|
+
return { success: false, error: "C\xF3digo inv\xE1lido. Tente novamente." };
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
async function disableTwoFactorAction(code) {
|
|
132
|
+
try {
|
|
133
|
+
await twoFactorService.verify(code);
|
|
134
|
+
} catch (error) {
|
|
135
|
+
if (error instanceof ApiError) return { success: false, error: error.message };
|
|
136
|
+
return { success: false, error: "C\xF3digo inv\xE1lido. Tente novamente." };
|
|
137
|
+
}
|
|
138
|
+
try {
|
|
139
|
+
await twoFactorService.disable();
|
|
140
|
+
return { success: true };
|
|
141
|
+
} catch (error) {
|
|
142
|
+
if (error instanceof ApiError) return { success: false, error: error.message };
|
|
143
|
+
return { success: false, error: "Erro ao desabilitar 2FA. Tente novamente." };
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
export {
|
|
147
|
+
changePasswordAction,
|
|
148
|
+
confirmEmailChangeAction,
|
|
149
|
+
confirmPhoneChangeAction,
|
|
150
|
+
confirmTwoFactorAction,
|
|
151
|
+
createAccountUserAction,
|
|
152
|
+
deleteAccountAction,
|
|
153
|
+
deleteAccountUserAction,
|
|
154
|
+
disableTwoFactorAction,
|
|
155
|
+
generateTwoFactorAction,
|
|
156
|
+
listAccountUsersAction,
|
|
157
|
+
requestEmailChangeAction,
|
|
158
|
+
requestPhoneChangeAction,
|
|
159
|
+
updateAccountAction,
|
|
160
|
+
updateAccountUserByIdAction,
|
|
161
|
+
updateUserAction
|
|
162
|
+
};
|
|
163
|
+
//# sourceMappingURL=account-management.action.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/modules/accounts/actions/account-management.action.ts"],"sourcesContent":["'use server';\r\n\r\nimport { accountService } from '../services/account.service';\r\nimport { ApiError } from '../../../infra/api/types';\r\nimport type {\r\n AccountUsersPaginationParams,\r\n AccountUsersActionResult,\r\n ChangePasswordActionResult,\r\n ChangePasswordRequest,\r\n ContactResetResult,\r\n CreateAccountUserRequest,\r\n DeleteAccountActionResult,\r\n DeleteUserActionResult,\r\n TwoFactorActionResult,\r\n TwoFactorGenerateResult,\r\n UpdateAccountActionResult,\r\n UpdateAccountRequest,\r\n UpdateAccountUserRequest,\r\n UpdateUserActionResult,\r\n} from '../types';\r\nimport { twoFactorService } from '../services/two-factor.service';\r\n\r\nexport async function listAccountUsersAction(\r\n params?: AccountUsersPaginationParams\r\n): Promise<AccountUsersActionResult> {\r\n try {\r\n const { users, total } = await accountService.listAccountUsers(params);\r\n return { success: true, data: users, total };\r\n } catch (error) {\r\n if (error instanceof ApiError) return { success: false, error: error.message };\r\n return { success: false, error: 'Erro ao listar usuários. Tente novamente.' };\r\n }\r\n}\r\n\r\nexport async function updateUserAction(\r\n user: UpdateAccountUserRequest\r\n): Promise<UpdateUserActionResult> {\r\n try {\r\n const result = await accountService.updateAccountUser(user);\r\n return { success: true, data: result };\r\n } catch (error) {\r\n if (error instanceof ApiError) return { success: false, error: error.message };\r\n return { success: false, error: 'Erro ao atualizar usuário. Tente novamente.' };\r\n }\r\n}\r\n\r\nexport async function updateAccountUserByIdAction(\r\n userId: number,\r\n user: UpdateAccountUserRequest\r\n): Promise<UpdateUserActionResult> {\r\n try {\r\n const result = await accountService.updateAccountUserById(userId, user);\r\n return { success: true, data: result };\r\n } catch (error) {\r\n if (error instanceof ApiError) return { success: false, error: error.message };\r\n return { success: false, error: 'Erro ao atualizar usuário. Tente novamente.' };\r\n }\r\n}\r\n\r\nexport async function updateAccountAction(\r\n data: UpdateAccountRequest\r\n): Promise<UpdateAccountActionResult> {\r\n try {\r\n await accountService.updateAccount(data);\r\n return { success: true };\r\n } catch (error) {\r\n if (error instanceof ApiError) return { success: false, error: error.message };\r\n return { success: false, error: 'Erro ao atualizar conta. Tente novamente.' };\r\n }\r\n}\r\n\r\nexport async function deleteAccountUserAction(userId: number): Promise<DeleteUserActionResult> {\r\n try {\r\n await accountService.deleteAccountUser(userId);\r\n return { success: true };\r\n } catch (error) {\r\n if (error instanceof ApiError) return { success: false, error: error.message };\r\n return { success: false, error: 'Erro ao remover usuário. Tente novamente.' };\r\n }\r\n}\r\n\r\nexport async function deleteAccountAction(): Promise<DeleteAccountActionResult> {\r\n try {\r\n await accountService.deleteAccount();\r\n return { success: true };\r\n } catch (error) {\r\n if (error instanceof ApiError) return { success: false, error: error.message };\r\n return { success: false, error: 'Erro ao excluir conta. Tente novamente.' };\r\n }\r\n}\r\n\r\nexport async function createAccountUserAction(\r\n user: CreateAccountUserRequest\r\n): Promise<AccountUsersActionResult> {\r\n try {\r\n const result = await accountService.createAccountUser(user);\r\n return { success: true, data: result.data };\r\n } catch (error) {\r\n if (error instanceof ApiError) return { success: false, error: error.message };\r\n return { success: false, error: 'Erro ao criar usuário. Tente novamente.' };\r\n }\r\n}\r\n\r\nexport async function changePasswordAction(\r\n data: ChangePasswordRequest\r\n): Promise<ChangePasswordActionResult> {\r\n try {\r\n await accountService.changePassword(data);\r\n return { success: true };\r\n } catch (error) {\r\n if (error instanceof ApiError) return { success: false, error: error.message };\r\n return { success: false, error: 'Erro ao alterar senha. Tente novamente.' };\r\n }\r\n}\r\n\r\nexport async function requestEmailChangeAction(newEmail: string): Promise<ContactResetResult> {\r\n try {\r\n await accountService.requestContactReset('email', newEmail);\r\n return { success: true };\r\n } catch (error) {\r\n if (error instanceof ApiError) return { success: false, error: error.message };\r\n return { success: false, error: 'E-mail já existente ou ocorreu um erro. Tente novamente mais tarde.' };\r\n }\r\n}\r\n\r\nexport async function confirmEmailChangeAction(\r\n token: string,\r\n newEmail: string\r\n): Promise<ContactResetResult> {\r\n try {\r\n await accountService.confirmContactReset('email', token, newEmail);\r\n return { success: true };\r\n } catch (error) {\r\n if (error instanceof ApiError) return { success: false, error: error.message };\r\n return { success: false, error: 'Código inválido ou expirado. Tente novamente.' };\r\n }\r\n}\r\n\r\nexport async function requestPhoneChangeAction(newPhone: string): Promise<ContactResetResult> {\r\n try {\r\n await accountService.requestContactReset('phone', newPhone);\r\n return { success: true };\r\n } catch (error) {\r\n if (error instanceof ApiError) return { success: false, error: error.message };\r\n return { success: false, error: 'Número já existente ou ocorreu um erro. Tente novamente mais tarde.' };\r\n }\r\n}\r\n\r\nexport async function confirmPhoneChangeAction(\r\n token: string,\r\n newPhone: string\r\n): Promise<ContactResetResult> {\r\n try {\r\n await accountService.confirmContactReset('phone', token, newPhone);\r\n return { success: true };\r\n } catch (error) {\r\n if (error instanceof ApiError) return { success: false, error: error.message };\r\n return { success: false, error: 'Código inválido ou expirado. Tente novamente.' };\r\n }\r\n}\r\n\r\nexport async function generateTwoFactorAction(): Promise<TwoFactorGenerateResult> {\r\n try {\r\n const result = await twoFactorService.generate();\r\n return { success: true, qrcode: result.data.qrcode, backupCodes: result.data.backup_codes };\r\n } catch (error) {\r\n if (error instanceof ApiError) return { success: false, error: error.message };\r\n return { success: false, error: 'Erro ao gerar QR Code. Tente novamente.' };\r\n }\r\n}\r\n\r\nexport async function confirmTwoFactorAction(code: string): Promise<TwoFactorActionResult> {\r\n try {\r\n await twoFactorService.confirm(code);\r\n return { success: true };\r\n } catch (error) {\r\n if (error instanceof ApiError) return { success: false, error: error.message };\r\n return { success: false, error: 'Código inválido. Tente novamente.' };\r\n }\r\n}\r\n\r\nexport async function disableTwoFactorAction(code: string): Promise<TwoFactorActionResult> {\r\n try {\r\n await twoFactorService.verify(code);\r\n } catch (error) {\r\n if (error instanceof ApiError) return { success: false, error: error.message };\r\n return { success: false, error: 'Código inválido. Tente novamente.' };\r\n }\r\n\r\n try {\r\n await twoFactorService.disable();\r\n return { success: true };\r\n } catch (error) {\r\n if (error instanceof ApiError) return { success: false, error: error.message };\r\n return { success: false, error: 'Erro ao desabilitar 2FA. Tente novamente.' };\r\n }\r\n}\r\n"],"mappings":";AAEA,SAAS,sBAAsB;AAC/B,SAAS,gBAAgB;AAiBzB,SAAS,wBAAwB;AAEjC,eAAsB,uBACpB,QACmC;AACnC,MAAI;AACF,UAAM,EAAE,OAAO,MAAM,IAAI,MAAM,eAAe,iBAAiB,MAAM;AACrE,WAAO,EAAE,SAAS,MAAM,MAAM,OAAO,MAAM;AAAA,EAC7C,SAAS,OAAO;AACd,QAAI,iBAAiB,SAAU,QAAO,EAAE,SAAS,OAAO,OAAO,MAAM,QAAQ;AAC7E,WAAO,EAAE,SAAS,OAAO,OAAO,+CAA4C;AAAA,EAC9E;AACF;AAEA,eAAsB,iBACpB,MACiC;AACjC,MAAI;AACF,UAAM,SAAS,MAAM,eAAe,kBAAkB,IAAI;AAC1D,WAAO,EAAE,SAAS,MAAM,MAAM,OAAO;AAAA,EACvC,SAAS,OAAO;AACd,QAAI,iBAAiB,SAAU,QAAO,EAAE,SAAS,OAAO,OAAO,MAAM,QAAQ;AAC7E,WAAO,EAAE,SAAS,OAAO,OAAO,iDAA8C;AAAA,EAChF;AACF;AAEA,eAAsB,4BACpB,QACA,MACiC;AACjC,MAAI;AACF,UAAM,SAAS,MAAM,eAAe,sBAAsB,QAAQ,IAAI;AACtE,WAAO,EAAE,SAAS,MAAM,MAAM,OAAO;AAAA,EACvC,SAAS,OAAO;AACd,QAAI,iBAAiB,SAAU,QAAO,EAAE,SAAS,OAAO,OAAO,MAAM,QAAQ;AAC7E,WAAO,EAAE,SAAS,OAAO,OAAO,iDAA8C;AAAA,EAChF;AACF;AAEA,eAAsB,oBACpB,MACoC;AACpC,MAAI;AACF,UAAM,eAAe,cAAc,IAAI;AACvC,WAAO,EAAE,SAAS,KAAK;AAAA,EACzB,SAAS,OAAO;AACd,QAAI,iBAAiB,SAAU,QAAO,EAAE,SAAS,OAAO,OAAO,MAAM,QAAQ;AAC7E,WAAO,EAAE,SAAS,OAAO,OAAO,4CAA4C;AAAA,EAC9E;AACF;AAEA,eAAsB,wBAAwB,QAAiD;AAC7F,MAAI;AACF,UAAM,eAAe,kBAAkB,MAAM;AAC7C,WAAO,EAAE,SAAS,KAAK;AAAA,EACzB,SAAS,OAAO;AACd,QAAI,iBAAiB,SAAU,QAAO,EAAE,SAAS,OAAO,OAAO,MAAM,QAAQ;AAC7E,WAAO,EAAE,SAAS,OAAO,OAAO,+CAA4C;AAAA,EAC9E;AACF;AAEA,eAAsB,sBAA0D;AAC9E,MAAI;AACF,UAAM,eAAe,cAAc;AACnC,WAAO,EAAE,SAAS,KAAK;AAAA,EACzB,SAAS,OAAO;AACd,QAAI,iBAAiB,SAAU,QAAO,EAAE,SAAS,OAAO,OAAO,MAAM,QAAQ;AAC7E,WAAO,EAAE,SAAS,OAAO,OAAO,0CAA0C;AAAA,EAC5E;AACF;AAEA,eAAsB,wBACpB,MACmC;AACnC,MAAI;AACF,UAAM,SAAS,MAAM,eAAe,kBAAkB,IAAI;AAC1D,WAAO,EAAE,SAAS,MAAM,MAAM,OAAO,KAAK;AAAA,EAC5C,SAAS,OAAO;AACd,QAAI,iBAAiB,SAAU,QAAO,EAAE,SAAS,OAAO,OAAO,MAAM,QAAQ;AAC7E,WAAO,EAAE,SAAS,OAAO,OAAO,6CAA0C;AAAA,EAC5E;AACF;AAEA,eAAsB,qBACpB,MACqC;AACrC,MAAI;AACF,UAAM,eAAe,eAAe,IAAI;AACxC,WAAO,EAAE,SAAS,KAAK;AAAA,EACzB,SAAS,OAAO;AACd,QAAI,iBAAiB,SAAU,QAAO,EAAE,SAAS,OAAO,OAAO,MAAM,QAAQ;AAC7E,WAAO,EAAE,SAAS,OAAO,OAAO,0CAA0C;AAAA,EAC5E;AACF;AAEA,eAAsB,yBAAyB,UAA+C;AAC5F,MAAI;AACF,UAAM,eAAe,oBAAoB,SAAS,QAAQ;AAC1D,WAAO,EAAE,SAAS,KAAK;AAAA,EACzB,SAAS,OAAO;AACd,QAAI,iBAAiB,SAAU,QAAO,EAAE,SAAS,OAAO,OAAO,MAAM,QAAQ;AAC7E,WAAO,EAAE,SAAS,OAAO,OAAO,yEAAsE;AAAA,EACxG;AACF;AAEA,eAAsB,yBACpB,OACA,UAC6B;AAC7B,MAAI;AACF,UAAM,eAAe,oBAAoB,SAAS,OAAO,QAAQ;AACjE,WAAO,EAAE,SAAS,KAAK;AAAA,EACzB,SAAS,OAAO;AACd,QAAI,iBAAiB,SAAU,QAAO,EAAE,SAAS,OAAO,OAAO,MAAM,QAAQ;AAC7E,WAAO,EAAE,SAAS,OAAO,OAAO,sDAAgD;AAAA,EAClF;AACF;AAEA,eAAsB,yBAAyB,UAA+C;AAC5F,MAAI;AACF,UAAM,eAAe,oBAAoB,SAAS,QAAQ;AAC1D,WAAO,EAAE,SAAS,KAAK;AAAA,EACzB,SAAS,OAAO;AACd,QAAI,iBAAiB,SAAU,QAAO,EAAE,SAAS,OAAO,OAAO,MAAM,QAAQ;AAC7E,WAAO,EAAE,SAAS,OAAO,OAAO,4EAAsE;AAAA,EACxG;AACF;AAEA,eAAsB,yBACpB,OACA,UAC6B;AAC7B,MAAI;AACF,UAAM,eAAe,oBAAoB,SAAS,OAAO,QAAQ;AACjE,WAAO,EAAE,SAAS,KAAK;AAAA,EACzB,SAAS,OAAO;AACd,QAAI,iBAAiB,SAAU,QAAO,EAAE,SAAS,OAAO,OAAO,MAAM,QAAQ;AAC7E,WAAO,EAAE,SAAS,OAAO,OAAO,sDAAgD;AAAA,EAClF;AACF;AAEA,eAAsB,0BAA4D;AAChF,MAAI;AACF,UAAM,SAAS,MAAM,iBAAiB,SAAS;AAC/C,WAAO,EAAE,SAAS,MAAM,QAAQ,OAAO,KAAK,QAAQ,aAAa,OAAO,KAAK,aAAa;AAAA,EAC5F,SAAS,OAAO;AACd,QAAI,iBAAiB,SAAU,QAAO,EAAE,SAAS,OAAO,OAAO,MAAM,QAAQ;AAC7E,WAAO,EAAE,SAAS,OAAO,OAAO,0CAA0C;AAAA,EAC5E;AACF;AAEA,eAAsB,uBAAuB,MAA8C;AACzF,MAAI;AACF,UAAM,iBAAiB,QAAQ,IAAI;AACnC,WAAO,EAAE,SAAS,KAAK;AAAA,EACzB,SAAS,OAAO;AACd,QAAI,iBAAiB,SAAU,QAAO,EAAE,SAAS,OAAO,OAAO,MAAM,QAAQ;AAC7E,WAAO,EAAE,SAAS,OAAO,OAAO,0CAAoC;AAAA,EACtE;AACF;AAEA,eAAsB,uBAAuB,MAA8C;AACzF,MAAI;AACF,UAAM,iBAAiB,OAAO,IAAI;AAAA,EACpC,SAAS,OAAO;AACd,QAAI,iBAAiB,SAAU,QAAO,EAAE,SAAS,OAAO,OAAO,MAAM,QAAQ;AAC7E,WAAO,EAAE,SAAS,OAAO,OAAO,0CAAoC;AAAA,EACtE;AAEA,MAAI;AACF,UAAM,iBAAiB,QAAQ;AAC/B,WAAO,EAAE,SAAS,KAAK;AAAA,EACzB,SAAS,OAAO;AACd,QAAI,iBAAiB,SAAU,QAAO,EAAE,SAAS,OAAO,OAAO,MAAM,QAAQ;AAC7E,WAAO,EAAE,SAAS,OAAO,OAAO,4CAA4C;AAAA,EAC9E;AACF;","names":[]}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useMutation, useQueryClient } from "@tanstack/react-query";
|
|
3
|
+
import { USER_QUERY_KEY } from "../../auth/hooks/useUserQuery";
|
|
4
|
+
import {
|
|
5
|
+
updateUserAction,
|
|
6
|
+
updateAccountAction,
|
|
7
|
+
updateAccountUserByIdAction,
|
|
8
|
+
deleteAccountUserAction,
|
|
9
|
+
deleteAccountAction
|
|
10
|
+
} from "../actions/account-management.action";
|
|
11
|
+
const ACCOUNT_USERS_QUERY_KEY = ["account-users"];
|
|
12
|
+
function useUpdateAccount() {
|
|
13
|
+
const queryClient = useQueryClient();
|
|
14
|
+
return useMutation({
|
|
15
|
+
mutationFn: (data) => updateAccountAction(data),
|
|
16
|
+
onSuccess: () => {
|
|
17
|
+
queryClient.invalidateQueries({ queryKey: ACCOUNT_USERS_QUERY_KEY });
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
function useUpdateAccountUser() {
|
|
22
|
+
const queryClient = useQueryClient();
|
|
23
|
+
return useMutation({
|
|
24
|
+
mutationFn: updateUserAction,
|
|
25
|
+
onSuccess: () => {
|
|
26
|
+
queryClient.invalidateQueries({ queryKey: ACCOUNT_USERS_QUERY_KEY });
|
|
27
|
+
queryClient.invalidateQueries({ queryKey: USER_QUERY_KEY });
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
function useUpdateAccountUserById() {
|
|
32
|
+
const queryClient = useQueryClient();
|
|
33
|
+
return useMutation({
|
|
34
|
+
mutationFn: ({ userId, ...user }) => updateAccountUserByIdAction(userId, user),
|
|
35
|
+
onSuccess: () => {
|
|
36
|
+
queryClient.invalidateQueries({ queryKey: ACCOUNT_USERS_QUERY_KEY });
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
function useDeleteAccountUser(options) {
|
|
41
|
+
const queryClient = useQueryClient();
|
|
42
|
+
return useMutation({
|
|
43
|
+
mutationFn: (userId) => deleteAccountUserAction(userId),
|
|
44
|
+
...options,
|
|
45
|
+
onSuccess: (...params) => {
|
|
46
|
+
options?.onSuccess?.(...params);
|
|
47
|
+
queryClient.invalidateQueries({ queryKey: ACCOUNT_USERS_QUERY_KEY });
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
function useDeleteAccount(options) {
|
|
52
|
+
return useMutation({
|
|
53
|
+
mutationFn: () => deleteAccountAction(),
|
|
54
|
+
...options
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
export {
|
|
58
|
+
useDeleteAccount,
|
|
59
|
+
useDeleteAccountUser,
|
|
60
|
+
useUpdateAccount,
|
|
61
|
+
useUpdateAccountUser,
|
|
62
|
+
useUpdateAccountUserById
|
|
63
|
+
};
|
|
64
|
+
//# sourceMappingURL=useAccountManagement.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
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 type {\r\n UpdateAccountRequest,\r\n UpdateAccountUserRequest,\r\n DeleteUserActionResult,\r\n DeleteAccountActionResult,\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 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: (data: UpdateAccountRequest) => updateAccountAction(data),\r\n onSuccess: () => {\r\n queryClient.invalidateQueries({ queryKey: ACCOUNT_USERS_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: updateUserAction,\r\n onSuccess: () => {\r\n queryClient.invalidateQueries({ queryKey: ACCOUNT_USERS_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: ({ userId, ...user }: UpdateAccountUserRequest & { userId: number }) =>\r\n updateAccountUserByIdAction(userId, user),\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<DeleteUserActionResult, Error, number>\r\n) {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation({\r\n mutationFn: (userId: number) => deleteAccountUserAction(userId),\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<DeleteAccountActionResult, Error, void>\r\n) {\r\n return useMutation({\r\n mutationFn: () => deleteAccountAction(),\r\n ...options,\r\n });\r\n}\r\n"],"mappings":";AAEA,SAAS,aAAa,sBAAsB;AAC5C,SAAS,sBAAsB;AAO/B;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAGP,MAAM,0BAA0B,CAAC,eAAe;AAEzC,SAAS,mBAAmB;AACjC,QAAM,cAAc,eAAe;AAEnC,SAAO,YAAY;AAAA,IACjB,YAAY,CAAC,SAA+B,oBAAoB,IAAI;AAAA,IACpE,WAAW,MAAM;AACf,kBAAY,kBAAkB,EAAE,UAAU,wBAAwB,CAAC;AAAA,IACrE;AAAA,EACF,CAAC;AACH;AAEO,SAAS,uBAAuB;AACrC,QAAM,cAAc,eAAe;AAEnC,SAAO,YAAY;AAAA,IACjB,YAAY;AAAA,IACZ,WAAW,MAAM;AACf,kBAAY,kBAAkB,EAAE,UAAU,wBAAwB,CAAC;AACnE,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,CAAC,EAAE,QAAQ,GAAG,KAAK,MAC7B,4BAA4B,QAAQ,IAAI;AAAA,IAC1C,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,CAAC,WAAmB,wBAAwB,MAAM;AAAA,IAC9D,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,MAAM,oBAAoB;AAAA,IACtC,GAAG;AAAA,EACL,CAAC;AACH;","names":[]}
|