@better-auth-ui/react 1.6.8 → 1.6.10
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/email/email-localization.d.ts +11 -3
- package/dist/components/auth/email/index.d.ts +1 -0
- package/dist/components/auth/email/organization-invitation.d.ts +121 -0
- package/dist/components/mutation-invalidator.d.ts +1 -0
- package/dist/email.js +1348 -11
- package/dist/hooks/auth/use-authenticate.d.ts +1 -1
- package/dist/hooks/auth/use-user.d.ts +12 -12
- package/dist/hooks/use-auth-query.d.ts +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.js +2469 -79
- package/dist/lib/auth-client.d.ts +4 -1
- package/dist/lib/auth-plugin.d.ts +16 -0
- package/dist/lib/auth-server.d.ts +8 -1
- package/dist/lib/settings-tab.d.ts +19 -0
- package/dist/mutations/api-key/create-api-key-mutation.d.ts +6 -4
- package/dist/mutations/api-key/delete-api-key-mutation.d.ts +7 -3
- package/dist/mutations/auth/sign-in-email-mutation.d.ts +5 -5
- package/dist/mutations/auth/sign-out-mutation.d.ts +6 -4
- package/dist/mutations/auth/sign-up-email-mutation.d.ts +5 -5
- package/dist/mutations/multi-session/revoke-multi-session-mutation.d.ts +5 -5
- package/dist/mutations/multi-session/set-active-session-mutation.d.ts +5 -6
- package/dist/mutations/organization/accept-invitation-mutation.d.ts +43 -0
- package/dist/mutations/organization/cancel-invitation-mutation.d.ts +25 -0
- package/dist/mutations/organization/check-slug-mutation.d.ts +21 -0
- package/dist/mutations/organization/create-organization-mutation.d.ts +39 -0
- package/dist/mutations/organization/delete-organization-mutation.d.ts +21 -0
- package/dist/mutations/organization/index.d.ts +12 -0
- package/dist/mutations/organization/invite-member-mutation.d.ts +43 -0
- package/dist/mutations/organization/leave-organization-mutation.d.ts +65 -0
- package/dist/mutations/organization/reject-invitation-mutation.d.ts +31 -0
- package/dist/mutations/organization/remove-member-mutation.d.ts +35 -0
- package/dist/mutations/organization/set-active-organization-mutation.d.ts +71 -0
- package/dist/mutations/organization/update-member-role-mutation.d.ts +31 -0
- package/dist/mutations/organization/update-organization-mutation.d.ts +21 -0
- package/dist/mutations/passkey/add-passkey-mutation.d.ts +5 -5
- package/dist/mutations/passkey/delete-passkey-mutation.d.ts +5 -5
- package/dist/mutations/passkey/sign-in-passkey-mutation.d.ts +5 -5
- package/dist/mutations/settings/change-email-mutation.d.ts +6 -5
- package/dist/mutations/settings/revoke-session-mutation.d.ts +5 -5
- package/dist/mutations/settings/unlink-account-mutation.d.ts +5 -5
- package/dist/mutations/settings/update-user-mutation.d.ts +5 -5
- package/dist/mutations/username/sign-in-username-mutation.d.ts +5 -5
- package/dist/plugins/captcha-plugin.d.ts +2 -2
- package/dist/plugins.js +27 -2
- package/dist/queries/api-key/list-api-keys-query.d.ts +17 -8
- package/dist/queries/auth/session-query.d.ts +1 -1
- package/dist/queries/multi-session/list-device-sessions-query.d.ts +5 -5
- package/dist/queries/organization/active-organization-query.d.ts +39 -0
- package/dist/queries/organization/full-organization-query.d.ts +37 -0
- package/dist/queries/organization/has-permission-query.d.ts +21 -0
- package/dist/queries/organization/index.d.ts +7 -0
- package/dist/queries/organization/list-invitations-query.d.ts +29 -0
- package/dist/queries/organization/list-members-query.d.ts +61 -0
- package/dist/queries/organization/list-organizations-query.d.ts +22 -0
- package/dist/queries/organization/list-user-invitations-query.d.ts +29 -0
- package/dist/queries/passkey/list-passkeys-query.d.ts +5 -5
- package/dist/queries/settings/account-info-query.d.ts +1 -1
- package/dist/queries/settings/list-accounts-query.d.ts +1 -1
- package/dist/queries/settings/list-sessions-query.d.ts +1 -1
- package/dist/server/queries/api-key/list-api-keys-query.d.ts +83 -0
- package/dist/server/queries/multi-session/list-device-sessions-query.d.ts +4 -4
- package/dist/server/queries/organization/active-organization-query.d.ts +61 -0
- package/dist/server/queries/organization/full-organization-query.d.ts +42 -0
- package/dist/server/queries/organization/has-permission-query.d.ts +66 -0
- package/dist/server/queries/organization/list-invitations-query.d.ts +34 -0
- package/dist/server/queries/organization/list-members-query.d.ts +66 -0
- package/dist/server/queries/organization/list-organizations-query.d.ts +27 -0
- package/dist/server/queries/organization/list-user-invitations-query.d.ts +34 -0
- package/dist/server/queries/passkey/list-passkeys-query.d.ts +4 -4
- package/dist/server.d.ts +8 -0
- package/dist/server.js +131 -7
- package/dist/use-auth-plugin-ClcP84Uz.js +80 -0
- package/package.json +19 -16
- 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
- package/dist/components/auth/auth-provider.js +0 -44
- package/dist/components/auth/email/email-changed.js +0 -156
- package/dist/components/auth/email/email-localization.js +0 -19
- package/dist/components/auth/email/email-styles.js +0 -104
- package/dist/components/auth/email/email-verification.js +0 -140
- package/dist/components/auth/email/index.js +0 -9
- package/dist/components/auth/email/magic-link.js +0 -141
- package/dist/components/auth/email/new-device.js +0 -223
- package/dist/components/auth/email/otp-email.js +0 -129
- package/dist/components/auth/email/password-changed.js +0 -159
- package/dist/components/auth/email/reset-password.js +0 -140
- package/dist/components/auth/fetch-options-provider.js +0 -30
- package/dist/components/icons/apple.js +0 -17
- package/dist/components/icons/atlassian.js +0 -39
- package/dist/components/icons/cognito.js +0 -20
- package/dist/components/icons/discord.js +0 -17
- package/dist/components/icons/dropbox.js +0 -17
- package/dist/components/icons/facebook.js +0 -20
- package/dist/components/icons/figma.js +0 -35
- package/dist/components/icons/github.js +0 -17
- package/dist/components/icons/gitlab.js +0 -31
- package/dist/components/icons/google.js +0 -40
- package/dist/components/icons/huggingface.js +0 -39
- package/dist/components/icons/index.js +0 -35
- package/dist/components/icons/kakao.js +0 -17
- package/dist/components/icons/kick.js +0 -21
- package/dist/components/icons/line.js +0 -17
- package/dist/components/icons/linear.js +0 -17
- package/dist/components/icons/linkedin.js +0 -34
- package/dist/components/icons/microsoft.js +0 -31
- package/dist/components/icons/naver.js +0 -17
- package/dist/components/icons/notion.js +0 -17
- package/dist/components/icons/paybin.js +0 -33
- package/dist/components/icons/paypal.js +0 -31
- package/dist/components/icons/polar.js +0 -25
- package/dist/components/icons/railway.js +0 -17
- package/dist/components/icons/reddit.js +0 -22
- package/dist/components/icons/roblox.js +0 -18
- package/dist/components/icons/salesforce.js +0 -17
- package/dist/components/icons/slack.js +0 -31
- package/dist/components/icons/spotify.js +0 -17
- package/dist/components/icons/tiktok.js +0 -24
- package/dist/components/icons/twitch.js +0 -44
- package/dist/components/icons/vercel.js +0 -17
- package/dist/components/icons/vk.js +0 -17
- package/dist/components/icons/wechat.js +0 -17
- package/dist/components/icons/x.js +0 -17
- package/dist/components/icons/zoom.js +0 -70
- package/dist/components/settings/account/theme-preview.js +0 -289
- package/dist/hooks/auth/use-authenticate.js +0 -23
- package/dist/hooks/auth/use-user.js +0 -11
- package/dist/hooks/use-auth-mutation.js +0 -11
- package/dist/hooks/use-auth-plugin.js +0 -10
- package/dist/hooks/use-auth-query.js +0 -15
- package/dist/lib/provider-icons.js +0 -76
- package/dist/lib/utils.js +0 -8
- package/dist/mutations/api-key/create-api-key-mutation.js +0 -29
- package/dist/mutations/api-key/delete-api-key-mutation.js +0 -29
- package/dist/mutations/auth/request-password-reset-mutation.js +0 -24
- package/dist/mutations/auth/reset-password-mutation.js +0 -24
- package/dist/mutations/auth/send-verification-email-mutation.js +0 -24
- package/dist/mutations/auth/sign-in-email-mutation.js +0 -29
- package/dist/mutations/auth/sign-in-social-mutation.js +0 -24
- package/dist/mutations/auth/sign-out-mutation.js +0 -28
- package/dist/mutations/auth/sign-up-email-mutation.js +0 -29
- package/dist/mutations/auth-mutation-options.js +0 -19
- package/dist/mutations/magic-link/sign-in-magic-link-mutation.js +0 -24
- package/dist/mutations/multi-session/revoke-multi-session-mutation.js +0 -29
- package/dist/mutations/multi-session/set-active-session-mutation.js +0 -31
- package/dist/mutations/passkey/add-passkey-mutation.js +0 -29
- package/dist/mutations/passkey/delete-passkey-mutation.js +0 -29
- package/dist/mutations/passkey/sign-in-passkey-mutation.js +0 -29
- package/dist/mutations/settings/change-email-mutation.js +0 -29
- package/dist/mutations/settings/change-password-mutation.js +0 -24
- package/dist/mutations/settings/delete-user-mutation.js +0 -24
- package/dist/mutations/settings/link-social-mutation.js +0 -24
- package/dist/mutations/settings/revoke-session-mutation.js +0 -29
- package/dist/mutations/settings/unlink-account-mutation.js +0 -29
- package/dist/mutations/settings/update-user-mutation.js +0 -35
- package/dist/mutations/username/is-username-available-mutation.js +0 -24
- package/dist/mutations/username/sign-in-username-mutation.js +0 -29
- package/dist/plugins/captcha-plugin.js +0 -29
- package/dist/queries/api-key/list-api-keys-query.js +0 -31
- package/dist/queries/auth/session-query.js +0 -30
- package/dist/queries/auth-query-options.js +0 -17
- package/dist/queries/multi-session/list-device-sessions-query.js +0 -31
- package/dist/queries/passkey/list-passkeys-query.js +0 -31
- package/dist/queries/settings/account-info-query.js +0 -31
- package/dist/queries/settings/list-accounts-query.js +0 -31
- package/dist/queries/settings/list-sessions-query.js +0 -31
- package/dist/server/queries/auth/session-query.js +0 -13
- package/dist/server/queries/multi-session/list-device-sessions-query.js +0 -12
- package/dist/server/queries/passkey/list-passkeys-query.js +0 -12
- package/dist/server/queries/settings/account-info-query.js +0 -12
- package/dist/server/queries/settings/list-accounts-query.js +0 -12
- package/dist/server/queries/settings/list-sessions-query.js +0 -12
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { organizationQueryKeys } from "@better-auth-ui/core/plugins"
|
|
2
|
+
import {
|
|
3
|
+
type DataTag,
|
|
4
|
+
type QueryClient,
|
|
5
|
+
queryOptions,
|
|
6
|
+
skipToken,
|
|
7
|
+
useQuery
|
|
8
|
+
} from "@tanstack/react-query"
|
|
9
|
+
import type { BetterFetchError } from "better-auth/react"
|
|
10
|
+
|
|
11
|
+
import type { InferData, OrganizationAuthClient } from "../../lib/auth-client"
|
|
12
|
+
import { useSession } from "../auth/session-query"
|
|
13
|
+
import { useActiveOrganization } from "./active-organization-query"
|
|
14
|
+
|
|
15
|
+
export type HasPermissionData<
|
|
16
|
+
TAuthClient extends OrganizationAuthClient = OrganizationAuthClient
|
|
17
|
+
> = InferData<TAuthClient["organization"]["hasPermission"]>
|
|
18
|
+
|
|
19
|
+
export type HasPermissionParams<
|
|
20
|
+
TAuthClient extends OrganizationAuthClient = OrganizationAuthClient
|
|
21
|
+
> = Parameters<TAuthClient["organization"]["hasPermission"]>[0]
|
|
22
|
+
|
|
23
|
+
export type HasPermissionOptions<
|
|
24
|
+
TAuthClient extends OrganizationAuthClient = OrganizationAuthClient
|
|
25
|
+
> = Omit<
|
|
26
|
+
ReturnType<typeof hasPermissionOptions<TAuthClient>>,
|
|
27
|
+
"queryKey" | "queryFn"
|
|
28
|
+
>
|
|
29
|
+
|
|
30
|
+
export function hasPermissionOptions<
|
|
31
|
+
TAuthClient extends OrganizationAuthClient
|
|
32
|
+
>(
|
|
33
|
+
authClient: TAuthClient,
|
|
34
|
+
userId: string | undefined,
|
|
35
|
+
params: HasPermissionParams<TAuthClient>
|
|
36
|
+
) {
|
|
37
|
+
type TData = HasPermissionData<TAuthClient>
|
|
38
|
+
// `hasPermission` is the only org client method without a `query` field — its
|
|
39
|
+
// params are flat — so the "query" portion is everything except `fetchOptions`.
|
|
40
|
+
const { fetchOptions, ...query } = params
|
|
41
|
+
const queryKey = organizationQueryKeys.permissions.has(userId, query)
|
|
42
|
+
|
|
43
|
+
const options = queryOptions<TData, BetterFetchError, TData, typeof queryKey>(
|
|
44
|
+
{
|
|
45
|
+
queryKey,
|
|
46
|
+
queryFn: ({ signal }) =>
|
|
47
|
+
authClient.organization.hasPermission({
|
|
48
|
+
...query,
|
|
49
|
+
fetchOptions: { ...fetchOptions, signal, throw: true }
|
|
50
|
+
}) as Promise<TData>
|
|
51
|
+
}
|
|
52
|
+
)
|
|
53
|
+
|
|
54
|
+
return options as typeof options & {
|
|
55
|
+
queryKey: DataTag<typeof queryKey, TData, BetterFetchError>
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export const ensureHasPermission = <TAuthClient extends OrganizationAuthClient>(
|
|
60
|
+
queryClient: QueryClient,
|
|
61
|
+
authClient: TAuthClient,
|
|
62
|
+
userId: string | undefined,
|
|
63
|
+
params: HasPermissionParams<TAuthClient>
|
|
64
|
+
) =>
|
|
65
|
+
queryClient.ensureQueryData(hasPermissionOptions(authClient, userId, params))
|
|
66
|
+
|
|
67
|
+
export const prefetchHasPermission = <
|
|
68
|
+
TAuthClient extends OrganizationAuthClient
|
|
69
|
+
>(
|
|
70
|
+
queryClient: QueryClient,
|
|
71
|
+
authClient: TAuthClient,
|
|
72
|
+
userId: string | undefined,
|
|
73
|
+
params: HasPermissionParams<TAuthClient>
|
|
74
|
+
) => queryClient.prefetchQuery(hasPermissionOptions(authClient, userId, params))
|
|
75
|
+
|
|
76
|
+
export const fetchHasPermission = <TAuthClient extends OrganizationAuthClient>(
|
|
77
|
+
queryClient: QueryClient,
|
|
78
|
+
authClient: TAuthClient,
|
|
79
|
+
userId: string | undefined,
|
|
80
|
+
params: HasPermissionParams<TAuthClient>
|
|
81
|
+
) => queryClient.fetchQuery(hasPermissionOptions(authClient, userId, params))
|
|
82
|
+
|
|
83
|
+
export type UseHasPermissionOptions<
|
|
84
|
+
TAuthClient extends OrganizationAuthClient = OrganizationAuthClient
|
|
85
|
+
> = HasPermissionOptions<TAuthClient> & HasPermissionParams<TAuthClient>
|
|
86
|
+
|
|
87
|
+
export function useHasPermission<TAuthClient extends OrganizationAuthClient>(
|
|
88
|
+
authClient: TAuthClient,
|
|
89
|
+
options: UseHasPermissionOptions<TAuthClient>,
|
|
90
|
+
queryClient?: QueryClient
|
|
91
|
+
) {
|
|
92
|
+
const { data: session } = useSession(authClient, undefined, queryClient)
|
|
93
|
+
const userId = session?.user.id
|
|
94
|
+
|
|
95
|
+
const {
|
|
96
|
+
fetchOptions,
|
|
97
|
+
permissions,
|
|
98
|
+
organizationId: optionsOrganizationId,
|
|
99
|
+
...queryOptions
|
|
100
|
+
} = options
|
|
101
|
+
|
|
102
|
+
const { data: activeOrganization } = useActiveOrganization(
|
|
103
|
+
authClient,
|
|
104
|
+
{ enabled: !optionsOrganizationId },
|
|
105
|
+
queryClient
|
|
106
|
+
)
|
|
107
|
+
|
|
108
|
+
const organizationId = optionsOrganizationId ?? activeOrganization?.id
|
|
109
|
+
|
|
110
|
+
const baseOptions = hasPermissionOptions(authClient, userId, {
|
|
111
|
+
fetchOptions,
|
|
112
|
+
organizationId,
|
|
113
|
+
permissions
|
|
114
|
+
})
|
|
115
|
+
|
|
116
|
+
return useQuery(
|
|
117
|
+
{
|
|
118
|
+
...queryOptions,
|
|
119
|
+
...baseOptions,
|
|
120
|
+
queryFn: userId && organizationId ? baseOptions.queryFn : skipToken
|
|
121
|
+
},
|
|
122
|
+
queryClient
|
|
123
|
+
)
|
|
124
|
+
}
|
|
@@ -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,133 @@
|
|
|
1
|
+
import { organizationQueryKeys } from "@better-auth-ui/core/plugins"
|
|
2
|
+
import {
|
|
3
|
+
type DataTag,
|
|
4
|
+
type QueryClient,
|
|
5
|
+
queryOptions,
|
|
6
|
+
skipToken,
|
|
7
|
+
useQuery
|
|
8
|
+
} from "@tanstack/react-query"
|
|
9
|
+
import type { BetterFetchError } from "better-auth/react"
|
|
10
|
+
|
|
11
|
+
import type { InferData, OrganizationAuthClient } from "../../lib/auth-client"
|
|
12
|
+
import { useSession } from "../auth/session-query"
|
|
13
|
+
import { useActiveOrganization } from "./active-organization-query"
|
|
14
|
+
|
|
15
|
+
export type ListOrganizationInvitationsData<
|
|
16
|
+
TAuthClient extends OrganizationAuthClient = OrganizationAuthClient
|
|
17
|
+
> = InferData<TAuthClient["organization"]["listInvitations"]>
|
|
18
|
+
|
|
19
|
+
export type ListOrganizationInvitationsParams<
|
|
20
|
+
TAuthClient extends OrganizationAuthClient = OrganizationAuthClient
|
|
21
|
+
> = Parameters<TAuthClient["organization"]["listInvitations"]>[0]
|
|
22
|
+
|
|
23
|
+
export type ListOrganizationInvitationsOptions<
|
|
24
|
+
TAuthClient extends OrganizationAuthClient = OrganizationAuthClient
|
|
25
|
+
> = Omit<
|
|
26
|
+
ReturnType<typeof listOrganizationInvitationsOptions<TAuthClient>>,
|
|
27
|
+
"queryKey" | "queryFn"
|
|
28
|
+
>
|
|
29
|
+
|
|
30
|
+
export function listOrganizationInvitationsOptions<
|
|
31
|
+
TAuthClient extends OrganizationAuthClient
|
|
32
|
+
>(
|
|
33
|
+
authClient: TAuthClient,
|
|
34
|
+
userId: string | undefined,
|
|
35
|
+
params?: ListOrganizationInvitationsParams<TAuthClient>
|
|
36
|
+
) {
|
|
37
|
+
type TData = ListOrganizationInvitationsData<TAuthClient>
|
|
38
|
+
const queryKey = organizationQueryKeys.invitations.list(userId, params?.query)
|
|
39
|
+
|
|
40
|
+
const options = queryOptions<TData, BetterFetchError, TData, typeof queryKey>(
|
|
41
|
+
{
|
|
42
|
+
queryKey,
|
|
43
|
+
queryFn: ({ signal }) =>
|
|
44
|
+
authClient.organization.listInvitations({
|
|
45
|
+
...params,
|
|
46
|
+
fetchOptions: { ...params?.fetchOptions, signal, throw: true }
|
|
47
|
+
}) as Promise<TData>
|
|
48
|
+
}
|
|
49
|
+
)
|
|
50
|
+
|
|
51
|
+
return options as typeof options & {
|
|
52
|
+
queryKey: DataTag<typeof queryKey, TData, BetterFetchError>
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export const ensureListOrganizationInvitations = <
|
|
57
|
+
TAuthClient extends OrganizationAuthClient
|
|
58
|
+
>(
|
|
59
|
+
queryClient: QueryClient,
|
|
60
|
+
authClient: TAuthClient,
|
|
61
|
+
userId: string | undefined,
|
|
62
|
+
params?: ListOrganizationInvitationsParams<TAuthClient>
|
|
63
|
+
) =>
|
|
64
|
+
queryClient.ensureQueryData(
|
|
65
|
+
listOrganizationInvitationsOptions(authClient, userId, params)
|
|
66
|
+
)
|
|
67
|
+
|
|
68
|
+
export const prefetchListOrganizationInvitations = <
|
|
69
|
+
TAuthClient extends OrganizationAuthClient
|
|
70
|
+
>(
|
|
71
|
+
queryClient: QueryClient,
|
|
72
|
+
authClient: TAuthClient,
|
|
73
|
+
userId: string | undefined,
|
|
74
|
+
params?: ListOrganizationInvitationsParams<TAuthClient>
|
|
75
|
+
) =>
|
|
76
|
+
queryClient.prefetchQuery(
|
|
77
|
+
listOrganizationInvitationsOptions(authClient, userId, params)
|
|
78
|
+
)
|
|
79
|
+
|
|
80
|
+
export const fetchListOrganizationInvitations = <
|
|
81
|
+
TAuthClient extends OrganizationAuthClient
|
|
82
|
+
>(
|
|
83
|
+
queryClient: QueryClient,
|
|
84
|
+
authClient: TAuthClient,
|
|
85
|
+
userId: string | undefined,
|
|
86
|
+
params?: ListOrganizationInvitationsParams<TAuthClient>
|
|
87
|
+
) =>
|
|
88
|
+
queryClient.fetchQuery(
|
|
89
|
+
listOrganizationInvitationsOptions(authClient, userId, params)
|
|
90
|
+
)
|
|
91
|
+
|
|
92
|
+
export type UseListOrganizationInvitationsOptions<
|
|
93
|
+
TAuthClient extends OrganizationAuthClient = OrganizationAuthClient
|
|
94
|
+
> = ListOrganizationInvitationsOptions<TAuthClient> &
|
|
95
|
+
ListOrganizationInvitationsParams<TAuthClient>
|
|
96
|
+
|
|
97
|
+
export function useListOrganizationInvitations<
|
|
98
|
+
TAuthClient extends OrganizationAuthClient
|
|
99
|
+
>(
|
|
100
|
+
authClient: TAuthClient,
|
|
101
|
+
options: UseListOrganizationInvitationsOptions<TAuthClient> = {},
|
|
102
|
+
queryClient?: QueryClient
|
|
103
|
+
) {
|
|
104
|
+
const { data: session } = useSession(authClient, undefined, queryClient)
|
|
105
|
+
const userId = session?.user.id
|
|
106
|
+
|
|
107
|
+
const { query, fetchOptions, ...queryOptions } = options
|
|
108
|
+
|
|
109
|
+
const { data: activeOrganization } = useActiveOrganization(
|
|
110
|
+
authClient,
|
|
111
|
+
{ enabled: !query?.organizationId },
|
|
112
|
+
queryClient
|
|
113
|
+
)
|
|
114
|
+
|
|
115
|
+
const organizationId = query?.organizationId ?? activeOrganization?.id
|
|
116
|
+
|
|
117
|
+
const baseOptions = listOrganizationInvitationsOptions(authClient, userId, {
|
|
118
|
+
query: {
|
|
119
|
+
...query,
|
|
120
|
+
organizationId
|
|
121
|
+
},
|
|
122
|
+
fetchOptions
|
|
123
|
+
})
|
|
124
|
+
|
|
125
|
+
return useQuery(
|
|
126
|
+
{
|
|
127
|
+
...queryOptions,
|
|
128
|
+
...baseOptions,
|
|
129
|
+
queryFn: userId && organizationId ? baseOptions.queryFn : skipToken
|
|
130
|
+
},
|
|
131
|
+
queryClient
|
|
132
|
+
)
|
|
133
|
+
}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import { organizationQueryKeys } from "@better-auth-ui/core/plugins"
|
|
2
|
+
import {
|
|
3
|
+
type DataTag,
|
|
4
|
+
type QueryClient,
|
|
5
|
+
queryOptions,
|
|
6
|
+
skipToken,
|
|
7
|
+
useQuery
|
|
8
|
+
} from "@tanstack/react-query"
|
|
9
|
+
import type { BetterFetchError } from "better-auth/react"
|
|
10
|
+
|
|
11
|
+
import type { InferData, OrganizationAuthClient } from "../../lib/auth-client"
|
|
12
|
+
import { useSession } from "../auth/session-query"
|
|
13
|
+
import { useActiveOrganization } from "./active-organization-query"
|
|
14
|
+
|
|
15
|
+
export type ListOrganizationMembersData<
|
|
16
|
+
TAuthClient extends OrganizationAuthClient = OrganizationAuthClient
|
|
17
|
+
> = InferData<TAuthClient["organization"]["listMembers"]>
|
|
18
|
+
|
|
19
|
+
export type ListOrganizationMembersParams<
|
|
20
|
+
TAuthClient extends OrganizationAuthClient = OrganizationAuthClient
|
|
21
|
+
> = Parameters<TAuthClient["organization"]["listMembers"]>[0]
|
|
22
|
+
|
|
23
|
+
export type ListOrganizationMembersOptions<
|
|
24
|
+
TAuthClient extends OrganizationAuthClient = OrganizationAuthClient
|
|
25
|
+
> = Omit<
|
|
26
|
+
ReturnType<typeof listOrganizationMembersOptions<TAuthClient>>,
|
|
27
|
+
"queryKey" | "queryFn"
|
|
28
|
+
>
|
|
29
|
+
|
|
30
|
+
export function listOrganizationMembersOptions<
|
|
31
|
+
TAuthClient extends OrganizationAuthClient
|
|
32
|
+
>(
|
|
33
|
+
authClient: TAuthClient,
|
|
34
|
+
userId: string | undefined,
|
|
35
|
+
params?: ListOrganizationMembersParams<TAuthClient>
|
|
36
|
+
) {
|
|
37
|
+
type TData = ListOrganizationMembersData<TAuthClient>
|
|
38
|
+
const queryKey = organizationQueryKeys.members.list(userId, params?.query)
|
|
39
|
+
|
|
40
|
+
const options = queryOptions<TData, BetterFetchError, TData, typeof queryKey>(
|
|
41
|
+
{
|
|
42
|
+
queryKey,
|
|
43
|
+
queryFn: ({ signal }) =>
|
|
44
|
+
authClient.organization.listMembers({
|
|
45
|
+
...params,
|
|
46
|
+
fetchOptions: { ...params?.fetchOptions, signal, throw: true }
|
|
47
|
+
}) as Promise<TData>
|
|
48
|
+
}
|
|
49
|
+
)
|
|
50
|
+
|
|
51
|
+
return options as typeof options & {
|
|
52
|
+
queryKey: DataTag<typeof queryKey, TData, BetterFetchError>
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export const ensureListOrganizationMembers = <
|
|
57
|
+
TAuthClient extends OrganizationAuthClient
|
|
58
|
+
>(
|
|
59
|
+
queryClient: QueryClient,
|
|
60
|
+
authClient: TAuthClient,
|
|
61
|
+
userId: string | undefined,
|
|
62
|
+
params?: ListOrganizationMembersParams<TAuthClient>
|
|
63
|
+
) =>
|
|
64
|
+
queryClient.ensureQueryData(
|
|
65
|
+
listOrganizationMembersOptions(authClient, userId, params)
|
|
66
|
+
)
|
|
67
|
+
|
|
68
|
+
export const prefetchListOrganizationMembers = <
|
|
69
|
+
TAuthClient extends OrganizationAuthClient
|
|
70
|
+
>(
|
|
71
|
+
queryClient: QueryClient,
|
|
72
|
+
authClient: TAuthClient,
|
|
73
|
+
userId: string | undefined,
|
|
74
|
+
params?: ListOrganizationMembersParams<TAuthClient>
|
|
75
|
+
) =>
|
|
76
|
+
queryClient.prefetchQuery(
|
|
77
|
+
listOrganizationMembersOptions(authClient, userId, params)
|
|
78
|
+
)
|
|
79
|
+
|
|
80
|
+
export const fetchListOrganizationMembers = <
|
|
81
|
+
TAuthClient extends OrganizationAuthClient
|
|
82
|
+
>(
|
|
83
|
+
queryClient: QueryClient,
|
|
84
|
+
authClient: TAuthClient,
|
|
85
|
+
userId: string | undefined,
|
|
86
|
+
params?: ListOrganizationMembersParams<TAuthClient>
|
|
87
|
+
) =>
|
|
88
|
+
queryClient.fetchQuery(
|
|
89
|
+
listOrganizationMembersOptions(authClient, userId, params)
|
|
90
|
+
)
|
|
91
|
+
|
|
92
|
+
export type UseListOrganizationMembersOptions<
|
|
93
|
+
TAuthClient extends OrganizationAuthClient = OrganizationAuthClient
|
|
94
|
+
> = ListOrganizationMembersOptions<TAuthClient> &
|
|
95
|
+
ListOrganizationMembersParams<TAuthClient>
|
|
96
|
+
|
|
97
|
+
export function useListOrganizationMembers<
|
|
98
|
+
TAuthClient extends OrganizationAuthClient
|
|
99
|
+
>(
|
|
100
|
+
authClient: TAuthClient,
|
|
101
|
+
options: UseListOrganizationMembersOptions<TAuthClient> = {},
|
|
102
|
+
queryClient?: QueryClient
|
|
103
|
+
) {
|
|
104
|
+
const { data: session } = useSession(authClient, undefined, queryClient)
|
|
105
|
+
const userId = session?.user.id
|
|
106
|
+
|
|
107
|
+
const { query, fetchOptions, ...queryOptions } = options
|
|
108
|
+
|
|
109
|
+
const { data: activeOrganization } = useActiveOrganization(
|
|
110
|
+
authClient,
|
|
111
|
+
{ enabled: !query?.organizationId },
|
|
112
|
+
queryClient
|
|
113
|
+
)
|
|
114
|
+
|
|
115
|
+
const organizationId = query?.organizationId ?? activeOrganization?.id
|
|
116
|
+
|
|
117
|
+
const baseOptions = listOrganizationMembersOptions(authClient, userId, {
|
|
118
|
+
query: {
|
|
119
|
+
...query,
|
|
120
|
+
organizationId
|
|
121
|
+
},
|
|
122
|
+
fetchOptions
|
|
123
|
+
})
|
|
124
|
+
|
|
125
|
+
return useQuery(
|
|
126
|
+
{
|
|
127
|
+
...queryOptions,
|
|
128
|
+
...baseOptions,
|
|
129
|
+
queryFn: userId && organizationId ? baseOptions.queryFn : skipToken
|
|
130
|
+
},
|
|
131
|
+
queryClient
|
|
132
|
+
)
|
|
133
|
+
}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { organizationQueryKeys } from "@better-auth-ui/core/plugins"
|
|
2
|
+
import {
|
|
3
|
+
type DataTag,
|
|
4
|
+
type QueryClient,
|
|
5
|
+
queryOptions,
|
|
6
|
+
skipToken,
|
|
7
|
+
useQuery
|
|
8
|
+
} from "@tanstack/react-query"
|
|
9
|
+
import type { BetterFetchError } from "better-auth/react"
|
|
10
|
+
|
|
11
|
+
import type { InferData, OrganizationAuthClient } from "../../lib/auth-client"
|
|
12
|
+
import { useSession } from "../auth/session-query"
|
|
13
|
+
|
|
14
|
+
export type ListOrganizationsData<
|
|
15
|
+
TAuthClient extends OrganizationAuthClient = OrganizationAuthClient
|
|
16
|
+
> = InferData<TAuthClient["organization"]["list"]>
|
|
17
|
+
|
|
18
|
+
export type ListOrganization<
|
|
19
|
+
TAuthClient extends OrganizationAuthClient = OrganizationAuthClient
|
|
20
|
+
> = NonNullable<ListOrganizationsData<TAuthClient>>[number]
|
|
21
|
+
|
|
22
|
+
export type ListOrganizationsParams<
|
|
23
|
+
TAuthClient extends OrganizationAuthClient = OrganizationAuthClient
|
|
24
|
+
> = Parameters<TAuthClient["organization"]["list"]>[0]
|
|
25
|
+
|
|
26
|
+
export type ListOrganizationsOptions<
|
|
27
|
+
TAuthClient extends OrganizationAuthClient = OrganizationAuthClient
|
|
28
|
+
> = Omit<
|
|
29
|
+
ReturnType<typeof listOrganizationsOptions<TAuthClient>>,
|
|
30
|
+
"queryKey" | "queryFn"
|
|
31
|
+
>
|
|
32
|
+
|
|
33
|
+
export function listOrganizationsOptions<
|
|
34
|
+
TAuthClient extends OrganizationAuthClient
|
|
35
|
+
>(
|
|
36
|
+
authClient: TAuthClient,
|
|
37
|
+
userId: string | undefined,
|
|
38
|
+
params?: ListOrganizationsParams<TAuthClient>
|
|
39
|
+
) {
|
|
40
|
+
type TData = ListOrganizationsData<TAuthClient>
|
|
41
|
+
const queryKey = organizationQueryKeys.list(userId, params?.query)
|
|
42
|
+
|
|
43
|
+
const options = queryOptions<TData, BetterFetchError, TData, typeof queryKey>(
|
|
44
|
+
{
|
|
45
|
+
queryKey,
|
|
46
|
+
queryFn: ({ signal }) =>
|
|
47
|
+
authClient.organization.list({
|
|
48
|
+
...params,
|
|
49
|
+
fetchOptions: { ...params?.fetchOptions, signal, throw: true }
|
|
50
|
+
}) as Promise<TData>
|
|
51
|
+
}
|
|
52
|
+
)
|
|
53
|
+
|
|
54
|
+
return options as typeof options & {
|
|
55
|
+
queryKey: DataTag<typeof queryKey, TData, BetterFetchError>
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export const ensureListOrganizations = <
|
|
60
|
+
TAuthClient extends OrganizationAuthClient
|
|
61
|
+
>(
|
|
62
|
+
queryClient: QueryClient,
|
|
63
|
+
authClient: TAuthClient,
|
|
64
|
+
userId: string,
|
|
65
|
+
params?: ListOrganizationsParams<TAuthClient>
|
|
66
|
+
) =>
|
|
67
|
+
queryClient.ensureQueryData(
|
|
68
|
+
listOrganizationsOptions(authClient, userId, params)
|
|
69
|
+
)
|
|
70
|
+
|
|
71
|
+
export const prefetchListOrganizations = <
|
|
72
|
+
TAuthClient extends OrganizationAuthClient
|
|
73
|
+
>(
|
|
74
|
+
queryClient: QueryClient,
|
|
75
|
+
authClient: TAuthClient,
|
|
76
|
+
userId: string,
|
|
77
|
+
params?: ListOrganizationsParams<TAuthClient>
|
|
78
|
+
) =>
|
|
79
|
+
queryClient.prefetchQuery(
|
|
80
|
+
listOrganizationsOptions(authClient, userId, params)
|
|
81
|
+
)
|
|
82
|
+
|
|
83
|
+
export const fetchListOrganizations = <
|
|
84
|
+
TAuthClient extends OrganizationAuthClient
|
|
85
|
+
>(
|
|
86
|
+
queryClient: QueryClient,
|
|
87
|
+
authClient: TAuthClient,
|
|
88
|
+
userId: string,
|
|
89
|
+
params?: ListOrganizationsParams<TAuthClient>
|
|
90
|
+
) =>
|
|
91
|
+
queryClient.fetchQuery(listOrganizationsOptions(authClient, userId, params))
|
|
92
|
+
|
|
93
|
+
export type UseListOrganizationsOptions<
|
|
94
|
+
TAuthClient extends OrganizationAuthClient = OrganizationAuthClient
|
|
95
|
+
> = ListOrganizationsOptions<TAuthClient> & ListOrganizationsParams<TAuthClient>
|
|
96
|
+
|
|
97
|
+
export function useListOrganizations<
|
|
98
|
+
TAuthClient extends OrganizationAuthClient
|
|
99
|
+
>(
|
|
100
|
+
authClient: TAuthClient,
|
|
101
|
+
options: UseListOrganizationsOptions<TAuthClient> = {},
|
|
102
|
+
queryClient?: QueryClient
|
|
103
|
+
) {
|
|
104
|
+
const { data: session } = useSession(authClient, undefined, queryClient)
|
|
105
|
+
const userId = session?.user.id
|
|
106
|
+
|
|
107
|
+
const { query, fetchOptions, ...queryOptionsRest } = options
|
|
108
|
+
|
|
109
|
+
const baseOptions = listOrganizationsOptions(authClient, userId, {
|
|
110
|
+
query,
|
|
111
|
+
fetchOptions
|
|
112
|
+
})
|
|
113
|
+
|
|
114
|
+
return useQuery(
|
|
115
|
+
{
|
|
116
|
+
...queryOptionsRest,
|
|
117
|
+
...baseOptions,
|
|
118
|
+
queryFn: userId ? baseOptions.queryFn : skipToken
|
|
119
|
+
},
|
|
120
|
+
queryClient
|
|
121
|
+
)
|
|
122
|
+
}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { organizationQueryKeys } from "@better-auth-ui/core/plugins"
|
|
2
|
+
import {
|
|
3
|
+
type DataTag,
|
|
4
|
+
type QueryClient,
|
|
5
|
+
queryOptions,
|
|
6
|
+
skipToken,
|
|
7
|
+
useQuery
|
|
8
|
+
} from "@tanstack/react-query"
|
|
9
|
+
import type { BetterFetchError } from "better-auth/react"
|
|
10
|
+
|
|
11
|
+
import type { InferData, OrganizationAuthClient } from "../../lib/auth-client"
|
|
12
|
+
import { useSession } from "../auth/session-query"
|
|
13
|
+
|
|
14
|
+
export type ListUserInvitationsData<
|
|
15
|
+
TAuthClient extends OrganizationAuthClient = OrganizationAuthClient
|
|
16
|
+
> = InferData<TAuthClient["organization"]["listUserInvitations"]>
|
|
17
|
+
|
|
18
|
+
export type ListUserInvitationsParams<
|
|
19
|
+
TAuthClient extends OrganizationAuthClient = OrganizationAuthClient
|
|
20
|
+
> = Parameters<TAuthClient["organization"]["listUserInvitations"]>[0]
|
|
21
|
+
|
|
22
|
+
export type ListUserInvitationsOptions<
|
|
23
|
+
TAuthClient extends OrganizationAuthClient = OrganizationAuthClient
|
|
24
|
+
> = Omit<
|
|
25
|
+
ReturnType<typeof listUserInvitationsOptions<TAuthClient>>,
|
|
26
|
+
"queryKey" | "queryFn"
|
|
27
|
+
>
|
|
28
|
+
|
|
29
|
+
export function listUserInvitationsOptions<
|
|
30
|
+
TAuthClient extends OrganizationAuthClient
|
|
31
|
+
>(
|
|
32
|
+
authClient: TAuthClient,
|
|
33
|
+
userId: string | undefined,
|
|
34
|
+
params?: ListUserInvitationsParams<TAuthClient>
|
|
35
|
+
) {
|
|
36
|
+
type TData = ListUserInvitationsData<TAuthClient>
|
|
37
|
+
const queryKey = organizationQueryKeys.userInvitations.list(
|
|
38
|
+
userId,
|
|
39
|
+
params?.query
|
|
40
|
+
)
|
|
41
|
+
|
|
42
|
+
const options = queryOptions<TData, BetterFetchError, TData, typeof queryKey>(
|
|
43
|
+
{
|
|
44
|
+
queryKey,
|
|
45
|
+
queryFn: ({ signal }) =>
|
|
46
|
+
authClient.organization.listUserInvitations({
|
|
47
|
+
...params,
|
|
48
|
+
fetchOptions: { ...params?.fetchOptions, signal, throw: true }
|
|
49
|
+
}) as Promise<TData>
|
|
50
|
+
}
|
|
51
|
+
)
|
|
52
|
+
|
|
53
|
+
return options as typeof options & {
|
|
54
|
+
queryKey: DataTag<typeof queryKey, TData, BetterFetchError>
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
export const ensureListUserInvitations = <
|
|
59
|
+
TAuthClient extends OrganizationAuthClient
|
|
60
|
+
>(
|
|
61
|
+
queryClient: QueryClient,
|
|
62
|
+
authClient: TAuthClient,
|
|
63
|
+
userId: string | undefined,
|
|
64
|
+
params?: ListUserInvitationsParams<TAuthClient>
|
|
65
|
+
) =>
|
|
66
|
+
queryClient.ensureQueryData(
|
|
67
|
+
listUserInvitationsOptions(authClient, userId, params)
|
|
68
|
+
)
|
|
69
|
+
|
|
70
|
+
export const prefetchListUserInvitations = <
|
|
71
|
+
TAuthClient extends OrganizationAuthClient
|
|
72
|
+
>(
|
|
73
|
+
queryClient: QueryClient,
|
|
74
|
+
authClient: TAuthClient,
|
|
75
|
+
userId: string | undefined,
|
|
76
|
+
params?: ListUserInvitationsParams<TAuthClient>
|
|
77
|
+
) =>
|
|
78
|
+
queryClient.prefetchQuery(
|
|
79
|
+
listUserInvitationsOptions(authClient, userId, params)
|
|
80
|
+
)
|
|
81
|
+
|
|
82
|
+
export const fetchListUserInvitations = <
|
|
83
|
+
TAuthClient extends OrganizationAuthClient
|
|
84
|
+
>(
|
|
85
|
+
queryClient: QueryClient,
|
|
86
|
+
authClient: TAuthClient,
|
|
87
|
+
userId: string | undefined,
|
|
88
|
+
params?: ListUserInvitationsParams<TAuthClient>
|
|
89
|
+
) =>
|
|
90
|
+
queryClient.fetchQuery(listUserInvitationsOptions(authClient, userId, params))
|
|
91
|
+
|
|
92
|
+
export type UseListUserInvitationsOptions<
|
|
93
|
+
TAuthClient extends OrganizationAuthClient = OrganizationAuthClient
|
|
94
|
+
> = ListUserInvitationsOptions<TAuthClient> &
|
|
95
|
+
ListUserInvitationsParams<TAuthClient>
|
|
96
|
+
|
|
97
|
+
export function useListUserInvitations<
|
|
98
|
+
TAuthClient extends OrganizationAuthClient
|
|
99
|
+
>(
|
|
100
|
+
authClient: TAuthClient,
|
|
101
|
+
options: UseListUserInvitationsOptions<TAuthClient> = {},
|
|
102
|
+
queryClient?: QueryClient
|
|
103
|
+
) {
|
|
104
|
+
const { data: session } = useSession(authClient, undefined, queryClient)
|
|
105
|
+
const userId = session?.user.id
|
|
106
|
+
|
|
107
|
+
const { query, fetchOptions, ...queryOptions } = options
|
|
108
|
+
|
|
109
|
+
const baseOptions = listUserInvitationsOptions(authClient, userId, {
|
|
110
|
+
query,
|
|
111
|
+
fetchOptions
|
|
112
|
+
})
|
|
113
|
+
|
|
114
|
+
return useQuery(
|
|
115
|
+
{
|
|
116
|
+
...queryOptions,
|
|
117
|
+
...baseOptions,
|
|
118
|
+
queryFn: userId ? baseOptions.queryFn : skipToken
|
|
119
|
+
},
|
|
120
|
+
queryClient
|
|
121
|
+
)
|
|
122
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { passkeyQueryKeys } from "@better-auth-ui/core/plugins"
|
|
2
2
|
import {
|
|
3
3
|
type DataTag,
|
|
4
4
|
type QueryClient,
|
|
@@ -40,7 +40,7 @@ export function listPasskeysOptions<TAuthClient extends PasskeyAuthClient>(
|
|
|
40
40
|
params?: ListPasskeysParams<TAuthClient>
|
|
41
41
|
) {
|
|
42
42
|
type TData = ListPasskeysData<TAuthClient>
|
|
43
|
-
const queryKey =
|
|
43
|
+
const queryKey = passkeyQueryKeys.list(userId, params?.query)
|
|
44
44
|
|
|
45
45
|
const options = queryOptions<TData, BetterFetchError, TData, typeof queryKey>(
|
|
46
46
|
{
|