|
1 | | -import type { |
2 | | - AccessCodesCreateBody, |
3 | | - SeamHttpApiError, |
4 | | -} from '@seamapi/http/connect' |
5 | | -import type { AccessCode } from '@seamapi/types/connect' |
6 | | -import { |
7 | | - useMutation, |
8 | | - type UseMutationResult, |
9 | | - useQueryClient, |
10 | | -} from '@tanstack/react-query' |
11 | | - |
12 | | -import { NullSeamClientError, useSeamClient } from 'lib/seam/use-seam-client.js' |
13 | | - |
14 | | -export type UseCreateAccessCodeParams = never |
| 1 | +import { useQueryClient } from '@tanstack/react-query' |
15 | 2 |
|
16 | | -export type UseCreateAccessCodeData = AccessCode |
17 | | - |
18 | | -export type UseCreateAccessCodeMutationVariables = AccessCodesCreateBody |
| 3 | +import { |
| 4 | + useSeamMutation, |
| 5 | + type UseSeamMutationResult, |
| 6 | +} from '../use-seam-mutation.js' |
19 | 7 |
|
20 | | -export function useCreateAccessCode(): UseMutationResult< |
21 | | - UseCreateAccessCodeData, |
22 | | - SeamHttpApiError, |
23 | | - UseCreateAccessCodeMutationVariables |
24 | | -> { |
25 | | - const { client } = useSeamClient() |
| 8 | +export function useCreateAccessCode(): UseSeamMutationResult<'/access_codes/create'> { |
26 | 9 | const queryClient = useQueryClient() |
27 | 10 |
|
28 | | - return useMutation< |
29 | | - UseCreateAccessCodeData, |
30 | | - SeamHttpApiError, |
31 | | - UseCreateAccessCodeMutationVariables |
32 | | - >({ |
33 | | - mutationFn: async (variables) => { |
34 | | - if (client === null) throw new NullSeamClientError() |
35 | | - return await client.accessCodes.create(variables) |
36 | | - }, |
| 11 | + return useSeamMutation('/access_codes/create', { |
37 | 12 | onSuccess: (data) => { |
38 | 13 | queryClient.setQueryData( |
39 | 14 | ['access_codes', 'get', { access_code_id: data.access_code_id }], |
|
0 commit comments