Compare commits

..

1 Commits

Author SHA1 Message Date
fe95ab824e Add Apple subscription mobile operations
All checks were successful
Tests / Tests (pull_request) Successful in 11s
2026-06-15 16:12:38 -07:00
4 changed files with 0 additions and 373 deletions

View File

@@ -79,12 +79,6 @@ export enum AlignedIntervalEnum {
Year = "YEAR", Year = "YEAR",
} }
export type AppleIapSubscriptionOptionsGql = {
__typename?: "AppleIapSubscriptionOptionsGQL";
enabled: Scalars["Boolean"]["output"];
proMonthlyProductId?: Maybe<Scalars["String"]["output"]>;
};
export type BankFeaturesGql = { export type BankFeaturesGql = {
__typename?: "BankFeaturesGQL"; __typename?: "BankFeaturesGQL";
bankAngle: Scalars["Float"]["output"]; bankAngle: Scalars["Float"]["output"];
@@ -310,14 +304,6 @@ export type DoesNotOwnShotErrOtherErrorNeedsNote =
| DoesNotOwnShotErr | DoesNotOwnShotErr
| OtherErrorNeedsNote; | OtherErrorNeedsNote;
export type DrillRunLeaderboardGql = {
__typename?: "DrillRunLeaderboardGQL";
entries: Array<RunGql>;
totalPlayers: Scalars["Int"]["output"];
youRank?: Maybe<Scalars["Int"]["output"]>;
youRun?: Maybe<RunGql>;
};
export type EditShotReturn = { export type EditShotReturn = {
__typename?: "EditShotReturn"; __typename?: "EditShotReturn";
error?: Maybe<DoesNotOwnShotErr>; error?: Maybe<DoesNotOwnShotErr>;
@@ -2838,14 +2824,12 @@ export type Query = {
getAvailableSubscriptionOptions: StripeSubscriptionOptionsGql; getAvailableSubscriptionOptions: StripeSubscriptionOptionsGql;
getBucketSet?: Maybe<BucketSetGql>; getBucketSet?: Maybe<BucketSetGql>;
getDeployedConfig: DeployedConfigGql; getDeployedConfig: DeployedConfigGql;
getDrillRunLeaderboard: DrillRunLeaderboardGql;
getFeedVideos: VideoHistoryGql; getFeedVideos: VideoHistoryGql;
getGameTypeTagMetrics: Array<GameTypeTagMetric>; getGameTypeTagMetrics: Array<GameTypeTagMetric>;
getLoggedInUser?: Maybe<UserGql>; getLoggedInUser?: Maybe<UserGql>;
getLongestRunsLeaderboard: RunLeaderboardGql; getLongestRunsLeaderboard: RunLeaderboardGql;
getMakesLeaderboard: CountLeaderboardGql; getMakesLeaderboard: CountLeaderboardGql;
getMedals: RequestedMedalsGql; getMedals: RequestedMedalsGql;
getMyDrillRuns: Array<RunGql>;
getOrderedShots: GetShotsResult; getOrderedShots: GetShotsResult;
getPlayTime: UserPlayTimeGql; getPlayTime: UserPlayTimeGql;
getQuotaStatus: QuotaStatusGql; getQuotaStatus: QuotaStatusGql;
@@ -2901,16 +2885,6 @@ export type QueryGetBucketSetArgs = {
keyName: Scalars["String"]["input"]; keyName: Scalars["String"]["input"];
}; };
export type QueryGetDrillRunLeaderboardArgs = {
drillTag: Scalars["String"]["input"];
interval?: InputMaybe<TimeInterval>;
limit?: Scalars["Int"]["input"];
pocketSizeMax?: InputMaybe<Scalars["Float"]["input"]>;
pocketSizeMin?: InputMaybe<Scalars["Float"]["input"]>;
tableSizeMax?: InputMaybe<Scalars["Float"]["input"]>;
tableSizeMin?: InputMaybe<Scalars["Float"]["input"]>;
};
export type QueryGetFeedVideosArgs = { export type QueryGetFeedVideosArgs = {
after?: InputMaybe<Scalars["String"]["input"]>; after?: InputMaybe<Scalars["String"]["input"]>;
feedInput?: InputMaybe<VideoFeedInputGql>; feedInput?: InputMaybe<VideoFeedInputGql>;
@@ -2941,11 +2915,6 @@ export type QueryGetMedalsArgs = {
userId?: InputMaybe<Scalars["Int"]["input"]>; userId?: InputMaybe<Scalars["Int"]["input"]>;
}; };
export type QueryGetMyDrillRunsArgs = {
drillTag: Scalars["String"]["input"];
limit?: Scalars["Int"]["input"];
};
export type QueryGetOrderedShotsArgs = { export type QueryGetOrderedShotsArgs = {
countRespectsLimit?: Scalars["Boolean"]["input"]; countRespectsLimit?: Scalars["Boolean"]["input"];
filterInput: FilterInput; filterInput: FilterInput;
@@ -3391,7 +3360,6 @@ export type StripeProductGql = {
export type StripeSubscriptionOptionsGql = { export type StripeSubscriptionOptionsGql = {
__typename?: "StripeSubscriptionOptionsGQL"; __typename?: "StripeSubscriptionOptionsGQL";
appleIap: AppleIapSubscriptionOptionsGql;
products: Array<StripeProductGql>; products: Array<StripeProductGql>;
trialPeriodDays?: Maybe<Scalars["Int"]["output"]>; trialPeriodDays?: Maybe<Scalars["Int"]["output"]>;
}; };
@@ -4633,64 +4601,6 @@ export type GetRunsLeaderboardQuery = {
}; };
}; };
export type GetDrillRunLeaderboardQueryVariables = Exact<{
drillTag: Scalars["String"]["input"];
interval?: InputMaybe<TimeInterval>;
limit?: InputMaybe<Scalars["Int"]["input"]>;
tableSizeMin?: InputMaybe<Scalars["Float"]["input"]>;
tableSizeMax?: InputMaybe<Scalars["Float"]["input"]>;
pocketSizeMin?: InputMaybe<Scalars["Float"]["input"]>;
pocketSizeMax?: InputMaybe<Scalars["Float"]["input"]>;
}>;
export type GetDrillRunLeaderboardQuery = {
__typename?: "Query";
getDrillRunLeaderboard: {
__typename?: "DrillRunLeaderboardGQL";
youRank?: number | null;
totalPlayers: number;
entries: Array<{
__typename?: "RunGQL";
id: number;
runLength: number;
videoId: number;
video: {
__typename?: "VideoGQL";
tableSize: number;
pocketSize?: number | null;
};
user: {
__typename?: "UserGQL";
id: number;
username: string;
profileImageUri?: string | null;
};
}>;
youRun?: {
__typename?: "RunGQL";
id: number;
runLength: number;
videoId: number;
} | null;
};
};
export type GetMyDrillRunsQueryVariables = Exact<{
drillTag: Scalars["String"]["input"];
limit?: InputMaybe<Scalars["Int"]["input"]>;
}>;
export type GetMyDrillRunsQuery = {
__typename?: "Query";
getMyDrillRuns: Array<{
__typename?: "RunGQL";
id: number;
runLength: number;
videoId: number;
video: { __typename?: "VideoGQL"; createdAt?: any | null };
}>;
};
export type GetVideoMakePercentageIntervalsQueryVariables = Exact<{ export type GetVideoMakePercentageIntervalsQueryVariables = Exact<{
videoId: Scalars["ID"]["input"]; videoId: Scalars["ID"]["input"];
intervalDuration: Scalars["Int"]["input"]; intervalDuration: Scalars["Int"]["input"];
@@ -5008,11 +4918,6 @@ 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;
@@ -9708,200 +9613,6 @@ export type GetRunsLeaderboardQueryResult = Apollo.QueryResult<
GetRunsLeaderboardQuery, GetRunsLeaderboardQuery,
GetRunsLeaderboardQueryVariables GetRunsLeaderboardQueryVariables
>; >;
export const GetDrillRunLeaderboardDocument = gql`
query GetDrillRunLeaderboard(
$drillTag: String!
$interval: TimeInterval
$limit: Int = 50
$tableSizeMin: Float
$tableSizeMax: Float
$pocketSizeMin: Float
$pocketSizeMax: Float
) {
getDrillRunLeaderboard(
drillTag: $drillTag
interval: $interval
limit: $limit
tableSizeMin: $tableSizeMin
tableSizeMax: $tableSizeMax
pocketSizeMin: $pocketSizeMin
pocketSizeMax: $pocketSizeMax
) {
entries {
id
runLength
videoId
video {
tableSize
pocketSize
}
user {
id
username
profileImageUri
}
}
youRun {
id
runLength
videoId
}
youRank
totalPlayers
}
}
`;
/**
* __useGetDrillRunLeaderboardQuery__
*
* To run a query within a React component, call `useGetDrillRunLeaderboardQuery` and pass it any options that fit your needs.
* When your component renders, `useGetDrillRunLeaderboardQuery` 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 } = useGetDrillRunLeaderboardQuery({
* variables: {
* drillTag: // value for 'drillTag'
* interval: // value for 'interval'
* limit: // value for 'limit'
* tableSizeMin: // value for 'tableSizeMin'
* tableSizeMax: // value for 'tableSizeMax'
* pocketSizeMin: // value for 'pocketSizeMin'
* pocketSizeMax: // value for 'pocketSizeMax'
* },
* });
*/
export function useGetDrillRunLeaderboardQuery(
baseOptions: Apollo.QueryHookOptions<
GetDrillRunLeaderboardQuery,
GetDrillRunLeaderboardQueryVariables
>,
) {
const options = { ...defaultOptions, ...baseOptions };
return Apollo.useQuery<
GetDrillRunLeaderboardQuery,
GetDrillRunLeaderboardQueryVariables
>(GetDrillRunLeaderboardDocument, options);
}
export function useGetDrillRunLeaderboardLazyQuery(
baseOptions?: Apollo.LazyQueryHookOptions<
GetDrillRunLeaderboardQuery,
GetDrillRunLeaderboardQueryVariables
>,
) {
const options = { ...defaultOptions, ...baseOptions };
return Apollo.useLazyQuery<
GetDrillRunLeaderboardQuery,
GetDrillRunLeaderboardQueryVariables
>(GetDrillRunLeaderboardDocument, options);
}
export function useGetDrillRunLeaderboardSuspenseQuery(
baseOptions?: Apollo.SuspenseQueryHookOptions<
GetDrillRunLeaderboardQuery,
GetDrillRunLeaderboardQueryVariables
>,
) {
const options = { ...defaultOptions, ...baseOptions };
return Apollo.useSuspenseQuery<
GetDrillRunLeaderboardQuery,
GetDrillRunLeaderboardQueryVariables
>(GetDrillRunLeaderboardDocument, options);
}
export type GetDrillRunLeaderboardQueryHookResult = ReturnType<
typeof useGetDrillRunLeaderboardQuery
>;
export type GetDrillRunLeaderboardLazyQueryHookResult = ReturnType<
typeof useGetDrillRunLeaderboardLazyQuery
>;
export type GetDrillRunLeaderboardSuspenseQueryHookResult = ReturnType<
typeof useGetDrillRunLeaderboardSuspenseQuery
>;
export type GetDrillRunLeaderboardQueryResult = Apollo.QueryResult<
GetDrillRunLeaderboardQuery,
GetDrillRunLeaderboardQueryVariables
>;
export const GetMyDrillRunsDocument = gql`
query GetMyDrillRuns($drillTag: String!, $limit: Int = 50) {
getMyDrillRuns(drillTag: $drillTag, limit: $limit) {
id
runLength
videoId
video {
createdAt
}
}
}
`;
/**
* __useGetMyDrillRunsQuery__
*
* To run a query within a React component, call `useGetMyDrillRunsQuery` and pass it any options that fit your needs.
* When your component renders, `useGetMyDrillRunsQuery` 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 } = useGetMyDrillRunsQuery({
* variables: {
* drillTag: // value for 'drillTag'
* limit: // value for 'limit'
* },
* });
*/
export function useGetMyDrillRunsQuery(
baseOptions: Apollo.QueryHookOptions<
GetMyDrillRunsQuery,
GetMyDrillRunsQueryVariables
>,
) {
const options = { ...defaultOptions, ...baseOptions };
return Apollo.useQuery<GetMyDrillRunsQuery, GetMyDrillRunsQueryVariables>(
GetMyDrillRunsDocument,
options,
);
}
export function useGetMyDrillRunsLazyQuery(
baseOptions?: Apollo.LazyQueryHookOptions<
GetMyDrillRunsQuery,
GetMyDrillRunsQueryVariables
>,
) {
const options = { ...defaultOptions, ...baseOptions };
return Apollo.useLazyQuery<GetMyDrillRunsQuery, GetMyDrillRunsQueryVariables>(
GetMyDrillRunsDocument,
options,
);
}
export function useGetMyDrillRunsSuspenseQuery(
baseOptions?: Apollo.SuspenseQueryHookOptions<
GetMyDrillRunsQuery,
GetMyDrillRunsQueryVariables
>,
) {
const options = { ...defaultOptions, ...baseOptions };
return Apollo.useSuspenseQuery<
GetMyDrillRunsQuery,
GetMyDrillRunsQueryVariables
>(GetMyDrillRunsDocument, options);
}
export type GetMyDrillRunsQueryHookResult = ReturnType<
typeof useGetMyDrillRunsQuery
>;
export type GetMyDrillRunsLazyQueryHookResult = ReturnType<
typeof useGetMyDrillRunsLazyQuery
>;
export type GetMyDrillRunsSuspenseQueryHookResult = ReturnType<
typeof useGetMyDrillRunsSuspenseQuery
>;
export type GetMyDrillRunsQueryResult = Apollo.QueryResult<
GetMyDrillRunsQuery,
GetMyDrillRunsQueryVariables
>;
export const GetVideoMakePercentageIntervalsDocument = gql` export const GetVideoMakePercentageIntervalsDocument = gql`
query GetVideoMakePercentageIntervals( query GetVideoMakePercentageIntervals(
$videoId: ID! $videoId: ID!
@@ -10629,10 +10340,6 @@ export const GetAvailableSubscriptionOptionsDocument = gql`
query GetAvailableSubscriptionOptions { query GetAvailableSubscriptionOptions {
getAvailableSubscriptionOptions { getAvailableSubscriptionOptions {
trialPeriodDays trialPeriodDays
appleIap {
enabled
proMonthlyProductId
}
products { products {
id id
name name

View File

@@ -30,56 +30,3 @@ query GetRunsLeaderboard($interval: TimeInterval, $when: DateTime) {
} }
} }
} }
query GetDrillRunLeaderboard(
$drillTag: String!
$interval: TimeInterval
$limit: Int = 50
$tableSizeMin: Float
$tableSizeMax: Float
$pocketSizeMin: Float
$pocketSizeMax: Float
) {
getDrillRunLeaderboard(
drillTag: $drillTag
interval: $interval
limit: $limit
tableSizeMin: $tableSizeMin
tableSizeMax: $tableSizeMax
pocketSizeMin: $pocketSizeMin
pocketSizeMax: $pocketSizeMax
) {
entries {
id
runLength
videoId
video {
tableSize
pocketSize
}
user {
id
username
profileImageUri
}
}
youRun {
id
runLength
videoId
}
youRank
totalPlayers
}
}
query GetMyDrillRuns($drillTag: String!, $limit: Int = 50) {
getMyDrillRuns(drillTag: $drillTag, limit: $limit) {
id
runLength
videoId
video {
createdAt
}
}
}

View File

@@ -29,10 +29,6 @@ mutation CreateCustomerPortalSession {
query GetAvailableSubscriptionOptions { query GetAvailableSubscriptionOptions {
getAvailableSubscriptionOptions { getAvailableSubscriptionOptions {
trialPeriodDays trialPeriodDays
appleIap {
enabled
proMonthlyProductId
}
products { products {
id id
name name

View File

@@ -31,16 +31,6 @@ type Query {
limit: Int! = 50 limit: Int! = 50
requiredTags: [String!] = null requiredTags: [String!] = null
): RunLeaderboardGQL! ): RunLeaderboardGQL!
getDrillRunLeaderboard(
drillTag: String!
interval: TimeInterval = null
limit: Int! = 50
tableSizeMin: Float = null
tableSizeMax: Float = null
pocketSizeMin: Float = null
pocketSizeMax: Float = null
): DrillRunLeaderboardGQL!
getMyDrillRuns(drillTag: String!, limit: Int! = 50): [RunGQL!]!
getMakesLeaderboard( getMakesLeaderboard(
interval: TimeInterval = null interval: TimeInterval = null
when: DateTime = null when: DateTime = null
@@ -760,13 +750,6 @@ type RunLeaderboardGQL {
entries: [RunGQL!]! entries: [RunGQL!]!
} }
type DrillRunLeaderboardGQL {
entries: [RunGQL!]!
youRun: RunGQL
youRank: Int
totalPlayers: Int!
}
type CountLeaderboardGQL { type CountLeaderboardGQL {
entries: [UserShotCountEntry!]! entries: [UserShotCountEntry!]!
} }
@@ -1001,7 +984,6 @@ type UserRelationship {
type StripeSubscriptionOptionsGQL { type StripeSubscriptionOptionsGQL {
products: [StripeProductGQL!]! products: [StripeProductGQL!]!
trialPeriodDays: Int trialPeriodDays: Int
appleIap: AppleIapSubscriptionOptionsGQL!
} }
type StripeProductGQL { type StripeProductGQL {
@@ -1022,11 +1004,6 @@ type StripePriceGQL {
active: Boolean! active: Boolean!
} }
type AppleIapSubscriptionOptionsGQL {
enabled: Boolean!
proMonthlyProductId: String
}
type UserSubscriptionStatusGQL { type UserSubscriptionStatusGQL {
hasActiveSubscription: Boolean! hasActiveSubscription: Boolean!
entitlementSource: EntitlementSourceTypeEnum entitlementSource: EntitlementSourceTypeEnum