express-nodejs-app/src/controller/person.controller.ts
Sambo Chea 03458fe00c
Some checks failed
continuous-integration/drone/push Build is failing
Add express server from module and updated the server and config
2021-09-16 18:14:49 +07:00

68 lines
1.5 KiB
TypeScript

import { Request, Response } from "express"
import {
Controller,
Delete,
Get,
Post,
} from "@cubetiq/express-server/dist/decorators"
const persons: Array<any> = [
{
id: 1,
name: "Sambo",
},
]
@Controller("/person")
export default class PersonController {
@Get()
public getPersons(req: Request, res: Response) {
res.json(persons)
}
@Post()
public createPerson(req: Request, res: Response) {
const person = req.body
if (person == null) {
return res.status(400).json({
status: 400,
message: "Person is required",
})
}
persons.push(person)
res.json({
message: "Person created successfully",
body: person,
})
}
@Delete("/:id")
public deletePerson(req: Request, res: Response) {
const id = req.params.id
if (id == null) {
return res.status(400).json({
status: 400,
message: "Id is required",
})
}
const person = persons.find((person) => person.id === Number(id))
if (person == null) {
return res.status(404).json({
status: 404,
message: "Person not found",
})
}
persons.splice(persons.indexOf(person), 1)
res.json({
message: "Person deleted successfully",
body: person,
})
}
}