Compare commits

...

40 Commits

Author SHA1 Message Date
e137ce8ad1 Request id in Homography info 2024-11-21 17:59:29 -07:00
bd5bebb747 Merge pull request 'Update medal collection' (#142) from loewy/update-medals-operation into master
Reviewed-on: #142
2024-11-21 15:16:23 -07:00
034facebf3 update medal operation, create fragment
All checks were successful
Tests / Tests (pull_request) Successful in 16s
2024-11-21 12:18:17 -08:00
ac1fceb648 Merge pull request 'Add new makes medals' (#141) from mk/extend-makes-medals into master
Reviewed-on: #141
2024-11-21 11:56:49 -07:00
fd87ade629 Add new makes medals
All checks were successful
Tests / Tests (pull_request) Successful in 8s
2024-11-21 10:54:06 -08:00
1fab007654 Merge pull request 'Change FilterInput to RunFilterInput' (#140) from mk/use-run-filter-input into master
Reviewed-on: #140
2024-11-19 16:30:20 -07:00
cd2cdb475a Change FilterInput to RunFilterInput
All checks were successful
Tests / Tests (pull_request) Successful in 6s
2024-11-19 15:29:21 -08:00
c3c74379fb Merge pull request 'Add support for getRuns' (#139) from mk/runs-qb into master
Reviewed-on: #139
2024-11-19 15:06:15 -07:00
da21627f15 Add support for getRuns
All checks were successful
Tests / Tests (pull_request) Successful in 31s
2024-11-19 14:05:21 -08:00
8fabfd67cf Merge pull request 'Add difficulty to pocketingIntentionFeatures in ShotWithAllFeatures' (#138) from loewy/add-difficulty-to-shot-features-fragment into master
Reviewed-on: #138
2024-11-19 00:30:17 -07:00
e6960038f2 add difficulty to pocketingIntentionFeatures in ShotWithAllFeatures
All checks were successful
Tests / Tests (pull_request) Successful in 8s
2024-11-18 23:11:47 -08:00
b6ec7ed39d Merge pull request 'Add clientUploadStatus' (#137) from mk/stream-status into master
Reviewed-on: #137
2024-11-18 18:47:30 -07:00
545ba638c2 Add clientUploadStatus
All checks were successful
Tests / Tests (pull_request) Successful in 8s
2024-11-18 17:46:48 -08:00
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
7 changed files with 677 additions and 133 deletions

View File

@ -117,6 +117,11 @@ export type BucketSetInputGql = {
feature: Scalars["String"]["input"]; feature: Scalars["String"]["input"];
}; };
export enum ClientUploadStatusEnum {
UploadDisabled = "UPLOAD_DISABLED",
UploadEnabled = "UPLOAD_ENABLED",
}
export type CreateBucketSetInput = { export type CreateBucketSetInput = {
buckets: Array<BucketInputGql>; buckets: Array<BucketInputGql>;
feature: Scalars["String"]["input"]; feature: Scalars["String"]["input"];
@ -150,6 +155,11 @@ export type DateRangeFilter = {
lessThanInclusive?: Scalars["Boolean"]["input"]; lessThanInclusive?: Scalars["Boolean"]["input"];
}; };
export type DatetimeOrdering = {
descending?: Scalars["Boolean"]["input"];
startingAt?: InputMaybe<Scalars["DateTime"]["input"]>;
};
export type DatetimeRangeAggregationInput = { export type DatetimeRangeAggregationInput = {
endDatetime?: InputMaybe<Scalars["DateTime"]["input"]>; endDatetime?: InputMaybe<Scalars["DateTime"]["input"]>;
feature?: Scalars["String"]["input"]; feature?: Scalars["String"]["input"];
@ -157,11 +167,6 @@ export type DatetimeRangeAggregationInput = {
startDatetime?: InputMaybe<Scalars["DateTime"]["input"]>; startDatetime?: InputMaybe<Scalars["DateTime"]["input"]>;
}; };
export type DatetimeShotOrdering = {
descending?: Scalars["Boolean"]["input"];
startingAt?: InputMaybe<Scalars["DateTime"]["input"]>;
};
export type DeployedConfigGql = { export type DeployedConfigGql = {
__typename?: "DeployedConfigGQL"; __typename?: "DeployedConfigGQL";
allowNewUsers: Scalars["Boolean"]["output"]; allowNewUsers: Scalars["Boolean"]["output"];
@ -1873,6 +1878,11 @@ export type FilterInput =
videoId: Array<Scalars["Int"]["input"]>; videoId: Array<Scalars["Int"]["input"]>;
}; };
export type FloatOrdering = {
descending?: Scalars["Boolean"]["input"];
startingAt?: InputMaybe<Scalars["Float"]["input"]>;
};
export type FloatRangeFilter = { export type FloatRangeFilter = {
greaterThan?: InputMaybe<Scalars["Float"]["input"]>; greaterThan?: InputMaybe<Scalars["Float"]["input"]>;
greaterThanEqualTo?: InputMaybe<Scalars["Float"]["input"]>; greaterThanEqualTo?: InputMaybe<Scalars["Float"]["input"]>;
@ -1882,11 +1892,6 @@ export type FloatRangeFilter = {
lessThanInclusive?: Scalars["Boolean"]["input"]; lessThanInclusive?: Scalars["Boolean"]["input"];
}; };
export type FloatShotOrdering = {
descending?: Scalars["Boolean"]["input"];
startingAt?: InputMaybe<Scalars["Float"]["input"]>;
};
export type GetProfileUploadLinkErrors = { export type GetProfileUploadLinkErrors = {
__typename?: "GetProfileUploadLinkErrors"; __typename?: "GetProfileUploadLinkErrors";
error: TooManyProfileImageUploadsErr; error: TooManyProfileImageUploadsErr;
@ -1897,6 +1902,17 @@ export type GetProfileUploadLinkReturn = {
value: UploadLinkGetProfileUploadLinkErrors; value: UploadLinkGetProfileUploadLinkErrors;
}; };
export type GetRunsOrdering = {
orderings: Array<RunsOrderingComponent>;
};
export type GetRunsResult = {
__typename?: "GetRunsResult";
count?: Maybe<Scalars["Int"]["output"]>;
runIds: Array<Scalars["Int"]["output"]>;
runs: Array<RunGql>;
};
export type GetShotsOrdering = { export type GetShotsOrdering = {
orderings: Array<ShotsOrderingComponent>; orderings: Array<ShotsOrderingComponent>;
}; };
@ -1959,17 +1975,17 @@ export type InitUploadAlreadyCompletedErr = {
segmentType: StreamSegmentTypeEnum; segmentType: StreamSegmentTypeEnum;
}; };
export type IntOrdering = {
descending?: Scalars["Boolean"]["input"];
startingAt?: InputMaybe<Scalars["Int"]["input"]>;
};
export type IntPoint2D = { export type IntPoint2D = {
__typename?: "IntPoint2D"; __typename?: "IntPoint2D";
x: Scalars["Int"]["output"]; x: Scalars["Int"]["output"];
y: Scalars["Int"]["output"]; y: Scalars["Int"]["output"];
}; };
export type IntShotOrdering = {
descending?: Scalars["Boolean"]["input"];
startingAt?: InputMaybe<Scalars["Int"]["input"]>;
};
export type MakePercentageIntervalGql = { export type MakePercentageIntervalGql = {
__typename?: "MakePercentageIntervalGQL"; __typename?: "MakePercentageIntervalGQL";
elapsedTime: Scalars["Float"]["output"]; elapsedTime: Scalars["Float"]["output"];
@ -1979,6 +1995,7 @@ export type MakePercentageIntervalGql = {
export type MedalGql = { export type MedalGql = {
__typename?: "MedalGQL"; __typename?: "MedalGQL";
count: Scalars["Int"]["output"]; count: Scalars["Int"]["output"];
nickname?: Maybe<Scalars["String"]["output"]>;
}; };
export type MedalScope = export type MedalScope =
@ -2180,6 +2197,7 @@ export type Query = {
getMedals: RequestedMedalsGql; getMedals: RequestedMedalsGql;
getOrderedShots: GetShotsResult; getOrderedShots: GetShotsResult;
getPlayTime: UserPlayTimeGql; getPlayTime: UserPlayTimeGql;
getRuns: GetRunsResult;
getShotAnnotationTypes: Array<ShotAnnotationTypeGql>; getShotAnnotationTypes: Array<ShotAnnotationTypeGql>;
getShots: Array<ShotGql>; getShots: Array<ShotGql>;
getShotsByIds: Array<ShotGql>; getShotsByIds: Array<ShotGql>;
@ -2210,6 +2228,7 @@ export type QueryGetBucketSetArgs = {
export type QueryGetFeedVideosArgs = { export type QueryGetFeedVideosArgs = {
after?: InputMaybe<Scalars["String"]["input"]>; after?: InputMaybe<Scalars["String"]["input"]>;
filters?: InputMaybe<VideoFilterInput>; filters?: InputMaybe<VideoFilterInput>;
includeCallersVideos?: InputMaybe<Scalars["Boolean"]["input"]>;
limit?: Scalars["Int"]["input"]; limit?: Scalars["Int"]["input"];
}; };
@ -2227,9 +2246,18 @@ export type QueryGetOrderedShotsArgs = {
}; };
export type QueryGetPlayTimeArgs = { export type QueryGetPlayTimeArgs = {
filters?: InputMaybe<VideoFilterInput>;
userId: Scalars["Int"]["input"]; userId: Scalars["Int"]["input"];
}; };
export type QueryGetRunsArgs = {
countRespectsLimit?: Scalars["Boolean"]["input"];
filterInput: RunFilterInput;
limit?: Scalars["Int"]["input"];
runIds?: InputMaybe<Array<Scalars["Int"]["input"]>>;
runsOrdering?: InputMaybe<GetRunsOrdering>;
};
export type QueryGetShotAnnotationTypesArgs = { export type QueryGetShotAnnotationTypesArgs = {
errorTypes?: InputMaybe<Scalars["Boolean"]["input"]>; errorTypes?: InputMaybe<Scalars["Boolean"]["input"]>;
}; };
@ -2297,17 +2325,11 @@ export type QueryWaitForArgs = {
export type RequestedMedalsGql = { export type RequestedMedalsGql = {
__typename?: "RequestedMedalsGQL"; __typename?: "RequestedMedalsGQL";
dayStreak2?: Maybe<MedalGql>; dailyMakes50?: Maybe<MedalGql>;
dayStreak3?: Maybe<MedalGql>; dailyMakes100?: Maybe<MedalGql>;
dayStreak4?: Maybe<MedalGql>; dailyMakes150?: Maybe<MedalGql>;
dayStreak5?: Maybe<MedalGql>; dailyMakes200?: Maybe<MedalGql>;
dayStreak6?: Maybe<MedalGql>; dailyMakes250?: Maybe<MedalGql>;
dayStreak7?: Maybe<MedalGql>;
dayStreak14?: Maybe<MedalGql>;
dayStreak21?: Maybe<MedalGql>;
dayStreak30?: Maybe<MedalGql>;
dayStreak60?: Maybe<MedalGql>;
dayStreak90?: Maybe<MedalGql>;
distanceOver66?: Maybe<MedalGql>; distanceOver66?: Maybe<MedalGql>;
distanceOver78?: Maybe<MedalGql>; distanceOver78?: Maybe<MedalGql>;
distanceOver90?: Maybe<MedalGql>; distanceOver90?: Maybe<MedalGql>;
@ -2321,18 +2343,53 @@ export type RequestedMedalsGql = {
runLength30?: Maybe<MedalGql>; runLength30?: Maybe<MedalGql>;
runLength40?: Maybe<MedalGql>; runLength40?: Maybe<MedalGql>;
runLength50?: Maybe<MedalGql>; runLength50?: Maybe<MedalGql>;
/** @deprecated no longer supported */
totalMakes25?: Maybe<MedalGql>; totalMakes25?: Maybe<MedalGql>;
/** @deprecated no longer supported */
totalMakes50?: Maybe<MedalGql>; totalMakes50?: Maybe<MedalGql>;
/** @deprecated no longer supported */
totalMakes75?: Maybe<MedalGql>; totalMakes75?: Maybe<MedalGql>;
totalMakes100?: Maybe<MedalGql>; totalMakes100?: Maybe<MedalGql>;
/** @deprecated no longer supported */
totalMakes200?: Maybe<MedalGql>; totalMakes200?: Maybe<MedalGql>;
/** @deprecated no longer supported */
totalMakes300?: Maybe<MedalGql>; totalMakes300?: Maybe<MedalGql>;
/** @deprecated no longer supported */
totalMakes400?: Maybe<MedalGql>; totalMakes400?: Maybe<MedalGql>;
totalMakes500?: Maybe<MedalGql>; totalMakes500?: Maybe<MedalGql>;
/** @deprecated no longer supported */
totalMakes750?: Maybe<MedalGql>; totalMakes750?: Maybe<MedalGql>;
totalMakes1000?: Maybe<MedalGql>; totalMakes1000?: Maybe<MedalGql>;
totalMakes5000?: Maybe<MedalGql>;
totalMakes10000?: Maybe<MedalGql>;
}; };
export type RunFilterInput = {
andFilters?: InputMaybe<Array<RunFilterInput>>;
createdAt?: InputMaybe<DateRangeFilter>;
notFilter?: InputMaybe<RunFilterInput>;
orFilters?: InputMaybe<Array<RunFilterInput>>;
runLength?: InputMaybe<FloatRangeFilter>;
tableSize?: InputMaybe<FloatRangeFilter>;
userId?: InputMaybe<Array<Scalars["Int"]["input"]>>;
username?: InputMaybe<Array<Scalars["String"]["input"]>>;
videoId?: InputMaybe<Array<Scalars["Int"]["input"]>>;
};
export type RunGql = {
__typename?: "RunGQL";
id: Scalars["Int"]["output"];
runLength: Scalars["Int"]["output"];
shots: Array<ShotGql>;
userId: Scalars["Int"]["output"];
videoId: Scalars["Int"]["output"];
};
export type RunsOrderingComponent =
| { runLength: IntOrdering; videoCreation?: never; videoId?: never }
| { runLength?: never; videoCreation: DatetimeOrdering; videoId?: never }
| { runLength?: never; videoCreation?: never; videoId: IntOrdering };
export type SegmentAlreadyUploadedErr = { export type SegmentAlreadyUploadedErr = {
__typename?: "SegmentAlreadyUploadedErr"; __typename?: "SegmentAlreadyUploadedErr";
segmentId: Scalars["Int"]["output"]; segmentId: Scalars["Int"]["output"];
@ -2412,7 +2469,7 @@ export type ShotGql = {
export type ShotsOrderingComponent = export type ShotsOrderingComponent =
| { | {
marginOfError: FloatShotOrdering; marginOfError: FloatOrdering;
runLength?: never; runLength?: never;
startFrame?: never; startFrame?: never;
videoCreation?: never; videoCreation?: never;
@ -2420,7 +2477,7 @@ export type ShotsOrderingComponent =
} }
| { | {
marginOfError?: never; marginOfError?: never;
runLength: IntShotOrdering; runLength: IntOrdering;
startFrame?: never; startFrame?: never;
videoCreation?: never; videoCreation?: never;
videoId?: never; videoId?: never;
@ -2428,7 +2485,7 @@ export type ShotsOrderingComponent =
| { | {
marginOfError?: never; marginOfError?: never;
runLength?: never; runLength?: never;
startFrame: IntShotOrdering; startFrame: IntOrdering;
videoCreation?: never; videoCreation?: never;
videoId?: never; videoId?: never;
} }
@ -2436,7 +2493,7 @@ export type ShotsOrderingComponent =
marginOfError?: never; marginOfError?: never;
runLength?: never; runLength?: never;
startFrame?: never; startFrame?: never;
videoCreation: DatetimeShotOrdering; videoCreation: DatetimeOrdering;
videoId?: never; videoId?: never;
} }
| { | {
@ -2444,7 +2501,7 @@ export type ShotsOrderingComponent =
runLength?: never; runLength?: never;
startFrame?: never; startFrame?: never;
videoCreation?: never; videoCreation?: never;
videoId: IntShotOrdering; videoId: IntOrdering;
}; };
export type SpinTypeCountsGql = { export type SpinTypeCountsGql = {
@ -2554,6 +2611,7 @@ export type UploadSegmentGql = {
export type UploadStreamGql = { export type UploadStreamGql = {
__typename?: "UploadStreamGQL"; __typename?: "UploadStreamGQL";
clientUploadStatus?: Maybe<ClientUploadStatusEnum>;
createdAt: Scalars["DateTime"]["output"]; createdAt: Scalars["DateTime"]["output"];
errors: Array<StreamErrorGql>; errors: Array<StreamErrorGql>;
id: Scalars["ID"]["output"]; id: Scalars["ID"]["output"];
@ -2607,6 +2665,8 @@ export type UserRelationshipsResult = {
}; };
export type VideoFilterInput = { export type VideoFilterInput = {
createdAt?: InputMaybe<DateRangeFilter>;
excludeVideosWithNoShots?: InputMaybe<Scalars["Boolean"]["input"]>;
isStreamCompleted?: InputMaybe<Scalars["Boolean"]["input"]>; isStreamCompleted?: InputMaybe<Scalars["Boolean"]["input"]>;
requireCursorCompletion?: Scalars["Boolean"]["input"]; requireCursorCompletion?: Scalars["Boolean"]["input"];
}; };
@ -2646,6 +2706,7 @@ export type VideoHistoryGql = {
}; };
export type VideoMetadataInput = { export type VideoMetadataInput = {
clientUploadStatus?: InputMaybe<ClientUploadStatusEnum>;
endStream?: Scalars["Boolean"]["input"]; endStream?: Scalars["Boolean"]["input"];
endTime?: InputMaybe<Scalars["DateTime"]["input"]>; endTime?: InputMaybe<Scalars["DateTime"]["input"]>;
framesPerSecond?: InputMaybe<Scalars["Float"]["input"]>; framesPerSecond?: InputMaybe<Scalars["Float"]["input"]>;
@ -2776,9 +2837,15 @@ export type GetFeedQuery = {
updatedAt?: any | null; updatedAt?: any | null;
startTime?: any | null; startTime?: any | null;
endTime?: any | null; endTime?: any | null;
private: boolean;
elapsedTime?: number | null; elapsedTime?: number | null;
tableSize: number; tableSize: number;
owner?: { __typename?: "UserGQL"; username: string } | null; owner?: {
__typename?: "UserGQL";
id: number;
username: string;
profileImageUri?: string | null;
} | null;
stream?: { stream?: {
__typename?: "UploadStreamGQL"; __typename?: "UploadStreamGQL";
id: string; id: string;
@ -2789,6 +2856,19 @@ export type GetFeedQuery = {
name: string; name: string;
tagClasses: Array<{ __typename?: "VideoTagClass"; name: string }>; tagClasses: Array<{ __typename?: "VideoTagClass"; name: string }>;
}>; }>;
currentProcessing?: {
__typename?: "VideoProcessingGQL";
id: number;
status: ProcessingStatusEnum;
errors: Array<{
__typename?: "VideoProcessingErrorGQL";
message: string;
}>;
statuses: Array<{
__typename?: "VideoProcessingStatusGQL";
status: ProcessingStatusEnum;
}>;
} | null;
}>; }>;
pageInfo: { pageInfo: {
__typename?: "PageInfoGQL"; __typename?: "PageInfoGQL";
@ -2810,6 +2890,7 @@ export type VideoCardFieldsFragment = {
updatedAt?: any | null; updatedAt?: any | null;
startTime?: any | null; startTime?: any | null;
endTime?: any | null; endTime?: any | null;
private: boolean;
elapsedTime?: number | null; elapsedTime?: number | null;
tableSize: number; tableSize: number;
owner?: { owner?: {
@ -2844,6 +2925,7 @@ export type GetVideoFeedQueryVariables = Exact<{
limit?: Scalars["Int"]["input"]; limit?: Scalars["Int"]["input"];
after?: InputMaybe<Scalars["String"]["input"]>; after?: InputMaybe<Scalars["String"]["input"]>;
filters?: InputMaybe<VideoFilterInput>; filters?: InputMaybe<VideoFilterInput>;
includeCallersVideos?: InputMaybe<Scalars["Boolean"]["input"]>;
}>; }>;
export type GetVideoFeedQuery = { export type GetVideoFeedQuery = {
@ -2862,6 +2944,7 @@ export type GetVideoFeedQuery = {
updatedAt?: any | null; updatedAt?: any | null;
startTime?: any | null; startTime?: any | null;
endTime?: any | null; endTime?: any | null;
private: boolean;
elapsedTime?: number | null; elapsedTime?: number | null;
tableSize: number; tableSize: number;
owner?: { owner?: {
@ -2916,6 +2999,114 @@ export type GetVideoMakePercentageIntervalsQuery = {
}>; }>;
}; };
export type MedalFieldsFragment = {
__typename?: "MedalGQL";
count: number;
nickname?: string | null;
};
export type GetMedalsQueryVariables = Exact<{
scope: MedalScope;
userId?: InputMaybe<Scalars["Int"]["input"]>;
}>;
export type GetMedalsQuery = {
__typename?: "Query";
getMedals: {
__typename?: "RequestedMedalsGQL";
distanceOver66?: {
__typename?: "MedalGQL";
count: number;
nickname?: string | null;
} | null;
distanceOver78?: {
__typename?: "MedalGQL";
count: number;
nickname?: string | null;
} | null;
distanceOver90?: {
__typename?: "MedalGQL";
count: number;
nickname?: string | null;
} | null;
runLength3?: {
__typename?: "MedalGQL";
count: number;
nickname?: string | null;
} | null;
runLength5?: {
__typename?: "MedalGQL";
count: number;
nickname?: string | null;
} | null;
runLength8?: {
__typename?: "MedalGQL";
count: number;
nickname?: string | null;
} | null;
runLength10?: {
__typename?: "MedalGQL";
count: number;
nickname?: string | null;
} | null;
runLength15?: {
__typename?: "MedalGQL";
count: number;
nickname?: string | null;
} | null;
runLength20?: {
__typename?: "MedalGQL";
count: number;
nickname?: string | null;
} | null;
runLength25?: {
__typename?: "MedalGQL";
count: number;
nickname?: string | null;
} | null;
runLength30?: {
__typename?: "MedalGQL";
count: number;
nickname?: string | null;
} | null;
runLength40?: {
__typename?: "MedalGQL";
count: number;
nickname?: string | null;
} | null;
runLength50?: {
__typename?: "MedalGQL";
count: number;
nickname?: string | null;
} | null;
totalMakes100?: {
__typename?: "MedalGQL";
count: number;
nickname?: string | null;
} | null;
dailyMakes50?: {
__typename?: "MedalGQL";
count: number;
nickname?: string | null;
} | null;
dailyMakes100?: {
__typename?: "MedalGQL";
count: number;
nickname?: string | null;
} | null;
dailyMakes150?: {
__typename?: "MedalGQL";
count: number;
nickname?: string | null;
} | null;
dailyMakes200?: {
__typename?: "MedalGQL";
count: number;
nickname?: string | null;
} | null;
};
};
export type GetSerializedShotPathsQueryVariables = Exact<{ export type GetSerializedShotPathsQueryVariables = Exact<{
filterInput: FilterInput; filterInput: FilterInput;
}>; }>;
@ -3006,12 +3197,14 @@ export type GetShotsWithJustIdsQueryVariables = Exact<{
filterInput: FilterInput; filterInput: FilterInput;
shotsOrdering?: InputMaybe<GetShotsOrdering>; shotsOrdering?: InputMaybe<GetShotsOrdering>;
limit?: InputMaybe<Scalars["Int"]["input"]>; limit?: InputMaybe<Scalars["Int"]["input"]>;
countRespectsLimit?: InputMaybe<Scalars["Boolean"]["input"]>;
}>; }>;
export type GetShotsWithJustIdsQuery = { export type GetShotsWithJustIdsQuery = {
__typename?: "Query"; __typename?: "Query";
getOrderedShots: { getOrderedShots: {
__typename?: "GetShotsResult"; __typename?: "GetShotsResult";
count?: number | null;
shots: Array<{ __typename?: "ShotGQL"; id: number; videoId: number }>; shots: Array<{ __typename?: "ShotGQL"; id: number; videoId: number }>;
}; };
}; };
@ -3058,6 +3251,7 @@ export type GetShotsWithMetadataFilterResultQuery = {
targetPocketAngleDirection?: ShotDirectionEnum | null; targetPocketAngleDirection?: ShotDirectionEnum | null;
marginOfErrorInDegrees?: number | null; marginOfErrorInDegrees?: number | null;
intendedPocketType?: PocketEnum | null; intendedPocketType?: PocketEnum | null;
difficulty?: number | null;
} | null; } | null;
pocketingIntentionInfo?: { pocketingIntentionInfo?: {
__typename?: "PocketingIntentionInfoGQL"; __typename?: "PocketingIntentionInfoGQL";
@ -3124,6 +3318,7 @@ export type GetShotsWithMetadataQuery = {
targetPocketAngleDirection?: ShotDirectionEnum | null; targetPocketAngleDirection?: ShotDirectionEnum | null;
marginOfErrorInDegrees?: number | null; marginOfErrorInDegrees?: number | null;
intendedPocketType?: PocketEnum | null; intendedPocketType?: PocketEnum | null;
difficulty?: number | null;
} | null; } | null;
pocketingIntentionInfo?: { pocketingIntentionInfo?: {
__typename?: "PocketingIntentionInfoGQL"; __typename?: "PocketingIntentionInfoGQL";
@ -3183,6 +3378,7 @@ export type GetShotsByIdsQuery = {
targetPocketAngleDirection?: ShotDirectionEnum | null; targetPocketAngleDirection?: ShotDirectionEnum | null;
marginOfErrorInDegrees?: number | null; marginOfErrorInDegrees?: number | null;
intendedPocketType?: PocketEnum | null; intendedPocketType?: PocketEnum | null;
difficulty?: number | null;
} | null; } | null;
pocketingIntentionInfo?: { pocketingIntentionInfo?: {
__typename?: "PocketingIntentionInfoGQL"; __typename?: "PocketingIntentionInfoGQL";
@ -3231,6 +3427,7 @@ export type ShotWithAllFeaturesFragment = {
targetPocketAngleDirection?: ShotDirectionEnum | null; targetPocketAngleDirection?: ShotDirectionEnum | null;
marginOfErrorInDegrees?: number | null; marginOfErrorInDegrees?: number | null;
intendedPocketType?: PocketEnum | null; intendedPocketType?: PocketEnum | null;
difficulty?: number | null;
} | null; } | null;
pocketingIntentionInfo?: { pocketingIntentionInfo?: {
__typename?: "PocketingIntentionInfoGQL"; __typename?: "PocketingIntentionInfoGQL";
@ -3310,11 +3507,13 @@ export type GetLoggedInUserQuery = {
activeVideoId?: number | null; activeVideoId?: number | null;
createdAt?: any | null; createdAt?: any | null;
updatedAt?: any | null; updatedAt?: any | null;
videosPrivateByDefault?: boolean | null;
} | null; } | null;
}; };
export type GetUserPlayTimeQueryVariables = Exact<{ export type GetUserPlayTimeQueryVariables = Exact<{
userId: Scalars["Int"]["input"]; userId: Scalars["Int"]["input"];
filters?: InputMaybe<VideoFilterInput>;
}>; }>;
export type GetUserPlayTimeQuery = { export type GetUserPlayTimeQuery = {
@ -3437,6 +3636,25 @@ export type DoesUsernameExistQuery = {
doesUsernameExist: boolean; doesUsernameExist: boolean;
}; };
export type EditUserMutationVariables = Exact<{
username?: InputMaybe<Scalars["String"]["input"]>;
fargoRating?: InputMaybe<Scalars["Int"]["input"]>;
videosPrivateByDefault?: InputMaybe<Scalars["Boolean"]["input"]>;
}>;
export type EditUserMutation = {
__typename?: "Mutation";
editUser: {
__typename?: "UserGQL";
id: number;
firebaseUid?: string | null;
username: string;
fargoRating?: number | null;
updatedAt?: any | null;
videosPrivateByDefault?: boolean | null;
};
};
export type GetStreamMonitoringDetailsQueryVariables = Exact<{ export type GetStreamMonitoringDetailsQueryVariables = Exact<{
videoId: Scalars["Int"]["input"]; videoId: Scalars["Int"]["input"];
debuggingJson?: InputMaybe<Scalars["JSON"]["input"]>; debuggingJson?: InputMaybe<Scalars["JSON"]["input"]>;
@ -3490,6 +3708,7 @@ export type GetStreamMonitoringDetailsQuery = {
} | null; } | null;
currentProcessing?: { currentProcessing?: {
__typename?: "VideoProcessingGQL"; __typename?: "VideoProcessingGQL";
id: number;
errors: Array<{ errors: Array<{
__typename?: "VideoProcessingErrorGQL"; __typename?: "VideoProcessingErrorGQL";
message: string; message: string;
@ -4120,6 +4339,7 @@ export const VideoCardFieldsFragmentDoc = gql`
updatedAt updatedAt
startTime startTime
endTime endTime
private
elapsedTime elapsedTime
screenshotUri screenshotUri
stream { stream {
@ -4145,6 +4365,12 @@ export const VideoCardFieldsFragmentDoc = gql`
} }
} }
`; `;
export const MedalFieldsFragmentDoc = gql`
fragment MedalFields on MedalGQL {
count
nickname
}
`;
export const ShotWithAllFeaturesFragmentDoc = gql` export const ShotWithAllFeaturesFragmentDoc = gql`
fragment ShotWithAllFeatures on ShotGQL { fragment ShotWithAllFeatures on ShotGQL {
id id
@ -4173,6 +4399,7 @@ export const ShotWithAllFeaturesFragmentDoc = gql`
targetPocketAngleDirection targetPocketAngleDirection
marginOfErrorInDegrees marginOfErrorInDegrees
intendedPocketType intendedPocketType
difficulty
} }
pocketingIntentionInfo { pocketingIntentionInfo {
ballId ballId
@ -4470,32 +4697,7 @@ export const GetFeedDocument = gql`
) { ) {
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
@ -4503,6 +4705,7 @@ export const GetFeedDocument = gql`
} }
} }
} }
${VideoCardFieldsFragmentDoc}
`; `;
/** /**
@ -4570,8 +4773,14 @@ export const GetVideoFeedDocument = gql`
$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
} }
@ -4599,6 +4808,7 @@ export const GetVideoFeedDocument = gql`
* limit: // value for 'limit' * limit: // value for 'limit'
* after: // value for 'after' * after: // value for 'after'
* filters: // value for 'filters' * filters: // value for 'filters'
* includeCallersVideos: // value for 'includeCallersVideos'
* }, * },
* }); * });
*/ */
@ -4732,6 +4942,129 @@ export type GetVideoMakePercentageIntervalsQueryResult = Apollo.QueryResult<
GetVideoMakePercentageIntervalsQuery, GetVideoMakePercentageIntervalsQuery,
GetVideoMakePercentageIntervalsQueryVariables GetVideoMakePercentageIntervalsQueryVariables
>; >;
export const GetMedalsDocument = gql`
query getMedals($scope: MedalScope!, $userId: Int) {
getMedals(scope: $scope, userId: $userId) {
distanceOver66 {
...MedalFields
}
distanceOver78 {
...MedalFields
}
distanceOver90 {
...MedalFields
}
runLength3 {
...MedalFields
}
runLength5 {
...MedalFields
}
runLength8 {
...MedalFields
}
runLength10 {
...MedalFields
}
runLength15 {
...MedalFields
}
runLength20 {
...MedalFields
}
runLength25 {
...MedalFields
}
runLength30 {
...MedalFields
}
runLength40 {
...MedalFields
}
runLength50 {
...MedalFields
}
totalMakes100 {
...MedalFields
}
dailyMakes50 {
...MedalFields
}
dailyMakes100 {
...MedalFields
}
dailyMakes150 {
...MedalFields
}
dailyMakes200 {
...MedalFields
}
}
}
${MedalFieldsFragmentDoc}
`;
/**
* __useGetMedalsQuery__
*
* To run a query within a React component, call `useGetMedalsQuery` and pass it any options that fit your needs.
* When your component renders, `useGetMedalsQuery` returns an object from Apollo Client that contains loading, error, and data properties
* you can use to render your UI.
*
* @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
*
* @example
* const { data, loading, error } = useGetMedalsQuery({
* variables: {
* scope: // value for 'scope'
* userId: // value for 'userId'
* },
* });
*/
export function useGetMedalsQuery(
baseOptions: Apollo.QueryHookOptions<GetMedalsQuery, GetMedalsQueryVariables>,
) {
const options = { ...defaultOptions, ...baseOptions };
return Apollo.useQuery<GetMedalsQuery, GetMedalsQueryVariables>(
GetMedalsDocument,
options,
);
}
export function useGetMedalsLazyQuery(
baseOptions?: Apollo.LazyQueryHookOptions<
GetMedalsQuery,
GetMedalsQueryVariables
>,
) {
const options = { ...defaultOptions, ...baseOptions };
return Apollo.useLazyQuery<GetMedalsQuery, GetMedalsQueryVariables>(
GetMedalsDocument,
options,
);
}
export function useGetMedalsSuspenseQuery(
baseOptions?: Apollo.SuspenseQueryHookOptions<
GetMedalsQuery,
GetMedalsQueryVariables
>,
) {
const options = { ...defaultOptions, ...baseOptions };
return Apollo.useSuspenseQuery<GetMedalsQuery, GetMedalsQueryVariables>(
GetMedalsDocument,
options,
);
}
export type GetMedalsQueryHookResult = ReturnType<typeof useGetMedalsQuery>;
export type GetMedalsLazyQueryHookResult = ReturnType<
typeof useGetMedalsLazyQuery
>;
export type GetMedalsSuspenseQueryHookResult = ReturnType<
typeof useGetMedalsSuspenseQuery
>;
export type GetMedalsQueryResult = Apollo.QueryResult<
GetMedalsQuery,
GetMedalsQueryVariables
>;
export const GetSerializedShotPathsDocument = gql` export const GetSerializedShotPathsDocument = gql`
query GetSerializedShotPaths($filterInput: FilterInput!) { query GetSerializedShotPaths($filterInput: FilterInput!) {
getShots(filterInput: $filterInput) { getShots(filterInput: $filterInput) {
@ -5047,12 +5380,15 @@ export const GetShotsWithJustIdsDocument = gql`
$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
@ -5076,6 +5412,7 @@ export const GetShotsWithJustIdsDocument = gql`
* filterInput: // value for 'filterInput' * filterInput: // value for 'filterInput'
* shotsOrdering: // value for 'shotsOrdering' * shotsOrdering: // value for 'shotsOrdering'
* limit: // value for 'limit' * limit: // value for 'limit'
* countRespectsLimit: // value for 'countRespectsLimit'
* }, * },
* }); * });
*/ */
@ -5519,6 +5856,7 @@ export const GetLoggedInUserDocument = gql`
activeVideoId activeVideoId
createdAt createdAt
updatedAt updatedAt
videosPrivateByDefault
} }
} }
`; `;
@ -5588,8 +5926,8 @@ export type GetLoggedInUserQueryResult = Apollo.QueryResult<
GetLoggedInUserQueryVariables GetLoggedInUserQueryVariables
>; >;
export const GetUserPlayTimeDocument = gql` export const GetUserPlayTimeDocument = gql`
query GetUserPlayTime($userId: Int!) { query GetUserPlayTime($userId: Int!, $filters: VideoFilterInput) {
getPlayTime(userId: $userId) { getPlayTime(userId: $userId, filters: $filters) {
totalSeconds totalSeconds
} }
} }
@ -5608,6 +5946,7 @@ export const GetUserPlayTimeDocument = gql`
* const { data, loading, error } = useGetUserPlayTimeQuery({ * const { data, loading, error } = useGetUserPlayTimeQuery({
* variables: { * variables: {
* userId: // value for 'userId' * userId: // value for 'userId'
* filters: // value for 'filters'
* }, * },
* }); * });
*/ */
@ -6170,6 +6509,70 @@ export type DoesUsernameExistQueryResult = Apollo.QueryResult<
DoesUsernameExistQuery, DoesUsernameExistQuery,
DoesUsernameExistQueryVariables DoesUsernameExistQueryVariables
>; >;
export const EditUserDocument = gql`
mutation editUser(
$username: String
$fargoRating: Int
$videosPrivateByDefault: Boolean
) {
editUser(
input: {
username: $username
fargoRating: $fargoRating
videosPrivateByDefault: $videosPrivateByDefault
}
) {
id
firebaseUid
username
fargoRating
updatedAt
videosPrivateByDefault
}
}
`;
export type EditUserMutationFn = Apollo.MutationFunction<
EditUserMutation,
EditUserMutationVariables
>;
/**
* __useEditUserMutation__
*
* To run a mutation, you first call `useEditUserMutation` within a React component and pass it any options that fit your needs.
* When your component renders, `useEditUserMutation` returns a tuple that includes:
* - A mutate function that you can call at any time to execute the mutation
* - An object with fields that represent the current status of the mutation's execution
*
* @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;
*
* @example
* const [editUserMutation, { data, loading, error }] = useEditUserMutation({
* variables: {
* username: // value for 'username'
* fargoRating: // value for 'fargoRating'
* videosPrivateByDefault: // value for 'videosPrivateByDefault'
* },
* });
*/
export function useEditUserMutation(
baseOptions?: Apollo.MutationHookOptions<
EditUserMutation,
EditUserMutationVariables
>,
) {
const options = { ...defaultOptions, ...baseOptions };
return Apollo.useMutation<EditUserMutation, EditUserMutationVariables>(
EditUserDocument,
options,
);
}
export type EditUserMutationHookResult = ReturnType<typeof useEditUserMutation>;
export type EditUserMutationResult = Apollo.MutationResult<EditUserMutation>;
export type EditUserMutationOptions = Apollo.BaseMutationOptions<
EditUserMutation,
EditUserMutationVariables
>;
export const GetStreamMonitoringDetailsDocument = gql` export const GetStreamMonitoringDetailsDocument = gql`
query GetStreamMonitoringDetails($videoId: Int!, $debuggingJson: JSON) { query GetStreamMonitoringDetails($videoId: Int!, $debuggingJson: JSON) {
getVideo(videoId: $videoId, debuggingJson: $debuggingJson) { getVideo(videoId: $videoId, debuggingJson: $debuggingJson) {
@ -6191,6 +6594,7 @@ export const GetStreamMonitoringDetailsDocument = gql`
initPlaylistUploadStatus initPlaylistUploadStatus
} }
currentProcessing { currentProcessing {
id
errors { errors {
message message
startSegmentIndex startSegmentIndex

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 {
@ -85,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
} }

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

@ -0,0 +1,80 @@
fragment MedalFields on MedalGQL {
count
nickname
}
query getMedals($scope: MedalScope!, $userId: Int) {
getMedals(scope: $scope, userId: $userId) {
distanceOver66 {
...MedalFields
}
distanceOver78 {
...MedalFields
}
distanceOver90 {
...MedalFields
}
runLength3 {
...MedalFields
}
runLength5 {
...MedalFields
}
runLength8 {
...MedalFields
}
runLength10 {
...MedalFields
}
runLength15 {
...MedalFields
}
runLength20 {
...MedalFields
}
runLength25 {
...MedalFields
}
runLength30 {
...MedalFields
}
runLength40 {
...MedalFields
}
runLength50 {
...MedalFields
}
totalMakes100 {
...MedalFields
}
# missing assets
# totalMakes500 {
# ...MedalFields
# }
# totalMakes1000 {
# ...MedalFields
# }
# totalMakes5000 {
# ...MedalFields
# }
# totalMakes10000 {
# ...MedalFields
# }
dailyMakes50 {
...MedalFields
}
dailyMakes100 {
...MedalFields
}
dailyMakes150 {
...MedalFields
}
dailyMakes200 {
...MedalFields
}
# missing asset
# dailyMakes250 {
# ...MedalFields
# }
}
}

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
@ -156,6 +159,7 @@ fragment ShotWithAllFeatures on ShotGQL {
targetPocketAngleDirection targetPocketAngleDirection
marginOfErrorInDegrees marginOfErrorInDegrees
intendedPocketType intendedPocketType
difficulty
} }
pocketingIntentionInfo { pocketingIntentionInfo {
ballId ballId

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

@ -18,6 +18,7 @@ query GetStreamMonitoringDetails($videoId: Int!, $debuggingJson: JSON) {
initPlaylistUploadStatus initPlaylistUploadStatus
} }
currentProcessing { currentProcessing {
id
errors { errors {
message message
startSegmentIndex startSegmentIndex
@ -221,6 +222,7 @@ mutation FindPrerecordTableLayout($b64Image: String!, $videoId: Int!) {
} }
fragment HomographyInfo on HomographyInfoGQL { fragment HomographyInfo on HomographyInfoGQL {
id
frameIndex frameIndex
crop { crop {
left left

View File

@ -10,6 +10,13 @@ type Query {
intervalDuration: Int! = 300 intervalDuration: Int! = 300
): [MakePercentageIntervalGQL!]! ): [MakePercentageIntervalGQL!]!
getMedals(scope: MedalScope!, userId: Int = null): RequestedMedalsGQL! getMedals(scope: MedalScope!, userId: Int = null): RequestedMedalsGQL!
getRuns(
filterInput: RunFilterInput!
runIds: [Int!] = null
runsOrdering: GetRunsOrdering = null
limit: Int! = 500
countRespectsLimit: Boolean! = false
): GetRunsResult!
getOrderedShots( getOrderedShots(
filterInput: FilterInput! filterInput: FilterInput!
ids: [Int!] = null ids: [Int!] = null
@ -46,7 +53,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 +66,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!
} }
@ -285,31 +293,28 @@ type RequestedMedalsGQL {
runLength30: MedalGQL runLength30: MedalGQL
runLength40: MedalGQL runLength40: MedalGQL
runLength50: MedalGQL runLength50: MedalGQL
totalMakes25: MedalGQL totalMakes25: MedalGQL @deprecated(reason: "no longer supported")
totalMakes50: MedalGQL totalMakes50: MedalGQL @deprecated(reason: "no longer supported")
totalMakes75: MedalGQL totalMakes75: MedalGQL @deprecated(reason: "no longer supported")
totalMakes200: MedalGQL @deprecated(reason: "no longer supported")
totalMakes300: MedalGQL @deprecated(reason: "no longer supported")
totalMakes400: MedalGQL @deprecated(reason: "no longer supported")
totalMakes750: MedalGQL @deprecated(reason: "no longer supported")
totalMakes100: MedalGQL totalMakes100: MedalGQL
totalMakes200: MedalGQL
totalMakes300: MedalGQL
totalMakes400: MedalGQL
totalMakes500: MedalGQL totalMakes500: MedalGQL
totalMakes750: MedalGQL
totalMakes1000: MedalGQL totalMakes1000: MedalGQL
dayStreak2: MedalGQL totalMakes5000: MedalGQL
dayStreak3: MedalGQL totalMakes10000: MedalGQL
dayStreak4: MedalGQL dailyMakes50: MedalGQL
dayStreak5: MedalGQL dailyMakes100: MedalGQL
dayStreak6: MedalGQL dailyMakes150: MedalGQL
dayStreak7: MedalGQL dailyMakes200: MedalGQL
dayStreak14: MedalGQL dailyMakes250: 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 {
@ -317,10 +322,18 @@ input MedalScope @oneOf {
interval: TimeInterval interval: TimeInterval
} }
type GetShotsResult { type GetRunsResult {
shots: [ShotGQL!]! runs: [RunGQL!]!
count: Int count: Int
ids: [Int!]! runIds: [Int!]!
}
type RunGQL {
id: Int!
runLength: Int!
videoId: Int!
userId: Int!
shots: [ShotGQL!]!
} }
type ShotGQL { type ShotGQL {
@ -461,6 +474,7 @@ type UploadStreamGQL {
createdAt: DateTime! createdAt: DateTime!
updatedAt: DateTime! updatedAt: DateTime!
segments: [UploadSegmentGQL!]! segments: [UploadSegmentGQL!]!
clientUploadStatus: ClientUploadStatusEnum
resolution: VideoResolutionGQL! resolution: VideoResolutionGQL!
streamSegmentType: StreamSegmentTypeEnum! streamSegmentType: StreamSegmentTypeEnum!
} }
@ -485,6 +499,11 @@ type UploadSegmentGQL {
linksRequested: Int! linksRequested: Int!
} }
enum ClientUploadStatusEnum {
UPLOAD_ENABLED
UPLOAD_DISABLED
}
type VideoResolutionGQL { type VideoResolutionGQL {
width: Int width: Int
height: Int height: Int
@ -572,33 +591,61 @@ type VideoProcessingStatusGQL {
updatedAt: DateTime updatedAt: DateTime
} }
input RunFilterInput {
videoId: [Int!]
userId: [Int!]
username: [String!]
andFilters: [RunFilterInput!]
orFilters: [RunFilterInput!]
notFilter: RunFilterInput
tableSize: FloatRangeFilter
createdAt: DateRangeFilter
runLength: FloatRangeFilter
}
input GetRunsOrdering {
orderings: [RunsOrderingComponent!]!
}
input RunsOrderingComponent @oneOf {
runLength: IntOrdering
videoId: IntOrdering
videoCreation: DatetimeOrdering
}
input IntOrdering {
descending: Boolean! = true
startingAt: Int = null
}
input DatetimeOrdering {
descending: Boolean! = true
startingAt: DateTime = null
}
type GetShotsResult {
shots: [ShotGQL!]!
count: Int
ids: [Int!]!
}
input GetShotsOrdering { input GetShotsOrdering {
orderings: [ShotsOrderingComponent!]! orderings: [ShotsOrderingComponent!]!
} }
input ShotsOrderingComponent @oneOf { input ShotsOrderingComponent @oneOf {
videoCreation: DatetimeShotOrdering videoCreation: DatetimeOrdering
marginOfError: FloatShotOrdering marginOfError: FloatOrdering
videoId: IntShotOrdering videoId: IntOrdering
startFrame: IntShotOrdering startFrame: IntOrdering
runLength: IntShotOrdering runLength: IntOrdering
} }
input DatetimeShotOrdering { input FloatOrdering {
descending: Boolean! = true
startingAt: DateTime = null
}
input FloatShotOrdering {
descending: Boolean! = true descending: Boolean! = true
startingAt: Float = null startingAt: Float = null
} }
input IntShotOrdering {
descending: Boolean! = true
startingAt: Int = null
}
input GetShotsPagination { input GetShotsPagination {
createdAfter: CreatedAfter! createdAfter: CreatedAfter!
startFrameAfter: Int! startFrameAfter: Int!
@ -624,6 +671,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!
@ -634,11 +688,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!
@ -778,6 +827,7 @@ input VideoMetadataInput {
streamSegmentType: StreamSegmentTypeEnum = null streamSegmentType: StreamSegmentTypeEnum = null
private: Boolean = null private: Boolean = null
endStream: Boolean! = false endStream: Boolean! = false
clientUploadStatus: ClientUploadStatusEnum = null
resolution: VideoResolution = null resolution: VideoResolution = null
framesPerSecond: Float = null framesPerSecond: Float = null
} }