Compare commits

..

6 Commits

Author SHA1 Message Date
c18628a4ca Add pagination to getShots 2024-08-01 19:49:57 -06:00
04308b1003 Merge pull request 'Add addAnnotationToShot' (#28) from mk/add-add-annotation into master
Reviewed-on: #28
Reviewed-by: Ivan Malison <ivanmalison@gmail.com>
2024-07-30 18:10:44 -06:00
43c626141e Add addAnnotationToShot
All checks were successful
Tests / Tests (pull_request) Successful in 15s
2024-07-30 17:08:05 -07:00
c49266e4c1 Merge pull request 'Expose frames per second on video' (#27) from kat/add-video-duration into master
Reviewed-on: #27
2024-07-30 11:54:34 -06:00
6677b9232f Expose frames per second on video
All checks were successful
Tests / Tests (pull_request) Successful in 8s
2024-07-30 11:53:34 -06:00
76e792be88 Merge pull request 'Expose stream type on video' (#26) from kat/create-get-video-for-clip-calculation into master
Reviewed-on: #26
2024-07-30 01:02:18 -06:00
3 changed files with 47 additions and 10 deletions

View File

@@ -102,6 +102,10 @@ export type CreateUploadStreamReturn = {
videoId: Scalars["Int"]["output"]; videoId: Scalars["Int"]["output"];
}; };
export type CreatedAfter =
| { createdAt: Scalars["DateTime"]["input"]; videoId?: never }
| { createdAt?: never; videoId: Scalars["Int"]["input"] };
export type CueObjectFeaturesGql = { export type CueObjectFeaturesGql = {
__typename?: "CueObjectFeaturesGQL"; __typename?: "CueObjectFeaturesGQL";
cueBallSpeed?: Maybe<Scalars["Float"]["output"]>; cueBallSpeed?: Maybe<Scalars["Float"]["output"]>;
@@ -1029,6 +1033,11 @@ export type FilterInput =
videoId: Array<Scalars["Int"]["input"]>; videoId: Array<Scalars["Int"]["input"]>;
}; };
export type GetShotsPagination = {
createdAfter: CreatedAfter;
startFrameAfter: Scalars["Int"]["input"];
};
export type GetUploadLinkReturn = { export type GetUploadLinkReturn = {
__typename?: "GetUploadLinkReturn"; __typename?: "GetUploadLinkReturn";
headers: Array<Maybe<Header>>; headers: Array<Maybe<Header>>;
@@ -1077,6 +1086,7 @@ export type MakePercentageIntervalGql = {
export type Mutation = { export type Mutation = {
__typename?: "Mutation"; __typename?: "Mutation";
addAnnotationToShot: Scalars["Boolean"]["output"];
createBucketSet: BucketSetGql; createBucketSet: BucketSetGql;
createUploadStream: CreateUploadStreamReturn; createUploadStream: CreateUploadStreamReturn;
deleteVideo: Scalars["Boolean"]["output"]; deleteVideo: Scalars["Boolean"]["output"];
@@ -1089,6 +1099,11 @@ export type Mutation = {
setSegmentDuration: Scalars["Boolean"]["output"]; setSegmentDuration: Scalars["Boolean"]["output"];
}; };
export type MutationAddAnnotationToShotArgs = {
annotationName: Scalars["String"]["input"];
shotId: Scalars["Int"]["input"];
};
export type MutationCreateBucketSetArgs = { export type MutationCreateBucketSetArgs = {
params: CreateBucketSetInput; params: CreateBucketSetInput;
}; };
@@ -1195,6 +1210,8 @@ export type QueryGetPlayTimeArgs = {
export type QueryGetShotsArgs = { export type QueryGetShotsArgs = {
filterInput: FilterInput; filterInput: FilterInput;
limit?: Scalars["Int"]["input"];
shotsPagination?: InputMaybe<GetShotsPagination>;
}; };
export type QueryGetUserArgs = { export type QueryGetUserArgs = {
@@ -1278,6 +1295,7 @@ export type ShotGql = {
startFrame: Scalars["Int"]["output"]; startFrame: Scalars["Int"]["output"];
updatedAt?: Maybe<Scalars["DateTime"]["output"]>; updatedAt?: Maybe<Scalars["DateTime"]["output"]>;
user?: Maybe<UserGql>; user?: Maybe<UserGql>;
video?: Maybe<VideoGql>;
videoId: Scalars["Int"]["output"]; videoId: Scalars["Int"]["output"];
}; };
@@ -1931,6 +1949,7 @@ export type GetVideoForClipTimesQuery = {
getVideo: { getVideo: {
__typename?: "VideoGQL"; __typename?: "VideoGQL";
id: number; id: number;
framesPerSecond: number;
playlist?: { playlist?: {
__typename?: "HLSPlaylistGQL"; __typename?: "HLSPlaylistGQL";
segmentDurations: Array<number>; segmentDurations: Array<number>;
@@ -3720,6 +3739,7 @@ export const GetVideoForClipTimesDocument = gql`
query GetVideoForClipTimes($videoId: Int!) { query GetVideoForClipTimes($videoId: Int!) {
getVideo(videoId: $videoId) { getVideo(videoId: $videoId) {
id id
framesPerSecond
playlist { playlist {
segmentDurations segmentDurations
} }

View File

@@ -215,6 +215,7 @@ query GetMedianRunForVideo($videoId: Int!) {
query GetVideoForClipTimes($videoId: Int!) { query GetVideoForClipTimes($videoId: Int!) {
getVideo(videoId: $videoId) { getVideo(videoId: $videoId) {
id id
framesPerSecond
playlist { playlist {
segmentDurations segmentDurations
} }

View File

@@ -8,7 +8,11 @@ type Query {
videoId: ID! videoId: ID!
intervalDuration: Int! = 300 intervalDuration: Int! = 300
): [MakePercentageIntervalGQL!]! ): [MakePercentageIntervalGQL!]!
getShots(filterInput: FilterInput!): [ShotGQL!]! getShots(
filterInput: FilterInput!
shotsPagination: GetShotsPagination = null
limit: Int! = 10
): [ShotGQL!]!
getShotAnnotationTypes: [ShotAnnotationTypeGQL!]! getShotAnnotationTypes: [ShotAnnotationTypeGQL!]!
getUser(userId: Int!): UserGQL getUser(userId: Int!): UserGQL
getLoggedInUser: UserGQL getLoggedInUser: UserGQL
@@ -168,6 +172,7 @@ type ShotGQL {
user: UserGQL user: UserGQL
annotations: [ShotAnnotationGQL!]! annotations: [ShotAnnotationGQL!]!
falsePositiveScore: Float falsePositiveScore: Float
video: VideoGQL
} }
""" """
@@ -229,15 +234,6 @@ type ShotAnnotationTypeGQL {
name: String! name: String!
} }
type UserPlayTimeGQL {
totalSeconds: Float!
}
type VideoHistoryGQL {
videos: [VideoGQL!]!
pageInfo: PageInfoGQL!
}
type VideoGQL { type VideoGQL {
id: Int! id: Int!
owner: UserGQL owner: UserGQL
@@ -364,6 +360,25 @@ type VideoProcessingErrorGQL {
endSegmentIndex: Int endSegmentIndex: Int
} }
input GetShotsPagination {
createdAfter: CreatedAfter!
startFrameAfter: Int!
}
input CreatedAfter @oneOf {
videoId: Int
createdAt: DateTime
}
type UserPlayTimeGQL {
totalSeconds: Float!
}
type VideoHistoryGQL {
videos: [VideoGQL!]!
pageInfo: PageInfoGQL!
}
type PageInfoGQL { type PageInfoGQL {
hasNextPage: Boolean! hasNextPage: Boolean!
endCursor: String endCursor: String
@@ -383,6 +398,7 @@ type TagGQL {
type Mutation { type Mutation {
createBucketSet(params: CreateBucketSetInput!): BucketSetGQL! createBucketSet(params: CreateBucketSetInput!): BucketSetGQL!
setLoggerLevel(path: String!, level: String!): Boolean! setLoggerLevel(path: String!, level: String!): Boolean!
addAnnotationToShot(shotId: Int!, annotationName: String!): Boolean!
getProfileImageUploadLink(fileExt: String = ".png"): GetUploadLinkReturn! getProfileImageUploadLink(fileExt: String = ".png"): GetUploadLinkReturn!
editProfileImageUri(profileImageUri: String!): UserGQL! editProfileImageUri(profileImageUri: String!): UserGQL!
createUploadStream( createUploadStream(