all repos — caroster @ fda8dfd8f0c5653fd865054042ea1423dbb07d12

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

frontend/hooks/usePassengersActions.ts (view raw)

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