all repos — caroster @ v5.0

[Octree] Group carpool to your event https://caroster.io

frontend/hooks/usePassengersActions.ts (view raw)

 1import {
 2  PassengerInput,
 3  useCreatePassengerMutation,
 4  useDeletePassengerMutation,
 5  useUpdatePassengerMutation,
 6} from '../generated/graphql';
 7
 8const usePassengersActions = () => {
 9  const [createPassenger] = useCreatePassengerMutation();
10  const [setPassenger] = useUpdatePassengerMutation();
11  const [deletePassenger] = useDeletePassengerMutation();
12
13  const addPassenger = async (passenger: PassengerInput) =>
14    createPassenger({
15      variables: {
16        passenger,
17      },
18      refetchQueries: ['eventByUUID'],
19    });
20
21  const updatePassenger = async (
22    passengerId: string,
23    passenger: PassengerInput
24  ) =>
25    setPassenger({
26      variables: {id: passengerId, passengerUpdate: passenger},
27      refetchQueries: ['eventByUUID'],
28    });
29
30  const removePassenger = async (passengerId: string) => {
31    return deletePassenger({
32      variables: {
33        id: passengerId,
34      },
35      refetchQueries: ['eventByUUID'],
36    });
37  };
38
39  return {
40    addPassenger,
41    updatePassenger,
42    removePassenger,
43  };
44};
45
46export default usePassengersActions;