Postman: https://drive.google.com/drive/folders/1EpayawVPL7cSGiYeytCUsy80UtX5iIgw?usp=share_link
Vamos entender aqui o backend através das rotas que temos. Começaremos acessando o arquivo “router.js”, que é onde a gente vai se interessa.
Nós vamos ver que começamos pelo post de login e registro, que será por onde começaremos a trabalhar com o backend, pela sua autenticação
router.post("/login", authController.login)
router.post("/register", authController.register)
Você pode notar que nós temos o método que estamos utilizando “.post”, precisamos lembrar disso para usar da forma correta na hora de conectar com o front.
Em seguida nós vamos ter a rota e como vamos usar ela “/login”
Logo depois nós temos de onde vem o método que estamos usando, nesse caso de dentro de authController, que caso você queira ver o arquivo, basta você ver na linha de importação de onde ele vem, nesse caso do auth, na linha 3.
Podemos ver que ele está dentro da pasta controllers no arquivo auth-controller, e aí podemos acessar lá para ver o método se quisermos.
E isso se repete para as demais funções do app. Em seguida temos a categoria, que serão fixas, e eu vou passar para você essas categorias.
router.get("/categories", categoriesController.index)
Vamos ter toda a lógica de produtos, com diversos métodos e essa será a segunda coisa que vamos mexer no app.
router.get("/products", productsController.index)
router.get("/products/search", productsController.search)
router.post("/products", withAuth, productUpload.array("images", 6), productsController.save)
router.put("/products/:_id", withAuth, productsController.update)
router.put("/products/:_id/images", withAuth, productUpload.array("newImages", 6), productsController.updateImages)
router.delete("/products/:_id", withAuth, productsController.delete)
Você pode notar que nessas rotas temos um método adicional, que é o “withAuth”, significa que essas rotas são protegidas por autenticação, e vão precisar de um token.
Temos abaixo as rotas de profile, que são também protegidas e vão servir para termos acesso as informações do usuário e suas atualizações
router.put("/profile", withAuth, profilesController.update)
router.put("/profile/password", withAuth, profilesController.updatePassword)
router.get("/users/:_id", withAuth, usersController.show)
Abaixo temos os endereços, que são ligados com os usuários
router.get("/addresses", withAuth, addressesController.index)
router.post("/addresses", withAuth, addressesController.save)
router.delete("/addresses/:_id", withAuth, addressesController.delete)
Temos os favoritos dos produtos
router.get("/favorites", withAuth, favoritesController.index)
router.post("/favorites", withAuth, favoritesController.add)
router.delete("/favorites/:product_id", withAuth, favoritesController.remove)
E por fim as avaliações do usuário e também as conversas
router.post("/ratings", withAuth, ratingsController.rate)
router.get("/conversations", withAuth, conversationsController.index)
router.post("/conversations", withAuth, conversationsController.save)
router.post("/conversations/:_id/send", withAuth, conversationsController.send)
Nós vamos seguir basicamente na ordem que temos aqui na hora de criar, e caso você queira ter acesso ao postman do backend para fazer testes individuais com as rotas, aq esta: https://drive.google.com/drive/folders/1EpayawVPL7cSGiYeytCUsy80UtX5iIgw?usp=share_link
E aí basta você importar e usar.