Commit Graph
64 Commits
Author SHA1 Message Date
sentriz 5700558a3f swap order of require.Equal() args
we had the order of require.Equal() arguments mixed up. it should be
(expected, actual) not the other way around

updated with

    find . -name "*_test.go" -exec gofmt -r "require.Equal(a, b) -> require.Equal(b, a)" -w '{}' \+
2023-08-15 22:38:38 +01:00
sentriz c5cac5b987 auto migrate plays before migration 2023-06-30 16:12:42 +01:00
7982ffc0b4 feat(subsonic): change frequent album list to use total time played per album instead of play count. (#331)
Co-authored-by: Brian Doherty <brian@mediaserver.dohertyfamily.me>
2023-06-29 21:11:15 +00:00
Gregor ZurowskiandGitHub 85eeb860bf feat(ci): update golangci-lint and action (#325)
* Update linter

- Update Github golangci-lint-action to v3
- Update golangci-lint to v1.52.2

* Fix linter issues after updating to linter 1.52.2
2023-05-19 12:05:14 +00:00
Gregor ZurowskiandGitHub b7a50ee9cb use testify for all tests (#319)
* Use Testify for all tests

* Terminate failing non-relaxed tests using `require`
2023-05-13 15:17:37 +00:00
sentriz 7dc9575e52 feat: store and use m3u files on filesystem for playlists
closes #306
closes #307
closes #66
2023-05-06 18:42:52 +01:00
Senan KellyandGitHub 74de06430a refactor: consolidate specid <-> filesystem mapping and always use abs paths (#309) 2023-04-22 17:23:17 +00:00
Brian Dohertyandsentriz aecee3d2d8 feat(subsonic): add support for podcast episodes in both playlists and play queues 2023-02-19 17:56:45 +00:00
sentriz 8dc58c71a4 fix(subsonic): send valid content-type with http.ServeStream 2022-12-27 23:10:20 +00:00
sentriz 986fcd2270 use a switch/case for get mime 2022-11-16 19:40:40 +00:00
sentriz 1f8de66fc0 2022-11-03 15:27:59 +00:00
e8759cb6c1 feat(subsonic): add support for track/album/artist ratings/stars
fixes #171
fixes #31

* Initial code. Compiles and passes unit tests.

* Moved average rating calculation from rating fetch to set rating function. Still only compiled and unit tested.

* Bug fixes

* Fixed bug in savePlayQueue. Removed unique_index for star / rating entries because it's not valid.

* Changed time format on stars to RFC3339Nano to match created date format.

* Lint fixes.

* More lint fixes.

* Removed add* functions and replaced with Preload.

* Fixed several bugs in handlers for getStarred and getStarred2.

* Fixed bug when using music folder ID.

Co-authored-by: Brian Doherty <brian@hplaptop.dohertyfamily.me>
2022-10-26 14:37:16 +01:00
sentriz fdbb28209b fix(scanner): fix records with album name same as artist
and never use db.Where() with a struct

gorm was seeing a query like

    db.Where(Album{Left: left, Right: right})

but if the `left` variable was empty, gorm couldn't differentiate it with an empty field in the struct
so it generated SQL that we weren't expected

like

    SELECT * FROM albums WHERE right=?

instead of

    SELECT * FROM albums WHERE left=? AND right=?

fixes #230
2022-09-09 13:09:06 +01:00
Brian Dohertyandsentriz 5e66261f0c feat(subsonic): add avatar support
closes: #228
2022-07-20 23:18:35 +01:00
brian-dohertyandsentriz 7ab378accb feat(subsonic): add internet radio support
* Initial commit of internet radio support.

* Added first test for internet radio.

* Refactor to prepare for more test cases.

* Added a few more tests. Realized that I was not calling as admin so added ability to mock admin.

* Added more internet radio tests. Added proper JSON unmarshaling for ID.

* More test cases. Fixed some accidental tabs in files.

* Fixed some more tabs.

* lint fixes

* Changed placeholder for homepage URL to fit into box.

* Finished out internet radio test cases. Found a few bad error codes in internet radio AND podcasts (mea culpa).

* Realized that delete via website was not checking properly if id existed. Fixed.

gofmt
2022-06-21 22:33:21 +01:00
brian-dohertyandsentriz 182c96e966 refactor(podcast)!: make podcasts global not per user, to match spec
Release-As: 0.15.0
2022-05-03 22:42:03 +01:00
brian-dohertyandGitHub f6687df3f3 feat(subsonic): add getNewestPodcasts 2022-04-21 20:13:47 +01:00
sentriz 8b803ecf20 refactor: move shared packages up a level 2022-04-13 01:10:46 +01:00
sentriz f52ce807af upgrade sqlite3 2020-04-25 01:55:46 +01:00
sentriz e966fffc21 set journal WAL in connection string, not command 2020-04-24 20:18:29 +01:00
sentriz 256143a025 move senan.xyz/g/ to go.senan.xyz 2020-04-02 16:46:04 +01:00
sentriz be3cf9a04e transcode pref: use uniq user & client, not client & profile
closes #48
2020-03-24 16:00:32 +00:00
sentriz 22992c9941 fixup! run gofumpt / format comments / comment blocks 2020-03-20 02:48:51 +00:00
sentriz 3a8e5b9205 run gofumpt / format comments / comment blocks 2020-03-12 15:17:36 +00:00
sentriz 14481aab87 use user selected profile for transcoding 2020-03-12 13:31:16 +00:00
sentriz 55bdc2884b add crud for custom transcode selection profile 2020-03-12 13:31:15 +00:00
sentriz 29e9abc1d4 scrobble with brainz trackid, not album id 2020-03-12 13:28:27 +00:00
Duncan Overbruck f03b615583 db: add genres table and genre id column to album and tracks 2020-03-03 13:40:23 +01:00
sentriz b677af43f0 return more child counts and format sql 2020-02-21 00:00:43 +00:00
sentriz 2c5970d77c update migration order 2020-02-20 00:31:13 +00:00
sentriz 8251f399f8 add init migrattions 2020-02-19 23:00:30 +00:00
sentriz a42edc3441 move models into db package 2020-02-19 20:08:37 +00:00
sentriz c84420fa4f implement get and set play queue 2020-02-09 16:50:02 +00:00
sentriz d9663e5b0a backend: Refactor playlits 2020-02-09 15:57:07 +00:00
sentriz 6193f1b37d add basic playlist 2019-11-24 15:21:58 +00:00
sentriz 310e752015 set PRAGMA=journal_mode=WAL 2019-07-31 15:11:51 +01:00
sentriz 34321ebfff add db tests 2019-07-08 13:00:02 +01:00
sentriz fd940cfc9c clean up scanner order and surface 2019-07-08 11:47:26 +01:00
sentriz 51b6565b91 use vanity url 2019-07-06 19:28:03 +01:00
sentriz b6b3043765 move get funcs to db 2019-07-06 13:49:30 +01:00
sentriz dbe7f1fb62 migrate on both binaries 2019-07-03 13:11:06 +01:00
sentriz 7842600e43 factor db creation to its own package 2019-07-03 11:41:02 +01:00
sentriz ad571ed7ab eg 2019-05-20 14:49:14 +01:00
sentriz 5c657d9630 cleanup 2019-05-17 13:14:51 +01:00
sentriz 5fae510958 add getAlbumList2 2019-05-15 16:03:31 +01:00
sentriz bd95806a23 dont insert if no need 2019-05-15 11:38:45 +01:00
sentriz 9992113e25 add browse by folder to scanner 2019-05-08 14:53:35 +01:00
sentriz 342928d608 clean scan 2019-05-07 14:10:47 +01:00
sentriz c9b0157333 add init browse by folder 2019-04-30 17:35:08 +01:00
sentriz de807902de delete handler test 2019-04-30 17:16:47 +01:00