Skip to content

[BE2-B] 메뉴·카테고리 관리자 CRUD #23

Description

@yesung05

작업 내용

docs/백엔드_기능명세.md Module B 섹션 참고.

신규 파일: backend/api/admin/menu.py. backend/dao/menu_dao.py/backend/schemas/menu_schemas.py
관리자용 함수·스키마(CategoryIn, MenuItemIn, MenuOptionIn) 추가.

API

Method Path
POST/PATCH/DELETE /api/admin/categories, /api/admin/categories/{id}
POST/PATCH/DELETE /api/admin/menu/items, /api/admin/menu/items/{id}
POST/PATCH/DELETE /api/admin/menu/items/{id}/options, .../options/{option_id}

응답은 기존 CategoryOut/MenuItemOut/MenuOptionOut 재사용. 진행 중인 주문에 포함된 메뉴는
하드 삭제 금지(is_available=False 소프트 삭제만, 하드 삭제 시도 시 409).

★ 중요: 캐시 무효화 연동

메뉴 CRUD(생성/수정/삭제) 끝에서 ai_modules/llm/rag.pyinvalidate_cache()를 반드시 호출한다.
이 함수는 이미 정의되어 있지만 현재 어디서도 호출되지 않아, 메뉴를 바꿔도 음성 주문 Tool
(search_menu)이 옛 데이터로 검색한다.

완료 기준

  • 메뉴 가격 수정 후 GET /api/menu에 즉시 반영
  • 메뉴 품절 처리 후 음성으로 해당 메뉴 주문 시도 시 "품절" 안내로 이어짐(캐시 무효화 확인)
  • 진행 중인 주문에 포함된 메뉴는 하드 삭제 불가(409)

참고

docs/백엔드_기능명세.md Module B. 선행 조건: #22(관리자 인증).

Metadata

Metadata

Assignees

Labels

admin관리자 화면/API 관련 작업phase2Phase 2: 백엔드 로직 보완 + 관리자 화면routerFastAPI 라우터

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions