mirror of
https://github.com/NginxProxyManager/nginx-proxy-manager.git
synced 2025-07-22 17:34:33 +00:00
Locales cleanup
This commit is contained in:
@ -1,4 +1,5 @@
|
||||
export * from "./useAccessLists";
|
||||
export * from "./useCertificate";
|
||||
export * from "./useCertificateAuthorities";
|
||||
export * from "./useCertificateAuthority";
|
||||
export * from "./useCertificates";
|
||||
|
56
frontend/src/hooks/useCertificate.ts
Normal file
56
frontend/src/hooks/useCertificate.ts
Normal file
@ -0,0 +1,56 @@
|
||||
import {
|
||||
createCertificate,
|
||||
getCertificate,
|
||||
setCertificate,
|
||||
Certificate,
|
||||
} from "api/npm";
|
||||
import { useMutation, useQuery, useQueryClient } from "react-query";
|
||||
|
||||
const fetchCertificate = (id: any) => {
|
||||
return getCertificate(id);
|
||||
};
|
||||
|
||||
const useCertificate = (id: number, options = {}) => {
|
||||
return useQuery<Certificate, Error>(
|
||||
["certificate", id],
|
||||
() => fetchCertificate(id),
|
||||
{
|
||||
staleTime: 60 * 1000, // 1 minute
|
||||
...options,
|
||||
},
|
||||
);
|
||||
};
|
||||
|
||||
const useSetCertificate = () => {
|
||||
const queryClient = useQueryClient();
|
||||
return useMutation(
|
||||
(values: Certificate) => {
|
||||
return values.id
|
||||
? setCertificate(values.id, values)
|
||||
: createCertificate(values);
|
||||
},
|
||||
{
|
||||
onMutate: (values) => {
|
||||
const previousObject = queryClient.getQueryData([
|
||||
"certificate",
|
||||
values.id,
|
||||
]);
|
||||
|
||||
queryClient.setQueryData(["certificate", values.id], (old: any) => ({
|
||||
...old,
|
||||
...values,
|
||||
}));
|
||||
|
||||
return () =>
|
||||
queryClient.setQueryData(["certificate", values.id], previousObject);
|
||||
},
|
||||
onError: (error, values, rollback: any) => rollback(),
|
||||
onSuccess: async ({ id }: Certificate) => {
|
||||
queryClient.invalidateQueries(["certificate", id]);
|
||||
queryClient.invalidateQueries("certificate");
|
||||
},
|
||||
},
|
||||
);
|
||||
};
|
||||
|
||||
export { useCertificate, useSetCertificate };
|
Reference in New Issue
Block a user