Compare commits
8 Commits
f724ec6c0d
...
loewy/soci
| Author | SHA1 | Date | |
|---|---|---|---|
| 1b46160e95 | |||
| 33707523f0 | |||
| 308c60c93b | |||
| 19ba43ad6d | |||
| 03b565dc7d | |||
|
|
901f4222a4 | ||
| 0f6e7b28d4 | |||
| 9b6b08c1ec |
@@ -88,6 +88,26 @@ export type AppleIapSubscriptionOptionsGql = {
|
|||||||
productIds: Array<Scalars["String"]["output"]>;
|
productIds: Array<Scalars["String"]["output"]>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export type AuthBootstrapGql = {
|
||||||
|
__typename?: "AuthBootstrapGQL";
|
||||||
|
status: AuthBootstrapStatusEnum;
|
||||||
|
user?: Maybe<UserGql>;
|
||||||
|
};
|
||||||
|
|
||||||
|
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 = {
|
export type BallTrajectoryGql = {
|
||||||
__typename?: "BallTrajectoryGQL";
|
__typename?: "BallTrajectoryGQL";
|
||||||
ballId: Scalars["Int"]["output"];
|
ballId: Scalars["Int"]["output"];
|
||||||
@@ -279,6 +299,12 @@ export type CommentGql = {
|
|||||||
user: UserGql;
|
user: UserGql;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export type CompleteAuthRegistrationGql = {
|
||||||
|
__typename?: "CompleteAuthRegistrationGQL";
|
||||||
|
errorCode?: Maybe<AuthRegistrationErrorEnum>;
|
||||||
|
user?: Maybe<UserGql>;
|
||||||
|
};
|
||||||
|
|
||||||
export type CountLeaderboardGql = {
|
export type CountLeaderboardGql = {
|
||||||
__typename?: "CountLeaderboardGQL";
|
__typename?: "CountLeaderboardGQL";
|
||||||
entries: Array<UserShotCountEntry>;
|
entries: Array<UserShotCountEntry>;
|
||||||
@@ -383,6 +409,7 @@ export type DeployedConfigGql = {
|
|||||||
defaultAndroidRecordingFormat: StreamSegmentTypeEnum;
|
defaultAndroidRecordingFormat: StreamSegmentTypeEnum;
|
||||||
devMode: Scalars["Boolean"]["output"];
|
devMode: Scalars["Boolean"]["output"];
|
||||||
environment: Scalars["String"]["output"];
|
environment: Scalars["String"]["output"];
|
||||||
|
externalSignInProviderAvailability: Array<ExternalSignInProviderAvailability>;
|
||||||
firebase: Scalars["Boolean"]["output"];
|
firebase: Scalars["Boolean"]["output"];
|
||||||
minimumAllowedAppVersion: Scalars["String"]["output"];
|
minimumAllowedAppVersion: Scalars["String"]["output"];
|
||||||
quotaEnforcementEnabled: Scalars["Boolean"]["output"];
|
quotaEnforcementEnabled: Scalars["Boolean"]["output"];
|
||||||
@@ -445,6 +472,25 @@ export type EnumAggregation = {
|
|||||||
feature: Scalars["String"]["input"];
|
feature: Scalars["String"]["input"];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export enum ExternalSignInPlatform {
|
||||||
|
Android = "ANDROID",
|
||||||
|
Ios = "IOS",
|
||||||
|
Web = "WEB",
|
||||||
|
}
|
||||||
|
|
||||||
|
export enum ExternalSignInProvider {
|
||||||
|
Apple = "APPLE",
|
||||||
|
Facebook = "FACEBOOK",
|
||||||
|
Google = "GOOGLE",
|
||||||
|
}
|
||||||
|
|
||||||
|
export type ExternalSignInProviderAvailability = {
|
||||||
|
__typename?: "ExternalSignInProviderAvailability";
|
||||||
|
enabled: Scalars["Boolean"]["output"];
|
||||||
|
platform: ExternalSignInPlatform;
|
||||||
|
provider: ExternalSignInProvider;
|
||||||
|
};
|
||||||
|
|
||||||
export type FilterInput =
|
export type FilterInput =
|
||||||
| {
|
| {
|
||||||
andFilters: Array<FilterInput>;
|
andFilters: Array<FilterInput>;
|
||||||
@@ -2618,6 +2664,7 @@ export type Mutation = {
|
|||||||
cancelCameraClaimSession: CameraClaimSession;
|
cancelCameraClaimSession: CameraClaimSession;
|
||||||
cancelSubscription: UserSubscriptionStatusGql;
|
cancelSubscription: UserSubscriptionStatusGql;
|
||||||
commentOnVideo: Scalars["Boolean"]["output"];
|
commentOnVideo: Scalars["Boolean"]["output"];
|
||||||
|
completeAuthRegistration: CompleteAuthRegistrationGql;
|
||||||
createBucketSet: BucketSetGql;
|
createBucketSet: BucketSetGql;
|
||||||
createCameraClaimSession: CameraClaimSession;
|
createCameraClaimSession: CameraClaimSession;
|
||||||
createChallenge: Challenge;
|
createChallenge: Challenge;
|
||||||
@@ -2702,6 +2749,11 @@ export type MutationCommentOnVideoArgs = {
|
|||||||
videoId: Scalars["Int"]["input"];
|
videoId: Scalars["Int"]["input"];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export type MutationCompleteAuthRegistrationArgs = {
|
||||||
|
agreesToMarketing: Scalars["Boolean"]["input"];
|
||||||
|
username: Scalars["String"]["input"];
|
||||||
|
};
|
||||||
|
|
||||||
export type MutationCreateBucketSetArgs = {
|
export type MutationCreateBucketSetArgs = {
|
||||||
params: CreateBucketSetInput;
|
params: CreateBucketSetInput;
|
||||||
};
|
};
|
||||||
@@ -3201,6 +3253,7 @@ export type Query = {
|
|||||||
doesUsernameExist: Scalars["Boolean"]["output"];
|
doesUsernameExist: Scalars["Boolean"]["output"];
|
||||||
getAggregatedShotMetrics: Array<AggregateResultGql>;
|
getAggregatedShotMetrics: Array<AggregateResultGql>;
|
||||||
getAppleAppAccountToken: Scalars["String"]["output"];
|
getAppleAppAccountToken: Scalars["String"]["output"];
|
||||||
|
getAuthBootstrap: AuthBootstrapGql;
|
||||||
getAvailableSubscriptionOptions: StripeSubscriptionOptionsGql;
|
getAvailableSubscriptionOptions: StripeSubscriptionOptionsGql;
|
||||||
getBucketSet?: Maybe<BucketSetGql>;
|
getBucketSet?: Maybe<BucketSetGql>;
|
||||||
getDeployedConfig: DeployedConfigGql;
|
getDeployedConfig: DeployedConfigGql;
|
||||||
@@ -3795,10 +3848,10 @@ export type SessionCoachFeedbackGql = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
export enum SessionCoachFeedbackResponseEnum {
|
export enum SessionCoachFeedbackResponseEnum {
|
||||||
AlreadyWorkingOnThis = "ALREADY_WORKING_ON_THIS",
|
|
||||||
Helpful = "HELPFUL",
|
Helpful = "HELPFUL",
|
||||||
NotEnoughEvidence = "NOT_ENOUGH_EVIDENCE",
|
NotEnoughEvidence = "NOT_ENOUGH_EVIDENCE",
|
||||||
WrongFocus = "WRONG_FOCUS",
|
NotInsightful = "NOT_INSIGHTFUL",
|
||||||
|
NotRelevant = "NOT_RELEVANT",
|
||||||
}
|
}
|
||||||
|
|
||||||
export type SessionCoachGql = {
|
export type SessionCoachGql = {
|
||||||
@@ -3969,6 +4022,7 @@ export type ShotProjectionGql = {
|
|||||||
|
|
||||||
export type ShotTableStateGql = {
|
export type ShotTableStateGql = {
|
||||||
__typename?: "ShotTableStateGQL";
|
__typename?: "ShotTableStateGQL";
|
||||||
|
frameImage?: Maybe<Scalars["String"]["output"]>;
|
||||||
frameIndex: Scalars["Int"]["output"];
|
frameIndex: Scalars["Int"]["output"];
|
||||||
shotId: Scalars["Int"]["output"];
|
shotId: Scalars["Int"]["output"];
|
||||||
tableState: TableStateGql;
|
tableState: TableStateGql;
|
||||||
@@ -7822,6 +7876,7 @@ export type GetShotTableStateQuery = {
|
|||||||
shotId: number;
|
shotId: number;
|
||||||
videoId: number;
|
videoId: number;
|
||||||
frameIndex: number;
|
frameIndex: number;
|
||||||
|
frameImage?: string | null;
|
||||||
tableState: {
|
tableState: {
|
||||||
__typename?: "TableStateGQL";
|
__typename?: "TableStateGQL";
|
||||||
identifierToPosition: Array<Array<number>>;
|
identifierToPosition: Array<Array<number>>;
|
||||||
@@ -16602,6 +16657,7 @@ export const GetShotTableStateDocument = gql`
|
|||||||
shotId
|
shotId
|
||||||
videoId
|
videoId
|
||||||
frameIndex
|
frameIndex
|
||||||
|
frameImage
|
||||||
tableState {
|
tableState {
|
||||||
...TableStateLayoutFields
|
...TableStateLayoutFields
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -44,9 +44,10 @@ fragment DetectionPocketPointFields on PocketPointsGQL {
|
|||||||
# positions. Boxes, pocket boxes, and source points share the crop's
|
# positions. Boxes, pocket boxes, and source points share the crop's
|
||||||
# coordinate space; the crop locates that space in the full frame.
|
# coordinate space; the crop locates that space in the full frame.
|
||||||
#
|
#
|
||||||
# Only the photo query selects this. The live and shot queries read a
|
# Only the photo query selects this. The shot query returns its source
|
||||||
# frame out of a video the app never holds, so there is no image to
|
# frame (frameImage) but positions there come from the stored homography,
|
||||||
# overlay, and getLiveTableState is polled every five seconds.
|
# so there are no fresh boxes to draw; the live query returns no image at
|
||||||
|
# all and is polled every five seconds.
|
||||||
fragment TableStateDetectionFields on TableStateGQL {
|
fragment TableStateDetectionFields on TableStateGQL {
|
||||||
identifierToBox {
|
identifierToBox {
|
||||||
...DetectionBoxFields
|
...DetectionBoxFields
|
||||||
@@ -97,6 +98,9 @@ query GetShotTableState($shotId: Int!) {
|
|||||||
shotId
|
shotId
|
||||||
videoId
|
videoId
|
||||||
frameIndex
|
frameIndex
|
||||||
|
# The b64 JPEG frame the layout was detected in, so the client can show
|
||||||
|
# the shot's actual starting frame instead of the video's thumbnail.
|
||||||
|
frameImage
|
||||||
tableState {
|
tableState {
|
||||||
...TableStateLayoutFields
|
...TableStateLayoutFields
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,6 +42,25 @@ type AppleIapSubscriptionOptionsGQL {
|
|||||||
productIds: [String!]!
|
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 {
|
type BallTrajectoryGQL {
|
||||||
ballId: Int!
|
ballId: Int!
|
||||||
points: [TrajectoryPointGQL!]!
|
points: [TrajectoryPointGQL!]!
|
||||||
@@ -225,6 +244,11 @@ type CommentGQL {
|
|||||||
replyToCommentId: Int
|
replyToCommentId: Int
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type CompleteAuthRegistrationGQL {
|
||||||
|
user: UserGQL
|
||||||
|
errorCode: AuthRegistrationErrorEnum
|
||||||
|
}
|
||||||
|
|
||||||
type CountLeaderboardGQL {
|
type CountLeaderboardGQL {
|
||||||
entries: [UserShotCountEntry!]!
|
entries: [UserShotCountEntry!]!
|
||||||
}
|
}
|
||||||
@@ -250,11 +274,6 @@ input CreatePoolHallCameraInput {
|
|||||||
claimTermsText: String = null
|
claimTermsText: String = null
|
||||||
}
|
}
|
||||||
|
|
||||||
input CreateShotShareLinkInput {
|
|
||||||
shotIds: [Int!]!
|
|
||||||
paddingSeconds: Float = null
|
|
||||||
}
|
|
||||||
|
|
||||||
input CreatePoolHallInput {
|
input CreatePoolHallInput {
|
||||||
name: String!
|
name: String!
|
||||||
address: String = null
|
address: String = null
|
||||||
@@ -342,6 +361,7 @@ type DeployedConfigGQL {
|
|||||||
storageLimitEnforcementEnabled: Boolean!
|
storageLimitEnforcementEnabled: Boolean!
|
||||||
capabilityEnforcementEnabled: Boolean!
|
capabilityEnforcementEnabled: Boolean!
|
||||||
bannerMessages: [BannerGQL!]!
|
bannerMessages: [BannerGQL!]!
|
||||||
|
externalSignInProviderAvailability: [ExternalSignInProviderAvailability!]!
|
||||||
defaultAndroidRecordingFormat: StreamSegmentTypeEnum!
|
defaultAndroidRecordingFormat: StreamSegmentTypeEnum!
|
||||||
bucketUrl: String!
|
bucketUrl: String!
|
||||||
}
|
}
|
||||||
@@ -398,6 +418,24 @@ input EnumAggregation {
|
|||||||
feature: String!
|
feature: String!
|
||||||
}
|
}
|
||||||
|
|
||||||
|
enum ExternalSignInPlatform {
|
||||||
|
WEB
|
||||||
|
IOS
|
||||||
|
ANDROID
|
||||||
|
}
|
||||||
|
|
||||||
|
enum ExternalSignInProvider {
|
||||||
|
GOOGLE
|
||||||
|
APPLE
|
||||||
|
FACEBOOK
|
||||||
|
}
|
||||||
|
|
||||||
|
type ExternalSignInProviderAvailability {
|
||||||
|
provider: ExternalSignInProvider!
|
||||||
|
platform: ExternalSignInPlatform!
|
||||||
|
enabled: Boolean!
|
||||||
|
}
|
||||||
|
|
||||||
input FilterInput @oneOf {
|
input FilterInput @oneOf {
|
||||||
andFilters: [FilterInput!]
|
andFilters: [FilterInput!]
|
||||||
orFilters: [FilterInput!]
|
orFilters: [FilterInput!]
|
||||||
@@ -743,6 +781,10 @@ type Mutation {
|
|||||||
response: SessionCoachFeedbackResponseEnum!
|
response: SessionCoachFeedbackResponseEnum!
|
||||||
): SessionCoachFeedbackGQL!
|
): SessionCoachFeedbackGQL!
|
||||||
requestSessionCoachGeneration(videoId: Int!): SessionCoachGQL!
|
requestSessionCoachGeneration(videoId: Int!): SessionCoachGQL!
|
||||||
|
completeAuthRegistration(
|
||||||
|
username: String!
|
||||||
|
agreesToMarketing: Boolean!
|
||||||
|
): CompleteAuthRegistrationGQL!
|
||||||
getProfileImageUploadLink(
|
getProfileImageUploadLink(
|
||||||
fileExt: String = ".png"
|
fileExt: String = ".png"
|
||||||
): GetProfileUploadLinkReturn!
|
): GetProfileUploadLinkReturn!
|
||||||
@@ -1124,6 +1166,7 @@ type Query {
|
|||||||
): [ShotGQL!]!
|
): [ShotGQL!]!
|
||||||
getShotsByIds(ids: [Int!]!): [ShotGQL!]!
|
getShotsByIds(ids: [Int!]!): [ShotGQL!]!
|
||||||
getUsageStats(days: Int! = 30): UsageStatsGQL!
|
getUsageStats(days: Int! = 30): UsageStatsGQL!
|
||||||
|
getAuthBootstrap: AuthBootstrapGQL!
|
||||||
getUser(userId: Int!): UserGQL
|
getUser(userId: Int!): UserGQL
|
||||||
doesUsernameExist(candidateUsername: String!): Boolean!
|
doesUsernameExist(candidateUsername: String!): Boolean!
|
||||||
getLoggedInUser: UserGQL
|
getLoggedInUser: UserGQL
|
||||||
@@ -1412,8 +1455,8 @@ type SessionCoachFeedbackGQL {
|
|||||||
|
|
||||||
enum SessionCoachFeedbackResponseEnum {
|
enum SessionCoachFeedbackResponseEnum {
|
||||||
HELPFUL
|
HELPFUL
|
||||||
WRONG_FOCUS
|
NOT_RELEVANT
|
||||||
ALREADY_WORKING_ON_THIS
|
NOT_INSIGHTFUL
|
||||||
NOT_ENOUGH_EVIDENCE
|
NOT_ENOUGH_EVIDENCE
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1574,6 +1617,7 @@ type ShotTableStateGQL {
|
|||||||
videoId: Int!
|
videoId: Int!
|
||||||
frameIndex: Int!
|
frameIndex: Int!
|
||||||
tableState: TableStateGQL!
|
tableState: TableStateGQL!
|
||||||
|
frameImage: String
|
||||||
}
|
}
|
||||||
|
|
||||||
input ShotsOrderingComponent @oneOf {
|
input ShotsOrderingComponent @oneOf {
|
||||||
@@ -1967,11 +2011,6 @@ type UserSubscriptionStatusGQL {
|
|||||||
stripeSubscriptionId: String
|
stripeSubscriptionId: String
|
||||||
}
|
}
|
||||||
|
|
||||||
type ShareLinkGQL {
|
|
||||||
slug: String!
|
|
||||||
url: String!
|
|
||||||
}
|
|
||||||
|
|
||||||
type VideoExportJobGQL {
|
type VideoExportJobGQL {
|
||||||
id: Int!
|
id: Int!
|
||||||
videoId: Int!
|
videoId: Int!
|
||||||
|
|||||||
Reference in New Issue
Block a user