@better-auth-ui/react 1.6.8 → 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
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { type QueryClient } from "@tanstack/react-query";
|
|
2
|
+
import type { BetterFetchError } from "better-auth/react";
|
|
3
|
+
import type { OrganizationAuthClient } from "../../lib/auth-client";
|
|
4
|
+
export type LeaveOrganizationParams<TAuthClient extends OrganizationAuthClient> = Parameters<TAuthClient["organization"]["leave"]>[0];
|
|
5
|
+
export type LeaveOrganizationOptions<TAuthClient extends OrganizationAuthClient> = Omit<ReturnType<typeof leaveOrganizationOptions<TAuthClient>>, "mutationKey" | "mutationFn" | "meta">;
|
|
6
|
+
export declare function leaveOrganizationOptions<TAuthClient extends OrganizationAuthClient>(authClient: TAuthClient): import("@tanstack/react-query").WithRequired<import("@tanstack/react-query").UseMutationOptions<Omit<{
|
|
7
|
+
id: string;
|
|
8
|
+
organizationId: string;
|
|
9
|
+
role: "member" | "admin" | "owner";
|
|
10
|
+
createdAt: Date;
|
|
11
|
+
userId: string;
|
|
12
|
+
user: {
|
|
13
|
+
id: string;
|
|
14
|
+
email: string;
|
|
15
|
+
name: string;
|
|
16
|
+
image?: string | undefined;
|
|
17
|
+
};
|
|
18
|
+
} & {
|
|
19
|
+
user: {
|
|
20
|
+
id: string;
|
|
21
|
+
createdAt: Date;
|
|
22
|
+
updatedAt: Date;
|
|
23
|
+
email: string;
|
|
24
|
+
emailVerified: boolean;
|
|
25
|
+
name: string;
|
|
26
|
+
image?: string | null | undefined;
|
|
27
|
+
};
|
|
28
|
+
}, "user"> & {
|
|
29
|
+
user: {
|
|
30
|
+
id: string;
|
|
31
|
+
name: string;
|
|
32
|
+
email: string;
|
|
33
|
+
image: string | undefined;
|
|
34
|
+
};
|
|
35
|
+
}, BetterFetchError, LeaveOrganizationParams<TAuthClient>, unknown>, "mutationKey">;
|
|
36
|
+
export declare function useLeaveOrganization<TAuthClient extends OrganizationAuthClient>(authClient: TAuthClient, options?: LeaveOrganizationOptions<TAuthClient>, queryClient?: QueryClient): import("@tanstack/react-query").UseMutationResult<Omit<{
|
|
37
|
+
id: string;
|
|
38
|
+
organizationId: string;
|
|
39
|
+
role: "member" | "admin" | "owner";
|
|
40
|
+
createdAt: Date;
|
|
41
|
+
userId: string;
|
|
42
|
+
user: {
|
|
43
|
+
id: string;
|
|
44
|
+
email: string;
|
|
45
|
+
name: string;
|
|
46
|
+
image?: string | undefined;
|
|
47
|
+
};
|
|
48
|
+
} & {
|
|
49
|
+
user: {
|
|
50
|
+
id: string;
|
|
51
|
+
createdAt: Date;
|
|
52
|
+
updatedAt: Date;
|
|
53
|
+
email: string;
|
|
54
|
+
emailVerified: boolean;
|
|
55
|
+
name: string;
|
|
56
|
+
image?: string | null | undefined;
|
|
57
|
+
};
|
|
58
|
+
}, "user"> & {
|
|
59
|
+
user: {
|
|
60
|
+
id: string;
|
|
61
|
+
name: string;
|
|
62
|
+
email: string;
|
|
63
|
+
image: string | undefined;
|
|
64
|
+
};
|
|
65
|
+
}, BetterFetchError, LeaveOrganizationParams<TAuthClient>, unknown>;
|
|
@@ -0,0 +1,32 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { type QueryClient } from "@tanstack/react-query";
|
|
2
|
+
import type { BetterFetchError } from "better-auth/react";
|
|
3
|
+
import type { OrganizationAuthClient } from "../../lib/auth-client";
|
|
4
|
+
export type RejectInvitationParams<TAuthClient extends OrganizationAuthClient> = Parameters<TAuthClient["organization"]["rejectInvitation"]>[0];
|
|
5
|
+
export type RejectInvitationOptions<TAuthClient extends OrganizationAuthClient> = Omit<ReturnType<typeof rejectInvitationOptions<TAuthClient>>, "mutationKey" | "mutationFn" | "meta">;
|
|
6
|
+
export declare function rejectInvitationOptions<TAuthClient extends OrganizationAuthClient>(authClient: TAuthClient): import("@tanstack/react-query").WithRequired<import("@tanstack/react-query").UseMutationOptions<{
|
|
7
|
+
invitation: {
|
|
8
|
+
id: string;
|
|
9
|
+
organizationId: string;
|
|
10
|
+
email: string;
|
|
11
|
+
role: "admin" | "member" | "owner";
|
|
12
|
+
status: import("better-auth/client").InvitationStatus;
|
|
13
|
+
inviterId: string;
|
|
14
|
+
expiresAt: Date;
|
|
15
|
+
createdAt: Date;
|
|
16
|
+
} | null;
|
|
17
|
+
member: null;
|
|
18
|
+
}, BetterFetchError, RejectInvitationParams<TAuthClient>, unknown>, "mutationKey">;
|
|
19
|
+
export declare function useRejectInvitation<TAuthClient extends OrganizationAuthClient>(authClient: TAuthClient, options?: RejectInvitationOptions<TAuthClient>, queryClient?: QueryClient): import("@tanstack/react-query").UseMutationResult<{
|
|
20
|
+
invitation: {
|
|
21
|
+
id: string;
|
|
22
|
+
organizationId: string;
|
|
23
|
+
email: string;
|
|
24
|
+
role: "admin" | "member" | "owner";
|
|
25
|
+
status: import("better-auth/client").InvitationStatus;
|
|
26
|
+
inviterId: string;
|
|
27
|
+
expiresAt: Date;
|
|
28
|
+
createdAt: Date;
|
|
29
|
+
} | null;
|
|
30
|
+
member: null;
|
|
31
|
+
}, BetterFetchError, RejectInvitationParams<TAuthClient>, unknown>;
|
|
@@ -0,0 +1,25 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { type QueryClient } from "@tanstack/react-query";
|
|
2
|
+
import type { BetterFetchError } from "better-auth/react";
|
|
3
|
+
import type { OrganizationAuthClient } from "../../lib/auth-client";
|
|
4
|
+
export type RemoveMemberParams<TAuthClient extends OrganizationAuthClient> = Parameters<TAuthClient["organization"]["removeMember"]>[0];
|
|
5
|
+
export type RemoveMemberOptions<TAuthClient extends OrganizationAuthClient> = Omit<ReturnType<typeof removeMemberOptions<TAuthClient>>, "mutationKey" | "mutationFn" | "meta">;
|
|
6
|
+
export declare function removeMemberOptions<TAuthClient extends OrganizationAuthClient>(authClient: TAuthClient): import("@tanstack/react-query").WithRequired<import("@tanstack/react-query").UseMutationOptions<{
|
|
7
|
+
member: {
|
|
8
|
+
id: string;
|
|
9
|
+
organizationId: string;
|
|
10
|
+
role: "member" | "admin" | "owner";
|
|
11
|
+
createdAt: Date;
|
|
12
|
+
userId: string;
|
|
13
|
+
user: {
|
|
14
|
+
id: string;
|
|
15
|
+
email: string;
|
|
16
|
+
name: string;
|
|
17
|
+
image?: string | undefined;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
}, BetterFetchError, RemoveMemberParams<TAuthClient>, unknown>, "mutationKey">;
|
|
21
|
+
export declare function useRemoveMember<TAuthClient extends OrganizationAuthClient>(authClient: TAuthClient, options?: RemoveMemberOptions<TAuthClient>, queryClient?: QueryClient): import("@tanstack/react-query").UseMutationResult<{
|
|
22
|
+
member: {
|
|
23
|
+
id: string;
|
|
24
|
+
organizationId: string;
|
|
25
|
+
role: "member" | "admin" | "owner";
|
|
26
|
+
createdAt: Date;
|
|
27
|
+
userId: string;
|
|
28
|
+
user: {
|
|
29
|
+
id: string;
|
|
30
|
+
email: string;
|
|
31
|
+
name: string;
|
|
32
|
+
image?: string | undefined;
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
}, BetterFetchError, RemoveMemberParams<TAuthClient>, unknown>;
|
|
@@ -0,0 +1,29 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { type QueryClient } from "@tanstack/react-query";
|
|
2
|
+
import type { BetterFetchError } from "better-auth/react";
|
|
3
|
+
import type { OrganizationAuthClient } from "../../lib/auth-client";
|
|
4
|
+
export type SetActiveOrganizationParams<TAuthClient extends OrganizationAuthClient> = Parameters<TAuthClient["organization"]["setActive"]>[0];
|
|
5
|
+
export type SetActiveOrganizationOptions<TAuthClient extends OrganizationAuthClient> = Omit<ReturnType<typeof setActiveOrganizationOptions<TAuthClient>>, "mutationKey" | "mutationFn" | "meta">;
|
|
6
|
+
export declare function setActiveOrganizationOptions<TAuthClient extends OrganizationAuthClient>(authClient: TAuthClient): import("@tanstack/react-query").WithRequired<import("@tanstack/react-query").UseMutationOptions<{
|
|
7
|
+
members: {
|
|
8
|
+
id: string;
|
|
9
|
+
organizationId: string;
|
|
10
|
+
role: "member" | "admin" | "owner";
|
|
11
|
+
createdAt: Date;
|
|
12
|
+
userId: string;
|
|
13
|
+
user: {
|
|
14
|
+
id: string;
|
|
15
|
+
email: string;
|
|
16
|
+
name: string;
|
|
17
|
+
image?: string | undefined;
|
|
18
|
+
};
|
|
19
|
+
}[];
|
|
20
|
+
invitations: {
|
|
21
|
+
id: string;
|
|
22
|
+
organizationId: string;
|
|
23
|
+
email: string;
|
|
24
|
+
role: "member" | "admin" | "owner";
|
|
25
|
+
status: import("better-auth/client").InvitationStatus;
|
|
26
|
+
inviterId: string;
|
|
27
|
+
expiresAt: Date;
|
|
28
|
+
createdAt: Date;
|
|
29
|
+
}[];
|
|
30
|
+
} & {
|
|
31
|
+
id: string;
|
|
32
|
+
name: string;
|
|
33
|
+
slug: string;
|
|
34
|
+
createdAt: Date;
|
|
35
|
+
logo?: string | null | undefined | undefined;
|
|
36
|
+
metadata?: any;
|
|
37
|
+
}, BetterFetchError, SetActiveOrganizationParams<TAuthClient>, unknown>, "mutationKey">;
|
|
38
|
+
export declare function useSetActiveOrganization<TAuthClient extends OrganizationAuthClient>(authClient: TAuthClient, options?: SetActiveOrganizationOptions<TAuthClient>, queryClient?: QueryClient): import("@tanstack/react-query").UseMutationResult<{
|
|
39
|
+
members: {
|
|
40
|
+
id: string;
|
|
41
|
+
organizationId: string;
|
|
42
|
+
role: "member" | "admin" | "owner";
|
|
43
|
+
createdAt: Date;
|
|
44
|
+
userId: string;
|
|
45
|
+
user: {
|
|
46
|
+
id: string;
|
|
47
|
+
email: string;
|
|
48
|
+
name: string;
|
|
49
|
+
image?: string | undefined;
|
|
50
|
+
};
|
|
51
|
+
}[];
|
|
52
|
+
invitations: {
|
|
53
|
+
id: string;
|
|
54
|
+
organizationId: string;
|
|
55
|
+
email: string;
|
|
56
|
+
role: "member" | "admin" | "owner";
|
|
57
|
+
status: import("better-auth/client").InvitationStatus;
|
|
58
|
+
inviterId: string;
|
|
59
|
+
expiresAt: Date;
|
|
60
|
+
createdAt: Date;
|
|
61
|
+
}[];
|
|
62
|
+
} & {
|
|
63
|
+
id: string;
|
|
64
|
+
name: string;
|
|
65
|
+
slug: string;
|
|
66
|
+
createdAt: Date;
|
|
67
|
+
logo?: string | null | undefined | undefined;
|
|
68
|
+
metadata?: any;
|
|
69
|
+
}, BetterFetchError, SetActiveOrganizationParams<TAuthClient>, {
|
|
70
|
+
previousOrganizations: [readonly unknown[], unknown][];
|
|
71
|
+
}>;
|
|
@@ -0,0 +1,72 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { type QueryClient } from "@tanstack/react-query";
|
|
2
|
+
import type { BetterFetchError } from "better-auth/react";
|
|
3
|
+
import type { OrganizationAuthClient } from "../../lib/auth-client";
|
|
4
|
+
export type UpdateMemberRoleParams<TAuthClient extends OrganizationAuthClient> = Parameters<TAuthClient["organization"]["updateMemberRole"]>[0];
|
|
5
|
+
export type UpdateMemberRoleOptions<TAuthClient extends OrganizationAuthClient> = Omit<ReturnType<typeof updateMemberRoleOptions<TAuthClient>>, "mutationKey" | "mutationFn" | "meta">;
|
|
6
|
+
export declare function updateMemberRoleOptions<TAuthClient extends OrganizationAuthClient>(authClient: TAuthClient): import("@tanstack/react-query").WithRequired<import("@tanstack/react-query").UseMutationOptions<{
|
|
7
|
+
id: string;
|
|
8
|
+
organizationId: string;
|
|
9
|
+
role: "admin" | "member" | "owner";
|
|
10
|
+
createdAt: Date;
|
|
11
|
+
userId: string;
|
|
12
|
+
user: {
|
|
13
|
+
id: string;
|
|
14
|
+
email: string;
|
|
15
|
+
name: string;
|
|
16
|
+
image?: string | undefined;
|
|
17
|
+
};
|
|
18
|
+
}, BetterFetchError, UpdateMemberRoleParams<TAuthClient>, unknown>, "mutationKey">;
|
|
19
|
+
export declare function useUpdateMemberRole<TAuthClient extends OrganizationAuthClient>(authClient: TAuthClient, options?: UpdateMemberRoleOptions<TAuthClient>, queryClient?: QueryClient): import("@tanstack/react-query").UseMutationResult<{
|
|
20
|
+
id: string;
|
|
21
|
+
organizationId: string;
|
|
22
|
+
role: "admin" | "member" | "owner";
|
|
23
|
+
createdAt: Date;
|
|
24
|
+
userId: string;
|
|
25
|
+
user: {
|
|
26
|
+
id: string;
|
|
27
|
+
email: string;
|
|
28
|
+
name: string;
|
|
29
|
+
image?: string | undefined;
|
|
30
|
+
};
|
|
31
|
+
}, BetterFetchError, UpdateMemberRoleParams<TAuthClient>, unknown>;
|
|
@@ -0,0 +1,36 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { type QueryClient } from "@tanstack/react-query";
|
|
2
|
+
import type { BetterFetchError } from "better-auth/react";
|
|
3
|
+
import type { OrganizationAuthClient } from "../../lib/auth-client";
|
|
4
|
+
export type UpdateOrganizationParams<TAuthClient extends OrganizationAuthClient> = Parameters<TAuthClient["organization"]["update"]>[0];
|
|
5
|
+
export type UpdateOrganizationOptions<TAuthClient extends OrganizationAuthClient> = Omit<ReturnType<typeof updateOrganizationOptions<TAuthClient>>, "mutationKey" | "mutationFn" | "meta">;
|
|
6
|
+
export declare function updateOrganizationOptions<TAuthClient extends OrganizationAuthClient>(authClient: TAuthClient): import("@tanstack/react-query").WithRequired<import("@tanstack/react-query").UseMutationOptions<{
|
|
7
|
+
id: string;
|
|
8
|
+
name: string;
|
|
9
|
+
slug: string;
|
|
10
|
+
createdAt: Date;
|
|
11
|
+
logo?: string | null | undefined | undefined;
|
|
12
|
+
metadata?: any;
|
|
13
|
+
}, BetterFetchError, UpdateOrganizationParams<TAuthClient>, unknown>, "mutationKey">;
|
|
14
|
+
export declare function useUpdateOrganization<TAuthClient extends OrganizationAuthClient>(authClient: TAuthClient, options?: UpdateOrganizationOptions<TAuthClient>, queryClient?: QueryClient): import("@tanstack/react-query").UseMutationResult<{
|
|
15
|
+
id: string;
|
|
16
|
+
name: string;
|
|
17
|
+
slug: string;
|
|
18
|
+
createdAt: Date;
|
|
19
|
+
logo?: string | null | undefined | undefined;
|
|
20
|
+
metadata?: any;
|
|
21
|
+
}, BetterFetchError, UpdateOrganizationParams<TAuthClient>, unknown>;
|
|
@@ -0,0 +1,36 @@
|
|
|
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,13 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { type QueryClient } from "@tanstack/react-query";
|
|
2
|
+
import type { BetterFetchError } from "better-auth/react";
|
|
3
|
+
import type { PasskeyAuthClient } from "../../lib/auth-client";
|
|
3
4
|
export type AddPasskeyParams<TAuthClient extends PasskeyAuthClient> = Parameters<TAuthClient["passkey"]["addPasskey"]>[0];
|
|
4
|
-
export type AddPasskeyOptions<TAuthClient extends PasskeyAuthClient> = Omit<ReturnType<typeof addPasskeyOptions<TAuthClient>>, "mutationKey" | "mutationFn">;
|
|
5
|
+
export type AddPasskeyOptions<TAuthClient extends PasskeyAuthClient> = Omit<ReturnType<typeof addPasskeyOptions<TAuthClient>>, "mutationKey" | "mutationFn" | "meta">;
|
|
5
6
|
/**
|
|
6
7
|
* Mutation options factory for registering a new passkey.
|
|
7
8
|
*
|
|
8
9
|
* @param authClient - The Better Auth client with the passkey plugin.
|
|
9
10
|
*/
|
|
10
|
-
export declare function addPasskeyOptions<TAuthClient extends PasskeyAuthClient>(authClient: TAuthClient): import(
|
|
11
|
+
export declare function addPasskeyOptions<TAuthClient extends PasskeyAuthClient>(authClient: TAuthClient): import("@tanstack/react-query").WithRequired<import("@tanstack/react-query").UseMutationOptions<{
|
|
11
12
|
data: null;
|
|
12
13
|
error: {
|
|
13
14
|
message?: string | undefined;
|
|
@@ -15,14 +16,14 @@ export declare function addPasskeyOptions<TAuthClient extends PasskeyAuthClient>
|
|
|
15
16
|
statusText: string;
|
|
16
17
|
};
|
|
17
18
|
} | {
|
|
18
|
-
data: import(
|
|
19
|
+
data: import("@better-auth/passkey").Passkey;
|
|
19
20
|
error: null;
|
|
20
21
|
} | {
|
|
21
22
|
webauthn: {
|
|
22
|
-
response: import(
|
|
23
|
-
clientExtensionResults: import(
|
|
23
|
+
response: import("@better-auth/passkey/client").RegistrationResponseJSON;
|
|
24
|
+
clientExtensionResults: import("@better-auth/passkey/client").AuthenticationExtensionsClientOutputs;
|
|
24
25
|
};
|
|
25
|
-
data: import(
|
|
26
|
+
data: import("@better-auth/passkey").Passkey;
|
|
26
27
|
error: null;
|
|
27
28
|
} | {
|
|
28
29
|
data: null;
|
|
@@ -36,14 +37,13 @@ export declare function addPasskeyOptions<TAuthClient extends PasskeyAuthClient>
|
|
|
36
37
|
/**
|
|
37
38
|
* Create a mutation for registering a new passkey.
|
|
38
39
|
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
* `onSuccess`, `onError`, and `retry`.
|
|
40
|
+
* On success, `MutationInvalidator` awaits invalidation of the user's
|
|
41
|
+
* passkey list (see `meta.awaits`).
|
|
42
42
|
*
|
|
43
43
|
* @param authClient - The Better Auth client with the passkey plugin.
|
|
44
44
|
* @param options - React Query options forwarded to `useMutation`.
|
|
45
45
|
*/
|
|
46
|
-
export declare function useAddPasskey<TAuthClient extends PasskeyAuthClient>(authClient: TAuthClient, options?: AddPasskeyOptions<TAuthClient
|
|
46
|
+
export declare function useAddPasskey<TAuthClient extends PasskeyAuthClient>(authClient: TAuthClient, options?: AddPasskeyOptions<TAuthClient>, queryClient?: QueryClient): import("@tanstack/react-query").UseMutationResult<{
|
|
47
47
|
data: null;
|
|
48
48
|
error: {
|
|
49
49
|
message?: string | undefined;
|
|
@@ -51,14 +51,14 @@ export declare function useAddPasskey<TAuthClient extends PasskeyAuthClient>(aut
|
|
|
51
51
|
statusText: string;
|
|
52
52
|
};
|
|
53
53
|
} | {
|
|
54
|
-
data: import(
|
|
54
|
+
data: import("@better-auth/passkey").Passkey;
|
|
55
55
|
error: null;
|
|
56
56
|
} | {
|
|
57
57
|
webauthn: {
|
|
58
|
-
response: import(
|
|
59
|
-
clientExtensionResults: import(
|
|
58
|
+
response: import("@better-auth/passkey/client").RegistrationResponseJSON;
|
|
59
|
+
clientExtensionResults: import("@better-auth/passkey/client").AuthenticationExtensionsClientOutputs;
|
|
60
60
|
};
|
|
61
|
-
data: import(
|
|
61
|
+
data: import("@better-auth/passkey").Passkey;
|
|
62
62
|
error: null;
|
|
63
63
|
} | {
|
|
64
64
|
data: null;
|
|
@@ -1,29 +1,40 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { mutationOptions
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
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
|
+
});
|
|
17
20
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
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);
|
|
27
40
|
}
|
|
28
|
-
//#endregion
|
|
29
|
-
export { i as addPasskeyOptions, a as useAddPasskey };
|