fix: 🐛 Fix bug on car deletion with no user #277 #278
Simon Mulquin simon@octree.ch
Fri, 01 Apr 2022 07:50:25 +0000
2 files changed,
27 insertions(+),
20 deletions(-)
M
frontend/containers/NewTravelDialog/useActions.ts
→
frontend/containers/NewTravelDialog/useActions.ts
@@ -8,6 +8,9 @@ useCreateTravelMutation,
TravelInput, FindUserVehiclesDocument, } from '../../generated/graphql'; +import useProfile from '../../hooks/useProfile'; +import {DocumentNode, PureQueryOptions} from '@apollo/client/core'; +import {RefetchQueriesFunction} from '@apollo/client/react/types/types'; interface Props { event: Event;@@ -19,22 +22,26 @@ const {t} = useTranslation();
const addToast = useToastsStore(s => s.addToast); const {addToEvent} = useAddToEvents(); const [createTravelMutation] = useCreateTravelMutation(); + const {user} = useProfile(); const createTravel = async (travelInput: TravelInput) => { + const refetchQueries: Array<PureQueryOptions> = [ + { + query: EventByUuidDocument, + variables: { + uuid: event.uuid, + }, + }, + ]; + if (user) { + refetchQueries.push({ + query: FindUserVehiclesDocument, + }); + } try { await createTravelMutation({ variables: {travel: travelInput}, - refetchQueries: [ - { - query: EventByUuidDocument, - variables: { - uuid: event.uuid, - }, - }, - { - query: FindUserVehiclesDocument, - }, - ], + refetchQueries, }); addToEvent(event.id); addToast(t('travel.creation.created'));
M
frontend/containers/Travel/useActions.ts
→
frontend/containers/Travel/useActions.ts
@@ -119,16 +119,16 @@ ]),
}, }, }); - await deleteTravelMutation({ - variables: { - id: travel.id, - }, - refetchQueries: [ - {query: EventByUuidDocument, variables: {uuid: event.uuid}}, - ], - }); - addToast(t('travel.actions.removed')); } + await deleteTravelMutation({ + variables: { + id: travel.id, + }, + refetchQueries: [ + {query: EventByUuidDocument, variables: {uuid: event.uuid}}, + ], + }); + addToast(t('travel.actions.removed')); } catch (error) { console.error(error); addToast(t('travel.errors.cant_remove'));