Merge pull request 'Add DatetimeRangeAggregation' (#56) from mk/datetime-range-aggregation into master

Reviewed-on: #56
Reviewed-by: Ivan Malison <ivanmalison@gmail.com>
This commit is contained in:
countablecloud 2024-09-18 15:31:31 -06:00
commit 7b48a5b6e2
2 changed files with 59 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"];
@ -1519,6 +1530,19 @@ export type TargetMetricsGql = {
makePercentage?: Maybe<Scalars["Float"]["output"]>;
};
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 = {
__typename?: "TooManyInitUploadsErr";
linksRequested: Scalars["Int"]["output"];

View File

@ -63,6 +63,7 @@ input AggregateInputGQL {
input AggregationInput @oneOf {
bucketSet: BucketSetInputGQL
enum: EnumAggregation
datetimeRange: DatetimeRangeAggregationInput
}
input BucketSetInputGQL {
@ -79,6 +80,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 +231,6 @@ type ShotGQL {
video: VideoGQL
}
"""
Date with time (isoformat)
"""
scalar DateTime
type CueObjectFeaturesGQL {
cueObjectDistance: Float
cueObjectAngle: Float