navigation.graphql 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. # ===============================================
  2. # NAVIGATION
  3. # ===============================================
  4. extend type Query {
  5. navigationById(
  6. id: UUID!
  7. ): [NavigationItem]
  8. }
  9. # -----------------------------------------------
  10. # MUTATIONS
  11. # -----------------------------------------------
  12. extend type Mutation {
  13. updateNavigation(
  14. pageId: UUID!
  15. mode: NavigationMode!
  16. items: [NavigationItemInput!]
  17. ): NavigationUpdateResponse
  18. }
  19. # -----------------------------------------------
  20. # TYPES
  21. # -----------------------------------------------
  22. type NavigationItem {
  23. id: UUID
  24. type: NavigationItemType
  25. label: String
  26. icon: String
  27. target: String
  28. openInNewWindow: Boolean
  29. visibilityGroups: [UUID]
  30. children: [NavigationItem]
  31. }
  32. input NavigationItemInput {
  33. id: UUID!
  34. type: NavigationItemType!
  35. label: String
  36. icon: String
  37. target: String
  38. openInNewWindow: Boolean
  39. visibilityGroups: [UUID!]!
  40. children: [NavigationItemInput!]
  41. }
  42. enum NavigationItemType {
  43. header
  44. link
  45. separator
  46. }
  47. enum NavigationMode {
  48. inherit
  49. override
  50. overrideExact
  51. hide
  52. hideExact
  53. }
  54. type NavigationUpdateResponse {
  55. operation: Operation
  56. navigationMode: NavigationMode
  57. navigationId: UUID
  58. }