diff --git a/src/index.tsx b/src/index.tsx index 31040f5..9f5834b 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -2579,6 +2579,7 @@ export type Mutation = { startChallenge: ChallengeEntry; submitCancellationFeedback: Scalars["Boolean"]["output"]; submitChallengeEntry: ChallengeEntry; + submitSessionCoachFeedback: SessionCoachFeedbackGql; syncAppleSubscription: SyncAppleSubscriptionResultGql; undismissChallenge: Scalars["Boolean"]["output"]; unfollowUser: UserGql; @@ -2840,6 +2841,12 @@ export type MutationSubmitChallengeEntryArgs = { videoId: Scalars["ID"]["input"]; }; +export type MutationSubmitSessionCoachFeedbackArgs = { + generationId: Scalars["ID"]["input"]; + response: SessionCoachFeedbackResponseEnum; + videoId: Scalars["Int"]["input"]; +}; + export type MutationSyncAppleSubscriptionArgs = { input: SyncAppleSubscriptionInputGql; }; @@ -3685,6 +3692,19 @@ export type SessionCoachEvidenceGql = { score: Scalars["Float"]["output"]; }; +export type SessionCoachFeedbackGql = { + __typename?: "SessionCoachFeedbackGQL"; + response: SessionCoachFeedbackResponseEnum; + updatedAt: Scalars["DateTime"]["output"]; +}; + +export enum SessionCoachFeedbackResponseEnum { + AlreadyWorkingOnThis = "ALREADY_WORKING_ON_THIS", + Helpful = "HELPFUL", + NotEnoughEvidence = "NOT_ENOUGH_EVIDENCE", + WrongFocus = "WRONG_FOCUS", +} + export type SessionCoachGql = { __typename?: "SessionCoachGQL"; agentGeneration?: Maybe; @@ -3737,6 +3757,7 @@ export type SessionCoachGenerationGql = { createdAt: Scalars["DateTime"]["output"]; decision?: Maybe; diagnostics?: Maybe; + feedback?: Maybe; id: Scalars["ID"]["output"]; state: SessionCoachGenerationStateEnum; }; @@ -7204,6 +7225,11 @@ export type GetSessionCoachQuery = { abstentionReason?: string | null; synthesisRationale?: string | null; } | null; + feedback?: { + __typename?: "SessionCoachFeedbackGQL"; + response: SessionCoachFeedbackResponseEnum; + updatedAt: any; + } | null; } | null; }; }; @@ -7261,10 +7287,30 @@ export type RequestSessionCoachGenerationMutation = { abstentionReason?: string | null; synthesisRationale?: string | null; } | null; + feedback?: { + __typename?: "SessionCoachFeedbackGQL"; + response: SessionCoachFeedbackResponseEnum; + updatedAt: any; + } | null; } | null; }; }; +export type SubmitSessionCoachFeedbackMutationVariables = Exact<{ + videoId: Scalars["Int"]["input"]; + generationId: Scalars["ID"]["input"]; + response: SessionCoachFeedbackResponseEnum; +}>; + +export type SubmitSessionCoachFeedbackMutation = { + __typename?: "Mutation"; + submitSessionCoachFeedback: { + __typename?: "SessionCoachFeedbackGQL"; + response: SessionCoachFeedbackResponseEnum; + updatedAt: any; + }; +}; + export type SessionCoachCandidateFieldsFragment = { __typename?: "SessionCoachCandidateGQL"; id: string; @@ -7342,6 +7388,11 @@ export type SessionCoachGenerationFieldsFragment = { abstentionReason?: string | null; synthesisRationale?: string | null; } | null; + feedback?: { + __typename?: "SessionCoachFeedbackGQL"; + response: SessionCoachFeedbackResponseEnum; + updatedAt: any; + } | null; }; export type CreateShotShareLinkMutationVariables = Exact<{ @@ -9949,6 +10000,10 @@ export const SessionCoachGenerationFieldsFragmentDoc = gql` abstentionReason synthesisRationale } + feedback { + response + updatedAt + } } `; export const PlayerClusterShotFieldsFragmentDoc = gql` @@ -15737,6 +15792,68 @@ export type RequestSessionCoachGenerationMutationOptions = RequestSessionCoachGenerationMutation, RequestSessionCoachGenerationMutationVariables >; +export const SubmitSessionCoachFeedbackDocument = gql` + mutation SubmitSessionCoachFeedback( + $videoId: Int! + $generationId: ID! + $response: SessionCoachFeedbackResponseEnum! + ) { + submitSessionCoachFeedback( + videoId: $videoId + generationId: $generationId + response: $response + ) { + response + updatedAt + } + } +`; +export type SubmitSessionCoachFeedbackMutationFn = Apollo.MutationFunction< + SubmitSessionCoachFeedbackMutation, + SubmitSessionCoachFeedbackMutationVariables +>; + +/** + * __useSubmitSessionCoachFeedbackMutation__ + * + * To run a mutation, you first call `useSubmitSessionCoachFeedbackMutation` within a React component and pass it any options that fit your needs. + * When your component renders, `useSubmitSessionCoachFeedbackMutation` 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 [submitSessionCoachFeedbackMutation, { data, loading, error }] = useSubmitSessionCoachFeedbackMutation({ + * variables: { + * videoId: // value for 'videoId' + * generationId: // value for 'generationId' + * response: // value for 'response' + * }, + * }); + */ +export function useSubmitSessionCoachFeedbackMutation( + baseOptions?: Apollo.MutationHookOptions< + SubmitSessionCoachFeedbackMutation, + SubmitSessionCoachFeedbackMutationVariables + >, +) { + const options = { ...defaultOptions, ...baseOptions }; + return Apollo.useMutation< + SubmitSessionCoachFeedbackMutation, + SubmitSessionCoachFeedbackMutationVariables + >(SubmitSessionCoachFeedbackDocument, options); +} +export type SubmitSessionCoachFeedbackMutationHookResult = ReturnType< + typeof useSubmitSessionCoachFeedbackMutation +>; +export type SubmitSessionCoachFeedbackMutationResult = + Apollo.MutationResult; +export type SubmitSessionCoachFeedbackMutationOptions = + Apollo.BaseMutationOptions< + SubmitSessionCoachFeedbackMutation, + SubmitSessionCoachFeedbackMutationVariables + >; export const CreateShotShareLinkDocument = gql` mutation CreateShotShareLink( $shotIds: [Int!]! diff --git a/src/operations/session-coach.gql b/src/operations/session-coach.gql index b33afbb..11b824d 100644 --- a/src/operations/session-coach.gql +++ b/src/operations/session-coach.gql @@ -45,6 +45,21 @@ mutation RequestSessionCoachGeneration($videoId: Int!) { } } +mutation SubmitSessionCoachFeedback( + $videoId: Int! + $generationId: ID! + $response: SessionCoachFeedbackResponseEnum! +) { + submitSessionCoachFeedback( + videoId: $videoId + generationId: $generationId + response: $response + ) { + response + updatedAt + } +} + fragment SessionCoachCandidateFields on SessionCoachCandidateGQL { id rank @@ -117,4 +132,8 @@ fragment SessionCoachGenerationFields on SessionCoachGenerationGQL { abstentionReason synthesisRationale } + feedback { + response + updatedAt + } } diff --git a/src/schema.gql b/src/schema.gql index c1406e3..b2fdeef 100644 --- a/src/schema.gql +++ b/src/schema.gql @@ -249,11 +249,6 @@ input CreatePoolHallCameraInput { claimTermsText: String = null } -input CreateShotShareLinkInput { - shotIds: [Int!]! - paddingSeconds: Float = null -} - input CreatePoolHallInput { name: String! address: String = null @@ -264,6 +259,11 @@ input CreatePoolHallInput { timezone: String = null } +input CreateShotShareLinkInput { + shotIds: [Int!]! + paddingSeconds: Float = null +} + type CreateSubscriptionResultGQL { checkoutUrl: String! sessionId: String! @@ -728,6 +728,11 @@ type Mutation { shotId: Int! fieldsToEdit: EditableShotFieldInputGQL! ): EditShotReturn! + submitSessionCoachFeedback( + videoId: Int! + generationId: ID! + response: SessionCoachFeedbackResponseEnum! + ): SessionCoachFeedbackGQL! requestSessionCoachGeneration(videoId: Int!): SessionCoachGQL! getProfileImageUploadLink( fileExt: String = ".png" @@ -1387,6 +1392,18 @@ type SessionCoachEvidenceGQL { baselineMakePercentage: Float } +type SessionCoachFeedbackGQL { + response: SessionCoachFeedbackResponseEnum! + updatedAt: DateTime! +} + +enum SessionCoachFeedbackResponseEnum { + HELPFUL + WRONG_FOCUS + ALREADY_WORKING_ON_THIS + NOT_ENOUGH_EVIDENCE +} + type SessionCoachGQL { videoId: Int! processingId: Int @@ -1438,6 +1455,7 @@ type SessionCoachGenerationGQL { completedAt: DateTime decision: SessionCoachDecisionGQL diagnostics: SessionCoachGenerationDiagnosticsGQL + feedback: SessionCoachFeedbackGQL } enum SessionCoachGenerationStateEnum { @@ -1459,6 +1477,11 @@ enum SessionCoachStateEnum { FAILED } +type ShareLinkGQL { + slug: String! + url: String! +} + type ShotAnnotationGQL { shotId: Int! type: ShotAnnotationTypeGQL! @@ -1919,11 +1942,6 @@ type UserSubscriptionStatusGQL { stripeSubscriptionId: String } -type ShareLinkGQL { - slug: String! - url: String! -} - type VideoExportJobGQL { id: Int! videoId: Int!