@intlayer/design-system 8.10.1 → 8.11.0

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 (215) hide show
  1. package/dist/esm/api/hooks/ai.mjs +66 -0
  2. package/dist/esm/api/hooks/ai.mjs.map +1 -0
  3. package/dist/esm/api/hooks/audit.mjs +34 -0
  4. package/dist/esm/api/hooks/audit.mjs.map +1 -0
  5. package/dist/esm/api/hooks/auth.mjs +217 -0
  6. package/dist/esm/api/hooks/auth.mjs.map +1 -0
  7. package/dist/esm/api/hooks/bitbucket.mjs +39 -0
  8. package/dist/esm/api/hooks/bitbucket.mjs.map +1 -0
  9. package/dist/esm/api/hooks/dictionary.mjs +105 -0
  10. package/dist/esm/api/hooks/dictionary.mjs.map +1 -0
  11. package/dist/esm/api/hooks/discussions.mjs +37 -0
  12. package/dist/esm/api/hooks/discussions.mjs.map +1 -0
  13. package/dist/esm/api/hooks/editor.mjs +24 -0
  14. package/dist/esm/api/hooks/editor.mjs.map +1 -0
  15. package/dist/esm/api/hooks/github.mjs +54 -0
  16. package/dist/esm/api/hooks/github.mjs.map +1 -0
  17. package/dist/esm/api/hooks/gitlab.mjs +43 -0
  18. package/dist/esm/api/hooks/gitlab.mjs.map +1 -0
  19. package/dist/esm/api/hooks/newsletter.mjs +31 -0
  20. package/dist/esm/api/hooks/newsletter.mjs.map +1 -0
  21. package/dist/esm/api/hooks/organization.mjs +123 -0
  22. package/dist/esm/api/hooks/organization.mjs.map +1 -0
  23. package/dist/esm/api/hooks/project.mjs +187 -0
  24. package/dist/esm/api/hooks/project.mjs.map +1 -0
  25. package/dist/esm/api/hooks/reviewer.mjs +288 -0
  26. package/dist/esm/api/hooks/reviewer.mjs.map +1 -0
  27. package/dist/esm/api/hooks/search.mjs +18 -0
  28. package/dist/esm/api/hooks/search.mjs.map +1 -0
  29. package/dist/esm/api/hooks/showcaseProject.mjs +95 -0
  30. package/dist/esm/api/hooks/showcaseProject.mjs.map +1 -0
  31. package/dist/esm/api/hooks/stripe.mjs +261 -0
  32. package/dist/esm/api/hooks/stripe.mjs.map +1 -0
  33. package/dist/esm/api/hooks/tag.mjs +45 -0
  34. package/dist/esm/api/hooks/tag.mjs.map +1 -0
  35. package/dist/esm/api/hooks/translate.mjs +47 -0
  36. package/dist/esm/api/hooks/translate.mjs.map +1 -0
  37. package/dist/esm/api/hooks/user.mjs +58 -0
  38. package/dist/esm/api/hooks/user.mjs.map +1 -0
  39. package/dist/esm/api/hooks/utils.mjs +30 -0
  40. package/dist/esm/api/hooks/utils.mjs.map +1 -0
  41. package/dist/esm/api/index.mjs +26 -0
  42. package/dist/esm/{hooks → api}/useAuth/useAuth.mjs +1 -1
  43. package/dist/esm/api/useAuth/useAuth.mjs.map +1 -0
  44. package/dist/esm/{hooks → api}/useAuth/useOAuth2.mjs +3 -3
  45. package/dist/esm/api/useAuth/useOAuth2.mjs.map +1 -0
  46. package/dist/esm/{hooks → api}/useAuth/useSession.mjs +3 -4
  47. package/dist/esm/api/useAuth/useSession.mjs.map +1 -0
  48. package/dist/esm/api/useIntlayerAPI.mjs +123 -0
  49. package/dist/esm/api/useIntlayerAPI.mjs.map +1 -0
  50. package/dist/esm/{hooks → api}/useUser/index.mjs +2 -2
  51. package/dist/esm/api/useUser/index.mjs.map +1 -0
  52. package/dist/esm/components/Badge/index.mjs +1 -3
  53. package/dist/esm/components/Badge/index.mjs.map +1 -1
  54. package/dist/esm/components/Breadcrumb/index.mjs +0 -1
  55. package/dist/esm/components/Breadcrumb/index.mjs.map +1 -1
  56. package/dist/esm/components/Button/Button.mjs +3 -5
  57. package/dist/esm/components/Button/Button.mjs.map +1 -1
  58. package/dist/esm/components/Carousel/index.mjs +3 -3
  59. package/dist/esm/components/Carousel/index.mjs.map +1 -1
  60. package/dist/esm/components/ContentEditor/ContentEditorTextArea.mjs +1 -1
  61. package/dist/esm/components/ContentEditor/ContentEditorTextArea.mjs.map +1 -1
  62. package/dist/esm/components/DictionaryFieldEditor/ContentEditorView/TextEditor.mjs +1 -1
  63. package/dist/esm/components/DictionaryFieldEditor/ContentEditorView/TextEditor.mjs.map +1 -1
  64. package/dist/esm/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.mjs +3 -2
  65. package/dist/esm/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.mjs.map +1 -1
  66. package/dist/esm/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.mjs +4 -2
  67. package/dist/esm/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.mjs.map +1 -1
  68. package/dist/esm/components/DictionaryFieldEditor/SaveForm/SaveForm.mjs +3 -2
  69. package/dist/esm/components/DictionaryFieldEditor/SaveForm/SaveForm.mjs.map +1 -1
  70. package/dist/esm/components/ExpandCollapse/ExpandCollapse.mjs +2 -2
  71. package/dist/esm/components/ExpandCollapse/ExpandCollapse.mjs.map +1 -1
  72. package/dist/esm/components/IDE/FileList.mjs +1 -1
  73. package/dist/esm/components/IDE/FileList.mjs.map +1 -1
  74. package/dist/esm/components/IDE/IDE.mjs +1 -1
  75. package/dist/esm/components/IDE/IDE.mjs.map +1 -1
  76. package/dist/esm/components/Input/Checkbox.mjs +1 -3
  77. package/dist/esm/components/Input/Checkbox.mjs.map +1 -1
  78. package/dist/esm/components/Label/index.mjs +2 -2
  79. package/dist/esm/components/Label/index.mjs.map +1 -1
  80. package/dist/esm/components/LanguageBackground/LanguageSection.mjs +8 -6
  81. package/dist/esm/components/LanguageBackground/LanguageSection.mjs.map +1 -1
  82. package/dist/esm/components/LanguageBackground/index.mjs +13 -5
  83. package/dist/esm/components/LanguageBackground/index.mjs.map +1 -1
  84. package/dist/esm/components/Link/Link.mjs +0 -7
  85. package/dist/esm/components/Link/Link.mjs.map +1 -1
  86. package/dist/esm/components/Loader/spinner.mjs +1 -1
  87. package/dist/esm/components/Loader/spinner.mjs.map +1 -1
  88. package/dist/esm/components/Pagination/Pagination.mjs +1 -2
  89. package/dist/esm/components/Pagination/Pagination.mjs.map +1 -1
  90. package/dist/esm/components/Popover/dynamic.mjs +2 -2
  91. package/dist/esm/components/Popover/dynamic.mjs.map +1 -1
  92. package/dist/esm/components/SwitchSelector/SwitchSelector.mjs +3 -5
  93. package/dist/esm/components/SwitchSelector/SwitchSelector.mjs.map +1 -1
  94. package/dist/esm/components/SwitchSelector/VerticalSwitchSelector.mjs +3 -3
  95. package/dist/esm/components/SwitchSelector/VerticalSwitchSelector.mjs.map +1 -1
  96. package/dist/esm/components/TabSelector/TabSelector.mjs +3 -3
  97. package/dist/esm/components/TabSelector/TabSelector.mjs.map +1 -1
  98. package/dist/esm/components/Tag/index.mjs +1 -1
  99. package/dist/esm/components/Tag/index.mjs.map +1 -1
  100. package/dist/esm/components/Terminal/Terminal.mjs +1 -1
  101. package/dist/esm/components/Terminal/Terminal.mjs.map +1 -1
  102. package/dist/esm/components/TextArea/AutoSizeTextArea.mjs +2 -2
  103. package/dist/esm/components/TextArea/AutoSizeTextArea.mjs.map +1 -1
  104. package/dist/esm/components/TextArea/ContentEditableTextArea.mjs +3 -3
  105. package/dist/esm/components/TextArea/ContentEditableTextArea.mjs.map +1 -1
  106. package/dist/esm/components/Toaster/Toast.mjs +3 -3
  107. package/dist/esm/components/Toaster/Toast.mjs.map +1 -1
  108. package/dist/esm/components/WithResizer/index.mjs +7 -2
  109. package/dist/esm/components/WithResizer/index.mjs.map +1 -1
  110. package/dist/esm/hooks/index.mjs +1 -7
  111. package/dist/esm/libs/auth.mjs +1 -1
  112. package/dist/esm/routes.mjs +23 -1
  113. package/dist/esm/routes.mjs.map +1 -1
  114. package/dist/types/api/hooks/ai.d.ts +12 -0
  115. package/dist/types/api/hooks/ai.d.ts.map +1 -0
  116. package/dist/types/api/hooks/audit.d.ts +10 -0
  117. package/dist/types/api/hooks/audit.d.ts.map +1 -0
  118. package/dist/types/api/hooks/auth.d.ts +29 -0
  119. package/dist/types/api/hooks/auth.d.ts.map +1 -0
  120. package/dist/types/api/hooks/bitbucket.d.ts +8 -0
  121. package/dist/types/api/hooks/bitbucket.d.ts.map +1 -0
  122. package/dist/types/api/hooks/dictionary.d.ts +15 -0
  123. package/dist/types/api/hooks/dictionary.d.ts.map +1 -0
  124. package/dist/types/api/hooks/discussions.d.ts +8 -0
  125. package/dist/types/api/hooks/discussions.d.ts.map +1 -0
  126. package/dist/types/api/hooks/editor.d.ts +6 -0
  127. package/dist/types/api/hooks/editor.d.ts.map +1 -0
  128. package/dist/types/api/hooks/github.d.ts +12 -0
  129. package/dist/types/api/hooks/github.d.ts.map +1 -0
  130. package/dist/types/api/hooks/gitlab.d.ts +8 -0
  131. package/dist/types/api/hooks/gitlab.d.ts.map +1 -0
  132. package/dist/types/api/hooks/newsletter.d.ts +7 -0
  133. package/dist/types/api/hooks/newsletter.d.ts.map +1 -0
  134. package/dist/types/api/hooks/organization.d.ts +16 -0
  135. package/dist/types/api/hooks/organization.d.ts.map +1 -0
  136. package/dist/types/api/hooks/project.d.ts +23 -0
  137. package/dist/types/api/hooks/project.d.ts.map +1 -0
  138. package/dist/types/api/hooks/reviewer.d.ts +39 -0
  139. package/dist/types/api/hooks/reviewer.d.ts.map +1 -0
  140. package/dist/types/api/hooks/search.d.ts +7 -0
  141. package/dist/types/api/hooks/search.d.ts.map +1 -0
  142. package/dist/types/api/hooks/showcaseProject.d.ts +16 -0
  143. package/dist/types/api/hooks/showcaseProject.d.ts.map +1 -0
  144. package/dist/types/api/hooks/stripe.d.ts +33 -0
  145. package/dist/types/api/hooks/stripe.d.ts.map +1 -0
  146. package/dist/types/api/hooks/tag.d.ts +11 -0
  147. package/dist/types/api/hooks/tag.d.ts.map +1 -0
  148. package/dist/types/api/hooks/translate.d.ts +8 -0
  149. package/dist/types/api/hooks/translate.d.ts.map +1 -0
  150. package/dist/types/api/hooks/user.d.ts +13 -0
  151. package/dist/types/api/hooks/user.d.ts.map +1 -0
  152. package/dist/types/api/hooks/utils.d.ts +23 -0
  153. package/dist/types/api/hooks/utils.d.ts.map +1 -0
  154. package/dist/types/api/index.d.ts +25 -0
  155. package/dist/types/{hooks → api}/useAuth/useAuth.d.ts +1 -1
  156. package/dist/types/api/useAuth/useAuth.d.ts.map +1 -0
  157. package/dist/types/{hooks → api}/useAuth/useOAuth2.d.ts +1 -1
  158. package/dist/types/api/useAuth/useOAuth2.d.ts.map +1 -0
  159. package/dist/types/{hooks → api}/useAuth/useSession.d.ts +1 -1
  160. package/dist/types/api/useAuth/useSession.d.ts.map +1 -0
  161. package/dist/types/api/useIntlayerAPI.d.ts +297 -0
  162. package/dist/types/api/useIntlayerAPI.d.ts.map +1 -0
  163. package/dist/types/{hooks → api}/useUser/index.d.ts +1 -1
  164. package/dist/types/api/useUser/index.d.ts.map +1 -0
  165. package/dist/types/components/Badge/index.d.ts +3 -4
  166. package/dist/types/components/Badge/index.d.ts.map +1 -1
  167. package/dist/types/components/Breadcrumb/index.d.ts.map +1 -1
  168. package/dist/types/components/Button/Button.d.ts +5 -6
  169. package/dist/types/components/Button/Button.d.ts.map +1 -1
  170. package/dist/types/components/Carousel/index.d.ts.map +1 -1
  171. package/dist/types/components/CollapsibleTable/CollapsibleTable.d.ts +1 -1
  172. package/dist/types/components/Container/index.d.ts +4 -4
  173. package/dist/types/components/DictionaryFieldEditor/ContentEditorView/TextEditor.d.ts.map +1 -1
  174. package/dist/types/components/ExpandCollapse/ExpandCollapse.d.ts.map +1 -1
  175. package/dist/types/components/Input/Checkbox.d.ts +1 -2
  176. package/dist/types/components/Input/Checkbox.d.ts.map +1 -1
  177. package/dist/types/components/LanguageBackground/index.d.ts.map +1 -1
  178. package/dist/types/components/Link/Link.d.ts +2 -3
  179. package/dist/types/components/Link/Link.d.ts.map +1 -1
  180. package/dist/types/components/Loader/spinner.d.ts +1 -1
  181. package/dist/types/components/Pagination/Pagination.d.ts +1 -1
  182. package/dist/types/components/Pagination/Pagination.d.ts.map +1 -1
  183. package/dist/types/components/SwitchSelector/SwitchSelector.d.ts +2 -3
  184. package/dist/types/components/SwitchSelector/SwitchSelector.d.ts.map +1 -1
  185. package/dist/types/components/SwitchSelector/VerticalSwitchSelector.d.ts +1 -1
  186. package/dist/types/components/SwitchSelector/VerticalSwitchSelector.d.ts.map +1 -1
  187. package/dist/types/components/TabSelector/TabSelector.d.ts +2 -2
  188. package/dist/types/components/TabSelector/TabSelector.d.ts.map +1 -1
  189. package/dist/types/components/Tag/index.d.ts +2 -2
  190. package/dist/types/components/TextArea/ContentEditableTextArea.d.ts.map +1 -1
  191. package/dist/types/components/Toaster/Toast.d.ts +1 -1
  192. package/dist/types/hooks/index.d.ts +1 -7
  193. package/dist/types/providers/ReactQueryProvider.d.ts +1 -1
  194. package/dist/types/routes.d.ts +23 -1
  195. package/dist/types/routes.d.ts.map +1 -1
  196. package/package.json +35 -30
  197. package/tailwind.css +0 -19
  198. package/dist/esm/hooks/reactQuery.mjs +0 -1187
  199. package/dist/esm/hooks/reactQuery.mjs.map +0 -1
  200. package/dist/esm/hooks/useAuth/useAuth.mjs.map +0 -1
  201. package/dist/esm/hooks/useAuth/useOAuth2.mjs.map +0 -1
  202. package/dist/esm/hooks/useAuth/useSession.mjs.map +0 -1
  203. package/dist/esm/hooks/useIntlayerAPI.mjs +0 -22
  204. package/dist/esm/hooks/useIntlayerAPI.mjs.map +0 -1
  205. package/dist/esm/hooks/useUser/index.mjs.map +0 -1
  206. package/dist/types/hooks/reactQuery.d.ts +0 -188
  207. package/dist/types/hooks/reactQuery.d.ts.map +0 -1
  208. package/dist/types/hooks/useAuth/useAuth.d.ts.map +0 -1
  209. package/dist/types/hooks/useAuth/useOAuth2.d.ts.map +0 -1
  210. package/dist/types/hooks/useAuth/useSession.d.ts.map +0 -1
  211. package/dist/types/hooks/useIntlayerAPI.d.ts +0 -14
  212. package/dist/types/hooks/useIntlayerAPI.d.ts.map +0 -1
  213. package/dist/types/hooks/useUser/index.d.ts.map +0 -1
  214. /package/dist/esm/{hooks → api}/useAuth/index.mjs +0 -0
  215. /package/dist/types/{hooks → api}/useAuth/index.d.ts +0 -0
