apisculptify
Version:
Apisculptify is a powerful Node.js tool designed to automate the process of generating RESTful APIs for your TypeORM models. With Apisculptify, you can quickly create a new project, define your TypeORM models, and effortlessly generate CRUD (Create, Read,
85 lines (73 loc) • 2.42 kB
Plain Text
import express, { Router } from "express";
import { ErrorResult } from "../util/error-result";
import { [[MODEL_NAME_WITHOUT_KEY]]Controller } from "../controllers/[[MODEL_NAME_WITH_DASH]].controller";
export const [[MODEL_NAME_WITHOUT_KEY]]Router: Router = express.Router();
[[MODEL_NAME_WITHOUT_KEY]]Router.post("/", async (req, res) => {
try {
let ans = await [[MODEL_NAME_WITHOUT_KEY]]Controller.add(req.body);
return res.status(200).json(ans);
}
catch (e: any) {
return res.status(400).json(
new ErrorResult(true, e.message)
)
}
})
[[MODEL_NAME_WITHOUT_KEY]]Router.put("/:uid", async (req, res) => {
try {
let ans = await [[MODEL_NAME_WITHOUT_KEY]]Controller.update(req.params.uid, req.body);
return res.status(200).json(ans);
}
catch (e: any) {
return res.status(400).json(
new ErrorResult(true, e.message)
)
}
})
[[MODEL_NAME_WITHOUT_KEY]]Router.delete("/:uid", async (req, res) => {
try {
let ans = await [[MODEL_NAME_WITHOUT_KEY]]Controller.delete(req.params.uid);
return res.status(200).json(ans);
}
catch (e: any) {
return res.status(400).json(
new ErrorResult(true, e.message)
)
}
})
[[MODEL_NAME_WITHOUT_KEY]]Router.get("/byuid/:uid", async (req, res) => {
try {
let ans = await [[MODEL_NAME_WITHOUT_KEY]]Controller.getByUid(req.params.uid);
return res.status(200).json(ans);
}
catch (e: any) {
return res.status(400).json(
new ErrorResult(true, e.message)
)
}
})
[[MODEL_NAME_WITHOUT_KEY]]Router.get("/search", async (req, res) => {
try {
let start = 0, limit = 10, sort: any = {};
if (req.query.start) {
start = Number(req.query.start);
delete req.query.start;
}
if (req.query.limit) {
limit = Number(req.query.limit);
delete req.query.limit
}
if (req.query.sort) {
sort = req.query.sort;
sort = JSON.parse(sort)
delete req.query.sort;
}
let result = await [[MODEL_NAME_WITHOUT_KEY]]Controller.find(req.query, sort, start, limit);
return res.status(200).json(result);
}
catch (e: any) {
return res.status(400).json(
new ErrorResult(true, e.message)
)
}
})