Fix ML-143 review: security, worker, and test improvements

Closes ML-143 review findings:
- cast_id/1 uses Integer.parse instead of String.to_integer
- add_to_cart validates against server-side release_groups
- JS.push payload trimmed to {id, format} only
- Oban.insert_all result checked for partial failures
- handle_async success resets @importing? to false
- ImportFromMusicbrainzReleaseGroup gets unique constraint
- Record.parse_datetime/1 made public with safe match
- Workers delegate to Record.parse_datetime/1
- Test coverage: change_format, clear_cart, wishlist single import
This commit is contained in:
Claudio Ortolina
2026-04-20 13:03:38 +01:00
parent 3f5ce060b1
commit c4ebe636ff
9 changed files with 228 additions and 66 deletions
+5
View File
@@ -2511,3 +2511,8 @@ msgstr ""
#, elixir-autogen, elixir-format
msgid "Your cart is empty"
msgstr ""
#: lib/music_library_web/components/add_record.ex
#, elixir-autogen, elixir-format
msgid "Error queuing records for import"
msgstr ""