refactor: enhance servizio update handling by invalidating packs solution cache after modifications
This commit is contained in:
parent
4899c66822
commit
e692f9f1cb
7 changed files with 26 additions and 11 deletions
|
|
@ -84,9 +84,12 @@ export const OrdiniModal = ({
|
||||||
onError: (error) => {
|
onError: (error) => {
|
||||||
toast.error(error.message);
|
toast.error(error.message);
|
||||||
},
|
},
|
||||||
onSuccess: async () => {
|
onSuccess: async (data) => {
|
||||||
toast.success("Servizio modificato con successo");
|
toast.success("Servizio modificato con successo");
|
||||||
await utils.servizio.getUserServizi.invalidate();
|
await utils.servizio.getUserServizi.invalidate();
|
||||||
|
await utils.servizio.getPacksSolution.invalidate({
|
||||||
|
servizioId: data.servizio_id,
|
||||||
|
});
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -539,6 +539,7 @@ const TransitorioSection = () => {
|
||||||
toast.success("Servizio modificato con successo");
|
toast.success("Servizio modificato con successo");
|
||||||
await utils.servizio.getUserServizi.invalidate();
|
await utils.servizio.getUserServizi.invalidate();
|
||||||
await utils.servizio.getAllServizioAnnunci.invalidate({ userId });
|
await utils.servizio.getAllServizioAnnunci.invalidate({ userId });
|
||||||
|
await utils.servizio.getPacksSolution.invalidate({ servizioId });
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -604,6 +605,7 @@ const StabileSection = () => {
|
||||||
toast.success("Servizio modificato con successo");
|
toast.success("Servizio modificato con successo");
|
||||||
await utils.servizio.getUserServizi.invalidate();
|
await utils.servizio.getUserServizi.invalidate();
|
||||||
await utils.servizio.getAllServizioAnnunci.invalidate({ userId });
|
await utils.servizio.getAllServizioAnnunci.invalidate({ userId });
|
||||||
|
await utils.servizio.getPacksSolution.invalidate({ servizioId });
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -647,11 +649,10 @@ const StabileSection = () => {
|
||||||
};
|
};
|
||||||
|
|
||||||
const GeneralSection = () => {
|
const GeneralSection = () => {
|
||||||
const { servizio } = useServizio();
|
|
||||||
const { data } = useServizioAnnuncio();
|
const { data } = useServizioAnnuncio();
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
|
|
||||||
const { servizioId, userId } = useServizio();
|
const { servizio, servizioId, userId } = useServizio();
|
||||||
const utils = api.useUtils();
|
const utils = api.useUtils();
|
||||||
const { mutate: update } = api.servizio.updateServizio.useMutation({
|
const { mutate: update } = api.servizio.updateServizio.useMutation({
|
||||||
onError: (error) => {
|
onError: (error) => {
|
||||||
|
|
@ -661,6 +662,7 @@ const GeneralSection = () => {
|
||||||
toast.success("Servizio modificato con successo");
|
toast.success("Servizio modificato con successo");
|
||||||
await utils.servizio.getUserServizi.invalidate();
|
await utils.servizio.getUserServizi.invalidate();
|
||||||
await utils.servizio.getAllServizioAnnunci.invalidate({ userId });
|
await utils.servizio.getAllServizioAnnunci.invalidate({ userId });
|
||||||
|
await utils.servizio.getPacksSolution.invalidate({ servizioId });
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -144,7 +144,7 @@ const InvioConferma = ({ closeModal }: { closeModal: () => void }) => {
|
||||||
|
|
||||||
const DocCheckpoint = () => {
|
const DocCheckpoint = () => {
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
const { userId, servizio, isAdmin } = useServizio();
|
const { userId, servizio, isAdmin, servizioId } = useServizio();
|
||||||
const utils = api.useUtils();
|
const utils = api.useUtils();
|
||||||
const { mutate, isPending } = api.servizio.updateServizio.useMutation({
|
const { mutate, isPending } = api.servizio.updateServizio.useMutation({
|
||||||
onSuccess: async () => {
|
onSuccess: async () => {
|
||||||
|
|
@ -155,6 +155,7 @@ const DocCheckpoint = () => {
|
||||||
await utils.servizio.getServizio.invalidate({
|
await utils.servizio.getServizio.invalidate({
|
||||||
servizioId: servizio.servizio_id,
|
servizioId: servizio.servizio_id,
|
||||||
});
|
});
|
||||||
|
await utils.servizio.getPacksSolution.invalidate({ servizioId });
|
||||||
},
|
},
|
||||||
onError: (err) => {
|
onError: (err) => {
|
||||||
toast.error(`Errore aggiornamento servizio: ${err.message}`);
|
toast.error(`Errore aggiornamento servizio: ${err.message}`);
|
||||||
|
|
|
||||||
|
|
@ -60,7 +60,7 @@ const ServizioCard = ({
|
||||||
};
|
};
|
||||||
|
|
||||||
export const ServizioContent = () => {
|
export const ServizioContent = () => {
|
||||||
const { servizio, isAdmin, userId } = useServizio();
|
const { servizio, isAdmin, userId, servizioId } = useServizio();
|
||||||
const utils = api.useUtils();
|
const utils = api.useUtils();
|
||||||
const { mutate: updateServizio } = api.servizio.updateServizio.useMutation({
|
const { mutate: updateServizio } = api.servizio.updateServizio.useMutation({
|
||||||
onError: (error) => {
|
onError: (error) => {
|
||||||
|
|
@ -69,6 +69,7 @@ export const ServizioContent = () => {
|
||||||
onSuccess: async () => {
|
onSuccess: async () => {
|
||||||
toast.success("Servizio modificato con successo");
|
toast.success("Servizio modificato con successo");
|
||||||
await utils.servizio.getAllServizioAnnunci.invalidate({ userId });
|
await utils.servizio.getAllServizioAnnunci.invalidate({ userId });
|
||||||
|
await utils.servizio.getPacksSolution.invalidate({ servizioId });
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
import { add } from "date-fns";
|
import { add } from "date-fns";
|
||||||
import {
|
import {
|
||||||
Bug,
|
Bug,
|
||||||
Calculator,
|
|
||||||
CalendarClock,
|
CalendarClock,
|
||||||
ChevronDown,
|
ChevronDown,
|
||||||
ChevronUp,
|
ChevronUp,
|
||||||
|
|
@ -9,6 +8,7 @@ import {
|
||||||
Cog,
|
Cog,
|
||||||
Info,
|
Info,
|
||||||
Plus,
|
Plus,
|
||||||
|
SlidersHorizontal,
|
||||||
UserCircle,
|
UserCircle,
|
||||||
} from "lucide-react";
|
} from "lucide-react";
|
||||||
import { useState } from "react";
|
import { useState } from "react";
|
||||||
|
|
@ -416,6 +416,7 @@ const EditParametri = () => {
|
||||||
await utils.servizio.getCompatibileAnnunci.invalidate({
|
await utils.servizio.getCompatibileAnnunci.invalidate({
|
||||||
servizioId,
|
servizioId,
|
||||||
});
|
});
|
||||||
|
await utils.servizio.getPacksSolution.invalidate({ servizioId });
|
||||||
setOpenEditParametri(false);
|
setOpenEditParametri(false);
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
@ -442,7 +443,7 @@ const EditParametri = () => {
|
||||||
}
|
}
|
||||||
variant="secondary"
|
variant="secondary"
|
||||||
>
|
>
|
||||||
<Calculator />
|
<SlidersHorizontal />
|
||||||
Parametri
|
Parametri
|
||||||
</Button>
|
</Button>
|
||||||
</CredenzaTrigger>
|
</CredenzaTrigger>
|
||||||
|
|
@ -486,6 +487,7 @@ const EditServizioAdmin = () => {
|
||||||
await utils.servizio.getCompatibileAnnunci.invalidate({
|
await utils.servizio.getCompatibileAnnunci.invalidate({
|
||||||
servizioId,
|
servizioId,
|
||||||
});
|
});
|
||||||
|
await utils.servizio.getPacksSolution.invalidate({ servizioId });
|
||||||
setOpen(false);
|
setOpen(false);
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -68,9 +68,12 @@ export const TabServizio = ({
|
||||||
onError: (error) => {
|
onError: (error) => {
|
||||||
toast.error(error.message);
|
toast.error(error.message);
|
||||||
},
|
},
|
||||||
onSuccess: async () => {
|
onSuccess: async (data) => {
|
||||||
toast.success("Servizio modificato con successo");
|
toast.success("Servizio modificato con successo");
|
||||||
await utils.servizio.getUserServizi.invalidate();
|
await utils.servizio.getUserServizi.invalidate();
|
||||||
|
await utils.servizio.getPacksSolution.invalidate({
|
||||||
|
servizioId: data.servizio_id,
|
||||||
|
});
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -120,15 +120,18 @@ const NewServizioModal = ({
|
||||||
onError: (error) => {
|
onError: (error) => {
|
||||||
toast.error(error.message);
|
toast.error(error.message);
|
||||||
},
|
},
|
||||||
onSuccess: async () => {
|
onSuccess: async (data) => {
|
||||||
toast.success("Servizio modificato con successo");
|
toast.success("Servizio modificato con successo");
|
||||||
await utils.servizio.getUserServizi.invalidate();
|
await utils.servizio.getUserServizi.invalidate();
|
||||||
await utils.servizio.getAllServizioAnnunci.invalidate({ userId });
|
await utils.servizio.getAllServizioAnnunci.invalidate({ userId });
|
||||||
await utils.servizio.getServizio.invalidate({
|
await utils.servizio.getServizio.invalidate({
|
||||||
servizioId: editData?.servizio_id,
|
servizioId: data.servizio_id,
|
||||||
});
|
});
|
||||||
await utils.servizio.getCompatibileAnnunci.invalidate({
|
await utils.servizio.getCompatibileAnnunci.invalidate({
|
||||||
servizioId: editData?.servizio_id,
|
servizioId: data.servizio_id,
|
||||||
|
});
|
||||||
|
await utils.servizio.getPacksSolution.invalidate({
|
||||||
|
servizioId: data.servizio_id,
|
||||||
});
|
});
|
||||||
setEditData(undefined);
|
setEditData(undefined);
|
||||||
setOpen(false);
|
setOpen(false);
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue