Deluan
c6f23139bc
Handle playlist's permissions on server
2020-06-05 11:55:29 -04:00
Deluan
331fa1d952
Add ability to reorder playlist items
2020-06-04 19:05:41 -04:00
Deluan
d8699b03bd
Fix album sort fields
2020-05-28 20:48:58 -04:00
Deluan
201a22e613
Change index in playlist to start from `1`
2020-05-26 13:50:15 -04:00
Deluan
aaa4f1531e
Ignore brackets in search
2020-05-25 11:05:30 -04:00
Deluan
e811816021
Fix pagination in Songs when filtered by starred
2020-05-23 00:43:45 -04:00
Deluan
9331be67a3
Fix pagination in Songs
2020-05-23 00:17:35 -04:00
Deluan
ec0002e77a
Add a sortable Starred column and a Starred filter to Song List
2020-05-22 23:10:58 -04:00
Deluan
8a68cecdb9
Add ToggleStar to SongContextMenu (WIP)
2020-05-22 15:23:42 -04:00
Deluan
17df63b550
Fix `child.size` and `directory.playCount` compatibility with Subsonic API. Fixes #304
2020-05-19 23:51:23 -04:00
Deluan
c2d1e9df9f
Remove orphan tracks from playlists after they are removed from library
2020-05-18 20:32:01 -04:00
Deluan
d1a0ffaaee
Check permissions in playlists
2020-05-16 23:14:28 -04:00
Deluan
12cf2f1104
Remove tracks from playlist
2020-05-16 18:35:34 -04:00
Deluan
e81a9dd1b5
Add tracks to playlist
2020-05-16 18:35:34 -04:00
Deluan
8a709c489a
Add playlist views
2020-05-16 18:35:34 -04:00
Deluan
5682d0e721
Remove tracks from Playlist's GetAll
2020-05-16 18:35:34 -04:00
Deluan
8f9601090c
Add helper functions tests
2020-05-16 18:35:34 -04:00
Deluan
aebee651ac
Add nested resource `playlist/{id}/tracks`
2020-05-16 18:35:34 -04:00
Deluan
a56e588c8e
Create relation table for playlist tracks
2020-05-16 18:35:34 -04:00
Deluan
27de18f8c9
Fix typo
2020-05-16 18:35:34 -04:00
Deluan
4e613be960
Add playlists REST endpoint
2020-05-16 18:35:34 -04:00
Deluan
f8362a4acb
Fix staticcheck's SA1029
2020-05-13 16:49:55 -04:00
Deluan
5ce3135f00
Fix gosec's G601
2020-05-13 15:32:42 -04:00
Deluan
0d9361734f
Import and display disc subtitles
2020-05-12 12:57:53 -04:00
Deluan
0d1e2a92f6
Make MediaFolder ID int32
2020-05-09 22:29:02 -04:00
Deluan
70047fe20e
Add `songCount` column to Artist table
2020-05-08 10:05:48 -04:00
Deluan
c585ca7131
Add `random` as a valid sort option for `song` resource
2020-05-05 16:17:09 -04:00
Deluan
dbde5330bd
Mark helper function as unexported
2020-05-01 09:17:21 -04:00
Deluan
5cd453afeb
Fix all `errcheck` warnings
2020-04-26 15:07:36 -04:00
Deluan
03c3c192ed
Fixing static checks about passing nil context
2020-04-26 15:07:36 -04:00
Deluan
8dcca76ec9
Fix various small sort issues
2020-04-24 17:37:28 -04:00
Deluan
e6f798811d
Generate Artist Index using the OrderArtistName
2020-04-24 15:02:20 -04:00
Deluan
69c19e946c
Add sort tags and use them in search
2020-04-24 15:02:20 -04:00
Deluan
80c8d85cb9
Fine tune search functionality
2020-04-19 23:29:07 -04:00
Deluan
69dc4d97b3
Always fill album's min_year if max_year is filled
2020-04-17 21:44:34 -04:00
Deluan
4b1c76e307
Keep the order of the playlist when adding new songs. Also allow adding a song more than once
2020-04-11 21:24:15 -04:00
Deluan
9fb4f5ef52
Removed Playlist.GetWithTracks, not needed anymore
2020-04-11 19:05:51 -04:00
Deluan
e232c5c561
Add `created` and `changed` fields to playlists responses
2020-04-11 18:58:43 -04:00
Deluan
5265d0234f
Fix tests for Cover service
2020-04-09 12:13:54 -04:00
Deluan
43ce81af67
Add all individual artists from album in searchable full text field. Should fix #94
2020-04-08 23:54:54 -04:00
Deluan
b8d1185f7f
Remove duplicated words and extra spaces from full text searchable fields
2020-04-08 23:29:28 -04:00
Deluan
46f4f63212
feat: initial implementation of album lists
2020-03-29 00:01:08 -04:00
Deluan
777231ea79
feat: expose album, song and artist annotations in the RESTful API
2020-03-28 19:22:55 -04:00
Deluan
0e36ed35a3
fix: typo
2020-03-28 18:50:18 -04:00
Deluan
0ca849a61a
feat: show year range in album view and match ranges in year filter. #118
2020-03-27 21:11:06 -04:00
Deluan
53e8a92fed
feat: rename year to max_year and add min_year to album. #118
2020-03-27 21:11:06 -04:00
Deluan
b03519b09c
fix: configured transcodings not appearing in players view
2020-03-27 19:12:11 -04:00
Deluan
dcb3b3b5d1
fix: various album_artists <-> artists mismatches
2020-03-26 09:08:53 -04:00
Deluan
5331732236
fix: remove sql injection
2020-03-25 20:40:18 -04:00
Deluan
dc973ae670
refactor: remove unused code
2020-03-25 20:40:18 -04:00
Deluan
100db2bcfd
feat: add artist filter to album view
2020-03-25 20:40:18 -04:00
Deluan
b4c7cac964
refactor: moved magic strings to consts
2020-03-24 11:59:10 -04:00
Deluan
20075ae68d
refactor: extracted restful helpers into their own composable struct
2020-03-21 20:00:46 -04:00
Deluan
f6e448c1ba
refactor: removed unused code, unnecessary typecasts and fixed small warnings
2020-03-20 00:07:36 -04:00
Deluan
8401d85f78
feat: search in WebUI now is more flexible, searching in all relevant fields in the current view
2020-03-19 22:26:18 -04:00
Deluan
32fbf2e9eb
refactor: drop search table, integrated full_text into main tables
2020-03-19 21:44:48 -04:00
Deluan
8cdd4e317d
feat: allow restful filter customization per field
2020-03-19 21:09:57 -04:00
Deluan
97d95ea794
fix: group compilations together in the restful API. fix #93
2020-03-19 15:02:11 -04:00
Deluan
811703ab60
fix: create default transcodings on existing installations
2020-03-17 16:49:37 -04:00
Deluan
68a49befc8
feat: allow regular users to change their players' configuration
2020-03-17 15:20:35 -04:00
Deluan
c8b0d2bfae
feat: select correct transcoding for streaming
2020-03-17 15:20:35 -04:00
Deluan
39993810b3
feat: add `transcodedSuffix` to Subsonic API responses
2020-03-17 15:20:35 -04:00
Deluan
8ec78900c5
feat: transcoding and player datastores and configuration
2020-03-17 15:20:35 -04:00
Deluan
9235ab6414
fix: index albumArtist as part of the album searchable fields
2020-03-07 13:10:20 -05:00
Deluan
6f5a322927
fix: login must be case-insensitive
2020-03-01 15:45:41 -05:00
Deluan
a7f8e4ee2b
fix: only set created_at when adding data to DB
2020-02-28 18:43:22 -05:00
Deluan
0850872b0f
fix: ormer.Driver() is not available when creating orms with NewOrmWithDB()
2020-02-28 16:09:27 -05:00
Deluan
faa2a978c0
refactor: use only one DB instance for the whole application
2020-02-28 15:06:31 -05:00
Deluan
65a792be3a
fix: handle nil pointer dereference
2020-02-28 11:02:38 -05:00
Deluan
33ede13eef
fix: check if album is starred before adding the starred date in the response. also return "starred" in search responses
2020-02-24 22:06:12 -05:00
Deluan
d2eea64528
fix: typo
2020-02-23 21:41:10 -05:00
Deluan
fc14e346b9
feat: store duration as float, to cater for milliseconds
2020-02-20 17:02:06 -05:00
Deluan
8a31e80b7a
fix: find songs and albums when sending an artist name search query
2020-02-09 19:52:06 -05:00
Deluan
5a95feeedc
fix: allow searches with 2 chars. closes #65
2020-02-09 12:20:34 -05:00
Deluan
029290f304
fix: set default play_count to 0
...
IncPlayCount was not incrementing when the annotation already existed with play_count = null
2020-02-08 22:55:05 -05:00
Deluan
7aab82c246
feat: enable overriding sql sorting
2020-02-06 18:41:34 -05:00
Deluan
6978790e96
feat: allow regular users to login to the UI
2020-02-05 22:22:44 -05:00
Deluan
e0308acef3
feat: add lapsed time to SQL logger, to help detect SQL bottlenecks
2020-02-05 08:47:32 -05:00
Deluan
464880dd31
refactor: use stdlib `filepath.FromSlash`
2020-02-03 17:53:59 -05:00
Deluan
ff8c18e0f4
fix: don't log empty sql responses as errors
2020-02-02 21:29:27 -05:00
Deluan
d4365b9f64
refactor: read musicFolderId from request (but still don't use it)
2020-02-01 17:23:03 -05:00
Deluan
b62b78edfe
refactor: better SQL logging
2020-02-01 17:23:03 -05:00
Deluan
7c4511e33a
refactor: consolidate query executions into two functions `queryOne` and `queryAll`
2020-02-01 17:23:03 -05:00
Deluan
7e65bb8f20
refactor: better integration between `db` and `persistence` packages
...
Will address support for different DBs in the future (+1 squashed commit)
Squashed commits:
[a014757] refactor: better integration between `db` and `persistence` packages
2020-02-01 17:23:03 -05:00
Deluan
a6b8f40ac3
refactor: remove prefix New from SQLStore
2020-02-01 17:23:03 -05:00
Deluan
0d0787e656
refactor:clean annotations in GC
2020-02-01 17:23:03 -05:00
Deluan
88e01d05f6
refactor: annotations
2020-02-01 17:23:03 -05:00
Deluan
de1fea64bc
refactor: introduce GC, to delete old data
2020-02-01 17:23:03 -05:00
Deluan
5d1df19291
fix: manually set timestamps, as we don't rely on the ORM anymore
2020-02-01 17:23:03 -05:00
Deluan
0b91d8a30e
refactor: more SQL logs
2020-02-01 17:23:03 -05:00
Deluan
cdbbb2f596
fix: Find/DeleteByPath
2020-02-01 17:23:03 -05:00
Deluan
44671c59c0
refactor: fix rest filter
2020-02-01 17:23:03 -05:00
Deluan
d9f61a278c
refactor: some clean-up
2020-02-01 17:23:03 -05:00
Deluan
a260e65307
refactor: add GetStarred to artists
2020-02-01 17:23:03 -05:00
Deluan
5a4c763510
refactor: add search back to albums and artists
2020-02-01 17:23:03 -05:00
Deluan
d755609d13
refactor: add search back to mediafiles
2020-02-01 17:23:03 -05:00
Deluan
4f4af34595
fix: DB pagination
2020-02-01 17:23:03 -05:00
Deluan
f5071d1614
refactor: adding back artist and album tables
2020-02-01 17:23:03 -05:00
Deluan
d389d40db1
feat: improve logs, remove config for disable authentication
2020-02-01 17:23:03 -05:00
Deluan
72d9ddf532
refactor: remove annotation handling from engine
2020-02-01 17:23:03 -05:00
Deluan
67ed830a68
refactor: add filters
2020-02-01 17:23:03 -05:00
Deluan
71c1844bca
refactor: new persistence, more SQL, less ORM
2020-02-01 17:23:03 -05:00
Deluan
0d2911daf9
refactor: add Context to the persistence layer
2020-01-27 09:41:33 -05:00
Deluan
0ff741b394
fix: persistence tests were not being properly initialized
2020-01-26 17:10:13 -05:00
Deluan
f9db80c409
feat: add conf for data folder, default current folder (not ./data anymore)
2020-01-26 16:42:56 -05:00
Deluan
58a7879ba8
feat: first time admin user creation through the ui
2020-01-25 17:10:16 -05:00
Deluan
bff6f3a4bd
Rename env vars prefix to ND_
2020-01-24 01:29:31 -05:00
Deluan
bee55c04c8
Rename project to Navidrome
2020-01-23 19:44:08 -05:00
Deluan
ed31b6fa31
Remove unused code
2020-01-22 15:42:29 -05:00
Deluan
1f58bf47d6
Fix GetStarred for all item types
2020-01-22 15:19:37 -05:00
Deluan
7dc3f49c1c
Initial support for artist browsing from UI. Also add linking between resources
2020-01-22 13:02:19 -05:00
Deluan
ea30b4c2d9
Initial support for album browsing from UI
2020-01-22 12:32:31 -05:00
Deluan
9557f7ceed
Initial support for song browsing from UI
2020-01-22 10:47:43 -05:00
Deluan
c73f549c83
Don't try to get albums if ids is empty
2020-01-22 01:03:49 -05:00
Deluan
c8a74881d8
Fix album lists, to use annotations
2020-01-22 01:00:00 -05:00
Deluan
d7116eebd4
Implement annotations per user
2020-01-21 23:03:37 -05:00
Deluan
d4adc784cc
Return playlist duration in getPlayList
2020-01-21 18:10:29 -05:00
Deluan
dce2a1399d
Rename for clarity
2020-01-21 17:50:56 -05:00
Deluan
57fcdac428
Initial support for playlists. Missing permissions
2020-01-21 16:39:35 -05:00
Deluan
de0816da67
Reimplemented GetAlbumList&type=random and GetRandomSongs (now with filter by genres)
2020-01-21 08:49:43 -05:00
Deluan
6cd758faa0
Removed empty clause
2020-01-21 08:48:14 -05:00
Deluan
c6ed0d5377
Remove flag to allow override media annotation
2020-01-20 18:19:16 -05:00
Deluan
99c28731d4
Authenticate Subsonic API calls using the DB
2020-01-20 13:42:43 -05:00
Deluan
e717d99780
Authenticate UI
2020-01-20 10:25:35 -05:00
Deluan
6785d616d0
Remove unused PurgeInactive methods
2020-01-20 08:16:22 -05:00
Deluan
491bfb1f69
Create initial user if User table is empty. Also make model.QueryOptions compatible with rest.QueryOptions
2020-01-19 22:47:22 -05:00
Deluan
2ab0cecd48
Complete User CRUD
2020-01-19 21:46:36 -05:00
Deluan
1c04a19910
Add UserList in UI
2020-01-19 20:40:18 -05:00
Deluan
5bc1551b09
Clean up
2020-01-19 18:28:23 -05:00
Deluan
67eeb218c4
Big Refactor:
...
- Create model.DataStore, with provision for transactions
- Change all layers dependencies on repositories to use DataStore
- Implemented persistence.SQLStore
- Removed iTunes Bridge/Importer support
2020-01-19 16:28:09 -05:00
Deluan
40186f7e10
Don't say "iTunes Library" if not importing from iTunes
2020-01-18 22:57:20 -05:00
Deluan
fe058aa4a1
Don't override media annotations when scanning/importing
2020-01-18 21:45:44 -05:00
Deluan
938a92eded
Register PlayCount/Date in the DB, if DevUseFolderScanner is true
2020-01-18 20:59:20 -05:00
Deluan
3c66da0b17
NowPlaying is not a repo, now it is part of the main engine
2020-01-18 20:21:25 -05:00
Deluan
128e165aba
Add Stars to the DB, including Artists! Only if DevUseFolderScanner is true
2020-01-18 20:03:52 -05:00
Deluan
8ae4fdd5b2
Fix Windows test
2020-01-18 02:15:02 -05:00
Deluan
ccbdf688ea
Reduced size of batches, to not break SQLite
2020-01-18 01:49:08 -05:00
Deluan
54d13d2022
Purge empty albums/artists
2020-01-17 23:28:11 -05:00
Deluan
ea9ed4a287
Fix ChangeDetector to keep the dirMap from last scan
2020-01-17 22:41:10 -05:00
Deluan
5dbe71d675
Update search index when refreshing albums/artists
2020-01-17 21:16:23 -05:00
Deluan
cef65b6ab0
Un-export model mappers
2020-01-17 21:03:54 -05:00
Deluan
c0beaa6377
Integrate ArtistIndex logic into Artist
2020-01-17 20:54:28 -05:00
Deluan
035fdaeb96
Remove old tags from models
2020-01-17 20:54:28 -05:00
Deluan
123f543a94
New Folder Scanner - WIP
2020-01-17 20:54:28 -05:00
Deluan
7a16d41abe
Add MediaFile.FindByPath
2020-01-17 20:54:28 -05:00
Deluan
36d93774bc
Add GetGenre endpoint
2020-01-15 17:56:02 -05:00
Deluan
bc33ace6d6
Merged helper and initialization functions in one file
2020-01-15 11:11:33 -05:00
Deluan
16c550a9d1
Change semantics of ChecksumRepository
2020-01-15 08:54:00 -05:00
Deluan
c404252b7f
Remove sort.Interface from models (not used anymore)
2020-01-15 08:36:25 -05:00
Deluan
0ea2bd79d9
Rename `domain` to `model`
2020-01-14 22:22:34 -05:00