diff options
Diffstat (limited to 'app')
| -rw-r--r-- | app/Console/Kernel.php | 41 | ||||
| -rw-r--r-- | app/Exceptions/Handler.php | 55 | ||||
| -rw-r--r-- | app/Http/Controllers/Controller.php | 13 | ||||
| -rw-r--r-- | app/Http/Kernel.php | 67 | ||||
| -rw-r--r-- | app/Http/Middleware/Authenticate.php | 21 | ||||
| -rw-r--r-- | app/Http/Middleware/CheckForMaintenanceMode.php | 17 | ||||
| -rw-r--r-- | app/Http/Middleware/EncryptCookies.php | 17 | ||||
| -rw-r--r-- | app/Http/Middleware/RedirectIfAuthenticated.php | 27 | ||||
| -rw-r--r-- | app/Http/Middleware/TrimStrings.php | 18 | ||||
| -rw-r--r-- | app/Http/Middleware/TrustHosts.php | 20 | ||||
| -rw-r--r-- | app/Http/Middleware/TrustProxies.php | 23 | ||||
| -rw-r--r-- | app/Http/Middleware/VerifyCsrfToken.php | 17 | ||||
| -rw-r--r-- | app/Providers/AppServiceProvider.php | 28 | ||||
| -rw-r--r-- | app/Providers/AuthServiceProvider.php | 30 | ||||
| -rw-r--r-- | app/Providers/BroadcastServiceProvider.php | 21 | ||||
| -rw-r--r-- | app/Providers/EventServiceProvider.php | 34 | ||||
| -rw-r--r-- | app/Providers/RouteServiceProvider.php | 80 | ||||
| -rw-r--r-- | app/User.php | 39 | 
18 files changed, 568 insertions, 0 deletions
| diff --git a/app/Console/Kernel.php b/app/Console/Kernel.php new file mode 100644 index 0000000..69914e9 --- /dev/null +++ b/app/Console/Kernel.php @@ -0,0 +1,41 @@ +<?php + +namespace App\Console; + +use Illuminate\Console\Scheduling\Schedule; +use Illuminate\Foundation\Console\Kernel as ConsoleKernel; + +class Kernel extends ConsoleKernel +{ +    /** +     * The Artisan commands provided by your application. +     * +     * @var array +     */ +    protected $commands = [ +        // +    ]; + +    /** +     * Define the application's command schedule. +     * +     * @param  \Illuminate\Console\Scheduling\Schedule  $schedule +     * @return void +     */ +    protected function schedule(Schedule $schedule) +    { +        // $schedule->command('inspire')->hourly(); +    } + +    /** +     * Register the commands for the application. +     * +     * @return void +     */ +    protected function commands() +    { +        $this->load(__DIR__.'/Commands'); + +        require base_path('routes/console.php'); +    } +} diff --git a/app/Exceptions/Handler.php b/app/Exceptions/Handler.php new file mode 100644 index 0000000..59c585d --- /dev/null +++ b/app/Exceptions/Handler.php @@ -0,0 +1,55 @@ +<?php + +namespace App\Exceptions; + +use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler; +use Throwable; + +class Handler extends ExceptionHandler +{ +    /** +     * A list of the exception types that are not reported. +     * +     * @var array +     */ +    protected $dontReport = [ +        // +    ]; + +    /** +     * A list of the inputs that are never flashed for validation exceptions. +     * +     * @var array +     */ +    protected $dontFlash = [ +        'password', +        'password_confirmation', +    ]; + +    /** +     * Report or log an exception. +     * +     * @param  \Throwable  $exception +     * @return void +     * +     * @throws \Exception +     */ +    public function report(Throwable $exception) +    { +        parent::report($exception); +    } + +    /** +     * Render an exception into an HTTP response. +     * +     * @param  \Illuminate\Http\Request  $request +     * @param  \Throwable  $exception +     * @return \Symfony\Component\HttpFoundation\Response +     * +     * @throws \Throwable +     */ +    public function render($request, Throwable $exception) +    { +        return parent::render($request, $exception); +    } +} diff --git a/app/Http/Controllers/Controller.php b/app/Http/Controllers/Controller.php new file mode 100644 index 0000000..a0a2a8a --- /dev/null +++ b/app/Http/Controllers/Controller.php @@ -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; +} diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php new file mode 100644 index 0000000..36ced13 --- /dev/null +++ b/app/Http/Kernel.php @@ -0,0 +1,67 @@ +<?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 +     */ +    protected $middleware = [ +        // \App\Http\Middleware\TrustHosts::class, +        \App\Http\Middleware\TrustProxies::class, +        \Fruitcake\Cors\HandleCors::class, +        \App\Http\Middleware\CheckForMaintenanceMode::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 +     */ +    protected $middlewareGroups = [ +        'web' => [ +            \App\Http\Middleware\EncryptCookies::class, +            \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, +            \Illuminate\Session\Middleware\StartSession::class, +            // \Illuminate\Session\Middleware\AuthenticateSession::class, +            \Illuminate\View\Middleware\ShareErrorsFromSession::class, +            \App\Http\Middleware\VerifyCsrfToken::class, +            \Illuminate\Routing\Middleware\SubstituteBindings::class, +        ], + +        'api' => [ +            'throttle:60,1', +            \Illuminate\Routing\Middleware\SubstituteBindings::class, +        ], +    ]; + +    /** +     * The application's route middleware. +     * +     * These middleware may be assigned to groups or used individually. +     * +     * @var array +     */ +    protected $routeMiddleware = [ +        'auth' => \App\Http\Middleware\Authenticate::class, +        'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class, +        'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::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, +    ]; +} diff --git a/app/Http/Middleware/Authenticate.php b/app/Http/Middleware/Authenticate.php new file mode 100644 index 0000000..704089a --- /dev/null +++ b/app/Http/Middleware/Authenticate.php @@ -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'); +        } +    } +} diff --git a/app/Http/Middleware/CheckForMaintenanceMode.php b/app/Http/Middleware/CheckForMaintenanceMode.php new file mode 100644 index 0000000..35b9824 --- /dev/null +++ b/app/Http/Middleware/CheckForMaintenanceMode.php @@ -0,0 +1,17 @@ +<?php + +namespace App\Http\Middleware; + +use Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode as Middleware; + +class CheckForMaintenanceMode extends Middleware +{ +    /** +     * The URIs that should be reachable while maintenance mode is enabled. +     * +     * @var array +     */ +    protected $except = [ +        // +    ]; +} diff --git a/app/Http/Middleware/EncryptCookies.php b/app/Http/Middleware/EncryptCookies.php new file mode 100644 index 0000000..033136a --- /dev/null +++ b/app/Http/Middleware/EncryptCookies.php @@ -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 +     */ +    protected $except = [ +        // +    ]; +} diff --git a/app/Http/Middleware/RedirectIfAuthenticated.php b/app/Http/Middleware/RedirectIfAuthenticated.php new file mode 100644 index 0000000..2395ddc --- /dev/null +++ b/app/Http/Middleware/RedirectIfAuthenticated.php @@ -0,0 +1,27 @@ +<?php + +namespace App\Http\Middleware; + +use App\Providers\RouteServiceProvider; +use Closure; +use Illuminate\Support\Facades\Auth; + +class RedirectIfAuthenticated +{ +    /** +     * Handle an incoming request. +     * +     * @param  \Illuminate\Http\Request  $request +     * @param  \Closure  $next +     * @param  string|null  $guard +     * @return mixed +     */ +    public function handle($request, Closure $next, $guard = null) +    { +        if (Auth::guard($guard)->check()) { +            return redirect(RouteServiceProvider::HOME); +        } + +        return $next($request); +    } +} diff --git a/app/Http/Middleware/TrimStrings.php b/app/Http/Middleware/TrimStrings.php new file mode 100644 index 0000000..5a50e7b --- /dev/null +++ b/app/Http/Middleware/TrimStrings.php @@ -0,0 +1,18 @@ +<?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 +     */ +    protected $except = [ +        'password', +        'password_confirmation', +    ]; +} diff --git a/app/Http/Middleware/TrustHosts.php b/app/Http/Middleware/TrustHosts.php new file mode 100644 index 0000000..b0550cf --- /dev/null +++ b/app/Http/Middleware/TrustHosts.php @@ -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 +     */ +    public function hosts() +    { +        return [ +            $this->allSubdomainsOfApplicationUrl(), +        ]; +    } +} diff --git a/app/Http/Middleware/TrustProxies.php b/app/Http/Middleware/TrustProxies.php new file mode 100644 index 0000000..14befce --- /dev/null +++ b/app/Http/Middleware/TrustProxies.php @@ -0,0 +1,23 @@ +<?php + +namespace App\Http\Middleware; + +use Fideloper\Proxy\TrustProxies as Middleware; +use Illuminate\Http\Request; + +class TrustProxies extends Middleware +{ +    /** +     * The trusted proxies for this application. +     * +     * @var array|string|null +     */ +    protected $proxies; + +    /** +     * The headers that should be used to detect proxies. +     * +     * @var int +     */ +    protected $headers = Request::HEADER_X_FORWARDED_ALL; +} diff --git a/app/Http/Middleware/VerifyCsrfToken.php b/app/Http/Middleware/VerifyCsrfToken.php new file mode 100644 index 0000000..0c13b85 --- /dev/null +++ b/app/Http/Middleware/VerifyCsrfToken.php @@ -0,0 +1,17 @@ +<?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 +     */ +    protected $except = [ +        // +    ]; +} diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php new file mode 100644 index 0000000..ee8ca5b --- /dev/null +++ b/app/Providers/AppServiceProvider.php @@ -0,0 +1,28 @@ +<?php + +namespace App\Providers; + +use Illuminate\Support\ServiceProvider; + +class AppServiceProvider extends ServiceProvider +{ +    /** +     * Register any application services. +     * +     * @return void +     */ +    public function register() +    { +        // +    } + +    /** +     * Bootstrap any application services. +     * +     * @return void +     */ +    public function boot() +    { +        // +    } +} diff --git a/app/Providers/AuthServiceProvider.php b/app/Providers/AuthServiceProvider.php new file mode 100644 index 0000000..3049068 --- /dev/null +++ b/app/Providers/AuthServiceProvider.php @@ -0,0 +1,30 @@ +<?php + +namespace App\Providers; + +use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider; +use Illuminate\Support\Facades\Gate; + +class AuthServiceProvider extends ServiceProvider +{ +    /** +     * The policy mappings for the application. +     * +     * @var array +     */ +    protected $policies = [ +        // 'App\Model' => 'App\Policies\ModelPolicy', +    ]; + +    /** +     * Register any authentication / authorization services. +     * +     * @return void +     */ +    public function boot() +    { +        $this->registerPolicies(); + +        // +    } +} diff --git a/app/Providers/BroadcastServiceProvider.php b/app/Providers/BroadcastServiceProvider.php new file mode 100644 index 0000000..395c518 --- /dev/null +++ b/app/Providers/BroadcastServiceProvider.php @@ -0,0 +1,21 @@ +<?php + +namespace App\Providers; + +use Illuminate\Support\Facades\Broadcast; +use Illuminate\Support\ServiceProvider; + +class BroadcastServiceProvider extends ServiceProvider +{ +    /** +     * Bootstrap any application services. +     * +     * @return void +     */ +    public function boot() +    { +        Broadcast::routes(); + +        require base_path('routes/channels.php'); +    } +} diff --git a/app/Providers/EventServiceProvider.php b/app/Providers/EventServiceProvider.php new file mode 100644 index 0000000..723a290 --- /dev/null +++ b/app/Providers/EventServiceProvider.php @@ -0,0 +1,34 @@ +<?php + +namespace App\Providers; + +use Illuminate\Auth\Events\Registered; +use Illuminate\Auth\Listeners\SendEmailVerificationNotification; +use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider; +use Illuminate\Support\Facades\Event; + +class EventServiceProvider extends ServiceProvider +{ +    /** +     * The event listener mappings for the application. +     * +     * @var array +     */ +    protected $listen = [ +        Registered::class => [ +            SendEmailVerificationNotification::class, +        ], +    ]; + +    /** +     * Register any events for your application. +     * +     * @return void +     */ +    public function boot() +    { +        parent::boot(); + +        // +    } +} diff --git a/app/Providers/RouteServiceProvider.php b/app/Providers/RouteServiceProvider.php new file mode 100644 index 0000000..540d17b --- /dev/null +++ b/app/Providers/RouteServiceProvider.php @@ -0,0 +1,80 @@ +<?php + +namespace App\Providers; + +use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider; +use Illuminate\Support\Facades\Route; + +class RouteServiceProvider extends ServiceProvider +{ +    /** +     * This namespace is applied to your controller routes. +     * +     * In addition, it is set as the URL generator's root namespace. +     * +     * @var string +     */ +    protected $namespace = 'App\Http\Controllers'; + +    /** +     * The path to the "home" route for your application. +     * +     * @var string +     */ +    public const HOME = '/home'; + +    /** +     * Define your route model bindings, pattern filters, etc. +     * +     * @return void +     */ +    public function boot() +    { +        // + +        parent::boot(); +    } + +    /** +     * Define the routes for the application. +     * +     * @return void +     */ +    public function map() +    { +        $this->mapApiRoutes(); + +        $this->mapWebRoutes(); + +        // +    } + +    /** +     * Define the "web" routes for the application. +     * +     * These routes all receive session state, CSRF protection, etc. +     * +     * @return void +     */ +    protected function mapWebRoutes() +    { +        Route::middleware('web') +            ->namespace($this->namespace) +            ->group(base_path('routes/web.php')); +    } + +    /** +     * Define the "api" routes for the application. +     * +     * These routes are typically stateless. +     * +     * @return void +     */ +    protected function mapApiRoutes() +    { +        Route::prefix('api') +            ->middleware('api') +            ->namespace($this->namespace) +            ->group(base_path('routes/api.php')); +    } +} diff --git a/app/User.php b/app/User.php new file mode 100644 index 0000000..e79dab7 --- /dev/null +++ b/app/User.php @@ -0,0 +1,39 @@ +<?php + +namespace App; + +use Illuminate\Contracts\Auth\MustVerifyEmail; +use Illuminate\Foundation\Auth\User as Authenticatable; +use Illuminate\Notifications\Notifiable; + +class User extends Authenticatable +{ +    use Notifiable; + +    /** +     * The attributes that are mass assignable. +     * +     * @var array +     */ +    protected $fillable = [ +        'name', 'email', 'password', +    ]; + +    /** +     * The attributes that should be hidden for arrays. +     * +     * @var array +     */ +    protected $hidden = [ +        'password', 'remember_token', +    ]; + +    /** +     * The attributes that should be cast to native types. +     * +     * @var array +     */ +    protected $casts = [ +        'email_verified_at' => 'datetime', +    ]; +} | 
