Compare commits

..

1 Commits

Author SHA1 Message Date
b5a8e3eca7 add reaction count schema 2025-08-04 12:36:13 -07:00
9 changed files with 20 additions and 1386 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -5,7 +5,6 @@ query getDeployedConfig {
environment
firebase
minimumAllowedAppVersion
subscriptionGatingEnabled
bannerMessages {
color
dismissible

View File

@@ -1,15 +0,0 @@
mutation blockContent($videoId: Int!) {
blockContent(videoId: $videoId)
}
mutation blockUser($userId: Int!) {
blockUser(userId: $userId)
}
mutation reportContent(
$videoId: Int!
$reason: ReportReasonEnum!
$customReason: String = null
) {
reportContent(videoId: $videoId, reason: $reason, customReason: $customReason)
}

View File

@@ -1,58 +0,0 @@
query GetNotifications(
$limit: Int! = 20
$offset: Int! = 0
$filters: NotificationFilters = null
) {
notifications(limit: $limit, offset: $offset, filters: $filters) {
notifications {
...Notification
}
totalCount
unreadCount
hasMore
}
}
query GetUnreadNotificationCount {
unreadNotificationCount
}
mutation MarkNotificationAsRead($notificationId: Int!) {
markNotificationAsRead(notificationId: $notificationId)
}
mutation MarkNotificationsAsRead($notificationIds: [Int!]!) {
markNotificationsAsRead(notificationIds: $notificationIds)
}
mutation MarkAllNotificationsAsRead {
markAllNotificationsAsRead
}
mutation DeleteNotification($notificationId: Int!) {
deleteNotification(notificationId: $notificationId)
}
fragment Notification on NotificationGQL {
id
notificationType
actor {
id
username
profileImageUri
}
videoId
comment {
id
message
user {
id
username
profileImageUri
}
}
reactionType
isRead
createdAt
readAt
}

View File

@@ -12,54 +12,3 @@ mutation EnsureStripeCustomerExists {
updatedAt
}
}
mutation CreateSubscription($priceId: String!) {
createSubscription(priceId: $priceId) {
checkoutUrl
sessionId
}
}
query GetAvailableSubscriptionOptions {
getAvailableSubscriptionOptions {
products {
id
name
description
active
prices {
id
currency
unitAmount
recurringInterval
recurringIntervalCount
type
active
}
}
}
}
query GetSubscriptionStatus {
getUserSubscriptionStatus {
hasActiveSubscription
subscriptionStatus
currentPeriodStart
currentPeriodEnd
validUntil
stripePriceId
stripeSubscriptionId
}
}
mutation CancelSubscription {
cancelSubscription {
hasActiveSubscription
subscriptionStatus
currentPeriodStart
currentPeriodEnd
validUntil
stripePriceId
stripeSubscriptionId
}
}

View File

@@ -191,9 +191,6 @@ fragment ShotWithAllFeatures on ShotGQL {
id
streamSegmentType
}
playlist {
segmentDurations
}
}
}

View File

