# =============================================== # NAVIGATION # =============================================== extend type Query { navigation: NavigationQuery } extend type Mutation { navigation: NavigationMutation } # ----------------------------------------------- # QUERIES # ----------------------------------------------- type NavigationQuery { tree: [NavigationTree]! } # ----------------------------------------------- # MUTATIONS # ----------------------------------------------- type NavigationMutation { updateTree( tree: [NavigationTreeInput]! ): DefaultResponse @auth(requires: ["manage:navigation", "manage:system"]) } # ----------------------------------------------- # TYPES # ----------------------------------------------- type NavigationTree { locale: String! items: [NavigationItem]! } input NavigationTreeInput { locale: String! items: [NavigationItemInput]! } type NavigationItem { id: String! kind: String! label: String icon: String targetType: String target: String } input NavigationItemInput { id: String! kind: String! label: String icon: String targetType: String target: String }