/**
 * 출고관리 라우트
 */

import { Router } from "express";
import { authenticateToken } from "../middleware/authMiddleware";
import * as outboundController from "../controllers/outboundController";

const router = Router();

router.use(authenticateToken);

// 출고 목록 조회
router.get("/list", outboundController.getList);

// 출고번호 자동생성
router.get("/generate-number", outboundController.generateNumber);

// 창고 목록 조회
router.get("/warehouses", outboundController.getWarehouses);

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

// 소스 데이터: 출하지시 (판매출고)
router.get("/source/shipment-instructions", outboundController.getShipmentInstructions);

// 소스 데이터: 발주 (반품출고)
router.get("/source/purchase-orders", outboundController.getPurchaseOrders);

// 소스 데이터: 품목 (기타출고)
router.get("/source/items", outboundController.getItems);

// 출고 등록
router.post("/", outboundController.create);

// 출고 수정
router.put("/:id", outboundController.update);

// 출고 삭제
router.delete("/:id", outboundController.deleteOutbound);

export default router;
