Compare commits

..

18 Commits

Author SHA1 Message Date
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
6 changed files with 178 additions and 71 deletions

View File

@@ -2210,6 +2210,7 @@ export type QueryGetBucketSetArgs = {
export type QueryGetFeedVideosArgs = {
after?: InputMaybe<Scalars["String"]["input"]>;
filters?: InputMaybe<VideoFilterInput>;
includeCallersVideos?: InputMaybe<Scalars["Boolean"]["input"]>;
limit?: Scalars["Int"]["input"];
};
@@ -2227,6 +2228,7 @@ export type QueryGetOrderedShotsArgs = {
};
export type QueryGetPlayTimeArgs = {
filters?: InputMaybe<VideoFilterInput>;
userId: Scalars["Int"]["input"];
};
@@ -2607,6 +2609,8 @@ export type UserRelationshipsResult = {
};
export type VideoFilterInput = {
createdAt?: InputMaybe<DateRangeFilter>;
excludeVideosWithNoShots?: InputMaybe<Scalars["Boolean"]["input"]>;
isStreamCompleted?: InputMaybe<Scalars["Boolean"]["input"]>;
requireCursorCompletion?: Scalars["Boolean"]["input"];
};
@@ -2776,9 +2780,15 @@ export type GetFeedQuery = {
updatedAt?: any | null;
startTime?: any | null;
endTime?: any | null;
private: boolean;
elapsedTime?: number | null;
tableSize: number;
owner?: { __typename?: "UserGQL"; username: string } | null;
owner?: {
__typename?: "UserGQL";
id: number;
username: string;
profileImageUri?: string | null;
} | null;
stream?: {
__typename?: "UploadStreamGQL";
id: string;
@@ -2789,6 +2799,19 @@ export type GetFeedQuery = {
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: {
__typename?: "PageInfoGQL";
@@ -2810,6 +2833,7 @@ export type VideoCardFieldsFragment = {
updatedAt?: any | null;
startTime?: any | null;
endTime?: any | null;
private: boolean;
elapsedTime?: number | null;
tableSize: number;
owner?: {
@@ -2844,6 +2868,7 @@ export type GetVideoFeedQueryVariables = Exact<{
limit?: Scalars["Int"]["input"];
after?: InputMaybe<Scalars["String"]["input"]>;
filters?: InputMaybe<VideoFilterInput>;
includeCallersVideos?: InputMaybe<Scalars["Boolean"]["input"]>;
}>;
export type GetVideoFeedQuery = {
@@ -2862,6 +2887,7 @@ export type GetVideoFeedQuery = {
updatedAt?: any | null;
startTime?: any | null;
endTime?: any | null;
private: boolean;
elapsedTime?: number | null;
tableSize: number;
owner?: {
@@ -3006,12 +3032,14 @@ export type GetShotsWithJustIdsQueryVariables = Exact<{
filterInput: FilterInput;
shotsOrdering?: InputMaybe<GetShotsOrdering>;
limit?: InputMaybe<Scalars["Int"]["input"]>;
countRespectsLimit?: InputMaybe<Scalars["Boolean"]["input"]>;
}>;
export type GetShotsWithJustIdsQuery = {
__typename?: "Query";
getOrderedShots: {
__typename?: "GetShotsResult";
count?: number | null;
shots: Array<{ __typename?: "ShotGQL"; id: number; videoId: number }>;
};
};
@@ -3310,11 +3338,13 @@ export type GetLoggedInUserQuery = {
activeVideoId?: number | null;
createdAt?: any | null;
updatedAt?: any | null;
videosPrivateByDefault?: boolean | null;
} | null;
};
export type GetUserPlayTimeQueryVariables = Exact<{
userId: Scalars["Int"]["input"];
filters?: InputMaybe<VideoFilterInput>;
}>;
export type GetUserPlayTimeQuery = {
@@ -3437,6 +3467,25 @@ export type DoesUsernameExistQuery = {
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<{
videoId: Scalars["Int"]["input"];
debuggingJson?: InputMaybe<Scalars["JSON"]["input"]>;
@@ -3452,7 +3501,6 @@ export type GetStreamMonitoringDetailsQuery = {
elapsedTime?: number | null;
currentHomography?: {
__typename?: "HomographyInfoGQL";
id: number;
frameIndex: number;
crop: {
__typename?: "BoundingBoxGQL";
@@ -3667,7 +3715,6 @@ export type GetVideoQuery = {
} | null;
homographyHistory: Array<{
__typename?: "HomographyInfoGQL";
id: number;
frameIndex: number;
crop: {
__typename?: "BoundingBoxGQL";
@@ -3878,7 +3925,6 @@ export type FindPrerecordTableLayoutMutation = {
__typename?: "Mutation";
findPrerecordTableLayout?: {
__typename?: "HomographyInfoGQL";
id: number;
frameIndex: number;
crop: {
__typename?: "BoundingBoxGQL";
@@ -3908,7 +3954,6 @@ export type FindPrerecordTableLayoutMutation = {
export type HomographyInfoFragment = {
__typename?: "HomographyInfoGQL";
id: number;
frameIndex: number;
crop: {
__typename?: "BoundingBoxGQL";
@@ -4124,6 +4169,7 @@ export const VideoCardFieldsFragmentDoc = gql`
updatedAt
startTime
endTime
private
elapsedTime
screenshotUri
stream {
@@ -4269,7 +4315,6 @@ export const VideoDurationDataFragmentDoc = gql`
`;
export const HomographyInfoFragmentDoc = gql`
fragment HomographyInfo on HomographyInfoGQL {
id
frameIndex
crop {
left
@@ -4475,32 +4520,7 @@ export const GetFeedDocument = gql`
) {
getUserVideos(limit: $limit, after: $after, filters: $filters) {
videos {
id
owner {
username
}
name
screenshotUri
totalShotsMade
totalShots
makePercentage
createdAt
updatedAt
startTime
endTime
elapsedTime
screenshotUri
stream {
id
isCompleted
}
tableSize
tags {
tagClasses {
name
}
name
}
...VideoCardFields
}
pageInfo {
hasNextPage
@@ -4508,6 +4528,7 @@ export const GetFeedDocument = gql`
}
}
}
${VideoCardFieldsFragmentDoc}
`;
/**
@@ -4575,8 +4596,14 @@ export const GetVideoFeedDocument = gql`
$limit: Int! = 5
$after: String = null
$filters: VideoFilterInput = null
$includeCallersVideos: Boolean = null
) {
getFeedVideos(limit: $limit, after: $after, filters: $filters) {
getFeedVideos(
limit: $limit
after: $after
filters: $filters
includeCallersVideos: $includeCallersVideos
) {
videos {
...VideoCardFields
}
@@ -4604,6 +4631,7 @@ export const GetVideoFeedDocument = gql`
* limit: // value for 'limit'
* after: // value for 'after'
* filters: // value for 'filters'
* includeCallersVideos: // value for 'includeCallersVideos'
* },
* });
*/
@@ -5052,12 +5080,15 @@ export const GetShotsWithJustIdsDocument = gql`
$filterInput: FilterInput!
$shotsOrdering: GetShotsOrdering
$limit: Int
$countRespectsLimit: Boolean
) {
getOrderedShots(
filterInput: $filterInput
shotsOrdering: $shotsOrdering
limit: $limit
countRespectsLimit: $countRespectsLimit
) {
count
shots {
id
videoId
@@ -5081,6 +5112,7 @@ export const GetShotsWithJustIdsDocument = gql`
* filterInput: // value for 'filterInput'
* shotsOrdering: // value for 'shotsOrdering'
* limit: // value for 'limit'
* countRespectsLimit: // value for 'countRespectsLimit'
* },
* });
*/
@@ -5524,6 +5556,7 @@ export const GetLoggedInUserDocument = gql`
activeVideoId
createdAt
updatedAt
videosPrivateByDefault
}
}
`;
@@ -5593,8 +5626,8 @@ export type GetLoggedInUserQueryResult = Apollo.QueryResult<
GetLoggedInUserQueryVariables
>;
export const GetUserPlayTimeDocument = gql`
query GetUserPlayTime($userId: Int!) {
getPlayTime(userId: $userId) {
query GetUserPlayTime($userId: Int!, $filters: VideoFilterInput) {
getPlayTime(userId: $userId, filters: $filters) {
totalSeconds
}
}
@@ -5613,6 +5646,7 @@ export const GetUserPlayTimeDocument = gql`
* const { data, loading, error } = useGetUserPlayTimeQuery({
* variables: {
* userId: // value for 'userId'
* filters: // value for 'filters'
* },
* });
*/
@@ -6175,6 +6209,70 @@ export type DoesUsernameExistQueryResult = Apollo.QueryResult<
DoesUsernameExistQuery,
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`
query GetStreamMonitoringDetails($videoId: Int!, $debuggingJson: JSON) {
getVideo(videoId: $videoId, debuggingJson: $debuggingJson) {

View File

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

View File

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

View File

@@ -41,11 +41,12 @@ query getLoggedInUser {
activeVideoId
createdAt
updatedAt
videosPrivateByDefault
}
}
query GetUserPlayTime($userId: Int!) {
getPlayTime(userId: $userId) {
query GetUserPlayTime($userId: Int!, $filters: VideoFilterInput) {
getPlayTime(userId: $userId, filters: $filters) {
totalSeconds
}
}
@@ -135,3 +136,24 @@ query getUserFollowingFollowers {
query doesUsernameExist($candidateUsername: String!) {
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

@@ -221,7 +221,6 @@ mutation FindPrerecordTableLayout($b64Image: String!, $videoId: Int!) {
}
fragment HomographyInfo on HomographyInfoGQL {
id
frameIndex
crop {
left

View File

@@ -46,7 +46,7 @@ type Query {
limit: Int = 100
after: String = null
): UserRelationshipsResult!
getPlayTime(userId: Int!): UserPlayTimeGQL!
getPlayTime(userId: Int!, filters: VideoFilterInput = null): UserPlayTimeGQL!
getUserVideos(
userId: Int = null
limit: Int! = 5
@@ -59,6 +59,7 @@ type Query {
getFeedVideos(
limit: Int! = 5
after: String = null
includeCallersVideos: Boolean = true
filters: VideoFilterInput = null
): VideoHistoryGQL!
}
@@ -624,6 +625,13 @@ type UserPlayTimeGQL {
totalSeconds: Float!
}
input VideoFilterInput {
isStreamCompleted: Boolean = null
requireCursorCompletion: Boolean! = true
createdAt: DateRangeFilter = null
excludeVideosWithNoShots: Boolean = null
}
type VideoHistoryGQL {
videos: [VideoGQL!]!
pageInfo: PageInfoGQL!
@@ -634,11 +642,6 @@ type PageInfoGQL {
endCursor: String
}
input VideoFilterInput {
isStreamCompleted: Boolean = null
requireCursorCompletion: Boolean! = true
}
type TagGQL {
name: String!
id: Int!