36 lines
1.1 KiB
TypeScript
36 lines
1.1 KiB
TypeScript
import { useMutation } from '@tanstack/react-query';
|
|
|
|
import { useClient } from '@/hooks/use-client';
|
|
import { importEntities } from '@/queries/utils/import-entities';
|
|
import { useTimelinesActions } from '@/stores/timelines';
|
|
|
|
import type { AdminUpdateStatusParams } from 'pl-api';
|
|
|
|
const useAdminDeleteStatusMutation = (statusId: string) => {
|
|
const client = useClient();
|
|
const { deleteStatus: deleteTimelineStatus } = useTimelinesActions();
|
|
|
|
return useMutation({
|
|
mutationKey: ['admin', 'statuses', statusId],
|
|
mutationFn: () => client.admin.statuses.deleteStatus(statusId),
|
|
onSuccess: () => {
|
|
deleteTimelineStatus(statusId);
|
|
},
|
|
});
|
|
};
|
|
|
|
const useAdminUpdateStatusMutation = (statusId: string) => {
|
|
const client = useClient();
|
|
|
|
return useMutation({
|
|
mutationKey: ['admin', 'statuses', statusId, 'sensitivity'],
|
|
mutationFn: (params: AdminUpdateStatusParams) =>
|
|
client.admin.statuses.updateStatus(statusId, params),
|
|
onSuccess: (status) => {
|
|
importEntities({ statuses: [status] });
|
|
},
|
|
});
|
|
};
|
|
|
|
export { useAdminDeleteStatusMutation, useAdminUpdateStatusMutation };
|