@better-auth-ui/react 1.6.9 → 1.6.11

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 (270) hide show
  1. package/dist/components/auth/auth-context.d.ts +2 -2
  2. package/dist/components/auth/auth-provider.d.ts +4 -4
  3. package/dist/components/auth/email/email-changed.d.ts +2 -2
  4. package/dist/components/auth/email/email-verification.d.ts +2 -2
  5. package/dist/components/auth/email/index.d.ts +10 -10
  6. package/dist/components/auth/email/magic-link.d.ts +2 -2
  7. package/dist/components/auth/email/new-device.d.ts +2 -2
  8. package/dist/components/auth/email/organization-invitation.d.ts +2 -2
  9. package/dist/components/auth/email/otp-email.d.ts +2 -2
  10. package/dist/components/auth/email/password-changed.d.ts +2 -2
  11. package/dist/components/auth/email/reset-password.d.ts +2 -2
  12. package/dist/components/auth/fetch-options-provider.d.ts +1 -1
  13. package/dist/components/icons/apple.d.ts +1 -1
  14. package/dist/components/icons/atlassian.d.ts +1 -1
  15. package/dist/components/icons/cognito.d.ts +1 -1
  16. package/dist/components/icons/discord.d.ts +1 -1
  17. package/dist/components/icons/dropbox.d.ts +1 -1
  18. package/dist/components/icons/facebook.d.ts +1 -1
  19. package/dist/components/icons/figma.d.ts +1 -1
  20. package/dist/components/icons/github.d.ts +1 -1
  21. package/dist/components/icons/gitlab.d.ts +1 -1
  22. package/dist/components/icons/google.d.ts +1 -1
  23. package/dist/components/icons/huggingface.d.ts +1 -1
  24. package/dist/components/icons/index.d.ts +35 -35
  25. package/dist/components/icons/kakao.d.ts +1 -1
  26. package/dist/components/icons/kick.d.ts +1 -1
  27. package/dist/components/icons/line.d.ts +1 -1
  28. package/dist/components/icons/linear.d.ts +1 -1
  29. package/dist/components/icons/linkedin.d.ts +1 -1
  30. package/dist/components/icons/microsoft.d.ts +1 -1
  31. package/dist/components/icons/naver.d.ts +1 -1
  32. package/dist/components/icons/notion.d.ts +1 -1
  33. package/dist/components/icons/paybin.d.ts +1 -1
  34. package/dist/components/icons/paypal.d.ts +1 -1
  35. package/dist/components/icons/polar.d.ts +1 -1
  36. package/dist/components/icons/railway.d.ts +1 -1
  37. package/dist/components/icons/reddit.d.ts +1 -1
  38. package/dist/components/icons/roblox.d.ts +1 -1
  39. package/dist/components/icons/salesforce.d.ts +1 -1
  40. package/dist/components/icons/slack.d.ts +1 -1
  41. package/dist/components/icons/spotify.d.ts +1 -1
  42. package/dist/components/icons/tiktok.d.ts +1 -1
  43. package/dist/components/icons/twitch.d.ts +1 -1
  44. package/dist/components/icons/vercel.d.ts +1 -1
  45. package/dist/components/icons/vk.d.ts +1 -1
  46. package/dist/components/icons/wechat.d.ts +1 -1
  47. package/dist/components/icons/x.d.ts +1 -1
  48. package/dist/components/icons/zoom.d.ts +1 -1
  49. package/dist/email.d.ts +1 -1
  50. package/dist/email.js +1348 -1
  51. package/dist/hooks/auth/use-authenticate.d.ts +3 -3
  52. package/dist/hooks/auth/use-user.d.ts +34 -34
  53. package/dist/hooks/use-auth-mutation.d.ts +4 -4
  54. package/dist/hooks/use-auth-plugin.d.ts +1 -1
  55. package/dist/hooks/use-auth-query.d.ts +3 -3
  56. package/dist/index.d.ts +48 -48
  57. package/dist/index.js +2469 -47
  58. package/dist/lib/auth-client.d.ts +4 -4
  59. package/dist/lib/auth-plugin.d.ts +4 -4
  60. package/dist/lib/auth-server.d.ts +4 -4
  61. package/dist/lib/provider-icons.d.ts +2 -2
  62. package/dist/lib/settings-tab.d.ts +2 -2
  63. package/dist/lib/utils.d.ts +1 -1
  64. package/dist/mutations/api-key/create-api-key-mutation.d.ts +5 -5
  65. package/dist/mutations/api-key/delete-api-key-mutation.d.ts +5 -5
  66. package/dist/mutations/auth/request-password-reset-mutation.d.ts +4 -4
  67. package/dist/mutations/auth/reset-password-mutation.d.ts +4 -4
  68. package/dist/mutations/auth/send-verification-email-mutation.d.ts +4 -4
  69. package/dist/mutations/auth/sign-in-email-mutation.d.ts +7 -7
  70. package/dist/mutations/auth/sign-in-social-mutation.d.ts +6 -6
  71. package/dist/mutations/auth/sign-out-mutation.d.ts +5 -5
  72. package/dist/mutations/auth/sign-up-email-mutation.d.ts +9 -9
  73. package/dist/mutations/auth-mutation-options.d.ts +2 -2
  74. package/dist/mutations/magic-link/sign-in-magic-link-mutation.d.ts +4 -4
  75. package/dist/mutations/multi-session/revoke-multi-session-mutation.d.ts +5 -5
  76. package/dist/mutations/multi-session/set-active-session-mutation.d.ts +5 -5
  77. package/dist/mutations/organization/accept-invitation-mutation.d.ts +7 -7
  78. package/dist/mutations/organization/cancel-invitation-mutation.d.ts +7 -7
  79. package/dist/mutations/organization/check-slug-mutation.d.ts +4 -4
  80. package/dist/mutations/organization/create-organization-mutation.d.ts +5 -5
  81. package/dist/mutations/organization/delete-organization-mutation.d.ts +5 -5
  82. package/dist/mutations/organization/index.d.ts +12 -12
  83. package/dist/mutations/organization/invite-member-mutation.d.ts +9 -9
  84. package/dist/mutations/organization/leave-organization-mutation.d.ts +5 -5
  85. package/dist/mutations/organization/reject-invitation-mutation.d.ts +7 -7
  86. package/dist/mutations/organization/remove-member-mutation.d.ts +5 -5
  87. package/dist/mutations/organization/set-active-organization-mutation.d.ts +7 -7
  88. package/dist/mutations/organization/update-member-role-mutation.d.ts +5 -5
  89. package/dist/mutations/organization/update-organization-mutation.d.ts +5 -5
  90. package/dist/mutations/passkey/add-passkey-mutation.d.ts +13 -13
  91. package/dist/mutations/passkey/delete-passkey-mutation.d.ts +5 -5
  92. package/dist/mutations/passkey/sign-in-passkey-mutation.d.ts +21 -21
  93. package/dist/mutations/settings/change-email-mutation.d.ts +5 -5
  94. package/dist/mutations/settings/change-password-mutation.d.ts +6 -6
  95. package/dist/mutations/settings/delete-user-mutation.d.ts +4 -4
  96. package/dist/mutations/settings/link-social-mutation.d.ts +4 -4
  97. package/dist/mutations/settings/revoke-session-mutation.d.ts +5 -5
  98. package/dist/mutations/settings/unlink-account-mutation.d.ts +5 -5
  99. package/dist/mutations/settings/update-user-mutation.d.ts +5 -5
  100. package/dist/mutations/username/is-username-available-mutation.d.ts +4 -4
  101. package/dist/mutations/username/sign-in-username-mutation.d.ts +7 -7
  102. package/dist/plugins/captcha-plugin.d.ts +1 -1
  103. package/dist/plugins.d.ts +1 -1
  104. package/dist/plugins.js +27 -1
  105. package/dist/queries/api-key/list-api-keys-query.d.ts +6 -6
  106. package/dist/queries/auth/session-query.d.ts +6 -6
  107. package/dist/queries/auth-query-options.d.ts +2 -2
  108. package/dist/queries/multi-session/list-device-sessions-query.d.ts +6 -6
  109. package/dist/queries/organization/active-organization-query.d.ts +8 -8
  110. package/dist/queries/organization/full-organization-query.d.ts +6 -6
  111. package/dist/queries/organization/has-permission-query.d.ts +6 -6
  112. package/dist/queries/organization/index.d.ts +7 -7
  113. package/dist/queries/organization/list-invitations-query.d.ts +6 -6
  114. package/dist/queries/organization/list-members-query.d.ts +6 -6
  115. package/dist/queries/organization/list-organizations-query.d.ts +6 -6
  116. package/dist/queries/organization/list-user-invitations-query.d.ts +6 -6
  117. package/dist/queries/passkey/list-passkeys-query.d.ts +6 -6
  118. package/dist/queries/settings/account-info-query.d.ts +6 -6
  119. package/dist/queries/settings/list-accounts-query.d.ts +6 -6
  120. package/dist/queries/settings/list-sessions-query.d.ts +6 -6
  121. package/dist/server/queries/api-key/list-api-keys-query.d.ts +5 -5
  122. package/dist/server/queries/auth/session-query.d.ts +5 -5
  123. package/dist/server/queries/multi-session/list-device-sessions-query.d.ts +5 -5
  124. package/dist/server/queries/organization/active-organization-query.d.ts +7 -7
  125. package/dist/server/queries/organization/full-organization-query.d.ts +5 -5
  126. package/dist/server/queries/organization/has-permission-query.d.ts +5 -5
  127. package/dist/server/queries/organization/list-invitations-query.d.ts +5 -5
  128. package/dist/server/queries/organization/list-members-query.d.ts +5 -5
  129. package/dist/server/queries/organization/list-organizations-query.d.ts +5 -5
  130. package/dist/server/queries/organization/list-user-invitations-query.d.ts +5 -5
  131. package/dist/server/queries/passkey/list-passkeys-query.d.ts +5 -5
  132. package/dist/server/queries/settings/account-info-query.d.ts +5 -5
  133. package/dist/server/queries/settings/list-accounts-query.d.ts +5 -5
  134. package/dist/server/queries/settings/list-sessions-query.d.ts +5 -5
  135. package/dist/server.d.ts +15 -15
  136. package/dist/server.js +131 -14
  137. package/dist/use-auth-plugin-ClcP84Uz.js +80 -0
  138. package/package.json +2 -2
  139. package/dist/components/auth/auth-context.js +0 -4
  140. package/dist/components/auth/auth-provider.js +0 -68
  141. package/dist/components/auth/email/email-changed.js +0 -70
  142. package/dist/components/auth/email/email-localization.js +0 -26
  143. package/dist/components/auth/email/email-styles.js +0 -129
  144. package/dist/components/auth/email/email-verification.js +0 -75
  145. package/dist/components/auth/email/index.js +0 -10
  146. package/dist/components/auth/email/magic-link.js +0 -72
  147. package/dist/components/auth/email/new-device.js +0 -90
  148. package/dist/components/auth/email/organization-invitation.js +0 -110
  149. package/dist/components/auth/email/otp-email.js +0 -65
  150. package/dist/components/auth/email/password-changed.js +0 -76
  151. package/dist/components/auth/email/reset-password.js +0 -68
  152. package/dist/components/auth/fetch-options-provider.js +0 -31
  153. package/dist/components/icons/apple.js +0 -10
  154. package/dist/components/icons/atlassian.js +0 -14
  155. package/dist/components/icons/cognito.js +0 -10
  156. package/dist/components/icons/discord.js +0 -10
  157. package/dist/components/icons/dropbox.js +0 -10
  158. package/dist/components/icons/facebook.js +0 -12
  159. package/dist/components/icons/figma.js +0 -13
  160. package/dist/components/icons/github.js +0 -12
  161. package/dist/components/icons/gitlab.js +0 -10
  162. package/dist/components/icons/google.js +0 -10
  163. package/dist/components/icons/huggingface.js +0 -10
  164. package/dist/components/icons/index.js +0 -35
  165. package/dist/components/icons/kakao.js +0 -12
  166. package/dist/components/icons/kick.js +0 -12
  167. package/dist/components/icons/line.js +0 -10
  168. package/dist/components/icons/linear.js +0 -10
  169. package/dist/components/icons/linkedin.js +0 -10
  170. package/dist/components/icons/microsoft.js +0 -10
  171. package/dist/components/icons/naver.js +0 -10
  172. package/dist/components/icons/notion.js +0 -10
  173. package/dist/components/icons/paybin.js +0 -9
  174. package/dist/components/icons/paypal.js +0 -10
  175. package/dist/components/icons/polar.js +0 -10
  176. package/dist/components/icons/railway.js +0 -10
  177. package/dist/components/icons/reddit.js +0 -10
  178. package/dist/components/icons/roblox.js +0 -13
  179. package/dist/components/icons/salesforce.js +0 -10
  180. package/dist/components/icons/slack.js +0 -10
  181. package/dist/components/icons/spotify.js +0 -10
  182. package/dist/components/icons/tiktok.js +0 -11
  183. package/dist/components/icons/twitch.js +0 -13
  184. package/dist/components/icons/vercel.js +0 -10
  185. package/dist/components/icons/vk.js +0 -10
  186. package/dist/components/icons/wechat.js +0 -10
  187. package/dist/components/icons/x.js +0 -10
  188. package/dist/components/icons/zoom.js +0 -12
  189. package/dist/components/mutation-invalidator.js +0 -31
  190. package/dist/components/settings/account/theme-preview.js +0 -10
  191. package/dist/hooks/auth/use-authenticate.js +0 -29
  192. package/dist/hooks/auth/use-user.js +0 -15
  193. package/dist/hooks/use-auth-mutation.js +0 -19
  194. package/dist/hooks/use-auth-plugin.js +0 -28
  195. package/dist/hooks/use-auth-query.js +0 -21
  196. package/dist/lib/auth-client.js +0 -1
  197. package/dist/lib/auth-plugin.js +0 -1
  198. package/dist/lib/auth-server.js +0 -1
  199. package/dist/lib/provider-icons.js +0 -48
  200. package/dist/lib/settings-tab.js +0 -1
  201. package/dist/lib/utils.js +0 -5
  202. package/dist/mutations/api-key/create-api-key-mutation.js +0 -39
  203. package/dist/mutations/api-key/delete-api-key-mutation.js +0 -39
  204. package/dist/mutations/auth/request-password-reset-mutation.js +0 -33
  205. package/dist/mutations/auth/reset-password-mutation.js +0 -34
  206. package/dist/mutations/auth/send-verification-email-mutation.js +0 -33
  207. package/dist/mutations/auth/sign-in-email-mutation.js +0 -40
  208. package/dist/mutations/auth/sign-in-social-mutation.js +0 -38
  209. package/dist/mutations/auth/sign-out-mutation.js +0 -41
  210. package/dist/mutations/auth/sign-up-email-mutation.js +0 -36
  211. package/dist/mutations/auth-mutation-options.js +0 -23
  212. package/dist/mutations/magic-link/sign-in-magic-link-mutation.js +0 -33
  213. package/dist/mutations/multi-session/revoke-multi-session-mutation.js +0 -39
  214. package/dist/mutations/multi-session/set-active-session-mutation.js +0 -40
  215. package/dist/mutations/organization/accept-invitation-mutation.js +0 -32
  216. package/dist/mutations/organization/cancel-invitation-mutation.js +0 -28
  217. package/dist/mutations/organization/check-slug-mutation.js +0 -30
  218. package/dist/mutations/organization/create-organization-mutation.js +0 -29
  219. package/dist/mutations/organization/delete-organization-mutation.js +0 -29
  220. package/dist/mutations/organization/index.js +0 -12
  221. package/dist/mutations/organization/invite-member-mutation.js +0 -35
  222. package/dist/mutations/organization/leave-organization-mutation.js +0 -32
  223. package/dist/mutations/organization/reject-invitation-mutation.js +0 -25
  224. package/dist/mutations/organization/remove-member-mutation.js +0 -29
  225. package/dist/mutations/organization/set-active-organization-mutation.js +0 -72
  226. package/dist/mutations/organization/update-member-role-mutation.js +0 -36
  227. package/dist/mutations/organization/update-organization-mutation.js +0 -36
  228. package/dist/mutations/passkey/add-passkey-mutation.js +0 -40
  229. package/dist/mutations/passkey/delete-passkey-mutation.js +0 -39
  230. package/dist/mutations/passkey/sign-in-passkey-mutation.js +0 -38
  231. package/dist/mutations/settings/change-email-mutation.js +0 -37
  232. package/dist/mutations/settings/change-password-mutation.js +0 -33
  233. package/dist/mutations/settings/delete-user-mutation.js +0 -33
  234. package/dist/mutations/settings/link-social-mutation.js +0 -33
  235. package/dist/mutations/settings/revoke-session-mutation.js +0 -39
  236. package/dist/mutations/settings/unlink-account-mutation.js +0 -39
  237. package/dist/mutations/settings/update-user-mutation.js +0 -36
  238. package/dist/mutations/username/is-username-available-mutation.js +0 -36
  239. package/dist/mutations/username/sign-in-username-mutation.js +0 -37
  240. package/dist/plugins/captcha-plugin.js +0 -34
  241. package/dist/queries/api-key/list-api-keys-query.js +0 -54
  242. package/dist/queries/auth/session-query.js +0 -72
  243. package/dist/queries/auth-query-options.js +0 -21
  244. package/dist/queries/multi-session/list-device-sessions-query.js +0 -85
  245. package/dist/queries/organization/active-organization-query.js +0 -37
  246. package/dist/queries/organization/full-organization-query.js +0 -31
  247. package/dist/queries/organization/has-permission-query.js +0 -38
  248. package/dist/queries/organization/index.js +0 -7
  249. package/dist/queries/organization/list-invitations-query.js +0 -37
  250. package/dist/queries/organization/list-members-query.js +0 -37
  251. package/dist/queries/organization/list-organizations-query.js +0 -31
  252. package/dist/queries/organization/list-user-invitations-query.js +0 -31
  253. package/dist/queries/passkey/list-passkeys-query.js +0 -83
  254. package/dist/queries/settings/account-info-query.js +0 -87
  255. package/dist/queries/settings/list-accounts-query.js +0 -85
  256. package/dist/queries/settings/list-sessions-query.js +0 -83
  257. package/dist/server/queries/api-key/list-api-keys-query.js +0 -49
  258. package/dist/server/queries/auth/session-query.js +0 -51
  259. package/dist/server/queries/multi-session/list-device-sessions-query.js +0 -54
  260. package/dist/server/queries/organization/active-organization-query.js +0 -25
  261. package/dist/server/queries/organization/full-organization-query.js +0 -21
  262. package/dist/server/queries/organization/has-permission-query.js +0 -23
  263. package/dist/server/queries/organization/list-invitations-query.js +0 -21
  264. package/dist/server/queries/organization/list-members-query.js +0 -21
  265. package/dist/server/queries/organization/list-organizations-query.js +0 -21
  266. package/dist/server/queries/organization/list-user-invitations-query.js +0 -21
  267. package/dist/server/queries/passkey/list-passkeys-query.js +0 -54
  268. package/dist/server/queries/settings/account-info-query.js +0 -54
  269. package/dist/server/queries/settings/list-accounts-query.js +0 -54
  270. package/dist/server/queries/settings/list-sessions-query.js +0 -54
