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
brian-doherty
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 Zurowski
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 Zurowski
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 Kelly
74de06430a refactor: consolidate specid <-> filesystem mapping and always use abs paths (#309) 2023-04-22 17:23:17 +00:00
Brian Doherty
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
brian-doherty
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 Doherty
5e66261f0c feat(subsonic): add avatar support
closes: #228
2022-07-20 23:18:35 +01:00
brian-doherty
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-doherty
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-doherty
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