copy dmenu-admin to dkala-admin
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
import * as api from "../service/AdminService";
|
||||
import { useQuery, useMutation, useQueryClient } from "@tanstack/react-query";
|
||||
import type { GetAdminsParams, CreateAdminType } from "../types/Types";
|
||||
|
||||
export const useGetAdmins = (params?: GetAdminsParams) => {
|
||||
return useQuery({
|
||||
queryKey: ["admins", params],
|
||||
queryFn: () => api.getAdmins(params),
|
||||
});
|
||||
};
|
||||
|
||||
export const useDeleteAdmin = () => {
|
||||
const queryClient = useQueryClient();
|
||||
return useMutation({
|
||||
mutationFn: api.deleteAdmin,
|
||||
onSuccess: () => {
|
||||
queryClient.invalidateQueries({
|
||||
queryKey: ["admins"],
|
||||
});
|
||||
},
|
||||
});
|
||||
};
|
||||
|
||||
export const useCreateAdmin = () => {
|
||||
const queryClient = useQueryClient();
|
||||
return useMutation({
|
||||
mutationFn: api.createAdmin,
|
||||
onSuccess: () => {
|
||||
queryClient.invalidateQueries({
|
||||
queryKey: ["admins"],
|
||||
});
|
||||
},
|
||||
});
|
||||
};
|
||||
|
||||
export const useUpdateAdmin = () => {
|
||||
const queryClient = useQueryClient();
|
||||
return useMutation({
|
||||
mutationFn: ({ id, params }: { id: string; params: CreateAdminType }) =>
|
||||
api.updateAdmin(id, params),
|
||||
onSuccess: (_, { id }) => {
|
||||
queryClient.invalidateQueries({
|
||||
queryKey: ["admins"],
|
||||
});
|
||||
queryClient.invalidateQueries({
|
||||
queryKey: ["admins", id],
|
||||
});
|
||||
},
|
||||
});
|
||||
};
|
||||
|
||||
export const useGetAdminById = (id: string) => {
|
||||
return useQuery({
|
||||
queryKey: ["admin", id],
|
||||
queryFn: () => api.getAdminById(id),
|
||||
enabled: !!id,
|
||||
});
|
||||
};
|
||||
Reference in New Issue
Block a user