feat: [sidebar] 사이드바 메뉴 즐겨찾기 기능 추가

- MenuFavorite 모델 생성 (menu_favorites 테이블)
- SidebarMenuService에 즐겨찾기 CRUD 메서드 추가
- MenuFavoriteController 생성 (toggle/reorder API)
- 사이드바 상단에 즐겨찾기 섹션 표시
- 메뉴 아이템에 별 아이콘 추가 (hover 시 표시, 토글)
- 최대 10개 제한, 리프 메뉴만 대상
This commit is contained in:
김보곤
2026-03-06 14:34:27 +09:00
parent ecd813c0b7
commit efd8d96156
8 changed files with 296 additions and 1 deletions

View File

@@ -0,0 +1,36 @@
<?php
namespace App\Models\Commons;
use App\Models\User;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
class MenuFavorite extends Model
{
protected $fillable = [
'tenant_id',
'user_id',
'menu_id',
'sort_order',
];
protected $casts = [
'sort_order' => 'integer',
];
public function menu(): BelongsTo
{
return $this->belongsTo(Menu::class);
}
public function user(): BelongsTo
{
return $this->belongsTo(User::class);
}
public function scopeForUser($query, int $userId)
{
return $query->where('user_id', $userId)->orderBy('sort_order');
}
}