@@ -0,0 +1,261 @@
1
+ 'use client';
2
+
3
+ import { useStripeAPI } from "../useIntlayerAPI.mjs";
4
+ import { useAppQuery } from "./utils.mjs";
5
+ import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query";
6
+
7
+ //#region src/api/hooks/stripe.ts
8
+ const useGetPricing = (body, options) => {
9
+ const stripeAPI = useStripeAPI();
10
+ return useQuery({
11
+ queryKey: ["pricing", body],
12
+ queryFn: ({ signal }) => stripeAPI.getPricing(body, { signal }),
13
+ ...options
14
+ });
15
+ };
16
+ const useGetSubscription = (body, options) => {
17
+ const stripeAPI = useStripeAPI();
18
+ return useAppQuery({
19
+ queryKey: ["subscription", body],
20
+ queryFn: ({ signal }) => stripeAPI.getSubscription(body, { signal }),
21
+ requireUser: true,
22
+ requireOrganization: true,
23
+ ...options
24
+ });
25
+ };
26
+ const useCancelSubscription = () => {
27
+ const stripeAPI = useStripeAPI();
28
+ return useMutation({
29
+ mutationKey: ["subscription"],
30
+ mutationFn: () => stripeAPI.cancelSubscription(),
31
+ meta: { invalidateQueries: [["session"], ["subscription"]] }
32
+ });
33
+ };
34
+ const useGetInvoices = (options) => {
35
+ const stripeAPI = useStripeAPI();
36
+ return useAppQuery({
37
+ queryKey: ["invoices"],
38
+ queryFn: ({ signal }) => stripeAPI.getInvoices({ signal }),
39
+ requireUser: true,
40
+ requireOrganization: true,
41
+ ...options
42
+ });
43
+ };
44
+ const useGetPaymentMethod = (options) => {
45
+ const stripeAPI = useStripeAPI();
46
+ return useAppQuery({
47
+ queryKey: ["paymentMethod"],
48
+ queryFn: ({ signal }) => stripeAPI.getPaymentMethod({ signal }),
49
+ requireUser: true,
50
+ requireOrganization: true,
51
+ ...options
52
+ });
53
+ };
54
+ const useCreatePortalSession = () => {
55
+ const stripeAPI = useStripeAPI();
56
+ return useMutation({
57
+ mutationKey: ["portalSession"],
58
+ mutationFn: () => stripeAPI.createPortalSession()
59
+ });
60
+ };
61
+ const useGetAffiliates = (params, options) => {
62
+ const stripeAPI = useStripeAPI();
63
+ return useAppQuery({
64
+ queryKey: ["affiliates", params],
65
+ queryFn: ({ signal }) => stripeAPI.getAffiliates(params, { signal }),
66
+ requireUser: true,
67
+ ...options
68
+ });
69
+ };
70
+ const useGetAffiliateInvitations = (params, options) => {
71
+ const stripeAPI = useStripeAPI();
72
+ return useAppQuery({
73
+ queryKey: ["affiliate-invitations", params],
74
+ queryFn: ({ signal }) => stripeAPI.getAffiliateInvitations(params, { signal }),
75
+ requireUser: true,
76
+ ...options
77
+ });
78
+ };
79
+ const useGetAffiliateById = (id, options) => {
80
+ const stripeAPI = useStripeAPI();
81
+ return useAppQuery({
82
+ queryKey: ["affiliates", id],
83
+ queryFn: ({ signal }) => stripeAPI.getAffiliateById({ id }, { signal }),
84
+ requireUser: true,
85
+ enabled: Boolean(id),
86
+ ...options
87
+ });
88
+ };
89
+ const useGetAffiliate = (options) => {
90
+ const stripeAPI = useStripeAPI();
91
+ return useAppQuery({
92
+ queryKey: ["affiliate"],
93
+ queryFn: ({ signal }) => stripeAPI.getAffiliate({ signal }),
94
+ requireUser: true,
95
+ ...options
96
+ });
97
+ };
98
+ const useGetAffiliateAccountSession = (options) => {
99
+ const stripeAPI = useStripeAPI();
100
+ return useAppQuery({
101
+ queryKey: ["affiliate", "account-session"],
102
+ queryFn: () => stripeAPI.getAffiliateAccountSession(),
103
+ requireUser: true,
104
+ ...options
105
+ });
106
+ };
107
+ const useGetAffiliateOnboardingLink = (options) => {
108
+ const stripeAPI = useStripeAPI();
109
+ return useAppQuery({
110
+ queryKey: ["affiliate", "onboarding-link"],
111
+ queryFn: () => stripeAPI.getAffiliateOnboardingLink(),
112
+ requireUser: true,
113
+ ...options
114
+ });
115
+ };
116
+ const useGetAffiliateStats = (options) => {
117
+ const stripeAPI = useStripeAPI();
118
+ return useAppQuery({
119
+ queryKey: ["affiliate", "stats"],
120
+ queryFn: ({ signal }) => stripeAPI.getAffiliateStats({ signal }),
121
+ requireUser: true,
122
+ ...options
123
+ });
124
+ };
125
+ const useGrantAffiliateAccess = () => {
126
+ const stripeAPI = useStripeAPI();
127
+ return useMutation({
128
+ mutationKey: ["affiliate", "grant"],
129
+ mutationFn: (body) => stripeAPI.grantAffiliateAccess(body),
130
+ meta: { invalidateQueries: [["affiliate"]] }
131
+ });
132
+ };
133
+ const useSendAffiliateInvitation = () => {
134
+ const stripeAPI = useStripeAPI();
135
+ return useMutation({
136
+ mutationKey: [
137
+ "affiliate",
138
+ "invitation",
139
+ "send"
140
+ ],
141
+ mutationFn: (body) => stripeAPI.sendAffiliateInvitation(body),
142
+ meta: { invalidateQueries: [["affiliate-invitations"]] }
143
+ });
144
+ };
145
+ const useGetAffiliateInvitation = (token, options) => {
146
+ const stripeAPI = useStripeAPI();
147
+ return useQuery({
148
+ queryKey: [
149
+ "affiliate",
150
+ "invitation",
151
+ token
152
+ ],
153
+ queryFn: () => stripeAPI.getAffiliateInvitation({ token }),
154
+ enabled: Boolean(token),
155
+ ...options
156
+ });
157
+ };
158
+ const useAcceptAffiliateInvitation = () => {
159
+ const stripeAPI = useStripeAPI();
160
+ const queryClient = useQueryClient();
161
+ return useMutation({
162
+ mutationKey: [
163
+ "affiliate",
164
+ "invitation",
165
+ "accept"
166
+ ],
167
+ mutationFn: ({ token, country, stripeAccountType }) => stripeAPI.acceptAffiliateInvitation({
168
+ token,
169
+ country,
170
+ stripeAccountType
171
+ }),
172
+ onSuccess: (_data, { token }) => {
173
+ queryClient.invalidateQueries({ queryKey: [
174
+ "affiliate",
175
+ "invitation",
176
+ token
177
+ ] });
178
+ queryClient.invalidateQueries({ queryKey: ["affiliate"] });
179
+ }
180
+ });
181
+ };
182
+ const useUpdateAffiliateStatus = () => {
183
+ const stripeAPI = useStripeAPI();
184
+ const queryClient = useQueryClient();
185
+ return useMutation({
186
+ mutationKey: ["affiliate", "update"],
187
+ mutationFn: ({ id, status }) => stripeAPI.updateAffiliateStatus({ id }, { status }),
188
+ onSuccess: (_data, { id }) => {
189
+ queryClient.invalidateQueries({ queryKey: ["affiliates", id] });
190
+ queryClient.invalidateQueries({ queryKey: ["affiliates"] });
191
+ }
192
+ });
193
+ };
194
+ const useGetPromoCodeById = (promoCodeId, options) => {
195
+ const stripeAPI = useStripeAPI();
196
+ return useAppQuery({
197
+ queryKey: ["promo-codes", promoCodeId],
198
+ queryFn: ({ signal }) => stripeAPI.getPromoCodeById(promoCodeId, { signal }),
199
+ enabled: Boolean(promoCodeId),
200
+ requireUser: true,
201
+ ...options
202
+ });
203
+ };
204
+ const useGetPromoCodes = (params = {}, options) => {
205
+ const stripeAPI = useStripeAPI();
206
+ return useAppQuery({
207
+ queryKey: ["promo-codes", params.affiliateId ?? "all"],
208
+ queryFn: ({ signal }) => stripeAPI.getPromoCodes(params, { signal }),
209
+ requireUser: true,
210
+ ...options
211
+ });
212
+ };
213
+ const useCreatePromoCode = () => {
214
+ const stripeAPI = useStripeAPI();
215
+ const queryClient = useQueryClient();
216
+ return useMutation({
217
+ mutationKey: ["promo-codes", "create"],
218
+ mutationFn: (body) => stripeAPI.createPromoCode(body),
219
+ onSuccess: () => {
220
+ queryClient.invalidateQueries({ queryKey: ["promo-codes"] });
221
+ }
222
+ });
223
+ };
224
+ const useUpdatePromoCode = () => {
225
+ const stripeAPI = useStripeAPI();
226
+ const queryClient = useQueryClient();
227
+ return useMutation({
228
+ mutationKey: ["promo-codes", "update"],
229
+ mutationFn: ({ id, ...body }) => stripeAPI.updatePromoCode({
230
+ id,
231
+ ...body
232
+ }),
233
+ onSuccess: () => {
234
+ queryClient.invalidateQueries({ queryKey: ["promo-codes"] });
235
+ }
236
+ });
237
+ };
238
+ const useDeletePromoCode = () => {
239
+ const stripeAPI = useStripeAPI();
240
+ const queryClient = useQueryClient();
241
+ return useMutation({
242
+ mutationKey: ["promo-codes", "delete"],
243
+ mutationFn: ({ id }) => stripeAPI.deletePromoCode({ id }),
244
+ onSuccess: () => {
245
+ queryClient.invalidateQueries({ queryKey: ["promo-codes"] });
246
+ }
247
+ });
248
+ };
249
+ const useGetAffiliatePromoCode = (referralCode, options) => {
250
+ const stripeAPI = useStripeAPI();
251
+ return useQuery({
252
+ queryKey: ["affiliate-promo-code", referralCode],
253
+ queryFn: () => stripeAPI.getAffiliatePromoCode(referralCode),
254
+ enabled: Boolean(referralCode),
255
+ ...options
256
+ });
257
+ };
258
+
259
+ //#endregion
260
+ export { useAcceptAffiliateInvitation, useCancelSubscription, useCreatePortalSession, useCreatePromoCode, useDeletePromoCode, useGetAffiliate, useGetAffiliateAccountSession, useGetAffiliateById, useGetAffiliateInvitation, useGetAffiliateInvitations, useGetAffiliateOnboardingLink, useGetAffiliatePromoCode, useGetAffiliateStats, useGetAffiliates, useGetInvoices, useGetPaymentMethod, useGetPricing, useGetPromoCodeById, useGetPromoCodes, useGetSubscription, useGrantAffiliateAccess, useSendAffiliateInvitation, useUpdateAffiliateStatus, useUpdatePromoCode };
261
+ //# sourceMappingURL=stripe.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stripe.mjs","names":[],"sources":["../../../../src/api/hooks/stripe.ts"],"sourcesContent":["'use client';\n\nimport type {\n CreatePromoCodeBody,\n GetAffiliatesParams,\n GetCheckoutSessionBody,\n GetPricingBody,\n GetPricingResult,\n GrantAffiliateAccessBody,\n SendAffiliateInvitationBody,\n UpdatePromoCodeBody,\n} from '@intlayer/backend';\nimport {\n type UseQueryOptions,\n useMutation,\n useQuery,\n useQueryClient,\n} from '@tanstack/react-query';\nimport { useStripeAPI } from '../useIntlayerAPI';\nimport { useAppQuery } from './utils';\n\nexport const useGetPricing = (\n body: GetPricingBody,\n options?: Partial<UseQueryOptions<GetPricingResult>>\n) => {\n const stripeAPI = useStripeAPI();\n\n return useQuery({\n queryKey: ['pricing', body],\n queryFn: ({ signal }) => stripeAPI.getPricing(body, { signal }),\n ...options,\n });\n};\n\nexport const useGetSubscription = (\n body: GetCheckoutSessionBody,\n options?: Partial<UseQueryOptions>\n) => {\n const stripeAPI = useStripeAPI();\n\n return useAppQuery({\n queryKey: ['subscription', body],\n queryFn: ({ signal }) => stripeAPI.getSubscription(body, { signal }),\n requireUser: true,\n requireOrganization: true,\n ...options,\n });\n};\n\nexport const useCancelSubscription = () => {\n const stripeAPI = useStripeAPI();\n\n return useMutation({\n mutationKey: ['subscription'],\n mutationFn: () => stripeAPI.cancelSubscription(),\n meta: {\n invalidateQueries: [['session'], ['subscription']],\n },\n });\n};\n\nexport const useGetInvoices = (options?: Partial<UseQueryOptions>) => {\n const stripeAPI = useStripeAPI();\n\n return useAppQuery({\n queryKey: ['invoices'],\n queryFn: ({ signal }) => stripeAPI.getInvoices({ signal }),\n requireUser: true,\n requireOrganization: true,\n ...options,\n });\n};\n\nexport const useGetPaymentMethod = (options?: Partial<UseQueryOptions>) => {\n const stripeAPI = useStripeAPI();\n\n return useAppQuery({\n queryKey: ['paymentMethod'],\n queryFn: ({ signal }) => stripeAPI.getPaymentMethod({ signal }),\n requireUser: true,\n requireOrganization: true,\n ...options,\n });\n};\n\nexport const useCreatePortalSession = () => {\n const stripeAPI = useStripeAPI();\n\n return useMutation({\n mutationKey: ['portalSession'],\n mutationFn: () => stripeAPI.createPortalSession(),\n });\n};\n\nexport const useGetAffiliates = (\n params?: GetAffiliatesParams,\n options?: Partial<UseQueryOptions>\n) => {\n const stripeAPI = useStripeAPI();\n\n return useAppQuery({\n queryKey: ['affiliates', params],\n queryFn: ({ signal }) => stripeAPI.getAffiliates(params, { signal }),\n requireUser: true,\n ...options,\n });\n};\n\nexport const useGetAffiliateInvitations = (\n params?: GetAffiliatesParams,\n options?: Partial<UseQueryOptions>\n) => {\n const stripeAPI = useStripeAPI();\n\n return useAppQuery({\n queryKey: ['affiliate-invitations', params],\n queryFn: ({ signal }) =>\n stripeAPI.getAffiliateInvitations(params, { signal }),\n requireUser: true,\n ...options,\n });\n};\n\nexport const useGetAffiliateById = (\n id: string,\n options?: Partial<UseQueryOptions>\n) => {\n const stripeAPI = useStripeAPI();\n\n return useAppQuery({\n queryKey: ['affiliates', id],\n queryFn: ({ signal }) => stripeAPI.getAffiliateById({ id }, { signal }),\n requireUser: true,\n enabled: Boolean(id),\n ...options,\n });\n};\n\nexport const useGetAffiliate = (options?: Partial<UseQueryOptions>) => {\n const stripeAPI = useStripeAPI();\n\n return useAppQuery({\n queryKey: ['affiliate'],\n queryFn: ({ signal }) => stripeAPI.getAffiliate({ signal }),\n requireUser: true,\n ...options,\n });\n};\n\nexport const useGetAffiliateAccountSession = (\n options?: Partial<UseQueryOptions>\n) => {\n const stripeAPI = useStripeAPI();\n\n return useAppQuery({\n queryKey: ['affiliate', 'account-session'],\n queryFn: () => stripeAPI.getAffiliateAccountSession(),\n requireUser: true,\n ...options,\n });\n};\n\nexport const useGetAffiliateOnboardingLink = (\n options?: Partial<UseQueryOptions>\n) => {\n const stripeAPI = useStripeAPI();\n\n return useAppQuery({\n queryKey: ['affiliate', 'onboarding-link'],\n queryFn: () => stripeAPI.getAffiliateOnboardingLink(),\n requireUser: true,\n ...options,\n });\n};\n\nexport const useGetAffiliateStats = (options?: Partial<UseQueryOptions>) => {\n const stripeAPI = useStripeAPI();\n\n return useAppQuery({\n queryKey: ['affiliate', 'stats'],\n queryFn: ({ signal }) => stripeAPI.getAffiliateStats({ signal }),\n requireUser: true,\n ...options,\n });\n};\n\nexport const useGrantAffiliateAccess = () => {\n const stripeAPI = useStripeAPI();\n\n return useMutation({\n mutationKey: ['affiliate', 'grant'],\n mutationFn: (body: GrantAffiliateAccessBody) =>\n stripeAPI.grantAffiliateAccess(body),\n meta: {\n invalidateQueries: [['affiliate']],\n },\n });\n};\n\nexport const useSendAffiliateInvitation = () => {\n const stripeAPI = useStripeAPI();\n\n return useMutation({\n mutationKey: ['affiliate', 'invitation', 'send'],\n mutationFn: (body: SendAffiliateInvitationBody) =>\n stripeAPI.sendAffiliateInvitation(body),\n meta: {\n invalidateQueries: [['affiliate-invitations']],\n },\n });\n};\n\nexport const useGetAffiliateInvitation = (\n token: string,\n options?: Partial<UseQueryOptions>\n) => {\n const stripeAPI = useStripeAPI();\n\n return useQuery({\n queryKey: ['affiliate', 'invitation', token],\n queryFn: () => stripeAPI.getAffiliateInvitation({ token }),\n enabled: Boolean(token),\n ...options,\n });\n};\n\nexport const useAcceptAffiliateInvitation = () => {\n const stripeAPI = useStripeAPI();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationKey: ['affiliate', 'invitation', 'accept'],\n mutationFn: ({\n token,\n country,\n stripeAccountType,\n }: {\n token: string;\n country?: string;\n stripeAccountType?: 'express' | 'standard';\n }) =>\n stripeAPI.acceptAffiliateInvitation({\n token,\n country,\n stripeAccountType,\n }),\n onSuccess: (_data, { token }) => {\n queryClient.invalidateQueries({\n queryKey: ['affiliate', 'invitation', token],\n });\n queryClient.invalidateQueries({ queryKey: ['affiliate'] });\n },\n });\n};\n\nexport const useUpdateAffiliateStatus = () => {\n const stripeAPI = useStripeAPI();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationKey: ['affiliate', 'update'],\n mutationFn: ({\n id,\n status,\n }: {\n id: string;\n status?: 'active' | 'suspended';\n }) => stripeAPI.updateAffiliateStatus({ id }, { status }),\n onSuccess: (_data, { id }) => {\n queryClient.invalidateQueries({ queryKey: ['affiliates', id] });\n queryClient.invalidateQueries({ queryKey: ['affiliates'] });\n },\n });\n};\n\nexport const useGetPromoCodeById = (\n promoCodeId?: string,\n options?: Partial<UseQueryOptions>\n) => {\n const stripeAPI = useStripeAPI();\n\n return useAppQuery({\n queryKey: ['promo-codes', promoCodeId],\n queryFn: ({ signal }) =>\n stripeAPI.getPromoCodeById(promoCodeId!, { signal }),\n enabled: Boolean(promoCodeId),\n requireUser: true,\n ...options,\n });\n};\n\nexport const useGetPromoCodes = (\n params: { affiliateId?: string } = {},\n options?: Partial<UseQueryOptions>\n) => {\n const stripeAPI = useStripeAPI();\n\n return useAppQuery({\n queryKey: ['promo-codes', params.affiliateId ?? 'all'],\n queryFn: ({ signal }) => stripeAPI.getPromoCodes(params, { signal }),\n requireUser: true,\n ...options,\n });\n};\n\nexport const useCreatePromoCode = () => {\n const stripeAPI = useStripeAPI();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationKey: ['promo-codes', 'create'],\n mutationFn: (body: CreatePromoCodeBody) => stripeAPI.createPromoCode(body),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['promo-codes'] });\n },\n });\n};\n\nexport const useUpdatePromoCode = () => {\n const stripeAPI = useStripeAPI();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationKey: ['promo-codes', 'update'],\n mutationFn: ({ id, ...body }: { id: string } & UpdatePromoCodeBody) =>\n stripeAPI.updatePromoCode({ id, ...body }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['promo-codes'] });\n },\n });\n};\n\nexport const useDeletePromoCode = () => {\n const stripeAPI = useStripeAPI();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationKey: ['promo-codes', 'delete'],\n mutationFn: ({ id }: { id: string }) => stripeAPI.deletePromoCode({ id }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['promo-codes'] });\n },\n });\n};\n\nexport const useGetAffiliatePromoCode = (\n referralCode?: string,\n options?: Partial<UseQueryOptions>\n) => {\n const stripeAPI = useStripeAPI();\n\n return useQuery({\n queryKey: ['affiliate-promo-code', referralCode],\n queryFn: () => stripeAPI.getAffiliatePromoCode(referralCode!),\n enabled: Boolean(referralCode),\n ...options,\n });\n};\n"],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ 'use client';
2
+
3
+ import { useTagAPI } from "../useIntlayerAPI.mjs";
4
+ import { useAppQuery } from "./utils.mjs";
5
+ import { useMutation } from "@tanstack/react-query";
6
+
7
+ //#region src/api/hooks/tag.ts
8
+ const useGetTags = (filters, options) => {
9
+ const tagAPI = useTagAPI();
10
+ return useAppQuery({
11
+ queryKey: ["tags", filters],
12
+ queryFn: ({ signal }) => tagAPI.getTags(filters, { signal }),
13
+ requireUser: true,
14
+ requireOrganization: true,
15
+ ...options
16
+ });
17
+ };
18
+ const useAddTag = () => {
19
+ const tagAPI = useTagAPI();
20
+ return useMutation({
21
+ mutationKey: ["tags"],
22
+ mutationFn: (args) => tagAPI.addTag(args),
23
+ meta: { invalidateQueries: [["tags"]] }
24
+ });
25
+ };
26
+ const useUpdateTag = () => {
27
+ const tagAPI = useTagAPI();
28
+ return useMutation({
29
+ mutationKey: ["tags"],
30
+ mutationFn: (v) => tagAPI.updateTag(v.tagId, v.tag),
31
+ meta: { invalidateQueries: [["tags"]] }
32
+ });
33
+ };
34
+ const useDeleteTag = () => {
35
+ const tagAPI = useTagAPI();
36
+ return useMutation({
37
+ mutationKey: ["tags"],
38
+ mutationFn: (args) => tagAPI.deleteTag(args),
39
+ meta: { invalidateQueries: [["tags"]] }
40
+ });
41
+ };
42
+
43
+ //#endregion
44
+ export { useAddTag, useDeleteTag, useGetTags, useUpdateTag };
45
+ //# sourceMappingURL=tag.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tag.mjs","names":[],"sources":["../../../../src/api/hooks/tag.ts"],"sourcesContent":["'use client';\n\nimport type {\n AddTagBody,\n DeleteTagParams,\n GetTagsParams,\n} from '@intlayer/backend';\nimport { type UseQueryOptions, useMutation } from '@tanstack/react-query';\nimport { useTagAPI } from '../useIntlayerAPI';\nimport { useAppQuery } from './utils';\n\nexport const useGetTags = (\n filters?: GetTagsParams,\n options?: Partial<UseQueryOptions>\n) => {\n const tagAPI = useTagAPI();\n\n return useAppQuery({\n queryKey: ['tags', filters],\n queryFn: ({ signal }) => tagAPI.getTags(filters, { signal }),\n // placeholderData: keepPreviousData,\n requireUser: true,\n requireOrganization: true,\n ...options,\n });\n};\n\nexport const useAddTag = () => {\n const tagAPI = useTagAPI();\n\n return useMutation({\n mutationKey: ['tags'],\n mutationFn: (args: AddTagBody) => tagAPI.addTag(args),\n meta: {\n invalidateQueries: [['tags']],\n },\n });\n};\n\nexport const useUpdateTag = () => {\n const tagAPI = useTagAPI();\n\n return useMutation({\n mutationKey: ['tags'],\n mutationFn: (v: { tagId: string; tag: any }) =>\n tagAPI.updateTag(v.tagId, v.tag),\n meta: {\n invalidateQueries: [['tags']],\n },\n });\n};\n\nexport const useDeleteTag = () => {\n const tagAPI = useTagAPI();\n\n return useMutation({\n mutationKey: ['tags'],\n mutationFn: (args: DeleteTagParams) => tagAPI.deleteTag(args),\n meta: {\n invalidateQueries: [['tags']],\n },\n });\n};\n"],"mappings":";;;;;;;AAWA,MAAa,cACX,SACA,YACG;CACH,MAAM,SAAS,UAAU;CAEzB,OAAO,YAAY;EACjB,UAAU,CAAC,QAAQ,OAAO;EAC1B,UAAU,EAAE,aAAa,OAAO,QAAQ,SAAS,EAAE,OAAO,CAAC;EAE3D,aAAa;EACb,qBAAqB;EACrB,GAAG;CACL,CAAC;AACH;AAEA,MAAa,kBAAkB;CAC7B,MAAM,SAAS,UAAU;CAEzB,OAAO,YAAY;EACjB,aAAa,CAAC,MAAM;EACpB,aAAa,SAAqB,OAAO,OAAO,IAAI;EACpD,MAAM,EACJ,mBAAmB,CAAC,CAAC,MAAM,CAAC,EAC9B;CACF,CAAC;AACH;AAEA,MAAa,qBAAqB;CAChC,MAAM,SAAS,UAAU;CAEzB,OAAO,YAAY;EACjB,aAAa,CAAC,MAAM;EACpB,aAAa,MACX,OAAO,UAAU,EAAE,OAAO,EAAE,GAAG;EACjC,MAAM,EACJ,mBAAmB,CAAC,CAAC,MAAM,CAAC,EAC9B;CACF,CAAC;AACH;AAEA,MAAa,qBAAqB;CAChC,MAAM,SAAS,UAAU;CAEzB,OAAO,YAAY;EACjB,aAAa,CAAC,MAAM;EACpB,aAAa,SAA0B,OAAO,UAAU,IAAI;EAC5D,MAAM,EACJ,mBAAmB,CAAC,CAAC,MAAM,CAAC,EAC9B;CACF,CAAC;AACH"}
@@ -0,0 +1,47 @@
1
+ 'use client';
2
+
3
+ import { useDictionaryAPI, useTranslateAPI } from "../useIntlayerAPI.mjs";
4
+ import { useMutation } from "@tanstack/react-query";
5
+
6
+ //#region src/api/hooks/translate.ts
7
+ const useFillAllTranslations = () => {
8
+ const dictionaryAPI = useDictionaryAPI();
9
+ const translateAPI = useTranslateAPI();
10
+ return useMutation({
11
+ mutationKey: ["fill-all-translations"],
12
+ mutationFn: async (args) => {
13
+ let dictionaryIds = args.dictionaryIds;
14
+ if (!dictionaryIds || dictionaryIds.length === 0) dictionaryIds = ((await dictionaryAPI.getDictionaries({ pageSize: 1e3 }))?.data ?? []).map((d) => d.id);
15
+ return translateAPI.translateDictionaries({
16
+ dictionaryIds,
17
+ targetLocales: args.targetLocales,
18
+ mode: args.mode
19
+ });
20
+ }
21
+ });
22
+ };
23
+ const useStopTranslationJob = () => {
24
+ const translateAPI = useTranslateAPI();
25
+ return useMutation({
26
+ mutationKey: ["stop-translation-job"],
27
+ mutationFn: (jobId) => translateAPI.stopTranslationJob(jobId)
28
+ });
29
+ };
30
+ const usePauseTranslationJob = () => {
31
+ const translateAPI = useTranslateAPI();
32
+ return useMutation({
33
+ mutationKey: ["pause-translation-job"],
34
+ mutationFn: (jobId) => translateAPI.pauseTranslationJob(jobId)
35
+ });
36
+ };
37
+ const useResumeTranslationJob = () => {
38
+ const translateAPI = useTranslateAPI();
39
+ return useMutation({
40
+ mutationKey: ["resume-translation-job"],
41
+ mutationFn: (jobId) => translateAPI.resumeTranslationJob(jobId)
42
+ });
43
+ };
44
+
45
+ //#endregion
46
+ export { useFillAllTranslations, usePauseTranslationJob, useResumeTranslationJob, useStopTranslationJob };
47
+ //# sourceMappingURL=translate.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"translate.mjs","names":[],"sources":["../../../../src/api/hooks/translate.ts"],"sourcesContent":["'use client';\n\nimport type { TranslateDictionariesBody } from '@intlayer/backend';\nimport { useMutation } from '@tanstack/react-query';\nimport { useDictionaryAPI, useTranslateAPI } from '../useIntlayerAPI';\n\nexport const useFillAllTranslations = () => {\n const dictionaryAPI = useDictionaryAPI();\n const translateAPI = useTranslateAPI();\n\n return useMutation({\n mutationKey: ['fill-all-translations'],\n mutationFn: async (\n args: Pick<TranslateDictionariesBody, 'targetLocales' | 'mode'> & {\n dictionaryIds?: string[];\n }\n ) => {\n let dictionaryIds = args.dictionaryIds;\n if (!dictionaryIds || dictionaryIds.length === 0) {\n const result = await dictionaryAPI.getDictionaries({\n pageSize: 1000,\n });\n dictionaryIds = (result?.data ?? []).map((d) => d.id);\n }\n return translateAPI.translateDictionaries({\n dictionaryIds,\n targetLocales: args.targetLocales,\n mode: args.mode,\n });\n },\n });\n};\n\nexport const useStopTranslationJob = () => {\n const translateAPI = useTranslateAPI();\n\n return useMutation({\n mutationKey: ['stop-translation-job'],\n mutationFn: (jobId: string) => translateAPI.stopTranslationJob(jobId),\n });\n};\n\nexport const usePauseTranslationJob = () => {\n const translateAPI = useTranslateAPI();\n\n return useMutation({\n mutationKey: ['pause-translation-job'],\n mutationFn: (jobId: string) => translateAPI.pauseTranslationJob(jobId),\n });\n};\n\nexport const useResumeTranslationJob = () => {\n const translateAPI = useTranslateAPI();\n\n return useMutation({\n mutationKey: ['resume-translation-job'],\n mutationFn: (jobId: string) => translateAPI.resumeTranslationJob(jobId),\n });\n};\n"],"mappings":";;;;;;AAMA,MAAa,+BAA+B;CAC1C,MAAM,gBAAgB,iBAAiB;CACvC,MAAM,eAAe,gBAAgB;CAErC,OAAO,YAAY;EACjB,aAAa,CAAC,uBAAuB;EACrC,YAAY,OACV,SAGG;GACH,IAAI,gBAAgB,KAAK;GACzB,IAAI,CAAC,iBAAiB,cAAc,WAAW,GAI7C,kBAAiB,MAHI,cAAc,gBAAgB,EACjD,UAAU,IACZ,CAAC,IACwB,QAAQ,CAAC,GAAG,KAAK,MAAM,EAAE,EAAE;GAEtD,OAAO,aAAa,sBAAsB;IACxC;IACA,eAAe,KAAK;IACpB,MAAM,KAAK;GACb,CAAC;EACH;CACF,CAAC;AACH;AAEA,MAAa,8BAA8B;CACzC,MAAM,eAAe,gBAAgB;CAErC,OAAO,YAAY;EACjB,aAAa,CAAC,sBAAsB;EACpC,aAAa,UAAkB,aAAa,mBAAmB,KAAK;CACtE,CAAC;AACH;AAEA,MAAa,+BAA+B;CAC1C,MAAM,eAAe,gBAAgB;CAErC,OAAO,YAAY;EACjB,aAAa,CAAC,uBAAuB;EACrC,aAAa,UAAkB,aAAa,oBAAoB,KAAK;CACvE,CAAC;AACH;AAEA,MAAa,gCAAgC;CAC3C,MAAM,eAAe,gBAAgB;CAErC,OAAO,YAAY;EACjB,aAAa,CAAC,wBAAwB;EACtC,aAAa,UAAkB,aAAa,qBAAqB,KAAK;CACxE,CAAC;AACH"}
@@ -0,0 +1,58 @@
1
+ 'use client';
2
+
3
+ import { useUserAPI } from "../useIntlayerAPI.mjs";
4
+ import { useAppQuery } from "./utils.mjs";
5
+ import { useMutation } from "@tanstack/react-query";
6
+
7
+ //#region src/api/hooks/user.ts
8
+ const useGetUsers = (filters, options) => {
9
+ const userAPI = useUserAPI();
10
+ return useAppQuery({
11
+ queryKey: ["users", filters],
12
+ queryFn: () => userAPI.getUsers(filters),
13
+ requireUser: true,
14
+ ...options
15
+ });
16
+ };
17
+ const useGetUserById = (userId) => {
18
+ const userAPI = useUserAPI();
19
+ return useAppQuery({
20
+ queryKey: ["users", userId],
21
+ queryFn: () => userAPI.getUserById(userId),
22
+ requireUser: true
23
+ });
24
+ };
25
+ const useCreateUser = () => {
26
+ const userAPI = useUserAPI();
27
+ return useMutation({
28
+ mutationKey: ["users"],
29
+ mutationFn: (args) => userAPI.createUser(args)
30
+ });
31
+ };
32
+ const useUpdateUser = () => {
33
+ const userAPI = useUserAPI();
34
+ return useMutation({
35
+ mutationKey: ["users"],
36
+ mutationFn: (args) => userAPI.updateUser(args)
37
+ });
38
+ };
39
+ const useDeleteUser = () => {
40
+ const userAPI = useUserAPI();
41
+ return useMutation({
42
+ mutationKey: ["users"],
43
+ mutationFn: (args) => userAPI.deleteUser(args),
44
+ meta: { invalidateQueries: [["users"]] }
45
+ });
46
+ };
47
+ const useUploadUserAvatar = () => {
48
+ const userAPI = useUserAPI();
49
+ return useMutation({
50
+ mutationKey: ["users", "avatar"],
51
+ mutationFn: (file) => userAPI.uploadAvatar(file),
52
+ meta: { invalidateQueries: [["session"]] }
53
+ });
54
+ };
55
+
56
+ //#endregion
57
+ export { useCreateUser, useDeleteUser, useGetUserById, useGetUsers, useUpdateUser, useUploadUserAvatar };
58
+ //# sourceMappingURL=user.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.mjs","names":[],"sources":["../../../../src/api/hooks/user.ts"],"sourcesContent":["'use client';\n\nimport type {\n CreateUserBody,\n GetUsersParams,\n UpdateUserBody,\n} from '@intlayer/backend';\nimport { type UseQueryOptions, useMutation } from '@tanstack/react-query';\nimport { useUserAPI } from '../useIntlayerAPI';\nimport { useAppQuery } from './utils';\n\nexport const useGetUsers = (\n filters?: GetUsersParams,\n options?: Partial<UseQueryOptions>\n) => {\n const userAPI = useUserAPI();\n\n return useAppQuery({\n queryKey: ['users', filters],\n queryFn: () => userAPI.getUsers(filters),\n requireUser: true,\n // placeholderData: keepPreviousData,\n ...options,\n });\n};\n\nexport const useGetUserById = (userId: string) => {\n const userAPI = useUserAPI();\n\n return useAppQuery({\n queryKey: ['users', userId],\n queryFn: () => userAPI.getUserById(userId),\n requireUser: true,\n });\n};\n\nexport const useCreateUser = () => {\n const userAPI = useUserAPI();\n\n return useMutation({\n mutationKey: ['users'],\n mutationFn: (args: CreateUserBody) => userAPI.createUser(args),\n });\n};\n\nexport const useUpdateUser = () => {\n const userAPI = useUserAPI();\n\n return useMutation({\n mutationKey: ['users'],\n mutationFn: (args: UpdateUserBody) => userAPI.updateUser(args),\n });\n};\n\nexport const useDeleteUser = () => {\n const userAPI = useUserAPI();\n\n return useMutation({\n mutationKey: ['users'],\n mutationFn: (args: string) => userAPI.deleteUser(args),\n meta: {\n invalidateQueries: [['users']],\n },\n });\n};\n\nexport const useUploadUserAvatar = () => {\n const userAPI = useUserAPI();\n\n return useMutation({\n mutationKey: ['users', 'avatar'],\n mutationFn: (file: File) => userAPI.uploadAvatar(file),\n meta: {\n invalidateQueries: [['session']],\n },\n });\n};\n"],"mappings":";;;;;;;AAWA,MAAa,eACX,SACA,YACG;CACH,MAAM,UAAU,WAAW;CAE3B,OAAO,YAAY;EACjB,UAAU,CAAC,SAAS,OAAO;EAC3B,eAAe,QAAQ,SAAS,OAAO;EACvC,aAAa;EAEb,GAAG;CACL,CAAC;AACH;AAEA,MAAa,kBAAkB,WAAmB;CAChD,MAAM,UAAU,WAAW;CAE3B,OAAO,YAAY;EACjB,UAAU,CAAC,SAAS,MAAM;EAC1B,eAAe,QAAQ,YAAY,MAAM;EACzC,aAAa;CACf,CAAC;AACH;AAEA,MAAa,sBAAsB;CACjC,MAAM,UAAU,WAAW;CAE3B,OAAO,YAAY;EACjB,aAAa,CAAC,OAAO;EACrB,aAAa,SAAyB,QAAQ,WAAW,IAAI;CAC/D,CAAC;AACH;AAEA,MAAa,sBAAsB;CACjC,MAAM,UAAU,WAAW;CAE3B,OAAO,YAAY;EACjB,aAAa,CAAC,OAAO;EACrB,aAAa,SAAyB,QAAQ,WAAW,IAAI;CAC/D,CAAC;AACH;AAEA,MAAa,sBAAsB;CACjC,MAAM,UAAU,WAAW;CAE3B,OAAO,YAAY;EACjB,aAAa,CAAC,OAAO;EACrB,aAAa,SAAiB,QAAQ,WAAW,IAAI;EACrD,MAAM,EACJ,mBAAmB,CAAC,CAAC,OAAO,CAAC,EAC/B;CACF,CAAC;AACH;AAEA,MAAa,4BAA4B;CACvC,MAAM,UAAU,WAAW;CAE3B,OAAO,YAAY;EACjB,aAAa,CAAC,SAAS,QAAQ;EAC/B,aAAa,SAAe,QAAQ,aAAa,IAAI;EACrD,MAAM,EACJ,mBAAmB,CAAC,CAAC,SAAS,CAAC,EACjC;CACF,CAAC;AACH"}
@@ -0,0 +1,30 @@
1
+ 'use client';
2
+
3
+ import { useAuth } from "../useAuth/useAuth.mjs";
4
+ import { useQuery } from "@tanstack/react-query";
5
+ import { useConfiguration } from "@intlayer/editor-react";
6
+
7
+ //#region src/api/hooks/utils.ts
8
+ const useAuthEnable = ({ requireUser, requireProject, requireOrganization }) => {
9
+ const { oAuth2AccessToken, session } = useAuth({ intlayerConfiguration: useConfiguration() });
10
+ const user = session ? session.user : oAuth2AccessToken?.user;
11
+ const organization = session ? session.organization : oAuth2AccessToken?.organization;
12
+ const project = session ? session.project : oAuth2AccessToken?.project;
13
+ return { enable: (requireUser ? Boolean(user) : true) && (requireProject ? Boolean(project) : true) && (requireOrganization ? Boolean(organization) : true) };
14
+ };
15
+ const useAppQuery = (options) => {
16
+ const { requireUser, requireProject, requireOrganization, ...rest } = options;
17
+ const { enable } = useAuthEnable({
18
+ requireUser,
19
+ requireProject,
20
+ requireOrganization
21
+ });
22
+ return useQuery({
23
+ enabled: rest?.enabled === false ? false : enable,
24
+ ...rest
25
+ });
26
+ };
27
+
28
+ //#endregion
29
+ export { useAppQuery, useAuthEnable };
30
+ //# sourceMappingURL=utils.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.mjs","names":[],"sources":["../../../../src/api/hooks/utils.ts"],"sourcesContent":["'use client';\n\nimport { useConfiguration } from '@intlayer/editor-react';\nimport { type UseQueryOptions, useQuery } from '@tanstack/react-query';\nimport { useAuth } from '../useAuth';\n\ntype AuthEnableOptions = {\n requireUser?: boolean;\n requireProject?: boolean;\n requireOrganization?: boolean;\n};\n\nexport const useAuthEnable = ({\n requireUser,\n requireProject,\n requireOrganization,\n}: AuthEnableOptions) => {\n const configuration = useConfiguration();\n const { oAuth2AccessToken, session } = useAuth({\n intlayerConfiguration: configuration,\n });\n\n const user = session ? session.user : oAuth2AccessToken?.user;\n\n const organization = session\n ? session.organization\n : oAuth2AccessToken?.organization;\n\n const project = session ? session.project : oAuth2AccessToken?.project;\n\n const isUserEnabled = requireUser ? Boolean(user) : true;\n\n const isProjectEnabled = requireProject ? Boolean(project) : true;\n\n const isOrganizationEnabled = requireOrganization\n ? Boolean(organization)\n : true;\n\n const isEnabled = isUserEnabled && isProjectEnabled && isOrganizationEnabled;\n\n return {\n enable: isEnabled,\n };\n};\n\nexport const useAppQuery = (\n options: UseQueryOptions & {\n requireUser?: boolean;\n requireProject?: boolean;\n requireOrganization?: boolean;\n }\n) => {\n const { requireUser, requireProject, requireOrganization, ...rest } = options;\n const { enable } = useAuthEnable({\n requireUser,\n requireProject,\n requireOrganization,\n });\n\n const result = useQuery({\n enabled: rest?.enabled === false ? false : enable,\n ...rest,\n });\n\n return result;\n};\n"],"mappings":";;;;;;;AAYA,MAAa,iBAAiB,EAC5B,aACA,gBACA,0BACuB;CAEvB,MAAM,EAAE,mBAAmB,YAAY,QAAQ,EAC7C,uBAFoB,iBAEe,EACrC,CAAC;CAED,MAAM,OAAO,UAAU,QAAQ,OAAO,mBAAmB;CAEzD,MAAM,eAAe,UACjB,QAAQ,eACR,mBAAmB;CAEvB,MAAM,UAAU,UAAU,QAAQ,UAAU,mBAAmB;CAY/D,OAAO,EACL,SAXoB,cAAc,QAAQ,IAAI,IAAI,UAE3B,iBAAiB,QAAQ,OAAO,IAAI,UAE/B,sBAC1B,QAAQ,YAAY,IACpB,MAMJ;AACF;AAEA,MAAa,eACX,YAKG;CACH,MAAM,EAAE,aAAa,gBAAgB,qBAAqB,GAAG,SAAS;CACtE,MAAM,EAAE,WAAW,cAAc;EAC/B;EACA;EACA;CACF,CAAC;CAOD,OALe,SAAS;EACtB,SAAS,MAAM,YAAY,QAAQ,QAAQ;EAC3C,GAAG;CACL,CAEY;AACd"}
@@ -0,0 +1,26 @@
1
+ import { useOAuth2 } from "./useAuth/useOAuth2.mjs";
2
+ import { useSession } from "./useAuth/useSession.mjs";
3
+ import { useAuth } from "./useAuth/useAuth.mjs";
4
+ import { useAiAPI, useAuditAPI, useBitbucketAPI, useDictionaryAPI, useEditorAPI, useGithubAPI, useGitlabAPI, useIntlayerAuth, useIntlayerOAuth, useIntlayerOAuthOptions, useNewsletterAPI, useOAuthAPI, useOrganizationAPI, useProjectAPI, useReviewerAPI, useSearchAPI, useShowcaseProjectAPI, useStripeAPI, useTagAPI, useTranslateAPI, useUserAPI } from "./useIntlayerAPI.mjs";
5
+ import { useAskDocQuestion, useAuditContentDeclaration, useAuditContentDeclarationField, useAuditContentDeclarationMetadata, useAuditTag, useAutocomplete, useChat, useTranslateJSONDeclaration } from "./hooks/ai.mjs";
6
+ import { useAuditScan, useGetRecursiveAuditStatus, useStartRecursiveAudit } from "./hooks/audit.mjs";
7
+ import { useAddPasskey, useAskResetPassword, useChangePassword, useDeletePasskey, useDeleteSSOProvider, useDisableTwoFactor, useEnableTwoFactor, useGetUserByAccount, useGetVerifyEmailStatus, useLinkSocial, useListAccounts, useListPasskeys, useListSSOProviders, useLogin, useLogout, useRegister, useRegisterSSO, useResetPassword, useSignInMagicLink, useSignInPasskey, useSignInSSO, useUnlinkAccount, useVerifyBackupCode, useVerifyEmail, useVerifyTotp } from "./hooks/auth.mjs";
8
+ import { useBitbucketAuth, useBitbucketCheckConfig, useBitbucketGetConfigFile, useBitbucketRepos } from "./hooks/bitbucket.mjs";
9
+ import { useAddDictionary, useDeleteDictionary, useGetDictionaries, useGetDictionariesKeys, useGetDictionary, useInfiniteGetDictionaries, usePushDictionaries, useUpdateDictionary } from "./hooks/dictionary.mjs";
10
+ import { useGetDiscussions, useGetDiscussionsData } from "./hooks/discussions.mjs";
11
+ import { useGetEditorDictionaries, useWriteDictionary } from "./hooks/editor.mjs";
12
+ import { useGithubAuth, useGithubCheckConfig, useGithubGetAuthUrl, useGithubGetConfigFile, useGithubRepos, useGithubToken } from "./hooks/github.mjs";
13
+ import { useGitlabAuth, useGitlabCheckConfig, useGitlabGetConfigFile, useGitlabProjects } from "./hooks/gitlab.mjs";
14
+ import { useGetNewsletterStatus, useSubscribeToNewsletter, useUnsubscribeFromNewsletter } from "./hooks/newsletter.mjs";
15
+ import { useAddOrganization, useAddOrganizationMember, useDeleteOrganization, useDeleteOrganizationById, useGetOrganizations, useSelectOrganization, useUnselectOrganization, useUpdateOrganization, useUpdateOrganizationMembers, useUpdateOrganizationMembersById } from "./hooks/organization.mjs";
16
+ import { useAddNewAccessKey, useAddProject, useDeleteAccessKey, useDeleteProject, useDeleteProjectById, useGetCIConfig, useGetProjects, usePushCIConfig, usePushProjectConfiguration, useRefreshAccessKey, useSelectProject, useTriggerBuild, useTriggerWebhook, useUnselectProject, useUpdateProject, useUpdateProjectMembers } from "./hooks/project.mjs";
17
+ import { useContactReviewer, useCreateMission, useDeleteReviewerProfile, useEstimateMission, useGetAdminReviewers, useGetChatHistory, useGetMissionById, useGetMyMissions, useGetMyReviewerProfile, useGetReviewerById, useGetReviewerMarketplace, useGetReviewerPriceDistribution, useGetReviewerReviews, useRegisterAsReviewer, useSendReviewerMessage, useSubmitReview, useUpdateMissionStatus, useUpdateReviewerProfile, useUploadReviewerCoverPicture, useUploadReviewerMainPicture, useValidateReviewerProfile } from "./hooks/reviewer.mjs";
18
+ import { useSearchDoc } from "./hooks/search.mjs";
19
+ import { useDeleteShowcaseProject, useGetOtherShowcaseProjects, useGetShowcaseProjectById, useGetShowcaseProjects, useSubmitShowcaseProject, useToggleShowcaseDownvote, useToggleShowcaseUpvote, useUpdateShowcaseProject } from "./hooks/showcaseProject.mjs";
20
+ import { useAcceptAffiliateInvitation, useCancelSubscription, useCreatePortalSession, useCreatePromoCode, useDeletePromoCode, useGetAffiliate, useGetAffiliateAccountSession, useGetAffiliateById, useGetAffiliateInvitation, useGetAffiliateInvitations, useGetAffiliateOnboardingLink, useGetAffiliatePromoCode, useGetAffiliateStats, useGetAffiliates, useGetInvoices, useGetPaymentMethod, useGetPricing, useGetPromoCodeById, useGetPromoCodes, useGetSubscription, useGrantAffiliateAccess, useSendAffiliateInvitation, useUpdateAffiliateStatus, useUpdatePromoCode } from "./hooks/stripe.mjs";
21
+ import { useAddTag, useDeleteTag, useGetTags, useUpdateTag } from "./hooks/tag.mjs";
22
+ import { useFillAllTranslations, usePauseTranslationJob, useResumeTranslationJob, useStopTranslationJob } from "./hooks/translate.mjs";
23
+ import { useCreateUser, useDeleteUser, useGetUserById, useGetUsers, useUpdateUser, useUploadUserAvatar } from "./hooks/user.mjs";
24
+ import { useUser } from "./useUser/index.mjs";
25
+
26
+ export { useAcceptAffiliateInvitation, useAddDictionary, useAddNewAccessKey, useAddOrganization, useAddOrganizationMember, useAddPasskey, useAddProject, useAddTag, useAiAPI, useAskDocQuestion, useAskResetPassword, useAuditAPI, useAuditContentDeclaration, useAuditContentDeclarationField, useAuditContentDeclarationMetadata, useAuditScan, useAuditTag, useAuth, useAutocomplete, useBitbucketAPI, useBitbucketAuth, useBitbucketCheckConfig, useBitbucketGetConfigFile, useBitbucketRepos, useCancelSubscription, useChangePassword, useChat, useContactReviewer, useCreateMission, useCreatePortalSession, useCreatePromoCode, useCreateUser, useDeleteAccessKey, useDeleteDictionary, useDeleteOrganization, useDeleteOrganizationById, useDeletePasskey, useDeleteProject, useDeleteProjectById, useDeletePromoCode, useDeleteReviewerProfile, useDeleteSSOProvider, useDeleteShowcaseProject, useDeleteTag, useDeleteUser, useDictionaryAPI, useDisableTwoFactor, useEditorAPI, useEnableTwoFactor, useEstimateMission, useFillAllTranslations, useGetAdminReviewers, useGetAffiliate, useGetAffiliateAccountSession, useGetAffiliateById, useGetAffiliateInvitation, useGetAffiliateInvitations, useGetAffiliateOnboardingLink, useGetAffiliatePromoCode, useGetAffiliateStats, useGetAffiliates, useGetCIConfig, useGetChatHistory, useGetDictionaries, useGetDictionariesKeys, useGetDictionary, useGetDiscussions, useGetDiscussionsData, useGetEditorDictionaries, useGetInvoices, useGetMissionById, useGetMyMissions, useGetMyReviewerProfile, useGetNewsletterStatus, useGetOrganizations, useGetOtherShowcaseProjects, useGetPaymentMethod, useGetPricing, useGetProjects, useGetPromoCodeById, useGetPromoCodes, useGetRecursiveAuditStatus, useGetReviewerById, useGetReviewerMarketplace, useGetReviewerPriceDistribution, useGetReviewerReviews, useGetShowcaseProjectById, useGetShowcaseProjects, useGetSubscription, useGetTags, useGetUserByAccount, useGetUserById, useGetUsers, useGetVerifyEmailStatus, useGithubAPI, useGithubAuth, useGithubCheckConfig, useGithubGetAuthUrl, useGithubGetConfigFile, useGithubRepos, useGithubToken, useGitlabAPI, useGitlabAuth, useGitlabCheckConfig, useGitlabGetConfigFile, useGitlabProjects, useGrantAffiliateAccess, useInfiniteGetDictionaries, useIntlayerAuth, useIntlayerOAuth, useIntlayerOAuthOptions, useLinkSocial, useListAccounts, useListPasskeys, useListSSOProviders, useLogin, useLogout, useNewsletterAPI, useOAuth2, useOAuthAPI, useOrganizationAPI, usePauseTranslationJob, useProjectAPI, usePushCIConfig, usePushDictionaries, usePushProjectConfiguration, useRefreshAccessKey, useRegister, useRegisterAsReviewer, useRegisterSSO, useResetPassword, useResumeTranslationJob, useReviewerAPI, useSearchAPI, useSearchDoc, useSelectOrganization, useSelectProject, useSendAffiliateInvitation, useSendReviewerMessage, useSession, useShowcaseProjectAPI, useSignInMagicLink, useSignInPasskey, useSignInSSO, useStartRecursiveAudit, useStopTranslationJob, useStripeAPI, useSubmitReview, useSubmitShowcaseProject, useSubscribeToNewsletter, useTagAPI, useToggleShowcaseDownvote, useToggleShowcaseUpvote, useTranslateAPI, useTranslateJSONDeclaration, useTriggerBuild, useTriggerWebhook, useUnlinkAccount, useUnselectOrganization, useUnselectProject, useUnsubscribeFromNewsletter, useUpdateAffiliateStatus, useUpdateDictionary, useUpdateMissionStatus, useUpdateOrganization, useUpdateOrganizationMembers, useUpdateOrganizationMembersById, useUpdateProject, useUpdateProjectMembers, useUpdatePromoCode, useUpdateReviewerProfile, useUpdateShowcaseProject, useUpdateTag, useUpdateUser, useUploadReviewerCoverPicture, useUploadReviewerMainPicture, useUploadUserAvatar, useUser, useUserAPI, useValidateReviewerProfile, useVerifyBackupCode, useVerifyEmail, useVerifyTotp, useWriteDictionary };
@@ -3,7 +3,7 @@
3
3
  import { useOAuth2 } from "./useOAuth2.mjs";
