- laravel framework upgrade frpm 7.x to 8. see also: https://laravel.com/docs/8.x/upgrade#assert-exact-json-method
- use PHP7 null coalesce operator instead of laravel optional method - change Breadcrumbs::register method to Bredcrumbs::for method - composer updates
This commit is contained in:
parent
1b2e77d907
commit
8ea540a88c
50 changed files with 616 additions and 263 deletions
|
@ -19,12 +19,23 @@ class Handler extends ExceptionHandler
|
|||
'password_confirmation',
|
||||
];
|
||||
|
||||
/**
|
||||
* A list of the inputs that are never flashed for validation exceptions.
|
||||
*
|
||||
* @var array<int, string>
|
||||
*/
|
||||
protected $dontFlash = [
|
||||
'current_password',
|
||||
'password',
|
||||
'password_confirmation',
|
||||
];
|
||||
|
||||
/**
|
||||
* Report or log an exception.
|
||||
*
|
||||
* This is a great spot to send exceptions to Sentry, Bugsnag, etc.
|
||||
*
|
||||
* @param \Throable $exception
|
||||
* @param \Throwable $exception
|
||||
* @return void
|
||||
*/
|
||||
public function report(Throwable $exception)
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
//use Illuminate\Foundation\Bus\DispatchesCommands;
|
||||
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
|
||||
use Illuminate\Foundation\Bus\DispatchesJobs;
|
||||
use Illuminate\Foundation\Validation\ValidatesRequests;
|
||||
|
|
|
@ -37,8 +37,9 @@ class Kernel extends HttpKernel
|
|||
],
|
||||
|
||||
'api' => [
|
||||
'throttle:60,1',
|
||||
'bindings',
|
||||
// \Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class,
|
||||
'throttle:api',
|
||||
\Illuminate\Routing\Middleware\SubstituteBindings::class,
|
||||
],
|
||||
];
|
||||
|
||||
|
@ -53,10 +54,12 @@ class Kernel extends HttpKernel
|
|||
//'auth' => 'App\Http\Middleware\Authenticate',
|
||||
'auth' => \Illuminate\Auth\Middleware\Authenticate::class,
|
||||
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
|
||||
'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class,
|
||||
'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class,
|
||||
// 'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class,
|
||||
'can' => \Illuminate\Auth\Middleware\Authorize::class,
|
||||
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
|
||||
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
|
||||
'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class,
|
||||
|
||||
// 'role' => \Spatie\Permission\Middlewares\RoleMiddleware::class,
|
||||
// 'perm' => \App\Http\Middleware\PermissionMiddleware::class,
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
<?php
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use App\Providers\RouteServiceProvider;
|
||||
use Closure;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
|
||||
|
@ -14,10 +15,17 @@ class RedirectIfAuthenticated
|
|||
* @param \Closure $next
|
||||
* @return mixed
|
||||
*/
|
||||
public function handle($request, Closure $next, $guard = null)
|
||||
public function handle($request, Closure $next, $guards = [null])
|
||||
{
|
||||
if (Auth::guard($guard)->check()) {
|
||||
return redirect('/home');
|
||||
$guards = empty($guards) ? [null] : $guards;
|
||||
|
||||
// if (Auth::guard($guard)->check()) {
|
||||
// return redirect('/home');
|
||||
// }
|
||||
foreach ($guards as $guard) {
|
||||
if (Auth::guard($guard)->check()) {
|
||||
return redirect(RouteServiceProvider::HOME);
|
||||
}
|
||||
}
|
||||
|
||||
return $next($request);
|
||||
|
|
|
@ -19,6 +19,7 @@ class TrimStrings extends BaseTrimmer
|
|||
* @var array
|
||||
*/
|
||||
protected $except = [
|
||||
'current_password',
|
||||
'password',
|
||||
'password_confirmation',
|
||||
];
|
||||
|
|
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;
|
||||
}
|
|
@ -3,10 +3,13 @@
|
|||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use App\Models\Dataset;
|
||||
|
||||
class Collection extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
|
||||
public $timestamps = false;
|
||||
//mass assignable
|
||||
protected $fillable = [
|
||||
|
|
|
@ -3,11 +3,14 @@
|
|||
namespace App\Models;
|
||||
|
||||
use App\Models\Collection;
|
||||
use App\Models\Dataset;
|
||||
// use App\Models\Dataset;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
|
||||
class CollectionRole extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
|
||||
protected $table = 'collections_roles';
|
||||
public $timestamps = false;
|
||||
protected $fillable = [
|
||||
|
|
|
@ -2,11 +2,13 @@
|
|||
namespace App\Models;
|
||||
|
||||
use App\Models\Dataset;
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use DateTimeInterface;
|
||||
|
||||
class Coverage extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
protected $table = 'coverage';
|
||||
public $timestamps = true;
|
||||
protected $dateFormat = 'Y-m-d H:i:s';
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use App\Library\Xml\DatasetExtension;
|
||||
use App\Models\Collection;
|
||||
use App\Models\Coverage;
|
||||
|
@ -20,7 +21,7 @@ use Illuminate\Database\Eloquent\Model;
|
|||
|
||||
class Dataset extends Model
|
||||
{
|
||||
use DatasetExtension;
|
||||
use DatasetExtension, HasFactory;
|
||||
protected $table = 'documents';
|
||||
|
||||
//public $timestamps = false; //default true
|
||||
|
|
|
@ -3,9 +3,11 @@ namespace App\Models;
|
|||
|
||||
use App\Models\Dataset;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
|
||||
class DatasetIdentifier extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
protected $table = 'dataset_identifiers';
|
||||
protected $guarded = array();
|
||||
public $timestamps = true;
|
||||
|
|
|
@ -4,9 +4,11 @@ namespace App\Models;
|
|||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use App\Models\Dataset;
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
|
||||
class DatasetReference extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
protected $table = 'document_references';
|
||||
public $timestamps = false;
|
||||
|
||||
|
|
|
@ -3,9 +3,11 @@ namespace App\Models;
|
|||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use App\Models\Dataset;
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
|
||||
class Description extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
protected $table = 'dataset_abstracts';
|
||||
public $timestamps = false;
|
||||
|
||||
|
|
|
@ -5,9 +5,11 @@ namespace App\Models;
|
|||
use App\Models\Dataset;
|
||||
use App\Models\HashValue;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
|
||||
class File extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
protected $table = 'document_files';
|
||||
public $timestamps = true;
|
||||
|
||||
|
|
|
@ -3,9 +3,11 @@ namespace App\Models;
|
|||
|
||||
use App\Models\Dataset;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
|
||||
class GeolocationBox extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
protected $table = 'geolocation_box';
|
||||
public $timestamps = false;
|
||||
|
||||
|
|
|
@ -4,9 +4,11 @@ namespace App\Models;
|
|||
|
||||
use App\Models\File;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
|
||||
class HashValue extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
protected $table = 'file_hashvalues';
|
||||
public $timestamps = false;
|
||||
|
||||
|
|
|
@ -2,10 +2,11 @@
|
|||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
|
||||
class Language extends Model
|
||||
{
|
||||
|
||||
use HasFactory;
|
||||
//protected $table = 'languages';
|
||||
public $timestamps = false;
|
||||
|
||||
|
|
|
@ -3,9 +3,11 @@ namespace App\Models;
|
|||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use App\Models\Dataset;
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
|
||||
class License extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
protected $table = 'document_licences';
|
||||
public $timestamps = false;
|
||||
|
||||
|
|
|
@ -3,8 +3,9 @@
|
|||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
|
||||
class Message extends Model
|
||||
{
|
||||
//
|
||||
use HasFactory;
|
||||
}
|
||||
|
|
|
@ -2,10 +2,11 @@
|
|||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
|
||||
class MimeType extends Model
|
||||
{
|
||||
|
||||
use HasFactory;
|
||||
protected $table = 'mime_types';
|
||||
|
||||
// for using $input = $request->all();
|
||||
|
|
|
@ -8,9 +8,11 @@ use App\Models\User;
|
|||
use Illuminate\Database\Eloquent\Model;
|
||||
use Astrotomic\Translatable\Contracts\Translatable as TranslatableContract;
|
||||
use Astrotomic\Translatable\Translatable;// use Dimsav\Translatable\Translatable;
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
|
||||
class Page extends Model implements TranslatableContract
|
||||
{
|
||||
use HasFactory;
|
||||
use ModelTrait;
|
||||
use Translatable; // 2. To add translation methods
|
||||
|
||||
|
|
|
@ -3,9 +3,11 @@
|
|||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
|
||||
class PageTranslation extends Model
|
||||
{
|
||||
Use HasFactory;
|
||||
public $timestamps = false;
|
||||
protected $fillable = ['title', 'description'];
|
||||
protected $guarded = ['id'];
|
||||
|
|
|
@ -4,9 +4,11 @@ namespace App\Models;
|
|||
|
||||
use App\Models\Dataset;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
|
||||
class Person extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
protected $fillable = [
|
||||
'academic_title',
|
||||
'date_of_birth',
|
||||
|
|
|
@ -3,10 +3,11 @@ namespace App\Models;
|
|||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use App\Models\Dataset;
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
|
||||
class Project extends Model
|
||||
{
|
||||
|
||||
use HasFactory;
|
||||
//protected $table = 'projects';
|
||||
|
||||
// for using $input = $request->all();
|
||||
|
|
|
@ -3,9 +3,11 @@
|
|||
namespace App\Models;
|
||||
|
||||
use Zizaco\Entrust\EntrustRole;
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
|
||||
class Role extends EntrustRole
|
||||
{
|
||||
use HasFactory;
|
||||
/**
|
||||
* The attributes that are mass assignable.
|
||||
*
|
||||
|
|
|
@ -4,9 +4,11 @@ namespace App\Models;
|
|||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use App\Models\Dataset;
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
|
||||
class Subject extends Model
|
||||
{
|
||||
Use HasFactory;
|
||||
// protected $table = 'document_subjects';
|
||||
protected $table = 'dataset_subjects';
|
||||
public $timestamps = false;
|
||||
|
|
|
@ -3,9 +3,11 @@ namespace App\Models;
|
|||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use App\Models\Dataset;
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
|
||||
class Title extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
protected $table = 'dataset_titles';
|
||||
public $timestamps = false;
|
||||
|
||||
|
|
|
@ -1,9 +1,11 @@
|
|||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Notifications\Notifiable;
|
||||
// use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Foundation\Auth\User as Authenticatable;
|
||||
use Illuminate\Notifications\Notifiable;
|
||||
use Zizaco\Entrust\Traits\EntrustUserTrait;
|
||||
use Illuminate\Support\Facades\Hash;
|
||||
use Illuminate\Support\Collection;
|
||||
|
@ -12,7 +14,7 @@ use App\Models\Dataset;
|
|||
class User extends Authenticatable
|
||||
{
|
||||
// use Authenticatable, CanResetPassword, Authorizable;
|
||||
use Notifiable;
|
||||
use HasFactory, Notifiable;
|
||||
|
||||
// use HasRoles;
|
||||
use EntrustUserTrait;
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
namespace App\Providers;
|
||||
|
||||
use Illuminate\Support\Facades\Gate;
|
||||
// use Illuminate\Support\Facades\Gate;
|
||||
use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;
|
||||
|
||||
class AuthServiceProvider extends ServiceProvider
|
||||
|
|
|
@ -3,19 +3,30 @@ namespace App\Providers;
|
|||
|
||||
use Illuminate\Support\Facades\Route;
|
||||
use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Cache\RateLimiting\Limit;
|
||||
use Illuminate\Support\Facades\RateLimiter;
|
||||
|
||||
class RouteServiceProvider extends ServiceProvider
|
||||
{
|
||||
|
||||
/**
|
||||
* The path to the "home" route for your application.
|
||||
*
|
||||
* This is used by Laravel authentication to redirect users after login.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
public const HOME = '/settings';
|
||||
|
||||
/**
|
||||
* This namespace is applied to the controller routes in your routes file.
|
||||
* If specified, this namespace is automatically applied to your controller routes.
|
||||
*
|
||||
* In addition, it is set as the URL generator's root namespace.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $namespace = 'App\Http\Controllers';
|
||||
public const HOME = '/settings';
|
||||
|
||||
/**
|
||||
* Define your route model bindings, pattern filters, etc.
|
||||
|
@ -25,7 +36,19 @@ class RouteServiceProvider extends ServiceProvider
|
|||
*/
|
||||
public function boot()
|
||||
{
|
||||
parent::boot();
|
||||
// parent::boot();
|
||||
$this->configureRateLimiting();
|
||||
|
||||
$this->routes(function () {
|
||||
// Route::prefix('api')
|
||||
Route::middleware('api')
|
||||
->namespace($this->namespace)
|
||||
->group(base_path('routes/api.php'));
|
||||
|
||||
Route::middleware('web')
|
||||
->namespace($this->namespace)
|
||||
->group(base_path('routes/web.php'));
|
||||
});
|
||||
|
||||
//
|
||||
}
|
||||
|
@ -73,4 +96,17 @@ class RouteServiceProvider extends ServiceProvider
|
|||
->namespace($this->namespace)
|
||||
->group(base_path('routes/api.php'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Configure the rate limiters for the application.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
protected function configureRateLimiting()
|
||||
{
|
||||
RateLimiter::for('api', function (Request $request) {
|
||||
return Limit::perMinute(60)->by(optional($request->user())->id ?: $request->ip());
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Add table
editor.link_modal.header
Reference in a new issue