import { ADD_NEWS, CLEAR_WRITE, DELETE_NEWS, EDIT_NEWS, GET_NEWS, SELECT_NEWS, WRITE_NEWS, } from './types'; import axios from './session'; export const getNews = () => async (dispatch) => { try { const response = await axios.get('/api/v1/news'); dispatch({ type: GET_NEWS, payload: response.data, }); } catch (e) { console.log(e); } }; export const postNews = ({ title, updated_by, text }) => async (dispatch) => { try { const response = await axios.post('/api/v1/news/', { updated_by, title, text, }); if (response.data.id) { alert('Sikeres mentés!'); dispatch({ type: ADD_NEWS, payload: response.data, }); } else { alert('Mentés nem sikerült!'); } } catch (e) { console.log(e); } }; export const editNews = ({ id, title, text, updated_by }) => async ( dispatch ) => { try { const response = await axios.patch(`/api/v1/news/${id}/`, { updated_by, title, text, }); if (response.data.id) { alert('Sikeres mentés!'); dispatch({ type: EDIT_NEWS, payload: response.data, }); } else { alert('Mentés nem sikerült!'); } } catch (e) { console.log(e); } }; export const deleteNews = (news) => async (dispatch) => { try { const response = await axios.delete(`/api/v1/news/${news.id}/`); if (!response.data.id) { alert('Sikeres törlés!'); dispatch({ type: DELETE_NEWS, payload: news, }); } else { alert('A törlés nem sikerült!'); } } catch (e) { console.log(e); } }; export const writeNews = ({ target: { name, value } }) => (dispatch) => { dispatch({ type: WRITE_NEWS, payload: value, target: name }); }; export const clearWrite = () => (dispatch) => { dispatch({ type: CLEAR_WRITE }); }; export const setSelectedNews = (item) => (dispatch) => { dispatch({ type: SELECT_NEWS, payload: item }); };