Commit Graph

89 Commits

Author SHA1 Message Date
Buster Neece 222676e45a
Public static asset cache overhaul:
- Make all public static assets (album art, streamer art, podcast/episode art, etc) serve with no sessions or other user-specific information
 - Make "timestamp" an explicit URL parameter and avoid weird parsing of IDs mixed with timestamps
 - Make static caching a universal middleware for uniform results across controllers
 - Update public art URL paths to reference station short names instead of numeric IDs
2023-12-28 14:07:55 -06:00
Buster Neece cf169b423c
Merge commit 'bcf7d575ac18c8e8123c483364add72a84aec901' 2023-08-10 09:41:07 -05:00
Buster Neece 631dda96d8
Migrate the Administration panel to its own Mini-SPA. 2023-08-08 12:23:01 -05:00
Buster Neece 71560164b2
Enforce strict types across files. 2023-06-08 05:38:43 -05:00
Buster "Silver Eagle" Neece 5a2f1a42e5
Add CSRF token to all internal session-authenticated API requests. 2021-08-27 18:45:25 -05:00
Buster "Silver Eagle" Neece 66ded0a693
Move route groups to separate files to ease maintenance. 2020-04-07 23:19:24 -05:00
Buster "Silver Eagle" Neece 5903387eb9
Add button to clear all pending requests. 2020-04-06 23:54:28 -05:00
Buster "Silver Eagle" Neece c59fca5933
Broaden permissions on profile API endpoint. 2020-04-02 17:13:26 -05:00
Buster "Silver Eagle" Neece f1025d52f7
Unify all station profile API calls into a single response. 2020-04-02 06:30:00 -05:00
Buster "Silver Eagle" Neece 62219946f3
Add LS Telnet commands to Debug page. 2020-03-10 17:30:02 -05:00
Buster "Silver Eagle" Neece 710c64e041
Run backups in background and show rolling log; new backup timecode check. 2020-03-08 17:49:48 -05:00
Buster "Silver Eagle" Neece 0939599532
Create new "Debug" page for testing internal functions in debug mode. 2020-03-01 10:26:49 -06:00
Buster "Silver Eagle" Neece 82b9ec685d
Create new "Edit Liquidsoap Config" page; allow editing in more places. 2020-02-23 06:58:47 -06:00
Buster "Silver Eagle" Neece 18a2089377
Formalize and define the new `/station/{id}/schedule` API endpoint. 2020-02-19 09:05:15 -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 5ccb3798dc
Add ability to delete individual broadcasts. 2020-02-03 01:15:57 -06:00
Vaalyn 4edbe6cd2a
Fix issue 2141 (#2362)
* Fix backups download route path

* Add download attribute to backup download link
2020-01-30 15:57:30 -06:00
Buster "Silver Eagle" Neece ca9c5db39d
New feature: Track broadcasts and record them. (#2353)
* Add form entries and LS config writing for live stream recording.

* Create new Broadcast entity; implement new djon/djoff handling.

* Rework record command procedure and add Station relation to Broadcast.

* Run code reformat on JS to add semicolons back.

* Properly save recording path on entity.

* Initial commit of new streamers Vue component.

* Finish frontend Vue dev and add necessary API endpoints.

* Add loader to Datatable; update npm deps; polish on components.
2020-01-28 20:23:55 -06:00
Buster "Silver Eagle" Neece 78eb312ec7
#2326 -- Add ability to uninstall GeoLite database. 2020-01-24 14:45:45 -06:00
Buster "Silver Eagle" Neece ebb6349ae1
Rename Sftp class, use new external auth support. 2020-01-08 13:24:33 -06:00
Buster "Silver Eagle" Neece e9d8775af6
Switch from FTP to SFTP on Docker installations. 2020-01-05 15:29:56 -06:00
Buster "Silver Eagle" Neece 388bcee951
#2250 -- Handle MaxMind no longer offering free public downloads.
- Remove automatic download attempt from Ansible installation process
 - Allow listener report to function without the MaxMind database present, but with error messages
 - Create new "Install GeoLite Database" page in system administration, allowing user upload of the MaxMind database, with instructions
2019-12-31 06:49:25 -06:00
Buster "Silver Eagle" Neece 440687e93b
Settings forms code refactor, fixes #2171. 2019-11-25 21:25:29 -06:00
Buster "Silver Eagle" Neece 54140c4674
Update loaded assets and finish "reorder" functionality. 2019-11-04 15:59:52 -06:00
Buster "Silver Eagle" Neece a44f9fe0bb
Further dev work on new playlist manager. 2019-11-03 20:19:25 -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 7f96916a0d
#2076 -- Revamp how album art changes are handled.
- All media rows will have an "art_updated_at" field that tracks the latest time the art was changed for the file.
- If this field is set to zero (0), the system will return the default album art instead of attempting to resolve an album art URL that we know won't go anywhere.
- The timestamp of the latest update is now included in the album art image SRC, so we can maintain our very long caches without interfering with album art updates.
2019-10-24 14:37:27 -05:00
Buster "Silver Eagle" Neece 047d19e972
Protect against accidentally loading the same dir, but with a prepended slash. 2019-10-22 01:39:07 -05:00
Buster "Silver Eagle" Neece ff7d741455
Fix upload namespace on routes. 2019-10-10 20:51:55 -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 1d2ed5fa55
Move file routes to API endpoints and add inline renaming. 2019-10-09 21:13:04 -05:00
Buster "Silver Eagle" Neece a4a146673e
More fixes to allow for new PHP-DI bridge integration. 2019-09-09 23:02:08 -05:00
Buster "Silver Eagle" Neece 37c69afe85
Implement Audit Log (#1859)
Add a new "Audit Logs" table (and corresponding administrative page) that tracks inserts, updates and deletes to important database entries, along with tracking the user who made the change.
2019-08-14 18:50:53 -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 68088fbd05
Create a page showing AzuraRelay instances. 2019-07-31 22:20:06 -05:00
Buster Neece 5a9ec823e4
Make relays an internal URL and prevent :443 infinite redirects. 2019-07-23 11:51:06 -05:00
Buster Neece ffcf01adc8
Fix migration, add POST relay update and remote adapter. 2019-07-15 18:47:05 -05:00
Buster Neece 419d524744
Add new relays API endpoint and fix response docs on some other endpoints. 2019-07-10 12:45:54 -05:00
Buster "Silver Eagle" Neece 16fc2c54bc
Implement zero-downtime backups + nightly backups (#1574)
* Create new backup and restore commands allowing live backups.
* Switch migrate script to use new backup method.
* Avoid loading fixtures, ensure directories exist when restarting stations.
* Include album art in media backup.
* First portion of automated backup management code.
* Further backup page work; add download/delete functionality.
* Implement automatic backups and "manual run" page.
* Switch automatic backup filename to match text.
* Add new locales.
* Add restore instructions and ability to view latest backup log.
2019-05-23 10:29:22 -05:00
Buster Neece 4774b5f29c
Design rework of the station profile page. 2019-05-10 00:44:47 -05:00
Buster Neece e8a4db3fad
#1475 -- Fix routing error with album art. 2019-04-25 04:08:57 -05:00
Buster Neece 69eff1ead9
Initial work on files API endpoints. 2019-04-22 06:19:21 -05:00
Buster Neece dcf27f6539
Closes #1283 -- Add web hooks API endpoint. 2019-04-14 17:12:49 -05:00
Buster Neece 8dc072d1c8
Simplify routing file and add Playlist API endpoints. 2019-04-12 22:27:58 -05:00
Buster Neece 4f68512b43
#1281 #1282 -- Add remotes/mount point API. 2019-04-09 23:46:51 -05:00
Buster Neece 3554d65c75
Move port checker to Validation; create StationCloneForm, etc. 2019-04-09 04:06:44 -05:00
Buster Neece 9c5797dc38
#788 -- Implement station management via API endpoint. 2019-04-08 00:09:53 -05:00
Buster Neece bbe1690843
General API cleanup and closes #1277 -- Add streamer/DJs API endpoint. 2019-04-07 03:40:55 -05:00