parent
b87d40ade8
commit
c8b48004f0
@ -1,124 +1,21 @@ |
|||||||
import { Router } from "express"; |
import { Router } from "express"; |
||||||
import { CatType, Cat } from "./cats.model"; |
import { CatType, Cat } from "./cats.model"; |
||||||
|
import { |
||||||
|
createCat, |
||||||
|
deleteCat, |
||||||
|
readAllCat, |
||||||
|
readCat, |
||||||
|
updateCat, |
||||||
|
updatePartialCat, |
||||||
|
} from "./cats.service"; |
||||||
|
|
||||||
const router = Router(); |
const router = Router(); |
||||||
|
|
||||||
// * C
|
router.post("/cats", createCat); |
||||||
router.post("/cats", (req, res) => { |
router.get("/cats", readAllCat); |
||||||
try { |
router.get("/cats/:id", readCat); |
||||||
const data = req.body; |
router.put("/cats/:id", updateCat); |
||||||
Cat.push(data); |
router.patch("/cats/:id", updatePartialCat); |
||||||
res.status(200).send({ |
router.delete("/cats/:id", deleteCat); |
||||||
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, |
|
||||||
}); |
|
||||||
} |
|
||||||
}); |
|
||||||
|
|
||||||
// * U
|
|
||||||
router.put("/cats/:id", (req, res) => { |
|
||||||
try { |
|
||||||
const params = req.params; |
|
||||||
const body = req.body; |
|
||||||
let result; |
|
||||||
const index = Cat.findIndex((cat) => cat.id === params.id); |
|
||||||
if (index !== -1) { |
|
||||||
const tempId = params.id; |
|
||||||
const newCat = { ...body, id: tempId }; |
|
||||||
Cat[index] = newCat; |
|
||||||
result = newCat; |
|
||||||
} |
|
||||||
res.status(200).send({ |
|
||||||
success: true, |
|
||||||
data: { cat: result }, |
|
||||||
}); |
|
||||||
} catch (error) { |
|
||||||
res.status(400).send({ |
|
||||||
success: false, |
|
||||||
error: error.message, |
|
||||||
}); |
|
||||||
} |
|
||||||
}); |
|
||||||
|
|
||||||
router.patch("/cats/:id", (req, res) => { |
|
||||||
try { |
|
||||||
const params = req.params; |
|
||||||
const body = req.body; |
|
||||||
let result; |
|
||||||
const index = Cat.findIndex((cat) => cat.id === params.id); |
|
||||||
if (index !== -1) { |
|
||||||
const tempId = params.id; |
|
||||||
const newCat = { ...Cat[index], ...body, id: tempId }; |
|
||||||
Cat[index] = newCat; |
|
||||||
result = newCat; |
|
||||||
} |
|
||||||
res.status(200).send({ |
|
||||||
success: true, |
|
||||||
data: { cat: result }, |
|
||||||
}); |
|
||||||
} catch (error) { |
|
||||||
res.status(400).send({ |
|
||||||
success: false, |
|
||||||
error: error.message, |
|
||||||
}); |
|
||||||
} |
|
||||||
}); |
|
||||||
|
|
||||||
// * D
|
|
||||||
router.delete("/cats/:id", (req, res) => { |
|
||||||
try { |
|
||||||
const params = req.params; |
|
||||||
const body = req.body; |
|
||||||
let result; |
|
||||||
const index = Cat.findIndex((cat) => cat.id === params.id); |
|
||||||
if (index !== -1) { |
|
||||||
Cat.splice(index, 1); |
|
||||||
} |
|
||||||
res.status(200).send({ |
|
||||||
success: true, |
|
||||||
data: { cat: result }, |
|
||||||
}); |
|
||||||
} catch (error) { |
|
||||||
res.status(400).send({ |
|
||||||
success: false, |
|
||||||
error: error.message, |
|
||||||
}); |
|
||||||
} |
|
||||||
}); |
|
||||||
|
|
||||||
export default router; |
export default router; |
||||||
|
@ -0,0 +1,120 @@ |
|||||||
|
import { Request, Response } from "express"; |
||||||
|
import { CatType, Cat } from "./cats.model"; |
||||||
|
|
||||||
|
// * C
|
||||||
|
export const createCat = (req: Request, res: Response) => { |
||||||
|
try { |
||||||
|
const data = req.body; |
||||||
|
Cat.push(data); |
||||||
|
res.status(200).send({ |
||||||
|
success: true, |
||||||
|
data: { data }, |
||||||
|
}); |
||||||
|
} catch (error) {} |
||||||
|
}; |
||||||
|
|
||||||
|
// * R
|
||||||
|
export const readAllCat = (req: Request, res: Response) => { |
||||||
|
try { |
||||||
|
const cats = Cat; |
||||||
|
res.status(200).send({ |
||||||
|
success: true, |
||||||
|
data: { cats }, |
||||||
|
}); |
||||||
|
} catch (error) { |
||||||
|
res.status(400).send({ |
||||||
|
success: false, |
||||||
|
error: error.message, |
||||||
|
}); |
||||||
|
} |
||||||
|
}; |
||||||
|
|
||||||
|
export const readCat = (req: Request, res: Response) => { |
||||||
|
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, |
||||||
|
}); |
||||||
|
} |
||||||
|
}; |
||||||
|
|
||||||
|
// * U
|
||||||
|
export const updateCat = (req: Request, res: Response) => { |
||||||
|
try { |
||||||
|
const params = req.params; |
||||||
|
const body = req.body; |
||||||
|
let result; |
||||||
|
const index = Cat.findIndex((cat) => cat.id === params.id); |
||||||
|
if (index !== -1) { |
||||||
|
const tempId = params.id; |
||||||
|
const newCat = { ...body, id: tempId }; |
||||||
|
Cat[index] = newCat; |
||||||
|
result = newCat; |
||||||
|
} |
||||||
|
res.status(200).send({ |
||||||
|
success: true, |
||||||
|
data: { cat: result }, |
||||||
|
}); |
||||||
|
} catch (error) { |
||||||
|
res.status(400).send({ |
||||||
|
success: false, |
||||||
|
error: error.message, |
||||||
|
}); |
||||||
|
} |
||||||
|
}; |
||||||
|
|
||||||
|
export const updatePartialCat = (req: Request, res: Response) => { |
||||||
|
try { |
||||||
|
const params = req.params; |
||||||
|
const body = req.body; |
||||||
|
let result; |
||||||
|
const index = Cat.findIndex((cat) => cat.id === params.id); |
||||||
|
if (index !== -1) { |
||||||
|
const tempId = params.id; |
||||||
|
const newCat = { ...Cat[index], ...body, id: tempId }; |
||||||
|
Cat[index] = newCat; |
||||||
|
result = newCat; |
||||||
|
} |
||||||
|
res.status(200).send({ |
||||||
|
success: true, |
||||||
|
data: { cat: result }, |
||||||
|
}); |
||||||
|
} catch (error) { |
||||||
|
res.status(400).send({ |
||||||
|
success: false, |
||||||
|
error: error.message, |
||||||
|
}); |
||||||
|
} |
||||||
|
}; |
||||||
|
|
||||||
|
// * D
|
||||||
|
export const deleteCat = (req: Request, res: Response) => { |
||||||
|
try { |
||||||
|
const params = req.params; |
||||||
|
const body = req.body; |
||||||
|
let result; |
||||||
|
const index = Cat.findIndex((cat) => cat.id === params.id); |
||||||
|
if (index !== -1) { |
||||||
|
Cat.splice(index, 1); |
||||||
|
} |
||||||
|
res.status(200).send({ |
||||||
|
success: true, |
||||||
|
data: { cat: result }, |
||||||
|
}); |
||||||
|
} catch (error) { |
||||||
|
res.status(400).send({ |
||||||
|
success: false, |
||||||
|
error: error.message, |
||||||
|
}); |
||||||
|
} |
||||||
|
}; |
Loading…
Reference in new issue