Skip to content

Conversation

@schottra
Copy link
Contributor

@schottra schottra commented Jul 17, 2024

Description

This is the first round in finishing up the user-related endpoint migrations. This PR lays most of the groundwork needed to do the actual swap from apiClient->sdk for instances where we call /users/... endpoints. It was already getting large, so I will do a follow-up PR with the rest of the work.

  • Remove some stray user endpoints that are unused in apiClient
  • Added transforms for all types involved in the /users/<id>/reposts endpoint (activity, track, collection, etc)
  • Fixed a number of incorrect types
  • Migrated a single call for fetching reposts to use SDK in order to validate the transforms
  • Misc. code cleanup related to SDK migration

How Has This Been Tested?

Tested locally against staging. Used compareSDKResponse to test the diff between legacy and migrated data and iterated until they matched sufficiently. Some newer fields are added in the SDK response and some previously mistyped fields differ in null vs. undefined.

@changeset-bot
Copy link

changeset-bot bot commented Jul 17, 2024

⚠️ No Changeset found

Latest commit: d571dfe

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@schottra schottra force-pushed the pay-2917-user-endpoints branch from b7fdd24 to b4f64f5 Compare July 23, 2024 15:10
@schottra schottra marked this pull request as ready for review July 23, 2024 16:16
@schottra schottra force-pushed the pay-2917-user-endpoints branch from 663ca31 to 7ba5b69 Compare July 23, 2024 16:17
@schottra schottra requested a review from sliptype July 23, 2024 16:18
@audius-infra
Copy link
Collaborator

Preview this change https://demo.audius.co/pay-2917-user-endpoints

