File: /home/bdedition/www/core/routes/user.php
<?php
use Illuminate\Support\Facades\Route;
Route::namespace('User\Auth')->name('user.')->middleware('guest')->group(function () {
Route::controller('LoginController')->group(function () {
Route::get('/', 'showLoginForm')->name('login');
Route::post('/', 'login');
Route::get('logout', 'logout')->middleware('auth')->withoutMiddleware('guest')->name('logout');
});
Route::controller('ForgotPasswordController')->prefix('password')->name('password.')->group(function () {
Route::get('reset', 'showLinkRequestForm')->name('request');
Route::post('email', 'sendResetCodeEmail')->name('email');
Route::get('code-verify', 'codeVerify')->name('code.verify');
Route::post('verify-code', 'verifyCode')->name('verify.code');
});
Route::controller('ResetPasswordController')->group(function () {
Route::post('password/reset', 'reset')->name('password.update');
Route::get('password/reset/{token}', 'showResetForm')->name('password.reset');
});
});
Route::middleware('auth')->name('user.')->group(function () {
Route::get('user-data', 'User\UserController@userData')->name('data');
Route::post('user-data-submit', 'User\UserController@userDataSubmit')->name('data.submit');
//authorization
Route::middleware('registration.complete')->namespace('User')->controller('AuthorizationController')->group(function () {
Route::get('authorization', 'authorizeForm')->name('authorization');
Route::get('resend-verify/{type}', 'sendVerifyCode')->name('send.verify.code');
Route::post('verify-email', 'emailVerification')->name('verify.email');
Route::post('verify-mobile', 'mobileVerification')->name('verify.mobile');
Route::post('verify-g2fa', 'g2faVerification')->name('2fa.verify');
});
Route::middleware(['check.status', 'registration.complete'])->group(function () {
Route::namespace('User')->group(function () {
Route::controller('UserController')->group(function () {
Route::get('dashboard', 'home')->name('home');
Route::get('download-attachments/{file_hash}', 'downloadAttachment')->name('download.attachment');
//2FA
Route::get('twofactor', 'show2faForm')->name('twofactor');
Route::post('twofactor/enable', 'create2fa')->name('twofactor.enable');
Route::post('twofactor/disable', 'disable2fa')->name('twofactor.disable');
Route::post('add-device-token', 'addDeviceToken')->name('add.device.token');
});
//Profile setting
Route::controller('ProfileController')->group(function () {
Route::get('profile-setting', 'profile')->name('profile.setting');
Route::post('profile-setting', 'submitProfile');
Route::get('change-password', 'changePassword')->name('change.password');
Route::post('change-password', 'submitPassword');
});
//News
Route::name('news.')->prefix('news')->controller('NewsController')->group(function(){
Route::get('', 'index')->name('index');
Route::get('pending', 'pending')->name('pending');
Route::get('approved', 'approved')->name('approved');
Route::get('rejected', 'rejected')->name('rejected');
Route::get('create', 'create')->name('create');
Route::get('edit/{id?}', 'edit')->name('edit');
Route::post('store/{id?}', 'store')->name('store');
});
});
});
});