Compare commits
36 Commits
61799bd4de
...
loewy/stor
| Author | SHA1 | Date | |
|---|---|---|---|
| cc4ecaff5d | |||
| 3a599b5c5f | |||
| 387ab1b172 | |||
| 428286fa5a | |||
|
|
8771350115 | ||
|
|
f1594b8492 | ||
|
|
3ec3e3d081 | ||
|
|
d2c697e4cb | ||
| 3484af9dde | |||
| bc62cb5e39 | |||
| bc52145a9e | |||
| 5c286f2bcf | |||
| d636c298f8 | |||
| 681320c62d | |||
| 49f409f60b | |||
| e7fc6c147d | |||
| 10c3f6de53 | |||
|
|
d7b1aaee13 | ||
| b477590137 | |||
|
|
d428a8caa2 | ||
| 48207e12ee | |||
|
|
1d403f8155 | ||
| 6758f3e77a | |||
|
|
79979b001a | ||
| 49fbebd0c2 | |||
| 9219451c8d | |||
| 42601f9587 | |||
| acfb750265 | |||
| ffa96a24c3 | |||
| 5b73dd3a83 | |||
| d1bc29b41b | |||
| 853769e183 | |||
| 84524d165d | |||
|
|
f4c5fcedd6 | ||
| 07ca121a3e | |||
|
|
66fb4d3dcc |
848
src/index.tsx
848
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
|
||||
}
|
||||
}
|
||||
|
||||
@@ -56,6 +56,7 @@ query GetDrillRunLeaderboard(
|
||||
video {
|
||||
tableSize
|
||||
pocketSize
|
||||
createdAt
|
||||
}
|
||||
user {
|
||||
id
|
||||
|
||||
@@ -44,12 +44,20 @@ query GetAvailableSubscriptionOptions {
|
||||
active
|
||||
}
|
||||
}
|
||||
appleIap {
|
||||
enabled
|
||||
proMonthlyProductId
|
||||
productIds
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
query GetSubscriptionStatus {
|
||||
getUserSubscriptionStatus {
|
||||
hasActiveSubscription
|
||||
entitlementSource
|
||||
entitlementStartsAt
|
||||
entitlementEndsAt
|
||||
subscriptionStatus
|
||||
currentPeriodStart
|
||||
currentPeriodEnd
|
||||
@@ -59,9 +67,66 @@ query GetSubscriptionStatus {
|
||||
}
|
||||
}
|
||||
|
||||
query GetResolvedTier {
|
||||
getResolvedTier {
|
||||
tierName
|
||||
tierDisplayName
|
||||
hasActiveSubscription
|
||||
entitlementSource
|
||||
entitlementStatus
|
||||
entitlementStartsAt
|
||||
entitlementEndsAt
|
||||
capabilities
|
||||
}
|
||||
}
|
||||
|
||||
query GetStorageStatus {
|
||||
getStorageStatus {
|
||||
userId
|
||||
tierName
|
||||
retainedStorageUsedBytes
|
||||
retainedStorageLimitBytes
|
||||
isUnlimited
|
||||
policyConfigured
|
||||
remainingStorageBytes
|
||||
storageUsageRatio
|
||||
isNearLimit
|
||||
isOverLimit
|
||||
usageCalculated
|
||||
usageSource
|
||||
lastCalculatedAt
|
||||
}
|
||||
}
|
||||
|
||||
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
|
||||
|
||||
@@ -10,6 +10,11 @@ fragment PlayerSummaryFields on PlayerSummaryGQL {
|
||||
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
|
||||
|
||||
30
src/operations/video_export.gql
Normal file
30
src/operations/video_export.gql
Normal file
@@ -0,0 +1,30 @@
|
||||
fragment VideoExportJobFields on VideoExportJobGQL {
|
||||
id
|
||||
videoId
|
||||
mode
|
||||
status
|
||||
shotIds
|
||||
runId
|
||||
downloadUrl
|
||||
fileSizeBytes
|
||||
expiresAt
|
||||
createdAt
|
||||
}
|
||||
|
||||
mutation RequestVideoExport($input: RequestVideoExportInput!) {
|
||||
requestVideoExport(input: $input) {
|
||||
...VideoExportJobFields
|
||||
}
|
||||
}
|
||||
|
||||
query VideoExportJob($jobId: Int!) {
|
||||
videoExportJob(jobId: $jobId) {
|
||||
...VideoExportJobFields
|
||||
}
|
||||
}
|
||||
|
||||
query MyVideoExports($limit: Int = 30, $offset: Int = 0) {
|
||||
myVideoExports(limit: $limit, offset: $offset) {
|
||||
...VideoExportJobFields
|
||||
}
|
||||
}
|
||||
@@ -108,8 +108,10 @@ type Query {
|
||||
): UserRelationshipsResult!
|
||||
getAvailableSubscriptionOptions: StripeSubscriptionOptionsGQL!
|
||||
getUserSubscriptionStatus: UserSubscriptionStatusGQL!
|
||||
getResolvedTier: ResolvedTierGQL!
|
||||
getAppleAppAccountToken: String!
|
||||
getQuotaStatus: QuotaStatusGQL!
|
||||
getStorageStatus: StorageStatusGQL
|
||||
getPlayTime(userId: Int!, filters: VideoFilterInput = null): UserPlayTimeGQL!
|
||||
getUserVideos(
|
||||
userId: Int = null
|
||||
@@ -119,6 +121,8 @@ type Query {
|
||||
): VideoHistoryGQL!
|
||||
getUserTags(includeRetiredTags: Boolean = false): [TagGQL!]!
|
||||
getGameTypeTagMetrics(input: GameTypeTagMetricsInput!): [GameTypeTagMetric!]!
|
||||
videoExportJob(jobId: Int!): VideoExportJobGQL
|
||||
myVideoExports(limit: Int! = 30, offset: Int! = 0): [VideoExportJobGQL!]!
|
||||
getVideo(videoId: Int!, debuggingJson: JSON = null): VideoGQL!
|
||||
getVideos(videoIds: [Int!]!): [VideoGQL!]!
|
||||
}
|
||||
@@ -356,6 +360,7 @@ type UserGQL {
|
||||
activeVideoId: Int
|
||||
stripeCustomerId: String
|
||||
profileImageUri: String
|
||||
bio: String
|
||||
createdAt: DateTime
|
||||
updatedAt: DateTime
|
||||
videosPrivateByDefault: Boolean
|
||||
@@ -529,6 +534,7 @@ type UploadStreamGQL {
|
||||
initPlaylistUploadStatus: InitPlaylistUploadStatusEnum
|
||||
lowestUnuploadedSegmentIndex: Int!
|
||||
uploadCompletionCursor: Int!
|
||||
lastSegmentUploadedAt: DateTime
|
||||
errors: [StreamErrorGQL!]!
|
||||
createdAt: DateTime!
|
||||
updatedAt: DateTime!
|
||||
@@ -689,10 +695,17 @@ type PlayerSummaryGQL {
|
||||
score: Int
|
||||
longestRun: Int!
|
||||
runLengths: [Int!]!
|
||||
spinTypeBreakdown: SpinTypeBreakdownGQL!
|
||||
averageDifficulty: Float
|
||||
averageTimeBetweenShots: Float
|
||||
}
|
||||
|
||||
type SpinTypeBreakdownGQL {
|
||||
draw: Int!
|
||||
center: Int!
|
||||
follow: Int!
|
||||
}
|
||||
|
||||
type DeployedConfigGQL {
|
||||
allowNewUsers: Boolean!
|
||||
firebase: Boolean!
|
||||
@@ -725,6 +738,7 @@ type VideoHistoryGQL {
|
||||
videos: [VideoGQL!]!
|
||||
pageInfo: PageInfoGQL!
|
||||
hasFollowing: Boolean!
|
||||
followingCount: Int!
|
||||
}
|
||||
|
||||
type PageInfoGQL {
|
||||
@@ -852,6 +866,7 @@ enum NotificationTypeEnum {
|
||||
REACTION
|
||||
FOLLOW
|
||||
CHALLENGE_INVITE
|
||||
EXPORT_READY
|
||||
}
|
||||
|
||||
input NotificationFilters {
|
||||
@@ -1026,6 +1041,7 @@ type StripePriceGQL {
|
||||
type AppleIapSubscriptionOptionsGQL {
|
||||
enabled: Boolean!
|
||||
proMonthlyProductId: String
|
||||
productIds: [String!]!
|
||||
}
|
||||
|
||||
type UserSubscriptionStatusGQL {
|
||||
@@ -1060,6 +1076,17 @@ enum StripeSubscriptionStatusEnum {
|
||||
PAUSED
|
||||
}
|
||||
|
||||
type ResolvedTierGQL {
|
||||
tierName: String!
|
||||
tierDisplayName: String!
|
||||
hasActiveSubscription: Boolean!
|
||||
entitlementSource: EntitlementSourceTypeEnum
|
||||
entitlementStatus: String
|
||||
entitlementStartsAt: DateTime
|
||||
entitlementEndsAt: DateTime
|
||||
capabilities: [String!]!
|
||||
}
|
||||
|
||||
type QuotaStatusGQL {
|
||||
tierName: String!
|
||||
periodStart: DateTime!
|
||||
@@ -1084,6 +1111,27 @@ type QuotaBucketStatusGQL {
|
||||
canUpload: Boolean!
|
||||
}
|
||||
|
||||
type StorageStatusGQL {
|
||||
userId: Int!
|
||||
tierName: String!
|
||||
retainedStorageUsedBytes: BigInt!
|
||||
retainedStorageLimitBytes: BigInt
|
||||
isUnlimited: Boolean!
|
||||
policyConfigured: Boolean!
|
||||
remainingStorageBytes: BigInt
|
||||
storageUsageRatio: Float
|
||||
isNearLimit: Boolean!
|
||||
isOverLimit: Boolean!
|
||||
usageCalculated: Boolean!
|
||||
usageSource: String
|
||||
lastCalculatedAt: DateTime
|
||||
}
|
||||
|
||||
"""
|
||||
Integer value that can exceed GraphQL Int's 32-bit range.
|
||||
"""
|
||||
scalar BigInt
|
||||
|
||||
type UserPlayTimeGQL {
|
||||
totalSeconds: Float!
|
||||
}
|
||||
@@ -1119,6 +1167,34 @@ input GameTypeTagMetricsInput {
|
||||
includePrivate: IncludePrivateEnum! = MINE
|
||||
}
|
||||
|
||||
type VideoExportJobGQL {
|
||||
id: Int!
|
||||
videoId: Int!
|
||||
mode: VideoExportModeEnum!
|
||||
status: VideoExportStatusEnum!
|
||||
shotIds: [Int!]
|
||||
runId: Int
|
||||
downloadUrl: String
|
||||
fileSizeBytes: Int
|
||||
expiresAt: DateTime
|
||||
createdAt: DateTime
|
||||
}
|
||||
|
||||
enum VideoExportModeEnum {
|
||||
FULL_SESSION
|
||||
SHOTS
|
||||
RUN
|
||||
}
|
||||
|
||||
enum VideoExportStatusEnum {
|
||||
CREATED
|
||||
QUEUED
|
||||
RUNNING
|
||||
SUCCEEDED
|
||||
FAILED
|
||||
EXPIRED
|
||||
}
|
||||
|
||||
"""
|
||||
The `JSON` scalar type represents JSON values as specified by [ECMA-404](https://ecma-international.org/wp-content/uploads/ECMA-404_2nd_edition_december_2017.pdf).
|
||||
"""
|
||||
@@ -1220,6 +1296,7 @@ type Mutation {
|
||||
feedback: String = null
|
||||
metadata: CancellationFeedbackMetadataInput = null
|
||||
): Boolean!
|
||||
requestVideoExport(input: RequestVideoExportInput!): VideoExportJobGQL!
|
||||
findPrerecordTableLayout(b64Image: String!, videoId: Int!): HomographyInfoGQL
|
||||
createUploadStream(
|
||||
videoMetadata: VideoMetadataInput!
|
||||
@@ -1355,6 +1432,7 @@ input EditUserInputGQL {
|
||||
fargoRating: Int = null
|
||||
videosPrivateByDefault: Boolean = null
|
||||
agreesToMarketing: Boolean = null
|
||||
bio: String = null
|
||||
}
|
||||
|
||||
type SyncAppleSubscriptionResultGQL {
|
||||
@@ -1401,6 +1479,13 @@ input CancellationFeedbackMetadataInput {
|
||||
platform: String = null
|
||||
}
|
||||
|
||||
input RequestVideoExportInput {
|
||||
videoId: Int!
|
||||
mode: VideoExportModeEnum!
|
||||
shotIds: [Int!] = null
|
||||
runId: Int = null
|
||||
}
|
||||
|
||||
type CreateUploadStreamReturn {
|
||||
videoId: Int!
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user