package cn.nianxx.thhotel.platform.navigation.common.result;

import com.fasterxml.jackson.annotation.JsonProperty;
import java.time.OffsetDateTime;

/**
 * 管理后台菜单结果。
 */
public record AdminMenuResult(
        /** 菜单内部 ID 字符串。 */
        String id,
        /** 父菜单内部 ID 字符串。 */
        @JsonProperty("parent_id")
        String parentId,
        /** 稳定菜单代码。 */
        @JsonProperty("menu_code")
        String menuCode,
        /** 菜单展示名称。 */
        @JsonProperty("menu_name")
        String menuName,
        /** 菜单类型。 */
        @JsonProperty("menu_type")
        String menuType,
        /** 前端路由路径。 */
        @JsonProperty("route_path")
        String routePath,
        /** 前端组件标识。 */
        @JsonProperty("component_key")
        String componentKey,
        /** 前端图标标识。 */
        @JsonProperty("icon_key")
        String iconKey,
        /** 菜单入口权限码。 */
        @JsonProperty("permission_code")
        String permissionCode,
        /** 排序号。 */
        @JsonProperty("sort_order")
        Integer sortOrder,
        /** 是否菜单可见。 */
        Boolean visible,
        /** 菜单状态。 */
        @JsonProperty("menu_status")
        String menuStatus,
        /** 是否当前前端已知路由。 */
        @JsonProperty("known_route")
        Boolean knownRoute,
        /** 创建 UTC 时间。 */
        @JsonProperty("created_at")
        OffsetDateTime createdAt,
        /** 更新 UTC 时间。 */
        @JsonProperty("updated_at")
        OffsetDateTime updatedAt
) {
}
