maplestory/backend/models/Menu.js
caadiq a0fd5a2dbb 메뉴 CRUD 백엔드 + 폼 개선
백엔드:
- Menu 모델 + admin/menus CRUD API + 공개 /api/menus 엔드포인트
- 정렬 변경(reorder) API 추가 (드래그앤드롭 대비)

프론트엔드:
- 메뉴 삭제 기능 (편집 모드 폼 좌측 빨간 버튼)
- ConfirmDialog를 공용 컴포넌트로 추출
- URL 입력을 prefix(/) 형태로 분리, 실제 URL 미리보기 표시
- 캐시 hit 시 폼 동기화 안되던 버그 수정 (useEffect로 데이터 sync)
- 전역 button/a 태그에 cursor-pointer 적용

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 15:20:46 +09:00

15 lines
580 B
JavaScript

import { DataTypes } from 'sequelize';
import { sequelize } from '../lib/db.js';
export const Menu = sequelize.define('Menu', {
id: { type: DataTypes.INTEGER, autoIncrement: true, primaryKey: true },
title: { type: DataTypes.STRING(100), allowNull: false },
description: { type: DataTypes.STRING(255) },
url: { type: DataTypes.STRING(255), allowNull: false },
image_id: { type: DataTypes.INTEGER, allowNull: true },
sort_order: { type: DataTypes.INTEGER, defaultValue: 0 },
}, {
tableName: 'menus',
underscored: true,
indexes: [{ fields: ['sort_order'] }],
});