Closed
Description
Given Schema:
type Movie {
id: ID
actorCount: Int
averageRating: Float
isActive: Boolean
}
The new API would be like:
type Query {
movies(where: MovieWhere, options: MovieOptions): [Movie]!
}
input MovieWhere {
AND: [_MovieFilter!]
NOT: [_MovieFilter!]
OR: [_MovieFilter!]
actorCount: Int
actorCount_gt: Int
actorCount_gte: Int
actorCount_in: [Int]
actorCount_lt: Int
actorCount_lte: Int
actorCount_not: Int
actorCount_not_in: [Int]
averageRating: Float
averageRating_gt: Float
averageRating_gte: Float
averageRating_in: [Float]
averageRating_lt: Float
averageRating_lte: Float
averageRating_not: Float
averageRating_not_in: [Float]
id: ID
id_contains: ID
id_ends_with: ID
id_gt: ID
id_gte: ID
id_in: [ID]
id_lt: ID
id_lte: ID
id_matches: ID
id_not: ID
id_not_contains: ID
id_not_ends_with: ID
id_not_in: [ID]
id_not_starts_with: ID
id_starts_with: ID
isActive: Boolean
isActive_not: Boolean
}
enum MovieSort {
actorCount_asc
actorCount_desc
averageRating_asc
averageRating_desc
id_asc
id_desc
isActive_asc
isActive_desc
}
input MovieOptions {
sort: [MovieSort]
limit: Int
skip: Int
}
This means:
- remove filter args
- renaming
*Filter
to*Where
- move sorting and paging into
*Options
Currently we generate:
type Query {
movie(actorCount: Int, averageRating: Float, filter: _MovieFilter, first: Int, id: ID, isActive: Boolean, offset: Int, orderBy: [_MovieOrdering!]): [Movie!]!
}
input _MovieFilter {
AND: [_MovieFilter!]
NOT: [_MovieFilter!]
OR: [_MovieFilter!]
actorCount: Int
actorCount_gt: Int
actorCount_gte: Int
actorCount_in: [Int]
actorCount_lt: Int
actorCount_lte: Int
actorCount_not: Int
actorCount_not_in: [Int]
averageRating: Float
averageRating_gt: Float
averageRating_gte: Float
averageRating_in: [Float]
averageRating_lt: Float
averageRating_lte: Float
averageRating_not: Float
averageRating_not_in: [Float]
id: ID
id_contains: ID
id_ends_with: ID
id_gt: ID
id_gte: ID
id_in: [ID]
id_lt: ID
id_lte: ID
id_matches: ID
id_not: ID
id_not_contains: ID
id_not_ends_with: ID
id_not_in: [ID]
id_not_starts_with: ID
id_starts_with: ID
isActive: Boolean
isActive_not: Boolean
}
enum _MovieOrdering {
actorCount_asc
actorCount_desc
averageRating_asc
averageRating_desc
id_asc
id_desc
isActive_asc
isActive_desc
}