Compare commits
12 Commits
dean/playe
...
apple-iap-
| Author | SHA1 | Date | |
|---|---|---|---|
| d1bc29b41b | |||
| 853769e183 | |||
| 84524d165d | |||
|
|
f4c5fcedd6 | ||
| 07ca121a3e | |||
|
|
66fb4d3dcc | ||
| 5293576947 | |||
| 655209e1c6 | |||
| c9576cf405 | |||
| 0c0cd7a7bb | |||
| 48b647636e | |||
| 079e4e8719 |
238
src/index.tsx
238
src/index.tsx
@@ -2754,6 +2754,7 @@ export type PlayerSummaryGql = {
|
|||||||
representativeFullFrameUrl?: Maybe<Scalars["String"]["output"]>;
|
representativeFullFrameUrl?: Maybe<Scalars["String"]["output"]>;
|
||||||
runLengths: Array<Scalars["Int"]["output"]>;
|
runLengths: Array<Scalars["Int"]["output"]>;
|
||||||
score?: Maybe<Scalars["Int"]["output"]>;
|
score?: Maybe<Scalars["Int"]["output"]>;
|
||||||
|
spinTypeBreakdown: SpinTypeBreakdownGql;
|
||||||
totalShots: Scalars["Int"]["output"];
|
totalShots: Scalars["Int"]["output"];
|
||||||
totalShotsMade: Scalars["Int"]["output"];
|
totalShotsMade: Scalars["Int"]["output"];
|
||||||
userId?: Maybe<Scalars["Int"]["output"]>;
|
userId?: Maybe<Scalars["Int"]["output"]>;
|
||||||
@@ -3345,6 +3346,13 @@ export type ShotsOrderingComponent =
|
|||||||
videoId: IntOrdering;
|
videoId: IntOrdering;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export type SpinTypeBreakdownGql = {
|
||||||
|
__typename?: "SpinTypeBreakdownGQL";
|
||||||
|
center: Scalars["Int"]["output"];
|
||||||
|
draw: Scalars["Int"]["output"];
|
||||||
|
follow: Scalars["Int"]["output"];
|
||||||
|
};
|
||||||
|
|
||||||
export type SpinTypeCountsGql = {
|
export type SpinTypeCountsGql = {
|
||||||
__typename?: "SpinTypeCountsGQL";
|
__typename?: "SpinTypeCountsGQL";
|
||||||
center: Scalars["Int"]["output"];
|
center: Scalars["Int"]["output"];
|
||||||
@@ -3671,6 +3679,7 @@ export type VideoGql = {
|
|||||||
|
|
||||||
export type VideoHistoryGql = {
|
export type VideoHistoryGql = {
|
||||||
__typename?: "VideoHistoryGQL";
|
__typename?: "VideoHistoryGQL";
|
||||||
|
followingCount: Scalars["Int"]["output"];
|
||||||
hasFollowing: Scalars["Boolean"]["output"];
|
hasFollowing: Scalars["Boolean"]["output"];
|
||||||
pageInfo: PageInfoGql;
|
pageInfo: PageInfoGql;
|
||||||
videos: Array<VideoGql>;
|
videos: Array<VideoGql>;
|
||||||
@@ -4292,6 +4301,12 @@ export type GetFeedQuery = {
|
|||||||
runLengths: Array<number>;
|
runLengths: Array<number>;
|
||||||
averageDifficulty?: number | null;
|
averageDifficulty?: number | null;
|
||||||
averageTimeBetweenShots?: number | null;
|
averageTimeBetweenShots?: number | null;
|
||||||
|
spinTypeBreakdown: {
|
||||||
|
__typename?: "SpinTypeBreakdownGQL";
|
||||||
|
draw: number;
|
||||||
|
center: number;
|
||||||
|
follow: number;
|
||||||
|
};
|
||||||
}>;
|
}>;
|
||||||
currentProcessing?: {
|
currentProcessing?: {
|
||||||
__typename?: "VideoProcessingGQL";
|
__typename?: "VideoProcessingGQL";
|
||||||
@@ -4397,6 +4412,12 @@ export type VideoCardFieldsFragment = {
|
|||||||
runLengths: Array<number>;
|
runLengths: Array<number>;
|
||||||
averageDifficulty?: number | null;
|
averageDifficulty?: number | null;
|
||||||
averageTimeBetweenShots?: number | null;
|
averageTimeBetweenShots?: number | null;
|
||||||
|
spinTypeBreakdown: {
|
||||||
|
__typename?: "SpinTypeBreakdownGQL";
|
||||||
|
draw: number;
|
||||||
|
center: number;
|
||||||
|
follow: number;
|
||||||
|
};
|
||||||
}>;
|
}>;
|
||||||
currentProcessing?: {
|
currentProcessing?: {
|
||||||
__typename?: "VideoProcessingGQL";
|
__typename?: "VideoProcessingGQL";
|
||||||
@@ -4488,6 +4509,7 @@ export type GetVideoFeedQuery = {
|
|||||||
getFeedVideos: {
|
getFeedVideos: {
|
||||||
__typename?: "VideoHistoryGQL";
|
__typename?: "VideoHistoryGQL";
|
||||||
hasFollowing: boolean;
|
hasFollowing: boolean;
|
||||||
|
followingCount: number;
|
||||||
videos: Array<{
|
videos: Array<{
|
||||||
__typename?: "VideoGQL";
|
__typename?: "VideoGQL";
|
||||||
id: number;
|
id: number;
|
||||||
@@ -4534,6 +4556,12 @@ export type GetVideoFeedQuery = {
|
|||||||
runLengths: Array<number>;
|
runLengths: Array<number>;
|
||||||
averageDifficulty?: number | null;
|
averageDifficulty?: number | null;
|
||||||
averageTimeBetweenShots?: number | null;
|
averageTimeBetweenShots?: number | null;
|
||||||
|
spinTypeBreakdown: {
|
||||||
|
__typename?: "SpinTypeBreakdownGQL";
|
||||||
|
draw: number;
|
||||||
|
center: number;
|
||||||
|
follow: number;
|
||||||
|
};
|
||||||
}>;
|
}>;
|
||||||
currentProcessing?: {
|
currentProcessing?: {
|
||||||
__typename?: "VideoProcessingGQL";
|
__typename?: "VideoProcessingGQL";
|
||||||
@@ -5012,6 +5040,11 @@ export type GetAvailableSubscriptionOptionsQuery = {
|
|||||||
getAvailableSubscriptionOptions: {
|
getAvailableSubscriptionOptions: {
|
||||||
__typename?: "StripeSubscriptionOptionsGQL";
|
__typename?: "StripeSubscriptionOptionsGQL";
|
||||||
trialPeriodDays?: number | null;
|
trialPeriodDays?: number | null;
|
||||||
|
appleIap: {
|
||||||
|
__typename?: "AppleIapSubscriptionOptionsGQL";
|
||||||
|
enabled: boolean;
|
||||||
|
proMonthlyProductId?: string | null;
|
||||||
|
};
|
||||||
products: Array<{
|
products: Array<{
|
||||||
__typename?: "StripeProductGQL";
|
__typename?: "StripeProductGQL";
|
||||||
id: string;
|
id: string;
|
||||||
@@ -5041,6 +5074,9 @@ export type GetSubscriptionStatusQuery = {
|
|||||||
getUserSubscriptionStatus: {
|
getUserSubscriptionStatus: {
|
||||||
__typename?: "UserSubscriptionStatusGQL";
|
__typename?: "UserSubscriptionStatusGQL";
|
||||||
hasActiveSubscription: boolean;
|
hasActiveSubscription: boolean;
|
||||||
|
entitlementSource?: EntitlementSourceTypeEnum | null;
|
||||||
|
entitlementStartsAt?: any | null;
|
||||||
|
entitlementEndsAt?: any | null;
|
||||||
subscriptionStatus?: StripeSubscriptionStatusEnum | null;
|
subscriptionStatus?: StripeSubscriptionStatusEnum | null;
|
||||||
currentPeriodStart?: any | null;
|
currentPeriodStart?: any | null;
|
||||||
currentPeriodEnd?: any | null;
|
currentPeriodEnd?: any | null;
|
||||||
@@ -5050,6 +5086,38 @@ export type GetSubscriptionStatusQuery = {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export type GetAppleAppAccountTokenQueryVariables = Exact<{
|
||||||
|
[key: string]: never;
|
||||||
|
}>;
|
||||||
|
|
||||||
|
export type GetAppleAppAccountTokenQuery = {
|
||||||
|
__typename?: "Query";
|
||||||
|
getAppleAppAccountToken: string;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type SyncAppleSubscriptionMutationVariables = Exact<{
|
||||||
|
signedTransactionInfo: Scalars["String"]["input"];
|
||||||
|
}>;
|
||||||
|
|
||||||
|
export type SyncAppleSubscriptionMutation = {
|
||||||
|
__typename?: "Mutation";
|
||||||
|
syncAppleSubscription: {
|
||||||
|
__typename?: "SyncAppleSubscriptionResultGQL";
|
||||||
|
ok: boolean;
|
||||||
|
errorCode?: string | null;
|
||||||
|
errorMessage?: string | null;
|
||||||
|
hasActiveSubscription: boolean;
|
||||||
|
entitlementSource?: EntitlementSourceTypeEnum | null;
|
||||||
|
entitlementStartsAt?: any | null;
|
||||||
|
entitlementEndsAt?: any | null;
|
||||||
|
appleStatus?: number | null;
|
||||||
|
originalTransactionId?: string | null;
|
||||||
|
latestTransactionId?: string | null;
|
||||||
|
productId?: string | null;
|
||||||
|
expiresAt?: any | null;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
export type CancelSubscriptionMutationVariables = Exact<{
|
export type CancelSubscriptionMutationVariables = Exact<{
|
||||||
[key: string]: never;
|
[key: string]: never;
|
||||||
}>;
|
}>;
|
||||||
@@ -5059,6 +5127,9 @@ export type CancelSubscriptionMutation = {
|
|||||||
cancelSubscription: {
|
cancelSubscription: {
|
||||||
__typename?: "UserSubscriptionStatusGQL";
|
__typename?: "UserSubscriptionStatusGQL";
|
||||||
hasActiveSubscription: boolean;
|
hasActiveSubscription: boolean;
|
||||||
|
entitlementSource?: EntitlementSourceTypeEnum | null;
|
||||||
|
entitlementStartsAt?: any | null;
|
||||||
|
entitlementEndsAt?: any | null;
|
||||||
subscriptionStatus?: StripeSubscriptionStatusEnum | null;
|
subscriptionStatus?: StripeSubscriptionStatusEnum | null;
|
||||||
currentPeriodStart?: any | null;
|
currentPeriodStart?: any | null;
|
||||||
currentPeriodEnd?: any | null;
|
currentPeriodEnd?: any | null;
|
||||||
@@ -5178,6 +5249,12 @@ export type PlayerSummaryFieldsFragment = {
|
|||||||
runLengths: Array<number>;
|
runLengths: Array<number>;
|
||||||
averageDifficulty?: number | null;
|
averageDifficulty?: number | null;
|
||||||
averageTimeBetweenShots?: number | null;
|
averageTimeBetweenShots?: number | null;
|
||||||
|
spinTypeBreakdown: {
|
||||||
|
__typename?: "SpinTypeBreakdownGQL";
|
||||||
|
draw: number;
|
||||||
|
center: number;
|
||||||
|
follow: number;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
export type PlayerClusterShotFieldsFragment = {
|
export type PlayerClusterShotFieldsFragment = {
|
||||||
@@ -6304,6 +6381,12 @@ export type GetVideoDetailsQuery = {
|
|||||||
runLengths: Array<number>;
|
runLengths: Array<number>;
|
||||||
averageDifficulty?: number | null;
|
averageDifficulty?: number | null;
|
||||||
averageTimeBetweenShots?: number | null;
|
averageTimeBetweenShots?: number | null;
|
||||||
|
spinTypeBreakdown: {
|
||||||
|
__typename?: "SpinTypeBreakdownGQL";
|
||||||
|
draw: number;
|
||||||
|
center: number;
|
||||||
|
follow: number;
|
||||||
|
};
|
||||||
}>;
|
}>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -6424,6 +6507,12 @@ export type GetVideoCardQuery = {
|
|||||||
runLengths: Array<number>;
|
runLengths: Array<number>;
|
||||||
averageDifficulty?: number | null;
|
averageDifficulty?: number | null;
|
||||||
averageTimeBetweenShots?: number | null;
|
averageTimeBetweenShots?: number | null;
|
||||||
|
spinTypeBreakdown: {
|
||||||
|
__typename?: "SpinTypeBreakdownGQL";
|
||||||
|
draw: number;
|
||||||
|
center: number;
|
||||||
|
follow: number;
|
||||||
|
};
|
||||||
}>;
|
}>;
|
||||||
currentProcessing?: {
|
currentProcessing?: {
|
||||||
__typename?: "VideoProcessingGQL";
|
__typename?: "VideoProcessingGQL";
|
||||||
@@ -7072,6 +7161,11 @@ export const PlayerSummaryFieldsFragmentDoc = gql`
|
|||||||
score
|
score
|
||||||
longestRun
|
longestRun
|
||||||
runLengths
|
runLengths
|
||||||
|
spinTypeBreakdown {
|
||||||
|
draw
|
||||||
|
center
|
||||||
|
follow
|
||||||
|
}
|
||||||
averageDifficulty
|
averageDifficulty
|
||||||
averageTimeBetweenShots
|
averageTimeBetweenShots
|
||||||
}
|
}
|
||||||
@@ -9429,6 +9523,7 @@ export const GetVideoFeedDocument = gql`
|
|||||||
endCursor
|
endCursor
|
||||||
}
|
}
|
||||||
hasFollowing
|
hasFollowing
|
||||||
|
followingCount
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
${VideoCardFieldsFragmentDoc}
|
${VideoCardFieldsFragmentDoc}
|
||||||
@@ -10594,6 +10689,10 @@ export const GetAvailableSubscriptionOptionsDocument = gql`
|
|||||||
query GetAvailableSubscriptionOptions {
|
query GetAvailableSubscriptionOptions {
|
||||||
getAvailableSubscriptionOptions {
|
getAvailableSubscriptionOptions {
|
||||||
trialPeriodDays
|
trialPeriodDays
|
||||||
|
appleIap {
|
||||||
|
enabled
|
||||||
|
proMonthlyProductId
|
||||||
|
}
|
||||||
products {
|
products {
|
||||||
id
|
id
|
||||||
name
|
name
|
||||||
@@ -10681,6 +10780,9 @@ export const GetSubscriptionStatusDocument = gql`
|
|||||||
query GetSubscriptionStatus {
|
query GetSubscriptionStatus {
|
||||||
getUserSubscriptionStatus {
|
getUserSubscriptionStatus {
|
||||||
hasActiveSubscription
|
hasActiveSubscription
|
||||||
|
entitlementSource
|
||||||
|
entitlementStartsAt
|
||||||
|
entitlementEndsAt
|
||||||
subscriptionStatus
|
subscriptionStatus
|
||||||
currentPeriodStart
|
currentPeriodStart
|
||||||
currentPeriodEnd
|
currentPeriodEnd
|
||||||
@@ -10755,10 +10857,146 @@ export type GetSubscriptionStatusQueryResult = Apollo.QueryResult<
|
|||||||
GetSubscriptionStatusQuery,
|
GetSubscriptionStatusQuery,
|
||||||
GetSubscriptionStatusQueryVariables
|
GetSubscriptionStatusQueryVariables
|
||||||
>;
|
>;
|
||||||
|
export const GetAppleAppAccountTokenDocument = gql`
|
||||||
|
query GetAppleAppAccountToken {
|
||||||
|
getAppleAppAccountToken
|
||||||
|
}
|
||||||
|
`;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* __useGetAppleAppAccountTokenQuery__
|
||||||
|
*
|
||||||
|
* To run a query within a React component, call `useGetAppleAppAccountTokenQuery` and pass it any options that fit your needs.
|
||||||
|
* When your component renders, `useGetAppleAppAccountTokenQuery` returns an object from Apollo Client that contains loading, error, and data properties
|
||||||
|
* you can use to render your UI.
|
||||||
|
*
|
||||||
|
* @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
|
||||||
|
*
|
||||||
|
* @example
|
||||||
|
* const { data, loading, error } = useGetAppleAppAccountTokenQuery({
|
||||||
|
* variables: {
|
||||||
|
* },
|
||||||
|
* });
|
||||||
|
*/
|
||||||
|
export function useGetAppleAppAccountTokenQuery(
|
||||||
|
baseOptions?: Apollo.QueryHookOptions<
|
||||||
|
GetAppleAppAccountTokenQuery,
|
||||||
|
GetAppleAppAccountTokenQueryVariables
|
||||||
|
>,
|
||||||
|
) {
|
||||||
|
const options = { ...defaultOptions, ...baseOptions };
|
||||||
|
return Apollo.useQuery<
|
||||||
|
GetAppleAppAccountTokenQuery,
|
||||||
|
GetAppleAppAccountTokenQueryVariables
|
||||||
|
>(GetAppleAppAccountTokenDocument, options);
|
||||||
|
}
|
||||||
|
export function useGetAppleAppAccountTokenLazyQuery(
|
||||||
|
baseOptions?: Apollo.LazyQueryHookOptions<
|
||||||
|
GetAppleAppAccountTokenQuery,
|
||||||
|
GetAppleAppAccountTokenQueryVariables
|
||||||
|
>,
|
||||||
|
) {
|
||||||
|
const options = { ...defaultOptions, ...baseOptions };
|
||||||
|
return Apollo.useLazyQuery<
|
||||||
|
GetAppleAppAccountTokenQuery,
|
||||||
|
GetAppleAppAccountTokenQueryVariables
|
||||||
|
>(GetAppleAppAccountTokenDocument, options);
|
||||||
|
}
|
||||||
|
export function useGetAppleAppAccountTokenSuspenseQuery(
|
||||||
|
baseOptions?: Apollo.SuspenseQueryHookOptions<
|
||||||
|
GetAppleAppAccountTokenQuery,
|
||||||
|
GetAppleAppAccountTokenQueryVariables
|
||||||
|
>,
|
||||||
|
) {
|
||||||
|
const options = { ...defaultOptions, ...baseOptions };
|
||||||
|
return Apollo.useSuspenseQuery<
|
||||||
|
GetAppleAppAccountTokenQuery,
|
||||||
|
GetAppleAppAccountTokenQueryVariables
|
||||||
|
>(GetAppleAppAccountTokenDocument, options);
|
||||||
|
}
|
||||||
|
export type GetAppleAppAccountTokenQueryHookResult = ReturnType<
|
||||||
|
typeof useGetAppleAppAccountTokenQuery
|
||||||
|
>;
|
||||||
|
export type GetAppleAppAccountTokenLazyQueryHookResult = ReturnType<
|
||||||
|
typeof useGetAppleAppAccountTokenLazyQuery
|
||||||
|
>;
|
||||||
|
export type GetAppleAppAccountTokenSuspenseQueryHookResult = ReturnType<
|
||||||
|
typeof useGetAppleAppAccountTokenSuspenseQuery
|
||||||
|
>;
|
||||||
|
export type GetAppleAppAccountTokenQueryResult = Apollo.QueryResult<
|
||||||
|
GetAppleAppAccountTokenQuery,
|
||||||
|
GetAppleAppAccountTokenQueryVariables
|
||||||
|
>;
|
||||||
|
export const SyncAppleSubscriptionDocument = gql`
|
||||||
|
mutation SyncAppleSubscription($signedTransactionInfo: String!) {
|
||||||
|
syncAppleSubscription(
|
||||||
|
input: { signedTransactionInfo: $signedTransactionInfo }
|
||||||
|
) {
|
||||||
|
ok
|
||||||
|
errorCode
|
||||||
|
errorMessage
|
||||||
|
hasActiveSubscription
|
||||||
|
entitlementSource
|
||||||
|
entitlementStartsAt
|
||||||
|
entitlementEndsAt
|
||||||
|
appleStatus
|
||||||
|
originalTransactionId
|
||||||
|
latestTransactionId
|
||||||
|
productId
|
||||||
|
expiresAt
|
||||||
|
}
|
||||||
|
}
|
||||||
|
`;
|
||||||
|
export type SyncAppleSubscriptionMutationFn = Apollo.MutationFunction<
|
||||||
|
SyncAppleSubscriptionMutation,
|
||||||
|
SyncAppleSubscriptionMutationVariables
|
||||||
|
>;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* __useSyncAppleSubscriptionMutation__
|
||||||
|
*
|
||||||
|
* To run a mutation, you first call `useSyncAppleSubscriptionMutation` within a React component and pass it any options that fit your needs.
|
||||||
|
* When your component renders, `useSyncAppleSubscriptionMutation` 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 [syncAppleSubscriptionMutation, { data, loading, error }] = useSyncAppleSubscriptionMutation({
|
||||||
|
* variables: {
|
||||||
|
* signedTransactionInfo: // value for 'signedTransactionInfo'
|
||||||
|
* },
|
||||||
|
* });
|
||||||
|
*/
|
||||||
|
export function useSyncAppleSubscriptionMutation(
|
||||||
|
baseOptions?: Apollo.MutationHookOptions<
|
||||||
|
SyncAppleSubscriptionMutation,
|
||||||
|
SyncAppleSubscriptionMutationVariables
|
||||||
|
>,
|
||||||
|
) {
|
||||||
|
const options = { ...defaultOptions, ...baseOptions };
|
||||||
|
return Apollo.useMutation<
|
||||||
|
SyncAppleSubscriptionMutation,
|
||||||
|
SyncAppleSubscriptionMutationVariables
|
||||||
|
>(SyncAppleSubscriptionDocument, options);
|
||||||
|
}
|
||||||
|
export type SyncAppleSubscriptionMutationHookResult = ReturnType<
|
||||||
|
typeof useSyncAppleSubscriptionMutation
|
||||||
|
>;
|
||||||
|
export type SyncAppleSubscriptionMutationResult =
|
||||||
|
Apollo.MutationResult<SyncAppleSubscriptionMutation>;
|
||||||
|
export type SyncAppleSubscriptionMutationOptions = Apollo.BaseMutationOptions<
|
||||||
|
SyncAppleSubscriptionMutation,
|
||||||
|
SyncAppleSubscriptionMutationVariables
|
||||||
|
>;
|
||||||
export const CancelSubscriptionDocument = gql`
|
export const CancelSubscriptionDocument = gql`
|
||||||
mutation CancelSubscription {
|
mutation CancelSubscription {
|
||||||
cancelSubscription {
|
cancelSubscription {
|
||||||
hasActiveSubscription
|
hasActiveSubscription
|
||||||
|
entitlementSource
|
||||||
|
entitlementStartsAt
|
||||||
|
entitlementEndsAt
|
||||||
subscriptionStatus
|
subscriptionStatus
|
||||||
currentPeriodStart
|
currentPeriodStart
|
||||||
currentPeriodEnd
|
currentPeriodEnd
|
||||||
|
|||||||
@@ -146,5 +146,6 @@ query GetVideoFeed(
|
|||||||
endCursor
|
endCursor
|
||||||
}
|
}
|
||||||
hasFollowing
|
hasFollowing
|
||||||
|
followingCount
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,6 +29,10 @@ mutation CreateCustomerPortalSession {
|
|||||||
query GetAvailableSubscriptionOptions {
|
query GetAvailableSubscriptionOptions {
|
||||||
getAvailableSubscriptionOptions {
|
getAvailableSubscriptionOptions {
|
||||||
trialPeriodDays
|
trialPeriodDays
|
||||||
|
appleIap {
|
||||||
|
enabled
|
||||||
|
proMonthlyProductId
|
||||||
|
}
|
||||||
products {
|
products {
|
||||||
id
|
id
|
||||||
name
|
name
|
||||||
@@ -50,6 +54,9 @@ query GetAvailableSubscriptionOptions {
|
|||||||
query GetSubscriptionStatus {
|
query GetSubscriptionStatus {
|
||||||
getUserSubscriptionStatus {
|
getUserSubscriptionStatus {
|
||||||
hasActiveSubscription
|
hasActiveSubscription
|
||||||
|
entitlementSource
|
||||||
|
entitlementStartsAt
|
||||||
|
entitlementEndsAt
|
||||||
subscriptionStatus
|
subscriptionStatus
|
||||||
currentPeriodStart
|
currentPeriodStart
|
||||||
currentPeriodEnd
|
currentPeriodEnd
|
||||||
@@ -59,9 +66,35 @@ query GetSubscriptionStatus {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
query GetAppleAppAccountToken {
|
||||||
|
getAppleAppAccountToken
|
||||||
|
}
|
||||||
|
|
||||||
|
mutation SyncAppleSubscription($signedTransactionInfo: String!) {
|
||||||
|
syncAppleSubscription(
|
||||||
|
input: { signedTransactionInfo: $signedTransactionInfo }
|
||||||
|
) {
|
||||||
|
ok
|
||||||
|
errorCode
|
||||||
|
errorMessage
|
||||||
|
hasActiveSubscription
|
||||||
|
entitlementSource
|
||||||
|
entitlementStartsAt
|
||||||
|
entitlementEndsAt
|
||||||
|
appleStatus
|
||||||
|
originalTransactionId
|
||||||
|
latestTransactionId
|
||||||
|
productId
|
||||||
|
expiresAt
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
mutation CancelSubscription {
|
mutation CancelSubscription {
|
||||||
cancelSubscription {
|
cancelSubscription {
|
||||||
hasActiveSubscription
|
hasActiveSubscription
|
||||||
|
entitlementSource
|
||||||
|
entitlementStartsAt
|
||||||
|
entitlementEndsAt
|
||||||
subscriptionStatus
|
subscriptionStatus
|
||||||
currentPeriodStart
|
currentPeriodStart
|
||||||
currentPeriodEnd
|
currentPeriodEnd
|
||||||
|
|||||||
@@ -10,6 +10,11 @@ fragment PlayerSummaryFields on PlayerSummaryGQL {
|
|||||||
score
|
score
|
||||||
longestRun
|
longestRun
|
||||||
runLengths
|
runLengths
|
||||||
|
spinTypeBreakdown {
|
||||||
|
draw
|
||||||
|
center
|
||||||
|
follow
|
||||||
|
}
|
||||||
averageDifficulty
|
averageDifficulty
|
||||||
averageTimeBetweenShots
|
averageTimeBetweenShots
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -689,10 +689,17 @@ type PlayerSummaryGQL {
|
|||||||
score: Int
|
score: Int
|
||||||
longestRun: Int!
|
longestRun: Int!
|
||||||
runLengths: [Int!]!
|
runLengths: [Int!]!
|
||||||
|
spinTypeBreakdown: SpinTypeBreakdownGQL!
|
||||||
averageDifficulty: Float
|
averageDifficulty: Float
|
||||||
averageTimeBetweenShots: Float
|
averageTimeBetweenShots: Float
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type SpinTypeBreakdownGQL {
|
||||||
|
draw: Int!
|
||||||
|
center: Int!
|
||||||
|
follow: Int!
|
||||||
|
}
|
||||||
|
|
||||||
type DeployedConfigGQL {
|
type DeployedConfigGQL {
|
||||||
allowNewUsers: Boolean!
|
allowNewUsers: Boolean!
|
||||||
firebase: Boolean!
|
firebase: Boolean!
|
||||||
@@ -725,6 +732,7 @@ type VideoHistoryGQL {
|
|||||||
videos: [VideoGQL!]!
|
videos: [VideoGQL!]!
|
||||||
pageInfo: PageInfoGQL!
|
pageInfo: PageInfoGQL!
|
||||||
hasFollowing: Boolean!
|
hasFollowing: Boolean!
|
||||||
|
followingCount: Int!
|
||||||
}
|
}
|
||||||
|
|
||||||
type PageInfoGQL {
|
type PageInfoGQL {
|
||||||
|
|||||||
Reference in New Issue
Block a user