Compare commits

...

39 Commits

Author SHA1 Message Date
94e4e55558 Merge pull request 'Medals' (#135) from volodymyr/medals into master
Reviewed-on: #135
2024-11-15 17:52:14 -07:00
2536f5db6b add nickname to operation, remove currently unsupported fields from request
All checks were successful
Tests / Tests (pull_request) Successful in 15s
2024-11-15 16:51:17 -08:00
ffd0814a98 remove dasystreak 2024-11-15 16:44:42 -08:00
55bfe42484 Medals 2024-11-15 16:44:42 -08:00
dabb0d1d9c Merge pull request 'Remove unimplemented dayStreak and add support for nickname' (#136) from mk/add-nickname-to-medals into master
Reviewed-on: #136
2024-11-15 12:50:49 -07:00
a538c1d81c Remove unimplemented dayStreak and add support for nickname
All checks were successful
Tests / Tests (pull_request) Successful in 7s
2024-11-15 11:50:11 -08:00
872bce3adb Merge pull request 'Add ID to user processing' (#134) from kat/add-id-processing into master
Reviewed-on: #134
2024-11-14 00:20:05 -07:00
457d375bed Add ID to user processing
All checks were successful
Tests / Tests (pull_request) Successful in 9s
2024-11-14 00:18:57 -07:00
12798e368c Merge pull request 'Get user videos' (#132) from volodymyr/get-user-videos into master
Reviewed-on: #132
Reviewed-by: Ivan Malison <ivanmalison@gmail.com>
2024-11-13 15:14:48 -07:00
a3d6e6e19e Merge branch 'master' into volodymyr/get-user-videos
All checks were successful
Tests / Tests (pull_request) Successful in 13s
2024-11-13 15:14:30 -07:00
f7a6e393e7 Merge pull request 'Add excludeVideosWithNoShots filter' (#133) from mk/exclude-no-shots-filter into master
Reviewed-on: #133
2024-11-13 15:13:33 -07:00
ee11e506ed Add excludeVideosWithNoShots filter
All checks were successful
Tests / Tests (pull_request) Successful in 16s
2024-11-13 14:12:57 -08:00
90ec47848b Get user videos
All checks were successful
Tests / Tests (pull_request) Successful in 12s
2024-11-13 21:33:50 +01:00
21acb5219d Merge pull request 'Change includeCallersVideos default to True' (#131) from mk/change-caller-video-default into master
Reviewed-on: #131
2024-11-13 12:52:07 -07:00
087d511efc Change includeCallersVideos default to True
All checks were successful
Tests / Tests (pull_request) Successful in 14s
2024-11-13 11:51:29 -08:00
7cc0dca821 Merge pull request 'Add includeCallersVideos to getFeedVideos' (#130) from mk/make-feed-get-only-theirs into master
Reviewed-on: #130
2024-11-13 11:11:22 -07:00
f826121aa3 Add includeCallersVideos to getFeedVideos
All checks were successful
Tests / Tests (pull_request) Successful in 13s
2024-11-13 10:10:11 -08:00
2aadb8b49b Merge pull request 'Add createdAt filterInput to GetUserPlayTime' (#129) from loewy/update-get-play-time-operation into master
Reviewed-on: #129
2024-11-12 14:28:36 -07:00
5468b7ccda add createdAt dateRangeFilter
All checks were successful
Tests / Tests (pull_request) Successful in 8s
2024-11-12 13:00:18 -08:00
08dfafe1a3 Merge pull request 'Privacy' (#128) from volodymyr/privacy into master
Reviewed-on: #128
Reviewed-by: Kat Huang <kkathuang@gmail.com>
2024-11-12 11:27:56 -07:00
36b6804719 Privacy
All checks were successful
Tests / Tests (pull_request) Successful in 10s
2024-11-12 14:15:19 +01:00
0120c15064 Merge pull request 'Add count to GetShotsWithJustIds operation return' (#127) from loewy/add-count-to-getshots-with-just-ids into master
Reviewed-on: #127
2024-11-11 21:13:19 -07:00
9cc99d956a add countRespectsLimit argument
All checks were successful
Tests / Tests (pull_request) Successful in 15s
2024-11-11 20:07:58 -08:00
985fa8b8e5 add count to return for get shots with just ids
All checks were successful
Tests / Tests (pull_request) Successful in 14s
2024-11-11 19:54:10 -08:00
c4868e7ebe Add null default 2024-11-11 19:02:13 -08:00
58e1c18034 Merge pull request 'Add filters for getPlayTime' (#126) from mk/add-filter-for-play-time into master
Reviewed-on: #126
2024-11-11 19:52:36 -07:00
592dea0ca2 Add filters for getPlayTime
All checks were successful
Tests / Tests (pull_request) Successful in 9s
2024-11-11 18:50:00 -08:00
0e00ae9297 Merge pull request 'Add private to VideoGQL' (#125) from mk/not-clear into master
Reviewed-on: #125
2024-11-07 18:50:34 -07:00
e16812f242 ???
All checks were successful
Tests / Tests (pull_request) Successful in 16s
2024-11-07 17:49:36 -08:00
3e9b7a0d16 Merge pull request 'Add private field to user and videos' (#124) from mk/privacy into master
Reviewed-on: #124
2024-11-07 18:19:01 -07:00
309deb9473 Add private field to user and videos
All checks were successful
Tests / Tests (pull_request) Successful in 9s
2024-11-07 17:16:56 -08:00
d5ba9c2ba5 Merge pull request 'Remove id from HomographyInfo fragment for now, use string instead of base64 for FindPrerecordTableLayout' (#122) from loewy/switch-back-to-string into master
Reviewed-on: #122
2024-11-07 18:09:51 -07:00
73771a263a remove id for now, use string instead of base64
All checks were successful
Tests / Tests (pull_request) Successful in 16s
2024-11-07 17:08:35 -08:00
655e59c43c Remove base64 scalar 2024-11-07 17:43:09 -07:00
056120a68a Merge pull request 'Add operation for FindPrerecordTableLayoutMutation + HomographyInfoGql fragment' (#121) from loewy/add-operation-check-homography into master
Reviewed-on: #121
2024-11-07 16:51:16 -07:00
bd7ffa7fdb add operation
All checks were successful
Tests / Tests (pull_request) Successful in 10s
2024-11-07 15:45:03 -08:00
ec58923c65 Add id to homography info gql 2024-11-07 16:29:33 -07:00
63869cd7ca Rename checkHomographyIsValid to findPrerecordTableLayout 2024-11-07 15:55:23 -07:00
08ae9611cf Add id to video processing gql 2024-11-07 15:52:07 -07:00
7 changed files with 765 additions and 248 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -6,32 +6,7 @@ query GetFeed(
) { ) {
getUserVideos(limit: $limit, after: $after, filters: $filters) { getUserVideos(limit: $limit, after: $after, filters: $filters) {
videos { videos {
id ...VideoCardFields
owner {
username
}
name
screenshotUri
totalShotsMade
totalShots
makePercentage
createdAt
updatedAt
startTime
endTime
elapsedTime
screenshotUri
stream {
id
isCompleted
}
tableSize
tags {
tagClasses {
name
}
name
}
} }
pageInfo { pageInfo {
hasNextPage hasNextPage
@@ -56,6 +31,7 @@ fragment VideoCardFields on VideoGQL {
updatedAt updatedAt
startTime startTime
endTime endTime
private
elapsedTime elapsedTime
screenshotUri screenshotUri
stream { stream {
@@ -70,6 +46,7 @@ fragment VideoCardFields on VideoGQL {
name name
} }
currentProcessing { currentProcessing {
id
errors { errors {
message message
} }
@@ -84,8 +61,14 @@ query GetVideoFeed(
$limit: Int! = 5 $limit: Int! = 5
$after: String = null $after: String = null
$filters: VideoFilterInput = null $filters: VideoFilterInput = null
$includeCallersVideos: Boolean = null
) {
getFeedVideos(
limit: $limit
after: $after
filters: $filters
includeCallersVideos: $includeCallersVideos
) { ) {
getFeedVideos(limit: $limit, after: $after, filters: $filters) {
videos { videos {
...VideoCardFields ...VideoCardFields
} }

84
src/operations/medals.gql Normal file
View File

@@ -0,0 +1,84 @@
query getMedals($scope: MedalScope!, $userId: Int) {
getMedals(scope: $scope, userId: $userId) {
distanceOver66 {
count
nickname
}
distanceOver78 {
count
nickname
}
distanceOver90 {
count
nickname
}
runLength3 {
count
nickname
}
runLength5 {
count
nickname
}
runLength8 {
count
nickname
}
runLength10 {
count
nickname
}
runLength15 {
count
nickname
}
runLength20 {
count
nickname
}
runLength25 {
count
nickname
}
runLength30 {
count
nickname
}
runLength40 {
count
nickname
}
runLength50 {
count
nickname
}
totalMakes25 {
count
nickname
}
totalMakes50 {
count
nickname
}
totalMakes75 {
count
nickname
}
totalMakes100 {
count
nickname
}
totalMakes200 {
count
nickname
}
totalMakes300 {
count
nickname
}
totalMakes400 {
count
nickname
}
}
}

View File

@@ -66,12 +66,15 @@ query GetShotsWithJustIds(
$filterInput: FilterInput! $filterInput: FilterInput!
$shotsOrdering: GetShotsOrdering $shotsOrdering: GetShotsOrdering
$limit: Int $limit: Int
$countRespectsLimit: Boolean
) { ) {
getOrderedShots( getOrderedShots(
filterInput: $filterInput filterInput: $filterInput
shotsOrdering: $shotsOrdering shotsOrdering: $shotsOrdering
limit: $limit limit: $limit
countRespectsLimit: $countRespectsLimit
) { ) {
count
shots { shots {
id id
videoId videoId

View File

@@ -41,11 +41,12 @@ query getLoggedInUser {
activeVideoId activeVideoId
createdAt createdAt
updatedAt updatedAt
videosPrivateByDefault
} }
} }
query GetUserPlayTime($userId: Int!) { query GetUserPlayTime($userId: Int!, $filters: VideoFilterInput) {
getPlayTime(userId: $userId) { getPlayTime(userId: $userId, filters: $filters) {
totalSeconds totalSeconds
} }
} }
@@ -135,3 +136,24 @@ query getUserFollowingFollowers {
query doesUsernameExist($candidateUsername: String!) { query doesUsernameExist($candidateUsername: String!) {
doesUsernameExist(candidateUsername: $candidateUsername) doesUsernameExist(candidateUsername: $candidateUsername)
} }
mutation editUser(
$username: String
$fargoRating: Int
$videosPrivateByDefault: Boolean
) {
editUser(
input: {
username: $username
fargoRating: $fargoRating
videosPrivateByDefault: $videosPrivateByDefault
}
) {
id
firebaseUid
username
fargoRating
updatedAt
videosPrivateByDefault
}
}

View File

@@ -5,44 +5,7 @@ query GetStreamMonitoringDetails($videoId: Int!, $debuggingJson: JSON) {
makePercentage makePercentage
elapsedTime elapsedTime
currentHomography { currentHomography {
crop { ...HomographyInfo
left
top
width
height
}
pockets {
left
top
width
height
}
sourcePoints {
topLeft {
x
y
}
topSide {
x
y
}
topRight {
x
y
}
bottomLeft {
x
y
}
bottomSide {
x
y
}
bottomRight {
x
y
}
}
} }
stream { stream {
id id
@@ -55,6 +18,7 @@ query GetStreamMonitoringDetails($videoId: Int!, $debuggingJson: JSON) {
initPlaylistUploadStatus initPlaylistUploadStatus
} }
currentProcessing { currentProcessing {
id
errors { errors {
message message
startSegmentIndex startSegmentIndex
@@ -154,45 +118,7 @@ query GetVideo($videoId: Int!) {
segmentDurations segmentDurations
} }
homographyHistory { homographyHistory {
frameIndex ...HomographyInfo
crop {
left
top
width
height
}
pockets {
left
top
width
height
}
sourcePoints {
topLeft {
x
y
}
topSide {
x
y
}
topRight {
x
y
}
bottomLeft {
x
y
}
bottomSide {
x
y
}
bottomRight {
x
y
}
}
} }
stream { stream {
id id
@@ -288,3 +214,51 @@ query GetHeaderInfoByVideoId($videoId: Int!) {
startTime startTime
} }
} }
mutation FindPrerecordTableLayout($b64Image: String!, $videoId: Int!) {
findPrerecordTableLayout(b64Image: $b64Image, videoId: $videoId) {
...HomographyInfo
}
}
fragment HomographyInfo on HomographyInfoGQL {
frameIndex
crop {
left
top
width
height
}
pockets {
left
top
width
height
}
sourcePoints {
topLeft {
x
y
}
topSide {
x
y
}
topRight {
x
y
}
bottomLeft {
x
y
}
bottomSide {
x
y
}
bottomRight {
x
y
}
}
}

View File

@@ -46,7 +46,7 @@ type Query {
limit: Int = 100 limit: Int = 100
after: String = null after: String = null
): UserRelationshipsResult! ): UserRelationshipsResult!
getPlayTime(userId: Int!): UserPlayTimeGQL! getPlayTime(userId: Int!, filters: VideoFilterInput = null): UserPlayTimeGQL!
getUserVideos( getUserVideos(
userId: Int = null userId: Int = null
limit: Int! = 5 limit: Int! = 5
@@ -59,6 +59,7 @@ type Query {
getFeedVideos( getFeedVideos(
limit: Int! = 5 limit: Int! = 5
after: String = null after: String = null
includeCallersVideos: Boolean = true
filters: VideoFilterInput = null filters: VideoFilterInput = null
): VideoHistoryGQL! ): VideoHistoryGQL!
} }
@@ -295,21 +296,11 @@ type RequestedMedalsGQL {
totalMakes500: MedalGQL totalMakes500: MedalGQL
totalMakes750: MedalGQL totalMakes750: MedalGQL
totalMakes1000: MedalGQL totalMakes1000: MedalGQL
dayStreak2: MedalGQL
dayStreak3: MedalGQL
dayStreak4: MedalGQL
dayStreak5: MedalGQL
dayStreak6: MedalGQL
dayStreak7: MedalGQL
dayStreak14: MedalGQL
dayStreak21: MedalGQL
dayStreak30: MedalGQL
dayStreak60: MedalGQL
dayStreak90: MedalGQL
} }
type MedalGQL { type MedalGQL {
count: Int! count: Int!
nickname: String
} }
input MedalScope @oneOf { input MedalScope @oneOf {
@@ -400,6 +391,7 @@ type UserGQL {
profileImageUri: String profileImageUri: String
createdAt: DateTime createdAt: DateTime
updatedAt: DateTime updatedAt: DateTime
videosPrivateByDefault: Boolean
following: [UserGQL!] following: [UserGQL!]
followers: [UserGQL!] followers: [UserGQL!]
} }
@@ -437,6 +429,7 @@ type VideoGQL {
elapsedTime: Float elapsedTime: Float
framesPerSecond: Float! framesPerSecond: Float!
tableSize: Float! tableSize: Float!
private: Boolean!
stream: UploadStreamGQL stream: UploadStreamGQL
playlist: HLSPlaylistGQL playlist: HLSPlaylistGQL
tags: [VideoTag!]! tags: [VideoTag!]!
@@ -509,6 +502,7 @@ type VideoTagClass {
} }
type HomographyInfoGQL { type HomographyInfoGQL {
id: Int!
frameIndex: Int! frameIndex: Int!
crop: BoundingBoxGQL! crop: BoundingBoxGQL!
pockets: [BoundingBoxGQL!]! pockets: [BoundingBoxGQL!]!
@@ -538,6 +532,7 @@ type IntPoint2D {
} }
type VideoProcessingGQL { type VideoProcessingGQL {
id: Int!
errors: [VideoProcessingErrorGQL!]! errors: [VideoProcessingErrorGQL!]!
status: ProcessingStatusEnum! status: ProcessingStatusEnum!
statuses: [VideoProcessingStatusGQL!]! statuses: [VideoProcessingStatusGQL!]!
@@ -620,6 +615,13 @@ type UserPlayTimeGQL {
totalSeconds: Float! totalSeconds: Float!
} }
input VideoFilterInput {
isStreamCompleted: Boolean = null
requireCursorCompletion: Boolean! = true
createdAt: DateRangeFilter = null
excludeVideosWithNoShots: Boolean = null
}
type VideoHistoryGQL { type VideoHistoryGQL {
videos: [VideoGQL!]! videos: [VideoGQL!]!
pageInfo: PageInfoGQL! pageInfo: PageInfoGQL!
@@ -630,11 +632,6 @@ type PageInfoGQL {
endCursor: String endCursor: String
} }
input VideoFilterInput {
isStreamCompleted: Boolean = null
requireCursorCompletion: Boolean! = true
}
type TagGQL { type TagGQL {
name: String! name: String!
id: Int! id: Int!
@@ -668,7 +665,7 @@ type Mutation {
editUser(input: EditUserInputGQL!): UserGQL! editUser(input: EditUserInputGQL!): UserGQL!
followUser(followedUserId: Int!): UserGQL! followUser(followedUserId: Int!): UserGQL!
unfollowUser(followedUserId: Int!): UserGQL! unfollowUser(followedUserId: Int!): UserGQL!
checkHomographyIsValid(b64Image: String!, videoId: Int!): HomographyInfoGQL findPrerecordTableLayout(b64Image: String!, videoId: Int!): HomographyInfoGQL
createUploadStream( createUploadStream(
videoMetadata: VideoMetadataInput! videoMetadata: VideoMetadataInput!
): CreateUploadStreamReturn! ): CreateUploadStreamReturn!
@@ -757,6 +754,7 @@ type TooManyProfileImageUploadsErr {
input EditUserInputGQL { input EditUserInputGQL {
username: String = null username: String = null
fargoRating: Int = null fargoRating: Int = null
videosPrivateByDefault: Boolean = null
} }
type CreateUploadStreamReturn { type CreateUploadStreamReturn {
@@ -771,6 +769,7 @@ input VideoMetadataInput {
tableSize: Float = null tableSize: Float = null
lastIntendedSegmentBound: Int = null lastIntendedSegmentBound: Int = null
streamSegmentType: StreamSegmentTypeEnum = null streamSegmentType: StreamSegmentTypeEnum = null
private: Boolean = null
endStream: Boolean! = false endStream: Boolean! = false
resolution: VideoResolution = null resolution: VideoResolution = null
framesPerSecond: Float = null framesPerSecond: Float = null