Compare commits
31 Commits
dean/camer
...
dean/feed-
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d428a8caa2 | ||
| 48207e12ee | |||
|
|
1d403f8155 | ||
| 6758f3e77a | |||
|
|
79979b001a | ||
| 49fbebd0c2 | |||
| 9219451c8d | |||
| 42601f9587 | |||
| acfb750265 | |||
| ffa96a24c3 | |||
| 5b73dd3a83 | |||
| d1bc29b41b | |||
| 853769e183 | |||
| 84524d165d | |||
|
|
f4c5fcedd6 | ||
| 07ca121a3e | |||
|
|
66fb4d3dcc | ||
| 5293576947 | |||
|
|
0c1afbcc76 | ||
| 655209e1c6 | |||
| c9576cf405 | |||
| 0c0cd7a7bb | |||
|
|
53fa982bcf | ||
|
|
7ec6ec9193 | ||
|
|
0ce333525c | ||
| 48b647636e | |||
|
|
d1ed5b308b | ||
| 079e4e8719 | |||
| af68bc3c60 | |||
| f12d2c5a1b | |||
| 4e3f649a2c |
650
src/index.tsx
650
src/index.tsx
File diff suppressed because it is too large
Load Diff
@@ -42,6 +42,8 @@ fragment VideoCardFields on VideoGQL {
|
||||
id
|
||||
lastIntendedSegmentBound
|
||||
streamSegmentType
|
||||
isCompleted
|
||||
lastSegmentUploadedAt
|
||||
}
|
||||
tableSize
|
||||
pocketSize
|
||||
@@ -146,5 +148,6 @@ query GetVideoFeed(
|
||||
endCursor
|
||||
}
|
||||
hasFollowing
|
||||
followingCount
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,3 +30,56 @@ query GetRunsLeaderboard($interval: TimeInterval, $when: DateTime) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
query GetDrillRunLeaderboard(
|
||||
$drillTag: String!
|
||||
$interval: TimeInterval
|
||||
$limit: Int = 50
|
||||
$tableSizeMin: Float
|
||||
$tableSizeMax: Float
|
||||
$pocketSizeMin: Float
|
||||
$pocketSizeMax: Float
|
||||
) {
|
||||
getDrillRunLeaderboard(
|
||||
drillTag: $drillTag
|
||||
interval: $interval
|
||||
limit: $limit
|
||||
tableSizeMin: $tableSizeMin
|
||||
tableSizeMax: $tableSizeMax
|
||||
pocketSizeMin: $pocketSizeMin
|
||||
pocketSizeMax: $pocketSizeMax
|
||||
) {
|
||||
entries {
|
||||
id
|
||||
runLength
|
||||
videoId
|
||||
video {
|
||||
tableSize
|
||||
pocketSize
|
||||
}
|
||||
user {
|
||||
id
|
||||
username
|
||||
profileImageUri
|
||||
}
|
||||
}
|
||||
youRun {
|
||||
id
|
||||
runLength
|
||||
videoId
|
||||
}
|
||||
youRank
|
||||
totalPlayers
|
||||
}
|
||||
}
|
||||
|
||||
query GetMyDrillRuns($drillTag: String!, $limit: Int = 50) {
|
||||
getMyDrillRuns(drillTag: $drillTag, limit: $limit) {
|
||||
id
|
||||
runLength
|
||||
videoId
|
||||
video {
|
||||
createdAt
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -44,12 +44,20 @@ query GetAvailableSubscriptionOptions {
|
||||
active
|
||||
}
|
||||
}
|
||||
appleIap {
|
||||
enabled
|
||||
proMonthlyProductId
|
||||
productIds
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
query GetSubscriptionStatus {
|
||||
getUserSubscriptionStatus {
|
||||
hasActiveSubscription
|
||||
entitlementSource
|
||||
entitlementStartsAt
|
||||
entitlementEndsAt
|
||||
subscriptionStatus
|
||||
currentPeriodStart
|
||||
currentPeriodEnd
|
||||
@@ -59,9 +67,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
|
||||
|
||||
@@ -9,6 +9,12 @@ fragment PlayerSummaryFields on PlayerSummaryGQL {
|
||||
makePercentage
|
||||
score
|
||||
longestRun
|
||||
runLengths
|
||||
spinTypeBreakdown {
|
||||
draw
|
||||
center
|
||||
follow
|
||||
}
|
||||
averageDifficulty
|
||||
averageTimeBetweenShots
|
||||
}
|
||||
|
||||
@@ -177,6 +177,7 @@ mutation editUser(
|
||||
$fargoRating: Int
|
||||
$videosPrivateByDefault: Boolean
|
||||
$agreesToMarketing: Boolean
|
||||
$bio: String
|
||||
) {
|
||||
editUser(
|
||||
input: {
|
||||
@@ -184,6 +185,7 @@ mutation editUser(
|
||||
fargoRating: $fargoRating
|
||||
videosPrivateByDefault: $videosPrivateByDefault
|
||||
agreesToMarketing: $agreesToMarketing
|
||||
bio: $bio
|
||||
}
|
||||
) {
|
||||
id
|
||||
@@ -193,6 +195,7 @@ mutation editUser(
|
||||
updatedAt
|
||||
videosPrivateByDefault
|
||||
agreesToMarketing
|
||||
bio
|
||||
}
|
||||
}
|
||||
|
||||
@@ -206,6 +209,7 @@ fragment UserFragment on UserGQL {
|
||||
username
|
||||
isAdmin
|
||||
profileImageUri
|
||||
bio
|
||||
fargoRating
|
||||
activeVideoId
|
||||
createdAt
|
||||
|
||||
104
src/schema.gql
104
src/schema.gql
@@ -11,8 +11,6 @@ type Query {
|
||||
myChallengeInvitations: [ChallengeInvitation!]!
|
||||
ruleSets: [RuleSet!]!
|
||||
myChallengeEntries: [ChallengeEntry!]!
|
||||
getVenues: [VenueGQL!]!
|
||||
getActiveClaim: CameraClaimGQL
|
||||
getDeployedConfig: DeployedConfigGQL!
|
||||
waitFor(duration: Float!): Float!
|
||||
getFeedVideos(
|
||||
@@ -33,6 +31,16 @@ type Query {
|
||||
limit: Int! = 50
|
||||
requiredTags: [String!] = null
|
||||
): RunLeaderboardGQL!
|
||||
getDrillRunLeaderboard(
|
||||
drillTag: String!
|
||||
interval: TimeInterval = null
|
||||
limit: Int! = 50
|
||||
tableSizeMin: Float = null
|
||||
tableSizeMax: Float = null
|
||||
pocketSizeMin: Float = null
|
||||
pocketSizeMax: Float = null
|
||||
): DrillRunLeaderboardGQL!
|
||||
getMyDrillRuns(drillTag: String!, limit: Int! = 50): [RunGQL!]!
|
||||
getMakesLeaderboard(
|
||||
interval: TimeInterval = null
|
||||
when: DateTime = null
|
||||
@@ -100,6 +108,7 @@ type Query {
|
||||
): UserRelationshipsResult!
|
||||
getAvailableSubscriptionOptions: StripeSubscriptionOptionsGQL!
|
||||
getUserSubscriptionStatus: UserSubscriptionStatusGQL!
|
||||
getAppleAppAccountToken: String!
|
||||
getQuotaStatus: QuotaStatusGQL!
|
||||
getPlayTime(userId: Int!, filters: VideoFilterInput = null): UserPlayTimeGQL!
|
||||
getUserVideos(
|
||||
@@ -347,6 +356,7 @@ type UserGQL {
|
||||
activeVideoId: Int
|
||||
stripeCustomerId: String
|
||||
profileImageUri: String
|
||||
bio: String
|
||||
createdAt: DateTime
|
||||
updatedAt: DateTime
|
||||
videosPrivateByDefault: Boolean
|
||||
@@ -520,6 +530,7 @@ type UploadStreamGQL {
|
||||
initPlaylistUploadStatus: InitPlaylistUploadStatusEnum
|
||||
lowestUnuploadedSegmentIndex: Int!
|
||||
uploadCompletionCursor: Int!
|
||||
lastSegmentUploadedAt: DateTime
|
||||
errors: [StreamErrorGQL!]!
|
||||
createdAt: DateTime!
|
||||
updatedAt: DateTime!
|
||||
@@ -679,50 +690,16 @@ type PlayerSummaryGQL {
|
||||
makePercentage: Float!
|
||||
score: Int
|
||||
longestRun: Int!
|
||||
runLengths: [Int!]!
|
||||
spinTypeBreakdown: SpinTypeBreakdownGQL!
|
||||
averageDifficulty: Float
|
||||
averageTimeBetweenShots: Float
|
||||
}
|
||||
|
||||
type VenueGQL {
|
||||
id: Int!
|
||||
name: String!
|
||||
latitude: Float
|
||||
longitude: Float
|
||||
cameras: [VenueCameraGQL!]!
|
||||
}
|
||||
|
||||
type VenueCameraGQL {
|
||||
id: Int!
|
||||
venueId: Int!
|
||||
tableLabel: String!
|
||||
enabled: Boolean!
|
||||
isAvailable: Boolean!
|
||||
}
|
||||
|
||||
type CameraClaimGQL {
|
||||
id: Int!
|
||||
cameraId: Int!
|
||||
userId: Int!
|
||||
videoId: Int
|
||||
status: ClaimStatusEnum!
|
||||
expiresAt: DateTime
|
||||
endedAt: DateTime
|
||||
createdAt: DateTime!
|
||||
}
|
||||
|
||||
enum ClaimStatusEnum {
|
||||
REQUESTED
|
||||
CODE_ISSUED
|
||||
SCANNING
|
||||
SCAN_CONFIRMED
|
||||
INGESTING
|
||||
ACTIVE
|
||||
ENDED_BY_USER
|
||||
EXPIRED
|
||||
STREAM_LOST
|
||||
STREAM_UNREACHABLE
|
||||
CODE_EXPIRED
|
||||
RELEASED_INACTIVE
|
||||
type SpinTypeBreakdownGQL {
|
||||
draw: Int!
|
||||
center: Int!
|
||||
follow: Int!
|
||||
}
|
||||
|
||||
type DeployedConfigGQL {
|
||||
@@ -757,6 +734,7 @@ type VideoHistoryGQL {
|
||||
videos: [VideoGQL!]!
|
||||
pageInfo: PageInfoGQL!
|
||||
hasFollowing: Boolean!
|
||||
followingCount: Int!
|
||||
}
|
||||
|
||||
type PageInfoGQL {
|
||||
@@ -793,6 +771,13 @@ type RunLeaderboardGQL {
|
||||
entries: [RunGQL!]!
|
||||
}
|
||||
|
||||
type DrillRunLeaderboardGQL {
|
||||
entries: [RunGQL!]!
|
||||
youRun: RunGQL
|
||||
youRank: Int
|
||||
totalPlayers: Int!
|
||||
}
|
||||
|
||||
type CountLeaderboardGQL {
|
||||
entries: [UserShotCountEntry!]!
|
||||
}
|
||||
@@ -1027,6 +1012,7 @@ type UserRelationship {
|
||||
type StripeSubscriptionOptionsGQL {
|
||||
products: [StripeProductGQL!]!
|
||||
trialPeriodDays: Int
|
||||
appleIap: AppleIapSubscriptionOptionsGQL!
|
||||
}
|
||||
|
||||
type StripeProductGQL {
|
||||
@@ -1047,6 +1033,12 @@ type StripePriceGQL {
|
||||
active: Boolean!
|
||||
}
|
||||
|
||||
type AppleIapSubscriptionOptionsGQL {
|
||||
enabled: Boolean!
|
||||
proMonthlyProductId: String
|
||||
productIds: [String!]!
|
||||
}
|
||||
|
||||
type UserSubscriptionStatusGQL {
|
||||
hasActiveSubscription: Boolean!
|
||||
entitlementSource: EntitlementSourceTypeEnum
|
||||
@@ -1064,6 +1056,7 @@ enum EntitlementSourceTypeEnum {
|
||||
ADMIN
|
||||
MANUAL
|
||||
STRIPE
|
||||
APPLE
|
||||
ALPHA_LEGACY
|
||||
}
|
||||
|
||||
@@ -1173,9 +1166,6 @@ type Mutation {
|
||||
submitChallengeEntry(entryId: ID!, videoId: ID!): ChallengeEntry!
|
||||
dismissChallenge(challengeId: ID!): Boolean!
|
||||
undismissChallenge(challengeId: ID!): Boolean!
|
||||
claimCamera(cameraId: Int!, durationMinutes: Int! = 60): CameraClaimGQL!
|
||||
endClaim(claimId: Int!): CameraClaimGQL!
|
||||
extendClaim(claimId: Int!, additionalMinutes: Int! = 60): CameraClaimGQL!
|
||||
setLoggerLevel(path: String!, level: String!): Boolean!
|
||||
reactToVideo(videoId: Int!, reaction: ReactionEnum): Boolean!
|
||||
commentOnVideo(
|
||||
@@ -1222,6 +1212,9 @@ type Mutation {
|
||||
retireTags(tagIds: [Int!]!): Boolean!
|
||||
ensureStripeCustomerExists: UserGQL!
|
||||
deleteUser: Boolean!
|
||||
syncAppleSubscription(
|
||||
input: SyncAppleSubscriptionInputGQL!
|
||||
): SyncAppleSubscriptionResultGQL!
|
||||
createSubscription(priceId: String!): CreateSubscriptionResultGQL!
|
||||
createCustomerPortalSession: CreateCustomerPortalSessionResultGQL!
|
||||
cancelSubscription: UserSubscriptionStatusGQL!
|
||||
@@ -1373,6 +1366,27 @@ input EditUserInputGQL {
|
||||
fargoRating: Int = null
|
||||
videosPrivateByDefault: Boolean = null
|
||||
agreesToMarketing: Boolean = null
|
||||
bio: String = null
|
||||
}
|
||||
|
||||
type SyncAppleSubscriptionResultGQL {
|
||||
ok: Boolean!
|
||||
errorCode: String
|
||||
errorMessage: String
|
||||
hasActiveSubscription: Boolean!
|
||||
entitlementSource: EntitlementSourceTypeEnum
|
||||
entitlementStartsAt: DateTime
|
||||
entitlementEndsAt: DateTime
|
||||
appleStatus: Int
|
||||
originalTransactionId: String
|
||||
latestTransactionId: String
|
||||
productId: String
|
||||
expiresAt: DateTime
|
||||
}
|
||||
|
||||
input SyncAppleSubscriptionInputGQL {
|
||||
signedTransactionInfo: String!
|
||||
signedRenewalInfo: String = null
|
||||
}
|
||||
|
||||
type CreateSubscriptionResultGQL {
|
||||
|
||||
Reference in New Issue
Block a user