| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 | # ===============================================# STORAGE# ===============================================extend type Query {  storageTargets(    siteId: UUID!    ): [StorageTarget]}extend type Mutation {  updateStorageTargets(    siteId: UUID!    targets: [StorageTargetInput]!  ): DefaultResponse  setupStorageTarget(    targetId: UUID!    state: JSON!  ): StorageTargetSetupResponse  destroyStorageTargetSetup(    targetId: UUID!  ): DefaultResponse  executeStorageAction(    targetId: UUID!    handler: String!  ): DefaultResponse}# -----------------------------------------------# TYPES# -----------------------------------------------type StorageTarget {  id: UUID  isEnabled: Boolean  module: String  title: String  description: String  icon: String  banner: String  vendor: String  website: String  contentTypes: JSON  assetDelivery: JSON  versioning: JSON  sync: JSON  status: JSON  setup: JSON  config: JSON  actions: JSON}type StorageTargetSetupResponse {  operation: Operation  state: JSON}input StorageTargetInput {  id: UUID!  module: String!  isEnabled: Boolean  contentTypes: [String!]  largeThreshold: String  assetDeliveryFileStreaming: Boolean  assetDeliveryDirectAccess: Boolean  syncMode: StorageTargetSyncMode  syncInterval: String  useVersioning: Boolean  config: JSON}enum StorageTargetSyncMode {  PULL  PUSH  SYNC}
 |