@greatapps/common 1.1.70 → 1.1.73

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 (158) hide show
  1. package/dist/components/account/AccountModals.mjs +18 -0
  2. package/dist/components/account/AccountModals.mjs.map +1 -0
  3. package/dist/components/account/ConfigurationsMyAccountModal.mjs +132 -0
  4. package/dist/components/account/ConfigurationsMyAccountModal.mjs.map +1 -0
  5. package/dist/components/account/ConfirmDeleteAccountModal.mjs +45 -0
  6. package/dist/components/account/ConfirmDeleteAccountModal.mjs.map +1 -0
  7. package/dist/components/account/ConfirmGlobalPreferencesModal.mjs +45 -0
  8. package/dist/components/account/ConfirmGlobalPreferencesModal.mjs.map +1 -0
  9. package/dist/components/account/DeleteAccountModal.mjs +123 -0
  10. package/dist/components/account/DeleteAccountModal.mjs.map +1 -0
  11. package/dist/components/account/DisableTwoFactorAuthModal.mjs +67 -0
  12. package/dist/components/account/DisableTwoFactorAuthModal.mjs.map +1 -0
  13. package/dist/components/account/IsntPossibleDeleteAccountModal.mjs +42 -0
  14. package/dist/components/account/IsntPossibleDeleteAccountModal.mjs.map +1 -0
  15. package/dist/components/account/TwoFactorAuthModal.mjs +190 -0
  16. package/dist/components/account/TwoFactorAuthModal.mjs.map +1 -0
  17. package/dist/components/account/constants.mjs +29 -0
  18. package/dist/components/account/constants.mjs.map +1 -0
  19. package/dist/components/handlers/SearchParamsHandler.mjs +24 -0
  20. package/dist/components/handlers/SearchParamsHandler.mjs.map +1 -0
  21. package/dist/components/layouts/AppMobileNavBar.mjs +53 -0
  22. package/dist/components/layouts/AppMobileNavBar.mjs.map +1 -0
  23. package/dist/components/layouts/AppNavBar.mjs +73 -0
  24. package/dist/components/layouts/AppNavBar.mjs.map +1 -0
  25. package/dist/components/layouts/MainLayout.mjs +60 -0
  26. package/dist/components/layouts/MainLayout.mjs.map +1 -0
  27. package/dist/components/layouts/MdSideBarNavigation.mjs +39 -0
  28. package/dist/components/layouts/MdSideBarNavigation.mjs.map +1 -0
  29. package/dist/components/layouts/NavBar.mjs +64 -0
  30. package/dist/components/layouts/NavBar.mjs.map +1 -0
  31. package/dist/components/layouts/NavBarItem.mjs +23 -0
  32. package/dist/components/layouts/NavBarItem.mjs.map +1 -0
  33. package/dist/components/layouts/NotificationItem.mjs +11 -0
  34. package/dist/components/layouts/NotificationItem.mjs.map +1 -0
  35. package/dist/components/layouts/NotificationsPopover.mjs +96 -0
  36. package/dist/components/layouts/NotificationsPopover.mjs.map +1 -0
  37. package/dist/components/layouts/ProfilePopover.mjs +150 -0
  38. package/dist/components/layouts/ProfilePopover.mjs.map +1 -0
  39. package/dist/components/layouts/SideBarNavigation.mjs +22 -0
  40. package/dist/components/layouts/SideBarNavigation.mjs.map +1 -0
  41. package/dist/components/layouts/UsersSelectorPopover.mjs +236 -0
  42. package/dist/components/layouts/UsersSelectorPopover.mjs.map +1 -0
  43. package/dist/components/modals/ModalManager.mjs +19 -0
  44. package/dist/components/modals/ModalManager.mjs.map +1 -0
  45. package/dist/components/modals/Modals.mjs +20 -0
  46. package/dist/components/modals/Modals.mjs.map +1 -0
  47. package/dist/enums/AccountSectionType.mjs +11 -0
  48. package/dist/enums/AccountSectionType.mjs.map +1 -0
  49. package/dist/hooks/copy-to-clipboard.hook.mjs +39 -0
  50. package/dist/hooks/copy-to-clipboard.hook.mjs.map +1 -0
  51. package/dist/hooks/useCountdownTimer.mjs +29 -0
  52. package/dist/hooks/useCountdownTimer.mjs.map +1 -0
  53. package/dist/hooks/useIsMobile.mjs +18 -0
  54. package/dist/hooks/useIsMobile.mjs.map +1 -0
  55. package/dist/hooks/usePasswordVisibility.mjs +13 -0
  56. package/dist/hooks/usePasswordVisibility.mjs.map +1 -0
  57. package/dist/index.mjs +434 -0
  58. package/dist/index.mjs.map +1 -0
  59. package/dist/infra/api/client.mjs +122 -0
  60. package/dist/infra/api/client.mjs.map +1 -0
  61. package/dist/infra/api/types.mjs +31 -0
  62. package/dist/infra/api/types.mjs.map +1 -0
  63. package/dist/infra/utils/client-info.mjs +27 -0
  64. package/dist/infra/utils/client-info.mjs.map +1 -0
  65. package/dist/infra/utils/clsx.mjs +9 -0
  66. package/dist/infra/utils/clsx.mjs.map +1 -0
  67. package/dist/infra/utils/params.mjs +21 -0
  68. package/dist/infra/utils/params.mjs.map +1 -0
  69. package/dist/infra/utils/parser.mjs +24 -0
  70. package/dist/infra/utils/parser.mjs.map +1 -0
  71. package/dist/infra/utils/percentage.mjs +20 -0
  72. package/dist/infra/utils/percentage.mjs.map +1 -0
  73. package/dist/middlewares/chain.mjs +37 -0
  74. package/dist/middlewares/chain.mjs.map +1 -0
  75. package/dist/middlewares/create-auth-middleware.mjs +28 -0
  76. package/dist/middlewares/create-auth-middleware.mjs.map +1 -0
  77. package/dist/middlewares/types.mjs +11 -0
  78. package/dist/middlewares/types.mjs.map +1 -0
  79. package/dist/modules/accounts/types.mjs +1 -0
  80. package/dist/modules/accounts/types.mjs.map +1 -0
  81. package/dist/modules/auth/actions/login.action.mjs +1 -1
  82. package/dist/modules/auth/actions/login.action.mjs.map +1 -1
  83. package/dist/modules/auth/hooks/login.hook.mjs +5 -1
  84. package/dist/modules/auth/hooks/login.hook.mjs.map +1 -1
  85. package/dist/modules/auth/hooks/useUserQuery.mjs +2 -1
  86. package/dist/modules/auth/hooks/useUserQuery.mjs.map +1 -1
  87. package/dist/modules/auth/schema.mjs +1 -0
  88. package/dist/modules/auth/schema.mjs.map +1 -0
  89. package/dist/modules/auth/services/auth.service.mjs +2 -2
  90. package/dist/modules/auth/services/auth.service.mjs.map +1 -1
  91. package/dist/modules/ia-credits/types.mjs +25 -0
  92. package/dist/modules/ia-credits/types.mjs.map +1 -0
  93. package/dist/modules/projects/types.mjs +22 -0
  94. package/dist/modules/projects/types.mjs.map +1 -0
  95. package/dist/modules/subscriptions/types.mjs +57 -0
  96. package/dist/modules/subscriptions/types.mjs.map +1 -0
  97. package/dist/modules/users/action/list-messages.action.mjs +9 -0
  98. package/dist/modules/users/action/list-messages.action.mjs.map +1 -0
  99. package/dist/modules/users/action/mark-all-messages-as-read.action.mjs +9 -0
  100. package/dist/modules/users/action/mark-all-messages-as-read.action.mjs.map +1 -0
  101. package/dist/modules/users/action/mark-message-as-read.action.mjs +9 -0
  102. package/dist/modules/users/action/mark-message-as-read.action.mjs.map +1 -0
  103. package/dist/modules/users/hooks/messages.hook.mjs +38 -0
  104. package/dist/modules/users/hooks/messages.hook.mjs.map +1 -0
  105. package/dist/modules/users/schema/messages.schema.mjs +21 -0
  106. package/dist/modules/users/schema/messages.schema.mjs.map +1 -0
  107. package/dist/modules/users/schema.mjs +11 -0
  108. package/dist/modules/users/schema.mjs.map +1 -0
  109. package/dist/modules/users/services/messages.service.mjs +35 -0
  110. package/dist/modules/users/services/messages.service.mjs.map +1 -0
  111. package/dist/modules/whitelabel/schema.mjs +1 -0
  112. package/dist/modules/whitelabel/schema.mjs.map +1 -0
  113. package/dist/providers/auth.provider.mjs +98 -0
  114. package/dist/providers/auth.provider.mjs.map +1 -0
  115. package/dist/providers/query.provider.mjs +41 -0
  116. package/dist/providers/query.provider.mjs.map +1 -0
  117. package/dist/providers/whitelabel.provider.mjs +34 -0
  118. package/dist/providers/whitelabel.provider.mjs.map +1 -0
  119. package/dist/server.mjs +74 -0
  120. package/dist/server.mjs.map +1 -0
  121. package/dist/store/useAccountModals.mjs +18 -0
  122. package/dist/store/useAccountModals.mjs.map +1 -0
  123. package/dist/store/useMdSidebarStore.mjs +11 -0
  124. package/dist/store/useMdSidebarStore.mjs.map +1 -0
  125. package/dist/store/useModalManager.mjs +75 -0
  126. package/dist/store/useModalManager.mjs.map +1 -0
  127. package/dist/utils/browser/clipboard.mjs +36 -0
  128. package/dist/utils/browser/clipboard.mjs.map +1 -0
  129. package/dist/utils/file/index.mjs +9 -0
  130. package/dist/utils/file/index.mjs.map +1 -0
  131. package/dist/utils/format/masks.mjs +56 -0
  132. package/dist/utils/format/masks.mjs.map +1 -0
  133. package/dist/utils/intl/locales.mjs +12 -0
  134. package/dist/utils/intl/locales.mjs.map +1 -0
  135. package/dist/utils/safeServerAction.mjs +22 -0
  136. package/dist/utils/safeServerAction.mjs.map +1 -0
  137. package/dist/utils/validators/account.mjs +26 -0
  138. package/dist/utils/validators/account.mjs.map +1 -0
  139. package/dist/utils/validators/common.mjs +47 -0
  140. package/dist/utils/validators/common.mjs.map +1 -0
  141. package/package.json +1 -1
  142. package/src/components/layouts/AppNavBar.tsx +0 -4
  143. package/src/components/layouts/NotificationItem.tsx +2 -2
  144. package/src/components/layouts/NotificationsPopover.tsx +25 -22
  145. package/src/index.ts +267 -117
  146. package/src/modules/auth/actions/login.action.ts +1 -1
  147. package/src/modules/auth/hooks/login.hook.tsx +6 -1
  148. package/src/modules/auth/hooks/useUserQuery.ts +2 -1
  149. package/src/modules/auth/schema.ts +6 -4
  150. package/src/modules/auth/services/auth.service.ts +2 -2
  151. package/src/modules/users/action/list-messages.action.ts +10 -0
  152. package/src/modules/users/action/mark-all-messages-as-read.action.ts +8 -0
  153. package/src/modules/users/action/mark-message-as-read.action.ts +8 -0
  154. package/src/modules/users/hooks/messages.hook.ts +39 -0
  155. package/src/modules/users/schema/messages.schema.ts +46 -0
  156. package/src/modules/users/services/messages.service.ts +48 -0
  157. package/src/providers/auth.provider.tsx +6 -9
  158. package/src/utils/safeServerAction.ts +27 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/modules/ia-credits/types.ts"],"sourcesContent":["import z from 'zod';\r\n\r\nexport const IaCreditOperationSchema = z\r\n .object({\r\n id: z.union([z.number(), z.string()]),\r\n deleted: z.number(),\r\n datetime_add: z.string(),\r\n id_wl: z.number(),\r\n id_subscription: z.union([z.number(), z.string()]),\r\n id_addon: z.number(),\r\n operation: z.string(), // 'add' | 'subtract'\r\n operation_value: z.union([z.number(), z.string()]).transform((v) => Number(v)),\r\n balance_after_operation: z.union([z.number(), z.string()]).optional(),\r\n balance_before_operation: z.union([z.number(), z.string()]).optional(),\r\n operation_ref: z.string().nullable().optional(),\r\n operation_origin: z.string().nullable().optional(),\r\n expiration_time: z.string().nullable(),\r\n has_expired: z.boolean(),\r\n consumed_from_add_id: z.union([z.number(), z.string()]).nullable(),\r\n id_user_add: z.union([z.number(), z.string()]).nullable(),\r\n user_name: z.string().nullable().optional(),\r\n })\r\n .passthrough();\r\n\r\nexport type IaCreditOperation = z.infer<typeof IaCreditOperationSchema>;\r\n\r\nexport type IaCreditsSummary = {\r\n totalCredits: number;\r\n usedCredits: number;\r\n availableCredits: number;\r\n nextExpiringCredits: number | null;\r\n nextExpirationInDays: number | null;\r\n};\r\n"],"mappings":"AAAA,OAAO,OAAO;AAEP,MAAM,0BAA0B,EACpC,OAAO;AAAA,EACN,IAAI,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,EAAE,OAAO,CAAC,CAAC;AAAA,EACpC,SAAS,EAAE,OAAO;AAAA,EAClB,cAAc,EAAE,OAAO;AAAA,EACvB,OAAO,EAAE,OAAO;AAAA,EAChB,iBAAiB,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,EAAE,OAAO,CAAC,CAAC;AAAA,EACjD,UAAU,EAAE,OAAO;AAAA,EACnB,WAAW,EAAE,OAAO;AAAA;AAAA,EACpB,iBAAiB,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,EAAE,OAAO,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,OAAO,CAAC,CAAC;AAAA,EAC7E,yBAAyB,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,EAAE,OAAO,CAAC,CAAC,EAAE,SAAS;AAAA,EACpE,0BAA0B,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,EAAE,OAAO,CAAC,CAAC,EAAE,SAAS;AAAA,EACrE,eAAe,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS;AAAA,EAC9C,kBAAkB,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS;AAAA,EACjD,iBAAiB,EAAE,OAAO,EAAE,SAAS;AAAA,EACrC,aAAa,EAAE,QAAQ;AAAA,EACvB,sBAAsB,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,EAAE,OAAO,CAAC,CAAC,EAAE,SAAS;AAAA,EACjE,aAAa,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,EAAE,OAAO,CAAC,CAAC,EAAE,SAAS;AAAA,EACxD,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS;AAC5C,CAAC,EACA,YAAY;","names":[]}
@@ -0,0 +1,22 @@
1
+ import { z } from "zod";
2
+ const ProjectUserSchema = z.object({
3
+ id_user: z.union([z.number(), z.string()]).transform(Number),
4
+ id_account: z.union([z.number(), z.string()]).transform(Number),
5
+ id_project: z.union([z.number(), z.string()]).transform(Number),
6
+ name: z.string(),
7
+ email: z.string(),
8
+ profile: z.string().optional(),
9
+ photo: z.string().nullable().optional()
10
+ });
11
+ const AccountUserSchema = z.object({
12
+ id: z.union([z.number(), z.string()]).transform(Number),
13
+ name: z.string(),
14
+ email: z.string(),
15
+ profile: z.string().optional(),
16
+ photo: z.string().nullable().optional()
17
+ });
18
+ export {
19
+ AccountUserSchema,
20
+ ProjectUserSchema
21
+ };
22
+ //# sourceMappingURL=types.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/modules/projects/types.ts"],"sourcesContent":["import { z } from 'zod';\r\n\r\nexport const ProjectUserSchema = z.object({\r\n id_user: z.union([z.number(), z.string()]).transform(Number),\r\n id_account: z.union([z.number(), z.string()]).transform(Number),\r\n id_project: z.union([z.number(), z.string()]).transform(Number),\r\n name: z.string(),\r\n email: z.string(),\r\n profile: z.string().optional(),\r\n photo: z.string().nullable().optional(),\r\n});\r\n\r\nexport type ProjectUser = z.infer<typeof ProjectUserSchema>;\r\n\r\nexport const AccountUserSchema = z.object({\r\n id: z.union([z.number(), z.string()]).transform(Number),\r\n name: z.string(),\r\n email: z.string(),\r\n profile: z.string().optional(),\r\n photo: z.string().nullable().optional(),\r\n});\r\n\r\nexport type AccountUser = z.infer<typeof AccountUserSchema>;\r\n\r\nexport interface AddRemoveProjectUsersParams {\r\n projectId: number;\r\n users: number[];\r\n}\r\n\r\nexport interface ListUsersParams {\r\n search?: string;\r\n page?: number;\r\n limit?: number;\r\n}\r\n\r\nexport interface UsersPage<T> {\r\n data: T[];\r\n total: number;\r\n page: number;\r\n}\r\n"],"mappings":"AAAA,SAAS,SAAS;AAEX,MAAM,oBAAoB,EAAE,OAAO;AAAA,EACxC,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,EAAE,OAAO,CAAC,CAAC,EAAE,UAAU,MAAM;AAAA,EAC3D,YAAY,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,EAAE,OAAO,CAAC,CAAC,EAAE,UAAU,MAAM;AAAA,EAC9D,YAAY,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,EAAE,OAAO,CAAC,CAAC,EAAE,UAAU,MAAM;AAAA,EAC9D,MAAM,EAAE,OAAO;AAAA,EACf,OAAO,EAAE,OAAO;AAAA,EAChB,SAAS,EAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS;AACxC,CAAC;AAIM,MAAM,oBAAoB,EAAE,OAAO;AAAA,EACxC,IAAI,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,EAAE,OAAO,CAAC,CAAC,EAAE,UAAU,MAAM;AAAA,EACtD,MAAM,EAAE,OAAO;AAAA,EACf,OAAO,EAAE,OAAO;AAAA,EAChB,SAAS,EAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS;AACxC,CAAC;","names":[]}
@@ -0,0 +1,57 @@
1
+ import z from "zod";
2
+ const SubscriptionItemSchema = z.object({
3
+ id: z.union([z.number(), z.string()]),
4
+ deleted: z.number(),
5
+ datetime_alt: z.coerce.date().nullable().optional(),
6
+ datetime_del: z.coerce.date().nullable().optional(),
7
+ datetime_add: z.coerce.date(),
8
+ id_wl: z.number(),
9
+ id_subscription: z.union([z.number(), z.string()]),
10
+ id_addon: z.number().nullable(),
11
+ addon_name: z.string().optional(),
12
+ value: z.number(),
13
+ currency: z.string(),
14
+ quantity: z.number(),
15
+ payment_status: z.number(),
16
+ id_charge: z.union([z.number(), z.string()]).nullable(),
17
+ trial: z.boolean(),
18
+ trial_ends_at: z.coerce.date().nullable().optional()
19
+ });
20
+ const SubscriptionSchema = z.object({
21
+ id: z.union([z.number(), z.string()]),
22
+ deleted: z.number(),
23
+ datetime_alt: z.coerce.date().nullable().optional(),
24
+ datetime_del: z.coerce.date().nullable().optional(),
25
+ datetime_add: z.coerce.date(),
26
+ id_wl: z.number(),
27
+ id_account: z.union([z.number(), z.string()]),
28
+ id_card: z.union([z.number(), z.string()]).nullable(),
29
+ id_coupon: z.union([z.number(), z.string()]).nullable(),
30
+ type: z.string(),
31
+ payment_method: z.number().nullable(),
32
+ periodicity: z.union([z.number(), z.string()]).nullable(),
33
+ value: z.number().nullable(),
34
+ id_product: z.number(),
35
+ id_plan: z.number(),
36
+ plan_name: z.string().nullable().optional(),
37
+ id_gateway: z.union([z.number(), z.string()]).nullable(),
38
+ gateway_account: z.string().nullable(),
39
+ date_hiring: z.coerce.date().nullable(),
40
+ date_due: z.coerce.date(),
41
+ date_cancellation: z.coerce.date().nullable(),
42
+ date_verification: z.coerce.date().nullable(),
43
+ cancellation_reason: z.string().nullable(),
44
+ cancellation_description: z.string().nullable(),
45
+ active: z.boolean(),
46
+ charged: z.boolean(),
47
+ datetime_last_update_periodicity: z.coerce.date().nullable().optional(),
48
+ card_name: z.string().nullable().optional(),
49
+ card_brand: z.string().nullable().optional(),
50
+ card_number: z.string().nullable().optional(),
51
+ items: z.array(SubscriptionItemSchema)
52
+ });
53
+ export {
54
+ SubscriptionItemSchema,
55
+ SubscriptionSchema
56
+ };
57
+ //# sourceMappingURL=types.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/modules/subscriptions/types.ts"],"sourcesContent":["import z from 'zod';\r\n\r\nexport const SubscriptionItemSchema = z.object({\r\n id: z.union([z.number(), z.string()]),\r\n deleted: z.number(),\r\n datetime_alt: z.coerce.date().nullable().optional(),\r\n datetime_del: z.coerce.date().nullable().optional(),\r\n datetime_add: z.coerce.date(),\r\n id_wl: z.number(),\r\n id_subscription: z.union([z.number(), z.string()]),\r\n id_addon: z.number().nullable(),\r\n addon_name: z.string().optional(),\r\n value: z.number(),\r\n currency: z.string(),\r\n quantity: z.number(),\r\n payment_status: z.number(),\r\n id_charge: z.union([z.number(), z.string()]).nullable(),\r\n trial: z.boolean(),\r\n trial_ends_at: z.coerce.date().nullable().optional(),\r\n});\r\n\r\nexport type SubscriptionItem = z.infer<typeof SubscriptionItemSchema>;\r\n\r\nexport const SubscriptionSchema = z.object({\r\n id: z.union([z.number(), z.string()]),\r\n deleted: z.number(),\r\n datetime_alt: z.coerce.date().nullable().optional(),\r\n datetime_del: z.coerce.date().nullable().optional(),\r\n datetime_add: z.coerce.date(),\r\n id_wl: z.number(),\r\n id_account: z.union([z.number(), z.string()]),\r\n id_card: z.union([z.number(), z.string()]).nullable(),\r\n id_coupon: z.union([z.number(), z.string()]).nullable(),\r\n type: z.string(),\r\n payment_method: z.number().nullable(),\r\n periodicity: z.union([z.number(), z.string()]).nullable(),\r\n value: z.number().nullable(),\r\n id_product: z.number(),\r\n id_plan: z.number(),\r\n plan_name: z.string().nullable().optional(),\r\n id_gateway: z.union([z.number(), z.string()]).nullable(),\r\n gateway_account: z.string().nullable(),\r\n date_hiring: z.coerce.date().nullable(),\r\n date_due: z.coerce.date(),\r\n date_cancellation: z.coerce.date().nullable(),\r\n date_verification: z.coerce.date().nullable(),\r\n cancellation_reason: z.string().nullable(),\r\n cancellation_description: z.string().nullable(),\r\n active: z.boolean(),\r\n charged: z.boolean(),\r\n datetime_last_update_periodicity: z.coerce.date().nullable().optional(),\r\n card_name: z.string().nullable().optional(),\r\n card_brand: z.string().nullable().optional(),\r\n card_number: z.string().nullable().optional(),\r\n items: z.array(SubscriptionItemSchema),\r\n});\r\n\r\nexport type Subscription = z.infer<typeof SubscriptionSchema>;\r\n\r\nexport interface FindSubscriptionsParams {\r\n active?: boolean;\r\n trial?: boolean;\r\n date_start?: string;\r\n date_end?: string;\r\n date_hiring_start?: string;\r\n date_hiring_end?: string;\r\n}\r\n"],"mappings":"AAAA,OAAO,OAAO;AAEP,MAAM,yBAAyB,EAAE,OAAO;AAAA,EAC7C,IAAI,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,EAAE,OAAO,CAAC,CAAC;AAAA,EACpC,SAAS,EAAE,OAAO;AAAA,EAClB,cAAc,EAAE,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS;AAAA,EAClD,cAAc,EAAE,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS;AAAA,EAClD,cAAc,EAAE,OAAO,KAAK;AAAA,EAC5B,OAAO,EAAE,OAAO;AAAA,EAChB,iBAAiB,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,EAAE,OAAO,CAAC,CAAC;AAAA,EACjD,UAAU,EAAE,OAAO,EAAE,SAAS;AAAA,EAC9B,YAAY,EAAE,OAAO,EAAE,SAAS;AAAA,EAChC,OAAO,EAAE,OAAO;AAAA,EAChB,UAAU,EAAE,OAAO;AAAA,EACnB,UAAU,EAAE,OAAO;AAAA,EACnB,gBAAgB,EAAE,OAAO;AAAA,EACzB,WAAW,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,EAAE,OAAO,CAAC,CAAC,EAAE,SAAS;AAAA,EACtD,OAAO,EAAE,QAAQ;AAAA,EACjB,eAAe,EAAE,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS;AACrD,CAAC;AAIM,MAAM,qBAAqB,EAAE,OAAO;AAAA,EACzC,IAAI,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,EAAE,OAAO,CAAC,CAAC;AAAA,EACpC,SAAS,EAAE,OAAO;AAAA,EAClB,cAAc,EAAE,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS;AAAA,EAClD,cAAc,EAAE,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS;AAAA,EAClD,cAAc,EAAE,OAAO,KAAK;AAAA,EAC5B,OAAO,EAAE,OAAO;AAAA,EAChB,YAAY,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,EAAE,OAAO,CAAC,CAAC;AAAA,EAC5C,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,EAAE,OAAO,CAAC,CAAC,EAAE,SAAS;AAAA,EACpD,WAAW,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,EAAE,OAAO,CAAC,CAAC,EAAE,SAAS;AAAA,EACtD,MAAM,EAAE,OAAO;AAAA,EACf,gBAAgB,EAAE,OAAO,EAAE,SAAS;AAAA,EACpC,aAAa,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,EAAE,OAAO,CAAC,CAAC,EAAE,SAAS;AAAA,EACxD,OAAO,EAAE,OAAO,EAAE,SAAS;AAAA,EAC3B,YAAY,EAAE,OAAO;AAAA,EACrB,SAAS,EAAE,OAAO;AAAA,EAClB,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS;AAAA,EAC1C,YAAY,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,EAAE,OAAO,CAAC,CAAC,EAAE,SAAS;AAAA,EACvD,iBAAiB,EAAE,OAAO,EAAE,SAAS;AAAA,EACrC,aAAa,EAAE,OAAO,KAAK,EAAE,SAAS;AAAA,EACtC,UAAU,EAAE,OAAO,KAAK;AAAA,EACxB,mBAAmB,EAAE,OAAO,KAAK,EAAE,SAAS;AAAA,EAC5C,mBAAmB,EAAE,OAAO,KAAK,EAAE,SAAS;AAAA,EAC5C,qBAAqB,EAAE,OAAO,EAAE,SAAS;AAAA,EACzC,0BAA0B,EAAE,OAAO,EAAE,SAAS;AAAA,EAC9C,QAAQ,EAAE,QAAQ;AAAA,EAClB,SAAS,EAAE,QAAQ;AAAA,EACnB,kCAAkC,EAAE,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS;AAAA,EACtE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS;AAAA,EAC1C,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS;AAAA,EAC3C,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS;AAAA,EAC5C,OAAO,EAAE,MAAM,sBAAsB;AACvC,CAAC;","names":[]}
@@ -0,0 +1,9 @@
1
+ "use server";
2
+ import { messagesService } from "../services/messages.service";
3
+ async function listMessagesAction(params) {
4
+ return messagesService.listMessages(params);
5
+ }
6
+ export {
7
+ listMessagesAction
8
+ };
9
+ //# sourceMappingURL=list-messages.action.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/modules/users/action/list-messages.action.ts"],"sourcesContent":["'use server';\r\n\r\nimport { messagesService } from '../services/messages.service';\r\nimport type { FindMessagesParams, ListMessagesApiResponse } from '../schema/messages.schema';\r\n\r\nexport async function listMessagesAction(\r\n params?: Partial<FindMessagesParams>\r\n): Promise<ListMessagesApiResponse> {\r\n return messagesService.listMessages(params);\r\n}\r\n"],"mappings":";AAEA,SAAS,uBAAuB;AAGhC,eAAsB,mBACpB,QACkC;AAClC,SAAO,gBAAgB,aAAa,MAAM;AAC5C;","names":[]}
@@ -0,0 +1,9 @@
1
+ "use server";
2
+ import { messagesService } from "../services/messages.service";
3
+ async function markAllMessagesAsReadAction() {
4
+ return messagesService.markAllAsRead();
5
+ }
6
+ export {
7
+ markAllMessagesAsReadAction
8
+ };
9
+ //# sourceMappingURL=mark-all-messages-as-read.action.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/modules/users/action/mark-all-messages-as-read.action.ts"],"sourcesContent":["'use server';\r\n\r\nimport { messagesService } from '../services/messages.service';\r\nimport type { MarkAllAsReadApiResponse } from '../schema/messages.schema';\r\n\r\nexport async function markAllMessagesAsReadAction(): Promise<MarkAllAsReadApiResponse> {\r\n return messagesService.markAllAsRead();\r\n}\r\n"],"mappings":";AAEA,SAAS,uBAAuB;AAGhC,eAAsB,8BAAiE;AACrF,SAAO,gBAAgB,cAAc;AACvC;","names":[]}
@@ -0,0 +1,9 @@
1
+ "use server";
2
+ import { messagesService } from "../services/messages.service";
3
+ async function markMessageAsReadAction(messageId) {
4
+ return messagesService.markAsRead(messageId);
5
+ }
6
+ export {
7
+ markMessageAsReadAction
8
+ };
9
+ //# sourceMappingURL=mark-message-as-read.action.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/modules/users/action/mark-message-as-read.action.ts"],"sourcesContent":["'use server';\r\n\r\nimport { messagesService } from '../services/messages.service';\r\nimport type { MarkAsReadApiResponse } from '../schema/messages.schema';\r\n\r\nexport async function markMessageAsReadAction(messageId: string): Promise<MarkAsReadApiResponse> {\r\n return messagesService.markAsRead(messageId);\r\n}\r\n"],"mappings":";AAEA,SAAS,uBAAuB;AAGhC,eAAsB,wBAAwB,WAAmD;AAC/F,SAAO,gBAAgB,WAAW,SAAS;AAC7C;","names":[]}
@@ -0,0 +1,38 @@
1
+ "use client";
2
+ import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query";
3
+ import { listMessagesAction } from "../action/list-messages.action";
4
+ import { markMessageAsReadAction } from "../action/mark-message-as-read.action";
5
+ import { markAllMessagesAsReadAction } from "../action/mark-all-messages-as-read.action";
6
+ import { safeServerAction } from "../../../utils/safeServerAction";
7
+ const MESSAGES_QUERY_KEY = ["messages"];
8
+ function useMessages(params) {
9
+ return useQuery({
10
+ queryKey: [...MESSAGES_QUERY_KEY, params],
11
+ queryFn: () => safeServerAction(listMessagesAction, params)
12
+ });
13
+ }
14
+ function useMarkMessageAsRead() {
15
+ const queryClient = useQueryClient();
16
+ return useMutation({
17
+ mutationFn: (messageId) => safeServerAction(markMessageAsReadAction, messageId),
18
+ onSuccess: () => {
19
+ queryClient.invalidateQueries({ queryKey: MESSAGES_QUERY_KEY });
20
+ }
21
+ });
22
+ }
23
+ function useMarkAllMessagesAsRead() {
24
+ const queryClient = useQueryClient();
25
+ return useMutation({
26
+ mutationFn: () => safeServerAction(markAllMessagesAsReadAction),
27
+ onSuccess: () => {
28
+ queryClient.invalidateQueries({ queryKey: MESSAGES_QUERY_KEY });
29
+ }
30
+ });
31
+ }
32
+ export {
33
+ MESSAGES_QUERY_KEY,
34
+ useMarkAllMessagesAsRead,
35
+ useMarkMessageAsRead,
36
+ useMessages
37
+ };
38
+ //# sourceMappingURL=messages.hook.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/modules/users/hooks/messages.hook.ts"],"sourcesContent":["'use client';\r\n\r\nimport { useMutation, useQuery, useQueryClient } from '@tanstack/react-query';\r\nimport { listMessagesAction } from '../action/list-messages.action';\r\nimport { markMessageAsReadAction } from '../action/mark-message-as-read.action';\r\nimport { markAllMessagesAsReadAction } from '../action/mark-all-messages-as-read.action';\r\nimport { safeServerAction } from '../../../utils/safeServerAction';\r\nimport type { FindMessagesParams } from '../schema/messages.schema';\r\n\r\nexport const MESSAGES_QUERY_KEY = ['messages'];\r\n\r\nexport function useMessages(params?: Partial<FindMessagesParams>) {\r\n return useQuery({\r\n queryKey: [...MESSAGES_QUERY_KEY, params],\r\n queryFn: () => safeServerAction(listMessagesAction, params),\r\n });\r\n}\r\n\r\nexport function useMarkMessageAsRead() {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation({\r\n mutationFn: (messageId: string) => safeServerAction(markMessageAsReadAction, messageId),\r\n onSuccess: () => {\r\n queryClient.invalidateQueries({ queryKey: MESSAGES_QUERY_KEY });\r\n },\r\n });\r\n}\r\n\r\nexport function useMarkAllMessagesAsRead() {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation({\r\n mutationFn: () => safeServerAction(markAllMessagesAsReadAction),\r\n onSuccess: () => {\r\n queryClient.invalidateQueries({ queryKey: MESSAGES_QUERY_KEY });\r\n },\r\n });\r\n}\r\n"],"mappings":";AAEA,SAAS,aAAa,UAAU,sBAAsB;AACtD,SAAS,0BAA0B;AACnC,SAAS,+BAA+B;AACxC,SAAS,mCAAmC;AAC5C,SAAS,wBAAwB;AAG1B,MAAM,qBAAqB,CAAC,UAAU;AAEtC,SAAS,YAAY,QAAsC;AAChE,SAAO,SAAS;AAAA,IACd,UAAU,CAAC,GAAG,oBAAoB,MAAM;AAAA,IACxC,SAAS,MAAM,iBAAiB,oBAAoB,MAAM;AAAA,EAC5D,CAAC;AACH;AAEO,SAAS,uBAAuB;AACrC,QAAM,cAAc,eAAe;AAEnC,SAAO,YAAY;AAAA,IACjB,YAAY,CAAC,cAAsB,iBAAiB,yBAAyB,SAAS;AAAA,IACtF,WAAW,MAAM;AACf,kBAAY,kBAAkB,EAAE,UAAU,mBAAmB,CAAC;AAAA,IAChE;AAAA,EACF,CAAC;AACH;AAEO,SAAS,2BAA2B;AACzC,QAAM,cAAc,eAAe;AAEnC,SAAO,YAAY;AAAA,IACjB,YAAY,MAAM,iBAAiB,2BAA2B;AAAA,IAC9D,WAAW,MAAM;AACf,kBAAY,kBAAkB,EAAE,UAAU,mBAAmB,CAAC;AAAA,IAChE;AAAA,EACF,CAAC;AACH;","names":[]}
@@ -0,0 +1,21 @@
1
+ import { z } from "zod";
2
+ const MessageSchema = z.object({
3
+ id: z.string(),
4
+ deleted: z.number(),
5
+ datetime_alt: z.string().nullable(),
6
+ datetime_del: z.string().nullable(),
7
+ datetime_add: z.string(),
8
+ id_wl: z.number(),
9
+ id_account: z.number(),
10
+ id_user: z.number(),
11
+ status: z.number().nullable(),
12
+ type: z.string(),
13
+ subject: z.string(),
14
+ message: z.string(),
15
+ to: z.string(),
16
+ url: z.string()
17
+ });
18
+ export {
19
+ MessageSchema
20
+ };
21
+ //# sourceMappingURL=messages.schema.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/modules/users/schema/messages.schema.ts"],"sourcesContent":["import { z } from 'zod';\r\n\r\nexport const MessageSchema = z.object({\r\n id: z.string(),\r\n deleted: z.number(),\r\n datetime_alt: z.string().nullable(),\r\n datetime_del: z.string().nullable(),\r\n datetime_add: z.string(),\r\n id_wl: z.number(),\r\n id_account: z.number(),\r\n id_user: z.number(),\r\n status: z.number().nullable(),\r\n type: z.string(),\r\n subject: z.string(),\r\n message: z.string(),\r\n to: z.string(),\r\n url: z.string(),\r\n});\r\n\r\nexport type Message = z.infer<typeof MessageSchema>;\r\n\r\nexport interface FindMessagesParams {\r\n id_user: number;\r\n type: string;\r\n limit: number;\r\n page: number;\r\n order: 'asc' | 'desc';\r\n}\r\n\r\nexport interface ListMessagesApiResponse {\r\n status: 0 | 1;\r\n total: number;\r\n data: Message[];\r\n totalUnread: number;\r\n message?: string;\r\n}\r\n\r\nexport interface MarkAsReadApiResponse {\r\n status: 0 | 1;\r\n message?: string;\r\n}\r\n\r\nexport interface MarkAllAsReadApiResponse {\r\n status: 0 | 1;\r\n message?: string;\r\n}\r\n"],"mappings":"AAAA,SAAS,SAAS;AAEX,MAAM,gBAAgB,EAAE,OAAO;AAAA,EACpC,IAAI,EAAE,OAAO;AAAA,EACb,SAAS,EAAE,OAAO;AAAA,EAClB,cAAc,EAAE,OAAO,EAAE,SAAS;AAAA,EAClC,cAAc,EAAE,OAAO,EAAE,SAAS;AAAA,EAClC,cAAc,EAAE,OAAO;AAAA,EACvB,OAAO,EAAE,OAAO;AAAA,EAChB,YAAY,EAAE,OAAO;AAAA,EACrB,SAAS,EAAE,OAAO;AAAA,EAClB,QAAQ,EAAE,OAAO,EAAE,SAAS;AAAA,EAC5B,MAAM,EAAE,OAAO;AAAA,EACf,SAAS,EAAE,OAAO;AAAA,EAClB,SAAS,EAAE,OAAO;AAAA,EAClB,IAAI,EAAE,OAAO;AAAA,EACb,KAAK,EAAE,OAAO;AAChB,CAAC;","names":[]}
@@ -0,0 +1,11 @@
1
+ var UserProfile = /* @__PURE__ */ ((UserProfile2) => {
2
+ UserProfile2["viewer"] = "viewer";
3
+ UserProfile2["collaborator"] = "collaborator";
4
+ UserProfile2["admin"] = "admin";
5
+ UserProfile2["owner"] = "owner";
6
+ return UserProfile2;
7
+ })(UserProfile || {});
8
+ export {
9
+ UserProfile
10
+ };
11
+ //# sourceMappingURL=schema.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/modules/users/schema.ts"],"sourcesContent":["export enum UserProfile {\r\n viewer = 'viewer',\r\n collaborator = 'collaborator',\r\n admin = 'admin',\r\n owner = 'owner',\r\n}\r\n\r\nexport interface User {\r\n // Identificação\r\n id: number;\r\n id_wl: number;\r\n id_account: number;\r\n id_api: number;\r\n\r\n // Dados pessoais\r\n name: string;\r\n last_name: string;\r\n email: string;\r\n ddi: string;\r\n phone: string;\r\n rg: string | null;\r\n cpf: string | null;\r\n gender: number;\r\n\r\n // Autenticação e segurança\r\n two_factor_authentication: boolean;\r\n\r\n // Perfil e permissões\r\n profile: UserProfile;\r\n\r\n // Preferências\r\n language: string;\r\n receive_sms: boolean;\r\n receive_email: boolean;\r\n photo: string | null;\r\n\r\n // Metadados\r\n deleted: number;\r\n datetime_alt: string;\r\n datetime_del: string | null;\r\n datetime_add: string;\r\n\r\n total_projects: number;\r\n projects: { id: number; title: string }[];\r\n\r\n initials?: string;\r\n emailVerified?: boolean;\r\n createdAt?: string;\r\n updatedAt?: string;\r\n}\r\n\r\nexport interface GetUserDataResponse {\r\n status: 0 | 1;\r\n total: number;\r\n data: User[];\r\n}\r\n\r\nexport interface JWTPayload {\r\n session: {\r\n location: {\r\n continent: string;\r\n country: string;\r\n region: string;\r\n city: string;\r\n latitude: string;\r\n longitude: string;\r\n };\r\n ip: string;\r\n timezone: string;\r\n agent: string;\r\n code: string | null;\r\n };\r\n id_wl: string;\r\n id_account: number;\r\n id_user: number;\r\n iss: string;\r\n aud: string;\r\n iat: number;\r\n}\r\n"],"mappings":"AAAO,IAAK,cAAL,kBAAKA,iBAAL;AACL,EAAAA,aAAA,YAAS;AACT,EAAAA,aAAA,kBAAe;AACf,EAAAA,aAAA,WAAQ;AACR,EAAAA,aAAA,WAAQ;AAJE,SAAAA;AAAA,GAAA;","names":["UserProfile"]}
@@ -0,0 +1,35 @@
1
+ import "server-only";
2
+ import { api } from "../../../infra/api/client";
3
+ import { buildQueryParams } from "../../../infra/utils/params";
4
+ import { getUserContext } from "../../auth/utils/get-user-context";
5
+ class MessagesService {
6
+ async listMessages(params) {
7
+ const { id_account, id_user } = await getUserContext();
8
+ const query = buildQueryParams({
9
+ id_account,
10
+ id_user,
11
+ type: "notification",
12
+ limit: 20,
13
+ page: 1,
14
+ order: "desc",
15
+ ...params
16
+ });
17
+ const url = `/accounts/${id_account}/messages${query ? `?${query}` : ""}`;
18
+ return api.apps.get(url);
19
+ }
20
+ async markAsRead(messageId) {
21
+ const { id_account } = await getUserContext();
22
+ const url = `/accounts/${id_account}/messages/${messageId}/action/markAsRead`;
23
+ return api.apps.put(url);
24
+ }
25
+ async markAllAsRead() {
26
+ const { id_account, id_user } = await getUserContext();
27
+ const url = `/accounts/${id_account}/messages/action/markAllAsRead`;
28
+ return api.apps.put(url, { id_user });
29
+ }
30
+ }
31
+ const messagesService = new MessagesService();
32
+ export {
33
+ messagesService
34
+ };
35
+ //# sourceMappingURL=messages.service.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/modules/users/services/messages.service.ts"],"sourcesContent":["import 'server-only';\n\nimport { api } from '../../../infra/api/client';\nimport { buildQueryParams } from '../../../infra/utils/params';\nimport { getUserContext } from '../../auth/utils/get-user-context';\nimport {\n FindMessagesParams,\n ListMessagesApiResponse,\n MarkAsReadApiResponse,\n MarkAllAsReadApiResponse,\n} from '../schema/messages.schema';\n\nclass MessagesService {\n async listMessages(\n params?: Partial<FindMessagesParams>\n ): Promise<ListMessagesApiResponse> {\n const { id_account, id_user } = await getUserContext();\n\n const query = buildQueryParams({\n id_account,\n id_user,\n type: 'notification',\n limit: 20,\n page: 1,\n order: 'desc',\n ...params,\n });\n\n const url = `/accounts/${id_account}/messages${query ? `?${query}` : ''}`;\n return api.apps.get<ListMessagesApiResponse>(url);\n }\n\n async markAsRead(messageId: string): Promise<MarkAsReadApiResponse> {\n const { id_account } = await getUserContext();\n\n const url = `/accounts/${id_account}/messages/${messageId}/action/markAsRead`;\n return api.apps.put<MarkAsReadApiResponse>(url);\n }\n\n async markAllAsRead(): Promise<MarkAllAsReadApiResponse> {\n const { id_account, id_user } = await getUserContext();\n\n const url = `/accounts/${id_account}/messages/action/markAllAsRead`;\n return api.apps.put<MarkAllAsReadApiResponse>(url, { id_user });\n }\n}\n\nexport const messagesService = new MessagesService();\n"],"mappings":"AAAA,OAAO;AAEP,SAAS,WAAW;AACpB,SAAS,wBAAwB;AACjC,SAAS,sBAAsB;AAQ/B,MAAM,gBAAgB;AAAA,EACpB,MAAM,aACJ,QACkC;AAClC,UAAM,EAAE,YAAY,QAAQ,IAAI,MAAM,eAAe;AAErD,UAAM,QAAQ,iBAAiB;AAAA,MAC7B;AAAA,MACA;AAAA,MACA,MAAM;AAAA,MACN,OAAO;AAAA,MACP,MAAM;AAAA,MACN,OAAO;AAAA,MACP,GAAG;AAAA,IACL,CAAC;AAED,UAAM,MAAM,aAAa,UAAU,YAAY,QAAQ,IAAI,KAAK,KAAK,EAAE;AACvE,WAAO,IAAI,KAAK,IAA6B,GAAG;AAAA,EAClD;AAAA,EAEA,MAAM,WAAW,WAAmD;AAClE,UAAM,EAAE,WAAW,IAAI,MAAM,eAAe;AAE5C,UAAM,MAAM,aAAa,UAAU,aAAa,SAAS;AACzD,WAAO,IAAI,KAAK,IAA2B,GAAG;AAAA,EAChD;AAAA,EAEA,MAAM,gBAAmD;AACvD,UAAM,EAAE,YAAY,QAAQ,IAAI,MAAM,eAAe;AAErD,UAAM,MAAM,aAAa,UAAU;AACnC,WAAO,IAAI,KAAK,IAA8B,KAAK,EAAE,QAAQ,CAAC;AAAA,EAChE;AACF;AAEO,MAAM,kBAAkB,IAAI,gBAAgB;","names":[]}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=schema.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,98 @@
1
+ "use client";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import {
4
+ createContext,
5
+ useCallback,
6
+ useContext,
7
+ useMemo
8
+ } from "react";
9
+ import {
10
+ useUserQuery,
11
+ useSetUserData,
12
+ useInvalidateUser,
13
+ useUserValidateSession
14
+ } from "../modules/auth/hooks/useUserQuery";
15
+ import { useLogin } from "../modules/auth/hooks/login.hook";
16
+ import { useRegister } from "../modules/auth/hooks/register.hook";
17
+ import { useLogout } from "../modules/auth/hooks/logout.hook";
18
+ import {
19
+ useCurrentAccount,
20
+ useInvalidateAccount
21
+ } from "../modules/accounts/hooks/current-account.hook";
22
+ import { useRouter } from "next/navigation";
23
+ const AuthContext = createContext(
24
+ void 0
25
+ );
26
+ function AuthProvider({ children }) {
27
+ const { data: user, isLoading: isQueryLoading } = useUserQuery();
28
+ const { data: account, isLoading: isAccountLoading } = useCurrentAccount();
29
+ const { isLoading: isSessionLoading } = useUserValidateSession();
30
+ const setUserData = useSetUserData();
31
+ const invalidateUser = useInvalidateUser();
32
+ const invalidateAccount = useInvalidateAccount();
33
+ const router = useRouter();
34
+ const { mutateAsync: loginMutate, isPending: isLogging } = useLogin();
35
+ const { mutateAsync: registerMutate, isPending: isRegistering } = useRegister();
36
+ const { mutateAsync: logoutMutate, isPending: isLoggingOut } = useLogout();
37
+ const isAuthenticated = !!user;
38
+ const isLoading = isLogging || isRegistering || isLoggingOut || isQueryLoading || isAccountLoading || isSessionLoading;
39
+ const login = useCallback(
40
+ async (credentials) => {
41
+ const data = await loginMutate(credentials);
42
+ if (data.result === "two_factor_required") {
43
+ return { result: "two_factor_required", cookie: data.cookie };
44
+ }
45
+ invalidateUser();
46
+ invalidateAccount();
47
+ setUserData(data.user);
48
+ return { result: "success" };
49
+ },
50
+ [setUserData, invalidateUser, invalidateAccount]
51
+ );
52
+ const register = useCallback(
53
+ async (data) => {
54
+ await registerMutate(data, {
55
+ onSuccess: (data2) => {
56
+ invalidateUser();
57
+ invalidateAccount();
58
+ setUserData(data2.user);
59
+ }
60
+ });
61
+ },
62
+ [setUserData, invalidateUser, invalidateAccount]
63
+ );
64
+ const logout = useCallback(async () => {
65
+ await logoutMutate(void 0, {
66
+ onSuccess: () => {
67
+ invalidateUser();
68
+ router.push("/login");
69
+ }
70
+ });
71
+ }, [setUserData]);
72
+ const value = useMemo(
73
+ () => ({
74
+ user: user ?? null,
75
+ account: account ?? null,
76
+ isAuthenticated,
77
+ isLoading,
78
+ login,
79
+ register,
80
+ logout
81
+ }),
82
+ [user, isAuthenticated, isLoading, login, register, logout]
83
+ );
84
+ return /* @__PURE__ */ jsx(AuthContext.Provider, { value, children });
85
+ }
86
+ function useAuth() {
87
+ const context = useContext(AuthContext);
88
+ if (context === void 0) {
89
+ throw new Error("useAuth deve ser usado dentro de um AuthProvider");
90
+ }
91
+ return context;
92
+ }
93
+ export {
94
+ AuthContext,
95
+ AuthProvider,
96
+ useAuth
97
+ };
98
+ //# sourceMappingURL=auth.provider.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/providers/auth.provider.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport {\r\n createContext,\r\n ReactNode,\r\n useCallback,\r\n useContext,\r\n useMemo,\r\n} from \"react\";\r\nimport {\r\n useUserQuery,\r\n useSetUserData,\r\n useInvalidateUser,\r\n useUserValidateSession,\r\n} from \"../modules/auth/hooks/useUserQuery\";\r\nimport { useLogin } from \"../modules/auth/hooks/login.hook\";\r\nimport { useRegister } from \"../modules/auth/hooks/register.hook\";\r\nimport { useLogout } from \"../modules/auth/hooks/logout.hook\";\r\nimport {\r\n AuthState,\r\n LoginRequest,\r\n RegisterRequest,\r\n} from \"../modules/auth/schema\";\r\n\r\nexport type LoginResult =\r\n | { result: \"success\" }\r\n | { result: \"two_factor_required\"; cookie: string }\r\n | { result: \"error\"; message: string };\r\nimport {\r\n useCurrentAccount,\r\n useInvalidateAccount,\r\n} from \"../modules/accounts/hooks/current-account.hook\";\r\nimport { useRouter } from \"next/navigation\";\r\n\r\ninterface AuthContextProps extends AuthState {\r\n login: (credentials: LoginRequest) => Promise<LoginResult>;\r\n register: (data: RegisterRequest) => Promise<void>;\r\n logout: () => Promise<void>;\r\n}\r\n\r\nexport const AuthContext = createContext<AuthContextProps | undefined>(\r\n undefined\r\n);\r\n\r\ninterface AuthProviderProps {\r\n children: ReactNode;\r\n}\r\n\r\nexport function AuthProvider({ children }: AuthProviderProps) {\r\n const { data: user, isLoading: isQueryLoading } = useUserQuery();\r\n const { data: account, isLoading: isAccountLoading } = useCurrentAccount();\r\n const { isLoading: isSessionLoading } = useUserValidateSession();\r\n\r\n const setUserData = useSetUserData();\r\n const invalidateUser = useInvalidateUser();\r\n const invalidateAccount = useInvalidateAccount();\r\n\r\n const router = useRouter();\r\n\r\n const { mutateAsync: loginMutate, isPending: isLogging } = useLogin();\r\n const { mutateAsync: registerMutate, isPending: isRegistering } =\r\n useRegister();\r\n const { mutateAsync: logoutMutate, isPending: isLoggingOut } = useLogout();\r\n\r\n const isAuthenticated = !!user;\r\n const isLoading =\r\n isLogging ||\r\n isRegistering ||\r\n isLoggingOut ||\r\n isQueryLoading ||\r\n isAccountLoading ||\r\n isSessionLoading;\r\n\r\n const login = useCallback(\r\n async (credentials: LoginRequest): Promise<LoginResult> => {\r\n const data = await loginMutate(credentials);\r\n\r\n if (data.result === \"two_factor_required\") {\r\n return { result: \"two_factor_required\", cookie: data.cookie };\r\n }\r\n\r\n invalidateUser();\r\n invalidateAccount();\r\n\r\n setUserData(data.user);\r\n\r\n return { result: \"success\" };\r\n },\r\n [setUserData, invalidateUser, invalidateAccount]\r\n );\r\n\r\n const register = useCallback(\r\n async (data: RegisterRequest): Promise<void> => {\r\n await registerMutate(data, {\r\n onSuccess: (data) => {\r\n invalidateUser();\r\n invalidateAccount();\r\n setUserData(data.user);\r\n },\r\n });\r\n },\r\n [setUserData, invalidateUser, invalidateAccount]\r\n );\r\n\r\n const logout = useCallback(async (): Promise<void> => {\r\n await logoutMutate(undefined, {\r\n onSuccess: () => {\r\n invalidateUser();\r\n router.push(\"/login\");\r\n },\r\n });\r\n }, [setUserData]);\r\n\r\n const value: AuthContextProps = useMemo(\r\n () => ({\r\n user: user ?? null,\r\n account: account ?? null,\r\n isAuthenticated,\r\n isLoading,\r\n login,\r\n register,\r\n logout,\r\n }),\r\n [user, isAuthenticated, isLoading, login, register, logout]\r\n );\r\n\r\n return <AuthContext.Provider value={value}>{children}</AuthContext.Provider>;\r\n}\r\n\r\nexport function useAuth(): AuthContextProps {\r\n const context = useContext(AuthContext);\r\n\r\n if (context === undefined) {\r\n throw new Error(\"useAuth deve ser usado dentro de um AuthProvider\");\r\n }\r\n\r\n return context;\r\n}\r\n"],"mappings":";AA8HS;AA5HT;AAAA,EACE;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,gBAAgB;AACzB,SAAS,mBAAmB;AAC5B,SAAS,iBAAiB;AAW1B;AAAA,EACE;AAAA,EACA;AAAA,OACK;AACP,SAAS,iBAAiB;AAQnB,MAAM,cAAc;AAAA,EACzB;AACF;AAMO,SAAS,aAAa,EAAE,SAAS,GAAsB;AAC5D,QAAM,EAAE,MAAM,MAAM,WAAW,eAAe,IAAI,aAAa;AAC/D,QAAM,EAAE,MAAM,SAAS,WAAW,iBAAiB,IAAI,kBAAkB;AACzE,QAAM,EAAE,WAAW,iBAAiB,IAAI,uBAAuB;AAE/D,QAAM,cAAc,eAAe;AACnC,QAAM,iBAAiB,kBAAkB;AACzC,QAAM,oBAAoB,qBAAqB;AAE/C,QAAM,SAAS,UAAU;AAEzB,QAAM,EAAE,aAAa,aAAa,WAAW,UAAU,IAAI,SAAS;AACpE,QAAM,EAAE,aAAa,gBAAgB,WAAW,cAAc,IAC5D,YAAY;AACd,QAAM,EAAE,aAAa,cAAc,WAAW,aAAa,IAAI,UAAU;AAEzE,QAAM,kBAAkB,CAAC,CAAC;AAC1B,QAAM,YACJ,aACA,iBACA,gBACA,kBACA,oBACA;AAEF,QAAM,QAAQ;AAAA,IACZ,OAAO,gBAAoD;AACzD,YAAM,OAAO,MAAM,YAAY,WAAW;AAE1C,UAAI,KAAK,WAAW,uBAAuB;AACzC,eAAO,EAAE,QAAQ,uBAAuB,QAAQ,KAAK,OAAO;AAAA,MAC9D;AAEA,qBAAe;AACf,wBAAkB;AAElB,kBAAY,KAAK,IAAI;AAErB,aAAO,EAAE,QAAQ,UAAU;AAAA,IAC7B;AAAA,IACA,CAAC,aAAa,gBAAgB,iBAAiB;AAAA,EACjD;AAEA,QAAM,WAAW;AAAA,IACf,OAAO,SAAyC;AAC9C,YAAM,eAAe,MAAM;AAAA,QACzB,WAAW,CAACA,UAAS;AACnB,yBAAe;AACf,4BAAkB;AAClB,sBAAYA,MAAK,IAAI;AAAA,QACvB;AAAA,MACF,CAAC;AAAA,IACH;AAAA,IACA,CAAC,aAAa,gBAAgB,iBAAiB;AAAA,EACjD;AAEA,QAAM,SAAS,YAAY,YAA2B;AACpD,UAAM,aAAa,QAAW;AAAA,MAC5B,WAAW,MAAM;AACf,uBAAe;AACf,eAAO,KAAK,QAAQ;AAAA,MACtB;AAAA,IACF,CAAC;AAAA,EACH,GAAG,CAAC,WAAW,CAAC;AAEhB,QAAM,QAA0B;AAAA,IAC9B,OAAO;AAAA,MACL,MAAM,QAAQ;AAAA,MACd,SAAS,WAAW;AAAA,MACpB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,CAAC,MAAM,iBAAiB,WAAW,OAAO,UAAU,MAAM;AAAA,EAC5D;AAEA,SAAO,oBAAC,YAAY,UAAZ,EAAqB,OAAe,UAAS;AACvD;AAEO,SAAS,UAA4B;AAC1C,QAAM,UAAU,WAAW,WAAW;AAEtC,MAAI,YAAY,QAAW;AACzB,UAAM,IAAI,MAAM,kDAAkD;AAAA,EACpE;AAEA,SAAO;AACT;","names":["data"]}
@@ -0,0 +1,41 @@
1
+ "use client";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import {
4
+ QueryCache,
5
+ QueryClient,
6
+ QueryClientProvider
7
+ } from "@tanstack/react-query";
8
+ import { useState } from "react";
9
+ import dynamic from "next/dynamic";
10
+ import { toast } from "sonner";
11
+ const ReactQueryDevtools = process.env.NODE_ENV === "development" ? dynamic(
12
+ () => import("@tanstack/react-query-devtools").then((mod) => ({
13
+ default: mod.ReactQueryDevtools
14
+ })),
15
+ { ssr: false }
16
+ ) : () => null;
17
+ function QueryProvider({ children }) {
18
+ const [queryClient] = useState(
19
+ () => new QueryClient({
20
+ defaultOptions: {
21
+ queries: {
22
+ staleTime: 60 * 1e3,
23
+ refetchOnWindowFocus: false
24
+ }
25
+ },
26
+ queryCache: new QueryCache({
27
+ onError: (error) => {
28
+ toast.error(error.message);
29
+ }
30
+ })
31
+ })
32
+ );
33
+ return /* @__PURE__ */ jsxs(QueryClientProvider, { client: queryClient, children: [
34
+ children,
35
+ /* @__PURE__ */ jsx(ReactQueryDevtools, { initialIsOpen: false })
36
+ ] });
37
+ }
38
+ export {
39
+ QueryProvider
40
+ };
41
+ //# sourceMappingURL=query.provider.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/providers/query.provider.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport {\r\n QueryCache,\r\n QueryClient,\r\n QueryClientProvider,\r\n} from \"@tanstack/react-query\";\r\nimport { ReactNode, useState } from \"react\";\r\nimport dynamic from \"next/dynamic\";\r\nimport { toast } from \"sonner\";\r\n\r\n// React Query Devtools só em desenvolvimento - remove do bundle de produção\r\nconst ReactQueryDevtools =\r\n process.env.NODE_ENV === \"development\"\r\n ? dynamic(\r\n () =>\r\n import(\"@tanstack/react-query-devtools\").then((mod) => ({\r\n default: mod.ReactQueryDevtools,\r\n })),\r\n { ssr: false },\r\n )\r\n : () => null;\r\n\r\ninterface QueryProviderProps {\r\n children: ReactNode;\r\n}\r\n\r\nexport function QueryProvider({ children }: QueryProviderProps) {\r\n const [queryClient] = useState(\r\n () =>\r\n new QueryClient({\r\n defaultOptions: {\r\n queries: {\r\n staleTime: 60 * 1000,\r\n refetchOnWindowFocus: false,\r\n },\r\n },\r\n queryCache: new QueryCache({\r\n onError: (error) => {\r\n toast.error(error.message);\r\n },\r\n }),\r\n }),\r\n );\r\n\r\n return (\r\n <QueryClientProvider client={queryClient}>\r\n {children}\r\n <ReactQueryDevtools initialIsOpen={false} />\r\n </QueryClientProvider>\r\n );\r\n}\r\n"],"mappings":";AA8CI,SAEE,KAFF;AA5CJ;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAoB,gBAAgB;AACpC,OAAO,aAAa;AACpB,SAAS,aAAa;AAGtB,MAAM,qBACJ,QAAQ,IAAI,aAAa,gBACrB;AAAA,EACE,MACE,OAAO,gCAAgC,EAAE,KAAK,CAAC,SAAS;AAAA,IACtD,SAAS,IAAI;AAAA,EACf,EAAE;AAAA,EACJ,EAAE,KAAK,MAAM;AACf,IACA,MAAM;AAML,SAAS,cAAc,EAAE,SAAS,GAAuB;AAC9D,QAAM,CAAC,WAAW,IAAI;AAAA,IACpB,MACE,IAAI,YAAY;AAAA,MACd,gBAAgB;AAAA,QACd,SAAS;AAAA,UACP,WAAW,KAAK;AAAA,UAChB,sBAAsB;AAAA,QACxB;AAAA,MACF;AAAA,MACA,YAAY,IAAI,WAAW;AAAA,QACzB,SAAS,CAAC,UAAU;AAClB,gBAAM,MAAM,MAAM,OAAO;AAAA,QAC3B;AAAA,MACF,CAAC;AAAA,IACH,CAAC;AAAA,EACL;AAEA,SACE,qBAAC,uBAAoB,QAAQ,aAC1B;AAAA;AAAA,IACD,oBAAC,sBAAmB,eAAe,OAAO;AAAA,KAC5C;AAEJ;","names":[]}
@@ -0,0 +1,34 @@
1
+ "use client";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import { createContext, useContext } from "react";
4
+ const WhitelabelContext = createContext(
5
+ void 0
6
+ );
7
+ function WhitelabelProvider({
8
+ children,
9
+ whitelabel
10
+ }) {
11
+ return /* @__PURE__ */ jsx(
12
+ WhitelabelContext.Provider,
13
+ {
14
+ value: {
15
+ whitelabel
16
+ },
17
+ children
18
+ }
19
+ );
20
+ }
21
+ function useWhitelabel() {
22
+ const context = useContext(WhitelabelContext);
23
+ if (context === void 0) {
24
+ throw new Error(
25
+ "useWhitelabel deve ser usado dentro de um WhitelabelProvider"
26
+ );
27
+ }
28
+ return context;
29
+ }
30
+ export {
31
+ WhitelabelProvider,
32
+ useWhitelabel
33
+ };
34
+ //# sourceMappingURL=whitelabel.provider.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/providers/whitelabel.provider.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport { createContext, ReactNode, useContext } from \"react\";\r\nimport { WhitelabelData } from \"../modules/whitelabel/schema\";\r\n\r\ninterface WhitelabelContextProps {\r\n whitelabel: WhitelabelData | null;\r\n}\r\n\r\nconst WhitelabelContext = createContext<WhitelabelContextProps | undefined>(\r\n undefined,\r\n);\r\n\r\ninterface WhitelabelProviderProps {\r\n children: ReactNode;\r\n whitelabel: WhitelabelData | null;\r\n}\r\n\r\nexport function WhitelabelProvider({\r\n children,\r\n whitelabel,\r\n}: WhitelabelProviderProps) {\r\n return (\r\n <WhitelabelContext.Provider\r\n value={{\r\n whitelabel,\r\n }}\r\n >\r\n {children}\r\n </WhitelabelContext.Provider>\r\n );\r\n}\r\n\r\nexport function useWhitelabel(): WhitelabelContextProps {\r\n const context = useContext(WhitelabelContext);\r\n\r\n if (context === undefined) {\r\n throw new Error(\r\n \"useWhitelabel deve ser usado dentro de um WhitelabelProvider\",\r\n );\r\n }\r\n\r\n return context;\r\n}\r\n"],"mappings":";AAuBI;AArBJ,SAAS,eAA0B,kBAAkB;AAOrD,MAAM,oBAAoB;AAAA,EACxB;AACF;AAOO,SAAS,mBAAmB;AAAA,EACjC;AAAA,EACA;AACF,GAA4B;AAC1B,SACE;AAAA,IAAC,kBAAkB;AAAA,IAAlB;AAAA,MACC,OAAO;AAAA,QACL;AAAA,MACF;AAAA,MAEC;AAAA;AAAA,EACH;AAEJ;AAEO,SAAS,gBAAwC;AACtD,QAAM,UAAU,WAAW,iBAAiB;AAE5C,MAAI,YAAY,QAAW;AACzB,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AACT;","names":[]}
@@ -0,0 +1,74 @@
1
+ import "server-only";
2
+ import { ApiClient, api, apiClient } from "./infra/api/client";
3
+ import { authService } from "./modules/auth/services/auth.service";
4
+ import { whitelabelService } from "./modules/whitelabel/services/whitelabel.service";
5
+ import { subscriptionsService } from "./modules/subscriptions/services/subscriptions.service";
6
+ import { iaCreditsService } from "./modules/ia-credits/services/ia-credits.service";
7
+ import { findWhitelabel } from "./modules/whitelabel/actions/find-whitelabel.action";
8
+ import { validateSessionAction } from "./modules/auth/actions/validate-session.action";
9
+ import { listSubscriptionsAction } from "./modules/subscriptions/actions/list-subscriptions.action";
10
+ import { listIaCreditsAction } from "./modules/ia-credits/actions/list-ia-credits.action";
11
+ import { projectUsersService } from "./modules/projects/services/project-users.service";
12
+ import { listProjectUsersAction } from "./modules/projects/actions/list-project-users.action";
13
+ import { listAvailableUsersAction } from "./modules/projects/actions/list-available-users.action";
14
+ import { addProjectUserAction } from "./modules/projects/actions/add-project-user.action";
15
+ import { removeProjectUserAction } from "./modules/projects/actions/remove-project-user.action";
16
+ import { accountService } from "./modules/accounts/services/account.service";
17
+ import { twoFactorService } from "./modules/accounts/services/two-factor.service";
18
+ import {
19
+ listAccountUsersAction,
20
+ updateUserAction,
21
+ updateAccountAction,
22
+ updateAccountUserByIdAction,
23
+ deleteAccountUserAction,
24
+ deleteAccountAction,
25
+ createAccountUserAction,
26
+ changePasswordAction,
27
+ requestEmailChangeAction,
28
+ confirmEmailChangeAction,
29
+ requestPhoneChangeAction,
30
+ confirmPhoneChangeAction,
31
+ generateTwoFactorAction,
32
+ confirmTwoFactorAction,
33
+ disableTwoFactorAction
34
+ } from "./modules/accounts/actions/account-management.action";
35
+ import { getClientInfoFromRequest } from "./infra/utils/client-info";
36
+ import { getUserContext } from "./modules/auth/utils/get-user-context";
37
+ export {
38
+ ApiClient,
39
+ accountService,
40
+ addProjectUserAction,
41
+ api,
42
+ apiClient,
43
+ authService,
44
+ changePasswordAction,
45
+ confirmEmailChangeAction,
46
+ confirmPhoneChangeAction,
47
+ confirmTwoFactorAction,
48
+ createAccountUserAction,
49
+ deleteAccountAction,
50
+ deleteAccountUserAction,
51
+ disableTwoFactorAction,
52
+ findWhitelabel,
53
+ generateTwoFactorAction,
54
+ getClientInfoFromRequest,
55
+ getUserContext,
56
+ iaCreditsService,
57
+ listAccountUsersAction,
58
+ listAvailableUsersAction,
59
+ listIaCreditsAction,
60
+ listProjectUsersAction,
61
+ listSubscriptionsAction,
62
+ projectUsersService,
63
+ removeProjectUserAction,
64
+ requestEmailChangeAction,
65
+ requestPhoneChangeAction,
66
+ subscriptionsService,
67
+ twoFactorService,
68
+ updateAccountAction,
69
+ updateAccountUserByIdAction,
70
+ updateUserAction,
71
+ validateSessionAction,
72
+ whitelabelService
73
+ };
74
+ //# sourceMappingURL=server.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/server.ts"],"sourcesContent":["import 'server-only';\r\n\r\n// API Client\r\nexport { ApiClient, api, apiClient } from './infra/api/client';\r\n\r\n// Services\r\nexport { authService } from './modules/auth/services/auth.service';\r\nexport { whitelabelService } from './modules/whitelabel/services/whitelabel.service';\r\nexport { subscriptionsService } from './modules/subscriptions/services/subscriptions.service';\r\nexport { iaCreditsService } from './modules/ia-credits/services/ia-credits.service';\r\n\r\n// Actions\r\nexport { findWhitelabel } from './modules/whitelabel/actions/find-whitelabel.action';\r\nexport { validateSessionAction } from './modules/auth/actions/validate-session.action';\r\nexport { listSubscriptionsAction } from './modules/subscriptions/actions/list-subscriptions.action';\r\nexport { listIaCreditsAction } from './modules/ia-credits/actions/list-ia-credits.action';\r\n\r\n// Project Users Services & Actions (server-only)\r\nexport { projectUsersService } from './modules/projects/services/project-users.service';\r\nexport { listProjectUsersAction } from './modules/projects/actions/list-project-users.action';\r\nexport { listAvailableUsersAction } from './modules/projects/actions/list-available-users.action';\r\nexport { addProjectUserAction } from './modules/projects/actions/add-project-user.action';\r\nexport { removeProjectUserAction } from './modules/projects/actions/remove-project-user.action';\r\n\r\n// Account Services & Actions (server-only)\r\nexport { accountService } from './modules/accounts/services/account.service';\r\nexport { twoFactorService } from './modules/accounts/services/two-factor.service';\r\nexport {\r\n listAccountUsersAction,\r\n updateUserAction,\r\n updateAccountAction,\r\n updateAccountUserByIdAction,\r\n deleteAccountUserAction,\r\n deleteAccountAction,\r\n createAccountUserAction,\r\n changePasswordAction,\r\n requestEmailChangeAction,\r\n confirmEmailChangeAction,\r\n requestPhoneChangeAction,\r\n confirmPhoneChangeAction,\r\n generateTwoFactorAction,\r\n confirmTwoFactorAction,\r\n disableTwoFactorAction,\r\n} from './modules/accounts/actions/account-management.action';\r\n\r\n// Server Utils\r\nexport { getClientInfoFromRequest } from './infra/utils/client-info';\r\nexport { getUserContext } from './modules/auth/utils/get-user-context';\r\n"],"mappings":"AAAA,OAAO;AAGP,SAAS,WAAW,KAAK,iBAAiB;AAG1C,SAAS,mBAAmB;AAC5B,SAAS,yBAAyB;AAClC,SAAS,4BAA4B;AACrC,SAAS,wBAAwB;AAGjC,SAAS,sBAAsB;AAC/B,SAAS,6BAA6B;AACtC,SAAS,+BAA+B;AACxC,SAAS,2BAA2B;AAGpC,SAAS,2BAA2B;AACpC,SAAS,8BAA8B;AACvC,SAAS,gCAAgC;AACzC,SAAS,4BAA4B;AACrC,SAAS,+BAA+B;AAGxC,SAAS,sBAAsB;AAC/B,SAAS,wBAAwB;AACjC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAGP,SAAS,gCAAgC;AACzC,SAAS,sBAAsB;","names":[]}
@@ -0,0 +1,18 @@
1
+ "use client";
2
+ import { create } from "zustand";
3
+ const useAccountModals = create((set) => ({
4
+ activeModal: null,
5
+ config: {},
6
+ initialSection: void 0,
7
+ pagesCount: 0,
8
+ updateConfig: (config) => set({ config }),
9
+ openConfigurations: (initialSection) => set({ activeModal: "configurations", initialSection }),
10
+ openDeleteAccount: (pagesCount = 0) => set({ activeModal: "deleteAccount", pagesCount }),
11
+ openIsntPossibleDelete: () => set({ activeModal: "isntPossibleDelete" }),
12
+ openConfirmDelete: (pagesCount = 0) => set({ activeModal: "confirmDelete", pagesCount }),
13
+ close: () => set({ activeModal: null, initialSection: void 0 })
14
+ }));
15
+ export {
16
+ useAccountModals
17
+ };
18
+ //# sourceMappingURL=useAccountModals.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/store/useAccountModals.ts"],"sourcesContent":["'use client';\n\nimport { create } from 'zustand';\nimport type { AccountSectionType } from '../enums/AccountSectionType';\n\ntype AccountModalType =\n | 'configurations'\n | 'deleteAccount'\n | 'isntPossibleDelete'\n | 'confirmDelete';\n\nexport interface AccountModalsConfig {\n hasActiveSubscription?: boolean;\n onGoToSubscription?: () => void;\n}\n\ninterface AccountModalsState {\n activeModal: AccountModalType | null;\n config: AccountModalsConfig;\n initialSection?: AccountSectionType;\n pagesCount: number;\n\n /** Called by <AccountModals> to keep app-level config in sync */\n updateConfig: (config: AccountModalsConfig) => void;\n\n openConfigurations: (initialSection?: AccountSectionType) => void;\n openDeleteAccount: (pagesCount?: number) => void;\n openIsntPossibleDelete: () => void;\n openConfirmDelete: (pagesCount?: number) => void;\n close: () => void;\n}\n\nexport const useAccountModals = create<AccountModalsState>((set) => ({\n activeModal: null,\n config: {},\n initialSection: undefined,\n pagesCount: 0,\n\n updateConfig: (config) => set({ config }),\n\n openConfigurations: (initialSection) =>\n set({ activeModal: 'configurations', initialSection }),\n\n openDeleteAccount: (pagesCount = 0) =>\n set({ activeModal: 'deleteAccount', pagesCount }),\n\n openIsntPossibleDelete: () =>\n set({ activeModal: 'isntPossibleDelete' }),\n\n openConfirmDelete: (pagesCount = 0) =>\n set({ activeModal: 'confirmDelete', pagesCount }),\n\n close: () =>\n set({ activeModal: null, initialSection: undefined }),\n}));\n"],"mappings":";AAEA,SAAS,cAAc;AA8BhB,MAAM,mBAAmB,OAA2B,CAAC,SAAS;AAAA,EACnE,aAAa;AAAA,EACb,QAAQ,CAAC;AAAA,EACT,gBAAgB;AAAA,EAChB,YAAY;AAAA,EAEZ,cAAc,CAAC,WAAW,IAAI,EAAE,OAAO,CAAC;AAAA,EAExC,oBAAoB,CAAC,mBACnB,IAAI,EAAE,aAAa,kBAAkB,eAAe,CAAC;AAAA,EAEvD,mBAAmB,CAAC,aAAa,MAC/B,IAAI,EAAE,aAAa,iBAAiB,WAAW,CAAC;AAAA,EAElD,wBAAwB,MACtB,IAAI,EAAE,aAAa,qBAAqB,CAAC;AAAA,EAE3C,mBAAmB,CAAC,aAAa,MAC/B,IAAI,EAAE,aAAa,iBAAiB,WAAW,CAAC;AAAA,EAElD,OAAO,MACL,IAAI,EAAE,aAAa,MAAM,gBAAgB,OAAU,CAAC;AACxD,EAAE;","names":[]}
@@ -0,0 +1,11 @@
1
+ import { create } from "zustand";
2
+ const useMdSidebarStore = create((set) => ({
3
+ isExpanded: false,
4
+ toggle: () => set((state) => ({ isExpanded: !state.isExpanded })),
5
+ expand: () => set({ isExpanded: true }),
6
+ collapse: () => set({ isExpanded: false })
7
+ }));
8
+ export {
9
+ useMdSidebarStore
10
+ };
11
+ //# sourceMappingURL=useMdSidebarStore.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/store/useMdSidebarStore.ts"],"sourcesContent":["import { create } from \"zustand\";\r\n\r\ntype MdSidebarStore = {\r\n isExpanded: boolean;\r\n toggle: () => void;\r\n expand: () => void;\r\n collapse: () => void;\r\n};\r\n\r\nexport const useMdSidebarStore = create<MdSidebarStore>((set) => ({\r\n isExpanded: false,\r\n toggle: () => set((state) => ({ isExpanded: !state.isExpanded })),\r\n expand: () => set({ isExpanded: true }),\r\n collapse: () => set({ isExpanded: false }),\r\n}));\r\n"],"mappings":"AAAA,SAAS,cAAc;AAShB,MAAM,oBAAoB,OAAuB,CAAC,SAAS;AAAA,EAC9D,YAAY;AAAA,EACZ,QAAQ,MAAM,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,MAAM,WAAW,EAAE;AAAA,EAChE,QAAQ,MAAM,IAAI,EAAE,YAAY,KAAK,CAAC;AAAA,EACtC,UAAU,MAAM,IAAI,EAAE,YAAY,MAAM,CAAC;AAC7C,EAAE;","names":[]}