diff --git a/routes/articles.js b/routes/articles.js new file mode 100644 index 0000000..e5c04c4 --- /dev/null +++ b/routes/articles.js @@ -0,0 +1,30 @@ +const express = require("express"); +const router = express.Router(); +const { + getArticle, + getArticles, + createArticle, + articlesFeed, + addFavoriteArticle, + deleteFavoriteArticle, + deleteArticle, + updateArticle, +} = require("../controllers/articles"); +const { protect } = require("../middlewares/auth"); + +router + .route("/articles") + .get(protect, getArticles) + .post(protect, createArticle); +router.route("/articles/feed").get(protect, articlesFeed); +router + .route("/articles/:slug") + .get(protect, getArticle) + .put(protect, updateArticle) + .delete(protect, deleteArticle); +router + .route("/articles/:slug/favorite") + .post(protect, addFavoriteArticle) + .delete(protect, deleteFavoriteArticle); + +module.exports = router; diff --git a/routes/comments.js b/routes/comments.js new file mode 100644 index 0000000..322bea3 --- /dev/null +++ b/routes/comments.js @@ -0,0 +1,23 @@ +const express = require("express"); +const router = express.Router(); + +const { + getComment, + getComments, + createComment, + deleteComment, +} = require("../controllers/comments"); + +const { protect } = require("../middlewares/auth"); + +router + .route("/articles/:slug/comments") + .get(protect, getComments) + .post(protect, createComment); + +router + .route("/articles/:slug/comments/:id") + .get(protect, getComment) + .delete(protect, deleteComment); + +module.exports = router; diff --git a/routes/profiles.js b/routes/profiles.js new file mode 100644 index 0000000..d6a558b --- /dev/null +++ b/routes/profiles.js @@ -0,0 +1,16 @@ +const express = require("express"); +const router = express.Router(); +const { + getProfile, + followUser, + unfollowUser, +} = require("../controllers/profiles"); +const { protect } = require("../middlewares/auth"); + +router.route("/profiles/:username").get(protect, getProfile); +router + .route("/profiles/:username/follow") + .post(protect, followUser) + .delete(protect, unfollowUser); + +module.exports = router; diff --git a/routes/tags.js b/routes/tags.js new file mode 100644 index 0000000..5157a6d --- /dev/null +++ b/routes/tags.js @@ -0,0 +1,10 @@ +const express = require("express"); +const router = express.Router(); + +const { getTags } = require("../controllers/tags"); + +const { protect } = require("../middlewares/auth"); + +router.route("/tags/").get(getTags); + +module.exports = router; diff --git a/routes/users.js b/routes/users.js new file mode 100644 index 0000000..9bf832e --- /dev/null +++ b/routes/users.js @@ -0,0 +1,16 @@ +const express = require("express"); +const router = express.Router(); +const { + createUser, + loginUser, + getCurrentUser, + updateUser, +} = require("../controllers/users"); +const { protect } = require("../middlewares/auth"); + +router.post("/users", createUser); +router.post("/users/login", loginUser); + +router.route("/user").get(protect, getCurrentUser).put(protect, updateUser); + +module.exports = router;