Compare commits
36 Commits
f140807886
...
micah/add-
Author | SHA1 | Date | |
---|---|---|---|
0999c88797 | |||
d3559ede21 | |||
ef6ccca3f9 | |||
f781e9648f | |||
18d2eea029 | |||
a95bdab8bf | |||
eaeb1ed0ea | |||
f9d6377fe4 | |||
30cf72de78 | |||
fd49dec34c | |||
cdd1cdd526 | |||
bce363e8ff | |||
80f609b8a2 | |||
6205e9a353 | |||
12f7e1f115 | |||
296ad969f4 | |||
d25c08447e | |||
7502a75753 | |||
1a14db1a17 | |||
67d8bcac21 | |||
4ca27317b4 | |||
dc214e878f | |||
d669dba320 | |||
235f4a58e9 | |||
03c1d08d8c | |||
cc36a8b51d | |||
d743ad83e3 | |||
194c258dcd | |||
e0e1ae1108 | |||
ee73443374 | |||
88801f9186 | |||
524d469a0d | |||
c7b225ff00 | |||
ba84f6d9c0 | |||
6a72f9f43f | |||
efc0b2d858 |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -3,3 +3,4 @@ dist
|
|||||||
.direnv
|
.direnv
|
||||||
/after.txt
|
/after.txt
|
||||||
/before.txt
|
/before.txt
|
||||||
|
**/__pycache__/**
|
||||||
|
862
src/index.tsx
862
src/index.tsx
File diff suppressed because it is too large
Load Diff
@@ -36,3 +36,10 @@ query GetShots(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
query GetShotAnnotationTypes {
|
||||||
|
getShotAnnotationTypes {
|
||||||
|
id
|
||||||
|
name
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@@ -24,6 +24,7 @@ query getLoggedInUser {
|
|||||||
id
|
id
|
||||||
firebaseUid
|
firebaseUid
|
||||||
username
|
username
|
||||||
|
isAdmin
|
||||||
profileImageUri
|
profileImageUri
|
||||||
activeVideoId
|
activeVideoId
|
||||||
createdAt
|
createdAt
|
||||||
@@ -36,3 +37,11 @@ query GetUserPlayTime($userId: Int!) {
|
|||||||
totalSeconds
|
totalSeconds
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
query getUsernames(
|
||||||
|
$matchString: String!
|
||||||
|
$limit: Int = null
|
||||||
|
$after: String = null
|
||||||
|
) {
|
||||||
|
getUsernames(matchString: $matchString, limit: $limit, after: $after)
|
||||||
|
}
|
||||||
|
@@ -51,6 +51,7 @@ query GetStreamMonitoringDetails($videoId: Int!) {
|
|||||||
isCompleted
|
isCompleted
|
||||||
uploadCompletionCursor
|
uploadCompletionCursor
|
||||||
lastIntendedSegmentBound
|
lastIntendedSegmentBound
|
||||||
|
initPlaylistUploadStatus
|
||||||
}
|
}
|
||||||
currentProcessing {
|
currentProcessing {
|
||||||
errors {
|
errors {
|
||||||
|
@@ -14,6 +14,28 @@ mutation GetUploadLink($videoId: Int!, $segmentIndex: Int!) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
mutation GetHlsInitUploadLink($videoId: Int!) {
|
||||||
|
getHlsInitUploadLink(videoId: $videoId) {
|
||||||
|
uploadUrl
|
||||||
|
headers {
|
||||||
|
key
|
||||||
|
value
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
mutation SetSegmentDuration(
|
||||||
|
$videoId: Int!
|
||||||
|
$segmentIndex: Int!
|
||||||
|
$duration: Float!
|
||||||
|
) {
|
||||||
|
setSegmentDuration(
|
||||||
|
videoId: $videoId
|
||||||
|
segmentIndex: $segmentIndex
|
||||||
|
duration: $duration
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
mutation EditUploadStream(
|
mutation EditUploadStream(
|
||||||
$videoId: Int!
|
$videoId: Int!
|
||||||
$videoMetadataInput: VideoMetadataInput!
|
$videoMetadataInput: VideoMetadataInput!
|
||||||
|
@@ -9,8 +9,14 @@ type Query {
|
|||||||
intervalDuration: Int! = 300
|
intervalDuration: Int! = 300
|
||||||
): [MakePercentageIntervalGQL!]!
|
): [MakePercentageIntervalGQL!]!
|
||||||
getShots(filterInput: FilterInput!): [ShotGQL!]!
|
getShots(filterInput: FilterInput!): [ShotGQL!]!
|
||||||
|
getShotAnnotationTypes: [ShotAnnotationTypeGQL!]!
|
||||||
getUser(userId: Int!): UserGQL
|
getUser(userId: Int!): UserGQL
|
||||||
getLoggedInUser: UserGQL
|
getLoggedInUser: UserGQL
|
||||||
|
getUsernames(
|
||||||
|
matchString: String = null
|
||||||
|
limit: Int = null
|
||||||
|
after: String = null
|
||||||
|
): [String!]!
|
||||||
getPlayTime(userId: Int!): UserPlayTimeGQL!
|
getPlayTime(userId: Int!): UserPlayTimeGQL!
|
||||||
getUserVideos(
|
getUserVideos(
|
||||||
userId: Int = null
|
userId: Int = null
|
||||||
@@ -65,6 +71,7 @@ input EnumAggregation {
|
|||||||
input FilterInput @oneOf {
|
input FilterInput @oneOf {
|
||||||
andFilters: [FilterInput!]
|
andFilters: [FilterInput!]
|
||||||
orFilters: [FilterInput!]
|
orFilters: [FilterInput!]
|
||||||
|
notFilter: FilterInput
|
||||||
cueObjectDistance: RangeFilter
|
cueObjectDistance: RangeFilter
|
||||||
targetPocketDistance: RangeFilter
|
targetPocketDistance: RangeFilter
|
||||||
cueObjectAngle: RangeFilter
|
cueObjectAngle: RangeFilter
|
||||||
@@ -76,6 +83,17 @@ input FilterInput @oneOf {
|
|||||||
userId: [Int!]
|
userId: [Int!]
|
||||||
make: [Boolean!]
|
make: [Boolean!]
|
||||||
tags: [VideoTagInput!]
|
tags: [VideoTagInput!]
|
||||||
|
annotations: [ShotAnnotationInput!]
|
||||||
|
isStraight: [Boolean!]
|
||||||
|
isRight: [Boolean!]
|
||||||
|
isLeft: [Boolean!]
|
||||||
|
isLeftMiss: [Boolean!]
|
||||||
|
isRightMiss: [Boolean!]
|
||||||
|
isDirect: [Boolean!]
|
||||||
|
bankAngle: RangeFilter
|
||||||
|
bankDistance: RangeFilter
|
||||||
|
kickAngle: RangeFilter
|
||||||
|
kickDistance: RangeFilter
|
||||||
}
|
}
|
||||||
|
|
||||||
input RangeFilter {
|
input RangeFilter {
|
||||||
@@ -103,6 +121,10 @@ input VideoTagClassInput {
|
|||||||
name: String!
|
name: String!
|
||||||
}
|
}
|
||||||
|
|
||||||
|
input ShotAnnotationInput {
|
||||||
|
name: String!
|
||||||
|
}
|
||||||
|
|
||||||
type BucketSetGQL {
|
type BucketSetGQL {
|
||||||
keyName: String!
|
keyName: String!
|
||||||
feature: String!
|
feature: String!
|
||||||
@@ -138,6 +160,7 @@ type ShotGQL {
|
|||||||
bankFeatures: BankFeaturesGQL
|
bankFeatures: BankFeaturesGQL
|
||||||
serializedShotPaths: SerializedShotPathsGQL
|
serializedShotPaths: SerializedShotPathsGQL
|
||||||
user: UserGQL
|
user: UserGQL
|
||||||
|
annotations: [ShotAnnotationGQL!]!
|
||||||
}
|
}
|
||||||
|
|
||||||
"""
|
"""
|
||||||
@@ -178,12 +201,27 @@ type UserGQL {
|
|||||||
id: Int!
|
id: Int!
|
||||||
firebaseUid: String!
|
firebaseUid: String!
|
||||||
username: String!
|
username: String!
|
||||||
|
isAdmin: Boolean!
|
||||||
activeVideoId: Int
|
activeVideoId: Int
|
||||||
profileImageUri: String
|
profileImageUri: String
|
||||||
createdAt: DateTime
|
createdAt: DateTime
|
||||||
updatedAt: DateTime
|
updatedAt: DateTime
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type ShotAnnotationGQL {
|
||||||
|
shotId: Int!
|
||||||
|
type: ShotAnnotationTypeGQL!
|
||||||
|
creator: UserGQL!
|
||||||
|
notes: String!
|
||||||
|
createdAt: DateTime
|
||||||
|
updatedAt: DateTime
|
||||||
|
}
|
||||||
|
|
||||||
|
type ShotAnnotationTypeGQL {
|
||||||
|
id: Int!
|
||||||
|
name: String!
|
||||||
|
}
|
||||||
|
|
||||||
type UserPlayTimeGQL {
|
type UserPlayTimeGQL {
|
||||||
totalSeconds: Float!
|
totalSeconds: Float!
|
||||||
}
|
}
|
||||||
@@ -224,6 +262,7 @@ type UploadStreamGQL {
|
|||||||
segmentProcessingCursor: Int!
|
segmentProcessingCursor: Int!
|
||||||
lastIntendedSegmentBound: Int
|
lastIntendedSegmentBound: Int
|
||||||
isCompleted: Boolean!
|
isCompleted: Boolean!
|
||||||
|
initPlaylistUploadStatus: InitPlaylistUploadStatusEnum
|
||||||
lowestUnuploadedSegmentIndex: Int!
|
lowestUnuploadedSegmentIndex: Int!
|
||||||
uploadCompletionCursor: Int!
|
uploadCompletionCursor: Int!
|
||||||
errors: [StreamErrorGQL!]!
|
errors: [StreamErrorGQL!]!
|
||||||
@@ -232,6 +271,12 @@ type UploadStreamGQL {
|
|||||||
segments: [UploadSegmentGQL!]!
|
segments: [UploadSegmentGQL!]!
|
||||||
}
|
}
|
||||||
|
|
||||||
|
enum InitPlaylistUploadStatusEnum {
|
||||||
|
NOT_APPLICABLE
|
||||||
|
NOT_UPLOADED
|
||||||
|
UPLOADED
|
||||||
|
}
|
||||||
|
|
||||||
type StreamErrorGQL {
|
type StreamErrorGQL {
|
||||||
message: String!
|
message: String!
|
||||||
}
|
}
|
||||||
@@ -242,7 +287,7 @@ type UploadSegmentGQL {
|
|||||||
valid: Boolean!
|
valid: Boolean!
|
||||||
endFrameIndex: Int
|
endFrameIndex: Int
|
||||||
framesPerSecond: Float
|
framesPerSecond: Float
|
||||||
durationsInSeconds: Float
|
durationInSeconds: Float
|
||||||
linksRequested: Int!
|
linksRequested: Int!
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -319,6 +364,12 @@ type Mutation {
|
|||||||
videoMetadata: VideoMetadataInput!
|
videoMetadata: VideoMetadataInput!
|
||||||
): CreateUploadStreamReturn!
|
): CreateUploadStreamReturn!
|
||||||
getUploadLink(videoId: Int!, segmentIndex: Int!): GetUploadLinkReturn!
|
getUploadLink(videoId: Int!, segmentIndex: Int!): GetUploadLinkReturn!
|
||||||
|
getHlsInitUploadLink(videoId: Int!): GetUploadLinkReturn!
|
||||||
|
setSegmentDuration(
|
||||||
|
videoId: Int!
|
||||||
|
segmentIndex: Int!
|
||||||
|
duration: Float!
|
||||||
|
): Boolean!
|
||||||
editUploadStream(videoId: Int!, videoMetadata: VideoMetadataInput!): Boolean!
|
editUploadStream(videoId: Int!, videoMetadata: VideoMetadataInput!): Boolean!
|
||||||
deleteVideo(videoId: Int!): Boolean!
|
deleteVideo(videoId: Int!): Boolean!
|
||||||
}
|
}
|
||||||
@@ -344,6 +395,7 @@ type CreateUploadStreamReturn {
|
|||||||
}
|
}
|
||||||
|
|
||||||
input VideoMetadataInput {
|
input VideoMetadataInput {
|
||||||
|
resolution: VideoResolution!
|
||||||
videoName: String = null
|
videoName: String = null
|
||||||
startTime: DateTime = null
|
startTime: DateTime = null
|
||||||
endTime: DateTime = null
|
endTime: DateTime = null
|
||||||
@@ -351,7 +403,14 @@ input VideoMetadataInput {
|
|||||||
tableSize: String = null
|
tableSize: String = null
|
||||||
uploadStreamMetadataInput: UploadStreamMetadataInput = null
|
uploadStreamMetadataInput: UploadStreamMetadataInput = null
|
||||||
lastIntendedSegmentBound: Int = null
|
lastIntendedSegmentBound: Int = null
|
||||||
|
streamSegmentType: StreamSegmentTypeEnum = null
|
||||||
endStream: Boolean! = false
|
endStream: Boolean! = false
|
||||||
|
framesPerSecond: Float = null
|
||||||
|
}
|
||||||
|
|
||||||
|
input VideoResolution {
|
||||||
|
width: Int!
|
||||||
|
height: Int!
|
||||||
}
|
}
|
||||||
|
|
||||||
input UploadStreamMetadataInput {
|
input UploadStreamMetadataInput {
|
||||||
@@ -371,3 +430,8 @@ enum DeviceTypeEnum {
|
|||||||
ANDROID
|
ANDROID
|
||||||
BROWSER
|
BROWSER
|
||||||
}
|
}
|
||||||
|
|
||||||
|
enum StreamSegmentTypeEnum {
|
||||||
|
FRAGMENTED_MP4
|
||||||
|
RB_CHUNKED_MP4
|
||||||
|
}
|
||||||
|
Reference in New Issue
Block a user