백엔드: - 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>
15 lines
580 B
JavaScript
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'] }],
|
|
});
|