From fe95ab824e7185079a1c77db6507b41120c33cf8 Mon Sep 17 00:00:00 2001 From: Loewy Date: Mon, 15 Jun 2026 16:05:57 -0700 Subject: [PATCH] Add Apple subscription mobile operations --- src/index.tsx | 177 ++++++++++++++++++++++++++++++++++++ src/operations/payments.gql | 29 ++++++ 2 files changed, 206 insertions(+) diff --git a/src/index.tsx b/src/index.tsx index cf5bf6b..a8333f5 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -4947,6 +4947,9 @@ export type GetSubscriptionStatusQuery = { getUserSubscriptionStatus: { __typename?: "UserSubscriptionStatusGQL"; hasActiveSubscription: boolean; + entitlementSource?: EntitlementSourceTypeEnum | null; + entitlementStartsAt?: any | null; + entitlementEndsAt?: any | null; subscriptionStatus?: StripeSubscriptionStatusEnum | null; currentPeriodStart?: any | null; currentPeriodEnd?: any | null; @@ -4956,6 +4959,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<{ [key: string]: never; }>; @@ -4965,6 +5000,9 @@ export type CancelSubscriptionMutation = { cancelSubscription: { __typename?: "UserSubscriptionStatusGQL"; hasActiveSubscription: boolean; + entitlementSource?: EntitlementSourceTypeEnum | null; + entitlementStartsAt?: any | null; + entitlementEndsAt?: any | null; subscriptionStatus?: StripeSubscriptionStatusEnum | null; currentPeriodStart?: any | null; currentPeriodEnd?: any | null; @@ -10389,6 +10427,9 @@ export const GetSubscriptionStatusDocument = gql` query GetSubscriptionStatus { getUserSubscriptionStatus { hasActiveSubscription + entitlementSource + entitlementStartsAt + entitlementEndsAt subscriptionStatus currentPeriodStart currentPeriodEnd @@ -10463,10 +10504,146 @@ export type GetSubscriptionStatusQueryResult = Apollo.QueryResult< GetSubscriptionStatusQuery, 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; +export type SyncAppleSubscriptionMutationOptions = Apollo.BaseMutationOptions< + SyncAppleSubscriptionMutation, + SyncAppleSubscriptionMutationVariables +>; export const CancelSubscriptionDocument = gql` mutation CancelSubscription { cancelSubscription { hasActiveSubscription + entitlementSource + entitlementStartsAt + entitlementEndsAt subscriptionStatus currentPeriodStart currentPeriodEnd diff --git a/src/operations/payments.gql b/src/operations/payments.gql index cc664e3..dd67eca 100644 --- a/src/operations/payments.gql +++ b/src/operations/payments.gql @@ -50,6 +50,9 @@ query GetAvailableSubscriptionOptions { query GetSubscriptionStatus { getUserSubscriptionStatus { hasActiveSubscription + entitlementSource + entitlementStartsAt + entitlementEndsAt subscriptionStatus currentPeriodStart currentPeriodEnd @@ -59,9 +62,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 { cancelSubscription { hasActiveSubscription + entitlementSource + entitlementStartsAt + entitlementEndsAt subscriptionStatus currentPeriodStart currentPeriodEnd