Add filtering support to aggregate gql
This commit is contained in:
125
src/schema.gql
125
src/schema.gql
@@ -1,5 +1,7 @@
|
||||
type Query {
|
||||
getAggregateShots(bucketSets: [BucketSetInputGQL!]!): [AggregateResultGQL!]!
|
||||
getAggregatedShotMetrics(
|
||||
aggregateInput: AggregateInputGQL!
|
||||
): [AggregateResultGQL!]!
|
||||
getUser(userId: Int!): UserGQL
|
||||
getLoggedInUser: UserGQL
|
||||
getVideo(videoId: Int!): VideoGQL!
|
||||
@@ -31,6 +33,11 @@ type TargetFloatFeatureGQL {
|
||||
median: Float
|
||||
}
|
||||
|
||||
input AggregateInputGQL {
|
||||
bucketSets: [BucketSetInputGQL!]!
|
||||
filterInput: FilterInput
|
||||
}
|
||||
|
||||
input BucketSetInputGQL {
|
||||
feature: String!
|
||||
buckets: [BucketInputGQL!]!
|
||||
@@ -41,6 +48,64 @@ input BucketInputGQL {
|
||||
lowerBound: Float!
|
||||
}
|
||||
|
||||
input FilterInput {
|
||||
andFilters: AndFilter = null
|
||||
orFilters: OrFilter = null
|
||||
cueObjectDistance: CueObjectDistanceInput = null
|
||||
targetPocketDistance: TargetPocketDistanceInput = null
|
||||
cueObjectAngle: CueObjectAngleInput = null
|
||||
cueBallSpeed: CueBallSpeedInput = null
|
||||
intendedPocketType: IntendedPocketTypeInput = null
|
||||
shotDirection: ShotDirectionInput = null
|
||||
videoId: InListFilter = null
|
||||
userId: InListFilter = null
|
||||
}
|
||||
|
||||
input AndFilter {
|
||||
filters: [FilterInput!]!
|
||||
}
|
||||
|
||||
input OrFilter {
|
||||
filters: [FilterInput!]!
|
||||
}
|
||||
|
||||
input CueObjectDistanceInput {
|
||||
value: RangeFilter!
|
||||
}
|
||||
|
||||
input RangeFilter {
|
||||
lessThan: Float = null
|
||||
greaterThanEqualTo: Float = null
|
||||
}
|
||||
|
||||
input TargetPocketDistanceInput {
|
||||
value: RangeFilter!
|
||||
}
|
||||
|
||||
input CueObjectAngleInput {
|
||||
value: RangeFilter!
|
||||
}
|
||||
|
||||
input CueBallSpeedInput {
|
||||
value: RangeFilter!
|
||||
}
|
||||
|
||||
input IntendedPocketTypeInput {
|
||||
value: EnumFilter!
|
||||
}
|
||||
|
||||
input EnumFilter {
|
||||
equals: String = null
|
||||
}
|
||||
|
||||
input ShotDirectionInput {
|
||||
value: EnumFilter!
|
||||
}
|
||||
|
||||
input InListFilter {
|
||||
inList: [Int!] = null
|
||||
}
|
||||
|
||||
type UserGQL {
|
||||
id: Int!
|
||||
firebaseUid: String!
|
||||
@@ -189,64 +254,6 @@ type StreamErrorGQL {
|
||||
message: String!
|
||||
}
|
||||
|
||||
input FilterInput {
|
||||
andFilters: AndFilter = null
|
||||
orFilters: OrFilter = null
|
||||
cueObjectDistance: CueObjectDistanceInput = null
|
||||
targetPocketDistance: TargetPocketDistanceInput = null
|
||||
cueObjectAngle: CueObjectAngleInput = null
|
||||
cueBallSpeed: CueBallSpeedInput = null
|
||||
intendedPocketType: IntendedPocketTypeInput = null
|
||||
shotDirection: ShotDirectionInput = null
|
||||
videoId: InListFilter = null
|
||||
userId: InListFilter = null
|
||||
}
|
||||
|
||||
input AndFilter {
|
||||
filters: [FilterInput!]!
|
||||
}
|
||||
|
||||
input OrFilter {
|
||||
filters: [FilterInput!]!
|
||||
}
|
||||
|
||||
input CueObjectDistanceInput {
|
||||
value: RangeFilter!
|
||||
}
|
||||
|
||||
input RangeFilter {
|
||||
lessThan: Float = null
|
||||
greaterThanEqualTo: Float = null
|
||||
}
|
||||
|
||||
input TargetPocketDistanceInput {
|
||||
value: RangeFilter!
|
||||
}
|
||||
|
||||
input CueObjectAngleInput {
|
||||
value: RangeFilter!
|
||||
}
|
||||
|
||||
input CueBallSpeedInput {
|
||||
value: RangeFilter!
|
||||
}
|
||||
|
||||
input IntendedPocketTypeInput {
|
||||
value: EnumFilter!
|
||||
}
|
||||
|
||||
input EnumFilter {
|
||||
equals: String = null
|
||||
}
|
||||
|
||||
input ShotDirectionInput {
|
||||
value: EnumFilter!
|
||||
}
|
||||
|
||||
input InListFilter {
|
||||
inList: [Int!] = null
|
||||
}
|
||||
|
||||
type BucketSetGQL {
|
||||
keyName: String!
|
||||
feature: String!
|
||||
|
Reference in New Issue
Block a user