Compare commits

...

9 Commits

Author SHA1 Message Date
890bea2571 Add day back
All checks were successful
Tests / Tests (pull_request) Successful in 7s
2024-10-05 14:33:39 -06:00
f57f6dc32d Merge pull request 'Add day' (#69) from kat/update-gql into master
Reviewed-on: #69
2024-10-04 23:49:52 -06:00
14863e3357 Add day
All checks were successful
Tests / Tests (pull_request) Successful in 6s
2024-10-04 22:56:58 -06:00
Your Name
58f01c567c Add day alignment 2024-10-03 21:57:07 -06:00
937368c753 GetShotsWithMetadata accepts ids (#68)
Reviewed-on: #68
2024-10-03 12:36:35 -06:00
d8c11875d4 Merge pull request 'Update get shots with metadata' (#67) from kat/update-gql into master
Reviewed-on: #67
Reviewed-by: Ivan Malison <ivanmalison@gmail.com>
2024-10-03 11:47:20 -06:00
bacd9e77f0 Update get shots with metadata
All checks were successful
Tests / Tests (pull_request) Successful in 14s
2024-10-03 11:42:39 -06:00
69d755ba32 Merge pull request 'Use ShotWithAllFeatures in getAllShots' (#66) from kat/use-fragment-get-shots into master
Reviewed-on: #66
2024-10-02 19:09:50 -06:00
31fb95e3b0 Use ShotWithAllFeatures in getAllShots
All checks were successful
Tests / Tests (pull_request) Successful in 13s
2024-10-02 18:15:00 -06:00
3 changed files with 100 additions and 179 deletions

View File

@@ -73,6 +73,7 @@ export type AggregationInput =
| { bucketSet?: never; datetimeRange?: never; enum: EnumAggregation };
export enum AlignedIntervalEnum {
Day = "DAY",
Month = "MONTH",
Week = "WEEK",
Year = "YEAR",
@@ -1774,6 +1775,7 @@ export type QueryGetShotsByIdsArgs = {
export type QueryGetShotsWithMetadataArgs = {
filterInput: FilterInput;
ids?: InputMaybe<Array<Scalars["Int"]["input"]>>;
limit?: Scalars["Int"]["input"];
shotsPagination?: InputMaybe<GetShotsPagination>;
};
@@ -2254,18 +2256,7 @@ export type GetShotsWithMetadataQueryVariables = Exact<{
filterInput: FilterInput;
shotsPagination?: InputMaybe<GetShotsPagination>;
limit?: InputMaybe<Scalars["Int"]["input"]>;
includeCreatedAt?: Scalars["Boolean"]["input"];
includeUpdatedAt?: Scalars["Boolean"]["input"];
includeCueObjectFeatures?: Scalars["Boolean"]["input"];
includePocketingIntentionFeatures?: Scalars["Boolean"]["input"];
includeCueObjectDistance?: Scalars["Boolean"]["input"];
includeCueObjectAngle?: Scalars["Boolean"]["input"];
includeCueBallSpeed?: Scalars["Boolean"]["input"];
includeSpinType?: Scalars["Boolean"]["input"];
includeShotDirection?: Scalars["Boolean"]["input"];
includeTargetPocketDistance?: Scalars["Boolean"]["input"];
includeMake?: Scalars["Boolean"]["input"];
includeIntendedPocketType?: Scalars["Boolean"]["input"];
ids?: InputMaybe<Array<Scalars["Int"]["input"]> | Scalars["Int"]["input"]>;
}>;
export type GetShotsWithMetadataQuery = {
@@ -2273,6 +2264,7 @@ export type GetShotsWithMetadataQuery = {
getShotsWithMetadata: {
__typename?: "GetShotsResult";
count?: number | null;
ids: Array<number>;
shots: Array<{
__typename?: "ShotGQL";
id: number;
@@ -2322,44 +2314,6 @@ export type GetShotsWithMetadataQuery = {
};
};
export type ShotWithAllFeaturesFragment = {
__typename?: "ShotGQL";
id: number;
videoId: number;
startFrame: number;
endFrame: number;
falsePositiveScore?: number | null;
createdAt?: any | null;
updatedAt?: any | null;
user?: { __typename?: "UserGQL"; id: number } | null;
video?: {
__typename?: "VideoGQL";
id: number;
stream?: {
__typename?: "UploadStreamGQL";
resolution: {
__typename?: "VideoResolutionGQL";
width?: number | null;
height?: number | null;
};
} | null;
} | null;
cueObjectFeatures?: {
__typename?: "CueObjectFeaturesGQL";
cueObjectDistance?: number | null;
cueObjectAngle?: number | null;
cueBallSpeed?: number | null;
shotDirection?: ShotDirectionEnum | null;
spinType?: SpinTypeEnum | null;
} | null;
pocketingIntentionFeatures?: {
__typename?: "PocketingIntentionFeaturesGQL";
targetPocketDistance?: number | null;
make?: boolean | null;
intendedPocketType?: PocketEnum | null;
} | null;
};
export type GetShotsByIdsQueryVariables = Exact<{
ids: Array<Scalars["Int"]["input"]> | Scalars["Int"]["input"];
}>;
@@ -2378,7 +2332,6 @@ export type GetShotsByIdsQuery = {
user?: { __typename?: "UserGQL"; id: number } | null;
video?: {
__typename?: "VideoGQL";
id: number;
stream?: {
__typename?: "UploadStreamGQL";
resolution: {
@@ -2402,9 +2355,66 @@ export type GetShotsByIdsQuery = {
make?: boolean | null;
intendedPocketType?: PocketEnum | null;
} | null;
pocketingIntentionInfo?: {
__typename?: "PocketingIntentionInfoGQL";
ballId: number;
pocketId: PocketIdentifier;
pathMetadataIndex: number;
} | null;
serializedShotPaths?: {
__typename?: "SerializedShotPathsGQL";
b64EncodedBuffer?: string | null;
} | null;
}>;
};
export type ShotWithAllFeaturesFragment = {
__typename?: "ShotGQL";
id: number;
videoId: number;
startFrame: number;
endFrame: number;
falsePositiveScore?: number | null;
createdAt?: any | null;
updatedAt?: any | null;
user?: { __typename?: "UserGQL"; id: number } | null;
video?: {
__typename?: "VideoGQL";
stream?: {
__typename?: "UploadStreamGQL";
resolution: {
__typename?: "VideoResolutionGQL";
width?: number | null;
height?: number | null;
};
} | null;
} | null;
cueObjectFeatures?: {
__typename?: "CueObjectFeaturesGQL";
cueObjectDistance?: number | null;
cueObjectAngle?: number | null;
cueBallSpeed?: number | null;
shotDirection?: ShotDirectionEnum | null;
spinType?: SpinTypeEnum | null;
} | null;
pocketingIntentionFeatures?: {
__typename?: "PocketingIntentionFeaturesGQL";
targetPocketDistance?: number | null;
make?: boolean | null;
intendedPocketType?: PocketEnum | null;
} | null;
pocketingIntentionInfo?: {
__typename?: "PocketingIntentionInfoGQL";
ballId: number;
pocketId: PocketIdentifier;
pathMetadataIndex: number;
} | null;
serializedShotPaths?: {
__typename?: "SerializedShotPathsGQL";
b64EncodedBuffer?: string | null;
} | null;
};
export type GetProfileImageUploadLinkMutationVariables = Exact<{
fileExt?: InputMaybe<Scalars["String"]["input"]>;
}>;
@@ -2954,14 +2964,11 @@ export const ShotWithAllFeaturesFragmentDoc = gql`
videoId
startFrame
endFrame
falsePositiveScore
createdAt
updatedAt
user {
id
}
falsePositiveScore
video {
id
stream {
resolution {
width
@@ -2969,6 +2976,8 @@ export const ShotWithAllFeaturesFragmentDoc = gql`
}
}
}
createdAt
updatedAt
cueObjectFeatures {
cueObjectDistance
cueObjectAngle
@@ -2981,6 +2990,14 @@ export const ShotWithAllFeaturesFragmentDoc = gql`
make
intendedPocketType
}
pocketingIntentionInfo {
ballId
pocketId
pathMetadataIndex
}
serializedShotPaths {
b64EncodedBuffer
}
}
`;
export const GetAggregatedShotMetricsDocument = gql`
@@ -3479,69 +3496,22 @@ export const GetShotsWithMetadataDocument = gql`
$filterInput: FilterInput!
$shotsPagination: GetShotsPagination
$limit: Int
$includeCreatedAt: Boolean! = false
$includeUpdatedAt: Boolean! = false
$includeCueObjectFeatures: Boolean! = false
$includePocketingIntentionFeatures: Boolean! = false
$includeCueObjectDistance: Boolean! = false
$includeCueObjectAngle: Boolean! = false
$includeCueBallSpeed: Boolean! = false
$includeSpinType: Boolean! = false
$includeShotDirection: Boolean! = false
$includeTargetPocketDistance: Boolean! = false
$includeMake: Boolean! = false
$includeIntendedPocketType: Boolean! = false
$ids: [Int!]
) {
getShotsWithMetadata(
filterInput: $filterInput
shotsPagination: $shotsPagination
limit: $limit
ids: $ids
) {
count
shots {
id
videoId
startFrame
endFrame
user {
id
}
falsePositiveScore
video {
stream {
resolution {
width
height
}
}
}
createdAt @include(if: $includeCreatedAt)
updatedAt @include(if: $includeUpdatedAt)
cueObjectFeatures @include(if: $includeCueObjectFeatures) {
cueObjectDistance @include(if: $includeCueObjectDistance)
cueObjectAngle @include(if: $includeCueObjectAngle)
cueBallSpeed @include(if: $includeCueBallSpeed)
shotDirection @include(if: $includeShotDirection)
spinType @include(if: $includeSpinType)
}
pocketingIntentionFeatures
@include(if: $includePocketingIntentionFeatures) {
targetPocketDistance @include(if: $includeTargetPocketDistance)
make @include(if: $includeMake)
intendedPocketType @include(if: $includeIntendedPocketType)
}
pocketingIntentionInfo
@include(if: $includePocketingIntentionFeatures) {
ballId
pocketId
pathMetadataIndex
}
serializedShotPaths @include(if: $includePocketingIntentionFeatures) {
b64EncodedBuffer
}
...ShotWithAllFeatures
}
ids
}
}
${ShotWithAllFeaturesFragmentDoc}
`;
/**
@@ -3559,18 +3529,7 @@ export const GetShotsWithMetadataDocument = gql`
* filterInput: // value for 'filterInput'
* shotsPagination: // value for 'shotsPagination'
* limit: // value for 'limit'
* includeCreatedAt: // value for 'includeCreatedAt'
* includeUpdatedAt: // value for 'includeUpdatedAt'
* includeCueObjectFeatures: // value for 'includeCueObjectFeatures'
* includePocketingIntentionFeatures: // value for 'includePocketingIntentionFeatures'
* includeCueObjectDistance: // value for 'includeCueObjectDistance'
* includeCueObjectAngle: // value for 'includeCueObjectAngle'
* includeCueBallSpeed: // value for 'includeCueBallSpeed'
* includeSpinType: // value for 'includeSpinType'
* includeShotDirection: // value for 'includeShotDirection'
* includeTargetPocketDistance: // value for 'includeTargetPocketDistance'
* includeMake: // value for 'includeMake'
* includeIntendedPocketType: // value for 'includeIntendedPocketType'
* ids: // value for 'ids'
* },
* });
*/

View File

@@ -21,66 +21,25 @@ query GetShotsWithMetadata(
$filterInput: FilterInput!
$shotsPagination: GetShotsPagination
$limit: Int
$includeCreatedAt: Boolean! = false
$includeUpdatedAt: Boolean! = false
$includeCueObjectFeatures: Boolean! = false
$includePocketingIntentionFeatures: Boolean! = false
$includeCueObjectDistance: Boolean! = false
$includeCueObjectAngle: Boolean! = false
$includeCueBallSpeed: Boolean! = false
$includeSpinType: Boolean! = false
$includeShotDirection: Boolean! = false
$includeTargetPocketDistance: Boolean! = false
$includeMake: Boolean! = false
$includeIntendedPocketType: Boolean! = false
$ids: [Int!]
) {
getShotsWithMetadata(
filterInput: $filterInput
shotsPagination: $shotsPagination
limit: $limit
ids: $ids
) {
count
shots {
id
videoId
startFrame
endFrame
user {
id
...ShotWithAllFeatures
}
falsePositiveScore
video {
stream {
resolution {
width
height
}
}
}
createdAt @include(if: $includeCreatedAt)
updatedAt @include(if: $includeUpdatedAt)
cueObjectFeatures @include(if: $includeCueObjectFeatures) {
cueObjectDistance @include(if: $includeCueObjectDistance)
cueObjectAngle @include(if: $includeCueObjectAngle)
cueBallSpeed @include(if: $includeCueBallSpeed)
shotDirection @include(if: $includeShotDirection)
spinType @include(if: $includeSpinType)
}
pocketingIntentionFeatures
@include(if: $includePocketingIntentionFeatures) {
targetPocketDistance @include(if: $includeTargetPocketDistance)
make @include(if: $includeMake)
intendedPocketType @include(if: $includeIntendedPocketType)
}
pocketingIntentionInfo @include(if: $includePocketingIntentionFeatures) {
ballId
pocketId
pathMetadataIndex
}
serializedShotPaths @include(if: $includePocketingIntentionFeatures) {
b64EncodedBuffer
ids
}
}
query GetShotsByIds($ids: [Int!]!) {
getShotsByIds(ids: $ids) {
...ShotWithAllFeatures
}
}
@@ -89,14 +48,11 @@ fragment ShotWithAllFeatures on ShotGQL {
videoId
startFrame
endFrame
falsePositiveScore
createdAt
updatedAt
user {
id
}
falsePositiveScore
video {
id
stream {
resolution {
width
@@ -104,6 +60,8 @@ fragment ShotWithAllFeatures on ShotGQL {
}
}
}
createdAt
updatedAt
cueObjectFeatures {
cueObjectDistance
cueObjectAngle
@@ -116,10 +74,12 @@ fragment ShotWithAllFeatures on ShotGQL {
make
intendedPocketType
}
pocketingIntentionInfo {
ballId
pocketId
pathMetadataIndex
}
query GetShotsByIds($ids: [Int!]!) {
getShotsByIds(ids: $ids) {
...ShotWithAllFeatures
serializedShotPaths {
b64EncodedBuffer
}
}

View File

@@ -11,6 +11,7 @@ type Query {
): [MakePercentageIntervalGQL!]!
getShotsWithMetadata(
filterInput: FilterInput!
ids: [Int!] = null
shotsPagination: GetShotsPagination = null
limit: Int! = 500
): GetShotsResult!
@@ -124,6 +125,7 @@ enum AlignedIntervalEnum {
MONTH
YEAR
WEEK
DAY
}
input FilterInput @oneOf {