@@ -1,28 +0,0 @@
1
- import { organizationMutationKeys, organizationQueryKeys } from "@better-auth-ui/core/plugins";
2
- import { mutationOptions, useMutation } from "@tanstack/react-query";
3
- import { useSession } from "../../queries/auth/session-query";
4
- export function cancelInvitationOptions(authClient) {
5
- const mutationKey = organizationMutationKeys.cancelInvitation;
6
- const mutationFn = (params) => authClient.organization.cancelInvitation({
7
- ...params,
8
- fetchOptions: { ...params?.fetchOptions, throw: true }
9
- });
10
- return mutationOptions({
11
- mutationKey,
12
- mutationFn
13
- });
14
- }
15
- export function useCancelInvitation(authClient, options, queryClient) {
16
- const { data: session } = useSession(authClient, undefined, queryClient);
17
- const userId = session?.user.id;
18
- return useMutation({
19
- ...cancelInvitationOptions(authClient),
20
- ...options,
21
- meta: {
22
- awaits: [
23
- organizationQueryKeys.invitations.all(userId),
24
- organizationQueryKeys.fullDetails(userId)
25
- ]
26
- }
27
- }, queryClient);
28
- }
@@ -1,30 +0,0 @@
1
- import { organizationMutationKeys } from "@better-auth-ui/core/plugins";
2
- import { mutationOptions, useMutation } from "@tanstack/react-query";
3
- /**
4
- * Mutation options factory for checking organization slug availability.
5
- *
6
- * @param authClient - The Better Auth client.
7
- */
8
- export function checkSlugOptions(authClient) {
9
- const mutationKey = organizationMutationKeys.checkSlug;
10
- const mutationFn = (params) => authClient.organization.checkSlug({
11
- ...params,
12
- fetchOptions: { ...params?.fetchOptions, throw: true }
13
- });
14
- return mutationOptions({
15
- mutationKey,
16
- mutationFn
17
- });
18
- }
19
- /**
20
- * Create a mutation for checking whether an organization slug is available.
21
- *
22
- * @param authClient - The Better Auth client with the organization plugin.
23
- * @param options - React Query options forwarded to `useMutation`.
24
- */
25
- export function useCheckSlug(authClient, options) {
26
- return useMutation({
27
- ...checkSlugOptions(authClient),
28
- ...options
29
- });
30
- }
@@ -1,29 +0,0 @@
1
- import { organizationMutationKeys, organizationQueryKeys } from "@better-auth-ui/core/plugins";
2
- import { mutationOptions, useMutation } from "@tanstack/react-query";
3
- import { useSession } from "../../queries/auth/session-query";
4
- export function createOrganizationOptions(authClient) {
5
- const mutationKey = organizationMutationKeys.create;
6
- const mutationFn = (params) => authClient.organization.create({
7
- ...params,
8
- fetchOptions: { ...params?.fetchOptions, throw: true }
9
- });
10
- return mutationOptions({
11
- mutationKey,
12
- mutationFn
13
- });
14
- }
15
- export function useCreateOrganization(authClient, options, queryClient) {
16
- const { data: session } = useSession(authClient, undefined, queryClient);
17
- const userId = session?.user.id;
18
- return useMutation({
19
- ...createOrganizationOptions(authClient),
20
- ...options,
21
- meta: {
22
- awaits: [organizationQueryKeys.lists(userId)],
23
- invalidates: [
24
- organizationQueryKeys.fullDetails(userId),
25
- organizationQueryKeys.activeOrganizations(userId)
26
- ]
27
- }
28
- }, queryClient);
29
- }
@@ -1,29 +0,0 @@
1
- import { organizationMutationKeys, organizationQueryKeys } from "@better-auth-ui/core/plugins";
2
- import { mutationOptions, useMutation } from "@tanstack/react-query";
3
- import { useSession } from "../../queries/auth/session-query";
4
- export function deleteOrganizationOptions(authClient) {
5
- const mutationKey = organizationMutationKeys.delete;
6
- const mutationFn = (params) => authClient.organization.delete({
7
- ...params,
8
- fetchOptions: { ...params?.fetchOptions, throw: true }
9
- });
10
- return mutationOptions({
11
- mutationKey,
12
- mutationFn
13
- });
14
- }
15
- export function useDeleteOrganization(authClient, options, queryClient) {
16
- const { data: session } = useSession(authClient, undefined, queryClient);
17
- const userId = session?.user.id;
18
- return useMutation({
19
- ...deleteOrganizationOptions(authClient),
20
- ...options,
21
- meta: {
22
- awaits: [organizationQueryKeys.lists(userId)],
23
- invalidates: [
24
- organizationQueryKeys.fullDetails(userId),
25
- organizationQueryKeys.activeOrganizations(userId)
26
- ]
27
- }
28
- }, queryClient);
29
- }
@@ -1,12 +0,0 @@
1
- export * from "./accept-invitation-mutation";
2
- export * from "./cancel-invitation-mutation";
3
- export * from "./check-slug-mutation";
4
- export * from "./create-organization-mutation";
5
- export * from "./delete-organization-mutation";
6
- export * from "./invite-member-mutation";
7
- export * from "./leave-organization-mutation";
8
- export * from "./reject-invitation-mutation";
9
- export * from "./remove-member-mutation";
10
- export * from "./set-active-organization-mutation";
11
- export * from "./update-member-role-mutation";
12
- export * from "./update-organization-mutation";
@@ -1,35 +0,0 @@
1
- import { organizationMutationKeys, organizationQueryKeys } from "@better-auth-ui/core/plugins";
2
- import { mutationOptions, useMutation } from "@tanstack/react-query";
3
- import { useSession } from "../../queries/auth/session-query";
4
- import { useActiveOrganization } from "../../queries/organization";
5
- export function inviteMemberOptions(authClient) {
6
- const mutationKey = organizationMutationKeys.inviteMember;
7
- const mutationFn = (params) => authClient.organization.inviteMember({
8
- ...params,
9
- fetchOptions: { ...params?.fetchOptions, throw: true }
10
- });
11
- return mutationOptions({
12
- mutationKey,
13
- mutationFn
14
- });
15
- }
16
- export function useInviteMember(authClient, options, queryClient) {
17
- const { data: session } = useSession(authClient, undefined, queryClient);
18
- const userId = session?.user.id;
19
- const { data: activeOrganization } = useActiveOrganization(authClient, undefined, queryClient);
20
- return useMutation({
21
- ...inviteMemberOptions(authClient),
22
- ...options,
23
- mutationFn: (params) => authClient.organization.inviteMember({
24
- ...params,
25
- organizationId: params?.organizationId ?? activeOrganization?.id,
26
- fetchOptions: { ...params?.fetchOptions, throw: true }
27
- }),
28
- meta: {
29
- awaits: [
30
- organizationQueryKeys.invitations.all(userId),
31
- organizationQueryKeys.fullDetails(userId)
32
- ]
33
- }
34
- }, queryClient);
35
- }
@@ -1,32 +0,0 @@
1
- import { organizationMutationKeys, organizationQueryKeys } from "@better-auth-ui/core/plugins";
2
- import { mutationOptions, useMutation } from "@tanstack/react-query";
3
- import { useSession } from "../../queries/auth/session-query";
4
- export function leaveOrganizationOptions(authClient) {
5
- const mutationKey = organizationMutationKeys.leave;
6
- const mutationFn = (params) => authClient.organization.leave({
7
- ...params,
8
- fetchOptions: { ...params?.fetchOptions, throw: true }
9
- });
10
- return mutationOptions({
11
- mutationKey,
12
- mutationFn
13
- });
14
- }
15
- export function useLeaveOrganization(authClient, options, queryClient) {
16
- const { data: session } = useSession(authClient, undefined, queryClient);
17
- const userId = session?.user.id;
18
- return useMutation({
19
- ...leaveOrganizationOptions(authClient),
20
- ...options,
21
- meta: {
22
- awaits: [
23
- organizationQueryKeys.members.all(userId),
24
- organizationQueryKeys.fullDetails(userId)
25
- ],
26
- invalidates: [
27
- organizationQueryKeys.lists(userId),
28
- organizationQueryKeys.activeOrganizations(userId)
29
- ]
30
- }
31
- }, queryClient);
32
- }
@@ -1,25 +0,0 @@
1
- import { organizationMutationKeys, organizationQueryKeys } from "@better-auth-ui/core/plugins";
2
- import { mutationOptions, useMutation } from "@tanstack/react-query";
3
- import { useSession } from "../../queries/auth/session-query";
4
- export function rejectInvitationOptions(authClient) {
5
- const mutationKey = organizationMutationKeys.rejectInvitation;
6
- const mutationFn = (params) => authClient.organization.rejectInvitation({
7
- ...params,
8
- fetchOptions: { ...params?.fetchOptions, throw: true }
9
- });
10
- return mutationOptions({
11
- mutationKey,
12
- mutationFn
13
- });
14
- }
15
- export function useRejectInvitation(authClient, options, queryClient) {
16
- const { data: session } = useSession(authClient, undefined, queryClient);
17
- const userId = session?.user.id;
18
- return useMutation({
19
- ...rejectInvitationOptions(authClient),
20
- ...options,
21
- meta: {
22
- awaits: [organizationQueryKeys.userInvitations.all(userId)]
23
- }
24
- }, queryClient);
25
- }
@@ -1,29 +0,0 @@
1
- import { organizationMutationKeys, organizationQueryKeys } from "@better-auth-ui/core/plugins";
2
- import { mutationOptions, useMutation } from "@tanstack/react-query";
3
- import { useSession } from "../../queries/auth/session-query";
4
- export function removeMemberOptions(authClient) {
5
- const mutationKey = organizationMutationKeys.removeMember;
6
- const mutationFn = (params) => authClient.organization.removeMember({
7
- ...params,
8
- fetchOptions: { ...params?.fetchOptions, throw: true }
9
- });
10
- return mutationOptions({
11
- mutationKey,
12
- mutationFn
13
- });
14
- }
15
- export function useRemoveMember(authClient, options, queryClient) {
16
- const { data: session } = useSession(authClient, undefined, queryClient);
17
- const userId = session?.user.id;
18
- return useMutation({
19
- ...removeMemberOptions(authClient),
20
- ...options,
21
- meta: {
22
- awaits: [
23
- organizationQueryKeys.members.all(userId),
24
- organizationQueryKeys.fullDetails(userId)
25
- ],
26
- invalidates: [organizationQueryKeys.lists(userId)]
27
- }
28
- }, queryClient);
29
- }
@@ -1,72 +0,0 @@
1
- import { organizationMutationKeys, organizationQueryKeys } from "@better-auth-ui/core/plugins";
2
- import { mutationOptions, useMutation } from "@tanstack/react-query";
3
- import { useSession } from "../../queries/auth/session-query";
4
- import { useListOrganizations } from "../../queries/organization";
5
- export function setActiveOrganizationOptions(authClient) {
6
- const mutationKey = organizationMutationKeys.setActive;
7
- const mutationFn = (params) => authClient.organization.setActive({
8
- ...params,
9
- fetchOptions: { ...params?.fetchOptions, throw: true }
10
- });
11
- return mutationOptions({
12
- mutationKey,
13
- mutationFn
14
- });
15
- }
16
- export function useSetActiveOrganization(authClient, options, queryClient) {
17
- const { data: session } = useSession(authClient, undefined, queryClient);
18
- const userId = session?.user.id;
19
- const { data: organizations } = useListOrganizations(authClient, undefined, queryClient);
20
- return useMutation({
21
- ...setActiveOrganizationOptions(authClient),
22
- ...options,
23
- onMutate: async (variables, context) => {
24
- // Cancel any outgoing refetches across every slug-partitioned
25
- // active-organization cache entry so they don't overwrite our
26
- // optimistic update.
27
- await context.client.cancelQueries({
28
- queryKey: organizationQueryKeys.activeOrganizations(userId)
29
- });
30
- // Snapshot every slug-partitioned variant so the rollback hits
31
- // whichever cache entry the UI is actually subscribed to (the
32
- // entry's key is `[..., 'active', { organizationSlug }]` when the
33
- // plugin's slug option is set, and `[..., 'active', null]`
34
- // otherwise).
35
- const previousOrganizations = context.client.getQueriesData({
36
- queryKey: organizationQueryKeys.activeOrganizations(userId)
37
- });
38
- // Optimistically update to the new value
39
- if (variables?.organizationId === null) {
40
- context.client.setQueriesData({ queryKey: organizationQueryKeys.activeOrganizations(userId) }, null);
41
- return { previousOrganizations };
42
- }
43
- const newOrganization = organizations?.find((organization) => (variables?.organizationId !== undefined &&
44
- organization.id === variables.organizationId) ||
45
- (variables?.organizationSlug !== undefined &&
46
- organization.slug === variables.organizationSlug));
47
- if (newOrganization) {
48
- context.client.setQueriesData({ queryKey: organizationQueryKeys.activeOrganizations(userId) }, newOrganization);
49
- }
50
- return { previousOrganizations };
51
- },
52
- // If the mutation fails,
53
- // use the result returned from onMutate to roll back
54
- onError: (error, variables, onMutateResult, context) => {
55
- const previousOrganizations = onMutateResult?.previousOrganizations;
56
- if (previousOrganizations?.length && error.error) {
57
- for (const [queryKey, data] of previousOrganizations) {
58
- context.client.setQueryData(queryKey, data);
59
- }
60
- }
61
- return options?.onError?.(error, variables, onMutateResult, context);
62
- },
63
- // Always refetch after error or success — invalidate every
64
- // slug-partitioned variant via the broader prefix.
65
- onSettled: async (data, error, variables, onMutateResult, context) => {
66
- await context.client.invalidateQueries({
67
- queryKey: organizationQueryKeys.activeOrganizations(userId)
68
- });
69
- return options?.onSettled?.(data, error, variables, onMutateResult, context);
70
- }
71
- }, queryClient);
72
- }
@@ -1,36 +0,0 @@
1
- import { organizationMutationKeys, organizationQueryKeys } from "@better-auth-ui/core/plugins";
2
- import { mutationOptions, useMutation } from "@tanstack/react-query";
3
- import { useSession } from "../../queries/auth/session-query";
4
- import { useActiveOrganization } from "../../queries/organization";
5
- export function updateMemberRoleOptions(authClient) {
6
- const mutationKey = organizationMutationKeys.updateMemberRole;
7
- const mutationFn = (params) => authClient.organization.updateMemberRole({
8
- ...params,
9
- fetchOptions: { ...params?.fetchOptions, throw: true }
10
- });
11
- return mutationOptions({
12
- mutationKey,
13
- mutationFn
14
- });
15
- }
16
- export function useUpdateMemberRole(authClient, options, queryClient) {
17
- const { data: session } = useSession(authClient, undefined, queryClient);
18
- const userId = session?.user.id;
19
- const { data: activeOrganization } = useActiveOrganization(authClient, undefined, queryClient);
20
- return useMutation({
21
- ...updateMemberRoleOptions(authClient),
22
- ...options,
23
- mutationFn: (params) => authClient.organization.updateMemberRole({
24
- ...params,
25
- organizationId: params?.organizationId ?? activeOrganization?.id,
26
- fetchOptions: { ...params?.fetchOptions, throw: true }
27
- }),
28
- meta: {
29
- awaits: [
30
- organizationQueryKeys.members.all(userId),
31
- organizationQueryKeys.fullDetails(userId)
32
- ],
33
- invalidates: [organizationQueryKeys.permissions.all(userId)]
34
- }
35
- }, queryClient);
36
- }
@@ -1,36 +0,0 @@
1
- import { organizationMutationKeys, organizationQueryKeys } from "@better-auth-ui/core/plugins";
2
- import { mutationOptions, useMutation } from "@tanstack/react-query";
3
- import { useSession } from "../../queries/auth/session-query";
4
- import { useActiveOrganization } from "../../queries/organization";
5
- export function updateOrganizationOptions(authClient) {
6
- const mutationKey = organizationMutationKeys.update;
7
- const mutationFn = (params) => authClient.organization.update({
8
- ...params,
9
- fetchOptions: { ...params?.fetchOptions, throw: true }
10
- });
11
- return mutationOptions({
12
- mutationKey,
13
- mutationFn
14
- });
15
- }
16
- export function useUpdateOrganization(authClient, options, queryClient) {
17
- const { data: session } = useSession(authClient, undefined, queryClient);
18
- const userId = session?.user.id;
19
- const { data: activeOrganization } = useActiveOrganization(authClient, undefined, queryClient);
20
- return useMutation({
21
- ...updateOrganizationOptions(authClient),
22
- ...options,
23
- mutationFn: (params) => authClient.organization.update({
24
- ...params,
25
- organizationId: params?.organizationId ?? activeOrganization?.id,
26
- fetchOptions: { ...params?.fetchOptions, throw: true }
27
- }),
28
- meta: {
29
- awaits: [
30
- organizationQueryKeys.lists(userId),
31
- organizationQueryKeys.fullDetails(userId),
32
- organizationQueryKeys.activeOrganizations(userId)
33
- ]
34
- }
35
- }, queryClient);
36
- }
@@ -1,40 +0,0 @@
1
- import { passkeyMutationKeys, passkeyQueryKeys } from "@better-auth-ui/core/plugins";
2
- import { mutationOptions, useMutation } from "@tanstack/react-query";
3
- import { useSession } from "../../queries/auth/session-query";
4
- /**
5
- * Mutation options factory for registering a new passkey.
6
- *
7
- * @param authClient - The Better Auth client with the passkey plugin.
8
- */
9
- export function addPasskeyOptions(authClient) {
10
- const mutationKey = passkeyMutationKeys.addPasskey;
11
- // biome-ignore lint/suspicious/noConfusingVoidType: void allows no-arg mutate
12
- const mutationFn = (params) => authClient.passkey.addPasskey({
13
- ...(params ?? {}),
14
- fetchOptions: { ...params?.fetchOptions, throw: true }
15
- });
16
- return mutationOptions({
17
- mutationKey,
18
- mutationFn
19
- });
20
- }
21
- /**
22
- * Create a mutation for registering a new passkey.
23
- *
24
- * On success, `MutationInvalidator` awaits invalidation of the user's
25
- * passkey list (see `meta.awaits`).
26
- *
27
- * @param authClient - The Better Auth client with the passkey plugin.
28
- * @param options - React Query options forwarded to `useMutation`.
29
- */
30
- export function useAddPasskey(authClient, options, queryClient) {
31
- const { data: session } = useSession(authClient, undefined, queryClient);
32
- const userId = session?.user.id;
33
- return useMutation({
34
- ...addPasskeyOptions(authClient),
35
- ...options,
36
- meta: {
37
- awaits: [passkeyQueryKeys.lists(userId)]
38
- }
39
- }, queryClient);
40
- }
@@ -1,39 +0,0 @@
1
- import { passkeyMutationKeys, passkeyQueryKeys } from "@better-auth-ui/core/plugins";
2
- import { mutationOptions, useMutation } from "@tanstack/react-query";
3
- import { useSession } from "../../queries/auth/session-query";
4
- /**
5
- * Mutation options factory for deleting a passkey.
6
- *
7
- * @param authClient - The Better Auth client.
8
- */
9
- export function deletePasskeyOptions(authClient) {
10
- const mutationKey = passkeyMutationKeys.deletePasskey;
11
- const mutationFn = (params) => authClient.passkey.deletePasskey({
12
- ...params,
13
- fetchOptions: { ...params?.fetchOptions, throw: true }
14
- });
15
- return mutationOptions({
16
- mutationKey,
17
- mutationFn
18
- });
19
- }
20
- /**
21
- * Create a mutation for deleting a passkey.
22
- *
23
- * On success, `MutationInvalidator` awaits invalidation of the user's
24
- * passkey list (see `meta.awaits`).
25
- *
26
- * @param authClient - The Better Auth client with the passkey plugin.
27
- * @param options - React Query options forwarded to `useMutation`.
28
- */
29
- export function useDeletePasskey(authClient, options, queryClient) {
30
- const { data: session } = useSession(authClient, undefined, queryClient);
31
- const userId = session?.user.id;
32
- return useMutation({
33
- ...deletePasskeyOptions(authClient),
34
- ...options,
35
- meta: {
36
- awaits: [passkeyQueryKeys.lists(userId)]
37
- }
38
- }, queryClient);
39
- }
@@ -1,38 +0,0 @@
1
- import { authQueryKeys } from "@better-auth-ui/core";
2
- import { passkeyMutationKeys } from "@better-auth-ui/core/plugins";
3
- import { mutationOptions, useMutation } from "@tanstack/react-query";
4
- /**
5
- * Mutation options factory for passkey sign-in.
6
- *
7
- * @param authClient - The Better Auth client with the passkey plugin.
8
- */
9
- export function signInPasskeyOptions(authClient) {
10
- const mutationKey = passkeyMutationKeys.signIn;
11
- // biome-ignore lint/suspicious/noConfusingVoidType: void allows no-arg mutate
12
- const mutationFn = (params) => authClient.signIn.passkey({
13
- ...(params ?? {}),
14
- fetchOptions: { ...params?.fetchOptions, throw: true }
15
- });
16
- return mutationOptions({
17
- mutationKey,
18
- mutationFn
19
- });
20
- }
21
- /**
22
- * Create a mutation for passkey sign-in.
23
- *
24
- * On success, `MutationInvalidator` awaits invalidation of the session
25
- * query so the new session is refetched (see `meta.awaits`).
26
- *
27
- * @param authClient - The Better Auth client with the passkey plugin.
28
- * @param options - React Query options forwarded to `useMutation`.
29
- */
30
- export function useSignInPasskey(authClient, options, queryClient) {
31
- return useMutation({
32
- ...signInPasskeyOptions(authClient),
33
- ...options,
34
- meta: {
35
- awaits: [authQueryKeys.session]
36
- }
37
- }, queryClient);
38
- }
@@ -1,37 +0,0 @@
1
- import { authMutationKeys, authQueryKeys } from "@better-auth-ui/core";
2
- import { mutationOptions, useMutation } from "@tanstack/react-query";
3
- /**
4
- * Mutation options factory for changing the current user's email address.
5
- *
6
- * @param authClient - The Better Auth client.
7
- */
8
- export function changeEmailOptions(authClient) {
9
- const mutationKey = authMutationKeys.changeEmail;
10
- const mutationFn = (params) => authClient.changeEmail({
11
- ...params,
12
- fetchOptions: { ...params?.fetchOptions, throw: true }
13
- });
14
- return mutationOptions({
15
- mutationKey,
16
- mutationFn
17
- });
18
- }
19
- /**
20
- * Create a mutation for changing the current user's email address.
21
- *
22
- * On success, `MutationInvalidator` awaits invalidation of the session
23
- * query so the new email is reflected on the user object (see
24
- * `meta.awaits`).
25
- *
26
- * @param authClient - The Better Auth client.
27
- * @param options - React Query options forwarded to `useMutation`.
28
- */
29
- export function useChangeEmail(authClient, options, queryClient) {
30
- return useMutation({
31
- ...changeEmailOptions(authClient),
32
- ...options,
33
- meta: {
34
- awaits: [authQueryKeys.session]
35
- }
36
- }, queryClient);
37
- }
@@ -1,33 +0,0 @@
1
- import { authMutationKeys } from "@better-auth-ui/core";
2
- import { mutationOptions, useMutation } from "@tanstack/react-query";
3
- /**
4
- * Mutation options factory for changing the authenticated user's password.
5
- *
6
- * @param authClient - The Better Auth client.
7
- */
8
- export function changePasswordOptions(authClient) {
9
- const mutationKey = authMutationKeys.changePassword;
10
- const mutationFn = (params) => authClient.changePassword({
11
- ...params,
12
- fetchOptions: { ...params?.fetchOptions, throw: true }
13
- });
14
- return mutationOptions({
15
- mutationKey,
16
- mutationFn
17
- });
18
- }
19
- /**
20
- * Create a mutation for changing the authenticated user's password.
21
- *
22
- * Wraps `authClient.changePassword` and forwards React Query mutation
23
- * options such as `onSuccess`, `onError`, and `retry`.
24
- *
25
- * @param authClient - The Better Auth client.
26
- * @param options - React Query options forwarded to `useMutation`.
27
- */
28
- export function useChangePassword(authClient, options) {
29
- return useMutation({
30
- ...changePasswordOptions(authClient),
31
- ...options
32
- });
33
- }
@@ -1,33 +0,0 @@
1
- import { deleteUserMutationKeys } from "@better-auth-ui/core/plugins";
2
- import { mutationOptions, useMutation } from "@tanstack/react-query";
3
- /**
4
- * Mutation options factory for deleting the authenticated user's account.
5
- *
6
- * @param authClient - The Better Auth client.
7
- */
8
- export function deleteUserOptions(authClient) {
9
- const mutationKey = deleteUserMutationKeys.deleteUser;
10
- const mutationFn = (params) => authClient.deleteUser({
11
- ...params,
12
- fetchOptions: { ...params?.fetchOptions, throw: true }
13
- });
14
- return mutationOptions({
15
- mutationKey,
16
- mutationFn
17
- });
18
- }
19
- /**
20
- * Create a mutation for deleting the authenticated user's account.
21
- *
22
- * Wraps `authClient.deleteUser` and forwards React Query mutation options
23
- * such as `onSuccess`, `onError`, and `retry`.
24
- *
25
- * @param authClient - The Better Auth client.
26
- * @param options - React Query options forwarded to `useMutation`.
27
- */
28
- export function useDeleteUser(authClient, options) {
29
- return useMutation({
30
- ...deleteUserOptions(authClient),
31
- ...options
32
- });
33
- }
@@ -1,33 +0,0 @@
1
- import { authMutationKeys } from "@better-auth-ui/core";
2
- import { mutationOptions, useMutation } from "@tanstack/react-query";
3
- /**
4
- * Mutation options factory for linking a social provider to the current user.
5
- *
6
- * @param authClient - The Better Auth client.
7
- */
8
- export function linkSocialOptions(authClient) {
9
- const mutationKey = authMutationKeys.linkSocial;
10
- const mutationFn = (params) => authClient.linkSocial({
11
- ...params,
12
- fetchOptions: { ...params?.fetchOptions, throw: true }
13
- });
14
- return mutationOptions({
15
- mutationKey,
16
- mutationFn
17
- });
18
- }
19
- /**
20
- * Create a mutation for linking a social provider to the current user.
21
- *
22
- * Wraps `authClient.linkSocial` to initiate a provider redirect and forwards
23
- * React Query mutation options such as `onSuccess`, `onError`, and `retry`.
24
- *
25
- * @param authClient - The Better Auth client.
26
- * @param options - React Query options forwarded to `useMutation`.
27
- */
28
- export function useLinkSocial(authClient, options) {
29
- return useMutation({
30
- ...linkSocialOptions(authClient),
31
- ...options
32
- });
33
- }