Add getAvailableSubscriptionOptions & associated subscription types #190

Merged
loewy merged 1 commits from loewy/available-sub-options into master 2025-07-08 12:52:18 -06:00
2 changed files with 49 additions and 0 deletions

View File

@ -2492,6 +2492,7 @@ export type Query = {
__typename?: "Query";
doesUsernameExist: Scalars["Boolean"]["output"];
getAggregatedShotMetrics: Array<AggregateResultGql>;
getAvailableSubscriptionOptions: StripeSubscriptionOptionsGql;
getBucketSet?: Maybe<BucketSetGql>;
getDeployedConfig: DeployedConfigGql;
getFeedVideos: VideoHistoryGql;
@ -2917,6 +2918,31 @@ export enum StreamSegmentTypeEnum {
RbChunkedMp4 = "RB_CHUNKED_MP4",
}
export type StripePriceGql = {
__typename?: "StripePriceGQL";
active: Scalars["Boolean"]["output"];
currency: Scalars["String"]["output"];
id: Scalars["String"]["output"];
recurringInterval?: Maybe<Scalars["String"]["output"]>;
recurringIntervalCount?: Maybe<Scalars["Int"]["output"]>;
type: Scalars["String"]["output"];
unitAmount?: Maybe<Scalars["Int"]["output"]>;
};
export type StripeProductGql = {
__typename?: "StripeProductGQL";
active: Scalars["Boolean"]["output"];
description?: Maybe<Scalars["String"]["output"]>;
id: Scalars["String"]["output"];
name: Scalars["String"]["output"];
prices: Array<StripePriceGql>;
};
export type StripeSubscriptionOptionsGql = {
__typename?: "StripeSubscriptionOptionsGQL";
products: Array<StripeProductGql>;
};
export type SuccessfulAdd = {
__typename?: "SuccessfulAdd";
value: Scalars["Boolean"]["output"];

View File

@ -81,6 +81,7 @@ type Query {
limit: Int = 100
after: String = null
): UserRelationshipsResult!
getAvailableSubscriptionOptions: StripeSubscriptionOptionsGQL!
getPlayTime(userId: Int!, filters: VideoFilterInput = null): UserPlayTimeGQL!
getUserVideos(
userId: Int = null
@ -823,6 +824,28 @@ type UserRelationship {
toUserIsFollowedBy: Boolean!
}
type StripeSubscriptionOptionsGQL {
products: [StripeProductGQL!]!
}
type StripeProductGQL {
id: String!
name: String!
description: String
active: Boolean!
prices: [StripePriceGQL!]!
}
type StripePriceGQL {
id: String!
currency: String!
unitAmount: Int
recurringInterval: String
recurringIntervalCount: Int
type: String!
active: Boolean!
}
type UserPlayTimeGQL {
totalSeconds: Float!
}