Compare commits

..

6 Commits

3 changed files with 274 additions and 0 deletions

View File

@@ -220,6 +220,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
runLength?: never;
shotDirection?: never; shotDirection?: never;
spinType?: never; spinType?: never;
tableSize?: never; tableSize?: never;
@@ -261,6 +262,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
runLength?: never;
shotDirection?: never; shotDirection?: never;
spinType?: never; spinType?: never;
tableSize?: never; tableSize?: never;
@@ -302,6 +304,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
runLength?: never;
shotDirection?: never; shotDirection?: never;
spinType?: never; spinType?: never;
tableSize?: never; tableSize?: never;
@@ -343,6 +346,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
runLength?: never;
shotDirection?: never; shotDirection?: never;
spinType?: never; spinType?: never;
tableSize?: never; tableSize?: never;
@@ -384,6 +388,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
runLength?: never;
shotDirection?: never; shotDirection?: never;
spinType?: never; spinType?: never;
tableSize?: never; tableSize?: never;
@@ -425,6 +430,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
runLength?: never;
shotDirection?: never; shotDirection?: never;
spinType?: never; spinType?: never;
tableSize?: never; tableSize?: never;
@@ -466,6 +472,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
runLength?: never;
shotDirection?: never; shotDirection?: never;
spinType?: never; spinType?: never;
tableSize?: never; tableSize?: never;
@@ -507,6 +514,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
runLength?: never;
shotDirection?: never; shotDirection?: never;
spinType?: never; spinType?: never;
tableSize?: never; tableSize?: never;
@@ -548,6 +556,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
runLength?: never;
shotDirection?: never; shotDirection?: never;
spinType?: never; spinType?: never;
tableSize?: never; tableSize?: never;
@@ -589,6 +598,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
runLength?: never;
shotDirection?: never; shotDirection?: never;
spinType?: never; spinType?: never;
tableSize?: never; tableSize?: never;
@@ -630,6 +640,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
runLength?: never;
shotDirection?: never; shotDirection?: never;
spinType?: never; spinType?: never;
tableSize?: never; tableSize?: never;
@@ -671,6 +682,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
runLength?: never;
shotDirection?: never; shotDirection?: never;
spinType?: never; spinType?: never;
tableSize?: never; tableSize?: never;
@@ -712,6 +724,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
runLength?: never;
shotDirection?: never; shotDirection?: never;
spinType?: never; spinType?: never;
tableSize?: never; tableSize?: never;
@@ -753,6 +766,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
runLength?: never;
shotDirection?: never; shotDirection?: never;
spinType?: never; spinType?: never;
tableSize?: never; tableSize?: never;
@@ -794,6 +808,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
runLength?: never;
shotDirection?: never; shotDirection?: never;
spinType?: never; spinType?: never;
tableSize?: never; tableSize?: never;
@@ -835,6 +850,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
runLength?: never;
shotDirection?: never; shotDirection?: never;
spinType?: never; spinType?: never;
tableSize?: never; tableSize?: never;
@@ -876,6 +892,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
runLength?: never;
shotDirection?: never; shotDirection?: never;
spinType?: never; spinType?: never;
tableSize?: never; tableSize?: never;
@@ -917,6 +934,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
runLength?: never;
shotDirection?: never; shotDirection?: never;
spinType?: never; spinType?: never;
tableSize?: never; tableSize?: never;
@@ -958,6 +976,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
runLength?: never;
shotDirection?: never; shotDirection?: never;
spinType?: never; spinType?: never;
tableSize?: never; tableSize?: never;
@@ -999,6 +1018,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
runLength?: never;
shotDirection?: never; shotDirection?: never;
spinType?: never; spinType?: never;
tableSize?: never; tableSize?: never;
@@ -1040,6 +1060,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
runLength?: never;
shotDirection?: never; shotDirection?: never;
spinType?: never; spinType?: never;
tableSize?: never; tableSize?: never;
@@ -1081,6 +1102,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
runLength?: never;
shotDirection?: never; shotDirection?: never;
spinType?: never; spinType?: never;
tableSize?: never; tableSize?: never;
@@ -1122,6 +1144,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
runLength?: never;
shotDirection?: never; shotDirection?: never;
spinType?: never; spinType?: never;
tableSize?: never; tableSize?: never;
@@ -1163,6 +1186,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
runLength?: never;
shotDirection?: never; shotDirection?: never;
spinType?: never; spinType?: never;
tableSize?: never; tableSize?: never;
@@ -1204,6 +1228,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
runLength?: never;
shotDirection?: never; shotDirection?: never;
spinType?: never; spinType?: never;
tableSize?: never; tableSize?: never;
@@ -1245,6 +1270,7 @@ export type FilterInput =
missAngleInDegrees: FloatRangeFilter; missAngleInDegrees: FloatRangeFilter;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
runLength?: never;
shotDirection?: never; shotDirection?: never;
spinType?: never; spinType?: never;
tableSize?: never; tableSize?: never;
@@ -1286,6 +1312,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter: FilterInput; notFilter: FilterInput;
orFilters?: never; orFilters?: never;
runLength?: never;
shotDirection?: never; shotDirection?: never;
spinType?: never; spinType?: never;
tableSize?: never; tableSize?: never;
@@ -1327,6 +1354,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters: Array<FilterInput>; orFilters: Array<FilterInput>;
runLength?: never;
shotDirection?: never; shotDirection?: never;
spinType?: never; spinType?: never;
tableSize?: never; tableSize?: never;
@@ -1368,6 +1396,49 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
runLength: FloatRangeFilter;
shotDirection?: never;
spinType?: never;
tableSize?: never;
tags?: never;
targetPocketAngle?: never;
targetPocketAngleDirection?: never;
targetPocketDistance?: never;
totalDistance?: never;
userId?: never;
username?: never;
videoId?: never;
}
| {
andFilters?: never;
annotations?: never;
backcut?: never;
bankAngle?: never;
bankDistance?: never;
createdAt?: never;
cueAngleAfterObject?: never;
cueBallSpeed?: never;
cueObjectAngle?: never;
cueObjectDistance?: never;
cueSpeedAfterObject?: never;
difficulty?: never;
falsePositiveScore?: never;
fargoRating?: never;
intendedPocketType?: never;
isDirect?: never;
isLeft?: never;
isLeftMiss?: never;
isRight?: never;
isRightMiss?: never;
isStraight?: never;
kickAngle?: never;
kickDistance?: never;
make?: never;
marginOfErrorInDegrees?: never;
missAngleInDegrees?: never;
notFilter?: never;
orFilters?: never;
runLength?: never;
shotDirection: Array<ShotDirectionEnum>; shotDirection: Array<ShotDirectionEnum>;
spinType?: never; spinType?: never;
tableSize?: never; tableSize?: never;
@@ -1409,6 +1480,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
runLength?: never;
shotDirection?: never; shotDirection?: never;
spinType: Array<SpinTypeEnum>; spinType: Array<SpinTypeEnum>;
tableSize?: never; tableSize?: never;
@@ -1450,6 +1522,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
runLength?: never;
shotDirection?: never; shotDirection?: never;
spinType?: never; spinType?: never;
tableSize: FloatRangeFilter; tableSize: FloatRangeFilter;
@@ -1491,6 +1564,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
runLength?: never;
shotDirection?: never; shotDirection?: never;
spinType?: never; spinType?: never;
tableSize?: never; tableSize?: never;
@@ -1532,6 +1606,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
runLength?: never;
shotDirection?: never; shotDirection?: never;
spinType?: never; spinType?: never;
tableSize?: never; tableSize?: never;
@@ -1573,6 +1648,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
runLength?: never;
shotDirection?: never; shotDirection?: never;
spinType?: never; spinType?: never;
tableSize?: never; tableSize?: never;
@@ -1614,6 +1690,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
runLength?: never;
shotDirection?: never; shotDirection?: never;
spinType?: never; spinType?: never;
tableSize?: never; tableSize?: never;
@@ -1655,6 +1732,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
runLength?: never;
shotDirection?: never; shotDirection?: never;
spinType?: never; spinType?: never;
tableSize?: never; tableSize?: never;
@@ -1696,6 +1774,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
runLength?: never;
shotDirection?: never; shotDirection?: never;
spinType?: never; spinType?: never;
tableSize?: never; tableSize?: never;
@@ -1737,6 +1816,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
runLength?: never;
shotDirection?: never; shotDirection?: never;
spinType?: never; spinType?: never;
tableSize?: never; tableSize?: never;
@@ -1778,6 +1858,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
runLength?: never;
shotDirection?: never; shotDirection?: never;
spinType?: never; spinType?: never;
tableSize?: never; tableSize?: never;
@@ -2088,6 +2169,7 @@ export type Query = {
getUserTags: Array<TagGql>; getUserTags: Array<TagGql>;
getUserVideos: VideoHistoryGql; getUserVideos: VideoHistoryGql;
getUsernames: Array<Scalars["String"]["output"]>; getUsernames: Array<Scalars["String"]["output"]>;
getUsernamesAndFollowing: UsernamesAndFollowingResponse;
getVideo: VideoGql; getVideo: VideoGql;
getVideoMakePercentageIntervals: Array<MakePercentageIntervalGql>; getVideoMakePercentageIntervals: Array<MakePercentageIntervalGql>;
getVideos: Array<VideoGql>; getVideos: Array<VideoGql>;
@@ -2157,6 +2239,13 @@ export type QueryGetUsernamesArgs = {
matchString?: InputMaybe<Scalars["String"]["input"]>; matchString?: InputMaybe<Scalars["String"]["input"]>;
}; };
export type QueryGetUsernamesAndFollowingArgs = {
after?: InputMaybe<Scalars["String"]["input"]>;
limit?: InputMaybe<Scalars["Int"]["input"]>;
matchString?: InputMaybe<Scalars["String"]["input"]>;
userId: Scalars["Int"]["input"];
};
export type QueryGetVideoArgs = { export type QueryGetVideoArgs = {
debuggingJson?: InputMaybe<Scalars["JSON"]["input"]>; debuggingJson?: InputMaybe<Scalars["JSON"]["input"]>;
videoId: Scalars["Int"]["input"]; videoId: Scalars["Int"]["input"];
@@ -2255,24 +2344,35 @@ export type ShotGql = {
export type ShotsOrderingComponent = export type ShotsOrderingComponent =
| { | {
marginOfError: FloatShotOrdering; marginOfError: FloatShotOrdering;
runLength?: never;
startFrame?: never; startFrame?: never;
videoCreation?: never; videoCreation?: never;
videoId?: never; videoId?: never;
} }
| { | {
marginOfError?: never; marginOfError?: never;
runLength: IntShotOrdering;
startFrame?: never;
videoCreation?: never;
videoId?: never;
}
| {
marginOfError?: never;
runLength?: never;
startFrame: IntShotOrdering; startFrame: IntShotOrdering;
videoCreation?: never; videoCreation?: never;
videoId?: never; videoId?: never;
} }
| { | {
marginOfError?: never; marginOfError?: never;
runLength?: never;
startFrame?: never; startFrame?: never;
videoCreation: DatetimeShotOrdering; videoCreation: DatetimeShotOrdering;
videoId?: never; videoId?: never;
} }
| { | {
marginOfError?: never; marginOfError?: never;
runLength?: never;
startFrame?: never; startFrame?: never;
videoCreation?: never; videoCreation?: never;
videoId: IntShotOrdering; videoId: IntShotOrdering;
@@ -2436,6 +2536,13 @@ export type UserPlayTimeGql = {
totalSeconds: Scalars["Float"]["output"]; totalSeconds: Scalars["Float"]["output"];
}; };
export type UsernamesAndFollowingResponse = {
__typename?: "UsernamesAndFollowingResponse";
followers: Array<Scalars["Int"]["output"]>;
following: Array<Scalars["Int"]["output"]>;
usernames: Array<Scalars["String"]["output"]>;
};
export type VideoFilterInput = { export type VideoFilterInput = {
isStreamCompleted?: InputMaybe<Scalars["Boolean"]["input"]>; isStreamCompleted?: InputMaybe<Scalars["Boolean"]["input"]>;
requireCursorCompletion?: Scalars["Boolean"]["input"]; requireCursorCompletion?: Scalars["Boolean"]["input"];
@@ -2667,6 +2774,28 @@ export type GetShotAnnotationTypesQuery = {
}>; }>;
}; };
export type UpdateShotAnnotationsMutationVariables = Exact<{
shotId: Scalars["Int"]["input"];
annotations: Array<UpdateAnnotationInputGql> | UpdateAnnotationInputGql;
}>;
export type UpdateShotAnnotationsMutation = {
__typename?: "Mutation";
updateShotAnnotations: {
__typename?: "UpdateShotAnnotationReturn";
value:
| { __typename?: "SuccessfulUpdate"; value: boolean }
| {
__typename?: "UpdateShotAnnotationErrors";
error?: {
__typename?: "DoesNotOwnShotErr";
shotId: number;
msg?: string | null;
} | null;
};
};
};
export type GetShotsWithVideoGqlQueryVariables = Exact<{ export type GetShotsWithVideoGqlQueryVariables = Exact<{
filterInput: FilterInput; filterInput: FilterInput;
limit?: InputMaybe<Scalars["Int"]["input"]>; limit?: InputMaybe<Scalars["Int"]["input"]>;
@@ -2742,6 +2871,16 @@ export type GetShotsWithMetadataFilterResultQuery = {
__typename?: "SerializedShotPathsGQL"; __typename?: "SerializedShotPathsGQL";
b64EncodedBuffer?: string | null; b64EncodedBuffer?: string | null;
} | null; } | null;
annotations: Array<{
__typename?: "ShotAnnotationGQL";
shotId: number;
notes: string;
type: {
__typename?: "ShotAnnotationTypeGQL";
id: number;
name: string;
};
}>;
}>; }>;
}; };
}; };
@@ -2798,6 +2937,16 @@ export type GetShotsWithMetadataQuery = {
__typename?: "SerializedShotPathsGQL"; __typename?: "SerializedShotPathsGQL";
b64EncodedBuffer?: string | null; b64EncodedBuffer?: string | null;
} | null; } | null;
annotations: Array<{
__typename?: "ShotAnnotationGQL";
shotId: number;
notes: string;
type: {
__typename?: "ShotAnnotationTypeGQL";
id: number;
name: string;
};
}>;
}>; }>;
}; };
}; };
@@ -2847,6 +2996,12 @@ export type GetShotsByIdsQuery = {
__typename?: "SerializedShotPathsGQL"; __typename?: "SerializedShotPathsGQL";
b64EncodedBuffer?: string | null; b64EncodedBuffer?: string | null;
} | null; } | null;
annotations: Array<{
__typename?: "ShotAnnotationGQL";
shotId: number;
notes: string;
type: { __typename?: "ShotAnnotationTypeGQL"; id: number; name: string };
}>;
}>; }>;
}; };
@@ -2889,6 +3044,12 @@ export type ShotWithAllFeaturesFragment = {
__typename?: "SerializedShotPathsGQL"; __typename?: "SerializedShotPathsGQL";
b64EncodedBuffer?: string | null; b64EncodedBuffer?: string | null;
} | null; } | null;
annotations: Array<{
__typename?: "ShotAnnotationGQL";
shotId: number;
notes: string;
type: { __typename?: "ShotAnnotationTypeGQL"; id: number; name: string };
}>;
}; };
export type GetProfileImageUploadLinkMutationVariables = Exact<{ export type GetProfileImageUploadLinkMutationVariables = Exact<{
@@ -3616,6 +3777,14 @@ export const ShotWithAllFeaturesFragmentDoc = gql`
serializedShotPaths { serializedShotPaths {
b64EncodedBuffer b64EncodedBuffer
} }
annotations {
shotId
type {
id
name
}
notes
}
} }
`; `;
export const VideoStreamMetadataFragmentDoc = gql` export const VideoStreamMetadataFragmentDoc = gql`
@@ -4180,6 +4349,70 @@ export type GetShotAnnotationTypesQueryResult = Apollo.QueryResult<
GetShotAnnotationTypesQuery, GetShotAnnotationTypesQuery,
GetShotAnnotationTypesQueryVariables GetShotAnnotationTypesQueryVariables
>; >;
export const UpdateShotAnnotationsDocument = gql`
mutation UpdateShotAnnotations(
$shotId: Int!
$annotations: [UpdateAnnotationInputGQL!]!
) {
updateShotAnnotations(shotId: $shotId, annotations: $annotations) {
value {
... on SuccessfulUpdate {
value
}
... on UpdateShotAnnotationErrors {
error {
shotId
msg
}
}
}
}
}
`;
export type UpdateShotAnnotationsMutationFn = Apollo.MutationFunction<
UpdateShotAnnotationsMutation,
UpdateShotAnnotationsMutationVariables
>;
/**
* __useUpdateShotAnnotationsMutation__
*
* To run a mutation, you first call `useUpdateShotAnnotationsMutation` within a React component and pass it any options that fit your needs.
* When your component renders, `useUpdateShotAnnotationsMutation` returns a tuple that includes:
* - A mutate function that you can call at any time to execute the mutation
* - An object with fields that represent the current status of the mutation's execution
*
* @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;
*
* @example
* const [updateShotAnnotationsMutation, { data, loading, error }] = useUpdateShotAnnotationsMutation({
* variables: {
* shotId: // value for 'shotId'
* annotations: // value for 'annotations'
* },
* });
*/
export function useUpdateShotAnnotationsMutation(
baseOptions?: Apollo.MutationHookOptions<
UpdateShotAnnotationsMutation,
UpdateShotAnnotationsMutationVariables
>,
) {
const options = { ...defaultOptions, ...baseOptions };
return Apollo.useMutation<
UpdateShotAnnotationsMutation,
UpdateShotAnnotationsMutationVariables
>(UpdateShotAnnotationsDocument, options);
}
export type UpdateShotAnnotationsMutationHookResult = ReturnType<
typeof useUpdateShotAnnotationsMutation
>;
export type UpdateShotAnnotationsMutationResult =
Apollo.MutationResult<UpdateShotAnnotationsMutation>;
export type UpdateShotAnnotationsMutationOptions = Apollo.BaseMutationOptions<
UpdateShotAnnotationsMutation,
UpdateShotAnnotationsMutationVariables
>;
export const GetShotsWithVideoGqlDocument = gql` export const GetShotsWithVideoGqlDocument = gql`
query GetShotsWithVideoGql($filterInput: FilterInput!, $limit: Int) { query GetShotsWithVideoGql($filterInput: FilterInput!, $limit: Int) {
getShotsWithMetadata(filterInput: $filterInput, limit: $limit) { getShotsWithMetadata(filterInput: $filterInput, limit: $limit) {

View File

@@ -17,6 +17,25 @@ query GetShotAnnotationTypes {
} }
} }
mutation UpdateShotAnnotations(
$shotId: Int!
$annotations: [UpdateAnnotationInputGQL!]!
) {
updateShotAnnotations(shotId: $shotId, annotations: $annotations) {
value {
... on SuccessfulUpdate {
value
}
... on UpdateShotAnnotationErrors {
error {
shotId
msg
}
}
}
}
}
query GetShotsWithVideoGql($filterInput: FilterInput!, $limit: Int) { query GetShotsWithVideoGql($filterInput: FilterInput!, $limit: Int) {
getShotsWithMetadata(filterInput: $filterInput, limit: $limit) { getShotsWithMetadata(filterInput: $filterInput, limit: $limit) {
ids ids
@@ -115,4 +134,12 @@ fragment ShotWithAllFeatures on ShotGQL {
serializedShotPaths { serializedShotPaths {
b64EncodedBuffer b64EncodedBuffer
} }
annotations {
shotId
type {
id
name
}
notes
}
} }

View File

@@ -35,6 +35,12 @@ type Query {
limit: Int = null limit: Int = null
after: String = null after: String = null
): [String!]! ): [String!]!
getUsernamesAndFollowing(
userId: Int!
matchString: String = null
limit: Int = 100
after: String = null
): UsernamesAndFollowingResponse!
getPlayTime(userId: Int!): UserPlayTimeGQL! getPlayTime(userId: Int!): UserPlayTimeGQL!
getUserVideos( getUserVideos(
userId: Int = null userId: Int = null
@@ -179,6 +185,7 @@ input FilterInput @oneOf {
marginOfErrorInDegrees: FloatRangeFilter marginOfErrorInDegrees: FloatRangeFilter
createdAt: DateRangeFilter createdAt: DateRangeFilter
totalDistance: FloatRangeFilter totalDistance: FloatRangeFilter
runLength: FloatRangeFilter
} }
input FloatRangeFilter { input FloatRangeFilter {
@@ -519,6 +526,7 @@ input ShotsOrderingComponent @oneOf {
marginOfError: FloatShotOrdering marginOfError: FloatShotOrdering
videoId: IntShotOrdering videoId: IntShotOrdering
startFrame: IntShotOrdering startFrame: IntShotOrdering
runLength: IntShotOrdering
} }
input DatetimeShotOrdering { input DatetimeShotOrdering {
@@ -546,6 +554,12 @@ input CreatedAfter @oneOf {
createdAt: DateTime createdAt: DateTime
} }
type UsernamesAndFollowingResponse {
usernames: [String!]!
following: [Int!]!
followers: [Int!]!
}
type UserPlayTimeGQL { type UserPlayTimeGQL {
totalSeconds: Float! totalSeconds: Float!
} }