123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- # ===============================================
- # STORAGE
- # ===============================================
- extend type Query {
- storage: StorageQuery
- }
- extend type Mutation {
- storage: StorageMutation
- }
- # -----------------------------------------------
- # QUERIES
- # -----------------------------------------------
- type StorageQuery {
- targets: [StorageTarget] @auth(requires: ["manage:system"])
- status: [StorageStatus] @auth(requires: ["manage:system"])
- }
- # -----------------------------------------------
- # MUTATIONS
- # -----------------------------------------------
- type StorageMutation {
- updateTargets(
- targets: [StorageTargetInput]!
- ): DefaultResponse @auth(requires: ["manage:system"])
- executeAction(
- targetKey: String!
- handler: String!
- ): DefaultResponse @auth(requires: ["manage:system"])
- }
- # -----------------------------------------------
- # TYPES
- # -----------------------------------------------
- type StorageTarget {
- isAvailable: Boolean!
- isEnabled: Boolean!
- key: String!
- title: String!
- description: String
- logo: String
- website: String
- supportedModes: [String]
- mode: String
- hasSchedule: Boolean!
- syncInterval: String
- syncIntervalDefault: String
- config: [KeyValuePair]
- actions: [StorageTargetAction]
- }
- input StorageTargetInput {
- isEnabled: Boolean!
- key: String!
- mode: String!
- syncInterval: String
- config: [KeyValuePairInput]
- }
- type StorageStatus {
- key: String!
- title: String!
- status: String!
- message: String!
- lastAttempt: String!
- }
- type StorageTargetAction {
- handler: String!
- label: String!
- hint: String!
- }
|