feat: create user endpoint

This commit is contained in:
canove
2020-08-27 19:19:25 -03:00
parent ffc4538d47
commit 04477783b4
7 changed files with 99 additions and 25 deletions

View File

@@ -1,32 +1,9 @@
const express = require("express");
const { body } = require("express-validator");
const User = require("../models/User");
const SessionController = require("../controllers/SessionController");
const UserController = require("../controllers/UserController");
const isAuth = require("../middleware/is-auth");
const routes = express.Router();
routes.post(
"/signup",
[
body("email")
.isEmail()
.withMessage("Email inválido")
.custom((value, { req }) => {
return User.findOne({ where: { email: value } }).then(user => {
if (user) {
return Promise.reject("An user with this email already exists!");
}
});
})
.normalizeEmail(),
body("password").trim().isLength({ min: 5 }),
body("name").trim().not().isEmpty(),
],
UserController.store
);
routes.post("/login", SessionController.store);
routes.get("/check", isAuth, (req, res) => {

View File

@@ -0,0 +1,36 @@
const express = require("express");
const { body } = require("express-validator");
const User = require("../models/User");
const isAuth = require("../middleware/is-auth");
const UserController = require("../controllers/UserController");
const routes = express.Router();
routes.get("/users", isAuth, UserController.index);
routes.post(
"/users",
[
body("email")
.isEmail()
.withMessage("Email inválido")
.custom((value, { req }) => {
return User.findOne({ where: { email: value } }).then(user => {
if (user) {
return Promise.reject("An user with this email already exists!");
}
});
})
.normalizeEmail(),
body("password").trim().isLength({ min: 5 }),
body("name").trim().not().isEmpty(),
],
UserController.store
);
routes.put("/users/:userId", isAuth, UserController.update);
routes.delete("/users/:userId", isAuth, UserController.delete);
module.exports = routes;