You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

48 lines
1.0 KiB

const router = require("express").Router();
const User = require("../model/User");
const Client = require("../model/Client");
router.get("/", async (req, res) => {
const user = await User.find();
res.json(user);
});
router.post("/", async (req, res) => {
console.log("POSTing user");
const { email, username } = req.body;
// Don't accept duplicate emails
if (await User.query().findWhere("email", email).count() > 0) {
res.status(400).send("Email already taken");
return;
}
const user = await User.insert({
username,
email,
});
res.json(user);
});
router.get("/:id", async (req, res) => {
const id = req.params.id;
const result = await User.findById(id);
res.send(result);
});
router.delete("/:id", async (req, res) => {
const id = req.params.id;
const result = await User.deleteOne({ _id: id });
res.send(result);
});
router.get("/:id/clients", async (req, res) => {
const id = req.params.id;
Client.find({ created_by: id });
});
module.exports = router;