Claudio Ortolina
084ec04079
Add prod tests for cover URLs
2024-12-22 22:20:29 +00:00
Claudio Ortolina
97f26e0cd2
Serve covers under API namespace as well
2024-12-22 22:15:24 +00:00
Claudio Ortolina
c92e7cc76a
Add HURL production test suite
2024-12-22 18:50:30 +00:00
Claudio Ortolina
f1af38606a
Protect API behind a bearer token
2024-12-22 18:32:04 +00:00
Claudio Ortolina
cf3761ca79
Fold RequireLogin plug into Auth module
2024-12-22 16:12:31 +00:00
Claudio Ortolina
341d276db5
Include artists and cover in latest record JSON
2024-12-22 15:55:41 +00:00
Claudio Ortolina
53e8d88b6a
Rename auth_password -> login_password
2024-12-21 14:57:44 +00:00
Claudio Ortolina
4f456322fc
Bootstrap the /api namespace
2024-12-21 14:38:39 +00:00
Claudio Ortolina
9dce1cacb9
Where possible, use built-in JSON instead of Jason
...
Note that it's not possible to replace any call where we encode and
pretty print, as JSON doesn't have such functionality.
2024-12-19 20:18:09 +00:00
Claudio Ortolina
53b89dc329
Extract Artists context
2024-12-18 11:12:06 +00:00
Claudio Ortolina
019d2fb7f2
Reduce size of test data in stats test
...
Test is equally effective and a few times faster.
2024-12-15 18:57:48 +03:00
Claudio Ortolina
e4fe4e7f4b
Cache images for 24 hours
2024-12-15 12:09:29 +03:00
Claudio Ortolina
6660d195e4
Decrease visible records per page
...
After months of usage, I rarely paginate the list, so it's not necessary
to load 100 at a time. 20 is enough.
By matching 20 records with a 20 pool size, we should keep the repo
queue time to a minimum.
2024-12-15 11:15:46 +03:00
Claudio Ortolina
3fbd6ba1bf
Use release and release group fixtures with names everywhere
2024-12-14 23:52:09 +03:00
Claudio Ortolina
4ede4e3736
Add test for importing a record from scrobble activity
2024-12-14 23:41:39 +03:00
Claudio Ortolina
a19d42ae30
Add more fixtures for release groups and releases
2024-12-14 23:24:21 +03:00
Claudio Ortolina
632f5c4661
Include album names in mb fixtures
2024-12-14 23:19:14 +03:00
Claudio Ortolina
2fbe9db016
Refactor test to extract data dependencies
2024-12-14 17:16:55 +03:00
Claudio Ortolina
f7045a9f14
Extend testing of artist page
2024-12-13 22:25:06 +03:00
Claudio Ortolina
c2ccb7dde2
Add LastFm.Feed.all_artists/0 and LastFm.Feed.all_albums/0
2024-12-10 14:57:28 +03:00
Claudio Ortolina
a6e1e4e34a
Renamte LastFm.Feed.all/0 to LastFm.Feed.all_tracks/0
2024-12-10 14:57:06 +03:00
Claudio Ortolina
1c47473c11
Move SQLite extension loading to config/runtime.exs
...
Addresses deprecation mentioned at https://hexdocs.pm/ecto/Ecto.Repo.html#c:init/2
2024-12-07 20:29:33 +01:00
Claudio Ortolina
11ebd0b6de
Add test to verify correct loading of SQLite extension
2024-12-07 19:45:06 +01:00
Claudio Ortolina
8350ffd3a4
To get artist info, try mbid and then artist name
2024-12-04 21:07:56 +00:00
Claudio Ortolina
e1dc2bfc7f
Make MusicBrainz user agent configurable
2024-12-04 10:44:31 +00:00
Claudio Ortolina
7575e5978a
Extract config for MusicBrainz
2024-12-04 10:33:41 +00:00
Claudio Ortolina
14518870a0
Make LastFm user agent configurable
2024-12-04 10:07:25 +00:00
Claudio Ortolina
0cae20a390
Add LastFm.Config test
...
It might seem redundant, but helps with refactoring down the line.
2024-12-04 09:58:42 +00:00
Claudio Ortolina
bef38967a1
Stub artist show test
2024-12-03 20:16:35 +00:00
Claudio Ortolina
26e96994a4
Use full content for bio
2024-12-03 09:58:24 +00:00
Claudio Ortolina
ab7a8eeb5a
Add play count to LastFm.Artist
2024-12-03 09:40:17 +00:00
Claudio Ortolina
ccefc6e697
Update to new interpolation syntax
...
Includes a fix to a brittle test that failed due to changes in the
number of linebreaks.
2024-12-03 00:08:32 +00:00
Claudio Ortolina
18df3683fc
Render a minimal artist page
2024-12-02 17:35:47 +00:00
Claudio Ortolina
2d721774d6
Can fetch an artist info from Last.fm
2024-12-02 12:40:07 +00:00
Claudio Ortolina
b63b3a633a
Can fetch records by a specific artist
2024-12-02 10:55:12 +00:00
Claudio Ortolina
963b3c826f
Extract Records.Artist
2024-12-02 10:55:12 +00:00
Claudio Ortolina
228b4bc440
Use musicbrainz_id as a key for embedded artists
2024-12-02 09:23:13 +00:00
Claudio Ortolina
c71f740eec
Update and format JSON fixture files
2024-12-01 12:17:49 +00:00
Claudio Ortolina
cf51cab7ce
Add basic test for Records.Cover module
2024-11-29 22:08:40 +00:00
Claudio Ortolina
d9773bf45d
Improve test description
2024-11-29 17:21:42 +00:00
Claudio Ortolina
f0212eeb6f
Consolidate cover resize logic
...
Moves resizing out of the MusicBrainz namespace to Records - which
improves division of responsibilities, and removes double resizing
during import.
2024-11-26 08:35:16 +00:00
Claudio Ortolina
eef60a66a8
Shorten "No MusicBrainz ID" -> "No MB ID"
...
So that it's inline with other UI elements, and fits nicely in mobile UI
2024-11-26 08:03:34 +00:00
Claudio Ortolina
7258519cf2
Remove ' as it breaks a full text query
...
Query: SELECT count(*) FROM "records_search_index" AS r0
WHERE (NOT (r0."purchased_at" IS NULL))
AND (records_search_index = '"Larks' Tongues in Aspic"*')
Needs escaping.
2024-11-23 23:19:08 +00:00
Claudio Ortolina
b2e1f1f8d1
Index records by type to improve query perf
2024-11-23 23:16:24 +00:00
Claudio Ortolina
93b347ad8d
Add badge for tracks whose albums cannot be imported
...
Includes a small optimization that removes "" release IDs from the list
of IDs checked against releases in the database.
2024-11-23 22:57:25 +00:00
Claudio Ortolina
2e2000fe01
Introduce separate search index
...
Uses a fts5 virtual table, kept up to date via triggers on the records
table.
2024-11-22 19:37:13 +00:00
Claudio Ortolina
0073b15125
Fix unused variable warnings
2024-11-21 09:38:42 +00:00
Claudio Ortolina
81e332d00d
Fix sr text for wishlisting from scrobble activity
...
Includes an integration test for the scrobble activity feed.
2024-11-21 09:20:36 +00:00
Claudio Ortolina
5ec3b67c08
Add wishlist purchasing test
2024-11-20 18:37:16 +00:00
Claudio Ortolina
5b3aab51ed
Change routes from "/records/*" to "/collection/*"
2024-11-20 15:43:25 +00:00