diff --git a/app/Console/Commands/CreateSingleAccount.php b/app/Console/Commands/CreateSingleAccount.php
index 5a18fdd66277..d31fe065f21a 100644
--- a/app/Console/Commands/CreateSingleAccount.php
+++ b/app/Console/Commands/CreateSingleAccount.php
@@ -54,6 +54,7 @@ use Database\Factories\BankTransactionRuleFactory;
use Faker\Factory;
use Illuminate\Console\Command;
use Illuminate\Support\Facades\Cache;
+use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Schema;
use Illuminate\Support\Str;
use stdClass;
@@ -203,6 +204,22 @@ class CreateSingleAccount extends Command
'applies_to' => (bool)rand(0,1) ? 'CREDIT' : 'DEBIT',
]);
+ $client = Client::factory()->create([
+ 'user_id' => $user->id,
+ 'company_id' => $company->id,
+ 'name' => 'cypress'
+ ]);
+
+ ClientContact::factory()->create([
+ 'user_id' => $user->id,
+ 'client_id' => $client->id,
+ 'company_id' => $company->id,
+ 'is_primary' => 1,
+ 'email' => 'cypress@example.com',
+ 'password' => Hash::make('password'),
+ ]);
+
+
$this->info('Creating '.$this->count.' clients');
for ($x = 0; $x < $this->count; $x++) {
@@ -356,7 +373,7 @@ class CreateSingleAccount extends Command
'client_id' => $client->id,
'company_id' => $company->id,
'is_primary' => 1,
- 'email' => 'user@example.com'
+ 'email' => 'user@example.com',
]);
ClientContact::factory()->count(rand(1, 2))->create([
diff --git a/composer.json b/composer.json
index 9f9c9e96f72c..ea5afee82514 100644
--- a/composer.json
+++ b/composer.json
@@ -101,6 +101,7 @@
"darkaonline/l5-swagger": "8.1.0",
"fakerphp/faker": "^1.14",
"filp/whoops": "^2.7",
+ "laracasts/cypress": "^3.0",
"laravel/dusk": "^6.15",
"mockery/mockery": "^1.4.4",
"nunomaduro/collision": "^6.1",
diff --git a/composer.lock b/composer.lock
index 55164862fdce..42a80734cadb 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": "451d3dbdd5b0a87940e0f8fffadab4ae",
+ "content-hash": "fee0057b8444e2a245cea87dab6c1b3a",
"packages": [
{
"name": "afosto/yaac",
@@ -13859,6 +13859,65 @@
},
"time": "2020-07-09T08:09:16+00:00"
},
+ {
+ "name": "laracasts/cypress",
+ "version": "3.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/laracasts/cypress.git",
+ "reference": "9a9e5d25a51d2cbb410393e6a0d9883aa3304bf5"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/laracasts/cypress/zipball/9a9e5d25a51d2cbb410393e6a0d9883aa3304bf5",
+ "reference": "9a9e5d25a51d2cbb410393e6a0d9883aa3304bf5",
+ "shasum": ""
+ },
+ "require": {
+ "illuminate/support": "^6.0|^7.0|^8.0|^9.0",
+ "php": "^8.0"
+ },
+ "require-dev": {
+ "orchestra/testbench": "^6.0|^7.0",
+ "phpunit/phpunit": "^8.0|^9.5.10",
+ "spatie/laravel-ray": "^1.29"
+ },
+ "type": "library",
+ "extra": {
+ "laravel": {
+ "providers": [
+ "Laracasts\\Cypress\\CypressServiceProvider"
+ ]
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Laracasts\\Cypress\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Jeffrey Way",
+ "email": "jeffrey@laracasts.com",
+ "role": "Developer"
+ }
+ ],
+ "description": "Laravel Cypress Boilerplate",
+ "homepage": "https://github.com/laracasts/cypress",
+ "keywords": [
+ "cypress",
+ "laracasts"
+ ],
+ "support": {
+ "issues": "https://github.com/laracasts/cypress/issues",
+ "source": "https://github.com/laracasts/cypress/tree/3.0.0"
+ },
+ "time": "2022-06-27T13:49:35+00:00"
+ },
{
"name": "laravel/dusk",
"version": "v6.25.2",
diff --git a/cypress.config.js b/cypress.config.js
new file mode 100644
index 000000000000..38502ba0d042
--- /dev/null
+++ b/cypress.config.js
@@ -0,0 +1,19 @@
+const { defineConfig } = require('cypress')
+
+module.exports = defineConfig({
+ chromeWebSecurity: false,
+ retries: 2,
+ defaultCommandTimeout: 5000,
+ watchForFileChanges: false,
+ videosFolder: 'tests/cypress/videos',
+ screenshotsFolder: 'tests/cypress/screenshots',
+ fixturesFolder: 'tests/cypress/fixture',
+ e2e: {
+ setupNodeEvents(on, config) {
+ return require('./tests/cypress/plugins/index.js')(on, config)
+ },
+ baseUrl: 'http://ninja.test:8000/',
+ specPattern: 'tests/cypress/integration/**/*.cy.{js,jsx,ts,tsx}',
+ supportFile: 'tests/cypress/support/index.js',
+ },
+})
diff --git a/database/seeders/RandomDataSeeder.php b/database/seeders/RandomDataSeeder.php
index 0571c5d39c4a..0659acb5eee6 100644
--- a/database/seeders/RandomDataSeeder.php
+++ b/database/seeders/RandomDataSeeder.php
@@ -118,67 +118,23 @@ class RandomDataSeeder extends Seeder
'settings' => null,
]);
- $u2 = User::where('email', 'demo@invoiceninja.com')->first();
-
- if (! $u2) {
- $u2 = User::factory()->create([
- 'email' => 'demo@invoiceninja.com',
- 'password' => Hash::make('demo'),
- 'account_id' => $account->id,
- 'confirmation_code' => $this->createDbHash(config('database.default')),
- ]);
-
- $company_token = CompanyToken::create([
- 'user_id' => $u2->id,
- 'company_id' => $company->id,
- 'account_id' => $account->id,
- 'name' => 'test token',
- 'token' => 'TOKEN',
- ]);
-
- $u2->companies()->attach($company->id, [
- 'account_id' => $account->id,
- 'is_owner' => 1,
- 'is_admin' => 1,
- 'is_locked' => 0,
- 'notifications' => CompanySettings::notificationDefaults(),
- 'permissions' => '',
- 'settings' => null,
- ]);
- }
-
$client = Client::factory()->create([
- 'user_id' => $user->id,
- 'company_id' => $company->id,
- ]);
-
- ClientContact::create([
- 'first_name' => $faker->firstName(),
- 'last_name' => $faker->lastName(),
- 'email' => config('ninja.testvars.username'),
- 'company_id' => $company->id,
- 'password' => Hash::make(config('ninja.testvars.password')),
- 'email_verified_at' => now(),
- 'client_id' =>$client->id,
- 'user_id' => $user->id,
- 'is_primary' => true,
- 'contact_key' => \Illuminate\Support\Str::random(40),
- ]);
-
- Client::factory()->create(['user_id' => $user->id, 'company_id' => $company->id])->each(function ($c) use ($user, $company) {
- ClientContact::factory()->create([
'user_id' => $user->id,
- 'client_id' => $c->id,
'company_id' => $company->id,
- 'is_primary' => 1,
+ 'name' => 'cypress'
]);
- ClientContact::factory()->count(5)->create([
- 'user_id' => $user->id,
- 'client_id' => $c->id,
- 'company_id' => $company->id,
- ]);
- });
+ $client->number = $client->getNextClientNumber($client);
+ $client->save();
+
+ ClientContact::factory()->create([
+ 'user_id' => $user->id,
+ 'client_id' => $client->id,
+ 'company_id' => $company->id,
+ 'is_primary' => 1,
+ 'email' => 'cypress@example.com',
+ 'password' => Hash::make('password'),
+ ]);
/* Product Factory */
Product::factory()->count(2)->create(['user_id' => $user->id, 'company_id' => $company->id]);
@@ -200,8 +156,6 @@ class RandomDataSeeder extends Seeder
$invoice = $invoice_calc->build()->getInvoice();
- $invoice->save();
-
$invoice->service()->createInvitations()->markSent()->save();
$invoice->ledger()->updateInvoiceBalance($invoice->balance);
@@ -220,16 +174,16 @@ class RandomDataSeeder extends Seeder
$payment->invoices()->save($invoice);
- $payment_hash = new PaymentHash;
- $payment_hash->hash = Str::random(128);
- $payment_hash->data = [['invoice_id' => $invoice->hashed_id, 'amount' => $invoice->balance]];
- $payment_hash->fee_total = 0;
- $payment_hash->fee_invoice_id = $invoice->id;
- $payment_hash->save();
+ // $payment_hash = new PaymentHash;
+ // $payment_hash->hash = Str::random(128);
+ // $payment_hash->data = [['invoice_id' => $invoice->hashed_id, 'amount' => $invoice->balance]];
+ // $payment_hash->fee_total = 0;
+ // $payment_hash->fee_invoice_id = $invoice->id;
+ // $payment_hash->save();
event(new PaymentWasCreated($payment, $payment->company, Ninja::eventVars()));
- $payment->service()->updateInvoicePayment($payment_hash);
+ // $payment->service()->updateInvoicePayment($payment_hash);
// UpdateInvoicePayment::dispatchNow($payment, $payment->company);
}
@@ -256,7 +210,6 @@ class RandomDataSeeder extends Seeder
$credit->service()->createInvitations()->markSent()->save();
- //$invoice->markSent()->save();
});
/* Recurring Invoice Factory */
@@ -286,14 +239,6 @@ class RandomDataSeeder extends Seeder
//$invoice->markSent()->save();
});
- $clients = Client::all();
-
- foreach ($clients as $client) {
- //$client->getNextClientNumber($client);
- $client->number = $client->getNextClientNumber($client);
- $client->save();
- }
-
GroupSetting::create([
'company_id' => $company->id,
'user_id' => $user->id,
diff --git a/package-lock.json b/package-lock.json
index 1497d94f6026..d405d23ff917 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -28,6 +28,7 @@
"@babel/compat-data": "7.15.0",
"@babel/plugin-proposal-class-properties": "^7.14.5",
"@tailwindcss/aspect-ratio": "^0.4.2",
+ "cypress": "^12.3.0",
"laravel-mix-purgecss": "^6.0.0",
"vue-template-compiler": "^2.6.14"
}
@@ -1567,6 +1568,54 @@
"node": ">=0.1.90"
}
},
+ "node_modules/@cypress/request": {
+ "version": "2.88.11",
+ "resolved": "https://registry.npmjs.org/@cypress/request/-/request-2.88.11.tgz",
+ "integrity": "sha512-M83/wfQ1EkspjkE2lNWNV5ui2Cv7UCv1swW1DqljahbzLVWltcsexQh8jYtuS/vzFXP+HySntGM83ZXA9fn17w==",
+ "dev": true,
+ "dependencies": {
+ "aws-sign2": "~0.7.0",
+ "aws4": "^1.8.0",
+ "caseless": "~0.12.0",
+ "combined-stream": "~1.0.6",
+ "extend": "~3.0.2",
+ "forever-agent": "~0.6.1",
+ "form-data": "~2.3.2",
+ "http-signature": "~1.3.6",
+ "is-typedarray": "~1.0.0",
+ "isstream": "~0.1.2",
+ "json-stringify-safe": "~5.0.1",
+ "mime-types": "~2.1.19",
+ "performance-now": "^2.1.0",
+ "qs": "~6.10.3",
+ "safe-buffer": "^5.1.2",
+ "tough-cookie": "~2.5.0",
+ "tunnel-agent": "^0.6.0",
+ "uuid": "^8.3.2"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/@cypress/xvfb": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz",
+ "integrity": "sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==",
+ "dev": true,
+ "dependencies": {
+ "debug": "^3.1.0",
+ "lodash.once": "^4.1.1"
+ }
+ },
+ "node_modules/@cypress/xvfb/node_modules/debug": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+ "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+ "dev": true,
+ "dependencies": {
+ "ms": "^2.1.1"
+ }
+ },
"node_modules/@discoveryjs/json-ext": {
"version": "0.5.7",
"resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz",
@@ -1960,6 +2009,18 @@
"@types/node": "*"
}
},
+ "node_modules/@types/sinonjs__fake-timers": {
+ "version": "8.1.1",
+ "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz",
+ "integrity": "sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==",
+ "dev": true
+ },
+ "node_modules/@types/sizzle": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.3.tgz",
+ "integrity": "sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ==",
+ "dev": true
+ },
"node_modules/@types/sockjs": {
"version": "0.3.33",
"resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz",
@@ -1981,6 +2042,16 @@
"@types/node": "*"
}
},
+ "node_modules/@types/yauzl": {
+ "version": "2.10.0",
+ "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz",
+ "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
"node_modules/@webassemblyjs/ast": {
"version": "1.11.1",
"resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz",
@@ -2208,6 +2279,19 @@
"node": ">=8.9"
}
},
+ "node_modules/aggregate-error": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
+ "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==",
+ "dev": true,
+ "dependencies": {
+ "clean-stack": "^2.0.0",
+ "indent-string": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/ajv": {
"version": "6.12.6",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
@@ -2267,6 +2351,42 @@
"ajv": "^6.9.1"
}
},
+ "node_modules/ansi-colors": {
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz",
+ "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/ansi-escapes": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
+ "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==",
+ "dev": true,
+ "dependencies": {
+ "type-fest": "^0.21.3"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/ansi-escapes/node_modules/type-fest": {
+ "version": "0.21.3",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz",
+ "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/ansi-html-community": {
"version": "0.0.8",
"resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz",
@@ -2309,6 +2429,26 @@
"node": ">= 8"
}
},
+ "node_modules/arch": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz",
+ "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
"node_modules/arg": {
"version": "5.0.2",
"resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz",
@@ -2327,6 +2467,15 @@
"node": ">=8"
}
},
+ "node_modules/asn1": {
+ "version": "0.2.6",
+ "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz",
+ "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==",
+ "dev": true,
+ "dependencies": {
+ "safer-buffer": "~2.1.0"
+ }
+ },
"node_modules/asn1.js": {
"version": "5.4.1",
"resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz",
@@ -2352,6 +2501,15 @@
"util": "0.10.3"
}
},
+ "node_modules/assert-plus": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.8"
+ }
+ },
"node_modules/assert/node_modules/inherits": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
@@ -2365,6 +2523,36 @@
"inherits": "2.0.1"
}
},
+ "node_modules/astral-regex": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
+ "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/async": {
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz",
+ "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==",
+ "dev": true
+ },
+ "node_modules/asynckit": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
+ "dev": true
+ },
+ "node_modules/at-least-node": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
+ "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 4.0.0"
+ }
+ },
"node_modules/autoprefixer": {
"version": "10.4.7",
"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.7.tgz",
@@ -2397,6 +2585,21 @@
"postcss": "^8.1.0"
}
},
+ "node_modules/aws-sign2": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
+ "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==",
+ "dev": true,
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/aws4": {
+ "version": "1.12.0",
+ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz",
+ "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==",
+ "dev": true
+ },
"node_modules/axios": {
"version": "0.25.0",
"resolved": "https://registry.npmjs.org/axios/-/axios-0.25.0.tgz",
@@ -2496,6 +2699,15 @@
"resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz",
"integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw=="
},
+ "node_modules/bcrypt-pbkdf": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
+ "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==",
+ "dev": true,
+ "dependencies": {
+ "tweetnacl": "^0.14.3"
+ }
+ },
"node_modules/big.js": {
"version": "5.2.2",
"resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
@@ -2512,6 +2724,18 @@
"node": ">=8"
}
},
+ "node_modules/blob-util": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz",
+ "integrity": "sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==",
+ "dev": true
+ },
+ "node_modules/bluebird": {
+ "version": "3.7.2",
+ "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
+ "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==",
+ "dev": true
+ },
"node_modules/bn.js": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz",
@@ -2731,6 +2955,15 @@
"isarray": "^1.0.0"
}
},
+ "node_modules/buffer-crc32": {
+ "version": "0.2.13",
+ "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
+ "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==",
+ "dev": true,
+ "engines": {
+ "node": "*"
+ }
+ },
"node_modules/buffer-from": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
@@ -2754,6 +2987,15 @@
"node": ">= 0.8"
}
},
+ "node_modules/cachedir": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.3.0.tgz",
+ "integrity": "sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/call-bind": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
@@ -2830,6 +3072,12 @@
"credit-card-type": "^9.1.0"
}
},
+ "node_modules/caseless": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
+ "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==",
+ "dev": true
+ },
"node_modules/chalk": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
@@ -2851,6 +3099,15 @@
"node": "*"
}
},
+ "node_modules/check-more-types": {
+ "version": "2.24.0",
+ "resolved": "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz",
+ "integrity": "sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
"node_modules/chokidar": {
"version": "3.5.3",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
@@ -2885,6 +3142,21 @@
"node": ">=6.0"
}
},
+ "node_modules/ci-info": {
+ "version": "3.7.1",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.7.1.tgz",
+ "integrity": "sha512-4jYS4MOAaCIStSRwiuxc4B8MYhIe676yO1sYGzARnjXkWpmzZMMYxY6zu8WYWDhSuth5zhrQ1rhNSibyyvv4/w==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/sibiraj-s"
+ }
+ ],
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/cipher-base": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
@@ -2905,6 +3177,27 @@
"node": ">= 10.0"
}
},
+ "node_modules/clean-stack": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
+ "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/cli-cursor": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
+ "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
+ "dev": true,
+ "dependencies": {
+ "restore-cursor": "^3.1.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/cli-table3": {
"version": "0.6.2",
"resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.2.tgz",
@@ -2919,6 +3212,22 @@
"@colors/colors": "1.5.0"
}
},
+ "node_modules/cli-truncate": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz",
+ "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==",
+ "dev": true,
+ "dependencies": {
+ "slice-ansi": "^3.0.0",
+ "string-width": "^4.2.0"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/clipboard": {
"version": "2.0.11",
"resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.11.tgz",
@@ -3017,6 +3326,18 @@
"resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.17.tgz",
"integrity": "sha512-hJo+3Bkn0NCHybn9Tu35fIeoOKGOk5OCC32y4Hz2It+qlCO2Q3DeQ1hRn/tDDMQKRYUEzqsl7jbF6dYKjlE60g=="
},
+ "node_modules/combined-stream": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
+ "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
+ "dev": true,
+ "dependencies": {
+ "delayed-stream": "~1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
"node_modules/commander": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
@@ -3025,6 +3346,15 @@
"node": ">= 10"
}
},
+ "node_modules/common-tags": {
+ "version": "1.8.2",
+ "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz",
+ "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==",
+ "dev": true,
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
"node_modules/commondir": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
@@ -3575,6 +3905,282 @@
"node": ">=8.0.0"
}
},
+ "node_modules/cypress": {
+ "version": "12.3.0",
+ "resolved": "https://registry.npmjs.org/cypress/-/cypress-12.3.0.tgz",
+ "integrity": "sha512-ZQNebibi6NBt51TRxRMYKeFvIiQZ01t50HSy7z/JMgRVqBUey3cdjog5MYEbzG6Ktti5ckDt1tfcC47lmFwXkw==",
+ "dev": true,
+ "hasInstallScript": true,
+ "dependencies": {
+ "@cypress/request": "^2.88.10",
+ "@cypress/xvfb": "^1.2.4",
+ "@types/node": "^14.14.31",
+ "@types/sinonjs__fake-timers": "8.1.1",
+ "@types/sizzle": "^2.3.2",
+ "arch": "^2.2.0",
+ "blob-util": "^2.0.2",
+ "bluebird": "^3.7.2",
+ "buffer": "^5.6.0",
+ "cachedir": "^2.3.0",
+ "chalk": "^4.1.0",
+ "check-more-types": "^2.24.0",
+ "cli-cursor": "^3.1.0",
+ "cli-table3": "~0.6.1",
+ "commander": "^5.1.0",
+ "common-tags": "^1.8.0",
+ "dayjs": "^1.10.4",
+ "debug": "^4.3.2",
+ "enquirer": "^2.3.6",
+ "eventemitter2": "6.4.7",
+ "execa": "4.1.0",
+ "executable": "^4.1.1",
+ "extract-zip": "2.0.1",
+ "figures": "^3.2.0",
+ "fs-extra": "^9.1.0",
+ "getos": "^3.2.1",
+ "is-ci": "^3.0.0",
+ "is-installed-globally": "~0.4.0",
+ "lazy-ass": "^1.6.0",
+ "listr2": "^3.8.3",
+ "lodash": "^4.17.21",
+ "log-symbols": "^4.0.0",
+ "minimist": "^1.2.6",
+ "ospath": "^1.2.2",
+ "pretty-bytes": "^5.6.0",
+ "proxy-from-env": "1.0.0",
+ "request-progress": "^3.0.0",
+ "semver": "^7.3.2",
+ "supports-color": "^8.1.1",
+ "tmp": "~0.2.1",
+ "untildify": "^4.0.0",
+ "yauzl": "^2.10.0"
+ },
+ "bin": {
+ "cypress": "bin/cypress"
+ },
+ "engines": {
+ "node": "^14.0.0 || ^16.0.0 || >=18.0.0"
+ }
+ },
+ "node_modules/cypress/node_modules/@types/node": {
+ "version": "14.18.36",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.36.tgz",
+ "integrity": "sha512-FXKWbsJ6a1hIrRxv+FoukuHnGTgEzKYGi7kilfMae96AL9UNkPFNWJEEYWzdRI9ooIkbr4AKldyuSTLql06vLQ==",
+ "dev": true
+ },
+ "node_modules/cypress/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/cypress/node_modules/buffer": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
+ "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "dependencies": {
+ "base64-js": "^1.3.1",
+ "ieee754": "^1.1.13"
+ }
+ },
+ "node_modules/cypress/node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/cypress/node_modules/chalk/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/cypress/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/cypress/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "node_modules/cypress/node_modules/commander": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz",
+ "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/cypress/node_modules/execa": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz",
+ "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==",
+ "dev": true,
+ "dependencies": {
+ "cross-spawn": "^7.0.0",
+ "get-stream": "^5.0.0",
+ "human-signals": "^1.1.1",
+ "is-stream": "^2.0.0",
+ "merge-stream": "^2.0.0",
+ "npm-run-path": "^4.0.0",
+ "onetime": "^5.1.0",
+ "signal-exit": "^3.0.2",
+ "strip-final-newline": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/execa?sponsor=1"
+ }
+ },
+ "node_modules/cypress/node_modules/fs-extra": {
+ "version": "9.1.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
+ "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
+ "dev": true,
+ "dependencies": {
+ "at-least-node": "^1.0.0",
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/cypress/node_modules/get-stream": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
+ "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
+ "dev": true,
+ "dependencies": {
+ "pump": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/cypress/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/cypress/node_modules/human-signals": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz",
+ "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==",
+ "dev": true,
+ "engines": {
+ "node": ">=8.12.0"
+ }
+ },
+ "node_modules/cypress/node_modules/semver": {
+ "version": "7.3.8",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
+ "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
+ "dev": true,
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/cypress/node_modules/supports-color": {
+ "version": "8.1.1",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
+ "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/supports-color?sponsor=1"
+ }
+ },
+ "node_modules/dashdash": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
+ "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==",
+ "dev": true,
+ "dependencies": {
+ "assert-plus": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/dayjs": {
+ "version": "1.11.7",
+ "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.7.tgz",
+ "integrity": "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==",
+ "dev": true
+ },
"node_modules/de-indent": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz",
@@ -3636,6 +4242,15 @@
"resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
"integrity": "sha512-Y2caI5+ZwS5c3RiNDJ6u53VhQHv+hHKwhkI1iHvceKUHw9Df6EK2zRLfjejRgMuCuxK7PfSWIMwWecceVvThjQ=="
},
+ "node_modules/delayed-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
"node_modules/delegate": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz",
@@ -3850,6 +4465,16 @@
"resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz",
"integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA=="
},
+ "node_modules/ecc-jsbn": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
+ "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==",
+ "dev": true,
+ "dependencies": {
+ "jsbn": "~0.1.0",
+ "safer-buffer": "^2.1.0"
+ }
+ },
"node_modules/ee-first": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
@@ -3900,6 +4525,15 @@
"node": ">= 0.8"
}
},
+ "node_modules/end-of-stream": {
+ "version": "1.4.4",
+ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
+ "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
+ "dev": true,
+ "dependencies": {
+ "once": "^1.4.0"
+ }
+ },
"node_modules/enhanced-resolve": {
"version": "5.9.3",
"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.9.3.tgz",
@@ -3912,6 +4546,18 @@
"node": ">=10.13.0"
}
},
+ "node_modules/enquirer": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
+ "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==",
+ "dev": true,
+ "dependencies": {
+ "ansi-colors": "^4.1.1"
+ },
+ "engines": {
+ "node": ">=8.6"
+ }
+ },
"node_modules/entities": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
@@ -4031,6 +4677,12 @@
"node": ">= 0.6"
}
},
+ "node_modules/eventemitter2": {
+ "version": "6.4.7",
+ "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.7.tgz",
+ "integrity": "sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==",
+ "dev": true
+ },
"node_modules/eventemitter3": {
"version": "4.0.7",
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
@@ -4075,6 +4727,18 @@
"url": "https://github.com/sindresorhus/execa?sponsor=1"
}
},
+ "node_modules/executable": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz",
+ "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==",
+ "dev": true,
+ "dependencies": {
+ "pify": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/express": {
"version": "4.18.1",
"resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz",
@@ -4153,6 +4817,56 @@
}
]
},
+ "node_modules/extend": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
+ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
+ "dev": true
+ },
+ "node_modules/extract-zip": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz",
+ "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==",
+ "dev": true,
+ "dependencies": {
+ "debug": "^4.1.1",
+ "get-stream": "^5.1.0",
+ "yauzl": "^2.10.0"
+ },
+ "bin": {
+ "extract-zip": "cli.js"
+ },
+ "engines": {
+ "node": ">= 10.17.0"
+ },
+ "optionalDependencies": {
+ "@types/yauzl": "^2.9.1"
+ }
+ },
+ "node_modules/extract-zip/node_modules/get-stream": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
+ "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
+ "dev": true,
+ "dependencies": {
+ "pump": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/extsprintf": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
+ "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==",
+ "dev": true,
+ "engines": [
+ "node >=0.6.0"
+ ]
+ },
"node_modules/fast-deep-equal": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
@@ -4202,6 +4916,30 @@
"node": ">=0.8.0"
}
},
+ "node_modules/fd-slicer": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
+ "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==",
+ "dev": true,
+ "dependencies": {
+ "pend": "~1.2.0"
+ }
+ },
+ "node_modules/figures": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz",
+ "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==",
+ "dev": true,
+ "dependencies": {
+ "escape-string-regexp": "^1.0.5"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/file-loader": {
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz",
@@ -4334,6 +5072,29 @@
}
}
},
+ "node_modules/forever-agent": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
+ "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==",
+ "dev": true,
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/form-data": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
+ "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
+ "dev": true,
+ "dependencies": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.6",
+ "mime-types": "^2.1.12"
+ },
+ "engines": {
+ "node": ">= 0.12"
+ }
+ },
"node_modules/forwarded": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
@@ -4443,6 +5204,24 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/getos": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/getos/-/getos-3.2.1.tgz",
+ "integrity": "sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==",
+ "dev": true,
+ "dependencies": {
+ "async": "^3.2.0"
+ }
+ },
+ "node_modules/getpass": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
+ "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==",
+ "dev": true,
+ "dependencies": {
+ "assert-plus": "^1.0.0"
+ }
+ },
"node_modules/glob": {
"version": "7.2.3",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
@@ -4478,6 +5257,21 @@
"resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
"integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw=="
},
+ "node_modules/global-dirs": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz",
+ "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==",
+ "dev": true,
+ "dependencies": {
+ "ini": "2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/globals": {
"version": "11.12.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
@@ -4857,6 +5651,20 @@
}
}
},
+ "node_modules/http-signature": {
+ "version": "1.3.6",
+ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.3.6.tgz",
+ "integrity": "sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==",
+ "dev": true,
+ "dependencies": {
+ "assert-plus": "^1.0.0",
+ "jsprim": "^2.0.2",
+ "sshpk": "^1.14.1"
+ },
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
"node_modules/https-browserify": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
@@ -5012,6 +5820,15 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/indent-string": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
+ "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/inflight": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
@@ -5026,6 +5843,15 @@
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
},
+ "node_modules/ini": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz",
+ "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/interpret": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz",
@@ -5063,6 +5889,18 @@
"resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
"integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
},
+ "node_modules/is-ci": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz",
+ "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==",
+ "dev": true,
+ "dependencies": {
+ "ci-info": "^3.2.0"
+ },
+ "bin": {
+ "is-ci": "bin.js"
+ }
+ },
"node_modules/is-color-stop": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz",
@@ -5128,6 +5966,22 @@
"node": ">=0.10.0"
}
},
+ "node_modules/is-installed-globally": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz",
+ "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==",
+ "dev": true,
+ "dependencies": {
+ "global-dirs": "^3.0.0",
+ "is-path-inside": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/is-number": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
@@ -5136,6 +5990,15 @@
"node": ">=0.12.0"
}
},
+ "node_modules/is-path-inside": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
+ "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/is-plain-obj": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz",
@@ -5169,6 +6032,24 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/is-typedarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+ "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==",
+ "dev": true
+ },
+ "node_modules/is-unicode-supported": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
+ "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/is-wsl": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
@@ -5198,6 +6079,12 @@
"node": ">=0.10.0"
}
},
+ "node_modules/isstream": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
+ "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==",
+ "dev": true
+ },
"node_modules/jest-worker": {
"version": "27.5.1",
"resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz",
@@ -5238,6 +6125,12 @@
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
"integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
},
+ "node_modules/jsbn": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
+ "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==",
+ "dev": true
+ },
"node_modules/jsesc": {
"version": "2.5.2",
"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
@@ -5264,11 +6157,23 @@
"resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
"integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w=="
},
+ "node_modules/json-schema": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz",
+ "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==",
+ "dev": true
+ },
"node_modules/json-schema-traverse": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
},
+ "node_modules/json-stringify-safe": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
+ "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==",
+ "dev": true
+ },
"node_modules/json5": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz",
@@ -5291,6 +6196,21 @@
"graceful-fs": "^4.1.6"
}
},
+ "node_modules/jsprim": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz",
+ "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==",
+ "dev": true,
+ "engines": [
+ "node >=0.6.0"
+ ],
+ "dependencies": {
+ "assert-plus": "1.0.0",
+ "extsprintf": "1.3.0",
+ "json-schema": "0.4.0",
+ "verror": "1.10.0"
+ }
+ },
"node_modules/junk": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/junk/-/junk-3.1.0.tgz",
@@ -5482,6 +6402,15 @@
"node": ">=8"
}
},
+ "node_modules/lazy-ass": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz",
+ "integrity": "sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==",
+ "dev": true,
+ "engines": {
+ "node": "> 0.8"
+ }
+ },
"node_modules/lilconfig": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.5.tgz",
@@ -5509,6 +6438,33 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/listr2": {
+ "version": "3.14.0",
+ "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz",
+ "integrity": "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==",
+ "dev": true,
+ "dependencies": {
+ "cli-truncate": "^2.1.0",
+ "colorette": "^2.0.16",
+ "log-update": "^4.0.0",
+ "p-map": "^4.0.0",
+ "rfdc": "^1.3.0",
+ "rxjs": "^7.5.1",
+ "through": "^2.3.8",
+ "wrap-ansi": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ },
+ "peerDependencies": {
+ "enquirer": ">= 2.3.0 < 3"
+ },
+ "peerDependenciesMeta": {
+ "enquirer": {
+ "optional": true
+ }
+ }
+ },
"node_modules/loader-runner": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz",
@@ -5556,6 +6512,12 @@
"resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
"integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag=="
},
+ "node_modules/lodash.once": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz",
+ "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==",
+ "dev": true
+ },
"node_modules/lodash.topath": {
"version": "4.5.2",
"resolved": "https://registry.npmjs.org/lodash.topath/-/lodash.topath-4.5.2.tgz",
@@ -5566,6 +6528,174 @@
"resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
"integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ=="
},
+ "node_modules/log-symbols": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
+ "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
+ "dev": true,
+ "dependencies": {
+ "chalk": "^4.1.0",
+ "is-unicode-supported": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/log-symbols/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/log-symbols/node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/log-symbols/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/log-symbols/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "node_modules/log-symbols/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/log-symbols/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/log-update": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz",
+ "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==",
+ "dev": true,
+ "dependencies": {
+ "ansi-escapes": "^4.3.0",
+ "cli-cursor": "^3.1.0",
+ "slice-ansi": "^4.0.0",
+ "wrap-ansi": "^6.2.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/log-update/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/log-update/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/log-update/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "node_modules/log-update/node_modules/slice-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
+ "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "astral-regex": "^2.0.0",
+ "is-fullwidth-code-point": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/slice-ansi?sponsor=1"
+ }
+ },
+ "node_modules/log-update/node_modules/wrap-ansi": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
+ "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/lower-case": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz",
@@ -6111,6 +7241,12 @@
"resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
"integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A=="
},
+ "node_modules/ospath": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/ospath/-/ospath-1.2.2.tgz",
+ "integrity": "sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==",
+ "dev": true
+ },
"node_modules/p-limit": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
@@ -6136,6 +7272,21 @@
"node": ">=8"
}
},
+ "node_modules/p-map": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz",
+ "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==",
+ "dev": true,
+ "dependencies": {
+ "aggregate-error": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/p-pipe": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/p-pipe/-/p-pipe-3.1.0.tgz",
@@ -6300,6 +7451,18 @@
"node": ">=0.12"
}
},
+ "node_modules/pend": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
+ "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==",
+ "dev": true
+ },
+ "node_modules/performance-now": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
+ "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==",
+ "dev": true
+ },
"node_modules/picocolors": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
@@ -6316,6 +7479,15 @@
"url": "https://github.com/sponsors/jonschlinkert"
}
},
+ "node_modules/pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/pkg-dir": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
@@ -6909,6 +8081,18 @@
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
"integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ=="
},
+ "node_modules/pretty-bytes": {
+ "version": "5.6.0",
+ "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz",
+ "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/pretty-hrtime": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz",
@@ -6958,6 +8142,18 @@
"node": ">= 0.10"
}
},
+ "node_modules/proxy-from-env": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz",
+ "integrity": "sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==",
+ "dev": true
+ },
+ "node_modules/psl": {
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz",
+ "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==",
+ "dev": true
+ },
"node_modules/public-encrypt": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
@@ -6976,6 +8172,16 @@
"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
"integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
},
+ "node_modules/pump": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
+ "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
+ "dev": true,
+ "dependencies": {
+ "end-of-stream": "^1.1.0",
+ "once": "^1.3.1"
+ }
+ },
"node_modules/punycode": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
@@ -7253,6 +8459,15 @@
"node": ">= 0.10"
}
},
+ "node_modules/request-progress": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz",
+ "integrity": "sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==",
+ "dev": true,
+ "dependencies": {
+ "throttleit": "^1.0.0"
+ }
+ },
"node_modules/require-directory": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
@@ -7365,6 +8580,19 @@
"url": "https://opencollective.com/postcss/"
}
},
+ "node_modules/restore-cursor": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
+ "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
+ "dev": true,
+ "dependencies": {
+ "onetime": "^5.1.0",
+ "signal-exit": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/retry": {
"version": "0.13.1",
"resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz",
@@ -7382,6 +8610,12 @@
"node": ">=0.10.0"
}
},
+ "node_modules/rfdc": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz",
+ "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==",
+ "dev": true
+ },
"node_modules/rgb-regex": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz",
@@ -7437,6 +8671,15 @@
"queue-microtask": "^1.2.2"
}
},
+ "node_modules/rxjs": {
+ "version": "7.8.0",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.0.tgz",
+ "integrity": "sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==",
+ "dev": true,
+ "dependencies": {
+ "tslib": "^2.1.0"
+ }
+ },
"node_modules/safe-buffer": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
@@ -7775,6 +9018,53 @@
"node": ">=8"
}
},
+ "node_modules/slice-ansi": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz",
+ "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "astral-regex": "^2.0.0",
+ "is-fullwidth-code-point": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/slice-ansi/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/slice-ansi/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/slice-ansi/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
"node_modules/sockjs": {
"version": "0.3.24",
"resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz",
@@ -7856,6 +9146,31 @@
"node": ">= 6"
}
},
+ "node_modules/sshpk": {
+ "version": "1.17.0",
+ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz",
+ "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==",
+ "dev": true,
+ "dependencies": {
+ "asn1": "~0.2.3",
+ "assert-plus": "^1.0.0",
+ "bcrypt-pbkdf": "^1.0.0",
+ "dashdash": "^1.12.0",
+ "ecc-jsbn": "~0.1.1",
+ "getpass": "^0.1.1",
+ "jsbn": "~0.1.0",
+ "safer-buffer": "^2.0.2",
+ "tweetnacl": "~0.14.0"
+ },
+ "bin": {
+ "sshpk-conv": "bin/sshpk-conv",
+ "sshpk-sign": "bin/sshpk-sign",
+ "sshpk-verify": "bin/sshpk-verify"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/stable": {
"version": "0.1.8",
"resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz",
@@ -8310,6 +9625,18 @@
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
"integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="
},
+ "node_modules/throttleit": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz",
+ "integrity": "sha512-rkTVqu6IjfQ/6+uNuuc3sZek4CEYxTJom3IktzgdSxcZqdARuebbA/f4QmAxMQIxqq9ZLEUkSYqvuk1I6VKq4g==",
+ "dev": true
+ },
+ "node_modules/through": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
+ "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==",
+ "dev": true
+ },
"node_modules/thunky": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz",
@@ -8374,6 +9701,28 @@
"node": ">=0.6"
}
},
+ "node_modules/tough-cookie": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
+ "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
+ "dev": true,
+ "dependencies": {
+ "psl": "^1.1.28",
+ "punycode": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=0.8"
+ }
+ },
+ "node_modules/tough-cookie/node_modules/punycode": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz",
+ "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/tslib": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
@@ -8384,6 +9733,24 @@
"resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
"integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY="
},
+ "node_modules/tunnel-agent": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
+ "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==",
+ "dev": true,
+ "dependencies": {
+ "safe-buffer": "^5.0.1"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/tweetnacl": {
+ "version": "0.14.5",
+ "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
+ "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==",
+ "dev": true
+ },
"node_modules/type-fest": {
"version": "2.13.0",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.13.0.tgz",
@@ -8459,6 +9826,15 @@
"node": ">= 0.8"
}
},
+ "node_modules/untildify": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz",
+ "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/uri-js": {
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
@@ -8531,6 +9907,26 @@
"node": ">= 0.8"
}
},
+ "node_modules/verror": {
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
+ "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==",
+ "dev": true,
+ "engines": [
+ "node >=0.6.0"
+ ],
+ "dependencies": {
+ "assert-plus": "^1.0.0",
+ "core-util-is": "1.0.2",
+ "extsprintf": "^1.2.0"
+ }
+ },
+ "node_modules/verror/node_modules/core-util-is": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==",
+ "dev": true
+ },
"node_modules/vm-browserify": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz",
@@ -9184,6 +10580,16 @@
"engines": {
"node": ">=12"
}
+ },
+ "node_modules/yauzl": {
+ "version": "2.10.0",
+ "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
+ "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==",
+ "dev": true,
+ "dependencies": {
+ "buffer-crc32": "~0.2.3",
+ "fd-slicer": "~1.1.0"
+ }
}
},
"dependencies": {
@@ -10228,6 +11634,53 @@
"integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==",
"optional": true
},
+ "@cypress/request": {
+ "version": "2.88.11",
+ "resolved": "https://registry.npmjs.org/@cypress/request/-/request-2.88.11.tgz",
+ "integrity": "sha512-M83/wfQ1EkspjkE2lNWNV5ui2Cv7UCv1swW1DqljahbzLVWltcsexQh8jYtuS/vzFXP+HySntGM83ZXA9fn17w==",
+ "dev": true,
+ "requires": {
+ "aws-sign2": "~0.7.0",
+ "aws4": "^1.8.0",
+ "caseless": "~0.12.0",
+ "combined-stream": "~1.0.6",
+ "extend": "~3.0.2",
+ "forever-agent": "~0.6.1",
+ "form-data": "~2.3.2",
+ "http-signature": "~1.3.6",
+ "is-typedarray": "~1.0.0",
+ "isstream": "~0.1.2",
+ "json-stringify-safe": "~5.0.1",
+ "mime-types": "~2.1.19",
+ "performance-now": "^2.1.0",
+ "qs": "~6.10.3",
+ "safe-buffer": "^5.1.2",
+ "tough-cookie": "~2.5.0",
+ "tunnel-agent": "^0.6.0",
+ "uuid": "^8.3.2"
+ }
+ },
+ "@cypress/xvfb": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz",
+ "integrity": "sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==",
+ "dev": true,
+ "requires": {
+ "debug": "^3.1.0",
+ "lodash.once": "^4.1.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+ "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ }
+ }
+ },
"@discoveryjs/json-ext": {
"version": "0.5.7",
"resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz",
@@ -10589,6 +12042,18 @@
"@types/node": "*"
}
},
+ "@types/sinonjs__fake-timers": {
+ "version": "8.1.1",
+ "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz",
+ "integrity": "sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==",
+ "dev": true
+ },
+ "@types/sizzle": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.3.tgz",
+ "integrity": "sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ==",
+ "dev": true
+ },
"@types/sockjs": {
"version": "0.3.33",
"resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz",
@@ -10610,6 +12075,16 @@
"@types/node": "*"
}
},
+ "@types/yauzl": {
+ "version": "2.10.0",
+ "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz",
+ "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "@types/node": "*"
+ }
+ },
"@webassemblyjs/ast": {
"version": "1.11.1",
"resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz",
@@ -10809,6 +12284,16 @@
"regex-parser": "^2.2.11"
}
},
+ "aggregate-error": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
+ "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==",
+ "dev": true,
+ "requires": {
+ "clean-stack": "^2.0.0",
+ "indent-string": "^4.0.0"
+ }
+ },
"ajv": {
"version": "6.12.6",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
@@ -10852,6 +12337,29 @@
"integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
"requires": {}
},
+ "ansi-colors": {
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz",
+ "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==",
+ "dev": true
+ },
+ "ansi-escapes": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
+ "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==",
+ "dev": true,
+ "requires": {
+ "type-fest": "^0.21.3"
+ },
+ "dependencies": {
+ "type-fest": {
+ "version": "0.21.3",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz",
+ "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
+ "dev": true
+ }
+ }
+ },
"ansi-html-community": {
"version": "0.0.8",
"resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz",
@@ -10879,6 +12387,12 @@
"picomatch": "^2.0.4"
}
},
+ "arch": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz",
+ "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==",
+ "dev": true
+ },
"arg": {
"version": "5.0.2",
"resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz",
@@ -10894,6 +12408,15 @@
"resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
"integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw=="
},
+ "asn1": {
+ "version": "0.2.6",
+ "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz",
+ "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==",
+ "dev": true,
+ "requires": {
+ "safer-buffer": "~2.1.0"
+ }
+ },
"asn1.js": {
"version": "5.4.1",
"resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz",
@@ -10936,6 +12459,36 @@
}
}
},
+ "assert-plus": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==",
+ "dev": true
+ },
+ "astral-regex": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
+ "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
+ "dev": true
+ },
+ "async": {
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz",
+ "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==",
+ "dev": true
+ },
+ "asynckit": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
+ "dev": true
+ },
+ "at-least-node": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
+ "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==",
+ "dev": true
+ },
"autoprefixer": {
"version": "10.4.7",
"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.7.tgz",
@@ -10949,6 +12502,18 @@
"postcss-value-parser": "^4.2.0"
}
},
+ "aws-sign2": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
+ "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==",
+ "dev": true
+ },
+ "aws4": {
+ "version": "1.12.0",
+ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz",
+ "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==",
+ "dev": true
+ },
"axios": {
"version": "0.25.0",
"resolved": "https://registry.npmjs.org/axios/-/axios-0.25.0.tgz",
@@ -11018,6 +12583,15 @@
"resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz",
"integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw=="
},
+ "bcrypt-pbkdf": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
+ "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==",
+ "dev": true,
+ "requires": {
+ "tweetnacl": "^0.14.3"
+ }
+ },
"big.js": {
"version": "5.2.2",
"resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
@@ -11028,6 +12602,18 @@
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
"integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA=="
},
+ "blob-util": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz",
+ "integrity": "sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==",
+ "dev": true
+ },
+ "bluebird": {
+ "version": "3.7.2",
+ "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
+ "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==",
+ "dev": true
+ },
"bn.js": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz",
@@ -11211,6 +12797,12 @@
"isarray": "^1.0.0"
}
},
+ "buffer-crc32": {
+ "version": "0.2.13",
+ "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
+ "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==",
+ "dev": true
+ },
"buffer-from": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
@@ -11231,6 +12823,12 @@
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
"integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg=="
},
+ "cachedir": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.3.0.tgz",
+ "integrity": "sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==",
+ "dev": true
+ },
"call-bind": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
@@ -11288,6 +12886,12 @@
"credit-card-type": "^9.1.0"
}
},
+ "caseless": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
+ "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==",
+ "dev": true
+ },
"chalk": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
@@ -11303,6 +12907,12 @@
"resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz",
"integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA=="
},
+ "check-more-types": {
+ "version": "2.24.0",
+ "resolved": "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz",
+ "integrity": "sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==",
+ "dev": true
+ },
"chokidar": {
"version": "3.5.3",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
@@ -11323,6 +12933,12 @@
"resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz",
"integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg=="
},
+ "ci-info": {
+ "version": "3.7.1",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.7.1.tgz",
+ "integrity": "sha512-4jYS4MOAaCIStSRwiuxc4B8MYhIe676yO1sYGzARnjXkWpmzZMMYxY6zu8WYWDhSuth5zhrQ1rhNSibyyvv4/w==",
+ "dev": true
+ },
"cipher-base": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
@@ -11340,6 +12956,21 @@
"source-map": "~0.6.0"
}
},
+ "clean-stack": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
+ "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
+ "dev": true
+ },
+ "cli-cursor": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
+ "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
+ "dev": true,
+ "requires": {
+ "restore-cursor": "^3.1.0"
+ }
+ },
"cli-table3": {
"version": "0.6.2",
"resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.2.tgz",
@@ -11349,6 +12980,16 @@
"string-width": "^4.2.0"
}
},
+ "cli-truncate": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz",
+ "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==",
+ "dev": true,
+ "requires": {
+ "slice-ansi": "^3.0.0",
+ "string-width": "^4.2.0"
+ }
+ },
"clipboard": {
"version": "2.0.11",
"resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.11.tgz",
@@ -11440,11 +13081,26 @@
"resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.17.tgz",
"integrity": "sha512-hJo+3Bkn0NCHybn9Tu35fIeoOKGOk5OCC32y4Hz2It+qlCO2Q3DeQ1hRn/tDDMQKRYUEzqsl7jbF6dYKjlE60g=="
},
+ "combined-stream": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
+ "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
+ "dev": true,
+ "requires": {
+ "delayed-stream": "~1.0.0"
+ }
+ },
"commander": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
"integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw=="
},
+ "common-tags": {
+ "version": "1.8.2",
+ "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz",
+ "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==",
+ "dev": true
+ },
"commondir": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
@@ -11855,6 +13511,208 @@
"css-tree": "^1.1.2"
}
},
+ "cypress": {
+ "version": "12.3.0",
+ "resolved": "https://registry.npmjs.org/cypress/-/cypress-12.3.0.tgz",
+ "integrity": "sha512-ZQNebibi6NBt51TRxRMYKeFvIiQZ01t50HSy7z/JMgRVqBUey3cdjog5MYEbzG6Ktti5ckDt1tfcC47lmFwXkw==",
+ "dev": true,
+ "requires": {
+ "@cypress/request": "^2.88.10",
+ "@cypress/xvfb": "^1.2.4",
+ "@types/node": "^14.14.31",
+ "@types/sinonjs__fake-timers": "8.1.1",
+ "@types/sizzle": "^2.3.2",
+ "arch": "^2.2.0",
+ "blob-util": "^2.0.2",
+ "bluebird": "^3.7.2",
+ "buffer": "^5.6.0",
+ "cachedir": "^2.3.0",
+ "chalk": "^4.1.0",
+ "check-more-types": "^2.24.0",
+ "cli-cursor": "^3.1.0",
+ "cli-table3": "~0.6.1",
+ "commander": "^5.1.0",
+ "common-tags": "^1.8.0",
+ "dayjs": "^1.10.4",
+ "debug": "^4.3.2",
+ "enquirer": "^2.3.6",
+ "eventemitter2": "6.4.7",
+ "execa": "4.1.0",
+ "executable": "^4.1.1",
+ "extract-zip": "2.0.1",
+ "figures": "^3.2.0",
+ "fs-extra": "^9.1.0",
+ "getos": "^3.2.1",
+ "is-ci": "^3.0.0",
+ "is-installed-globally": "~0.4.0",
+ "lazy-ass": "^1.6.0",
+ "listr2": "^3.8.3",
+ "lodash": "^4.17.21",
+ "log-symbols": "^4.0.0",
+ "minimist": "^1.2.6",
+ "ospath": "^1.2.2",
+ "pretty-bytes": "^5.6.0",
+ "proxy-from-env": "1.0.0",
+ "request-progress": "^3.0.0",
+ "semver": "^7.3.2",
+ "supports-color": "^8.1.1",
+ "tmp": "~0.2.1",
+ "untildify": "^4.0.0",
+ "yauzl": "^2.10.0"
+ },
+ "dependencies": {
+ "@types/node": {
+ "version": "14.18.36",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.36.tgz",
+ "integrity": "sha512-FXKWbsJ6a1hIrRxv+FoukuHnGTgEzKYGi7kilfMae96AL9UNkPFNWJEEYWzdRI9ooIkbr4AKldyuSTLql06vLQ==",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "buffer": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
+ "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
+ "dev": true,
+ "requires": {
+ "base64-js": "^1.3.1",
+ "ieee754": "^1.1.13"
+ }
+ },
+ "chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "commander": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz",
+ "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==",
+ "dev": true
+ },
+ "execa": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz",
+ "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==",
+ "dev": true,
+ "requires": {
+ "cross-spawn": "^7.0.0",
+ "get-stream": "^5.0.0",
+ "human-signals": "^1.1.1",
+ "is-stream": "^2.0.0",
+ "merge-stream": "^2.0.0",
+ "npm-run-path": "^4.0.0",
+ "onetime": "^5.1.0",
+ "signal-exit": "^3.0.2",
+ "strip-final-newline": "^2.0.0"
+ }
+ },
+ "fs-extra": {
+ "version": "9.1.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
+ "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
+ "dev": true,
+ "requires": {
+ "at-least-node": "^1.0.0",
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ }
+ },
+ "get-stream": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
+ "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
+ "dev": true,
+ "requires": {
+ "pump": "^3.0.0"
+ }
+ },
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ },
+ "human-signals": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz",
+ "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==",
+ "dev": true
+ },
+ "semver": {
+ "version": "7.3.8",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
+ "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
+ "dev": true,
+ "requires": {
+ "lru-cache": "^6.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "8.1.1",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
+ "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
+ "dashdash": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
+ "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==",
+ "dev": true,
+ "requires": {
+ "assert-plus": "^1.0.0"
+ }
+ },
+ "dayjs": {
+ "version": "1.11.7",
+ "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.7.tgz",
+ "integrity": "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==",
+ "dev": true
+ },
"de-indent": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz",
@@ -11896,6 +13754,12 @@
"resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
"integrity": "sha512-Y2caI5+ZwS5c3RiNDJ6u53VhQHv+hHKwhkI1iHvceKUHw9Df6EK2zRLfjejRgMuCuxK7PfSWIMwWecceVvThjQ=="
},
+ "delayed-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
+ "dev": true
+ },
"delegate": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz",
@@ -12060,6 +13924,16 @@
"resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz",
"integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA=="
},
+ "ecc-jsbn": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
+ "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==",
+ "dev": true,
+ "requires": {
+ "jsbn": "~0.1.0",
+ "safer-buffer": "^2.1.0"
+ }
+ },
"ee-first": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
@@ -12106,6 +13980,15 @@
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
"integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w=="
},
+ "end-of-stream": {
+ "version": "1.4.4",
+ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
+ "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
+ "dev": true,
+ "requires": {
+ "once": "^1.4.0"
+ }
+ },
"enhanced-resolve": {
"version": "5.9.3",
"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.9.3.tgz",
@@ -12115,6 +13998,15 @@
"tapable": "^2.2.0"
}
},
+ "enquirer": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
+ "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==",
+ "dev": true,
+ "requires": {
+ "ansi-colors": "^4.1.1"
+ }
+ },
"entities": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
@@ -12197,6 +14089,12 @@
"resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
"integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg=="
},
+ "eventemitter2": {
+ "version": "6.4.7",
+ "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.7.tgz",
+ "integrity": "sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==",
+ "dev": true
+ },
"eventemitter3": {
"version": "4.0.7",
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
@@ -12232,6 +14130,15 @@
"strip-final-newline": "^2.0.0"
}
},
+ "executable": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz",
+ "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==",
+ "dev": true,
+ "requires": {
+ "pify": "^2.2.0"
+ }
+ },
"express": {
"version": "4.18.1",
"resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz",
@@ -12295,6 +14202,41 @@
}
}
},
+ "extend": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
+ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
+ "dev": true
+ },
+ "extract-zip": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz",
+ "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==",
+ "dev": true,
+ "requires": {
+ "@types/yauzl": "^2.9.1",
+ "debug": "^4.1.1",
+ "get-stream": "^5.1.0",
+ "yauzl": "^2.10.0"
+ },
+ "dependencies": {
+ "get-stream": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
+ "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
+ "dev": true,
+ "requires": {
+ "pump": "^3.0.0"
+ }
+ }
+ }
+ },
+ "extsprintf": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
+ "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==",
+ "dev": true
+ },
"fast-deep-equal": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
@@ -12338,6 +14280,24 @@
"websocket-driver": ">=0.5.1"
}
},
+ "fd-slicer": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
+ "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==",
+ "dev": true,
+ "requires": {
+ "pend": "~1.2.0"
+ }
+ },
+ "figures": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz",
+ "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==",
+ "dev": true,
+ "requires": {
+ "escape-string-regexp": "^1.0.5"
+ }
+ },
"file-loader": {
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz",
@@ -12425,6 +14385,23 @@
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz",
"integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA=="
},
+ "forever-agent": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
+ "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==",
+ "dev": true
+ },
+ "form-data": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
+ "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
+ "dev": true,
+ "requires": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.6",
+ "mime-types": "^2.1.12"
+ }
+ },
"forwarded": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
@@ -12496,6 +14473,24 @@
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
"integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg=="
},
+ "getos": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/getos/-/getos-3.2.1.tgz",
+ "integrity": "sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==",
+ "dev": true,
+ "requires": {
+ "async": "^3.2.0"
+ }
+ },
+ "getpass": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
+ "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==",
+ "dev": true,
+ "requires": {
+ "assert-plus": "^1.0.0"
+ }
+ },
"glob": {
"version": "7.2.3",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
@@ -12522,6 +14517,15 @@
"resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
"integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw=="
},
+ "global-dirs": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz",
+ "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==",
+ "dev": true,
+ "requires": {
+ "ini": "2.0.0"
+ }
+ },
"globals": {
"version": "11.12.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
@@ -12807,6 +14811,17 @@
"micromatch": "^4.0.2"
}
},
+ "http-signature": {
+ "version": "1.3.6",
+ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.3.6.tgz",
+ "integrity": "sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==",
+ "dev": true,
+ "requires": {
+ "assert-plus": "^1.0.0",
+ "jsprim": "^2.0.2",
+ "sshpk": "^1.14.1"
+ }
+ },
"https-browserify": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
@@ -12906,6 +14921,12 @@
"resolve-cwd": "^3.0.0"
}
},
+ "indent-string": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
+ "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
+ "dev": true
+ },
"inflight": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
@@ -12920,6 +14941,12 @@
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
},
+ "ini": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz",
+ "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==",
+ "dev": true
+ },
"interpret": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz",
@@ -12948,6 +14975,15 @@
"resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
"integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
},
+ "is-ci": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz",
+ "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==",
+ "dev": true,
+ "requires": {
+ "ci-info": "^3.2.0"
+ }
+ },
"is-color-stop": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz",
@@ -12992,11 +15028,27 @@
"is-extglob": "^2.1.1"
}
},
+ "is-installed-globally": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz",
+ "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==",
+ "dev": true,
+ "requires": {
+ "global-dirs": "^3.0.0",
+ "is-path-inside": "^3.0.2"
+ }
+ },
"is-number": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="
},
+ "is-path-inside": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
+ "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
+ "dev": true
+ },
"is-plain-obj": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz",
@@ -13015,6 +15067,18 @@
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
"integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg=="
},
+ "is-typedarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+ "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==",
+ "dev": true
+ },
+ "is-unicode-supported": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
+ "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==",
+ "dev": true
+ },
"is-wsl": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
@@ -13038,6 +15102,12 @@
"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
"integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg=="
},
+ "isstream": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
+ "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==",
+ "dev": true
+ },
"jest-worker": {
"version": "27.5.1",
"resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz",
@@ -13068,6 +15138,12 @@
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
"integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
},
+ "jsbn": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
+ "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==",
+ "dev": true
+ },
"jsesc": {
"version": "2.5.2",
"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
@@ -13088,11 +15164,23 @@
"resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
"integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w=="
},
+ "json-schema": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz",
+ "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==",
+ "dev": true
+ },
"json-schema-traverse": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
},
+ "json-stringify-safe": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
+ "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==",
+ "dev": true
+ },
"json5": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz",
@@ -13107,6 +15195,18 @@
"universalify": "^2.0.0"
}
},
+ "jsprim": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz",
+ "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==",
+ "dev": true,
+ "requires": {
+ "assert-plus": "1.0.0",
+ "extsprintf": "1.3.0",
+ "json-schema": "0.4.0",
+ "verror": "1.10.0"
+ }
+ },
"junk": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/junk/-/junk-3.1.0.tgz",
@@ -13241,6 +15341,12 @@
"postcss-purgecss-laravel": "^2.0.0"
}
},
+ "lazy-ass": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz",
+ "integrity": "sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==",
+ "dev": true
+ },
"lilconfig": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.5.tgz",
@@ -13259,6 +15365,22 @@
"create-html-element": "^4.0.1"
}
},
+ "listr2": {
+ "version": "3.14.0",
+ "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz",
+ "integrity": "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==",
+ "dev": true,
+ "requires": {
+ "cli-truncate": "^2.1.0",
+ "colorette": "^2.0.16",
+ "log-update": "^4.0.0",
+ "p-map": "^4.0.0",
+ "rfdc": "^1.3.0",
+ "rxjs": "^7.5.1",
+ "through": "^2.3.8",
+ "wrap-ansi": "^7.0.0"
+ }
+ },
"loader-runner": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz",
@@ -13297,6 +15419,12 @@
"resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
"integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag=="
},
+ "lodash.once": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz",
+ "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==",
+ "dev": true
+ },
"lodash.topath": {
"version": "4.5.2",
"resolved": "https://registry.npmjs.org/lodash.topath/-/lodash.topath-4.5.2.tgz",
@@ -13307,6 +15435,127 @@
"resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
"integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ=="
},
+ "log-symbols": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
+ "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^4.1.0",
+ "is-unicode-supported": "^0.1.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
+ "log-update": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz",
+ "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==",
+ "dev": true,
+ "requires": {
+ "ansi-escapes": "^4.3.0",
+ "cli-cursor": "^3.1.0",
+ "slice-ansi": "^4.0.0",
+ "wrap-ansi": "^6.2.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "slice-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
+ "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.0.0",
+ "astral-regex": "^2.0.0",
+ "is-fullwidth-code-point": "^3.0.0"
+ }
+ },
+ "wrap-ansi": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
+ "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ }
+ }
+ }
+ },
"lower-case": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz",
@@ -13712,6 +15961,12 @@
"resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
"integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A=="
},
+ "ospath": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/ospath/-/ospath-1.2.2.tgz",
+ "integrity": "sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==",
+ "dev": true
+ },
"p-limit": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
@@ -13728,6 +15983,15 @@
"p-limit": "^2.2.0"
}
},
+ "p-map": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz",
+ "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==",
+ "dev": true,
+ "requires": {
+ "aggregate-error": "^3.0.0"
+ }
+ },
"p-pipe": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/p-pipe/-/p-pipe-3.1.0.tgz",
@@ -13853,6 +16117,18 @@
"sha.js": "^2.4.8"
}
},
+ "pend": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
+ "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==",
+ "dev": true
+ },
+ "performance-now": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
+ "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==",
+ "dev": true
+ },
"picocolors": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
@@ -13863,6 +16139,12 @@
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="
},
+ "pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
+ "dev": true
+ },
"pkg-dir": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
@@ -14206,6 +16488,12 @@
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
"integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ=="
},
+ "pretty-bytes": {
+ "version": "5.6.0",
+ "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz",
+ "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==",
+ "dev": true
+ },
"pretty-hrtime": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz",
@@ -14242,6 +16530,18 @@
}
}
},
+ "proxy-from-env": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz",
+ "integrity": "sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==",
+ "dev": true
+ },
+ "psl": {
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz",
+ "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==",
+ "dev": true
+ },
"public-encrypt": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
@@ -14262,6 +16562,16 @@
}
}
},
+ "pump": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
+ "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
+ "dev": true,
+ "requires": {
+ "end-of-stream": "^1.1.0",
+ "once": "^1.3.1"
+ }
+ },
"punycode": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
@@ -14478,6 +16788,15 @@
"resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz",
"integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw=="
},
+ "request-progress": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz",
+ "integrity": "sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==",
+ "dev": true,
+ "requires": {
+ "throttleit": "^1.0.0"
+ }
+ },
"require-directory": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
@@ -14551,6 +16870,16 @@
}
}
},
+ "restore-cursor": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
+ "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
+ "dev": true,
+ "requires": {
+ "onetime": "^5.1.0",
+ "signal-exit": "^3.0.2"
+ }
+ },
"retry": {
"version": "0.13.1",
"resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz",
@@ -14561,6 +16890,12 @@
"resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
"integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw=="
},
+ "rfdc": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz",
+ "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==",
+ "dev": true
+ },
"rgb-regex": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz",
@@ -14596,6 +16931,15 @@
"queue-microtask": "^1.2.2"
}
},
+ "rxjs": {
+ "version": "7.8.0",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.0.tgz",
+ "integrity": "sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==",
+ "dev": true,
+ "requires": {
+ "tslib": "^2.1.0"
+ }
+ },
"safe-buffer": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
@@ -14859,6 +17203,43 @@
"resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
"integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q=="
},
+ "slice-ansi": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz",
+ "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.0.0",
+ "astral-regex": "^2.0.0",
+ "is-fullwidth-code-point": "^3.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ }
+ }
+ },
"sockjs": {
"version": "0.3.24",
"resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz",
@@ -14930,6 +17311,23 @@
}
}
},
+ "sshpk": {
+ "version": "1.17.0",
+ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz",
+ "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==",
+ "dev": true,
+ "requires": {
+ "asn1": "~0.2.3",
+ "assert-plus": "^1.0.0",
+ "bcrypt-pbkdf": "^1.0.0",
+ "dashdash": "^1.12.0",
+ "ecc-jsbn": "~0.1.1",
+ "getpass": "^0.1.1",
+ "jsbn": "~0.1.0",
+ "safer-buffer": "^2.0.2",
+ "tweetnacl": "~0.14.0"
+ }
+ },
"stable": {
"version": "0.1.8",
"resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz",
@@ -15236,6 +17634,18 @@
}
}
},
+ "throttleit": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz",
+ "integrity": "sha512-rkTVqu6IjfQ/6+uNuuc3sZek4CEYxTJom3IktzgdSxcZqdARuebbA/f4QmAxMQIxqq9ZLEUkSYqvuk1I6VKq4g==",
+ "dev": true
+ },
+ "through": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
+ "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==",
+ "dev": true
+ },
"thunky": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz",
@@ -15285,6 +17695,24 @@
"resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
"integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA=="
},
+ "tough-cookie": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
+ "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
+ "dev": true,
+ "requires": {
+ "psl": "^1.1.28",
+ "punycode": "^2.1.1"
+ },
+ "dependencies": {
+ "punycode": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz",
+ "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==",
+ "dev": true
+ }
+ }
+ },
"tslib": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
@@ -15295,6 +17723,21 @@
"resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
"integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY="
},
+ "tunnel-agent": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
+ "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "tweetnacl": {
+ "version": "0.14.5",
+ "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
+ "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==",
+ "dev": true
+ },
"type-fest": {
"version": "2.13.0",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.13.0.tgz",
@@ -15343,6 +17786,12 @@
"resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
"integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
},
+ "untildify": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz",
+ "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==",
+ "dev": true
+ },
"uri-js": {
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
@@ -15409,6 +17858,25 @@
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
"integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
},
+ "verror": {
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
+ "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==",
+ "dev": true,
+ "requires": {
+ "assert-plus": "^1.0.0",
+ "core-util-is": "1.0.2",
+ "extsprintf": "^1.2.0"
+ },
+ "dependencies": {
+ "core-util-is": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==",
+ "dev": true
+ }
+ }
+ },
"vm-browserify": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz",
@@ -15863,6 +18331,16 @@
"version": "21.0.1",
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz",
"integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg=="
+ },
+ "yauzl": {
+ "version": "2.10.0",
+ "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
+ "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==",
+ "dev": true,
+ "requires": {
+ "buffer-crc32": "~0.2.3",
+ "fd-slicer": "~1.1.0"
+ }
}
}
}
diff --git a/package.json b/package.json
index beadac675645..d2616e86e6b0 100644
--- a/package.json
+++ b/package.json
@@ -12,12 +12,13 @@
"@babel/compat-data": "7.15.0",
"@babel/plugin-proposal-class-properties": "^7.14.5",
"@tailwindcss/aspect-ratio": "^0.4.2",
+ "cypress": "^12.3.0",
"laravel-mix-purgecss": "^6.0.0",
"vue-template-compiler": "^2.6.14"
},
"dependencies": {
- "@tailwindcss/line-clamp": "^0.3.1",
"@tailwindcss/forms": "^0.3.4",
+ "@tailwindcss/line-clamp": "^0.3.1",
"autoprefixer": "^10.3.7",
"axios": "^0.25",
"card-js": "^1.0.13",
diff --git a/tests/cypress/integration/login.cy.js b/tests/cypress/integration/login.cy.js
new file mode 100644
index 000000000000..9523858c02bf
--- /dev/null
+++ b/tests/cypress/integration/login.cy.js
@@ -0,0 +1,43 @@
+describe('Test Login Page', () => {
+
+ it('Shows the Password Reset Pasge.', () => {
+
+
+ cy.visit('/client/password/reset');
+ cy.contains('Password Recovery');
+
+ cy.get('input[name=email]').type('cypress@example.com{enter}');
+ cy.contains('We have e-mailed your password reset link!');
+
+ cy.visit('/client/password/reset');
+ cy.contains('Password Recovery');
+
+ cy.get('input[name=email]').type('nono@example.com{enter}');
+ cy.contains("We can't find a user with that e-mail address.");
+
+ });
+
+ it('Shows the login page.', () => {
+
+ cy.visit('/client/login');
+ cy.contains('Client Portal');
+
+ cy.get('input[name=email]').type('cypress@example.com');
+ cy.get('input[name=password]').type('password{enter}');
+ cy.url().should('include', '/invoices');
+
+ cy.visit('/client/recurring_invoices').contains('Recurring Invoices');
+ cy.visit('/client/payments').contains('Payments');
+ cy.visit('/client/quotes').contains('Quotes');
+ cy.visit('/client/credits').contains('Credits');
+ cy.visit('/client/payment_methods').contains('Payment Methods');
+ cy.visit('/client/documents').contains('Documents');
+ cy.visit('/client/statement').contains('Statement');
+ cy.visit('/client/subscriptions').contains('Subscriptions');
+
+ cy.get('[data-ref="client-profile-dropdown"]').click();
+ cy.get('[data-ref="client-profile-dropdown-settings"]').click();
+ cy.contains('Client Information');
+ });
+
+});
\ No newline at end of file
diff --git a/tests/cypress/plugins/index.js b/tests/cypress/plugins/index.js
new file mode 100644
index 000000000000..0c78445a967a
--- /dev/null
+++ b/tests/cypress/plugins/index.js
@@ -0,0 +1,23 @@
+///
+// ***********************************************************
+// This example plugins/index.js can be used to load plugins
+//
+// You can change the location of this file or turn off loading
+// the plugins file with the 'pluginsFile' configuration option.
+//
+// You can read more here:
+// https://on.cypress.io/plugins-guide
+// ***********************************************************
+
+// This function is called when a project is opened or re-opened (e.g. due to
+// the project's config changing)
+
+/**
+ * @type {Cypress.PluginConfig}
+ */
+module.exports = (on, config) => {
+ // `on` is used to hook into various events Cypress emits
+ // `config` is the resolved Cypress config
+
+ on('task', require('./swap-env'));
+};
diff --git a/tests/cypress/plugins/swap-env.js b/tests/cypress/plugins/swap-env.js
new file mode 100644
index 000000000000..aee03e7d1d9c
--- /dev/null
+++ b/tests/cypress/plugins/swap-env.js
@@ -0,0 +1,21 @@
+let fs = require('fs');
+
+module.exports = {
+ activateCypressEnvFile() {
+ if (fs.existsSync('.env.cypress')) {
+ fs.renameSync('.env', '.env.backup');
+ fs.renameSync('.env.cypress', '.env');
+ }
+
+ return null;
+ },
+
+ activateLocalEnvFile() {
+ if (fs.existsSync('.env.backup')) {
+ fs.renameSync('.env', '.env.cypress');
+ fs.renameSync('.env.backup', '.env');
+ }
+
+ return null;
+ }
+};
diff --git a/tests/cypress/support/assertions.js b/tests/cypress/support/assertions.js
new file mode 100644
index 000000000000..5f0855a3709a
--- /dev/null
+++ b/tests/cypress/support/assertions.js
@@ -0,0 +1,3 @@
+Cypress.Commands.add('assertRedirect', path => {
+ cy.location('pathname').should('eq', `/${path}`.replace(/^\/\//, '/'));
+});
diff --git a/tests/cypress/support/index.d.ts b/tests/cypress/support/index.d.ts
new file mode 100644
index 000000000000..eb52d46c26f2
--- /dev/null
+++ b/tests/cypress/support/index.d.ts
@@ -0,0 +1,92 @@
+///
+
+declare namespace Cypress {
+ interface Chainable {
+ /**
+ * Log in the user with the given attributes, or create a new user and then log them in.
+ *
+ * @example
+ * cy.login()
+ * cy.login({ id: 1 })
+ */
+ login(attributes?: object): Chainable;
+
+ /**
+ * Log out the current user.
+ *
+ * @example
+ * cy.logout()
+ */
+ logout(): Chainable;
+
+ /**
+ * Fetch the currently authenticated user.
+ *
+ * @example
+ * cy.currentUser()
+ */
+ currentUser(): Chainable;
+
+ /**
+ * Fetch a CSRF token from the server.
+ *
+ * @example
+ * cy.logout()
+ */
+ csrfToken(): Chainable;
+
+ /**
+ * Fetch a fresh list of URI routes from the server.
+ *
+ * @example
+ * cy.logout()
+ */
+ refreshRoutes(): Chainable;
+
+ /**
+ * Create and persist a new Eloquent record using Laravel model factories.
+ *
+ * @example
+ * cy.create('App\\User');
+ * cy.create('App\\User', 2);
+ * cy.create('App\\User', 2, { active: false });
+ * cy.create({ model: 'App\\User', state: ['guest'], relations: ['profile'], count: 2 }
+ */
+ create(): Chainable;
+
+ /**
+ * Refresh the database state using Laravel's migrate:fresh command.
+ *
+ * @example
+ * cy.refreshDatabase()
+ * cy.refreshDatabase({ '--drop-views': true }
+ */
+ refreshDatabase(options?: object): Chainable;
+
+ /**
+ * Run Artisan's db:seed command.
+ *
+ * @example
+ * cy.seed()
+ * cy.seed('PlansTableSeeder')
+ */
+ seed(seederClass?: string): Chainable;
+
+ /**
+ * Run an Artisan command.
+ *
+ * @example
+ * cy.artisan()
+ */
+ artisan(command: string, parameters?: object, options?: object): Chainable;
+
+ /**
+ * Execute arbitrary PHP on the server.
+ *
+ * @example
+ * cy.php('2 + 2')
+ * cy.php('App\\User::count()')
+ */
+ php(command: string): Chainable;
+ }
+}
diff --git a/tests/cypress/support/index.js b/tests/cypress/support/index.js
new file mode 100644
index 000000000000..bc30bc7a68c0
--- /dev/null
+++ b/tests/cypress/support/index.js
@@ -0,0 +1,32 @@
+// ***********************************************************
+// This example support/index.js is processed and
+// loaded automatically before your test files.
+//
+// This is a great place to put global configuration and
+// behavior that modifies Cypress.
+//
+// You can change the location of this file or turn off
+// automatically serving support files with the
+// 'supportFile' configuration option.
+//
+// You can read more here:
+// https://on.cypress.io/configuration
+// ***********************************************************
+
+///
+
+import './laravel-commands';
+import './laravel-routes';
+import './assertions';
+
+before(() => {
+ cy.task('activateCypressEnvFile', {}, { log: false });
+ cy.artisan('config:clear', {}, { log: false });
+ cy.refreshRoutes();
+ cy.seed("RandomDataSeeder");
+});
+
+after(() => {
+ cy.task('activateLocalEnvFile', {}, { log: false });
+ cy.artisan('config:clear', {}, { log: false });
+});
diff --git a/tests/cypress/support/laravel-commands.js b/tests/cypress/support/laravel-commands.js
new file mode 100644
index 000000000000..9af6c646604b
--- /dev/null
+++ b/tests/cypress/support/laravel-commands.js
@@ -0,0 +1,301 @@
+/**
+ * Create a new user and log them in.
+ *
+ * @param {Object} attributes
+ *
+ * @example cy.login();
+ * cy.login({ name: 'JohnDoe' });
+ * cy.login({ attributes: { name: 'JohnDoe' }, state: 'guest', load: ['comments] });
+ */
+Cypress.Commands.add('login', (attributes = {}) => {
+ // Are we using the new object system.
+ let requestBody = attributes.attributes || attributes.state || attributes.load ? attributes : { attributes };
+
+ return cy
+ .csrfToken()
+ .then((token) => {
+ return cy.request({
+ method: 'POST',
+ url: '/__cypress__/login',
+ body: { ...requestBody, _token: token },
+ log: false,
+ });
+ })
+ .then(({ body }) => {
+ Cypress.Laravel.currentUser = body;
+
+ Cypress.log({
+ name: 'login',
+ message: JSON.stringify(body),
+ consoleProps: () => ({ user: body }),
+ });
+ })
+ .its('body', { log: false });
+});
+
+/**
+ * Fetch the currently authenticated user object.
+ *
+ * @example cy.currentUser();
+ */
+Cypress.Commands.add('currentUser', () => {
+ return cy.csrfToken().then((token) => {
+ return cy
+ .request({
+ method: 'POST',
+ url: '/__cypress__/current-user',
+ body: { _token: token },
+ log: false,
+ })
+ .then((response) => {
+ if (!response.body) {
+ cy.log('No authenticated user found.');
+ }
+
+ Cypress.Laravel.currentUser = response?.body;
+
+ return response?.body;
+ });
+ });
+});
+
+
+/**
+ * Logout the current user.
+ *
+ * @example cy.logout();
+ */
+Cypress.Commands.add('logout', () => {
+ return cy
+ .csrfToken()
+ .then((token) => {
+ return cy.request({
+ method: 'POST',
+ url: '/__cypress__/logout',
+ body: { _token: token },
+ log: false,
+ });
+ })
+ .then(() => {
+ Cypress.log({ name: 'logout', message: '' });
+ });
+});
+
+/**
+ * Fetch a CSRF token.
+ *
+ * @example cy.csrfToken();
+ */
+Cypress.Commands.add('csrfToken', () => {
+ return cy
+ .request({
+ method: 'GET',
+ url: '/__cypress__/csrf_token',
+ log: false,
+ })
+ .its('body', { log: false });
+});
+
+/**
+ * Fetch and store all named routes.
+ *
+ * @example cy.refreshRoutes();
+ */
+Cypress.Commands.add('refreshRoutes', () => {
+ return cy.csrfToken().then((token) => {
+ return cy
+ .request({
+ method: 'POST',
+ url: '/__cypress__/routes',
+ body: { _token: token },
+ log: false,
+ })
+ .its('body', { log: false })
+ .then((routes) => {
+ cy.writeFile(Cypress.config().supportFolder + '/routes.json', routes, {
+ log: false,
+ });
+
+ Cypress.Laravel.routes = routes;
+ });
+ });
+});
+
+/**
+ * Visit the given URL or route.
+ *
+ * @example cy.visit('foo/path');
+ * cy.visit({ route: 'home' });
+ * cy.visit({ route: 'team', parameters: { team: 1 } });
+ */
+Cypress.Commands.overwrite('visit', (originalFn, subject, options) => {
+ if (subject.route) {
+ return originalFn({
+ url: Cypress.Laravel.route(subject.route, subject.parameters || {}),
+ method: Cypress.Laravel.routes[subject.route].method[0],
+ ...options
+ });
+ }
+
+ return originalFn(subject, options);
+});
+
+/**
+ * Create a new Eloquent factory.
+ *
+ * @param {String} model
+ * @param {Number|null} times
+ * @param {Object} attributes
+ *
+ * @example cy.create('App\\User');
+ * cy.create('App\\User', 2);
+ * cy.create('App\\User', 2, { active: false });
+ * cy.create('App\\User', { active: false });
+ * cy.create('App\\User', 2, { active: false });
+ * cy.create('App\\User', 2, { active: false }, ['profile']);
+ * cy.create('App\\User', 2, { active: false }, ['profile'], ['guest']);
+ * cy.create('App\\User', { active: false }, ['profile']);
+ * cy.create('App\\User', { active: false }, ['profile'], ['guest']);
+ * cy.create('App\\User', ['profile']);
+ * cy.create('App\\User', ['profile'], ['guest']);
+ * cy.create({ model: 'App\\User', state: ['guest'], relations: ['profile'], count: 2 }
+ */
+Cypress.Commands.add('create', (model, count = 1, attributes = {}, load = [], state = []) => {
+ let requestBody = {};
+
+ if (typeof model !== 'object') {
+ if (Array.isArray(count)) {
+ state = attributes;
+ attributes = {};
+ load = count;
+ count = 1;
+ }
+
+ if (typeof count === 'object') {
+ state = load;
+ load = attributes;
+ attributes = count;
+ count = 1;
+ }
+
+ requestBody = { model, state, attributes, load, count };
+ } else {
+ requestBody = model;
+ }
+
+ return cy
+ .csrfToken()
+ .then((token) => {
+ return cy.request({
+ method: 'POST',
+ url: '/__cypress__/factory',
+ body: { ...requestBody, _token: token },
+ log: false,
+ });
+ })
+ .then((response) => {
+ Cypress.log({
+ name: 'create',
+ message: requestBody.model + (requestBody.count > 1 ? ` (${requestBody.count} times)` : ''),
+ consoleProps: () => ({ [model]: response.body }),
+ });
+ })
+ .its('body', { log: false });
+});
+
+/**
+ * Refresh the database state.
+ *
+ * @param {Object} options
+ *
+ * @example cy.refreshDatabase();
+ * cy.refreshDatabase({ '--drop-views': true });
+ */
+Cypress.Commands.add('refreshDatabase', (options = {}) => {
+ return cy.artisan('migrate:fresh', options);
+});
+
+/**
+ * Seed the database.
+ *
+ * @param {String} seederClass
+ *
+ * @example cy.seed();
+ * cy.seed('PlansTableSeeder');
+ */
+Cypress.Commands.add('seed', (seederClass = '') => {
+ let options = {};
+
+ if (seederClass) {
+ options['--class'] = seederClass;
+ }
+
+ return cy.artisan('db:seed', options);
+});
+
+/**
+ * Trigger an Artisan command.
+ *
+ * @param {String} command
+ * @param {Object} parameters
+ * @param {Object} options
+ *
+ * @example cy.artisan('cache:clear');
+ */
+Cypress.Commands.add('artisan', (command, parameters = {}, options = {}) => {
+ options = Object.assign({}, { log: true }, options);
+
+ if (options.log) {
+ Cypress.log({
+ name: 'artisan',
+ message: (() => {
+ let message = command;
+
+ for (let key in parameters) {
+ message += ` ${key}="${parameters[key]}"`;
+ }
+
+ return message;
+ })(),
+ consoleProps: () => ({ command, parameters }),
+ });
+ }
+
+ return cy.csrfToken().then((token) => {
+ return cy.request({
+ method: 'POST',
+ url: '/__cypress__/artisan',
+ body: { command: command, parameters: parameters, _token: token },
+ log: false,
+ });
+ });
+});
+
+/**
+ * Execute arbitrary PHP.
+ *
+ * @param {String} command
+ *
+ * @example cy.php('2 + 2');
+ * cy.php('App\\User::count()');
+ */
+Cypress.Commands.add('php', (command) => {
+ return cy
+ .csrfToken()
+ .then((token) => {
+ return cy.request({
+ method: 'POST',
+ url: '/__cypress__/run-php',
+ body: { command: command, _token: token },
+ log: false,
+ });
+ })
+ .then((response) => {
+ Cypress.log({
+ name: 'php',
+ message: command,
+ consoleProps: () => ({ result: response.body.result }),
+ });
+ })
+ .its('body.result', { log: false });
+});
diff --git a/tests/cypress/support/laravel-routes.js b/tests/cypress/support/laravel-routes.js
new file mode 100644
index 000000000000..a87966a94e15
--- /dev/null
+++ b/tests/cypress/support/laravel-routes.js
@@ -0,0 +1,21 @@
+Cypress.Laravel = {
+ routes: {},
+
+ route: (name, parameters = {}) => {
+ assert(
+ Cypress.Laravel.routes.hasOwnProperty(name),
+ `Laravel route "${name}" does not exist.`
+ );
+
+ return ((uri) => {
+ Object.keys(parameters).forEach((parameter) => {
+ uri = uri.replace(
+ new RegExp(`{${parameter}}`),
+ parameters[parameter]
+ );
+ });
+
+ return uri;
+ })(Cypress.Laravel.routes[name].uri);
+ },
+};
diff --git a/tests/cypress/support/routes.json b/tests/cypress/support/routes.json
new file mode 100644
index 000000000000..5dad2ae68bb6
--- /dev/null
+++ b/tests/cypress/support/routes.json
@@ -0,0 +1,5608 @@
+{
+ "debugbar.openhandler": {
+ "name": "debugbar.openhandler",
+ "domain": null,
+ "action": "Barryvdh\\Debugbar\\Controllers\\OpenHandlerController@handle",
+ "uri": "_debugbar/open",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "debugbar.clockwork": {
+ "name": "debugbar.clockwork",
+ "domain": null,
+ "action": "Barryvdh\\Debugbar\\Controllers\\OpenHandlerController@clockwork",
+ "uri": "_debugbar/clockwork/{id}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "debugbar.assets.css": {
+ "name": "debugbar.assets.css",
+ "domain": null,
+ "action": "Barryvdh\\Debugbar\\Controllers\\AssetController@css",
+ "uri": "_debugbar/assets/stylesheets",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "debugbar.assets.js": {
+ "name": "debugbar.assets.js",
+ "domain": null,
+ "action": "Barryvdh\\Debugbar\\Controllers\\AssetController@js",
+ "uri": "_debugbar/assets/javascript",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "debugbar.cache.delete": {
+ "name": "debugbar.cache.delete",
+ "domain": null,
+ "action": "Barryvdh\\Debugbar\\Controllers\\CacheController@delete",
+ "uri": "_debugbar/cache/{key}/{tags?}",
+ "method": [
+ "DELETE"
+ ]
+ },
+ "l5-swagger.default.api": {
+ "name": "l5-swagger.default.api",
+ "domain": null,
+ "action": "\\L5Swagger\\Http\\Controllers\\SwaggerController@api",
+ "uri": "api/documentation",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "l5-swagger.default.docs": {
+ "name": "l5-swagger.default.docs",
+ "domain": null,
+ "action": "\\L5Swagger\\Http\\Controllers\\SwaggerController@docs",
+ "uri": "swagger-docs-that-should-be-inaccessible/{jsonFile?}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "l5-swagger.default.asset": {
+ "name": "l5-swagger.default.asset",
+ "domain": null,
+ "action": "\\L5Swagger\\Http\\Controllers\\SwaggerAssetController@index",
+ "uri": "swagger-docs-that-should-be-inaccessible/asset/{asset}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "l5-swagger.default.oauth2_callback": {
+ "name": "l5-swagger.default.oauth2_callback",
+ "domain": null,
+ "action": "\\L5Swagger\\Http\\Controllers\\SwaggerController@oauth2Callback",
+ "uri": "api/oauth2-callback",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "purchase.serverNotifications.google": {
+ "name": "purchase.serverNotifications.google",
+ "domain": null,
+ "action": "Imdhemy\\Purchases\\Http\\Controllers\\ServerNotificationController@google",
+ "uri": "purchases/subscriptions/google",
+ "method": [
+ "POST"
+ ]
+ },
+ "purchase.serverNotifications.apple": {
+ "name": "purchase.serverNotifications.apple",
+ "domain": null,
+ "action": "Imdhemy\\Purchases\\Http\\Controllers\\ServerNotificationController@apple",
+ "uri": "purchases/subscriptions/apple",
+ "method": [
+ "POST"
+ ]
+ },
+ "cypress.factory": {
+ "name": "cypress.factory",
+ "domain": null,
+ "action": "Laracasts\\Cypress\\Controllers\\CypressController@factory",
+ "uri": "__cypress__/factory",
+ "method": [
+ "POST"
+ ]
+ },
+ "cypress.login": {
+ "name": "cypress.login",
+ "domain": null,
+ "action": "Laracasts\\Cypress\\Controllers\\CypressController@login",
+ "uri": "__cypress__/login",
+ "method": [
+ "POST"
+ ]
+ },
+ "cypress.logout": {
+ "name": "cypress.logout",
+ "domain": null,
+ "action": "Laracasts\\Cypress\\Controllers\\CypressController@logout",
+ "uri": "__cypress__/logout",
+ "method": [
+ "POST"
+ ]
+ },
+ "cypress.artisan": {
+ "name": "cypress.artisan",
+ "domain": null,
+ "action": "Laracasts\\Cypress\\Controllers\\CypressController@artisan",
+ "uri": "__cypress__/artisan",
+ "method": [
+ "POST"
+ ]
+ },
+ "cypress.run-php": {
+ "name": "cypress.run-php",
+ "domain": null,
+ "action": "Laracasts\\Cypress\\Controllers\\CypressController@runPhp",
+ "uri": "__cypress__/run-php",
+ "method": [
+ "POST"
+ ]
+ },
+ "cypress.csrf-token": {
+ "name": "cypress.csrf-token",
+ "domain": null,
+ "action": "Laracasts\\Cypress\\Controllers\\CypressController@csrfToken",
+ "uri": "__cypress__/csrf_token",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "cypress.routes": {
+ "name": "cypress.routes",
+ "domain": null,
+ "action": "Laracasts\\Cypress\\Controllers\\CypressController@routes",
+ "uri": "__cypress__/routes",
+ "method": [
+ "POST"
+ ]
+ },
+ "cypress.current-user": {
+ "name": "cypress.current-user",
+ "domain": null,
+ "action": "Laracasts\\Cypress\\Controllers\\CypressController@currentUser",
+ "uri": "__cypress__/current-user",
+ "method": [
+ "POST"
+ ]
+ },
+ "dusk.login": {
+ "name": "dusk.login",
+ "domain": null,
+ "action": "Laravel\\Dusk\\Http\\Controllers\\UserController@login",
+ "uri": "_dusk/login/{userId}/{guard?}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "dusk.logout": {
+ "name": "dusk.logout",
+ "domain": null,
+ "action": "Laravel\\Dusk\\Http\\Controllers\\UserController@logout",
+ "uri": "_dusk/logout/{guard?}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "dusk.user": {
+ "name": "dusk.user",
+ "domain": null,
+ "action": "Laravel\\Dusk\\Http\\Controllers\\UserController@user",
+ "uri": "_dusk/user/{guard?}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "livewire.message": {
+ "name": "livewire.message",
+ "domain": null,
+ "action": "Livewire\\Controllers\\HttpConnectionHandler",
+ "uri": "livewire/message/{name}",
+ "method": [
+ "POST"
+ ]
+ },
+ "livewire.upload-file": {
+ "name": "livewire.upload-file",
+ "domain": null,
+ "action": "Livewire\\Controllers\\FileUploadHandler@handle",
+ "uri": "livewire/upload-file",
+ "method": [
+ "POST"
+ ]
+ },
+ "livewire.preview-file": {
+ "name": "livewire.preview-file",
+ "domain": null,
+ "action": "Livewire\\Controllers\\FilePreviewHandler@handle",
+ "uri": "livewire/preview-file/{filename}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "generated::9tgxNSXus6SSV0ES": {
+ "name": "generated::9tgxNSXus6SSV0ES",
+ "domain": null,
+ "action": "Livewire\\Controllers\\LivewireJavaScriptAssets@source",
+ "uri": "livewire/livewire.js",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "generated::zhcNBnSOTjJa5Auk": {
+ "name": "generated::zhcNBnSOTjJa5Auk",
+ "domain": null,
+ "action": "Livewire\\Controllers\\LivewireJavaScriptAssets@maps",
+ "uri": "livewire/livewire.js.map",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "ignition.healthCheck": {
+ "name": "ignition.healthCheck",
+ "domain": null,
+ "action": "Spatie\\LaravelIgnition\\Http\\Controllers\\HealthCheckController",
+ "uri": "_ignition/health-check",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "ignition.executeSolution": {
+ "name": "ignition.executeSolution",
+ "domain": null,
+ "action": "Spatie\\LaravelIgnition\\Http\\Controllers\\ExecuteSolutionController",
+ "uri": "_ignition/execute-solution",
+ "method": [
+ "POST"
+ ]
+ },
+ "ignition.updateConfig": {
+ "name": "ignition.updateConfig",
+ "domain": null,
+ "action": "Spatie\\LaravelIgnition\\Http\\Controllers\\UpdateConfigController",
+ "uri": "_ignition/update-config",
+ "method": [
+ "POST"
+ ]
+ },
+ "signup.submit": {
+ "name": "signup.submit",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\AccountController@store",
+ "uri": "api/v1/signup",
+ "method": [
+ "POST"
+ ]
+ },
+ "generated::lcjLK643w88fu7E3": {
+ "name": "generated::lcjLK643w88fu7E3",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\Auth\\LoginController@oauthApiLogin",
+ "uri": "api/v1/oauth_login",
+ "method": [
+ "POST"
+ ]
+ },
+ "login.submit": {
+ "name": "login.submit",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\Auth\\LoginController@apiLogin",
+ "uri": "api/v1/login",
+ "method": [
+ "POST"
+ ]
+ },
+ "generated::1SUcWtUJGUV0tfVM": {
+ "name": "generated::1SUcWtUJGUV0tfVM",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\Auth\\ForgotPasswordController@sendResetLinkEmail",
+ "uri": "api/v1/reset_password",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.account.update": {
+ "name": "api.account.update",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\AccountController@update",
+ "uri": "api/v1/accounts/{account}",
+ "method": [
+ "PUT"
+ ]
+ },
+ "api.bank_integrations.index": {
+ "name": "api.bank_integrations.index",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\BankIntegrationController@index",
+ "uri": "api/v1/bank_integrations",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.bank_integrations.create": {
+ "name": "api.bank_integrations.create",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\BankIntegrationController@create",
+ "uri": "api/v1/bank_integrations/create",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.bank_integrations.store": {
+ "name": "api.bank_integrations.store",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\BankIntegrationController@store",
+ "uri": "api/v1/bank_integrations",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.bank_integrations.show": {
+ "name": "api.bank_integrations.show",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\BankIntegrationController@show",
+ "uri": "api/v1/bank_integrations/{bank_integration}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.bank_integrations.edit": {
+ "name": "api.bank_integrations.edit",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\BankIntegrationController@edit",
+ "uri": "api/v1/bank_integrations/{bank_integration}/edit",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.bank_integrations.update": {
+ "name": "api.bank_integrations.update",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\BankIntegrationController@update",
+ "uri": "api/v1/bank_integrations/{bank_integration}",
+ "method": [
+ "PUT",
+ "PATCH"
+ ]
+ },
+ "api.bank_integrations.destroy": {
+ "name": "api.bank_integrations.destroy",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\BankIntegrationController@destroy",
+ "uri": "api/v1/bank_integrations/{bank_integration}",
+ "method": [
+ "DELETE"
+ ]
+ },
+ "api.bank_integrations.refresh_accounts": {
+ "name": "api.bank_integrations.refresh_accounts",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\BankIntegrationController@refreshAccounts",
+ "uri": "api/v1/bank_integrations/refresh_accounts",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.bank_integrations.remove_account": {
+ "name": "api.bank_integrations.remove_account",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\BankIntegrationController@removeAccount",
+ "uri": "api/v1/bank_integrations/remove_account/{acc_id}",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.bank_integrations.transactions": {
+ "name": "api.bank_integrations.transactions",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\BankIntegrationController@getTransactions",
+ "uri": "api/v1/bank_integrations/get_transactions/{acc_id}",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.bank_integrations.bulk": {
+ "name": "api.bank_integrations.bulk",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\BankIntegrationController@bulk",
+ "uri": "api/v1/bank_integrations/bulk",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.bank_transactions.index": {
+ "name": "api.bank_transactions.index",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\BankTransactionController@index",
+ "uri": "api/v1/bank_transactions",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.bank_transactions.create": {
+ "name": "api.bank_transactions.create",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\BankTransactionController@create",
+ "uri": "api/v1/bank_transactions/create",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.bank_transactions.store": {
+ "name": "api.bank_transactions.store",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\BankTransactionController@store",
+ "uri": "api/v1/bank_transactions",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.bank_transactions.show": {
+ "name": "api.bank_transactions.show",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\BankTransactionController@show",
+ "uri": "api/v1/bank_transactions/{bank_transaction}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.bank_transactions.edit": {
+ "name": "api.bank_transactions.edit",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\BankTransactionController@edit",
+ "uri": "api/v1/bank_transactions/{bank_transaction}/edit",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.bank_transactions.update": {
+ "name": "api.bank_transactions.update",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\BankTransactionController@update",
+ "uri": "api/v1/bank_transactions/{bank_transaction}",
+ "method": [
+ "PUT",
+ "PATCH"
+ ]
+ },
+ "api.bank_transactions.destroy": {
+ "name": "api.bank_transactions.destroy",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\BankTransactionController@destroy",
+ "uri": "api/v1/bank_transactions/{bank_transaction}",
+ "method": [
+ "DELETE"
+ ]
+ },
+ "api.bank_transactions.bulk": {
+ "name": "api.bank_transactions.bulk",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\BankTransactionController@bulk",
+ "uri": "api/v1/bank_transactions/bulk",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.bank_transactions.match": {
+ "name": "api.bank_transactions.match",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\BankTransactionController@match",
+ "uri": "api/v1/bank_transactions/match",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.bank_transaction_rules.index": {
+ "name": "api.bank_transaction_rules.index",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\BankTransactionRuleController@index",
+ "uri": "api/v1/bank_transaction_rules",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.bank_transaction_rules.create": {
+ "name": "api.bank_transaction_rules.create",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\BankTransactionRuleController@create",
+ "uri": "api/v1/bank_transaction_rules/create",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.bank_transaction_rules.store": {
+ "name": "api.bank_transaction_rules.store",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\BankTransactionRuleController@store",
+ "uri": "api/v1/bank_transaction_rules",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.bank_transaction_rules.show": {
+ "name": "api.bank_transaction_rules.show",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\BankTransactionRuleController@show",
+ "uri": "api/v1/bank_transaction_rules/{bank_transaction_rule}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.bank_transaction_rules.edit": {
+ "name": "api.bank_transaction_rules.edit",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\BankTransactionRuleController@edit",
+ "uri": "api/v1/bank_transaction_rules/{bank_transaction_rule}/edit",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.bank_transaction_rules.update": {
+ "name": "api.bank_transaction_rules.update",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\BankTransactionRuleController@update",
+ "uri": "api/v1/bank_transaction_rules/{bank_transaction_rule}",
+ "method": [
+ "PUT",
+ "PATCH"
+ ]
+ },
+ "api.bank_transaction_rules.destroy": {
+ "name": "api.bank_transaction_rules.destroy",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\BankTransactionRuleController@destroy",
+ "uri": "api/v1/bank_transaction_rules/{bank_transaction_rule}",
+ "method": [
+ "DELETE"
+ ]
+ },
+ "api.bank_transaction_rules.bulk": {
+ "name": "api.bank_transaction_rules.bulk",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\BankTransactionRuleController@bulk",
+ "uri": "api/v1/bank_transaction_rules/bulk",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.check_subdomain": {
+ "name": "api.check_subdomain",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\SubdomainController@index",
+ "uri": "api/v1/check_subdomain",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.ping": {
+ "name": "api.ping",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\PingController@index",
+ "uri": "api/v1/ping",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.health_check": {
+ "name": "api.health_check",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\PingController@health",
+ "uri": "api/v1/health_check",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.": {
+ "name": "api.",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ActivityController@index",
+ "uri": "api/v1/activities",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.generated::hUG9w98np43C7mkz": {
+ "name": "api.generated::hUG9w98np43C7mkz",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ActivityController@downloadHistoricalEntity",
+ "uri": "api/v1/activities/download_entity/{activity}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.chart.totals": {
+ "name": "api.chart.totals",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ChartController@totals",
+ "uri": "api/v1/charts/totals",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.chart.chart_summary": {
+ "name": "api.chart.chart_summary",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ChartController@chart_summary",
+ "uri": "api/v1/charts/chart_summary",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.license.index": {
+ "name": "api.license.index",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\LicenseController@index",
+ "uri": "api/v1/claim_license",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.clients.index": {
+ "name": "api.clients.index",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientController@index",
+ "uri": "api/v1/clients",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.clients.create": {
+ "name": "api.clients.create",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientController@create",
+ "uri": "api/v1/clients/create",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.clients.store": {
+ "name": "api.clients.store",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientController@store",
+ "uri": "api/v1/clients",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.clients.show": {
+ "name": "api.clients.show",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientController@show",
+ "uri": "api/v1/clients/{client}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.clients.edit": {
+ "name": "api.clients.edit",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientController@edit",
+ "uri": "api/v1/clients/{client}/edit",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.clients.update": {
+ "name": "api.clients.update",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientController@update",
+ "uri": "api/v1/clients/{client}",
+ "method": [
+ "PUT",
+ "PATCH"
+ ]
+ },
+ "api.clients.destroy": {
+ "name": "api.clients.destroy",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientController@destroy",
+ "uri": "api/v1/clients/{client}",
+ "method": [
+ "DELETE"
+ ]
+ },
+ "api.clients.adjust_ledger": {
+ "name": "api.clients.adjust_ledger",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientController@adjustLedger",
+ "uri": "api/v1/clients/{client}/adjust_ledger",
+ "method": [
+ "PUT"
+ ]
+ },
+ "api.clients.upload": {
+ "name": "api.clients.upload",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientController@upload",
+ "uri": "api/v1/clients/{client}/upload",
+ "method": [
+ "PUT"
+ ]
+ },
+ "api.clients.purge": {
+ "name": "api.clients.purge",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientController@purge",
+ "uri": "api/v1/clients/{client}/purge",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.clients.merge": {
+ "name": "api.clients.merge",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientController@merge",
+ "uri": "api/v1/clients/{client}/{mergeable_client}/merge",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.clients.bulk": {
+ "name": "api.clients.bulk",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientController@bulk",
+ "uri": "api/v1/clients/bulk",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.filters": {
+ "name": "api.filters",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\FilterController@index",
+ "uri": "api/v1/filters/{entity}",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.client_gateway_tokens.index": {
+ "name": "api.client_gateway_tokens.index",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientGatewayTokenController@index",
+ "uri": "api/v1/client_gateway_tokens",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.client_gateway_tokens.create": {
+ "name": "api.client_gateway_tokens.create",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientGatewayTokenController@create",
+ "uri": "api/v1/client_gateway_tokens/create",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.client_gateway_tokens.store": {
+ "name": "api.client_gateway_tokens.store",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientGatewayTokenController@store",
+ "uri": "api/v1/client_gateway_tokens",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.client_gateway_tokens.show": {
+ "name": "api.client_gateway_tokens.show",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientGatewayTokenController@show",
+ "uri": "api/v1/client_gateway_tokens/{client_gateway_token}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.client_gateway_tokens.edit": {
+ "name": "api.client_gateway_tokens.edit",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientGatewayTokenController@edit",
+ "uri": "api/v1/client_gateway_tokens/{client_gateway_token}/edit",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.client_gateway_tokens.update": {
+ "name": "api.client_gateway_tokens.update",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientGatewayTokenController@update",
+ "uri": "api/v1/client_gateway_tokens/{client_gateway_token}",
+ "method": [
+ "PUT",
+ "PATCH"
+ ]
+ },
+ "api.client_gateway_tokens.destroy": {
+ "name": "api.client_gateway_tokens.destroy",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientGatewayTokenController@destroy",
+ "uri": "api/v1/client_gateway_tokens/{client_gateway_token}",
+ "method": [
+ "DELETE"
+ ]
+ },
+ "api.generated::22rcJuOzw564jRyT": {
+ "name": "api.generated::22rcJuOzw564jRyT",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ConnectedAccountController@index",
+ "uri": "api/v1/connected_account",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.generated::rMOwW8reRxnSwYCD": {
+ "name": "api.generated::rMOwW8reRxnSwYCD",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ConnectedAccountController@handleGmailOauth",
+ "uri": "api/v1/connected_account/gmail",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.client.statement": {
+ "name": "api.client.statement",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientStatementController@statement",
+ "uri": "api/v1/client_statement",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.generated::bjqXJbSpH7wgQFKb": {
+ "name": "api.generated::bjqXJbSpH7wgQFKb",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\MigrationController@purgeCompany",
+ "uri": "api/v1/companies/purge/{company}",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.generated::NDzAomJjJquQFDMc": {
+ "name": "api.generated::NDzAomJjJquQFDMc",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\MigrationController@purgeCompanySaveSettings",
+ "uri": "api/v1/companies/purge_save_settings/{company}",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.companies.index": {
+ "name": "api.companies.index",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\CompanyController@index",
+ "uri": "api/v1/companies",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.companies.create": {
+ "name": "api.companies.create",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\CompanyController@create",
+ "uri": "api/v1/companies/create",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.companies.store": {
+ "name": "api.companies.store",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\CompanyController@store",
+ "uri": "api/v1/companies",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.companies.show": {
+ "name": "api.companies.show",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\CompanyController@show",
+ "uri": "api/v1/companies/{company}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.companies.edit": {
+ "name": "api.companies.edit",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\CompanyController@edit",
+ "uri": "api/v1/companies/{company}/edit",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.companies.update": {
+ "name": "api.companies.update",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\CompanyController@update",
+ "uri": "api/v1/companies/{company}",
+ "method": [
+ "PUT",
+ "PATCH"
+ ]
+ },
+ "api.companies.destroy": {
+ "name": "api.companies.destroy",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\CompanyController@destroy",
+ "uri": "api/v1/companies/{company}",
+ "method": [
+ "DELETE"
+ ]
+ },
+ "api.generated::nnxmNaHFc5HYMd1e": {
+ "name": "api.generated::nnxmNaHFc5HYMd1e",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\CompanyController@upload",
+ "uri": "api/v1/companies/{company}/upload",
+ "method": [
+ "PUT"
+ ]
+ },
+ "api.generated::Aul4AwF3Vyr0zbA1": {
+ "name": "api.generated::Aul4AwF3Vyr0zbA1",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\CompanyController@default",
+ "uri": "api/v1/companies/{company}/default",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.company_ledger.index": {
+ "name": "api.company_ledger.index",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\CompanyLedgerController@index",
+ "uri": "api/v1/company_ledger",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.company_gateways.index": {
+ "name": "api.company_gateways.index",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\CompanyGatewayController@index",
+ "uri": "api/v1/company_gateways",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.company_gateways.create": {
+ "name": "api.company_gateways.create",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\CompanyGatewayController@create",
+ "uri": "api/v1/company_gateways/create",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.company_gateways.store": {
+ "name": "api.company_gateways.store",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\CompanyGatewayController@store",
+ "uri": "api/v1/company_gateways",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.company_gateways.show": {
+ "name": "api.company_gateways.show",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\CompanyGatewayController@show",
+ "uri": "api/v1/company_gateways/{company_gateway}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.company_gateways.edit": {
+ "name": "api.company_gateways.edit",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\CompanyGatewayController@edit",
+ "uri": "api/v1/company_gateways/{company_gateway}/edit",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.company_gateways.update": {
+ "name": "api.company_gateways.update",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\CompanyGatewayController@update",
+ "uri": "api/v1/company_gateways/{company_gateway}",
+ "method": [
+ "PUT",
+ "PATCH"
+ ]
+ },
+ "api.company_gateways.destroy": {
+ "name": "api.company_gateways.destroy",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\CompanyGatewayController@destroy",
+ "uri": "api/v1/company_gateways/{company_gateway}",
+ "method": [
+ "DELETE"
+ ]
+ },
+ "api.company_gateways.bulk": {
+ "name": "api.company_gateways.bulk",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\CompanyGatewayController@bulk",
+ "uri": "api/v1/company_gateways/bulk",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.generated::UhL9M8n8I9K6MkuN": {
+ "name": "api.generated::UhL9M8n8I9K6MkuN",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\CompanyUserController@update",
+ "uri": "api/v1/company_users/{user}",
+ "method": [
+ "PUT"
+ ]
+ },
+ "api.credits.index": {
+ "name": "api.credits.index",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\CreditController@index",
+ "uri": "api/v1/credits",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.credits.create": {
+ "name": "api.credits.create",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\CreditController@create",
+ "uri": "api/v1/credits/create",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.credits.store": {
+ "name": "api.credits.store",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\CreditController@store",
+ "uri": "api/v1/credits",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.credits.show": {
+ "name": "api.credits.show",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\CreditController@show",
+ "uri": "api/v1/credits/{credit}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.credits.edit": {
+ "name": "api.credits.edit",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\CreditController@edit",
+ "uri": "api/v1/credits/{credit}/edit",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.credits.update": {
+ "name": "api.credits.update",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\CreditController@update",
+ "uri": "api/v1/credits/{credit}",
+ "method": [
+ "PUT",
+ "PATCH"
+ ]
+ },
+ "api.credits.destroy": {
+ "name": "api.credits.destroy",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\CreditController@destroy",
+ "uri": "api/v1/credits/{credit}",
+ "method": [
+ "DELETE"
+ ]
+ },
+ "api.credits.upload": {
+ "name": "api.credits.upload",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\CreditController@upload",
+ "uri": "api/v1/credits/{credit}/upload",
+ "method": [
+ "PUT"
+ ]
+ },
+ "api.credits.action": {
+ "name": "api.credits.action",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\CreditController@action",
+ "uri": "api/v1/credits/{credit}/{action}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.credits.bulk": {
+ "name": "api.credits.bulk",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\CreditController@bulk",
+ "uri": "api/v1/credits/bulk",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.designs.index": {
+ "name": "api.designs.index",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\DesignController@index",
+ "uri": "api/v1/designs",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.designs.create": {
+ "name": "api.designs.create",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\DesignController@create",
+ "uri": "api/v1/designs/create",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.designs.store": {
+ "name": "api.designs.store",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\DesignController@store",
+ "uri": "api/v1/designs",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.designs.show": {
+ "name": "api.designs.show",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\DesignController@show",
+ "uri": "api/v1/designs/{design}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.designs.edit": {
+ "name": "api.designs.edit",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\DesignController@edit",
+ "uri": "api/v1/designs/{design}/edit",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.designs.update": {
+ "name": "api.designs.update",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\DesignController@update",
+ "uri": "api/v1/designs/{design}",
+ "method": [
+ "PUT",
+ "PATCH"
+ ]
+ },
+ "api.designs.destroy": {
+ "name": "api.designs.destroy",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\DesignController@destroy",
+ "uri": "api/v1/designs/{design}",
+ "method": [
+ "DELETE"
+ ]
+ },
+ "api.designs.bulk": {
+ "name": "api.designs.bulk",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\DesignController@bulk",
+ "uri": "api/v1/designs/bulk",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.designs.default": {
+ "name": "api.designs.default",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\DesignController@default",
+ "uri": "api/v1/designs/set/default",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.documents.index": {
+ "name": "api.documents.index",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\DocumentController@index",
+ "uri": "api/v1/documents",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.documents.create": {
+ "name": "api.documents.create",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\DocumentController@create",
+ "uri": "api/v1/documents/create",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.documents.store": {
+ "name": "api.documents.store",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\DocumentController@store",
+ "uri": "api/v1/documents",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.documents.show": {
+ "name": "api.documents.show",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\DocumentController@show",
+ "uri": "api/v1/documents/{document}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.documents.edit": {
+ "name": "api.documents.edit",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\DocumentController@edit",
+ "uri": "api/v1/documents/{document}/edit",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.documents.update": {
+ "name": "api.documents.update",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\DocumentController@update",
+ "uri": "api/v1/documents/{document}",
+ "method": [
+ "PUT",
+ "PATCH"
+ ]
+ },
+ "api.documents.destroy": {
+ "name": "api.documents.destroy",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\DocumentController@destroy",
+ "uri": "api/v1/documents/{document}",
+ "method": [
+ "DELETE"
+ ]
+ },
+ "api.documents.download": {
+ "name": "api.documents.download",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\DocumentController@download",
+ "uri": "api/v1/documents/{document}/download",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.documents.bulk": {
+ "name": "api.documents.bulk",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\DocumentController@bulk",
+ "uri": "api/v1/documents/bulk",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.email.send": {
+ "name": "api.email.send",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\EmailController@send",
+ "uri": "api/v1/emails",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.expenses.index": {
+ "name": "api.expenses.index",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ExpenseController@index",
+ "uri": "api/v1/expenses",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.expenses.create": {
+ "name": "api.expenses.create",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ExpenseController@create",
+ "uri": "api/v1/expenses/create",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.expenses.store": {
+ "name": "api.expenses.store",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ExpenseController@store",
+ "uri": "api/v1/expenses",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.expenses.show": {
+ "name": "api.expenses.show",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ExpenseController@show",
+ "uri": "api/v1/expenses/{expense}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.expenses.edit": {
+ "name": "api.expenses.edit",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ExpenseController@edit",
+ "uri": "api/v1/expenses/{expense}/edit",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.expenses.update": {
+ "name": "api.expenses.update",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ExpenseController@update",
+ "uri": "api/v1/expenses/{expense}",
+ "method": [
+ "PUT",
+ "PATCH"
+ ]
+ },
+ "api.expenses.destroy": {
+ "name": "api.expenses.destroy",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ExpenseController@destroy",
+ "uri": "api/v1/expenses/{expense}",
+ "method": [
+ "DELETE"
+ ]
+ },
+ "api.generated::OWiGWLlLZWpbFSQ2": {
+ "name": "api.generated::OWiGWLlLZWpbFSQ2",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ExpenseController@upload",
+ "uri": "api/v1/expenses/{expense}/upload",
+ "method": [
+ "PUT"
+ ]
+ },
+ "api.expenses.bulk": {
+ "name": "api.expenses.bulk",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ExpenseController@bulk",
+ "uri": "api/v1/expenses/bulk",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.export.index": {
+ "name": "api.export.index",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ExportController@index",
+ "uri": "api/v1/export",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.expense_categories.index": {
+ "name": "api.expense_categories.index",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ExpenseCategoryController@index",
+ "uri": "api/v1/expense_categories",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.expense_categories.create": {
+ "name": "api.expense_categories.create",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ExpenseCategoryController@create",
+ "uri": "api/v1/expense_categories/create",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.expense_categories.store": {
+ "name": "api.expense_categories.store",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ExpenseCategoryController@store",
+ "uri": "api/v1/expense_categories",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.expense_categories.show": {
+ "name": "api.expense_categories.show",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ExpenseCategoryController@show",
+ "uri": "api/v1/expense_categories/{expense_category}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.expense_categories.edit": {
+ "name": "api.expense_categories.edit",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ExpenseCategoryController@edit",
+ "uri": "api/v1/expense_categories/{expense_category}/edit",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.expense_categories.update": {
+ "name": "api.expense_categories.update",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ExpenseCategoryController@update",
+ "uri": "api/v1/expense_categories/{expense_category}",
+ "method": [
+ "PUT",
+ "PATCH"
+ ]
+ },
+ "api.expense_categories.destroy": {
+ "name": "api.expense_categories.destroy",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ExpenseCategoryController@destroy",
+ "uri": "api/v1/expense_categories/{expense_category}",
+ "method": [
+ "DELETE"
+ ]
+ },
+ "api.expense_categories.bulk": {
+ "name": "api.expense_categories.bulk",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ExpenseCategoryController@bulk",
+ "uri": "api/v1/expense_categories/bulk",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.group_settings.index": {
+ "name": "api.group_settings.index",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\GroupSettingController@index",
+ "uri": "api/v1/group_settings",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.group_settings.create": {
+ "name": "api.group_settings.create",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\GroupSettingController@create",
+ "uri": "api/v1/group_settings/create",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.group_settings.store": {
+ "name": "api.group_settings.store",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\GroupSettingController@store",
+ "uri": "api/v1/group_settings",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.group_settings.show": {
+ "name": "api.group_settings.show",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\GroupSettingController@show",
+ "uri": "api/v1/group_settings/{group_setting}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.group_settings.edit": {
+ "name": "api.group_settings.edit",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\GroupSettingController@edit",
+ "uri": "api/v1/group_settings/{group_setting}/edit",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.group_settings.update": {
+ "name": "api.group_settings.update",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\GroupSettingController@update",
+ "uri": "api/v1/group_settings/{group_setting}",
+ "method": [
+ "PUT",
+ "PATCH"
+ ]
+ },
+ "api.group_settings.destroy": {
+ "name": "api.group_settings.destroy",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\GroupSettingController@destroy",
+ "uri": "api/v1/group_settings/{group_setting}",
+ "method": [
+ "DELETE"
+ ]
+ },
+ "api.generated::9lZCDBC6fDL5q21R": {
+ "name": "api.generated::9lZCDBC6fDL5q21R",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\GroupSettingController@bulk",
+ "uri": "api/v1/group_settings/bulk",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.group_settings.upload": {
+ "name": "api.group_settings.upload",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\GroupSettingController@upload",
+ "uri": "api/v1/group_settings/{group_setting}/upload",
+ "method": [
+ "PUT"
+ ]
+ },
+ "api.import.import": {
+ "name": "api.import.import",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ImportController@import",
+ "uri": "api/v1/import",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.import.import_json": {
+ "name": "api.import.import_json",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ImportJsonController@import",
+ "uri": "api/v1/import_json",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.import.preimport": {
+ "name": "api.import.preimport",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ImportController@preimport",
+ "uri": "api/v1/preimport",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.invoices.index": {
+ "name": "api.invoices.index",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\InvoiceController@index",
+ "uri": "api/v1/invoices",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.invoices.create": {
+ "name": "api.invoices.create",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\InvoiceController@create",
+ "uri": "api/v1/invoices/create",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.invoices.store": {
+ "name": "api.invoices.store",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\InvoiceController@store",
+ "uri": "api/v1/invoices",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.invoices.show": {
+ "name": "api.invoices.show",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\InvoiceController@show",
+ "uri": "api/v1/invoices/{invoice}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.invoices.edit": {
+ "name": "api.invoices.edit",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\InvoiceController@edit",
+ "uri": "api/v1/invoices/{invoice}/edit",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.invoices.update": {
+ "name": "api.invoices.update",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\InvoiceController@update",
+ "uri": "api/v1/invoices/{invoice}",
+ "method": [
+ "PUT",
+ "PATCH"
+ ]
+ },
+ "api.invoices.destroy": {
+ "name": "api.invoices.destroy",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\InvoiceController@destroy",
+ "uri": "api/v1/invoices/{invoice}",
+ "method": [
+ "DELETE"
+ ]
+ },
+ "api.invoices.delivery_note": {
+ "name": "api.invoices.delivery_note",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\InvoiceController@deliveryNote",
+ "uri": "api/v1/invoices/{invoice}/delivery_note",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.invoices.action": {
+ "name": "api.invoices.action",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\InvoiceController@action",
+ "uri": "api/v1/invoices/{invoice}/{action}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.invoices.upload": {
+ "name": "api.invoices.upload",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\InvoiceController@upload",
+ "uri": "api/v1/invoices/{invoice}/upload",
+ "method": [
+ "PUT"
+ ]
+ },
+ "api.invoices.downloadPdf": {
+ "name": "api.invoices.downloadPdf",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\InvoiceController@downloadPdf",
+ "uri": "api/v1/invoice/{invitation_key}/download",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.invoices.bulk": {
+ "name": "api.invoices.bulk",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\InvoiceController@bulk",
+ "uri": "api/v1/invoices/bulk",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.invoices.update_reminders": {
+ "name": "api.invoices.update_reminders",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\InvoiceController@update_reminders",
+ "uri": "api/v1/invoices/update_reminders",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.logout": {
+ "name": "api.logout",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\LogoutController@index",
+ "uri": "api/v1/logout",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.migrate.start": {
+ "name": "api.migrate.start",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\MigrationController@index",
+ "uri": "api/v1/migrate",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.generated::JNCu852fm8brWprM": {
+ "name": "api.generated::JNCu852fm8brWprM",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\MigrationController@purgeCompany",
+ "uri": "api/v1/migration/purge/{company}",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.generated::J0qb09d1IZSKuB3T": {
+ "name": "api.generated::J0qb09d1IZSKuB3T",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\MigrationController@purgeCompanySaveSettings",
+ "uri": "api/v1/migration/purge_save_settings/{company}",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.generated::ITSwZTwLBJ1jvaBg": {
+ "name": "api.generated::ITSwZTwLBJ1jvaBg",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\MigrationController@startMigration",
+ "uri": "api/v1/migration/start",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.generated::W3GelFKf9MECShsz": {
+ "name": "api.generated::W3GelFKf9MECShsz",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\OneTimeTokenController@create",
+ "uri": "api/v1/one_time_token",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.payments.index": {
+ "name": "api.payments.index",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\PaymentController@index",
+ "uri": "api/v1/payments",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.payments.create": {
+ "name": "api.payments.create",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\PaymentController@create",
+ "uri": "api/v1/payments/create",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.payments.store": {
+ "name": "api.payments.store",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\PaymentController@store",
+ "uri": "api/v1/payments",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.payments.show": {
+ "name": "api.payments.show",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\PaymentController@show",
+ "uri": "api/v1/payments/{payment}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.payments.edit": {
+ "name": "api.payments.edit",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\PaymentController@edit",
+ "uri": "api/v1/payments/{payment}/edit",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.payments.update": {
+ "name": "api.payments.update",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\PaymentController@update",
+ "uri": "api/v1/payments/{payment}",
+ "method": [
+ "PUT",
+ "PATCH"
+ ]
+ },
+ "api.payments.destroy": {
+ "name": "api.payments.destroy",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\PaymentController@destroy",
+ "uri": "api/v1/payments/{payment}",
+ "method": [
+ "DELETE"
+ ]
+ },
+ "api.payments.refund": {
+ "name": "api.payments.refund",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\PaymentController@refund",
+ "uri": "api/v1/payments/refund",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.payments.bulk": {
+ "name": "api.payments.bulk",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\PaymentController@bulk",
+ "uri": "api/v1/payments/bulk",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.generated::b5ZuoYI6S7M4ijwt": {
+ "name": "api.generated::b5ZuoYI6S7M4ijwt",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\PaymentController@upload",
+ "uri": "api/v1/payments/{payment}/upload",
+ "method": [
+ "PUT"
+ ]
+ },
+ "api.payment_terms.index": {
+ "name": "api.payment_terms.index",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\PaymentTermController@index",
+ "uri": "api/v1/payment_terms",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.payment_terms.create": {
+ "name": "api.payment_terms.create",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\PaymentTermController@create",
+ "uri": "api/v1/payment_terms/create",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.payment_terms.store": {
+ "name": "api.payment_terms.store",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\PaymentTermController@store",
+ "uri": "api/v1/payment_terms",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.payment_terms.show": {
+ "name": "api.payment_terms.show",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\PaymentTermController@show",
+ "uri": "api/v1/payment_terms/{payment_term}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.payment_terms.edit": {
+ "name": "api.payment_terms.edit",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\PaymentTermController@edit",
+ "uri": "api/v1/payment_terms/{payment_term}/edit",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.payment_terms.update": {
+ "name": "api.payment_terms.update",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\PaymentTermController@update",
+ "uri": "api/v1/payment_terms/{payment_term}",
+ "method": [
+ "PUT",
+ "PATCH"
+ ]
+ },
+ "api.payment_terms.destroy": {
+ "name": "api.payment_terms.destroy",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\PaymentTermController@destroy",
+ "uri": "api/v1/payment_terms/{payment_term}",
+ "method": [
+ "DELETE"
+ ]
+ },
+ "api.payment_terms.bulk": {
+ "name": "api.payment_terms.bulk",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\PaymentTermController@bulk",
+ "uri": "api/v1/payment_terms/bulk",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.preview.show": {
+ "name": "api.preview.show",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\PreviewController@show",
+ "uri": "api/v1/preview",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.preview.live": {
+ "name": "api.preview.live",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\PreviewController@live",
+ "uri": "api/v1/live_preview",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.preview_purchase_order.show": {
+ "name": "api.preview_purchase_order.show",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\PreviewPurchaseOrderController@show",
+ "uri": "api/v1/preview/purchase_order",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.preview_purchase_order.live": {
+ "name": "api.preview_purchase_order.live",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\PreviewPurchaseOrderController@live",
+ "uri": "api/v1/live_preview/purchase_order",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.products.index": {
+ "name": "api.products.index",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ProductController@index",
+ "uri": "api/v1/products",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.products.create": {
+ "name": "api.products.create",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ProductController@create",
+ "uri": "api/v1/products/create",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.products.store": {
+ "name": "api.products.store",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ProductController@store",
+ "uri": "api/v1/products",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.products.show": {
+ "name": "api.products.show",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ProductController@show",
+ "uri": "api/v1/products/{product}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.products.edit": {
+ "name": "api.products.edit",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ProductController@edit",
+ "uri": "api/v1/products/{product}/edit",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.products.update": {
+ "name": "api.products.update",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ProductController@update",
+ "uri": "api/v1/products/{product}",
+ "method": [
+ "PUT",
+ "PATCH"
+ ]
+ },
+ "api.products.destroy": {
+ "name": "api.products.destroy",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ProductController@destroy",
+ "uri": "api/v1/products/{product}",
+ "method": [
+ "DELETE"
+ ]
+ },
+ "api.products.bulk": {
+ "name": "api.products.bulk",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ProductController@bulk",
+ "uri": "api/v1/products/bulk",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.generated::71ETdJ7Jkmc3mgmn": {
+ "name": "api.generated::71ETdJ7Jkmc3mgmn",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ProductController@upload",
+ "uri": "api/v1/products/{product}/upload",
+ "method": [
+ "PUT"
+ ]
+ },
+ "api.projects.index": {
+ "name": "api.projects.index",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ProjectController@index",
+ "uri": "api/v1/projects",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.projects.create": {
+ "name": "api.projects.create",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ProjectController@create",
+ "uri": "api/v1/projects/create",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.projects.store": {
+ "name": "api.projects.store",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ProjectController@store",
+ "uri": "api/v1/projects",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.projects.show": {
+ "name": "api.projects.show",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ProjectController@show",
+ "uri": "api/v1/projects/{project}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.projects.edit": {
+ "name": "api.projects.edit",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ProjectController@edit",
+ "uri": "api/v1/projects/{project}/edit",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.projects.update": {
+ "name": "api.projects.update",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ProjectController@update",
+ "uri": "api/v1/projects/{project}",
+ "method": [
+ "PUT",
+ "PATCH"
+ ]
+ },
+ "api.projects.destroy": {
+ "name": "api.projects.destroy",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ProjectController@destroy",
+ "uri": "api/v1/projects/{project}",
+ "method": [
+ "DELETE"
+ ]
+ },
+ "api.projects.bulk": {
+ "name": "api.projects.bulk",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ProjectController@bulk",
+ "uri": "api/v1/projects/bulk",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.projects.upload": {
+ "name": "api.projects.upload",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ProjectController@upload",
+ "uri": "api/v1/projects/{project}/upload",
+ "method": [
+ "PUT"
+ ]
+ },
+ "api.quotes.index": {
+ "name": "api.quotes.index",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\QuoteController@index",
+ "uri": "api/v1/quotes",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.quotes.create": {
+ "name": "api.quotes.create",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\QuoteController@create",
+ "uri": "api/v1/quotes/create",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.quotes.store": {
+ "name": "api.quotes.store",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\QuoteController@store",
+ "uri": "api/v1/quotes",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.quotes.show": {
+ "name": "api.quotes.show",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\QuoteController@show",
+ "uri": "api/v1/quotes/{quote}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.quotes.edit": {
+ "name": "api.quotes.edit",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\QuoteController@edit",
+ "uri": "api/v1/quotes/{quote}/edit",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.quotes.update": {
+ "name": "api.quotes.update",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\QuoteController@update",
+ "uri": "api/v1/quotes/{quote}",
+ "method": [
+ "PUT",
+ "PATCH"
+ ]
+ },
+ "api.quotes.destroy": {
+ "name": "api.quotes.destroy",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\QuoteController@destroy",
+ "uri": "api/v1/quotes/{quote}",
+ "method": [
+ "DELETE"
+ ]
+ },
+ "api.quotes.action": {
+ "name": "api.quotes.action",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\QuoteController@action",
+ "uri": "api/v1/quotes/{quote}/{action}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.quotes.bulk": {
+ "name": "api.quotes.bulk",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\QuoteController@bulk",
+ "uri": "api/v1/quotes/bulk",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.generated::F37vmxMYBp00fEV5": {
+ "name": "api.generated::F37vmxMYBp00fEV5",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\QuoteController@upload",
+ "uri": "api/v1/quotes/{quote}/upload",
+ "method": [
+ "PUT"
+ ]
+ },
+ "api.recurring_expenses.index": {
+ "name": "api.recurring_expenses.index",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\RecurringExpenseController@index",
+ "uri": "api/v1/recurring_expenses",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.recurring_expenses.create": {
+ "name": "api.recurring_expenses.create",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\RecurringExpenseController@create",
+ "uri": "api/v1/recurring_expenses/create",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.recurring_expenses.store": {
+ "name": "api.recurring_expenses.store",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\RecurringExpenseController@store",
+ "uri": "api/v1/recurring_expenses",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.recurring_expenses.show": {
+ "name": "api.recurring_expenses.show",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\RecurringExpenseController@show",
+ "uri": "api/v1/recurring_expenses/{recurring_expense}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.recurring_expenses.edit": {
+ "name": "api.recurring_expenses.edit",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\RecurringExpenseController@edit",
+ "uri": "api/v1/recurring_expenses/{recurring_expense}/edit",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.recurring_expenses.update": {
+ "name": "api.recurring_expenses.update",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\RecurringExpenseController@update",
+ "uri": "api/v1/recurring_expenses/{recurring_expense}",
+ "method": [
+ "PUT",
+ "PATCH"
+ ]
+ },
+ "api.recurring_expenses.destroy": {
+ "name": "api.recurring_expenses.destroy",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\RecurringExpenseController@destroy",
+ "uri": "api/v1/recurring_expenses/{recurring_expense}",
+ "method": [
+ "DELETE"
+ ]
+ },
+ "api.recurring_expenses.bulk": {
+ "name": "api.recurring_expenses.bulk",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\RecurringExpenseController@bulk",
+ "uri": "api/v1/recurring_expenses/bulk",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.generated::oS0LS4kGxzFgcA7G": {
+ "name": "api.generated::oS0LS4kGxzFgcA7G",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\RecurringExpenseController@upload",
+ "uri": "api/v1/recurring_expenses/{recurring_expense}/upload",
+ "method": [
+ "PUT"
+ ]
+ },
+ "api.recurring_invoices.index": {
+ "name": "api.recurring_invoices.index",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\RecurringInvoiceController@index",
+ "uri": "api/v1/recurring_invoices",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.recurring_invoices.create": {
+ "name": "api.recurring_invoices.create",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\RecurringInvoiceController@create",
+ "uri": "api/v1/recurring_invoices/create",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.recurring_invoices.store": {
+ "name": "api.recurring_invoices.store",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\RecurringInvoiceController@store",
+ "uri": "api/v1/recurring_invoices",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.recurring_invoices.show": {
+ "name": "api.recurring_invoices.show",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\RecurringInvoiceController@show",
+ "uri": "api/v1/recurring_invoices/{recurring_invoice}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.recurring_invoices.edit": {
+ "name": "api.recurring_invoices.edit",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\RecurringInvoiceController@edit",
+ "uri": "api/v1/recurring_invoices/{recurring_invoice}/edit",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.recurring_invoices.update": {
+ "name": "api.recurring_invoices.update",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\RecurringInvoiceController@update",
+ "uri": "api/v1/recurring_invoices/{recurring_invoice}",
+ "method": [
+ "PUT",
+ "PATCH"
+ ]
+ },
+ "api.recurring_invoices.destroy": {
+ "name": "api.recurring_invoices.destroy",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\RecurringInvoiceController@destroy",
+ "uri": "api/v1/recurring_invoices/{recurring_invoice}",
+ "method": [
+ "DELETE"
+ ]
+ },
+ "api.recurring_invoices.bulk": {
+ "name": "api.recurring_invoices.bulk",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\RecurringInvoiceController@bulk",
+ "uri": "api/v1/recurring_invoices/bulk",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.generated::THUWuXBktrWauVQ9": {
+ "name": "api.generated::THUWuXBktrWauVQ9",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\RecurringInvoiceController@upload",
+ "uri": "api/v1/recurring_invoices/{recurring_invoice}/upload",
+ "method": [
+ "PUT"
+ ]
+ },
+ "api.recurring_quotes.index": {
+ "name": "api.recurring_quotes.index",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\RecurringQuoteController@index",
+ "uri": "api/v1/recurring_quotes",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.recurring_quotes.create": {
+ "name": "api.recurring_quotes.create",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\RecurringQuoteController@create",
+ "uri": "api/v1/recurring_quotes/create",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.recurring_quotes.store": {
+ "name": "api.recurring_quotes.store",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\RecurringQuoteController@store",
+ "uri": "api/v1/recurring_quotes",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.recurring_quotes.show": {
+ "name": "api.recurring_quotes.show",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\RecurringQuoteController@show",
+ "uri": "api/v1/recurring_quotes/{recurring_quote}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.recurring_quotes.edit": {
+ "name": "api.recurring_quotes.edit",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\RecurringQuoteController@edit",
+ "uri": "api/v1/recurring_quotes/{recurring_quote}/edit",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.recurring_quotes.update": {
+ "name": "api.recurring_quotes.update",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\RecurringQuoteController@update",
+ "uri": "api/v1/recurring_quotes/{recurring_quote}",
+ "method": [
+ "PUT",
+ "PATCH"
+ ]
+ },
+ "api.recurring_quotes.destroy": {
+ "name": "api.recurring_quotes.destroy",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\RecurringQuoteController@destroy",
+ "uri": "api/v1/recurring_quotes/{recurring_quote}",
+ "method": [
+ "DELETE"
+ ]
+ },
+ "api.recurring_quotes.bulk": {
+ "name": "api.recurring_quotes.bulk",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\RecurringQuoteController@bulk",
+ "uri": "api/v1/recurring_quotes/bulk",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.generated::zkD4lZXhrUXOjOZV": {
+ "name": "api.generated::zkD4lZXhrUXOjOZV",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\RecurringQuoteController@upload",
+ "uri": "api/v1/recurring_quotes/{recurring_quote}/upload",
+ "method": [
+ "PUT"
+ ]
+ },
+ "api.generated::WmgewfqthVFRED2d": {
+ "name": "api.generated::WmgewfqthVFRED2d",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\Auth\\LoginController@refresh",
+ "uri": "api/v1/refresh",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.generated::aymYLRFHIROz1CoI": {
+ "name": "api.generated::aymYLRFHIROz1CoI",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\Reports\\ClientReportController",
+ "uri": "api/v1/reports/clients",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.generated::62Dhs7Yn6QvaFZ2K": {
+ "name": "api.generated::62Dhs7Yn6QvaFZ2K",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\Reports\\ClientContactReportController",
+ "uri": "api/v1/reports/contacts",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.generated::DYbmp87RBttLr1UR": {
+ "name": "api.generated::DYbmp87RBttLr1UR",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\Reports\\CreditReportController",
+ "uri": "api/v1/reports/credits",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.generated::9ylFhDv2gS6bYYR3": {
+ "name": "api.generated::9ylFhDv2gS6bYYR3",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\Reports\\DocumentReportController",
+ "uri": "api/v1/reports/documents",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.generated::BxIThlKQJ8Xb4Snc": {
+ "name": "api.generated::BxIThlKQJ8Xb4Snc",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\Reports\\ExpenseReportController",
+ "uri": "api/v1/reports/expenses",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.generated::iy3PRl2i3JLjIpJS": {
+ "name": "api.generated::iy3PRl2i3JLjIpJS",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\Reports\\InvoiceReportController",
+ "uri": "api/v1/reports/invoices",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.generated::Ut3nqZF6THUhM90z": {
+ "name": "api.generated::Ut3nqZF6THUhM90z",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\Reports\\InvoiceItemReportController",
+ "uri": "api/v1/reports/invoice_items",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.generated::OEdvit54646VZKfS": {
+ "name": "api.generated::OEdvit54646VZKfS",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\Reports\\QuoteReportController",
+ "uri": "api/v1/reports/quotes",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.generated::5yoyFjddx6bw5qm4": {
+ "name": "api.generated::5yoyFjddx6bw5qm4",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\Reports\\QuoteItemReportController",
+ "uri": "api/v1/reports/quote_items",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.generated::Zbvku8lj1KcLOzcX": {
+ "name": "api.generated::Zbvku8lj1KcLOzcX",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\Reports\\RecurringInvoiceReportController",
+ "uri": "api/v1/reports/recurring_invoices",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.generated::ST82bPUDej34kcaF": {
+ "name": "api.generated::ST82bPUDej34kcaF",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\Reports\\PaymentReportController",
+ "uri": "api/v1/reports/payments",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.generated::8bSFQS6iGE57gnqO": {
+ "name": "api.generated::8bSFQS6iGE57gnqO",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\Reports\\ProductReportController",
+ "uri": "api/v1/reports/products",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.generated::lexe4yWHwLRtavAk": {
+ "name": "api.generated::lexe4yWHwLRtavAk",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\Reports\\ProductSalesReportController",
+ "uri": "api/v1/reports/product_sales",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.generated::mMlDQpafXpi2y7KC": {
+ "name": "api.generated::mMlDQpafXpi2y7KC",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\Reports\\TaskReportController",
+ "uri": "api/v1/reports/tasks",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.generated::S43GAj6FZKKN9Ute": {
+ "name": "api.generated::S43GAj6FZKKN9Ute",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\Reports\\ProfitAndLossController",
+ "uri": "api/v1/reports/profitloss",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.task_schedulers.index": {
+ "name": "api.task_schedulers.index",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\TaskSchedulerController@index",
+ "uri": "api/v1/task_schedulers",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.task_schedulers.create": {
+ "name": "api.task_schedulers.create",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\TaskSchedulerController@create",
+ "uri": "api/v1/task_schedulers/create",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.task_schedulers.store": {
+ "name": "api.task_schedulers.store",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\TaskSchedulerController@store",
+ "uri": "api/v1/task_schedulers",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.task_schedulers.show": {
+ "name": "api.task_schedulers.show",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\TaskSchedulerController@show",
+ "uri": "api/v1/task_schedulers/{task_scheduler}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.task_schedulers.edit": {
+ "name": "api.task_schedulers.edit",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\TaskSchedulerController@edit",
+ "uri": "api/v1/task_schedulers/{task_scheduler}/edit",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.task_schedulers.update": {
+ "name": "api.task_schedulers.update",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\TaskSchedulerController@update",
+ "uri": "api/v1/task_schedulers/{task_scheduler}",
+ "method": [
+ "PUT",
+ "PATCH"
+ ]
+ },
+ "api.task_schedulers.destroy": {
+ "name": "api.task_schedulers.destroy",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\TaskSchedulerController@destroy",
+ "uri": "api/v1/task_schedulers/{task_scheduler}",
+ "method": [
+ "DELETE"
+ ]
+ },
+ "api.task_schedulers.bulk": {
+ "name": "api.task_schedulers.bulk",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\TaskSchedulerController@bulk",
+ "uri": "api/v1/task_schedulers/bulk",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.generated::Mli43AT6LwA7TTMe": {
+ "name": "api.generated::Mli43AT6LwA7TTMe",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\SchedulerController@index",
+ "uri": "api/v1/scheduler",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.generated::g8kHq9TIw6VjkGEx": {
+ "name": "api.generated::g8kHq9TIw6VjkGEx",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\Support\\Messages\\SendingController",
+ "uri": "api/v1/support/messages/send",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.generated::2O90hX0dRTiHoISd": {
+ "name": "api.generated::2O90hX0dRTiHoISd",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\SelfUpdateController@update",
+ "uri": "api/v1/self-update",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.generated::SMQnAxLt7UFSxZG5": {
+ "name": "api.generated::SMQnAxLt7UFSxZG5",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\SelfUpdateController@checkVersion",
+ "uri": "api/v1/self-update/check_version",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.system_logs.index": {
+ "name": "api.system_logs.index",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\SystemLogController@index",
+ "uri": "api/v1/system_logs",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.system_logs.create": {
+ "name": "api.system_logs.create",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\SystemLogController@create",
+ "uri": "api/v1/system_logs/create",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.system_logs.store": {
+ "name": "api.system_logs.store",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\SystemLogController@store",
+ "uri": "api/v1/system_logs",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.system_logs.show": {
+ "name": "api.system_logs.show",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\SystemLogController@show",
+ "uri": "api/v1/system_logs/{system_log}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.system_logs.edit": {
+ "name": "api.system_logs.edit",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\SystemLogController@edit",
+ "uri": "api/v1/system_logs/{system_log}/edit",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.system_logs.update": {
+ "name": "api.system_logs.update",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\SystemLogController@update",
+ "uri": "api/v1/system_logs/{system_log}",
+ "method": [
+ "PUT",
+ "PATCH"
+ ]
+ },
+ "api.system_logs.destroy": {
+ "name": "api.system_logs.destroy",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\SystemLogController@destroy",
+ "uri": "api/v1/system_logs/{system_log}",
+ "method": [
+ "DELETE"
+ ]
+ },
+ "api.tasks.index": {
+ "name": "api.tasks.index",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\TaskController@index",
+ "uri": "api/v1/tasks",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.tasks.create": {
+ "name": "api.tasks.create",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\TaskController@create",
+ "uri": "api/v1/tasks/create",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.tasks.store": {
+ "name": "api.tasks.store",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\TaskController@store",
+ "uri": "api/v1/tasks",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.tasks.show": {
+ "name": "api.tasks.show",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\TaskController@show",
+ "uri": "api/v1/tasks/{task}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.tasks.edit": {
+ "name": "api.tasks.edit",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\TaskController@edit",
+ "uri": "api/v1/tasks/{task}/edit",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.tasks.update": {
+ "name": "api.tasks.update",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\TaskController@update",
+ "uri": "api/v1/tasks/{task}",
+ "method": [
+ "PUT",
+ "PATCH"
+ ]
+ },
+ "api.tasks.destroy": {
+ "name": "api.tasks.destroy",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\TaskController@destroy",
+ "uri": "api/v1/tasks/{task}",
+ "method": [
+ "DELETE"
+ ]
+ },
+ "api.tasks.bulk": {
+ "name": "api.tasks.bulk",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\TaskController@bulk",
+ "uri": "api/v1/tasks/bulk",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.generated::BNkMBhpaKDH5htD8": {
+ "name": "api.generated::BNkMBhpaKDH5htD8",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\TaskController@upload",
+ "uri": "api/v1/tasks/{task}/upload",
+ "method": [
+ "PUT"
+ ]
+ },
+ "api.generated::DSQ6KzZbD0Nj4vRs": {
+ "name": "api.generated::DSQ6KzZbD0Nj4vRs",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\TaskController@sort",
+ "uri": "api/v1/tasks/sort",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.task_statuses.index": {
+ "name": "api.task_statuses.index",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\TaskStatusController@index",
+ "uri": "api/v1/task_statuses",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.task_statuses.create": {
+ "name": "api.task_statuses.create",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\TaskStatusController@create",
+ "uri": "api/v1/task_statuses/create",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.task_statuses.store": {
+ "name": "api.task_statuses.store",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\TaskStatusController@store",
+ "uri": "api/v1/task_statuses",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.task_statuses.show": {
+ "name": "api.task_statuses.show",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\TaskStatusController@show",
+ "uri": "api/v1/task_statuses/{task_status}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.task_statuses.edit": {
+ "name": "api.task_statuses.edit",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\TaskStatusController@edit",
+ "uri": "api/v1/task_statuses/{task_status}/edit",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.task_statuses.update": {
+ "name": "api.task_statuses.update",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\TaskStatusController@update",
+ "uri": "api/v1/task_statuses/{task_status}",
+ "method": [
+ "PUT",
+ "PATCH"
+ ]
+ },
+ "api.task_statuses.destroy": {
+ "name": "api.task_statuses.destroy",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\TaskStatusController@destroy",
+ "uri": "api/v1/task_statuses/{task_status}",
+ "method": [
+ "DELETE"
+ ]
+ },
+ "api.task_statuses.bulk": {
+ "name": "api.task_statuses.bulk",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\TaskStatusController@bulk",
+ "uri": "api/v1/task_statuses/bulk",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.tax_rates.index": {
+ "name": "api.tax_rates.index",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\TaxRateController@index",
+ "uri": "api/v1/tax_rates",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.tax_rates.create": {
+ "name": "api.tax_rates.create",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\TaxRateController@create",
+ "uri": "api/v1/tax_rates/create",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.tax_rates.store": {
+ "name": "api.tax_rates.store",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\TaxRateController@store",
+ "uri": "api/v1/tax_rates",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.tax_rates.show": {
+ "name": "api.tax_rates.show",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\TaxRateController@show",
+ "uri": "api/v1/tax_rates/{tax_rate}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.tax_rates.edit": {
+ "name": "api.tax_rates.edit",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\TaxRateController@edit",
+ "uri": "api/v1/tax_rates/{tax_rate}/edit",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.tax_rates.update": {
+ "name": "api.tax_rates.update",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\TaxRateController@update",
+ "uri": "api/v1/tax_rates/{tax_rate}",
+ "method": [
+ "PUT",
+ "PATCH"
+ ]
+ },
+ "api.tax_rates.destroy": {
+ "name": "api.tax_rates.destroy",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\TaxRateController@destroy",
+ "uri": "api/v1/tax_rates/{tax_rate}",
+ "method": [
+ "DELETE"
+ ]
+ },
+ "api.tax_rates.bulk": {
+ "name": "api.tax_rates.bulk",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\TaxRateController@bulk",
+ "uri": "api/v1/tax_rates/bulk",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.templates.show": {
+ "name": "api.templates.show",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\TemplateController@show",
+ "uri": "api/v1/templates",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.tokens.index": {
+ "name": "api.tokens.index",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\TokenController@index",
+ "uri": "api/v1/tokens",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.tokens.create": {
+ "name": "api.tokens.create",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\TokenController@create",
+ "uri": "api/v1/tokens/create",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.tokens.store": {
+ "name": "api.tokens.store",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\TokenController@store",
+ "uri": "api/v1/tokens",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.tokens.show": {
+ "name": "api.tokens.show",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\TokenController@show",
+ "uri": "api/v1/tokens/{token}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.tokens.edit": {
+ "name": "api.tokens.edit",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\TokenController@edit",
+ "uri": "api/v1/tokens/{token}/edit",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.tokens.update": {
+ "name": "api.tokens.update",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\TokenController@update",
+ "uri": "api/v1/tokens/{token}",
+ "method": [
+ "PUT",
+ "PATCH"
+ ]
+ },
+ "api.tokens.destroy": {
+ "name": "api.tokens.destroy",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\TokenController@destroy",
+ "uri": "api/v1/tokens/{token}",
+ "method": [
+ "DELETE"
+ ]
+ },
+ "api.tokens.bulk": {
+ "name": "api.tokens.bulk",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\TokenController@bulk",
+ "uri": "api/v1/tokens/bulk",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.generated::iQwZSxzIzx70IxtF": {
+ "name": "api.generated::iQwZSxzIzx70IxtF",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\TwoFactorController@setupTwoFactor",
+ "uri": "api/v1/settings/enable_two_factor",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.generated::PTr1o4tRf7yTSGI3": {
+ "name": "api.generated::PTr1o4tRf7yTSGI3",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\TwoFactorController@enableTwoFactor",
+ "uri": "api/v1/settings/enable_two_factor",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.generated::24H010vh5AAmAco9": {
+ "name": "api.generated::24H010vh5AAmAco9",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\TwoFactorController@disableTwoFactor",
+ "uri": "api/v1/settings/disable_two_factor",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.verify.generate": {
+ "name": "api.verify.generate",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\TwilioController@generate",
+ "uri": "api/v1/verify",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.verify.confirm": {
+ "name": "api.verify.confirm",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\TwilioController@confirm",
+ "uri": "api/v1/verify/confirm",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.vendors.index": {
+ "name": "api.vendors.index",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\VendorController@index",
+ "uri": "api/v1/vendors",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.vendors.create": {
+ "name": "api.vendors.create",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\VendorController@create",
+ "uri": "api/v1/vendors/create",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.vendors.store": {
+ "name": "api.vendors.store",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\VendorController@store",
+ "uri": "api/v1/vendors",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.vendors.show": {
+ "name": "api.vendors.show",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\VendorController@show",
+ "uri": "api/v1/vendors/{vendor}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.vendors.edit": {
+ "name": "api.vendors.edit",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\VendorController@edit",
+ "uri": "api/v1/vendors/{vendor}/edit",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.vendors.update": {
+ "name": "api.vendors.update",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\VendorController@update",
+ "uri": "api/v1/vendors/{vendor}",
+ "method": [
+ "PUT",
+ "PATCH"
+ ]
+ },
+ "api.vendors.destroy": {
+ "name": "api.vendors.destroy",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\VendorController@destroy",
+ "uri": "api/v1/vendors/{vendor}",
+ "method": [
+ "DELETE"
+ ]
+ },
+ "api.vendors.bulk": {
+ "name": "api.vendors.bulk",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\VendorController@bulk",
+ "uri": "api/v1/vendors/bulk",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.generated::BZLuCDpgKz3nMmaY": {
+ "name": "api.generated::BZLuCDpgKz3nMmaY",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\VendorController@upload",
+ "uri": "api/v1/vendors/{vendor}/upload",
+ "method": [
+ "PUT"
+ ]
+ },
+ "api.purchase_orders.index": {
+ "name": "api.purchase_orders.index",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\PurchaseOrderController@index",
+ "uri": "api/v1/purchase_orders",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.purchase_orders.create": {
+ "name": "api.purchase_orders.create",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\PurchaseOrderController@create",
+ "uri": "api/v1/purchase_orders/create",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.purchase_orders.store": {
+ "name": "api.purchase_orders.store",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\PurchaseOrderController@store",
+ "uri": "api/v1/purchase_orders",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.purchase_orders.show": {
+ "name": "api.purchase_orders.show",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\PurchaseOrderController@show",
+ "uri": "api/v1/purchase_orders/{purchase_order}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.purchase_orders.edit": {
+ "name": "api.purchase_orders.edit",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\PurchaseOrderController@edit",
+ "uri": "api/v1/purchase_orders/{purchase_order}/edit",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.purchase_orders.update": {
+ "name": "api.purchase_orders.update",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\PurchaseOrderController@update",
+ "uri": "api/v1/purchase_orders/{purchase_order}",
+ "method": [
+ "PUT",
+ "PATCH"
+ ]
+ },
+ "api.purchase_orders.destroy": {
+ "name": "api.purchase_orders.destroy",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\PurchaseOrderController@destroy",
+ "uri": "api/v1/purchase_orders/{purchase_order}",
+ "method": [
+ "DELETE"
+ ]
+ },
+ "api.purchase_orders.bulk": {
+ "name": "api.purchase_orders.bulk",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\PurchaseOrderController@bulk",
+ "uri": "api/v1/purchase_orders/bulk",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.generated::Q8EXQTr8qdJCPNJ9": {
+ "name": "api.generated::Q8EXQTr8qdJCPNJ9",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\PurchaseOrderController@upload",
+ "uri": "api/v1/purchase_orders/{purchase_order}/upload",
+ "method": [
+ "PUT"
+ ]
+ },
+ "api.purchase_orders.action": {
+ "name": "api.purchase_orders.action",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\PurchaseOrderController@action",
+ "uri": "api/v1/purchase_orders/{purchase_order}/{action}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.generated::cLF9tHEkg3AItUie": {
+ "name": "api.generated::cLF9tHEkg3AItUie",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\UserController@index",
+ "uri": "api/v1/users",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.generated::NaclFWOfrFXf5Ty7": {
+ "name": "api.generated::NaclFWOfrFXf5Ty7",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\UserController@create",
+ "uri": "api/v1/users/create",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.generated::QaO678U9QW3Q2L7Q": {
+ "name": "api.generated::QaO678U9QW3Q2L7Q",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\UserController@show",
+ "uri": "api/v1/users/{user}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.generated::LfpiUfJ0i6DLKqeh": {
+ "name": "api.generated::LfpiUfJ0i6DLKqeh",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\UserController@update",
+ "uri": "api/v1/users/{user}",
+ "method": [
+ "PUT"
+ ]
+ },
+ "api.generated::o0IEjAcNUlkefAKc": {
+ "name": "api.generated::o0IEjAcNUlkefAKc",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\UserController@store",
+ "uri": "api/v1/users",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.generated::iIgPZF6w9LmIEAsq": {
+ "name": "api.generated::iIgPZF6w9LmIEAsq",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\UserController@detach",
+ "uri": "api/v1/users/{user}/detach_from_company",
+ "method": [
+ "DELETE"
+ ]
+ },
+ "api.users.bulk": {
+ "name": "api.users.bulk",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\UserController@bulk",
+ "uri": "api/v1/users/bulk",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.generated::tE9y5fe5gtz2vc6e": {
+ "name": "api.generated::tE9y5fe5gtz2vc6e",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\UserController@invite",
+ "uri": "api/v1/users/{user}/invite",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.generated::JXFzipCBQGvF2TXl": {
+ "name": "api.generated::JXFzipCBQGvF2TXl",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\UserController@reconfirm",
+ "uri": "api/v1/user/{user}/reconfirm",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.webhooks.index": {
+ "name": "api.webhooks.index",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\WebhookController@index",
+ "uri": "api/v1/webhooks",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.webhooks.create": {
+ "name": "api.webhooks.create",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\WebhookController@create",
+ "uri": "api/v1/webhooks/create",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.webhooks.store": {
+ "name": "api.webhooks.store",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\WebhookController@store",
+ "uri": "api/v1/webhooks",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.webhooks.show": {
+ "name": "api.webhooks.show",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\WebhookController@show",
+ "uri": "api/v1/webhooks/{webhook}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.webhooks.edit": {
+ "name": "api.webhooks.edit",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\WebhookController@edit",
+ "uri": "api/v1/webhooks/{webhook}/edit",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.webhooks.update": {
+ "name": "api.webhooks.update",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\WebhookController@update",
+ "uri": "api/v1/webhooks/{webhook}",
+ "method": [
+ "PUT",
+ "PATCH"
+ ]
+ },
+ "api.webhooks.destroy": {
+ "name": "api.webhooks.destroy",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\WebhookController@destroy",
+ "uri": "api/v1/webhooks/{webhook}",
+ "method": [
+ "DELETE"
+ ]
+ },
+ "api.webhooks.bulk": {
+ "name": "api.webhooks.bulk",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\WebhookController@bulk",
+ "uri": "api/v1/webhooks/bulk",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.stripe.update": {
+ "name": "api.stripe.update",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\StripeController@update",
+ "uri": "api/v1/stripe/update_payment_methods",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.stripe.import": {
+ "name": "api.stripe.import",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\StripeController@import",
+ "uri": "api/v1/stripe/import_customers",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.stripe.verify": {
+ "name": "api.stripe.verify",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\StripeController@verify",
+ "uri": "api/v1/stripe/verify",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.stripe.disconnect": {
+ "name": "api.stripe.disconnect",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\StripeController@disconnect",
+ "uri": "api/v1/stripe/disconnect/{company_gateway_id}",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.subscriptions.index": {
+ "name": "api.subscriptions.index",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\SubscriptionController@index",
+ "uri": "api/v1/subscriptions",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.subscriptions.create": {
+ "name": "api.subscriptions.create",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\SubscriptionController@create",
+ "uri": "api/v1/subscriptions/create",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.subscriptions.store": {
+ "name": "api.subscriptions.store",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\SubscriptionController@store",
+ "uri": "api/v1/subscriptions",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.subscriptions.show": {
+ "name": "api.subscriptions.show",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\SubscriptionController@show",
+ "uri": "api/v1/subscriptions/{subscription}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.subscriptions.edit": {
+ "name": "api.subscriptions.edit",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\SubscriptionController@edit",
+ "uri": "api/v1/subscriptions/{subscription}/edit",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "api.subscriptions.update": {
+ "name": "api.subscriptions.update",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\SubscriptionController@update",
+ "uri": "api/v1/subscriptions/{subscription}",
+ "method": [
+ "PUT",
+ "PATCH"
+ ]
+ },
+ "api.subscriptions.destroy": {
+ "name": "api.subscriptions.destroy",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\SubscriptionController@destroy",
+ "uri": "api/v1/subscriptions/{subscription}",
+ "method": [
+ "DELETE"
+ ]
+ },
+ "api.subscriptions.bulk": {
+ "name": "api.subscriptions.bulk",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\SubscriptionController@bulk",
+ "uri": "api/v1/subscriptions/bulk",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.generated::zcZpdTjHdtDpLxLW": {
+ "name": "api.generated::zcZpdTjHdtDpLxLW",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\StaticController",
+ "uri": "api/v1/statics",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "sms_reset.generate": {
+ "name": "sms_reset.generate",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\TwilioController@generate2faResetCode",
+ "uri": "api/v1/sms_reset",
+ "method": [
+ "POST"
+ ]
+ },
+ "sms_reset.confirm": {
+ "name": "sms_reset.confirm",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\TwilioController@confirm2faResetCode",
+ "uri": "api/v1/sms_reset/confirm",
+ "method": [
+ "POST"
+ ]
+ },
+ "payment_webhook": {
+ "name": "payment_webhook",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\PaymentWebhookController",
+ "uri": "payment_webhook/{company_key}/{company_gateway_id}",
+ "method": [
+ "GET",
+ "POST",
+ "HEAD"
+ ]
+ },
+ "payment_notification_webhook": {
+ "name": "payment_notification_webhook",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\PaymentNotificationWebhookController",
+ "uri": "payment_notification_webhook/{company_key}/{company_gateway_id}/{client}",
+ "method": [
+ "GET",
+ "POST",
+ "HEAD"
+ ]
+ },
+ "generated::ZQYgiUyM8ziyaylK": {
+ "name": "generated::ZQYgiUyM8ziyaylK",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\PostMarkController@webhook",
+ "uri": "api/v1/postmark_webhook",
+ "method": [
+ "POST"
+ ]
+ },
+ "generated::zaPZNhsZe5kCRQOf": {
+ "name": "generated::zaPZNhsZe5kCRQOf",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\OneTimeTokenController@router",
+ "uri": "token_hash_router",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "generated::deYiRv49t4s9EtvU": {
+ "name": "generated::deYiRv49t4s9EtvU",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\WebCronController@index",
+ "uri": "webcron",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "generated::zNk9B5Y1TZHythfd": {
+ "name": "generated::zNk9B5Y1TZHythfd",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\HostedMigrationController@getAccount",
+ "uri": "api/v1/get_migration_account",
+ "method": [
+ "POST"
+ ]
+ },
+ "generated::SjmsOCah7DRT9cKO": {
+ "name": "generated::SjmsOCah7DRT9cKO",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\HostedMigrationController@confirmForwarding",
+ "uri": "api/v1/confirm_forwarding",
+ "method": [
+ "POST"
+ ]
+ },
+ "generated::hjNG27uFkl607frE": {
+ "name": "generated::hjNG27uFkl607frE",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\InAppPurchase\\AppleController@process_webhook",
+ "uri": "api/v1/process_webhook",
+ "method": [
+ "POST"
+ ]
+ },
+ "generated::i4B5LyT7ozSnWLm7": {
+ "name": "generated::i4B5LyT7ozSnWLm7",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\InAppPurchase\\AppleController@confirm_purchase",
+ "uri": "api/v1/confirm_purchase",
+ "method": [
+ "POST"
+ ]
+ },
+ "generated::NR0QT6QhHpRzgeFM": {
+ "name": "generated::NR0QT6QhHpRzgeFM",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\Bank\\YodleeController@refreshWebhook",
+ "uri": "api/v1/yodlee/refresh",
+ "method": [
+ "POST"
+ ]
+ },
+ "generated::PWE4ouJw551wvLgP": {
+ "name": "generated::PWE4ouJw551wvLgP",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\Bank\\YodleeController@dataUpdatesWebhook",
+ "uri": "api/v1/yodlee/data_updates",
+ "method": [
+ "POST"
+ ]
+ },
+ "generated::VwAPqf4N7d9C2UeH": {
+ "name": "generated::VwAPqf4N7d9C2UeH",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\Bank\\YodleeController@refreshUpdatesWebhook",
+ "uri": "api/v1/yodlee/refresh_updates",
+ "method": [
+ "POST"
+ ]
+ },
+ "generated::5JgTIkTeVYZXmSiu": {
+ "name": "generated::5JgTIkTeVYZXmSiu",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\Bank\\YodleeController@balanceWebhook",
+ "uri": "api/v1/yodlee/balance",
+ "method": [
+ "POST"
+ ]
+ },
+ "generated::YYiG6iYqw6W4nInb": {
+ "name": "generated::YYiG6iYqw6W4nInb",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\BaseController@notFoundClient",
+ "uri": "{fallbackPlaceholder}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "generated::5n5VePUCRt2TAvGW": {
+ "name": "generated::5n5VePUCRt2TAvGW",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\BaseController@flutterRoute",
+ "uri": "/",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "generated::TGoVLPXTPVLegDrn": {
+ "name": "generated::TGoVLPXTPVLegDrn",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\SetupController@index",
+ "uri": "setup",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "generated::aH1RYcdoUCNh2Or0": {
+ "name": "generated::aH1RYcdoUCNh2Or0",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\SetupController@doSetup",
+ "uri": "setup",
+ "method": [
+ "POST"
+ ]
+ },
+ "generated::ulIBz1EVGnyK1CV6": {
+ "name": "generated::ulIBz1EVGnyK1CV6",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\SetupController@update",
+ "uri": "update",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "generated::Fe1X26NAn3ce88sX": {
+ "name": "generated::Fe1X26NAn3ce88sX",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\SetupController@checkDB",
+ "uri": "setup/check_db",
+ "method": [
+ "POST"
+ ]
+ },
+ "generated::rqZwGUSDMdBc845j": {
+ "name": "generated::rqZwGUSDMdBc845j",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\SetupController@checkMail",
+ "uri": "setup/check_mail",
+ "method": [
+ "POST"
+ ]
+ },
+ "generated::RDiaxJz5C9TWM6La": {
+ "name": "generated::RDiaxJz5C9TWM6La",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\SetupController@checkPdf",
+ "uri": "setup/check_pdf",
+ "method": [
+ "POST"
+ ]
+ },
+ "password.request": {
+ "name": "password.request",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\Auth\\ForgotPasswordController@showLinkRequestForm",
+ "uri": "password/reset",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "password.email": {
+ "name": "password.email",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\Auth\\ForgotPasswordController@sendResetLinkEmail",
+ "uri": "password/email",
+ "method": [
+ "POST"
+ ]
+ },
+ "password.reset": {
+ "name": "password.reset",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\Auth\\ResetPasswordController@showResetForm",
+ "uri": "password/reset/{token}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "password.update": {
+ "name": "password.update",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\Auth\\ResetPasswordController@reset",
+ "uri": "password/reset",
+ "method": [
+ "POST"
+ ]
+ },
+ "wepay.signup": {
+ "name": "wepay.signup",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\WePayController@signup",
+ "uri": "wepay/signup/{token}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "wepay.finished": {
+ "name": "wepay.finished",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\WePayController@finished",
+ "uri": "wepay/finished",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "generated::i4zkszi5XG1MagwJ": {
+ "name": "generated::i4zkszi5XG1MagwJ",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\Auth\\LoginController@redirectToProvider",
+ "uri": "auth/{provider}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "generated::pDEX8qT4P8Jy1hu4": {
+ "name": "generated::pDEX8qT4P8Jy1hu4",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\UserController@confirm",
+ "uri": "user/confirm/{confirmation_code}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "generated::fLK4xgr1UGJhcpEI": {
+ "name": "generated::fLK4xgr1UGJhcpEI",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\UserController@confirmWithPassword",
+ "uri": "user/confirm/{confirmation_code}",
+ "method": [
+ "POST"
+ ]
+ },
+ "stripe_connect.initialization": {
+ "name": "stripe_connect.initialization",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\StripeConnectController@initialize",
+ "uri": "stripe/signup/{token}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "stripe_connect.return": {
+ "name": "stripe_connect.return",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\StripeConnectController@completed",
+ "uri": "stripe/completed",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "yodlee.auth": {
+ "name": "yodlee.auth",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\Bank\\YodleeController@auth",
+ "uri": "yodlee/onboard/{token}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "checkout.3ds_redirect": {
+ "name": "checkout.3ds_redirect",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\Gateways\\Checkout3dsController@index",
+ "uri": "checkout/3ds_redirect/{company_key}/{company_gateway_id}/{hash}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "mollie.3ds_redirect": {
+ "name": "mollie.3ds_redirect",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\Gateways\\Mollie3dsController@index",
+ "uri": "mollie/3ds_redirect/{company_key}/{company_gateway_id}/{hash}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "gocardless.ibp_redirect": {
+ "name": "gocardless.ibp_redirect",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\Gateways\\GoCardlessController@ibpRedirect",
+ "uri": "gocardless/ibp_redirect/{company_key}/{company_gateway_id}/{hash}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "generated::Dbvz1KDmhDKppMVJ": {
+ "name": "generated::Dbvz1KDmhDKppMVJ",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\ApplePayDomainController@showAppleMerchantId",
+ "uri": ".well-known/apple-developer-merchantid-domain-association",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "generated::djeIjZ5TvGKb9kp1": {
+ "name": "generated::djeIjZ5TvGKb9kp1",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\Contact\\LoginController@apiLogin",
+ "uri": "api/v1/contact/login",
+ "method": [
+ "POST"
+ ]
+ },
+ "api.contact.": {
+ "name": "api.contact.",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\Contact\\InvoiceController@index",
+ "uri": "api/v1/contact/invoices",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "vendor.catchall": {
+ "name": "vendor.catchall",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\Auth\\VendorContactLoginController@catch",
+ "uri": "vendors",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "contact_login": {
+ "name": "contact_login",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\VendorPortal\\VendorContactHashLoginController@login",
+ "uri": "vendor/key_login/{contact_key}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "vendor.": {
+ "name": "vendor.",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\VendorPortal\\InvitationController@purchaseOrder",
+ "uri": "vendor/purchase_order/{invitation_key}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "vendor.generated::R5AP0ff5fGIEFhSb": {
+ "name": "vendor.generated::R5AP0ff5fGIEFhSb",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\VendorPortal\\InvitationController@download",
+ "uri": "vendor/purchase_order/{invitation_key}/download",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "vendor.dashboard": {
+ "name": "vendor.dashboard",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\VendorPortal\\PurchaseOrderController@index",
+ "uri": "vendor/dashboard",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "vendor.purchase_orders.index": {
+ "name": "vendor.purchase_orders.index",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\VendorPortal\\PurchaseOrderController@index",
+ "uri": "vendor/purchase_orders",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "vendor.purchase_order.show": {
+ "name": "vendor.purchase_order.show",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\VendorPortal\\PurchaseOrderController@show",
+ "uri": "vendor/purchase_orders/{purchase_order}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "vendor.profile.edit": {
+ "name": "vendor.profile.edit",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\VendorPortal\\VendorContactController@edit",
+ "uri": "vendor/profile/{vendor_contact}/edit",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "vendor.profile.update": {
+ "name": "vendor.profile.update",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\VendorPortal\\VendorContactController@update",
+ "uri": "vendor/profile/{vendor_contact}/edit",
+ "method": [
+ "PUT"
+ ]
+ },
+ "vendor.purchase_orders.bulk": {
+ "name": "vendor.purchase_orders.bulk",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\VendorPortal\\PurchaseOrderController@bulk",
+ "uri": "vendor/purchase_orders/bulk",
+ "method": [
+ "POST"
+ ]
+ },
+ "vendor.logout": {
+ "name": "vendor.logout",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\Auth\\VendorContactLoginController@logout",
+ "uri": "vendor/logout",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "vendor.upload.store": {
+ "name": "vendor.upload.store",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\VendorPortal\\UploadController@upload",
+ "uri": "vendor/purchase_order/upload/{purchase_order}",
+ "method": [
+ "POST"
+ ]
+ },
+ "vendor.documents.download_multiple": {
+ "name": "vendor.documents.download_multiple",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\VendorPortal\\DocumentController@downloadMultiple",
+ "uri": "vendor/documents/download_multiple",
+ "method": [
+ "POST"
+ ]
+ },
+ "vendor.documents.download": {
+ "name": "vendor.documents.download",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\VendorPortal\\DocumentController@download",
+ "uri": "vendor/documents/{document}/download",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "vendor.documents.download_pdf": {
+ "name": "vendor.documents.download_pdf",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\VendorPortal\\DocumentController@download",
+ "uri": "vendor/documents/{document}/download_pdf",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "vendor.documents.index": {
+ "name": "vendor.documents.index",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\VendorPortal\\DocumentController@index",
+ "uri": "vendor/documents",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "vendor.documents.show": {
+ "name": "vendor.documents.show",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\VendorPortal\\DocumentController@show",
+ "uri": "vendor/documents/{document}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "client.catchall": {
+ "name": "client.catchall",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\Auth\\ContactLoginController@showLoginForm",
+ "uri": "client",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "client.login": {
+ "name": "client.login",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\Auth\\ContactLoginController@showLoginForm",
+ "uri": "client/login/{company_key?}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "client.login.submit": {
+ "name": "client.login.submit",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\Auth\\ContactLoginController@login",
+ "uri": "client/login/{company_key?}",
+ "method": [
+ "POST"
+ ]
+ },
+ "client.register": {
+ "name": "client.register",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\Auth\\ContactRegisterController@showRegisterForm",
+ "uri": "client/register/{company_key?}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "generated::rpgQ9O14ZONbXkpu": {
+ "name": "generated::rpgQ9O14ZONbXkpu",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\Auth\\ContactRegisterController@register",
+ "uri": "client/register/{company_key?}",
+ "method": [
+ "POST"
+ ]
+ },
+ "client.password.request": {
+ "name": "client.password.request",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\Auth\\ContactForgotPasswordController@showLinkRequestForm",
+ "uri": "client/password/reset",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "client.password.email": {
+ "name": "client.password.email",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\Auth\\ContactForgotPasswordController@sendResetLinkEmail",
+ "uri": "client/password/email",
+ "method": [
+ "POST"
+ ]
+ },
+ "client.password.reset": {
+ "name": "client.password.reset",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\Auth\\ContactResetPasswordController@showResetForm",
+ "uri": "client/password/reset/{token}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "client.password.update": {
+ "name": "client.password.update",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\Auth\\ContactResetPasswordController@reset",
+ "uri": "client/password/reset",
+ "method": [
+ "POST"
+ ]
+ },
+ "client.entity_view": {
+ "name": "client.entity_view",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\EntityViewController@index",
+ "uri": "view/{entity_type}/{invitation_key}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "client.entity_view.password": {
+ "name": "client.entity_view.password",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\EntityViewController@password",
+ "uri": "view/{entity_type}/{invitation_key}/password",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "generated::FBJnNwDY5zUdpbgD": {
+ "name": "generated::FBJnNwDY5zUdpbgD",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\EntityViewController@handlePassword",
+ "uri": "view/{entity_type}/{invitation_key}/password",
+ "method": [
+ "POST"
+ ]
+ },
+ "client.set_password": {
+ "name": "client.set_password",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\EntityViewController@handlePasswordSet",
+ "uri": "set_password",
+ "method": [
+ "POST"
+ ]
+ },
+ "tmp_pdf": {
+ "name": "tmp_pdf",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\TempRouteController@index",
+ "uri": "tmp_pdf/{hash}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "client.contact_login": {
+ "name": "client.contact_login",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\ContactHashLoginController@login",
+ "uri": "client/key_login/{contact_key}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "client.contact_magic_link": {
+ "name": "client.contact_magic_link",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\ContactHashLoginController@magicLink",
+ "uri": "client/magic_link/{magic_link}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "documents.public_download": {
+ "name": "documents.public_download",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\DocumentController@publicDownload",
+ "uri": "documents/{document_hash}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "client.error": {
+ "name": "client.error",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\ContactHashLoginController@errorPage",
+ "uri": "error",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "generated::mLyFQRhcZwffpGmu": {
+ "name": "generated::mLyFQRhcZwffpGmu",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\InvitationController@paymentRouter",
+ "uri": "client/payment/{contact_key}/{payment_id}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "client.ninja_contact_login": {
+ "name": "client.ninja_contact_login",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\NinjaPlanController@index",
+ "uri": "client/ninja/{contact_key}/{company_key}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "client.trial.response": {
+ "name": "client.trial.response",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\NinjaPlanController@trial_confirmation",
+ "uri": "client/ninja/trial_confirmation",
+ "method": [
+ "POST"
+ ]
+ },
+ "client.dashboard": {
+ "name": "client.dashboard",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\DashboardController@index",
+ "uri": "client/dashboard",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "client.plan": {
+ "name": "client.plan",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\NinjaPlanController@plan",
+ "uri": "client/plan",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "client.invoices.index": {
+ "name": "client.invoices.index",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\InvoiceController@index",
+ "uri": "client/invoices",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "client.invoices.bulk": {
+ "name": "client.invoices.bulk",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\InvoiceController@bulk",
+ "uri": "client/invoices/payment",
+ "method": [
+ "POST"
+ ]
+ },
+ "client.invoices.catch_bulk": {
+ "name": "client.invoices.catch_bulk",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\InvoiceController@catch_bulk",
+ "uri": "client/invoices/payment",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "client.invoices.download": {
+ "name": "client.invoices.download",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\InvoiceController@download",
+ "uri": "client/invoices/download",
+ "method": [
+ "POST"
+ ]
+ },
+ "client.invoice.show": {
+ "name": "client.invoice.show",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\InvoiceController@show",
+ "uri": "client/invoices/{invoice}/{hash?}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "client.invoice.show_invitation": {
+ "name": "client.invoice.show_invitation",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\InvoiceController@show",
+ "uri": "client/invoices/{invoice_invitation}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "client.recurring_invoices.index": {
+ "name": "client.recurring_invoices.index",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\RecurringInvoiceController@index",
+ "uri": "client/recurring_invoices",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "client.recurring_invoice.show": {
+ "name": "client.recurring_invoice.show",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\RecurringInvoiceController@show",
+ "uri": "client/recurring_invoices/{recurring_invoice}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "client.recurring_invoices.request_cancellation": {
+ "name": "client.recurring_invoices.request_cancellation",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\RecurringInvoiceController@requestCancellation",
+ "uri": "client/recurring_invoices/{recurring_invoice}/request_cancellation",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "client.payments.process": {
+ "name": "client.payments.process",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\PaymentController@process",
+ "uri": "client/payments/process",
+ "method": [
+ "POST"
+ ]
+ },
+ "client.payments.catch_process": {
+ "name": "client.payments.catch_process",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\PaymentController@catch_process",
+ "uri": "client/payments/process",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "client.payments.credit_response": {
+ "name": "client.payments.credit_response",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\PaymentController@credit_response",
+ "uri": "client/payments/credit_response",
+ "method": [
+ "POST"
+ ]
+ },
+ "client.payments.index": {
+ "name": "client.payments.index",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\PaymentController@index",
+ "uri": "client/payments",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "client.payments.show": {
+ "name": "client.payments.show",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\PaymentController@show",
+ "uri": "client/payments/{payment}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "client.profile.edit": {
+ "name": "client.profile.edit",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\ProfileController@edit",
+ "uri": "client/profile/{client_contact}/edit",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "client.profile.update": {
+ "name": "client.profile.update",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\ProfileController@update",
+ "uri": "client/profile/{client_contact}/edit",
+ "method": [
+ "PUT"
+ ]
+ },
+ "client.profile.edit_client": {
+ "name": "client.profile.edit_client",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\ProfileController@updateClient",
+ "uri": "client/profile/{client_contact}/edit_client",
+ "method": [
+ "PUT"
+ ]
+ },
+ "client.profile.edit_localization": {
+ "name": "client.profile.edit_localization",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\ProfileController@updateClientLocalization",
+ "uri": "client/profile/{client_contact}/localization",
+ "method": [
+ "PUT"
+ ]
+ },
+ "client.payment_methods.verification": {
+ "name": "client.payment_methods.verification",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\PaymentMethodController@verify",
+ "uri": "client/payment_methods/{payment_method}/verification",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "client.": {
+ "name": "client.",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\PaymentMethodController@processVerification",
+ "uri": "client/payment_methods/{payment_method}/verification",
+ "method": [
+ "POST"
+ ]
+ },
+ "client.payment_methods.confirm": {
+ "name": "client.payment_methods.confirm",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\PaymentMethodController@store",
+ "uri": "client/payment_methods/confirm",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "client.payment_methods.index": {
+ "name": "client.payment_methods.index",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\PaymentMethodController@index",
+ "uri": "client/payment_methods",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "client.payment_methods.create": {
+ "name": "client.payment_methods.create",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\PaymentMethodController@create",
+ "uri": "client/payment_methods/create",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "client.payment_methods.store": {
+ "name": "client.payment_methods.store",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\PaymentMethodController@store",
+ "uri": "client/payment_methods",
+ "method": [
+ "POST"
+ ]
+ },
+ "client.payment_methods.show": {
+ "name": "client.payment_methods.show",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\PaymentMethodController@show",
+ "uri": "client/payment_methods/{payment_method}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "client.payment_methods.destroy": {
+ "name": "client.payment_methods.destroy",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\PaymentMethodController@destroy",
+ "uri": "client/payment_methods/{payment_method}",
+ "method": [
+ "DELETE"
+ ]
+ },
+ "client.quotes.bulk": {
+ "name": "client.quotes.bulk",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\QuoteController@bulk",
+ "uri": "client/quotes/approve",
+ "method": [
+ "GET",
+ "POST",
+ "HEAD"
+ ]
+ },
+ "client.quotes.index": {
+ "name": "client.quotes.index",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\QuoteController@index",
+ "uri": "client/quotes",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "client.quote.show": {
+ "name": "client.quote.show",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\QuoteController@show",
+ "uri": "client/quotes/{quote}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "client.quote.show_invitation": {
+ "name": "client.quote.show_invitation",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\QuoteController@show",
+ "uri": "client/quotes/{quote_invitation}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "client.quotes.download": {
+ "name": "client.quotes.download",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\QuoteController@download",
+ "uri": "client/quotes/download",
+ "method": [
+ "POST"
+ ]
+ },
+ "client.credits.index": {
+ "name": "client.credits.index",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\CreditController@index",
+ "uri": "client/credits",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "client.credit.show": {
+ "name": "client.credit.show",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\CreditController@show",
+ "uri": "client/credits/{credit}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "client.credits.show_invitation": {
+ "name": "client.credits.show_invitation",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\CreditController@show",
+ "uri": "client/credits/{credit_invitation}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "client.switch_company": {
+ "name": "client.switch_company",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\SwitchCompanyController",
+ "uri": "client/client/switch_company/{contact}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "client.documents.download_multiple": {
+ "name": "client.documents.download_multiple",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\DocumentController@downloadMultiple",
+ "uri": "client/documents/download_multiple",
+ "method": [
+ "POST"
+ ]
+ },
+ "client.documents.download": {
+ "name": "client.documents.download",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\DocumentController@download",
+ "uri": "client/documents/{document}/download",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "client.documents.index": {
+ "name": "client.documents.index",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\DocumentController@index",
+ "uri": "client/documents",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "client.documents.show": {
+ "name": "client.documents.show",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\DocumentController@show",
+ "uri": "client/documents/{document}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "client.subscription.plan_switch": {
+ "name": "client.subscription.plan_switch",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\SubscriptionPlanSwitchController@index",
+ "uri": "client/subscriptions/{recurring_invoice}/plan_switch/{target}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "client.subscriptions.show": {
+ "name": "client.subscriptions.show",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\SubscriptionController@show",
+ "uri": "client/subscriptions/{recurring_invoice}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "client.subscriptions.index": {
+ "name": "client.subscriptions.index",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\SubscriptionController@index",
+ "uri": "client/subscriptions",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "client.tasks.index": {
+ "name": "client.tasks.index",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\TaskController@index",
+ "uri": "client/tasks",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "client.statement": {
+ "name": "client.statement",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\StatementController@index",
+ "uri": "client/statement",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "client.statement.raw": {
+ "name": "client.statement.raw",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\StatementController@raw",
+ "uri": "client/statement/raw",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "client.upload.store": {
+ "name": "client.upload.store",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\UploadController",
+ "uri": "client/upload",
+ "method": [
+ "POST"
+ ]
+ },
+ "client.logout": {
+ "name": "client.logout",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\Auth\\ContactLoginController@logout",
+ "uri": "client/logout",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "client.payments.response": {
+ "name": "client.payments.response",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\PaymentController@response",
+ "uri": "payments/process/response",
+ "method": [
+ "POST"
+ ]
+ },
+ "client.payments.response.get": {
+ "name": "client.payments.response.get",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\PaymentController@response",
+ "uri": "payments/process/response",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "client.subscription.purchase": {
+ "name": "client.subscription.purchase",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\SubscriptionPurchaseController@index",
+ "uri": "client/subscriptions/{subscription}/purchase",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "client.subscription.upgrade": {
+ "name": "client.subscription.upgrade",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\SubscriptionPurchaseController@upgrade",
+ "uri": "client/subscriptions/{subscription}/purchase/v2",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "client.generated::2OaIW3XyBqUuFmmR": {
+ "name": "client.generated::2OaIW3XyBqUuFmmR",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\InvitationController@recurringRouter",
+ "uri": "client/recurring_invoice/{invitation_key}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "client.generated::qqFOMAohukdLzli8": {
+ "name": "client.generated::qqFOMAohukdLzli8",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\InvitationController@invoiceRouter",
+ "uri": "client/invoice/{invitation_key}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "client.generated::MpuK89JSkGHcs8Px": {
+ "name": "client.generated::MpuK89JSkGHcs8Px",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\InvitationController@quoteRouter",
+ "uri": "client/quote/{invitation_key}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "client.generated::7sb34HxR9uLCiSxY": {
+ "name": "client.generated::7sb34HxR9uLCiSxY",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\InvitationController@creditRouter",
+ "uri": "client/credit/{invitation_key}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "client.recurring_invoice.download_invitation_key": {
+ "name": "client.recurring_invoice.download_invitation_key",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\RecurringInvoiceController@downloadPdf",
+ "uri": "client/recurring_invoice/{invitation_key}/download_pdf",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "client.invoice.download_invitation_key": {
+ "name": "client.invoice.download_invitation_key",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\InvoiceController@downloadPdf",
+ "uri": "client/invoice/{invitation_key}/download_pdf",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "client.quote.download_invitation_key": {
+ "name": "client.quote.download_invitation_key",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\QuoteController@downloadPdf",
+ "uri": "client/quote/{invitation_key}/download_pdf",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "client.credit.download_invitation_key": {
+ "name": "client.credit.download_invitation_key",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\CreditController@downloadPdf",
+ "uri": "client/credit/{invitation_key}/download_pdf",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "client.generated::XWcWZmVfyICKpQSJ": {
+ "name": "client.generated::XWcWZmVfyICKpQSJ",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\InvitationController@routerForDownload",
+ "uri": "client/{entity}/{invitation_key}/download",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "client.pay.invoice": {
+ "name": "client.pay.invoice",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\InvitationController@payInvoice",
+ "uri": "client/pay/{invitation_key}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "client.unsubscribe": {
+ "name": "client.unsubscribe",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\ClientPortal\\InvitationController@unsubscribe",
+ "uri": "client/unsubscribe/{entity}/{invitation_key}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "phantom_view": {
+ "name": "phantom_view",
+ "domain": null,
+ "action": "App\\Utils\\PhantomJS\\Phantom@displayInvitation",
+ "uri": "phantom/{entity}/{invitation_key}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "generated::mbXaf7AwVDTLun7i": {
+ "name": "generated::mbXaf7AwVDTLun7i",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\Shop\\ProductController@index",
+ "uri": "api/v1/shop/products",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "generated::vstdpye8tLBf8JAy": {
+ "name": "generated::vstdpye8tLBf8JAy",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\Shop\\ClientController@store",
+ "uri": "api/v1/shop/clients",
+ "method": [
+ "POST"
+ ]
+ },
+ "generated::WhdRIYkzRIiAE8Zy": {
+ "name": "generated::WhdRIYkzRIiAE8Zy",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\Shop\\InvoiceController@store",
+ "uri": "api/v1/shop/invoices",
+ "method": [
+ "POST"
+ ]
+ },
+ "generated::jmKt9NXIdAhbDj1Z": {
+ "name": "generated::jmKt9NXIdAhbDj1Z",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\Shop\\ClientController@show",
+ "uri": "api/v1/shop/client/{contact_key}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "generated::oDii2kL46XkNAIq7": {
+ "name": "generated::oDii2kL46XkNAIq7",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\Shop\\InvoiceController@show",
+ "uri": "api/v1/shop/invoice/{invitation_key}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "generated::hcZIdmMVQWRg8fcW": {
+ "name": "generated::hcZIdmMVQWRg8fcW",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\Shop\\ProductController@show",
+ "uri": "api/v1/shop/product/{product_key}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "generated::B1hEiRmAZvYhMDB3": {
+ "name": "generated::B1hEiRmAZvYhMDB3",
+ "domain": null,
+ "action": "App\\Http\\Controllers\\Shop\\ProfileController@show",
+ "uri": "api/v1/shop/profile",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "plan": {
+ "name": "plan",
+ "domain": null,
+ "action": "Modules\\Admin\\Http\\Controllers\\PlanController@store",
+ "uri": "api/admin/plan",
+ "method": [
+ "POST"
+ ]
+ },
+ "initial_purchase": {
+ "name": "initial_purchase",
+ "domain": null,
+ "action": "Modules\\Admin\\Http\\Controllers\\SubscriptionController@initialPurchase",
+ "uri": "api/admin/subscription",
+ "method": [
+ "POST"
+ ]
+ },
+ "store_cert": {
+ "name": "store_cert",
+ "domain": null,
+ "action": "Modules\\Admin\\Http\\Controllers\\CertificateController@store",
+ "uri": "api/admin/domain/store",
+ "method": [
+ "POST"
+ ]
+ },
+ "admin.login": {
+ "name": "admin.login",
+ "domain": null,
+ "action": "Modules\\Admin\\Http\\Controllers\\LoginController@showLoginForm",
+ "uri": "admin/login",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "generated::Equd3NqTzSG8DBd0": {
+ "name": "generated::Equd3NqTzSG8DBd0",
+ "domain": null,
+ "action": "Modules\\Admin\\Http\\Controllers\\LoginController@login",
+ "uri": "admin/login",
+ "method": [
+ "POST"
+ ]
+ },
+ "admin.logout": {
+ "name": "admin.logout",
+ "domain": null,
+ "action": "Modules\\Admin\\Http\\Controllers\\LoginController@logout",
+ "uri": "admin/logout",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "admin.dashboard": {
+ "name": "admin.dashboard",
+ "domain": null,
+ "action": "Modules\\Admin\\Http\\Controllers\\AdminController@index",
+ "uri": "admin",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "admin.accounts.companies": {
+ "name": "admin.accounts.companies",
+ "domain": null,
+ "action": "Modules\\Admin\\Http\\Controllers\\AccountController@companies",
+ "uri": "admin/accounts/{account}/companies",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "admin.accounts.users": {
+ "name": "admin.accounts.users",
+ "domain": null,
+ "action": "Modules\\Admin\\Http\\Controllers\\AccountController@users",
+ "uri": "admin/accounts/{account}/users",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "admin.accounts.index": {
+ "name": "admin.accounts.index",
+ "domain": null,
+ "action": "Modules\\Admin\\Http\\Controllers\\AccountController@index",
+ "uri": "admin/accounts",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "admin.accounts.show": {
+ "name": "admin.accounts.show",
+ "domain": null,
+ "action": "Modules\\Admin\\Http\\Controllers\\AccountController@show",
+ "uri": "admin/accounts/{account}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "admin.companies.index": {
+ "name": "admin.companies.index",
+ "domain": null,
+ "action": "Modules\\Admin\\Http\\Controllers\\CompanyController@index",
+ "uri": "admin/companies",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "admin.companies.show": {
+ "name": "admin.companies.show",
+ "domain": null,
+ "action": "Modules\\Admin\\Http\\Controllers\\CompanyController@show",
+ "uri": "admin/companies/{company}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "admin.users.index": {
+ "name": "admin.users.index",
+ "domain": null,
+ "action": "Modules\\Admin\\Http\\Controllers\\UserController@index",
+ "uri": "admin/users",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "admin.users.show": {
+ "name": "admin.users.show",
+ "domain": null,
+ "action": "Modules\\Admin\\Http\\Controllers\\UserController@show",
+ "uri": "admin/users/{user}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "admin.database_switch": {
+ "name": "admin.database_switch",
+ "domain": null,
+ "action": "Modules\\Admin\\Http\\Controllers\\DatabaseSwitchController@switch",
+ "uri": "admin/database_switch",
+ "method": [
+ "POST"
+ ]
+ },
+ "admin.marketing.index": {
+ "name": "admin.marketing.index",
+ "domain": null,
+ "action": "Modules\\Admin\\Http\\Controllers\\MarketingController@index",
+ "uri": "admin/marketing",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "admin.marketing.create": {
+ "name": "admin.marketing.create",
+ "domain": null,
+ "action": "Modules\\Admin\\Http\\Controllers\\MarketingController@create",
+ "uri": "admin/marketing/create",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "admin.marketing.store": {
+ "name": "admin.marketing.store",
+ "domain": null,
+ "action": "Modules\\Admin\\Http\\Controllers\\MarketingController@store",
+ "uri": "admin/marketing",
+ "method": [
+ "POST"
+ ]
+ },
+ "admin.marketing.show": {
+ "name": "admin.marketing.show",
+ "domain": null,
+ "action": "Modules\\Admin\\Http\\Controllers\\MarketingController@show",
+ "uri": "admin/marketing/{marketing}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "admin.marketing.edit": {
+ "name": "admin.marketing.edit",
+ "domain": null,
+ "action": "Modules\\Admin\\Http\\Controllers\\MarketingController@edit",
+ "uri": "admin/marketing/{marketing}/edit",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "admin.marketing.update": {
+ "name": "admin.marketing.update",
+ "domain": null,
+ "action": "Modules\\Admin\\Http\\Controllers\\MarketingController@update",
+ "uri": "admin/marketing/{marketing}",
+ "method": [
+ "PUT",
+ "PATCH"
+ ]
+ },
+ "admin.marketing.destroy": {
+ "name": "admin.marketing.destroy",
+ "domain": null,
+ "action": "Modules\\Admin\\Http\\Controllers\\MarketingController@destroy",
+ "uri": "admin/marketing/{marketing}",
+ "method": [
+ "DELETE"
+ ]
+ },
+ "admin.tables.index": {
+ "name": "admin.tables.index",
+ "domain": null,
+ "action": "Modules\\Admin\\Http\\Controllers\\TableController@index",
+ "uri": "admin/tables",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "admin.tables.create": {
+ "name": "admin.tables.create",
+ "domain": null,
+ "action": "Modules\\Admin\\Http\\Controllers\\TableController@create",
+ "uri": "admin/tables/create",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "admin.tables.store": {
+ "name": "admin.tables.store",
+ "domain": null,
+ "action": "Modules\\Admin\\Http\\Controllers\\TableController@store",
+ "uri": "admin/tables",
+ "method": [
+ "POST"
+ ]
+ },
+ "admin.tables.show": {
+ "name": "admin.tables.show",
+ "domain": null,
+ "action": "Modules\\Admin\\Http\\Controllers\\TableController@show",
+ "uri": "admin/tables/{table}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "admin.tables.edit": {
+ "name": "admin.tables.edit",
+ "domain": null,
+ "action": "Modules\\Admin\\Http\\Controllers\\TableController@edit",
+ "uri": "admin/tables/{table}/edit",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "admin.tables.update": {
+ "name": "admin.tables.update",
+ "domain": null,
+ "action": "Modules\\Admin\\Http\\Controllers\\TableController@update",
+ "uri": "admin/tables/{table}",
+ "method": [
+ "PUT",
+ "PATCH"
+ ]
+ },
+ "admin.tables.destroy": {
+ "name": "admin.tables.destroy",
+ "domain": null,
+ "action": "Modules\\Admin\\Http\\Controllers\\TableController@destroy",
+ "uri": "admin/tables/{table}",
+ "method": [
+ "DELETE"
+ ]
+ },
+ "admin.server.index": {
+ "name": "admin.server.index",
+ "domain": null,
+ "action": "Modules\\Admin\\Http\\Controllers\\ServerController@index",
+ "uri": "admin/server",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "admin.server.create": {
+ "name": "admin.server.create",
+ "domain": null,
+ "action": "Modules\\Admin\\Http\\Controllers\\ServerController@create",
+ "uri": "admin/server/create",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "admin.server.store": {
+ "name": "admin.server.store",
+ "domain": null,
+ "action": "Modules\\Admin\\Http\\Controllers\\ServerController@store",
+ "uri": "admin/server",
+ "method": [
+ "POST"
+ ]
+ },
+ "admin.server.show": {
+ "name": "admin.server.show",
+ "domain": null,
+ "action": "Modules\\Admin\\Http\\Controllers\\ServerController@show",
+ "uri": "admin/server/{server}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "admin.server.edit": {
+ "name": "admin.server.edit",
+ "domain": null,
+ "action": "Modules\\Admin\\Http\\Controllers\\ServerController@edit",
+ "uri": "admin/server/{server}/edit",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "admin.server.update": {
+ "name": "admin.server.update",
+ "domain": null,
+ "action": "Modules\\Admin\\Http\\Controllers\\ServerController@update",
+ "uri": "admin/server/{server}",
+ "method": [
+ "PUT",
+ "PATCH"
+ ]
+ },
+ "admin.server.destroy": {
+ "name": "admin.server.destroy",
+ "domain": null,
+ "action": "Modules\\Admin\\Http\\Controllers\\ServerController@destroy",
+ "uri": "admin/server/{server}",
+ "method": [
+ "DELETE"
+ ]
+ },
+ "admin.campaigns.black_friday": {
+ "name": "admin.campaigns.black_friday",
+ "domain": null,
+ "action": "Modules\\Admin\\Http\\Controllers\\CampaignController@blackFriday",
+ "uri": "campaign/black_friday_2022",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "admin.campaigns.landing": {
+ "name": "admin.campaigns.landing",
+ "domain": null,
+ "action": "Modules\\Admin\\Http\\Controllers\\CampaignController@showLandingPage",
+ "uri": "campaign/{hash}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "generated::Kib8hMR7yxwg141Y": {
+ "name": "generated::Kib8hMR7yxwg141Y",
+ "domain": null,
+ "action": "Modules\\Admin\\Http\\Controllers\\OnboardingController@unsubscribe",
+ "uri": "onboarding/unsubscribe/{account_key}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ },
+ "generated::KZIwSvsiWdkFJOg9": {
+ "name": "generated::KZIwSvsiWdkFJOg9",
+ "domain": null,
+ "action": "Modules\\Admin\\Http\\Controllers\\CertificateController@index",
+ "uri": ".well-known/acme-challenge/{challenge_token}",
+ "method": [
+ "GET",
+ "HEAD"
+ ]
+ }
+}
\ No newline at end of file
diff --git a/tests/cypress/videos/login.cy.js.mp4 b/tests/cypress/videos/login.cy.js.mp4
new file mode 100644
index 000000000000..a77a06bb697c
Binary files /dev/null and b/tests/cypress/videos/login.cy.js.mp4 differ