Compare commits

..

229 Commits

Author SHA1 Message Date
dean
55bbf723ba feat: Add challenge dismissal GQL operations
All checks were successful
Tests / Tests (pull_request) Successful in 10s
- Add DismissChallenge/UndismissChallenge mutations
- Add IsChallengeDismissed query
- Add GetMyDismissedChallenges query
- Update schema with dismissal fields

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-25 14:03:53 -08:00
dean
88650706e0 fix: Restore isFollowedByCurrentUser in UserSocialsFields fragment
All checks were successful
Tests / Tests (pull_request) Successful in 10s
Accidentally reverted to old followers array approach when creating
challenges branch. This restores the fix from PR #1474 that uses
isFollowedByCurrentUser field directly for proper follow state display.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-25 10:47:55 -08:00
dean
8a393e9a42 feat: Add challenge invitations fields and fix feed hasFollowing query
All checks were successful
Tests / Tests (pull_request) Successful in 10s
- Add invitations query fields with invitee data to GetChallenge
- Add participantCount field to GetChallenge
- Add GetMyChallengeEntries query (was missing)
- Add hasFollowing to GetVideoFeed response (fixes feed ordering)
- Sync schema with backend challenge types

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-25 10:39:46 -08:00
dean
a00b50d985 chore: Regenerate GraphQL TypeScript types
All checks were successful
Tests / Tests (pull_request) Successful in 9s
Regenerate gql/src/index.tsx to match current schema and fix
codegen hash mismatch in CI.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-21 12:31:50 -08:00
dean
36ed501cd9 Add GraphQL queries and mutations for challenge feature
Some checks failed
Tests / Tests (pull_request) Failing after 10s
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-21 12:00:17 -08:00
dean
d17c1a2ecc chore: regenerate schema and types
Some checks failed
Tests / Tests (pull_request) Failing after 10s
2025-11-21 10:19:15 -08:00
dean
cc9bc98b32 merge: sync gql submodule, keeping local notification fragment
All checks were successful
Tests / Tests (pull_request) Successful in 11s
2025-11-20 12:57:23 -08:00
dean
eec12c61a3 schema: add challenge notification types 2025-11-20 12:53:46 -08:00
dean
b7b482694e WIP: Add challenges feature schema and operations
- Add Challenge, ChallengeEntry, ChallengeInvitation, RuleSet types
- Add queries: challenges, challenge, challengeLeaderboard, myChallengeInvitations, myChallengeEntries, ruleSets
- Add mutations: createChallenge, createRuleSet, inviteUsersToChallenge, respondToChallengeInvitation, startChallenge, submitChallengeEntry, recalculateChallengeEntry

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-18 16:12:03 -08:00
dean
ce8d2aaec8 Add pocket size field to GraphQL schema and operations
All checks were successful
Tests / Tests (pull_request) Successful in 9s
2025-11-10 10:55:08 -08:00
0f89f97006 Merge pull request 'Add playlist with segment durations to ShotWithAllFeaturesFragment' (#207) from loewy/include-playlist-in-shot-features into master
Reviewed-on: #207
Reviewed-by: dean <deanwenstrand@gmail.com>
2025-11-10 18:15:41 +00:00
cdf438c089 add playlist w/ segment durations in gql return
All checks were successful
Tests / Tests (pull_request) Successful in 10s
2025-11-07 11:53:13 -08:00
7dbfadf13a Merge pull request 'Notifications Operation' (#206) from loewy/notifications-operations into master
Reviewed-on: #206
2025-11-07 00:15:28 +00:00
a74a11e789 update notif operations
All checks were successful
Tests / Tests (pull_request) Successful in 9s
2025-11-06 16:06:32 -08:00
3b2f88c0e0 update naming of notification fragment 2025-11-06 16:06:32 -08:00
a3ac769cd4 notifications operations 2025-11-06 16:06:32 -08:00
00fc2ab44b Merge pull request 'Notifications schema' (#205) from loewy/notifications-schema into master
Reviewed-on: #205
2025-11-07 00:05:04 +00:00
58ab272289 add follow enum
All checks were successful
Tests / Tests (pull_request) Successful in 9s
2025-11-06 15:33:41 -08:00
242afae92b notifications schema 2025-11-06 15:33:41 -08:00
6bf597a2ec Merge pull request 'add has follwer to feed query' (#204) from dean/add-has-following-to-feed into master
Reviewed-on: #204
2025-11-06 23:30:07 +00:00
dean
aac9879afc add has follwer to feed query
All checks were successful
Tests / Tests (pull_request) Successful in 10s
2025-11-06 13:13:54 -08:00
5c62d45068 Merge pull request 'Add marketing opt in to schema' (#203) from loewy/add-agrees-to-marketing-schema into master
Reviewed-on: #203
2025-10-20 20:52:17 +00:00
a7649351b3 add marketing to schema
All checks were successful
Tests / Tests (pull_request) Successful in 10s
2025-10-10 14:44:45 -07:00
051555f9fc Merge pull request 'Schema + Ops for Content Moderation GQL' (#201) from loewy/add-block-and-reporting-ops into master
Reviewed-on: #201
2025-09-30 15:58:59 -06:00
d7bbe882b7 Merge pull request 'Just schema changes, no operations' (#202) from loewy/blocking-and-reporting into master
Reviewed-on: #202
2025-09-30 15:58:51 -06:00
e783050a02 operations
All checks were successful
Tests / Tests (pull_request) Successful in 22s
2025-09-23 11:02:16 -07:00
d8ee83c627 codegen for reporting, user and content blocking
All checks were successful
Tests / Tests (pull_request) Successful in 8s
2025-09-17 20:00:25 -07:00
d32cd87a60 Merge pull request 'Add subscriptionGating to config operations file' (#200) from loewy/add-sub-gating-to-config-op into master
Reviewed-on: #200
2025-08-27 21:29:16 -06:00
b956cfe0f9 add sub gating to config operations
All checks were successful
Tests / Tests (pull_request) Successful in 11s
2025-08-27 19:27:17 -07:00
3f520a0331 Merge pull request 'Add operations for user subscriptions' (#199) from loewy/get-and-cancel-sub-ops into master
Reviewed-on: #199
Reviewed-by: Ivan Malison <ivanmalison@gmail.com>
2025-08-18 17:42:43 -06:00
a563834269 get user sub status and cancel sub
All checks were successful
Tests / Tests (pull_request) Successful in 11s
2025-08-14 14:02:36 -07:00
80a5bded47 Merge pull request 'Add getUserSubscriptionStatus' (#198) from loewy/subscription-status-resolvers into master
Reviewed-on: #198
2025-08-14 13:22:33 -06:00
16d8510465 add cancel subscription
All checks were successful
Tests / Tests (pull_request) Successful in 10s
2025-08-12 13:14:08 -07:00
9b21ce1e3a get subscription resolvers
All checks were successful
Tests / Tests (pull_request) Successful in 14s
2025-08-11 14:23:46 -07:00
dde4cfd99b Merge pull request 'Add subscriptionGatingEnabled prop to deployed config' (#196) from loewy/add-subscription-gating-enabled into master
Reviewed-on: #196
2025-08-08 16:52:30 -06:00
845fb361b9 Merge branch 'master' into loewy/add-subscription-gating-enabled
All checks were successful
Tests / Tests (pull_request) Successful in 10s
2025-08-08 16:49:17 -06:00
9f5fcc066e Merge pull request 'Create subscription operations' (#197) from loewy/create-sub-operations into master
Reviewed-on: #197
2025-08-07 13:06:08 -06:00
dfb0361e12 Merge branch 'master' into loewy/create-sub-operations
All checks were successful
Tests / Tests (pull_request) Successful in 10s
2025-08-07 12:59:54 -06:00
77477d63db add subscriptionGatingEnabled prop to deployed config
All checks were successful
Tests / Tests (pull_request) Successful in 31s
2025-07-29 14:28:36 -07:00
01fb113e1c Merge pull request 'DeleteUser operation' (#195) from loewy/delete-user-operation into master
Reviewed-on: #195
2025-07-11 12:18:31 -06:00
c660ed54cd delete user mutation
All checks were successful
Tests / Tests (pull_request) Successful in 7s
2025-07-11 11:17:25 -07:00
b5fd2e2183 Merge pull request 'Create subscription' (#194) from loewy/add-stripe-stuff into master
Reviewed-on: #194
2025-07-09 12:45:03 -06:00
ddee57f4c2 create sub
All checks were successful
Tests / Tests (pull_request) Successful in 56s
2025-07-09 11:41:57 -07:00
a497abd44d create sub operations
All checks were successful
Tests / Tests (pull_request) Successful in 11s
2025-07-09 11:31:26 -07:00
49d43b2703 Merge pull request 'Create delete user' (#192) from kat/delete_user into master
Reviewed-on: #192
2025-07-09 12:04:03 -06:00
99f8968a36 Create delete user
All checks were successful
Tests / Tests (pull_request) Successful in 10s
2025-07-09 11:37:25 -06:00
76a98aa0c3 Remove subscription stuff for now 2025-07-09 07:59:08 -06:00
f5177a877c Merge pull request 'add createSubscription' (#191) from loewy/create-checkout-session into master
Reviewed-on: #191
2025-07-09 07:57:38 -06:00
6685849cc2 add available subscription
All checks were successful
Tests / Tests (pull_request) Successful in 9s
2025-07-08 16:40:12 -07:00
567cbc549c add createSubscription
All checks were successful
Tests / Tests (pull_request) Successful in 9s
2025-07-08 16:20:14 -07:00
2b43493a4f Add processing progress fields 2025-07-08 14:12:15 -06:00
358eee2e16 Merge pull request 'Add getAvailableSubscriptionOptions & associated subscription types' (#190) from loewy/available-sub-options into master
Reviewed-on: #190
Reviewed-by: Ivan Malison <ivanmalison@gmail.com>
2025-07-08 12:52:17 -06:00
a1d3d776aa add to schema
All checks were successful
Tests / Tests (pull_request) Successful in 8s
2025-07-07 14:24:09 -07:00
82af3a3ce9 Merge pull request 'Add operation for ensureStripeCustomerExists' (#189) from loewy/ensure-customer-exists-operations into master
Reviewed-on: #189
2025-07-07 14:27:24 -06:00
7b51c317ca add operation for ensureStripeCustomerExists
All checks were successful
Tests / Tests (pull_request) Successful in 10s
2025-07-07 13:12:36 -07:00
04f1bb4d74 Remove email param from ensureStripeCustomerExists 2025-07-06 16:20:49 -06:00
fbd7c2020b Merge pull request 'Add ensureStripeCustomerExists to schema' (#188) from loewy/get-stripe-customer-mutation into master
Reviewed-on: #188
2025-07-04 12:06:47 -06:00
c0636a8863 ensure stripe customer rename
All checks were successful
Tests / Tests (pull_request) Successful in 10s
2025-07-03 19:43:21 -07:00
7302d6b8b6 get stripe customer mutation, add stripe_customer_id to user gql type
All checks were successful
Tests / Tests (pull_request) Successful in 11s
2025-07-03 15:26:44 -07:00
492178455c Add getUsersMatching 2025-06-25 15:08:19 -07:00
55a2edb042 Merge pull request 'Add bannerMessages to getDeployedConfig operation' (#187) from loewy/banner-on-deployed-config-ops into master
Reviewed-on: #187
2025-06-13 11:19:59 -06:00
31cf492889 add bannerMessages to getDeployedConfig operation
All checks were successful
Tests / Tests (pull_request) Successful in 7s
2025-06-13 10:12:39 -07:00
de7dc675a1 Merge pull request 'Reverting config operation until BE deployed' (#186) from loewy/revert-config-operations into master
Reviewed-on: #186
2025-06-12 15:12:48 -06:00
f8f00d9c24 revert changes
All checks were successful
Tests / Tests (pull_request) Successful in 6s
2025-06-12 14:09:20 -07:00
dc207bce55 Merge pull request 'Add banners to config operations' (#185) from loewy/update-config-operations into master
Reviewed-on: #185
2025-06-12 14:30:17 -06:00
2e5b8d2563 add banners to config operations
All checks were successful
Tests / Tests (pull_request) Successful in 6s
2025-06-12 13:29:24 -07:00
46bcd08ae1 Merge pull request 'Add banner messages to DeployedConfigGql' (#184) from loewy/add-banner-to-config into master
Reviewed-on: #184
Reviewed-by: Ivan Malison <ivanmalison@gmail.com>
2025-06-12 14:27:36 -06:00
bd383b1d55 add banner messages to deployedConfigGql
All checks were successful
Tests / Tests (pull_request) Successful in 10s
2025-06-12 10:21:24 -07:00
2459cb78f8 Merge pull request 'Add comments operations' (#183) from loewy/add-comments-feed-operation into master
Reviewed-on: #183
2025-05-16 18:34:07 -06:00
8859ad8951 add lightweight query to refetch social interractions on comment mutation completion
All checks were successful
Tests / Tests (pull_request) Successful in 16s
2025-05-16 17:31:58 -07:00
bdc3961e46 add mutations for comments 2025-05-16 14:43:16 -07:00
7c8c932a78 connect gql 2025-05-16 12:25:27 -07:00
ae746ccac0 Add getTableState 2025-05-15 12:26:18 -07:00
98266c7775 Merge pull request 'add comments' (#182) from add-comments into master
Reviewed-on: #182
Reviewed-by: Ivan Malison <ivanmalison@gmail.com>
2025-05-13 18:51:51 -06:00
Will Gester
4918720ae3 add comments
All checks were successful
Tests / Tests (pull_request) Successful in 10s
2025-05-13 17:40:09 -07:00
8463ebf0e7 Merge pull request 'Add streamSegmentType to feed and playlist shot operations' (#181) from loewy/add-stream-type-to-get-shots into master
Reviewed-on: #181
2025-05-08 16:19:06 -06:00
753179ca58 add streamsegmentType to get feed
All checks were successful
Tests / Tests (pull_request) Successful in 9s
2025-05-08 14:15:57 -07:00
9ee5c721c1 add stream type to get shost for playlist 2025-05-08 13:44:58 -07:00
00cca10cb3 Merge pull request 'Use pocketing intention fragment to prevent cache merge issues' (#180) from loewy/update-runs-operations into master
Reviewed-on: #180
2025-04-30 15:58:46 -06:00
ad704cad75 use entire fragment to prevent cache merge issues
All checks were successful
Tests / Tests (pull_request) Successful in 15s
2025-04-30 14:57:54 -07:00
e2743abb59 Merge pull request 'update runs' (#179) from dean/update-run-gql into master
Reviewed-on: #179
Reviewed-by: loewy <loewymalkov@gmail.com>
2025-04-30 12:39:23 -06:00
e109e89a40 update runs
All checks were successful
Tests / Tests (pull_request) Successful in 16s
2025-04-30 18:18:40 +00:00
67bad20d24 Merge pull request 'Add limit and countRespectsLimit args' (#178) from loewy/add-limit-args-to-get-runs into master
Reviewed-on: #178
2025-04-24 13:48:12 -06:00
0160455b9f add limit and countRespectsLimit args
All checks were successful
Tests / Tests (pull_request) Successful in 9s
2025-04-24 12:43:07 -07:00
170ff70b7a Merge pull request 'Add required types to followers in feed operation' (#177) from loewy/add-required-types-to-feed-operation into master
Reviewed-on: #177
2025-04-09 12:48:35 -06:00
8df09b8c93 run just gql
All checks were successful
Tests / Tests (pull_request) Successful in 15s
2025-04-09 11:47:16 -07:00
644ea66e98 add required types to followers in feed operation
Some checks failed
Tests / Tests (pull_request) Failing after 17s
2025-04-09 11:43:27 -07:00
0a5097c5c0 Merge pull request 'Add followers to feed operation for reactions' (#176) from loewy/add-followers-in-reactions into master
Reviewed-on: #176
2025-04-08 18:21:33 -06:00
f4445f7ecb add followers to feed operation for reactions
All checks were successful
Tests / Tests (pull_request) Successful in 10s
2025-04-08 16:48:12 -07:00
b18fedae8e Merge pull request 'Add reactions gql to feed and react mutation operation' (#175) from loewy/add-react-to-video into master
Reviewed-on: #175
2025-04-07 11:33:55 -06:00
31baa2b096 add profile image uri
All checks were successful
Tests / Tests (pull_request) Successful in 7s
2025-04-04 13:19:42 -07:00
85cd37f70f add gql to fragment
All checks were successful
Tests / Tests (pull_request) Successful in 8s
2025-04-04 12:30:02 -07:00
b53aa172fa Add reactions mutation to operations 2025-04-04 12:18:20 -07:00
df2e534745 Merge pull request 'add reaction gql' (#174) from add-reactions into master
Reviewed-on: #174
2025-04-03 18:42:46 -06:00
Will Gester
ea4980947f add reaction gql
All checks were successful
Tests / Tests (pull_request) Successful in 16s
2025-04-03 17:42:20 -07:00
65475bca9b Merge pull request 'Add delete tags operation' (#173) from loewy/delete-tags-operation into master
Reviewed-on: #173
2025-03-31 13:47:46 -06:00
280f5a66bd add delete tags operation"
All checks were successful
Tests / Tests (pull_request) Successful in 6s
2025-03-27 11:38:26 -07:00
84daf2d136 Reintroduce retireTags 2025-03-25 14:31:19 -06:00
6558fb60e9 Add break heuristic 2025-03-25 14:05:12 -06:00
6462a6a464 Merge pull request 'Add delete tags' (#170) from mk/delete-tag into master
Reviewed-on: #170
2025-03-21 18:26:33 -06:00
41a5bb7609 Add delete tags
All checks were successful
Tests / Tests (pull_request) Successful in 16s
2025-03-21 17:22:24 -07:00
b8aaabea8b Merge pull request 'RetireTags mutation operation' (#169) from loewy/retire-tags-operation into master
Reviewed-on: #169
2025-03-21 15:50:59 -06:00
2745521664 add operations to retire tag
All checks were successful
Tests / Tests (pull_request) Successful in 9s
2025-03-21 14:38:37 -07:00
8efa2e067c Merge pull request 'Add functionality to retire tags' (#167) from mk/retire-tags-gql into master
Reviewed-on: #167
2025-03-21 14:39:27 -06:00
919fe5ba24 Merge branch 'master' into mk/retire-tags-gql
All checks were successful
Tests / Tests (pull_request) Successful in 16s
2025-03-19 15:08:46 -06:00
7ff60dc9c5 Merge pull request 'Revert "Merge pull request 'Add functionality for retiring tags' (#165) from mk/retire-tags-gql into master"' (#166) from mk/revert-retire-tags into master
Reviewed-on: #166
2025-03-19 15:08:16 -06:00
7e0d8a84ee Add functionality to retire tags
All checks were successful
Tests / Tests (pull_request) Successful in 6s
2025-03-19 14:07:15 -07:00
9f26b5aa0f Revert "Merge pull request 'Add functionality for retiring tags' (#165) from mk/retire-tags-gql into master"
All checks were successful
Tests / Tests (pull_request) Successful in 8s
This reverts commit 70303b9363, reversing
changes made to 7a9d2545c4.
2025-03-19 14:05:41 -07:00
70303b9363 Merge pull request 'Add functionality for retiring tags' (#165) from mk/retire-tags-gql into master
Reviewed-on: #165
2025-03-17 15:09:54 -06:00
9ee1422d3e Add functionality for retiring tags
All checks were successful
Tests / Tests (pull_request) Successful in 7s
2025-03-17 14:09:19 -07:00
7a9d2545c4 Merge pull request 'Add average time field to video in feed operation' (#164) from loewy/add-average-time-per-shot-in-feed-operation into master
Reviewed-on: #164
2025-03-11 14:42:24 -06:00
c561ea20ab add average difficulty
All checks were successful
Tests / Tests (pull_request) Successful in 7s
2025-03-11 13:41:37 -07:00
7ce0c058b7 add average time field to video in feed operation
All checks were successful
Tests / Tests (pull_request) Successful in 8s
2025-03-11 13:10:34 -07:00
c399edd882 Merge pull request 'Add average difficulty in VideoGql' (#163) from loewy/average-difficulty-in-video-gql into master
Reviewed-on: #163
2025-03-07 17:18:36 -07:00
32d8cb0d41 add average diff in videogql
All checks were successful
Tests / Tests (pull_request) Successful in 20s
2025-03-07 16:16:42 -08:00
9d912ed21e Add time to segment information 2025-02-26 20:30:39 -07:00
0bcfd32b14 Add start segment and end segment client side fields 2025-02-26 19:29:15 -07:00
9b27d288da Merge pull request 'Add shots to runs operation to get the id' (#162) from loewy/add-shots-in-runs into master
Reviewed-on: #162
2025-02-20 15:02:43 -07:00
b0f94f5ea8 add shots to runs to get id
All checks were successful
Tests / Tests (pull_request) Successful in 9s
2025-02-20 12:37:52 -08:00
de653ba54c Merge pull request 'Add tagClasses to getUserTags operation' (#161) from loewy/getUserTags-operation into master
Reviewed-on: #161
2025-02-05 13:51:14 -07:00
2657628a54 add tagClasses to operation
All checks were successful
Tests / Tests (pull_request) Successful in 8s
2025-02-05 12:48:56 -08:00
cd20cfcb40 Add get runs for highlights 2025-02-04 20:57:22 -07:00
2657a9baf7 Merge pull request 'Return tag classes with tag' (#160) from kat/return-tag-classes-with-tag into master
Reviewed-on: #160
2025-02-04 19:16:15 -07:00
9bb4b7c513 Return tag classes with tag
All checks were successful
Tests / Tests (pull_request) Successful in 15s
2025-02-04 19:14:55 -07:00
a5050ed08d Merge pull request 'Revert previous commit 021cd35278ea74f6971ae021b33ddc1bba020e6d' (#159) from loewy/revert-adding-group into master
Reviewed-on: #159
2025-02-04 15:42:41 -07:00
b9e26243e9 revert
All checks were successful
Tests / Tests (pull_request) Successful in 9s
2025-02-04 14:41:11 -08:00
021cd35278 Merge pull request 'Add group in return for user tags' (#158) from loewy/add-group-to-get-user-tags into master
Reviewed-on: #158
2025-02-04 14:48:11 -07:00
8dda81236a add group to return for user tags
All checks were successful
Tests / Tests (pull_request) Successful in 16s
2025-02-04 13:44:58 -08:00
c7ff615fe4 Create tags in video metadata (#157)
Reviewed-on: #157
2025-02-03 16:43:25 -07:00
365cbb5f70 Merge pull request 'Create upload stream named fragment' (#156) from kat/named-fragment-mini-video into master
Reviewed-on: #156
Reviewed-by: Ivan Malison <ivanmalison@gmail.com>
2025-01-28 21:31:23 -07:00
194d0dcd22 Create upload stream named fragment
All checks were successful
Tests / Tests (pull_request) Successful in 9s
2025-01-28 21:28:31 -07:00
8fcaa1397a Merge pull request 'Add query to get info for banner component' (#155) from loewy/get-banner-info-by-video-id into master
Reviewed-on: #155
2025-01-21 14:20:42 -07:00
e8e318b919 add query to get info for banner component
All checks were successful
Tests / Tests (pull_request) Successful in 8s
2025-01-20 15:04:23 -08:00
ff0a11ea0d Merge pull request 'Add last intended segment bound in fragment for VideoFeed stream obj' (#154) from loewy/add-last-intended-segment-bound-to-stream into master
Reviewed-on: #154
2025-01-16 23:03:42 -07:00
84192d1387 add last intended segment bound
All checks were successful
Tests / Tests (pull_request) Successful in 9s
2025-01-16 22:01:57 -08:00
f1ae2b62d6 Add limit parameter 2025-01-16 20:16:29 -07:00
4f78cd94ab Add video info to longest runs leaderboard 2025-01-16 17:01:32 -07:00
bfdda67d1a Add run filter and run fields 2025-01-16 15:44:11 -07:00
881350619a Add get longest runs operation 2024-12-23 13:55:14 -07:00
8bc67f75b0 Use RunGQL directly for run leaderboard 2024-12-22 23:30:01 -07:00
df8495df77 Add proportion and total made to leaderboard query 2024-12-22 17:12:24 -07:00
0c45855f7d Add video count 2024-12-22 15:37:06 -07:00
a2e659dfcb Add runs leaderboard 2024-12-22 15:00:19 -07:00
2a36a392ce Merge pull request 'Leaderboards operation' (#153) from loewy/leaderboard-operations into master
Reviewed-on: #153
2024-12-20 14:14:24 -07:00
145c2f9558 leaderboards operation
All checks were successful
Tests / Tests (pull_request) Successful in 9s
2024-12-20 13:13:30 -08:00
3f2e5d331f Add makes leaderboard 2024-12-19 17:48:29 -07:00
bf8e851139 Merge pull request 'Add profile image for followers' (#152) from loewy/add-profile-image-for-followers into master
Reviewed-on: #152
2024-12-19 17:36:44 -07:00
eb15f4f3b8 add profile image to user relationship
All checks were successful
Tests / Tests (pull_request) Successful in 9s
2024-12-19 16:33:48 -08:00
82ff8546d4 add profile image for followers 2024-12-19 16:31:46 -08:00
284334606d Merge pull request 'GetUser operation + fragment' (#151) from loewy/get-user-operation-and-fragment into master
Reviewed-on: #151
2024-12-19 12:47:20 -07:00
a883bc3e2f getUser by user id query
All checks were successful
Tests / Tests (pull_request) Successful in 10s
2024-12-19 10:28:41 -08:00
b50ea5b573 Merge pull request 'Sync Apollo version w/ mobile to prevent ts errors' (#150) from loewy/sync-apollo-version-w-mobile into master
Reviewed-on: #150
Reviewed-by: Ivan Malison <ivanmalison@gmail.com>
2024-12-19 11:28:04 -07:00
de17659dbb sync apollo version w/ mobile to prevent ts errors
All checks were successful
Tests / Tests (pull_request) Successful in 9s
2024-12-19 10:26:09 -08:00
33886b4e9e Update getFeed operation 2024-12-17 18:07:00 -07:00
9d0ba908dc Generalize getFeed 2024-12-17 17:35:38 -07:00
7b4880a990 Add all videos 2024-12-17 14:12:25 -07:00
8ed177b0f3 Merge pull request 'Add EditShot operation' (#149) from loewy/add-edit-shot-operation into master
Reviewed-on: #149
2024-12-09 14:33:47 -07:00
976cc66ccb add editshot operation
All checks were successful
Tests / Tests (pull_request) Successful in 17s
2024-12-09 14:00:36 -07:00
af461fff00 Merge pull request 'Add Difficulty ShotOrdering' (#148) from mk/shots-ordering-by-difficulty into master
Reviewed-on: #148
2024-12-07 15:27:08 -07:00
7a39b4ca60 Add Difficulty ShotOrdering
All checks were successful
Tests / Tests (pull_request) Successful in 15s
2024-12-07 14:25:08 -08:00
9befbe3833 Merge pull request 'Add private field to video endpoints' (#147) from loewy/add-private-to-operations into master
Reviewed-on: #147
2024-12-05 16:31:25 -07:00
68a4c064f3 add private field to video endpoints
All checks were successful
Tests / Tests (pull_request) Successful in 16s
2024-12-05 15:30:16 -08:00
54fd741670 Merge pull request 'Request additional medals in operations' (#146) from loewy/request-new-medals-in-operation into master
Reviewed-on: #146
2024-12-05 14:57:41 -07:00
2f9e630de4 new assets for medals
All checks were successful
Tests / Tests (pull_request) Successful in 17s
2024-12-05 13:47:47 -08:00
5efd8ef8e5 Merge pull request 'Remove distance 60 from operation' (#145) from loewy/remove-distance-60-from-request into master
Reviewed-on: #145
2024-12-04 15:00:27 -07:00
6ad3d449d8 remove distance 60 from operation
All checks were successful
Tests / Tests (pull_request) Successful in 9s
2024-12-04 13:59:51 -08:00
8fe20d1c41 Merge pull request 'Add editShotData types' (#144) from mk/edit-shot-data into master
Reviewed-on: #144
2024-12-02 20:01:53 -07:00
e151f39582 Add edit shot data stuff
All checks were successful
Tests / Tests (pull_request) Successful in 5s
2024-12-02 18:57:36 -08:00
f136ddb9ca Merge pull request 'Replaces interval with datetime range' (#143) from mk/fix-medal-time-input into master
Reviewed-on: #143
2024-11-26 14:21:16 -07:00
5d05614e07 Replaces interval with datetime range
All checks were successful
Tests / Tests (pull_request) Successful in 17s
2024-11-26 13:19:33 -08:00
c4c3ccde00 id in homography 2024-11-25 14:53:41 -08:00
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
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
056120a68a Merge pull request 'Add operation for FindPrerecordTableLayoutMutation + HomographyInfoGql fragment' (#121) from loewy/add-operation-check-homography into master
Reviewed-on: #121
2024-11-07 16:51:16 -07:00
bd7ffa7fdb add operation
All checks were successful
Tests / Tests (pull_request) Successful in 10s
2024-11-07 15:45:03 -08:00
ec58923c65 Add id to homography info gql 2024-11-07 16:29:33 -07:00
63869cd7ca Rename checkHomographyIsValid to findPrerecordTableLayout 2024-11-07 15:55:23 -07:00
08ae9611cf Add id to video processing gql 2024-11-07 15:52:07 -07:00
4e610b7df2 Merge pull request 'Return video processing status in feed' (#119) from kat/current-processing into master
Reviewed-on: #119
2024-11-06 22:41:30 -07:00
2d6d3964ad Return video processing status in feed
All checks were successful
Tests / Tests (pull_request) Successful in 8s
2024-11-06 22:40:18 -07:00
73a58de36e Merge pull request 'Make check homography mutation' (#118) from mk/make-homography-mutation into master
Reviewed-on: #118
2024-11-06 17:26:27 -07:00
dc6f246489 Make check homography mutation
All checks were successful
Tests / Tests (pull_request) Successful in 16s
2024-11-06 16:25:23 -08:00
c0a3aa97dc Merge pull request 'Add getShotsWithJustIds' (#117) from loewy/update-get-shots-with-video-ids into master
Reviewed-on: #117
2024-11-06 16:32:59 -07:00
f4e43b24f2 add getShotsWithJustIds
All checks were successful
Tests / Tests (pull_request) Successful in 15s
2024-11-06 14:58:32 -08:00
22 changed files with 13793 additions and 1047 deletions

5423
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -12,10 +12,10 @@
"author": "Ivan Malison <IvanMalison@gmail.com>",
"license": "MIT",
"dependencies": {
"@apollo/client": "^3.9.2",
"@apollo/client": "^3.11.10",
"@graphql-codegen/cli": "^5.0.0",
"@graphql-codegen/typescript": "^4.0.1",
"@graphql-codegen/typescript-operations": "^4.0.1",
"@graphql-codegen/typescript-operations": "^5.0.4",
"@graphql-codegen/typescript-react-apollo": "^4.2.0",
"graphql": "^16.8.1",
"pbjs": "^0.0.14",

View File

@@ -1,9 +1,16 @@
# see: https://www.apollographql.com/docs/react/local-state/managing-state-with-field-policies/
directive @client on FIELD
type SegmentInfo {
index: Int!
time: Float!
}
extend type ShotGQL {
startTime: Float!
endTime: Float!
startSegment: SegmentInfo!
endSegment: SegmentInfo!
}
extend type UploadStreamGQL {

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,282 @@
query GetChallenges {
challenges {
id
name
description
minimumShots
startDate
endDate
createdAt
updatedAt
requiredTableSize
requiredPocketSize
isPublic
maxAttempts
ruleSet {
id
name
description
}
createdBy {
id
username
profileImageUri
}
}
}
query GetMyDismissedChallenges {
myDismissedChallenges {
id
name
description
minimumShots
startDate
endDate
createdAt
updatedAt
requiredTableSize
requiredPocketSize
isPublic
maxAttempts
ruleSet {
id
name
description
}
createdBy {
id
username
profileImageUri
}
}
}
query GetChallenge($id: ID!) {
challenge(id: $id) {
id
name
description
minimumShots
startDate
endDate
createdAt
updatedAt
requiredTableSize
requiredPocketSize
isPublic
maxAttempts
participantCount
ruleSet {
id
name
description
}
createdBy {
id
username
profileImageUri
}
invitations {
id
status
createdAt
invitee {
id
username
profileImageUri
}
inviter {
id
username
profileImageUri
}
}
}
}
query GetRuleSets {
ruleSets {
id
name
description
}
}
query GetChallengeLeaderboard($challengeId: ID!, $limit: Int) {
challengeLeaderboard(challengeId: $challengeId, limit: $limit) {
id
status
shotsCount
makesCount
makeRate
qualified
createdAt
attemptCount
user {
id
username
profileImageUri
}
video {
id
createdAt
}
}
}
query GetMyChallengeInvitations {
myChallengeInvitations {
id
status
createdAt
challenge {
id
name
description
startDate
endDate
createdBy {
id
username
profileImageUri
}
}
inviter {
id
username
profileImageUri
}
}
}
query GetMyChallengeEntries {
myChallengeEntries {
id
status
shotsCount
makesCount
makeRate
qualified
createdAt
challenge {
id
name
}
video {
id
}
}
}
mutation CreateRuleSet($name: String!, $description: String) {
createRuleSet(name: $name, description: $description) {
id
name
description
}
}
mutation CreateChallenge(
$name: String!
$ruleSetId: ID!
$minimumShots: Int!
$startDate: DateTime!
$endDate: DateTime!
$description: String
$requiredTableSize: Float
$requiredPocketSize: Float
$isPublic: Boolean! = false
$maxAttempts: Int
) {
createChallenge(
name: $name
ruleSetId: $ruleSetId
minimumShots: $minimumShots
startDate: $startDate
endDate: $endDate
description: $description
requiredTableSize: $requiredTableSize
requiredPocketSize: $requiredPocketSize
isPublic: $isPublic
maxAttempts: $maxAttempts
) {
id
name
description
requiredTableSize
requiredPocketSize
isPublic
maxAttempts
}
}
mutation InviteUsersToChallenge($challengeId: ID!, $userIds: [ID!]!) {
inviteUsersToChallenge(challengeId: $challengeId, userIds: $userIds) {
id
status
inviter {
id
username
}
}
}
mutation RespondToChallengeInvitation($invitationId: ID!, $accept: Boolean!) {
respondToChallengeInvitation(invitationId: $invitationId, accept: $accept) {
id
status
challenge {
id
}
}
}
mutation StartChallenge($challengeId: ID!) {
startChallenge(challengeId: $challengeId) {
id
status
createdAt
challenge {
id
name
}
}
}
mutation SubmitChallengeEntry($entryId: ID!, $videoId: ID!) {
submitChallengeEntry(entryId: $entryId, videoId: $videoId) {
id
status
qualified
makeRate
shotsCount
makesCount
video {
id
}
}
}
mutation RecalculateChallengeEntry($entryId: ID!) {
recalculateChallengeEntry(entryId: $entryId) {
id
status
qualified
makeRate
shotsCount
makesCount
}
}
query IsChallengeDismissed($challengeId: ID!) {
isChallengeDismissed(challengeId: $challengeId)
}
mutation DismissChallenge($challengeId: ID!) {
dismissChallenge(challengeId: $challengeId)
}
mutation UndismissChallenge($challengeId: ID!) {
undismissChallenge(challengeId: $challengeId)
}

View File

@@ -0,0 +1,19 @@
mutation CommentOnVideo(
$videoId: Int!
$message: String!
$parentCommentId: Int
) {
commentOnVideo(
videoId: $videoId
message: $message
parentCommentId: $parentCommentId
)
}
mutation EditComment($videoId: Int!, $commentId: Int!, $newMessage: String!) {
editComment(videoId: $videoId, commentId: $commentId, newMessage: $newMessage)
}
mutation DeleteComment($videoId: Int!, $commentId: Int!) {
deleteComment(videoId: $videoId, commentId: $commentId)
}

View File

@@ -5,5 +5,14 @@ query getDeployedConfig {
environment
firebase
minimumAllowedAppVersion
subscriptionGatingEnabled
bannerMessages {
color
dismissible
id
kind
message
priority
}
}
}

View File

@@ -0,0 +1,15 @@
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

@@ -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
@@ -40,6 +15,13 @@ query GetFeed(
}
}
fragment UserSocialsFields on UserGQL {
id
username
profileImageUri
isFollowedByCurrentUser
}
fragment VideoCardFields on VideoGQL {
id
owner {
@@ -52,15 +34,20 @@ fragment VideoCardFields on VideoGQL {
totalShotsMade
totalShots
makePercentage
averageTimeBetweenShots
averageDifficulty
createdAt
updatedAt
startTime
endTime
private
elapsedTime
screenshotUri
stream {
id
lastIntendedSegmentBound
isCompleted
streamSegmentType
}
tableSize
tags {
@@ -69,14 +56,55 @@ fragment VideoCardFields on VideoGQL {
}
name
}
currentProcessing {
id
errors {
message
}
status
statuses {
status
}
}
reactions {
videoId
user {
...UserSocialsFields
}
reaction
}
comments {
id
message
user {
...UserSocialsFields
}
replies {
id
message
user {
...UserSocialsFields
}
}
}
}
query GetVideoFeed(
$limit: Int! = 5
$after: String = null
$filters: VideoFilterInput = null
$includeCallersVideos: Boolean = null
$includePrivate: IncludePrivateEnum = MINE
$feedInput: VideoFeedInputGQL = null
) {
getFeedVideos(limit: $limit, after: $after, filters: $filters) {
getFeedVideos(
limit: $limit
after: $after
filters: $filters
includeCallersVideos: $includeCallersVideos
includePrivate: $includePrivate
feedInput: $feedInput
) {
videos {
...VideoCardFields
}
@@ -84,5 +112,6 @@ query GetVideoFeed(
hasNextPage
endCursor
}
hasFollowing
}
}

View File

@@ -0,0 +1,32 @@
query GetMakesLeaderboard($interval: TimeInterval, $when: DateTime) {
getMakesLeaderboard(interval: $interval, when: $when) {
entries {
user {
id
username
profileImageUri
}
value
proportionMade
total
}
}
}
query GetRunsLeaderboard($interval: TimeInterval, $when: DateTime) {
getLongestRunsLeaderboard(interval: $interval, when: $when) {
entries {
id
runLength
video {
name
createdAt
}
user {
id
username
profileImageUri
}
}
}
}

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

@@ -0,0 +1,75 @@
fragment MedalFields on MedalGQL {
count
nickname
}
query getMedals($scope: MedalScope!, $userId: Int) {
getMedals(scope: $scope, userId: $userId) {
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
}
totalMakes500 {
...MedalFields
}
totalMakes1000 {
...MedalFields
}
totalMakes5000 {
...MedalFields
}
totalMakes10000 {
...MedalFields
}
dailyMakes50 {
...MedalFields
}
dailyMakes100 {
...MedalFields
}
dailyMakes150 {
...MedalFields
}
dailyMakes200 {
...MedalFields
}
dailyMakes250 {
...MedalFields
}
}
}

View File

@@ -0,0 +1,63 @@
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
challengeId
challenge {
id
name
}
comment {
id
message
user {
id
username
profileImageUri
}
}
reactionType
isRead
createdAt
readAt
}

View File

@@ -0,0 +1,65 @@
mutation EnsureStripeCustomerExists {
ensureStripeCustomerExists {
id
firebaseUid
username
stripeCustomerId
profileImageUri
isAdmin
fargoRating
videosPrivateByDefault
createdAt
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

@@ -0,0 +1,3 @@
mutation ReactToVideo($videoId: Int!, $reaction: ReactionEnum) {
reactToVideo(videoId: $videoId, reaction: $reaction)
}

67
src/operations/runs.gql Normal file
View File

@@ -0,0 +1,67 @@
query GetRunsForHighlights(
$filterInput: RunFilterInput!
$runIds: [Int!] = null
$runsOrdering: GetRunsOrdering
$limit: Int! = 500
$countRespectsLimit: Boolean! = false
) {
getRuns(
filterInput: $filterInput
runIds: $runIds
runsOrdering: $runsOrdering
limit: $limit
countRespectsLimit: $countRespectsLimit
) {
count
runs {
id
runLength
userId
videoId
shots {
videoId
id
}
}
runIds
}
}
fragment PocketingIntentionFragment on PocketingIntentionFeaturesGQL {
make
targetPocketDistance
targetPocketAngle
targetPocketAngleDirection
marginOfErrorInDegrees
intendedPocketType
difficulty
}
query GetRunsWithTimestamps(
$filterInput: RunFilterInput!
$runIds: [Int!] = null
$runsOrdering: GetRunsOrdering
) {
getRuns(
filterInput: $filterInput
runIds: $runIds
runsOrdering: $runsOrdering
) {
count
runs {
id
runLength
userId
videoId
shots {
videoId
id
createdAt
pocketingIntentionFeatures {
...PocketingIntentionFragment
}
}
}
runIds
}
}

View File

@@ -40,6 +40,7 @@ mutation UpdateShotAnnotations(
}
}
## Should be deprecated
query GetShotsWithVideoGql(
$filterInput: FilterInput!
$shotsOrdering: GetShotsOrdering
@@ -61,6 +62,26 @@ query GetShotsWithVideoGql(
}
}
query GetShotsWithJustIds(
$filterInput: FilterInput!
$shotsOrdering: GetShotsOrdering
$limit: Int
$countRespectsLimit: Boolean
) {
getOrderedShots(
filterInput: $filterInput
shotsOrdering: $shotsOrdering
limit: $limit
countRespectsLimit: $countRespectsLimit
) {
count
shots {
id
videoId
}
}
}
## Reserved for playlists (which are created from a filter)
query GetShotsWithMetadataFilterResult(
$filterInput: FilterInput!
@@ -118,6 +139,14 @@ fragment ShotWithAllFeatures on ShotGQL {
endFrame
startTime @client
endTime @client
startSegment @client {
index
time
}
endSegment @client {
index
time
}
user {
id
}
@@ -138,6 +167,7 @@ fragment ShotWithAllFeatures on ShotGQL {
targetPocketAngleDirection
marginOfErrorInDegrees
intendedPocketType
difficulty
}
pocketingIntentionInfo {
ballId
@@ -155,4 +185,26 @@ fragment ShotWithAllFeatures on ShotGQL {
}
notes
}
video {
id
stream {
id
streamSegmentType
}
playlist {
segmentDurations
}
}
}
mutation EditShot($shotId: Int!, $fieldsToEdit: EditableShotFieldInputGQL!) {
editShot(shotId: $shotId, fieldsToEdit: $fieldsToEdit) {
error {
shotId
msg
}
shot {
...ShotWithAllFeatures
}
}
}

7
src/operations/tags.gql Normal file
View File

@@ -0,0 +1,7 @@
mutation RetireTags($tagIds: [Int!]!) {
retireTags(tagIds: $tagIds)
}
mutation DeleteTags($videoId: Int!, $tagsToDelete: [VideoTagInput!]!) {
deleteTags(videoId: $videoId, tagsToDelete: $tagsToDelete)
}

View File

@@ -21,31 +21,24 @@ mutation getProfileImageUploadLink($fileExt: String = ".png") {
mutation editProfileImageUri($profileImageUri: String!) {
editProfileImageUri(profileImageUri: $profileImageUri) {
id
firebaseUid
username
profileImageUri
createdAt
updatedAt
...UserFragment
}
}
query getLoggedInUser {
getLoggedInUser {
id
firebaseUid
username
isAdmin
profileImageUri
fargoRating
activeVideoId
createdAt
updatedAt
...UserFragment
}
}
query GetUserPlayTime($userId: Int!) {
getPlayTime(userId: $userId) {
query GetUser($userId: Int!) {
getUser(userId: $userId) {
...UserFragment
}
}
query GetUserPlayTime($userId: Int!, $filters: VideoFilterInput) {
getPlayTime(userId: $userId, filters: $filters) {
totalSeconds
}
}
@@ -73,6 +66,7 @@ query getUserRelationshipsMatching(
relationships {
toUser {
username
profileImageUri
id
}
toUserFollows
@@ -85,6 +79,10 @@ query GetUserTags {
getUserTags {
id
name
tagClasses {
id
name
}
}
}
@@ -124,10 +122,12 @@ query getUserFollowingFollowers {
following {
id
username
profileImageUri
}
followers {
id
username
profileImageUri
}
}
}
@@ -135,3 +135,55 @@ query getUserFollowingFollowers {
query doesUsernameExist($candidateUsername: String!) {
doesUsernameExist(candidateUsername: $candidateUsername)
}
mutation editUser(
$username: String
$fargoRating: Int
$videosPrivateByDefault: Boolean
$agreesToMarketing: Boolean
) {
editUser(
input: {
username: $username
fargoRating: $fargoRating
videosPrivateByDefault: $videosPrivateByDefault
agreesToMarketing: $agreesToMarketing
}
) {
id
firebaseUid
username
fargoRating
updatedAt
videosPrivateByDefault
agreesToMarketing
}
}
mutation deleteUser {
deleteUser
}
fragment UserFragment on UserGQL {
id
firebaseUid
username
isAdmin
profileImageUri
fargoRating
activeVideoId
createdAt
updatedAt
videosPrivateByDefault
agreesToMarketing
}
query GetUsersMatching(
$matchString: String = null
$limit: Int = null
$after: String = null
) {
getUsersMatching(matchString: $matchString, limit: $limit, after: $after) {
...UserFragment
}
}

View File

@@ -5,44 +5,7 @@ query GetStreamMonitoringDetails($videoId: Int!, $debuggingJson: JSON) {
makePercentage
elapsedTime
currentHomography {
crop {
left
top
width
height
}
pockets {
left
top
width
height
}
sourcePoints {
topLeft {
x
y
}
topSide {
x
y
}
topRight {
x
y
}
bottomLeft {
x
y
}
bottomSide {
x
y
}
bottomRight {
x
y
}
}
...HomographyInfo
}
stream {
id
@@ -55,6 +18,7 @@ query GetStreamMonitoringDetails($videoId: Int!, $debuggingJson: JSON) {
initPlaylistUploadStatus
}
currentProcessing {
id
errors {
message
startSegmentIndex
@@ -72,6 +36,8 @@ query GetVideoUpdatePageDetails($videoId: Int!) {
makePercentage
elapsedTime
tableSize
pocketSize
private
tags {
tagClasses {
name
@@ -101,6 +67,8 @@ query GetVideoDetails($videoId: Int!) {
createdAt
updatedAt
tableSize
pocketSize
private
owner {
id
firebaseUid
@@ -116,6 +84,56 @@ query GetVideoDetails($videoId: Int!) {
}
}
fragment UserSocialsFields on UserGQL {
id
username
profileImageUri
isFollowedByCurrentUser
}
query GetVideoSocialDetailsById($videoId: Int!) {
getVideo(videoId: $videoId) {
id
name
screenshotUri
makePercentage
totalShots
owner {
id
firebaseUid
username
profileImageUri
}
tags {
tagClasses {
name
}
name
}
reactions {
videoId
user {
...UserSocialsFields
}
reaction
}
comments {
id
message
user {
...UserSocialsFields
}
replies {
id
message
user {
...UserSocialsFields
}
}
}
}
}
query GetVideos($videoIds: [Int!]!) {
getVideos(videoIds: $videoIds) {
...VideoStreamMetadata
@@ -154,45 +172,7 @@ query GetVideo($videoId: Int!) {
segmentDurations
}
homographyHistory {
frameIndex
crop {
left
top
width
height
}
pockets {
left
top
width
height
}
sourcePoints {
topLeft {
x
y
}
topSide {
x
y
}
topRight {
x
y
}
bottomLeft {
x
y
}
bottomSide {
x
y
}
bottomRight {
x
y
}
}
...HomographyInfo
}
stream {
id
@@ -288,3 +268,69 @@ query GetHeaderInfoByVideoId($videoId: Int!) {
startTime
}
}
query GetBannerInfoByVideoId($videoId: Int!) {
getVideo(videoId: $videoId) {
id
name
stream {
id
lastIntendedSegmentBound
}
owner {
id
}
currentProcessing {
id
status
}
}
}
mutation FindPrerecordTableLayout($b64Image: String!, $videoId: Int!) {
findPrerecordTableLayout(b64Image: $b64Image, videoId: $videoId) {
...HomographyInfo
}
}
fragment HomographyInfo on HomographyInfoGQL {
id
frameIndex
crop {
left
top
width
height
}
pockets {
left
top
width
height
}
sourcePoints {
topLeft {
x
y
}
topSide {
x
y
}
topRight {
x
y
}
bottomLeft {
x
y
}
bottomSide {
x
y
}
bottomRight {
x
y
}
}
}

View File

@@ -101,13 +101,8 @@ query GetUploadStreams(
}
}
}
query GetUploadStreamsWithDetails(
$limit: Int! = 5
$after: String = null
$filters: VideoFilterInput = null
) {
getUserVideos(limit: $limit, after: $after, filters: $filters) {
videos {
fragment UploadStreamWithDetails on VideoGQL {
id
name
startTime
@@ -117,6 +112,16 @@ query GetUploadStreamsWithDetails(
uploadCompletionCursor
uploadsCompleted
}
}
query GetUploadStreamsWithDetails(
$limit: Int! = 5
$after: String = null
$filters: VideoFilterInput = null
) {
getUserVideos(limit: $limit, after: $after, filters: $filters) {
videos {
...UploadStreamWithDetails
}
pageInfo {
hasNextPage

File diff suppressed because it is too large Load Diff

View File

@@ -10,10 +10,10 @@
"@jridgewell/gen-mapping" "^0.3.0"
"@jridgewell/trace-mapping" "^0.3.9"
"@apollo/client@^3.9.2":
version "3.9.2"
resolved "https://registry.yarnpkg.com/@apollo/client/-/client-3.9.2.tgz#96edf2c212f828bad1ef3d84234fa473c5a27ff8"
integrity sha512-Zw9WvXjqhpbgkvAvnj52vstOWwM0iedKWtn1hSq1cODQyoe1CF2uFwMYFI7l56BrAY9CzLi6MQA0AhxpgJgvxw==
"@apollo/client@^3.11.10":
version "3.12.3"
resolved "https://registry.yarnpkg.com/@apollo/client/-/client-3.12.3.tgz#0d252749baad8328e06883fe118dc7e73e3bbb1f"
integrity sha512-KZ5zymRdb8bMbGUb1wP2U04ff7qIGgaC1BCdCVC+IPFiXkxEhHBc5fDEQOwAUT+vUo9KbBh3g7QK/JCOswn59w==
dependencies:
"@graphql-typed-document-node/core" "^3.1.1"
"@wry/caches" "^1.0.0"
@@ -23,7 +23,7 @@
hoist-non-react-statics "^3.3.2"
optimism "^0.18.0"
prop-types "^15.7.2"
rehackt "0.0.3"
rehackt "^0.1.0"
response-iterator "^0.2.6"
symbol-observable "^4.0.0"
ts-invariant "^0.10.3"
@@ -603,6 +603,18 @@
lodash "~4.17.0"
tslib "~2.5.0"
"@graphql-codegen/plugin-helpers@^6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@graphql-codegen/plugin-helpers/-/plugin-helpers-6.0.0.tgz#8a913c82a95b9ff36b2180f7c56611cc56268625"
integrity sha512-Z7P89vViJvQakRyMbq/JF2iPLruRFOwOB6IXsuSvV/BptuuEd7fsGPuEf8bdjjDxUY0pJZnFN8oC7jIQ8p9GKA==
dependencies:
"@graphql-tools/utils" "^10.0.0"
change-case-all "1.0.15"
common-tags "1.8.2"
import-from "4.0.0"
lodash "~4.17.0"
tslib "~2.6.0"
"@graphql-codegen/schema-ast@^4.0.0":
version "4.0.0"
resolved "https://registry.yarnpkg.com/@graphql-codegen/schema-ast/-/schema-ast-4.0.0.tgz#5d60996c87b64f81847da8fcb2d8ef50ede89755"
@@ -612,16 +624,25 @@
"@graphql-tools/utils" "^10.0.0"
tslib "~2.5.0"
"@graphql-codegen/typescript-operations@^4.0.1":
version "4.0.1"
resolved "https://registry.yarnpkg.com/@graphql-codegen/typescript-operations/-/typescript-operations-4.0.1.tgz#930af3e2d2ae8ff06de696291be28fe7046a2fef"
integrity sha512-GpUWWdBVUec/Zqo23aFLBMrXYxN2irypHqDcKjN78JclDPdreasAEPcIpMfqf4MClvpmvDLy4ql+djVAwmkjbw==
"@graphql-codegen/schema-ast@^5.0.0":
version "5.0.0"
resolved "https://registry.yarnpkg.com/@graphql-codegen/schema-ast/-/schema-ast-5.0.0.tgz#9708d7484a01bb3a502685126708d7b139fd0721"
integrity sha512-jn7Q3PKQc0FxXjbpo9trxzlz/GSFQWxL042l0iC8iSbM/Ar+M7uyBwMtXPsev/3Razk+osQyreghIz0d2+6F7Q==
dependencies:
"@graphql-codegen/plugin-helpers" "^5.0.0"
"@graphql-codegen/typescript" "^4.0.1"
"@graphql-codegen/visitor-plugin-common" "4.0.1"
"@graphql-codegen/plugin-helpers" "^6.0.0"
"@graphql-tools/utils" "^10.0.0"
tslib "~2.6.0"
"@graphql-codegen/typescript-operations@^5.0.4":
version "5.0.4"
resolved "https://registry.yarnpkg.com/@graphql-codegen/typescript-operations/-/typescript-operations-5.0.4.tgz#052680d41f4bab3bb85af8e906c43bde29239e7b"
integrity sha512-5Bu/BTmyNjdSfSLLBKjC0+4XWcY01uotVcnVIWIxxRdIHoRxnTW6PUkT5CoPHP5r/Uoo3OvIJxh+0LYSH5suwA==
dependencies:
"@graphql-codegen/plugin-helpers" "^6.0.0"
"@graphql-codegen/typescript" "^5.0.4"
"@graphql-codegen/visitor-plugin-common" "6.1.2"
auto-bind "~4.0.0"
tslib "~2.5.0"
tslib "~2.6.0"
"@graphql-codegen/typescript-react-apollo@^4.2.0":
version "4.2.0"
@@ -645,6 +666,17 @@
auto-bind "~4.0.0"
tslib "~2.5.0"
"@graphql-codegen/typescript@^5.0.4":
version "5.0.4"
resolved "https://registry.yarnpkg.com/@graphql-codegen/typescript/-/typescript-5.0.4.tgz#a7f51505445568fd737b01ce7fad515c2b89897f"
integrity sha512-q6S8hX+aR4BzeGgolac4gp22rBnXbLhedmOwT1UBT9e3lGNmNpYC7WJUEzAPjWf6z1lRSNmojLlwEjTnffhKNA==
dependencies:
"@graphql-codegen/plugin-helpers" "^6.0.0"
"@graphql-codegen/schema-ast" "^5.0.0"
"@graphql-codegen/visitor-plugin-common" "6.1.2"
auto-bind "~4.0.0"
tslib "~2.6.0"
"@graphql-codegen/visitor-plugin-common@2.13.1":
version "2.13.1"
resolved "https://registry.yarnpkg.com/@graphql-codegen/visitor-plugin-common/-/visitor-plugin-common-2.13.1.tgz#2228660f6692bcdb96b1f6d91a0661624266b76b"
@@ -677,6 +709,22 @@
parse-filepath "^1.0.2"
tslib "~2.5.0"
"@graphql-codegen/visitor-plugin-common@6.1.2":
version "6.1.2"
resolved "https://registry.yarnpkg.com/@graphql-codegen/visitor-plugin-common/-/visitor-plugin-common-6.1.2.tgz#e614d6606402a152686d6f90e6363150a7a55bde"
integrity sha512-zYdrhJKgk8kqE1Xz5/m/Ua42zk+rIvYB/FHh3dE1AhZ6b1IDqgKjF3LnkT+K2qenf9EfT4yNjXd5CEKMeXfHyg==
dependencies:
"@graphql-codegen/plugin-helpers" "^6.0.0"
"@graphql-tools/optimize" "^2.0.0"
"@graphql-tools/relay-operation-optimizer" "^7.0.0"
"@graphql-tools/utils" "^10.0.0"
auto-bind "~4.0.0"
change-case-all "1.0.15"
dependency-graph "^1.0.0"
graphql-tag "^2.11.0"
parse-filepath "^1.0.2"
tslib "~2.6.0"
"@graphql-tools/apollo-engine-loader@^8.0.0":
version "8.0.0"
resolved "https://registry.yarnpkg.com/@graphql-tools/apollo-engine-loader/-/apollo-engine-loader-8.0.0.tgz#ac1f351cbe41508411784f25757f5557b0f27489"
@@ -1649,6 +1697,11 @@ dependency-graph@^0.11.0:
resolved "https://registry.yarnpkg.com/dependency-graph/-/dependency-graph-0.11.0.tgz#ac0ce7ed68a54da22165a85e97a01d53f5eb2e27"
integrity sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==
dependency-graph@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/dependency-graph/-/dependency-graph-1.0.0.tgz#bb5e85aec1310bc13b22dbd76e3196c4ee4c10d2"
integrity sha512-cW3gggJ28HZ/LExwxP2B++aiKxhJXMSIt9K48FOXQkm+vuG5gyatXnLsONRJdzO/7VfjDIiaOOa/bs4l464Lwg==
detect-indent@^6.0.0:
version "6.1.0"
resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.1.0.tgz#592485ebbbf6b3b1ab2be175c8393d04ca0d57e6"
@@ -2633,10 +2686,10 @@ regenerator-runtime@^0.14.0:
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f"
integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==
rehackt@0.0.3:
version "0.0.3"
resolved "https://registry.yarnpkg.com/rehackt/-/rehackt-0.0.3.tgz#1ea454620d4641db8342e2db44595cf0e7ac6aa0"
integrity sha512-aBRHudKhOWwsTvCbSoinzq+Lej/7R8e8UoPvLZo5HirZIIBLGAgdG7SL9QpdcBoQ7+3QYPi3lRLknAzXBlhZ7g==
rehackt@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/rehackt/-/rehackt-0.1.0.tgz#a7c5e289c87345f70da8728a7eb878e5d03c696b"
integrity sha512-7kRDOuLHB87D/JESKxQoRwv4DzbIdwkAGQ7p6QKGdVlY1IZheUnVhlk/4UZlNUVxdAXpyxikE3URsG067ybVzw==
relay-runtime@12.0.0:
version "12.0.0"