-
Notifications
You must be signed in to change notification settings - Fork 126
Update dn models #9291
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update dn models #9291
Conversation
* origin/main: Audius Protocol v0.6.153 mutex around crc32 hasher (#9231) Improve logging spam situation (#9238) [C-4792] Disallow Add To Playlist for hidden tracks (#9236) [PAY-3176][PAY-3188][PAY-3193] Include premium tracks in DN playlists for owner (#9234) Remove use_sdk_purchase_track and use_sdk_purchase_album feature flags (#9192) Add ability to change playlist/track visibility w/ audius-cmd (#9094) Remove use_sdk_tips feature flag (and fix indexing check) (#9193) Pin docker-compose-plugin to fix env var issue (#9235) [QA-1449] [C-4808] Reassign playlist_contents in get_bulk_playlists (#9232) [C-4832] Fix missing play counts on track tiles (#9230) [QA-1442] Add offline indicator to collection card (#9227) [QA-1463] Change order of mobile action buttons (#9229)
* origin/main: (36 commits) [PAY-3265, PAY-3241] Disallow scheduled playlists in upload/edit; Fix mood placeholder (#9272) [C-4690] Wire up advanced search deep links (#9271) [C-4670] Fix track search with deleted premium stems (#9257) requery for audio analysis jobs every 15 min (#9265) [C-4874] Update time to 11:59 when scheduling for same day (#9266) Fix missing refactor bug (#9270) [PAY-3232] Fix hidden visibility bug when setting price and audience fields (#9268) Revert "Update models used in DN reposts endpoints" (#9269) [C-4840] Update search screen to auto focus the input (#9263) [C-4867] Fix collection release date timezone (#9267) [C-4866] Fix edit collection form submit (#9262) [PAY-3187] Fix messed up back button form state for payment settings (#9260) Upgrade vector to 0.39.0 (#9261) Move to all sha256 ordering (#9239) Audius Protocol v0.6.154 placement hosts analyze legacy audio analyses in addition to storeall node (#9259) [PAY-3196][PAY-3230] Fix miscellaneous editable access issues on mobile (#9258) mediorum configurable num workers (#9256) [C-4793, C-4791] Don't favorite hidden album tracks on purchase (#9254) [C-4863] Fix cascading publish on edit collection (#9249) ...
🦋 Changeset detectedLatest commit: 6352449 The changes in this PR will be included in the next version bump. This PR includes changesets to release 2 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
sliptype
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I feel like there are so many foot guns in the api.
But this all makes sense to me! nice work
| activities = list(map(extend_activity, reposts)) | ||
|
|
||
| return success_response(activities) | ||
| return success_response(list(map(make_polymorph_activity, activities))) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Neat 📸
|
|
||
|
|
||
| # Only to be used with `Polymorph` to map the returned classes to marshalling models | ||
| def make_polymorph_activity(activity: dict): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
makes sense
* 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) ...
…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) ...
[08addb9] [PAY-3194] Pipe through user_id param if specified for reposts endopint (#9316) Randy Schott [1c61e0b] Update dn models (#9291) Randy Schott [3a73860] Silence request logs for python es client (#9301) Steve Perkins [28b71e0] [PAY-3263] add playlists & albums release date if null (#9304) Raymond Jacobson
[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
Description
This is a redo of #9228 with a different approach to defining the models so that we don't end up with type errors during serialization.
There were two issues with the previous implementation:
If the value we pass to
success_responseisn't fully JSON-serializable on its own, it will cause an error. I did not notice thatsuccess_responsewill encode the entiredatafield before marshaling so that it can sign the result. Long term, this probably needs to be changed.The non-repost endpoints that don't use the
Polymorphfield will barf when they run into the special classes we use for the Polymorph mapping. So we need to only apply those class wrappers when serializing a list of reposts where we will use the Polymorph field.I've updated the approach to use a mapping function for just the reposts endpoint which will wrap the incoming dictionaries in our own classes which also extend
dict(so they are serializable). And I've restored the specialActivityItemandActivityItemFullclasses which correctly handle serialization of theitemproperty when using one of the models in the non-Polymorph case.This stuff is complicated!
How Has This Been Tested?
Spun up a local stack and hit all the endpoints that use these models to make sure they don't throw errors and return the expected shapes.