mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
Push Notifications (Mobile and PC) (#13277)
* Update manifest and add service worker cleanup icons a bit * Push notifications WIP * navigate working * cleanup * acknowledge wired up * Set VAPID keys on composer install * Component to control notification permissions. * Allow all user option to validate * Enable on browser load if transport exists. * Check for transport before showing user permissions translations * Documentation * style fixes * access via the attribute model * fix alerting test * update schema * cleanup subscription on disable * non-configurable db and table for webpush subscriptions (respect system connection) * revert AlertTransport change hopefully phpstan can figure it out * phpstan fixes * Support custom details display * Match transport names to brand's preferred display * less duplicate id errors * Tests are done in Laravel code now so remove legacy function usage... could be better, but ok * Style fixes * Style fixes 2 * Fix alert test * Doc updates requires HTTPS and GMP * unregister subscription when permission is set to denied * cleanup after user deletion * delete the right thing * fix whitespace * update install docs to include php-gmp * suggest ext-gmp * update javascript * Update functions.php Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
This commit is contained in:
@@ -20,6 +20,7 @@ Auth::routes(['register' => false, 'reset' => false, 'verify' => false]);
|
||||
Route::group(['middleware' => ['auth'], 'guard' => 'auth'], function () {
|
||||
|
||||
// pages
|
||||
Route::post('alert/{alert}/ack', [\App\Http\Controllers\AlertController::class, 'ack'])->name('alert.ack');
|
||||
Route::resource('device-groups', 'DeviceGroupController');
|
||||
Route::resource('port-groups', 'PortGroupController');
|
||||
Route::resource('port', 'PortController', ['only' => 'update']);
|
||||
@@ -59,11 +60,21 @@ Route::group(['middleware' => ['auth'], 'guard' => 'auth'], function () {
|
||||
Route::get('devicedependency', 'DeviceDependencyController@dependencyMap');
|
||||
});
|
||||
|
||||
// Push notifications
|
||||
Route::group(['prefix' => 'push'], function () {
|
||||
Route::get('token', [\App\Http\Controllers\PushNotificationController::class, 'token'])->name('push.token');
|
||||
Route::get('key', [\App\Http\Controllers\PushNotificationController::class, 'key'])->name('push.key');
|
||||
Route::post('register', [\App\Http\Controllers\PushNotificationController::class, 'register'])->name('push.register');
|
||||
Route::post('unregister', [\App\Http\Controllers\PushNotificationController::class, 'unregister'])->name('push.unregister');
|
||||
});
|
||||
|
||||
// admin pages
|
||||
Route::group(['middleware' => ['can:admin']], function () {
|
||||
Route::get('settings/{tab?}/{section?}', 'SettingsController@index')->name('settings');
|
||||
Route::put('settings/{name}', 'SettingsController@update')->name('settings.update');
|
||||
Route::delete('settings/{name}', 'SettingsController@destroy')->name('settings.destroy');
|
||||
|
||||
Route::post('alert/transports/{transport}/test', [\App\Http\Controllers\AlertTransportController::class, 'test'])->name('alert.transports.test');
|
||||
});
|
||||
|
||||
// old route redirects
|
||||
|
Reference in New Issue
Block a user