Commit Graph

178 Commits

Author SHA1 Message Date
Buster "Silver Eagle" Neece 0a8c41542d
Make environment immutable and strictly use function calls. 2020-12-06 05:57:39 -06:00
Buster "Silver Eagle" Neece 2eac4d3cb4
Make sync tasks a long-running logged process like backups. 2020-12-05 13:34:13 -06:00
Buster "Silver Eagle" Neece 969789aa05
Code style fixes. 2020-12-04 06:42:15 -06:00
Buster "Silver Eagle" Neece aed854a17c
Settings overhaul, part 2
Make Settings a controlled entity.
2020-12-04 02:41:55 -06:00
Buster "Silver Eagle" Neece 5727f12b6f
Settings refactor part 1: Rename App\Settings to App\Environment.
Previously AzuraCast had two very similar `$settings` variables, one that was from environment and the other from the database. This refactor distinguishes the two much more clearly.
2020-12-02 22:18:06 -06:00
Buster "Silver Eagle" Neece 5724b78073
Composer dependency update and code style fixes from new test suites. 2020-12-01 07:45:01 -06:00
Buster "Silver Eagle" Neece 6de636f475
Unified Filesystem Overhaul (#3341)
This migration adds "Storage Locations", managed via a new System Administration panel, that can hold Station Media data, live broadcast recordings, and backups. These storage locations can be local (as they are by default) or remote via any S3-compatible service.
2020-11-09 21:06:48 -06:00
Buster "Silver Eagle" Neece 6df42a73be
Update unit tests to reflect new standalone StationProfile component. 2020-10-16 04:48:26 -05:00
Buster "Silver Eagle" Neece aa02522ff3
Fix time unit test. 2020-10-10 02:10:28 -05:00
Buster "Silver Eagle" Neece 5e29c2f043
Fix tests with pull requests. (#3187)
* Remove redundant test log.
* Set function return type on tests.
* Don't manage translations on branch/PR requests.
* Separate locale and static asset steps.
* Make sure npm ci runs even when translations don't run.
2020-09-20 12:49:41 -05:00
Vaalyn 2a3f715a9d
Add frontend test case to check if user based locale is working correctly (#3160)
* Fixed user based locale not working bug due to calling initLocale() before getting user

* Add frontend test case to check if user based locale works correctly

* Look for logged in user's e-mail instead of the word "Logged In" in tests.

* Don't overwrite the LANG env var with user locale.

Co-authored-by: Buster "Silver Eagle" Neece <buster@busterneece.com>
2020-09-20 12:10:05 -05:00
Buster "Silver Eagle" Neece 63e0040e8f
Bump static analysis level and make strict type fixes. 2020-08-31 17:32:30 -05:00
Buster "Silver Eagle" Neece 23f2172488
Scheduler/StationQueue Rework (#3087)
Create a new "StationQueue" entity that contains the upcoming song queue, and split the important AutoDJ functionality across multiple classes (Annotations, Queue and Scheduler).
2020-08-16 09:54:01 -05:00
Buster "Silver Eagle" Neece 6f66ff072b
Make Auth and Customization PSR-7 lifecycle friendly. 2020-07-09 23:15:27 -05:00
Buster "Silver Eagle" Neece 994d5b2986
Switch from Cakephp/Chronos to CarbonImmutable. 2020-07-08 18:50:44 -05:00
Buster "Silver Eagle" Neece 2561fa0eae
Update several dependencies to newer releases. 2020-06-27 16:55:35 -05:00
Buster "Silver Eagle" Neece 4bcfad3eb5
Updates preparing for Doctrine 3.0
- Switch to EntityManagerInterface for EM uses
 - Wrap EntityManager in close-resilient wrapper
 - Close/clear/reopen EM with every request
 - Rework tests to be em->clear() resilient.
2020-06-26 15:22:53 -05:00
Buster "Silver Eagle" Neece 85991b7546
Preemptive changes to prepare for Doctrine ORM 3.0. 2020-06-25 13:44:26 -05:00
Buster "Silver Eagle" Neece 0dea2de081
Update to Doctrine Migrations 3.x. 2020-06-25 03:47:49 -05:00
Buster "Silver Eagle" Neece fc41b4ad5f
Fix leading slash issue in API upload and use new API format in func tests. 2020-06-16 06:00:16 -05:00
Buster "Silver Eagle" Neece ae4972f15b
Composer dependency update and minor functional test tweaks. 2020-06-06 05:14:50 -05:00
Buster "Silver Eagle" Neece 2d7c6a211c
Fix unit test which now requires a full URI. 2020-05-08 19:49:33 -05:00
Buster "Silver Eagle" Neece 945b4a83df
Implement per-station default album artwork. 2020-05-02 20:28:08 -05:00
Buster "Silver Eagle" Neece d2d5796cf6
Update tests to reflect new URIs. 2020-03-01 10:40:15 -06:00
Buster "Silver Eagle" Neece 80e5f4efac
Speed up file download streams by using X-Accel-Redirect when possible. 2020-02-21 12:48:43 -06:00
Buster "Silver Eagle" Neece 33d2ed64ae
Implement Streamer Schedules, Schedule Enforcement and new Scheduled Items Panel on Profile (#2422)
* Commit new Schedule entity changes and new API endpoints.

* Fix possible cause of API POST errors.

* Fix syntax with JSON return slashes.

* Add "Schedule View" and "Enforce Schedule" settings to Streamers.

* Add "Scheduled" panel to Profile.
2020-02-17 22:32:14 -06:00
Buster "Silver Eagle" Neece 4d4d75ad4d
Reunify AzuraCore and AzuraCast repositories. 2020-02-05 20:35:13 -06:00
Buster "Silver Eagle" Neece 47f3594fc1
Further fixes relating to entitymanager clearing. 2020-01-29 19:21:15 -06:00
Buster "Silver Eagle" Neece 125a475d07
Remove non-Vue functional test; update Composer deps. 2020-01-29 03:53:47 -06:00
Buster "Silver Eagle" Neece 22d8f8c241
Update dependencies; move from Zend to Laminas. 2020-01-17 20:35:09 -06:00
Buster "Silver Eagle" Neece 8cff0d373b
#2186 -- Update the total listener hour calculation. 2019-12-07 22:25:09 -06:00
Buster "Silver Eagle" Neece fe05fa92ee
Update unit test suite. 2019-11-07 02:12:13 -06:00
Buster "Silver Eagle" Neece 09ae256ea2
Remove previous Playlists pages from test suite. 2019-11-06 15:34:51 -06:00
Buster "Silver Eagle" Neece 2f03b038f7
Refactor Account/Profile sections and fix #2099 (2FA setup errors). 2019-10-26 18:35:24 -05:00
Buster "Silver Eagle" Neece 7f55696b47
Add new media manager album art tab. 2019-10-10 20:22:02 -05:00
Buster "Silver Eagle" Neece d7819a6993
Migrate Doctrine repositories to composited, DI-friendly classes. 2019-09-29 02:50:24 -05:00
Buster "Silver Eagle" Neece 5a8709f82c
Switch to PSR-7-based Redis-backed session persistence. 2019-09-23 21:22:08 -05:00
Buster "Silver Eagle" Neece 85519b3cb9
Fix some error handler issues related to new session handler. 2019-09-23 00:34:36 -05:00
Buster "Silver Eagle" Neece e3104a546a
Session handling overhaul
- Switch to "storageless sessions" middleware
- Update azuracore/azuraforms to apply necessary changes
- Switch form CSRF handling to use Session's CSRF handler
- Avoid using "magic" string in flash messages, switch to using constants.
2019-09-22 23:51:44 -05:00
Buster "Silver Eagle" Neece df775c6108
Slightly modify test suite. 2019-09-19 23:04:00 -05:00
Buster "Silver Eagle" Neece f1875061e6
Add new functional tests for admin API functions. 2019-09-19 21:31:22 -05:00
Buster "Silver Eagle" Neece 7145f2a49e
Add new unit tests for mount points and remote relays. 2019-09-18 15:03:02 -05:00
Buster "Silver Eagle" Neece daf78fa738
Move Settings and Logging to static system-wide functions. 2019-09-12 00:31:01 -05:00
Buster Neece 507c00e55c
Add back in the upload test that previously failed. 2019-08-09 11:52:56 -05:00
Buster Neece 2f8ab5544a
Switch back to Request/Response decorators. 2019-08-09 10:00:21 -05:00
Buster "Silver Eagle" Neece 639dddf989
Slim PHP Framework 4 Update (#1822)
Implement an upgrade of the codebase to use Slim Framework version 4, which includes the following changes:
 - Updating to Slim version 4 and the corresponding AzuraCore updates.
 - Making all objects PSR-7 Request/Response agnostic (and creating RequestHelper and ResponseHelper objects to interact with the PSR-7 Req/Resp objects).
 - Moving to PHP-DI as a DI container and implementing its autowiring support.
2019-08-06 23:33:55 -05:00
Buster Neece 3812f68069
Remove "look-ahead" timing on Next Song; add per-x-minutes unit test. 2019-07-20 16:04:42 -05:00
Buster Neece 4dd1ef25db
AutoDJ code quality cleanup and add back unit test. 2019-07-19 18:55:44 -05:00
Buster Neece 262348a7ae
Fix functional test to reflect new homepage look. 2019-05-26 12:20:02 -05:00
Buster Neece 12e00b5271
Update frontend deps, clean up Utility function calls, switch many things to Moment. 2019-05-14 09:23:06 -05:00
Buster Neece 575d5b5662
Show station time zone when editing playlist. Set TZ in LS directly. 2019-05-14 02:48:41 -05:00
Buster Neece 2427389c6a
Composer deps update. 2019-05-08 19:53:01 -05:00
Buster Neece 40a7d5a3af
Set up translations on tests. 2019-04-09 04:13:39 -05:00
Buster Neece 3554d65c75
Move port checker to Validation; create StationCloneForm, etc. 2019-04-09 04:06:44 -05:00
Buster Neece c5fd481c7f
Remove now-unused unit test. 2019-03-26 22:46:06 -05:00
Buster Neece a5e6a87c60
Playlist refactor initial commit. 2019-03-26 02:05:50 -05:00
Buster "Silver Eagle" Neece 8a6701403a Code and PHPDoc cleanup to green-light level 2 static analysis. 2019-01-31 11:54:17 -06:00
Buster "Silver Eagle" Neece 26300067bf Fix annotation handling for unit tests. 2018-12-26 05:31:38 -06:00
Buster "Silver Eagle" Neece 70914a67c1
Implement Flysystem, move album art to filesystem, fix related issues #953 #962 (#1022)
* Initial entity and dependency commit.

* Create migration test for album art move.

* File management controller refactor and further wiring of Flysystem.

* Form/UI fixes and refactors related to Flysystem.

* Update composer deps and add merge plugin to avoid dep overlap.

* Fix batch moving/directory listing, add lightboxing to files manager.

* Fix album art writing, use special upload method to skip disk round-trip.

* Migrate StationRepository to be DI-driven, update unit tests and the setup controller.
2018-12-05 01:15:51 -06:00
Buster "Silver Eagle" Neece 23ca364c86 Move some common utilities to AzuraCore. 2018-11-26 10:43:17 -06:00
Buster "Silver Eagle" Neece e742fc6fe6 Fix unit test that refers to a now-aliased time zone. 2018-11-19 02:39:50 -06:00
Buster "Silver Eagle" Neece 854cb93261
Architecture change: Integrate common AzuraCore code (#944)
* Update composer.json/lock
* Update CLI console commands
* All AzuraCore refactors except folder moves.
* MVP for all core functionality.
* Working unit/functional tests
* Remove DB dump from util/, replace with direct migration.
* Update AzuraCore, define testing mode earlier.
2018-11-12 10:59:15 -06:00
Buster "Silver Eagle" Neece 21cf20e254 Minor unit test fix 2018-10-14 09:14:37 -05:00
Buster "Silver Eagle" Neece d637d385c5 Update tests to match new UI patterns 2018-10-11 12:01:00 -05:00
Buster "Silver Eagle" Neece cd4ff6325a Fix unit tests, which have been silently failing >:( 2018-10-11 02:33:55 -05:00
Buster "Silver Eagle" Neece 76530bcd36 Update unit tests to reflect new routing. 2018-10-08 00:41:35 -05:00
Buster "Silver Eagle" Neece f399b49c0f Update test suite to reflect profile changes. 2018-09-29 09:04:33 -05:00
Buster "Silver Eagle" Neece 8b15868c5d Restructure Adapter class constants 2018-08-18 19:44:46 -05:00
Buster "Silver Eagle" Neece 541480f884 Add azuracast:settings:set and azuracast:settings:list CLI commands 2018-08-17 03:46:47 -05:00
Buster "Silver Eagle" Neece 082d564465 Restructure web hook configuration; create new "Test" function; improve display of test pages. 2018-08-12 01:35:48 -05:00
Buster "Silver Eagle" Neece 98ff8f69cf
Core code restructure (#697)
* Initial renaming to a single global App\ namespace.
* Move CSRF/Flash under Session, move Session under Request
* Use new Request Station helper
* Unify App/Acl and App/Acl/StationAcl
* Alphabetize composer.json
2018-08-04 17:05:14 -05:00
Buster "Silver Eagle" Neece 3a4d630f25 Fix unit testing to match new error file 2018-07-23 02:31:24 -05:00
Buster "Silver Eagle" Neece 9fc1f13d45 Okay never mind don't ignore those files 2018-07-13 14:53:39 -05:00
Buster "Silver Eagle" Neece f684e83166 Composer update and ignoring autogenned unit test files. 2018-07-13 14:46:36 -05:00
Buster "Silver Eagle" Neece 4ad6b7094d Changes to allow unit testing from inside PhpStorm 2018-07-13 02:15:35 -05:00
Buster "Silver Eagle" Neece 1f08c307e0
#566 / #567 Sequential Playlists with Reordering Page (#573)
- Expand the ManyToMany relationship between StationMedia and StationPlaylist to include both a "weight" and "last_played" parameter, to allow for sequential playlists.
- Implement Sequential playlist support
- Create new "reorder playlist" page
2018-04-29 18:48:48 -05:00
Buster "Silver Eagle" Neece 65b30ce58f Fix functional test re: #558 2018-04-22 19:07:10 -05:00
Buster "Silver Eagle" Neece 673a3389ba Update homepage URL in unit tests. 2018-04-07 21:32:04 -05:00
Buster "Silver Eagle" Neece c1acff7100 Make playlist scheduling unit-testable, and build a unit test for it. 2018-04-07 19:17:22 -05:00
Buster "Silver Eagle" Neece 5513ca06a2 Switch dependencies to new AzuraForms; remove CodeClimate (and thus the Guzzle\Guzzle error) 2018-02-25 11:47:48 -06:00
Buster "Silver Eagle" Neece fe0bfe6f64 Unit test fix 2018-02-15 19:51:42 -06:00
Buster "Silver Eagle" Neece abd4e848c9 Another language fix for the unit tests 2018-02-14 08:55:59 -06:00
Buster "Silver Eagle" Neece c6112ce530 Add backup to nginx config; fix another unit test. 2018-02-14 00:08:47 -06:00
Buster "Silver Eagle" Neece 93cfa609c2 Fix tests for vue changes to homepage. 2018-02-14 00:02:22 -06:00
Buster "Silver Eagle" Neece 5a26c2eeec Update language on unit test. 2018-02-13 23:55:49 -06:00
Buster "Silver Eagle" Neece 5b29f78099 Fix unit test 2018-02-07 11:05:34 -06:00
Buster "Silver Eagle" Neece 48fa077dbb Fix CSRF variable naming on station media management for consistency. 2018-02-07 06:53:31 -06:00
Buster "Silver Eagle" Neece 87ad79e88b API Key overhaul: switch API keys to be per-user and add new manager page. 2018-02-06 05:09:05 -06:00
Buster "Silver Eagle" Neece f71703b562
Major code quality refactor (#399)
* Initial (non-working) commit of new middleware infrastructure.

* Begin massive refactor for Slimification: move controllers and views

* Begin refactor on controllers

* Finish refactor for admin pages.

* Initial refactor of API section finished.

* Going fully idiomatic with it: initial commit of infrastructure

* Mid-morning break commit of refactor to DI-ize *everything*

* Station adapter and config DI rewrite.

* Finish DI-ification refactor of admin pages.

* Finish DI-ification refactor of API controllers.

* Finish DI-ification refactor of frontend/setup controllers.

* Station index and profile controller refactors.

* Refactor all station controllers except Files.

* All files refactored, ready for testing!

* Update Codeception exclusions

* Green-light on functional tests, include forgotten controller page, etc.
2018-02-01 05:49:40 -06:00
Buster "Silver Eagle" Neece 3d2a409029 More post-refactor fixes. 2018-01-22 11:40:00 -06:00
Buster "Silver Eagle" Neece 8b1ac08eb0 Refactor services in DI to reference class names. Clean up relevant code. 2018-01-22 10:28:41 -06:00
Buster "Silver Eagle" Neece dfb971de17 Update unit tests to resolve issues caused by memory optimization. 2017-11-20 19:14:43 -06:00
Buster "Silver Eagle" Neece 29db397531 Update request unit test. 2017-11-03 21:20:50 -05:00
Buster "Silver Eagle" Neece 79d3143870 Update unit test to match new security checks. 2017-11-03 00:28:05 -05:00
Buster Silver cbefa9e35e Broaden the scope of unit tests. 2017-08-20 12:44:51 -05:00
Buster "Silver Eagle" Neece c1e3694cd6 Rebuild Doctrine entities to match Doctrine 2 best practices, and resolve related issues. (#213)
* First set of rewritten entities. Not ready for use!
* More work on the massive overhaul of Doctrine entities.
* Bulk of the rewrite work completed.
* More bug and sync fixes.
* More fixes, Doctrine Proxy improvements.
* Fixing more tests.
* Console/CLI and API response fixes.
* Bug fixes.
* Missed a spot
* Fix uploading and bug with dupes.
* Fix automation bugs
* More bug fixes.
2017-08-17 13:28:48 -05:00
Buster "Silver Eagle" Neece e2f9537a2d Update unit tests to reflect form structure. 2017-08-13 05:07:22 -05:00
Buster Silver a7ccbf3af9 More fixes to make unit tests match new API style. 2017-06-29 22:35:30 -05:00
Buster Silver b48322920c Minor update to match type-specificity in API. 2017-06-29 21:26:34 -05:00
Buster Silver 12417d7c39 Minor tweaks to unit testing. 2017-06-29 21:16:13 -05:00