diff --git a/src/index.tsx b/src/index.tsx index 4abf085..3ab519f 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -88,6 +88,26 @@ export type AppleIapSubscriptionOptionsGql = { productIds: Array; }; +export type AuthBootstrapGql = { + __typename?: "AuthBootstrapGQL"; + status: AuthBootstrapStatusEnum; + user?: Maybe; +}; + +export enum AuthBootstrapStatusEnum { + NeedsProfile = "NEEDS_PROFILE", + Registered = "REGISTERED", + RegistrationDisabled = "REGISTRATION_DISABLED", +} + +export enum AuthRegistrationErrorEnum { + InvalidUsername = "INVALID_USERNAME", + RegistrationDisabled = "REGISTRATION_DISABLED", + UnsupportedProvider = "UNSUPPORTED_PROVIDER", + UsernameUnavailable = "USERNAME_UNAVAILABLE", + VerifiedEmailRequired = "VERIFIED_EMAIL_REQUIRED", +} + export type BallTrajectoryGql = { __typename?: "BallTrajectoryGQL"; ballId: Scalars["Int"]["output"]; @@ -279,6 +299,12 @@ export type CommentGql = { user: UserGql; }; +export type CompleteAuthRegistrationGql = { + __typename?: "CompleteAuthRegistrationGQL"; + errorCode?: Maybe; + user?: Maybe; +}; + export type CountLeaderboardGql = { __typename?: "CountLeaderboardGQL"; entries: Array; @@ -386,6 +412,7 @@ export type DeployedConfigGql = { firebase: Scalars["Boolean"]["output"]; minimumAllowedAppVersion: Scalars["String"]["output"]; quotaEnforcementEnabled: Scalars["Boolean"]["output"]; + socialAuthProviderAvailability: Array; storageLimitEnforcementEnabled: Scalars["Boolean"]["output"]; subscriptionGatingEnabled: Scalars["Boolean"]["output"]; }; @@ -2618,6 +2645,7 @@ export type Mutation = { cancelCameraClaimSession: CameraClaimSession; cancelSubscription: UserSubscriptionStatusGql; commentOnVideo: Scalars["Boolean"]["output"]; + completeAuthRegistration: CompleteAuthRegistrationGql; createBucketSet: BucketSetGql; createCameraClaimSession: CameraClaimSession; createChallenge: Challenge; @@ -2702,6 +2730,11 @@ export type MutationCommentOnVideoArgs = { videoId: Scalars["Int"]["input"]; }; +export type MutationCompleteAuthRegistrationArgs = { + agreesToMarketing: Scalars["Boolean"]["input"]; + username: Scalars["String"]["input"]; +}; + export type MutationCreateBucketSetArgs = { params: CreateBucketSetInput; }; @@ -3201,6 +3234,7 @@ export type Query = { doesUsernameExist: Scalars["Boolean"]["output"]; getAggregatedShotMetrics: Array; getAppleAppAccountToken: Scalars["String"]["output"]; + getAuthBootstrap: AuthBootstrapGql; getAvailableSubscriptionOptions: StripeSubscriptionOptionsGql; getBucketSet?: Maybe; getDeployedConfig: DeployedConfigGql; @@ -4062,6 +4096,25 @@ export enum SimulationEventType { StickBall = "STICK_BALL", } +export enum SocialAuthPlatformEnum { + Android = "ANDROID", + Ios = "IOS", + Web = "WEB", +} + +export type SocialAuthProviderAvailabilityGql = { + __typename?: "SocialAuthProviderAvailabilityGQL"; + enabled: Scalars["Boolean"]["output"]; + platform: SocialAuthPlatformEnum; + provider: SocialAuthProviderEnum; +}; + +export enum SocialAuthProviderEnum { + Apple = "APPLE", + Facebook = "FACEBOOK", + Google = "GOOGLE", +} + export type SpinTypeBreakdownGql = { __typename?: "SpinTypeBreakdownGQL"; center: Scalars["Int"]["output"]; diff --git a/src/schema.gql b/src/schema.gql index 45bc205..84382cf 100644 --- a/src/schema.gql +++ b/src/schema.gql @@ -42,6 +42,25 @@ type AppleIapSubscriptionOptionsGQL { productIds: [String!]! } +type AuthBootstrapGQL { + status: AuthBootstrapStatusEnum! + user: UserGQL +} + +enum AuthBootstrapStatusEnum { + REGISTERED + NEEDS_PROFILE + REGISTRATION_DISABLED +} + +enum AuthRegistrationErrorEnum { + USERNAME_UNAVAILABLE + REGISTRATION_DISABLED + VERIFIED_EMAIL_REQUIRED + INVALID_USERNAME + UNSUPPORTED_PROVIDER +} + type BallTrajectoryGQL { ballId: Int! points: [TrajectoryPointGQL!]! @@ -225,6 +244,11 @@ type CommentGQL { replyToCommentId: Int } +type CompleteAuthRegistrationGQL { + user: UserGQL + errorCode: AuthRegistrationErrorEnum +} + type CountLeaderboardGQL { entries: [UserShotCountEntry!]! } @@ -337,6 +361,7 @@ type DeployedConfigGQL { storageLimitEnforcementEnabled: Boolean! capabilityEnforcementEnabled: Boolean! bannerMessages: [BannerGQL!]! + socialAuthProviderAvailability: [SocialAuthProviderAvailabilityGQL!]! defaultAndroidRecordingFormat: StreamSegmentTypeEnum! bucketUrl: String! } @@ -738,6 +763,10 @@ type Mutation { response: SessionCoachFeedbackResponseEnum! ): SessionCoachFeedbackGQL! requestSessionCoachGeneration(videoId: Int!): SessionCoachGQL! + completeAuthRegistration( + username: String! + agreesToMarketing: Boolean! + ): CompleteAuthRegistrationGQL! getProfileImageUploadLink( fileExt: String = ".png" ): GetProfileUploadLinkReturn! @@ -1119,6 +1148,7 @@ type Query { ): [ShotGQL!]! getShotsByIds(ids: [Int!]!): [ShotGQL!]! getUsageStats(days: Int! = 30): UsageStatsGQL! + getAuthBootstrap: AuthBootstrapGQL! getUser(userId: Int!): UserGQL doesUsernameExist(candidateUsername: String!): Boolean! getLoggedInUser: UserGQL @@ -1615,6 +1645,24 @@ enum SimulationEventType { BALL_STOP } +enum SocialAuthPlatformEnum { + WEB + IOS + ANDROID +} + +type SocialAuthProviderAvailabilityGQL { + provider: SocialAuthProviderEnum! + platform: SocialAuthPlatformEnum! + enabled: Boolean! +} + +enum SocialAuthProviderEnum { + GOOGLE + APPLE + FACEBOOK +} + type SpinTypeBreakdownGQL { draw: Int! center: Int!