Compare commits

..

36 Commits

Author SHA1 Message Date
0999c88797 added resolution
All checks were successful
Tests / Tests (pull_request) Successful in 15s
2024-07-18 20:10:23 -07:00
d3559ede21 Merge pull request 'Add frames_per_second' (#21) from loewy/add-fps into master
Reviewed-on: #21
Reviewed-by: countablecloud <countablecloud@gmail.com>
2024-07-18 17:51:30 -06:00
ef6ccca3f9 fix black issue
All checks were successful
Tests / Tests (pull_request) Successful in 14s
2024-07-18 16:46:27 -07:00
f781e9648f add pycache to gitignore
Some checks failed
Tests / Tests (pull_request) Failing after 15s
2024-07-18 16:37:59 -07:00
18d2eea029 add shot_pb2 2024-07-18 16:34:22 -07:00
a95bdab8bf ad frames per second to schema 2024-07-18 16:14:28 -07:00
eaeb1ed0ea Add resolution 2024-07-18 01:14:18 -06:00
f9d6377fe4 Update durations in seconds 2024-07-16 21:48:15 -06:00
30cf72de78 Merge pull request 'Add initPlaylistUploadStatus' (#20) from loewy/update-video-gql-operations into master
Reviewed-on: #20
2024-07-16 20:24:58 -06:00
fd49dec34c add initPlaylistUploadStatus
All checks were successful
Tests / Tests (pull_request) Successful in 8s
2024-07-16 19:23:54 -07:00
cdd1cdd526 Fix segment parameter again 2024-07-16 20:22:16 -06:00
bce363e8ff Parameter to setSegmentDuration should be segmentIndex 2024-07-16 20:20:37 -06:00
80f609b8a2 Merge pull request 'Add operation for set segment duration' (#19) from loewy/set-segment-duration-operation into master
Reviewed-on: #19
Reviewed-by: Ivan Malison <ivanmalison@gmail.com>
2024-07-16 17:54:19 -06:00
6205e9a353 add operation for set segment duration
All checks were successful
Tests / Tests (pull_request) Successful in 15s
2024-07-16 16:33:22 -07:00
12f7e1f115 Merge pull request 'Add operation getHlsInitUploadLink' (#18) from loewy/operation-get-hls-init-upload-link into master
Reviewed-on: #18
2024-07-16 15:28:43 -06:00
296ad969f4 Merge branch 'master' into loewy/operation-get-hls-init-upload-link
All checks were successful
Tests / Tests (pull_request) Successful in 9s
2024-07-16 15:27:37 -06:00
d25c08447e Merge pull request 'Adds init playlist status' (#17) from mk/add-init-file-uploaded-marking into master
Reviewed-on: #17
Reviewed-by: Ivan Malison <ivanmalison@gmail.com>
2024-07-16 15:26:27 -06:00
7502a75753 Merge remote-tracking branch 'origin' into mk/add-init-file-uploaded-marking
All checks were successful
Tests / Tests (pull_request) Successful in 7s
2024-07-16 14:23:32 -07:00
1a14db1a17 Adds init playlist status
All checks were successful
Tests / Tests (pull_request) Successful in 14s
2024-07-16 14:21:45 -07:00
67d8bcac21 add operation for hls init link
All checks were successful
Tests / Tests (pull_request) Successful in 14s
2024-07-15 17:29:55 -07:00
4ca27317b4 Add operation for shot annotation types 2024-07-15 15:37:43 -06:00
dc214e878f Add annotations to shot gql 2024-07-15 15:32:21 -06:00
d669dba320 Add getUsernames operation 2024-07-14 00:16:02 -06:00
235f4a58e9 Add getUsernames 2024-07-13 23:43:18 -06:00
03c1d08d8c Request isAdmin in getLoggedInUser 2024-07-13 17:47:41 -06:00
cc36a8b51d Add isAdmin 2024-07-13 17:40:30 -06:00
d743ad83e3 Merge pull request 'Expand GQL Interfaces To Accomodate Multiple Stream Types' (#16) from mk/extend-to-additional-stream-types into master
Reviewed-on: #16
2024-07-12 22:08:57 -06:00
194c258dcd Expand GQL Interfaces To Accomodate Multiple Stream Types
All checks were successful
Tests / Tests (pull_request) Successful in 15s
2024-07-12 18:50:50 -06:00
e0e1ae1108 Merge pull request 'Add new filters' (#15) from dean/add-new-filters into master
Reviewed-on: #15
2024-07-12 17:54:42 -06:00
ee73443374 Add new filters
All checks were successful
Tests / Tests (pull_request) Successful in 15s
2024-07-12 23:52:06 +00:00
88801f9186 Add not support to filter input gql 2024-07-10 16:17:32 -06:00
524d469a0d Merge pull request 'Add get shot annotations query' (#14) from ivan/add-get-shot-annotations-query into master
Reviewed-on: #14
2024-07-08 14:49:05 -06:00
c7b225ff00 Add get shot annotations query
All checks were successful
Tests / Tests (pull_request) Successful in 8s
2024-07-08 13:26:03 -06:00
ba84f6d9c0 Merge pull request 'Create shot annotations gql' (#13) from kat/shot-annotations into master
Reviewed-on: #13
Reviewed-by: Ivan Malison <ivanmalison@gmail.com>
2024-07-08 11:03:47 -06:00
6a72f9f43f Create shot annotations gql
All checks were successful
Tests / Tests (pull_request) Successful in 8s
2024-07-08 10:56:05 -06:00
efc0b2d858 Add column property query builder filters 2024-07-02 16:55:30 -06:00
7 changed files with 966 additions and 2 deletions

1
.gitignore vendored
View File

@@ -3,3 +3,4 @@ dist
.direnv .direnv
/after.txt /after.txt
/before.txt /before.txt
**/__pycache__/**

File diff suppressed because it is too large Load Diff

View File

@@ -36,3 +36,10 @@ query GetShots(
} }
} }
} }
query GetShotAnnotationTypes {
getShotAnnotationTypes {
id
name
}
}

View File

@@ -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)
}

View File

@@ -51,6 +51,7 @@ query GetStreamMonitoringDetails($videoId: Int!) {
isCompleted isCompleted
uploadCompletionCursor uploadCompletionCursor
lastIntendedSegmentBound lastIntendedSegmentBound
initPlaylistUploadStatus
} }
currentProcessing { currentProcessing {
errors { errors {

View File

@@ -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!

View File

@@ -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
}