diff --git a/app/Http/Integrations/Unifi/Requests/GetApplicationInformationRequest.php b/app/Http/Integrations/Unifi/Requests/GetApplicationInformationRequest.php new file mode 100644 index 000000000..6303a26f7 --- /dev/null +++ b/app/Http/Integrations/Unifi/Requests/GetApplicationInformationRequest.php @@ -0,0 +1,22 @@ +siteId.'/wans'; + } +} diff --git a/app/Http/Integrations/Unifi/UnifiConnector.php b/app/Http/Integrations/Unifi/UnifiConnector.php new file mode 100644 index 000000000..8d97ba7f8 --- /dev/null +++ b/app/Http/Integrations/Unifi/UnifiConnector.php @@ -0,0 +1,39 @@ + false, + ]; + } + + /** + * Default headers for the connector + */ + protected function defaultHeaders(): array + { + return [ + 'X-API-KEY' => config('services.unifi-api.token'), + ]; + } +} diff --git a/composer.json b/composer.json index 5652a0c4d..3c107977b 100644 --- a/composer.json +++ b/composer.json @@ -29,6 +29,7 @@ "livewire/livewire": "^3.6.4", "lorisleiva/laravel-actions": "^2.9.1", "maennchen/zipstream-php": "^2.4", + "saloonphp/laravel-plugin": "^3.0", "secondnetwork/blade-tabler-icons": "^3.35.0", "spatie/laravel-json-api-paginate": "^1.16.3", "spatie/laravel-query-builder": "^6.3.6", @@ -74,7 +75,8 @@ "post-update-cmd": [ "@php artisan vendor:publish --tag=laravel-assets --ansi --force", "@php artisan vendor:publish --tag=livewire:assets --ansi --force", - "@php artisan boost:update --ansi" + "@php artisan boost:update --ansi", + "composer bump" ], "post-root-package-install": [ "@php -r \"file_exists('.env') || copy('.env.example', '.env');\"" diff --git a/composer.lock b/composer.lock index 2cdd63f47..56e6d0ef7 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "3aff9923fe99afc6088082ec8c3be834", + "content-hash": "ab7c4fd6c956759f362d16e22af2aebb", "packages": [ { "name": "anourvalar/eloquent-serialize", @@ -6150,6 +6150,155 @@ ], "time": "2025-02-25T09:09:36+00:00" }, + { + "name": "saloonphp/laravel-plugin", + "version": "v3.7.0", + "source": { + "type": "git", + "url": "https://github.com/saloonphp/laravel-plugin.git", + "reference": "85e423202c5da8be6c3c30f6f7dac854d0975325" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/saloonphp/laravel-plugin/zipball/85e423202c5da8be6c3c30f6f7dac854d0975325", + "reference": "85e423202c5da8be6c3c30f6f7dac854d0975325", + "shasum": "" + }, + "require": { + "illuminate/console": "^11.0 || ^v12.39.0", + "illuminate/support": "^11.0 || ^12.39.0", + "php": "^8.2", + "saloonphp/saloon": "^3.5", + "symfony/finder": "^6.4 || ^7.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^3.48", + "orchestra/testbench": "^9.15 || ^10.7", + "pestphp/pest": "^3.0|^4.0", + "phpstan/phpstan": "^1.10.57|^2.0.2" + }, + "type": "library", + "extra": { + "laravel": { + "aliases": { + "Saloon": "Saloon\\Laravel\\Facades\\Saloon" + }, + "providers": [ + "Saloon\\Laravel\\SaloonServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Saloon\\Laravel\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Sam Carré", + "email": "29132017+Sammyjo20@users.noreply.github.com", + "role": "Developer" + } + ], + "description": "The official Laravel plugin for Saloon", + "homepage": "https://github.com/saloonphp/laravel-plugin", + "keywords": [ + "api", + "api-integrations", + "saloon", + "saloonphp", + "sdk" + ], + "support": { + "source": "https://github.com/saloonphp/laravel-plugin/tree/v3.7.0" + }, + "time": "2025-11-21T23:45:44+00:00" + }, + { + "name": "saloonphp/saloon", + "version": "v3.14.2", + "source": { + "type": "git", + "url": "https://github.com/saloonphp/saloon.git", + "reference": "634be16ca5eb0b71ab01533f58dc88d174a2e28b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/saloonphp/saloon/zipball/634be16ca5eb0b71ab01533f58dc88d174a2e28b", + "reference": "634be16ca5eb0b71ab01533f58dc88d174a2e28b", + "shasum": "" + }, + "require": { + "guzzlehttp/guzzle": "^7.6", + "guzzlehttp/promises": "^1.5 || ^2.0", + "guzzlehttp/psr7": "^2.0", + "php": "^8.2", + "psr/http-factory": "^1.0", + "psr/http-message": "^1.1 || ^2.0" + }, + "conflict": { + "sammyjo20/saloon": "*" + }, + "require-dev": { + "ext-simplexml": "*", + "friendsofphp/php-cs-fixer": "^3.5", + "illuminate/collections": "^10.0 || ^11.0 || ^12.0", + "league/flysystem": "^3.0", + "pestphp/pest": "^2.36.0 || ^3.8.2 || ^4.1.4", + "phpstan/phpstan": "^2.1.13", + "saloonphp/xml-wrangler": "^1.1", + "spatie/invade": "^2.1", + "symfony/dom-crawler": "^6.0 || ^7.0", + "symfony/var-dumper": "^6.3 || ^7.0" + }, + "suggest": { + "illuminate/collections": "Required for the response collect() method.", + "saloonphp/xml-wrangler": "Required for the response xmlReader() method.", + "symfony/dom-crawler": "Required for the response dom() method.", + "symfony/var-dumper": "Required for default debugging drivers." + }, + "type": "library", + "autoload": { + "psr-4": { + "Saloon\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Sam Carré", + "email": "29132017+Sammyjo20@users.noreply.github.com", + "role": "Developer" + } + ], + "description": "Build beautiful API integrations and SDKs with Saloon", + "homepage": "https://github.com/saloonphp/saloon", + "keywords": [ + "api", + "api-integrations", + "saloon", + "sammyjo20", + "sdk" + ], + "support": { + "issues": "https://github.com/saloonphp/saloon/issues", + "source": "https://github.com/saloonphp/saloon/tree/v3.14.2" + }, + "funding": [ + { + "url": "https://github.com/sammyjo20", + "type": "github" + } + ], + "time": "2025-11-20T21:42:32+00:00" + }, { "name": "scrivo/highlight.php", "version": "v9.18.1.10", diff --git a/config/services.php b/config/services.php index 20a57409b..0ab59e5d6 100644 --- a/config/services.php +++ b/config/services.php @@ -10,4 +10,9 @@ 'token' => env('TELEGRAM_BOT_TOKEN'), ], + 'unifi-api' => [ + 'base_url' => env('UNIFI_API_BASE_URL', 'https://192.168.1.1'), + 'token' => env('UNIFI_API_TOKEN'), + ], + ]; diff --git a/config/speedtest.php b/config/speedtest.php index 0ef7468d0..458666ef3 100644 --- a/config/speedtest.php +++ b/config/speedtest.php @@ -8,7 +8,7 @@ */ 'build_date' => Carbon::parse('2025-11-27'), - 'build_version' => 'v1.10.0', + 'build_version' => 'v1.10.1', 'content_width' => env('CONTENT_WIDTH', '7xl'), diff --git a/openapi.json b/openapi.json index 1717e7ee6..0c171dfba 100644 --- a/openapi.json +++ b/openapi.json @@ -952,7 +952,7 @@ "path": { "type": "string" }, - "per_page": { + "per.page": { "type": "integer" }, "to": {