first commit
This commit is contained in:
BIN
app/Http/.DS_Store
vendored
Normal file
BIN
app/Http/.DS_Store
vendored
Normal file
Binary file not shown.
10
app/Http/Controllers/Auth/ForgotPasswordController.php
Normal file
10
app/Http/Controllers/Auth/ForgotPasswordController.php
Normal file
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Auth;
|
||||
|
||||
use Wave\Http\Controllers\Auth\ForgotPasswordController as AuthForgotPasswordController;
|
||||
|
||||
class ForgotPasswordController extends AuthForgotPasswordController
|
||||
{
|
||||
|
||||
}
|
||||
10
app/Http/Controllers/Auth/LoginController.php
Normal file
10
app/Http/Controllers/Auth/LoginController.php
Normal file
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Auth;
|
||||
|
||||
use Wave\Http\Controllers\Auth\LoginController as AuthLoginController;
|
||||
|
||||
class LoginController extends AuthLoginController
|
||||
{
|
||||
|
||||
}
|
||||
10
app/Http/Controllers/Auth/RegisterController.php
Normal file
10
app/Http/Controllers/Auth/RegisterController.php
Normal file
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Auth;
|
||||
|
||||
use Wave\Http\Controllers\Auth\RegisterController as AuthRegisterController;
|
||||
|
||||
class RegisterController extends AuthRegisterController
|
||||
{
|
||||
|
||||
}
|
||||
10
app/Http/Controllers/Auth/ResetPasswordController.php
Normal file
10
app/Http/Controllers/Auth/ResetPasswordController.php
Normal file
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Auth;
|
||||
|
||||
use Wave\Http\Controllers\Auth\ResetPasswordController as AuthResetPasswordController;
|
||||
|
||||
class ResetPasswordController extends AuthResetPasswordController
|
||||
{
|
||||
|
||||
}
|
||||
13
app/Http/Controllers/Controller.php
Normal file
13
app/Http/Controllers/Controller.php
Normal file
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
|
||||
use Illuminate\Foundation\Bus\DispatchesJobs;
|
||||
use Illuminate\Foundation\Validation\ValidatesRequests;
|
||||
use Illuminate\Routing\Controller as BaseController;
|
||||
|
||||
class Controller extends BaseController
|
||||
{
|
||||
use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
|
||||
}
|
||||
72
app/Http/Kernel.php
Normal file
72
app/Http/Kernel.php
Normal file
@@ -0,0 +1,72 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http;
|
||||
|
||||
use Illuminate\Foundation\Http\Kernel as HttpKernel;
|
||||
|
||||
class Kernel extends HttpKernel
|
||||
{
|
||||
/**
|
||||
* The application's global HTTP middleware stack.
|
||||
*
|
||||
* These middleware are run during every request to your application.
|
||||
*
|
||||
* @var array<int, class-string|string>
|
||||
*/
|
||||
protected $middleware = [
|
||||
// \App\Http\Middleware\TrustHosts::class,
|
||||
\App\Http\Middleware\TrustProxies::class,
|
||||
\Illuminate\Http\Middleware\HandleCors::class,
|
||||
\App\Http\Middleware\PreventRequestsDuringMaintenance::class,
|
||||
\Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
|
||||
\App\Http\Middleware\TrimStrings::class,
|
||||
\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
|
||||
];
|
||||
|
||||
/**
|
||||
* The application's route middleware groups.
|
||||
*
|
||||
* @var array<string, array<int, class-string|string>>
|
||||
*/
|
||||
protected $middlewareGroups = [
|
||||
'web' => [
|
||||
\App\Http\Middleware\EncryptCookies::class,
|
||||
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
|
||||
\Illuminate\Session\Middleware\StartSession::class,
|
||||
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
|
||||
\App\Http\Middleware\VerifyCsrfToken::class,
|
||||
\Illuminate\Routing\Middleware\SubstituteBindings::class,
|
||||
\App\Http\Middleware\Localization::class,
|
||||
],
|
||||
|
||||
'api' => [
|
||||
// \Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class,
|
||||
'throttle:api',
|
||||
\Illuminate\Routing\Middleware\SubstituteBindings::class,
|
||||
],
|
||||
];
|
||||
|
||||
/**
|
||||
* The application's route middleware.
|
||||
*
|
||||
* These middleware may be assigned to groups or used individually.
|
||||
*
|
||||
* @var array<string, class-string|string>
|
||||
*/
|
||||
protected $routeMiddleware = [
|
||||
'auth' => \App\Http\Middleware\Authenticate::class,
|
||||
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
|
||||
'auth.session' => \Illuminate\Session\Middleware\AuthenticateSession::class,
|
||||
'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class,
|
||||
'can' => \Illuminate\Auth\Middleware\Authorize::class,
|
||||
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
|
||||
'password.confirm' => \Illuminate\Auth\Middleware\RequirePassword::class,
|
||||
'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class,
|
||||
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
|
||||
'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class,
|
||||
'auth.jwt'=>\App\Http\Middleware\JwtMiddleWare::class,
|
||||
'user' => \App\Http\Middleware\CheckIfUserRole::class,
|
||||
'admin' => \App\Http\Middleware\CheckIfAdminRole::class,
|
||||
'route.access' => \App\Http\Middleware\HasRouteAccess::class,
|
||||
];
|
||||
}
|
||||
107
app/Http/Livewire/Wave/DeployToDo.php
Normal file
107
app/Http/Livewire/Wave/DeployToDo.php
Normal file
@@ -0,0 +1,107 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Livewire\Wave;
|
||||
|
||||
use Illuminate\Support\Facades\Http;
|
||||
use Livewire\Component;
|
||||
|
||||
class DeployToDo extends Component
|
||||
{
|
||||
public $api_key;
|
||||
public $repo;
|
||||
public $deploy;
|
||||
public $app_id;
|
||||
public $deployments;
|
||||
public $app;
|
||||
|
||||
public function mount(){
|
||||
// get the deploy.json file and convert to object
|
||||
$this->deploy = json_decode(preg_replace('/[\x00-\x1F\x80-\xFF]/', '', file_get_contents(base_path('deploy.json')) ), true);
|
||||
$this->checkForAppDeployment();
|
||||
}
|
||||
|
||||
private function checkForAppDeployment(){
|
||||
if(isset( $this->deploy['wave'] ) && isset( $this->deploy['wave']['app_id'] )){
|
||||
$this->app_id = $this->deploy['wave']['app_id'];
|
||||
$this->api_key = $this->deploy['wave']['api_key'];
|
||||
$this->deployments = $this->getDeployments();
|
||||
$this->app = $this->getAppInfo();
|
||||
}
|
||||
}
|
||||
|
||||
public function getDeployments(){
|
||||
$response = Http::withToken($this->api_key)->get('https://api.digitalocean.com/v2/apps/' . $this->app_id . '/deployments');
|
||||
|
||||
return json_decode($response->body(), true);
|
||||
}
|
||||
|
||||
public function getAppInfo(){
|
||||
$response = Http::withToken($this->api_key)->get('https://api.digitalocean.com/v2/apps/' . $this->app_id);
|
||||
|
||||
return json_decode($response->body(), true);
|
||||
}
|
||||
|
||||
private function writeToDeployFile($id, $key, $deployFileArray){
|
||||
$deployFileArray['wave']['app_id'] = $id;
|
||||
$deployFileArray['wave']['api_key'] = $key;
|
||||
|
||||
|
||||
file_put_contents(base_path('deploy.json'), stripslashes(json_encode($deployFileArray, JSON_PRETTY_PRINT)));
|
||||
$this->deploy = json_decode(preg_replace('/[\x00-\x1F\x80-\xFF]/', '', file_get_contents(base_path('deploy.json')) ), true);
|
||||
}
|
||||
|
||||
public function deploy(){
|
||||
|
||||
if(!isset($this->app_id)){
|
||||
// repo must contain a '/', do a check for that
|
||||
$repoSplit = explode('/', $this->repo);
|
||||
$repoName = (isset($repoSplit[0]) && isset($repoSplit[1])) ? $repoSplit[0] . '-' . $repoSplit[1] : false;
|
||||
if(!$repoName){
|
||||
$this->dispatchBrowserEvent('notify', ['type' => 'error', 'message' => 'Please make sure you enter a valiid repo (ex: user/repo)']);
|
||||
return;
|
||||
}
|
||||
|
||||
if(empty($this->api_key)){
|
||||
$this->dispatchBrowserEvent('notify', ['type' => 'error', 'message' => 'C\'mon, you can\'t leave the API key field empty.']);
|
||||
return;
|
||||
}
|
||||
|
||||
if(is_null($this->deploy)){
|
||||
$this->dispatchBrowserEvent('notify', ['type' => 'error', 'message' => 'Sorry it looks like your deploy.json does not contain valid JSON']);
|
||||
return;
|
||||
}
|
||||
|
||||
// replace values with repoName and Repo url
|
||||
$finalJSONPayload = json_encode($this->deploy);
|
||||
$finalJSONPayload = str_replace('${wave.name}', str_replace('_', '-', $repoName), $finalJSONPayload);
|
||||
//dd($this->repo);
|
||||
$finalJSONPayload = str_replace('${wave.repo}', $this->repo, $finalJSONPayload);
|
||||
|
||||
$response = Http::withToken($this->api_key)->withBody( $finalJSONPayload, 'application/json')
|
||||
->post('https://api.digitalocean.com/v2/apps');
|
||||
|
||||
// if the response is not successful, display the message back from DigitalOcean
|
||||
if(!$response->successful()){
|
||||
$responseBody = json_decode($response->body(), true);
|
||||
$this->dispatchBrowserEvent('notify', ['type' => 'error', 'message' => $responseBody['message']]);
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
// get app ID and set it in the JSON
|
||||
$responseBody = json_decode($response->body(), true);
|
||||
|
||||
$this->writeToDeployFile($responseBody['app']['id'], $this->api_key, $this->deploy);
|
||||
|
||||
$this->checkForAppDeployment();
|
||||
|
||||
$this->dispatchBrowserEvent('notify', ['type' => 'success', 'message' => 'Successfully deployed your application!']);
|
||||
//dd('hit');
|
||||
}
|
||||
}
|
||||
|
||||
public function render()
|
||||
{
|
||||
return view('livewire.wave.deploy-to-do');
|
||||
}
|
||||
}
|
||||
21
app/Http/Middleware/Authenticate.php
Normal file
21
app/Http/Middleware/Authenticate.php
Normal file
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use Illuminate\Auth\Middleware\Authenticate as Middleware;
|
||||
|
||||
class Authenticate extends Middleware
|
||||
{
|
||||
/**
|
||||
* Get the path the user should be redirected to when they are not authenticated.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return string|null
|
||||
*/
|
||||
protected function redirectTo($request)
|
||||
{
|
||||
if (! $request->expectsJson()) {
|
||||
return route('login');
|
||||
}
|
||||
}
|
||||
}
|
||||
39
app/Http/Middleware/CheckIfAdminRole.php
Normal file
39
app/Http/Middleware/CheckIfAdminRole.php
Normal file
@@ -0,0 +1,39 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use App\Models\Role;
|
||||
use Closure;
|
||||
use Illuminate\Http\Request;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
|
||||
class CheckIfAdminRole
|
||||
{
|
||||
/**
|
||||
* Handle an incoming request.
|
||||
*
|
||||
* @param \Closure(\Illuminate\Http\Request): (\Symfony\Component\HttpFoundation\Response) $next
|
||||
*/
|
||||
public function handle(Request $request, Closure $next): Response
|
||||
{
|
||||
// Check status
|
||||
if (auth()->user()->status == 'inactive') {
|
||||
$redirectUrl = auth()->user()->getRedirectRouteIfNotAuthenticated();
|
||||
auth()->logout();
|
||||
return redirect($redirectUrl);
|
||||
}
|
||||
|
||||
// Check role
|
||||
$roles = [
|
||||
Role::IT_PERSONNEL_ROLE,
|
||||
Role::NUMSTATION_MANAGER_ROLE,
|
||||
Role::NUMSTATION_STAFF_ROLE,
|
||||
];
|
||||
if (in_array(auth()->user()->role_id, $roles)) {
|
||||
return $next($request);
|
||||
}
|
||||
return abort(Response::HTTP_FORBIDDEN, '403 Access Forbidden');
|
||||
}
|
||||
}
|
||||
40
app/Http/Middleware/CheckIfUserRole.php
Normal file
40
app/Http/Middleware/CheckIfUserRole.php
Normal file
@@ -0,0 +1,40 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use App\Models\Role;
|
||||
use Closure;
|
||||
use Illuminate\Http\Request;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
|
||||
class CheckIfUserRole
|
||||
{
|
||||
/**
|
||||
* Handle an incoming request.
|
||||
*
|
||||
* @param \Closure(\Illuminate\Http\Request): (\Symfony\Component\HttpFoundation\Response) $next
|
||||
*/
|
||||
public function handle(Request $request, Closure $next): Response
|
||||
{
|
||||
// Check status
|
||||
if (auth()->user()->status == 'inactive') {
|
||||
$redirectUrl = auth()->user()->getRedirectRoute();
|
||||
auth()->logout();
|
||||
return redirect($redirectUrl);
|
||||
}
|
||||
|
||||
// Check role
|
||||
$roles = [
|
||||
Role::OWNER_ROLE,
|
||||
Role::ADMINISTRATOR_ROLE,
|
||||
Role::BOOKKEEPER_ROLE,
|
||||
Role::COMPANY_SECRETARY_ROLE,
|
||||
];
|
||||
if (in_array(auth()->user()->role_id, $roles)) {
|
||||
return $next($request);
|
||||
}
|
||||
return abort(Response::HTTP_FORBIDDEN, '403 Access Forbidden');
|
||||
}
|
||||
}
|
||||
17
app/Http/Middleware/EncryptCookies.php
Normal file
17
app/Http/Middleware/EncryptCookies.php
Normal file
@@ -0,0 +1,17 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use Illuminate\Cookie\Middleware\EncryptCookies as Middleware;
|
||||
|
||||
class EncryptCookies extends Middleware
|
||||
{
|
||||
/**
|
||||
* The names of the cookies that should not be encrypted.
|
||||
*
|
||||
* @var array<int, string>
|
||||
*/
|
||||
protected $except = [
|
||||
//
|
||||
];
|
||||
}
|
||||
43
app/Http/Middleware/HasRouteAccess.php
Normal file
43
app/Http/Middleware/HasRouteAccess.php
Normal file
@@ -0,0 +1,43 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
// use App\Models\Permission;
|
||||
// use App\Models\RoleAccess;
|
||||
use Auth;
|
||||
use Closure;
|
||||
use Illuminate\Auth\Access\AuthorizationException;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
|
||||
class HasRouteAccess
|
||||
{
|
||||
/**
|
||||
* Handle an incoming request.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param \Closure $next
|
||||
*
|
||||
* @return mixed
|
||||
*
|
||||
* @throws AuthorizationException
|
||||
*/
|
||||
public function handle($request, Closure $next)
|
||||
{
|
||||
$action = $request->route()->getActionName();
|
||||
$permissionRoutes = config('permission-routes');
|
||||
$permissionKey = '';
|
||||
foreach ($permissionRoutes as $key => $routes) {
|
||||
if (in_array($action, $routes)) {
|
||||
$permissionKey = $key;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if ($permissionKey == '' || Auth::user()->userRole->hasAccess($permissionKey)) {
|
||||
return $next($request);
|
||||
}
|
||||
return abort(Response::HTTP_FORBIDDEN, '403 Access Forbidden');
|
||||
}
|
||||
}
|
||||
24
app/Http/Middleware/HttpsRedirect.php
Normal file
24
app/Http/Middleware/HttpsRedirect.php
Normal file
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use Closure;
|
||||
|
||||
class HttpsRedirect
|
||||
{
|
||||
/**
|
||||
* Handle an incoming request.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param \Closure $next
|
||||
* @return mixed
|
||||
*/
|
||||
public function handle($request, Closure $next)
|
||||
{
|
||||
if (!$request->secure() && app()->environment('production')) {
|
||||
return redirect()->secure($request->getRequestUri());
|
||||
}
|
||||
|
||||
return $next($request);
|
||||
}
|
||||
}
|
||||
23
app/Http/Middleware/JWTMiddleWare.php
Normal file
23
app/Http/Middleware/JWTMiddleWare.php
Normal file
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use Closure;
|
||||
use Illuminate\Http\Request;
|
||||
use JWTAuth;
|
||||
|
||||
class JWTMiddleWare
|
||||
{
|
||||
/**
|
||||
* Handle an incoming request.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param \Closure(\Illuminate\Http\Request): (\Illuminate\Http\Response|\Illuminate\Http\RedirectResponse) $next
|
||||
* @return \Illuminate\Http\Response|\Illuminate\Http\RedirectResponse
|
||||
*/
|
||||
public function handle(Request $request, Closure $next)
|
||||
{
|
||||
$user = JWTAuth::parseToken()->authenticate();
|
||||
return $next($request);
|
||||
}
|
||||
}
|
||||
26
app/Http/Middleware/Localization.php
Normal file
26
app/Http/Middleware/Localization.php
Normal file
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use Closure;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\App;
|
||||
use Illuminate\Support\Facades\Session;
|
||||
|
||||
class Localization
|
||||
{
|
||||
/**
|
||||
* Handle an incoming request.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param \Closure(\Illuminate\Http\Request): (\Illuminate\Http\Response|\Illuminate\Http\RedirectResponse) $next
|
||||
* @return \Illuminate\Http\Response|\Illuminate\Http\RedirectResponse
|
||||
*/
|
||||
public function handle(Request $request, Closure $next)
|
||||
{
|
||||
if (Session::has('locale')) {
|
||||
App::setLocale(Session::get('locale'));
|
||||
}
|
||||
return $next($request);
|
||||
}
|
||||
}
|
||||
17
app/Http/Middleware/PreventRequestsDuringMaintenance.php
Normal file
17
app/Http/Middleware/PreventRequestsDuringMaintenance.php
Normal file
@@ -0,0 +1,17 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance as Middleware;
|
||||
|
||||
class PreventRequestsDuringMaintenance extends Middleware
|
||||
{
|
||||
/**
|
||||
* The URIs that should be reachable while maintenance mode is enabled.
|
||||
*
|
||||
* @var array<int, string>
|
||||
*/
|
||||
protected $except = [
|
||||
//
|
||||
];
|
||||
}
|
||||
31
app/Http/Middleware/RedirectIfAuthenticated.php
Normal file
31
app/Http/Middleware/RedirectIfAuthenticated.php
Normal file
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use Closure;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
|
||||
class RedirectIfAuthenticated
|
||||
{
|
||||
/**
|
||||
* Handle an incoming request.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param \Closure(\Illuminate\Http\Request): (\Illuminate\Http\Response|\Illuminate\Http\RedirectResponse) $next
|
||||
* @param string|null ...$guards
|
||||
* @return \Illuminate\Http\Response|\Illuminate\Http\RedirectResponse
|
||||
*/
|
||||
public function handle(Request $request, Closure $next, ...$guards)
|
||||
{
|
||||
$guards = empty($guards) ? [null] : $guards;
|
||||
|
||||
foreach ($guards as $guard) {
|
||||
if (Auth::guard($guard)->check()) {
|
||||
return redirect(Auth::user()->getRedirectRoute());
|
||||
}
|
||||
}
|
||||
|
||||
return $next($request);
|
||||
}
|
||||
}
|
||||
19
app/Http/Middleware/TrimStrings.php
Normal file
19
app/Http/Middleware/TrimStrings.php
Normal file
@@ -0,0 +1,19 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use Illuminate\Foundation\Http\Middleware\TrimStrings as Middleware;
|
||||
|
||||
class TrimStrings extends Middleware
|
||||
{
|
||||
/**
|
||||
* The names of the attributes that should not be trimmed.
|
||||
*
|
||||
* @var array<int, string>
|
||||
*/
|
||||
protected $except = [
|
||||
'current_password',
|
||||
'password',
|
||||
'password_confirmation',
|
||||
];
|
||||
}
|
||||
20
app/Http/Middleware/TrustHosts.php
Normal file
20
app/Http/Middleware/TrustHosts.php
Normal file
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use Illuminate\Http\Middleware\TrustHosts as Middleware;
|
||||
|
||||
class TrustHosts extends Middleware
|
||||
{
|
||||
/**
|
||||
* Get the host patterns that should be trusted.
|
||||
*
|
||||
* @return array<int, string|null>
|
||||
*/
|
||||
public function hosts()
|
||||
{
|
||||
return [
|
||||
$this->allSubdomainsOfApplicationUrl(),
|
||||
];
|
||||
}
|
||||
}
|
||||
28
app/Http/Middleware/TrustProxies.php
Normal file
28
app/Http/Middleware/TrustProxies.php
Normal file
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use Illuminate\Http\Middleware\TrustProxies as Middleware;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class TrustProxies extends Middleware
|
||||
{
|
||||
/**
|
||||
* The trusted proxies for this application.
|
||||
*
|
||||
* @var array<int, string>|string|null
|
||||
*/
|
||||
protected $proxies;
|
||||
|
||||
/**
|
||||
* The headers that should be used to detect proxies.
|
||||
*
|
||||
* @var int
|
||||
*/
|
||||
protected $headers =
|
||||
Request::HEADER_X_FORWARDED_FOR |
|
||||
Request::HEADER_X_FORWARDED_HOST |
|
||||
Request::HEADER_X_FORWARDED_PORT |
|
||||
Request::HEADER_X_FORWARDED_PROTO |
|
||||
Request::HEADER_X_FORWARDED_AWS_ELB;
|
||||
}
|
||||
18
app/Http/Middleware/VerifyCsrfToken.php
Normal file
18
app/Http/Middleware/VerifyCsrfToken.php
Normal file
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as Middleware;
|
||||
|
||||
class VerifyCsrfToken extends Middleware
|
||||
{
|
||||
/**
|
||||
* The URIs that should be excluded from CSRF verification.
|
||||
*
|
||||
* @var array<int, string>
|
||||
*/
|
||||
protected $except = [
|
||||
'/paddle/webhook',
|
||||
'/v1/api/*',
|
||||
];
|
||||
}
|
||||
Reference in New Issue
Block a user