mirror of
https://github.com/andwati/cymelle.git
synced 2026-11-14 12:35:12 +00:00
paystack
This commit is contained in:
@@ -1,58 +1,69 @@
|
||||
import {createUser, disableUser, getCustomers, getDrivers, getUsers, updateUser} from "#/api/users";
|
||||
import type {AdminUserRequest} from "#/types/user";
|
||||
import {useMutation, useQuery, useQueryClient} from "@tanstack/react-query";
|
||||
import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query";
|
||||
import {
|
||||
createUser,
|
||||
disableUser,
|
||||
getCustomers,
|
||||
getDrivers,
|
||||
getUsers,
|
||||
updateUser,
|
||||
} from "#/api/users";
|
||||
import type { AdminUserRequest } from "#/types/user";
|
||||
|
||||
export const userQueryKeys = {
|
||||
all: ["users"] as const,
|
||||
list: () => [...userQueryKeys.all, "list"] as const,
|
||||
customers: () => [...userQueryKeys.all, "customers"] as const,
|
||||
drivers: () => [...userQueryKeys.all, "drivers"] as const,
|
||||
all: ["users"] as const,
|
||||
list: () => [...userQueryKeys.all, "list"] as const,
|
||||
customers: () => [...userQueryKeys.all, "customers"] as const,
|
||||
drivers: () => [...userQueryKeys.all, "drivers"] as const,
|
||||
};
|
||||
|
||||
export function useUsers() {
|
||||
return useQuery({
|
||||
queryKey: userQueryKeys.list(),
|
||||
queryFn: ({signal}) => getUsers(signal),
|
||||
});
|
||||
return useQuery({
|
||||
queryKey: userQueryKeys.list(),
|
||||
queryFn: ({ signal }) => getUsers(signal),
|
||||
});
|
||||
}
|
||||
|
||||
export function useCustomers() {
|
||||
return useQuery({
|
||||
queryKey: userQueryKeys.customers(),
|
||||
queryFn: ({signal}) => getCustomers(signal),
|
||||
});
|
||||
return useQuery({
|
||||
queryKey: userQueryKeys.customers(),
|
||||
queryFn: ({ signal }) => getCustomers(signal),
|
||||
});
|
||||
}
|
||||
|
||||
export function useDrivers() {
|
||||
return useQuery({
|
||||
queryKey: userQueryKeys.drivers(),
|
||||
queryFn: ({signal}) => getDrivers(signal),
|
||||
});
|
||||
return useQuery({
|
||||
queryKey: userQueryKeys.drivers(),
|
||||
queryFn: ({ signal }) => getDrivers(signal),
|
||||
});
|
||||
}
|
||||
|
||||
export function useCreateUser() {
|
||||
const queryClient = useQueryClient();
|
||||
const queryClient = useQueryClient();
|
||||
|
||||
return useMutation({
|
||||
mutationFn: createUser,
|
||||
onSuccess: () => queryClient.invalidateQueries({queryKey: userQueryKeys.all}),
|
||||
});
|
||||
return useMutation({
|
||||
mutationFn: createUser,
|
||||
onSuccess: () =>
|
||||
queryClient.invalidateQueries({ queryKey: userQueryKeys.all }),
|
||||
});
|
||||
}
|
||||
|
||||
export function useUpdateUser() {
|
||||
const queryClient = useQueryClient();
|
||||
const queryClient = useQueryClient();
|
||||
|
||||
return useMutation({
|
||||
mutationFn: ({id, request}: {id: string; request: AdminUserRequest}) => updateUser(id, request),
|
||||
onSuccess: () => queryClient.invalidateQueries({queryKey: userQueryKeys.all}),
|
||||
});
|
||||
return useMutation({
|
||||
mutationFn: ({ id, request }: { id: string; request: AdminUserRequest }) =>
|
||||
updateUser(id, request),
|
||||
onSuccess: () =>
|
||||
queryClient.invalidateQueries({ queryKey: userQueryKeys.all }),
|
||||
});
|
||||
}
|
||||
|
||||
export function useDisableUser() {
|
||||
const queryClient = useQueryClient();
|
||||
const queryClient = useQueryClient();
|
||||
|
||||
return useMutation({
|
||||
mutationFn: disableUser,
|
||||
onSuccess: () => queryClient.invalidateQueries({queryKey: userQueryKeys.all}),
|
||||
});
|
||||
return useMutation({
|
||||
mutationFn: disableUser,
|
||||
onSuccess: () =>
|
||||
queryClient.invalidateQueries({ queryKey: userQueryKeys.all }),
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user