From e707c40a4ed2cf69a6debeda758b599fab4d2f64 Mon Sep 17 00:00:00 2001 From: Mikiyas Tibebu Date: Mon, 20 Feb 2023 19:21:26 +0300 Subject: [PATCH] update to laravel 10 --- app/Console/Kernel.php | 9 +- app/Exceptions/Handler.php | 4 +- app/Http/Controllers/HydraController.php | 7 +- app/Http/Controllers/RoleController.php | 22 +-- app/Http/Controllers/UserController.php | 32 +--- app/Http/Controllers/UserRoleController.php | 18 +- app/Http/Middleware/Authenticate.php | 9 +- .../Middleware/RedirectIfAuthenticated.php | 9 +- app/Http/Middleware/TrustHosts.php | 2 +- app/Models/Role.php | 3 +- app/Models/User.php | 3 +- app/Providers/AppServiceProvider.php | 8 +- app/Providers/AuthServiceProvider.php | 6 +- app/Providers/BroadcastServiceProvider.php | 4 +- app/Providers/EventServiceProvider.php | 8 +- app/Providers/RouteServiceProvider.php | 8 +- composer.json | 16 +- database/factories/UserFactory.php | 4 +- .../2014_10_12_000000_create_users_table.php | 8 +- ...12_100000_create_password_resets_table.php | 8 +- ..._08_19_000000_create_failed_jobs_table.php | 8 +- ...01_create_personal_access_tokens_table.php | 9 +- .../2022_05_17_181447_create_roles_table.php | 8 +- ...2_05_17_181456_create_user_roles_table.php | 8 +- database/seeders/DatabaseSeeder.php | 4 +- database/seeders/RoleSeeder.php | 4 +- database/seeders/UsersSeeder.php | 4 +- phpunit.xml | 2 +- resources/js/bootstrap.js | 20 ++- resources/views/welcome.blade.php | 156 +++++++++--------- tests/CreatesApplication.php | 5 +- tests/Feature/AdminLoginTest.php | 6 +- tests/Feature/HelloHydraTest.php | 6 +- tests/Feature/RoleTest.php | 20 +-- tests/Feature/UserRoleTest.php | 12 +- tests/Feature/UserTest.php | 20 +-- tests/Unit/ExampleTest.php | 4 +- 37 files changed, 194 insertions(+), 290 deletions(-) diff --git a/app/Console/Kernel.php b/app/Console/Kernel.php index 40d4dbf..8a70ccc 100644 --- a/app/Console/Kernel.php +++ b/app/Console/Kernel.php @@ -8,20 +8,15 @@ use Illuminate\Foundation\Console\Kernel as ConsoleKernel; class Kernel extends ConsoleKernel { /** * Define the application's command schedule. - * - * @param \Illuminate\Console\Scheduling\Schedule $schedule - * @return void */ - protected function schedule(Schedule $schedule) { + protected function schedule(Schedule $schedule): void { // $schedule->command('inspire')->hourly(); } /** * Register the commands for the application. - * - * @return void */ - protected function commands() { + protected function commands(): void { $this->load(__DIR__.'/Commands'); require base_path('routes/console.php'); diff --git a/app/Exceptions/Handler.php b/app/Exceptions/Handler.php index 8c859d9..8235d15 100644 --- a/app/Exceptions/Handler.php +++ b/app/Exceptions/Handler.php @@ -39,10 +39,8 @@ class Handler extends ExceptionHandler { /** * Register the exception handling callbacks for the application. - * - * @return void */ - public function register() { + public function register(): void { $this->reportable(function (Throwable $e) { // }); diff --git a/app/Http/Controllers/HydraController.php b/app/Http/Controllers/HydraController.php index e917b45..64004f6 100644 --- a/app/Http/Controllers/HydraController.php +++ b/app/Http/Controllers/HydraController.php @@ -2,14 +2,17 @@ namespace App\Http\Controllers; +use Illuminate\Contracts\Routing\ResponseFactory; +use Illuminate\Http\Response; + class HydraController extends Controller { - public function hydra() { + public function hydra(): Response { return response([ 'message' => 'Welcome to Hydra, the zero config API boilerplate with roles and abilities for Laravel Sanctum. Please visit https://hasinhayder.github.io/hydra to know more.', ]); } - public function version() { + public function version(): Response { return response([ 'version' => config('hydra.version'), ]); diff --git a/app/Http/Controllers/RoleController.php b/app/Http/Controllers/RoleController.php index c7d1ef3..cc1acf0 100644 --- a/app/Http/Controllers/RoleController.php +++ b/app/Http/Controllers/RoleController.php @@ -4,6 +4,7 @@ namespace App\Http\Controllers; use App\Models\Role; use Illuminate\Http\Request; +use Illuminate\Http\Response; class RoleController extends Controller { /** @@ -17,11 +18,8 @@ class RoleController extends Controller { /** * Store a newly created resource in storage. - * - * @param \Illuminate\Http\Request $request - * @return \Illuminate\Http\Response */ - public function store(Request $request) { + public function store(Request $request): Role|Response { $data = $request->validate([ 'name' => 'required', 'slug' => 'required', @@ -43,22 +41,15 @@ class RoleController extends Controller { /** * Display the specified resource. - * - * @param \App\Models\Role $role - * @return \App\Models\Role $role */ - public function show(Role $role) { + public function show(Role $role): Role { return $role; } /** * Update the specified resource in storage. - * - * @param \Illuminate\Http\Request $request - * @param \App\Models\Role $role - * @return \Illuminate\Contracts\Foundation\Application|\Illuminate\Contracts\Routing\ResponseFactory|\Illuminate\Http\Response|Role */ - public function update(Request $request, Role $role = null) { + public function update(Request $request, Role $role = null): Role|Response { if (! $role) { return response(['error' => 1, 'message' => 'role doesn\'t exist'], 404); } @@ -79,11 +70,8 @@ class RoleController extends Controller { /** * Remove the specified resource from storage. - * - * @param \App\Models\Role $role - * @return \Illuminate\Http\Response */ - public function destroy(Role $role) { + public function destroy(Role $role): Response { if ($role->slug != 'admin' && $role->slug != 'super-admin') { //don't allow changing the admin slug, because it will make the routes inaccessbile due to faile ability check $role->delete(); diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index 9f07353..c9f5f8b 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -5,6 +5,7 @@ namespace App\Http\Controllers; use App\Models\Role; use App\Models\User; use Illuminate\Http\Request; +use Illuminate\Http\Response; use Illuminate\Support\Facades\Hash; use Laravel\Sanctum\Exceptions\MissingAbilityException; @@ -20,11 +21,8 @@ class UserController extends Controller { /** * Store a newly created resource in storage. - * - * @param \Illuminate\Http\Request $request - * @return \Illuminate\Http\Response */ - public function store(Request $request) { + public function store(Request $request): User|Response { $creds = $request->validate([ 'email' => 'required|email', 'password' => 'required', @@ -50,11 +48,8 @@ class UserController extends Controller { /** * Authenticate an user and dispatch token. - * - * @param \Illuminate\Http\Request $request - * @return \Illuminate\Http\Response */ - public function login(Request $request) { + public function login(Request $request): Response { $creds = $request->validate([ 'email' => 'required|email', 'password' => 'required', @@ -78,24 +73,17 @@ class UserController extends Controller { /** * Display the specified resource. - * - * @param \App\Models\User $user - * @return \App\Models\User $user */ - public function show(User $user) { + public function show(User $user): User { return $user; } /** * Update the specified resource in storage. * - * @param \Illuminate\Http\Request $request - * @param \App\Models\User $user - * @return User - * * @throws MissingAbilityException */ - public function update(Request $request, User $user) { + public function update(Request $request, User $user): User { $user->name = $request->name ?? $user->name; $user->email = $request->email ?? $user->email; $user->password = $request->password ? Hash::make($request->password) : $user->password; @@ -117,11 +105,8 @@ class UserController extends Controller { /** * Remove the specified resource from storage. - * - * @param \App\Models\User $user - * @return \Illuminate\Http\Response */ - public function destroy(User $user) { + public function destroy(User $user): Response { $adminRole = Role::where('slug', 'admin')->first(); $userRoles = $user->roles; @@ -139,10 +124,7 @@ class UserController extends Controller { } /** - * Return Auth user - * - * @param Request $request - * @return mixed + * Return Auth user. */ public function me(Request $request) { return $request->user(); diff --git a/app/Http/Controllers/UserRoleController.php b/app/Http/Controllers/UserRoleController.php index db5eb02..0a36198 100644 --- a/app/Http/Controllers/UserRoleController.php +++ b/app/Http/Controllers/UserRoleController.php @@ -5,26 +5,20 @@ namespace App\Http\Controllers; use App\Models\Role; use App\Models\User; use Illuminate\Http\Request; +use Illuminate\Http\Response; class UserRoleController extends Controller { /** * Display a listing of the resource. - * - * @param \App\Models\User $user - * @return \App\Models\User $user */ - public function index(User $user) { + public function index(User $user): User { return $user->load('roles'); } /** * Store a newly created resource in storage. - * - * @param \Illuminate\Http\Request $request - * @param \App\Models\User $user - * @return \App\Models\User $user */ - public function store(Request $request, User $user) { + public function store(Request $request, User $user): User|Response { $data = $request->validate([ 'role_id' => 'required|integer', ]); @@ -38,12 +32,8 @@ class UserRoleController extends Controller { /** * Remove the specified resource from storage. - * - * @param \App\Models\User $user - * @param \App\Models\Role $role - * @return \App\Models\User $user */ - public function destroy(User $user, Role $role) { + public function destroy(User $user, Role $role): User { $user->roles()->detach($role); return $user->load('roles'); diff --git a/app/Http/Middleware/Authenticate.php b/app/Http/Middleware/Authenticate.php index d8770c4..892a4ea 100644 --- a/app/Http/Middleware/Authenticate.php +++ b/app/Http/Middleware/Authenticate.php @@ -7,13 +7,8 @@ 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'); - } + protected function redirectTo($request): ?string { + return $request->expectsJson() ? null : route('login'); } } diff --git a/app/Http/Middleware/RedirectIfAuthenticated.php b/app/Http/Middleware/RedirectIfAuthenticated.php index fbd3570..8662a6a 100644 --- a/app/Http/Middleware/RedirectIfAuthenticated.php +++ b/app/Http/Middleware/RedirectIfAuthenticated.php @@ -4,19 +4,16 @@ namespace App\Http\Middleware; use App\Providers\RouteServiceProvider; use Closure; +use Illuminate\Http\RedirectResponse; use Illuminate\Http\Request; +use Illuminate\Http\Response; 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) { + public function handle(Request $request, Closure $next, ...$guards): Response|RedirectResponse { $guards = empty($guards) ? [null] : $guards; foreach ($guards as $guard) { diff --git a/app/Http/Middleware/TrustHosts.php b/app/Http/Middleware/TrustHosts.php index 1e9d9a1..5d43bf9 100644 --- a/app/Http/Middleware/TrustHosts.php +++ b/app/Http/Middleware/TrustHosts.php @@ -10,7 +10,7 @@ class TrustHosts extends Middleware { * * @return array */ - public function hosts() { + public function hosts(): array { return [ $this->allSubdomainsOfApplicationUrl(), ]; diff --git a/app/Models/Role.php b/app/Models/Role.php index 4c6bcf7..96478d5 100644 --- a/app/Models/Role.php +++ b/app/Models/Role.php @@ -4,6 +4,7 @@ namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; +use Illuminate\Database\Eloquent\Relations\BelongsToMany; class Role extends Model { use HasFactory; @@ -18,7 +19,7 @@ class Role extends Model { 'updated_at', ]; - public function users() { + public function users(): BelongsToMany { return $this->belongsToMany(User::class, 'user_roles'); } } diff --git a/app/Models/User.php b/app/Models/User.php index df4eb34..962dd6d 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -3,6 +3,7 @@ namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; +use Illuminate\Database\Eloquent\Relations\BelongsToMany; use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Notifications\Notifiable; use Laravel\Sanctum\HasApiTokens; @@ -43,7 +44,7 @@ class User extends Authenticatable { 'email_verified_at' => 'datetime', ]; - public function roles() { + public function roles(): BelongsToMany { return $this->belongsToMany(Role::class, 'user_roles'); } } diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index 5a7cf2f..9af3f34 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -7,19 +7,15 @@ use Illuminate\Support\ServiceProvider; class AppServiceProvider extends ServiceProvider { /** * Register any application services. - * - * @return void */ - public function register() { + public function register(): void { // } /** * Bootstrap any application services. - * - * @return void */ - public function boot() { + public function boot(): void { // } } diff --git a/app/Providers/AuthServiceProvider.php b/app/Providers/AuthServiceProvider.php index b1783f4..3bc6432 100644 --- a/app/Providers/AuthServiceProvider.php +++ b/app/Providers/AuthServiceProvider.php @@ -16,12 +16,8 @@ class AuthServiceProvider extends ServiceProvider { /** * Register any authentication / authorization services. - * - * @return void */ - public function boot() { - $this->registerPolicies(); - + public function boot(): void { // } } diff --git a/app/Providers/BroadcastServiceProvider.php b/app/Providers/BroadcastServiceProvider.php index 26a236a..5e024b6 100644 --- a/app/Providers/BroadcastServiceProvider.php +++ b/app/Providers/BroadcastServiceProvider.php @@ -8,10 +8,8 @@ use Illuminate\Support\ServiceProvider; class BroadcastServiceProvider extends ServiceProvider { /** * Bootstrap any application services. - * - * @return void */ - public function boot() { + public function boot(): void { Broadcast::routes(); require base_path('routes/channels.php'); diff --git a/app/Providers/EventServiceProvider.php b/app/Providers/EventServiceProvider.php index 591e739..589f238 100644 --- a/app/Providers/EventServiceProvider.php +++ b/app/Providers/EventServiceProvider.php @@ -21,19 +21,15 @@ class EventServiceProvider extends ServiceProvider { /** * Register any events for your application. - * - * @return void */ - public function boot() { + public function boot(): void { // } /** * Determine if events and listeners should be automatically discovered. - * - * @return bool */ - public function shouldDiscoverEvents() { + public function shouldDiscoverEvents(): bool { return false; } } diff --git a/app/Providers/RouteServiceProvider.php b/app/Providers/RouteServiceProvider.php index aea6e8e..8c618a8 100644 --- a/app/Providers/RouteServiceProvider.php +++ b/app/Providers/RouteServiceProvider.php @@ -20,10 +20,8 @@ class RouteServiceProvider extends ServiceProvider { /** * Define your route model bindings, pattern filters, and other route configuration. - * - * @return void */ - public function boot() { + public function boot(): void { $this->configureRateLimiting(); $this->routes(function () { @@ -38,10 +36,8 @@ class RouteServiceProvider extends ServiceProvider { /** * Configure the rate limiters for the application. - * - * @return void */ - protected function configureRateLimiting() { + protected function configureRateLimiting(): void { RateLimiter::for('api', function (Request $request) { return Limit::perMinute(60)->by($request->user()?->id ?: $request->ip()); }); diff --git a/composer.json b/composer.json index ebd4d20..b36ae1a 100644 --- a/composer.json +++ b/composer.json @@ -10,18 +10,18 @@ "require": { "php": "^8.0.2", "guzzlehttp/guzzle": "^7.4.4", - "laravel/framework": "^9.23", - "laravel/sanctum": "^2.15.1", - "laravel/tinker": "^2.7" + "laravel/framework": "^10.0", + "laravel/sanctum": "^3.2", + "laravel/tinker": "^2.8" }, "require-dev": { "fakerphp/faker": "^1.9.1", "laravel/pint": "^1.1.0", - "laravel/sail": "^1.15", + "laravel/sail": "^1.18", "mockery/mockery": "^1.4.4", - "nunomaduro/collision": "^6.2", - "phpunit/phpunit": "^9.5.10", - "spatie/laravel-ignition": "^1.0" + "nunomaduro/collision": "^7.0", + "phpunit/phpunit": "^10.0", + "spatie/laravel-ignition": "^2.0" }, "autoload": { "psr-4": { @@ -60,6 +60,6 @@ "preferred-install": "dist", "sort-packages": true }, - "minimum-stability": "dev", + "minimum-stability": "stable", "prefer-stable": true } diff --git a/database/factories/UserFactory.php b/database/factories/UserFactory.php index bc2f498..c0acf50 100644 --- a/database/factories/UserFactory.php +++ b/database/factories/UserFactory.php @@ -14,7 +14,7 @@ class UserFactory extends Factory { * * @return array */ - public function definition() { + public function definition(): array { return [ 'name' => $this->faker->name(), 'email' => $this->faker->unique()->safeEmail(), @@ -29,7 +29,7 @@ class UserFactory extends Factory { * * @return static */ - public function unverified() { + public function unverified(): static { return $this->state(function (array $attributes) { return [ 'email_verified_at' => null, diff --git a/database/migrations/2014_10_12_000000_create_users_table.php b/database/migrations/2014_10_12_000000_create_users_table.php index 545e2f7..b0fc65a 100644 --- a/database/migrations/2014_10_12_000000_create_users_table.php +++ b/database/migrations/2014_10_12_000000_create_users_table.php @@ -7,10 +7,8 @@ use Illuminate\Support\Facades\Schema; return new class extends Migration { /** * Run the migrations. - * - * @return void */ - public function up() { + public function up(): void { Schema::create('users', function (Blueprint $table) { $table->id(); $table->string('name'); @@ -24,10 +22,8 @@ return new class extends Migration { /** * Reverse the migrations. - * - * @return void */ - public function down() { + public function down(): void { Schema::dropIfExists('users'); } }; diff --git a/database/migrations/2014_10_12_100000_create_password_resets_table.php b/database/migrations/2014_10_12_100000_create_password_resets_table.php index 7c0aa50..af20522 100644 --- a/database/migrations/2014_10_12_100000_create_password_resets_table.php +++ b/database/migrations/2014_10_12_100000_create_password_resets_table.php @@ -7,10 +7,8 @@ use Illuminate\Support\Facades\Schema; return new class extends Migration { /** * Run the migrations. - * - * @return void */ - public function up() { + public function up(): void { Schema::create('password_resets', function (Blueprint $table) { $table->string('email')->index(); $table->string('token'); @@ -20,10 +18,8 @@ return new class extends Migration { /** * Reverse the migrations. - * - * @return void */ - public function down() { + public function down(): void { Schema::dropIfExists('password_resets'); } }; diff --git a/database/migrations/2019_08_19_000000_create_failed_jobs_table.php b/database/migrations/2019_08_19_000000_create_failed_jobs_table.php index 3608f1e..9abe005 100644 --- a/database/migrations/2019_08_19_000000_create_failed_jobs_table.php +++ b/database/migrations/2019_08_19_000000_create_failed_jobs_table.php @@ -7,10 +7,8 @@ use Illuminate\Support\Facades\Schema; return new class extends Migration { /** * Run the migrations. - * - * @return void */ - public function up() { + public function up(): void { Schema::create('failed_jobs', function (Blueprint $table) { $table->id(); $table->string('uuid')->unique(); @@ -24,10 +22,8 @@ return new class extends Migration { /** * Reverse the migrations. - * - * @return void */ - public function down() { + public function down(): void { Schema::dropIfExists('failed_jobs'); } }; diff --git a/database/migrations/2019_12_14_000001_create_personal_access_tokens_table.php b/database/migrations/2019_12_14_000001_create_personal_access_tokens_table.php index abf2ce9..73b0c17 100644 --- a/database/migrations/2019_12_14_000001_create_personal_access_tokens_table.php +++ b/database/migrations/2019_12_14_000001_create_personal_access_tokens_table.php @@ -7,10 +7,8 @@ use Illuminate\Support\Facades\Schema; return new class extends Migration { /** * Run the migrations. - * - * @return void */ - public function up() { + public function up(): void { Schema::create('personal_access_tokens', function (Blueprint $table) { $table->id(); $table->morphs('tokenable'); @@ -18,16 +16,15 @@ return new class extends Migration { $table->string('token', 64)->unique(); $table->text('abilities')->nullable(); $table->timestamp('last_used_at')->nullable(); + $table->timestamp('expires_at')->nullable(); $table->timestamps(); }); } /** * Reverse the migrations. - * - * @return void */ - public function down() { + public function down(): void { Schema::dropIfExists('personal_access_tokens'); } }; diff --git a/database/migrations/2022_05_17_181447_create_roles_table.php b/database/migrations/2022_05_17_181447_create_roles_table.php index b7ccdf7..2c4b263 100644 --- a/database/migrations/2022_05_17_181447_create_roles_table.php +++ b/database/migrations/2022_05_17_181447_create_roles_table.php @@ -7,10 +7,8 @@ use Illuminate\Support\Facades\Schema; return new class extends Migration { /** * Run the migrations. - * - * @return void */ - public function up() { + public function up(): void { Schema::create('roles', function (Blueprint $table) { $table->id(); $table->string('name'); @@ -21,10 +19,8 @@ return new class extends Migration { /** * Reverse the migrations. - * - * @return void */ - public function down() { + public function down(): void { Schema::dropIfExists('roles'); } }; diff --git a/database/migrations/2022_05_17_181456_create_user_roles_table.php b/database/migrations/2022_05_17_181456_create_user_roles_table.php index 9616574..121f45e 100644 --- a/database/migrations/2022_05_17_181456_create_user_roles_table.php +++ b/database/migrations/2022_05_17_181456_create_user_roles_table.php @@ -7,10 +7,8 @@ use Illuminate\Support\Facades\Schema; return new class extends Migration { /** * Run the migrations. - * - * @return void */ - public function up() { + public function up(): void { Schema::create('user_roles', function (Blueprint $table) { $table->id(); $table->foreignId('user_id')->constrained()->cascadeOnDelete(); @@ -22,10 +20,8 @@ return new class extends Migration { /** * Reverse the migrations. - * - * @return void */ - public function down() { + public function down(): void { Schema::dropIfExists('user_roles'); } }; diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php index 8ccf378..970916b 100644 --- a/database/seeders/DatabaseSeeder.php +++ b/database/seeders/DatabaseSeeder.php @@ -7,10 +7,8 @@ use Illuminate\Database\Seeder; class DatabaseSeeder extends Seeder { /** * Seed the application's database. - * - * @return void */ - public function run() { + public function run(): void { // \App\Models\User::factory(10)->create(); // \App\Models\User::factory()->create([ diff --git a/database/seeders/RoleSeeder.php b/database/seeders/RoleSeeder.php index 5d35996..788a61e 100644 --- a/database/seeders/RoleSeeder.php +++ b/database/seeders/RoleSeeder.php @@ -10,10 +10,8 @@ use Illuminate\Support\Facades\Schema; class RoleSeeder extends Seeder { /** * Run the database seeds. - * - * @return void */ - public function run() { + public function run(): void { Schema::disableForeignKeyConstraints(); DB::table('roles')->truncate(); Schema::enableForeignKeyConstraints(); diff --git a/database/seeders/UsersSeeder.php b/database/seeders/UsersSeeder.php index 4ee48ea..666d32f 100644 --- a/database/seeders/UsersSeeder.php +++ b/database/seeders/UsersSeeder.php @@ -12,10 +12,8 @@ use Illuminate\Support\Facades\Schema; class UsersSeeder extends Seeder { /** * Run the database seeds. - * - * @return void */ - public function run() { + public function run(): void { Schema::disableForeignKeyConstraints(); DB::table('users')->truncate(); Schema::enableForeignKeyConstraints(); diff --git a/phpunit.xml b/phpunit.xml index 2ac86a1..eb13aff 100644 --- a/phpunit.xml +++ b/phpunit.xml @@ -12,7 +12,7 @@ ./tests/Feature - + ./app diff --git a/resources/js/bootstrap.js b/resources/js/bootstrap.js index 2bb9958..846d350 100644 --- a/resources/js/bootstrap.js +++ b/resources/js/bootstrap.js @@ -1,13 +1,12 @@ -window._ = require('lodash'); - /** * We'll load the axios HTTP library which allows us to easily issue requests * to our Laravel back-end. This library automatically handles sending the * CSRF token as a header based on the value of the "XSRF" token cookie. */ -window.axios = require('axios'); -// window.axios.defaults.withCredentials = true; +import axios from 'axios'; +window.axios = axios; + window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; /** @@ -18,11 +17,16 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; // import Echo from 'laravel-echo'; -// window.Pusher = require('pusher-js'); +// import Pusher from 'pusher-js'; +// window.Pusher = Pusher; // window.Echo = new Echo({ // broadcaster: 'pusher', -// key: process.env.MIX_PUSHER_APP_KEY, -// cluster: process.env.MIX_PUSHER_APP_CLUSTER, -// forceTLS: true +// key: import.meta.env.VITE_PUSHER_APP_KEY, +// cluster: import.meta.env.VITE_PUSHER_APP_CLUSTER ?? 'mt1', +// wsHost: import.meta.env.VITE_PUSHER_HOST ? import.meta.env.VITE_PUSHER_HOST : `ws-${import.meta.env.VITE_PUSHER_APP_CLUSTER}.pusher.com`, +// wsPort: import.meta.env.VITE_PUSHER_PORT ?? 80, +// wssPort: import.meta.env.VITE_PUSHER_PORT ?? 443, +// forceTLS: (import.meta.env.VITE_PUSHER_SCHEME ?? 'https') === 'https', +// enabledTransports: ['ws', 'wss'], // }); diff --git a/resources/views/welcome.blade.php b/resources/views/welcome.blade.php index dd6a45d..0406510 100644 --- a/resources/views/welcome.blade.php +++ b/resources/views/welcome.blade.php @@ -7,122 +7,130 @@ Laravel - + + - - -
+
@if (Route::has('login')) -