107 lines
2 KiB
GraphQL
107 lines
2 KiB
GraphQL
directive @oneOf on INPUT_OBJECT | FIELD_DEFINITION
|
|
directive @resolver on INPUT_FIELD_DEFINITION | FIELD_DEFINITION
|
|
directive @stream on FIELD_DEFINITION
|
|
type ArchiveFS implements Dir & FsEntry {
|
|
name: String!
|
|
entries: [FsEntry!]! @resolver
|
|
size: Int!
|
|
}
|
|
input BooleanFilter @oneOf {
|
|
eq: Boolean
|
|
}
|
|
scalar DateTime
|
|
input DateTimeFilter @oneOf {
|
|
eq: DateTime
|
|
gt: DateTime
|
|
lt: DateTime
|
|
gte: DateTime
|
|
lte: DateTime
|
|
}
|
|
interface Dir implements FsEntry {
|
|
name: String!
|
|
entries: [FsEntry!]!
|
|
}
|
|
interface File implements FsEntry {
|
|
name: String!
|
|
size: Int!
|
|
}
|
|
interface FsEntry {
|
|
name: String!
|
|
}
|
|
input IntFilter @oneOf {
|
|
eq: Int
|
|
gt: Int
|
|
lt: Int
|
|
gte: Int
|
|
lte: Int
|
|
in: [Int!]
|
|
}
|
|
type Mutation {
|
|
qbitTorrentDaemon: QBitTorrentDaemonMutation @resolver
|
|
uploadFile(dir: String!, file: Upload!): Boolean!
|
|
dedupeStorage: Int!
|
|
}
|
|
input Pagination {
|
|
offset: Int!
|
|
limit: Int!
|
|
}
|
|
interface Progress {
|
|
current: Int!
|
|
total: Int!
|
|
}
|
|
type QBitCleanupResponse {
|
|
count: Int!
|
|
hashes: [String!]!
|
|
}
|
|
type QBitCleanupUnregistredResponse {
|
|
count: Int!
|
|
hashes: [String!]!
|
|
}
|
|
input QBitTorrentDaemonFilter {
|
|
sourcesCount: IntFilter
|
|
}
|
|
type QBitTorrentDaemonMutation {
|
|
cleanup(run: Boolean!): QBitCleanupResponse! @resolver
|
|
cleanupUnregistred(run: Boolean!): QBitCleanupUnregistredResponse! @resolver
|
|
}
|
|
type QBitTorrentDaemonQuery {
|
|
torrents(filter: QBitTorrentDaemonFilter): [QTorrent!]! @resolver
|
|
}
|
|
type QTorrent {
|
|
name: String!
|
|
hash: String!
|
|
sourceFiles: [String!]! @resolver
|
|
}
|
|
type Query {
|
|
qbitTorrentDaemon: QBitTorrentDaemonQuery @resolver
|
|
fsEntry(path: String!): FsEntry
|
|
}
|
|
type ResolverFS implements Dir & FsEntry {
|
|
name: String!
|
|
entries: [FsEntry!]! @resolver
|
|
}
|
|
type Schema {
|
|
query: Query
|
|
mutation: Mutation
|
|
}
|
|
type SimpleDir implements Dir & FsEntry {
|
|
name: String!
|
|
entries: [FsEntry!]! @resolver
|
|
}
|
|
type SimpleFile implements File & FsEntry {
|
|
name: String!
|
|
size: Int!
|
|
}
|
|
input StringFilter @oneOf {
|
|
eq: String
|
|
substr: String
|
|
in: [String!]
|
|
}
|
|
type Subscription {
|
|
taskProgress(taskID: ID!): Progress
|
|
}
|
|
type Task {
|
|
id: ID!
|
|
}
|
|
scalar UInt
|
|
scalar Upload
|