Skip to content
Snippets Groups Projects
statistics.js 2.74 KiB
Newer Older
  • Learn to ignore specific revisions
  • import axios from './session';
    import {
      GET_EVENTS,
      GET_EVENT_BY_ID,
    
      GET_TRAINEES,
      VISITOR_CHANGE,
    
    Chif Gergő's avatar
    Chif Gergő committed
      ADD_EVENT,
    
      DELETE_EVENT,
    
    Chif Gergő's avatar
    Chif Gergő committed
      GET_TRAINEE_BY_ID,
    
    
    export const getEvents = () => (
      async (dispatch) => {
        try {
    
          const response = await axios.get('/api/v1/events/');
    
          dispatch({
            type: GET_EVENTS,
            payload: response.data,
          });
        } catch (e) {
          console.log(e);
        }
      }
    );
    
    
    export const getEventById = id => (
      async (dispatch) => {
        try {
          const response = await axios.get(`/api/v1/events/${id}`);
          dispatch({
            type: GET_EVENT_BY_ID,
            payload: response.data,
          });
        } catch (e) {
          console.log(e);
        }
      }
    );
    
    Chif Gergő's avatar
    Chif Gergő committed
    export const getTraineeById = id => (
      async (dispatch) => {
        try {
          const response = await axios.get(`/api/v1/profiles/${id}`);
          dispatch({
            type: GET_TRAINEE_BY_ID,
            payload: response.data,
          });
        } catch (e) {
          console.log(e);
        }
      }
    );
    
    
    export const getTrainees = () => (
      async (dispatch) => {
        try {
          const response = await axios.get('/api/v1/profiles/');
          dispatch({
            type: GET_TRAINEES,
            payload: response.data,
          });
        } catch (e) {
          console.log(e);
        }
      }
    );
    
    
    export const visitorChange = ({ id }) => {
      return (dispatch => (dispatch({ type: VISITOR_CHANGE, payload: id })));
    };
    
    
    export const submitVisitors = ({ id, visitors }) => (
      async () => {
        try {
          const response = await axios.patch(`/api/v1/events/${id}/`, {
            visitors
          });
        } catch (e) {
          console.log(e);
        }
      }
    );
    
    Chif Gergő's avatar
    Chif Gergő committed
    export const writeEvent = ({ target: { name, value } }) => (
    
    Chif Gergő's avatar
    Chif Gergő committed
        dispatch({ type: WRITE_EVENT, payload: value, target: name });
    
      }
    );
    
    
    export const eventDate = (name, value) => (
      (dispatch) => {
        dispatch({ type: WRITE_EVENT, payload: value, target: name });
      }
    );
    
    Chif Gergő's avatar
    Chif Gergő committed
    
    export const addEvent = ({ name, date }) => (
      async (dispatch) => {
        try {
          const response = await axios.post('/api/v1/events/', {
            name,
            date,
          });
          if (response.data.id) {
            alert('Sikeres mentés!');
            dispatch({
              type: ADD_EVENT,
              payload: response.data,
            });
          } else {
            alert('Mentés nem sikerült!');
          }
        } catch (e) {
          console.log(e);
        }
      }
    );
    
    
    export const deleteEvent = event => (
      async (dispatch) => {
        try {
          const response = await axios.delete(`/api/v1/events/${event.id}/`);
          if (!response.data.id) {
            alert('Sikeres törlés!');
            dispatch({
              type: DELETE_EVENT,
              payload: event,
            });
          } else {
            alert('A törlés nem sikerült!');
          }
        } catch (e) {
          console.log(e);
        }
      });