-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathactionCreators.js
88 lines (81 loc) · 1.98 KB
/
actionCreators.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
import request from 'request';
const setLarps = payload => ({ type: 'SET_LARPS', payload });
const deleteLarp = payload => ({ type: 'DELETE_LARP', payload });
const createLarp = payload => ({ type: 'CREATE_LARP', payload });
const createCharacter = payload => ({ type: 'CREATE_CHARACTER', payload });
const deleteCharacter = payload => ({
type: 'DELETE_CHARACTER',
payload,
});
const requestLarpsFromDb = () => dispatch => {
request.get('http://localhost:3000/api/v1/larps', (err, res) => {
if (err) {
console.log(err);
return;
}
const larps = JSON.parse(res.body);
dispatch(setLarps(larps));
});
};
const createLarpInDb = larp => dispatch => {
request.post(
`http://localhost:3000/api/v1/larps/`,
{
body: {
name: larp.name,
description: larp.description,
location: larp.location,
startDate: larp.startDate,
},
json: true,
},
(err, res) => {
if (err) {
console.log(err);
return;
}
dispatch(createLarp(res.body.larp));
}
);
};
const createCharacterInDb = character => dispatch => {
request.post(
`http://localhost:3000/api/v1/characters/`,
{ body: { name: character.name, larp_id: character.larp }, json: true },
(err, res) => {
if (err) {
console.log(err);
return;
}
dispatch(createCharacter(res.body.character));
}
);
};
const deleteLarpFromDB = id => dispatch => {
request.delete(`http://localhost:3000/api/v1/larps/${id}`, (err, res) => {
if (err) {
console.log(err);
return;
}
dispatch(deleteLarp(id));
});
};
const deleteCharacterFromDB = id => dispatch => {
request.delete(
`http://localhost:3000/api/v1/characters/${id}`,
(err, res) => {
if (err) {
console.log(err);
return;
}
dispatch(deleteCharacter(id));
}
);
};
export {
deleteCharacterFromDB,
requestLarpsFromDb,
deleteLarpFromDB,
createLarpInDb,
createCharacterInDb,
};