# =============================================== # NAVIGATION # =============================================== extend type Query { navigationById( id: UUID! ): [NavigationItem] } # ----------------------------------------------- # MUTATIONS # ----------------------------------------------- extend type Mutation { updateNavigation( pageId: UUID! mode: NavigationMode! items: [NavigationItemInput!] ): NavigationUpdateResponse } # ----------------------------------------------- # TYPES # ----------------------------------------------- type NavigationItem { id: UUID type: NavigationItemType label: String icon: String target: String openInNewWindow: Boolean visibilityGroups: [UUID] children: [NavigationItem] } input NavigationItemInput { id: UUID! type: NavigationItemType! label: String icon: String target: String openInNewWindow: Boolean visibilityGroups: [UUID!]! children: [NavigationItemInput!] } enum NavigationItemType { header link separator } enum NavigationMode { inherit override overrideExact hide hideExact } type NavigationUpdateResponse { operation: Operation navigationMode: NavigationMode navigationId: UUID }