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
Deluan
25686c1742
Preparing for new scanner
2020-01-14 21:51:35 -05:00
Deluan
9922ba5994
Added initial support for PostgreSQL
2020-01-14 19:20:47 -05:00
Deluan
a99c3a8af3
Another big refactor: Back to a single folder for persistence implementation
2020-01-14 18:47:57 -05:00
Deluan
3d76144f82
Allow LogLevel to be configurable. Also add filename and line number when LogLevel>=debug
2020-01-13 19:57:36 -05:00
Deluan
536244bc44
Removed LedisDB persistence layer. May reimplement in the future (not likely thou)
2020-01-13 16:37:24 -05:00
Deluan
614f4afe28
Implement Artist search with SQL, removed old search/indexer code
2020-01-13 16:06:30 -05:00
Deluan
3a9559a860
Implement Album search with SQL
2020-01-13 16:06:30 -05:00
Deluan
c2448d3880
Using squirrel to generalize SQL search
2020-01-13 16:06:30 -05:00
Deluan
d3af7e689d
Implementing SearchSong using simple SELECTs. The performance hit is not relevant, makes things simpler
2020-01-13 16:06:30 -05:00
Deluan
0629be5800
Removed Storm persistence. Too slow and SQL implementation is actually more versatile
2020-01-13 10:49:36 -05:00
Deluan
66e9377795
Fix delete all from checksum hanging
2020-01-13 10:44:16 -05:00
Deluan
4b08df0725
Run SQL tests in memory
2020-01-13 10:44:16 -05:00
Deluan
87ca885b5e
Optimize Checksums saving
2020-01-13 10:44:16 -05:00
Deluan
b07642a8d1
Add a TODO
2020-01-13 10:44:16 -05:00
Deluan
fddd0dc353
Fix some performance/volume issues
2020-01-13 10:44:16 -05:00
Deluan
973f8869eb
SQL/Orm PlaylistRepository complete
2020-01-13 10:44:16 -05:00
Deluan
5d519dcecf
SQL/Orm PropertyRepository complete
2020-01-13 10:44:16 -05:00
Deluan
3d706e3e98
SQL/Orm ArtistIndexRepository complete
2020-01-13 10:44:16 -05:00
Deluan
78fd567285
SQL/Orm CheckSumRepository complete
2020-01-13 10:44:16 -05:00
Deluan
b9815fc653
SQL/Orm AlbumRepository complete
2020-01-13 10:44:16 -05:00
Deluan
56273dd4d9
SQL/Orm MediaFileRepository complete
2020-01-13 10:44:16 -05:00
Deluan
d70af2c39d
SQL/Orm ArtistRepository complete
2020-01-13 10:44:16 -05:00
Deluan
dd5945ad86
Make sure mock implementations implements their full interface
2020-01-11 21:52:39 -05:00
Deluan
cb107f77f8
Make QueryOptions optional in PlaylistRepository.GetStarred
2020-01-11 21:38:02 -05:00
Deluan
4643628e28
Make QueryOptions optional in MediaFileRepository.GetStarred
2020-01-11 21:33:41 -05:00
Deluan
b85898df93
Make QueryOptions optional in AlbumRepository.GetStarred
2020-01-11 21:30:24 -05:00
Deluan
d4ed6a0569
Make QueryOptions optional in AlbumRepository.GetAll
2020-01-11 21:25:37 -05:00
Deluan
6c05930444
Change tests' db path to a temp folder
2020-01-11 16:48:45 -05:00
Deluan
4b1c909a4d
Make persistence provider pluggable at runtime
2020-01-11 15:27:32 -05:00
Deluan
93ab4132fe
Move mapping functions to db_ledis, where it is used
2020-01-11 15:27:32 -05:00
Deluan
ce1c5e1129
Remove compulsory reindex at startup
2020-01-11 15:27:32 -05:00
Deluan
0c4cbe11be
Fix flake test (was dependent on map keys order)
2020-01-11 15:27:32 -05:00
Deluan
10221b5471
Force dbPath to be relative to main executable
2020-01-11 15:27:32 -05:00
Deluan
c9742181ff
Save Storm DB in the DbPath configured
2020-01-11 15:27:32 -05:00
Deluan
cead8906d6
Implements NowPlayingRepository as an in-memory only struct
2020-01-11 15:27:32 -05:00
Deluan
c9be5f7201
Storm ChecksumsRepository complete.
2020-01-11 15:27:32 -05:00
Deluan
4f151a7409
Storm PlaylistRepository complete.
2020-01-11 15:27:32 -05:00
Deluan
70d7793147
Moved MediaFolders Repository to persistence agnostic package
2020-01-11 15:27:32 -05:00
Deluan
11f4505925
Renamed persistence packages
2020-01-11 15:27:32 -05:00
Deluan
a1d837cb9b
Storm IndexRepository complete.
2020-01-11 15:27:32 -05:00
Deluan
9ccd9545e8
Refactored purgeInactive, better test suite setup
2020-01-11 15:27:32 -05:00
Deluan
ef79f6342f
Removed old runtime tagging code. Not used anymore
2020-01-11 15:27:32 -05:00
Deluan
dbeba1dea9
Storm MediaFileRepository complete.
2020-01-11 15:27:32 -05:00
Deluan
c608e917db
Storm AlbumRepository complete.
2020-01-11 15:27:32 -05:00
Deluan
0ca691b37f
Storm ArtistRepository and PropertyRepository complete.
2020-01-11 15:27:32 -05:00
Deluan
aebb960831
New storm artist repository, WIP
2020-01-11 15:27:32 -05:00
Deluan
40904b220e
Renamed Id to ID, following GoLang convention
2020-01-11 15:27:32 -05:00
Deluan
018352463f
Moved ledis implementation to a new package
2020-01-11 15:27:32 -05:00
Deluan
24cbf766a3
Removed dependency on `engine` from `persistence`
2020-01-09 22:44:45 -05:00
Deluan
84d69a4f41
Replaced Beego logging
2020-01-09 22:44:45 -05:00
Deluan
79701caca3
Removed Beego routing/controllers, converted to Chi.
...
Also introduced Wire for dependency injection
2020-01-09 22:44:45 -05:00
Deluan
29519fe22f
Fixes typo
2017-04-01 09:55:21 -04:00
Deluan
c417a00e62
Renamed project to CloudSonic
2017-04-01 09:47:14 -04:00
Deluan
60bc1d7a11
Polishing
2016-04-21 10:44:27 -04:00
Deluan
c2b1f9782b
New configuration system
2016-03-30 00:05:57 -04:00
Deluan
768764bea7
getRandomSongs.view (partially) implemented
2016-03-29 00:01:27 -04:00
Deluan
1a705d4319
Fixing NowPlaying when we have more than one song in the queue
2016-03-28 19:11:49 -04:00
Deluan
83e0a7b24c
Fixing some lint warnings
2016-03-26 22:43:13 -04:00