@better-auth-ui/react 1.6.7 → 1.6.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/auth/auth-context.d.ts +3 -0
- package/dist/components/auth/auth-context.js +4 -0
- package/dist/components/auth/auth-provider.d.ts +4 -4
- package/dist/components/auth/auth-provider.js +65 -41
- package/dist/components/auth/email/email-changed.d.ts +2 -2
- package/dist/components/auth/email/email-changed.js +68 -154
- package/dist/components/auth/email/email-localization.d.ts +11 -3
- package/dist/components/auth/email/email-localization.js +25 -18
- package/dist/components/auth/email/email-styles.js +77 -52
- package/dist/components/auth/email/email-verification.d.ts +2 -2
- package/dist/components/auth/email/email-verification.js +73 -138
- package/dist/components/auth/email/index.d.ts +10 -9
- package/dist/components/auth/email/index.js +10 -9
- package/dist/components/auth/email/magic-link.d.ts +2 -2
- package/dist/components/auth/email/magic-link.js +70 -139
- package/dist/components/auth/email/new-device.d.ts +2 -2
- package/dist/components/auth/email/new-device.js +88 -221
- package/dist/components/auth/email/organization-invitation.d.ts +121 -0
- package/dist/components/auth/email/organization-invitation.js +110 -0
- package/dist/components/auth/email/otp-email.d.ts +2 -2
- package/dist/components/auth/email/otp-email.js +63 -127
- package/dist/components/auth/email/password-changed.d.ts +2 -2
- package/dist/components/auth/email/password-changed.js +74 -157
- package/dist/components/auth/email/reset-password.d.ts +2 -2
- package/dist/components/auth/email/reset-password.js +66 -138
- package/dist/components/auth/fetch-options-provider.d.ts +1 -1
- package/dist/components/auth/fetch-options-provider.js +28 -27
- package/dist/components/icons/apple.d.ts +1 -1
- package/dist/components/icons/apple.js +9 -16
- package/dist/components/icons/atlassian.d.ts +1 -1
- package/dist/components/icons/atlassian.js +13 -38
- package/dist/components/icons/cognito.d.ts +1 -1
- package/dist/components/icons/cognito.js +9 -19
- package/dist/components/icons/discord.d.ts +1 -1
- package/dist/components/icons/discord.js +9 -16
- package/dist/components/icons/dropbox.d.ts +1 -1
- package/dist/components/icons/dropbox.js +9 -16
- package/dist/components/icons/facebook.d.ts +1 -1
- package/dist/components/icons/facebook.js +11 -19
- package/dist/components/icons/figma.d.ts +1 -1
- package/dist/components/icons/figma.js +12 -34
- package/dist/components/icons/github.d.ts +1 -1
- package/dist/components/icons/github.js +11 -16
- package/dist/components/icons/gitlab.d.ts +1 -1
- package/dist/components/icons/gitlab.js +9 -30
- package/dist/components/icons/google.d.ts +1 -1
- package/dist/components/icons/google.js +9 -39
- package/dist/components/icons/huggingface.d.ts +1 -1
- package/dist/components/icons/huggingface.js +9 -38
- package/dist/components/icons/index.d.ts +35 -35
- package/dist/components/icons/index.js +35 -35
- package/dist/components/icons/kakao.d.ts +1 -1
- package/dist/components/icons/kakao.js +11 -16
- package/dist/components/icons/kick.d.ts +1 -1
- package/dist/components/icons/kick.js +11 -20
- package/dist/components/icons/line.d.ts +1 -1
- package/dist/components/icons/line.js +9 -16
- package/dist/components/icons/linear.d.ts +1 -1
- package/dist/components/icons/linear.js +9 -16
- package/dist/components/icons/linkedin.d.ts +1 -1
- package/dist/components/icons/linkedin.js +9 -33
- package/dist/components/icons/microsoft.d.ts +1 -1
- package/dist/components/icons/microsoft.js +9 -30
- package/dist/components/icons/naver.d.ts +1 -1
- package/dist/components/icons/naver.js +9 -16
- package/dist/components/icons/notion.d.ts +1 -1
- package/dist/components/icons/notion.js +9 -16
- package/dist/components/icons/paybin.d.ts +1 -1
- package/dist/components/icons/paybin.js +8 -32
- package/dist/components/icons/paypal.d.ts +1 -1
- package/dist/components/icons/paypal.js +9 -30
- package/dist/components/icons/polar.d.ts +1 -1
- package/dist/components/icons/polar.js +9 -24
- package/dist/components/icons/railway.d.ts +1 -1
- package/dist/components/icons/railway.js +9 -16
- package/dist/components/icons/reddit.d.ts +1 -1
- package/dist/components/icons/reddit.js +9 -21
- package/dist/components/icons/roblox.d.ts +1 -1
- package/dist/components/icons/roblox.js +12 -17
- package/dist/components/icons/salesforce.d.ts +1 -1
- package/dist/components/icons/salesforce.js +9 -16
- package/dist/components/icons/slack.d.ts +1 -1
- package/dist/components/icons/slack.js +9 -30
- package/dist/components/icons/spotify.d.ts +1 -1
- package/dist/components/icons/spotify.js +9 -16
- package/dist/components/icons/tiktok.d.ts +1 -1
- package/dist/components/icons/tiktok.js +10 -23
- package/dist/components/icons/twitch.d.ts +1 -1
- package/dist/components/icons/twitch.js +12 -43
- package/dist/components/icons/vercel.d.ts +1 -1
- package/dist/components/icons/vercel.js +9 -16
- package/dist/components/icons/vk.d.ts +1 -1
- package/dist/components/icons/vk.js +9 -16
- package/dist/components/icons/wechat.d.ts +1 -1
- package/dist/components/icons/wechat.js +9 -16
- package/dist/components/icons/x.d.ts +1 -1
- package/dist/components/icons/x.js +9 -16
- package/dist/components/icons/zoom.d.ts +1 -1
- package/dist/components/icons/zoom.js +11 -69
- package/dist/components/mutation-invalidator.d.ts +1 -0
- package/dist/components/mutation-invalidator.js +31 -0
- package/dist/components/settings/account/theme-preview.js +7 -286
- package/dist/email.d.ts +1 -1
- package/dist/email.js +1 -11
- package/dist/hooks/auth/use-authenticate.d.ts +3 -3
- package/dist/hooks/auth/use-authenticate.js +28 -22
- package/dist/hooks/auth/use-user.d.ts +34 -34
- package/dist/hooks/auth/use-user.js +14 -10
- package/dist/hooks/use-auth-mutation.d.ts +4 -4
- package/dist/hooks/use-auth-mutation.js +18 -10
- package/dist/hooks/use-auth-plugin.d.ts +1 -1
- package/dist/hooks/use-auth-plugin.js +26 -8
- package/dist/hooks/use-auth-query.d.ts +3 -3
- package/dist/hooks/use-auth-query.js +20 -14
- package/dist/index.d.ts +48 -45
- package/dist/index.js +47 -79
- package/dist/lib/auth-client.d.ts +7 -4
- package/dist/lib/auth-client.js +1 -0
- package/dist/lib/auth-plugin.d.ts +19 -3
- package/dist/lib/auth-plugin.js +1 -0
- package/dist/lib/auth-server.d.ts +10 -3
- package/dist/lib/auth-server.js +1 -0
- package/dist/lib/provider-icons.d.ts +2 -2
- package/dist/lib/provider-icons.js +47 -75
- package/dist/lib/settings-tab.d.ts +19 -0
- package/dist/lib/settings-tab.js +1 -0
- package/dist/lib/utils.d.ts +1 -1
- package/dist/lib/utils.js +4 -7
- package/dist/mutations/api-key/create-api-key-mutation.d.ts +9 -7
- package/dist/mutations/api-key/create-api-key-mutation.js +37 -27
- package/dist/mutations/api-key/delete-api-key-mutation.d.ts +10 -6
- package/dist/mutations/api-key/delete-api-key-mutation.js +37 -27
- package/dist/mutations/auth/request-password-reset-mutation.d.ts +4 -4
- package/dist/mutations/auth/request-password-reset-mutation.js +31 -22
- package/dist/mutations/auth/reset-password-mutation.d.ts +4 -4
- package/dist/mutations/auth/reset-password-mutation.js +32 -22
- package/dist/mutations/auth/send-verification-email-mutation.d.ts +4 -4
- package/dist/mutations/auth/send-verification-email-mutation.js +31 -22
- package/dist/mutations/auth/sign-in-email-mutation.d.ts +10 -10
- package/dist/mutations/auth/sign-in-email-mutation.js +38 -27
- package/dist/mutations/auth/sign-in-social-mutation.d.ts +6 -6
- package/dist/mutations/auth/sign-in-social-mutation.js +36 -22
- package/dist/mutations/auth/sign-out-mutation.d.ts +9 -7
- package/dist/mutations/auth/sign-out-mutation.js +39 -26
- package/dist/mutations/auth/sign-up-email-mutation.d.ts +12 -12
- package/dist/mutations/auth/sign-up-email-mutation.js +34 -27
- package/dist/mutations/auth-mutation-options.d.ts +2 -2
- package/dist/mutations/auth-mutation-options.js +22 -18
- package/dist/mutations/magic-link/sign-in-magic-link-mutation.d.ts +4 -4
- package/dist/mutations/magic-link/sign-in-magic-link-mutation.js +31 -22
- package/dist/mutations/multi-session/revoke-multi-session-mutation.d.ts +8 -8
- package/dist/mutations/multi-session/revoke-multi-session-mutation.js +37 -27
- package/dist/mutations/multi-session/set-active-session-mutation.d.ts +8 -9
- package/dist/mutations/multi-session/set-active-session-mutation.js +38 -29
- package/dist/mutations/organization/accept-invitation-mutation.d.ts +43 -0
- package/dist/mutations/organization/accept-invitation-mutation.js +32 -0
- package/dist/mutations/organization/cancel-invitation-mutation.d.ts +25 -0
- package/dist/mutations/organization/cancel-invitation-mutation.js +28 -0
- package/dist/mutations/organization/check-slug-mutation.d.ts +21 -0
- package/dist/mutations/organization/check-slug-mutation.js +30 -0
- package/dist/mutations/organization/create-organization-mutation.d.ts +39 -0
- package/dist/mutations/organization/create-organization-mutation.js +29 -0
- package/dist/mutations/organization/delete-organization-mutation.d.ts +21 -0
- package/dist/mutations/organization/delete-organization-mutation.js +29 -0
- package/dist/mutations/organization/index.d.ts +12 -0
- package/dist/mutations/organization/index.js +12 -0
- package/dist/mutations/organization/invite-member-mutation.d.ts +43 -0
- package/dist/mutations/organization/invite-member-mutation.js +35 -0
- package/dist/mutations/organization/leave-organization-mutation.d.ts +65 -0
- package/dist/mutations/organization/leave-organization-mutation.js +32 -0
- package/dist/mutations/organization/reject-invitation-mutation.d.ts +31 -0
- package/dist/mutations/organization/reject-invitation-mutation.js +25 -0
- package/dist/mutations/organization/remove-member-mutation.d.ts +35 -0
- package/dist/mutations/organization/remove-member-mutation.js +29 -0
- package/dist/mutations/organization/set-active-organization-mutation.d.ts +71 -0
- package/dist/mutations/organization/set-active-organization-mutation.js +72 -0
- package/dist/mutations/organization/update-member-role-mutation.d.ts +31 -0
- package/dist/mutations/organization/update-member-role-mutation.js +36 -0
- package/dist/mutations/organization/update-organization-mutation.d.ts +21 -0
- package/dist/mutations/organization/update-organization-mutation.js +36 -0
- package/dist/mutations/passkey/add-passkey-mutation.d.ts +16 -16
- package/dist/mutations/passkey/add-passkey-mutation.js +38 -27
- package/dist/mutations/passkey/delete-passkey-mutation.d.ts +8 -8
- package/dist/mutations/passkey/delete-passkey-mutation.js +37 -27
- package/dist/mutations/passkey/sign-in-passkey-mutation.d.ts +24 -24
- package/dist/mutations/passkey/sign-in-passkey-mutation.js +36 -27
- package/dist/mutations/settings/change-email-mutation.d.ts +9 -8
- package/dist/mutations/settings/change-email-mutation.js +35 -27
- package/dist/mutations/settings/change-password-mutation.d.ts +6 -6
- package/dist/mutations/settings/change-password-mutation.js +31 -22
- package/dist/mutations/settings/delete-user-mutation.d.ts +4 -4
- package/dist/mutations/settings/delete-user-mutation.js +31 -22
- package/dist/mutations/settings/link-social-mutation.d.ts +4 -4
- package/dist/mutations/settings/link-social-mutation.js +31 -22
- package/dist/mutations/settings/revoke-session-mutation.d.ts +8 -8
- package/dist/mutations/settings/revoke-session-mutation.js +37 -27
- package/dist/mutations/settings/unlink-account-mutation.d.ts +8 -8
- package/dist/mutations/settings/unlink-account-mutation.js +37 -27
- package/dist/mutations/settings/update-user-mutation.d.ts +8 -8
- package/dist/mutations/settings/update-user-mutation.js +34 -33
- package/dist/mutations/username/is-username-available-mutation.d.ts +4 -4
- package/dist/mutations/username/is-username-available-mutation.js +34 -22
- package/dist/mutations/username/sign-in-username-mutation.d.ts +10 -10
- package/dist/mutations/username/sign-in-username-mutation.js +35 -27
- package/dist/plugins/captcha-plugin.d.ts +3 -3
- package/dist/plugins/captcha-plugin.js +31 -26
- package/dist/plugins.d.ts +1 -1
- package/dist/plugins.js +1 -2
- package/dist/queries/api-key/list-api-keys-query.d.ts +20 -11
- package/dist/queries/api-key/list-api-keys-query.js +52 -29
- package/dist/queries/auth/session-query.d.ts +6 -6
- package/dist/queries/auth/session-query.js +70 -28
- package/dist/queries/auth-query-options.d.ts +2 -2
- package/dist/queries/auth-query-options.js +20 -16
- package/dist/queries/multi-session/list-device-sessions-query.d.ts +8 -8
- package/dist/queries/multi-session/list-device-sessions-query.js +83 -29
- package/dist/queries/organization/active-organization-query.d.ts +39 -0
- package/dist/queries/organization/active-organization-query.js +37 -0
- package/dist/queries/organization/full-organization-query.d.ts +37 -0
- package/dist/queries/organization/full-organization-query.js +31 -0
- package/dist/queries/organization/has-permission-query.d.ts +21 -0
- package/dist/queries/organization/has-permission-query.js +38 -0
- package/dist/queries/organization/index.d.ts +7 -0
- package/dist/queries/organization/index.js +7 -0
- package/dist/queries/organization/list-invitations-query.d.ts +29 -0
- package/dist/queries/organization/list-invitations-query.js +37 -0
- package/dist/queries/organization/list-members-query.d.ts +61 -0
- package/dist/queries/organization/list-members-query.js +37 -0
- package/dist/queries/organization/list-organizations-query.d.ts +22 -0
- package/dist/queries/organization/list-organizations-query.js +31 -0
- package/dist/queries/organization/list-user-invitations-query.d.ts +29 -0
- package/dist/queries/organization/list-user-invitations-query.js +31 -0
- package/dist/queries/passkey/list-passkeys-query.d.ts +8 -8
- package/dist/queries/passkey/list-passkeys-query.js +81 -29
- package/dist/queries/settings/account-info-query.d.ts +6 -6
- package/dist/queries/settings/account-info-query.js +85 -29
- package/dist/queries/settings/list-accounts-query.d.ts +6 -6
- package/dist/queries/settings/list-accounts-query.js +83 -29
- package/dist/queries/settings/list-sessions-query.d.ts +6 -6
- package/dist/queries/settings/list-sessions-query.js +81 -29
- package/dist/server/queries/api-key/list-api-keys-query.d.ts +83 -0
- package/dist/server/queries/api-key/list-api-keys-query.js +49 -0
- package/dist/server/queries/auth/session-query.d.ts +5 -5
- package/dist/server/queries/auth/session-query.js +50 -12
- package/dist/server/queries/multi-session/list-device-sessions-query.d.ts +7 -7
- package/dist/server/queries/multi-session/list-device-sessions-query.js +53 -11
- package/dist/server/queries/organization/active-organization-query.d.ts +61 -0
- package/dist/server/queries/organization/active-organization-query.js +25 -0
- package/dist/server/queries/organization/full-organization-query.d.ts +42 -0
- package/dist/server/queries/organization/full-organization-query.js +21 -0
- package/dist/server/queries/organization/has-permission-query.d.ts +66 -0
- package/dist/server/queries/organization/has-permission-query.js +23 -0
- package/dist/server/queries/organization/list-invitations-query.d.ts +34 -0
- package/dist/server/queries/organization/list-invitations-query.js +21 -0
- package/dist/server/queries/organization/list-members-query.d.ts +66 -0
- package/dist/server/queries/organization/list-members-query.js +21 -0
- package/dist/server/queries/organization/list-organizations-query.d.ts +27 -0
- package/dist/server/queries/organization/list-organizations-query.js +21 -0
- package/dist/server/queries/organization/list-user-invitations-query.d.ts +34 -0
- package/dist/server/queries/organization/list-user-invitations-query.js +21 -0
- package/dist/server/queries/passkey/list-passkeys-query.d.ts +7 -7
- package/dist/server/queries/passkey/list-passkeys-query.js +53 -11
- package/dist/server/queries/settings/account-info-query.d.ts +5 -5
- package/dist/server/queries/settings/account-info-query.js +53 -11
- package/dist/server/queries/settings/list-accounts-query.d.ts +5 -5
- package/dist/server/queries/settings/list-accounts-query.js +53 -11
- package/dist/server/queries/settings/list-sessions-query.d.ts +5 -5
- package/dist/server/queries/settings/list-sessions-query.js +53 -11
- package/dist/server.d.ts +15 -7
- package/dist/server.js +14 -7
- package/package.json +20 -17
- package/src/components/auth/auth-context.tsx +7 -0
- package/src/components/auth/auth-provider.tsx +19 -31
- package/src/components/auth/email/email-localization.tsx +5 -3
- package/src/components/auth/email/index.ts +1 -0
- package/src/components/auth/email/organization-invitation.tsx +454 -0
- package/src/components/mutation-invalidator.tsx +67 -0
- package/src/index.ts +3 -0
- package/src/lib/auth-client.ts +7 -0
- package/src/lib/auth-plugin.ts +17 -0
- package/src/lib/auth-server.ts +17 -1
- package/src/lib/settings-tab.ts +21 -0
- package/src/mutations/api-key/create-api-key-mutation.ts +34 -19
- package/src/mutations/api-key/delete-api-key-mutation.ts +36 -19
- package/src/mutations/auth/sign-in-email-mutation.ts +18 -22
- package/src/mutations/auth/sign-out-mutation.ts +19 -13
- package/src/mutations/auth/sign-up-email-mutation.ts +18 -22
- package/src/mutations/multi-session/revoke-multi-session-mutation.ts +31 -20
- package/src/mutations/multi-session/set-active-session-mutation.ts +25 -44
- package/src/mutations/organization/accept-invitation-mutation.ts +71 -0
- package/src/mutations/organization/cancel-invitation-mutation.ts +67 -0
- package/src/mutations/organization/check-slug-mutation.ts +55 -0
- package/src/mutations/organization/create-organization-mutation.ts +71 -0
- package/src/mutations/organization/delete-organization-mutation.ts +71 -0
- package/src/mutations/organization/index.ts +12 -0
- package/src/mutations/organization/invite-member-mutation.ts +81 -0
- package/src/mutations/organization/leave-organization-mutation.ts +74 -0
- package/src/mutations/organization/reject-invitation-mutation.ts +64 -0
- package/src/mutations/organization/remove-member-mutation.ts +67 -0
- package/src/mutations/organization/set-active-organization-mutation.ts +142 -0
- package/src/mutations/organization/update-member-role-mutation.ts +81 -0
- package/src/mutations/organization/update-organization-mutation.ts +84 -0
- package/src/mutations/passkey/add-passkey-mutation.ts +28 -17
- package/src/mutations/passkey/delete-passkey-mutation.ts +27 -17
- package/src/mutations/passkey/sign-in-passkey-mutation.ts +18 -21
- package/src/mutations/settings/change-email-mutation.ts +22 -18
- package/src/mutations/settings/delete-user-mutation.ts +2 -2
- package/src/mutations/settings/revoke-session-mutation.ts +24 -19
- package/src/mutations/settings/unlink-account-mutation.ts +24 -17
- package/src/mutations/settings/update-user-mutation.ts +18 -30
- package/src/mutations/username/is-username-available-mutation.ts +2 -2
- package/src/mutations/username/sign-in-username-mutation.ts +20 -23
- package/src/queries/api-key/list-api-keys-query.ts +20 -8
- package/src/queries/multi-session/list-device-sessions-query.ts +2 -2
- package/src/queries/organization/active-organization-query.ts +140 -0
- package/src/queries/organization/full-organization-query.ts +113 -0
- package/src/queries/organization/has-permission-query.ts +124 -0
- package/src/queries/organization/index.ts +7 -0
- package/src/queries/organization/list-invitations-query.ts +133 -0
- package/src/queries/organization/list-members-query.ts +133 -0
- package/src/queries/organization/list-organizations-query.ts +122 -0
- package/src/queries/organization/list-user-invitations-query.ts +122 -0
- package/src/queries/passkey/list-passkeys-query.ts +2 -2
- package/src/server/queries/api-key/list-api-keys-query.ts +94 -0
- package/src/server/queries/multi-session/list-device-sessions-query.ts +2 -2
- package/src/server/queries/organization/active-organization-query.ts +92 -0
- package/src/server/queries/organization/full-organization-query.ts +64 -0
- package/src/server/queries/organization/has-permission-query.ts +66 -0
- package/src/server/queries/organization/list-invitations-query.ts +81 -0
- package/src/server/queries/organization/list-members-query.ts +75 -0
- package/src/server/queries/organization/list-organizations-query.ts +67 -0
- package/src/server/queries/organization/list-user-invitations-query.ts +68 -0
- package/src/server/queries/passkey/list-passkeys-query.ts +2 -2
- package/src/server.ts +8 -0
|
@@ -1,18 +1,17 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { authQueryKeys } from "@better-auth-ui/core"
|
|
2
|
+
import {
|
|
3
|
+
multiSessionMutationKeys,
|
|
4
|
+
multiSessionQueryKeys
|
|
5
|
+
} from "@better-auth-ui/core/plugins"
|
|
2
6
|
import {
|
|
3
7
|
mutationOptions,
|
|
4
|
-
|
|
5
|
-
|
|
8
|
+
type QueryClient,
|
|
9
|
+
useMutation
|
|
6
10
|
} from "@tanstack/react-query"
|
|
7
11
|
import type { BetterFetchError } from "better-auth/react"
|
|
8
12
|
|
|
9
13
|
import type { MultiSessionAuthClient } from "../../lib/auth-client"
|
|
10
|
-
import {
|
|
11
|
-
type SessionData,
|
|
12
|
-
sessionOptions,
|
|
13
|
-
useSession
|
|
14
|
-
} from "../../queries/auth/session-query"
|
|
15
|
-
import { useListDeviceSessions } from "../../queries/multi-session/list-device-sessions-query"
|
|
14
|
+
import { useSession } from "../../queries/auth/session-query"
|
|
16
15
|
|
|
17
16
|
export type SetActiveSessionParams<TAuthClient extends MultiSessionAuthClient> =
|
|
18
17
|
Parameters<TAuthClient["multiSession"]["setActive"]>[0]
|
|
@@ -21,7 +20,7 @@ export type SetActiveSessionOptions<
|
|
|
21
20
|
TAuthClient extends MultiSessionAuthClient
|
|
22
21
|
> = Omit<
|
|
23
22
|
ReturnType<typeof setActiveSessionOptions<TAuthClient>>,
|
|
24
|
-
"mutationKey" | "mutationFn"
|
|
23
|
+
"mutationKey" | "mutationFn" | "meta"
|
|
25
24
|
>
|
|
26
25
|
|
|
27
26
|
/**
|
|
@@ -32,7 +31,7 @@ export type SetActiveSessionOptions<
|
|
|
32
31
|
export function setActiveSessionOptions<
|
|
33
32
|
TAuthClient extends MultiSessionAuthClient
|
|
34
33
|
>(authClient: TAuthClient) {
|
|
35
|
-
const mutationKey =
|
|
34
|
+
const mutationKey = multiSessionMutationKeys.setActive
|
|
36
35
|
|
|
37
36
|
const mutationFn = (params: SetActiveSessionParams<TAuthClient>) =>
|
|
38
37
|
authClient.multiSession.setActive({
|
|
@@ -53,46 +52,28 @@ export function setActiveSessionOptions<
|
|
|
53
52
|
/**
|
|
54
53
|
* Create a mutation for switching the active device session.
|
|
55
54
|
*
|
|
56
|
-
*
|
|
57
|
-
*
|
|
58
|
-
* device-session queries, and forwards React Query mutation options such as
|
|
59
|
-
* `onSuccess`, `onError`, and `retry`.
|
|
55
|
+
* On success, `MutationInvalidator` awaits invalidation of the session
|
|
56
|
+
* and device sessions queries (see `meta.awaits`).
|
|
60
57
|
*
|
|
61
58
|
* @param authClient - The Better Auth client with the multi-session plugin.
|
|
62
59
|
* @param options - React Query options forwarded to `useMutation`.
|
|
63
60
|
*/
|
|
64
61
|
export function useSetActiveSession<TAuthClient extends MultiSessionAuthClient>(
|
|
65
62
|
authClient: TAuthClient,
|
|
66
|
-
options?: SetActiveSessionOptions<TAuthClient
|
|
63
|
+
options?: SetActiveSessionOptions<TAuthClient>,
|
|
64
|
+
queryClient?: QueryClient
|
|
67
65
|
) {
|
|
68
|
-
const
|
|
69
|
-
const
|
|
70
|
-
refetchOnMount: false
|
|
71
|
-
})
|
|
72
|
-
const { data: deviceSessions, refetch: refetchDeviceSessions } =
|
|
73
|
-
useListDeviceSessions(authClient, {
|
|
74
|
-
refetchOnMount: false
|
|
75
|
-
})
|
|
66
|
+
const { data: session } = useSession(authClient, undefined, queryClient)
|
|
67
|
+
const userId = session?.user.id
|
|
76
68
|
|
|
77
|
-
return useMutation(
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
({ session: { token } }) => token === sessionToken
|
|
84
|
-
)
|
|
85
|
-
|
|
86
|
-
if (deviceSession) {
|
|
87
|
-
queryClient.setQueryData(
|
|
88
|
-
sessionOptions(authClient).queryKey,
|
|
89
|
-
deviceSession as SessionData<TAuthClient>
|
|
90
|
-
)
|
|
69
|
+
return useMutation(
|
|
70
|
+
{
|
|
71
|
+
...setActiveSessionOptions(authClient),
|
|
72
|
+
...options,
|
|
73
|
+
meta: {
|
|
74
|
+
awaits: [authQueryKeys.session, multiSessionQueryKeys.lists(userId)]
|
|
91
75
|
}
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
await options?.onSuccess?.(data, variables, ...rest)
|
|
96
|
-
}
|
|
97
|
-
})
|
|
76
|
+
},
|
|
77
|
+
queryClient
|
|
78
|
+
)
|
|
98
79
|
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import {
|
|
2
|
+
organizationMutationKeys,
|
|
3
|
+
organizationQueryKeys
|
|
4
|
+
} from "@better-auth-ui/core/plugins"
|
|
5
|
+
import {
|
|
6
|
+
mutationOptions,
|
|
7
|
+
type QueryClient,
|
|
8
|
+
useMutation
|
|
9
|
+
} from "@tanstack/react-query"
|
|
10
|
+
import type { BetterFetchError } from "better-auth/react"
|
|
11
|
+
|
|
12
|
+
import type { OrganizationAuthClient } from "../../lib/auth-client"
|
|
13
|
+
import { useSession } from "../../queries/auth/session-query"
|
|
14
|
+
|
|
15
|
+
export type AcceptInvitationParams<TAuthClient extends OrganizationAuthClient> =
|
|
16
|
+
Parameters<TAuthClient["organization"]["acceptInvitation"]>[0]
|
|
17
|
+
|
|
18
|
+
export type AcceptInvitationOptions<
|
|
19
|
+
TAuthClient extends OrganizationAuthClient
|
|
20
|
+
> = Omit<
|
|
21
|
+
ReturnType<typeof acceptInvitationOptions<TAuthClient>>,
|
|
22
|
+
"mutationKey" | "mutationFn" | "meta"
|
|
23
|
+
>
|
|
24
|
+
|
|
25
|
+
export function acceptInvitationOptions<
|
|
26
|
+
TAuthClient extends OrganizationAuthClient
|
|
27
|
+
>(authClient: TAuthClient) {
|
|
28
|
+
const mutationKey = organizationMutationKeys.acceptInvitation
|
|
29
|
+
|
|
30
|
+
const mutationFn = (params: AcceptInvitationParams<TAuthClient>) =>
|
|
31
|
+
authClient.organization.acceptInvitation({
|
|
32
|
+
...params,
|
|
33
|
+
fetchOptions: { ...params?.fetchOptions, throw: true }
|
|
34
|
+
})
|
|
35
|
+
|
|
36
|
+
return mutationOptions<
|
|
37
|
+
Awaited<ReturnType<typeof mutationFn>>,
|
|
38
|
+
BetterFetchError,
|
|
39
|
+
Parameters<typeof mutationFn>[0]
|
|
40
|
+
>({
|
|
41
|
+
mutationKey,
|
|
42
|
+
mutationFn
|
|
43
|
+
})
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export function useAcceptInvitation<TAuthClient extends OrganizationAuthClient>(
|
|
47
|
+
authClient: TAuthClient,
|
|
48
|
+
options?: AcceptInvitationOptions<TAuthClient>,
|
|
49
|
+
queryClient?: QueryClient
|
|
50
|
+
) {
|
|
51
|
+
const { data: session } = useSession(authClient, undefined, queryClient)
|
|
52
|
+
const userId = session?.user.id
|
|
53
|
+
|
|
54
|
+
return useMutation(
|
|
55
|
+
{
|
|
56
|
+
...acceptInvitationOptions(authClient),
|
|
57
|
+
...options,
|
|
58
|
+
meta: {
|
|
59
|
+
awaits: [
|
|
60
|
+
organizationQueryKeys.userInvitations.all(userId),
|
|
61
|
+
organizationQueryKeys.lists(userId)
|
|
62
|
+
],
|
|
63
|
+
invalidates: [
|
|
64
|
+
organizationQueryKeys.fullDetails(userId),
|
|
65
|
+
organizationQueryKeys.activeOrganizations(userId)
|
|
66
|
+
]
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
queryClient
|
|
70
|
+
)
|
|
71
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import {
|
|
2
|
+
organizationMutationKeys,
|
|
3
|
+
organizationQueryKeys
|
|
4
|
+
} from "@better-auth-ui/core/plugins"
|
|
5
|
+
import {
|
|
6
|
+
mutationOptions,
|
|
7
|
+
type QueryClient,
|
|
8
|
+
useMutation
|
|
9
|
+
} from "@tanstack/react-query"
|
|
10
|
+
import type { BetterFetchError } from "better-auth/react"
|
|
11
|
+
|
|
12
|
+
import type { OrganizationAuthClient } from "../../lib/auth-client"
|
|
13
|
+
import { useSession } from "../../queries/auth/session-query"
|
|
14
|
+
|
|
15
|
+
export type CancelInvitationParams<TAuthClient extends OrganizationAuthClient> =
|
|
16
|
+
Parameters<TAuthClient["organization"]["cancelInvitation"]>[0]
|
|
17
|
+
|
|
18
|
+
export type CancelInvitationOptions<
|
|
19
|
+
TAuthClient extends OrganizationAuthClient
|
|
20
|
+
> = Omit<
|
|
21
|
+
ReturnType<typeof cancelInvitationOptions<TAuthClient>>,
|
|
22
|
+
"mutationKey" | "mutationFn" | "meta"
|
|
23
|
+
>
|
|
24
|
+
|
|
25
|
+
export function cancelInvitationOptions<
|
|
26
|
+
TAuthClient extends OrganizationAuthClient
|
|
27
|
+
>(authClient: TAuthClient) {
|
|
28
|
+
const mutationKey = organizationMutationKeys.cancelInvitation
|
|
29
|
+
|
|
30
|
+
const mutationFn = (params: CancelInvitationParams<TAuthClient>) =>
|
|
31
|
+
authClient.organization.cancelInvitation({
|
|
32
|
+
...params,
|
|
33
|
+
fetchOptions: { ...params?.fetchOptions, throw: true }
|
|
34
|
+
})
|
|
35
|
+
|
|
36
|
+
return mutationOptions<
|
|
37
|
+
Awaited<ReturnType<typeof mutationFn>>,
|
|
38
|
+
BetterFetchError,
|
|
39
|
+
Parameters<typeof mutationFn>[0]
|
|
40
|
+
>({
|
|
41
|
+
mutationKey,
|
|
42
|
+
mutationFn
|
|
43
|
+
})
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export function useCancelInvitation<TAuthClient extends OrganizationAuthClient>(
|
|
47
|
+
authClient: TAuthClient,
|
|
48
|
+
options?: CancelInvitationOptions<TAuthClient>,
|
|
49
|
+
queryClient?: QueryClient
|
|
50
|
+
) {
|
|
51
|
+
const { data: session } = useSession(authClient, undefined, queryClient)
|
|
52
|
+
const userId = session?.user.id
|
|
53
|
+
|
|
54
|
+
return useMutation(
|
|
55
|
+
{
|
|
56
|
+
...cancelInvitationOptions(authClient),
|
|
57
|
+
...options,
|
|
58
|
+
meta: {
|
|
59
|
+
awaits: [
|
|
60
|
+
organizationQueryKeys.invitations.all(userId),
|
|
61
|
+
organizationQueryKeys.fullDetails(userId)
|
|
62
|
+
]
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
queryClient
|
|
66
|
+
)
|
|
67
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { organizationMutationKeys } from "@better-auth-ui/core/plugins"
|
|
2
|
+
import { mutationOptions, useMutation } from "@tanstack/react-query"
|
|
3
|
+
import type { BetterFetchError } from "better-auth/react"
|
|
4
|
+
|
|
5
|
+
import type { OrganizationAuthClient } from "../../lib/auth-client"
|
|
6
|
+
|
|
7
|
+
export type CheckSlugParams<TAuthClient extends OrganizationAuthClient> =
|
|
8
|
+
Parameters<TAuthClient["organization"]["checkSlug"]>[0]
|
|
9
|
+
|
|
10
|
+
export type CheckSlugOptions<TAuthClient extends OrganizationAuthClient> = Omit<
|
|
11
|
+
ReturnType<typeof checkSlugOptions<TAuthClient>>,
|
|
12
|
+
"mutationKey" | "mutationFn"
|
|
13
|
+
>
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Mutation options factory for checking organization slug availability.
|
|
17
|
+
*
|
|
18
|
+
* @param authClient - The Better Auth client.
|
|
19
|
+
*/
|
|
20
|
+
export function checkSlugOptions<TAuthClient extends OrganizationAuthClient>(
|
|
21
|
+
authClient: TAuthClient
|
|
22
|
+
) {
|
|
23
|
+
const mutationKey = organizationMutationKeys.checkSlug
|
|
24
|
+
|
|
25
|
+
const mutationFn = (params: CheckSlugParams<TAuthClient>) =>
|
|
26
|
+
authClient.organization.checkSlug({
|
|
27
|
+
...params,
|
|
28
|
+
fetchOptions: { ...params?.fetchOptions, throw: true }
|
|
29
|
+
})
|
|
30
|
+
|
|
31
|
+
return mutationOptions<
|
|
32
|
+
Awaited<ReturnType<typeof mutationFn>>,
|
|
33
|
+
BetterFetchError,
|
|
34
|
+
Parameters<typeof mutationFn>[0]
|
|
35
|
+
>({
|
|
36
|
+
mutationKey,
|
|
37
|
+
mutationFn
|
|
38
|
+
})
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Create a mutation for checking whether an organization slug is available.
|
|
43
|
+
*
|
|
44
|
+
* @param authClient - The Better Auth client with the organization plugin.
|
|
45
|
+
* @param options - React Query options forwarded to `useMutation`.
|
|
46
|
+
*/
|
|
47
|
+
export function useCheckSlug<TAuthClient extends OrganizationAuthClient>(
|
|
48
|
+
authClient: TAuthClient,
|
|
49
|
+
options?: CheckSlugOptions<TAuthClient>
|
|
50
|
+
) {
|
|
51
|
+
return useMutation({
|
|
52
|
+
...checkSlugOptions(authClient),
|
|
53
|
+
...options
|
|
54
|
+
})
|
|
55
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import {
|
|
2
|
+
organizationMutationKeys,
|
|
3
|
+
organizationQueryKeys
|
|
4
|
+
} from "@better-auth-ui/core/plugins"
|
|
5
|
+
import {
|
|
6
|
+
mutationOptions,
|
|
7
|
+
type QueryClient,
|
|
8
|
+
useMutation
|
|
9
|
+
} from "@tanstack/react-query"
|
|
10
|
+
import type { BetterFetchError } from "better-auth/react"
|
|
11
|
+
|
|
12
|
+
import type { OrganizationAuthClient } from "../../lib/auth-client"
|
|
13
|
+
import { useSession } from "../../queries/auth/session-query"
|
|
14
|
+
|
|
15
|
+
export type CreateOrganizationParams<
|
|
16
|
+
TAuthClient extends OrganizationAuthClient
|
|
17
|
+
> = Parameters<TAuthClient["organization"]["create"]>[0]
|
|
18
|
+
|
|
19
|
+
export type CreateOrganizationOptions<
|
|
20
|
+
TAuthClient extends OrganizationAuthClient
|
|
21
|
+
> = Omit<
|
|
22
|
+
ReturnType<typeof createOrganizationOptions<TAuthClient>>,
|
|
23
|
+
"mutationKey" | "mutationFn" | "meta"
|
|
24
|
+
>
|
|
25
|
+
|
|
26
|
+
export function createOrganizationOptions<
|
|
27
|
+
TAuthClient extends OrganizationAuthClient
|
|
28
|
+
>(authClient: TAuthClient) {
|
|
29
|
+
const mutationKey = organizationMutationKeys.create
|
|
30
|
+
|
|
31
|
+
const mutationFn = (params: CreateOrganizationParams<TAuthClient>) =>
|
|
32
|
+
authClient.organization.create({
|
|
33
|
+
...params,
|
|
34
|
+
fetchOptions: { ...params?.fetchOptions, throw: true }
|
|
35
|
+
})
|
|
36
|
+
|
|
37
|
+
return mutationOptions<
|
|
38
|
+
Awaited<ReturnType<typeof mutationFn>>,
|
|
39
|
+
BetterFetchError,
|
|
40
|
+
Parameters<typeof mutationFn>[0]
|
|
41
|
+
>({
|
|
42
|
+
mutationKey,
|
|
43
|
+
mutationFn
|
|
44
|
+
})
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export function useCreateOrganization<
|
|
48
|
+
TAuthClient extends OrganizationAuthClient
|
|
49
|
+
>(
|
|
50
|
+
authClient: TAuthClient,
|
|
51
|
+
options?: CreateOrganizationOptions<TAuthClient>,
|
|
52
|
+
queryClient?: QueryClient
|
|
53
|
+
) {
|
|
54
|
+
const { data: session } = useSession(authClient, undefined, queryClient)
|
|
55
|
+
const userId = session?.user.id
|
|
56
|
+
|
|
57
|
+
return useMutation(
|
|
58
|
+
{
|
|
59
|
+
...createOrganizationOptions(authClient),
|
|
60
|
+
...options,
|
|
61
|
+
meta: {
|
|
62
|
+
awaits: [organizationQueryKeys.lists(userId)],
|
|
63
|
+
invalidates: [
|
|
64
|
+
organizationQueryKeys.fullDetails(userId),
|
|
65
|
+
organizationQueryKeys.activeOrganizations(userId)
|
|
66
|
+
]
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
queryClient
|
|
70
|
+
)
|
|
71
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import {
|
|
2
|
+
organizationMutationKeys,
|
|
3
|
+
organizationQueryKeys
|
|
4
|
+
} from "@better-auth-ui/core/plugins"
|
|
5
|
+
import {
|
|
6
|
+
mutationOptions,
|
|
7
|
+
type QueryClient,
|
|
8
|
+
useMutation
|
|
9
|
+
} from "@tanstack/react-query"
|
|
10
|
+
import type { BetterFetchError } from "better-auth/react"
|
|
11
|
+
|
|
12
|
+
import type { OrganizationAuthClient } from "../../lib/auth-client"
|
|
13
|
+
import { useSession } from "../../queries/auth/session-query"
|
|
14
|
+
|
|
15
|
+
export type DeleteOrganizationParams<
|
|
16
|
+
TAuthClient extends OrganizationAuthClient
|
|
17
|
+
> = Parameters<TAuthClient["organization"]["delete"]>[0]
|
|
18
|
+
|
|
19
|
+
export type DeleteOrganizationOptions<
|
|
20
|
+
TAuthClient extends OrganizationAuthClient
|
|
21
|
+
> = Omit<
|
|
22
|
+
ReturnType<typeof deleteOrganizationOptions<TAuthClient>>,
|
|
23
|
+
"mutationKey" | "mutationFn" | "meta"
|
|
24
|
+
>
|
|
25
|
+
|
|
26
|
+
export function deleteOrganizationOptions<
|
|
27
|
+
TAuthClient extends OrganizationAuthClient
|
|
28
|
+
>(authClient: TAuthClient) {
|
|
29
|
+
const mutationKey = organizationMutationKeys.delete
|
|
30
|
+
|
|
31
|
+
const mutationFn = (params: DeleteOrganizationParams<TAuthClient>) =>
|
|
32
|
+
authClient.organization.delete({
|
|
33
|
+
...params,
|
|
34
|
+
fetchOptions: { ...params?.fetchOptions, throw: true }
|
|
35
|
+
})
|
|
36
|
+
|
|
37
|
+
return mutationOptions<
|
|
38
|
+
Awaited<ReturnType<typeof mutationFn>>,
|
|
39
|
+
BetterFetchError,
|
|
40
|
+
Parameters<typeof mutationFn>[0]
|
|
41
|
+
>({
|
|
42
|
+
mutationKey,
|
|
43
|
+
mutationFn
|
|
44
|
+
})
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export function useDeleteOrganization<
|
|
48
|
+
TAuthClient extends OrganizationAuthClient
|
|
49
|
+
>(
|
|
50
|
+
authClient: TAuthClient,
|
|
51
|
+
options?: DeleteOrganizationOptions<TAuthClient>,
|
|
52
|
+
queryClient?: QueryClient
|
|
53
|
+
) {
|
|
54
|
+
const { data: session } = useSession(authClient, undefined, queryClient)
|
|
55
|
+
const userId = session?.user.id
|
|
56
|
+
|
|
57
|
+
return useMutation(
|
|
58
|
+
{
|
|
59
|
+
...deleteOrganizationOptions(authClient),
|
|
60
|
+
...options,
|
|
61
|
+
meta: {
|
|
62
|
+
awaits: [organizationQueryKeys.lists(userId)],
|
|
63
|
+
invalidates: [
|
|
64
|
+
organizationQueryKeys.fullDetails(userId),
|
|
65
|
+
organizationQueryKeys.activeOrganizations(userId)
|
|
66
|
+
]
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
queryClient
|
|
70
|
+
)
|
|
71
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
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"
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import {
|
|
2
|
+
organizationMutationKeys,
|
|
3
|
+
organizationQueryKeys
|
|
4
|
+
} from "@better-auth-ui/core/plugins"
|
|
5
|
+
import {
|
|
6
|
+
mutationOptions,
|
|
7
|
+
type QueryClient,
|
|
8
|
+
useMutation
|
|
9
|
+
} from "@tanstack/react-query"
|
|
10
|
+
import type { BetterFetchError } from "better-auth/react"
|
|
11
|
+
|
|
12
|
+
import type { OrganizationAuthClient } from "../../lib/auth-client"
|
|
13
|
+
import { useSession } from "../../queries/auth/session-query"
|
|
14
|
+
import { useActiveOrganization } from "../../queries/organization"
|
|
15
|
+
|
|
16
|
+
export type InviteMemberParams<TAuthClient extends OrganizationAuthClient> =
|
|
17
|
+
Parameters<TAuthClient["organization"]["inviteMember"]>[0]
|
|
18
|
+
|
|
19
|
+
export type InviteMemberOptions<TAuthClient extends OrganizationAuthClient> =
|
|
20
|
+
Omit<
|
|
21
|
+
ReturnType<typeof inviteMemberOptions<TAuthClient>>,
|
|
22
|
+
"mutationKey" | "mutationFn" | "meta"
|
|
23
|
+
>
|
|
24
|
+
|
|
25
|
+
export function inviteMemberOptions<TAuthClient extends OrganizationAuthClient>(
|
|
26
|
+
authClient: TAuthClient
|
|
27
|
+
) {
|
|
28
|
+
const mutationKey = organizationMutationKeys.inviteMember
|
|
29
|
+
|
|
30
|
+
const mutationFn = (params: InviteMemberParams<TAuthClient>) =>
|
|
31
|
+
authClient.organization.inviteMember({
|
|
32
|
+
...params,
|
|
33
|
+
fetchOptions: { ...params?.fetchOptions, throw: true }
|
|
34
|
+
})
|
|
35
|
+
|
|
36
|
+
return mutationOptions<
|
|
37
|
+
Awaited<ReturnType<typeof mutationFn>>,
|
|
38
|
+
BetterFetchError,
|
|
39
|
+
Parameters<typeof mutationFn>[0]
|
|
40
|
+
>({
|
|
41
|
+
mutationKey,
|
|
42
|
+
mutationFn
|
|
43
|
+
})
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export function useInviteMember<
|
|
47
|
+
TAuthClient extends OrganizationAuthClient = OrganizationAuthClient
|
|
48
|
+
>(
|
|
49
|
+
authClient: TAuthClient,
|
|
50
|
+
options?: InviteMemberOptions<TAuthClient>,
|
|
51
|
+
queryClient?: QueryClient
|
|
52
|
+
) {
|
|
53
|
+
const { data: session } = useSession(authClient, undefined, queryClient)
|
|
54
|
+
const userId = session?.user.id
|
|
55
|
+
|
|
56
|
+
const { data: activeOrganization } = useActiveOrganization(
|
|
57
|
+
authClient,
|
|
58
|
+
undefined,
|
|
59
|
+
queryClient
|
|
60
|
+
)
|
|
61
|
+
|
|
62
|
+
return useMutation(
|
|
63
|
+
{
|
|
64
|
+
...inviteMemberOptions(authClient),
|
|
65
|
+
...options,
|
|
66
|
+
mutationFn: (params: InviteMemberParams<TAuthClient>) =>
|
|
67
|
+
authClient.organization.inviteMember({
|
|
68
|
+
...params,
|
|
69
|
+
organizationId: params?.organizationId ?? activeOrganization?.id,
|
|
70
|
+
fetchOptions: { ...params?.fetchOptions, throw: true }
|
|
71
|
+
}),
|
|
72
|
+
meta: {
|
|
73
|
+
awaits: [
|
|
74
|
+
organizationQueryKeys.invitations.all(userId),
|
|
75
|
+
organizationQueryKeys.fullDetails(userId)
|
|
76
|
+
]
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
queryClient
|
|
80
|
+
)
|
|
81
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import {
|
|
2
|
+
organizationMutationKeys,
|
|
3
|
+
organizationQueryKeys
|
|
4
|
+
} from "@better-auth-ui/core/plugins"
|
|
5
|
+
import {
|
|
6
|
+
mutationOptions,
|
|
7
|
+
type QueryClient,
|
|
8
|
+
useMutation
|
|
9
|
+
} from "@tanstack/react-query"
|
|
10
|
+
import type { BetterFetchError } from "better-auth/react"
|
|
11
|
+
|
|
12
|
+
import type { OrganizationAuthClient } from "../../lib/auth-client"
|
|
13
|
+
import { useSession } from "../../queries/auth/session-query"
|
|
14
|
+
|
|
15
|
+
export type LeaveOrganizationParams<
|
|
16
|
+
TAuthClient extends OrganizationAuthClient
|
|
17
|
+
> = Parameters<TAuthClient["organization"]["leave"]>[0]
|
|
18
|
+
|
|
19
|
+
export type LeaveOrganizationOptions<
|
|
20
|
+
TAuthClient extends OrganizationAuthClient
|
|
21
|
+
> = Omit<
|
|
22
|
+
ReturnType<typeof leaveOrganizationOptions<TAuthClient>>,
|
|
23
|
+
"mutationKey" | "mutationFn" | "meta"
|
|
24
|
+
>
|
|
25
|
+
|
|
26
|
+
export function leaveOrganizationOptions<
|
|
27
|
+
TAuthClient extends OrganizationAuthClient
|
|
28
|
+
>(authClient: TAuthClient) {
|
|
29
|
+
const mutationKey = organizationMutationKeys.leave
|
|
30
|
+
|
|
31
|
+
const mutationFn = (params: LeaveOrganizationParams<TAuthClient>) =>
|
|
32
|
+
authClient.organization.leave({
|
|
33
|
+
...params,
|
|
34
|
+
fetchOptions: { ...params?.fetchOptions, throw: true }
|
|
35
|
+
})
|
|
36
|
+
|
|
37
|
+
return mutationOptions<
|
|
38
|
+
Awaited<ReturnType<typeof mutationFn>>,
|
|
39
|
+
BetterFetchError,
|
|
40
|
+
Parameters<typeof mutationFn>[0]
|
|
41
|
+
>({
|
|
42
|
+
mutationKey,
|
|
43
|
+
mutationFn
|
|
44
|
+
})
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export function useLeaveOrganization<
|
|
48
|
+
TAuthClient extends OrganizationAuthClient
|
|
49
|
+
>(
|
|
50
|
+
authClient: TAuthClient,
|
|
51
|
+
options?: LeaveOrganizationOptions<TAuthClient>,
|
|
52
|
+
queryClient?: QueryClient
|
|
53
|
+
) {
|
|
54
|
+
const { data: session } = useSession(authClient, undefined, queryClient)
|
|
55
|
+
const userId = session?.user.id
|
|
56
|
+
|
|
57
|
+
return useMutation(
|
|
58
|
+
{
|
|
59
|
+
...leaveOrganizationOptions(authClient),
|
|
60
|
+
...options,
|
|
61
|
+
meta: {
|
|
62
|
+
awaits: [
|
|
63
|
+
organizationQueryKeys.members.all(userId),
|
|
64
|
+
organizationQueryKeys.fullDetails(userId)
|
|
65
|
+
],
|
|
66
|
+
invalidates: [
|
|
67
|
+
organizationQueryKeys.lists(userId),
|
|
68
|
+
organizationQueryKeys.activeOrganizations(userId)
|
|
69
|
+
]
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
queryClient
|
|
73
|
+
)
|
|
74
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import {
|
|
2
|
+
organizationMutationKeys,
|
|
3
|
+
organizationQueryKeys
|
|
4
|
+
} from "@better-auth-ui/core/plugins"
|
|
5
|
+
import {
|
|
6
|
+
mutationOptions,
|
|
7
|
+
type QueryClient,
|
|
8
|
+
useMutation
|
|
9
|
+
} from "@tanstack/react-query"
|
|
10
|
+
import type { BetterFetchError } from "better-auth/react"
|
|
11
|
+
|
|
12
|
+
import type { OrganizationAuthClient } from "../../lib/auth-client"
|
|
13
|
+
import { useSession } from "../../queries/auth/session-query"
|
|
14
|
+
|
|
15
|
+
export type RejectInvitationParams<TAuthClient extends OrganizationAuthClient> =
|
|
16
|
+
Parameters<TAuthClient["organization"]["rejectInvitation"]>[0]
|
|
17
|
+
|
|
18
|
+
export type RejectInvitationOptions<
|
|
19
|
+
TAuthClient extends OrganizationAuthClient
|
|
20
|
+
> = Omit<
|
|
21
|
+
ReturnType<typeof rejectInvitationOptions<TAuthClient>>,
|
|
22
|
+
"mutationKey" | "mutationFn" | "meta"
|
|
23
|
+
>
|
|
24
|
+
|
|
25
|
+
export function rejectInvitationOptions<
|
|
26
|
+
TAuthClient extends OrganizationAuthClient
|
|
27
|
+
>(authClient: TAuthClient) {
|
|
28
|
+
const mutationKey = organizationMutationKeys.rejectInvitation
|
|
29
|
+
|
|
30
|
+
const mutationFn = (params: RejectInvitationParams<TAuthClient>) =>
|
|
31
|
+
authClient.organization.rejectInvitation({
|
|
32
|
+
...params,
|
|
33
|
+
fetchOptions: { ...params?.fetchOptions, throw: true }
|
|
34
|
+
})
|
|
35
|
+
|
|
36
|
+
return mutationOptions<
|
|
37
|
+
Awaited<ReturnType<typeof mutationFn>>,
|
|
38
|
+
BetterFetchError,
|
|
39
|
+
Parameters<typeof mutationFn>[0]
|
|
40
|
+
>({
|
|
41
|
+
mutationKey,
|
|
42
|
+
mutationFn
|
|
43
|
+
})
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export function useRejectInvitation<TAuthClient extends OrganizationAuthClient>(
|
|
47
|
+
authClient: TAuthClient,
|
|
48
|
+
options?: RejectInvitationOptions<TAuthClient>,
|
|
49
|
+
queryClient?: QueryClient
|
|
50
|
+
) {
|
|
51
|
+
const { data: session } = useSession(authClient, undefined, queryClient)
|
|
52
|
+
const userId = session?.user.id
|
|
53
|
+
|
|
54
|
+
return useMutation(
|
|
55
|
+
{
|
|
56
|
+
...rejectInvitationOptions(authClient),
|
|
57
|
+
...options,
|
|
58
|
+
meta: {
|
|
59
|
+
awaits: [organizationQueryKeys.userInvitations.all(userId)]
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
queryClient
|
|
63
|
+
)
|
|
64
|
+
}
|