from typing import List, Optional from core.models.base import BaseModel class RouteMeta(BaseModel): orderNo: int title: str ignoreAuth: Optional[bool] roles: Optional[List[str]] ignoreKeepAlive: Optional[bool] affix: Optional[bool] icon: Optional[str] frameSrc: Optional[str] transitionName: Optional[str] hideBreadcrumb: Optional[bool] hideChildrenInMenu: Optional[bool] carryParam: Optional[bool] single: Optional[bool] currentActiveMenu: Optional[str] hideTab: Optional[bool] hideMenu: Optional[bool] isLink: Optional[bool] ignoreRoute: Optional[bool] hidePathForChildren: Optional[bool] class VueRouteNative(BaseModel): name: str meta: RouteMeta props: Optional[dict] fullPath: Optional[str] class VueRoute(VueRouteNative): children: List[VueRouteNative]