Compare commits

...

6 Commits

Author SHA1 Message Date
df2e534745 Merge pull request 'add reaction gql' (#174) from add-reactions into master
Reviewed-on: #174
2025-04-03 18:42:46 -06:00
Will Gester
ea4980947f add reaction gql
All checks were successful
Tests / Tests (pull_request) Successful in 16s
2025-04-03 17:42:20 -07:00
65475bca9b Merge pull request 'Add delete tags operation' (#173) from loewy/delete-tags-operation into master
Reviewed-on: #173
2025-03-31 13:47:46 -06:00
280f5a66bd add delete tags operation"
All checks were successful
Tests / Tests (pull_request) Successful in 6s
2025-03-27 11:38:26 -07:00
84daf2d136 Reintroduce retireTags 2025-03-25 14:31:19 -06:00
6558fb60e9 Add break heuristic 2025-03-25 14:05:12 -06:00
3 changed files with 189 additions and 0 deletions

View File

@ -235,6 +235,7 @@ export type FilterInput =
falsePositiveScore?: never;
fargoRating?: never;
intendedPocketType?: never;
isBreakHeuristic?: never;
isDirect?: never;
isLeft?: never;
isLeftMiss?: never;
@ -278,6 +279,7 @@ export type FilterInput =
falsePositiveScore?: never;
fargoRating?: never;
intendedPocketType?: never;
isBreakHeuristic?: never;
isDirect?: never;
isLeft?: never;
isLeftMiss?: never;
@ -321,6 +323,7 @@ export type FilterInput =
falsePositiveScore?: never;
fargoRating?: never;
intendedPocketType?: never;
isBreakHeuristic?: never;
isDirect?: never;
isLeft?: never;
isLeftMiss?: never;
@ -364,6 +367,7 @@ export type FilterInput =
falsePositiveScore?: never;
fargoRating?: never;
intendedPocketType?: never;
isBreakHeuristic?: never;
isDirect?: never;
isLeft?: never;
isLeftMiss?: never;
@ -407,6 +411,7 @@ export type FilterInput =
falsePositiveScore?: never;
fargoRating?: never;
intendedPocketType?: never;
isBreakHeuristic?: never;
isDirect?: never;
isLeft?: never;
isLeftMiss?: never;
@ -450,6 +455,7 @@ export type FilterInput =
falsePositiveScore?: never;
fargoRating?: never;
intendedPocketType?: never;
isBreakHeuristic?: never;
isDirect?: never;
isLeft?: never;
isLeftMiss?: never;
@ -493,6 +499,7 @@ export type FilterInput =
falsePositiveScore?: never;
fargoRating?: never;
intendedPocketType?: never;
isBreakHeuristic?: never;
isDirect?: never;
isLeft?: never;
isLeftMiss?: never;
@ -536,6 +543,7 @@ export type FilterInput =
falsePositiveScore?: never;
fargoRating?: never;
intendedPocketType?: never;
isBreakHeuristic?: never;
isDirect?: never;
isLeft?: never;
isLeftMiss?: never;
@ -579,6 +587,7 @@ export type FilterInput =
falsePositiveScore?: never;
fargoRating?: never;
intendedPocketType?: never;
isBreakHeuristic?: never;
isDirect?: never;
isLeft?: never;
isLeftMiss?: never;
@ -622,6 +631,7 @@ export type FilterInput =
falsePositiveScore?: never;
fargoRating?: never;
intendedPocketType?: never;
isBreakHeuristic?: never;
isDirect?: never;
isLeft?: never;
isLeftMiss?: never;
@ -665,6 +675,7 @@ export type FilterInput =
falsePositiveScore?: never;
fargoRating?: never;
intendedPocketType?: never;
isBreakHeuristic?: never;
isDirect?: never;
isLeft?: never;
isLeftMiss?: never;
@ -708,6 +719,7 @@ export type FilterInput =
falsePositiveScore?: never;
fargoRating?: never;
intendedPocketType?: never;
isBreakHeuristic?: never;
isDirect?: never;
isLeft?: never;
isLeftMiss?: never;
@ -751,6 +763,7 @@ export type FilterInput =
falsePositiveScore: FloatRangeFilter;
fargoRating?: never;
intendedPocketType?: never;
isBreakHeuristic?: never;
isDirect?: never;
isLeft?: never;
isLeftMiss?: never;
@ -794,6 +807,7 @@ export type FilterInput =
falsePositiveScore?: never;
fargoRating: FloatRangeFilter;
intendedPocketType?: never;
isBreakHeuristic?: never;
isDirect?: never;
isLeft?: never;
isLeftMiss?: never;
@ -837,6 +851,7 @@ export type FilterInput =
falsePositiveScore?: never;
fargoRating?: never;
intendedPocketType: Array<PocketEnum>;
isBreakHeuristic?: never;
isDirect?: never;
isLeft?: never;
isLeftMiss?: never;
@ -880,6 +895,51 @@ export type FilterInput =
falsePositiveScore?: never;
fargoRating?: never;
intendedPocketType?: never;
isBreakHeuristic: Array<Scalars["Boolean"]["input"]>;
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;
runId?: never;
runLength?: never;
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;
isBreakHeuristic?: never;
isDirect: Array<Scalars["Boolean"]["input"]>;
isLeft?: never;
isLeftMiss?: never;
@ -923,6 +983,7 @@ export type FilterInput =
falsePositiveScore?: never;
fargoRating?: never;
intendedPocketType?: never;
isBreakHeuristic?: never;
isDirect?: never;
isLeft: Array<Scalars["Boolean"]["input"]>;
isLeftMiss?: never;
@ -966,6 +1027,7 @@ export type FilterInput =
falsePositiveScore?: never;
fargoRating?: never;
intendedPocketType?: never;
isBreakHeuristic?: never;
isDirect?: never;
isLeft?: never;
isLeftMiss: Array<Scalars["Boolean"]["input"]>;
@ -1009,6 +1071,7 @@ export type FilterInput =
falsePositiveScore?: never;
fargoRating?: never;
intendedPocketType?: never;
isBreakHeuristic?: never;
isDirect?: never;
isLeft?: never;
isLeftMiss?: never;
@ -1052,6 +1115,7 @@ export type FilterInput =
falsePositiveScore?: never;
fargoRating?: never;
intendedPocketType?: never;
isBreakHeuristic?: never;
isDirect?: never;
isLeft?: never;
isLeftMiss?: never;
@ -1095,6 +1159,7 @@ export type FilterInput =
falsePositiveScore?: never;
fargoRating?: never;
intendedPocketType?: never;
isBreakHeuristic?: never;
isDirect?: never;
isLeft?: never;
isLeftMiss?: never;
@ -1138,6 +1203,7 @@ export type FilterInput =
falsePositiveScore?: never;
fargoRating?: never;
intendedPocketType?: never;
isBreakHeuristic?: never;
isDirect?: never;
isLeft?: never;
isLeftMiss?: never;
@ -1181,6 +1247,7 @@ export type FilterInput =
falsePositiveScore?: never;
fargoRating?: never;
intendedPocketType?: never;
isBreakHeuristic?: never;
isDirect?: never;
isLeft?: never;
isLeftMiss?: never;
@ -1224,6 +1291,7 @@ export type FilterInput =
falsePositiveScore?: never;
fargoRating?: never;
intendedPocketType?: never;
isBreakHeuristic?: never;
isDirect?: never;
isLeft?: never;
isLeftMiss?: never;
@ -1267,6 +1335,7 @@ export type FilterInput =
falsePositiveScore?: never;
fargoRating?: never;
intendedPocketType?: never;
isBreakHeuristic?: never;
isDirect?: never;
isLeft?: never;
isLeftMiss?: never;
@ -1310,6 +1379,7 @@ export type FilterInput =
falsePositiveScore?: never;
fargoRating?: never;
intendedPocketType?: never;
isBreakHeuristic?: never;
isDirect?: never;
isLeft?: never;
isLeftMiss?: never;
@ -1353,6 +1423,7 @@ export type FilterInput =
falsePositiveScore?: never;
fargoRating?: never;
intendedPocketType?: never;
isBreakHeuristic?: never;
isDirect?: never;
isLeft?: never;
isLeftMiss?: never;
@ -1396,6 +1467,7 @@ export type FilterInput =
falsePositiveScore?: never;
fargoRating?: never;
intendedPocketType?: never;
isBreakHeuristic?: never;
isDirect?: never;
isLeft?: never;
isLeftMiss?: never;
@ -1439,6 +1511,7 @@ export type FilterInput =
falsePositiveScore?: never;
fargoRating?: never;
intendedPocketType?: never;
isBreakHeuristic?: never;
isDirect?: never;
isLeft?: never;
isLeftMiss?: never;
@ -1482,6 +1555,7 @@ export type FilterInput =
falsePositiveScore?: never;
fargoRating?: never;
intendedPocketType?: never;
isBreakHeuristic?: never;
isDirect?: never;
isLeft?: never;
isLeftMiss?: never;
@ -1525,6 +1599,7 @@ export type FilterInput =
falsePositiveScore?: never;
fargoRating?: never;
intendedPocketType?: never;
isBreakHeuristic?: never;
isDirect?: never;
isLeft?: never;
isLeftMiss?: never;
@ -1568,6 +1643,7 @@ export type FilterInput =
falsePositiveScore?: never;
fargoRating?: never;
intendedPocketType?: never;
isBreakHeuristic?: never;
isDirect?: never;
isLeft?: never;
isLeftMiss?: never;
@ -1611,6 +1687,7 @@ export type FilterInput =
falsePositiveScore?: never;
fargoRating?: never;
intendedPocketType?: never;
isBreakHeuristic?: never;
isDirect?: never;
isLeft?: never;
isLeftMiss?: never;
@ -1654,6 +1731,7 @@ export type FilterInput =
falsePositiveScore?: never;
fargoRating?: never;
intendedPocketType?: never;
isBreakHeuristic?: never;
isDirect?: never;
isLeft?: never;
isLeftMiss?: never;
@ -1697,6 +1775,7 @@ export type FilterInput =
falsePositiveScore?: never;
fargoRating?: never;
intendedPocketType?: never;
isBreakHeuristic?: never;
isDirect?: never;
isLeft?: never;
isLeftMiss?: never;
@ -1740,6 +1819,7 @@ export type FilterInput =
falsePositiveScore?: never;
fargoRating?: never;
intendedPocketType?: never;
isBreakHeuristic?: never;
isDirect?: never;
isLeft?: never;
isLeftMiss?: never;
@ -1783,6 +1863,7 @@ export type FilterInput =
falsePositiveScore?: never;
fargoRating?: never;
intendedPocketType?: never;
isBreakHeuristic?: never;
isDirect?: never;
isLeft?: never;
isLeftMiss?: never;
@ -1826,6 +1907,7 @@ export type FilterInput =
falsePositiveScore?: never;
fargoRating?: never;
intendedPocketType?: never;
isBreakHeuristic?: never;
isDirect?: never;
isLeft?: never;
isLeftMiss?: never;
@ -1869,6 +1951,7 @@ export type FilterInput =
falsePositiveScore?: never;
fargoRating?: never;
intendedPocketType?: never;
isBreakHeuristic?: never;
isDirect?: never;
isLeft?: never;
isLeftMiss?: never;
@ -1912,6 +1995,7 @@ export type FilterInput =
falsePositiveScore?: never;
fargoRating?: never;
intendedPocketType?: never;
isBreakHeuristic?: never;
isDirect?: never;
isLeft?: never;
isLeftMiss?: never;
@ -1955,6 +2039,7 @@ export type FilterInput =
falsePositiveScore?: never;
fargoRating?: never;
intendedPocketType?: never;
isBreakHeuristic?: never;
isDirect?: never;
isLeft?: never;
isLeftMiss?: never;
@ -2154,6 +2239,7 @@ export type Mutation = {
getHlsInitUploadLink: GetUploadLinkReturn;
getProfileImageUploadLink: GetProfileUploadLinkReturn;
getUploadLink: GetUploadLinkReturn;
reactToVideo: Scalars["Boolean"]["output"];
retireTags: Scalars["Boolean"]["output"];
setLoggerLevel: Scalars["Boolean"]["output"];
setSegmentDuration: Scalars["Boolean"]["output"];
@ -2224,6 +2310,11 @@ export type MutationGetUploadLinkArgs = {
videoId: Scalars["Int"]["input"];
};
export type MutationReactToVideoArgs = {
reaction?: InputMaybe<ReactionEnum>;
videoId: Scalars["Int"]["input"];
};
export type MutationRetireTagsArgs = {
tagIds: Array<Scalars["Int"]["input"]>;
};
@ -2480,6 +2571,22 @@ export type QueryWaitForArgs = {
duration: Scalars["Float"]["input"];
};
export enum ReactionEnum {
Bullseye = "BULLSEYE",
Heart = "HEART",
Hundred = "HUNDRED",
Like = "LIKE",
}
export type ReactionGql = {
__typename?: "ReactionGQL";
createdAt?: Maybe<Scalars["DateTime"]["output"]>;
reaction: ReactionEnum;
updatedAt?: Maybe<Scalars["DateTime"]["output"]>;
user: UserGql;
videoId: Scalars["Int"]["output"];
};
export type RequestedMedalsGql = {
__typename?: "RequestedMedalsGQL";
dailyMakes50?: Maybe<MedalGql>;
@ -2915,6 +3022,7 @@ export type VideoGql = {
owner?: Maybe<UserGql>;
playlist?: Maybe<HlsPlaylistGql>;
private: Scalars["Boolean"]["output"];
reactions: Array<ReactionGql>;
screenshotUri?: Maybe<Scalars["String"]["output"]>;
shots: Array<ShotGql>;
startTime?: Maybe<Scalars["DateTime"]["output"]>;
@ -3870,6 +3978,16 @@ export type RetireTagsMutation = {
retireTags: boolean;
};
export type DeleteTagsMutationVariables = Exact<{
videoId: Scalars["Int"]["input"];
tagsToDelete: Array<VideoTagInput> | VideoTagInput;
}>;
export type DeleteTagsMutation = {
__typename?: "Mutation";
deleteTags: boolean;
};
export type GetProfileImageUploadLinkMutationVariables = Exact<{
fileExt?: InputMaybe<Scalars["String"]["input"]>;
}>;
@ -6668,6 +6786,55 @@ export type RetireTagsMutationOptions = Apollo.BaseMutationOptions<
RetireTagsMutation,
RetireTagsMutationVariables
>;
export const DeleteTagsDocument = gql`
mutation DeleteTags($videoId: Int!, $tagsToDelete: [VideoTagInput!]!) {
deleteTags(videoId: $videoId, tagsToDelete: $tagsToDelete)
}
`;
export type DeleteTagsMutationFn = Apollo.MutationFunction<
DeleteTagsMutation,
DeleteTagsMutationVariables
>;
/**
* __useDeleteTagsMutation__
*
* To run a mutation, you first call `useDeleteTagsMutation` within a React component and pass it any options that fit your needs.
* When your component renders, `useDeleteTagsMutation` 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 [deleteTagsMutation, { data, loading, error }] = useDeleteTagsMutation({
* variables: {
* videoId: // value for 'videoId'
* tagsToDelete: // value for 'tagsToDelete'
* },
* });
*/
export function useDeleteTagsMutation(
baseOptions?: Apollo.MutationHookOptions<
DeleteTagsMutation,
DeleteTagsMutationVariables
>,
) {
const options = { ...defaultOptions, ...baseOptions };
return Apollo.useMutation<DeleteTagsMutation, DeleteTagsMutationVariables>(
DeleteTagsDocument,
options,
);
}
export type DeleteTagsMutationHookResult = ReturnType<
typeof useDeleteTagsMutation
>;
export type DeleteTagsMutationResult =
Apollo.MutationResult<DeleteTagsMutation>;
export type DeleteTagsMutationOptions = Apollo.BaseMutationOptions<
DeleteTagsMutation,
DeleteTagsMutationVariables
>;
export const GetProfileImageUploadLinkDocument = gql`
mutation getProfileImageUploadLink($fileExt: String = ".png") {
getProfileImageUploadLink(fileExt: $fileExt) {

View File

@ -1,3 +1,7 @@
mutation RetireTags($tagIds: [Int!]!) {
retireTags(tagIds: $tagIds)
}
mutation DeleteTags($videoId: Int!, $tagsToDelete: [VideoTagInput!]!) {
deleteTags(videoId: $videoId, tagsToDelete: $tagsToDelete)
}

View File

@ -195,6 +195,7 @@ input FilterInput @oneOf {
isLeftMiss: [Boolean!]
isRightMiss: [Boolean!]
isDirect: [Boolean!]
isBreakHeuristic: [Boolean!]
tableSize: FloatRangeFilter
bankAngle: FloatRangeFilter
bankDistance: FloatRangeFilter
@ -478,6 +479,7 @@ type VideoGQL {
currentHomography: HomographyInfoGQL
homographyHistory: [HomographyInfoGQL!]!
currentProcessing: VideoProcessingGQL
reactions: [ReactionGQL!]!
}
type UploadStreamGQL {
@ -611,6 +613,21 @@ type VideoProcessingStatusGQL {
updatedAt: DateTime
}
type ReactionGQL {
videoId: Int!
user: UserGQL!
reaction: ReactionEnum!
createdAt: DateTime
updatedAt: DateTime
}
enum ReactionEnum {
LIKE
HEART
BULLSEYE
HUNDRED
}
type RunFeaturesGQL {
runId: Int!
indexInRun: Int!
@ -800,6 +817,7 @@ type Mutation {
editUploadStream(videoId: Int!, videoMetadata: VideoMetadataInput!): Boolean!
deleteVideo(videoId: Int!): Boolean!
deleteTags(videoId: Int!, tagsToDelete: [VideoTagInput!]!): Boolean!
reactToVideo(videoId: Int!, reaction: ReactionEnum): Boolean!
}
input CreateBucketSetInput {