tree.graphql 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. # ===============================================
  2. # TREE
  3. # ===============================================
  4. extend type Query {
  5. tree(
  6. siteId: UUID!
  7. parentId: UUID
  8. parentPath: String
  9. types: [TreeItemType]
  10. limit: Int
  11. offset: Int
  12. orderBy: TreeOrderBy
  13. orderByDirection: OrderByDirection
  14. depth: Int
  15. includeAncestors: Boolean
  16. ): [TreeItem]
  17. }
  18. extend type Mutation {
  19. createFolder(
  20. siteId: UUID!
  21. parentId: UUID
  22. pathName: String!
  23. title: String!
  24. ): DefaultResponse
  25. deleteFolder(
  26. folderId: UUID!
  27. ): DefaultResponse
  28. duplicateFolder(
  29. folderId: UUID!
  30. targetParentId: UUID
  31. targetPathName: String!
  32. targetTitle: String!
  33. ): DefaultResponse
  34. moveFolder(
  35. folderId: UUID!
  36. targetParentId: UUID
  37. ): DefaultResponse
  38. renameFolder(
  39. folderId: UUID!
  40. pathName: String
  41. title: String
  42. ): DefaultResponse
  43. }
  44. # -----------------------------------------------
  45. # TYPES
  46. # -----------------------------------------------
  47. enum TreeItemType {
  48. asset
  49. folder
  50. page
  51. }
  52. enum TreeOrderBy {
  53. createdAt
  54. fileName
  55. title
  56. updatedAt
  57. }
  58. type TreeItemFolder {
  59. id: UUID
  60. childrenCount: Int
  61. depth: Int
  62. fileName: String
  63. folderPath: String
  64. title: String
  65. }
  66. type TreeItemPage {
  67. id: UUID
  68. createdAt: Date
  69. depth: Int
  70. fileName: String
  71. folderPath: String
  72. editor: String
  73. pageType: String
  74. title: String
  75. updatedAt: Date
  76. }
  77. type TreeItemAsset {
  78. id: UUID
  79. createdAt: Date
  80. depth: Int
  81. fileName: String
  82. # In Bytes
  83. fileSize: Int
  84. fileType: String
  85. folderPath: String
  86. title: String
  87. updatedAt: Date
  88. }
  89. union TreeItem = TreeItemFolder | TreeItemPage | TreeItemAsset