diff --git a/catDataMocking/src/app.ts b/catDataMocking/src/app.ts index e9d358a..700a538 100644 --- a/catDataMocking/src/app.ts +++ b/catDataMocking/src/app.ts @@ -1,7 +1,7 @@ import * as express from "express"; import * as cors from "cors"; -import { CatType, Cat } from "./app.model"; +import catsRouter from "./cats/cats.route"; const app: express.Express = express(); const port: number = 8000; @@ -17,52 +17,7 @@ app.use((req, res, next) => { // * json middleware app.use(express.json()); -// * C -app.post("/cats", (req, res) => { - try { - const data = req.body; - Cat.push(data); - res.status(200).send({ - success: true, - data: { data }, - }); - } catch (error) {} -}); - -// * R -app.get("/cats", (req, res) => { - try { - const cats = Cat; - res.status(200).send({ - success: true, - data: { cats }, - }); - } catch (error) { - res.status(400).send({ - success: false, - error: error.message, - }); - } -}); - -app.get("/cats/:id", (req, res) => { - try { - const params = req.params; - const cats = Cat.find((cat) => { - return cat.id === params.id; - }); - if (!cats) throw new Error("no matched data"); - res.status(200).send({ - success: true, - data: { cats }, - }); - } catch (error) { - res.status(400).send({ - success: false, - error: error.message, - }); - } -}); +app.use(catsRouter); // * 404 middleware app.use((req, res, next) => { diff --git a/catDataMocking/src/app.model.ts b/catDataMocking/src/cats/cats.model.ts similarity index 100% rename from catDataMocking/src/app.model.ts rename to catDataMocking/src/cats/cats.model.ts diff --git a/catDataMocking/src/cats/cats.route.ts b/catDataMocking/src/cats/cats.route.ts new file mode 100644 index 0000000..3e70a59 --- /dev/null +++ b/catDataMocking/src/cats/cats.route.ts @@ -0,0 +1,53 @@ +import { Router } from "express"; +import { CatType, Cat } from "./cats.model"; + +const router = Router(); + +// * C +router.post("/cats", (req, res) => { + try { + const data = req.body; + Cat.push(data); + res.status(200).send({ + success: true, + data: { data }, + }); + } catch (error) {} +}); + +// * R +router.get("/cats", (req, res) => { + try { + const cats = Cat; + res.status(200).send({ + success: true, + data: { cats }, + }); + } catch (error) { + res.status(400).send({ + success: false, + error: error.message, + }); + } +}); + +router.get("/cats/:id", (req, res) => { + try { + const params = req.params; + const cats = Cat.find((cat) => { + return cat.id === params.id; + }); + if (!cats) throw new Error("no matched data"); + res.status(200).send({ + success: true, + data: { cats }, + }); + } catch (error) { + res.status(400).send({ + success: false, + error: error.message, + }); + } +}); + +export default router;