# =============================================== # STORAGE # =============================================== extend type Query { storage: StorageQuery } extend type Mutation { storage: StorageMutation } # ----------------------------------------------- # QUERIES # ----------------------------------------------- type StorageQuery { targets( filter: String orderBy: String ): [StorageTarget] @auth(requires: ["manage:system"]) } # ----------------------------------------------- # MUTATIONS # ----------------------------------------------- type StorageMutation { updateTargets( targets: [StorageTargetInput] ): DefaultResponse @auth(requires: ["manage:system"]) } # ----------------------------------------------- # TYPES # ----------------------------------------------- type StorageTarget { isEnabled: Boolean! key: String! title: String! description: String logo: String website: String mode: String config: [KeyValuePair] } input StorageTargetInput { isEnabled: Boolean! key: String! mode: String! config: [KeyValuePairInput] }