@greatapps/common 1.1.265 → 1.1.267
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 +1 -1
- package/dist/components/account/ConfigurationsMyAccountModal.mjs.map +1 -1
- package/dist/components/account/ConfirmDeleteAccountModal.mjs.map +1 -1
- package/dist/components/account/ConfirmGlobalPreferencesModal.mjs.map +1 -1
- package/dist/components/account/DeleteAccountModal.mjs.map +1 -1
- package/dist/components/account/DisableTwoFactorAuthModal.mjs.map +1 -1
- package/dist/components/account/IsntPossibleDeleteAccountModal.mjs.map +1 -1
- package/dist/components/account/TwoFactorAuthModal.mjs.map +1 -1
- package/dist/components/account/hooks/useChangePhoneForm.mjs.map +1 -1
- package/dist/components/account/hooks/useTwoFactorAuthForm.mjs.map +1 -1
- package/dist/components/account/sections/ChangeEmailModal.mjs.map +1 -1
- package/dist/components/account/sections/ChangePasswordSection.mjs.map +1 -1
- package/dist/components/account/sections/ChangePhoneModal.mjs.map +1 -1
- package/dist/components/account/sections/MyProfileSection.mjs.map +1 -1
- package/dist/components/account/sections/PreferencesSection.mjs.map +1 -1
- package/dist/components/account/sections/SecuritySection.mjs.map +1 -1
- package/dist/components/embeds/CrispEmbed.mjs.map +1 -1
- package/dist/components/embeds/FrillEmbed.mjs.map +1 -1
- package/dist/components/layouts/AppMobileNavBar.mjs.map +1 -1
- package/dist/components/layouts/AppNavBar.mjs.map +1 -1
- package/dist/components/layouts/MdSideBarNavigation.mjs.map +1 -1
- package/dist/components/layouts/NavBar.mjs.map +1 -1
- package/dist/components/layouts/NotificationsPopover.mjs.map +1 -1
- package/dist/components/layouts/ProfilePopover.mjs.map +1 -1
- package/dist/components/layouts/UsersSelectorPopover.mjs.map +1 -1
- package/dist/components/layouts/WhitelabelCodes.mjs +50 -0
- package/dist/components/layouts/WhitelabelCodes.mjs.map +1 -0
- package/dist/components/modals/BuyCreditsModal.mjs.map +1 -1
- package/dist/components/navigation/CancelledSubscriptionBanner.mjs.map +1 -1
- package/dist/components/navigation/NavItemsContext.mjs.map +1 -1
- package/dist/components/navigation/ProjectSelectorPopover.mjs.map +1 -1
- package/dist/components/navigation/shells/TabsMobileShell.mjs.map +1 -1
- package/dist/components/navigation/subcomponents/ProjectSelector.mjs.map +1 -1
- package/dist/components/pages/notifications/Notifications.mjs.map +1 -1
- package/dist/components/ui/buttons/Button.mjs.map +1 -1
- package/dist/components/ui/buttons/CancelButton.mjs.map +1 -1
- package/dist/components/ui/buttons/CopyButton.mjs.map +1 -1
- package/dist/components/ui/data-display/Accordion.mjs.map +1 -1
- package/dist/components/ui/data-display/Badge.mjs.map +1 -1
- package/dist/components/ui/data-display/Card.mjs.map +1 -1
- package/dist/components/ui/data-display/CardBrandIcons.mjs.map +1 -1
- package/dist/components/ui/data-display/CardItem.mjs.map +1 -1
- package/dist/components/ui/data-display/Pagination.mjs.map +1 -1
- package/dist/components/ui/data-display/PaymentInfoCard.mjs.map +1 -1
- package/dist/components/ui/data-display/ScrollArea.mjs.map +1 -1
- package/dist/components/ui/data-display/Separator.mjs.map +1 -1
- package/dist/components/ui/data-display/Table.mjs.map +1 -1
- package/dist/components/ui/data-display/Tabs.mjs.map +1 -1
- package/dist/components/ui/feedback/CircularProgress.mjs.map +1 -1
- package/dist/components/ui/feedback/DefaultCircularProgress.mjs.map +1 -1
- package/dist/components/ui/feedback/LoadingOverlay.mjs.map +1 -1
- package/dist/components/ui/feedback/Progress.mjs.map +1 -1
- package/dist/components/ui/feedback/Skeleton.mjs.map +1 -1
- package/dist/components/ui/feedback/Toast.mjs.map +1 -1
- package/dist/components/ui/form/Calendar.mjs.map +1 -1
- package/dist/components/ui/form/Checkbox.mjs.map +1 -1
- package/dist/components/ui/form/ComboboxField.mjs.map +1 -1
- package/dist/components/ui/form/DatePicker.mjs.map +1 -1
- package/dist/components/ui/form/DateRangePicker.mjs.map +1 -1
- package/dist/components/ui/form/FormField.mjs.map +1 -1
- package/dist/components/ui/form/Input.mjs.map +1 -1
- package/dist/components/ui/form/InputOtp.mjs.map +1 -1
- package/dist/components/ui/form/PhoneInput.mjs.map +1 -1
- package/dist/components/ui/form/RadioGroup.mjs.map +1 -1
- package/dist/components/ui/form/Select.mjs +1 -1
- package/dist/components/ui/form/Select.mjs.map +1 -1
- package/dist/components/ui/form/Switch.mjs.map +1 -1
- package/dist/components/ui/form/Textarea.mjs.map +1 -1
- package/dist/components/ui/overlay/Command.mjs.map +1 -1
- package/dist/components/ui/overlay/Dialog.mjs.map +1 -1
- package/dist/components/ui/overlay/Popover.mjs.map +1 -1
- package/dist/components/ui/overlay/Sheet.mjs.map +1 -1
- package/dist/components/ui/overlay/Tooltip.mjs.map +1 -1
- package/dist/hooks/copy-to-clipboard.hook.mjs.map +1 -1
- package/dist/index.mjs +28 -26
- package/dist/index.mjs.map +1 -1
- package/dist/infra/api/client.mjs +2 -2
- package/dist/infra/api/client.mjs.map +1 -1
- package/dist/middleware.mjs.map +1 -1
- package/dist/modules/accounts/actions/account-management.action.mjs.map +1 -1
- package/dist/modules/accounts/actions/find-current-account.action.mjs.map +1 -1
- package/dist/modules/accounts/actions/list-currencies.action.mjs.map +1 -1
- package/dist/modules/accounts/actions/list-timezones.action.mjs.map +1 -1
- package/dist/modules/accounts/hooks/current-account.hook.mjs.map +1 -1
- package/dist/modules/accounts/hooks/useAccountManagement.mjs.map +1 -1
- package/dist/modules/accounts/hooks/useCurrencies.mjs.map +1 -1
- package/dist/modules/accounts/hooks/useTimezones.mjs.map +1 -1
- package/dist/modules/accounts/services/account.service.mjs.map +1 -1
- package/dist/modules/auth/actions/validate-session.action.mjs.map +1 -1
- package/dist/modules/auth/hooks/login.hook.mjs.map +1 -1
- package/dist/modules/auth/hooks/logout.hook.mjs.map +1 -1
- package/dist/modules/auth/hooks/register.hook.mjs.map +1 -1
- package/dist/modules/auth/services/auth.service.mjs +1 -1
- package/dist/modules/auth/services/auth.service.mjs.map +1 -1
- package/dist/modules/cards/actions/list-cards.action.mjs.map +1 -1
- package/dist/modules/cards/hooks/cards.hook.mjs.map +1 -1
- package/dist/modules/cards/services/cards.service.mjs.map +1 -1
- package/dist/modules/cards/types.mjs.map +1 -1
- package/dist/modules/ia-credits/actions/list-ia-credits.action.mjs.map +1 -1
- package/dist/modules/plans/actions/find-plan-by-id.action.mjs.map +1 -1
- package/dist/modules/plans/hooks/use-has-plan-addon.hook.mjs.map +1 -1
- package/dist/modules/plans/hooks/use-plan-by-id.hook.mjs.map +1 -1
- package/dist/modules/plans/services/plans.service.mjs.map +1 -1
- package/dist/modules/plans/types/plan.type.mjs.map +1 -1
- package/dist/modules/projects/actions/add-project-user.action.mjs.map +1 -1
- package/dist/modules/projects/actions/list-all-account-users.action.mjs.map +1 -1
- package/dist/modules/projects/actions/list-available-users.action.mjs.map +1 -1
- package/dist/modules/projects/actions/list-project-users.action.mjs.map +1 -1
- package/dist/modules/projects/actions/remove-project-user.action.mjs.map +1 -1
- package/dist/modules/projects/hooks/add-project-user.hook.mjs.map +1 -1
- package/dist/modules/projects/hooks/list-all-account-users.hook.mjs.map +1 -1
- package/dist/modules/projects/hooks/list-available-users.hook.mjs.map +1 -1
- package/dist/modules/projects/hooks/list-project-users.hook.mjs.map +1 -1
- package/dist/modules/projects/hooks/remove-project-user.hook.mjs.map +1 -1
- package/dist/modules/subscriptions/actions/calculate-subscription.action.mjs.map +1 -1
- package/dist/modules/subscriptions/actions/list-subscriptions.action.mjs.map +1 -1
- package/dist/modules/subscriptions/actions/update-subscription-plan.action.mjs.map +1 -1
- package/dist/modules/subscriptions/constants/query-keys.constants.mjs.map +1 -1
- package/dist/modules/subscriptions/hooks/calculate-subscription.hook.mjs.map +1 -1
- package/dist/modules/subscriptions/hooks/find-active-subscription.hook.mjs.map +1 -1
- package/dist/modules/subscriptions/hooks/list-subscriptions.hook.mjs.map +1 -1
- package/dist/modules/subscriptions/hooks/update-subscription-plan.hook.mjs.map +1 -1
- package/dist/modules/subscriptions/types/calculate-subscription.type.mjs.map +1 -1
- package/dist/modules/subscriptions/utils/build-plan-extras.mjs.map +1 -1
- package/dist/modules/subscriptions/utils/periodicity.mjs.map +1 -1
- package/dist/modules/subscriptions/utils/resolve-plan-extras-prices.mjs.map +1 -1
- package/dist/modules/users/action/find-user-by-id.action.mjs.map +1 -1
- package/dist/modules/users/action/list-messages.action.mjs.map +1 -1
- package/dist/modules/users/action/mark-all-messages-as-read.action.mjs.map +1 -1
- package/dist/modules/users/action/mark-message-as-read.action.mjs.map +1 -1
- package/dist/modules/users/hooks/messages.hook.mjs.map +1 -1
- package/dist/modules/whitelabel/actions/find-whitelabel.action.mjs.map +1 -1
- package/dist/modules/whitelabel/actions/revalidate-whitelabel.action.mjs.map +1 -1
- package/dist/providers/whitelabel.provider.mjs.map +1 -1
- package/dist/store/useBuyCreditsModal.mjs.map +1 -1
- package/dist/utils/countries.mjs.map +1 -1
- package/dist/utils/safeServerAction.mjs.map +1 -1
- package/dist/utils/withAction.mjs.map +1 -1
- package/package.json +89 -89
- package/src/components/account/ConfigurationsMyAccountModal.tsx +150 -150
- package/src/components/account/ConfirmDeleteAccountModal.tsx +55 -55
- package/src/components/account/ConfirmGlobalPreferencesModal.tsx +66 -66
- package/src/components/account/DeleteAccountModal.tsx +130 -130
- package/src/components/account/DisableTwoFactorAuthModal.tsx +86 -86
- package/src/components/account/IsntPossibleDeleteAccountModal.tsx +49 -49
- package/src/components/account/TwoFactorAuthModal.tsx +223 -223
- package/src/components/account/hooks/useChangePhoneForm.tsx +81 -81
- package/src/components/account/hooks/useTwoFactorAuthForm.tsx +101 -101
- package/src/components/account/sections/ChangeEmailModal.tsx +225 -225
- package/src/components/account/sections/ChangePasswordSection.tsx +64 -64
- package/src/components/account/sections/ChangePhoneModal.tsx +231 -231
- package/src/components/account/sections/MyProfileSection.tsx +327 -327
- package/src/components/account/sections/PreferencesSection.tsx +273 -273
- package/src/components/account/sections/SecuritySection.tsx +160 -160
- package/src/components/embeds/CrispEmbed.tsx +101 -101
- package/src/components/embeds/FrillEmbed.tsx +119 -119
- package/src/components/layouts/AppMobileNavBar.tsx +118 -118
- package/src/components/layouts/AppNavBar.tsx +51 -51
- package/src/components/layouts/MdSideBarNavigation.tsx +56 -56
- package/src/components/layouts/NavBar.tsx +120 -120
- package/src/components/layouts/NotificationsPopover.tsx +115 -115
- package/src/components/layouts/ProfilePopover.tsx +164 -164
- package/src/components/layouts/UsersSelectorPopover.tsx +238 -238
- package/src/components/layouts/WhitelabelCodes.tsx +59 -0
- package/src/components/modals/BuyCreditsModal.tsx +301 -301
- package/src/components/navigation/CancelledSubscriptionBanner.tsx +69 -69
- package/src/components/navigation/NavItemsContext.ts +20 -20
- package/src/components/navigation/ProjectSelectorPopover.tsx +157 -157
- package/src/components/navigation/shells/TabsMobileShell.tsx +72 -72
- package/src/components/navigation/subcomponents/ProjectSelector.tsx +156 -156
- package/src/components/pages/notifications/Notifications.tsx +160 -160
- package/src/components/ui/buttons/Button.tsx +57 -57
- package/src/components/ui/buttons/CancelButton.tsx +14 -14
- package/src/components/ui/buttons/CopyButton.tsx +54 -54
- package/src/components/ui/data-display/Accordion.tsx +81 -81
- package/src/components/ui/data-display/Badge.tsx +47 -47
- package/src/components/ui/data-display/Card.tsx +93 -93
- package/src/components/ui/data-display/CardBrandIcons.tsx +336 -336
- package/src/components/ui/data-display/CardItem.tsx +75 -75
- package/src/components/ui/data-display/Pagination.tsx +126 -126
- package/src/components/ui/data-display/PaymentInfoCard.tsx +186 -186
- package/src/components/ui/data-display/ScrollArea.tsx +59 -59
- package/src/components/ui/data-display/Separator.tsx +29 -29
- package/src/components/ui/data-display/Table.tsx +117 -117
- package/src/components/ui/data-display/Tabs.tsx +67 -67
- package/src/components/ui/feedback/CircularProgress.tsx +75 -75
- package/src/components/ui/feedback/DefaultCircularProgress.tsx +61 -61
- package/src/components/ui/feedback/LoadingOverlay.tsx +31 -31
- package/src/components/ui/feedback/Progress.tsx +40 -40
- package/src/components/ui/feedback/Skeleton.tsx +5 -5
- package/src/components/ui/feedback/Toast.tsx +101 -101
- package/src/components/ui/form/Calendar.tsx +228 -228
- package/src/components/ui/form/Checkbox.tsx +31 -31
- package/src/components/ui/form/ComboboxField.tsx +154 -154
- package/src/components/ui/form/DatePicker.tsx +97 -97
- package/src/components/ui/form/DateRangePicker.tsx +108 -108
- package/src/components/ui/form/FormField.tsx +131 -131
- package/src/components/ui/form/Input.tsx +20 -20
- package/src/components/ui/form/InputOtp.tsx +80 -80
- package/src/components/ui/form/PhoneInput.tsx +205 -205
- package/src/components/ui/form/RadioGroup.tsx +45 -45
- package/src/components/ui/form/Select.tsx +200 -200
- package/src/components/ui/form/Switch.tsx +32 -32
- package/src/components/ui/form/Textarea.tsx +19 -19
- package/src/components/ui/overlay/Command.tsx +185 -185
- package/src/components/ui/overlay/Dialog.tsx +151 -151
- package/src/components/ui/overlay/Popover.tsx +49 -49
- package/src/components/ui/overlay/Sheet.tsx +166 -166
- package/src/components/ui/overlay/Tooltip.tsx +62 -62
- package/src/hooks/copy-to-clipboard.hook.tsx +67 -67
- package/src/index.ts +377 -376
- package/src/infra/api/client.ts +4 -2
- package/src/middleware.ts +4 -4
- package/src/modules/accounts/actions/account-management.action.ts +91 -91
- package/src/modules/accounts/actions/find-current-account.action.ts +9 -9
- package/src/modules/accounts/actions/list-currencies.action.ts +8 -8
- package/src/modules/accounts/actions/list-timezones.action.ts +8 -8
- package/src/modules/accounts/hooks/current-account.hook.tsx +22 -22
- package/src/modules/accounts/hooks/useAccountManagement.ts +85 -85
- package/src/modules/accounts/hooks/useCurrencies.ts +15 -15
- package/src/modules/accounts/hooks/useTimezones.ts +15 -15
- package/src/modules/accounts/services/account.service.ts +236 -236
- package/src/modules/accounts/types.ts +214 -214
- package/src/modules/auth/actions/validate-session.action.ts +56 -56
- package/src/modules/auth/hooks/login.hook.tsx +13 -13
- package/src/modules/auth/hooks/logout.hook.tsx +11 -11
- package/src/modules/auth/hooks/register.hook.tsx +11 -11
- package/src/modules/auth/schema.ts +1 -0
- package/src/modules/auth/services/auth.service.ts +1 -1
- package/src/modules/cards/actions/list-cards.action.ts +8 -8
- package/src/modules/cards/hooks/cards.hook.ts +14 -14
- package/src/modules/cards/services/cards.service.ts +32 -32
- package/src/modules/cards/types.ts +32 -32
- package/src/modules/ia-credits/actions/list-ia-credits.action.ts +8 -8
- package/src/modules/plans/actions/find-plan-by-id.action.ts +8 -8
- package/src/modules/plans/hooks/use-has-plan-addon.hook.ts +17 -17
- package/src/modules/plans/hooks/use-plan-by-id.hook.ts +13 -13
- package/src/modules/plans/services/plans.service.ts +36 -36
- package/src/modules/plans/types/plan.type.ts +21 -21
- package/src/modules/projects/actions/add-project-user.action.ts +9 -9
- package/src/modules/projects/actions/list-all-account-users.action.ts +9 -9
- package/src/modules/projects/actions/list-available-users.action.ts +9 -9
- package/src/modules/projects/actions/list-project-users.action.ts +9 -9
- package/src/modules/projects/actions/remove-project-user.action.ts +9 -9
- package/src/modules/projects/hooks/add-project-user.hook.ts +69 -69
- package/src/modules/projects/hooks/list-all-account-users.hook.ts +34 -34
- package/src/modules/projects/hooks/list-available-users.hook.ts +33 -33
- package/src/modules/projects/hooks/list-project-users.hook.ts +33 -33
- package/src/modules/projects/hooks/remove-project-user.hook.ts +69 -69
- package/src/modules/subscriptions/actions/calculate-subscription.action.ts +9 -9
- package/src/modules/subscriptions/actions/list-subscriptions.action.ts +9 -9
- package/src/modules/subscriptions/actions/update-subscription-plan.action.ts +26 -26
- package/src/modules/subscriptions/constants/query-keys.constants.ts +1 -1
- package/src/modules/subscriptions/hooks/calculate-subscription.hook.ts +13 -13
- package/src/modules/subscriptions/hooks/find-active-subscription.hook.ts +19 -19
- package/src/modules/subscriptions/hooks/list-subscriptions.hook.ts +16 -16
- package/src/modules/subscriptions/hooks/update-subscription-plan.hook.ts +25 -25
- package/src/modules/subscriptions/types/billing-period.type.ts +1 -1
- package/src/modules/subscriptions/types/calculate-subscription.type.ts +75 -75
- package/src/modules/subscriptions/utils/build-plan-extras.ts +56 -56
- package/src/modules/subscriptions/utils/periodicity.ts +52 -52
- package/src/modules/subscriptions/utils/resolve-plan-extras-prices.ts +23 -23
- package/src/modules/users/action/find-user-by-id.action.ts +8 -8
- package/src/modules/users/action/list-messages.action.ts +12 -12
- package/src/modules/users/action/mark-all-messages-as-read.action.ts +8 -8
- package/src/modules/users/action/mark-message-as-read.action.ts +8 -8
- package/src/modules/users/hooks/messages.hook.ts +60 -60
- package/src/modules/whitelabel/actions/find-whitelabel.action.ts +23 -23
- package/src/modules/whitelabel/actions/revalidate-whitelabel.action.ts +19 -19
- package/src/modules/whitelabel/schema.ts +83 -83
- package/src/modules/whitelabel/styles-schema.ts +37 -37
- package/src/providers/whitelabel.provider.tsx +54 -54
- package/src/store/useBuyCreditsModal.ts +25 -25
- package/src/utils/countries.ts +224 -224
- package/src/utils/safeServerAction.ts +21 -21
- package/src/utils/withAction.ts +13 -13
|
@@ -1,215 +1,215 @@
|
|
|
1
|
-
import { User, UserProfile } from "../users/schema";
|
|
2
|
-
|
|
3
|
-
export interface Account {
|
|
4
|
-
id: number;
|
|
5
|
-
id_wl: number;
|
|
6
|
-
id_affiliate: number;
|
|
7
|
-
id_api: number;
|
|
8
|
-
name: string;
|
|
9
|
-
language: string;
|
|
10
|
-
timezone: string;
|
|
11
|
-
currency: string;
|
|
12
|
-
verified: boolean;
|
|
13
|
-
bussiness_type: number;
|
|
14
|
-
gateway: string;
|
|
15
|
-
gateway_customer_id: string | null;
|
|
16
|
-
origin: string | null;
|
|
17
|
-
zipcode: string | null;
|
|
18
|
-
address: string | null;
|
|
19
|
-
address_number: string | null;
|
|
20
|
-
address_complement: string | null;
|
|
21
|
-
neighborhood: string | null;
|
|
22
|
-
city: string | null;
|
|
23
|
-
state: string | null;
|
|
24
|
-
country: string | null;
|
|
25
|
-
financial_document: string | null;
|
|
26
|
-
financial_name: string | null;
|
|
27
|
-
financial_email: string | null;
|
|
28
|
-
financial_document_type: number;
|
|
29
|
-
deleted: number;
|
|
30
|
-
datetime_add: string;
|
|
31
|
-
datetime_alt: string;
|
|
32
|
-
datetime_del: string | null;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
export interface ListAccountUsersResponse {
|
|
37
|
-
status: 0 | 1;
|
|
38
|
-
total: number;
|
|
39
|
-
data: User[];
|
|
40
|
-
message?: string;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
export interface AccountUsersPaginationParams {
|
|
44
|
-
page?: number;
|
|
45
|
-
limit?: number;
|
|
46
|
-
search?: string;
|
|
47
|
-
notInProject?: number;
|
|
48
|
-
profiles?: UserProfile[];
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
export interface GetAccountDataResponse {
|
|
52
|
-
status: 0 | 1;
|
|
53
|
-
message: string;
|
|
54
|
-
data: Account[];
|
|
55
|
-
total: number;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
// ============================================================================
|
|
59
|
-
// Account User Management
|
|
60
|
-
// ============================================================================
|
|
61
|
-
|
|
62
|
-
export interface AccountUsersActionResult {
|
|
63
|
-
success: boolean;
|
|
64
|
-
data?: User[];
|
|
65
|
-
total?: number;
|
|
66
|
-
error?: string;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
export interface CreateAccountUserRequest {
|
|
70
|
-
name: string;
|
|
71
|
-
email: string;
|
|
72
|
-
password?: string;
|
|
73
|
-
profile: UserProfile;
|
|
74
|
-
language: string;
|
|
75
|
-
id_api?: number;
|
|
76
|
-
last_name: string;
|
|
77
|
-
ddi: string;
|
|
78
|
-
phone: string;
|
|
79
|
-
rg?: string;
|
|
80
|
-
cpf?: string;
|
|
81
|
-
gender: number;
|
|
82
|
-
receive_sms?: boolean;
|
|
83
|
-
receive_email?: boolean;
|
|
84
|
-
photo?: File | null;
|
|
85
|
-
projects?: number[];
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
export interface CreateAccountUserResponse {
|
|
89
|
-
status: 0 | 1;
|
|
90
|
-
message: string;
|
|
91
|
-
data: User[];
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
export interface UpdateAccountUserRequest {
|
|
95
|
-
name?: string;
|
|
96
|
-
email?: string;
|
|
97
|
-
password?: string;
|
|
98
|
-
profile?: UserProfile;
|
|
99
|
-
language?: string;
|
|
100
|
-
id_api?: number;
|
|
101
|
-
last_name?: string;
|
|
102
|
-
ddi?: string;
|
|
103
|
-
phone?: string;
|
|
104
|
-
rg?: string;
|
|
105
|
-
cpf?: string;
|
|
106
|
-
gender?: number;
|
|
107
|
-
receive_sms?: boolean;
|
|
108
|
-
receive_email?: boolean;
|
|
109
|
-
photo?: File | string | null;
|
|
110
|
-
projects?: number[];
|
|
111
|
-
two_factor_authentication?: boolean;
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
export interface UpdateAccountUserResponse {
|
|
115
|
-
status: 0 | 1;
|
|
116
|
-
message: string;
|
|
117
|
-
data: User[];
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
export interface ChangeUserPhotoResponse {
|
|
121
|
-
status: 0 | 1;
|
|
122
|
-
message?: string;
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
export interface DeleteAccountUserResponse {
|
|
126
|
-
status: 0 | 1;
|
|
127
|
-
message?: string;
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
export interface DeleteAccountResponse {
|
|
131
|
-
status: 0 | 1;
|
|
132
|
-
message?: string;
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
export interface DeleteAccountActionResult {
|
|
136
|
-
success: boolean;
|
|
137
|
-
error?: string;
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
export interface DeleteUserActionResult {
|
|
141
|
-
success: boolean;
|
|
142
|
-
error?: string;
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
export interface UpdateAccountRequest {
|
|
146
|
-
currency?: string;
|
|
147
|
-
timezone?: string;
|
|
148
|
-
bussiness_type?: number;
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
export interface UpdateAccountResponse {
|
|
152
|
-
status: 0 | 1;
|
|
153
|
-
message: string;
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
export interface UpdateAccountActionResult {
|
|
157
|
-
success: boolean;
|
|
158
|
-
error?: string;
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
export interface UpdateUserActionResult {
|
|
162
|
-
success: boolean;
|
|
163
|
-
data?: UpdateAccountUserResponse;
|
|
164
|
-
error?: string;
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
export interface ChangePasswordRequest {
|
|
168
|
-
currentPassword: string;
|
|
169
|
-
newPassword: string;
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
export interface ChangePasswordResponse {
|
|
173
|
-
status: 0 | 1;
|
|
174
|
-
message: string;
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
export interface ChangePasswordActionResult {
|
|
178
|
-
success: boolean;
|
|
179
|
-
error?: string;
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
export interface ContactResetResult {
|
|
183
|
-
success: boolean;
|
|
184
|
-
error?: string;
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
// ============================================================================
|
|
188
|
-
// Two-Factor Authentication
|
|
189
|
-
// ============================================================================
|
|
190
|
-
|
|
191
|
-
export interface TwoFactorGenerateResponse {
|
|
192
|
-
status: 0 | 1;
|
|
193
|
-
message: string;
|
|
194
|
-
data: {
|
|
195
|
-
qrcode: string;
|
|
196
|
-
backup_codes: string[];
|
|
197
|
-
};
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
export interface TwoFactorActionResponse {
|
|
201
|
-
status: 0 | 1;
|
|
202
|
-
message: string;
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
export interface TwoFactorGenerateResult {
|
|
206
|
-
success: boolean;
|
|
207
|
-
qrcode?: string;
|
|
208
|
-
backupCodes?: string[];
|
|
209
|
-
error?: string;
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
export interface TwoFactorActionResult {
|
|
213
|
-
success: boolean;
|
|
214
|
-
error?: string;
|
|
1
|
+
import { User, UserProfile } from "../users/schema";
|
|
2
|
+
|
|
3
|
+
export interface Account {
|
|
4
|
+
id: number;
|
|
5
|
+
id_wl: number;
|
|
6
|
+
id_affiliate: number;
|
|
7
|
+
id_api: number;
|
|
8
|
+
name: string;
|
|
9
|
+
language: string;
|
|
10
|
+
timezone: string;
|
|
11
|
+
currency: string;
|
|
12
|
+
verified: boolean;
|
|
13
|
+
bussiness_type: number;
|
|
14
|
+
gateway: string;
|
|
15
|
+
gateway_customer_id: string | null;
|
|
16
|
+
origin: string | null;
|
|
17
|
+
zipcode: string | null;
|
|
18
|
+
address: string | null;
|
|
19
|
+
address_number: string | null;
|
|
20
|
+
address_complement: string | null;
|
|
21
|
+
neighborhood: string | null;
|
|
22
|
+
city: string | null;
|
|
23
|
+
state: string | null;
|
|
24
|
+
country: string | null;
|
|
25
|
+
financial_document: string | null;
|
|
26
|
+
financial_name: string | null;
|
|
27
|
+
financial_email: string | null;
|
|
28
|
+
financial_document_type: number;
|
|
29
|
+
deleted: number;
|
|
30
|
+
datetime_add: string;
|
|
31
|
+
datetime_alt: string;
|
|
32
|
+
datetime_del: string | null;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
export interface ListAccountUsersResponse {
|
|
37
|
+
status: 0 | 1;
|
|
38
|
+
total: number;
|
|
39
|
+
data: User[];
|
|
40
|
+
message?: string;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export interface AccountUsersPaginationParams {
|
|
44
|
+
page?: number;
|
|
45
|
+
limit?: number;
|
|
46
|
+
search?: string;
|
|
47
|
+
notInProject?: number;
|
|
48
|
+
profiles?: UserProfile[];
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export interface GetAccountDataResponse {
|
|
52
|
+
status: 0 | 1;
|
|
53
|
+
message: string;
|
|
54
|
+
data: Account[];
|
|
55
|
+
total: number;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
// ============================================================================
|
|
59
|
+
// Account User Management
|
|
60
|
+
// ============================================================================
|
|
61
|
+
|
|
62
|
+
export interface AccountUsersActionResult {
|
|
63
|
+
success: boolean;
|
|
64
|
+
data?: User[];
|
|
65
|
+
total?: number;
|
|
66
|
+
error?: string;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
export interface CreateAccountUserRequest {
|
|
70
|
+
name: string;
|
|
71
|
+
email: string;
|
|
72
|
+
password?: string;
|
|
73
|
+
profile: UserProfile;
|
|
74
|
+
language: string;
|
|
75
|
+
id_api?: number;
|
|
76
|
+
last_name: string;
|
|
77
|
+
ddi: string;
|
|
78
|
+
phone: string;
|
|
79
|
+
rg?: string;
|
|
80
|
+
cpf?: string;
|
|
81
|
+
gender: number;
|
|
82
|
+
receive_sms?: boolean;
|
|
83
|
+
receive_email?: boolean;
|
|
84
|
+
photo?: File | null;
|
|
85
|
+
projects?: number[];
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
export interface CreateAccountUserResponse {
|
|
89
|
+
status: 0 | 1;
|
|
90
|
+
message: string;
|
|
91
|
+
data: User[];
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
export interface UpdateAccountUserRequest {
|
|
95
|
+
name?: string;
|
|
96
|
+
email?: string;
|
|
97
|
+
password?: string;
|
|
98
|
+
profile?: UserProfile;
|
|
99
|
+
language?: string;
|
|
100
|
+
id_api?: number;
|
|
101
|
+
last_name?: string;
|
|
102
|
+
ddi?: string;
|
|
103
|
+
phone?: string;
|
|
104
|
+
rg?: string;
|
|
105
|
+
cpf?: string;
|
|
106
|
+
gender?: number;
|
|
107
|
+
receive_sms?: boolean;
|
|
108
|
+
receive_email?: boolean;
|
|
109
|
+
photo?: File | string | null;
|
|
110
|
+
projects?: number[];
|
|
111
|
+
two_factor_authentication?: boolean;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
export interface UpdateAccountUserResponse {
|
|
115
|
+
status: 0 | 1;
|
|
116
|
+
message: string;
|
|
117
|
+
data: User[];
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
export interface ChangeUserPhotoResponse {
|
|
121
|
+
status: 0 | 1;
|
|
122
|
+
message?: string;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
export interface DeleteAccountUserResponse {
|
|
126
|
+
status: 0 | 1;
|
|
127
|
+
message?: string;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
export interface DeleteAccountResponse {
|
|
131
|
+
status: 0 | 1;
|
|
132
|
+
message?: string;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
export interface DeleteAccountActionResult {
|
|
136
|
+
success: boolean;
|
|
137
|
+
error?: string;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
export interface DeleteUserActionResult {
|
|
141
|
+
success: boolean;
|
|
142
|
+
error?: string;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
export interface UpdateAccountRequest {
|
|
146
|
+
currency?: string;
|
|
147
|
+
timezone?: string;
|
|
148
|
+
bussiness_type?: number;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
export interface UpdateAccountResponse {
|
|
152
|
+
status: 0 | 1;
|
|
153
|
+
message: string;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
export interface UpdateAccountActionResult {
|
|
157
|
+
success: boolean;
|
|
158
|
+
error?: string;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
export interface UpdateUserActionResult {
|
|
162
|
+
success: boolean;
|
|
163
|
+
data?: UpdateAccountUserResponse;
|
|
164
|
+
error?: string;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
export interface ChangePasswordRequest {
|
|
168
|
+
currentPassword: string;
|
|
169
|
+
newPassword: string;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
export interface ChangePasswordResponse {
|
|
173
|
+
status: 0 | 1;
|
|
174
|
+
message: string;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
export interface ChangePasswordActionResult {
|
|
178
|
+
success: boolean;
|
|
179
|
+
error?: string;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
export interface ContactResetResult {
|
|
183
|
+
success: boolean;
|
|
184
|
+
error?: string;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
// ============================================================================
|
|
188
|
+
// Two-Factor Authentication
|
|
189
|
+
// ============================================================================
|
|
190
|
+
|
|
191
|
+
export interface TwoFactorGenerateResponse {
|
|
192
|
+
status: 0 | 1;
|
|
193
|
+
message: string;
|
|
194
|
+
data: {
|
|
195
|
+
qrcode: string;
|
|
196
|
+
backup_codes: string[];
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
export interface TwoFactorActionResponse {
|
|
201
|
+
status: 0 | 1;
|
|
202
|
+
message: string;
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
export interface TwoFactorGenerateResult {
|
|
206
|
+
success: boolean;
|
|
207
|
+
qrcode?: string;
|
|
208
|
+
backupCodes?: string[];
|
|
209
|
+
error?: string;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
export interface TwoFactorActionResult {
|
|
213
|
+
success: boolean;
|
|
214
|
+
error?: string;
|
|
215
215
|
}
|
|
@@ -1,56 +1,56 @@
|
|
|
1
|
-
'use server';
|
|
2
|
-
|
|
3
|
-
import { redirect } from 'next/navigation';
|
|
4
|
-
import { cookies, headers } from 'next/headers';
|
|
5
|
-
import { authService } from '../services/auth.service';
|
|
6
|
-
import { getClientInfoFromRequest } from '../../../infra/utils/client-info';
|
|
7
|
-
|
|
8
|
-
async function redirectToLogin() {
|
|
9
|
-
const h = await headers();
|
|
10
|
-
const referer = h.get('referer');
|
|
11
|
-
|
|
12
|
-
if (!referer) {
|
|
13
|
-
redirect('/login');
|
|
14
|
-
return;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
const url = new URL(referer);
|
|
18
|
-
|
|
19
|
-
if (['/login', '/register', '/forgot-password'].includes(url.pathname)) {
|
|
20
|
-
return;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
const loginUrl = new URL('/login', url.origin);
|
|
24
|
-
loginUrl.searchParams.set('redirect', url.pathname + url.search);
|
|
25
|
-
redirect(loginUrl.toString());
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
export async function validateSessionAction(): Promise<boolean> {
|
|
29
|
-
if (process.env.DUMMY_AUTH_TOKEN) return true;
|
|
30
|
-
|
|
31
|
-
const cookieStore = await cookies();
|
|
32
|
-
const cookie = cookieStore.get('greatapps')?.value;
|
|
33
|
-
|
|
34
|
-
if (!cookie) {
|
|
35
|
-
await redirectToLogin();
|
|
36
|
-
return false;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
try {
|
|
40
|
-
const clientInfo = await getClientInfoFromRequest();
|
|
41
|
-
const isValid = await authService.validateSession(clientInfo);
|
|
42
|
-
|
|
43
|
-
if (!isValid) {
|
|
44
|
-
await authService.removeAuthCookie();
|
|
45
|
-
await redirectToLogin();
|
|
46
|
-
return false;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
return true;
|
|
50
|
-
} catch (error) {
|
|
51
|
-
console.error('[validateSessionAction] Error:', error);
|
|
52
|
-
await authService.removeAuthCookie();
|
|
53
|
-
await redirectToLogin();
|
|
54
|
-
return false;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
1
|
+
'use server';
|
|
2
|
+
|
|
3
|
+
import { redirect } from 'next/navigation';
|
|
4
|
+
import { cookies, headers } from 'next/headers';
|
|
5
|
+
import { authService } from '../services/auth.service';
|
|
6
|
+
import { getClientInfoFromRequest } from '../../../infra/utils/client-info';
|
|
7
|
+
|
|
8
|
+
async function redirectToLogin() {
|
|
9
|
+
const h = await headers();
|
|
10
|
+
const referer = h.get('referer');
|
|
11
|
+
|
|
12
|
+
if (!referer) {
|
|
13
|
+
redirect('/login');
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
const url = new URL(referer);
|
|
18
|
+
|
|
19
|
+
if (['/login', '/register', '/forgot-password'].includes(url.pathname)) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
const loginUrl = new URL('/login', url.origin);
|
|
24
|
+
loginUrl.searchParams.set('redirect', url.pathname + url.search);
|
|
25
|
+
redirect(loginUrl.toString());
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export async function validateSessionAction(): Promise<boolean> {
|
|
29
|
+
if (process.env.DUMMY_AUTH_TOKEN) return true;
|
|
30
|
+
|
|
31
|
+
const cookieStore = await cookies();
|
|
32
|
+
const cookie = cookieStore.get('greatapps')?.value;
|
|
33
|
+
|
|
34
|
+
if (!cookie) {
|
|
35
|
+
await redirectToLogin();
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
try {
|
|
40
|
+
const clientInfo = await getClientInfoFromRequest();
|
|
41
|
+
const isValid = await authService.validateSession(clientInfo);
|
|
42
|
+
|
|
43
|
+
if (!isValid) {
|
|
44
|
+
await authService.removeAuthCookie();
|
|
45
|
+
await redirectToLogin();
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
return true;
|
|
50
|
+
} catch (error) {
|
|
51
|
+
console.error('[validateSessionAction] Error:', error);
|
|
52
|
+
await authService.removeAuthCookie();
|
|
53
|
+
await redirectToLogin();
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
|
|
3
|
-
import { useMutation } from "@tanstack/react-query";
|
|
4
|
-
import { loginAction } from "../actions/login.action";
|
|
5
|
-
import { LoginRequest, LoginSuccessResponse } from "../schema";
|
|
6
|
-
import { withAction } from "../../../utils/withAction";
|
|
7
|
-
|
|
8
|
-
export function useLogin() {
|
|
9
|
-
return useMutation({
|
|
10
|
-
mutationFn: (credentials: LoginRequest) =>
|
|
11
|
-
withAction(loginAction)(credentials) as Promise<LoginSuccessResponse>,
|
|
12
|
-
});
|
|
13
|
-
}
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { useMutation } from "@tanstack/react-query";
|
|
4
|
+
import { loginAction } from "../actions/login.action";
|
|
5
|
+
import { LoginRequest, LoginSuccessResponse } from "../schema";
|
|
6
|
+
import { withAction } from "../../../utils/withAction";
|
|
7
|
+
|
|
8
|
+
export function useLogin() {
|
|
9
|
+
return useMutation({
|
|
10
|
+
mutationFn: (credentials: LoginRequest) =>
|
|
11
|
+
withAction(loginAction)(credentials) as Promise<LoginSuccessResponse>,
|
|
12
|
+
});
|
|
13
|
+
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
|
|
3
|
-
import { useMutation } from "@tanstack/react-query";
|
|
4
|
-
import { logoutAction } from "../actions/logout.action";
|
|
5
|
-
import { withAction } from "../../../utils/withAction";
|
|
6
|
-
|
|
7
|
-
export function useLogout() {
|
|
8
|
-
return useMutation({
|
|
9
|
-
mutationFn: withAction(logoutAction),
|
|
10
|
-
});
|
|
11
|
-
}
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { useMutation } from "@tanstack/react-query";
|
|
4
|
+
import { logoutAction } from "../actions/logout.action";
|
|
5
|
+
import { withAction } from "../../../utils/withAction";
|
|
6
|
+
|
|
7
|
+
export function useLogout() {
|
|
8
|
+
return useMutation({
|
|
9
|
+
mutationFn: withAction(logoutAction),
|
|
10
|
+
});
|
|
11
|
+
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
|
|
3
|
-
import { useMutation } from "@tanstack/react-query";
|
|
4
|
-
import { registerAction } from "../actions/register.action";
|
|
5
|
-
import { withAction } from "../../../utils/withAction";
|
|
6
|
-
|
|
7
|
-
export function useRegister() {
|
|
8
|
-
return useMutation({
|
|
9
|
-
mutationFn: withAction(registerAction),
|
|
10
|
-
});
|
|
11
|
-
}
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { useMutation } from "@tanstack/react-query";
|
|
4
|
+
import { registerAction } from "../actions/register.action";
|
|
5
|
+
import { withAction } from "../../../utils/withAction";
|
|
6
|
+
|
|
7
|
+
export function useRegister() {
|
|
8
|
+
return useMutation({
|
|
9
|
+
mutationFn: withAction(registerAction),
|
|
10
|
+
});
|
|
11
|
+
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
'use server';
|
|
2
|
-
|
|
3
|
-
import { safeServerAction } from '../../../utils/safeServerAction';
|
|
4
|
-
import { cardsService } from '../services/cards.service';
|
|
5
|
-
|
|
6
|
-
export async function listCardsAction() {
|
|
7
|
-
return safeServerAction(() => cardsService.listCards());
|
|
8
|
-
}
|
|
1
|
+
'use server';
|
|
2
|
+
|
|
3
|
+
import { safeServerAction } from '../../../utils/safeServerAction';
|
|
4
|
+
import { cardsService } from '../services/cards.service';
|
|
5
|
+
|
|
6
|
+
export async function listCardsAction() {
|
|
7
|
+
return safeServerAction(() => cardsService.listCards());
|
|
8
|
+
}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import { useQuery } from '@tanstack/react-query';
|
|
4
|
-
import { withAction } from '../../../utils/withAction';
|
|
5
|
-
import { listCardsAction } from '../actions/list-cards.action';
|
|
6
|
-
|
|
7
|
-
export const CARDS_QUERY_KEY = ['cards'];
|
|
8
|
-
|
|
9
|
-
export function useCards() {
|
|
10
|
-
return useQuery({
|
|
11
|
-
queryKey: CARDS_QUERY_KEY,
|
|
12
|
-
queryFn: withAction(listCardsAction),
|
|
13
|
-
});
|
|
14
|
-
}
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { useQuery } from '@tanstack/react-query';
|
|
4
|
+
import { withAction } from '../../../utils/withAction';
|
|
5
|
+
import { listCardsAction } from '../actions/list-cards.action';
|
|
6
|
+
|
|
7
|
+
export const CARDS_QUERY_KEY = ['cards'];
|
|
8
|
+
|
|
9
|
+
export function useCards() {
|
|
10
|
+
return useQuery({
|
|
11
|
+
queryKey: CARDS_QUERY_KEY,
|
|
12
|
+
queryFn: withAction(listCardsAction),
|
|
13
|
+
});
|
|
14
|
+
}
|