mk/implement-one-of #9

Merged
colonelpanic merged 2 commits from mk/implement-one-of into master 2024-05-22 16:49:29 -06:00
2 changed files with 216 additions and 52 deletions

View File

@ -49,14 +49,9 @@ export type AggregationIdentifierGql = {
groupName: Scalars["String"]["output"];
};
export type AggregationInput = {
bucketSet?: InputMaybe<BucketSetInputGql>;
enum?: InputMaybe<EnumAggregation>;
};
export type AndFilter = {
filters: Array<FilterInput>;
};
export type AggregationInput =
| { bucketSet: BucketSetInputGql; enum?: never }
| { bucketSet?: never; enum: EnumAggregation };
export type BankFeaturesGql = {
__typename?: "BankFeaturesGQL";
@ -133,21 +128,202 @@ export type EnumAggregation = {
feature: Scalars["String"]["input"];
};
export type FilterInput = {
andFilters?: InputMaybe<AndFilter>;
cueBallSpeed?: InputMaybe<RangeFilter>;
cueObjectAngle?: InputMaybe<RangeFilter>;
cueObjectDistance?: InputMaybe<RangeFilter>;
difficulty?: InputMaybe<RangeFilter>;
intendedPocketType?: InputMaybe<Array<PocketEnum>>;
make?: InputMaybe<Array<Scalars["Boolean"]["input"]>>;
orFilters?: InputMaybe<OrFilter>;
shotDirection?: InputMaybe<Array<ShotDirectionEnum>>;
tags?: InputMaybe<Array<VideoTagInput>>;
targetPocketDistance?: InputMaybe<RangeFilter>;
userId?: InputMaybe<Array<Scalars["Int"]["input"]>>;
videoId?: InputMaybe<Array<Scalars["Int"]["input"]>>;
};
export type FilterInput =
| {
andFilters: Array<FilterInput>;
cueBallSpeed?: never;
cueObjectAngle?: never;
cueObjectDistance?: never;
difficulty?: never;
intendedPocketType?: never;
make?: never;
orFilters?: never;
shotDirection?: never;
tags?: never;
targetPocketDistance?: never;
userId?: never;
videoId?: never;
}
| {
andFilters?: never;
cueBallSpeed: RangeFilter;
cueObjectAngle?: never;
cueObjectDistance?: never;
difficulty?: never;
intendedPocketType?: never;
make?: never;
orFilters?: never;
shotDirection?: never;
tags?: never;
targetPocketDistance?: never;
userId?: never;
videoId?: never;
}
| {
andFilters?: never;
cueBallSpeed?: never;
cueObjectAngle: RangeFilter;
cueObjectDistance?: never;
difficulty?: never;
intendedPocketType?: never;
make?: never;
orFilters?: never;
shotDirection?: never;
tags?: never;
targetPocketDistance?: never;
userId?: never;
videoId?: never;
}
| {
andFilters?: never;
cueBallSpeed?: never;
cueObjectAngle?: never;
cueObjectDistance: RangeFilter;
difficulty?: never;
intendedPocketType?: never;
make?: never;
orFilters?: never;
shotDirection?: never;
tags?: never;
targetPocketDistance?: never;
userId?: never;
videoId?: never;
}
| {
andFilters?: never;
cueBallSpeed?: never;
cueObjectAngle?: never;
cueObjectDistance?: never;
difficulty: RangeFilter;
intendedPocketType?: never;
make?: never;
orFilters?: never;
shotDirection?: never;
tags?: never;
targetPocketDistance?: never;
userId?: never;
videoId?: never;
}
| {
andFilters?: never;
cueBallSpeed?: never;
cueObjectAngle?: never;
cueObjectDistance?: never;
difficulty?: never;
intendedPocketType: Array<PocketEnum>;
make?: never;
orFilters?: never;
shotDirection?: never;
tags?: never;
targetPocketDistance?: never;
userId?: never;
videoId?: never;
}
| {
andFilters?: never;
cueBallSpeed?: never;
cueObjectAngle?: never;
cueObjectDistance?: never;
difficulty?: never;
intendedPocketType?: never;
make: Array<Scalars["Boolean"]["input"]>;
orFilters?: never;
shotDirection?: never;
tags?: never;
targetPocketDistance?: never;
userId?: never;
videoId?: never;
}
| {
andFilters?: never;
cueBallSpeed?: never;
cueObjectAngle?: never;
cueObjectDistance?: never;
difficulty?: never;
intendedPocketType?: never;
make?: never;
orFilters: Array<FilterInput>;
shotDirection?: never;
tags?: never;
targetPocketDistance?: never;
userId?: never;
videoId?: never;
}
| {
andFilters?: never;
cueBallSpeed?: never;
cueObjectAngle?: never;
cueObjectDistance?: never;
difficulty?: never;
intendedPocketType?: never;
make?: never;
orFilters?: never;
shotDirection: Array<ShotDirectionEnum>;
tags?: never;
targetPocketDistance?: never;
userId?: never;
videoId?: never;
}
| {
andFilters?: never;
cueBallSpeed?: never;
cueObjectAngle?: never;
cueObjectDistance?: never;
difficulty?: never;
intendedPocketType?: never;
make?: never;
orFilters?: never;
shotDirection?: never;
tags: Array<VideoTagInput>;
targetPocketDistance?: never;
userId?: never;
videoId?: never;
}
| {
andFilters?: never;
cueBallSpeed?: never;
cueObjectAngle?: never;
cueObjectDistance?: never;
difficulty?: never;
intendedPocketType?: never;
make?: never;
orFilters?: never;
shotDirection?: never;
tags?: never;
targetPocketDistance: RangeFilter;
userId?: never;
videoId?: never;
}
| {
andFilters?: never;
cueBallSpeed?: never;
cueObjectAngle?: never;
cueObjectDistance?: never;
difficulty?: never;
intendedPocketType?: never;
make?: never;
orFilters?: never;
shotDirection?: never;
tags?: never;
targetPocketDistance?: never;
userId: Array<Scalars["Int"]["input"]>;
videoId?: never;
}
| {
andFilters?: never;
cueBallSpeed?: never;
cueObjectAngle?: never;
cueObjectDistance?: never;
difficulty?: never;
intendedPocketType?: never;
make?: never;
orFilters?: never;
shotDirection?: never;
tags?: never;
targetPocketDistance?: never;
userId?: never;
videoId: Array<Scalars["Int"]["input"]>;
};
export type GetUploadLinkReturn = {
__typename?: "GetUploadLinkReturn";
@ -236,10 +412,6 @@ export type MutationSetLoggerLevelArgs = {
path: Scalars["String"]["input"];
};
export type OrFilter = {
filters: Array<FilterInput>;
};
export type PageInfoGql = {
__typename?: "PageInfoGQL";
endCursor?: Maybe<Scalars["String"]["output"]>;

View File

@ -43,9 +43,9 @@ input AggregateInputGQL {
filterInput: FilterInput
}
input AggregationInput {
bucketSet: BucketSetInputGQL = null
enum: EnumAggregation = null
input AggregationInput @oneOf {
bucketSet: BucketSetInputGQL
enum: EnumAggregation
}
input BucketSetInputGQL {
@ -62,28 +62,20 @@ input EnumAggregation {
feature: String!
}
input FilterInput {
andFilters: AndFilter = null
orFilters: OrFilter = null
cueObjectDistance: RangeFilter = null
targetPocketDistance: RangeFilter = null
cueObjectAngle: RangeFilter = null
cueBallSpeed: RangeFilter = null
difficulty: RangeFilter = null
intendedPocketType: [PocketEnum!] = null
shotDirection: [ShotDirectionEnum!] = null
videoId: [Int!] = null
userId: [Int!] = null
make: [Boolean!] = null
tags: [VideoTagInput!] = null
}
input AndFilter {
filters: [FilterInput!]!
}
input OrFilter {
filters: [FilterInput!]!
input FilterInput @oneOf {
andFilters: [FilterInput!]
orFilters: [FilterInput!]
cueObjectDistance: RangeFilter
targetPocketDistance: RangeFilter
cueObjectAngle: RangeFilter
cueBallSpeed: RangeFilter
difficulty: RangeFilter
intendedPocketType: [PocketEnum!]
shotDirection: [ShotDirectionEnum!]
videoId: [Int!]
userId: [Int!]
make: [Boolean!]
tags: [VideoTagInput!]
}
input RangeFilter {