export const useUsersApi = () => {
const { request } = useApi();
const { sessionToken } = useAuth();
return {
useFind: (params: UserFindParams) =>
useQuery<UserFindData, ApiRequestError>({
queryKey: ['users', 'find', { params }],
queryFn: () => {
return request<UserFindData>(`/internal/v1/users/${params.id}`, {
method: 'GET',
sessionToken,
});
},
}),
useCreate: () =>
useMutation<UserCreateData, ApiRequestError, UserCreateParams>({
mutationFn: (params) =>
request<UserCreateData>(`/internal/v1/users`, {
method: 'POST',
sessionToken,
body: JSON.stringify({
firstName: params.firstName,
lastName: params.lastName,
email: params.email
}),
}),
}),
};
};
export const useUsersApi = () => {
const { request } = useApi();
const { sessionToken } = useAuth();
return {
useFind: (params: UserFindParams) =>
useQuery<UserFindData, ApiRequestError>({
queryKey: ['users', 'find', { params }],
queryFn: () => {
return request<UserFindData>(`/internal/v1/users/${params.id}`, {
method: 'GET',
sessionToken,
});
},
}),
useCreate: () =>
useMutation<UserCreateData, ApiRequestError, UserCreateParams>({
mutationFn: (params) =>
request<UserCreateData>(`/internal/v1/users`, {
method: 'POST',
sessionToken,
body: JSON.stringify({
firstName: params.firstName,
lastName: params.lastName,
email: params.email
}),
}),
}),
};
};