Compare commits

...

3 Commits

Author SHA1 Message Date
647ef3049b Add spin type counts 2024-09-18 16:58:46 -06:00
7b48a5b6e2 Merge pull request 'Add DatetimeRangeAggregation' (#56) from mk/datetime-range-aggregation into master
Reviewed-on: #56
Reviewed-by: Ivan Malison <ivanmalison@gmail.com>
2024-09-18 15:31:31 -06:00
ec2e3da513 Add DatetimeRangeAggregation
All checks were successful
Tests / Tests (pull_request) Successful in 9s
2024-09-18 13:48:52 -07:00
2 changed files with 76 additions and 7 deletions

View File

@@ -62,8 +62,13 @@ export type AggregationIdentifierGql = {
};
export type AggregationInput =
| { bucketSet: BucketSetInputGql; enum?: never }
| { bucketSet?: never; enum: EnumAggregation };
| { bucketSet: BucketSetInputGql; datetimeRange?: never; enum?: never }
| {
bucketSet?: never;
datetimeRange: DatetimeRangeAggregationInput;
enum?: never;
}
| { bucketSet?: never; datetimeRange?: never; enum: EnumAggregation };
export type BankFeaturesGql = {
__typename?: "BankFeaturesGQL";
@@ -127,6 +132,12 @@ export type CueObjectFeaturesGql = {
spinType?: Maybe<SpinTypeEnum>;
};
export type DatetimeRangeAggregationInput = {
endDatetime: Scalars["DateTime"]["input"];
interval: TimeInterval;
startDatetime: Scalars["DateTime"]["input"];
};
export type DeployedConfigGql = {
__typename?: "DeployedConfigGQL";
allowNewUsers: Scalars["Boolean"]["output"];
@@ -1479,6 +1490,14 @@ export type ShotGql = {
videoId: Scalars["Int"]["output"];
};
export type SpinTypeCountsGql = {
__typename?: "SpinTypeCountsGQL";
center: Scalars["Int"]["output"];
draw: Scalars["Int"]["output"];
follow: Scalars["Int"]["output"];
unknown: Scalars["Int"]["output"];
};
export enum SpinTypeEnum {
Center = "CENTER",
Draw = "DRAW",
@@ -1517,6 +1536,20 @@ export type TargetMetricsGql = {
averageDifficulty?: Maybe<Scalars["Float"]["output"]>;
count: Scalars["Int"]["output"];
makePercentage?: Maybe<Scalars["Float"]["output"]>;
spinTypeCounts?: Maybe<SpinTypeCountsGql>;
};
export type TimeInterval = {
days?: InputMaybe<Scalars["Int"]["input"]>;
hours?: InputMaybe<Scalars["Int"]["input"]>;
minutes?: InputMaybe<Scalars["Int"]["input"]>;
/** Assumes a month is 30 days long */
months?: InputMaybe<Scalars["Int"]["input"]>;
/** A second is the base unit and cannot be subdivided */
seconds?: InputMaybe<Scalars["Int"]["input"]>;
weeks?: InputMaybe<Scalars["Int"]["input"]>;
/** Assumes a year is 365 days long */
years?: InputMaybe<Scalars["Int"]["input"]>;
};
export type TooManyInitUploadsErr = {

View File

@@ -53,6 +53,14 @@ type TargetMetricsGQL {
count: Int!
makePercentage: Float
averageDifficulty: Float
spinTypeCounts: SpinTypeCountsGQL
}
type SpinTypeCountsGQL {
follow: Int!
draw: Int!
center: Int!
unknown: Int!
}
input AggregateInputGQL {
@@ -63,6 +71,7 @@ input AggregateInputGQL {
input AggregationInput @oneOf {
bucketSet: BucketSetInputGQL
enum: EnumAggregation
datetimeRange: DatetimeRangeAggregationInput
}
input BucketSetInputGQL {
@@ -79,6 +88,38 @@ input EnumAggregation {
feature: String!
}
input DatetimeRangeAggregationInput {
startDatetime: DateTime!
endDatetime: DateTime!
interval: TimeInterval!
}
"""
Date with time (isoformat)
"""
scalar DateTime
input TimeInterval {
"""
A second is the base unit and cannot be subdivided
"""
seconds: Int = 0
minutes: Int = 0
hours: Int = 0
days: Int = 0
weeks: Int = 0
"""
Assumes a month is 30 days long
"""
months: Int = 0
"""
Assumes a year is 365 days long
"""
years: Int = 0
}
input FilterInput @oneOf {
andFilters: [FilterInput!]
orFilters: [FilterInput!]
@@ -198,11 +239,6 @@ type ShotGQL {
video: VideoGQL
}
"""
Date with time (isoformat)
"""
scalar DateTime
type CueObjectFeaturesGQL {
cueObjectDistance: Float
cueObjectAngle: Float