import {
  createHotDealHandler,
  deleteHotDealHandler,
  getHotDealHandler,
  listHotDealsHandler,
  updateHotDealHandler,
} from "@/controllers/admin/hot-deals/hot-deals.controller";
import { withConsoleUserRole } from "@/middlewares/console-role";
import { withConsoleUserSession } from "@/middlewares/withConsoleUserSession";
import { Hono } from "hono";

export const HotDealsRoutes = new Hono();

HotDealsRoutes.get(
  "/",
  withConsoleUserSession(),
  withConsoleUserRole("hot-deals", "read"),
  listHotDealsHandler,
);

HotDealsRoutes.get(
  "/:id",
  withConsoleUserSession(),
  withConsoleUserRole("hot-deals", "read"),
  getHotDealHandler,
);

HotDealsRoutes.post(
  "/",
  withConsoleUserSession(),
  withConsoleUserRole("hot-deals", "create"),
  createHotDealHandler,
);

HotDealsRoutes.put(
  "/:id",
  withConsoleUserSession(),
  withConsoleUserRole("hot-deals", "update"),
  updateHotDealHandler,
);

HotDealsRoutes.delete(
  "/:id",
  withConsoleUserSession(),
  withConsoleUserRole("hot-deals", "delete"),
  deleteHotDealHandler,
);
