Compare commits

..

16 Commits

Author SHA1 Message Date
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
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
0e00ae9297 Merge pull request 'Add private to VideoGQL' (#125) from mk/not-clear into master
Reviewed-on: #125
2024-11-07 18:50:34 -07:00
e16812f242 ???
All checks were successful
Tests / Tests (pull_request) Successful in 16s
2024-11-07 17:49:36 -08:00
3e9b7a0d16 Merge pull request 'Add private field to user and videos' (#124) from mk/privacy into master
Reviewed-on: #124
2024-11-07 18:19:01 -07:00
309deb9473 Add private field to user and videos
All checks were successful
Tests / Tests (pull_request) Successful in 9s
2024-11-07 17:16:56 -08:00
d5ba9c2ba5 Merge pull request 'Remove id from HomographyInfo fragment for now, use string instead of base64 for FindPrerecordTableLayout' (#122) from loewy/switch-back-to-string into master
Reviewed-on: #122
2024-11-07 18:09:51 -07:00
73771a263a remove id for now, use string instead of base64
All checks were successful
Tests / Tests (pull_request) Successful in 16s
2024-11-07 17:08:35 -08:00
655e59c43c Remove base64 scalar 2024-11-07 17:43:09 -07:00
6 changed files with 145 additions and 27 deletions

View File

@@ -28,8 +28,6 @@ export type Scalars = {
Boolean: { input: boolean; output: boolean };
Int: { input: number; output: number };
Float: { input: number; output: number };
/** Represents binary data as Base64-encoded strings, using the standard alphabet. */
Base64: { input: any; output: any };
/** Date (isoformat) */
Date: { input: any; output: any };
/** Date with time (isoformat) */
@@ -186,6 +184,7 @@ export type DoesNotOwnShotErrOtherErrorNeedsNote =
export type EditUserInputGql = {
fargoRating?: InputMaybe<Scalars["Int"]["input"]>;
username?: InputMaybe<Scalars["String"]["input"]>;
videosPrivateByDefault?: InputMaybe<Scalars["Boolean"]["input"]>;
};
export type EnumAggregation = {
@@ -2054,7 +2053,7 @@ export type MutationEditUserArgs = {
};
export type MutationFindPrerecordTableLayoutArgs = {
b64Image: Scalars["Base64"]["input"];
b64Image: Scalars["String"]["input"];
videoId: Scalars["Int"]["input"];
};
@@ -2228,6 +2227,7 @@ export type QueryGetOrderedShotsArgs = {
};
export type QueryGetPlayTimeArgs = {
filters?: InputMaybe<VideoFilterInput>;
userId: Scalars["Int"]["input"];
};
@@ -2586,6 +2586,7 @@ export type UserGql = {
profileImageUri?: Maybe<Scalars["String"]["output"]>;
updatedAt?: Maybe<Scalars["DateTime"]["output"]>;
username: Scalars["String"]["output"];
videosPrivateByDefault?: Maybe<Scalars["Boolean"]["output"]>;
};
export type UserPlayTimeGql = {
@@ -2607,6 +2608,7 @@ export type UserRelationshipsResult = {
};
export type VideoFilterInput = {
createdAt?: InputMaybe<DateRangeFilter>;
isStreamCompleted?: InputMaybe<Scalars["Boolean"]["input"]>;
requireCursorCompletion?: Scalars["Boolean"]["input"];
};
@@ -2627,6 +2629,7 @@ export type VideoGql = {
name?: Maybe<Scalars["String"]["output"]>;
owner?: Maybe<UserGql>;
playlist?: Maybe<HlsPlaylistGql>;
private: Scalars["Boolean"]["output"];
screenshotUri?: Maybe<Scalars["String"]["output"]>;
shots: Array<ShotGql>;
startTime?: Maybe<Scalars["DateTime"]["output"]>;
@@ -2650,6 +2653,7 @@ export type VideoMetadataInput = {
framesPerSecond?: InputMaybe<Scalars["Float"]["input"]>;
gameType?: InputMaybe<Scalars["String"]["input"]>;
lastIntendedSegmentBound?: InputMaybe<Scalars["Int"]["input"]>;
private?: InputMaybe<Scalars["Boolean"]["input"]>;
resolution?: InputMaybe<VideoResolution>;
startTime?: InputMaybe<Scalars["DateTime"]["input"]>;
streamSegmentType?: InputMaybe<StreamSegmentTypeEnum>;
@@ -2808,6 +2812,7 @@ export type VideoCardFieldsFragment = {
updatedAt?: any | null;
startTime?: any | null;
endTime?: any | null;
private: boolean;
elapsedTime?: number | null;
tableSize: number;
owner?: {
@@ -2860,6 +2865,7 @@ export type GetVideoFeedQuery = {
updatedAt?: any | null;
startTime?: any | null;
endTime?: any | null;
private: boolean;
elapsedTime?: number | null;
tableSize: number;
owner?: {
@@ -3004,12 +3010,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 }>;
};
};
@@ -3308,6 +3316,7 @@ export type GetLoggedInUserQuery = {
activeVideoId?: number | null;
createdAt?: any | null;
updatedAt?: any | null;
videosPrivateByDefault?: boolean | null;
} | null;
};
@@ -3435,6 +3444,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"]>;
@@ -3450,7 +3478,6 @@ export type GetStreamMonitoringDetailsQuery = {
elapsedTime?: number | null;
currentHomography?: {
__typename?: "HomographyInfoGQL";
id: number;
frameIndex: number;
crop: {
__typename?: "BoundingBoxGQL";
@@ -3489,6 +3516,7 @@ export type GetStreamMonitoringDetailsQuery = {
} | null;
currentProcessing?: {
__typename?: "VideoProcessingGQL";
id: number;
errors: Array<{
__typename?: "VideoProcessingErrorGQL";
message: string;
@@ -3665,7 +3693,6 @@ export type GetVideoQuery = {
} | null;
homographyHistory: Array<{
__typename?: "HomographyInfoGQL";
id: number;
frameIndex: number;
crop: {
__typename?: "BoundingBoxGQL";
@@ -3868,7 +3895,7 @@ export type GetHeaderInfoByVideoIdQuery = {
};
export type FindPrerecordTableLayoutMutationVariables = Exact<{
b64Image: Scalars["Base64"]["input"];
b64Image: Scalars["String"]["input"];
videoId: Scalars["Int"]["input"];
}>;
@@ -3876,7 +3903,6 @@ export type FindPrerecordTableLayoutMutation = {
__typename?: "Mutation";
findPrerecordTableLayout?: {
__typename?: "HomographyInfoGQL";
id: number;
frameIndex: number;
crop: {
__typename?: "BoundingBoxGQL";
@@ -3906,7 +3932,6 @@ export type FindPrerecordTableLayoutMutation = {
export type HomographyInfoFragment = {
__typename?: "HomographyInfoGQL";
id: number;
frameIndex: number;
crop: {
__typename?: "BoundingBoxGQL";
@@ -4122,6 +4147,7 @@ export const VideoCardFieldsFragmentDoc = gql`
updatedAt
startTime
endTime
private
elapsedTime
screenshotUri
stream {
@@ -4267,7 +4293,6 @@ export const VideoDurationDataFragmentDoc = gql`
`;
export const HomographyInfoFragmentDoc = gql`
fragment HomographyInfo on HomographyInfoGQL {
id
frameIndex
crop {
left
@@ -5050,12 +5075,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
@@ -5079,6 +5107,7 @@ export const GetShotsWithJustIdsDocument = gql`
* filterInput: // value for 'filterInput'
* shotsOrdering: // value for 'shotsOrdering'
* limit: // value for 'limit'
* countRespectsLimit: // value for 'countRespectsLimit'
* },
* });
*/
@@ -5522,6 +5551,7 @@ export const GetLoggedInUserDocument = gql`
activeVideoId
createdAt
updatedAt
videosPrivateByDefault
}
}
`;
@@ -6173,6 +6203,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) {
@@ -6194,6 +6288,7 @@ export const GetStreamMonitoringDetailsDocument = gql`
initPlaylistUploadStatus
}
currentProcessing {
id
errors {
message
startSegmentIndex
@@ -7104,7 +7199,7 @@ export type GetHeaderInfoByVideoIdQueryResult = Apollo.QueryResult<
GetHeaderInfoByVideoIdQueryVariables
>;
export const FindPrerecordTableLayoutDocument = gql`
mutation FindPrerecordTableLayout($b64Image: Base64!, $videoId: Int!) {
mutation FindPrerecordTableLayout($b64Image: String!, $videoId: Int!) {
findPrerecordTableLayout(b64Image: $b64Image, videoId: $videoId) {
...HomographyInfo
}

View File

@@ -56,6 +56,7 @@ fragment VideoCardFields on VideoGQL {
updatedAt
startTime
endTime
private
elapsedTime
screenshotUri
stream {

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,6 +41,7 @@ query getLoggedInUser {
activeVideoId
createdAt
updatedAt
videosPrivateByDefault
}
}
@@ -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

@@ -18,6 +18,7 @@ query GetStreamMonitoringDetails($videoId: Int!, $debuggingJson: JSON) {
initPlaylistUploadStatus
}
currentProcessing {
id
errors {
message
startSegmentIndex
@@ -214,14 +215,13 @@ query GetHeaderInfoByVideoId($videoId: Int!) {
}
}
mutation FindPrerecordTableLayout($b64Image: Base64!, $videoId: Int!) {
mutation FindPrerecordTableLayout($b64Image: String!, $videoId: Int!) {
findPrerecordTableLayout(b64Image: $b64Image, videoId: $videoId) {
...HomographyInfo
}
}
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
@@ -400,6 +400,7 @@ type UserGQL {
profileImageUri: String
createdAt: DateTime
updatedAt: DateTime
videosPrivateByDefault: Boolean
following: [UserGQL!]
followers: [UserGQL!]
}
@@ -437,6 +438,7 @@ type VideoGQL {
elapsedTime: Float
framesPerSecond: Float!
tableSize: Float!
private: Boolean!
stream: UploadStreamGQL
playlist: HLSPlaylistGQL
tags: [VideoTag!]!
@@ -622,6 +624,12 @@ type UserPlayTimeGQL {
totalSeconds: Float!
}
input VideoFilterInput {
isStreamCompleted: Boolean = null
requireCursorCompletion: Boolean! = true
createdAt: DateRangeFilter = null
}
type VideoHistoryGQL {
videos: [VideoGQL!]!
pageInfo: PageInfoGQL!
@@ -632,11 +640,6 @@ type PageInfoGQL {
endCursor: String
}
input VideoFilterInput {
isStreamCompleted: Boolean = null
requireCursorCompletion: Boolean! = true
}
type TagGQL {
name: String!
id: Int!
@@ -670,7 +673,7 @@ type Mutation {
editUser(input: EditUserInputGQL!): UserGQL!
followUser(followedUserId: Int!): UserGQL!
unfollowUser(followedUserId: Int!): UserGQL!
findPrerecordTableLayout(b64Image: Base64!, videoId: Int!): HomographyInfoGQL
findPrerecordTableLayout(b64Image: String!, videoId: Int!): HomographyInfoGQL
createUploadStream(
videoMetadata: VideoMetadataInput!
): CreateUploadStreamReturn!
@@ -759,16 +762,9 @@ type TooManyProfileImageUploadsErr {
input EditUserInputGQL {
username: String = null
fargoRating: Int = null
videosPrivateByDefault: Boolean = null
}
"""
Represents binary data as Base64-encoded strings, using the standard alphabet.
"""
scalar Base64
@specifiedBy(
url: "https://datatracker.ietf.org/doc/html/rfc4648.html#section-4"
)
type CreateUploadStreamReturn {
videoId: Int!
}
@@ -781,6 +777,7 @@ input VideoMetadataInput {
tableSize: Float = null
lastIntendedSegmentBound: Int = null
streamSegmentType: StreamSegmentTypeEnum = null
private: Boolean = null
endStream: Boolean! = false
resolution: VideoResolution = null
framesPerSecond: Float = null