@@ -140,14 +140,12 @@ mutation editUser(
$username: String
$fargoRating: Int
$videosPrivateByDefault: Boolean
$agreesToMarketing: Boolean
) {
editUser(
input: {
username: $username
fargoRating: $fargoRating
videosPrivateByDefault: $videosPrivateByDefault
agreesToMarketing: $agreesToMarketing
}
) {
id
@@ -156,7 +154,6 @@ mutation editUser(
fargoRating
updatedAt
videosPrivateByDefault
agreesToMarketing
}
}
@@ -175,5 +172,4 @@ fragment UserFragment on UserGQL {
createdAt
updatedAt
videosPrivateByDefault
agreesToMarketing
}

View File

@@ -97,9 +97,6 @@ query GetVideoSocialDetailsById($videoId: Int!) {
getVideo(videoId: $videoId) {
id
name
screenshotUri
makePercentage
totalShots
owner {
id
firebaseUid

View File

@@ -28,12 +28,6 @@ type Query {
when: DateTime = null
): CountLeaderboardGQL!
getMedals(scope: MedalScope!, userId: Int = null): RequestedMedalsGQL!
notifications(
limit: Int! = 20
offset: Int! = 0
filters: NotificationFilters = null
): NotificationConnection!
unreadNotificationCount: Int!
getRuns(
filterInput: RunFilterInput!
runIds: [Int!] = null
@@ -88,7 +82,6 @@ type Query {
after: String = null
): UserRelationshipsResult!
getAvailableSubscriptionOptions: StripeSubscriptionOptionsGQL!
getUserSubscriptionStatus: UserSubscriptionStatusGQL!
getPlayTime(userId: Int!, filters: VideoFilterInput = null): UserPlayTimeGQL!
getUserVideos(
userId: Int = null
@@ -304,7 +297,6 @@ type DeployedConfigGQL {
devMode: Boolean!
environment: String!
minimumAllowedAppVersion: String!
subscriptionGatingEnabled: Boolean!
bannerMessages: [BannerGQL!]!
}
@@ -326,7 +318,6 @@ enum BannerKindEnum {
type VideoHistoryGQL {
videos: [VideoGQL!]!
pageInfo: PageInfoGQL!
hasFollowing: Boolean!
}
type VideoGQL {
@@ -371,7 +362,6 @@ type UserGQL {
createdAt: DateTime
updatedAt: DateTime
videosPrivateByDefault: Boolean
agreesToMarketing: Boolean
following: [UserGQL!]
followers: [UserGQL!]
}
@@ -647,6 +637,16 @@ input VideoFilterInput {
requireCursorCompletion: Boolean! = true
createdAt: DateRangeFilter = null
excludeVideosWithNoShots: Boolean = null
reactionCount: IntRangeFilter = null
}
input IntRangeFilter {
lessThan: Int = null
greaterThanEqualTo: Int = null
greaterThan: Int = null
includeOnNone: Boolean! = false
lessThanInclusive: Boolean! = false
greaterThanInclusive: Boolean! = true
}
input VideoFeedInputGQL @oneOf {
@@ -721,37 +721,6 @@ input MedalScope @oneOf {
datetimeRange: DatetimeRangeAggregationInput
}
type NotificationConnection {
notifications: [NotificationGQL!]!
totalCount: Int!
unreadCount: Int!
hasMore: Boolean!
}
type NotificationGQL {
id: Int!
notificationType: NotificationTypeEnum!
actor: UserGQL!
videoId: Int
comment: CommentGQL
reactionType: String
isRead: Boolean!
createdAt: DateTime!
readAt: DateTime
}
enum NotificationTypeEnum {
COMMENT
COMMENT_REPLY
REACTION
FOLLOW
}
input NotificationFilters {
isRead: Boolean = null
notificationTypes: [NotificationTypeEnum!] = null
}
type GetRunsResult {
runs: [RunGQL!]!
count: Int
@@ -890,27 +859,6 @@ type StripePriceGQL {
active: Boolean!
}
type UserSubscriptionStatusGQL {
hasActiveSubscription: Boolean!
subscriptionStatus: StripeSubscriptionStatusEnum
currentPeriodStart: DateTime
currentPeriodEnd: DateTime
validUntil: DateTime
stripePriceId: String
stripeSubscriptionId: String
}
enum StripeSubscriptionStatusEnum {
INCOMPLETE
INCOMPLETE_EXPIRED
TRIALING
ACTIVE
PAST_DUE
CANCELED
UNPAID
PAUSED
}
type UserPlayTimeGQL {
totalSeconds: Float!
}
@@ -946,17 +894,6 @@ type Mutation {
): Boolean!
editComment(videoId: Int!, commentId: Int!, newMessage: String!): Boolean!
deleteComment(videoId: Int!, commentId: Int!): Boolean!
blockContent(videoId: Int!): Boolean!
blockUser(userId: Int!): Boolean!
reportContent(
videoId: Int!
reason: ReportReasonEnum!
customReason: String = null
): Boolean!
markNotificationAsRead(notificationId: Int!): Boolean!
markAllNotificationsAsRead: Boolean!
markNotificationsAsRead(notificationIds: [Int!]!): Boolean!
deleteNotification(notificationId: Int!): Boolean!
addAnnotationToShot(
shotId: Int!
annotationName: String!
@@ -981,7 +918,6 @@ type Mutation {
ensureStripeCustomerExists: UserGQL!
deleteUser: Boolean!
createSubscription(priceId: String!): CreateSubscriptionResultGQL!
cancelSubscription: UserSubscriptionStatusGQL!
findPrerecordTableLayout(b64Image: String!, videoId: Int!): HomographyInfoGQL
createUploadStream(
videoMetadata: VideoMetadataInput!
@@ -1004,15 +940,6 @@ input CreateBucketSetInput {
buckets: [BucketInputGQL!]!
}
enum ReportReasonEnum {
SPAM
NUDITY
VIOLENCE
HATE
COPYRIGHT
OTHER
}
type AddShotAnnotationReturn {
value: SuccessfulAddAddShotAnnotationErrors!
}
@@ -1098,7 +1025,6 @@ input EditUserInputGQL {
username: String = null
fargoRating: Int = null
videosPrivateByDefault: Boolean = null
agreesToMarketing: Boolean = null
}
type CreateSubscriptionResultGQL {