@greatapps/common 1.1.68 → 1.1.70

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. package/dist/modules/auth/actions/verify-two-factor.action.mjs +12 -6
  2. package/dist/modules/auth/actions/verify-two-factor.action.mjs.map +1 -1
  3. package/dist/modules/auth/hooks/useUserQuery.mjs.map +1 -1
  4. package/dist/modules/auth/services/auth.service.mjs +1 -1
  5. package/dist/modules/auth/services/auth.service.mjs.map +1 -1
  6. package/package.json +1 -1
  7. package/src/modules/auth/actions/verify-two-factor.action.ts +24 -11
  8. package/src/modules/auth/hooks/useUserQuery.ts +1 -1
  9. package/src/modules/auth/schema.ts +2 -2
  10. package/src/modules/auth/services/auth.service.ts +2 -2
  11. package/dist/components/account/AccountModals.mjs +0 -18
  12. package/dist/components/account/AccountModals.mjs.map +0 -1
  13. package/dist/components/account/ConfigurationsMyAccountModal.mjs +0 -132
  14. package/dist/components/account/ConfigurationsMyAccountModal.mjs.map +0 -1
  15. package/dist/components/account/ConfirmDeleteAccountModal.mjs +0 -45
  16. package/dist/components/account/ConfirmDeleteAccountModal.mjs.map +0 -1
  17. package/dist/components/account/ConfirmGlobalPreferencesModal.mjs +0 -45
  18. package/dist/components/account/ConfirmGlobalPreferencesModal.mjs.map +0 -1
  19. package/dist/components/account/DeleteAccountModal.mjs +0 -123
  20. package/dist/components/account/DeleteAccountModal.mjs.map +0 -1
  21. package/dist/components/account/DisableTwoFactorAuthModal.mjs +0 -67
  22. package/dist/components/account/DisableTwoFactorAuthModal.mjs.map +0 -1
  23. package/dist/components/account/IsntPossibleDeleteAccountModal.mjs +0 -42
  24. package/dist/components/account/IsntPossibleDeleteAccountModal.mjs.map +0 -1
  25. package/dist/components/account/TwoFactorAuthModal.mjs +0 -190
  26. package/dist/components/account/TwoFactorAuthModal.mjs.map +0 -1
  27. package/dist/components/account/constants.mjs +0 -29
  28. package/dist/components/account/constants.mjs.map +0 -1
  29. package/dist/components/handlers/SearchParamsHandler.mjs +0 -24
  30. package/dist/components/handlers/SearchParamsHandler.mjs.map +0 -1
  31. package/dist/components/layouts/AppMobileNavBar.mjs +0 -53
  32. package/dist/components/layouts/AppMobileNavBar.mjs.map +0 -1
  33. package/dist/components/layouts/AppNavBar.mjs +0 -75
  34. package/dist/components/layouts/AppNavBar.mjs.map +0 -1
  35. package/dist/components/layouts/MainLayout.mjs +0 -60
  36. package/dist/components/layouts/MainLayout.mjs.map +0 -1
  37. package/dist/components/layouts/MdSideBarNavigation.mjs +0 -39
  38. package/dist/components/layouts/MdSideBarNavigation.mjs.map +0 -1
  39. package/dist/components/layouts/NavBar.mjs +0 -64
  40. package/dist/components/layouts/NavBar.mjs.map +0 -1
  41. package/dist/components/layouts/NavBarItem.mjs +0 -23
  42. package/dist/components/layouts/NavBarItem.mjs.map +0 -1
  43. package/dist/components/layouts/NotificationItem.mjs +0 -14
  44. package/dist/components/layouts/NotificationItem.mjs.map +0 -1
  45. package/dist/components/layouts/NotificationsPopover.mjs +0 -86
  46. package/dist/components/layouts/NotificationsPopover.mjs.map +0 -1
  47. package/dist/components/layouts/ProfilePopover.mjs +0 -150
  48. package/dist/components/layouts/ProfilePopover.mjs.map +0 -1
  49. package/dist/components/layouts/SideBarNavigation.mjs +0 -22
  50. package/dist/components/layouts/SideBarNavigation.mjs.map +0 -1
  51. package/dist/components/layouts/UsersSelectorPopover.mjs +0 -236
  52. package/dist/components/layouts/UsersSelectorPopover.mjs.map +0 -1
  53. package/dist/components/modals/ModalManager.mjs +0 -19
  54. package/dist/components/modals/ModalManager.mjs.map +0 -1
  55. package/dist/components/modals/Modals.mjs +0 -20
  56. package/dist/components/modals/Modals.mjs.map +0 -1
  57. package/dist/enums/AccountSectionType.mjs +0 -11
  58. package/dist/enums/AccountSectionType.mjs.map +0 -1
  59. package/dist/hooks/copy-to-clipboard.hook.mjs +0 -39
  60. package/dist/hooks/copy-to-clipboard.hook.mjs.map +0 -1
  61. package/dist/hooks/useCountdownTimer.mjs +0 -29
  62. package/dist/hooks/useCountdownTimer.mjs.map +0 -1
  63. package/dist/hooks/useIsMobile.mjs +0 -18
  64. package/dist/hooks/useIsMobile.mjs.map +0 -1
  65. package/dist/hooks/usePasswordVisibility.mjs +0 -13
  66. package/dist/hooks/usePasswordVisibility.mjs.map +0 -1
  67. package/dist/index.mjs +0 -304
  68. package/dist/index.mjs.map +0 -1
  69. package/dist/infra/api/client.mjs +0 -122
  70. package/dist/infra/api/client.mjs.map +0 -1
  71. package/dist/infra/api/types.mjs +0 -31
  72. package/dist/infra/api/types.mjs.map +0 -1
  73. package/dist/infra/utils/client-info.mjs +0 -27
  74. package/dist/infra/utils/client-info.mjs.map +0 -1
  75. package/dist/infra/utils/clsx.mjs +0 -9
  76. package/dist/infra/utils/clsx.mjs.map +0 -1
  77. package/dist/infra/utils/params.mjs +0 -21
  78. package/dist/infra/utils/params.mjs.map +0 -1
  79. package/dist/infra/utils/parser.mjs +0 -24
  80. package/dist/infra/utils/parser.mjs.map +0 -1
  81. package/dist/infra/utils/percentage.mjs +0 -20
  82. package/dist/infra/utils/percentage.mjs.map +0 -1
  83. package/dist/middlewares/chain.mjs +0 -37
  84. package/dist/middlewares/chain.mjs.map +0 -1
  85. package/dist/middlewares/create-auth-middleware.mjs +0 -28
  86. package/dist/middlewares/create-auth-middleware.mjs.map +0 -1
  87. package/dist/middlewares/types.mjs +0 -11
  88. package/dist/middlewares/types.mjs.map +0 -1
  89. package/dist/modules/accounts/types.mjs +0 -1
  90. package/dist/modules/accounts/types.mjs.map +0 -1
  91. package/dist/modules/auth/schema.mjs +0 -1
  92. package/dist/modules/auth/schema.mjs.map +0 -1
  93. package/dist/modules/ia-credits/types.mjs +0 -25
  94. package/dist/modules/ia-credits/types.mjs.map +0 -1
  95. package/dist/modules/projects/types.mjs +0 -22
  96. package/dist/modules/projects/types.mjs.map +0 -1
  97. package/dist/modules/subscriptions/types.mjs +0 -57
  98. package/dist/modules/subscriptions/types.mjs.map +0 -1
  99. package/dist/modules/users/schema.mjs +0 -11
  100. package/dist/modules/users/schema.mjs.map +0 -1
  101. package/dist/modules/whitelabel/schema.mjs +0 -1
  102. package/dist/modules/whitelabel/schema.mjs.map +0 -1
  103. package/dist/providers/auth.provider.mjs +0 -100
  104. package/dist/providers/auth.provider.mjs.map +0 -1
  105. package/dist/providers/query.provider.mjs +0 -41
  106. package/dist/providers/query.provider.mjs.map +0 -1
  107. package/dist/providers/whitelabel.provider.mjs +0 -34
  108. package/dist/providers/whitelabel.provider.mjs.map +0 -1
  109. package/dist/server.mjs +0 -74
  110. package/dist/server.mjs.map +0 -1
  111. package/dist/store/useAccountModals.mjs +0 -18
  112. package/dist/store/useAccountModals.mjs.map +0 -1
  113. package/dist/store/useMdSidebarStore.mjs +0 -11
  114. package/dist/store/useMdSidebarStore.mjs.map +0 -1
  115. package/dist/store/useModalManager.mjs +0 -75
  116. package/dist/store/useModalManager.mjs.map +0 -1
  117. package/dist/utils/browser/clipboard.mjs +0 -36
  118. package/dist/utils/browser/clipboard.mjs.map +0 -1
  119. package/dist/utils/file/index.mjs +0 -9
  120. package/dist/utils/file/index.mjs.map +0 -1
  121. package/dist/utils/format/masks.mjs +0 -56
  122. package/dist/utils/format/masks.mjs.map +0 -1
  123. package/dist/utils/intl/locales.mjs +0 -12
  124. package/dist/utils/intl/locales.mjs.map +0 -1
  125. package/dist/utils/validators/account.mjs +0 -26
  126. package/dist/utils/validators/account.mjs.map +0 -1
  127. package/dist/utils/validators/common.mjs +0 -47
  128. package/dist/utils/validators/common.mjs.map +0 -1
