storage.graphql 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. # ===============================================
  2. # STORAGE
  3. # ===============================================
  4. extend type Query {
  5. storageTargets(
  6. siteId: UUID!
  7. ): [StorageTarget]
  8. }
  9. extend type Mutation {
  10. updateStorageTargets(
  11. siteId: UUID!
  12. targets: [StorageTargetInput]!
  13. ): DefaultResponse
  14. setupStorageTarget(
  15. targetId: UUID!
  16. state: JSON!
  17. ): StorageTargetSetupResponse
  18. destroyStorageTargetSetup(
  19. targetId: UUID!
  20. ): DefaultResponse
  21. executeStorageAction(
  22. targetId: UUID!
  23. handler: String!
  24. ): DefaultResponse
  25. }
  26. # -----------------------------------------------
  27. # TYPES
  28. # -----------------------------------------------
  29. type StorageTarget {
  30. id: UUID
  31. isEnabled: Boolean
  32. module: String
  33. title: String
  34. description: String
  35. icon: String
  36. banner: String
  37. vendor: String
  38. website: String
  39. contentTypes: JSON
  40. assetDelivery: JSON
  41. versioning: JSON
  42. sync: JSON
  43. status: JSON
  44. setup: JSON
  45. config: JSON
  46. actions: JSON
  47. }
  48. type StorageTargetSetupResponse {
  49. operation: Operation
  50. state: JSON
  51. }
  52. input StorageTargetInput {
  53. id: UUID!
  54. module: String!
  55. isEnabled: Boolean
  56. contentTypes: [String!]
  57. largeThreshold: String
  58. assetDeliveryFileStreaming: Boolean
  59. assetDeliveryDirectAccess: Boolean
  60. syncMode: StorageTargetSyncMode
  61. syncInterval: String
  62. useVersioning: Boolean
  63. config: JSON
  64. }
  65. enum StorageTargetSyncMode {
  66. PULL
  67. PUSH
  68. SYNC
  69. }