diff --git a/src/index.tsx b/src/index.tsx index cb04e66..453dcb2 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -2277,6 +2277,7 @@ export type MustHaveSetForUploadLinkErrSegmentAlreadyUploadedErrProcessingFailed export type Mutation = { __typename?: "Mutation"; addAnnotationToShot: AddShotAnnotationReturn; + cancelSubscription: UserSubscriptionStatusGql; commentOnVideo: Scalars["Boolean"]["output"]; createBucketSet: BucketSetGql; createSubscription: CreateSubscriptionResultGql; @@ -2523,6 +2524,7 @@ export type Query = { getTableState: TableStateGql; getUser?: Maybe; getUserRelationshipsMatching: UserRelationshipsResult; + getUserSubscriptionStatus: UserSubscriptionStatusGql; getUserTags: Array; getUserVideos: VideoHistoryGql; getUsernames: Array; @@ -2956,6 +2958,17 @@ export type StripeSubscriptionOptionsGql = { products: Array; }; +export enum StripeSubscriptionStatusEnum { + Active = "ACTIVE", + Canceled = "CANCELED", + Incomplete = "INCOMPLETE", + IncompleteExpired = "INCOMPLETE_EXPIRED", + PastDue = "PAST_DUE", + Paused = "PAUSED", + Trialing = "TRIALING", + Unpaid = "UNPAID", +} + export type SuccessfulAdd = { __typename?: "SuccessfulAdd"; value: Scalars["Boolean"]["output"]; @@ -3114,6 +3127,17 @@ export type UserShotCountEntry = { videos: Scalars["Int"]["output"]; }; +export type UserSubscriptionStatusGql = { + __typename?: "UserSubscriptionStatusGQL"; + currentPeriodEnd?: Maybe; + currentPeriodStart?: Maybe; + hasActiveSubscription: Scalars["Boolean"]["output"]; + stripePriceId?: Maybe; + stripeSubscriptionId?: Maybe; + subscriptionStatus?: Maybe; + validUntil?: Maybe; +}; + export type VideoFeedInputGql = | { allUsers: Scalars["Boolean"]["input"]; diff --git a/src/schema.gql b/src/schema.gql index 0d3645d..ed7cf8d 100644 --- a/src/schema.gql +++ b/src/schema.gql @@ -82,6 +82,7 @@ type Query { after: String = null ): UserRelationshipsResult! getAvailableSubscriptionOptions: StripeSubscriptionOptionsGQL! + getUserSubscriptionStatus: UserSubscriptionStatusGQL! getPlayTime(userId: Int!, filters: VideoFilterInput = null): UserPlayTimeGQL! getUserVideos( userId: Int = null @@ -850,6 +851,27 @@ type StripePriceGQL { active: Boolean! } +type UserSubscriptionStatusGQL { + hasActiveSubscription: Boolean! + subscriptionStatus: StripeSubscriptionStatusEnum + currentPeriodStart: DateTime + currentPeriodEnd: DateTime + validUntil: DateTime + stripePriceId: String + stripeSubscriptionId: String +} + +enum StripeSubscriptionStatusEnum { + INCOMPLETE + INCOMPLETE_EXPIRED + TRIALING + ACTIVE + PAST_DUE + CANCELED + UNPAID + PAUSED +} + type UserPlayTimeGQL { totalSeconds: Float! } @@ -909,6 +931,7 @@ type Mutation { ensureStripeCustomerExists: UserGQL! deleteUser: Boolean! createSubscription(priceId: String!): CreateSubscriptionResultGQL! + cancelSubscription: UserSubscriptionStatusGQL! findPrerecordTableLayout(b64Image: String!, videoId: Int!): HomographyInfoGQL createUploadStream( videoMetadata: VideoMetadataInput!