4
4
  import { useSession } from "./useSession.mjs";
5
5
 
6
- //#region src/hooks/useAuth/useAuth.ts
6
+ //#region src/api/useAuth/useAuth.ts
7
7
  const useAuth = ({ session: sessionProp, intlayerConfiguration } = {}) => {
8
8
  const { session, fetchSession, revalidateSession, setSession } = useSession(sessionProp, intlayerConfiguration);
9
9
  const { oAuth2AccessToken } = useOAuth2(intlayerConfiguration);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAuth.mjs","names":[],"sources":["../../../../src/api/useAuth/useAuth.ts"],"sourcesContent":["'use client';\n\nimport type { OAuth2Token, SessionAPI } from '@intlayer/backend';\nimport type { IntlayerConfig } from '@intlayer/types/config';\nimport { useOAuth2 } from './useOAuth2';\nimport { useSession } from './useSession';\n\ntype SessionContextProps = {\n session: SessionAPI | null | undefined;\n setSession: (session: SessionAPI | null) => void;\n fetchSession: () => Promise<SessionAPI | null | undefined>;\n revalidateSession: () => Promise<SessionAPI | null | undefined>;\n isAuthenticated: boolean;\n oAuth2AccessToken: OAuth2Token | null | undefined;\n};\n\nexport const useAuth = ({\n session: sessionProp,\n intlayerConfiguration,\n}: {\n session?: SessionAPI | null;\n intlayerConfiguration?: IntlayerConfig;\n} = {}): SessionContextProps => {\n const { session, fetchSession, revalidateSession, setSession } = useSession(\n sessionProp,\n intlayerConfiguration\n );\n const { oAuth2AccessToken } = useOAuth2(intlayerConfiguration);\n\n return {\n session,\n fetchSession,\n setSession,\n revalidateSession,\n oAuth2AccessToken,\n isAuthenticated: Boolean(session?.user || oAuth2AccessToken),\n };\n};\n"],"mappings":";;;;;;AAgBA,MAAa,WAAW,EACtB,SAAS,aACT,0BAIE,CAAC,MAA2B;CAC9B,MAAM,EAAE,SAAS,cAAc,mBAAmB,eAAe,WAC/D,aACA,qBACF;CACA,MAAM,EAAE,sBAAsB,UAAU,qBAAqB;CAE7D,OAAO;EACL;EACA;EACA;EACA;EACA;EACA,iBAAiB,QAAQ,SAAS,QAAQ,iBAAiB;CAC7D;AACF"}
@@ -1,12 +1,12 @@
1
1
  'use client';
2
2
 
3
3
  import { useQuery } from "@tanstack/react-query";
4
- import { useConfiguration } from "@intlayer/editor-react";
5
- import { getOAuthAPI } from "@intlayer/api";
6
4
  import configuration from "@intlayer/config/built";
5
+ import { getOAuthAPI } from "@intlayer/api";
6
+ import { useConfiguration } from "@intlayer/editor-react";
7
7
  import { defu } from "defu";
8
8
 
9
- //#region src/hooks/useAuth/useOAuth2.ts
9
+ //#region src/api/useAuth/useOAuth2.ts
10
10
  const useOAuth2 = (intlayerConfiguration) => {
11
11
  const config = defu(intlayerConfiguration, useConfiguration(), configuration);
12
12
  const { data } = useQuery({
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useOAuth2.mjs","names":["defaultConfiguration"],"sources":["../../../../src/api/useAuth/useOAuth2.ts"],"sourcesContent":["'use client';\n\nimport { getOAuthAPI } from '@intlayer/api';\nimport { default as defaultConfiguration } from '@intlayer/config/built';\nimport { useConfiguration } from '@intlayer/editor-react';\nimport type { IntlayerConfig } from '@intlayer/types/config';\nimport { useQuery } from '@tanstack/react-query';\nimport { defu } from 'defu';\n\nexport const useOAuth2 = (intlayerConfiguration?: IntlayerConfig) => {\n const configuration = useConfiguration();\n const config = defu(\n intlayerConfiguration,\n configuration,\n defaultConfiguration\n );\n\n const intlayerAPI = getOAuthAPI(config);\n\n const { data } = useQuery({\n queryKey: ['oAuth2AccessToken'],\n queryFn: intlayerAPI.getOAuth2AccessToken,\n enabled: !!(config.editor.clientId && config.editor.clientSecret),\n staleTime: 0,\n gcTime: 0,\n refetchOnWindowFocus: false,\n refetchOnMount: false,\n refetchOnReconnect: false,\n refetchInterval: false,\n refetchIntervalInBackground: false,\n });\n\n const oAuth2AccessToken = data?.data;\n\n return {\n oAuth2AccessToken,\n };\n};\n"],"mappings":";;;;;;;;;AASA,MAAa,aAAa,0BAA2C;CAEnE,MAAM,SAAS,KACb,uBAFoB,iBAGR,GACZA,aACF;CAIA,MAAM,EAAE,SAAS,SAAS;EACxB,UAAU,CAAC,mBAAmB;EAC9B,SAJkB,YAAY,MAIX,EAAE;EACrB,SAAS,CAAC,EAAE,OAAO,OAAO,YAAY,OAAO,OAAO;EACpD,WAAW;EACX,QAAQ;EACR,sBAAsB;EACtB,gBAAgB;EAChB,oBAAoB;EACpB,iBAAiB;EACjB,6BAA6B;CAC/B,CAAC;CAID,OAAO,EACL,mBAHwB,MAAM,KAIhC;AACF"}
@@ -1,12 +1,11 @@
1
1
  'use client';
2
2
 
3
3
  import { getAuthAPI } from "../../libs/auth.mjs";
4
- import { useQueryClient } from "../reactQuery.mjs";
5
- import { useQuery } from "@tanstack/react-query";
6
- import { useConfiguration } from "@intlayer/editor-react";
4
+ import { useQuery, useQueryClient } from "@tanstack/react-query";
7
5
  import configuration from "@intlayer/config/built";
6
+ import { useConfiguration } from "@intlayer/editor-react";
8
7
 
9
- //#region src/hooks/useAuth/useSession.ts
8
+ //#region src/api/useAuth/useSession.ts
10
9
  const useSession = (sessionProp, intlayerConfiguration) => {
11
10
  const configuration$1 = useConfiguration();
12
11
  const config = intlayerConfiguration ?? configuration$1 ?? configuration;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSession.mjs","names":["configuration","defaultConfiguration"],"sources":["../../../../src/api/useAuth/useSession.ts"],"sourcesContent":["'use client';\n\nimport type { SessionAPI } from '@intlayer/backend';\nimport { default as defaultConfiguration } from '@intlayer/config/built';\nimport { useConfiguration } from '@intlayer/editor-react';\nimport type { IntlayerConfig } from '@intlayer/types/config';\nimport { useQuery, useQueryClient } from '@tanstack/react-query';\nimport { getAuthAPI } from '../../libs/auth';\n\nexport type UseSessionResult = {\n /** The current session: `undefined` while loading, `null` if fetched and no session, otherwise the session. */\n session: SessionAPI | null | undefined;\n /** Refetches the session and returns it (undefined while loading). */\n fetchSession: () => Promise<SessionAPI | null | undefined>;\n /** Alias of `fetchSession` for ergonomics. */\n revalidateSession: () => Promise<SessionAPI | null | undefined>;\n /** Manually set the session cache. */\n setSession: (nextSession: SessionAPI | null) => void;\n};\n\nexport const useSession = (\n sessionProp?: SessionAPI | null,\n intlayerConfiguration?: IntlayerConfig\n): UseSessionResult => {\n const configuration = useConfiguration();\n const config = (intlayerConfiguration ??\n configuration ??\n defaultConfiguration) as IntlayerConfig;\n\n const queryClient = useQueryClient();\n\n // Keep TanStack generics internal so they don't leak into the d.ts\n const { data, isFetched, refetch } = useQuery({\n queryKey: ['session'],\n queryFn: async () => {\n const intlayerAPI = getAuthAPI(config);\n const result = await intlayerAPI.getSession();\n // Narrow to the public shape we want to expose\n return result.data as unknown as SessionAPI;\n },\n // Session data rarely changes during navigation, so keep it fresh for 5 minutes\n // This prevents unnecessary refetches when navigating between pages\n staleTime: 5 * 60 * 1000,\n gcTime: 30 * 60 * 1000,\n // Periodically revalidate so the backend's sliding session-refresh\n // (better-auth `updateAge`) keeps the cookie alive for active users.\n refetchInterval: 10 * 60 * 1000,\n refetchIntervalInBackground: false,\n refetchOnMount: true,\n // Refetching on focus/reconnect lets a returning user get a fresh,\n // extended session without a manual reload.\n refetchOnWindowFocus: true,\n refetchOnReconnect: true,\n enabled: !sessionProp,\n });\n\n const session = data ?? (isFetched ? null : undefined);\n\n const setSession = (nextSession: SessionAPI | null) => {\n queryClient.setQueryData(['session'], nextSession);\n };\n\n const fetchSession = async (): Promise<SessionAPI | null | undefined> => {\n const res = await refetch();\n return res.data as SessionAPI | null | undefined;\n };\n\n const revalidateSession = fetchSession;\n\n return {\n session,\n fetchSession,\n revalidateSession,\n setSession,\n };\n};\n"],"mappings":";;;;;;;;AAoBA,MAAa,cACX,aACA,0BACqB;CACrB,MAAMA,kBAAgB,iBAAiB;CACvC,MAAM,SAAU,yBACdA,mBACAC;CAEF,MAAM,cAAc,eAAe;CAGnC,MAAM,EAAE,MAAM,WAAW,YAAY,SAAS;EAC5C,UAAU,CAAC,SAAS;EACpB,SAAS,YAAY;GAInB,QAAO,MAHa,WAAW,MACA,EAAE,WAAW,GAE9B;EAChB;EAGA,WAAW,MAAS;EACpB,QAAQ,OAAU;EAGlB,iBAAiB,MAAU;EAC3B,6BAA6B;EAC7B,gBAAgB;EAGhB,sBAAsB;EACtB,oBAAoB;EACpB,SAAS,CAAC;CACZ,CAAC;CAED,MAAM,UAAU,SAAS,YAAY,OAAO;CAE5C,MAAM,cAAc,gBAAmC;EACrD,YAAY,aAAa,CAAC,SAAS,GAAG,WAAW;CACnD;CAEA,MAAM,eAAe,YAAoD;EAEvE,QAAO,MADW,QAAQ,GACf;CACb;CAIA,OAAO;EACL;EACA;EACA;EACA;CACF;AACF"}