@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
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { organizationPlugin, organizationQueryKeys } from "@better-auth-ui/core/plugins";
|
|
2
|
+
import { queryOptions, skipToken, useQuery } from "@tanstack/react-query";
|
|
3
|
+
import { useAuthPlugin } from "../../hooks/use-auth-plugin";
|
|
4
|
+
import { useSession } from "../auth/session-query";
|
|
5
|
+
export function activeOrganizationOptions(authClient, userId, params) {
|
|
6
|
+
const queryKey = organizationQueryKeys.activeOrganization(userId, params?.query);
|
|
7
|
+
const options = queryOptions({
|
|
8
|
+
queryKey,
|
|
9
|
+
queryFn: ({ signal }) => authClient.organization.getFullOrganization({
|
|
10
|
+
...params,
|
|
11
|
+
fetchOptions: { ...params?.fetchOptions, signal, throw: true }
|
|
12
|
+
})
|
|
13
|
+
});
|
|
14
|
+
return options;
|
|
15
|
+
}
|
|
16
|
+
export const ensureActiveOrganization = (queryClient, authClient, userId, params) => queryClient.ensureQueryData(activeOrganizationOptions(authClient, userId, params));
|
|
17
|
+
export const prefetchActiveOrganization = (queryClient, authClient, userId, params) => queryClient.prefetchQuery(activeOrganizationOptions(authClient, userId, params));
|
|
18
|
+
export const fetchActiveOrganization = (queryClient, authClient, userId, params) => queryClient.fetchQuery(activeOrganizationOptions(authClient, userId, params));
|
|
19
|
+
export function useActiveOrganization(authClient, options = {}, queryClient) {
|
|
20
|
+
const { data: session } = useSession(authClient, undefined, queryClient);
|
|
21
|
+
const userId = session?.user.id;
|
|
22
|
+
const { slug } = useAuthPlugin(organizationPlugin);
|
|
23
|
+
const { query, fetchOptions, ...queryOptions } = options;
|
|
24
|
+
const baseOptions = activeOrganizationOptions(authClient, userId, {
|
|
25
|
+
fetchOptions,
|
|
26
|
+
query: slug ? { organizationSlug: slug } : query
|
|
27
|
+
});
|
|
28
|
+
return useQuery({
|
|
29
|
+
...queryOptions,
|
|
30
|
+
...baseOptions,
|
|
31
|
+
queryFn: slug === null
|
|
32
|
+
? async () => null
|
|
33
|
+
: userId
|
|
34
|
+
? baseOptions.queryFn
|
|
35
|
+
: skipToken
|
|
36
|
+
}, queryClient);
|
|
37
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { type DataTag, type QueryClient } from "@tanstack/react-query";
|
|
2
|
+
import type { BetterFetchError } from "better-auth/react";
|
|
3
|
+
import type { InferData, OrganizationAuthClient } from "../../lib/auth-client";
|
|
4
|
+
export type FullOrganizationData<TAuthClient extends OrganizationAuthClient = OrganizationAuthClient> = InferData<TAuthClient["organization"]["getFullOrganization"]>;
|
|
5
|
+
export type FullOrganizationParams<TAuthClient extends OrganizationAuthClient = OrganizationAuthClient> = Parameters<TAuthClient["organization"]["getFullOrganization"]>[0];
|
|
6
|
+
export type FullOrganizationOptions<TAuthClient extends OrganizationAuthClient = OrganizationAuthClient> = Omit<ReturnType<typeof fullOrganizationOptions<TAuthClient>>, "queryKey" | "queryFn">;
|
|
7
|
+
export declare function fullOrganizationOptions<TAuthClient extends OrganizationAuthClient>(authClient: TAuthClient, userId: string | undefined, params?: FullOrganizationParams<TAuthClient>): (import("@tanstack/react-query").OmitKeyof<import("@tanstack/react-query").UseQueryOptions<InferData<TAuthClient["organization"]["getFullOrganization"]>, BetterFetchError, InferData<TAuthClient["organization"]["getFullOrganization"]>, readonly ["auth", "user", string | undefined, "organization", "fullDetails", {
|
|
8
|
+
organizationId?: string | undefined;
|
|
9
|
+
organizationSlug?: string | undefined;
|
|
10
|
+
membersLimit?: string | number | undefined;
|
|
11
|
+
} | null]>, "queryFn"> & {
|
|
12
|
+
queryFn?: import("@tanstack/react-query").QueryFunction<InferData<TAuthClient["organization"]["getFullOrganization"]>, readonly ["auth", "user", string | undefined, "organization", "fullDetails", {
|
|
13
|
+
organizationId?: string | undefined;
|
|
14
|
+
organizationSlug?: string | undefined;
|
|
15
|
+
membersLimit?: string | number | undefined;
|
|
16
|
+
} | null], never> | undefined;
|
|
17
|
+
} & {
|
|
18
|
+
queryKey: readonly ["auth", "user", string | undefined, "organization", "fullDetails", {
|
|
19
|
+
organizationId?: string | undefined;
|
|
20
|
+
organizationSlug?: string | undefined;
|
|
21
|
+
membersLimit?: string | number | undefined;
|
|
22
|
+
} | null] & {
|
|
23
|
+
[dataTagSymbol]: InferData<TAuthClient["organization"]["getFullOrganization"]>;
|
|
24
|
+
[dataTagErrorSymbol]: BetterFetchError;
|
|
25
|
+
};
|
|
26
|
+
}) & {
|
|
27
|
+
queryKey: DataTag<readonly ["auth", "user", string | undefined, "organization", "fullDetails", {
|
|
28
|
+
organizationId?: string | undefined;
|
|
29
|
+
organizationSlug?: string | undefined;
|
|
30
|
+
membersLimit?: string | number | undefined;
|
|
31
|
+
} | null], InferData<TAuthClient["organization"]["getFullOrganization"]>, BetterFetchError>;
|
|
32
|
+
};
|
|
33
|
+
export declare const ensureFullOrganization: <TAuthClient extends OrganizationAuthClient>(queryClient: QueryClient, authClient: TAuthClient, userId: string | undefined, params?: FullOrganizationParams<TAuthClient>) => Promise<InferData<TAuthClient["organization"]["getFullOrganization"]>>;
|
|
34
|
+
export declare const prefetchFullOrganization: <TAuthClient extends OrganizationAuthClient>(queryClient: QueryClient, authClient: TAuthClient, userId: string | undefined, params?: FullOrganizationParams<TAuthClient>) => Promise<void>;
|
|
35
|
+
export declare const fetchFullOrganization: <TAuthClient extends OrganizationAuthClient>(queryClient: QueryClient, authClient: TAuthClient, userId: string | undefined, params?: FullOrganizationParams<TAuthClient>) => Promise<InferData<TAuthClient["organization"]["getFullOrganization"]>>;
|
|
36
|
+
export type UseFullOrganizationOptions<TAuthClient extends OrganizationAuthClient> = FullOrganizationOptions<TAuthClient> & FullOrganizationParams<TAuthClient>;
|
|
37
|
+
export declare function useFullOrganization<TAuthClient extends OrganizationAuthClient>(authClient: TAuthClient, options?: UseFullOrganizationOptions<TAuthClient>, queryClient?: QueryClient): import("@tanstack/react-query").UseQueryResult<NoInfer<InferData<TAuthClient["organization"]["getFullOrganization"]>>, BetterFetchError>;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { organizationQueryKeys } from "@better-auth-ui/core/plugins";
|
|
2
|
+
import { queryOptions, skipToken, useQuery } from "@tanstack/react-query";
|
|
3
|
+
import { useSession } from "../auth/session-query";
|
|
4
|
+
export function fullOrganizationOptions(authClient, userId, params) {
|
|
5
|
+
const queryKey = organizationQueryKeys.fullDetail(userId, params?.query);
|
|
6
|
+
const options = queryOptions({
|
|
7
|
+
queryKey,
|
|
8
|
+
queryFn: ({ signal }) => authClient.organization.getFullOrganization({
|
|
9
|
+
...params,
|
|
10
|
+
fetchOptions: { ...params?.fetchOptions, signal, throw: true }
|
|
11
|
+
})
|
|
12
|
+
});
|
|
13
|
+
return options;
|
|
14
|
+
}
|
|
15
|
+
export const ensureFullOrganization = (queryClient, authClient, userId, params) => queryClient.ensureQueryData(fullOrganizationOptions(authClient, userId, params));
|
|
16
|
+
export const prefetchFullOrganization = (queryClient, authClient, userId, params) => queryClient.prefetchQuery(fullOrganizationOptions(authClient, userId, params));
|
|
17
|
+
export const fetchFullOrganization = (queryClient, authClient, userId, params) => queryClient.fetchQuery(fullOrganizationOptions(authClient, userId, params));
|
|
18
|
+
export function useFullOrganization(authClient, options = {}, queryClient) {
|
|
19
|
+
const { data: session } = useSession(authClient, undefined, queryClient);
|
|
20
|
+
const userId = session?.user.id;
|
|
21
|
+
const { query, fetchOptions, ...queryOptions } = options;
|
|
22
|
+
const baseOptions = fullOrganizationOptions(authClient, userId, {
|
|
23
|
+
query,
|
|
24
|
+
fetchOptions
|
|
25
|
+
});
|
|
26
|
+
return useQuery({
|
|
27
|
+
...queryOptions,
|
|
28
|
+
...baseOptions,
|
|
29
|
+
queryFn: userId ? baseOptions.queryFn : skipToken
|
|
30
|
+
}, queryClient);
|
|
31
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { type DataTag, type QueryClient } from "@tanstack/react-query";
|
|
2
|
+
import type { BetterFetchError } from "better-auth/react";
|
|
3
|
+
import type { InferData, OrganizationAuthClient } from "../../lib/auth-client";
|
|
4
|
+
export type HasPermissionData<TAuthClient extends OrganizationAuthClient = OrganizationAuthClient> = InferData<TAuthClient["organization"]["hasPermission"]>;
|
|
5
|
+
export type HasPermissionParams<TAuthClient extends OrganizationAuthClient = OrganizationAuthClient> = Parameters<TAuthClient["organization"]["hasPermission"]>[0];
|
|
6
|
+
export type HasPermissionOptions<TAuthClient extends OrganizationAuthClient = OrganizationAuthClient> = Omit<ReturnType<typeof hasPermissionOptions<TAuthClient>>, "queryKey" | "queryFn">;
|
|
7
|
+
export declare function hasPermissionOptions<TAuthClient extends OrganizationAuthClient>(authClient: TAuthClient, userId: string | undefined, params: HasPermissionParams<TAuthClient>): (import("@tanstack/react-query").OmitKeyof<import("@tanstack/react-query").UseQueryOptions<InferData<TAuthClient["organization"]["hasPermission"]>, BetterFetchError, InferData<TAuthClient["organization"]["hasPermission"]>, readonly ["auth", "user", string | undefined, "organization", "permissions", "has", Omit<HasPermissionParams<TAuthClient>, "fetchOptions"> | null]>, "queryFn"> & {
|
|
8
|
+
queryFn?: import("@tanstack/react-query").QueryFunction<InferData<TAuthClient["organization"]["hasPermission"]>, readonly ["auth", "user", string | undefined, "organization", "permissions", "has", Omit<HasPermissionParams<TAuthClient>, "fetchOptions"> | null], never> | undefined;
|
|
9
|
+
} & {
|
|
10
|
+
queryKey: readonly ["auth", "user", string | undefined, "organization", "permissions", "has", Omit<HasPermissionParams<TAuthClient>, "fetchOptions"> | null] & {
|
|
11
|
+
[dataTagSymbol]: InferData<TAuthClient["organization"]["hasPermission"]>;
|
|
12
|
+
[dataTagErrorSymbol]: BetterFetchError;
|
|
13
|
+
};
|
|
14
|
+
}) & {
|
|
15
|
+
queryKey: DataTag<readonly ["auth", "user", string | undefined, "organization", "permissions", "has", Omit<HasPermissionParams<TAuthClient>, "fetchOptions"> | null], InferData<TAuthClient["organization"]["hasPermission"]>, BetterFetchError>;
|
|
16
|
+
};
|
|
17
|
+
export declare const ensureHasPermission: <TAuthClient extends OrganizationAuthClient>(queryClient: QueryClient, authClient: TAuthClient, userId: string | undefined, params: HasPermissionParams<TAuthClient>) => Promise<InferData<TAuthClient["organization"]["hasPermission"]>>;
|
|
18
|
+
export declare const prefetchHasPermission: <TAuthClient extends OrganizationAuthClient>(queryClient: QueryClient, authClient: TAuthClient, userId: string | undefined, params: HasPermissionParams<TAuthClient>) => Promise<void>;
|
|
19
|
+
export declare const fetchHasPermission: <TAuthClient extends OrganizationAuthClient>(queryClient: QueryClient, authClient: TAuthClient, userId: string | undefined, params: HasPermissionParams<TAuthClient>) => Promise<InferData<TAuthClient["organization"]["hasPermission"]>>;
|
|
20
|
+
export type UseHasPermissionOptions<TAuthClient extends OrganizationAuthClient = OrganizationAuthClient> = HasPermissionOptions<TAuthClient> & HasPermissionParams<TAuthClient>;
|
|
21
|
+
export declare function useHasPermission<TAuthClient extends OrganizationAuthClient>(authClient: TAuthClient, options: UseHasPermissionOptions<TAuthClient>, queryClient?: QueryClient): import("@tanstack/react-query").UseQueryResult<NoInfer<InferData<TAuthClient["organization"]["hasPermission"]>>, BetterFetchError>;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { organizationQueryKeys } from "@better-auth-ui/core/plugins";
|
|
2
|
+
import { queryOptions, skipToken, useQuery } from "@tanstack/react-query";
|
|
3
|
+
import { useSession } from "../auth/session-query";
|
|
4
|
+
import { useActiveOrganization } from "./active-organization-query";
|
|
5
|
+
export function hasPermissionOptions(authClient, userId, params) {
|
|
6
|
+
// `hasPermission` is the only org client method without a `query` field — its
|
|
7
|
+
// params are flat — so the "query" portion is everything except `fetchOptions`.
|
|
8
|
+
const { fetchOptions, ...query } = params;
|
|
9
|
+
const queryKey = organizationQueryKeys.permissions.has(userId, query);
|
|
10
|
+
const options = queryOptions({
|
|
11
|
+
queryKey,
|
|
12
|
+
queryFn: ({ signal }) => authClient.organization.hasPermission({
|
|
13
|
+
...query,
|
|
14
|
+
fetchOptions: { ...fetchOptions, signal, throw: true }
|
|
15
|
+
})
|
|
16
|
+
});
|
|
17
|
+
return options;
|
|
18
|
+
}
|
|
19
|
+
export const ensureHasPermission = (queryClient, authClient, userId, params) => queryClient.ensureQueryData(hasPermissionOptions(authClient, userId, params));
|
|
20
|
+
export const prefetchHasPermission = (queryClient, authClient, userId, params) => queryClient.prefetchQuery(hasPermissionOptions(authClient, userId, params));
|
|
21
|
+
export const fetchHasPermission = (queryClient, authClient, userId, params) => queryClient.fetchQuery(hasPermissionOptions(authClient, userId, params));
|
|
22
|
+
export function useHasPermission(authClient, options, queryClient) {
|
|
23
|
+
const { data: session } = useSession(authClient, undefined, queryClient);
|
|
24
|
+
const userId = session?.user.id;
|
|
25
|
+
const { fetchOptions, permissions, organizationId: optionsOrganizationId, ...queryOptions } = options;
|
|
26
|
+
const { data: activeOrganization } = useActiveOrganization(authClient, { enabled: !optionsOrganizationId }, queryClient);
|
|
27
|
+
const organizationId = optionsOrganizationId ?? activeOrganization?.id;
|
|
28
|
+
const baseOptions = hasPermissionOptions(authClient, userId, {
|
|
29
|
+
fetchOptions,
|
|
30
|
+
organizationId,
|
|
31
|
+
permissions
|
|
32
|
+
});
|
|
33
|
+
return useQuery({
|
|
34
|
+
...queryOptions,
|
|
35
|
+
...baseOptions,
|
|
36
|
+
queryFn: userId && organizationId ? baseOptions.queryFn : skipToken
|
|
37
|
+
}, queryClient);
|
|
38
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from "./active-organization-query";
|
|
2
|
+
export * from "./full-organization-query";
|
|
3
|
+
export * from "./has-permission-query";
|
|
4
|
+
export * from "./list-invitations-query";
|
|
5
|
+
export * from "./list-members-query";
|
|
6
|
+
export * from "./list-organizations-query";
|
|
7
|
+
export * from "./list-user-invitations-query";
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from "./active-organization-query";
|
|
2
|
+
export * from "./full-organization-query";
|
|
3
|
+
export * from "./has-permission-query";
|
|
4
|
+
export * from "./list-invitations-query";
|
|
5
|
+
export * from "./list-members-query";
|
|
6
|
+
export * from "./list-organizations-query";
|
|
7
|
+
export * from "./list-user-invitations-query";
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { type DataTag, type QueryClient } from "@tanstack/react-query";
|
|
2
|
+
import type { BetterFetchError } from "better-auth/react";
|
|
3
|
+
import type { InferData, OrganizationAuthClient } from "../../lib/auth-client";
|
|
4
|
+
export type ListOrganizationInvitationsData<TAuthClient extends OrganizationAuthClient = OrganizationAuthClient> = InferData<TAuthClient["organization"]["listInvitations"]>;
|
|
5
|
+
export type ListOrganizationInvitationsParams<TAuthClient extends OrganizationAuthClient = OrganizationAuthClient> = Parameters<TAuthClient["organization"]["listInvitations"]>[0];
|
|
6
|
+
export type ListOrganizationInvitationsOptions<TAuthClient extends OrganizationAuthClient = OrganizationAuthClient> = Omit<ReturnType<typeof listOrganizationInvitationsOptions<TAuthClient>>, "queryKey" | "queryFn">;
|
|
7
|
+
export declare function listOrganizationInvitationsOptions<TAuthClient extends OrganizationAuthClient>(authClient: TAuthClient, userId: string | undefined, params?: ListOrganizationInvitationsParams<TAuthClient>): (import("@tanstack/react-query").OmitKeyof<import("@tanstack/react-query").UseQueryOptions<InferData<TAuthClient["organization"]["listInvitations"]>, BetterFetchError, InferData<TAuthClient["organization"]["listInvitations"]>, readonly ["auth", "user", string | undefined, "organization", "invitations", "list", {
|
|
8
|
+
organizationId?: string | undefined;
|
|
9
|
+
} | null]>, "queryFn"> & {
|
|
10
|
+
queryFn?: import("@tanstack/react-query").QueryFunction<InferData<TAuthClient["organization"]["listInvitations"]>, readonly ["auth", "user", string | undefined, "organization", "invitations", "list", {
|
|
11
|
+
organizationId?: string | undefined;
|
|
12
|
+
} | null], never> | undefined;
|
|
13
|
+
} & {
|
|
14
|
+
queryKey: readonly ["auth", "user", string | undefined, "organization", "invitations", "list", {
|
|
15
|
+
organizationId?: string | undefined;
|
|
16
|
+
} | null] & {
|
|
17
|
+
[dataTagSymbol]: InferData<TAuthClient["organization"]["listInvitations"]>;
|
|
18
|
+
[dataTagErrorSymbol]: BetterFetchError;
|
|
19
|
+
};
|
|
20
|
+
}) & {
|
|
21
|
+
queryKey: DataTag<readonly ["auth", "user", string | undefined, "organization", "invitations", "list", {
|
|
22
|
+
organizationId?: string | undefined;
|
|
23
|
+
} | null], InferData<TAuthClient["organization"]["listInvitations"]>, BetterFetchError>;
|
|
24
|
+
};
|
|
25
|
+
export declare const ensureListOrganizationInvitations: <TAuthClient extends OrganizationAuthClient>(queryClient: QueryClient, authClient: TAuthClient, userId: string | undefined, params?: ListOrganizationInvitationsParams<TAuthClient>) => Promise<InferData<TAuthClient["organization"]["listInvitations"]>>;
|
|
26
|
+
export declare const prefetchListOrganizationInvitations: <TAuthClient extends OrganizationAuthClient>(queryClient: QueryClient, authClient: TAuthClient, userId: string | undefined, params?: ListOrganizationInvitationsParams<TAuthClient>) => Promise<void>;
|
|
27
|
+
export declare const fetchListOrganizationInvitations: <TAuthClient extends OrganizationAuthClient>(queryClient: QueryClient, authClient: TAuthClient, userId: string | undefined, params?: ListOrganizationInvitationsParams<TAuthClient>) => Promise<InferData<TAuthClient["organization"]["listInvitations"]>>;
|
|
28
|
+
export type UseListOrganizationInvitationsOptions<TAuthClient extends OrganizationAuthClient = OrganizationAuthClient> = ListOrganizationInvitationsOptions<TAuthClient> & ListOrganizationInvitationsParams<TAuthClient>;
|
|
29
|
+
export declare function useListOrganizationInvitations<TAuthClient extends OrganizationAuthClient>(authClient: TAuthClient, options?: UseListOrganizationInvitationsOptions<TAuthClient>, queryClient?: QueryClient): import("@tanstack/react-query").UseQueryResult<NoInfer<InferData<TAuthClient["organization"]["listInvitations"]>>, BetterFetchError>;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { organizationQueryKeys } from "@better-auth-ui/core/plugins";
|
|
2
|
+
import { queryOptions, skipToken, useQuery } from "@tanstack/react-query";
|
|
3
|
+
import { useSession } from "../auth/session-query";
|
|
4
|
+
import { useActiveOrganization } from "./active-organization-query";
|
|
5
|
+
export function listOrganizationInvitationsOptions(authClient, userId, params) {
|
|
6
|
+
const queryKey = organizationQueryKeys.invitations.list(userId, params?.query);
|
|
7
|
+
const options = queryOptions({
|
|
8
|
+
queryKey,
|
|
9
|
+
queryFn: ({ signal }) => authClient.organization.listInvitations({
|
|
10
|
+
...params,
|
|
11
|
+
fetchOptions: { ...params?.fetchOptions, signal, throw: true }
|
|
12
|
+
})
|
|
13
|
+
});
|
|
14
|
+
return options;
|
|
15
|
+
}
|
|
16
|
+
export const ensureListOrganizationInvitations = (queryClient, authClient, userId, params) => queryClient.ensureQueryData(listOrganizationInvitationsOptions(authClient, userId, params));
|
|
17
|
+
export const prefetchListOrganizationInvitations = (queryClient, authClient, userId, params) => queryClient.prefetchQuery(listOrganizationInvitationsOptions(authClient, userId, params));
|
|
18
|
+
export const fetchListOrganizationInvitations = (queryClient, authClient, userId, params) => queryClient.fetchQuery(listOrganizationInvitationsOptions(authClient, userId, params));
|
|
19
|
+
export function useListOrganizationInvitations(authClient, options = {}, queryClient) {
|
|
20
|
+
const { data: session } = useSession(authClient, undefined, queryClient);
|
|
21
|
+
const userId = session?.user.id;
|
|
22
|
+
const { query, fetchOptions, ...queryOptions } = options;
|
|
23
|
+
const { data: activeOrganization } = useActiveOrganization(authClient, { enabled: !query?.organizationId }, queryClient);
|
|
24
|
+
const organizationId = query?.organizationId ?? activeOrganization?.id;
|
|
25
|
+
const baseOptions = listOrganizationInvitationsOptions(authClient, userId, {
|
|
26
|
+
query: {
|
|
27
|
+
...query,
|
|
28
|
+
organizationId
|
|
29
|
+
},
|
|
30
|
+
fetchOptions
|
|
31
|
+
});
|
|
32
|
+
return useQuery({
|
|
33
|
+
...queryOptions,
|
|
34
|
+
...baseOptions,
|
|
35
|
+
queryFn: userId && organizationId ? baseOptions.queryFn : skipToken
|
|
36
|
+
}, queryClient);
|
|
37
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { type DataTag, type QueryClient } from "@tanstack/react-query";
|
|
2
|
+
import type { BetterFetchError } from "better-auth/react";
|
|
3
|
+
import type { InferData, OrganizationAuthClient } from "../../lib/auth-client";
|
|
4
|
+
export type ListOrganizationMembersData<TAuthClient extends OrganizationAuthClient = OrganizationAuthClient> = InferData<TAuthClient["organization"]["listMembers"]>;
|
|
5
|
+
export type ListOrganizationMembersParams<TAuthClient extends OrganizationAuthClient = OrganizationAuthClient> = Parameters<TAuthClient["organization"]["listMembers"]>[0];
|
|
6
|
+
export type ListOrganizationMembersOptions<TAuthClient extends OrganizationAuthClient = OrganizationAuthClient> = Omit<ReturnType<typeof listOrganizationMembersOptions<TAuthClient>>, "queryKey" | "queryFn">;
|
|
7
|
+
export declare function listOrganizationMembersOptions<TAuthClient extends OrganizationAuthClient>(authClient: TAuthClient, userId: string | undefined, params?: ListOrganizationMembersParams<TAuthClient>): (import("@tanstack/react-query").OmitKeyof<import("@tanstack/react-query").UseQueryOptions<InferData<TAuthClient["organization"]["listMembers"]>, BetterFetchError, InferData<TAuthClient["organization"]["listMembers"]>, readonly ["auth", "user", string | undefined, "organization", "members", "list", {
|
|
8
|
+
limit?: string | number | undefined;
|
|
9
|
+
offset?: string | number | undefined;
|
|
10
|
+
sortBy?: string | undefined;
|
|
11
|
+
sortDirection?: "asc" | "desc" | undefined;
|
|
12
|
+
filterField?: string | undefined;
|
|
13
|
+
filterValue?: string | number | boolean | string[] | number[] | undefined;
|
|
14
|
+
filterOperator?: "in" | "eq" | "ne" | "gt" | "gte" | "lt" | "lte" | "not_in" | "contains" | "starts_with" | "ends_with" | undefined;
|
|
15
|
+
organizationId?: string | undefined;
|
|
16
|
+
organizationSlug?: string | undefined;
|
|
17
|
+
} | null]>, "queryFn"> & {
|
|
18
|
+
queryFn?: import("@tanstack/react-query").QueryFunction<InferData<TAuthClient["organization"]["listMembers"]>, readonly ["auth", "user", string | undefined, "organization", "members", "list", {
|
|
19
|
+
limit?: string | number | undefined;
|
|
20
|
+
offset?: string | number | undefined;
|
|
21
|
+
sortBy?: string | undefined;
|
|
22
|
+
sortDirection?: "asc" | "desc" | undefined;
|
|
23
|
+
filterField?: string | undefined;
|
|
24
|
+
filterValue?: string | number | boolean | string[] | number[] | undefined;
|
|
25
|
+
filterOperator?: "in" | "eq" | "ne" | "gt" | "gte" | "lt" | "lte" | "not_in" | "contains" | "starts_with" | "ends_with" | undefined;
|
|
26
|
+
organizationId?: string | undefined;
|
|
27
|
+
organizationSlug?: string | undefined;
|
|
28
|
+
} | null], never> | undefined;
|
|
29
|
+
} & {
|
|
30
|
+
queryKey: readonly ["auth", "user", string | undefined, "organization", "members", "list", {
|
|
31
|
+
limit?: string | number | undefined;
|
|
32
|
+
offset?: string | number | undefined;
|
|
33
|
+
sortBy?: string | undefined;
|
|
34
|
+
sortDirection?: "asc" | "desc" | undefined;
|
|
35
|
+
filterField?: string | undefined;
|
|
36
|
+
filterValue?: string | number | boolean | string[] | number[] | undefined;
|
|
37
|
+
filterOperator?: "in" | "eq" | "ne" | "gt" | "gte" | "lt" | "lte" | "not_in" | "contains" | "starts_with" | "ends_with" | undefined;
|
|
38
|
+
organizationId?: string | undefined;
|
|
39
|
+
organizationSlug?: string | undefined;
|
|
40
|
+
} | null] & {
|
|
41
|
+
[dataTagSymbol]: InferData<TAuthClient["organization"]["listMembers"]>;
|
|
42
|
+
[dataTagErrorSymbol]: BetterFetchError;
|
|
43
|
+
};
|
|
44
|
+
}) & {
|
|
45
|
+
queryKey: DataTag<readonly ["auth", "user", string | undefined, "organization", "members", "list", {
|
|
46
|
+
limit?: string | number | undefined;
|
|
47
|
+
offset?: string | number | undefined;
|
|
48
|
+
sortBy?: string | undefined;
|
|
49
|
+
sortDirection?: "asc" | "desc" | undefined;
|
|
50
|
+
filterField?: string | undefined;
|
|
51
|
+
filterValue?: string | number | boolean | string[] | number[] | undefined;
|
|
52
|
+
filterOperator?: "in" | "eq" | "ne" | "gt" | "gte" | "lt" | "lte" | "not_in" | "contains" | "starts_with" | "ends_with" | undefined;
|
|
53
|
+
organizationId?: string | undefined;
|
|
54
|
+
organizationSlug?: string | undefined;
|
|
55
|
+
} | null], InferData<TAuthClient["organization"]["listMembers"]>, BetterFetchError>;
|
|
56
|
+
};
|
|
57
|
+
export declare const ensureListOrganizationMembers: <TAuthClient extends OrganizationAuthClient>(queryClient: QueryClient, authClient: TAuthClient, userId: string | undefined, params?: ListOrganizationMembersParams<TAuthClient>) => Promise<InferData<TAuthClient["organization"]["listMembers"]>>;
|
|
58
|
+
export declare const prefetchListOrganizationMembers: <TAuthClient extends OrganizationAuthClient>(queryClient: QueryClient, authClient: TAuthClient, userId: string | undefined, params?: ListOrganizationMembersParams<TAuthClient>) => Promise<void>;
|
|
59
|
+
export declare const fetchListOrganizationMembers: <TAuthClient extends OrganizationAuthClient>(queryClient: QueryClient, authClient: TAuthClient, userId: string | undefined, params?: ListOrganizationMembersParams<TAuthClient>) => Promise<InferData<TAuthClient["organization"]["listMembers"]>>;
|
|
60
|
+
export type UseListOrganizationMembersOptions<TAuthClient extends OrganizationAuthClient = OrganizationAuthClient> = ListOrganizationMembersOptions<TAuthClient> & ListOrganizationMembersParams<TAuthClient>;
|
|
61
|
+
export declare function useListOrganizationMembers<TAuthClient extends OrganizationAuthClient>(authClient: TAuthClient, options?: UseListOrganizationMembersOptions<TAuthClient>, queryClient?: QueryClient): import("@tanstack/react-query").UseQueryResult<NoInfer<InferData<TAuthClient["organization"]["listMembers"]>>, BetterFetchError>;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { organizationQueryKeys } from "@better-auth-ui/core/plugins";
|
|
2
|
+
import { queryOptions, skipToken, useQuery } from "@tanstack/react-query";
|
|
3
|
+
import { useSession } from "../auth/session-query";
|
|
4
|
+
import { useActiveOrganization } from "./active-organization-query";
|
|
5
|
+
export function listOrganizationMembersOptions(authClient, userId, params) {
|
|
6
|
+
const queryKey = organizationQueryKeys.members.list(userId, params?.query);
|
|
7
|
+
const options = queryOptions({
|
|
8
|
+
queryKey,
|
|
9
|
+
queryFn: ({ signal }) => authClient.organization.listMembers({
|
|
10
|
+
...params,
|
|
11
|
+
fetchOptions: { ...params?.fetchOptions, signal, throw: true }
|
|
12
|
+
})
|
|
13
|
+
});
|
|
14
|
+
return options;
|
|
15
|
+
}
|
|
16
|
+
export const ensureListOrganizationMembers = (queryClient, authClient, userId, params) => queryClient.ensureQueryData(listOrganizationMembersOptions(authClient, userId, params));
|
|
17
|
+
export const prefetchListOrganizationMembers = (queryClient, authClient, userId, params) => queryClient.prefetchQuery(listOrganizationMembersOptions(authClient, userId, params));
|
|
18
|
+
export const fetchListOrganizationMembers = (queryClient, authClient, userId, params) => queryClient.fetchQuery(listOrganizationMembersOptions(authClient, userId, params));
|
|
19
|
+
export function useListOrganizationMembers(authClient, options = {}, queryClient) {
|
|
20
|
+
const { data: session } = useSession(authClient, undefined, queryClient);
|
|
21
|
+
const userId = session?.user.id;
|
|
22
|
+
const { query, fetchOptions, ...queryOptions } = options;
|
|
23
|
+
const { data: activeOrganization } = useActiveOrganization(authClient, { enabled: !query?.organizationId }, queryClient);
|
|
24
|
+
const organizationId = query?.organizationId ?? activeOrganization?.id;
|
|
25
|
+
const baseOptions = listOrganizationMembersOptions(authClient, userId, {
|
|
26
|
+
query: {
|
|
27
|
+
...query,
|
|
28
|
+
organizationId
|
|
29
|
+
},
|
|
30
|
+
fetchOptions
|
|
31
|
+
});
|
|
32
|
+
return useQuery({
|
|
33
|
+
...queryOptions,
|
|
34
|
+
...baseOptions,
|
|
35
|
+
queryFn: userId && organizationId ? baseOptions.queryFn : skipToken
|
|
36
|
+
}, queryClient);
|
|
37
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { type DataTag, type QueryClient } from "@tanstack/react-query";
|
|
2
|
+
import type { BetterFetchError } from "better-auth/react";
|
|
3
|
+
import type { InferData, OrganizationAuthClient } from "../../lib/auth-client";
|
|
4
|
+
export type ListOrganizationsData<TAuthClient extends OrganizationAuthClient = OrganizationAuthClient> = InferData<TAuthClient["organization"]["list"]>;
|
|
5
|
+
export type ListOrganization<TAuthClient extends OrganizationAuthClient = OrganizationAuthClient> = NonNullable<ListOrganizationsData<TAuthClient>>[number];
|
|
6
|
+
export type ListOrganizationsParams<TAuthClient extends OrganizationAuthClient = OrganizationAuthClient> = Parameters<TAuthClient["organization"]["list"]>[0];
|
|
7
|
+
export type ListOrganizationsOptions<TAuthClient extends OrganizationAuthClient = OrganizationAuthClient> = Omit<ReturnType<typeof listOrganizationsOptions<TAuthClient>>, "queryKey" | "queryFn">;
|
|
8
|
+
export declare function listOrganizationsOptions<TAuthClient extends OrganizationAuthClient>(authClient: TAuthClient, userId: string | undefined, params?: ListOrganizationsParams<TAuthClient>): (import("@tanstack/react-query").OmitKeyof<import("@tanstack/react-query").UseQueryOptions<InferData<TAuthClient["organization"]["list"]>, BetterFetchError, InferData<TAuthClient["organization"]["list"]>, readonly ["auth", "user", string | undefined, "organization", "list", Record<string, any> | null]>, "queryFn"> & {
|
|
9
|
+
queryFn?: import("@tanstack/react-query").QueryFunction<InferData<TAuthClient["organization"]["list"]>, readonly ["auth", "user", string | undefined, "organization", "list", Record<string, any> | null], never> | undefined;
|
|
10
|
+
} & {
|
|
11
|
+
queryKey: readonly ["auth", "user", string | undefined, "organization", "list", Record<string, any> | null] & {
|
|
12
|
+
[dataTagSymbol]: InferData<TAuthClient["organization"]["list"]>;
|
|
13
|
+
[dataTagErrorSymbol]: BetterFetchError;
|
|
14
|
+
};
|
|
15
|
+
}) & {
|
|
16
|
+
queryKey: DataTag<readonly ["auth", "user", string | undefined, "organization", "list", Record<string, any> | null], InferData<TAuthClient["organization"]["list"]>, BetterFetchError>;
|
|
17
|
+
};
|
|
18
|
+
export declare const ensureListOrganizations: <TAuthClient extends OrganizationAuthClient>(queryClient: QueryClient, authClient: TAuthClient, userId: string, params?: ListOrganizationsParams<TAuthClient>) => Promise<InferData<TAuthClient["organization"]["list"]>>;
|
|
19
|
+
export declare const prefetchListOrganizations: <TAuthClient extends OrganizationAuthClient>(queryClient: QueryClient, authClient: TAuthClient, userId: string, params?: ListOrganizationsParams<TAuthClient>) => Promise<void>;
|
|
20
|
+
export declare const fetchListOrganizations: <TAuthClient extends OrganizationAuthClient>(queryClient: QueryClient, authClient: TAuthClient, userId: string, params?: ListOrganizationsParams<TAuthClient>) => Promise<InferData<TAuthClient["organization"]["list"]>>;
|
|
21
|
+
export type UseListOrganizationsOptions<TAuthClient extends OrganizationAuthClient = OrganizationAuthClient> = ListOrganizationsOptions<TAuthClient> & ListOrganizationsParams<TAuthClient>;
|
|
22
|
+
export declare function useListOrganizations<TAuthClient extends OrganizationAuthClient>(authClient: TAuthClient, options?: UseListOrganizationsOptions<TAuthClient>, queryClient?: QueryClient): import("@tanstack/react-query").UseQueryResult<NoInfer<InferData<TAuthClient["organization"]["list"]>>, BetterFetchError>;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { organizationQueryKeys } from "@better-auth-ui/core/plugins";
|
|
2
|
+
import { queryOptions, skipToken, useQuery } from "@tanstack/react-query";
|
|
3
|
+
import { useSession } from "../auth/session-query";
|
|
4
|
+
export function listOrganizationsOptions(authClient, userId, params) {
|
|
5
|
+
const queryKey = organizationQueryKeys.list(userId, params?.query);
|
|
6
|
+
const options = queryOptions({
|
|
7
|
+
queryKey,
|
|
8
|
+
queryFn: ({ signal }) => authClient.organization.list({
|
|
9
|
+
...params,
|
|
10
|
+
fetchOptions: { ...params?.fetchOptions, signal, throw: true }
|
|
11
|
+
})
|
|
12
|
+
});
|
|
13
|
+
return options;
|
|
14
|
+
}
|
|
15
|
+
export const ensureListOrganizations = (queryClient, authClient, userId, params) => queryClient.ensureQueryData(listOrganizationsOptions(authClient, userId, params));
|
|
16
|
+
export const prefetchListOrganizations = (queryClient, authClient, userId, params) => queryClient.prefetchQuery(listOrganizationsOptions(authClient, userId, params));
|
|
17
|
+
export const fetchListOrganizations = (queryClient, authClient, userId, params) => queryClient.fetchQuery(listOrganizationsOptions(authClient, userId, params));
|
|
18
|
+
export function useListOrganizations(authClient, options = {}, queryClient) {
|
|
19
|
+
const { data: session } = useSession(authClient, undefined, queryClient);
|
|
20
|
+
const userId = session?.user.id;
|
|
21
|
+
const { query, fetchOptions, ...queryOptionsRest } = options;
|
|
22
|
+
const baseOptions = listOrganizationsOptions(authClient, userId, {
|
|
23
|
+
query,
|
|
24
|
+
fetchOptions
|
|
25
|
+
});
|
|
26
|
+
return useQuery({
|
|
27
|
+
...queryOptionsRest,
|
|
28
|
+
...baseOptions,
|
|
29
|
+
queryFn: userId ? baseOptions.queryFn : skipToken
|
|
30
|
+
}, queryClient);
|
|
31
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { type DataTag, type QueryClient } from "@tanstack/react-query";
|
|
2
|
+
import type { BetterFetchError } from "better-auth/react";
|
|
3
|
+
import type { InferData, OrganizationAuthClient } from "../../lib/auth-client";
|
|
4
|
+
export type ListUserInvitationsData<TAuthClient extends OrganizationAuthClient = OrganizationAuthClient> = InferData<TAuthClient["organization"]["listUserInvitations"]>;
|
|
5
|
+
export type ListUserInvitationsParams<TAuthClient extends OrganizationAuthClient = OrganizationAuthClient> = Parameters<TAuthClient["organization"]["listUserInvitations"]>[0];
|
|
6
|
+
export type ListUserInvitationsOptions<TAuthClient extends OrganizationAuthClient = OrganizationAuthClient> = Omit<ReturnType<typeof listUserInvitationsOptions<TAuthClient>>, "queryKey" | "queryFn">;
|
|
7
|
+
export declare function listUserInvitationsOptions<TAuthClient extends OrganizationAuthClient>(authClient: TAuthClient, userId: string | undefined, params?: ListUserInvitationsParams<TAuthClient>): (import("@tanstack/react-query").OmitKeyof<import("@tanstack/react-query").UseQueryOptions<InferData<TAuthClient["organization"]["listUserInvitations"]>, BetterFetchError, InferData<TAuthClient["organization"]["listUserInvitations"]>, readonly ["auth", "user", string | undefined, "organization", "userInvitations", "list", {
|
|
8
|
+
email?: string | undefined;
|
|
9
|
+
} | null]>, "queryFn"> & {
|
|
10
|
+
queryFn?: import("@tanstack/react-query").QueryFunction<InferData<TAuthClient["organization"]["listUserInvitations"]>, readonly ["auth", "user", string | undefined, "organization", "userInvitations", "list", {
|
|
11
|
+
email?: string | undefined;
|
|
12
|
+
} | null], never> | undefined;
|
|
13
|
+
} & {
|
|
14
|
+
queryKey: readonly ["auth", "user", string | undefined, "organization", "userInvitations", "list", {
|
|
15
|
+
email?: string | undefined;
|
|
16
|
+
} | null] & {
|
|
17
|
+
[dataTagSymbol]: InferData<TAuthClient["organization"]["listUserInvitations"]>;
|
|
18
|
+
[dataTagErrorSymbol]: BetterFetchError;
|
|
19
|
+
};
|
|
20
|
+
}) & {
|
|
21
|
+
queryKey: DataTag<readonly ["auth", "user", string | undefined, "organization", "userInvitations", "list", {
|
|
22
|
+
email?: string | undefined;
|
|
23
|
+
} | null], InferData<TAuthClient["organization"]["listUserInvitations"]>, BetterFetchError>;
|
|
24
|
+
};
|
|
25
|
+
export declare const ensureListUserInvitations: <TAuthClient extends OrganizationAuthClient>(queryClient: QueryClient, authClient: TAuthClient, userId: string | undefined, params?: ListUserInvitationsParams<TAuthClient>) => Promise<InferData<TAuthClient["organization"]["listUserInvitations"]>>;
|
|
26
|
+
export declare const prefetchListUserInvitations: <TAuthClient extends OrganizationAuthClient>(queryClient: QueryClient, authClient: TAuthClient, userId: string | undefined, params?: ListUserInvitationsParams<TAuthClient>) => Promise<void>;
|
|
27
|
+
export declare const fetchListUserInvitations: <TAuthClient extends OrganizationAuthClient>(queryClient: QueryClient, authClient: TAuthClient, userId: string | undefined, params?: ListUserInvitationsParams<TAuthClient>) => Promise<InferData<TAuthClient["organization"]["listUserInvitations"]>>;
|
|
28
|
+
export type UseListUserInvitationsOptions<TAuthClient extends OrganizationAuthClient = OrganizationAuthClient> = ListUserInvitationsOptions<TAuthClient> & ListUserInvitationsParams<TAuthClient>;
|
|
29
|
+
export declare function useListUserInvitations<TAuthClient extends OrganizationAuthClient>(authClient: TAuthClient, options?: UseListUserInvitationsOptions<TAuthClient>, queryClient?: QueryClient): import("@tanstack/react-query").UseQueryResult<NoInfer<InferData<TAuthClient["organization"]["listUserInvitations"]>>, BetterFetchError>;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { organizationQueryKeys } from "@better-auth-ui/core/plugins";
|
|
2
|
+
import { queryOptions, skipToken, useQuery } from "@tanstack/react-query";
|
|
3
|
+
import { useSession } from "../auth/session-query";
|
|
4
|
+
export function listUserInvitationsOptions(authClient, userId, params) {
|
|
5
|
+
const queryKey = organizationQueryKeys.userInvitations.list(userId, params?.query);
|
|
6
|
+
const options = queryOptions({
|
|
7
|
+
queryKey,
|
|
8
|
+
queryFn: ({ signal }) => authClient.organization.listUserInvitations({
|
|
9
|
+
...params,
|
|
10
|
+
fetchOptions: { ...params?.fetchOptions, signal, throw: true }
|
|
11
|
+
})
|
|
12
|
+
});
|
|
13
|
+
return options;
|
|
14
|
+
}
|
|
15
|
+
export const ensureListUserInvitations = (queryClient, authClient, userId, params) => queryClient.ensureQueryData(listUserInvitationsOptions(authClient, userId, params));
|
|
16
|
+
export const prefetchListUserInvitations = (queryClient, authClient, userId, params) => queryClient.prefetchQuery(listUserInvitationsOptions(authClient, userId, params));
|
|
17
|
+
export const fetchListUserInvitations = (queryClient, authClient, userId, params) => queryClient.fetchQuery(listUserInvitationsOptions(authClient, userId, params));
|
|
18
|
+
export function useListUserInvitations(authClient, options = {}, queryClient) {
|
|
19
|
+
const { data: session } = useSession(authClient, undefined, queryClient);
|
|
20
|
+
const userId = session?.user.id;
|
|
21
|
+
const { query, fetchOptions, ...queryOptions } = options;
|
|
22
|
+
const baseOptions = listUserInvitationsOptions(authClient, userId, {
|
|
23
|
+
query,
|
|
24
|
+
fetchOptions
|
|
25
|
+
});
|
|
26
|
+
return useQuery({
|
|
27
|
+
...queryOptions,
|
|
28
|
+
...baseOptions,
|
|
29
|
+
queryFn: userId ? baseOptions.queryFn : skipToken
|
|
30
|
+
}, queryClient);
|
|
31
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { DataTag, QueryClient } from
|
|
2
|
-
import { BetterFetchError } from
|
|
3
|
-
import { InferData, PasskeyAuthClient } from
|
|
1
|
+
import { type DataTag, type QueryClient } from "@tanstack/react-query";
|
|
2
|
+
import type { BetterFetchError } from "better-auth/react";
|
|
3
|
+
import type { InferData, PasskeyAuthClient } from "../../lib/auth-client";
|
|
4
4
|
export type ListPasskeysData<TAuthClient extends PasskeyAuthClient> = InferData<TAuthClient["passkey"]["listUserPasskeys"]>;
|
|
5
5
|
export type ListPasskeysParams<TAuthClient extends PasskeyAuthClient> = Parameters<TAuthClient["passkey"]["listUserPasskeys"]>[0];
|
|
6
6
|
export type ListPasskey<TAuthClient extends PasskeyAuthClient = PasskeyAuthClient> = NonNullable<ListPasskeysData<TAuthClient>>[number];
|
|
@@ -12,15 +12,15 @@ export type ListPasskeysOptions<TAuthClient extends PasskeyAuthClient> = Omit<Re
|
|
|
12
12
|
* @param userId - The current signed-in user's ID. Used for cache partitioning.
|
|
13
13
|
* @param params - Parameters forwarded to `authClient.passkey.listUserPasskeys`.
|
|
14
14
|
*/
|
|
15
|
-
export declare function listPasskeysOptions<TAuthClient extends PasskeyAuthClient>(authClient: TAuthClient, userId: string | undefined, params?: ListPasskeysParams<TAuthClient>): (import(
|
|
16
|
-
queryFn?: import(
|
|
15
|
+
export declare function listPasskeysOptions<TAuthClient extends PasskeyAuthClient>(authClient: TAuthClient, userId: string | undefined, params?: ListPasskeysParams<TAuthClient>): (import("@tanstack/react-query").OmitKeyof<import("@tanstack/react-query").UseQueryOptions<InferData<TAuthClient["passkey"]["listUserPasskeys"]>, BetterFetchError, InferData<TAuthClient["passkey"]["listUserPasskeys"]>, readonly ["auth", "user", string | undefined, "passkey", "list", Record<string, any> | null]>, "queryFn"> & {
|
|
16
|
+
queryFn?: import("@tanstack/react-query").QueryFunction<InferData<TAuthClient["passkey"]["listUserPasskeys"]>, readonly ["auth", "user", string | undefined, "passkey", "list", Record<string, any> | null], never> | undefined;
|
|
17
17
|
} & {
|
|
18
|
-
queryKey: readonly ["auth", "user", string | undefined, "
|
|
18
|
+
queryKey: readonly ["auth", "user", string | undefined, "passkey", "list", Record<string, any> | null] & {
|
|
19
19
|
[dataTagSymbol]: InferData<TAuthClient["passkey"]["listUserPasskeys"]>;
|
|
20
20
|
[dataTagErrorSymbol]: BetterFetchError;
|
|
21
21
|
};
|
|
22
22
|
}) & {
|
|
23
|
-
queryKey: DataTag<readonly ["auth", "user", string | undefined, "
|
|
23
|
+
queryKey: DataTag<readonly ["auth", "user", string | undefined, "passkey", "list", Record<string, any> | null], InferData<TAuthClient["passkey"]["listUserPasskeys"]>, BetterFetchError>;
|
|
24
24
|
};
|
|
25
25
|
/**
|
|
26
26
|
* Get the current user's passkeys from the query cache, calling
|
|
@@ -71,4 +71,4 @@ export type UseListPasskeysOptions<TAuthClient extends PasskeyAuthClient> = List
|
|
|
71
71
|
* @param queryClient - Optional custom `QueryClient`. Defaults to the client
|
|
72
72
|
* from the nearest `QueryClientProvider`.
|
|
73
73
|
*/
|
|
74
|
-
export declare function useListPasskeys<TAuthClient extends PasskeyAuthClient>(authClient: TAuthClient, options?: UseListPasskeysOptions<TAuthClient>, queryClient?: QueryClient): import(
|
|
74
|
+
export declare function useListPasskeys<TAuthClient extends PasskeyAuthClient>(authClient: TAuthClient, options?: UseListPasskeysOptions<TAuthClient>, queryClient?: QueryClient): import("@tanstack/react-query").UseQueryResult<NoInfer<InferData<TAuthClient["passkey"]["listUserPasskeys"]>>, BetterFetchError>;
|