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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
|
import api from "./axios_config";
// findAll() on Back End.
export function get_todos_function() {
// Get a list of all to dos.
// GET "/todos"
return async (handler) => {
try {
const response = await api.get("/todos");
handler(response.data);
} catch (err) {
console.log(err);
}
};
}
// addToDo() on Back End.
export function new_todo_function() {
// Add a new to do on database.
// POST "/todos"
return async (data) => {
try {
await api.post("/todos", {
text: data.text,
dueDate: data.due_date,
priority: data.priority,
});
} catch (err) {
console.log(err);
}
};
}
// editToDo() on BE.
export function edit_todo_function() {
// Edit an existing to do.
// PUT "/todos/{id}"
return async (data) => {
try {
await api.put(`/todos/${data.id}`, {
text: data.text,
dueDate: data.due_date,
priority: data.priority,
});
} catch (err) {
console.log(err);
}
};
}
// removeToDo().
export function remove_todo_function() {
// Remove an existing to do by its id.
// DELETE "/todos/{id}"
return async (data) => {
try {
await api.delete(`/todos/${data.id}`);
} catch (err) {
console.log(err);
}
};
}
// setDone().
export function set_done_function() {
// Set a to do as done. If already done, don't do anything.
// POST "/todos/{id}/done"
return async (data) => {
try {
await api.post(`/todos/${data.id}/done`);
} catch (err) {
console.log(err);
}
};
}
// setUndone().
export function set_undone_function() {
// Set a to do as not done. If it's already not done, don't do anything.
// PUT "/todos/{id}/undone"
return async (data) => {
try {
await api.put(`/todos/${data.id}/undone`);
} catch (err) {
console.log(err);
}
};
}
// setFiltersAndSorters().
export function set_fil_sort_function() {
// Set filters and sorters for our to dos.
// POST "/todos/setFiltSort"
return async (data) => {
try {
await api.post("/todos/setFiltSort", {
filters: {
name: data.filter.name,
priority: data.filter.priority,
done: data.filter.state,
},
sortField: data.sort.field,
sortOrder: data.sort.order,
});
} catch (err) {
console.log(err);
}
};
}
// getPage().
export function get_todos_page_function() {
// Return a page of max 10 to dos with sorting and filters added.
// GET "/todos/filtSort/{page}"
return async (handler, data) => {
try {
const response = await api.get(`/todos/filtSort/${data.page}`);
handler(response.data);
} catch (err) {
console.log(err);
}
};
}
// getNumberOfPages().
export function get_nu_pages_function() {
// Return the number of pages in total.
// GET "/todos/filtSort/pages"
return async () => {
try {
const response = await api.get("/todos/filtSort/pages");
return response.data;
} catch (err) {
console.log(err);
}
};
}
// giveMeLastID().
export function get_last_id_function() {
// Retrieve last index used.
// GET "/todos/lastIndex"
return async (handler) => {
try {
const response = await api.get("/todos/lastIndex");
handler(response.data);
} catch (err) {
console.log(err);
}
};
}
|