Code Rfactor and PHPCS compliance (Controllers and Request) WIP
This commit is contained in:
parent
39676cf557
commit
71c09ba141
7 changed files with 36 additions and 27 deletions
|
|
@ -3,28 +3,30 @@
|
|||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Models\Project;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Http;
|
||||
|
||||
class StatusCheckerController extends Controller
|
||||
{
|
||||
public function index(Request $request)
|
||||
/**
|
||||
* Fetch Status
|
||||
*
|
||||
* @return \Illuminate\Contracts\View\View|\Illuminate\Contracts\View\Factory
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
$wp_endpoint = 'https://api.wordpress.org/core/version-check/1.7/';
|
||||
$client = new \GuzzleHttp\Client();
|
||||
$response = $client->request('GET', $wp_endpoint);
|
||||
$content = $response->getBody();
|
||||
$oContent = json_decode($content);
|
||||
$wpReleases = Http::get(config('status-checker.wp_endpoint'))->json();
|
||||
$laravelReleases = Http::withOptions([
|
||||
'allow_redirects' => false,
|
||||
])->asJson()->get(config('status-checker.laravel_endpoint'))->json();
|
||||
|
||||
$laravel_endpoint = 'https://github.com/laravel/laravel/releases/latest';
|
||||
$client = new \GuzzleHttp\Client();
|
||||
$response = $client->request('GET', $laravel_endpoint, [
|
||||
'allow_redirects' => false
|
||||
]);
|
||||
$content = $response->getBody()->getContents();
|
||||
$laravel_latest = substr($content, 84);
|
||||
$laravel_latest = substr($laravel_latest, 0, -31);
|
||||
$wp_latest = collect(collect(\collect($wpReleases)->get('offers'))->first())->get('version');
|
||||
$laravel_latest = ltrim(collect(collect($laravelReleases)->first())->get('tag_name'), 'v');
|
||||
|
||||
$projects = Project::orderBy('name')->get();
|
||||
return view('status-checker.index', ['projects' => $projects, 'wp_latest' => $oContent->offers[0]->version, 'laravel_latest' => $laravel_latest]);
|
||||
return view('status-checker.index', compact(
|
||||
'projects',
|
||||
'wp_latest',
|
||||
'laravel_latest'
|
||||
));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -32,6 +32,7 @@ class SecureHeaders
|
|||
{
|
||||
View::share('nonce', $nonce = \uniqid());
|
||||
// * For VueJS dev tool to execute
|
||||
$cssDev = config('app.debug') ? "'unsafe-inline'" : "'nonce-$nonce'";
|
||||
$jsDev = config('app.debug') ? "'unsafe-eval' 'unsafe-inline'" : "'nonce-$nonce'";
|
||||
$reportUri = Route::has('cspReportUri') ?
|
||||
\sprintf('report-uri %s', \parse_url(route('cspReportUri'), \PHP_URL_PATH)) : '';
|
||||
|
|
@ -48,12 +49,12 @@ class SecureHeaders
|
|||
"connect-src 'self' blob:;",
|
||||
"img-src * data: blob:;",
|
||||
"frame-src https://www.youtube.com;",
|
||||
"font-src 'self' data:;",
|
||||
"font-src 'self' data: https://fonts.gstatic.com;",
|
||||
// ! Using CKEditor wiill must have unsafe-inline style
|
||||
// phpcs:ignore Generic.Files.LineLength.TooLong
|
||||
// "style-src 'self' 'unsafe-inline';",
|
||||
// ! If you dont use ckeditor use this
|
||||
"style-src 'self' 'nonce-$nonce';",
|
||||
"style-src 'self' $cssDev https://fonts.googleapis.com;",
|
||||
// phpcs:ignore Generic.Files.LineLength.TooLong
|
||||
"script-src 'self' $jsDev;"
|
||||
];
|
||||
|
|
|
|||
|
|
@ -164,9 +164,9 @@ class Project extends Model
|
|||
/**
|
||||
* get logs_hr attribute
|
||||
*
|
||||
* @return float
|
||||
* @return string
|
||||
*/
|
||||
public function getLogsHrAttribute(): float
|
||||
public function getLogsHrAttribute(): string
|
||||
{
|
||||
$value = ProjectsStatusChecker::select('logs')->where('project_uuid', '=', $this->uuid)->first();
|
||||
return $this->humanFilesize($value->logs);
|
||||
|
|
@ -176,11 +176,11 @@ class Project extends Model
|
|||
* Human readable file size
|
||||
*
|
||||
* @param float $size
|
||||
* @return float
|
||||
* @return string
|
||||
*/
|
||||
private function humanFilesize(float $size): float
|
||||
private function humanFilesize(float $size): string
|
||||
{
|
||||
$i = floor(log($size, 1024));
|
||||
$i = \floatval(floor(log($size, 1024)));
|
||||
return round($size / pow(1024, $i), [0,0,2,2,3][$i]) . [' O',' Ko',' Mo',' Go',' To'][$i];
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ class RouteServiceProvider extends ServiceProvider
|
|||
*
|
||||
* @var string
|
||||
*/
|
||||
public const HOME = '/home';
|
||||
public const HOME = '/';
|
||||
|
||||
/**
|
||||
* Define your route model bindings, pattern filters, etc.
|
||||
|
|
|
|||
6
config/status-checker.php
Normal file
6
config/status-checker.php
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
|
||||
return [
|
||||
'wp_endpoint' => 'https://api.wordpress.org/core/version-check/1.7/',
|
||||
'laravel_endpoint' => 'https://api.github.com/repos/laravel/laravel/releases'
|
||||
];
|
||||
|
|
@ -15,7 +15,7 @@
|
|||
|
||||
<!-- Styles -->
|
||||
<link href="{{ mix('css/back.css') }}" rel="stylesheet">
|
||||
<link href="{{ mix('css/fontawesome.min.css') }} rel="stylesheet">
|
||||
<link href="{{ mix('css/fontawesome.min.css') }}" rel="stylesheet">
|
||||
</head>
|
||||
<body>
|
||||
<div id="app">
|
||||
|
|
@ -82,7 +82,7 @@
|
|||
@stack('scriptsConstants')
|
||||
@include('modules.scriptConstants')
|
||||
<script src="{{ mix('js/back.js') }}"></script>
|
||||
<script src="{{ mix('js/fontawesome.min.js') }}"></script>
|
||||
<script src="{{ mix('js/fontawesome.min.js') }}" data-auto-add-css="false"></script>
|
||||
@stack('scripts')
|
||||
</div>
|
||||
</body>
|
||||
|
|
|
|||
2
webpack.mix.js
vendored
2
webpack.mix.js
vendored
|
|
@ -84,4 +84,4 @@ mix.copyDirectory('resources/assets', 'public/assets')
|
|||
|
||||
// * FontAwesome compile
|
||||
mix.copy('node_modules/@fortawesome/fontawesome-free/js/all.min.js', 'public/js/fontawesome.min.js')
|
||||
.copy('node_modules/@fortawesome/fontawesome-free/css/fontawesome.min.css', 'public/css/fontawesome.min.css')
|
||||
.copy('node_modules/@fortawesome/fontawesome-free/css/svg-with-js.min.css', 'public/css/fontawesome.min.css')
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue