feat: 메뉴 드래그 앤 드롭 정렬 기능 추가

- MenuService.reorderMenus() 메서드 추가
- MenuController.reorder() API 엔드포인트 추가
- POST /api/admin/menus/reorder 라우트 추가
- SortableJS 기반 드래그 앤 드롭 UI 구현
- 같은 부모 메뉴 내에서만 순서 변경 가능 (계층 구조 유지)
This commit is contained in:
2025-12-01 15:24:49 +09:00
parent c8ddbfd130
commit 302b9d73aa
5 changed files with 150 additions and 13 deletions

View File

@@ -321,4 +321,23 @@ public function toggleHidden(int $id): bool
return $menu->save();
}
/**
* 메뉴 순서 변경 (드래그앤드롭)
* 같은 parent_id 내에서만 순서 변경
*/
public function reorderMenus(array $items): bool
{
return \DB::transaction(function () use ($items) {
foreach ($items as $item) {
Menu::where('id', $item['id'])
->update([
'sort_order' => $item['sort_order'],
'updated_by' => auth()->id(),
]);
}
return true;
});
}
}