-
Notifications
You must be signed in to change notification settings - Fork 0
/
controller.js
83 lines (72 loc) · 1.86 KB
/
controller.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
const axios = require('axios');
const faker = require('faker');
const BASE_URL = 'https://jsonplaceholder.typicode.com';
const getUsers = async () => {
const response = await axios.get(`${BASE_URL}/users`);
return response.data;
};
const getUser = async (id) => {
try {
const response = await axios.get(`${BASE_URL}/users/${id}`);
return response.data;
} catch (error) {
throw error.response;
}
};
const createRandomUser = async () => {
const user = {
name: faker.name.findName(),
username: faker.internet.userName(),
email: faker.internet.email(),
};
const response = await axios.post(`${BASE_URL}/users`, user);
return response.data;
};
// const createUser = async (user) => {
// const response = await axios.post(`${BASE_URL}/users`, user);
// return response.data;
// };
const updateUser = async (id, data) => {
try {
const response = await axios.put(`${BASE_URL}/users/${id}`, data);
return response.data;
} catch (error) {
throw error.response;
}
};
const deleteUser = async (id) => {
try {
const response = await axios.delete(`${BASE_URL}/users/${id}`);
return response.status;
} catch (error) {
throw error.response;
}
};
const getUserPosts = async (userId) => {
const response = await axios.get(`${BASE_URL}/users/${userId}/posts`);
return response.data;
};
const getPostComments = async (postId) => {
const response = await axios.get(`${BASE_URL}/posts/${postId}/comments`);
return response.data;
};
const createPost = async (userId) => {
const post = {
userId: userId,
title: faker.lorem.sentence(),
body: faker.lorem.paragraph(),
};
const response = await axios.post(`${BASE_URL}/posts`, post);
return response.data;
};
module.exports = {
getUsers,
getUser,
createRandomUser,
createUser,
updateUser,
deleteUser,
getUserPosts,
getPostComments,
createPost,
};