type Query { torrents(filter: TorrentsFilter, pagination: Pagination): [Torrent!]! fsEntry(path: String!): FsEntry } input TorrentsFilter { infohash: StringFilter name: StringFilter bytesCompleted: IntFilter bytesMissing: IntFilter peersCount: IntFilter } input Pagination { offset: Int! limit: Int! } input StringFilter @oneOf { eq: String substr: String in: [String!] } input IntFilter @oneOf { eq: Int gt: Int lt: Int gte: Int lte: Int in: [Int!] } input DateTimeFilter @oneOf { eq: DateTime gt: DateTime lt: DateTime gte: DateTime lte: DateTime } input BooleanFilter @oneOf { eq: Boolean }