From 263bcd8126f7280fcfd4027c86fe45eca2dbf064 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Sun, 30 Jan 2022 10:46:39 +1100 Subject: [PATCH] Add ability to purge clients --- app/Http/Controllers/ClientController.php | 2 +- .../InAppPurchase/AppleController.php | 107 ++++ app/Http/Middleware/QueryLogging.php | 7 +- app/Jobs/Account/CreateAccount.php | 10 +- app/Libraries/InApp/StoreKit/Apple.php | 79 +++ app/Models/Client.php | 5 + app/Repositories/ClientRepository.php | 22 + app/Utils/Ninja.php | 12 +- composer.json | 1 + composer.lock | 462 +++++++++--------- config/ninja.php | 13 +- ...617_add_client_count_to_accounts_table.php | 9 + database/seeders/CountriesSeeder.php | 1 + routes/api.php | 9 +- 14 files changed, 489 insertions(+), 250 deletions(-) create mode 100644 app/Http/Controllers/InAppPurchase/AppleController.php create mode 100644 app/Libraries/InApp/StoreKit/Apple.php diff --git a/app/Http/Controllers/ClientController.php b/app/Http/Controllers/ClientController.php index c46fbef9fe..a867b9045b 100644 --- a/app/Http/Controllers/ClientController.php +++ b/app/Http/Controllers/ClientController.php @@ -510,7 +510,7 @@ class ClientController extends BaseController $ids = request()->input('ids'); $clients = Client::withTrashed()->whereIn('id', $this->transformKeys($ids))->cursor(); - if(!in_array($action, ['restore','archive','delete'])) + if(!in_array($action, ['restore','archive','delete','purge'])) return response()->json(['message' => 'That action is not available.'], 400); $clients->each(function ($client, $key) use ($action) { diff --git a/app/Http/Controllers/InAppPurchase/AppleController.php b/app/Http/Controllers/InAppPurchase/AppleController.php new file mode 100644 index 0000000000..4d930fcb52 --- /dev/null +++ b/app/Http/Controllers/InAppPurchase/AppleController.php @@ -0,0 +1,107 @@ +header('Cf-Connecting-Ip')) + if(request()->hasHeader('Cf-Connecting-Ip')) + $ip = request()->header('Cf-Connecting-Ip'); + elseif(request()->hasHeader('X-Forwarded-For')) $ip = request()->header('Cf-Connecting-Ip'); else{ $ip = request()->ip(); diff --git a/app/Jobs/Account/CreateAccount.php b/app/Jobs/Account/CreateAccount.php index a9b76f8dbd..1a10212cc5 100644 --- a/app/Jobs/Account/CreateAccount.php +++ b/app/Jobs/Account/CreateAccount.php @@ -140,7 +140,15 @@ class CreateAccount ->increment() ->queue(); - $ip = request()->hasHeader('Cf-Connecting-Ip') ? request()->header('Cf-Connecting-Ip') : request()->getClientIp(); + $ip = ''; + + if(request()->hasHeader('Cf-Connecting-Ip')) + $ip = request()->header('Cf-Connecting-Ip'); + elseif(request()->hasHeader('X-Forwarded-For')) + $ip = request()->header('Cf-Connecting-Ip'); + else + $ip = request()->ip(); + $platform = request()->has('platform') ? request()->input('platform') : 'www'; LightLogs::create(new AccountPlatform($platform, request()->server('HTTP_USER_AGENT'), $ip)) diff --git a/app/Libraries/InApp/StoreKit/Apple.php b/app/Libraries/InApp/StoreKit/Apple.php new file mode 100644 index 0000000000..871e4fc36e --- /dev/null +++ b/app/Libraries/InApp/StoreKit/Apple.php @@ -0,0 +1,79 @@ +bundle_id = config('ninja.ninja_apple_bundle_id'); + + $this->issuer_id = config('ninja.ninja_apple_issuer_id'); + + $this->key_id = config('ninja.ninja_apple_api_key'); + + $this->private_key = config('ninja.ninja_apple_private_key'); + + $issue_time = time(); + + $expiration_time = $issue_time + 60 * 60; + + $header = [ + 'alg' => $this->alg, + 'kid' => $this->key_id, + 'typ' => 'JWT' + ]; + + $payload = [ + 'iss'=> $this->issuer_id, + 'iat'=> $issue_time, + 'exp'=> $expiration_time, + 'aud'=> 'appstoreconnect-v1', + 'nonce'=> $this->guidv4(), + 'bid'=> $this->bundle_id + ]; + + + $jwt = JWT::encode($payload, $this->private_key, $this->alg, $header); + + $decoded = JWT::decode($jwt, new Key($this->private_key, $this->alg)); + + return $decoded; + + + + } + + private function guidv4() + { + return vsprintf('%s%s-%s-%s-%s-%s%s%s', str_split(bin2hex(random_bytes(16)), 4)); + } + +} diff --git a/app/Models/Client.php b/app/Models/Client.php index d001bae63c..28727d9f36 100644 --- a/app/Models/Client.php +++ b/app/Models/Client.php @@ -245,6 +245,11 @@ class Client extends BaseModel implements HasLocalePreference return $this->hasMany(RecurringInvoice::class)->withTrashed(); } + public function recurring_expenses() + { + return $this->hasMany(RecurringExpense::class)->withTrashed(); + } + public function shipping_country() { return $this->belongsTo(Country::class, 'shipping_country_id', 'id'); diff --git a/app/Repositories/ClientRepository.php b/app/Repositories/ClientRepository.php index cdf6305cb1..cd2bd9bff1 100644 --- a/app/Repositories/ClientRepository.php +++ b/app/Repositories/ClientRepository.php @@ -92,4 +92,26 @@ class ClientRepository extends BaseRepository ClientFactory::create(auth()->user()->company()->id, auth()->user()->id) ); } + + public function purge($client) + { + + $client->contacts()->forceDelete(); + $client->tasks()->forceDelete(); + $client->invoices()->forceDelete(); + $client->ledger()->forceDelete(); + $client->gateway_tokens()->forceDelete(); + $client->projects()->forceDelete(); + $client->credits()->forceDelete(); + $client->quotes()->forceDelete(); + $client->activities()->forceDelete(); + $client->recurring_invoices()->forceDelete(); + $client->expenses()->forceDelete(); + $client->recurring_expenses()->forceDelete(); + $client->system_logs()->forceDelete(); + $client->documents()->forceDelete(); + $client->payments()->forceDelete(); + $client->forceDelete(); + + } } diff --git a/app/Utils/Ninja.php b/app/Utils/Ninja.php index bf0a379a00..515d472308 100644 --- a/app/Utils/Ninja.php +++ b/app/Utils/Ninja.php @@ -114,10 +114,14 @@ class Ninja public static function eventVars($user_id = null) { - if(request()->hasHeader('Cf-Connecting-Ip')) - $ip = request()->header('Cf-Connecting-Ip'); - else - $ip = request()->getClientIp(); + $ip = ''; + + if(request()->hasHeader('Cf-Connecting-Ip')) + $ip = request()->header('Cf-Connecting-Ip'); + elseif(request()->hasHeader('X-Forwarded-For')) + $ip = request()->header('Cf-Connecting-Ip'); + else + $ip = request()->ip(); return [ 'ip' => $ip, diff --git a/composer.json b/composer.json index 877931817f..f58ba6ad8c 100644 --- a/composer.json +++ b/composer.json @@ -44,6 +44,7 @@ "eway/eway-rapid-php": "^1.3", "fakerphp/faker": "^1.14", "fideloper/proxy": "^4.2", + "firebase/php-jwt": "^5", "fruitcake/laravel-cors": "^2.0", "gocardless/gocardless-pro": "^4.12", "google/apiclient": "^2.7", diff --git a/composer.lock b/composer.lock index 67a3de4086..e8ef2564f9 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": "cd912a40faea3a658298daa4b17a7f25", + "content-hash": "f430e1dc06c72464f547ba0bb71226cf", "packages": [ { "name": "apimatic/jsonmapper", @@ -323,16 +323,16 @@ }, { "name": "aws/aws-sdk-php", - "version": "3.209.9", + "version": "3.209.15", "source": { "type": "git", "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "610edb3dca29698b65cf5d7cd7196bc87af7a9de" + "reference": "8656babb2e58ea3e7c9a40724e8a545ce40bb622" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/610edb3dca29698b65cf5d7cd7196bc87af7a9de", - "reference": "610edb3dca29698b65cf5d7cd7196bc87af7a9de", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/8656babb2e58ea3e7c9a40724e8a545ce40bb622", + "reference": "8656babb2e58ea3e7c9a40724e8a545ce40bb622", "shasum": "" }, "require": { @@ -408,9 +408,9 @@ "support": { "forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80", "issues": "https://github.com/aws/aws-sdk-php/issues", - "source": "https://github.com/aws/aws-sdk-php/tree/3.209.9" + "source": "https://github.com/aws/aws-sdk-php/tree/3.209.15" }, - "time": "2022-01-20T19:16:31+00:00" + "time": "2022-01-28T19:14:57+00:00" }, { "name": "bacon/bacon-qr-code", @@ -1049,16 +1049,16 @@ }, { "name": "composer/composer", - "version": "2.2.4", + "version": "2.2.5", "source": { "type": "git", "url": "https://github.com/composer/composer.git", - "reference": "8a5ad75194f901e3b39ece4bbd22cbdabc79ae8f" + "reference": "22c41ef275c7bb64fa28fb2c0871a39666832cb9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/composer/zipball/8a5ad75194f901e3b39ece4bbd22cbdabc79ae8f", - "reference": "8a5ad75194f901e3b39ece4bbd22cbdabc79ae8f", + "url": "https://api.github.com/repos/composer/composer/zipball/22c41ef275c7bb64fa28fb2c0871a39666832cb9", + "reference": "22c41ef275c7bb64fa28fb2c0871a39666832cb9", "shasum": "" }, "require": { @@ -1128,7 +1128,7 @@ "support": { "irc": "ircs://irc.libera.chat:6697/composer", "issues": "https://github.com/composer/composer/issues", - "source": "https://github.com/composer/composer/tree/2.2.4" + "source": "https://github.com/composer/composer/tree/2.2.5" }, "funding": [ { @@ -1144,7 +1144,7 @@ "type": "tidelift" } ], - "time": "2022-01-08T11:30:42+00:00" + "time": "2022-01-21T16:25:52+00:00" }, { "name": "composer/metadata-minifier", @@ -1217,23 +1217,23 @@ }, { "name": "composer/pcre", - "version": "1.0.0", + "version": "1.0.1", "source": { "type": "git", "url": "https://github.com/composer/pcre.git", - "reference": "3d322d715c43a1ac36c7fe215fa59336265500f2" + "reference": "67a32d7d6f9f560b726ab25a061b38ff3a80c560" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/pcre/zipball/3d322d715c43a1ac36c7fe215fa59336265500f2", - "reference": "3d322d715c43a1ac36c7fe215fa59336265500f2", + "url": "https://api.github.com/repos/composer/pcre/zipball/67a32d7d6f9f560b726ab25a061b38ff3a80c560", + "reference": "67a32d7d6f9f560b726ab25a061b38ff3a80c560", "shasum": "" }, "require": { "php": "^5.3.2 || ^7.0 || ^8.0" }, "require-dev": { - "phpstan/phpstan": "^1", + "phpstan/phpstan": "^1.3", "phpstan/phpstan-strict-rules": "^1.1", "symfony/phpunit-bridge": "^4.2 || ^5" }, @@ -1268,7 +1268,7 @@ ], "support": { "issues": "https://github.com/composer/pcre/issues", - "source": "https://github.com/composer/pcre/tree/1.0.0" + "source": "https://github.com/composer/pcre/tree/1.0.1" }, "funding": [ { @@ -1284,7 +1284,7 @@ "type": "tidelift" } ], - "time": "2021-12-06T15:17:27+00:00" + "time": "2022-01-21T20:24:37+00:00" }, { "name": "composer/semver", @@ -2336,16 +2336,16 @@ }, { "name": "fakerphp/faker", - "version": "v1.17.0", + "version": "v1.18.0", "source": { "type": "git", "url": "https://github.com/FakerPHP/Faker.git", - "reference": "b85e9d44eae8c52cca7aa0939483611f7232b669" + "reference": "2e77a868f6540695cf5ebf21e5ab472c65f47567" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/b85e9d44eae8c52cca7aa0939483611f7232b669", - "reference": "b85e9d44eae8c52cca7aa0939483611f7232b669", + "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/2e77a868f6540695cf5ebf21e5ab472c65f47567", + "reference": "2e77a868f6540695cf5ebf21e5ab472c65f47567", "shasum": "" }, "require": { @@ -2370,7 +2370,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "v1.17-dev" + "dev-main": "v1.18-dev" } }, "autoload": { @@ -2395,9 +2395,9 @@ ], "support": { "issues": "https://github.com/FakerPHP/Faker/issues", - "source": "https://github.com/FakerPHP/Faker/tree/v1.17.0" + "source": "https://github.com/FakerPHP/Faker/tree/v1.18.0" }, - "time": "2021-12-05T17:14:47+00:00" + "time": "2022-01-23T17:56:23+00:00" }, { "name": "fideloper/proxy", @@ -2723,16 +2723,16 @@ }, { "name": "google/apiclient-services", - "version": "v0.230.0", + "version": "v0.232.0", "source": { "type": "git", "url": "https://github.com/googleapis/google-api-php-client-services.git", - "reference": "ec64bbf1d6af9475bee7b1ce4fc0ed8a0a8d8889" + "reference": "e671adddfd3d2b36a415e7bf22189b1626bc13f8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/googleapis/google-api-php-client-services/zipball/ec64bbf1d6af9475bee7b1ce4fc0ed8a0a8d8889", - "reference": "ec64bbf1d6af9475bee7b1ce4fc0ed8a0a8d8889", + "url": "https://api.github.com/repos/googleapis/google-api-php-client-services/zipball/e671adddfd3d2b36a415e7bf22189b1626bc13f8", + "reference": "e671adddfd3d2b36a415e7bf22189b1626bc13f8", "shasum": "" }, "require": { @@ -2761,9 +2761,9 @@ ], "support": { "issues": "https://github.com/googleapis/google-api-php-client-services/issues", - "source": "https://github.com/googleapis/google-api-php-client-services/tree/v0.230.0" + "source": "https://github.com/googleapis/google-api-php-client-services/tree/v0.232.0" }, - "time": "2021-12-21T12:26:12+00:00" + "time": "2022-01-28T12:22:13+00:00" }, { "name": "google/auth", @@ -3829,16 +3829,16 @@ }, { "name": "laravel/framework", - "version": "v8.80.0", + "version": "v8.81.0", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "8949a2e46b0f274f39c61eee8d5de1dc6a1f686b" + "reference": "9cc0efd724ce67a190b1695ba31a27bbb1ae9177" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/8949a2e46b0f274f39c61eee8d5de1dc6a1f686b", - "reference": "8949a2e46b0f274f39c61eee8d5de1dc6a1f686b", + "url": "https://api.github.com/repos/laravel/framework/zipball/9cc0efd724ce67a190b1695ba31a27bbb1ae9177", + "reference": "9cc0efd724ce67a190b1695ba31a27bbb1ae9177", "shasum": "" }, "require": { @@ -3871,7 +3871,7 @@ "symfony/var-dumper": "^5.4", "tijsverkoyen/css-to-inline-styles": "^2.2.2", "vlucas/phpdotenv": "^5.4.1", - "voku/portable-ascii": "^1.4.8" + "voku/portable-ascii": "^1.6.1" }, "conflict": { "tightenco/collect": "<5.5.33" @@ -3998,7 +3998,7 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2022-01-18T15:51:42+00:00" + "time": "2022-01-25T16:41:46+00:00" }, { "name": "laravel/serializable-closure", @@ -4122,16 +4122,16 @@ }, { "name": "laravel/socialite", - "version": "v5.3.0", + "version": "v5.4.0", "source": { "type": "git", "url": "https://github.com/laravel/socialite.git", - "reference": "4e6f7e40de9a54ad641de5b8e29cdf1e73842e10" + "reference": "4b1999232a572dfe61f42c7295490d1372dad097" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/socialite/zipball/4e6f7e40de9a54ad641de5b8e29cdf1e73842e10", - "reference": "4e6f7e40de9a54ad641de5b8e29cdf1e73842e10", + "url": "https://api.github.com/repos/laravel/socialite/zipball/4b1999232a572dfe61f42c7295490d1372dad097", + "reference": "4b1999232a572dfe61f42c7295490d1372dad097", "shasum": "" }, "require": { @@ -4187,7 +4187,7 @@ "issues": "https://github.com/laravel/socialite/issues", "source": "https://github.com/laravel/socialite" }, - "time": "2022-01-12T18:05:39+00:00" + "time": "2022-01-25T20:10:22+00:00" }, { "name": "laravel/tinker", @@ -4259,16 +4259,16 @@ }, { "name": "laravel/ui", - "version": "v3.4.1", + "version": "v3.4.2", "source": { "type": "git", "url": "https://github.com/laravel/ui.git", - "reference": "9a1e52442dd238647905b98d773d59e438eb9f9d" + "reference": "e01198123f7f4369d13c1f83a897c3f5e97fc9f4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/ui/zipball/9a1e52442dd238647905b98d773d59e438eb9f9d", - "reference": "9a1e52442dd238647905b98d773d59e438eb9f9d", + "url": "https://api.github.com/repos/laravel/ui/zipball/e01198123f7f4369d13c1f83a897c3f5e97fc9f4", + "reference": "e01198123f7f4369d13c1f83a897c3f5e97fc9f4", "shasum": "" }, "require": { @@ -4314,22 +4314,22 @@ "ui" ], "support": { - "source": "https://github.com/laravel/ui/tree/v3.4.1" + "source": "https://github.com/laravel/ui/tree/v3.4.2" }, - "time": "2021-12-22T10:40:50+00:00" + "time": "2022-01-25T20:15:56+00:00" }, { "name": "league/commonmark", - "version": "2.1.1", + "version": "2.2.1", "source": { "type": "git", "url": "https://github.com/thephpleague/commonmark.git", - "reference": "17d2b9cb5161a2ea1a8dd30e6991d668e503fb9d" + "reference": "f8afb78f087777b040e0ab8a6b6ca93f6fc3f18a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/17d2b9cb5161a2ea1a8dd30e6991d668e503fb9d", - "reference": "17d2b9cb5161a2ea1a8dd30e6991d668e503fb9d", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/f8afb78f087777b040e0ab8a6b6ca93f6fc3f18a", + "reference": "f8afb78f087777b040e0ab8a6b6ca93f6fc3f18a", "shasum": "" }, "require": { @@ -4337,6 +4337,7 @@ "league/config": "^1.1.1", "php": "^7.4 || ^8.0", "psr/event-dispatcher": "^1.0", + "symfony/deprecation-contracts": "^2.1 || ^3.0", "symfony/polyfill-php80": "^1.15" }, "require-dev": { @@ -4362,7 +4363,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "2.2-dev" + "dev-main": "2.3-dev" } }, "autoload": { @@ -4419,7 +4420,7 @@ "type": "tidelift" } ], - "time": "2022-01-02T18:25:06+00:00" + "time": "2022-01-25T14:37:33+00:00" }, { "name": "league/config", @@ -5048,31 +5049,32 @@ }, { "name": "livewire/livewire", - "version": "v2.9.0", + "version": "v2.10.1", "source": { "type": "git", "url": "https://github.com/livewire/livewire.git", - "reference": "e117c78f9a4b19edb294b5b576138fd1f896925a" + "reference": "0d417b27791af09c79108eafd1344842f83a26ee" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/livewire/livewire/zipball/e117c78f9a4b19edb294b5b576138fd1f896925a", - "reference": "e117c78f9a4b19edb294b5b576138fd1f896925a", + "url": "https://api.github.com/repos/livewire/livewire/zipball/0d417b27791af09c79108eafd1344842f83a26ee", + "reference": "0d417b27791af09c79108eafd1344842f83a26ee", "shasum": "" }, "require": { - "illuminate/database": "^7.0|^8.0", - "illuminate/support": "^7.0|^8.0", - "illuminate/validation": "^7.0|^8.0", + "illuminate/database": "^7.0|^8.0|^9.0", + "illuminate/support": "^7.0|^8.0|^9.0", + "illuminate/validation": "^7.0|^8.0|^9.0", + "league/mime-type-detection": "^1.9", "php": "^7.2.5|^8.0", - "symfony/http-kernel": "^5.0" + "symfony/http-kernel": "^5.0|^6.0" }, "require-dev": { "calebporzio/sushi": "^2.1", - "laravel/framework": "^7.0|^8.0", + "laravel/framework": "^7.0|^8.0|^9.0", "mockery/mockery": "^1.3.1", - "orchestra/testbench": "^5.0|^6.0", - "orchestra/testbench-dusk": "^5.2|^6.0", + "orchestra/testbench": "^5.0|^6.0|^7.0", + "orchestra/testbench-dusk": "^5.2|^6.0|^7.0", "phpunit/phpunit": "^8.4|^9.0", "psy/psysh": "@stable" }, @@ -5108,7 +5110,7 @@ "description": "A front-end framework for Laravel.", "support": { "issues": "https://github.com/livewire/livewire/issues", - "source": "https://github.com/livewire/livewire/tree/v2.9.0" + "source": "https://github.com/livewire/livewire/tree/v2.10.1" }, "funding": [ { @@ -5116,7 +5118,7 @@ "type": "github" } ], - "time": "2022-01-13T20:07:05+00:00" + "time": "2022-01-21T13:39:10+00:00" }, { "name": "maennchen/zipstream-php", @@ -5582,16 +5584,16 @@ }, { "name": "nesbot/carbon", - "version": "2.55.2", + "version": "2.56.0", "source": { "type": "git", "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "8c2a18ce3e67c34efc1b29f64fe61304368259a2" + "reference": "626ec8cbb724cd3c3400c3ed8f730545b744e3f4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/8c2a18ce3e67c34efc1b29f64fe61304368259a2", - "reference": "8c2a18ce3e67c34efc1b29f64fe61304368259a2", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/626ec8cbb724cd3c3400c3ed8f730545b744e3f4", + "reference": "626ec8cbb724cd3c3400c3ed8f730545b744e3f4", "shasum": "" }, "require": { @@ -5608,7 +5610,7 @@ "kylekatarnls/multi-tester": "^2.0", "phpmd/phpmd": "^2.9", "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "^0.12.54", + "phpstan/phpstan": "^0.12.54 || ^1.0", "phpunit/phpunit": "^7.5.20 || ^8.5.14", "squizlabs/php_codesniffer": "^3.4" }, @@ -5674,7 +5676,7 @@ "type": "tidelift" } ], - "time": "2021-12-03T14:59:52+00:00" + "time": "2022-01-21T17:08:38+00:00" }, { "name": "nette/schema", @@ -5740,16 +5742,16 @@ }, { "name": "nette/utils", - "version": "v3.2.6", + "version": "v3.2.7", "source": { "type": "git", "url": "https://github.com/nette/utils.git", - "reference": "2f261e55bd6a12057442045bf2c249806abc1d02" + "reference": "0af4e3de4df9f1543534beab255ccf459e7a2c99" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/utils/zipball/2f261e55bd6a12057442045bf2c249806abc1d02", - "reference": "2f261e55bd6a12057442045bf2c249806abc1d02", + "url": "https://api.github.com/repos/nette/utils/zipball/0af4e3de4df9f1543534beab255ccf459e7a2c99", + "reference": "0af4e3de4df9f1543534beab255ccf459e7a2c99", "shasum": "" }, "require": { @@ -5819,9 +5821,9 @@ ], "support": { "issues": "https://github.com/nette/utils/issues", - "source": "https://github.com/nette/utils/tree/v3.2.6" + "source": "https://github.com/nette/utils/tree/v3.2.7" }, - "time": "2021-11-24T15:47:23+00:00" + "time": "2022-01-24T11:29:14+00:00" }, { "name": "nikic/php-parser", @@ -6195,16 +6197,16 @@ }, { "name": "opis/closure", - "version": "3.6.2", + "version": "3.6.3", "source": { "type": "git", "url": "https://github.com/opis/closure.git", - "reference": "06e2ebd25f2869e54a306dda991f7db58066f7f6" + "reference": "3d81e4309d2a927abbe66df935f4bb60082805ad" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/opis/closure/zipball/06e2ebd25f2869e54a306dda991f7db58066f7f6", - "reference": "06e2ebd25f2869e54a306dda991f7db58066f7f6", + "url": "https://api.github.com/repos/opis/closure/zipball/3d81e4309d2a927abbe66df935f4bb60082805ad", + "reference": "3d81e4309d2a927abbe66df935f4bb60082805ad", "shasum": "" }, "require": { @@ -6254,9 +6256,9 @@ ], "support": { "issues": "https://github.com/opis/closure/issues", - "source": "https://github.com/opis/closure/tree/3.6.2" + "source": "https://github.com/opis/closure/tree/3.6.3" }, - "time": "2021-04-09T13:42:10+00:00" + "time": "2022-01-27T09:35:39+00:00" }, { "name": "paragonie/constant_time_encoding", @@ -8601,16 +8603,16 @@ }, { "name": "stripe/stripe-php", - "version": "v7.111.0", + "version": "v7.112.0", "source": { "type": "git", "url": "https://github.com/stripe/stripe-php.git", - "reference": "374647b1079203ed7278ad4b58afc0fae3faaab9" + "reference": "f5213ccb88795663f73841bc65f467a0e1e61180" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/stripe/stripe-php/zipball/374647b1079203ed7278ad4b58afc0fae3faaab9", - "reference": "374647b1079203ed7278ad4b58afc0fae3faaab9", + "url": "https://api.github.com/repos/stripe/stripe-php/zipball/f5213ccb88795663f73841bc65f467a0e1e61180", + "reference": "f5213ccb88795663f73841bc65f467a0e1e61180", "shasum": "" }, "require": { @@ -8655,9 +8657,9 @@ ], "support": { "issues": "https://github.com/stripe/stripe-php/issues", - "source": "https://github.com/stripe/stripe-php/tree/v7.111.0" + "source": "https://github.com/stripe/stripe-php/tree/v7.112.0" }, - "time": "2022-01-20T17:30:55+00:00" + "time": "2022-01-25T19:42:36+00:00" }, { "name": "swiftmailer/swiftmailer", @@ -8737,16 +8739,16 @@ }, { "name": "symfony/console", - "version": "v5.4.2", + "version": "v5.4.3", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "a2c6b7ced2eb7799a35375fb9022519282b5405e" + "reference": "a2a86ec353d825c75856c6fd14fac416a7bdb6b8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/a2c6b7ced2eb7799a35375fb9022519282b5405e", - "reference": "a2c6b7ced2eb7799a35375fb9022519282b5405e", + "url": "https://api.github.com/repos/symfony/console/zipball/a2a86ec353d825c75856c6fd14fac416a7bdb6b8", + "reference": "a2a86ec353d825c75856c6fd14fac416a7bdb6b8", "shasum": "" }, "require": { @@ -8816,7 +8818,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v5.4.2" + "source": "https://github.com/symfony/console/tree/v5.4.3" }, "funding": [ { @@ -8832,20 +8834,20 @@ "type": "tidelift" } ], - "time": "2021-12-20T16:11:12+00:00" + "time": "2022-01-26T16:28:35+00:00" }, { "name": "symfony/css-selector", - "version": "v5.4.2", + "version": "v5.4.3", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "cfcbee910e159df402603502fe387e8b677c22fd" + "reference": "b0a190285cd95cb019237851205b8140ef6e368e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/cfcbee910e159df402603502fe387e8b677c22fd", - "reference": "cfcbee910e159df402603502fe387e8b677c22fd", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/b0a190285cd95cb019237851205b8140ef6e368e", + "reference": "b0a190285cd95cb019237851205b8140ef6e368e", "shasum": "" }, "require": { @@ -8882,7 +8884,7 @@ "description": "Converts CSS selectors to XPath expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/css-selector/tree/v5.4.2" + "source": "https://github.com/symfony/css-selector/tree/v5.4.3" }, "funding": [ { @@ -8898,7 +8900,7 @@ "type": "tidelift" } ], - "time": "2021-12-16T21:58:21+00:00" + "time": "2022-01-02T09:53:40+00:00" }, { "name": "symfony/deprecation-contracts", @@ -8969,16 +8971,16 @@ }, { "name": "symfony/error-handler", - "version": "v5.4.2", + "version": "v5.4.3", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "e0c0dd0f9d4120a20158fc9aec2367d07d38bc56" + "reference": "c4ffc2cd919950d13c8c9ce32a70c70214c3ffc5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/e0c0dd0f9d4120a20158fc9aec2367d07d38bc56", - "reference": "e0c0dd0f9d4120a20158fc9aec2367d07d38bc56", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/c4ffc2cd919950d13c8c9ce32a70c70214c3ffc5", + "reference": "c4ffc2cd919950d13c8c9ce32a70c70214c3ffc5", "shasum": "" }, "require": { @@ -9020,7 +9022,7 @@ "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/error-handler/tree/v5.4.2" + "source": "https://github.com/symfony/error-handler/tree/v5.4.3" }, "funding": [ { @@ -9036,20 +9038,20 @@ "type": "tidelift" } ], - "time": "2021-12-19T20:02:00+00:00" + "time": "2022-01-02T09:53:40+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v5.4.0", + "version": "v5.4.3", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "27d39ae126352b9fa3be5e196ccf4617897be3eb" + "reference": "dec8a9f58d20df252b9cd89f1c6c1530f747685d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/27d39ae126352b9fa3be5e196ccf4617897be3eb", - "reference": "27d39ae126352b9fa3be5e196ccf4617897be3eb", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/dec8a9f58d20df252b9cd89f1c6c1530f747685d", + "reference": "dec8a9f58d20df252b9cd89f1c6c1530f747685d", "shasum": "" }, "require": { @@ -9105,7 +9107,7 @@ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v5.4.0" + "source": "https://github.com/symfony/event-dispatcher/tree/v5.4.3" }, "funding": [ { @@ -9121,7 +9123,7 @@ "type": "tidelift" } ], - "time": "2021-11-23T10:19:22+00:00" + "time": "2022-01-02T09:53:40+00:00" }, { "name": "symfony/event-dispatcher-contracts", @@ -9204,16 +9206,16 @@ }, { "name": "symfony/filesystem", - "version": "v5.4.0", + "version": "v5.4.3", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "731f917dc31edcffec2c6a777f3698c33bea8f01" + "reference": "0f0c4bf1840420f4aef3f32044a9dbb24682731b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/731f917dc31edcffec2c6a777f3698c33bea8f01", - "reference": "731f917dc31edcffec2c6a777f3698c33bea8f01", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/0f0c4bf1840420f4aef3f32044a9dbb24682731b", + "reference": "0f0c4bf1840420f4aef3f32044a9dbb24682731b", "shasum": "" }, "require": { @@ -9248,7 +9250,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v5.4.0" + "source": "https://github.com/symfony/filesystem/tree/v5.4.3" }, "funding": [ { @@ -9264,20 +9266,20 @@ "type": "tidelift" } ], - "time": "2021-10-28T13:39:27+00:00" + "time": "2022-01-02T09:53:40+00:00" }, { "name": "symfony/finder", - "version": "v5.4.2", + "version": "v5.4.3", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "e77046c252be48c48a40816187ed527703c8f76c" + "reference": "231313534dded84c7ecaa79d14bc5da4ccb69b7d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/e77046c252be48c48a40816187ed527703c8f76c", - "reference": "e77046c252be48c48a40816187ed527703c8f76c", + "url": "https://api.github.com/repos/symfony/finder/zipball/231313534dded84c7ecaa79d14bc5da4ccb69b7d", + "reference": "231313534dded84c7ecaa79d14bc5da4ccb69b7d", "shasum": "" }, "require": { @@ -9311,7 +9313,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v5.4.2" + "source": "https://github.com/symfony/finder/tree/v5.4.3" }, "funding": [ { @@ -9327,20 +9329,20 @@ "type": "tidelift" } ], - "time": "2021-12-15T11:06:13+00:00" + "time": "2022-01-26T16:34:36+00:00" }, { "name": "symfony/http-client", - "version": "v5.4.2", + "version": "v5.4.3", "source": { "type": "git", "url": "https://github.com/symfony/http-client.git", - "reference": "5e344f1402584a56631c81a24ec9403e3159c790" + "reference": "a5a467b62dc91eb253db51a91a2c1977f611f60c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client/zipball/5e344f1402584a56631c81a24ec9403e3159c790", - "reference": "5e344f1402584a56631c81a24ec9403e3159c790", + "url": "https://api.github.com/repos/symfony/http-client/zipball/a5a467b62dc91eb253db51a91a2c1977f611f60c", + "reference": "a5a467b62dc91eb253db51a91a2c1977f611f60c", "shasum": "" }, "require": { @@ -9398,7 +9400,7 @@ "description": "Provides powerful methods to fetch HTTP resources synchronously or asynchronously", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-client/tree/v5.4.2" + "source": "https://github.com/symfony/http-client/tree/v5.4.3" }, "funding": [ { @@ -9414,7 +9416,7 @@ "type": "tidelift" } ], - "time": "2021-12-29T10:10:35+00:00" + "time": "2022-01-22T06:53:01+00:00" }, { "name": "symfony/http-client-contracts", @@ -9496,16 +9498,16 @@ }, { "name": "symfony/http-foundation", - "version": "v5.4.2", + "version": "v5.4.3", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "ce952af52877eaf3eab5d0c08cc0ea865ed37313" + "reference": "ef409ff341a565a3663157d4324536746d49a0c7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/ce952af52877eaf3eab5d0c08cc0ea865ed37313", - "reference": "ce952af52877eaf3eab5d0c08cc0ea865ed37313", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/ef409ff341a565a3663157d4324536746d49a0c7", + "reference": "ef409ff341a565a3663157d4324536746d49a0c7", "shasum": "" }, "require": { @@ -9549,7 +9551,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v5.4.2" + "source": "https://github.com/symfony/http-foundation/tree/v5.4.3" }, "funding": [ { @@ -9565,20 +9567,20 @@ "type": "tidelift" } ], - "time": "2021-12-28T17:15:56+00:00" + "time": "2022-01-02T09:53:40+00:00" }, { "name": "symfony/http-kernel", - "version": "v5.4.2", + "version": "v5.4.4", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "35b7e9868953e0d1df84320bb063543369e43ef5" + "reference": "49f40347228c773688a0488feea0175aa7f4d268" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/35b7e9868953e0d1df84320bb063543369e43ef5", - "reference": "35b7e9868953e0d1df84320bb063543369e43ef5", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/49f40347228c773688a0488feea0175aa7f4d268", + "reference": "49f40347228c773688a0488feea0175aa7f4d268", "shasum": "" }, "require": { @@ -9661,7 +9663,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v5.4.2" + "source": "https://github.com/symfony/http-kernel/tree/v5.4.4" }, "funding": [ { @@ -9677,20 +9679,20 @@ "type": "tidelift" } ], - "time": "2021-12-29T13:20:26+00:00" + "time": "2022-01-29T18:08:07+00:00" }, { "name": "symfony/mime", - "version": "v5.4.2", + "version": "v5.4.3", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "1bfd938cf9562822c05c4d00e8f92134d3c8e42d" + "reference": "e1503cfb5c9a225350f549d3bb99296f4abfb80f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/1bfd938cf9562822c05c4d00e8f92134d3c8e42d", - "reference": "1bfd938cf9562822c05c4d00e8f92134d3c8e42d", + "url": "https://api.github.com/repos/symfony/mime/zipball/e1503cfb5c9a225350f549d3bb99296f4abfb80f", + "reference": "e1503cfb5c9a225350f549d3bb99296f4abfb80f", "shasum": "" }, "require": { @@ -9744,7 +9746,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v5.4.2" + "source": "https://github.com/symfony/mime/tree/v5.4.3" }, "funding": [ { @@ -9760,20 +9762,20 @@ "type": "tidelift" } ], - "time": "2021-12-28T17:15:56+00:00" + "time": "2022-01-02T09:53:40+00:00" }, { "name": "symfony/options-resolver", - "version": "v5.4.0", + "version": "v5.4.3", "source": { "type": "git", "url": "https://github.com/symfony/options-resolver.git", - "reference": "b0fb78576487af19c500aaddb269fd36701d4847" + "reference": "cc1147cb11af1b43f503ac18f31aa3bec213aba8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/b0fb78576487af19c500aaddb269fd36701d4847", - "reference": "b0fb78576487af19c500aaddb269fd36701d4847", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/cc1147cb11af1b43f503ac18f31aa3bec213aba8", + "reference": "cc1147cb11af1b43f503ac18f31aa3bec213aba8", "shasum": "" }, "require": { @@ -9813,7 +9815,7 @@ "options" ], "support": { - "source": "https://github.com/symfony/options-resolver/tree/v5.4.0" + "source": "https://github.com/symfony/options-resolver/tree/v5.4.3" }, "funding": [ { @@ -9829,7 +9831,7 @@ "type": "tidelift" } ], - "time": "2021-11-23T10:19:22+00:00" + "time": "2022-01-02T09:53:40+00:00" }, { "name": "symfony/polyfill-ctype", @@ -10732,16 +10734,16 @@ }, { "name": "symfony/process", - "version": "v5.4.2", + "version": "v5.4.3", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "2b3ba8722c4aaf3e88011be5e7f48710088fb5e4" + "reference": "553f50487389a977eb31cf6b37faae56da00f753" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/2b3ba8722c4aaf3e88011be5e7f48710088fb5e4", - "reference": "2b3ba8722c4aaf3e88011be5e7f48710088fb5e4", + "url": "https://api.github.com/repos/symfony/process/zipball/553f50487389a977eb31cf6b37faae56da00f753", + "reference": "553f50487389a977eb31cf6b37faae56da00f753", "shasum": "" }, "require": { @@ -10774,7 +10776,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v5.4.2" + "source": "https://github.com/symfony/process/tree/v5.4.3" }, "funding": [ { @@ -10790,7 +10792,7 @@ "type": "tidelift" } ], - "time": "2021-12-27T21:01:00+00:00" + "time": "2022-01-26T16:28:35+00:00" }, { "name": "symfony/psr-http-message-bridge", @@ -10882,16 +10884,16 @@ }, { "name": "symfony/routing", - "version": "v5.4.0", + "version": "v5.4.3", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "9eeae93c32ca86746e5d38f3679e9569981038b1" + "reference": "44b29c7a94e867ccde1da604792f11a469958981" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/9eeae93c32ca86746e5d38f3679e9569981038b1", - "reference": "9eeae93c32ca86746e5d38f3679e9569981038b1", + "url": "https://api.github.com/repos/symfony/routing/zipball/44b29c7a94e867ccde1da604792f11a469958981", + "reference": "44b29c7a94e867ccde1da604792f11a469958981", "shasum": "" }, "require": { @@ -10952,7 +10954,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v5.4.0" + "source": "https://github.com/symfony/routing/tree/v5.4.3" }, "funding": [ { @@ -10968,7 +10970,7 @@ "type": "tidelift" } ], - "time": "2021-11-23T10:19:22+00:00" + "time": "2022-01-02T09:53:40+00:00" }, { "name": "symfony/service-contracts", @@ -11055,16 +11057,16 @@ }, { "name": "symfony/string", - "version": "v5.4.2", + "version": "v5.4.3", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "e6a5d5ecf6589c5247d18e0e74e30b11dfd51a3d" + "reference": "92043b7d8383e48104e411bc9434b260dbeb5a10" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/e6a5d5ecf6589c5247d18e0e74e30b11dfd51a3d", - "reference": "e6a5d5ecf6589c5247d18e0e74e30b11dfd51a3d", + "url": "https://api.github.com/repos/symfony/string/zipball/92043b7d8383e48104e411bc9434b260dbeb5a10", + "reference": "92043b7d8383e48104e411bc9434b260dbeb5a10", "shasum": "" }, "require": { @@ -11121,7 +11123,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v5.4.2" + "source": "https://github.com/symfony/string/tree/v5.4.3" }, "funding": [ { @@ -11137,20 +11139,20 @@ "type": "tidelift" } ], - "time": "2021-12-16T21:52:00+00:00" + "time": "2022-01-02T09:53:40+00:00" }, { "name": "symfony/translation", - "version": "v5.4.2", + "version": "v5.4.3", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "ff8bb2107b6a549dc3c5dd9c498dcc82c9c098ca" + "reference": "a9dd7403232c61e87e27fb306bbcd1627f245d70" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/ff8bb2107b6a549dc3c5dd9c498dcc82c9c098ca", - "reference": "ff8bb2107b6a549dc3c5dd9c498dcc82c9c098ca", + "url": "https://api.github.com/repos/symfony/translation/zipball/a9dd7403232c61e87e27fb306bbcd1627f245d70", + "reference": "a9dd7403232c61e87e27fb306bbcd1627f245d70", "shasum": "" }, "require": { @@ -11218,7 +11220,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v5.4.2" + "source": "https://github.com/symfony/translation/tree/v5.4.3" }, "funding": [ { @@ -11234,7 +11236,7 @@ "type": "tidelift" } ], - "time": "2021-12-25T19:45:36+00:00" + "time": "2022-01-07T00:28:17+00:00" }, { "name": "symfony/translation-contracts", @@ -11316,16 +11318,16 @@ }, { "name": "symfony/var-dumper", - "version": "v5.4.2", + "version": "v5.4.3", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "1b56c32c3679002b3a42384a580e16e2600f41c1" + "reference": "970a01f208bf895c5f327ba40b72288da43adec4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/1b56c32c3679002b3a42384a580e16e2600f41c1", - "reference": "1b56c32c3679002b3a42384a580e16e2600f41c1", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/970a01f208bf895c5f327ba40b72288da43adec4", + "reference": "970a01f208bf895c5f327ba40b72288da43adec4", "shasum": "" }, "require": { @@ -11385,7 +11387,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v5.4.2" + "source": "https://github.com/symfony/var-dumper/tree/v5.4.3" }, "funding": [ { @@ -11401,7 +11403,7 @@ "type": "tidelift" } ], - "time": "2021-12-29T10:10:35+00:00" + "time": "2022-01-17T16:30:37+00:00" }, { "name": "tijsverkoyen/css-to-inline-styles", @@ -11670,16 +11672,16 @@ }, { "name": "voku/portable-ascii", - "version": "1.5.6", + "version": "1.6.1", "source": { "type": "git", "url": "https://github.com/voku/portable-ascii.git", - "reference": "80953678b19901e5165c56752d087fc11526017c" + "reference": "87337c91b9dfacee02452244ee14ab3c43bc485a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/voku/portable-ascii/zipball/80953678b19901e5165c56752d087fc11526017c", - "reference": "80953678b19901e5165c56752d087fc11526017c", + "url": "https://api.github.com/repos/voku/portable-ascii/zipball/87337c91b9dfacee02452244ee14ab3c43bc485a", + "reference": "87337c91b9dfacee02452244ee14ab3c43bc485a", "shasum": "" }, "require": { @@ -11716,7 +11718,7 @@ ], "support": { "issues": "https://github.com/voku/portable-ascii/issues", - "source": "https://github.com/voku/portable-ascii/tree/1.5.6" + "source": "https://github.com/voku/portable-ascii/tree/1.6.1" }, "funding": [ { @@ -11740,7 +11742,7 @@ "type": "tidelift" } ], - "time": "2020-11-12T00:07:28+00:00" + "time": "2022-01-24T18:55:24+00:00" }, { "name": "webmozart/assert", @@ -12090,26 +12092,26 @@ }, { "name": "barryvdh/laravel-debugbar", - "version": "v3.6.5", + "version": "v3.6.6", "source": { "type": "git", "url": "https://github.com/barryvdh/laravel-debugbar.git", - "reference": "ccf109f8755dcc7e58779d1aeb1051b04e0b4bef" + "reference": "f92fe967b40b36ad1ee8ed2fd59c05ae67a1ebba" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/barryvdh/laravel-debugbar/zipball/ccf109f8755dcc7e58779d1aeb1051b04e0b4bef", - "reference": "ccf109f8755dcc7e58779d1aeb1051b04e0b4bef", + "url": "https://api.github.com/repos/barryvdh/laravel-debugbar/zipball/f92fe967b40b36ad1ee8ed2fd59c05ae67a1ebba", + "reference": "f92fe967b40b36ad1ee8ed2fd59c05ae67a1ebba", "shasum": "" }, "require": { - "illuminate/routing": "^6|^7|^8", - "illuminate/session": "^6|^7|^8", - "illuminate/support": "^6|^7|^8", + "illuminate/routing": "^6|^7|^8|^9", + "illuminate/session": "^6|^7|^8|^9", + "illuminate/support": "^6|^7|^8|^9", "maximebf/debugbar": "^1.17.2", "php": ">=7.2", - "symfony/debug": "^4.3|^5", - "symfony/finder": "^4.3|^5" + "symfony/debug": "^4.3|^5|^6", + "symfony/finder": "^4.3|^5|^6" }, "require-dev": { "mockery/mockery": "^1.3.3", @@ -12159,7 +12161,7 @@ ], "support": { "issues": "https://github.com/barryvdh/laravel-debugbar/issues", - "source": "https://github.com/barryvdh/laravel-debugbar/tree/v3.6.5" + "source": "https://github.com/barryvdh/laravel-debugbar/tree/v3.6.6" }, "funding": [ { @@ -12171,7 +12173,7 @@ "type": "github" } ], - "time": "2021-12-14T14:45:18+00:00" + "time": "2021-12-21T18:20:10+00:00" }, { "name": "beyondcode/laravel-query-detector", @@ -14108,16 +14110,16 @@ }, { "name": "phpunit/phpunit", - "version": "9.5.11", + "version": "9.5.13", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "2406855036db1102126125537adb1406f7242fdd" + "reference": "597cb647654ede35e43b137926dfdfef0fb11743" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/2406855036db1102126125537adb1406f7242fdd", - "reference": "2406855036db1102126125537adb1406f7242fdd", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/597cb647654ede35e43b137926dfdfef0fb11743", + "reference": "597cb647654ede35e43b137926dfdfef0fb11743", "shasum": "" }, "require": { @@ -14195,7 +14197,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", - "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.11" + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.13" }, "funding": [ { @@ -14207,7 +14209,7 @@ "type": "github" } ], - "time": "2021-12-25T07:07:57+00:00" + "time": "2022-01-24T07:33:35+00:00" }, { "name": "sebastian/cli-parser", @@ -15236,16 +15238,16 @@ }, { "name": "symfony/debug", - "version": "v4.4.36", + "version": "v4.4.37", "source": { "type": "git", "url": "https://github.com/symfony/debug.git", - "reference": "346e1507eeb3f566dcc7a116fefaa407ee84691b" + "reference": "5de6c6e7f52b364840e53851c126be4d71e60470" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/346e1507eeb3f566dcc7a116fefaa407ee84691b", - "reference": "346e1507eeb3f566dcc7a116fefaa407ee84691b", + "url": "https://api.github.com/repos/symfony/debug/zipball/5de6c6e7f52b364840e53851c126be4d71e60470", + "reference": "5de6c6e7f52b364840e53851c126be4d71e60470", "shasum": "" }, "require": { @@ -15284,7 +15286,7 @@ "description": "Provides tools to ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/debug/tree/v4.4.36" + "source": "https://github.com/symfony/debug/tree/v4.4.37" }, "funding": [ { @@ -15300,7 +15302,7 @@ "type": "tidelift" } ], - "time": "2021-11-29T08:40:48+00:00" + "time": "2022-01-02T09:41:36+00:00" }, { "name": "symfony/polyfill-php70", @@ -15372,16 +15374,16 @@ }, { "name": "symfony/stopwatch", - "version": "v5.4.0", + "version": "v5.4.3", "source": { "type": "git", "url": "https://github.com/symfony/stopwatch.git", - "reference": "208ef96122bfed82a8f3a61458a07113a08bdcfe" + "reference": "395220730edceb6bd745236ccb5c9125c748f779" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/stopwatch/zipball/208ef96122bfed82a8f3a61458a07113a08bdcfe", - "reference": "208ef96122bfed82a8f3a61458a07113a08bdcfe", + "url": "https://api.github.com/repos/symfony/stopwatch/zipball/395220730edceb6bd745236ccb5c9125c748f779", + "reference": "395220730edceb6bd745236ccb5c9125c748f779", "shasum": "" }, "require": { @@ -15414,7 +15416,7 @@ "description": "Provides a way to profile code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/stopwatch/tree/v5.4.0" + "source": "https://github.com/symfony/stopwatch/tree/v5.4.3" }, "funding": [ { @@ -15430,20 +15432,20 @@ "type": "tidelift" } ], - "time": "2021-11-23T10:19:22+00:00" + "time": "2022-01-02T09:53:40+00:00" }, { "name": "symfony/yaml", - "version": "v5.4.2", + "version": "v5.4.3", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "b9eb163846a61bb32dfc147f7859e274fab38b58" + "reference": "e80f87d2c9495966768310fc531b487ce64237a2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/b9eb163846a61bb32dfc147f7859e274fab38b58", - "reference": "b9eb163846a61bb32dfc147f7859e274fab38b58", + "url": "https://api.github.com/repos/symfony/yaml/zipball/e80f87d2c9495966768310fc531b487ce64237a2", + "reference": "e80f87d2c9495966768310fc531b487ce64237a2", "shasum": "" }, "require": { @@ -15489,7 +15491,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v5.4.2" + "source": "https://github.com/symfony/yaml/tree/v5.4.3" }, "funding": [ { @@ -15505,7 +15507,7 @@ "type": "tidelift" } ], - "time": "2021-12-16T21:58:21+00:00" + "time": "2022-01-26T16:32:32+00:00" }, { "name": "theseer/tokenizer", diff --git a/config/ninja.php b/config/ninja.php index 797686f97b..1ae6e825c0 100644 --- a/config/ninja.php +++ b/config/ninja.php @@ -59,13 +59,6 @@ return [ 'default' => env('DB_CONNECTION', 'mysql'), ], - // 'db_options' => [ - // PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT => false, - // PDO::MYSQL_ATTR_SSL_KEY => env("DB_CLIENT_KEY", ''), - // PDO::MYSQL_ATTR_SSL_CERT => env("DB_CLIENT_CERT", ''), - // PDO::MYSQL_ATTR_SSL_CA => env("DB_CA_CERT", ''), - // ], - 'i18n' => [ 'timezone_id' => env('DEFAULT_TIMEZONE', 1), 'country_id' => env('DEFAULT_COUNTRY', 840), // United Stated @@ -187,4 +180,10 @@ return [ 'ninja_default_company_gateway_id' => env('NINJA_COMPANY_GATEWAY_ID', null), 'ninja_hosted_secret' => env('NINJA_HOSTED_SECRET', null), 'internal_queue_enabled' => env('INTERNAL_QUEUE_ENABLED', true), + 'ninja_apple_api_key' => env('APPLE_API_KEY', false), + 'ninja_apple_private_key' => env('APPLE_PRIVATE_KEY', false), + 'ninja_apple_bundle_id' => env('APPLE_BUNDLE_ID', false), + 'ninja_apple_issuer_id' => env('APPLE_ISSUER_ID', false) + ]; + diff --git a/database/migrations/2022_01_27_223617_add_client_count_to_accounts_table.php b/database/migrations/2022_01_27_223617_add_client_count_to_accounts_table.php index 2dc113d5c4..82217e4778 100644 --- a/database/migrations/2022_01_27_223617_add_client_count_to_accounts_table.php +++ b/database/migrations/2022_01_27_223617_add_client_count_to_accounts_table.php @@ -1,5 +1,6 @@ unsignedInteger('hosted_client_count')->nullable(); $table->unsignedInteger('hosted_company_count')->nullable(); + $table->string('inapp_transaction_id', 100)->nullable(); }); + + $country = Country::find(250); + + if($country){ + $country->thousand_separator = " "; + $country->save(); + } } /** diff --git a/database/seeders/CountriesSeeder.php b/database/seeders/CountriesSeeder.php index d99e98da4c..fbb80dac1d 100644 --- a/database/seeders/CountriesSeeder.php +++ b/database/seeders/CountriesSeeder.php @@ -104,6 +104,7 @@ class CountriesSeeder extends Seeder 'FR' => [ // France 'swap_postal_code' => true, 'swap_currency_symbol' => true, + 'thousand_separator' => ' ', ], 'GR' => [ // Greece 'swap_currency_symbol' => true, diff --git a/routes/api.php b/routes/api.php index af8e3393b6..ff853ab9f4 100644 --- a/routes/api.php +++ b/routes/api.php @@ -226,8 +226,9 @@ Route::match(['get', 'post'], 'payment_notification_webhook/{company_key}/{compa Route::post('api/v1/postmark_webhook', 'PostMarkController@webhook')->middleware('throttle:1000,1'); Route::get('token_hash_router', 'OneTimeTokenController@router')->middleware('throttle:100,1'); -Route::get('webcron', 'WebCronController@index')->middleware('throttle:100,1');; -Route::post('api/v1/get_migration_account', 'HostedMigrationController@getAccount')->middleware('guest')->middleware('throttle:100,1');; -Route::post('api/v1/confirm_forwarding', 'HostedMigrationController@confirmForwarding')->middleware('guest')->middleware('throttle:100,1');; - +Route::get('webcron', 'WebCronController@index')->middleware('throttle:100,1'); +Route::post('api/v1/get_migration_account', 'HostedMigrationController@getAccount')->middleware('guest')->middleware('throttle:100,1'); +Route::post('api/v1/confirm_forwarding', 'HostedMigrationController@confirmForwarding')->middleware('guest')->middleware('throttle:100,1'); +Route::post('api/v1/process_webhook', 'InAppPurchase\AppleController@process_webhook')->middleware('throttle:1000,1'); +Route::post('api/v1/confirm_purchase', 'InAppPurchase\AppleController@confirm_purchase')->middleware('throttle:1000,1'); Route::fallback('BaseController@notFound');