Compare commits
21 Commits
kat/get-id
...
ivan/add-c
Author | SHA1 | Date | |
---|---|---|---|
d619751144 | |||
e431a1751f | |||
209f0aa019 | |||
70015a942c | |||
91cfcb28e7 | |||
b2a09c1b8c | |||
59aaf47cbe | |||
c426e753cd | |||
c8cf97421b | |||
9718137ad3 | |||
af1fb3fee7 | |||
025baf257a | |||
8239ab6e1b | |||
1f018f954e | |||
fd78ddf641 | |||
7662f1f050 | |||
890bea2571 | |||
f57f6dc32d | |||
14863e3357 | |||
|
58f01c567c | ||
937368c753 |
@@ -1,5 +1,7 @@
|
||||
overwrite: true
|
||||
schema: "src/schema.gql"
|
||||
schema:
|
||||
- "src/schema.gql"
|
||||
- "src/client-schema.gql"
|
||||
documents: "src/**/*.gql"
|
||||
generates:
|
||||
src/index.tsx:
|
||||
|
7
src/client-schema.gql
Normal file
7
src/client-schema.gql
Normal file
@@ -0,0 +1,7 @@
|
||||
# see: https://www.apollographql.com/docs/react/local-state/managing-state-with-field-policies/
|
||||
directive @client on FIELD
|
||||
|
||||
extend type ShotGQL {
|
||||
startTime: Float!
|
||||
endTime: Float!
|
||||
}
|
747
src/index.tsx
747
src/index.tsx
File diff suppressed because it is too large
Load Diff
@@ -17,20 +17,59 @@ query GetShotAnnotationTypes {
|
||||
}
|
||||
}
|
||||
|
||||
query GetShotsWithMetadata(
|
||||
query GetShotsWithVideoGql($filterInput: FilterInput!, $limit: Int) {
|
||||
getShotsWithMetadata(filterInput: $filterInput, limit: $limit) {
|
||||
ids
|
||||
shots {
|
||||
id
|
||||
videoId
|
||||
video {
|
||||
screenshotUri
|
||||
endTime
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
## Reserved for playlists (which are created from a filter)
|
||||
query GetShotsWithMetadataFilterResult(
|
||||
$filterInput: FilterInput!
|
||||
$shotsPagination: GetShotsPagination
|
||||
$limit: Int
|
||||
$ids: [Int!]
|
||||
) {
|
||||
getShotsWithMetadata(
|
||||
filterInput: $filterInput
|
||||
shotsPagination: $shotsPagination
|
||||
limit: $limit
|
||||
ids: $ids
|
||||
) {
|
||||
count
|
||||
shots {
|
||||
...ShotWithAllFeatures
|
||||
}
|
||||
ids
|
||||
}
|
||||
}
|
||||
|
||||
# TODO: Delete
|
||||
query GetShotsWithMetadata(
|
||||
$filterInput: FilterInput!
|
||||
$shotsPagination: GetShotsPagination
|
||||
$limit: Int
|
||||
$ids: [Int!]
|
||||
) {
|
||||
getShotsWithMetadata(
|
||||
filterInput: $filterInput
|
||||
shotsPagination: $shotsPagination
|
||||
limit: $limit
|
||||
ids: $ids
|
||||
) {
|
||||
count
|
||||
shots {
|
||||
...ShotWithAllFeatures
|
||||
}
|
||||
ids
|
||||
}
|
||||
}
|
||||
|
||||
@@ -45,11 +84,14 @@ fragment ShotWithAllFeatures on ShotGQL {
|
||||
videoId
|
||||
startFrame
|
||||
endFrame
|
||||
startTime @client
|
||||
endTime @client
|
||||
user {
|
||||
id
|
||||
}
|
||||
falsePositiveScore
|
||||
video {
|
||||
id
|
||||
stream {
|
||||
resolution {
|
||||
width
|
||||
@@ -67,8 +109,11 @@ fragment ShotWithAllFeatures on ShotGQL {
|
||||
spinType
|
||||
}
|
||||
pocketingIntentionFeatures {
|
||||
targetPocketDistance
|
||||
make
|
||||
targetPocketDistance
|
||||
targetPocketAngle
|
||||
targetPocketAngleDirection
|
||||
marginOfErrorInDegrees
|
||||
intendedPocketType
|
||||
}
|
||||
pocketingIntentionInfo {
|
||||
|
@@ -117,25 +117,34 @@ query GetVideoDetails($videoId: Int!) {
|
||||
|
||||
query GetVideos($videoIds: [Int!]!) {
|
||||
getVideos(videoIds: $videoIds) {
|
||||
id
|
||||
framesPerSecond
|
||||
stream {
|
||||
id
|
||||
streamSegmentType
|
||||
segments {
|
||||
uploaded
|
||||
valid
|
||||
segmentIndex
|
||||
endFrameIndex
|
||||
framesPerSecond
|
||||
}
|
||||
}
|
||||
playlist {
|
||||
segmentDurations
|
||||
}
|
||||
...VideoStreamMetadata
|
||||
}
|
||||
}
|
||||
|
||||
fragment VideoStreamMetadata on VideoGQL {
|
||||
id
|
||||
framesPerSecond
|
||||
stream {
|
||||
id
|
||||
streamSegmentType
|
||||
segments {
|
||||
uploaded
|
||||
valid
|
||||
segmentIndex
|
||||
endFrameIndex
|
||||
framesPerSecond
|
||||
}
|
||||
}
|
||||
playlist {
|
||||
segmentDurations
|
||||
}
|
||||
}
|
||||
|
||||
query GetVideoForShotTime($videoId: Int!) {
|
||||
getVideo(videoId: $videoId) {
|
||||
...VideoStreamMetadata
|
||||
}
|
||||
}
|
||||
query GetVideo($videoId: Int!) {
|
||||
getVideo(videoId: $videoId) {
|
||||
id
|
||||
@@ -237,3 +246,11 @@ query GetVideoForClipTimes($videoId: Int!) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
query GetHeaderInfoByVideoId($videoId: Int!) {
|
||||
getVideo(videoId: $videoId) {
|
||||
id
|
||||
name
|
||||
startTime
|
||||
}
|
||||
}
|
||||
|
@@ -125,6 +125,7 @@ enum AlignedIntervalEnum {
|
||||
MONTH
|
||||
YEAR
|
||||
WEEK
|
||||
DAY
|
||||
}
|
||||
|
||||
input FilterInput @oneOf {
|
||||
@@ -140,6 +141,7 @@ input FilterInput @oneOf {
|
||||
shotDirection: [ShotDirectionEnum!]
|
||||
videoId: [Int!]
|
||||
userId: [Int!]
|
||||
username: [String!]
|
||||
make: [Boolean!]
|
||||
tags: [VideoTagInput!]
|
||||
annotations: [ShotAnnotationInput!]
|
||||
@@ -162,6 +164,7 @@ input FilterInput @oneOf {
|
||||
targetPocketAngleDirection: [ShotDirectionEnum!]
|
||||
targetPocketAngle: FloatRangeFilter
|
||||
missAngleInDegrees: FloatRangeFilter
|
||||
marginOfErrorInDegrees: FloatRangeFilter
|
||||
createdAt: DateRangeFilter
|
||||
}
|
||||
|
||||
@@ -282,6 +285,7 @@ type PocketingIntentionFeaturesGQL {
|
||||
difficulty: Float
|
||||
targetPocketAngle: Float
|
||||
targetPocketAngleDirection: ShotDirectionEnum
|
||||
marginOfErrorInDegrees: Float
|
||||
backcut: Boolean
|
||||
}
|
||||
|
||||
@@ -541,6 +545,10 @@ type Mutation {
|
||||
annotationName: String!
|
||||
notes: String = null
|
||||
): AddShotAnnotationReturn!
|
||||
updateShotAnnotations(
|
||||
shotId: Int!
|
||||
annotations: [UpdateAnnotationInputGQL!]!
|
||||
): UpdateShotAnnotationReturn!
|
||||
getProfileImageUploadLink(
|
||||
fileExt: String = ".png"
|
||||
): GetProfileUploadLinkReturn!
|
||||
@@ -594,6 +602,27 @@ type OtherErrorNeedsNote {
|
||||
msg: String
|
||||
}
|
||||
|
||||
type UpdateShotAnnotationReturn {
|
||||
value: SuccessfulUpdateUpdateShotAnnotationErrors!
|
||||
}
|
||||
|
||||
union SuccessfulUpdateUpdateShotAnnotationErrors =
|
||||
SuccessfulUpdate
|
||||
| UpdateShotAnnotationErrors
|
||||
|
||||
type SuccessfulUpdate {
|
||||
value: Boolean!
|
||||
}
|
||||
|
||||
type UpdateShotAnnotationErrors {
|
||||
error: DoesNotOwnShotErr
|
||||
}
|
||||
|
||||
input UpdateAnnotationInputGQL {
|
||||
name: String!
|
||||
notes: String = null
|
||||
}
|
||||
|
||||
type GetProfileUploadLinkReturn {
|
||||
value: UploadLinkGetProfileUploadLinkErrors!
|
||||
}
|
||||
|
Reference in New Issue
Block a user