Commit Graph

453 Commits

Author SHA1 Message Date
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
Deluan 0e20910061 Cleaning old data from artists indexes 2016-03-26 22:29:26 -04:00
Deluan f29ac99b45 Trying to fix build 2016-03-25 02:14:38 -04:00
Deluan 1cf8a0db44 Refactored NowPlaying
Also added a test case for skipping range
2016-03-24 17:14:13 -04:00
Deluan d59394c653 GetStarred now returns starred songs 2016-03-23 19:02:58 -04:00
Deluan b25cfd96eb Polishing 2016-03-23 16:30:38 -04:00
Deluan 08192e6d23 Handling a racing condition between Register and NowPlaying, when the queue is empty 2016-03-23 13:51:02 -04:00
Deluan c87b133071 Polishing 2016-03-23 12:37:03 -04:00
Deluan d57f51c7ac Removed unused code 2016-03-23 12:00:19 -04:00
Deluan 0e1618a6ac Using PersistentIDs instead of "Database" IDs 2016-03-23 11:43:20 -04:00
Deluan 638f328330 fixed a NPD (Nil Pointer Dereference) 2016-03-23 11:26:27 -04:00
Deluan c580a4199e New NowPlaying and Skip detection implementation 2016-03-23 10:06:26 -04:00
Deluan db992a9941 Small changes regarding StarredAt.
Making StarredAt more "precise", setting it to the time the change was detected.
getStarred.view now returns albums ordered by StarredAt.
loadRange method now take QueryOptions.Desc into account
2016-03-22 19:00:18 -04:00
Deluan 21b39d922c More slices instead of pointers of slice 2016-03-20 13:33:59 -04:00
Deluan 3f0030738a Indexes using slices instead of pointers of slice 2016-03-20 13:08:24 -04:00
Deluan 27b7b7ce08 More slices instead of pointers of slice 2016-03-19 23:03:50 -04:00
Deluan 04513d38f0 Fixed bug on reflect and slice 2016-03-18 21:07:57 -04:00
Deluan 508bf7152f Removing purged ids from the search index 2016-03-18 19:50:21 -04:00
Deluan 3790aa45e4 Refactored PurgeInactive as a "generic" function.
Also delete indexes when removing records
2016-03-18 19:32:49 -04:00
Deluan 25d902c9d7 When ErroNotFound, return an new entity to avoid conversion from nil errors 2016-03-18 17:24:26 -04:00
Deluan c90a50827a Get() methods from all repositories now return a ErrNotFound when the id is nonexistent 2016-03-18 11:33:50 -04:00
Deluan ee3e70c712 Register skipped songs! 2016-03-17 18:58:09 -04:00
Deluan c4b660fce3 getNowPlaying.view working 2016-03-17 10:37:19 -04:00
Deluan 68c456e188 Halfway of getNowPlaying implementation 2016-03-17 10:08:47 -04:00
Deluan cc89cb5bd1 Now Playing backend implemented 2016-03-16 22:30:34 -04:00
Deluan 9bfb61d994 Implemented nowplaying repo 2016-03-16 20:52:32 -04:00
Deluan 4748ce142f Introduced NowPlayingRepository. Don't do anything for now 2016-03-16 20:27:48 -04:00
Deluan b660a70688 Introduced engine.Scrobbler
Also refactored mocks into their original packages, to avoid cyclic references. Is there a better way to have mocks in GoLang tests?
2016-03-16 17:59:28 -04:00
Deluan cad65f517c Polishing 2016-03-15 13:17:51 -04:00
Deluan 12aedc0996 Using checksums to detect modified stats in the iTunes Library 2016-03-15 11:04:17 -04:00
Deluan bb5d4c920d Error when trying to index on an unsupported field type 2016-03-15 09:41:33 -04:00
Deluan e36a4201db implemented getStarred (just for albums, for now) 2016-03-14 11:35:48 -04:00
Deluan 14934dccf7 Supporting index annotations in domain structs 2016-03-14 10:32:22 -04:00
Deluan df957814a0 Implemented artists indexing, with Gomate 2016-03-10 23:19:13 -05:00
Deluan 7161325716 Initial wiring for getPlaylists endpoint 2016-03-09 10:09:15 -05:00
Deluan 9bea04f330 Implemented getAlbumList with type=random 2016-03-08 21:54:32 -05:00
Deluan 60d4cb5d9f Converted all collections from repositories to *collections 2016-03-08 20:33:09 -05:00
Deluan 8607e25c90 Moved properties to engine layer 2016-03-08 18:40:16 -05:00
Deluan 46e7627fd3 Optimized import, only updating changed data and purging old data 2016-03-08 14:19:07 -05:00
Deluan d2701ea67c Using sorted sets 2016-03-05 19:40:36 -05:00
Deluan 766fdbc60c Big Importer/Scanner refactor 2016-03-04 16:42:09 -05:00
Deluan 7225807bad Initial work on downsampling
The http connection is being closed before sending all data. May have something to do with the Range header
2016-03-04 13:33:09 -05:00
Deluan 9a246b5432 First version of getAlbumList.view working.
- It still misses almost all type options
- Introduced "parent" in Child subresponse, as it was breaking DSub
2016-03-04 09:09:16 -05:00
Deluan 87e012f3bf Refactored paging/sorting options 2016-03-03 22:52:03 -05:00
Deluan 5ca9680059 Default sorts should be in the domain 2016-03-03 21:42:12 -05:00
Deluan fc6d49d34c Introduced types for the collections 2016-03-03 21:01:55 -05:00
Deluan eae9f3168f renamed base_repository to ledis_repository 2016-03-03 20:16:09 -05:00
Deluan c9455e1955 getCoverArt.view working 2016-03-03 12:08:44 -05:00
Deluan ad0a91fba5 Making sure the repositories implement their full interfaces 2016-03-03 01:28:48 -05:00
Deluan 012958cd08 go fmt 2016-03-03 00:46:23 -05:00
Deluan ffd6304a23 Added DiscNumber field, used to sort tracks 2016-03-03 00:42:42 -05:00
Deluan 1f31de589a Implementing sort by number on queries 2016-03-02 23:20:17 -05:00
Deluan 757e1992d7 Bare bones getMusicDirectory for albums! 2016-03-02 23:15:17 -05:00
Deluan 838d4bf38f getMusicDirectory bare bones for artists working 2016-03-02 22:22:31 -05:00
Deluan 9577d9ae87 Started the implementation of getMusicDirectory. Probably will need to introduce a new 'service' layer... 2016-03-02 20:00:55 -05:00
Deluan de94fe3ef2 Should not break on empty database 2016-03-02 17:46:16 -05:00
Deluan 4843ccb46c go fmt 2016-03-02 13:18:39 -05:00
Deluan 300ed0d9a4 Introduced interfaces for all repositories, completely isolating the persistence layer from the repositories usage and specification 2016-03-02 09:43:00 -05:00
Deluan 272a499c7e Refactoring to a cleaner architecture 2016-03-02 09:10:28 -05:00