# =============================================== # LOGGING # =============================================== extend type Query { logging: LoggingQuery } extend type Mutation { logging: LoggingMutation } extend type Subscription { loggingLiveTrail: LoggerTrailLine } # ----------------------------------------------- # QUERIES # ----------------------------------------------- type LoggingQuery { loggers( filter: String orderBy: String ): [Logger] @auth(requires: ["manage:system"]) } # ----------------------------------------------- # MUTATIONS # ----------------------------------------------- type LoggingMutation { updateLoggers( loggers: [LoggerInput] ): DefaultResponse @auth(requires: ["manage:system"]) } # ----------------------------------------------- # TYPES # ----------------------------------------------- type Logger { isEnabled: Boolean! key: String! title: String! description: String logo: String website: String level: String config: [KeyValuePair] } input LoggerInput { isEnabled: Boolean! key: String! level: String! config: [KeyValuePairInput] } type LoggerTrailLine { level: String! output: String! timestamp: Date! }