Commit graph

329 commits

Author SHA1 Message Date
Phan An
d088561e06
Add "Smart Playlist" backend logics (#849)
This commit prepares the backend for the "Smart Playlist" feature.
2018-11-04 00:25:08 +01:00
Phan An
096eb7e610 Remove over-engineered service 2018-09-04 13:25:24 +07:00
Phan An
373870fefb Add a UserPreferenceService 2018-09-04 12:34:02 +07:00
Phan An
a57fe76dfe Fix some more advanced errors reported by PHPStan 2018-09-03 19:42:14 +07:00
Phan An
40d4174d04
Apply fixes from StyleCI (#799) 2018-08-31 20:47:45 +07:00
Phan An
d88dd79f15 Fix basic errors detected by PHPStan 2018-08-31 20:47:15 +07:00
Phan An
c4beca787b Assert that version is cached 2018-08-30 12:42:47 +07:00
Phan An
b91d478fdf
Apply fixes from StyleCI (#798) 2018-08-30 12:37:24 +07:00
Phan An
351efe4092 Move version checking logic to a service 2018-08-30 12:37:03 +07:00
Phan An
fe34592e66
Apply fixes from StyleCI (#793) 2018-08-29 11:42:11 +02:00
Phan An
1558062428 Rewrite the file synchronization handling logic 2018-08-29 16:41:42 +07:00
Phan An
b227ece517 Refactor Lastfm and iTunes services 2018-08-29 14:05:24 +07:00
Phan An
0ad670ffff Use repositories 2018-08-29 13:30:39 +07:00
Phan An
bf1d158c90 Refactor S3 2018-08-29 13:15:24 +07:00
Phan An
ffa05696c8 Upgrade to Larave 5.5 and PHP 7 2018-08-29 13:15:23 +07:00
Phan An
20282ed633 Use repositories 2018-08-29 13:15:11 +07:00
Phan An
f4ca7cf09f Refactor S3 2018-08-29 11:06:17 +07:00
Phan An
1dd5457084 Upgrade to Larave 5.5 and PHP 7 2018-08-24 17:27:19 +02:00
Phan An
3ab55d438b
Apply fixes from StyleCI (#788) 2018-08-23 08:58:43 +02:00
Phan An
f409c5bc47 Minor fixes here and there 2018-08-23 08:58:23 +02:00
Phan An
02d36c692e Refactor InitCommand 2018-08-23 08:58:22 +02:00
Phan An
a340a64748 Better download tests 2018-08-22 22:25:01 +02:00
Phan An
1be4678b25 DI for ProfileController 2018-08-22 21:46:36 +02:00
Phan An
61bc21c303 Better tests for User Controller 2018-08-22 21:40:04 +02:00
Phan An
3efcc9a049 Fix risky test false positives 2018-08-22 21:19:48 +02:00
Phan An
daf250fd00
Apply fixes from StyleCI (#785) 2018-08-22 21:14:56 +02:00
Phan An
6cadfc5ac3 Tests for streamer factory 2018-08-22 21:14:28 +02:00
Phan An
7c7693179d Refactor streamers 2018-08-22 19:59:14 +02:00
Phan An
86915c9280
Apply fixes from StyleCI (#782) 2018-08-19 23:17:24 +02:00
Phan An
8f7654a220 Refactor scrobble 2018-08-19 23:17:05 +02:00
Phan An
a96bd3e326 Add test for GenerateJWTSecretCommand 2018-08-19 23:03:02 +02:00
Phan An
69d68727b9 Rewrite Lastfm tests 2018-08-19 18:05:10 +02:00
Phan An
f3887e6276 Rewrite Sync command 2018-08-19 17:26:34 +02:00
Phan An
a837432a4e Use proper DI for cache service 2018-08-19 16:58:14 +02:00
Phan An
1c76ff6d76 Use a service for iTunes 2018-08-19 16:40:25 +02:00
Phan An
6181041331
Apply fixes from StyleCI (#778) 2018-08-19 13:13:29 +02:00
Phan An
67357316bc Big revamp for lastfm and youtube services 2018-08-19 13:13:08 +02:00
Phan An
d4d2b0aff3
Apply fixes from StyleCI (#777) 2018-08-19 11:06:59 +02:00
Phan An
5fbec01c50 Big revamp for artist and album info 2018-08-19 11:06:31 +02:00
Phan An
cedb9f9922
Apply fixes from StyleCI (#776) 2018-08-18 15:20:02 +02:00
Phan An
4fc5117509 Use a service for media info 2018-08-18 15:19:40 +02:00
Phan An
1d5c8e84b6 Use a service for Interaction 2018-08-18 14:27:44 +02:00
Phan An
181357f3de Rename Download service 2018-08-18 14:27:17 +02:00
Phan An
f4c00abe02 Use DI in Download controllers 2018-08-18 13:53:15 +02:00
Phan An
88d2d4fbe8
Apply fixes from StyleCI (#695) 2017-12-10 01:23:37 +01:00
Phan An
d2a535bcc1 Merge branch 'master' of github.com:phanan/koel 2017-12-10 01:23:11 +01:00
Phan An
b4103a67de Move tests 2017-12-09 23:39:34 +01:00
Phan An
bf3ca591d1
Apply fixes from StyleCI (#694) 2017-12-09 21:10:55 +01:00
Phan An
bca8668ace Refactor and use extending request classes 2017-12-09 19:34:27 +01:00
Phan An
6a2b8753ad Fix minor grammar error 2017-12-03 23:31:53 +01:00
Fiete Börner
4298774e7f implement simple multi disc support (#687)
* add disc field to songs table via migration

* add disc field to song model

* collect disc information in file sync process

* sort song list by disc and track number in album context

* check the disc field in file test

* remove nullable flag from disc field in add_disc_into_songs migration

* fix php code style issues

* fix js code style

* fix sort usage in song-list

* sort songs by inserting into queue by clicking the album/artist item play button (album_id, disc, track)

* add disc to sync tags in media model
2017-12-03 11:02:31 +01:00
Phan An
d949ea9e60 Load (and parse) playlist content on demand 2017-12-02 17:05:40 +01:00
Phan An
3e3004a904 Fix the bug with lyrics fails to be read 2017-11-08 23:39:26 +01:00
Phan An
d571575756
Apply fixes from StyleCI (#679) 2017-11-08 22:35:36 +01:00
Phan An
365ea3d9ad Add unit tests for File 2017-11-08 22:35:16 +01:00
Phan An
fe4a15d6a5 Make tests green again 2017-08-28 12:29:39 +01:00
Phan An
8c71bd4d04 Apply fixes from StyleCI (#639) 2017-08-19 16:28:01 +01:00
Phan An
e40a57c0cd Apply fixes from StyleCI (#634) 2017-08-06 10:44:17 +01:00
Phan An
f827c63819 Make controllers slim 2017-08-06 10:43:59 +01:00
Phan An
f344b4c3fa Make tests green 2017-08-05 23:27:26 +01:00
Phan An
fd368f6092 Fix failing test 2017-08-05 22:20:05 +01:00
Phan An
56cbb4f8b3 Apply fixes from StyleCI (#632) 2017-08-05 19:55:53 +01:00
Phan An
39e837713f Refactor tests 2017-08-05 19:55:02 +01:00
Phan An
1560cf99d0 Add User unit tests 2017-08-05 18:44:38 +01:00
Phan An
8bb547cb4d Add tests for SongZipArchive 2017-08-05 18:28:28 +01:00
Phan An
a8f98b2377 Refactor tests 2017-08-05 17:56:11 +01:00
Phan An
9cd1e86533 Complete Setting tests 2017-08-05 17:32:16 +01:00
Phan An
d66522bd37 Finish Playlist unit test 2017-06-24 21:48:54 +01:00
Phan An
fcf6c8a700 Finish Interaction unit test 2017-06-24 21:46:55 +01:00
Phan An
5b6067426d Finish unit tests for iTunes service 2017-06-11 22:18:27 +01:00
Phan An
75a79595a9 Merge branch 'master' into test 2017-06-11 01:15:36 +01:00
Phan An
7a658ee95d Minor refactoring for S3Test 2017-06-11 01:15:28 +01:00
Phan An
8629f5a9ce Complete unit tests for MediaCache service 2017-06-11 01:13:22 +01:00
Phan An
fd80aaf291 Complete unit tests for Lastfm service 2017-06-11 00:29:21 +01:00
Phan An
2eb0d7089c Complete unit tests for Application 2017-06-10 16:30:54 +01:00
Phan An
53c4bedf7b Remove Feature test for Artist, as it actually is Unit 2017-06-10 16:17:46 +01:00
Phan An
14b6c7154b Finish unit tests for Song 2017-06-10 16:17:46 +01:00
Phan An
6e38f96eb2 Finish unit tests for Artist and Album 2017-06-10 14:25:30 +01:00
Phan An
56b5db9487 Add unit test for Album model 2017-06-10 01:40:44 +01:00
Phan An
35bba0e4b6 Fix test 2017-06-10 00:46:12 +01:00
Phan An
03baef25bd Fix hidden preference bug 2017-06-04 09:34:21 +01:00
Phan An
aa7267419d Massive refactorings 2017-06-04 00:21:50 +01:00
Phan An
12265c0a5f Fix tests 2017-06-03 17:21:53 +01:00
Phan An
a8bd7ea7c6
Rename contributing_artist_id to simple artist_id 2017-04-29 11:49:14 +08:00
Phan An
40deeb9f8b
Refactor and clean up 2017-04-29 10:55:41 +08:00
Phan An
328dc88c99 Apply fixes from StyleCI (#583) 2017-04-28 22:59:13 +08:00
Phan An
1406b86e01
Add tests for MediaCache 2017-04-28 22:56:22 +08:00
Phan An
a96c0e22fb Compilation fixes getting in shape 2017-04-24 00:01:02 +08:00
Phan An
88b7baa0c1 Fix sync test 2017-04-20 19:14:28 +08:00
Phan An
ce1971b5ba Apply fixes from StyleCI (#541) 2017-02-15 11:19:25 +08:00
An Phan
bdca871b6e
Upgraded to Laravel 5.4 2017-02-15 11:16:49 +08:00
An Phan
f51e660501
Cache the media 2017-01-06 11:04:08 +08:00
An Phan
9dc0ddebb5
Remove jQuery 2016-12-20 23:48:37 +08:00
An Phan
1ba00a0475
Use cache() shortcut where applicable 2016-12-12 10:43:14 +08:00
An Phan
876db46501
Cache iTunes request 2016-12-11 21:21:45 +08:00
An Phan
86ca8d40f6
Add iTunes integration 2016-12-11 21:08:30 +08:00
An Phan
eea45199ed
Fix E2E tests 2016-12-02 17:33:28 +07:00
An Phan
4595f0bff4
Revamp user add/edit forms 2016-11-30 16:24:05 +07:00
Phan An
b233aab976 Applied fixes from StyleCI (#486) 2016-11-25 12:32:54 +08:00
An Phan
58829905d7
Add E2E test for footer 2016-11-24 16:50:37 +08:00
An Phan
4640c41e7a
Remove redundant import 2016-11-24 12:30:44 +08:00
Phan An
96a18b6d1d Applied fixes from StyleCI (#485) 2016-11-24 12:12:28 +08:00
An Phan
312ff1e1cf
Refactor for Unit 2016-11-24 12:07:57 +08:00
An Phan
46a52a55a6
Refactor for E2E 2016-11-24 11:56:00 +08:00
Phan An
1c0681643f Applied fixes from StyleCI (#484) 2016-11-24 00:47:10 +08:00
An Phan
f52b060fbf
Rename SettingsScreenTest to ZSettingsScreenTest
...as an ugly workaround to make this test run last, due to it changing
the whole suite's data, causing other tests to fail.
2016-11-24 00:45:02 +08:00
An Phan
92da6df5ab
Add Profile screen e2e test 2016-11-23 23:57:41 +08:00
An Phan
1ac87d1e9d
Add Users screen e2e test 2016-11-23 23:36:12 +08:00
An Phan
6760ce4619
Add several handy WebDriver shortcuts 2016-11-23 21:26:15 +08:00
An Phan
7b4908f85d
Fix the race condition with sidebar test 2016-11-23 20:45:40 +08:00
An Phan
6752a3fa82
Add more E2E tests 2016-11-18 15:57:04 +08:00
An Phan
2e2c0515f3
HTML changes for better E2E tests 2016-11-17 17:25:58 +08:00
An Phan
3dc5c487e9
More tests 2016-11-15 18:03:59 +08:00
An Phan
8b7c226343
More tests 2016-11-15 15:54:41 +08:00
An Phan
ef618a611b
First steps in e2e 2016-11-13 23:05:24 +08:00
An Phan
d3843f2d5f
Fix #463 2016-09-26 15:32:16 +08:00
An Phan
fe3600670e
Simplify song tests 2016-09-26 14:49:30 +08:00
An Phan
b0f5b3d76e
Upgrade to Laravel 5.3 2016-09-26 14:30:00 +08:00
bdgold
1d7a7602c9 Fix spelling (#454) 2016-09-19 09:08:50 +07:00
An Phan
e4f0027f6a
Add IGNORE_DOT_FILES setting
With this .env setting, user can specify Koel to ignore dot files and
folders (default) or include them during scanning.
2016-09-17 23:56:58 +08:00
bdgold
e02fcb37ed Fix img dir when running tests
Fixes #449
2016-09-16 15:48:52 +07:00
bdgold
27933d49cf move env variables to config (#415) 2016-08-21 22:19:03 +07:00
An Phan
7556ba79e0
Use cover/folder.jpg/png as album cover if found (fixes #380) 2016-08-07 17:30:55 +07:00
An Phan
42425f8e57
Merge branch 'master' of github.com:phanan/koel 2016-07-30 23:49:44 +08:00
An Phan
463fab98ba
Fix tests 2016-07-30 23:49:14 +08:00
Phan An
1f75e85fb6 Applied fixes from StyleCI (#386) 2016-07-30 23:34:34 +08:00
An Phan
528469fdc4
Add YouTube service on the server side 2016-07-14 16:53:10 +08:00
An Phan
e19b5e5c79
Allow downloading from S3 (fixes #371) 2016-07-11 15:26:39 +08:00
An Phan
858c4d1586
Fixes #366 2016-07-05 17:14:12 +07:00
An Phan
c098301167
Add S3 functionality 2016-06-13 17:04:42 +08:00
An Phan
e334ec20d6 Add download tests 2016-06-05 00:56:38 +08:00
An Phan
e359c96a7a Simplify Playlist test 2016-06-04 23:15:14 +08:00
An Phan
aff2c9f9d2 Simplify Scrobble test 2016-06-04 22:36:45 +08:00
An Phan
9b7c166356 Refactor tests 2016-05-31 00:19:52 +08:00
An Phan
6b9ef7996a Convert getLastfmSessionKey() into attribute 2016-05-30 14:15:55 +08:00
An Phan
76481a040b Minor refactoring 2016-05-30 13:57:51 +08:00
Phan An
1343eda239 Applied fixes from StyleCI 2016-05-30 01:52:02 -04:00
An Phan
aba3740567 Refactor 2016-05-30 13:50:59 +08:00
An Phan
2ca5047a9d Add setting route test 2016-05-27 17:07:52 +08:00
An Phan
e5f77399fd Add song scrobble test 2016-05-27 16:45:45 +08:00
An Phan
efe8b937d2 Add test for song info 2016-05-27 16:34:38 +08:00
An Phan
7400f81d04 Fix song update logic 2016-05-27 11:32:52 +08:00
An Phan
e145d06a1b Merge with master 2016-05-05 23:05:02 +08:00
An Phan
68baf5001c html_entity_decode() tags, fixes #323 2016-05-05 23:03:30 +08:00
An Phan
edc4795421 Second try and add tests 2016-04-24 12:37:04 +08:00
An Phan
4dc06719b3 First try 2016-04-17 23:38:06 +08:00
Phan An
20424f2b85 Applied fixes from StyleCI 2016-04-04 10:41:12 -04:00
An Phan
d8d2dc8a5d Support force and selective-tags sync 2016-03-22 16:22:39 +08:00
An Phan
8e0bc532b9 Add track # test 2016-03-20 22:14:02 +08:00
alex-phillips
dde55879a0 fixed tests by referencing new track column in database 2016-03-20 09:18:34 -04:00
An Phan
969fca6066 Return full asset URLs 2016-03-14 10:36:03 +08:00
Phan An
461480f766 Applied fixes from StyleCI 2016-03-05 23:11:28 -05:00
An Phan
8a5d242122 Add edit ability (fixes #228) 2016-03-06 11:58:51 +08:00
An Phan
8143ea0c2f No need to manually call Mockery::close 2016-03-06 11:58:11 +08:00
An Phan
5d690f272d Ditch fswatch for inotify 2016-02-04 23:04:53 +08:00
An Phan
f10fc5fa7d Add "watch" functionality 2016-02-02 15:47:00 +08:00
Phan An
9dc423f430 Applied fixes from StyleCI 2016-01-31 09:00:15 -05:00
An Phan
24cb32ceea Serve static assets via CDN if possible 2016-01-28 13:35:51 +08:00
An Phan
8453c8e30b Several methods for API 2016-01-26 14:32:29 +08:00
An Phan
bb4187b61a Add test for incase-sensitive file extensions 2016-01-26 14:30:48 +08:00
An Phan
12e4bd473f Basically completed jwt 2015-12-30 11:29:35 +07:00
An Phan
a083696289 Add updateNowPlaying for Last.fm 2015-12-23 14:26:16 +08:00
Phan An
54c9a88bc1 Applied fixes from StyleCI 2015-12-21 08:50:26 -05:00
An Phan
8495452762 Like/unlike now work with Last.fm 2015-12-21 21:49:00 +08:00
Phan An
1d417221bf Applied fixes from StyleCI 2015-12-20 07:30:28 -05:00
An Phan
bdb76a3c9b Resolved conflicts 2015-12-20 20:21:40 +08:00
An Phan
f449a1a744 Add Last.fm scrobbling functionality 2015-12-20 20:17:35 +08:00
Phan An
30c63cc96d Applied fixes from StyleCI 2015-12-19 12:08:03 -05:00
An Phan
cf27ed713d First integration with Last.fm
Koel can now integrate and use the rich information from Last.fm. Now
whenever a song is played, its album and artist information will be
queried from Last.fm and cached for later use. What's better, if an
album has no cover, Koel will try to update its cover if one is found on
Last.fm.

In order to use this feature, users only need to provide valid Last.fm
API credentials (namely LASTFM_API_KEY and LASTFM_API_SECRET) in .env. A
npm and gulp rebuild is also required - just like with every update.
2015-12-20 00:36:44 +08:00
Phan An
92aefb88ab Applied fixes from StyleCI 2015-12-17 13:00:42 -05:00
An Phan
bf01bf67ef Attempts to fix UTF-16 issues 2015-12-18 01:57:23 +08:00
An Phan
79e441646e Fix test class name 2015-12-17 15:16:36 +08:00
An Phan
f19afff184 Add artist test 2015-12-17 15:02:44 +08:00
Pedro Borges
5f9f7d925d Fix UserPolicy 2015-12-15 08:32:41 -02:00
Pedro Borges
dab4486eee Fix after merge issues 2015-12-14 22:45:10 -02:00
Pedro Borges
d21736d59d Fix conflicts 2015-12-14 16:12:20 -02:00
Pedro Borges
899c7176c1 Use Laravel built-in authorization
The comment below motivated me to find a better solution for the
repeated authorisation checks:

```php
// This can't be put into a Request authorize(), due to Laravel(?)'s
limitation.
```

This is the result.
2015-12-14 14:27:26 -02:00
Phan An
f9c9a4df2d Applied fixes from StyleCI 2015-12-14 08:22:39 -05:00
An Phan
0ee372882c Big Bang 2015-12-13 12:42:28 +08:00