Compare commits
31 Commits
c0ee55069e
...
kat/reserv
| Author | SHA1 | Date | |
|---|---|---|---|
| 15be60f2ca | |||
| 59aaf47cbe | |||
| c426e753cd | |||
| c8cf97421b | |||
| 9718137ad3 | |||
| af1fb3fee7 | |||
| 025baf257a | |||
| 8239ab6e1b | |||
| 1f018f954e | |||
| fd78ddf641 | |||
| 7662f1f050 | |||
| 890bea2571 | |||
| f57f6dc32d | |||
| 14863e3357 | |||
|
|
58f01c567c | ||
| 937368c753 | |||
| d8c11875d4 | |||
| bacd9e77f0 | |||
| 69d755ba32 | |||
| 31fb95e3b0 | |||
| 7d0f9870dd | |||
| 4a493b4e8d | |||
| 341dc819a0 | |||
| b58aecf7a5 | |||
| 301c017d5e | |||
| 1a4b676635 | |||
| ce54bef0b4 | |||
| 2699d29d7b | |||
| 63a07d58ca | |||
| 59fe332fe0 | |||
| 33723f4ea2 |
1031
src/index.tsx
1031
src/index.tsx
File diff suppressed because it is too large
Load Diff
@@ -1,59 +1,3 @@
|
|||||||
query GetShots(
|
|
||||||
$filterInput: FilterInput!
|
|
||||||
$shotsPagination: GetShotsPagination
|
|
||||||
$limit: Int
|
|
||||||
$includeCreatedAt: Boolean! = false
|
|
||||||
$includeUpdatedAt: Boolean! = false
|
|
||||||
$includeCueObjectFeatures: Boolean! = false
|
|
||||||
$includePocketingIntentionFeatures: Boolean! = false
|
|
||||||
$includeCueObjectDistance: Boolean! = false
|
|
||||||
$includeCueObjectAngle: Boolean! = false
|
|
||||||
$includeCueBallSpeed: Boolean! = false
|
|
||||||
$includeSpinType: Boolean! = false
|
|
||||||
$includeShotDirection: Boolean! = false
|
|
||||||
$includeTargetPocketDistance: Boolean! = false
|
|
||||||
$includeMake: Boolean! = false
|
|
||||||
$includeIntendedPocketType: Boolean! = false
|
|
||||||
) {
|
|
||||||
getShots(
|
|
||||||
filterInput: $filterInput
|
|
||||||
shotsPagination: $shotsPagination
|
|
||||||
limit: $limit
|
|
||||||
) {
|
|
||||||
id
|
|
||||||
videoId
|
|
||||||
startFrame
|
|
||||||
endFrame
|
|
||||||
user {
|
|
||||||
id
|
|
||||||
}
|
|
||||||
falsePositiveScore
|
|
||||||
video {
|
|
||||||
stream {
|
|
||||||
resolution {
|
|
||||||
width
|
|
||||||
height
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
createdAt @include(if: $includeCreatedAt)
|
|
||||||
updatedAt @include(if: $includeUpdatedAt)
|
|
||||||
cueObjectFeatures @include(if: $includeCueObjectFeatures) {
|
|
||||||
cueObjectDistance @include(if: $includeCueObjectDistance)
|
|
||||||
cueObjectAngle @include(if: $includeCueObjectAngle)
|
|
||||||
cueBallSpeed @include(if: $includeCueBallSpeed)
|
|
||||||
shotDirection @include(if: $includeShotDirection)
|
|
||||||
spinType @include(if: $includeSpinType)
|
|
||||||
}
|
|
||||||
pocketingIntentionFeatures
|
|
||||||
@include(if: $includePocketingIntentionFeatures) {
|
|
||||||
targetPocketDistance @include(if: $includeTargetPocketDistance)
|
|
||||||
make @include(if: $includeMake)
|
|
||||||
intendedPocketType @include(if: $includeIntendedPocketType)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
query GetSerializedShotPaths($filterInput: FilterInput!) {
|
query GetSerializedShotPaths($filterInput: FilterInput!) {
|
||||||
getShots(filterInput: $filterInput) {
|
getShots(filterInput: $filterInput) {
|
||||||
id
|
id
|
||||||
@@ -73,30 +17,69 @@ 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!
|
$filterInput: FilterInput!
|
||||||
$shotsPagination: GetShotsPagination
|
$shotsPagination: GetShotsPagination
|
||||||
$limit: Int
|
$limit: Int
|
||||||
$includeCreatedAt: Boolean! = false
|
$ids: [Int!]
|
||||||
$includeUpdatedAt: Boolean! = false
|
|
||||||
$includeCueObjectFeatures: Boolean! = false
|
|
||||||
$includePocketingIntentionFeatures: Boolean! = false
|
|
||||||
$includeCueObjectDistance: Boolean! = false
|
|
||||||
$includeCueObjectAngle: Boolean! = false
|
|
||||||
$includeCueBallSpeed: Boolean! = false
|
|
||||||
$includeSpinType: Boolean! = false
|
|
||||||
$includeShotDirection: Boolean! = false
|
|
||||||
$includeTargetPocketDistance: Boolean! = false
|
|
||||||
$includeMake: Boolean! = false
|
|
||||||
$includeIntendedPocketType: Boolean! = false
|
|
||||||
) {
|
) {
|
||||||
getShotsWithMetadata(
|
getShotsWithMetadata(
|
||||||
filterInput: $filterInput
|
filterInput: $filterInput
|
||||||
shotsPagination: $shotsPagination
|
shotsPagination: $shotsPagination
|
||||||
limit: $limit
|
limit: $limit
|
||||||
|
ids: $ids
|
||||||
) {
|
) {
|
||||||
count
|
count
|
||||||
shots {
|
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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
query GetShotsByIds($ids: [Int!]!) {
|
||||||
|
getShotsByIds(ids: $ids) {
|
||||||
|
...ShotWithAllFeatures
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fragment ShotWithAllFeatures on ShotGQL {
|
||||||
id
|
id
|
||||||
videoId
|
videoId
|
||||||
startFrame
|
startFrame
|
||||||
@@ -106,6 +89,7 @@ query GetShotsWithMetadata(
|
|||||||
}
|
}
|
||||||
falsePositiveScore
|
falsePositiveScore
|
||||||
video {
|
video {
|
||||||
|
id
|
||||||
stream {
|
stream {
|
||||||
resolution {
|
resolution {
|
||||||
width
|
width
|
||||||
@@ -113,29 +97,29 @@ query GetShotsWithMetadata(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
createdAt @include(if: $includeCreatedAt)
|
createdAt
|
||||||
updatedAt @include(if: $includeUpdatedAt)
|
updatedAt
|
||||||
cueObjectFeatures @include(if: $includeCueObjectFeatures) {
|
cueObjectFeatures {
|
||||||
cueObjectDistance @include(if: $includeCueObjectDistance)
|
cueObjectDistance
|
||||||
cueObjectAngle @include(if: $includeCueObjectAngle)
|
cueObjectAngle
|
||||||
cueBallSpeed @include(if: $includeCueBallSpeed)
|
cueBallSpeed
|
||||||
shotDirection @include(if: $includeShotDirection)
|
shotDirection
|
||||||
spinType @include(if: $includeSpinType)
|
spinType
|
||||||
}
|
}
|
||||||
pocketingIntentionFeatures
|
pocketingIntentionFeatures {
|
||||||
@include(if: $includePocketingIntentionFeatures) {
|
make
|
||||||
targetPocketDistance @include(if: $includeTargetPocketDistance)
|
targetPocketDistance
|
||||||
make @include(if: $includeMake)
|
targetPocketAngle
|
||||||
intendedPocketType @include(if: $includeIntendedPocketType)
|
targetPocketAngleDirection
|
||||||
|
marginOfErrorInDegrees
|
||||||
|
intendedPocketType
|
||||||
}
|
}
|
||||||
pocketingIntentionInfo @include(if: $includePocketingIntentionFeatures) {
|
pocketingIntentionInfo {
|
||||||
ballId
|
ballId
|
||||||
pocketId
|
pocketId
|
||||||
pathMetadataIndex
|
pathMetadataIndex
|
||||||
}
|
}
|
||||||
serializedShotPaths @include(if: $includePocketingIntentionFeatures) {
|
serializedShotPaths {
|
||||||
b64EncodedBuffer
|
b64EncodedBuffer
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -237,3 +237,11 @@ query GetVideoForClipTimes($videoId: Int!) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
query GetHeaderInfoByVideoId($videoId: Int!) {
|
||||||
|
getVideo(videoId: $videoId) {
|
||||||
|
id
|
||||||
|
name
|
||||||
|
startTime
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ type Query {
|
|||||||
): [MakePercentageIntervalGQL!]!
|
): [MakePercentageIntervalGQL!]!
|
||||||
getShotsWithMetadata(
|
getShotsWithMetadata(
|
||||||
filterInput: FilterInput!
|
filterInput: FilterInput!
|
||||||
|
ids: [Int!] = null
|
||||||
shotsPagination: GetShotsPagination = null
|
shotsPagination: GetShotsPagination = null
|
||||||
limit: Int! = 500
|
limit: Int! = 500
|
||||||
): GetShotsResult!
|
): GetShotsResult!
|
||||||
@@ -19,6 +20,7 @@ type Query {
|
|||||||
shotsPagination: GetShotsPagination = null
|
shotsPagination: GetShotsPagination = null
|
||||||
limit: Int! = 500
|
limit: Int! = 500
|
||||||
): [ShotGQL!]!
|
): [ShotGQL!]!
|
||||||
|
getShotsByIds(ids: [Int!]!): [ShotGQL!]!
|
||||||
getShotAnnotationTypes(errorTypes: Boolean = false): [ShotAnnotationTypeGQL!]!
|
getShotAnnotationTypes(errorTypes: Boolean = false): [ShotAnnotationTypeGQL!]!
|
||||||
getUser(userId: Int!): UserGQL
|
getUser(userId: Int!): UserGQL
|
||||||
getLoggedInUser: UserGQL
|
getLoggedInUser: UserGQL
|
||||||
@@ -107,26 +109,23 @@ Date with time (isoformat)
|
|||||||
"""
|
"""
|
||||||
scalar DateTime
|
scalar DateTime
|
||||||
|
|
||||||
input TimeInterval {
|
input TimeInterval @oneOf {
|
||||||
"""
|
timedelta: TimeDeltaGQL
|
||||||
A second is the base unit and cannot be subdivided
|
aligned: AlignedIntervalEnum
|
||||||
"""
|
}
|
||||||
seconds: Int = 0
|
|
||||||
minutes: Int = 0
|
input TimeDeltaGQL {
|
||||||
hours: Int = 0
|
|
||||||
days: Int = 0
|
days: Int = 0
|
||||||
weeks: Int = 0
|
weeks: Int = 0
|
||||||
months: Int = 0
|
months: Int = 0
|
||||||
|
|
||||||
"""
|
|
||||||
Assumes a year is 365 days long
|
|
||||||
"""
|
|
||||||
years: Int = 0
|
years: Int = 0
|
||||||
|
}
|
||||||
|
|
||||||
"""
|
enum AlignedIntervalEnum {
|
||||||
True eg 1/15-3/15 => [(1/15,1/31), (2/1,2/28), (3/1,3/15)] False eg 1/15-2/15 => [(1/15,2/14), (2/14,3/15)]
|
MONTH
|
||||||
"""
|
YEAR
|
||||||
calendarAlignedMonths: Boolean! = true
|
WEEK
|
||||||
|
DAY
|
||||||
}
|
}
|
||||||
|
|
||||||
input FilterInput @oneOf {
|
input FilterInput @oneOf {
|
||||||
@@ -142,6 +141,7 @@ input FilterInput @oneOf {
|
|||||||
shotDirection: [ShotDirectionEnum!]
|
shotDirection: [ShotDirectionEnum!]
|
||||||
videoId: [Int!]
|
videoId: [Int!]
|
||||||
userId: [Int!]
|
userId: [Int!]
|
||||||
|
username: [String!]
|
||||||
make: [Boolean!]
|
make: [Boolean!]
|
||||||
tags: [VideoTagInput!]
|
tags: [VideoTagInput!]
|
||||||
annotations: [ShotAnnotationInput!]
|
annotations: [ShotAnnotationInput!]
|
||||||
@@ -164,6 +164,7 @@ input FilterInput @oneOf {
|
|||||||
targetPocketAngleDirection: [ShotDirectionEnum!]
|
targetPocketAngleDirection: [ShotDirectionEnum!]
|
||||||
targetPocketAngle: FloatRangeFilter
|
targetPocketAngle: FloatRangeFilter
|
||||||
missAngleInDegrees: FloatRangeFilter
|
missAngleInDegrees: FloatRangeFilter
|
||||||
|
marginOfErrorInDegrees: FloatRangeFilter
|
||||||
createdAt: DateRangeFilter
|
createdAt: DateRangeFilter
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -248,6 +249,7 @@ type MakePercentageIntervalGQL {
|
|||||||
type GetShotsResult {
|
type GetShotsResult {
|
||||||
shots: [ShotGQL!]!
|
shots: [ShotGQL!]!
|
||||||
count: Int
|
count: Int
|
||||||
|
ids: [Int!]!
|
||||||
}
|
}
|
||||||
|
|
||||||
type ShotGQL {
|
type ShotGQL {
|
||||||
@@ -283,6 +285,7 @@ type PocketingIntentionFeaturesGQL {
|
|||||||
difficulty: Float
|
difficulty: Float
|
||||||
targetPocketAngle: Float
|
targetPocketAngle: Float
|
||||||
targetPocketAngleDirection: ShotDirectionEnum
|
targetPocketAngleDirection: ShotDirectionEnum
|
||||||
|
marginOfErrorInDegrees: Float
|
||||||
backcut: Boolean
|
backcut: Boolean
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user