package/dist/index.mjs DELETED
@@ -1,304 +0,0 @@
1
- export * from "./modules/auth/schema";
2
- export * from "./modules/users/schema";
3
- export * from "./modules/whitelabel/schema";
4
- export * from "./infra/api/types";
5
- export * from "./providers/query.provider";
6
- export * from "./providers/auth.provider";
7
- export * from "./providers/whitelabel.provider";
8
- import { useListProjectUsers, LIST_PROJECT_USERS_QUERY_KEY, LIST_PROJECT_USERS_BASE_KEY } from "./modules/projects/hooks/list-project-users.hook";
9
- import { useListAvailableUsers, LIST_AVAILABLE_USERS_QUERY_KEY, LIST_AVAILABLE_USERS_BASE_KEY } from "./modules/projects/hooks/list-available-users.hook";
10
- import { useUserQuery, useUserValidateSession, useInvalidateUser, useSetUserData, useTwoFactorVerify, USER_QUERY_KEY } from "./modules/auth/hooks/useUserQuery";
11
- import { useSubscriptions, SUBSCRIPTIONS_QUERY_KEY } from "./modules/subscriptions/hooks/list-subscriptions.hook";
12
- import { useActiveSubscription } from "./modules/subscriptions/hooks/find-active-subscription.hook";
13
- import { useIaCredits } from "./modules/ia-credits/hooks/ia-credits.hook";
14
- import { SubscriptionSchema, SubscriptionItemSchema } from "./modules/subscriptions/types";
15
- import { ADDON_IDS } from "./modules/subscriptions/constants/addons.constants";
16
- import { QueryProvider } from "./providers/query.provider";
17
- import { createAuthMiddleware } from "./middlewares/create-auth-middleware";
18
- import { createMiddlewareChain } from "./middlewares/chain";
19
- import { continueChain, stopChain } from "./middlewares/types";
20
- import { cn } from "./infra/utils/clsx";
21
- import { buildQueryParams } from "./infra/utils/params";
22
- import { parseSchema, parseResult } from "./infra/utils/parser";
23
- import { MainLayout, MainLayoutContent, MainLayoutSpacer, MainLayoutMain } from "./components/layouts/MainLayout";
24
- import { NavBar } from "./components/layouts/NavBar";
25
- import { AppNavBar } from "./components/layouts/AppNavBar";
26
- import { AppMobileNavBar } from "./components/layouts/AppMobileNavBar";
27
- import { SideBarNavigation } from "./components/layouts/SideBarNavigation";
28
- import { MdSideBarNavigation } from "./components/layouts/MdSideBarNavigation";
29
- import { NotificationItem } from "./components/layouts/NotificationItem";
30
- import { NotificationsPopover } from "./components/layouts/NotificationsPopover";
31
- import { UsersSelectorPopover } from "./components/layouts/UsersSelectorPopover";
32
- import { ProfilePopover } from "./components/layouts/ProfilePopover";
33
- import { NavBarItem } from "./components/layouts/NavBarItem";
34
- import { Button, buttonVariants } from "./components/ui/buttons/Button";
35
- import { CopyButton } from "./components/ui/buttons/CopyButton";
36
- import { default as default2 } from "./components/ui/buttons/CancelButton";
37
- import { Accordion, AccordionItem, AccordionTrigger, AccordionContent } from "./components/ui/data-display/Accordion";
38
- import { Badge, badgeVariants } from "./components/ui/data-display/Badge";
39
- import { Card, CardHeader, CardFooter, CardTitle, CardAction, CardDescription, CardContent } from "./components/ui/data-display/Card";
40
- import { Pagination, PaginationContent, PaginationLink, PaginationItem, PaginationPrevious, PaginationNext, PaginationEllipsis } from "./components/ui/data-display/Pagination";
41
- import { ScrollArea, ScrollBar } from "./components/ui/data-display/ScrollArea";
42
- import { Separator } from "./components/ui/data-display/Separator";
43
- import { Table, TableHeader, TableBody, TableFooter, TableHead, TableRow, TableCell, TableCaption } from "./components/ui/data-display/Table";
44
- import { Tabs, TabsList, TabsTrigger, TabsContent } from "./components/ui/data-display/Tabs";
45
- import { UserAvatar } from "./components/ui/data-display/UserAvatar";
46
- import { default as default3 } from "./components/ui/feedback/CircularProgress";
47
- import { default as default4 } from "./components/ui/feedback/DefaultCircularProgress";
48
- import { Progress } from "./components/ui/feedback/Progress";
49
- import { LoadingOverlay } from "./components/ui/feedback/LoadingOverlay";
50
- import { Toast, toastVariants, toastIconContainerVariants } from "./components/ui/feedback/Toast";
51
- import { Calendar, CalendarDayButton } from "./components/ui/form/Calendar";
52
- import { Checkbox } from "./components/ui/form/Checkbox";
53
- import { DatePicker } from "./components/ui/form/DatePicker";
54
- import { DateRangePicker } from "./components/ui/form/DateRangePicker";
55
- import { Input } from "./components/ui/form/Input";
56
- import { InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator } from "./components/ui/form/InputOtp";
57
- import { RadioGroup, RadioGroupItem } from "./components/ui/form/RadioGroup";
58
- import { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue } from "./components/ui/form/Select";
59
- import { Switch } from "./components/ui/form/Switch";
60
- import { Textarea } from "./components/ui/form/Textarea";
61
- import { Command, CommandDialog, CommandInput, CommandList, CommandEmpty, CommandGroup, CommandItem, CommandShortcut, CommandSeparator } from "./components/ui/overlay/Command";
62
- import { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger } from "./components/ui/overlay/Dialog";
63
- import { Popover, PopoverTrigger, PopoverContent, PopoverAnchor } from "./components/ui/overlay/Popover";
64
- import { Sheet, SheetTrigger, SheetClose, SheetContent, SheetHeader, SheetFooter, SheetTitle, SheetDescription } from "./components/ui/overlay/Sheet";
65
- import { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider } from "./components/ui/overlay/Tooltip";
66
- import { useMdSidebarStore } from "./store/useMdSidebarStore";
67
- import { useModalManager } from "./store/useModalManager";
68
- import { AccountSectionType } from "./enums/AccountSectionType";
69
- import { default as default5 } from "./hooks/usePasswordVisibility";
70
- import { default as default6 } from "./hooks/useCountdownTimer";
71
- import { default as default7 } from "./hooks/useIsMobile";
72
- import { formatPhone, formatTimer, formatFullName, formatCPF, formatCardNumber } from "./utils/format/masks";
73
- import { timezoneService } from "./modules/accounts/services/timezone.service";
74
- import { buildLocaleOptions, LANGUAGE_OPTIONS } from "./utils/intl/locales";
75
- import { copyToClipboard, readFromClipboard } from "./utils/browser/clipboard";
76
- import { FormField } from "./components/ui/form/FormField";
77
- import { SelectField } from "./components/ui/form/SelectField";
78
- import { ComboboxField } from "./components/ui/form/ComboboxField";
79
- import { default as default8 } from "./components/ui/form/PhoneInput";
80
- import { default as default9 } from "./components/ui/form/SwitchOptionFieldWithIcon";
81
- import { TextAreaField } from "./components/ui/form/TextAreaField";
82
- import {
83
- useUpdateAccount,
84
- useUpdateAccountUser,
85
- useUpdateAccountUserById,
86
- useDeleteAccountUser,
87
- useDeleteAccount
88
- } from "./modules/accounts/hooks/useAccountManagement";
89
- import { default as default10 } from "./components/account/AccountModals";
90
- import { useAccountModals } from "./store/useAccountModals";
91
- import { ModalManager } from "./components/modals/ModalManager";
92
- import { Modals } from "./components/modals/Modals";
93
- import { default as default11 } from "./components/account/TwoFactorAuthModal";
94
- import { default as default12 } from "./components/account/DisableTwoFactorAuthModal";
95
- import { default as default13 } from "./components/account/ConfirmGlobalPreferencesModal";
96
- import { MyProfileSection } from "./components/account/sections/MyProfileSection";
97
- import { PreferencesSection } from "./components/account/sections/PreferencesSection";
98
- import { SecuritySection } from "./components/account/sections/SecuritySection";
99
- import { ChangePasswordSection } from "./components/account/sections/ChangePasswordSection";
100
- import { ChangeEmailModal } from "./components/account/sections/ChangeEmailModal";
101
- import { ChangePhoneModal } from "./components/account/sections/ChangePhoneModal";
102
- import {
103
- GENDER_OPTIONS,
104
- CURRENCY_OPTIONS,
105
- TIME_FORMAT_OPTIONS,
106
- NOTIFICATION_TYPES,
107
- LANGUAGE_OPTIONS as LANGUAGE_OPTIONS2
108
- } from "./components/account/constants";
109
- export {
110
- ADDON_IDS,
111
- Accordion,
112
- AccordionContent,
113
- AccordionItem,
114
- AccordionTrigger,
115
- default10 as AccountModals,
116
- AccountSectionType,
117
- AppMobileNavBar,
118
- AppNavBar,
119
- Badge,
120
- Button,
121
- CURRENCY_OPTIONS,
122
- Calendar,
123
- CalendarDayButton,
124
- default2 as CancelButton,
125
- Card,
126
- CardAction,
127
- CardContent,
128
- CardDescription,
129
- CardFooter,
130
- CardHeader,
131
- CardTitle,
132
- ChangeEmailModal,
133
- ChangePasswordSection,
134
- ChangePhoneModal,
135
- Checkbox,
136
- default3 as CircularProgress,
137
- ComboboxField,
138
- Command,
139
- CommandDialog,
140
- CommandEmpty,
141
- CommandGroup,
142
- CommandInput,
143
- CommandItem,
144
- CommandList,
145
- CommandSeparator,
146
- CommandShortcut,
147
- default13 as ConfirmGlobalPreferencesModal,
148
- CopyButton,
149
- DatePicker,
150
- DateRangePicker,
151
- default4 as DefaultCircularProgress,
152
- Dialog,
153
- DialogClose,
154
- DialogContent,
155
- DialogDescription,
156
- DialogFooter,
157
- DialogHeader,
158
- DialogOverlay,
159
- DialogPortal,
160
- DialogTitle,
161
- DialogTrigger,
162
- default12 as DisableTwoFactorAuthModal,
163
- FormField,
164
- GENDER_OPTIONS,
165
- Input,
166
- InputOTP,
167
- InputOTPGroup,
168
- InputOTPSeparator,
169
- InputOTPSlot,
170
- LANGUAGE_OPTIONS2 as LANGUAGE_OPTIONS,
171
- LIST_AVAILABLE_USERS_BASE_KEY,
172
- LIST_AVAILABLE_USERS_QUERY_KEY,
173
- LIST_PROJECT_USERS_BASE_KEY,
174
- LIST_PROJECT_USERS_QUERY_KEY,
175
- LANGUAGE_OPTIONS as LOCALE_LANGUAGE_OPTIONS,
176
- LoadingOverlay,
177
- MainLayout,
178
- MainLayoutContent,
179
- MainLayoutMain,
180
- MainLayoutSpacer,
181
- MdSideBarNavigation,
182
- ModalManager,
183
- Modals,
184
- MyProfileSection,
185
- NOTIFICATION_TYPES,
186
- NavBar,
187
- NavBarItem,
188
- NotificationItem,
189
- NotificationsPopover,
190
- Pagination,
191
- PaginationContent,
192
- PaginationEllipsis,
193
- PaginationItem,
194
- PaginationLink,
195
- PaginationNext,
196
- PaginationPrevious,
197
- default8 as PhoneInput,
198
- Popover,
199
- PopoverAnchor,
200
- PopoverContent,
201
- PopoverTrigger,
202
- PreferencesSection,
203
- ProfilePopover,
204
- Progress,
205
- QueryProvider,
206
- RadioGroup,
207
- RadioGroupItem,
208
- SUBSCRIPTIONS_QUERY_KEY,
209
- ScrollArea,
210
- ScrollBar,
211
- SecuritySection,
212
- Select,
213
- SelectContent,
214
- SelectField,
215
- SelectGroup,
216
- SelectItem,
217
- SelectLabel,
218
- SelectScrollDownButton,
219
- SelectScrollUpButton,
220
- SelectSeparator,
221
- SelectTrigger,
222
- SelectValue,
223
- Separator,
224
- Sheet,
225
- SheetClose,
226
- SheetContent,
227
- SheetDescription,
228
- SheetFooter,
229
- SheetHeader,
230
- SheetTitle,
231
- SheetTrigger,
232
- SideBarNavigation,
233
- SubscriptionItemSchema,
234
- SubscriptionSchema,
235
- Switch,
236
- default9 as SwitchOptionFieldWithIcon,
237
- TIME_FORMAT_OPTIONS,
238
- Table,
239
- TableBody,
240
- TableCaption,
241
- TableCell,
242
- TableFooter,
243
- TableHead,
244
- TableHeader,
245
- TableRow,
246
- Tabs,
247
- TabsContent,
248
- TabsList,
249
- TabsTrigger,
250
- TextAreaField,
251
- Textarea,
252
- Toast,
253
- Tooltip,
254
- TooltipContent,
255
- TooltipProvider,
256
- TooltipTrigger,
257
- default11 as TwoFactorAuthModal,
258
- USER_QUERY_KEY,
259
- UserAvatar,
260
- UsersSelectorPopover,
261
- badgeVariants,
262
- buildLocaleOptions,
263
- buildQueryParams,
264
- buttonVariants,
265
- cn,
266
- continueChain,
267
- copyToClipboard,
268
- createAuthMiddleware,
269
- createMiddlewareChain,
270
- formatCPF,
271
- formatCardNumber,
272
- formatFullName,
273
- formatPhone,
274
- formatTimer,
275
- parseResult,
276
- parseSchema,
277
- readFromClipboard,
278
- stopChain,
279
- timezoneService,
280
- toastIconContainerVariants,
281
- toastVariants,
282
- useAccountModals,
283
- useActiveSubscription,
284
- default6 as useCountdownTimer,
285
- useDeleteAccount,
286
- useDeleteAccountUser,
287
- useIaCredits,
288
- useInvalidateUser,
289
- default7 as useIsMobile,
290
- useListAvailableUsers,
291
- useListProjectUsers,
292
- useMdSidebarStore,
293
- useModalManager,
294
- default5 as usePasswordVisibility,
295
- useSetUserData,
296
- useSubscriptions,
297
- useTwoFactorVerify,
298
- useUpdateAccount,
299
- useUpdateAccountUser,
300
- useUpdateAccountUserById,
301
- useUserQuery,
302
- useUserValidateSession
303
- };
304
- //# sourceMappingURL=index.mjs.map
@@ -1 +0,0 @@
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 { useListProjectUsers, LIST_PROJECT_USERS_QUERY_KEY, LIST_PROJECT_USERS_BASE_KEY } from './modules/projects/hooks/list-project-users.hook';\nexport { useListAvailableUsers, LIST_AVAILABLE_USERS_QUERY_KEY, LIST_AVAILABLE_USERS_BASE_KEY } from './modules/projects/hooks/list-available-users.hook';\nexport type { ProjectUser, AccountUser, AddRemoveProjectUsersParams, ListUsersParams, UsersPage } from './modules/projects/types';\nexport { useUserQuery, useUserValidateSession, useInvalidateUser, useSetUserData, useTwoFactorVerify, 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 { AppNavBar } from './components/layouts/AppNavBar';\nexport type { AppNavBarProps } from './components/layouts/AppNavBar';\nexport { AppMobileNavBar } from './components/layouts/AppMobileNavBar';\nexport type { AppMobileNavBarProps } from './components/layouts/AppMobileNavBar';\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 } 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 { LoadingOverlay } from './components/ui/feedback/LoadingOverlay';\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';\nexport { useModalManager } from './store/useModalManager';\nexport type { ModalData } from './store/useModalManager';\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 { timezoneService } from './modules/accounts/services/timezone.service';\nexport type { TimezoneOption } from './modules/accounts/services/timezone.service';\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\nexport { default as AccountModals } from './components/account/AccountModals';\nexport { useAccountModals } from './store/useAccountModals';\nexport type { AccountModalsConfig } from './store/useAccountModals';\n\nexport { ModalManager } from './components/modals/ModalManager';\nexport { Modals } from './components/modals/Modals';\n\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 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,qBAAqB,8BAA8B,mCAAmC;AAC/F,SAAS,uBAAuB,gCAAgC,qCAAqC;AAErG,SAAS,cAAc,wBAAwB,mBAAmB,gBAAgB,oBAAoB,sBAAsB;AAC5H,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,iBAAiB;AAE1B,SAAS,uBAAuB;AAEhC,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,sBAAsB;AAC/B,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;AAClC,SAAS,uBAAuB;AAIhC,SAAS,0BAA0B;AAGnC,SAAoB,WAAXA,gBAAwC;AACjD,SAAoB,WAAXA,gBAAoC;AAC7C,SAAoB,WAAXA,gBAA8B;AAGvC,SAAS,aAAa,aAAa,gBAAgB,WAAW,wBAAwB;AACtF,SAAS,uBAAuB;AAEhC,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;AAgBP,SAAoB,WAAXA,iBAAgC;AACzC,SAAS,wBAAwB;AAGjC,SAAS,oBAAoB;AAC7B,SAAS,cAAc;AAEvB,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,oBAAAC;AAAA,OACK;","names":["default","LANGUAGE_OPTIONS"]}
@@ -1,122 +0,0 @@
1
- import { ApiError } from "./types";
2
- import { findWhitelabel } from "../../modules/whitelabel/actions/find-whitelabel.action";
3
- class ApiClient {
4
- baseUrl;
5
- apiVersion = "v1";
6
- apiLocale = "pt-br";
7
- constructor(baseUrl) {
8
- this.baseUrl = baseUrl;
9
- }
10
- async buildUrl(endpoint, whiteLabelId) {
11
- const url = `${this.baseUrl}/${this.apiVersion}/${this.apiLocale}/${whiteLabelId}${endpoint}`;
12
- console.log("[ApiClient] buildUrl", {
13
- baseURL: this.baseUrl,
14
- whiteLabelId,
15
- endpoint,
16
- fullUrl: url
17
- });
18
- return url;
19
- }
20
- async getDefaultHeaders(token) {
21
- console.log("[ApiClient] getDefaultHeaders", {
22
- token: token.substring(0, 20) + "..."
23
- });
24
- const headers = {
25
- "Content-Type": "application/json",
26
- authorization: token
27
- };
28
- return headers;
29
- }
30
- async request(endpoint, config = {}) {
31
- console.log("[ApiClient] request called", { endpoint, method: config.method });
32
- const { timeout = 3e4, ...fetchConfig } = config;
33
- const controller = new AbortController();
34
- const timeoutId = setTimeout(() => controller.abort(), timeout);
35
- try {
36
- console.log("[ApiClient] Building URL and headers...");
37
- const { id, token } = await findWhitelabel();
38
- const [url, defaultHeaders] = await Promise.all([
39
- this.buildUrl(endpoint, id),
40
- this.getDefaultHeaders(token)
41
- ]);
42
- console.log("[ApiClient] Fetching", {
43
- url,
44
- method: fetchConfig.method,
45
- headers: defaultHeaders
46
- });
47
- const response = await fetch(url, {
48
- ...fetchConfig,
49
- headers: {
50
- ...defaultHeaders,
51
- ...fetchConfig.headers
52
- },
53
- signal: controller.signal
54
- });
55
- console.log("[ApiClient] Response received", { status: response.status, ok: response.ok });
56
- if (!response.ok) {
57
- const errorData = await response.json().catch(() => ({}));
58
- console.error("[ApiClient] Request failed", { status: response.status, errorData });
59
- throw new ApiError(
60
- errorData.message || `HTTP error ${response.status}`,
61
- errorData.code || "HTTP_ERROR",
62
- response.status
63
- );
64
- }
65
- const data = await response.json();
66
- console.log("[ApiClient] Request successful", { hasData: !!data });
67
- return data;
68
- } catch (error) {
69
- console.error("[ApiClient] Request error", { error });
70
- if (error instanceof ApiError) {
71
- throw error;
72
- }
73
- if (error instanceof Error) {
74
- if (error.name === "AbortError") {
75
- throw new ApiError("Tempo de requisi\xE7\xE3o excedido", "TIMEOUT", 408);
76
- }
77
- throw new ApiError(error.message, "NETWORK_ERROR", 0);
78
- }
79
- throw new ApiError("Erro desconhecido", "UNKNOWN_ERROR", 500);
80
- } finally {
81
- clearTimeout(timeoutId);
82
- }
83
- }
84
- async get(endpoint, config) {
85
- return this.request(endpoint, { ...config, method: "GET" });
86
- }
87
- async post(endpoint, data, config) {
88
- return this.request(endpoint, {
89
- ...config,
90
- method: "POST",
91
- body: data ? JSON.stringify(data) : void 0
92
- });
93
- }
94
- async put(endpoint, data, config) {
95
- return this.request(endpoint, {
96
- ...config,
97
- method: "PUT",
98
- body: data ? JSON.stringify(data) : void 0
99
- });
100
- }
101
- async patch(endpoint, data, config) {
102
- return this.request(endpoint, {
103
- ...config,
104
- method: "PATCH",
105
- body: data ? JSON.stringify(data) : void 0
106
- });
107
- }
108
- async delete(endpoint, config) {
109
- return this.request(endpoint, { ...config, method: "DELETE" });
110
- }
111
- }
112
- const api = {
113
- apps: new ApiClient(process.env.GAPPS_R3_API_URL || "https://r3-api.greatapps.dev.br"),
114
- pages: new ApiClient(process.env.GPAGES_R3_API_URL || "https://r3-api.greatpages.dev.br")
115
- };
116
- const apiClient = api.apps;
117
- export {
118
- ApiClient,
119
- api,
120
- apiClient
121
- };
122
- //# sourceMappingURL=client.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/infra/api/client.ts"],"sourcesContent":["import { ApiError } from './types';\r\nimport { findWhitelabel } from '../../modules/whitelabel/actions/find-whitelabel.action';\r\n\r\ninterface RequestConfig extends RequestInit {\r\n timeout?: number;\r\n}\r\n\r\nclass ApiClient {\r\n private readonly baseUrl: string;\r\n private readonly apiVersion = 'v1';\r\n private readonly apiLocale = 'pt-br';\r\n\r\n constructor(baseUrl: string) {\r\n this.baseUrl = baseUrl;\r\n }\r\n\r\n private async buildUrl(endpoint: string, whiteLabelId: number): Promise<string> {\r\n const url = `${this.baseUrl}/${this.apiVersion}/${this.apiLocale}/${whiteLabelId}${endpoint}`;\r\n console.log('[ApiClient] buildUrl', {\r\n baseURL: this.baseUrl,\r\n whiteLabelId,\r\n endpoint,\r\n fullUrl: url,\r\n });\r\n return url;\r\n }\r\n\r\n private async getDefaultHeaders(token: string): Promise<HeadersInit> {\r\n console.log('[ApiClient] getDefaultHeaders', {\r\n token: token.substring(0, 20) + '...',\r\n });\r\n\r\n const headers: HeadersInit = {\r\n 'Content-Type': 'application/json',\r\n authorization: token,\r\n };\r\n\r\n return headers;\r\n }\r\n\r\n async request<T>(endpoint: string, config: RequestConfig = {}): Promise<T> {\r\n console.log('[ApiClient] request called', { endpoint, method: config.method });\r\n\r\n const { timeout = 30000, ...fetchConfig } = config;\r\n\r\n const controller = new AbortController();\r\n const timeoutId = setTimeout(() => controller.abort(), timeout);\r\n\r\n try {\r\n console.log('[ApiClient] Building URL and headers...');\r\n\r\n const { id, token } = await findWhitelabel();\r\n\r\n const [url, defaultHeaders] = await Promise.all([\r\n this.buildUrl(endpoint, id),\r\n this.getDefaultHeaders(token),\r\n ]);\r\n\r\n console.log('[ApiClient] Fetching', {\r\n url,\r\n method: fetchConfig.method,\r\n headers: defaultHeaders,\r\n });\r\n\r\n const response = await fetch(url, {\r\n ...fetchConfig,\r\n headers: {\r\n ...defaultHeaders,\r\n ...fetchConfig.headers,\r\n },\r\n signal: controller.signal,\r\n });\r\n\r\n console.log('[ApiClient] Response received', { status: response.status, ok: response.ok });\r\n\r\n if (!response.ok) {\r\n const errorData = (await response.json().catch(() => ({}))) as Record<string, unknown>;\r\n console.error('[ApiClient] Request failed', { status: response.status, errorData });\r\n throw new ApiError(\r\n (errorData.message as string) || `HTTP error ${response.status}`,\r\n (errorData.code as string) || 'HTTP_ERROR',\r\n response.status\r\n );\r\n }\r\n\r\n const data = (await response.json()) as T;\r\n console.log('[ApiClient] Request successful', { hasData: !!data });\r\n return data;\r\n } catch (error) {\r\n console.error('[ApiClient] Request error', { error });\r\n\r\n if (error instanceof ApiError) {\r\n throw error;\r\n }\r\n\r\n if (error instanceof Error) {\r\n if (error.name === 'AbortError') {\r\n throw new ApiError('Tempo de requisição excedido', 'TIMEOUT', 408);\r\n }\r\n throw new ApiError(error.message, 'NETWORK_ERROR', 0);\r\n }\r\n\r\n throw new ApiError('Erro desconhecido', 'UNKNOWN_ERROR', 500);\r\n } finally {\r\n clearTimeout(timeoutId);\r\n }\r\n }\r\n\r\n async get<T>(endpoint: string, config?: RequestConfig): Promise<T> {\r\n return this.request<T>(endpoint, { ...config, method: 'GET' });\r\n }\r\n\r\n async post<T>(endpoint: string, data?: unknown, config?: RequestConfig): Promise<T> {\r\n return this.request<T>(endpoint, {\r\n ...config,\r\n method: 'POST',\r\n body: data ? JSON.stringify(data) : undefined,\r\n });\r\n }\r\n\r\n async put<T>(endpoint: string, data?: unknown, config?: RequestConfig): Promise<T> {\r\n return this.request<T>(endpoint, {\r\n ...config,\r\n method: 'PUT',\r\n body: data ? JSON.stringify(data) : undefined,\r\n });\r\n }\r\n\r\n async patch<T>(endpoint: string, data?: unknown, config?: RequestConfig): Promise<T> {\r\n return this.request<T>(endpoint, {\r\n ...config,\r\n method: 'PATCH',\r\n body: data ? JSON.stringify(data) : undefined,\r\n });\r\n }\r\n\r\n async delete<T>(endpoint: string, config?: RequestConfig): Promise<T> {\r\n return this.request<T>(endpoint, { ...config, method: 'DELETE' });\r\n }\r\n}\r\n\r\nconst api = {\r\n apps: new ApiClient(process.env.GAPPS_R3_API_URL || 'https://r3-api.greatapps.dev.br'),\r\n pages: new ApiClient(process.env.GPAGES_R3_API_URL || 'https://r3-api.greatpages.dev.br'),\r\n}\r\n\r\n/** @deprecated use api.apps */\r\nexport const apiClient = api.apps;\r\n\r\nexport { api, ApiClient };\r\n"],"mappings":"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","names":[]}
@@ -1,31 +0,0 @@
1
- import z from "zod";
2
- const PaginationParamsSchema = z.object({
3
- page: z.number().min(1).optional().default(20),
4
- limit: z.number().optional().default(20)
5
- });
6
- const SearchParamsSchema = z.object({
7
- search: z.string().optional()
8
- });
9
- const SortParamsSchema = z.object({
10
- sort: z.string().optional()
11
- });
12
- class ApiError extends Error {
13
- code;
14
- statusCode;
15
- constructor(message, code = "UNKNOWN_ERROR", statusCode = 500) {
16
- super(message);
17
- this.name = "ApiError";
18
- this.code = code;
19
- this.statusCode = statusCode;
20
- }
21
- static isApiError(error) {
22
- return error instanceof ApiError;
23
- }
24
- }
25
- export {
26
- ApiError,
27
- PaginationParamsSchema,
28
- SearchParamsSchema,
29
- SortParamsSchema
30
- };
31
- //# sourceMappingURL=types.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/infra/api/types.ts"],"sourcesContent":["import z from 'zod';\r\n\r\nexport const PaginationParamsSchema = z.object({\r\n page: z.number().min(1).optional().default(20),\r\n limit: z.number().optional().default(20),\r\n});\r\n\r\nexport interface PaginationParams extends z.infer<typeof PaginationParamsSchema> {}\r\n\r\nexport const SearchParamsSchema = z.object({\r\n search: z.string().optional(),\r\n});\r\n\r\nexport interface SearchParams extends z.infer<typeof SearchParamsSchema> {}\r\n\r\nexport const SortParamsSchema = z.object({\r\n sort: z.string().optional(),\r\n});\r\n\r\nexport interface SortParams extends z.infer<typeof SortParamsSchema> {}\r\n\r\nexport interface ApiSuccessResult<T> {\r\n status: 1;\r\n data?: T;\r\n}\r\n\r\nexport interface ApiPaginatedSuccessResult<T> extends Omit<ApiSuccessResult<T>, 'data'> {\r\n data: T[];\r\n total: number;\r\n}\r\n\r\nexport interface ApiErrorResult {\r\n status: 0;\r\n message: string;\r\n}\r\n\r\nexport type ApiActionResult<T> = ApiSuccessResult<T> | ApiErrorResult;\r\nexport type ApiPaginatedActionResult<T> = ApiPaginatedSuccessResult<T> | ApiErrorResult;\r\n\r\nexport interface SuccessResult<T> {\r\n success: true;\r\n data?: T;\r\n total?: number;\r\n}\r\n\r\nexport interface PaginatedSuccessResult<T> extends Omit<SuccessResult<T>, 'data'> {\r\n data: T[];\r\n total: number;\r\n}\r\n\r\nexport interface ErrorResult {\r\n success: false;\r\n error?: string;\r\n}\r\n\r\nexport type ActionResult<T> = SuccessResult<T> | ErrorResult;\r\nexport type PaginatedActionResult<T> = PaginatedSuccessResult<T> | ErrorResult;\r\n\r\nexport class ApiError extends Error {\r\n public readonly code: string;\r\n public readonly statusCode: number;\r\n\r\n constructor(message: string, code: string = 'UNKNOWN_ERROR', statusCode: number = 500) {\r\n super(message);\r\n this.name = 'ApiError';\r\n this.code = code;\r\n this.statusCode = statusCode;\r\n }\r\n\r\n static isApiError(error: unknown): error is ApiError {\r\n return error instanceof ApiError;\r\n }\r\n}\r\n\r\nexport interface ApiResponse<T = unknown> {\r\n status: 0 | 1;\r\n message?: string;\r\n data?: T;\r\n}\r\n"],"mappings":"AAAA,OAAO,OAAO;AAEP,MAAM,yBAAyB,EAAE,OAAO;AAAA,EAC7C,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE;AAAA,EAC7C,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE;AACzC,CAAC;AAIM,MAAM,qBAAqB,EAAE,OAAO;AAAA,EACzC,QAAQ,EAAE,OAAO,EAAE,SAAS;AAC9B,CAAC;AAIM,MAAM,mBAAmB,EAAE,OAAO;AAAA,EACvC,MAAM,EAAE,OAAO,EAAE,SAAS;AAC5B,CAAC;AAyCM,MAAM,iBAAiB,MAAM;AAAA,EAClB;AAAA,EACA;AAAA,EAEhB,YAAY,SAAiB,OAAe,iBAAiB,aAAqB,KAAK;AACrF,UAAM,OAAO;AACb,SAAK,OAAO;AACZ,SAAK,OAAO;AACZ,SAAK,aAAa;AAAA,EACpB;AAAA,EAEA,OAAO,WAAW,OAAmC;AACnD,WAAO,iBAAiB;AAAA,EAC1B;AACF;","names":[]}
@@ -1,27 +0,0 @@
1
- import { headers } from "next/headers";
2
- async function getClientInfoFromRequest(request) {
3
- let headerStore;
4
- if (request) {
5
- headerStore = request.headers;
6
- } else {
7
- const nextHeaders = await headers();
8
- headerStore = nextHeaders;
9
- }
10
- return {
11
- location: {
12
- continent: headerStore.get("cf-ipcountry") || headerStore.get("x-vercel-ip-country") || "Unknown",
13
- country: headerStore.get("x-vercel-ip-country") || "Unknown",
14
- region: headerStore.get("x-vercel-ip-country-region") || "Unknown",
15
- city: headerStore.get("x-vercel-ip-city") || "Unknown",
16
- latitude: headerStore.get("x-vercel-ip-latitude") || "0",
17
- longitude: headerStore.get("x-vercel-ip-longitude") || "0"
18
- },
19
- ip: headerStore.get("cf-connecting-ip") || headerStore.get("x-forwarded-for") || headerStore.get("x-real-ip") || "Unknown",
20
- timezone: headerStore.get("cf-timezone") || "America/Sao_Paulo",
21
- agent: headerStore.get("user-agent") || "Unknown"
22
- };
23
- }
24
- export {
25
- getClientInfoFromRequest
26
- };
27
- //# sourceMappingURL=client-info.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/infra/utils/client-info.ts"],"sourcesContent":["import { headers } from 'next/headers';\r\nimport { NextRequest } from 'next/server';\r\nimport { ClientInfo } from '../../modules/auth/schema';\r\n\r\nexport async function getClientInfoFromRequest(request?: NextRequest): Promise<ClientInfo> {\r\n let headerStore: Headers;\r\n\r\n if (request) {\r\n // Middleware context\r\n headerStore = request.headers;\r\n } else {\r\n // Server action context\r\n const nextHeaders = await headers();\r\n headerStore = nextHeaders as unknown as Headers;\r\n }\r\n\r\n return {\r\n location: {\r\n continent:\r\n headerStore.get('cf-ipcountry') || headerStore.get('x-vercel-ip-country') || 'Unknown',\r\n country: headerStore.get('x-vercel-ip-country') || 'Unknown',\r\n region: headerStore.get('x-vercel-ip-country-region') || 'Unknown',\r\n city: headerStore.get('x-vercel-ip-city') || 'Unknown',\r\n latitude: headerStore.get('x-vercel-ip-latitude') || '0',\r\n longitude: headerStore.get('x-vercel-ip-longitude') || '0',\r\n },\r\n ip:\r\n headerStore.get('cf-connecting-ip') ||\r\n headerStore.get('x-forwarded-for') ||\r\n headerStore.get('x-real-ip') ||\r\n 'Unknown',\r\n timezone: headerStore.get('cf-timezone') || 'America/Sao_Paulo',\r\n agent: headerStore.get('user-agent') || 'Unknown',\r\n };\r\n}\r\n"],"mappings":"AAAA,SAAS,eAAe;AAIxB,eAAsB,yBAAyB,SAA4C;AACzF,MAAI;AAEJ,MAAI,SAAS;AAEX,kBAAc,QAAQ;AAAA,EACxB,OAAO;AAEL,UAAM,cAAc,MAAM,QAAQ;AAClC,kBAAc;AAAA,EAChB;AAEA,SAAO;AAAA,IACL,UAAU;AAAA,MACR,WACE,YAAY,IAAI,cAAc,KAAK,YAAY,IAAI,qBAAqB,KAAK;AAAA,MAC/E,SAAS,YAAY,IAAI,qBAAqB,KAAK;AAAA,MACnD,QAAQ,YAAY,IAAI,4BAA4B,KAAK;AAAA,MACzD,MAAM,YAAY,IAAI,kBAAkB,KAAK;AAAA,MAC7C,UAAU,YAAY,IAAI,sBAAsB,KAAK;AAAA,MACrD,WAAW,YAAY,IAAI,uBAAuB,KAAK;AAAA,IACzD;AAAA,IACA,IACE,YAAY,IAAI,kBAAkB,KAClC,YAAY,IAAI,iBAAiB,KACjC,YAAY,IAAI,WAAW,KAC3B;AAAA,IACF,UAAU,YAAY,IAAI,aAAa,KAAK;AAAA,IAC5C,OAAO,YAAY,IAAI,YAAY,KAAK;AAAA,EAC1C;AACF;","names":[]}
@@ -1,9 +0,0 @@
1
- import { clsx } from "clsx";
2
- import { twMerge } from "tailwind-merge";
3
- function cn(...inputs) {
4
- return twMerge(clsx(inputs));
5
- }
6
- export {
7
- cn
8
- };
9
- //# sourceMappingURL=clsx.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/infra/utils/clsx.ts"],"sourcesContent":["import { clsx, type ClassValue } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n"],"mappings":"AAAA,SAAS,YAA6B;AACtC,SAAS,eAAe;AAEjB,SAAS,MAAM,QAAsB;AAC1C,SAAO,QAAQ,KAAK,MAAM,CAAC;AAC7B;","names":[]}
@@ -1,21 +0,0 @@
1
- function buildQueryParams(params) {
2
- if (!params) {
3
- return "";
4
- }
5
- const queryParams = new URLSearchParams();
6
- for (const [key, value] of Object.entries(params)) {
7
- if (value === null || value === void 0 || value === "") {
8
- continue;
9
- }
10
- if (Array.isArray(value)) {
11
- queryParams.set(key, value.join(","));
12
- } else {
13
- queryParams.set(key, value.toString());
14
- }
15
- }
16
- return queryParams.toString();
17
- }
18
- export {
19
- buildQueryParams
20
- };
21
- //# sourceMappingURL=params.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/infra/utils/params.ts"],"sourcesContent":["export function buildQueryParams(\r\n params?: Record<\r\n string,\r\n string | number | boolean | Date | null | undefined | string[] | number[] | boolean[] | Date[]\r\n >\r\n) {\r\n if (!params) {\r\n return '';\r\n }\r\n\r\n const queryParams = new URLSearchParams();\r\n\r\n for (const [key, value] of Object.entries(params)) {\r\n if (value === null || value === undefined || value === '') {\r\n continue;\r\n }\r\n\r\n if (Array.isArray(value)) {\r\n queryParams.set(key, value.join(','));\r\n } else {\r\n\r\n queryParams.set(key, value.toString());\r\n }\r\n }\r\n\r\n return queryParams.toString();\r\n}\r\n"],"mappings":"AAAO,SAAS,iBACd,QAIA;AACA,MAAI,CAAC,QAAQ;AACX,WAAO;AAAA,EACT;AAEA,QAAM,cAAc,IAAI,gBAAgB;AAExC,aAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,MAAM,GAAG;AACjD,QAAI,UAAU,QAAQ,UAAU,UAAa,UAAU,IAAI;AACzD;AAAA,IACF;AAEA,QAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,kBAAY,IAAI,KAAK,MAAM,KAAK,GAAG,CAAC;AAAA,IACtC,OAAO;AAEL,kBAAY,IAAI,KAAK,MAAM,SAAS,CAAC;AAAA,IACvC;AAAA,EACF;AAEA,SAAO,YAAY,SAAS;AAC9B;","names":[]}
@@ -1,24 +0,0 @@
1
- function parseSchema(schema, data) {
2
- if (Array.isArray(data)) {
3
- return data.map((item) => schema.parse(item));
4
- }
5
- return schema.parse(data);
6
- }
7
- function parseResult(schema, result) {
8
- if (!result.data) return result;
9
- if (Array.isArray(result.data)) {
10
- return {
11
- ...result,
12
- data: result.data.map((item) => schema.parse(item))
13
- };
14
- }
15
- return {
16
- ...result,
17
- data: schema.parse(result.data)
18
- };
19
- }
20
- export {
21
- parseResult,
22
- parseSchema
23
- };
24
- //# sourceMappingURL=parser.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/infra/utils/parser.ts"],"sourcesContent":["import z, { ZodTypeAny } from \"zod\";\nimport { PaginatedSuccessResult, SuccessResult } from \"../api/types\";\n\n/* Overloads */\nexport function parseSchema<T extends ZodTypeAny>(\n schema: T,\n data: unknown[]\n): z.infer<T>[];\n\nexport function parseSchema<T extends ZodTypeAny>(\n schema: T,\n data: unknown\n): z.infer<T>;\n\nexport function parseSchema<T extends ZodTypeAny>(\n schema: T,\n data: unknown | unknown[]\n) {\n if (Array.isArray(data)) {\n return data.map(item => schema.parse(item));\n }\n\n return schema.parse(data);\n}\n\nexport function parseResult<T extends ZodTypeAny>(\n schema: T,\n result: PaginatedSuccessResult<unknown>\n): PaginatedSuccessResult<z.infer<T>>;\n\nexport function parseResult<T extends ZodTypeAny>(\n schema: T,\n result: SuccessResult<unknown>\n): SuccessResult<z.infer<T>>;\n\nexport function parseResult<T extends ZodTypeAny>(\n schema: T,\n result: SuccessResult<unknown> | PaginatedSuccessResult<unknown>\n) {\n if (!result.data) return result;\n\n if (Array.isArray(result.data)) {\n return {\n ...result,\n data: result.data.map(item => schema.parse(item)),\n };\n }\n\n return {\n ...result,\n data: schema.parse(result.data),\n };\n}"],"mappings":"AAcO,SAAS,YACZ,QACA,MACF;AACE,MAAI,MAAM,QAAQ,IAAI,GAAG;AACrB,WAAO,KAAK,IAAI,UAAQ,OAAO,MAAM,IAAI,CAAC;AAAA,EAC9C;AAEA,SAAO,OAAO,MAAM,IAAI;AAC5B;AAYO,SAAS,YACZ,QACA,QACF;AACE,MAAI,CAAC,OAAO,KAAM,QAAO;AAEzB,MAAI,MAAM,QAAQ,OAAO,IAAI,GAAG;AAC5B,WAAO;AAAA,MACH,GAAG;AAAA,MACH,MAAM,OAAO,KAAK,IAAI,UAAQ,OAAO,MAAM,IAAI,CAAC;AAAA,IACpD;AAAA,EACJ;AAEA,SAAO;AAAA,IACH,GAAG;AAAA,IACH,MAAM,OAAO,MAAM,OAAO,IAAI;AAAA,EAClC;AACJ;","names":[]}
@@ -1,20 +0,0 @@
1
- const calculatePercentage = (current, total) => {
2
- if (total === 0) return 0;
3
- return current / total * 100;
4
- };
5
- const calculateCircumference = (radius) => {
6
- return 2 * Math.PI * radius;
7
- };
8
- const calculateCircularProgressOffset = (percentage, circumference) => {
9
- return circumference - percentage / 100 * circumference;
10
- };
11
- const calculateRadius = (size, strokeWidth) => {
12
- return (size - strokeWidth) / 2;
13
- };
14
- export {
15
- calculateCircularProgressOffset,
16
- calculateCircumference,
17
- calculatePercentage,
18
- calculateRadius
19
- };
20
- //# sourceMappingURL=percentage.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/infra/utils/percentage.ts"],"sourcesContent":["/**\n * Calcula percentual de um valor em relação ao total\n * @param current - Valor atual\n * @param total - Valor total\n * @returns Percentual (0-100)\n */\nexport const calculatePercentage = (current: number, total: number): number => {\n if (total === 0) return 0;\n return (current / total) * 100;\n};\n\n/**\n * Calcula a circunferência de um círculo\n * @param radius - Raio do círculo\n * @returns Circunferência\n */\nexport const calculateCircumference = (radius: number): number => {\n return 2 * Math.PI * radius;\n};\n\n/**\n * Calcula o offset para circular progress\n * @param percentage - Percentual de progresso (0-100)\n * @param circumference - Circunferência do círculo\n * @returns Valor do offset\n */\nexport const calculateCircularProgressOffset = (\n percentage: number,\n circumference: number\n): number => {\n return circumference - (percentage / 100) * circumference;\n};\n\n/**\n * Calcula raio de círculo baseado no tamanho e stroke\n * @param size - Tamanho total\n * @param strokeWidth - Largura do stroke\n * @returns Raio calculado\n */\nexport const calculateRadius = (size: number, strokeWidth: number): number => {\n return (size - strokeWidth) / 2;\n};\n"],"mappings":"AAMO,MAAM,sBAAsB,CAAC,SAAiB,UAA0B;AAC7E,MAAI,UAAU,EAAG,QAAO;AACxB,SAAQ,UAAU,QAAS;AAC7B;AAOO,MAAM,yBAAyB,CAAC,WAA2B;AAChE,SAAO,IAAI,KAAK,KAAK;AACvB;AAQO,MAAM,kCAAkC,CAC7C,YACA,kBACW;AACX,SAAO,gBAAiB,aAAa,MAAO;AAC9C;AAQO,MAAM,kBAAkB,CAAC,MAAc,gBAAgC;AAC5E,UAAQ,OAAO,eAAe;AAChC;","names":[]}