Commit Graph

36 Commits

Author SHA1 Message Date
Buster "Silver Eagle" Neece 5cbacd5df6
System-Wide Strict Types (#4405) 2021-07-19 00:53:45 -05:00
Buster "Silver Eagle" Neece a35b4569ad
#4279 -- Switch to a "read-only" iterator for performance boost. 2021-06-13 02:33:07 -05:00
Buster "Silver Eagle" Neece 3f23efa076
PHP code style fixes. 2021-06-08 01:40:49 -05:00
Buster "Silver Eagle" Neece f117644649
Apply PHP8-specific improvements. 2021-04-23 00:24:12 -05:00
Buster "Silver Eagle" Neece f792019bb1
#3893 -- Heavily optimize media processing synchronized task. 2021-04-09 20:25:35 -05:00
Buster "Silver Eagle" Neece 3695510da6
Fixes #3664 -- Improve memory usage when exporting timeline CSV. 2021-01-12 21:13:48 -06:00
Buster "Silver Eagle" Neece bc247a7257
Switch to using Pagerfanta library for pagination. 2020-12-19 19:51:53 -06:00
Buster "Silver Eagle" Neece 4ca8ce0bc6
Split Utilities apart into individual categories. 2020-12-10 20:43:58 -06:00
Buster "Silver Eagle" Neece fff8124409
Create new "API Generator" classes and use them systemwide. 2020-10-19 05:41:15 -05:00
Vaalyn 9a94e6a178
Add PHPCS for code style checks (#3273) 2020-10-14 17:19:31 -05:00
Buster "Silver Eagle" Neece c81ff62b5c
Remove the `Song` entity and restructure dependent tables accordingly (#3231)
* Song database and entity overhaul, part 1.
* Remove Songs table from a number of qeries and reports.
* Fix references to Songs table; rewrite StationMedia processing.
* Remove song reference in queue page.
* Allow custom log level via environment variable.
2020-10-04 17:35:41 -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 4c825f7c52
Migrate to new paginator classes. 2020-07-09 15:46:08 -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 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 b580901822
Track current streamer in Song History entries. 2020-03-10 15:58:58 -05:00
Buster "Silver Eagle" Neece 4d4d75ad4d
Reunify AzuraCore and AzuraCast repositories. 2020-02-05 20:35:13 -06:00
Buster "Silver Eagle" Neece 8e08b7b798
Remove now-redundant PHPDoc blocks that don't add context. 2019-12-07 17:42:23 -06:00
Buster "Silver Eagle" Neece 1a6d1d620d
Add PHP 7.4 type hinting everywhere except Entities. 2019-12-07 06:19:49 -06:00
Buster "Silver Eagle" Neece bd42b64de0
Add spaces to phpdoc blocks and optimize imports. 2019-09-20 11:44:38 -05:00
Buster "Silver Eagle" Neece db8a5f4581
Update to using PHP-DI bridge and its function invocation method. 2019-09-09 21:30:05 -05:00
Buster "Silver Eagle" Neece 513d04f7d2
Code cleanup! 2019-09-04 13:00:51 -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 4e36c6dc52
History/Listener report cleanup
- Make both history and listener API endpoints use the station's timezone to determine date ranges
 - Match the header style between history and listener report
 - Remove "votes" from CSV export of History
 - Add CSV export to Listener report
 - Limit showing the map if you have over 1k data points
2019-08-03 12:02:10 -05:00
Buster Neece 0382ef9870
Make API classes only need a base UriInterface, not the router. 2019-07-25 11:21:04 -05:00
Buster Neece bbe1690843
General API cleanup and closes #1277 -- Add streamer/DJs API endpoint. 2019-04-07 03:40:55 -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 ea160925af #1113 -- Add history API endpoint to the official docs. 2019-01-29 16:32:32 -06:00
Buster "Silver Eagle" Neece 676927b024 Fix issues with queueing songs, add queue API endpoints and queue viewer page. 2018-12-12 03:01:03 -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 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 4360ffe6fc Switch all in-system URLs to use a PSR-7 compliant URI for at-endpoint modification
This fixes one significant issue in the AzuraCast system where NowPlaying responses don't respect the "always use HTTPS" or "prefer browser URL" settings.
2018-10-04 18:12:12 -05:00
Buster "Silver Eagle" Neece 24a5315675 Fix paginator (#806) and split JS functions in reports. 2018-09-30 20:50:45 -05:00
Buster "Silver Eagle" Neece 8ea80733ec Fix locale provided to moment.js; prevent un-played songs from showing in history. 2018-08-27 05:29:14 -05:00
Buster "Silver Eagle" Neece 9a2d5108e8 Implement Station History API, convert history report to use it. 2018-08-25 05:56:43 -05:00