using System.ComponentModel.DataAnnotations; namespace Fitness_core_BE.Models { // Global reference table (not per-tenant) driving the gym-owner dashboard's sidebar. // Key doubles as the permission key used by GymRolePermission and RequiresPermissionAttribute — // this is a coarse, one-permission-per-nav-section system, so a separate PermissionKey // column would just be a redundant mirror of Key. public class NavItem { [Key] public string Key { get; set; } = string.Empty; public string Label { get; set; } = string.Empty; public string? ShortLabel { get; set; } public string Href { get; set; } = string.Empty; public string Icon { get; set; } = string.Empty; public int SortOrder { get; set; } // Rows like "settings" are never grantable to staff, regardless of role — the owner // always sees them, staff never does. public bool IsOwnerOnly { get; set; } = false; public bool IsActive { get; set; } = true; } }