Skip to content

Commit daebb5d

Browse files
committed
Añadido ejemplo backend-api-db y proyecto organizado por capas
1 parent a80823e commit daebb5d

File tree

7 files changed

+60
-5129
lines changed

7 files changed

+60
-5129
lines changed

cities-backend-db-routes/package-lock.json

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

cities-backend-db-routes/src/controller/cities.js

+8-16
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,36 @@
1-
const db = require('../configuration/database.js').db;
1+
const { findAllCities, findCity, registerCity, modifyCity, removeCity} = require('../service/cities.js');
22

33
// Operación que devuelve todas las ciudades de la base de datos
44
const getCities = (async (req, res) => {
5-
const result = await db('cities').select('*');
5+
const data = await findAllCities();
66

7-
res.status(200).json(result);
7+
res.status(200).json(data);
88
});
99

1010
// Operación que devuelve una ciudad determinada
1111
const getCity = (async (req, res) => {
12-
const result = await db('cities').select('*').where({name: req.params.city}).first();
12+
const data = await findCity(req.params.city);
1313

14-
res.status(200).json(result);
14+
res.status(200).json(data);
1515
});
1616

1717
// Operación que registra una nueva ciudad en la base de datos
1818
const postCity = (async (req, res) => {
19-
await db('cities').insert({
20-
name: req.body.name,
21-
population: req.body.population,
22-
altitude: req.body.altitude
23-
});
19+
await registerCity(req.body.name, req.body.population, req.body.altitude);
2420

2521
res.status(201).json({});
2622
});
2723

2824
// Operación que modifica una ciudad en la base de datos
2925
const putCity = (async (req, res) => {
30-
await db('cities').where({ name: req.params.city }).update({
31-
population: req.body.population,
32-
altitude: req.body.altitude
33-
});
26+
await modifyCity(req.params.city, req.body.population, req.body.altitude);
3427

3528
res.status(204).json({});
3629
});
3730

3831
// Operación que elimina una ciudad de la base de datos
3932
const deleteCity = (async (req, res) => {
40-
const cityName = req.params.city;
41-
await db('cities').del().where({name: cityName});
33+
await removeCity(req.params.city);
4234

4335
res.status(204).json({})
4436
});
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
const db = require('../configuration/database.js').db;
2+
3+
// Operación que devuelve todas las ciudades de la base de datos
4+
const findAllCities = (async () => {
5+
const result = await db('cities').select('*');
6+
return result;
7+
});
8+
9+
// Operación que devuelve una ciudad determinada
10+
const findCity = (async (cityName) => {
11+
const result = await db('cities').select('*').where({name: cityName}).first();
12+
return result;
13+
});
14+
15+
// Operación que registra una nueva ciudad en la base de datos
16+
const registerCity = (async (cityName, cityPopulation, cityAltitude) => {
17+
const result = await db('cities').insert({
18+
name: cityName,
19+
population: cityPopulation,
20+
altitude: cityAltitude
21+
});
22+
23+
return result;
24+
});
25+
26+
// Operación que modifica una ciudad en la base de datos
27+
const modifyCity = (async (cityName, cityPopulation, cityAltitude) => {
28+
const result = await db('cities').where({ name: cityName }).update({
29+
population: cityPopulation,
30+
altitude: cityAltitude
31+
});
32+
33+
return result;
34+
});
35+
36+
// Operación que elimina una ciudad de la base de datos
37+
const removeCity = (async (cityName) => {
38+
const result = await db('cities').del().where({name: cityName});
39+
40+
return result;
41+
});
42+
43+
module.exports = {
44+
findAllCities,
45+
findCity,
46+
registerCity,
47+
modifyCity,
48+
removeCity,
49+
};

0 commit comments

Comments
 (0)