import { Router } from "express"; import multer from "multer"; import path from "path"; import * as authController from "../controllers/authController"; import * as beerController from "../controllers/beerController"; import * as docsController from "../controllers/docsController"; import * as reviewController from "../controllers/reviewController"; import { requireAuth } from "../middlewares/authMiddleware"; import validate from "../middlewares/validateRequest"; import valMulter from "../middlewares/validateMulterRequest"; import * as AuthVal from "../validators/authValidator"; import * as BVal from "../validators/beerValidator"; const upload = multer({ dest: path.resolve(__dirname, "../../uploads") }); const router = Router(); router.get("/", docsController.docs_get); router.post("/auth/signup", validate(AuthVal.signup), authController.signup_post); router.post("/auth/signin", validate(AuthVal.signin), authController.signin_post); router.post("/auth/logout", requireAuth, authController.logout_post); router.get("/auth/status", requireAuth, authController.status_get); router.post( "/beer/add", [requireAuth, upload.array("photos", 4), valMulter, validate(BVal.add)], beerController.add_post, ); router.get("/beer/get", [requireAuth], beerController.get_get); router.post("/beer/del", [requireAuth, validate(BVal.del)], beerController.del_post); router.post( "/beer/edit", [requireAuth, upload.array("photos", 4), valMulter, validate(BVal.edit)], beerController.edit_post, ); router.post("/review/add", requireAuth, reviewController.add_post); export default router;