import { Router } from "express";
import { authenticateToken } from "../middleware/authMiddleware";
import { adjustBatch, getAdjustHistory, getStockDetail, loadTempCart, clearTempCart, updateCartStatus, getLocations, locationLookup, getProcessStock, getProcessStockV2, getItemHistory, moveBatch } from "../controllers/popInventoryController";

const router = Router();
router.use(authenticateToken);

// 재고 목록 + 품목상세 JOIN 조회
router.get("/stock-detail", getStockDetail);

// 임시저장 불러오기/삭제/상태변경
router.get("/temp-load", loadTempCart);
router.delete("/temp-clear", clearTempCart);
router.post("/temp-status", updateCartStatus);

// 재고 조정 일괄 확정
router.post("/adjust-batch", adjustBatch);

// 재고 조정 이력 조회
router.get("/adjust-history", getAdjustHistory);

// 창고별 위치 목록 조회
router.get("/locations", getLocations);

// 위치코드로 창고+위치 조회 (QR 스캔)
router.get("/location-lookup", locationLookup);

// 공정 진행 중 수량 조회
router.get("/process-stock", getProcessStock);

// 공정별 대기수량/미입고 조회 (v2)
router.get("/process-stock-v2", getProcessStockV2);

// 품목별 재고 이력 조회
router.get("/item-history", getItemHistory);

// 재고 이동 일괄 실행
router.post("/move-batch", moveBatch);

export default router;
