diff --git a/.github/workflows/laravel.yml b/.github/workflows/laravel.yml index 7846873..5c11917 100644 --- a/.github/workflows/laravel.yml +++ b/.github/workflows/laravel.yml @@ -19,7 +19,9 @@ jobs: - name: Copy .env run: php -r "file_exists('.env') || copy('.env.example', '.env');" - name: Install Dependencies - run: composer install -q --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist + run: | + composer update --lock + composer install -q --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist - name: Generate key run: php artisan key:generate - name: Directory Permissions diff --git a/app/Http/Controllers/Gui/SquidUserController.php b/app/Http/Controllers/Gui/SquidUserController.php index f220406..87d3fa0 100644 --- a/app/Http/Controllers/Gui/SquidUserController.php +++ b/app/Http/Controllers/Gui/SquidUserController.php @@ -19,11 +19,9 @@ class SquidUserController extends Controller { - private $squidUserService; - - public function __construct(SquidUserService $squidUserService) - { - $this->squidUserService = $squidUserService; + public function __construct( + private readonly SquidUserService $squidUserService + ) { } public function search(SearchRequest $request, SearchAction $action): View diff --git a/app/Http/Controllers/Gui/UserController.php b/app/Http/Controllers/Gui/UserController.php index 4a696ed..e7c9ec2 100644 --- a/app/Http/Controllers/Gui/UserController.php +++ b/app/Http/Controllers/Gui/UserController.php @@ -19,11 +19,9 @@ class UserController extends Controller { - private $user; - - public function __construct(UserService $user) - { - $this->user = $user; + public function __construct( + private readonly UserService $user + ) { } public function create(CreateRequest $request, CreateAction $action): RedirectResponse diff --git a/app/Models/User.php b/app/Models/User.php index b4f4123..823847a 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -43,7 +43,7 @@ class User extends Authenticatable 'email_verified_at' => 'datetime', ]; - public function setPasswordAttribute($value) + public function setPasswordAttribute(string $value): void { $this->attributes['password'] = Hash::needsRehash($value) ? Hash::make($value) : $value; } diff --git a/app/Services/SquidAllowedIpService.php b/app/Services/SquidAllowedIpService.php index d9b6a64..e8f9933 100644 --- a/app/Services/SquidAllowedIpService.php +++ b/app/Services/SquidAllowedIpService.php @@ -6,10 +6,8 @@ class SquidAllowedIpService { - public function getById($id) : SquidAllowedIp + public function getById(int|string $id): SquidAllowedIp { - $ip = SquidAllowedIp::query()->where('id', '=', $id)->first(); - - return $ip ?? new SquidAllowedIp(); + return SquidAllowedIp::query()->findOr($id, fn() => new SquidAllowedIp()); } } diff --git a/app/Services/SquidUserService.php b/app/Services/SquidUserService.php index 191b950..a822582 100644 --- a/app/Services/SquidUserService.php +++ b/app/Services/SquidUserService.php @@ -6,10 +6,8 @@ class SquidUserService { - public function getById($id) : SquidUser + public function getById(int|string $id): SquidUser { - $su = SquidUser::query()->where('id', '=', $id)->first(); - - return $su ?? new SquidUser(); + return SquidUser::query()->findOr($id, fn() => new SquidUser()); } } diff --git a/app/Services/UserService.php b/app/Services/UserService.php index b5553db..7d54f22 100644 --- a/app/Services/UserService.php +++ b/app/Services/UserService.php @@ -6,10 +6,8 @@ class UserService { - public function getById($id) : User + public function getById(int|string $id): User { - $user = User::query()->where('id', '=', $id)->first(); - - return $user ?? new User(); + return User::query()->findOr($id, fn() => new User()); } } diff --git a/composer.json b/composer.json index a822bd3..4c95928 100644 --- a/composer.json +++ b/composer.json @@ -9,20 +9,20 @@ "license": "MIT", "require": { "php": "^8.1", - "guzzlehttp/guzzle": "^7.2", - "laravel/framework": "^10.4", - "laravel/sanctum": "^3.2", - "laravel/tinker": "^2.8", - "laravel/ui": "^4.2" + "guzzlehttp/guzzle": "^7.9", + "laravel/framework": "^10.48", + "laravel/sanctum": "^3.3", + "laravel/tinker": "^2.10", + "laravel/ui": "^4.5" }, "require-dev": { - "fakerphp/faker": "^1.9.1", - "laravel/sail": "^1.18", - "mockery/mockery": "^1.4.4", - "nunomaduro/collision": "^7.0", - "nunomaduro/larastan": "^2.4", - "phpunit/phpunit": "^9.5.10", - "spatie/laravel-ignition": "^2.0" + "fakerphp/faker": "^1.23", + "laravel/sail": "^1.38", + "mockery/mockery": "^1.6", + "nunomaduro/collision": "^7.10", + "nunomaduro/larastan": "^2.9", + "phpunit/phpunit": "^10.5", + "spatie/laravel-ignition": "^2.8" }, "autoload": { "psr-4": { diff --git a/package.json b/package.json index 7b71681..a10b30a 100644 --- a/package.json +++ b/package.json @@ -10,13 +10,13 @@ "production": "mix --production" }, "devDependencies": { - "@popperjs/core": "^2.10.2", - "axios": "^0.25", - "bootstrap": "^5.1.3", - "laravel-mix": "^6.0.6", - "lodash": "^4.17.19", - "postcss": "^8.1.14", - "sass": "^1.32.11", - "sass-loader": "^11.0.1" + "@popperjs/core": "^2.11.8", + "axios": "^1.7.9", + "bootstrap": "^5.3.3", + "laravel-mix": "^6.0.49", + "lodash": "^4.17.21", + "postcss": "^8.4.49", + "sass": "^1.83.4", + "sass-loader": "^16.0.4" } }