diff --git a/chapter04/src/router_cities.js b/chapter04/src/router_cities.js new file mode 100644 index 0000000..d4ea58a --- /dev/null +++ b/chapter04/src/router_cities.js @@ -0,0 +1,27 @@ +/* @flow */ +"use strict"; + +const express = require("express"); + +const routerCities = express.Router(); + +routerCities.get("/MVD", (req, res) => { + res.send(`GET Montevideo... path=${req.originalUrl}`); +}); + +routerCities.get("/:id", (req, res) => { + res.send(`GET City... path=${req.originalUrl}`); +}); + +routerCities.delete("/:id", (req, res) => { + res.send(`DELETE City... path=${req.originalUrl}`); +}); + +routerCities.post("/", (req, res) => { + res.send(`POST City... path=${req.originalUrl}`); +}); + +routerCities.put("/:id", (req, res) => { + res.send(`PUT City... path=${req.originalUrl}`); +}); +module.exports = routerCities; diff --git a/chapter04/src/router_countries.js b/chapter04/src/router_countries.js new file mode 100644 index 0000000..fb1df6d --- /dev/null +++ b/chapter04/src/router_countries.js @@ -0,0 +1,20 @@ +/* @flow */ +"use strict"; + +const express = require("express"); + +const routerCountries = express.Router(); + +routerCountries.get("/", (req, res) => { + res.send(`All countries... path=${req.originalUrl}`); +}); + +routerCountries.get("/UY", (req, res) => { + res.send(`GET UY (Uruguay)... path=${req.originalUrl}`); +}); + +routerCountries.get("/:country", (req, res) => { + res.send(`GET Single country... ${req.params.country}`); +}); + +module.exports = routerCountries; diff --git a/chapter04/src/router_home.js b/chapter04/src/router_home.js new file mode 100644 index 0000000..6bbd777 --- /dev/null +++ b/chapter04/src/router_home.js @@ -0,0 +1,16 @@ +/* @flow */ +"use strict"; + +const express = require("express"); + +const routerHome = express.Router(); + +const routerCountries = require("./router_countries.js"); +const routerRegions = require("./router_regions.js"); +const routerCities = require("./router_cities.js"); + +routerHome.use("/countries", routerCountries); +routerHome.use("/regions", routerRegions); +routerHome.use("/cities", routerCities); + +module.exports = routerHome; diff --git a/chapter04/src/router_regions.js b/chapter04/src/router_regions.js new file mode 100644 index 0000000..a1ed456 --- /dev/null +++ b/chapter04/src/router_regions.js @@ -0,0 +1,32 @@ +/* @flow */ +"use strict"; + +const express = require("express"); + +const routerRegions = express.Router(); + +routerRegions.get("/", (req, res) => { + res.send(`Region GET ALL... `); +}); + +routerRegions.get("/:country", (req, res) => { + res.send(`Region GET ALL FOR Country=${req.params.country}`); +}); + +routerRegions.get("/:country/:id", (req, res) => { + res.send(`Region GET ${req.params.country}/${req.params.id}`); +}); + +routerRegions.delete("/:country/:id", (req, res) => { + res.send(`Region DELETE... ${req.params.country}/${req.params.id}`); +}); + +routerRegions.post("/", (req, res) => { + res.send(`Region POST... `); +}); + +routerRegions.put("/:country/:id", (req, res) => { + res.send(`Region PUT... ${req.params.country}/${req.params.id}`); +}); + +module.exports = routerRegions; diff --git a/chapter04/src/routing.js b/chapter04/src/routing.js new file mode 100644 index 0000000..3997b31 --- /dev/null +++ b/chapter04/src/routing.js @@ -0,0 +1,19 @@ +/* @flow */ +"use strict"; + +const express = require("express"); +const app = express(); + +const myRouter = require("./router_home.js"); + +app.use("/", myRouter); + +// eslint-disable-next-line no-unused-vars +app.use((err, req, res, next) => { + console.error("Error....", err.message); + res.status(500).send("INTERNAL SERVER ERROR"); +}); + +app.listen(8080, () => + console.log("Routing ready at http://localhost:8080") +);