parent
b87d40ade8
commit
c8b48004f0
@ -1,124 +1,21 @@ |
||||
import { Router } from "express"; |
||||
import { CatType, Cat } from "./cats.model"; |
||||
import { |
||||
createCat, |
||||
deleteCat, |
||||
readAllCat, |
||||
readCat, |
||||
updateCat, |
||||
updatePartialCat, |
||||
} from "./cats.service"; |
||||
|
||||
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, |
||||
}); |
||||
} |
||||
}); |
||||
|
||||
// * 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, |
||||
}); |
||||
} |
||||
}); |
||||
router.post("/cats", createCat); |
||||
router.get("/cats", readAllCat); |
||||
router.get("/cats/:id", readCat); |
||||
router.put("/cats/:id", updateCat); |
||||
router.patch("/cats/:id", updatePartialCat); |
||||
router.delete("/cats/:id", deleteCat); |
||||
|
||||
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