feat: invalidate servizio data cache in multiple components after updates

This commit is contained in:
Marco Pedone 2026-03-06 16:15:47 +01:00
parent 024059cee3
commit ccdbe03c2f
10 changed files with 29 additions and 1 deletions

View file

@ -46,7 +46,8 @@ async function createNextConfig(): Promise<NextConfig> {
headers: [ headers: [
{ {
key: "Cache-Control", key: "Cache-Control",
value: "no-cache, no-store, must-revalidate", value:
"no-cache, no-store, must-revalidate, max-age=0, proxy-revalidate",
}, },
{ {
key: "X-API-Version", key: "X-API-Version",

View file

@ -199,6 +199,7 @@ export const InteressatoButtonServizio = ({
const invalidateAll = async () => { const invalidateAll = async () => {
await utils.intrests.getUserInterests.invalidate(); await utils.intrests.getUserInterests.invalidate();
await utils.servizio.getAllServizioAnnunci.invalidate({ userId }); await utils.servizio.getAllServizioAnnunci.invalidate({ userId });
await utils.servizio.getServizioData.invalidate({servizioId});
await utils.servizio.getAnnunciAvailableToAdd.invalidate({ await utils.servizio.getAnnunciAvailableToAdd.invalidate({
servizioId, servizioId,
}); });

View file

@ -117,6 +117,7 @@ const DebugActions = () => {
await utils.servizio.getAllServizioAnnunci.invalidate({ await utils.servizio.getAllServizioAnnunci.invalidate({
userId: userId, userId: userId,
}); });
await utils.servizio.getServizioData.invalidate({ servizioId });
await utils.servizio.getServizio.invalidate({ await utils.servizio.getServizio.invalidate({
servizioId, servizioId,
}); });
@ -553,6 +554,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.getServizioData.invalidate({ servizioId });
await utils.servizio.getPacksSolution.invalidate({ servizioId }); await utils.servizio.getPacksSolution.invalidate({ servizioId });
}, },
}); });
@ -619,6 +621,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.getServizioData.invalidate({ servizioId });
await utils.servizio.getPacksSolution.invalidate({ servizioId }); await utils.servizio.getPacksSolution.invalidate({ servizioId });
}, },
}); });
@ -676,6 +679,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.getServizioData.invalidate({ servizioId });
await utils.servizio.getPacksSolution.invalidate({ servizioId }); await utils.servizio.getPacksSolution.invalidate({ servizioId });
}, },
}); });
@ -797,6 +801,9 @@ const SendConferma = () => {
api.servizio.adminUpdateConfermaStatus.useMutation({ api.servizio.adminUpdateConfermaStatus.useMutation({
onSuccess: async () => { onSuccess: async () => {
await utils.servizio.getAllServizioAnnunci.invalidate(); await utils.servizio.getAllServizioAnnunci.invalidate();
await utils.servizio.getServizioData.invalidate({
servizioId: servizio.servizio_id,
});
await utils.servizio.getServizio.invalidate({ await utils.servizio.getServizio.invalidate({
servizioId: servizio.servizio_id, servizioId: servizio.servizio_id,
}); });

View file

@ -43,6 +43,7 @@ export const AdminActions = () => {
}, },
onSuccess: async () => { onSuccess: async () => {
await utils.servizio.getAllServizioAnnunci.invalidate({ userId }); await utils.servizio.getAllServizioAnnunci.invalidate({ userId });
await utils.servizio.getServizioData.invalidate({ servizioId });
await utils.servizio.getCompatibileAnnunci.invalidate({ await utils.servizio.getCompatibileAnnunci.invalidate({
servizioId, servizioId,
}); });

View file

@ -108,6 +108,7 @@ const InvioConferma = ({ closeModal }: { closeModal: () => void }) => {
}); });
await utils.servizio.getAllServizioAnnunci.invalidate({ userId }); await utils.servizio.getAllServizioAnnunci.invalidate({ userId });
await utils.servizio.getServizioData.invalidate({ servizioId });
closeModal(); closeModal();
}, },
}, },
@ -151,6 +152,7 @@ const DocCheckpoint = () => {
await utils.servizio.getAllServizioAnnunci.invalidate({ await utils.servizio.getAllServizioAnnunci.invalidate({
userId, userId,
}); });
await utils.servizio.getServizioData.invalidate({servizioId});
await utils.storage.retrieveUserFileData.invalidate({ userId }); await utils.storage.retrieveUserFileData.invalidate({ userId });
await utils.servizio.getServizio.invalidate({ await utils.servizio.getServizio.invalidate({
servizioId: servizio.servizio_id, servizioId: servizio.servizio_id,

View file

@ -90,6 +90,9 @@ const DocCheckpoint = () => {
await utils.servizio.getAllServizioAnnunci.invalidate({ await utils.servizio.getAllServizioAnnunci.invalidate({
userId, userId,
}); });
await utils.servizio.getServizioData.invalidate({
servizioId: servizio.servizio_id,
});
await utils.storage.retrieveUserFileData.invalidate({ userId }); await utils.storage.retrieveUserFileData.invalidate({ userId });
await utils.servizio.getServizio.invalidate({ await utils.servizio.getServizio.invalidate({
servizioId: servizio.servizio_id, servizioId: servizio.servizio_id,
@ -214,6 +217,7 @@ const PreUnlock = () => {
await utils.servizio.getAllServizioAnnunci.invalidate({ await utils.servizio.getAllServizioAnnunci.invalidate({
userId, userId,
}); });
await utils.servizio.getServizioData.invalidate({ servizioId });
}, },
}, },
); );

View file

@ -56,6 +56,7 @@ const NewServizioModal = ({
toast.success("Servizio creato con successo"); toast.success("Servizio creato con successo");
await utils.servizio.getUserServizi.invalidate(); await utils.servizio.getUserServizi.invalidate();
await utils.servizio.getAllServizioAnnunci.invalidate({ userId }); await utils.servizio.getAllServizioAnnunci.invalidate({ userId });
setEditData(undefined); setEditData(undefined);
setOpen(false); setOpen(false);
}, },
@ -69,6 +70,7 @@ const NewServizioModal = ({
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.getServizioData.invalidate({ servizioId: data.servizio_id });
await utils.servizio.getServizio.invalidate({ await utils.servizio.getServizio.invalidate({
servizioId: data.servizio_id, servizioId: data.servizio_id,
}); });

View file

@ -235,6 +235,7 @@ const Main = () => {
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.getServizioData.invalidate({ servizioId });
await utils.servizio.getPacksSolution.invalidate({ servizioId }); await utils.servizio.getPacksSolution.invalidate({ servizioId });
}, },
}); });
@ -247,6 +248,7 @@ const Main = () => {
}, },
onSuccess: async () => { onSuccess: async () => {
await utils.servizio.getAllServizioAnnunci.invalidate({ userId }); await utils.servizio.getAllServizioAnnunci.invalidate({ userId });
await utils.servizio.getServizioData.invalidate({ servizioId });
await utils.servizio.getCompatibileAnnunci.invalidate({ await utils.servizio.getCompatibileAnnunci.invalidate({
servizioId, servizioId,
}); });

View file

@ -226,6 +226,7 @@ const AddAnnuncio = ({
}, },
onSuccess: async () => { onSuccess: async () => {
await utils.servizio.getAllServizioAnnunci.invalidate({ userId }); await utils.servizio.getAllServizioAnnunci.invalidate({ userId });
await utils.servizio.getServizioData.invalidate({ servizioId });
await utils.servizio.getAnnunciAvailableToAdd.invalidate({ await utils.servizio.getAnnunciAvailableToAdd.invalidate({
servizioId, servizioId,
}); });
@ -334,6 +335,9 @@ const InterruzioneServizio = () => {
}, },
onSuccess: async () => { onSuccess: async () => {
await utils.servizio.getAllServizioAnnunci.invalidate({ userId }); await utils.servizio.getAllServizioAnnunci.invalidate({ userId });
await utils.servizio.getServizioData.invalidate({
servizioId: servizio.servizio_id,
});
toast.success("Interruzione richiesta"); toast.success("Interruzione richiesta");
}, },
}); });
@ -389,6 +393,7 @@ const EditParametri = () => {
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.getServizioData.invalidate({ servizioId });
await utils.servizio.getServizio.invalidate({ servizioId }); await utils.servizio.getServizio.invalidate({ servizioId });
await utils.servizio.getCompatibileAnnunci.invalidate({ await utils.servizio.getCompatibileAnnunci.invalidate({
servizioId, servizioId,
@ -461,6 +466,7 @@ const EditServizioAdmin = () => {
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.getServizio.invalidate({ servizioId }); await utils.servizio.getServizio.invalidate({ servizioId });
await utils.servizio.getServizioData.invalidate({ servizioId });
await utils.servizio.getCompatibileAnnunci.invalidate({ await utils.servizio.getCompatibileAnnunci.invalidate({
servizioId, servizioId,
}); });
@ -475,6 +481,7 @@ const EditServizioAdmin = () => {
onSuccess: async () => { onSuccess: async () => {
toast.success("Servizio rimosso con successo"); toast.success("Servizio rimosso con successo");
await utils.servizio.getAllServizioAnnunci.invalidate({ userId }); await utils.servizio.getAllServizioAnnunci.invalidate({ userId });
await utils.servizio.getServizioData.invalidate({ servizioId });
await utils.servizio.getServizio.invalidate({ servizioId }); await utils.servizio.getServizio.invalidate({ servizioId });
}, },
}); });

View file

@ -73,6 +73,7 @@ export const ServizioAnnuncioProvider = ({
await utils.servizio.getAllServizioAnnunci.invalidate({ await utils.servizio.getAllServizioAnnunci.invalidate({
userId: userId, userId: userId,
}); });
await utils.servizio.getServizioData.invalidate({ servizioId });
await utils.servizio.getServizio.invalidate({ await utils.servizio.getServizio.invalidate({
servizioId, servizioId,
}); });