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 = export type AggregationInput =
| { bucketSet: BucketSetInputGql; enum?: never } | { bucketSet: BucketSetInputGql; datetimeRange?: never; enum?: never }
| { bucketSet?: never; enum: EnumAggregation }; | {
bucketSet?: never;
datetimeRange: DatetimeRangeAggregationInput;
enum?: never;
}
| { bucketSet?: never; datetimeRange?: never; enum: EnumAggregation };
export type BankFeaturesGql = { export type BankFeaturesGql = {
__typename?: "BankFeaturesGQL"; __typename?: "BankFeaturesGQL";
@ -127,6 +132,12 @@ export type CueObjectFeaturesGql = {
spinType?: Maybe<SpinTypeEnum>; spinType?: Maybe<SpinTypeEnum>;
}; };
export type DatetimeRangeAggregationInput = {
endDatetime: Scalars["DateTime"]["input"];
interval: TimeInterval;
startDatetime: Scalars["DateTime"]["input"];
};
export type DeployedConfigGql = { export type DeployedConfigGql = {
__typename?: "DeployedConfigGQL"; __typename?: "DeployedConfigGQL";
allowNewUsers: Scalars["Boolean"]["output"]; allowNewUsers: Scalars["Boolean"]["output"];
@ -1519,6 +1530,19 @@ export type TargetMetricsGql = {
makePercentage?: Maybe<Scalars["Float"]["output"]>; 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 = { export type TooManyInitUploadsErr = {
__typename?: "TooManyInitUploadsErr"; __typename?: "TooManyInitUploadsErr";
linksRequested: Scalars["Int"]["output"]; linksRequested: Scalars["Int"]["output"];

View File

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