* main:
  Fix type error from SDK update (#9245)
  Fix same day scheduled release on web (#9240)
  [PAY-3190] Improve profile page pull to refresh (#9241)
  [C-4841] Fix search v2 navigation on mobile (#9233)
  [C-4853] Mobile Edit Collection (#9237)
@audius-infra
Copy link
Collaborator

Preview this change https://demo.audius.co/pay-2917-user-endpoints

@audius-infra
Copy link
Collaborator

Preview this change https://demo.audius.co/pay-2917-user-endpoints

@schottra schottra changed the title Update remaining user endpoints to SDK Update users endpoints: round 1 Jul 24, 2024
Copy link
Contributor

@sliptype sliptype left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great! nice work

// Conversions
artist_pick_track_id: user.artist_pick_track_id
? decodeHashId(user.artist_pick_track_id)
artist_pick_track_id: input.artistPickTrackId
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice, i like that it's using input directly instead of after the snake_case conversion like before

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This actually turns out to be a good idea for another very important reason: snakecaseKeys is a deep operation by default and that messes up the logic of nested adapters if they are expecting a full.* SDK object with camelCase keys! 😬

@@ -1,23 +1,28 @@
import { repostActivityFromSDK } from '@audius/common/adapters'
import {
UserCollection,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this still used in this file?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It was, but that last usage should have been updated with the rest of them. So good catch!

* code from causing errors.
* NOTE: Should always be called from within a saga.
*/
export function* checkSDKMigration<T extends object>({
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wait where did these migration utils go?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I removed checkSDKMigration because we're no longer doing the shadowing plan. compareSDKResponse is still available and I've been using that during migration to iterate until the adapters are correctly producing matching output. But we don't need the fancy wrappers with sentry logging anymore.

schottra added 2 commits July 30, 2024 16:44
* origin/main: (69 commits)
  Update dn models (#9291)
  [PAY-3260] Use 'Today' for matching release dates (#9292)
  [PAY-3258] BoxedTextField can error before form submission (#9305)
  [PAY-3248][PAY-3256][PAY-3234] Fix misc android issues (#9307)
  Premium extras updates (#9306)
  Silence request logs for python es client (#9301)
  [PAY-3263] add playlists & albums release date if null (#9304)
  Small FilterButton hover style tweak (#9303)
  [QA-1448] Fix user badge spacing (#9302)
  [C-4868] BPM validation (#9295)
  [C-4854] Add Premium Extras label (#9294)
  [PAY-3261] Update remix settings copy (#9299)
  Audius Protocol v0.6.158
  Longer deadline for fixing files (#9297)
  [PAY-3236][PAY-3242][PAY-3259] Fix play button in tracks table (#9288)
  [PAY-3240] Prevent wrong users from seeing /edit pages (#9298)
  PAY-3233 Disable reset on select field for AM/PM (#9296)
  [PAY-3249] Implement pnagD trending strategy (#9273)
  [PAY-3257] Default prices for premium albums/tracks (#9293)
  Pin Rust version to 1.79.0 (#9290)
  ...
@gitguardian
Copy link

gitguardian bot commented Jul 30, 2024

⚠️ GitGuardian has uncovered 8 secrets following the scan of your pull request.

Please consider investigating the findings and remediating the incidents. Failure to do so may lead to compromising the associated services or software components.

🔎 Detected hardcoded secrets in your pull request
GitGuardian id GitGuardian status Secret Commit Filename
11648676 Triggered Generic High Entropy Secret 619d7b4 core/infra/dev_config/discovery-one.env View secret
11648676 Triggered Generic High Entropy Secret 619d7b4 core/infra/dev_config/discovery-one.docker.env View secret
11648678 Triggered Generic High Entropy Secret 619d7b4 core/infra/dev_config/content-three.env View secret
11648678 Triggered Generic High Entropy Secret 619d7b4 core/infra/dev_config/content-three.docker.env View secret
11648679 Triggered Generic High Entropy Secret 619d7b4 core/infra/dev_config/content-two.docker.env View secret
11648679 Triggered Generic High Entropy Secret 619d7b4 core/infra/dev_config/content-two.env View secret
11648680 Triggered Generic High Entropy Secret 619d7b4 core/infra/dev_config/content-one.env View secret
11648680 Triggered Generic High Entropy Secret 619d7b4 core/infra/dev_config/content-one.docker.env View secret
🛠 Guidelines to remediate hardcoded secrets
  1. Understand the implications of revoking this secret by investigating where it is used in your code.
  2. Replace and store your secrets safely. Learn here the best practices.
  3. Revoke and rotate these secrets.
  4. If possible, rewrite git history. Rewriting git history is not a trivial act. You might completely break other contributing developers' workflow and you risk accidentally deleting legitimate data.

To avoid such incidents in the future consider


🦉 GitGuardian detects secrets in your source code to help developers and security teams secure the modern development process. You are seeing this because you or someone else with access to this repository has authorized GitGuardian to scan your pull request.

Co-authored-by: Sebastian Klingler <sliptype@gmail.com>
@audius-infra
Copy link
Collaborator

Preview this change https://demo.audius.co/pay-2917-user-endpoints

@schottra schottra merged commit 885479a into main Jul 30, 2024
@schottra schottra deleted the pay-2917-user-endpoints branch July 30, 2024 21:25
schottra added a commit that referenced this pull request Jul 30, 2024
…ent-user

* origin/main: (74 commits)
  Update users endpoints: round 1 (#9166)
  PAY-3280 Fix gated access display (#9311)
  [PAY-3276] No scheduled playlists (#9312)
  [PAY-3262] Fix edit new playlist (#9309)
  Makefile improvements to core (#9300)
  Update dn models (#9291)
  [PAY-3260] Use 'Today' for matching release dates (#9292)
  [PAY-3258] BoxedTextField can error before form submission (#9305)
  [PAY-3248][PAY-3256][PAY-3234] Fix misc android issues (#9307)
  Premium extras updates (#9306)
  Silence request logs for python es client (#9301)
  [PAY-3263] add playlists & albums release date if null (#9304)
  Small FilterButton hover style tweak (#9303)
  [QA-1448] Fix user badge spacing (#9302)
  [C-4868] BPM validation (#9295)
  [C-4854] Add Premium Extras label (#9294)
  [PAY-3261] Update remix settings copy (#9299)
  Audius Protocol v0.6.158
  Longer deadline for fixing files (#9297)
  [PAY-3236][PAY-3242][PAY-3259] Fix play button in tracks table (#9288)
  ...
audius-infra pushed a commit that referenced this pull request Aug 3, 2024
[7e9ef50] [C-4681] [C-4680] Add analytics for search v2 (#9363) Sebastian Klingler
[d9b0c78] [PAY-3279] Fix misc web album UI issues (#9362) Raymond Jacobson
[1b494ff] Improve SDK rewards claiming errors with RewardManagerError abstraction (#9214) Marcus Pasell
[05720e3] [C-4891] Add artist pick to mobile (#9359) Dylan Jeffers
[932ddc7] Add cors headers for actions (#9360) Raymond Jacobson
[56409de] [C-4798] Filter all categories by verified (#9353) Sebastian Klingler
[048a4d8] [PAY-3253] Fix confirmation drawer height (#9310) Dylan Jeffers
[245baf4] [C-4915] Fix create collection card height (#9357) Dylan Jeffers
[216a3fb] [C-4895] Fix profile screen verified badge (#9356) Dylan Jeffers
[9500340] [C-4899] Fix isrc and iswc validation (#9352) Dylan Jeffers
[7c780e8] Fix sign in (#9355) Dylan Jeffers
[654e7a1] Add IconTowerBroadcast to harmony (#9354) Andrew Mendelsohn
[a225c68] [PAY-3311] Create one_to_many_dms flag (#9351) Andrew Mendelsohn
[6271d09] [C-4896] [C-4893] [C-4913] BPM precision adjustments (#9349) Sebastian Klingler
[dc2a681] Remove null checks for metadata items in useXMetadata (#9350) Reed
[06cbc13] Hide play counts for all gated content in TracksTable (#9347) Reed
[4de149f] [C-4897] Improve empty edit collection page (#9346) Dylan Jeffers
[67cbdfe] Update dapp-store build artifacts audius-infra
[f1d908b] Fix show premium downloads message (#9344) Saliou Diallo
[34445b8] [C-3907] Add empty state for artist results in sign up flow (#9343) Kyle Shanks
[dc84357] add bpm edit flag col (#9324) Michelle Brier
[b50abba] Add actions.json to cloudflare (#9341) Raymond Jacobson
[8e9f6c3] [PAY-3283] Show high res artwork in edit (#9342) Raymond Jacobson
[e91b12a] [C-4905] Fix app crash when navigating to let them dj when signed out (#9340) Kyle Shanks
[8dbbd21] Add actions.json for solana blink support (#9331) Raymond Jacobson
[3e70a7f] [QA-1374] Fix play/preview logic on track page (#9337) Dylan Jeffers
[1e35fc3] [PAY-3298] Fix track preview generation (#9339) Dylan Jeffers
[6867056] [C-4903] Update icon sizes for collection card actions and notifications (#9338) Kyle Shanks
[6c7a231] [PAY-3271] Prevent navigation prompt from showing on delete (#9336) Andrew Mendelsohn
[e1b8690] PAY-3290 Special Access should disable entirely (#9334) Marcus Pasell
[0a64f84] PAY-3291 Don't show purchase in overflow menu for non-purchase-gated tracks (#9335) Marcus Pasell
[0b2c061] PAY-3287 Validate main form on submitting access gate subform mobile (#9332) Marcus Pasell
[9e81415] PAY-3288 Fix edit collection confirmations on mobile (#9330) Marcus Pasell
[a3bfb57] Fix CollectionCard test (#9329) Sebastian Klingler
[e6374bc] [PAY-3282] Prevent publishing 0 length playlist (#9328) Raymond Jacobson
[b799fcb] typescript impl of R2(crc32) + R2(sha256) ordering. (#8942) Steve Perkins
[eb8724e] PAY-3275 Portal drawers to the correct location (#9325) Marcus Pasell
[f404f01] Remove legacy edit track (#9323) Andrew Mendelsohn
[11f0ed5] [PAY-3274] Show 'releases today' on mobile (#9314) Andrew Mendelsohn
[18f4bea] [PAY-3197] Remove gated-content-upload-prompt drawer (#9318) Reed
[c36b94c] C-4894 Make edit track/edit collection use same buttons (#9321) Marcus Pasell
[1b6a1b7] Migrate sign out confirmation drawer to harmony (#9320) Reed
[7c8a654] [PAY-3254] Fix edit remix (#9322) Dylan Jeffers
[9bd24c8] [C-4885] [C-4888] [C-4889] [C-4882] [C-4883] Advanced search UI fixes pt 3 (#9317) Sebastian Klingler
[619da11] Fix "date required" error when selecting date (#9315) Dylan Jeffers
[c29f8f8] [PAY-3277] Show release date for all public tracks/collections (#9313) Reed
[885479a] Update users endpoints: round 1 (#9166) Randy Schott
[8618e3c] PAY-3280 Fix gated access display (#9311) Marcus Pasell
[69e76c7] [PAY-3276] No scheduled playlists (#9312) Dylan Jeffers
[91197d4] [PAY-3262] Fix edit new playlist (#9309) Dylan Jeffers
[1c61e0b] Update dn models (#9291) Randy Schott
[cf20265] [PAY-3260] Use 'Today' for matching release dates (#9292) Andrew Mendelsohn
[3290d1e] [PAY-3258] BoxedTextField can error before form submission (#9305) Saliou Diallo
[1dd131f] [PAY-3248][PAY-3256][PAY-3234] Fix misc android issues (#9307) Raymond Jacobson
[782e9d9] Premium extras updates (#9306) Dylan Jeffers
[61cc53a] Small FilterButton hover style tweak (#9303) Sebastian Klingler
[f7cf7d1] [QA-1448] Fix user badge spacing (#9302) Kyle Shanks
[5af538a] [C-4868] BPM validation (#9295) Sebastian Klingler
[22ca755] [C-4854] Add Premium Extras label (#9294) Dylan Jeffers
[b66ca17] [PAY-3261] Update remix settings copy (#9299) Raymond Jacobson
[f713455] [PAY-3236][PAY-3242][PAY-3259] Fix play button in tracks table (#9288) Saliou Diallo
[d87357e] [PAY-3240] Prevent wrong users from seeing /edit pages (#9298) Raymond Jacobson
[8b92b23] PAY-3233 Disable reset on select field for AM/PM (#9296) Marcus Pasell
[3a63fbb] [PAY-3257] Default prices for premium albums/tracks (#9293) Andrew Mendelsohn
[7d41d87] [C-4836] Adjust FilterButton active states (#9289) Sebastian Klingler
[f680c81] [QA-1473] Fix duplicate purchase button in TracksTable row (#9284) Sebastian Klingler
[97bf97d] Fix use-revert-on-cancel (#9286) Dylan Jeffers
[2b9b811] Bump mobile to 109 (#9283) Dylan Jeffers
[68ebca7] Update copy for preview length (#9280) Sebastian Klingler
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants