@better-auth-ui/solid 1.6.19
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/email/email-changed.d.ts +59 -0
- package/dist/components/auth/email/email-changed.js +264 -0
- package/dist/components/auth/email/email-styles.d.ts +48 -0
- package/dist/components/auth/email/email-styles.js +107 -0
- package/dist/components/auth/email/email-verification.d.ts +51 -0
- package/dist/components/auth/email/email-verification.js +212 -0
- package/dist/components/auth/email/index.d.ts +9 -0
- package/dist/components/auth/email/magic-link.d.ts +53 -0
- package/dist/components/auth/email/magic-link.js +213 -0
- package/dist/components/auth/email/new-device.d.ts +77 -0
- package/dist/components/auth/email/new-device.js +326 -0
- package/dist/components/auth/email/organization-invitation.d.ts +70 -0
- package/dist/components/auth/email/organization-invitation.js +260 -0
- package/dist/components/auth/email/otp-email.d.ts +49 -0
- package/dist/components/auth/email/otp-email.js +191 -0
- package/dist/components/auth/email/password-changed.d.ts +56 -0
- package/dist/components/auth/email/password-changed.js +236 -0
- package/dist/components/auth/email/reset-password.d.ts +51 -0
- package/dist/components/auth/email/reset-password.js +212 -0
- package/dist/email.d.ts +18 -0
- package/dist/email.js +10 -0
- package/dist/hooks/auth/use-authenticate.d.ts +3 -0
- package/dist/hooks/auth/use-authenticate.js +18 -0
- package/dist/hooks/auth/use-sign-out.d.ts +2 -0
- package/dist/hooks/auth/use-sign-out.js +17 -0
- package/dist/hooks/auth/use-user.d.ts +213 -0
- package/dist/hooks/auth/use-user.js +13 -0
- package/dist/hooks/use-auth-mutation.d.ts +6 -0
- package/dist/hooks/use-auth-mutation.js +11 -0
- package/dist/hooks/use-auth-query.d.ts +5 -0
- package/dist/hooks/use-auth-query.js +17 -0
- package/dist/index.d.ts +48 -0
- package/dist/index.js +68 -0
- package/dist/lib/auth-client.d.ts +26 -0
- package/dist/lib/auth-config.d.ts +12 -0
- package/dist/lib/auth-config.js +21 -0
- package/dist/lib/auth-plugin.d.ts +16 -0
- package/dist/lib/auth-provider.d.ts +12 -0
- package/dist/lib/auth-provider.js +36 -0
- package/dist/lib/auth-server.d.ts +16 -0
- package/dist/lib/auth-utils.d.ts +3 -0
- package/dist/lib/auth-utils.js +12 -0
- package/dist/lib/fetch-options-provider.d.ts +23 -0
- package/dist/lib/fetch-options-provider.js +29 -0
- package/dist/lib/mutation-invalidator.d.ts +11 -0
- package/dist/lib/mutation-invalidator.js +20 -0
- package/dist/lib/provider-icons.d.ts +8 -0
- package/dist/lib/provider-icons.js +5 -0
- package/dist/mutations/api-key/create-api-key-mutation.d.ts +71 -0
- package/dist/mutations/api-key/create-api-key-mutation.js +12 -0
- package/dist/mutations/api-key/delete-api-key-mutation.d.ts +23 -0
- package/dist/mutations/api-key/delete-api-key-mutation.js +12 -0
- package/dist/mutations/auth/request-password-reset-mutation.d.ts +11 -0
- package/dist/mutations/auth/request-password-reset-mutation.js +8 -0
- package/dist/mutations/auth/reset-password-mutation.d.ts +13 -0
- package/dist/mutations/auth/reset-password-mutation.js +8 -0
- package/dist/mutations/auth/send-verification-email-mutation.d.ts +11 -0
- package/dist/mutations/auth/send-verification-email-mutation.js +8 -0
- package/dist/mutations/auth/sign-in-email-mutation.d.ts +15 -0
- package/dist/mutations/auth/sign-in-email-mutation.js +8 -0
- package/dist/mutations/auth/sign-in-social-mutation.d.ts +53 -0
- package/dist/mutations/auth/sign-in-social-mutation.js +8 -0
- package/dist/mutations/auth/sign-out-mutation.d.ts +6 -0
- package/dist/mutations/auth/sign-out-mutation.js +8 -0
- package/dist/mutations/auth/sign-up-email-mutation.d.ts +17 -0
- package/dist/mutations/auth/sign-up-email-mutation.js +8 -0
- package/dist/mutations/auth-mutation-options.d.ts +10 -0
- package/dist/mutations/auth-mutation-options.js +19 -0
- package/dist/mutations/create-auth-mutation.d.ts +10 -0
- package/dist/mutations/create-auth-mutation.js +20 -0
- package/dist/mutations/magic-link/sign-in-magic-link-mutation.d.ts +19 -0
- package/dist/mutations/magic-link/sign-in-magic-link-mutation.js +8 -0
- package/dist/mutations/multi-session/revoke-multi-session-mutation.d.ts +19 -0
- package/dist/mutations/multi-session/revoke-multi-session-mutation.js +12 -0
- package/dist/mutations/multi-session/set-active-session-mutation.d.ts +19 -0
- package/dist/mutations/multi-session/set-active-session-mutation.js +13 -0
- package/dist/mutations/organization/accept-invitation-mutation.d.ts +18 -0
- package/dist/mutations/organization/accept-invitation-mutation.js +12 -0
- package/dist/mutations/organization/cancel-invitation-mutation.d.ts +18 -0
- package/dist/mutations/organization/cancel-invitation-mutation.js +12 -0
- package/dist/mutations/organization/check-slug-mutation.d.ts +18 -0
- package/dist/mutations/organization/check-slug-mutation.js +15 -0
- package/dist/mutations/organization/create-organization-mutation.d.ts +38 -0
- package/dist/mutations/organization/create-organization-mutation.js +12 -0
- package/dist/mutations/organization/delete-organization-mutation.d.ts +18 -0
- package/dist/mutations/organization/delete-organization-mutation.js +12 -0
- package/dist/mutations/organization/index.d.ts +13 -0
- package/dist/mutations/organization/index.js +13 -0
- package/dist/mutations/organization/invite-member-mutation.d.ts +30 -0
- package/dist/mutations/organization/invite-member-mutation.js +12 -0
- package/dist/mutations/organization/leave-organization-mutation.d.ts +18 -0
- package/dist/mutations/organization/leave-organization-mutation.js +12 -0
- package/dist/mutations/organization/metadata.d.ts +13 -0
- package/dist/mutations/organization/metadata.js +27 -0
- package/dist/mutations/organization/reject-invitation-mutation.d.ts +18 -0
- package/dist/mutations/organization/reject-invitation-mutation.js +12 -0
- package/dist/mutations/organization/remove-member-mutation.d.ts +22 -0
- package/dist/mutations/organization/remove-member-mutation.js +12 -0
- package/dist/mutations/organization/set-active-organization-mutation.d.ts +24 -0
- package/dist/mutations/organization/set-active-organization-mutation.js +35 -0
- package/dist/mutations/organization/update-member-role-mutation.d.ts +26 -0
- package/dist/mutations/organization/update-member-role-mutation.js +12 -0
- package/dist/mutations/organization/update-organization-mutation.d.ts +42 -0
- package/dist/mutations/organization/update-organization-mutation.js +12 -0
- package/dist/mutations/organization/utils.d.ts +8 -0
- package/dist/mutations/organization/utils.js +17 -0
- package/dist/mutations/passkey/add-passkey-mutation.d.ts +73 -0
- package/dist/mutations/passkey/add-passkey-mutation.js +12 -0
- package/dist/mutations/passkey/delete-passkey-mutation.d.ts +19 -0
- package/dist/mutations/passkey/delete-passkey-mutation.js +12 -0
- package/dist/mutations/passkey/sign-in-passkey-mutation.d.ts +50 -0
- package/dist/mutations/passkey/sign-in-passkey-mutation.js +9 -0
- package/dist/mutations/settings/change-email-mutation.d.ts +11 -0
- package/dist/mutations/settings/change-email-mutation.js +8 -0
- package/dist/mutations/settings/change-password-mutation.d.ts +13 -0
- package/dist/mutations/settings/change-password-mutation.js +8 -0
- package/dist/mutations/settings/delete-user-mutation.d.ts +13 -0
- package/dist/mutations/settings/delete-user-mutation.js +8 -0
- package/dist/mutations/settings/link-social-mutation.d.ts +35 -0
- package/dist/mutations/settings/link-social-mutation.js +8 -0
- package/dist/mutations/settings/revoke-session-mutation.d.ts +19 -0
- package/dist/mutations/settings/revoke-session-mutation.js +12 -0
- package/dist/mutations/settings/unlink-account-mutation.d.ts +23 -0
- package/dist/mutations/settings/unlink-account-mutation.js +12 -0
- package/dist/mutations/settings/update-user-mutation.d.ts +6 -0
- package/dist/mutations/settings/update-user-mutation.js +8 -0
- package/dist/mutations/use-session-scoped-mutation.d.ts +17 -0
- package/dist/mutations/use-session-scoped-mutation.js +17 -0
- package/dist/mutations/username/is-username-available-mutation.d.ts +9 -0
- package/dist/mutations/username/is-username-available-mutation.js +8 -0
- package/dist/mutations/username/sign-in-username-mutation.d.ts +15 -0
- package/dist/mutations/username/sign-in-username-mutation.js +9 -0
- package/dist/plugins/captcha-plugin.d.ts +29 -0
- package/dist/plugins/captcha-plugin.js +26 -0
- package/dist/plugins.d.ts +2 -0
- package/dist/plugins.js +2 -0
- package/dist/queries/api-key/list-api-keys-query.d.ts +44 -0
- package/dist/queries/api-key/list-api-keys-query.js +17 -0
- package/dist/queries/auth/session-query.d.ts +22 -0
- package/dist/queries/auth/session-query.js +32 -0
- package/dist/queries/auth-query-options.d.ts +14 -0
- package/dist/queries/auth-query-options.js +17 -0
- package/dist/queries/create-user-scoped-query.d.ts +25 -0
- package/dist/queries/create-user-scoped-query.js +29 -0
- package/dist/queries/multi-session/list-device-sessions-query.d.ts +23 -0
- package/dist/queries/multi-session/list-device-sessions-query.js +17 -0
- package/dist/queries/organization/active-organization-query.d.ts +37 -0
- package/dist/queries/organization/active-organization-query.js +26 -0
- package/dist/queries/organization/full-organization-query.d.ts +35 -0
- package/dist/queries/organization/full-organization-query.js +25 -0
- package/dist/queries/organization/has-permission-query.d.ts +23 -0
- package/dist/queries/organization/has-permission-query.js +31 -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 +29 -0
- package/dist/queries/organization/list-members-query.d.ts +53 -0
- package/dist/queries/organization/list-members-query.js +29 -0
- package/dist/queries/organization/list-organizations-query.d.ts +23 -0
- package/dist/queries/organization/list-organizations-query.js +25 -0
- package/dist/queries/organization/list-user-invitations-query.d.ts +29 -0
- package/dist/queries/organization/list-user-invitations-query.js +25 -0
- package/dist/queries/organization/plugin.d.ts +1 -0
- package/dist/queries/organization/plugin.js +8 -0
- package/dist/queries/organization/utils.d.ts +16 -0
- package/dist/queries/organization/utils.js +18 -0
- package/dist/queries/passkey/list-passkeys-query.d.ts +23 -0
- package/dist/queries/passkey/list-passkeys-query.js +17 -0
- package/dist/queries/settings/account-info-query.d.ts +35 -0
- package/dist/queries/settings/account-info-query.js +17 -0
- package/dist/queries/settings/list-accounts-query.d.ts +23 -0
- package/dist/queries/settings/list-accounts-query.js +17 -0
- package/dist/queries/settings/list-sessions-query.d.ts +24 -0
- package/dist/queries/settings/list-sessions-query.js +17 -0
- package/dist/server/queries/auth/session-query.d.ts +19 -0
- package/dist/server/queries/auth/session-query.js +13 -0
- package/dist/server.d.ts +7 -0
- package/dist/server.js +7 -0
- package/package.json +63 -0
- package/src/components/auth/email/email-changed.tsx +305 -0
- package/src/components/auth/email/email-styles.tsx +139 -0
- package/src/components/auth/email/email-verification.tsx +249 -0
- package/src/components/auth/email/index.ts +9 -0
- package/src/components/auth/email/magic-link.tsx +254 -0
- package/src/components/auth/email/new-device.tsx +347 -0
- package/src/components/auth/email/organization-invitation.tsx +322 -0
- package/src/components/auth/email/otp-email.tsx +239 -0
- package/src/components/auth/email/password-changed.tsx +279 -0
- package/src/components/auth/email/reset-password.tsx +250 -0
- package/src/email.ts +49 -0
- package/src/hooks/auth/use-authenticate.ts +30 -0
- package/src/hooks/auth/use-sign-out.ts +23 -0
- package/src/hooks/auth/use-user.ts +19 -0
- package/src/hooks/use-auth-mutation.ts +35 -0
- package/src/hooks/use-auth-query.ts +33 -0
- package/src/index.ts +48 -0
- package/src/lib/auth-client.ts +43 -0
- package/src/lib/auth-config.ts +46 -0
- package/src/lib/auth-plugin.ts +20 -0
- package/src/lib/auth-provider.tsx +60 -0
- package/src/lib/auth-server.ts +25 -0
- package/src/lib/auth-utils.ts +25 -0
- package/src/lib/fetch-options-provider.tsx +77 -0
- package/src/lib/mutation-invalidator.tsx +82 -0
- package/src/lib/provider-icons.ts +10 -0
- package/src/mutations/api-key/create-api-key-mutation.ts +40 -0
- package/src/mutations/api-key/delete-api-key-mutation.ts +40 -0
- package/src/mutations/auth/request-password-reset-mutation.ts +15 -0
- package/src/mutations/auth/reset-password-mutation.ts +16 -0
- package/src/mutations/auth/send-verification-email-mutation.ts +15 -0
- package/src/mutations/auth/sign-in-email-mutation.ts +17 -0
- package/src/mutations/auth/sign-in-social-mutation.ts +16 -0
- package/src/mutations/auth/sign-out-mutation.ts +13 -0
- package/src/mutations/auth/sign-up-email-mutation.ts +17 -0
- package/src/mutations/auth-mutation-options.ts +62 -0
- package/src/mutations/create-auth-mutation.ts +44 -0
- package/src/mutations/magic-link/sign-in-magic-link-mutation.ts +15 -0
- package/src/mutations/multi-session/revoke-multi-session-mutation.ts +40 -0
- package/src/mutations/multi-session/set-active-session-mutation.ts +43 -0
- package/src/mutations/organization/accept-invitation-mutation.ts +38 -0
- package/src/mutations/organization/cancel-invitation-mutation.ts +38 -0
- package/src/mutations/organization/check-slug-mutation.ts +36 -0
- package/src/mutations/organization/create-organization-mutation.ts +37 -0
- package/src/mutations/organization/delete-organization-mutation.ts +37 -0
- package/src/mutations/organization/index.ts +13 -0
- package/src/mutations/organization/invite-member-mutation.ts +38 -0
- package/src/mutations/organization/leave-organization-mutation.ts +37 -0
- package/src/mutations/organization/metadata.ts +103 -0
- package/src/mutations/organization/reject-invitation-mutation.ts +38 -0
- package/src/mutations/organization/remove-member-mutation.ts +38 -0
- package/src/mutations/organization/set-active-organization-mutation.ts +110 -0
- package/src/mutations/organization/update-member-role-mutation.ts +38 -0
- package/src/mutations/organization/update-organization-mutation.ts +37 -0
- package/src/mutations/organization/utils.ts +51 -0
- package/src/mutations/passkey/add-passkey-mutation.ts +40 -0
- package/src/mutations/passkey/delete-passkey-mutation.ts +40 -0
- package/src/mutations/passkey/sign-in-passkey-mutation.ts +17 -0
- package/src/mutations/settings/change-email-mutation.ts +17 -0
- package/src/mutations/settings/change-password-mutation.ts +16 -0
- package/src/mutations/settings/delete-user-mutation.ts +16 -0
- package/src/mutations/settings/link-social-mutation.ts +16 -0
- package/src/mutations/settings/revoke-session-mutation.ts +38 -0
- package/src/mutations/settings/unlink-account-mutation.ts +38 -0
- package/src/mutations/settings/update-user-mutation.ts +17 -0
- package/src/mutations/use-session-scoped-mutation.ts +64 -0
- package/src/mutations/username/is-username-available-mutation.ts +15 -0
- package/src/mutations/username/sign-in-username-mutation.ts +17 -0
- package/src/plugins/captcha-plugin.tsx +64 -0
- package/src/plugins.ts +2 -0
- package/src/queries/api-key/list-api-keys-query.ts +93 -0
- package/src/queries/auth/session-query.ts +81 -0
- package/src/queries/auth-query-options.ts +57 -0
- package/src/queries/create-user-scoped-query.ts +107 -0
- package/src/queries/multi-session/list-device-sessions-query.ts +107 -0
- package/src/queries/organization/active-organization-query.ts +127 -0
- package/src/queries/organization/full-organization-query.ts +111 -0
- package/src/queries/organization/has-permission-query.ts +121 -0
- package/src/queries/organization/index.ts +7 -0
- package/src/queries/organization/list-invitations-query.ts +124 -0
- package/src/queries/organization/list-members-query.ts +124 -0
- package/src/queries/organization/list-organizations-query.ts +113 -0
- package/src/queries/organization/list-user-invitations-query.ts +114 -0
- package/src/queries/organization/plugin.ts +11 -0
- package/src/queries/organization/utils.ts +88 -0
- package/src/queries/passkey/list-passkeys-query.ts +93 -0
- package/src/queries/settings/account-info-query.ts +94 -0
- package/src/queries/settings/list-accounts-query.ts +94 -0
- package/src/queries/settings/list-sessions-query.ts +96 -0
- package/src/server/queries/auth/session-query.ts +56 -0
- package/src/server.ts +7 -0
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { organizationMutationKeys } from "@better-auth-ui/core/plugins"
|
|
2
|
+
import type { OrganizationAuthClient } from "../../lib/auth-client"
|
|
3
|
+
import { cancelInvitationMeta } from "./metadata"
|
|
4
|
+
import {
|
|
5
|
+
createOrganizationMutationOptions,
|
|
6
|
+
type OrganizationMutationOptions,
|
|
7
|
+
useOrganizationMutation
|
|
8
|
+
} from "./utils"
|
|
9
|
+
|
|
10
|
+
export type CancelInvitationParams<
|
|
11
|
+
TAuthClient extends OrganizationAuthClient = OrganizationAuthClient
|
|
12
|
+
> = Parameters<TAuthClient["organization"]["cancelInvitation"]>[0]
|
|
13
|
+
|
|
14
|
+
export type CancelInvitationOptions<
|
|
15
|
+
TAuthClient extends OrganizationAuthClient = OrganizationAuthClient
|
|
16
|
+
> = OrganizationMutationOptions<TAuthClient["organization"]["cancelInvitation"]>
|
|
17
|
+
|
|
18
|
+
export function cancelInvitationOptions<
|
|
19
|
+
TAuthClient extends OrganizationAuthClient
|
|
20
|
+
>(authClient: TAuthClient) {
|
|
21
|
+
return createOrganizationMutationOptions(
|
|
22
|
+
authClient.organization.cancelInvitation,
|
|
23
|
+
organizationMutationKeys.cancelInvitation
|
|
24
|
+
)
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export function useCancelInvitation<TAuthClient extends OrganizationAuthClient>(
|
|
28
|
+
authClient: TAuthClient,
|
|
29
|
+
options?: CancelInvitationOptions<TAuthClient>
|
|
30
|
+
) {
|
|
31
|
+
return useOrganizationMutation(
|
|
32
|
+
authClient,
|
|
33
|
+
authClient.organization.cancelInvitation,
|
|
34
|
+
organizationMutationKeys.cancelInvitation,
|
|
35
|
+
cancelInvitationMeta,
|
|
36
|
+
options
|
|
37
|
+
)
|
|
38
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { organizationMutationKeys } from "@better-auth-ui/core/plugins"
|
|
2
|
+
import { createMutation } from "@tanstack/solid-query"
|
|
3
|
+
import type { OrganizationAuthClient } from "../../lib/auth-client"
|
|
4
|
+
import {
|
|
5
|
+
createOrganizationMutationOptions,
|
|
6
|
+
type OrganizationMutationOptions
|
|
7
|
+
} from "./utils"
|
|
8
|
+
|
|
9
|
+
export type CheckOrganizationSlugParams<
|
|
10
|
+
TAuthClient extends OrganizationAuthClient = OrganizationAuthClient
|
|
11
|
+
> = Parameters<TAuthClient["organization"]["checkSlug"]>[0]
|
|
12
|
+
|
|
13
|
+
export type CheckOrganizationSlugOptions<
|
|
14
|
+
TAuthClient extends OrganizationAuthClient = OrganizationAuthClient
|
|
15
|
+
> = OrganizationMutationOptions<TAuthClient["organization"]["checkSlug"]>
|
|
16
|
+
|
|
17
|
+
export function checkOrganizationSlugOptions<
|
|
18
|
+
TAuthClient extends OrganizationAuthClient
|
|
19
|
+
>(authClient: TAuthClient) {
|
|
20
|
+
return createOrganizationMutationOptions(
|
|
21
|
+
authClient.organization.checkSlug,
|
|
22
|
+
organizationMutationKeys.checkSlug
|
|
23
|
+
)
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export function useCheckOrganizationSlug<
|
|
27
|
+
TAuthClient extends OrganizationAuthClient
|
|
28
|
+
>(
|
|
29
|
+
authClient: TAuthClient,
|
|
30
|
+
options?: CheckOrganizationSlugOptions<TAuthClient>
|
|
31
|
+
) {
|
|
32
|
+
return createMutation(() => ({
|
|
33
|
+
...checkOrganizationSlugOptions(authClient),
|
|
34
|
+
...options
|
|
35
|
+
}))
|
|
36
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { organizationMutationKeys } from "@better-auth-ui/core/plugins"
|
|
2
|
+
import type { OrganizationAuthClient } from "../../lib/auth-client"
|
|
3
|
+
import { createOrganizationMeta } from "./metadata"
|
|
4
|
+
import {
|
|
5
|
+
createOrganizationMutationOptions,
|
|
6
|
+
type OrganizationMutationOptions,
|
|
7
|
+
useOrganizationMutation
|
|
8
|
+
} from "./utils"
|
|
9
|
+
|
|
10
|
+
export type CreateOrganizationParams<
|
|
11
|
+
TAuthClient extends OrganizationAuthClient = OrganizationAuthClient
|
|
12
|
+
> = Parameters<TAuthClient["organization"]["create"]>[0]
|
|
13
|
+
|
|
14
|
+
export type CreateOrganizationOptions<
|
|
15
|
+
TAuthClient extends OrganizationAuthClient = OrganizationAuthClient
|
|
16
|
+
> = OrganizationMutationOptions<TAuthClient["organization"]["create"]>
|
|
17
|
+
|
|
18
|
+
export function createOrganizationOptions<
|
|
19
|
+
TAuthClient extends OrganizationAuthClient
|
|
20
|
+
>(authClient: TAuthClient) {
|
|
21
|
+
return createOrganizationMutationOptions(
|
|
22
|
+
authClient.organization.create,
|
|
23
|
+
organizationMutationKeys.create
|
|
24
|
+
)
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export function useCreateOrganization<
|
|
28
|
+
TAuthClient extends OrganizationAuthClient
|
|
29
|
+
>(authClient: TAuthClient, options?: CreateOrganizationOptions<TAuthClient>) {
|
|
30
|
+
return useOrganizationMutation(
|
|
31
|
+
authClient,
|
|
32
|
+
authClient.organization.create,
|
|
33
|
+
organizationMutationKeys.create,
|
|
34
|
+
createOrganizationMeta,
|
|
35
|
+
options
|
|
36
|
+
)
|
|
37
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { organizationMutationKeys } from "@better-auth-ui/core/plugins"
|
|
2
|
+
import type { OrganizationAuthClient } from "../../lib/auth-client"
|
|
3
|
+
import { deleteOrganizationMeta } from "./metadata"
|
|
4
|
+
import {
|
|
5
|
+
createOrganizationMutationOptions,
|
|
6
|
+
type OrganizationMutationOptions,
|
|
7
|
+
useOrganizationMutation
|
|
8
|
+
} from "./utils"
|
|
9
|
+
|
|
10
|
+
export type DeleteOrganizationParams<
|
|
11
|
+
TAuthClient extends OrganizationAuthClient = OrganizationAuthClient
|
|
12
|
+
> = Parameters<TAuthClient["organization"]["delete"]>[0]
|
|
13
|
+
|
|
14
|
+
export type DeleteOrganizationOptions<
|
|
15
|
+
TAuthClient extends OrganizationAuthClient = OrganizationAuthClient
|
|
16
|
+
> = OrganizationMutationOptions<TAuthClient["organization"]["delete"]>
|
|
17
|
+
|
|
18
|
+
export function deleteOrganizationOptions<
|
|
19
|
+
TAuthClient extends OrganizationAuthClient
|
|
20
|
+
>(authClient: TAuthClient) {
|
|
21
|
+
return createOrganizationMutationOptions(
|
|
22
|
+
authClient.organization.delete,
|
|
23
|
+
organizationMutationKeys.delete
|
|
24
|
+
)
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export function useDeleteOrganization<
|
|
28
|
+
TAuthClient extends OrganizationAuthClient
|
|
29
|
+
>(authClient: TAuthClient, options?: DeleteOrganizationOptions<TAuthClient>) {
|
|
30
|
+
return useOrganizationMutation(
|
|
31
|
+
authClient,
|
|
32
|
+
authClient.organization.delete,
|
|
33
|
+
organizationMutationKeys.delete,
|
|
34
|
+
deleteOrganizationMeta,
|
|
35
|
+
options
|
|
36
|
+
)
|
|
37
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export * from "./accept-invitation-mutation"
|
|
2
|
+
export * from "./cancel-invitation-mutation"
|
|
3
|
+
export * from "./check-slug-mutation"
|
|
4
|
+
export * from "./create-organization-mutation"
|
|
5
|
+
export * from "./delete-organization-mutation"
|
|
6
|
+
export * from "./invite-member-mutation"
|
|
7
|
+
export * from "./leave-organization-mutation"
|
|
8
|
+
export * from "./metadata"
|
|
9
|
+
export * from "./reject-invitation-mutation"
|
|
10
|
+
export * from "./remove-member-mutation"
|
|
11
|
+
export * from "./set-active-organization-mutation"
|
|
12
|
+
export * from "./update-member-role-mutation"
|
|
13
|
+
export * from "./update-organization-mutation"
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { organizationMutationKeys } from "@better-auth-ui/core/plugins"
|
|
2
|
+
import type { OrganizationAuthClient } from "../../lib/auth-client"
|
|
3
|
+
import { inviteMemberMeta } from "./metadata"
|
|
4
|
+
import {
|
|
5
|
+
createOrganizationMutationOptions,
|
|
6
|
+
type OrganizationMutationOptions,
|
|
7
|
+
useOrganizationMutation
|
|
8
|
+
} from "./utils"
|
|
9
|
+
|
|
10
|
+
export type InviteMemberParams<
|
|
11
|
+
TAuthClient extends OrganizationAuthClient = OrganizationAuthClient
|
|
12
|
+
> = Parameters<TAuthClient["organization"]["inviteMember"]>[0]
|
|
13
|
+
|
|
14
|
+
export type InviteMemberOptions<
|
|
15
|
+
TAuthClient extends OrganizationAuthClient = OrganizationAuthClient
|
|
16
|
+
> = OrganizationMutationOptions<TAuthClient["organization"]["inviteMember"]>
|
|
17
|
+
|
|
18
|
+
export function inviteMemberOptions<TAuthClient extends OrganizationAuthClient>(
|
|
19
|
+
authClient: TAuthClient
|
|
20
|
+
) {
|
|
21
|
+
return createOrganizationMutationOptions(
|
|
22
|
+
authClient.organization.inviteMember,
|
|
23
|
+
organizationMutationKeys.inviteMember
|
|
24
|
+
)
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export function useInviteMember<TAuthClient extends OrganizationAuthClient>(
|
|
28
|
+
authClient: TAuthClient,
|
|
29
|
+
options?: InviteMemberOptions<TAuthClient>
|
|
30
|
+
) {
|
|
31
|
+
return useOrganizationMutation(
|
|
32
|
+
authClient,
|
|
33
|
+
authClient.organization.inviteMember,
|
|
34
|
+
organizationMutationKeys.inviteMember,
|
|
35
|
+
inviteMemberMeta,
|
|
36
|
+
options
|
|
37
|
+
)
|
|
38
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { organizationMutationKeys } from "@better-auth-ui/core/plugins"
|
|
2
|
+
import type { OrganizationAuthClient } from "../../lib/auth-client"
|
|
3
|
+
import { leaveOrganizationMeta } from "./metadata"
|
|
4
|
+
import {
|
|
5
|
+
createOrganizationMutationOptions,
|
|
6
|
+
type OrganizationMutationOptions,
|
|
7
|
+
useOrganizationMutation
|
|
8
|
+
} from "./utils"
|
|
9
|
+
|
|
10
|
+
export type LeaveOrganizationParams<
|
|
11
|
+
TAuthClient extends OrganizationAuthClient = OrganizationAuthClient
|
|
12
|
+
> = Parameters<TAuthClient["organization"]["leave"]>[0]
|
|
13
|
+
|
|
14
|
+
export type LeaveOrganizationOptions<
|
|
15
|
+
TAuthClient extends OrganizationAuthClient = OrganizationAuthClient
|
|
16
|
+
> = OrganizationMutationOptions<TAuthClient["organization"]["leave"]>
|
|
17
|
+
|
|
18
|
+
export function leaveOrganizationOptions<
|
|
19
|
+
TAuthClient extends OrganizationAuthClient
|
|
20
|
+
>(authClient: TAuthClient) {
|
|
21
|
+
return createOrganizationMutationOptions(
|
|
22
|
+
authClient.organization.leave,
|
|
23
|
+
organizationMutationKeys.leave
|
|
24
|
+
)
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export function useLeaveOrganization<
|
|
28
|
+
TAuthClient extends OrganizationAuthClient
|
|
29
|
+
>(authClient: TAuthClient, options?: LeaveOrganizationOptions<TAuthClient>) {
|
|
30
|
+
return useOrganizationMutation(
|
|
31
|
+
authClient,
|
|
32
|
+
authClient.organization.leave,
|
|
33
|
+
organizationMutationKeys.leave,
|
|
34
|
+
leaveOrganizationMeta,
|
|
35
|
+
options
|
|
36
|
+
)
|
|
37
|
+
}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { organizationQueryKeys } from "@better-auth-ui/core/plugins"
|
|
2
|
+
import type { AuthMutationMeta } from "../create-auth-mutation"
|
|
3
|
+
|
|
4
|
+
export type { AuthMutationMeta }
|
|
5
|
+
|
|
6
|
+
export const createOrganizationMeta = (
|
|
7
|
+
userId: string | undefined
|
|
8
|
+
): AuthMutationMeta => ({
|
|
9
|
+
awaits: [organizationQueryKeys.lists(userId)],
|
|
10
|
+
invalidates: [
|
|
11
|
+
organizationQueryKeys.fullDetails(userId),
|
|
12
|
+
organizationQueryKeys.activeOrganizations(userId)
|
|
13
|
+
]
|
|
14
|
+
})
|
|
15
|
+
|
|
16
|
+
export const updateOrganizationMeta = (
|
|
17
|
+
userId: string | undefined
|
|
18
|
+
): AuthMutationMeta => ({
|
|
19
|
+
awaits: [
|
|
20
|
+
organizationQueryKeys.lists(userId),
|
|
21
|
+
organizationQueryKeys.fullDetails(userId),
|
|
22
|
+
organizationQueryKeys.activeOrganizations(userId)
|
|
23
|
+
]
|
|
24
|
+
})
|
|
25
|
+
|
|
26
|
+
export const deleteOrganizationMeta = createOrganizationMeta
|
|
27
|
+
|
|
28
|
+
export const setActiveOrganizationMeta = (
|
|
29
|
+
userId: string | undefined
|
|
30
|
+
): AuthMutationMeta => ({
|
|
31
|
+
awaits: [organizationQueryKeys.activeOrganizations(userId)],
|
|
32
|
+
invalidates: [organizationQueryKeys.lists(userId)]
|
|
33
|
+
})
|
|
34
|
+
|
|
35
|
+
export const inviteMemberMeta = (
|
|
36
|
+
userId: string | undefined
|
|
37
|
+
): AuthMutationMeta => ({
|
|
38
|
+
awaits: [
|
|
39
|
+
organizationQueryKeys.invitations.all(userId),
|
|
40
|
+
organizationQueryKeys.fullDetails(userId)
|
|
41
|
+
]
|
|
42
|
+
})
|
|
43
|
+
|
|
44
|
+
export const memberRoleMeta = (
|
|
45
|
+
userId: string | undefined
|
|
46
|
+
): AuthMutationMeta => ({
|
|
47
|
+
awaits: [
|
|
48
|
+
organizationQueryKeys.members.all(userId),
|
|
49
|
+
organizationQueryKeys.fullDetails(userId)
|
|
50
|
+
],
|
|
51
|
+
invalidates: [organizationQueryKeys.permissions.all(userId)]
|
|
52
|
+
})
|
|
53
|
+
|
|
54
|
+
export const removeMemberMeta = (
|
|
55
|
+
userId: string | undefined
|
|
56
|
+
): AuthMutationMeta => ({
|
|
57
|
+
awaits: [
|
|
58
|
+
organizationQueryKeys.members.all(userId),
|
|
59
|
+
organizationQueryKeys.fullDetails(userId)
|
|
60
|
+
],
|
|
61
|
+
invalidates: [organizationQueryKeys.lists(userId)]
|
|
62
|
+
})
|
|
63
|
+
|
|
64
|
+
export const leaveOrganizationMeta = (
|
|
65
|
+
userId: string | undefined
|
|
66
|
+
): AuthMutationMeta => ({
|
|
67
|
+
awaits: [
|
|
68
|
+
organizationQueryKeys.members.all(userId),
|
|
69
|
+
organizationQueryKeys.fullDetails(userId)
|
|
70
|
+
],
|
|
71
|
+
invalidates: [
|
|
72
|
+
organizationQueryKeys.lists(userId),
|
|
73
|
+
organizationQueryKeys.activeOrganizations(userId)
|
|
74
|
+
]
|
|
75
|
+
})
|
|
76
|
+
|
|
77
|
+
export const acceptInvitationMeta = (
|
|
78
|
+
userId: string | undefined
|
|
79
|
+
): AuthMutationMeta => ({
|
|
80
|
+
awaits: [
|
|
81
|
+
organizationQueryKeys.userInvitations.all(userId),
|
|
82
|
+
organizationQueryKeys.lists(userId)
|
|
83
|
+
],
|
|
84
|
+
invalidates: [
|
|
85
|
+
organizationQueryKeys.fullDetails(userId),
|
|
86
|
+
organizationQueryKeys.activeOrganizations(userId)
|
|
87
|
+
]
|
|
88
|
+
})
|
|
89
|
+
|
|
90
|
+
export const cancelInvitationMeta = (
|
|
91
|
+
userId: string | undefined
|
|
92
|
+
): AuthMutationMeta => ({
|
|
93
|
+
awaits: [
|
|
94
|
+
organizationQueryKeys.invitations.all(userId),
|
|
95
|
+
organizationQueryKeys.fullDetails(userId)
|
|
96
|
+
]
|
|
97
|
+
})
|
|
98
|
+
|
|
99
|
+
export const rejectInvitationMeta = (
|
|
100
|
+
userId: string | undefined
|
|
101
|
+
): AuthMutationMeta => ({
|
|
102
|
+
awaits: [organizationQueryKeys.userInvitations.all(userId)]
|
|
103
|
+
})
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { organizationMutationKeys } from "@better-auth-ui/core/plugins"
|
|
2
|
+
import type { OrganizationAuthClient } from "../../lib/auth-client"
|
|
3
|
+
import { rejectInvitationMeta } from "./metadata"
|
|
4
|
+
import {
|
|
5
|
+
createOrganizationMutationOptions,
|
|
6
|
+
type OrganizationMutationOptions,
|
|
7
|
+
useOrganizationMutation
|
|
8
|
+
} from "./utils"
|
|
9
|
+
|
|
10
|
+
export type RejectInvitationParams<
|
|
11
|
+
TAuthClient extends OrganizationAuthClient = OrganizationAuthClient
|
|
12
|
+
> = Parameters<TAuthClient["organization"]["rejectInvitation"]>[0]
|
|
13
|
+
|
|
14
|
+
export type RejectInvitationOptions<
|
|
15
|
+
TAuthClient extends OrganizationAuthClient = OrganizationAuthClient
|
|
16
|
+
> = OrganizationMutationOptions<TAuthClient["organization"]["rejectInvitation"]>
|
|
17
|
+
|
|
18
|
+
export function rejectInvitationOptions<
|
|
19
|
+
TAuthClient extends OrganizationAuthClient
|
|
20
|
+
>(authClient: TAuthClient) {
|
|
21
|
+
return createOrganizationMutationOptions(
|
|
22
|
+
authClient.organization.rejectInvitation,
|
|
23
|
+
organizationMutationKeys.rejectInvitation
|
|
24
|
+
)
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export function useRejectInvitation<TAuthClient extends OrganizationAuthClient>(
|
|
28
|
+
authClient: TAuthClient,
|
|
29
|
+
options?: RejectInvitationOptions<TAuthClient>
|
|
30
|
+
) {
|
|
31
|
+
return useOrganizationMutation(
|
|
32
|
+
authClient,
|
|
33
|
+
authClient.organization.rejectInvitation,
|
|
34
|
+
organizationMutationKeys.rejectInvitation,
|
|
35
|
+
rejectInvitationMeta,
|
|
36
|
+
options
|
|
37
|
+
)
|
|
38
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { organizationMutationKeys } from "@better-auth-ui/core/plugins"
|
|
2
|
+
import type { OrganizationAuthClient } from "../../lib/auth-client"
|
|
3
|
+
import { removeMemberMeta } from "./metadata"
|
|
4
|
+
import {
|
|
5
|
+
createOrganizationMutationOptions,
|
|
6
|
+
type OrganizationMutationOptions,
|
|
7
|
+
useOrganizationMutation
|
|
8
|
+
} from "./utils"
|
|
9
|
+
|
|
10
|
+
export type RemoveMemberParams<
|
|
11
|
+
TAuthClient extends OrganizationAuthClient = OrganizationAuthClient
|
|
12
|
+
> = Parameters<TAuthClient["organization"]["removeMember"]>[0]
|
|
13
|
+
|
|
14
|
+
export type RemoveMemberOptions<
|
|
15
|
+
TAuthClient extends OrganizationAuthClient = OrganizationAuthClient
|
|
16
|
+
> = OrganizationMutationOptions<TAuthClient["organization"]["removeMember"]>
|
|
17
|
+
|
|
18
|
+
export function removeMemberOptions<TAuthClient extends OrganizationAuthClient>(
|
|
19
|
+
authClient: TAuthClient
|
|
20
|
+
) {
|
|
21
|
+
return createOrganizationMutationOptions(
|
|
22
|
+
authClient.organization.removeMember,
|
|
23
|
+
organizationMutationKeys.removeMember
|
|
24
|
+
)
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export function useRemoveMember<TAuthClient extends OrganizationAuthClient>(
|
|
28
|
+
authClient: TAuthClient,
|
|
29
|
+
options?: RemoveMemberOptions<TAuthClient>
|
|
30
|
+
) {
|
|
31
|
+
return useOrganizationMutation(
|
|
32
|
+
authClient,
|
|
33
|
+
authClient.organization.removeMember,
|
|
34
|
+
organizationMutationKeys.removeMember,
|
|
35
|
+
removeMemberMeta,
|
|
36
|
+
options
|
|
37
|
+
)
|
|
38
|
+
}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import {
|
|
2
|
+
organizationMutationKeys,
|
|
3
|
+
organizationQueryKeys
|
|
4
|
+
} from "@better-auth-ui/core/plugins"
|
|
5
|
+
import { createMutation, useQueryClient } from "@tanstack/solid-query"
|
|
6
|
+
import type { OrganizationAuthClient } from "../../lib/auth-client"
|
|
7
|
+
import { useSession } from "../../queries/auth/session-query"
|
|
8
|
+
import { useListOrganizations } from "../../queries/organization"
|
|
9
|
+
import { setActiveOrganizationMeta } from "./metadata"
|
|
10
|
+
import {
|
|
11
|
+
createOrganizationMutationOptions,
|
|
12
|
+
type OrganizationMutationOptions
|
|
13
|
+
} from "./utils"
|
|
14
|
+
|
|
15
|
+
export type SetActiveOrganizationParams<
|
|
16
|
+
TAuthClient extends OrganizationAuthClient = OrganizationAuthClient
|
|
17
|
+
> = Parameters<TAuthClient["organization"]["setActive"]>[0]
|
|
18
|
+
|
|
19
|
+
export type SetActiveOrganizationOptions<
|
|
20
|
+
TAuthClient extends OrganizationAuthClient = OrganizationAuthClient
|
|
21
|
+
> = OrganizationMutationOptions<TAuthClient["organization"]["setActive"]>
|
|
22
|
+
|
|
23
|
+
export function setActiveOrganizationOptions<
|
|
24
|
+
TAuthClient extends OrganizationAuthClient
|
|
25
|
+
>(authClient: TAuthClient) {
|
|
26
|
+
return createOrganizationMutationOptions(
|
|
27
|
+
authClient.organization.setActive,
|
|
28
|
+
organizationMutationKeys.setActive
|
|
29
|
+
)
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export function useSetActiveOrganization<
|
|
33
|
+
TAuthClient extends OrganizationAuthClient
|
|
34
|
+
>(
|
|
35
|
+
authClient: TAuthClient,
|
|
36
|
+
options?: SetActiveOrganizationOptions<TAuthClient>
|
|
37
|
+
) {
|
|
38
|
+
const session = useSession(authClient)
|
|
39
|
+
const queryClient = useQueryClient()
|
|
40
|
+
const userId = () =>
|
|
41
|
+
(session.data as { user?: { id?: string } } | undefined)?.user?.id
|
|
42
|
+
const organizationsQuery = useListOrganizations(authClient)
|
|
43
|
+
|
|
44
|
+
return createMutation(() => ({
|
|
45
|
+
...createOrganizationMutationOptions(
|
|
46
|
+
authClient.organization.setActive,
|
|
47
|
+
organizationMutationKeys.setActive
|
|
48
|
+
),
|
|
49
|
+
...options,
|
|
50
|
+
meta: setActiveOrganizationMeta(userId()),
|
|
51
|
+
onMutate: async (variables) => {
|
|
52
|
+
// Cancel any outgoing refetches across every slug-partitioned
|
|
53
|
+
// active-organization cache entry so they don't overwrite our
|
|
54
|
+
// optimistic update.
|
|
55
|
+
await queryClient.cancelQueries({
|
|
56
|
+
queryKey: organizationQueryKeys.activeOrganizations(userId())
|
|
57
|
+
})
|
|
58
|
+
|
|
59
|
+
// Snapshot every slug-partitioned variant so the rollback hits
|
|
60
|
+
// whichever cache entry the UI is actually subscribed to.
|
|
61
|
+
const previousOrganizations = queryClient.getQueriesData({
|
|
62
|
+
queryKey: organizationQueryKeys.activeOrganizations(userId())
|
|
63
|
+
})
|
|
64
|
+
|
|
65
|
+
// Optimistically update to the new value
|
|
66
|
+
if (variables?.organizationId === null) {
|
|
67
|
+
queryClient.setQueriesData(
|
|
68
|
+
{ queryKey: organizationQueryKeys.activeOrganizations(userId()) },
|
|
69
|
+
null
|
|
70
|
+
)
|
|
71
|
+
|
|
72
|
+
return { previousOrganizations }
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
const newOrganization = organizationsQuery.data?.find(
|
|
76
|
+
(org: { id?: string; slug?: string }) =>
|
|
77
|
+
(variables?.organizationId !== undefined &&
|
|
78
|
+
org.id === variables.organizationId) ||
|
|
79
|
+
(variables?.organizationSlug !== undefined &&
|
|
80
|
+
org.slug === variables.organizationSlug)
|
|
81
|
+
)
|
|
82
|
+
|
|
83
|
+
if (newOrganization) {
|
|
84
|
+
queryClient.setQueriesData(
|
|
85
|
+
{ queryKey: organizationQueryKeys.activeOrganizations(userId()) },
|
|
86
|
+
newOrganization
|
|
87
|
+
)
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
return { previousOrganizations }
|
|
91
|
+
},
|
|
92
|
+
// If the mutation fails, use the result returned from onMutate to roll back
|
|
93
|
+
onError: (_error, _variables, onMutateResult) => {
|
|
94
|
+
const previousOrganizations = onMutateResult?.previousOrganizations
|
|
95
|
+
|
|
96
|
+
if (previousOrganizations?.length) {
|
|
97
|
+
for (const [queryKey, data] of previousOrganizations) {
|
|
98
|
+
queryClient.setQueryData(queryKey, data)
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
},
|
|
102
|
+
// Always refetch after error or success — invalidate every
|
|
103
|
+
// slug-partitioned variant via the broader prefix.
|
|
104
|
+
onSettled: async () => {
|
|
105
|
+
await queryClient.invalidateQueries({
|
|
106
|
+
queryKey: organizationQueryKeys.activeOrganizations(userId())
|
|
107
|
+
})
|
|
108
|
+
}
|
|
109
|
+
}))
|
|
110
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { organizationMutationKeys } from "@better-auth-ui/core/plugins"
|
|
2
|
+
import type { OrganizationAuthClient } from "../../lib/auth-client"
|
|
3
|
+
import { memberRoleMeta } from "./metadata"
|
|
4
|
+
import {
|
|
5
|
+
createOrganizationMutationOptions,
|
|
6
|
+
type OrganizationMutationOptions,
|
|
7
|
+
useOrganizationMutation
|
|
8
|
+
} from "./utils"
|
|
9
|
+
|
|
10
|
+
export type UpdateMemberRoleParams<
|
|
11
|
+
TAuthClient extends OrganizationAuthClient = OrganizationAuthClient
|
|
12
|
+
> = Parameters<TAuthClient["organization"]["updateMemberRole"]>[0]
|
|
13
|
+
|
|
14
|
+
export type UpdateMemberRoleOptions<
|
|
15
|
+
TAuthClient extends OrganizationAuthClient = OrganizationAuthClient
|
|
16
|
+
> = OrganizationMutationOptions<TAuthClient["organization"]["updateMemberRole"]>
|
|
17
|
+
|
|
18
|
+
export function updateMemberRoleOptions<
|
|
19
|
+
TAuthClient extends OrganizationAuthClient
|
|
20
|
+
>(authClient: TAuthClient) {
|
|
21
|
+
return createOrganizationMutationOptions(
|
|
22
|
+
authClient.organization.updateMemberRole,
|
|
23
|
+
organizationMutationKeys.updateMemberRole
|
|
24
|
+
)
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export function useUpdateMemberRole<TAuthClient extends OrganizationAuthClient>(
|
|
28
|
+
authClient: TAuthClient,
|
|
29
|
+
options?: UpdateMemberRoleOptions<TAuthClient>
|
|
30
|
+
) {
|
|
31
|
+
return useOrganizationMutation(
|
|
32
|
+
authClient,
|
|
33
|
+
authClient.organization.updateMemberRole,
|
|
34
|
+
organizationMutationKeys.updateMemberRole,
|
|
35
|
+
memberRoleMeta,
|
|
36
|
+
options
|
|
37
|
+
)
|
|
38
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { organizationMutationKeys } from "@better-auth-ui/core/plugins"
|
|
2
|
+
import type { OrganizationAuthClient } from "../../lib/auth-client"
|
|
3
|
+
import { updateOrganizationMeta } from "./metadata"
|
|
4
|
+
import {
|
|
5
|
+
createOrganizationMutationOptions,
|
|
6
|
+
type OrganizationMutationOptions,
|
|
7
|
+
useOrganizationMutation
|
|
8
|
+
} from "./utils"
|
|
9
|
+
|
|
10
|
+
export type UpdateOrganizationParams<
|
|
11
|
+
TAuthClient extends OrganizationAuthClient = OrganizationAuthClient
|
|
12
|
+
> = Parameters<TAuthClient["organization"]["update"]>[0]
|
|
13
|
+
|
|
14
|
+
export type UpdateOrganizationOptions<
|
|
15
|
+
TAuthClient extends OrganizationAuthClient = OrganizationAuthClient
|
|
16
|
+
> = OrganizationMutationOptions<TAuthClient["organization"]["update"]>
|
|
17
|
+
|
|
18
|
+
export function updateOrganizationOptions<
|
|
19
|
+
TAuthClient extends OrganizationAuthClient
|
|
20
|
+
>(authClient: TAuthClient) {
|
|
21
|
+
return createOrganizationMutationOptions(
|
|
22
|
+
authClient.organization.update,
|
|
23
|
+
organizationMutationKeys.update
|
|
24
|
+
)
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export function useUpdateOrganization<
|
|
28
|
+
TAuthClient extends OrganizationAuthClient
|
|
29
|
+
>(authClient: TAuthClient, options?: UpdateOrganizationOptions<TAuthClient>) {
|
|
30
|
+
return useOrganizationMutation(
|
|
31
|
+
authClient,
|
|
32
|
+
authClient.organization.update,
|
|
33
|
+
organizationMutationKeys.update,
|
|
34
|
+
updateOrganizationMeta,
|
|
35
|
+
options
|
|
36
|
+
)
|
|
37
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import {
|
|
2
|
+
type CreateMutationOptions,
|
|
3
|
+
createMutation,
|
|
4
|
+
type MutationKey
|
|
5
|
+
} from "@tanstack/solid-query"
|
|
6
|
+
import type { BetterFetchError } from "better-auth/client"
|
|
7
|
+
import type { OrganizationAuthClient } from "../../lib/auth-client"
|
|
8
|
+
import { useSession } from "../../queries/auth/session-query"
|
|
9
|
+
import {
|
|
10
|
+
createAuthMutationOptions,
|
|
11
|
+
type MutationMethod
|
|
12
|
+
} from "../create-auth-mutation"
|
|
13
|
+
import type { AuthMutationMeta } from "./metadata"
|
|
14
|
+
|
|
15
|
+
export type OrganizationMutationOptions<TMethod extends MutationMethod> = Omit<
|
|
16
|
+
CreateMutationOptions<
|
|
17
|
+
Awaited<ReturnType<TMethod>>,
|
|
18
|
+
BetterFetchError,
|
|
19
|
+
Parameters<TMethod>[0]
|
|
20
|
+
>,
|
|
21
|
+
"mutationKey" | "mutationFn" | "meta"
|
|
22
|
+
>
|
|
23
|
+
|
|
24
|
+
export function createOrganizationMutationOptions<
|
|
25
|
+
TMethod extends MutationMethod,
|
|
26
|
+
const TMutationKey extends MutationKey
|
|
27
|
+
>(authFn: TMethod, mutationKey: TMutationKey) {
|
|
28
|
+
return createAuthMutationOptions(authFn, mutationKey)
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export function useOrganizationMutation<
|
|
32
|
+
TAuthClient extends OrganizationAuthClient,
|
|
33
|
+
TMethod extends MutationMethod,
|
|
34
|
+
const TMutationKey extends MutationKey
|
|
35
|
+
>(
|
|
36
|
+
authClient: TAuthClient,
|
|
37
|
+
authFn: TMethod,
|
|
38
|
+
mutationKey: TMutationKey,
|
|
39
|
+
meta: (userId: string | undefined) => AuthMutationMeta,
|
|
40
|
+
options?: OrganizationMutationOptions<TMethod>
|
|
41
|
+
) {
|
|
42
|
+
const session = useSession(authClient)
|
|
43
|
+
|
|
44
|
+
return createMutation(() => ({
|
|
45
|
+
...createOrganizationMutationOptions(authFn, mutationKey),
|
|
46
|
+
...options,
|
|
47
|
+
meta: meta(
|
|
48
|
+
(session.data as { user?: { id?: string } } | undefined)?.user?.id
|
|
49
|
+
)
|
|
50
|
+
}))
|
|
51
|
+
}
|