-
Notifications
You must be signed in to change notification settings - Fork 0
/
routes.js
48 lines (46 loc) · 1.38 KB
/
routes.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
const {
getPositiveInteger,
sanetizePattern,
sendDataInJSON
} = require("./utils");
module.exports = {
search: (request, response, query, foodData) => {
new Promise(resolve => {
/*
Errores humanos:
- query vacia. -> enviar resultados??
- search vacia. -> envia los primeros resultados.
- Caracteres indebidos.
p. error en la expresion regular debido al patrón.
s1. limpiar patrón (remover caracteres) ¿usar RegExp es lo correcto?.
s2. Regresar error en el patron.
s3. No permitir patrón.
- Numeros negativos. -> Done
- Numeros decimales. -> Done
- Limit de 0. -> usa valor por default (10).
*/
const searchPattern = sanetizePattern(query.q) || "";
const start = getPositiveInteger(query.start) || 0;
const limit = getPositiveInteger(query.limit) || 10;
const results = foodData.getResultsFromSearch(
searchPattern,
start,
limit
);
// enviar resolve por parametro para llamarlo.
setTimeout(() => {
sendDataInJSON(response, results);
resolve();
}, 1000);
})
},
get: (request, response, query, foodData) => {
new Promise(resolve => {
const result = foodData.getFoodById(query.fdcId);
setTimeout(() => {
sendDataInJSON(response, result);
resolve();
}, 1000);
})
}
};