diff --git a/.dev/docker-compose.mysql.yml b/.dev/docker-compose.mysql.yml index c1d25570..53583ce0 100644 --- a/.dev/docker-compose.mysql.yml +++ b/.dev/docker-compose.mysql.yml @@ -63,6 +63,11 @@ services: networks: - invoiceshelf-dev + pdf: + image: gotenberg/gotenberg:8 + networks: + - invoiceshelf-dev + networks: invoiceshelf-dev: diff --git a/.dev/docker-compose.pgsql.yml b/.dev/docker-compose.pgsql.yml index 2746a726..b8e4439d 100644 --- a/.dev/docker-compose.pgsql.yml +++ b/.dev/docker-compose.pgsql.yml @@ -62,6 +62,11 @@ services: networks: - invoiceshelf-dev + pdf: + image: gotenberg/gotenberg:8 + networks: + - invoiceshelf-dev + networks: invoiceshelf-dev: diff --git a/.dev/docker-compose.sqlite.yml b/.dev/docker-compose.sqlite.yml index d130c80f..9b1bc5ba 100644 --- a/.dev/docker-compose.sqlite.yml +++ b/.dev/docker-compose.sqlite.yml @@ -50,5 +50,10 @@ services: networks: - invoiceshelf-dev + pdf: + image: gotenberg/gotenberg:8 + networks: + - invoiceshelf-dev + networks: invoiceshelf-dev: diff --git a/.env.example b/.env.example index 5e3dfa29..699b6495 100644 --- a/.env.example +++ b/.env.example @@ -54,3 +54,7 @@ TRUSTED_PROXIES="*" CRON_JOB_AUTH_TOKEN="" LOG_STACK=single + +PDF_DRIVER=dompdf +GOTENBERG_HOST= +GOTENBERG_PAPERSIZE= diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index e8876333..0a8a8c7b 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -1,9 +1,8 @@ name: Bug report description: Template for bug reports -labels: - - bug - - triage -projects: ["InvoiceShelf/2"] +labels: ['bug', 'triage'] +type: Bug +projects: ['InvoiceShelf/2'] assignees: - rihards-simanovics @@ -13,15 +12,15 @@ body: - type: checkboxes id: confirm-read-documentation attributes: - label: Issue filing pre-requisites - description: "Prior to filing an issue please confirm that:" + label: Issue filing prerequisites + description: 'Prior to filing an issue please confirm that:' options: - - label: I've checked the documentation. + - label: I've checked the [documentation](https://docs.invoiceshelf.com/). required: true - label: I've looked for similar issues both Open and Closed. required: true - label: >- - Ive tried clearing both cache and cookies in my browser or tried + I've tried clearing both cache and cookies in my browser or tried opening the app in the Incognito/InPrivate window. required: true @@ -29,19 +28,19 @@ body: - type: markdown attributes: value: >- - If you did all of the above, we first would like to thank you for taking - the time to fill out this bug report, it will help us tremendously to + If you did all of the above, we would first like to thank you for taking + the time to fill out this bug report. It will help us tremendously to find and fix the issue sooner! - # Description fo the bug + # Description of the bug - type: textarea id: bug-description attributes: label: Describe the bug description: A clear and concise description of what the bug is. placeholder: >- - When doing `x`, `y`, and `z` in that order, an error occurs, but when x, - z and then y is done, the error does not occur. + When doing `x`, `y`, and `z` in that order, an error occurs, but when `x`, + `z` and then `y` is done, the error does not occur. validations: required: true @@ -53,34 +52,41 @@ body: description: A clear step-by-step explanation of how to reproduce your issue placeholder: >- ## Produces an error: + 1. Do X; + 2. Do Y; + 3. Do Z; + ## Works fine: + 4. Do X; + 5. Do Z; + 6. Do Y. validations: required: true # Expected Behaviour - type: textarea - id: expected-behavior + id: expected-behaviour attributes: - label: Expected behavior + label: Expected behaviour description: A clear and concise description of what you expected to happen. - placeholder: doing `x`, `y`, and `z` in that order should not generate an error. + placeholder: Doing `x`, `y`, and `z` in that order should not generate an error. validations: required: true # Actual Behaviour - type: textarea - id: actual-behavior + id: actual-behaviour attributes: - label: Actual behavior - description: A clear and concise description of what actually happen. - placeholder: doing `x`, `y`, and `z` in that order generate an error. + label: Actual behaviour + description: A clear and concise description of what actually happens. + placeholder: Doing `x`, `y`, and `z` in that order generates an error. validations: required: true @@ -88,9 +94,19 @@ body: - type: markdown attributes: value: |- - ## Envirment + ## Environment - Now lets collect some information about your environment. + Now let's collect some information about your environment. + + # Use Docker? + - type: checkboxes + id: confirm-docker-install + attributes: + label: Docker + description: 'Please note that unless the issue is with the app itself, you should file a bug report under the [docker](https://github.com/InvoiceShelf/docker) repository.' + options: + - label: App running in Docker Container. + - label: Docker container running behind Reverse proxy. # App Version - type: input @@ -115,7 +131,7 @@ body: id: database-type attributes: label: Database type - placeholder: MariaDB / MySQL / PostreSQL / SQLite + placeholder: MariaDB / MySQL / PostgreSQL / SQLite validations: required: true @@ -133,14 +149,14 @@ body: id: web-browser attributes: label: Web Browser - placeholder: "Firefox / Safari / or any other (chromium based browser)" + placeholder: 'Firefox / Safari / or any other (Chromium-based browser)' # OS Version - type: input id: server-os attributes: label: Server OS - description: If Linux please make sure to provide both distro name and it's version + description: If Linux, please make sure to provide both the distro name and its version placeholder: Windows / Linux (e.g. Ubuntu 24.04) # Associated Logs @@ -150,7 +166,7 @@ body: ## Logs - last but not least, could you please take some time to get us the logs + Last but not least, could you please take some time to get us the logs for: # Log Reverse proxy @@ -162,21 +178,17 @@ body: Please provide logs from your Apache, Nginx, Traefik, or any other reverse proxy application. placeholder: >- - [2015-02-04 10:00:00] production.INFO: Laravel 5.0 released. The world rejoices. - [2015-12-03 12:00:00] production.INFO: PHP 7.0 introduced scalar type declarations. Minds blown. - [2016-05-15 14:00:00] production.INFO: Composer installed new dependencies. Dependency hell avoided. - [2017-08-20 16:00:00] production.INFO: Artisan command executed: migrate. Smooth sailing. - [2018-01-10 09:00:00] production.INFO: User login successful. - [2018-01-10 09:05:00] production.ERROR: Database connection failed. Did you try turning it off and on again? - [2018-01-10 09:10:00] production.WARNING: Deprecated function used in UserController.php. Time to refactor, again. - [2018-01-10 09:15:00] production.ERROR: Uncaught Exception: Division by zero. Oops, math is hard. - [2018-01-10 09:20:00] production.INFO: User logout successful. See you later, alligator. - [2019-03-25 11:00:00] production.INFO: Cache cleared. Fresh start! - [2019-06-30 13:00:00] production.ERROR: Syntax error. Missing semicolon strikes again. - [2020-09-10 15:00:00] production.INFO: User registered. Welcome aboard! - [2021-11-05 17:00:00] production.WARNING: Low disk space. Time to clean up. - [2022-12-20 19:00:00] production.INFO: Server rebooted. All systems go. - [2024-11-14 18:56:20] production.INFO: Unexpected item in the bagging area. Please wait for assistance. + 2023-04-12 10:15:32 [NGINX] 172.16.0.5 - - [12/Apr/2023:10:15:32 +0000] "GET /index.html HTTP/1.1" 200 1024 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3" + + 2023-04-12 10:15:33 [NGINX] 172.16.0.7 - - [12/Apr/2023:10:15:33 +0000] "POST /login HTTP/1.1" 302 - "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/603.3.8 (KHTML, like Gecko) Version/10.1.2 Safari/603.3.8" + + 2023-04-12 10:15:34 [NGINX] 172.16.0.9 - - [12/Apr/2023:10:15:34 +0000] "GET /about HTTP/1.1" 200 2048 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36" + + 2023-04-12 10:15:35 [NGINX] 172.16.0.11 - - [12/Apr/2023:10:15:35 +0000] "PUT /api/v1/users/123 HTTP/1.1" 200 - "https://example.com/profile" "Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Mobile/15E148 Safari/604.1" + + 2023-04-12 10:15:36 [NGINX] 172.16.0.13 - - [12/Apr/2023:10:15:36 +0000] "DELETE /api/v1/products/456 HTTP/1.1" 204 - "-" "Dalvik/2.1.0 (Linux; U; Android 10; Pixel 4 Build/QD1A.190821.014.C2)" + + 2023-04-12 10:15:37 [NGINX] 172.16.0.15 - - [12/Apr/2023:10:15:37 +0000] "GET /easter-egg HTTP/1.1" 200 42 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.3" render: irc logs # PHP/Laravel Logs @@ -186,12 +198,35 @@ body: label: Laravel/PHP logs description: Please provide logs from either PHP or Laravel or both. placeholder: >- - 2023-04-12 10:15:32 [NGINX] 172.16.0.5 - - [12/Apr/2023:10:15:32 +0000] "GET /index.html HTTP/1.1" 200 1024 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3" - 2023-04-12 10:15:33 [NGINX] 172.16.0.7 - - [12/Apr/2023:10:15:33 +0000] "POST /login HTTP/1.1" 302 - "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/603.3.8 (KHTML, like Gecko) Version/10.1.2 Safari/603.3.8" - 2023-04-12 10:15:34 [NGINX] 172.16.0.9 - - [12/Apr/2023:10:15:34 +0000] "GET /about HTTP/1.1" 200 2048 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36" - 2023-04-12 10:15:35 [NGINX] 172.16.0.11 - - [12/Apr/2023:10:15:35 +0000] "PUT /api/v1/users/123 HTTP/1.1" 200 - "https://example.com/profile" "Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Mobile/15E148 Safari/604.1" - 2023-04-12 10:15:36 [NGINX] 172.16.0.13 - - [12/Apr/2023:10:15:36 +0000] "DELETE /api/v1/products/456 HTTP/1.1" 204 - "-" "Dalvik/2.1.0 (Linux; U; Android 10; Pixel 4 Build/QD1A.190821.014.C2)" - 2023-04-12 10:15:37 [NGINX] 172.16.0.15 - - [12/Apr/2023:10:15:37 +0000] "GET /easter-egg HTTP/1.1" 200 42 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.3" + [2015-02-04 10:00:00] production.INFO: Laravel 5.0 released. The world rejoices. + + [2015-12-03 12:00:00] production.INFO: PHP 7.0 introduced scalar type declarations. Minds blown. + + [2016-05-15 14:00:00] production.INFO: Composer installed new dependencies. Dependency hell avoided. + + [2017-08-20 16:00:00] production.INFO: Artisan command executed: migrate. Smooth sailing. + + [2018-01-10 09:00:00] production.INFO: User login successful. + + [2018-01-10 09:05:00] production.ERROR: Database connection failed. Did you try turning it off and on again? + + [2018-01-10 09:10:00] production.WARNING: Deprecated function used in UserController.php. Time to refactor, again. + + [2018-01-10 09:15:00] production.ERROR: Uncaught Exception: Division by zero. Oops, maths is hard. + + [2018-01-10 09:20:00] production.INFO: User logout successful. See you later, alligator. + + [2019-03-25 11:00:00] production.INFO: Cache cleared. Fresh start! + + [2019-06-30 13:00:00] production.ERROR: Syntax error. Missing semicolon strikes again. + + [2020-09-10 15:00:00] production.INFO: User registered. Welcome aboard! + + [2021-11-05 17:00:00] production.WARNING: Low disk space. Time to clean up. + + [2022-12-20 19:00:00] production.INFO: Server rebooted. All systems go. + + [2024-11-14 18:56:20] production.INFO: Unexpected item in the bagging area. Please wait for assistance. render: irc logs # Special thanks diff --git a/.github/ISSUE_TEMPLATE/code_quality_issue.yml b/.github/ISSUE_TEMPLATE/code_quality_issue.yml index 1954bf33..155b6f7c 100644 --- a/.github/ISSUE_TEMPLATE/code_quality_issue.yml +++ b/.github/ISSUE_TEMPLATE/code_quality_issue.yml @@ -5,7 +5,7 @@ description: Create a code quality issue to help InvoiceShelf keep a clean codeb labels: - code quality - triage -projects: ["InvoiceShelf/2"] +projects: ['InvoiceShelf/2'] assignees: - rihards-simanovics @@ -20,6 +20,23 @@ body: possibility your suggestion is already being tracked. Please do a thorough search before creating a new issue. + # Ask user to confirm they've tried to fix or research the issue before + # posting a bug report. + - type: checkboxes + id: confirm-read-documentation + attributes: + label: Issue filing prerequisites + description: 'Prior to filing an issue please confirm that:' + options: + - label: I've checked the [documentation](https://docs.invoiceshelf.com/). + required: true + - label: I've looked for similar issues both Open and Closed. + required: true + - label: >- + I've tried clearing both cache and cookies in my browser or tried + opening the app in the Incognito/InPrivate window. + required: true + # Issue body - type: textarea id: description @@ -45,10 +62,12 @@ body: attributes: label: Gains description: What would fixing this code quality issue bring to the source code? - value: | - - eg. A better readability. - - eg. Uncoupling concepts X and Y. - - eg. Clarifying the responsibility of class C. + placeholder: >- + - e.g. Better readability. + + - e.g. Uncoupling concepts X and Y. + + - e.g. Clarifying the responsibility of class C. validations: required: true @@ -58,10 +77,12 @@ body: attributes: label: Requirements description: Describe all the requirements to solve the code quality issue. - value: | - - eg. Using a specific design pattern. - - eg. Separating Interface I into three new interfaces I1, I2 and I3. - - eg. Regrouping the duplicated process into a new helper. + placeholder: >- + - e.g. Using a specific design pattern. + + - e.g. Separating Interface I into three new interfaces I1, I2 and I3. + + - e.g. Regrouping the duplicated process into a new helper. # Remarks - type: textarea diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index 80ab6a45..5a8c04bf 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -6,6 +6,6 @@ contact_links: - name: Translation issue url: https://crowdin.com/project/invoiceshelf about: Help improve translations on Crowdin. - - name: Question & Discussion + - name: Support, Question & Discussion - Official Discord Server url: https://discord.gg/hwg2FtwWHW about: Post your questions and join the discussion. You can participate in chats on every channel. diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml index a5833ca8..2a12975d 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.yml +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -4,7 +4,8 @@ name: Feature Request labels: - feature request - triage -projects: ["InvoiceShelf/2"] +type: Feature +projects: ['InvoiceShelf/2'] assignees: - rihards-simanovics description: >- @@ -21,12 +22,31 @@ body: your suggestion is already being tracked. Please do a thorough search before creating a new issue. + # Ask user to confirm they've tried to fix or research the issue before + # posting a bug report. + - type: checkboxes + id: confirm-read-documentation + attributes: + label: Issue filing prerequisites + description: 'Prior to filing an issue please confirm that:' + options: + - label: I've checked the [documentation](https://docs.invoiceshelf.com/). + required: true + - label: I've looked for similar issues with feature requests both Open and Closed. + required: true + - label: >- + I've tried clearing both cache and cookies in my browser or tried + opening the app in the Incognito/InPrivate window. + required: true + # Description - type: textarea id: what-feature attributes: label: What feature or improvement do you think would benefit InvoiceShelf? description: Please include your use case + placeholder: >- + I propose that feature J be implemented as I believe it will greatly benefit the application. validations: required: true @@ -37,7 +57,7 @@ body: --- - Please include a list changes required to make this improvement. A good + Please include a list of changes required to make this improvement. A good rule of thumb is to start your proposal with no more than 7 high-level requirements. @@ -47,9 +67,11 @@ body: attributes: label: Requirements description: Describe all the requirements to make your idea happen. - value: | + placeholder: >- - This proposal will accomplish X + - This proposal will accomplish Y + - This proposal will accomplish Z validations: required: true @@ -59,7 +81,7 @@ body: id: invoiceshelf_version attributes: label: App Version - description: Which version of InvoiceShelf are you using? + description: Which version of InvoiceShelf are you currently using? placeholder: v0.0.0 validations: required: true diff --git a/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md b/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md new file mode 100644 index 00000000..54ea19ae --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md @@ -0,0 +1,17 @@ +## Pre-review request checklist + +- [ ] (\*) I have listed all changes in the `Changes` section. +- [ ] (opt) I have listed all issues this PR addresses in the `Issues` section [with the issue/discussion IDs](https://docs.github.com/en/issues/tracking-your-work-with-issues/using-issues/linking-a-pull-request-to-an-issue). +- [ ] (\*) I have tested my changes. +- [ ] (\*) I have considered backwards compatibility. + +## Changes + +- Added feature X +- Removed Code Y +- Refactored code Z + +## Issues + +- fixes # +- closes # diff --git a/.github/workflows/check.yaml b/.github/workflows/check.yaml index f0ba4895..bccb2824 100644 --- a/.github/workflows/check.yaml +++ b/.github/workflows/check.yaml @@ -40,7 +40,7 @@ jobs: - name: Set up PHP uses: shivammathur/setup-php@v2 with: - php-version: 8.2 + php-version: 8.3 - name: Checkout code uses: actions/checkout@v4 @@ -61,12 +61,13 @@ jobs: php-version: - 8.2 - 8.3 + - 8.4 env: extensions: bcmath, curl, dom, gd, imagick, json, libxml, mbstring, pcntl, pdo, pdo_mysql, zip steps: - name: Checkout code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Setup PHP Action uses: shivammathur/setup-php@v2 @@ -80,7 +81,7 @@ jobs: uses: ramsey/composer-install@v2 - name: Use Node.js 20 - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version: 20 @@ -104,7 +105,7 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Setup PHP uses: shivammathur/setup-php@v2 @@ -119,7 +120,7 @@ jobs: composer-options: --no-dev - name: Use Node.js 20 - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version: 20 diff --git a/_ide_helper.php b/_ide_helper.php index 7dc9a453..c3593110 100644 --- a/_ide_helper.php +++ b/_ide_helper.php @@ -1,50 +1,83 @@ * @see https://github.com/barryvdh/laravel-ide-helper */ +namespace Illuminate\Support\Facades { + /** + * + * + * @see \Illuminate\Foundation\Application + */ + class App { + /** + * Begin configuring a new Laravel application instance. + * + * @param string|null $basePath + * @return \Illuminate\Foundation\Configuration\ApplicationBuilder + * @static + */ + public static function configure($basePath = null) + { + return \Illuminate\Foundation\Application::configure($basePath); + } -namespace { - exit("This file should not be included, only analyzed by your IDE"); + /** + * Infer the application's base directory from the environment. + * + * @return string + * @static + */ + public static function inferBasePath() + { + return \Illuminate\Foundation\Application::inferBasePath(); + } - class App extends \Illuminate\Support\Facades\App - { /** * Get the version number of the application. * - * @return string - * @static + * @return string + * @static */ public static function version() { - return \Illuminate\Foundation\Application::version(); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->version(); } /** * Run the given array of bootstrap classes. * - * @param array $bootstrappers - * @return void - * @static + * @param string[] $bootstrappers + * @return void + * @static */ public static function bootstrapWith($bootstrappers) { - \Illuminate\Foundation\Application::bootstrapWith($bootstrappers); + /** @var \Illuminate\Foundation\Application $instance */ + $instance->bootstrapWith($bootstrappers); } /** * Register a callback to run after loading the environment. * * @param \Closure $callback - * @return void - * @static + * @return void + * @static */ public static function afterLoadingEnvironment($callback) { - \Illuminate\Foundation\Application::afterLoadingEnvironment($callback); + /** @var \Illuminate\Foundation\Application $instance */ + $instance->afterLoadingEnvironment($callback); } /** @@ -52,12 +85,13 @@ namespace { * * @param string $bootstrapper * @param \Closure $callback - * @return void - * @static + * @return void + * @static */ public static function beforeBootstrapping($bootstrapper, $callback) { - \Illuminate\Foundation\Application::beforeBootstrapping($bootstrapper, $callback); + /** @var \Illuminate\Foundation\Application $instance */ + $instance->beforeBootstrapping($bootstrapper, $callback); } /** @@ -65,517 +99,850 @@ namespace { * * @param string $bootstrapper * @param \Closure $callback - * @return void - * @static + * @return void + * @static */ public static function afterBootstrapping($bootstrapper, $callback) { - \Illuminate\Foundation\Application::afterBootstrapping($bootstrapper, $callback); + /** @var \Illuminate\Foundation\Application $instance */ + $instance->afterBootstrapping($bootstrapper, $callback); } /** * Determine if the application has been bootstrapped before. * - * @return bool - * @static + * @return bool + * @static */ public static function hasBeenBootstrapped() { - return \Illuminate\Foundation\Application::hasBeenBootstrapped(); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->hasBeenBootstrapped(); } /** * Set the base path for the application. * * @param string $basePath - * @return $this - * @static + * @return \Illuminate\Foundation\Application + * @static */ public static function setBasePath($basePath) { - return \Illuminate\Foundation\Application::setBasePath($basePath); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->setBasePath($basePath); } /** * Get the path to the application "app" directory. * - * @return string - * @static + * @param string $path + * @return string + * @static */ - public static function path() + public static function path($path = '') { - return \Illuminate\Foundation\Application::path(); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->path($path); + } + + /** + * Set the application directory. + * + * @param string $path + * @return \Illuminate\Foundation\Application + * @static + */ + public static function useAppPath($path) + { + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->useAppPath($path); } /** * Get the base path of the Laravel installation. * - * @return string - * @static + * @param string $path + * @return string + * @static */ - public static function basePath() + public static function basePath($path = '') { - return \Illuminate\Foundation\Application::basePath(); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->basePath($path); } /** * Get the path to the bootstrap directory. * - * @return string - * @static + * @param string $path + * @return string + * @static */ - public static function bootstrapPath() + public static function bootstrapPath($path = '') { - return \Illuminate\Foundation\Application::bootstrapPath(); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->bootstrapPath($path); + } + + /** + * Get the path to the service provider list in the bootstrap directory. + * + * @return string + * @static + */ + public static function getBootstrapProvidersPath() + { + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->getBootstrapProvidersPath(); + } + + /** + * Set the bootstrap file directory. + * + * @param string $path + * @return \Illuminate\Foundation\Application + * @static + */ + public static function useBootstrapPath($path) + { + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->useBootstrapPath($path); } /** * Get the path to the application configuration files. * - * @return string - * @static + * @param string $path + * @return string + * @static */ - public static function configPath() + public static function configPath($path = '') { - return \Illuminate\Foundation\Application::configPath(); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->configPath($path); + } + + /** + * Set the configuration directory. + * + * @param string $path + * @return \Illuminate\Foundation\Application + * @static + */ + public static function useConfigPath($path) + { + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->useConfigPath($path); } /** * Get the path to the database directory. * - * @return string - * @static + * @param string $path + * @return string + * @static */ - public static function databasePath() + public static function databasePath($path = '') { - return \Illuminate\Foundation\Application::databasePath(); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->databasePath($path); } /** * Set the database directory. * * @param string $path - * @return $this - * @static + * @return \Illuminate\Foundation\Application + * @static */ public static function useDatabasePath($path) { - return \Illuminate\Foundation\Application::useDatabasePath($path); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->useDatabasePath($path); } /** * Get the path to the language files. * - * @return string - * @static + * @param string $path + * @return string + * @static */ - public static function langPath() + public static function langPath($path = '') { - return \Illuminate\Foundation\Application::langPath(); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->langPath($path); + } + + /** + * Set the language file directory. + * + * @param string $path + * @return \Illuminate\Foundation\Application + * @static + */ + public static function useLangPath($path) + { + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->useLangPath($path); } /** * Get the path to the public / web directory. * - * @return string - * @static + * @param string $path + * @return string + * @static */ - public static function publicPath() + public static function publicPath($path = '') { - return \Illuminate\Foundation\Application::publicPath(); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->publicPath($path); + } + + /** + * Set the public / web directory. + * + * @param string $path + * @return \Illuminate\Foundation\Application + * @static + */ + public static function usePublicPath($path) + { + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->usePublicPath($path); } /** * Get the path to the storage directory. * - * @return string - * @static + * @param string $path + * @return string + * @static */ - public static function storagePath() + public static function storagePath($path = '') { - return \Illuminate\Foundation\Application::storagePath(); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->storagePath($path); } /** * Set the storage directory. * * @param string $path - * @return $this - * @static + * @return \Illuminate\Foundation\Application + * @static */ public static function useStoragePath($path) { - return \Illuminate\Foundation\Application::useStoragePath($path); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->useStoragePath($path); } /** * Get the path to the resources directory. * - * @return string - * @static + * @param string $path + * @return string + * @static */ - public static function resourcePath() + public static function resourcePath($path = '') { - return \Illuminate\Foundation\Application::resourcePath(); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->resourcePath($path); + } + + /** + * Get the path to the views directory. + * + * This method returns the first configured path in the array of view paths. + * + * @param string $path + * @return string + * @static + */ + public static function viewPath($path = '') + { + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->viewPath($path); + } + + /** + * Join the given paths together. + * + * @param string $basePath + * @param string $path + * @return string + * @static + */ + public static function joinPaths($basePath, $path = '') + { + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->joinPaths($basePath, $path); } /** * Get the path to the environment file directory. * - * @return string - * @static + * @return string + * @static */ public static function environmentPath() { - return \Illuminate\Foundation\Application::environmentPath(); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->environmentPath(); } /** * Set the directory for the environment file. * * @param string $path - * @return $this - * @static + * @return \Illuminate\Foundation\Application + * @static */ public static function useEnvironmentPath($path) { - return \Illuminate\Foundation\Application::useEnvironmentPath($path); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->useEnvironmentPath($path); } /** * Set the environment file to be loaded during bootstrapping. * * @param string $file - * @return $this - * @static + * @return \Illuminate\Foundation\Application + * @static */ public static function loadEnvironmentFrom($file) { - return \Illuminate\Foundation\Application::loadEnvironmentFrom($file); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->loadEnvironmentFrom($file); } /** * Get the environment file the application is using. * - * @return string - * @static + * @return string + * @static */ public static function environmentFile() { - return \Illuminate\Foundation\Application::environmentFile(); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->environmentFile(); } /** * Get the fully qualified path to the environment file. * - * @return string - * @static + * @return string + * @static */ public static function environmentFilePath() { - return \Illuminate\Foundation\Application::environmentFilePath(); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->environmentFilePath(); } /** * Get or check the current application environment. * - * @return string|bool - * @static + * @param string|array $environments + * @return string|bool + * @static */ - public static function environment() + public static function environment(...$environments) { - return \Illuminate\Foundation\Application::environment(); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->environment(...$environments); } /** - * Determine if application is in local environment. + * Determine if the application is in the local environment. * - * @return bool - * @static + * @return bool + * @static */ public static function isLocal() { - return \Illuminate\Foundation\Application::isLocal(); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->isLocal(); + } + + /** + * Determine if the application is in the production environment. + * + * @return bool + * @static + */ + public static function isProduction() + { + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->isProduction(); } /** * Detect the application's current environment. * * @param \Closure $callback - * @return string - * @static + * @return string + * @static */ public static function detectEnvironment($callback) { - return \Illuminate\Foundation\Application::detectEnvironment($callback); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->detectEnvironment($callback); } /** - * Determine if we are running in the console. + * Determine if the application is running in the console. * - * @return bool - * @static + * @return bool + * @static */ public static function runningInConsole() { - return \Illuminate\Foundation\Application::runningInConsole(); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->runningInConsole(); } /** - * Determine if we are running unit tests. + * Determine if the application is running any of the given console commands. * - * @return bool - * @static + * @param string|array $commands + * @return bool + * @static + */ + public static function runningConsoleCommand(...$commands) + { + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->runningConsoleCommand(...$commands); + } + + /** + * Determine if the application is running unit tests. + * + * @return bool + * @static */ public static function runningUnitTests() { - return \Illuminate\Foundation\Application::runningUnitTests(); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->runningUnitTests(); + } + + /** + * Determine if the application is running with debug mode enabled. + * + * @return bool + * @static + */ + public static function hasDebugModeEnabled() + { + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->hasDebugModeEnabled(); + } + + /** + * Register a new registered listener. + * + * @param callable $callback + * @return void + * @static + */ + public static function registered($callback) + { + /** @var \Illuminate\Foundation\Application $instance */ + $instance->registered($callback); } /** * Register all of the configured providers. * - * @return void - * @static + * @return void + * @static */ public static function registerConfiguredProviders() { - \Illuminate\Foundation\Application::registerConfiguredProviders(); + /** @var \Illuminate\Foundation\Application $instance */ + $instance->registerConfiguredProviders(); } /** * Register a service provider with the application. * * @param \Illuminate\Support\ServiceProvider|string $provider - * @param array $options * @param bool $force - * @return \Illuminate\Support\ServiceProvider - * @static + * @return \Illuminate\Support\ServiceProvider + * @static */ - public static function register($provider, $options = [], $force = false) + public static function register($provider, $force = false) { - return \Illuminate\Foundation\Application::register($provider, $options, $force); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->register($provider, $force); } /** * Get the registered service provider instance if it exists. * * @param \Illuminate\Support\ServiceProvider|string $provider - * @return \Illuminate\Support\ServiceProvider|null - * @static + * @return \Illuminate\Support\ServiceProvider|null + * @static */ public static function getProvider($provider) { - return \Illuminate\Foundation\Application::getProvider($provider); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->getProvider($provider); + } + + /** + * Get the registered service provider instances if any exist. + * + * @param \Illuminate\Support\ServiceProvider|string $provider + * @return array + * @static + */ + public static function getProviders($provider) + { + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->getProviders($provider); } /** * Resolve a service provider instance from the class name. * * @param string $provider - * @return \Illuminate\Support\ServiceProvider - * @static + * @return \Illuminate\Support\ServiceProvider + * @static */ public static function resolveProvider($provider) { - return \Illuminate\Foundation\Application::resolveProvider($provider); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->resolveProvider($provider); } /** * Load and boot all of the remaining deferred providers. * - * @return void - * @static + * @return void + * @static */ public static function loadDeferredProviders() { - \Illuminate\Foundation\Application::loadDeferredProviders(); + /** @var \Illuminate\Foundation\Application $instance */ + $instance->loadDeferredProviders(); } /** * Load the provider for a deferred service. * * @param string $service - * @return void - * @static + * @return void + * @static */ public static function loadDeferredProvider($service) { - \Illuminate\Foundation\Application::loadDeferredProvider($service); + /** @var \Illuminate\Foundation\Application $instance */ + $instance->loadDeferredProvider($service); } /** * Register a deferred provider and service. * * @param string $provider - * @param string $service - * @return void - * @static + * @param string|null $service + * @return void + * @static */ public static function registerDeferredProvider($provider, $service = null) { - \Illuminate\Foundation\Application::registerDeferredProvider($provider, $service); + /** @var \Illuminate\Foundation\Application $instance */ + $instance->registerDeferredProvider($provider, $service); } /** * Resolve the given type from the container. * - * (Overriding Container::make) - * * @param string $abstract - * @return mixed - * @static + * @param array $parameters + * @return mixed + * @throws \Illuminate\Contracts\Container\BindingResolutionException + * @static */ - public static function make($abstract) + public static function make($abstract, $parameters = []) { - return \Illuminate\Foundation\Application::make($abstract); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->make($abstract, $parameters); } /** * Determine if the given abstract type has been bound. * - * (Overriding Container::bound) - * * @param string $abstract - * @return bool - * @static + * @return bool + * @static */ public static function bound($abstract) { - return \Illuminate\Foundation\Application::bound($abstract); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->bound($abstract); } /** * Determine if the application has booted. * - * @return bool - * @static + * @return bool + * @static */ public static function isBooted() { - return \Illuminate\Foundation\Application::isBooted(); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->isBooted(); } /** * Boot the application's service providers. * - * @return void - * @static + * @return void + * @static */ public static function boot() { - \Illuminate\Foundation\Application::boot(); + /** @var \Illuminate\Foundation\Application $instance */ + $instance->boot(); } /** * Register a new boot listener. * - * @param mixed $callback - * @return void - * @static + * @param callable $callback + * @return void + * @static */ public static function booting($callback) { - \Illuminate\Foundation\Application::booting($callback); + /** @var \Illuminate\Foundation\Application $instance */ + $instance->booting($callback); } /** * Register a new "booted" listener. * - * @param mixed $callback - * @return void - * @static + * @param callable $callback + * @return void + * @static */ public static function booted($callback) { - \Illuminate\Foundation\Application::booted($callback); + /** @var \Illuminate\Foundation\Application $instance */ + $instance->booted($callback); } /** * {@inheritdoc} * - * @static + * @return \Symfony\Component\HttpFoundation\Response + * @static */ public static function handle($request, $type = 1, $catch = true) { - return \Illuminate\Foundation\Application::handle($request, $type, $catch); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->handle($request, $type, $catch); + } + + /** + * Handle the incoming HTTP request and send the response to the browser. + * + * @param \Illuminate\Http\Request $request + * @return void + * @static + */ + public static function handleRequest($request) + { + /** @var \Illuminate\Foundation\Application $instance */ + $instance->handleRequest($request); + } + + /** + * Handle the incoming Artisan command. + * + * @param \Symfony\Component\Console\Input\InputInterface $input + * @return int + * @static + */ + public static function handleCommand($input) + { + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->handleCommand($input); + } + + /** + * Determine if the framework's base configuration should be merged. + * + * @return bool + * @static + */ + public static function shouldMergeFrameworkConfiguration() + { + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->shouldMergeFrameworkConfiguration(); + } + + /** + * Indicate that the framework's base configuration should not be merged. + * + * @return \Illuminate\Foundation\Application + * @static + */ + public static function dontMergeFrameworkConfiguration() + { + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->dontMergeFrameworkConfiguration(); } /** * Determine if middleware has been disabled for the application. * - * @return bool - * @static + * @return bool + * @static */ public static function shouldSkipMiddleware() { - return \Illuminate\Foundation\Application::shouldSkipMiddleware(); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->shouldSkipMiddleware(); } /** * Get the path to the cached services.php file. * - * @return string - * @static + * @return string + * @static */ public static function getCachedServicesPath() { - return \Illuminate\Foundation\Application::getCachedServicesPath(); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->getCachedServicesPath(); + } + + /** + * Get the path to the cached packages.php file. + * + * @return string + * @static + */ + public static function getCachedPackagesPath() + { + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->getCachedPackagesPath(); } /** * Determine if the application configuration is cached. * - * @return bool - * @static + * @return bool + * @static */ public static function configurationIsCached() { - return \Illuminate\Foundation\Application::configurationIsCached(); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->configurationIsCached(); } /** * Get the path to the configuration cache file. * - * @return string - * @static + * @return string + * @static */ public static function getCachedConfigPath() { - return \Illuminate\Foundation\Application::getCachedConfigPath(); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->getCachedConfigPath(); } /** * Determine if the application routes are cached. * - * @return bool - * @static + * @return bool + * @static */ public static function routesAreCached() { - return \Illuminate\Foundation\Application::routesAreCached(); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->routesAreCached(); } /** * Get the path to the routes cache file. * - * @return string - * @static + * @return string + * @static */ public static function getCachedRoutesPath() { - return \Illuminate\Foundation\Application::getCachedRoutesPath(); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->getCachedRoutesPath(); + } + + /** + * Determine if the application events are cached. + * + * @return bool + * @static + */ + public static function eventsAreCached() + { + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->eventsAreCached(); + } + + /** + * Get the path to the events cache file. + * + * @return string + * @static + */ + public static function getCachedEventsPath() + { + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->getCachedEventsPath(); + } + + /** + * Add new prefix to list of absolute path prefixes. + * + * @param string $prefix + * @return \Illuminate\Foundation\Application + * @static + */ + public static function addAbsoluteCachePathPrefix($prefix) + { + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->addAbsoluteCachePathPrefix($prefix); + } + + /** + * Get an instance of the maintenance mode manager implementation. + * + * @return \Illuminate\Contracts\Foundation\MaintenanceMode + * @static + */ + public static function maintenanceMode() + { + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->maintenanceMode(); } /** * Determine if the application is currently down for maintenance. * - * @return bool - * @static + * @return bool + * @static */ public static function isDownForMaintenance() { - return \Illuminate\Foundation\Application::isDownForMaintenance(); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->isDownForMaintenance(); } /** @@ -584,303 +951,391 @@ namespace { * @param int $code * @param string $message * @param array $headers - * @return void + * @return never * @throws \Symfony\Component\HttpKernel\Exception\HttpException - * @static + * @throws \Symfony\Component\HttpKernel\Exception\NotFoundHttpException + * @static */ public static function abort($code, $message = '', $headers = []) { - \Illuminate\Foundation\Application::abort($code, $message, $headers); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->abort($code, $message, $headers); } /** * Register a terminating callback with the application. * - * @param \Closure $callback - * @return $this - * @static + * @param callable|string $callback + * @return \Illuminate\Foundation\Application + * @static */ public static function terminating($callback) { - return \Illuminate\Foundation\Application::terminating($callback); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->terminating($callback); } /** * Terminate the application. * - * @return void - * @static + * @return void + * @static */ public static function terminate() { - \Illuminate\Foundation\Application::terminate(); + /** @var \Illuminate\Foundation\Application $instance */ + $instance->terminate(); } /** * Get the service providers that have been loaded. * - * @return array - * @static + * @return array + * @static */ public static function getLoadedProviders() { - return \Illuminate\Foundation\Application::getLoadedProviders(); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->getLoadedProviders(); + } + + /** + * Determine if the given service provider is loaded. + * + * @param string $provider + * @return bool + * @static + */ + public static function providerIsLoaded($provider) + { + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->providerIsLoaded($provider); } /** * Get the application's deferred services. * - * @return array - * @static + * @return array + * @static */ public static function getDeferredServices() { - return \Illuminate\Foundation\Application::getDeferredServices(); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->getDeferredServices(); } /** * Set the application's deferred services. * * @param array $services - * @return void - * @static + * @return void + * @static */ public static function setDeferredServices($services) { - \Illuminate\Foundation\Application::setDeferredServices($services); - } - - /** - * Add an array of services to the application's deferred services. - * - * @param array $services - * @return void - * @static - */ - public static function addDeferredServices($services) - { - \Illuminate\Foundation\Application::addDeferredServices($services); + /** @var \Illuminate\Foundation\Application $instance */ + $instance->setDeferredServices($services); } /** * Determine if the given service is a deferred service. * * @param string $service - * @return bool - * @static + * @return bool + * @static */ public static function isDeferredService($service) { - return \Illuminate\Foundation\Application::isDeferredService($service); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->isDeferredService($service); + } + + /** + * Add an array of services to the application's deferred services. + * + * @param array $services + * @return void + * @static + */ + public static function addDeferredServices($services) + { + /** @var \Illuminate\Foundation\Application $instance */ + $instance->addDeferredServices($services); + } + + /** + * Remove an array of services from the application's deferred services. + * + * @param array $services + * @return void + * @static + */ + public static function removeDeferredServices($services) + { + /** @var \Illuminate\Foundation\Application $instance */ + $instance->removeDeferredServices($services); } /** * Configure the real-time facade namespace. * * @param string $namespace - * @return void - * @static + * @return void + * @static */ public static function provideFacades($namespace) { - \Illuminate\Foundation\Application::provideFacades($namespace); - } - - /** - * Define a callback to be used to configure Monolog. - * - * @param callable $callback - * @return $this - * @static - */ - public static function configureMonologUsing($callback) - { - return \Illuminate\Foundation\Application::configureMonologUsing($callback); - } - - /** - * Determine if the application has a custom Monolog configurator. - * - * @return bool - * @static - */ - public static function hasMonologConfigurator() - { - return \Illuminate\Foundation\Application::hasMonologConfigurator(); - } - - /** - * Get the custom Monolog configurator for the application. - * - * @return callable - * @static - */ - public static function getMonologConfigurator() - { - return \Illuminate\Foundation\Application::getMonologConfigurator(); + /** @var \Illuminate\Foundation\Application $instance */ + $instance->provideFacades($namespace); } /** * Get the current application locale. * - * @return string - * @static + * @return string + * @static */ public static function getLocale() { - return \Illuminate\Foundation\Application::getLocale(); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->getLocale(); + } + + /** + * Get the current application locale. + * + * @return string + * @static + */ + public static function currentLocale() + { + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->currentLocale(); + } + + /** + * Get the current application fallback locale. + * + * @return string + * @static + */ + public static function getFallbackLocale() + { + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->getFallbackLocale(); } /** * Set the current application locale. * * @param string $locale - * @return void - * @static + * @return void + * @static */ public static function setLocale($locale) { - \Illuminate\Foundation\Application::setLocale($locale); + /** @var \Illuminate\Foundation\Application $instance */ + $instance->setLocale($locale); } /** - * Determine if application locale is the given locale. + * Set the current application fallback locale. + * + * @param string $fallbackLocale + * @return void + * @static + */ + public static function setFallbackLocale($fallbackLocale) + { + /** @var \Illuminate\Foundation\Application $instance */ + $instance->setFallbackLocale($fallbackLocale); + } + + /** + * Determine if the application locale is the given locale. * * @param string $locale - * @return bool - * @static + * @return bool + * @static */ public static function isLocale($locale) { - return \Illuminate\Foundation\Application::isLocale($locale); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->isLocale($locale); } /** * Register the core class aliases in the container. * - * @return void - * @static + * @return void + * @static */ public static function registerCoreContainerAliases() { - \Illuminate\Foundation\Application::registerCoreContainerAliases(); + /** @var \Illuminate\Foundation\Application $instance */ + $instance->registerCoreContainerAliases(); } /** * Flush the container of all bindings and resolved instances. * - * @return void - * @static + * @return void + * @static */ public static function flush() { - \Illuminate\Foundation\Application::flush(); + /** @var \Illuminate\Foundation\Application $instance */ + $instance->flush(); } /** * Get the application namespace. * - * @return string + * @return string * @throws \RuntimeException - * @static + * @static */ public static function getNamespace() { - return \Illuminate\Foundation\Application::getNamespace(); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->getNamespace(); } /** * Define a contextual binding. * - * @param string $concrete - * @return \Illuminate\Contracts\Container\ContextualBindingBuilder - * @static + * @param array|string $concrete + * @return \Illuminate\Contracts\Container\ContextualBindingBuilder + * @static */ public static function when($concrete) { - //Method inherited from \Illuminate\Container\Container - return \Illuminate\Foundation\Application::when($concrete); + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->when($concrete); + } + + /** + * Define a contextual binding based on an attribute. + * + * @param string $attribute + * @param \Closure $handler + * @return void + * @static + */ + public static function whenHasAttribute($attribute, $handler) + { + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + $instance->whenHasAttribute($attribute, $handler); + } + + /** + * Returns true if the container can return an entry for the given identifier. + * + * Returns false otherwise. + * + * `has($id)` returning true does not mean that `get($id)` will not throw an exception. + * It does however mean that `get($id)` will not throw a `NotFoundExceptionInterface`. + * + * @return bool + * @param string $id Identifier of the entry to look for. + * @return bool + * @static + */ + public static function has($id) + { + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->has($id); } /** * Determine if the given abstract type has been resolved. * * @param string $abstract - * @return bool - * @static + * @return bool + * @static */ public static function resolved($abstract) { - //Method inherited from \Illuminate\Container\Container - return \Illuminate\Foundation\Application::resolved($abstract); + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->resolved($abstract); } /** * Determine if a given type is shared. * * @param string $abstract - * @return bool - * @static + * @return bool + * @static */ public static function isShared($abstract) { - //Method inherited from \Illuminate\Container\Container - return \Illuminate\Foundation\Application::isShared($abstract); + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->isShared($abstract); } /** * Determine if a given string is an alias. * * @param string $name - * @return bool - * @static + * @return bool + * @static */ public static function isAlias($name) { - //Method inherited from \Illuminate\Container\Container - return \Illuminate\Foundation\Application::isAlias($name); + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->isAlias($name); } /** * Register a binding with the container. * - * @param string|array $abstract + * @param string $abstract * @param \Closure|string|null $concrete * @param bool $shared - * @return void - * @static + * @return void + * @throws \TypeError + * @static */ public static function bind($abstract, $concrete = null, $shared = false) { - //Method inherited from \Illuminate\Container\Container - \Illuminate\Foundation\Application::bind($abstract, $concrete, $shared); + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + $instance->bind($abstract, $concrete, $shared); } /** * Determine if the container has a method binding. * * @param string $method - * @return bool - * @static + * @return bool + * @static */ public static function hasMethodBinding($method) { - //Method inherited from \Illuminate\Container\Container - return \Illuminate\Foundation\Application::hasMethodBinding($method); + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->hasMethodBinding($method); } /** * Bind a callback to resolve with Container::call. * - * @param string $method + * @param array|string $method * @param \Closure $callback - * @return void - * @static + * @return void + * @static */ public static function bindMethod($method, $callback) { - //Method inherited from \Illuminate\Container\Container - \Illuminate\Foundation\Application::bindMethod($method, $callback); + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + $instance->bindMethod($method, $callback); } /** @@ -888,13 +1343,14 @@ namespace { * * @param string $method * @param mixed $instance - * @return mixed - * @static + * @return mixed + * @static */ public static function callMethodBinding($method, $instance) { - //Method inherited from \Illuminate\Container\Container - return \Illuminate\Foundation\Application::callMethodBinding($method, $instance); + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->callMethodBinding($method, $instance); } /** @@ -903,13 +1359,14 @@ namespace { * @param string $concrete * @param string $abstract * @param \Closure|string $implementation - * @return void - * @static + * @return void + * @static */ public static function addContextualBinding($concrete, $abstract, $implementation) { - //Method inherited from \Illuminate\Container\Container - \Illuminate\Foundation\Application::addContextualBinding($concrete, $abstract, $implementation); + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + $instance->addContextualBinding($concrete, $abstract, $implementation); } /** @@ -918,27 +1375,74 @@ namespace { * @param string $abstract * @param \Closure|string|null $concrete * @param bool $shared - * @return void - * @static + * @return void + * @static */ public static function bindIf($abstract, $concrete = null, $shared = false) { - //Method inherited from \Illuminate\Container\Container - \Illuminate\Foundation\Application::bindIf($abstract, $concrete, $shared); + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + $instance->bindIf($abstract, $concrete, $shared); } /** * Register a shared binding in the container. * - * @param string|array $abstract + * @param string $abstract * @param \Closure|string|null $concrete - * @return void - * @static + * @return void + * @static */ public static function singleton($abstract, $concrete = null) { - //Method inherited from \Illuminate\Container\Container - \Illuminate\Foundation\Application::singleton($abstract, $concrete); + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + $instance->singleton($abstract, $concrete); + } + + /** + * Register a shared binding if it hasn't already been registered. + * + * @param string $abstract + * @param \Closure|string|null $concrete + * @return void + * @static + */ + public static function singletonIf($abstract, $concrete = null) + { + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + $instance->singletonIf($abstract, $concrete); + } + + /** + * Register a scoped binding in the container. + * + * @param string $abstract + * @param \Closure|string|null $concrete + * @return void + * @static + */ + public static function scoped($abstract, $concrete = null) + { + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + $instance->scoped($abstract, $concrete); + } + + /** + * Register a scoped binding if it hasn't already been registered. + * + * @param string $abstract + * @param \Closure|string|null $concrete + * @return void + * @static + */ + public static function scopedIf($abstract, $concrete = null) + { + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + $instance->scopedIf($abstract, $concrete); } /** @@ -946,14 +1450,15 @@ namespace { * * @param string $abstract * @param \Closure $closure - * @return void + * @return void * @throws \InvalidArgumentException - * @static + * @static */ public static function extend($abstract, $closure) { - //Method inherited from \Illuminate\Container\Container - \Illuminate\Foundation\Application::extend($abstract, $closure); + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + $instance->extend($abstract, $closure); } /** @@ -961,13 +1466,14 @@ namespace { * * @param string $abstract * @param mixed $instance - * @return void - * @static + * @return mixed + * @static */ public static function instance($abstract, $instance) { - //Method inherited from \Illuminate\Container\Container - \Illuminate\Foundation\Application::instance($abstract, $instance); + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->instance($abstract, $instance); } /** @@ -975,26 +1481,28 @@ namespace { * * @param array|string $abstracts * @param array|mixed $tags - * @return void - * @static + * @return void + * @static */ public static function tag($abstracts, $tags) { - //Method inherited from \Illuminate\Container\Container - \Illuminate\Foundation\Application::tag($abstracts, $tags); + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + $instance->tag($abstracts, $tags); } /** * Resolve all of the bindings for a given tag. * * @param string $tag - * @return array - * @static + * @return iterable + * @static */ public static function tagged($tag) { - //Method inherited from \Illuminate\Container\Container - return \Illuminate\Foundation\Application::tagged($tag); + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->tagged($tag); } /** @@ -1002,13 +1510,15 @@ namespace { * * @param string $abstract * @param string $alias - * @return void - * @static + * @return void + * @throws \LogicException + * @static */ public static function alias($abstract, $alias) { - //Method inherited from \Illuminate\Container\Container - \Illuminate\Foundation\Application::alias($abstract, $alias); + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + $instance->alias($abstract, $alias); } /** @@ -1016,13 +1526,14 @@ namespace { * * @param string $abstract * @param \Closure $callback - * @return mixed - * @static + * @return mixed + * @static */ public static function rebinding($abstract, $callback) { - //Method inherited from \Illuminate\Container\Container - return \Illuminate\Foundation\Application::rebinding($abstract, $callback); + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->rebinding($abstract, $callback); } /** @@ -1031,13 +1542,14 @@ namespace { * @param string $abstract * @param mixed $target * @param string $method - * @return mixed - * @static + * @return mixed + * @static */ public static function refresh($abstract, $target, $method) { - //Method inherited from \Illuminate\Container\Container - return \Illuminate\Foundation\Application::refresh($abstract, $target, $method); + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->refresh($abstract, $target, $method); } /** @@ -1045,145 +1557,275 @@ namespace { * * @param \Closure $callback * @param array $parameters - * @return \Closure - * @static + * @return \Closure + * @static */ public static function wrap($callback, $parameters = []) { - //Method inherited from \Illuminate\Container\Container - return \Illuminate\Foundation\Application::wrap($callback, $parameters); + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->wrap($callback, $parameters); } /** * Call the given Closure / class@method and inject its dependencies. * * @param callable|string $callback - * @param array $parameters + * @param array $parameters * @param string|null $defaultMethod - * @return mixed - * @static + * @return mixed + * @throws \InvalidArgumentException + * @static */ public static function call($callback, $parameters = [], $defaultMethod = null) { - //Method inherited from \Illuminate\Container\Container - return \Illuminate\Foundation\Application::call($callback, $parameters, $defaultMethod); + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->call($callback, $parameters, $defaultMethod); } /** * Get a closure to resolve the given type from the container. * * @param string $abstract - * @return \Closure - * @static + * @return \Closure + * @static */ public static function factory($abstract) { - //Method inherited from \Illuminate\Container\Container - return \Illuminate\Foundation\Application::factory($abstract); + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->factory($abstract); + } + + /** + * An alias function name for make(). + * + * @param string|callable $abstract + * @param array $parameters + * @return mixed + * @throws \Illuminate\Contracts\Container\BindingResolutionException + * @static + */ + public static function makeWith($abstract, $parameters = []) + { + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->makeWith($abstract, $parameters); + } + + /** + * Finds an entry of the container by its identifier and returns it. + * + * @return mixed + * @param string $id Identifier of the entry to look for. + * @throws NotFoundExceptionInterface No entry was found for **this** identifier. + * @throws ContainerExceptionInterface Error while retrieving the entry. + * @return mixed Entry. + * @static + */ + public static function get($id) + { + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->get($id); } /** * Instantiate a concrete instance of the given type. * - * @param string $concrete - * @return mixed + * @param \Closure|string $concrete + * @return mixed * @throws \Illuminate\Contracts\Container\BindingResolutionException - * @static + * @throws \Illuminate\Contracts\Container\CircularDependencyException + * @static */ public static function build($concrete) { - //Method inherited from \Illuminate\Container\Container - return \Illuminate\Foundation\Application::build($concrete); + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->build($concrete); + } + + /** + * Resolve a dependency based on an attribute. + * + * @param \ReflectionAttribute $attribute + * @return mixed + * @static + */ + public static function resolveFromAttribute($attribute) + { + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->resolveFromAttribute($attribute); + } + + /** + * Register a new before resolving callback for all types. + * + * @param \Closure|string $abstract + * @param \Closure|null $callback + * @return void + * @static + */ + public static function beforeResolving($abstract, $callback = null) + { + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + $instance->beforeResolving($abstract, $callback); } /** * Register a new resolving callback. * - * @param string $abstract + * @param \Closure|string $abstract * @param \Closure|null $callback - * @return void - * @static + * @return void + * @static */ public static function resolving($abstract, $callback = null) { - //Method inherited from \Illuminate\Container\Container - \Illuminate\Foundation\Application::resolving($abstract, $callback); + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + $instance->resolving($abstract, $callback); } /** * Register a new after resolving callback for all types. * - * @param string $abstract + * @param \Closure|string $abstract * @param \Closure|null $callback - * @return void - * @static + * @return void + * @static */ public static function afterResolving($abstract, $callback = null) { - //Method inherited from \Illuminate\Container\Container - \Illuminate\Foundation\Application::afterResolving($abstract, $callback); + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + $instance->afterResolving($abstract, $callback); + } + + /** + * Register a new after resolving attribute callback for all types. + * + * @param string $attribute + * @param \Closure $callback + * @return void + * @static + */ + public static function afterResolvingAttribute($attribute, $callback) + { + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + $instance->afterResolvingAttribute($attribute, $callback); + } + + /** + * Fire all of the after resolving attribute callbacks. + * + * @param \ReflectionAttribute[] $attributes + * @param mixed $object + * @return void + * @static + */ + public static function fireAfterResolvingAttributeCallbacks($attributes, $object) + { + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + $instance->fireAfterResolvingAttributeCallbacks($attributes, $object); } /** * Get the container's bindings. * - * @return array - * @static + * @return array + * @static */ public static function getBindings() { - //Method inherited from \Illuminate\Container\Container - return \Illuminate\Foundation\Application::getBindings(); + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->getBindings(); } /** * Get the alias for an abstract if available. * * @param string $abstract - * @return string - * @throws \LogicException - * @static + * @return string + * @static */ public static function getAlias($abstract) { - //Method inherited from \Illuminate\Container\Container - return \Illuminate\Foundation\Application::getAlias($abstract); + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->getAlias($abstract); + } + + /** + * Remove all of the extender callbacks for a given type. + * + * @param string $abstract + * @return void + * @static + */ + public static function forgetExtenders($abstract) + { + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + $instance->forgetExtenders($abstract); } /** * Remove a resolved instance from the instance cache. * * @param string $abstract - * @return void - * @static + * @return void + * @static */ public static function forgetInstance($abstract) { - //Method inherited from \Illuminate\Container\Container - \Illuminate\Foundation\Application::forgetInstance($abstract); + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + $instance->forgetInstance($abstract); } /** * Clear all of the instances from the container. * - * @return void - * @static + * @return void + * @static */ public static function forgetInstances() { - //Method inherited from \Illuminate\Container\Container - \Illuminate\Foundation\Application::forgetInstances(); + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + $instance->forgetInstances(); } /** - * Set the globally available instance of the container. + * Clear all of the scoped instances from the container. * - * @return static - * @static + * @return void + * @static + */ + public static function forgetScopedInstances() + { + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + $instance->forgetScopedInstances(); + } + + /** + * Get the globally available instance of the container. + * + * @return static + * @static */ public static function getInstance() { - //Method inherited from \Illuminate\Container\Container + //Method inherited from \Illuminate\Container\Container return \Illuminate\Foundation\Application::getInstance(); } @@ -1191,12 +1833,12 @@ namespace { * Set the shared instance of the container. * * @param \Illuminate\Contracts\Container\Container|null $container - * @return static - * @static + * @return \Illuminate\Contracts\Container\Container|static + * @static */ public static function setInstance($container = null) { - //Method inherited from \Illuminate\Container\Container + //Method inherited from \Illuminate\Container\Container return \Illuminate\Foundation\Application::setInstance($container); } @@ -1204,26 +1846,28 @@ namespace { * Determine if a given offset exists. * * @param string $key - * @return bool - * @static + * @return bool + * @static */ public static function offsetExists($key) { - //Method inherited from \Illuminate\Container\Container - return \Illuminate\Foundation\Application::offsetExists($key); + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->offsetExists($key); } /** * Get the value at a given offset. * * @param string $key - * @return mixed - * @static + * @return mixed + * @static */ public static function offsetGet($key) { - //Method inherited from \Illuminate\Container\Container - return \Illuminate\Foundation\Application::offsetGet($key); + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->offsetGet($key); } /** @@ -1231,44 +1875,113 @@ namespace { * * @param string $key * @param mixed $value - * @return void - * @static + * @return void + * @static */ public static function offsetSet($key, $value) { - //Method inherited from \Illuminate\Container\Container - \Illuminate\Foundation\Application::offsetSet($key, $value); + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + $instance->offsetSet($key, $value); } /** * Unset the value at a given offset. * * @param string $key - * @return void - * @static + * @return void + * @static */ public static function offsetUnset($key) { - //Method inherited from \Illuminate\Container\Container - \Illuminate\Foundation\Application::offsetUnset($key); + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + $instance->offsetUnset($key); } - } + /** + * Register a custom macro. + * + * @param string $name + * @param object|callable $macro + * @param-closure-this static $macro + * @return void + * @static + */ + public static function macro($name, $macro) + { + \Illuminate\Foundation\Application::macro($name, $macro); + } + + /** + * Mix another object into the class. + * + * @param object $mixin + * @param bool $replace + * @return void + * @throws \ReflectionException + * @static + */ + public static function mixin($mixin, $replace = true) + { + \Illuminate\Foundation\Application::mixin($mixin, $replace); + } + + /** + * Checks if macro is registered. + * + * @param string $name + * @return bool + * @static + */ + public static function hasMacro($name) + { + return \Illuminate\Foundation\Application::hasMacro($name); + } + + /** + * Flush the existing macros. + * + * @return void + * @static + */ + public static function flushMacros() + { + \Illuminate\Foundation\Application::flushMacros(); + } + + } + /** + * + * + * @see \Illuminate\Foundation\Console\Kernel + */ + class Artisan { + /** + * Re-route the Symfony command events to their Laravel counterparts. + * + * @internal + * @return \Illuminate\Foundation\Console\Kernel + * @static + */ + public static function rerouteSymfonyCommandEvents() + { + /** @var \Illuminate\Foundation\Console\Kernel $instance */ + return $instance->rerouteSymfonyCommandEvents(); + } - class Artisan extends \Illuminate\Support\Facades\Artisan - { /** * Run the console application. * * @param \Symfony\Component\Console\Input\InputInterface $input - * @param \Symfony\Component\Console\Output\OutputInterface $output - * @return int - * @static + * @param \Symfony\Component\Console\Output\OutputInterface|null $output + * @return int + * @static */ public static function handle($input, $output = null) { - //Method inherited from \Illuminate\Foundation\Console\Kernel - return \Crater\Console\Kernel::handle($input, $output); + /** @var \Illuminate\Foundation\Console\Kernel $instance */ + return $instance->handle($input, $output); } /** @@ -1276,13 +1989,51 @@ namespace { * * @param \Symfony\Component\Console\Input\InputInterface $input * @param int $status - * @return void - * @static + * @return void + * @static */ public static function terminate($input, $status) { - //Method inherited from \Illuminate\Foundation\Console\Kernel - \Crater\Console\Kernel::terminate($input, $status); + /** @var \Illuminate\Foundation\Console\Kernel $instance */ + $instance->terminate($input, $status); + } + + /** + * Register a callback to be invoked when the command lifecycle duration exceeds a given amount of time. + * + * @param \DateTimeInterface|\Carbon\CarbonInterval|float|int $threshold + * @param callable $handler + * @return void + * @static + */ + public static function whenCommandLifecycleIsLongerThan($threshold, $handler) + { + /** @var \Illuminate\Foundation\Console\Kernel $instance */ + $instance->whenCommandLifecycleIsLongerThan($threshold, $handler); + } + + /** + * When the command being handled started. + * + * @return \Illuminate\Support\Carbon|null + * @static + */ + public static function commandStartedAt() + { + /** @var \Illuminate\Foundation\Console\Kernel $instance */ + return $instance->commandStartedAt(); + } + + /** + * Resolve a console schedule instance. + * + * @return \Illuminate\Console\Scheduling\Schedule + * @static + */ + public static function resolveConsoleSchedule() + { + /** @var \Illuminate\Foundation\Console\Kernel $instance */ + return $instance->resolveConsoleSchedule(); } /** @@ -1290,26 +2041,26 @@ namespace { * * @param string $signature * @param \Closure $callback - * @return \Illuminate\Foundation\Console\ClosureCommand - * @static + * @return \Illuminate\Foundation\Console\ClosureCommand + * @static */ public static function command($signature, $callback) { - //Method inherited from \Illuminate\Foundation\Console\Kernel - return \Crater\Console\Kernel::command($signature, $callback); + /** @var \Illuminate\Foundation\Console\Kernel $instance */ + return $instance->command($signature, $callback); } /** * Register the given command with the console application. * * @param \Symfony\Component\Console\Command\Command $command - * @return void - * @static + * @return void + * @static */ public static function registerCommand($command) { - //Method inherited from \Illuminate\Foundation\Console\Kernel - \Crater\Console\Kernel::registerCommand($command); + /** @var \Illuminate\Foundation\Console\Kernel $instance */ + $instance->registerCommand($command); } /** @@ -1317,14 +2068,15 @@ namespace { * * @param string $command * @param array $parameters - * @param \Symfony\Component\Console\Output\OutputInterface $outputBuffer - * @return int - * @static + * @param \Symfony\Component\Console\Output\OutputInterface|null $outputBuffer + * @return int + * @throws \Symfony\Component\Console\Exception\CommandNotFoundException + * @static */ public static function call($command, $parameters = [], $outputBuffer = null) { - //Method inherited from \Illuminate\Foundation\Console\Kernel - return \Crater\Console\Kernel::call($command, $parameters, $outputBuffer); + /** @var \Illuminate\Foundation\Console\Kernel $instance */ + return $instance->call($command, $parameters, $outputBuffer); } /** @@ -1332,78 +2084,134 @@ namespace { * * @param string $command * @param array $parameters - * @return void - * @static + * @return \Illuminate\Foundation\Bus\PendingDispatch + * @static */ public static function queue($command, $parameters = []) { - //Method inherited from \Illuminate\Foundation\Console\Kernel - \Crater\Console\Kernel::queue($command, $parameters); + /** @var \Illuminate\Foundation\Console\Kernel $instance */ + return $instance->queue($command, $parameters); } /** * Get all of the commands registered with the console. * - * @return array - * @static + * @return array + * @static */ public static function all() { - //Method inherited from \Illuminate\Foundation\Console\Kernel - return \Crater\Console\Kernel::all(); + /** @var \Illuminate\Foundation\Console\Kernel $instance */ + return $instance->all(); } /** * Get the output for the last run command. * - * @return string - * @static + * @return string + * @static */ public static function output() { - //Method inherited from \Illuminate\Foundation\Console\Kernel - return \Crater\Console\Kernel::output(); + /** @var \Illuminate\Foundation\Console\Kernel $instance */ + return $instance->output(); } /** * Bootstrap the application for artisan commands. * - * @return void - * @static + * @return void + * @static */ public static function bootstrap() { - //Method inherited from \Illuminate\Foundation\Console\Kernel - \Crater\Console\Kernel::bootstrap(); + /** @var \Illuminate\Foundation\Console\Kernel $instance */ + $instance->bootstrap(); + } + + /** + * Bootstrap the application without booting service providers. + * + * @return void + * @static + */ + public static function bootstrapWithoutBootingProviders() + { + /** @var \Illuminate\Foundation\Console\Kernel $instance */ + $instance->bootstrapWithoutBootingProviders(); } /** * Set the Artisan application instance. * - * @param \Illuminate\Console\Application $artisan - * @return void - * @static + * @param \Illuminate\Console\Application|null $artisan + * @return void + * @static */ public static function setArtisan($artisan) { - //Method inherited from \Illuminate\Foundation\Console\Kernel - \Crater\Console\Kernel::setArtisan($artisan); + /** @var \Illuminate\Foundation\Console\Kernel $instance */ + $instance->setArtisan($artisan); } - } + /** + * Set the Artisan commands provided by the application. + * + * @param array $commands + * @return \Illuminate\Foundation\Console\Kernel + * @static + */ + public static function addCommands($commands) + { + /** @var \Illuminate\Foundation\Console\Kernel $instance */ + return $instance->addCommands($commands); + } - class Auth extends \Illuminate\Support\Facades\Auth - { + /** + * Set the paths that should have their Artisan commands automatically discovered. + * + * @param array $paths + * @return \Illuminate\Foundation\Console\Kernel + * @static + */ + public static function addCommandPaths($paths) + { + /** @var \Illuminate\Foundation\Console\Kernel $instance */ + return $instance->addCommandPaths($paths); + } + + /** + * Set the paths that should have their Artisan "routes" automatically discovered. + * + * @param array $paths + * @return \Illuminate\Foundation\Console\Kernel + * @static + */ + public static function addCommandRoutePaths($paths) + { + /** @var \Illuminate\Foundation\Console\Kernel $instance */ + return $instance->addCommandRoutePaths($paths); + } + + } + /** + * + * + * @see \Illuminate\Auth\AuthManager + * @see \Illuminate\Auth\SessionGuard + */ + class Auth { /** * Attempt to get the guard from the local cache. * - * @param string $name - * @return \Illuminate\Contracts\Auth\Guard|\Illuminate\Contracts\Auth\StatefulGuard - * @static + * @param string|null $name + * @return \Illuminate\Contracts\Auth\Guard|\Illuminate\Contracts\Auth\StatefulGuard + * @static */ public static function guard($name = null) { - return \Illuminate\Auth\AuthManager::guard($name); + /** @var \Illuminate\Auth\AuthManager $instance */ + return $instance->guard($name); } /** @@ -1411,12 +2219,13 @@ namespace { * * @param string $name * @param array $config - * @return \Illuminate\Auth\SessionGuard - * @static + * @return \Illuminate\Auth\SessionGuard + * @static */ public static function createSessionDriver($name, $config) { - return \Illuminate\Auth\AuthManager::createSessionDriver($name, $config); + /** @var \Illuminate\Auth\AuthManager $instance */ + return $instance->createSessionDriver($name, $config); } /** @@ -1424,47 +2233,51 @@ namespace { * * @param string $name * @param array $config - * @return \Illuminate\Auth\TokenGuard - * @static + * @return \Illuminate\Auth\TokenGuard + * @static */ public static function createTokenDriver($name, $config) { - return \Illuminate\Auth\AuthManager::createTokenDriver($name, $config); + /** @var \Illuminate\Auth\AuthManager $instance */ + return $instance->createTokenDriver($name, $config); } /** * Get the default authentication driver name. * - * @return string - * @static + * @return string + * @static */ public static function getDefaultDriver() { - return \Illuminate\Auth\AuthManager::getDefaultDriver(); + /** @var \Illuminate\Auth\AuthManager $instance */ + return $instance->getDefaultDriver(); } /** * Set the default guard driver the factory should serve. * * @param string $name - * @return void - * @static + * @return void + * @static */ public static function shouldUse($name) { - \Illuminate\Auth\AuthManager::shouldUse($name); + /** @var \Illuminate\Auth\AuthManager $instance */ + $instance->shouldUse($name); } /** * Set the default authentication driver name. * * @param string $name - * @return void - * @static + * @return void + * @static */ public static function setDefaultDriver($name) { - \Illuminate\Auth\AuthManager::setDefaultDriver($name); + /** @var \Illuminate\Auth\AuthManager $instance */ + $instance->setDefaultDriver($name); } /** @@ -1472,35 +2285,38 @@ namespace { * * @param string $driver * @param callable $callback - * @return $this - * @static + * @return \Illuminate\Auth\AuthManager + * @static */ public static function viaRequest($driver, $callback) { - return \Illuminate\Auth\AuthManager::viaRequest($driver, $callback); + /** @var \Illuminate\Auth\AuthManager $instance */ + return $instance->viaRequest($driver, $callback); } /** * Get the user resolver callback. * - * @return \Closure - * @static + * @return \Closure + * @static */ public static function userResolver() { - return \Illuminate\Auth\AuthManager::userResolver(); + /** @var \Illuminate\Auth\AuthManager $instance */ + return $instance->userResolver(); } /** * Set the callback to be used to resolve users. * * @param \Closure $userResolver - * @return $this - * @static + * @return \Illuminate\Auth\AuthManager + * @static */ public static function resolveUsersUsing($userResolver) { - return \Illuminate\Auth\AuthManager::resolveUsersUsing($userResolver); + /** @var \Illuminate\Auth\AuthManager $instance */ + return $instance->resolveUsersUsing($userResolver); } /** @@ -1508,12 +2324,13 @@ namespace { * * @param string $driver * @param \Closure $callback - * @return $this - * @static + * @return \Illuminate\Auth\AuthManager + * @static */ public static function extend($driver, $callback) { - return \Illuminate\Auth\AuthManager::extend($driver, $callback); + /** @var \Illuminate\Auth\AuthManager $instance */ + return $instance->extend($driver, $callback); } /** @@ -1521,83 +2338,139 @@ namespace { * * @param string $name * @param \Closure $callback - * @return $this - * @static + * @return \Illuminate\Auth\AuthManager + * @static */ public static function provider($name, $callback) { - return \Illuminate\Auth\AuthManager::provider($name, $callback); + /** @var \Illuminate\Auth\AuthManager $instance */ + return $instance->provider($name, $callback); + } + + /** + * Determines if any guards have already been resolved. + * + * @return bool + * @static + */ + public static function hasResolvedGuards() + { + /** @var \Illuminate\Auth\AuthManager $instance */ + return $instance->hasResolvedGuards(); + } + + /** + * Forget all of the resolved guard instances. + * + * @return \Illuminate\Auth\AuthManager + * @static + */ + public static function forgetGuards() + { + /** @var \Illuminate\Auth\AuthManager $instance */ + return $instance->forgetGuards(); + } + + /** + * Set the application instance used by the manager. + * + * @param \Illuminate\Contracts\Foundation\Application $app + * @return \Illuminate\Auth\AuthManager + * @static + */ + public static function setApplication($app) + { + /** @var \Illuminate\Auth\AuthManager $instance */ + return $instance->setApplication($app); } /** * Create the user provider implementation for the driver. * - * @param string $provider - * @return \Illuminate\Contracts\Auth\UserProvider + * @param string|null $provider + * @return \Illuminate\Contracts\Auth\UserProvider|null * @throws \InvalidArgumentException - * @static + * @static */ - public static function createUserProvider($provider) + public static function createUserProvider($provider = null) { - return \Illuminate\Auth\AuthManager::createUserProvider($provider); + /** @var \Illuminate\Auth\AuthManager $instance */ + return $instance->createUserProvider($provider); + } + + /** + * Get the default user provider name. + * + * @return string + * @static + */ + public static function getDefaultUserProvider() + { + /** @var \Illuminate\Auth\AuthManager $instance */ + return $instance->getDefaultUserProvider(); } /** * Get the currently authenticated user. * - * @return \Crater\User|null - * @static + * @return \App\Models\User|null + * @static */ public static function user() { - return \Illuminate\Auth\SessionGuard::user(); + /** @var \Illuminate\Auth\SessionGuard $instance */ + return $instance->user(); } /** * Get the ID for the currently authenticated user. * - * @return int|null - * @static + * @return int|string|null + * @static */ public static function id() { - return \Illuminate\Auth\SessionGuard::id(); + /** @var \Illuminate\Auth\SessionGuard $instance */ + return $instance->id(); } /** * Log a user into the application without sessions or cookies. * * @param array $credentials - * @return bool - * @static + * @return bool + * @static */ public static function once($credentials = []) { - return \Illuminate\Auth\SessionGuard::once($credentials); + /** @var \Illuminate\Auth\SessionGuard $instance */ + return $instance->once($credentials); } /** * Log the given user ID into the application without sessions or cookies. * * @param mixed $id - * @return \Crater\User|false - * @static + * @return \App\Models\User|false + * @static */ public static function onceUsingId($id) { - return \Illuminate\Auth\SessionGuard::onceUsingId($id); + /** @var \Illuminate\Auth\SessionGuard $instance */ + return $instance->onceUsingId($id); } /** * Validate a user's credentials. * * @param array $credentials - * @return bool - * @static + * @return bool + * @static */ public static function validate($credentials = []) { - return \Illuminate\Auth\SessionGuard::validate($credentials); + /** @var \Illuminate\Auth\SessionGuard $instance */ + return $instance->validate($credentials); } /** @@ -1605,12 +2478,14 @@ namespace { * * @param string $field * @param array $extraConditions - * @return \Symfony\Component\HttpFoundation\Response|null - * @static + * @return \Symfony\Component\HttpFoundation\Response|null + * @throws \Symfony\Component\HttpKernel\Exception\UnauthorizedHttpException + * @static */ public static function basic($field = 'email', $extraConditions = []) { - return \Illuminate\Auth\SessionGuard::basic($field, $extraConditions); + /** @var \Illuminate\Auth\SessionGuard $instance */ + return $instance->basic($field, $extraConditions); } /** @@ -1618,12 +2493,14 @@ namespace { * * @param string $field * @param array $extraConditions - * @return \Symfony\Component\HttpFoundation\Response|null - * @static + * @return \Symfony\Component\HttpFoundation\Response|null + * @throws \Symfony\Component\HttpKernel\Exception\UnauthorizedHttpException + * @static */ public static function onceBasic($field = 'email', $extraConditions = []) { - return \Illuminate\Auth\SessionGuard::onceBasic($field, $extraConditions); + /** @var \Illuminate\Auth\SessionGuard $instance */ + return $instance->onceBasic($field, $extraConditions); } /** @@ -1631,12 +2508,28 @@ namespace { * * @param array $credentials * @param bool $remember - * @return bool - * @static + * @return bool + * @static */ public static function attempt($credentials = [], $remember = false) { - return \Illuminate\Auth\SessionGuard::attempt($credentials, $remember); + /** @var \Illuminate\Auth\SessionGuard $instance */ + return $instance->attempt($credentials, $remember); + } + + /** + * Attempt to authenticate a user with credentials and additional callbacks. + * + * @param array $credentials + * @param array|callable|null $callbacks + * @param bool $remember + * @return bool + * @static + */ + public static function attemptWhen($credentials = [], $callbacks = null, $remember = false) + { + /** @var \Illuminate\Auth\SessionGuard $instance */ + return $instance->attemptWhen($credentials, $callbacks, $remember); } /** @@ -1644,12 +2537,13 @@ namespace { * * @param mixed $id * @param bool $remember - * @return \Crater\User|false - * @static + * @return \App\Models\User|false + * @static */ public static function loginUsingId($id, $remember = false) { - return \Illuminate\Auth\SessionGuard::loginUsingId($id, $remember); + /** @var \Illuminate\Auth\SessionGuard $instance */ + return $instance->loginUsingId($id, $remember); } /** @@ -1657,326 +2551,717 @@ namespace { * * @param \Illuminate\Contracts\Auth\Authenticatable $user * @param bool $remember - * @return void - * @static + * @return void + * @static */ public static function login($user, $remember = false) { - \Illuminate\Auth\SessionGuard::login($user, $remember); + /** @var \Illuminate\Auth\SessionGuard $instance */ + $instance->login($user, $remember); } /** * Log the user out of the application. * - * @return void - * @static + * @return void + * @static */ public static function logout() { - \Illuminate\Auth\SessionGuard::logout(); + /** @var \Illuminate\Auth\SessionGuard $instance */ + $instance->logout(); + } + + /** + * Log the user out of the application on their current device only. + * + * This method does not cycle the "remember" token. + * + * @return void + * @static + */ + public static function logoutCurrentDevice() + { + /** @var \Illuminate\Auth\SessionGuard $instance */ + $instance->logoutCurrentDevice(); + } + + /** + * Invalidate other sessions for the current user. + * + * The application must be using the AuthenticateSession middleware. + * + * @param string $password + * @return \App\Models\User|null + * @throws \Illuminate\Auth\AuthenticationException + * @static + */ + public static function logoutOtherDevices($password) + { + /** @var \Illuminate\Auth\SessionGuard $instance */ + return $instance->logoutOtherDevices($password); } /** * Register an authentication attempt event listener. * * @param mixed $callback - * @return void - * @static + * @return void + * @static */ public static function attempting($callback) { - \Illuminate\Auth\SessionGuard::attempting($callback); + /** @var \Illuminate\Auth\SessionGuard $instance */ + $instance->attempting($callback); } /** * Get the last user we attempted to authenticate. * - * @return \Crater\User - * @static + * @return \App\Models\User + * @static */ public static function getLastAttempted() { - return \Illuminate\Auth\SessionGuard::getLastAttempted(); + /** @var \Illuminate\Auth\SessionGuard $instance */ + return $instance->getLastAttempted(); } /** * Get a unique identifier for the auth session value. * - * @return string - * @static + * @return string + * @static */ public static function getName() { - return \Illuminate\Auth\SessionGuard::getName(); + /** @var \Illuminate\Auth\SessionGuard $instance */ + return $instance->getName(); } /** * Get the name of the cookie used to store the "recaller". * - * @return string - * @static + * @return string + * @static */ public static function getRecallerName() { - return \Illuminate\Auth\SessionGuard::getRecallerName(); + /** @var \Illuminate\Auth\SessionGuard $instance */ + return $instance->getRecallerName(); } /** * Determine if the user was authenticated via "remember me" cookie. * - * @return bool - * @static + * @return bool + * @static */ public static function viaRemember() { - return \Illuminate\Auth\SessionGuard::viaRemember(); + /** @var \Illuminate\Auth\SessionGuard $instance */ + return $instance->viaRemember(); + } + + /** + * Set the number of minutes the remember me cookie should be valid for. + * + * @param int $minutes + * @return \Illuminate\Auth\SessionGuard + * @static + */ + public static function setRememberDuration($minutes) + { + /** @var \Illuminate\Auth\SessionGuard $instance */ + return $instance->setRememberDuration($minutes); } /** * Get the cookie creator instance used by the guard. * - * @return \Illuminate\Contracts\Cookie\QueueingFactory + * @return \Illuminate\Contracts\Cookie\QueueingFactory * @throws \RuntimeException - * @static + * @static */ public static function getCookieJar() { - return \Illuminate\Auth\SessionGuard::getCookieJar(); + /** @var \Illuminate\Auth\SessionGuard $instance */ + return $instance->getCookieJar(); } /** * Set the cookie creator instance used by the guard. * * @param \Illuminate\Contracts\Cookie\QueueingFactory $cookie - * @return void - * @static + * @return void + * @static */ public static function setCookieJar($cookie) { - \Illuminate\Auth\SessionGuard::setCookieJar($cookie); + /** @var \Illuminate\Auth\SessionGuard $instance */ + $instance->setCookieJar($cookie); } /** * Get the event dispatcher instance. * - * @return \Illuminate\Contracts\Events\Dispatcher - * @static + * @return \Illuminate\Contracts\Events\Dispatcher + * @static */ public static function getDispatcher() { - return \Illuminate\Auth\SessionGuard::getDispatcher(); + /** @var \Illuminate\Auth\SessionGuard $instance */ + return $instance->getDispatcher(); } /** * Set the event dispatcher instance. * * @param \Illuminate\Contracts\Events\Dispatcher $events - * @return void - * @static + * @return void + * @static */ public static function setDispatcher($events) { - \Illuminate\Auth\SessionGuard::setDispatcher($events); + /** @var \Illuminate\Auth\SessionGuard $instance */ + $instance->setDispatcher($events); } /** * Get the session store used by the guard. * - * @return \Illuminate\Session\Store - * @static + * @return \Illuminate\Contracts\Session\Session + * @static */ public static function getSession() { - return \Illuminate\Auth\SessionGuard::getSession(); - } - - /** - * Get the user provider used by the guard. - * - * @return \Illuminate\Contracts\Auth\UserProvider - * @static - */ - public static function getProvider() - { - return \Illuminate\Auth\SessionGuard::getProvider(); - } - - /** - * Set the user provider used by the guard. - * - * @param \Illuminate\Contracts\Auth\UserProvider $provider - * @return void - * @static - */ - public static function setProvider($provider) - { - \Illuminate\Auth\SessionGuard::setProvider($provider); + /** @var \Illuminate\Auth\SessionGuard $instance */ + return $instance->getSession(); } /** * Return the currently cached user. * - * @return \Crater\User|null - * @static + * @return \App\Models\User|null + * @static */ public static function getUser() { - return \Illuminate\Auth\SessionGuard::getUser(); + /** @var \Illuminate\Auth\SessionGuard $instance */ + return $instance->getUser(); } /** * Set the current user. * * @param \Illuminate\Contracts\Auth\Authenticatable $user - * @return $this - * @static + * @return \Illuminate\Auth\SessionGuard + * @static */ public static function setUser($user) { - return \Illuminate\Auth\SessionGuard::setUser($user); + /** @var \Illuminate\Auth\SessionGuard $instance */ + return $instance->setUser($user); } /** * Get the current request instance. * - * @return \Symfony\Component\HttpFoundation\Request - * @static + * @return \Symfony\Component\HttpFoundation\Request + * @static */ public static function getRequest() { - return \Illuminate\Auth\SessionGuard::getRequest(); + /** @var \Illuminate\Auth\SessionGuard $instance */ + return $instance->getRequest(); } /** * Set the current request instance. * * @param \Symfony\Component\HttpFoundation\Request $request - * @return $this - * @static + * @return \Illuminate\Auth\SessionGuard + * @static */ public static function setRequest($request) { - return \Illuminate\Auth\SessionGuard::setRequest($request); + /** @var \Illuminate\Auth\SessionGuard $instance */ + return $instance->setRequest($request); } /** - * Determine if the current user is authenticated. + * Get the timebox instance used by the guard. * - * @return \Crater\User + * @return \Illuminate\Support\Timebox + * @static + */ + public static function getTimebox() + { + /** @var \Illuminate\Auth\SessionGuard $instance */ + return $instance->getTimebox(); + } + + /** + * Determine if the current user is authenticated. If not, throw an exception. + * + * @return \App\Models\User * @throws \Illuminate\Auth\AuthenticationException - * @static + * @static */ public static function authenticate() { - return \Illuminate\Auth\SessionGuard::authenticate(); + /** @var \Illuminate\Auth\SessionGuard $instance */ + return $instance->authenticate(); + } + + /** + * Determine if the guard has a user instance. + * + * @return bool + * @static + */ + public static function hasUser() + { + /** @var \Illuminate\Auth\SessionGuard $instance */ + return $instance->hasUser(); } /** * Determine if the current user is authenticated. * - * @return bool - * @static + * @return bool + * @static */ public static function check() { - return \Illuminate\Auth\SessionGuard::check(); + /** @var \Illuminate\Auth\SessionGuard $instance */ + return $instance->check(); } /** * Determine if the current user is a guest. * - * @return bool - * @static + * @return bool + * @static */ public static function guest() { - return \Illuminate\Auth\SessionGuard::guest(); + /** @var \Illuminate\Auth\SessionGuard $instance */ + return $instance->guest(); } - } + /** + * Forget the current user. + * + * @return \Illuminate\Auth\SessionGuard + * @static + */ + public static function forgetUser() + { + /** @var \Illuminate\Auth\SessionGuard $instance */ + return $instance->forgetUser(); + } - class Blade extends \Illuminate\Support\Facades\Blade - { + /** + * Get the user provider used by the guard. + * + * @return \Illuminate\Contracts\Auth\UserProvider + * @static + */ + public static function getProvider() + { + /** @var \Illuminate\Auth\SessionGuard $instance */ + return $instance->getProvider(); + } + + /** + * Set the user provider used by the guard. + * + * @param \Illuminate\Contracts\Auth\UserProvider $provider + * @return void + * @static + */ + public static function setProvider($provider) + { + /** @var \Illuminate\Auth\SessionGuard $instance */ + $instance->setProvider($provider); + } + + /** + * Register a custom macro. + * + * @param string $name + * @param object|callable $macro + * @param-closure-this static $macro + * @return void + * @static + */ + public static function macro($name, $macro) + { + \Illuminate\Auth\SessionGuard::macro($name, $macro); + } + + /** + * Mix another object into the class. + * + * @param object $mixin + * @param bool $replace + * @return void + * @throws \ReflectionException + * @static + */ + public static function mixin($mixin, $replace = true) + { + \Illuminate\Auth\SessionGuard::mixin($mixin, $replace); + } + + /** + * Checks if macro is registered. + * + * @param string $name + * @return bool + * @static + */ + public static function hasMacro($name) + { + return \Illuminate\Auth\SessionGuard::hasMacro($name); + } + + /** + * Flush the existing macros. + * + * @return void + * @static + */ + public static function flushMacros() + { + \Illuminate\Auth\SessionGuard::flushMacros(); + } + + } + /** + * + * + * @see \Illuminate\View\Compilers\BladeCompiler + */ + class Blade { /** * Compile the view at the given path. * - * @param string $path - * @return void - * @static + * @param string|null $path + * @return void + * @static */ public static function compile($path = null) { - \Illuminate\View\Compilers\BladeCompiler::compile($path); + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + $instance->compile($path); } /** * Get the path currently being compiled. * - * @return string - * @static + * @return string + * @static */ public static function getPath() { - return \Illuminate\View\Compilers\BladeCompiler::getPath(); + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + return $instance->getPath(); } /** * Set the path currently being compiled. * * @param string $path - * @return void - * @static + * @return void + * @static */ public static function setPath($path) { - \Illuminate\View\Compilers\BladeCompiler::setPath($path); + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + $instance->setPath($path); } /** * Compile the given Blade template contents. * * @param string $value - * @return string - * @static + * @return string + * @static */ public static function compileString($value) { - return \Illuminate\View\Compilers\BladeCompiler::compileString($value); + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + return $instance->compileString($value); + } + + /** + * Evaluate and render a Blade string to HTML. + * + * @param string $string + * @param array $data + * @param bool $deleteCachedView + * @return string + * @static + */ + public static function render($string, $data = [], $deleteCachedView = false) + { + return \Illuminate\View\Compilers\BladeCompiler::render($string, $data, $deleteCachedView); + } + + /** + * Render a component instance to HTML. + * + * @param \Illuminate\View\Component $component + * @return string + * @static + */ + public static function renderComponent($component) + { + return \Illuminate\View\Compilers\BladeCompiler::renderComponent($component); } /** * Strip the parentheses from the given expression. * * @param string $expression - * @return string - * @static + * @return string + * @static */ public static function stripParentheses($expression) { - return \Illuminate\View\Compilers\BladeCompiler::stripParentheses($expression); + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + return $instance->stripParentheses($expression); } /** * Register a custom Blade compiler. * * @param callable $compiler - * @return void - * @static + * @return void + * @static */ public static function extend($compiler) { - \Illuminate\View\Compilers\BladeCompiler::extend($compiler); + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + $instance->extend($compiler); } /** * Get the extensions used by the compiler. * - * @return array - * @static + * @return array + * @static */ public static function getExtensions() { - return \Illuminate\View\Compilers\BladeCompiler::getExtensions(); + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + return $instance->getExtensions(); + } + + /** + * Register an "if" statement directive. + * + * @param string $name + * @param callable $callback + * @return void + * @static + */ + public static function if($name, $callback) + { + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + $instance->if($name, $callback); + } + + /** + * Check the result of a condition. + * + * @param string $name + * @param mixed $parameters + * @return bool + * @static + */ + public static function check($name, ...$parameters) + { + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + return $instance->check($name, ...$parameters); + } + + /** + * Register a class-based component alias directive. + * + * @param string $class + * @param string|null $alias + * @param string $prefix + * @return void + * @static + */ + public static function component($class, $alias = null, $prefix = '') + { + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + $instance->component($class, $alias, $prefix); + } + + /** + * Register an array of class-based components. + * + * @param array $components + * @param string $prefix + * @return void + * @static + */ + public static function components($components, $prefix = '') + { + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + $instance->components($components, $prefix); + } + + /** + * Get the registered class component aliases. + * + * @return array + * @static + */ + public static function getClassComponentAliases() + { + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + return $instance->getClassComponentAliases(); + } + + /** + * Register a new anonymous component path. + * + * @param string $path + * @param string|null $prefix + * @return void + * @static + */ + public static function anonymousComponentPath($path, $prefix = null) + { + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + $instance->anonymousComponentPath($path, $prefix); + } + + /** + * Register an anonymous component namespace. + * + * @param string $directory + * @param string|null $prefix + * @return void + * @static + */ + public static function anonymousComponentNamespace($directory, $prefix = null) + { + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + $instance->anonymousComponentNamespace($directory, $prefix); + } + + /** + * Register a class-based component namespace. + * + * @param string $namespace + * @param string $prefix + * @return void + * @static + */ + public static function componentNamespace($namespace, $prefix) + { + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + $instance->componentNamespace($namespace, $prefix); + } + + /** + * Get the registered anonymous component paths. + * + * @return array + * @static + */ + public static function getAnonymousComponentPaths() + { + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + return $instance->getAnonymousComponentPaths(); + } + + /** + * Get the registered anonymous component namespaces. + * + * @return array + * @static + */ + public static function getAnonymousComponentNamespaces() + { + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + return $instance->getAnonymousComponentNamespaces(); + } + + /** + * Get the registered class component namespaces. + * + * @return array + * @static + */ + public static function getClassComponentNamespaces() + { + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + return $instance->getClassComponentNamespaces(); + } + + /** + * Register a component alias directive. + * + * @param string $path + * @param string|null $alias + * @return void + * @static + */ + public static function aliasComponent($path, $alias = null) + { + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + $instance->aliasComponent($path, $alias); + } + + /** + * Register an include alias directive. + * + * @param string $path + * @param string|null $alias + * @return void + * @static + */ + public static function include($path, $alias = null) + { + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + $instance->include($path, $alias); + } + + /** + * Register an include alias directive. + * + * @param string $path + * @param string|null $alias + * @return void + * @static + */ + public static function aliasInclude($path, $alias = null) + { + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + $instance->aliasInclude($path, $alias); + } + + /** + * Register a handler for custom directives, binding the handler to the compiler. + * + * @param string $name + * @param callable $handler + * @return void + * @throws \InvalidArgumentException + * @static + */ + public static function bindDirective($name, $handler) + { + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + $instance->bindDirective($name, $handler); } /** @@ -1984,226 +3269,452 @@ namespace { * * @param string $name * @param callable $handler - * @return void - * @static + * @param bool $bind + * @return void + * @throws \InvalidArgumentException + * @static */ - public static function directive($name, $handler) + public static function directive($name, $handler, $bind = false) { - \Illuminate\View\Compilers\BladeCompiler::directive($name, $handler); + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + $instance->directive($name, $handler, $bind); } /** * Get the list of custom directives. * - * @return array - * @static + * @return array + * @static */ public static function getCustomDirectives() { - return \Illuminate\View\Compilers\BladeCompiler::getCustomDirectives(); + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + return $instance->getCustomDirectives(); + } + + /** + * Indicate that the following callable should be used to prepare strings for compilation. + * + * @param callable $callback + * @return \Illuminate\View\Compilers\BladeCompiler + * @static + */ + public static function prepareStringsForCompilationUsing($callback) + { + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + return $instance->prepareStringsForCompilationUsing($callback); + } + + /** + * Register a new precompiler. + * + * @param callable $precompiler + * @return void + * @static + */ + public static function precompiler($precompiler) + { + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + $instance->precompiler($precompiler); } /** * Set the echo format to be used by the compiler. * * @param string $format - * @return void - * @static + * @return void + * @static */ public static function setEchoFormat($format) { - \Illuminate\View\Compilers\BladeCompiler::setEchoFormat($format); + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + $instance->setEchoFormat($format); + } + + /** + * Set the "echo" format to double encode entities. + * + * @return void + * @static + */ + public static function withDoubleEncoding() + { + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + $instance->withDoubleEncoding(); + } + + /** + * Set the "echo" format to not double encode entities. + * + * @return void + * @static + */ + public static function withoutDoubleEncoding() + { + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + $instance->withoutDoubleEncoding(); + } + + /** + * Indicate that component tags should not be compiled. + * + * @return void + * @static + */ + public static function withoutComponentTags() + { + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + $instance->withoutComponentTags(); } /** * Get the path to the compiled version of a view. * * @param string $path - * @return string - * @static + * @return string + * @static */ public static function getCompiledPath($path) { - //Method inherited from \Illuminate\View\Compilers\Compiler - return \Illuminate\View\Compilers\BladeCompiler::getCompiledPath($path); + //Method inherited from \Illuminate\View\Compilers\Compiler + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + return $instance->getCompiledPath($path); } /** * Determine if the view at the given path is expired. * * @param string $path - * @return bool - * @static + * @return bool + * @throws \ErrorException + * @static */ public static function isExpired($path) { - //Method inherited from \Illuminate\View\Compilers\Compiler - return \Illuminate\View\Compilers\BladeCompiler::isExpired($path); + //Method inherited from \Illuminate\View\Compilers\Compiler + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + return $instance->isExpired($path); } /** - * Compile the default values for the echo statement. + * Get a new component hash for a component name. + * + * @param string $component + * @return string + * @static + */ + public static function newComponentHash($component) + { + return \Illuminate\View\Compilers\BladeCompiler::newComponentHash($component); + } + + /** + * Compile a class component opening. + * + * @param string $component + * @param string $alias + * @param string $data + * @param string $hash + * @return string + * @static + */ + public static function compileClassComponentOpening($component, $alias, $data, $hash) + { + return \Illuminate\View\Compilers\BladeCompiler::compileClassComponentOpening($component, $alias, $data, $hash); + } + + /** + * Compile the end-component statements into valid PHP. + * + * @return string + * @static + */ + public static function compileEndComponentClass() + { + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + return $instance->compileEndComponentClass(); + } + + /** + * Sanitize the given component attribute value. + * + * @param mixed $value + * @return mixed + * @static + */ + public static function sanitizeComponentAttribute($value) + { + return \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($value); + } + + /** + * Compile an end-once block into valid PHP. + * + * @return string + * @static + */ + public static function compileEndOnce() + { + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + return $instance->compileEndOnce(); + } + + /** + * Add a handler to be executed before echoing a given class. + * + * @param string|callable $class + * @param callable|null $handler + * @return void + * @static + */ + public static function stringable($class, $handler = null) + { + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + $instance->stringable($class, $handler); + } + + /** + * Compile Blade echos into valid PHP. * * @param string $value - * @return string - * @static + * @return string + * @static */ - public static function compileEchoDefaults($value) + public static function compileEchos($value) { - return \Illuminate\View\Compilers\BladeCompiler::compileEchoDefaults($value); + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + return $instance->compileEchos($value); } - } - - class Bus extends \Illuminate\Support\Facades\Bus - { /** - * Dispatch a command to its appropriate handler. + * Apply the echo handler for the value if it exists. * - * @param mixed $command - * @return mixed - * @static + * @param string $value + * @return string + * @static */ - public static function dispatch($command) + public static function applyEchoHandler($value) { - return \Illuminate\Bus\Dispatcher::dispatch($command); + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + return $instance->applyEchoHandler($value); } + } + /** + * + * + * @method static mixed auth(\Illuminate\Http\Request $request) + * @method static mixed validAuthenticationResponse(\Illuminate\Http\Request $request, mixed $result) + * @method static void broadcast(array $channels, string $event, array $payload = []) + * @method static array|null resolveAuthenticatedUser(\Illuminate\Http\Request $request) + * @method static void resolveAuthenticatedUserUsing(\Closure $callback) + * @method static \Illuminate\Broadcasting\Broadcasters\Broadcaster channel(\Illuminate\Contracts\Broadcasting\HasBroadcastChannel|string $channel, callable|string $callback, array $options = []) + * @method static \Illuminate\Support\Collection getChannels() + * @see \Illuminate\Broadcasting\BroadcastManager + * @see \Illuminate\Broadcasting\Broadcasters\Broadcaster + */ + class Broadcast { /** - * Dispatch a command to its appropriate handler in the current process. + * Register the routes for handling broadcast channel authentication and sockets. * - * @param mixed $command - * @param mixed $handler - * @return mixed - * @static + * @param array|null $attributes + * @return void + * @static */ - public static function dispatchNow($command, $handler = null) + public static function routes($attributes = null) { - return \Illuminate\Bus\Dispatcher::dispatchNow($command, $handler); + /** @var \Illuminate\Broadcasting\BroadcastManager $instance */ + $instance->routes($attributes); } /** - * Determine if the given command has a handler. + * Register the routes for handling broadcast user authentication. * - * @param mixed $command - * @return bool - * @static + * @param array|null $attributes + * @return void + * @static */ - public static function hasCommandHandler($command) + public static function userRoutes($attributes = null) { - return \Illuminate\Bus\Dispatcher::hasCommandHandler($command); + /** @var \Illuminate\Broadcasting\BroadcastManager $instance */ + $instance->userRoutes($attributes); } /** - * Retrieve the handler for a command. + * Register the routes for handling broadcast authentication and sockets. + * + * Alias of "routes" method. * - * @param mixed $command - * @return bool|mixed - * @static + * @param array|null $attributes + * @return void + * @static */ - public static function getCommandHandler($command) + public static function channelRoutes($attributes = null) { - return \Illuminate\Bus\Dispatcher::getCommandHandler($command); + /** @var \Illuminate\Broadcasting\BroadcastManager $instance */ + $instance->channelRoutes($attributes); } /** - * Dispatch a command to its appropriate handler behind a queue. + * Get the socket ID for the given request. * - * @param mixed $command - * @return mixed - * @throws \RuntimeException - * @static + * @param \Illuminate\Http\Request|null $request + * @return string|null + * @static */ - public static function dispatchToQueue($command) + public static function socket($request = null) { - return \Illuminate\Bus\Dispatcher::dispatchToQueue($command); + /** @var \Illuminate\Broadcasting\BroadcastManager $instance */ + return $instance->socket($request); } /** - * Set the pipes through which commands should be piped before dispatching. + * Begin sending an anonymous broadcast to the given channels. * - * @param array $pipes - * @return $this - * @static + * @static */ - public static function pipeThrough($pipes) + public static function on($channels) { - return \Illuminate\Bus\Dispatcher::pipeThrough($pipes); + /** @var \Illuminate\Broadcasting\BroadcastManager $instance */ + return $instance->on($channels); } /** - * Map a command to a handler. + * Begin sending an anonymous broadcast to the given private channels. * - * @param array $map - * @return $this - * @static + * @static */ - public static function map($map) + public static function private($channel) { - return \Illuminate\Bus\Dispatcher::map($map); + /** @var \Illuminate\Broadcasting\BroadcastManager $instance */ + return $instance->private($channel); } - } - - class Cache extends \Illuminate\Support\Facades\Cache - { /** - * Get a cache store instance by name. + * Begin sending an anonymous broadcast to the given presence channels. + * + * @static + */ + public static function presence($channel) + { + /** @var \Illuminate\Broadcasting\BroadcastManager $instance */ + return $instance->presence($channel); + } + + /** + * Begin broadcasting an event. + * + * @param mixed|null $event + * @return \Illuminate\Broadcasting\PendingBroadcast + * @static + */ + public static function event($event = null) + { + /** @var \Illuminate\Broadcasting\BroadcastManager $instance */ + return $instance->event($event); + } + + /** + * Queue the given event for broadcast. + * + * @param mixed $event + * @return void + * @static + */ + public static function queue($event) + { + /** @var \Illuminate\Broadcasting\BroadcastManager $instance */ + $instance->queue($event); + } + + /** + * Get a driver instance. + * + * @param string|null $driver + * @return mixed + * @static + */ + public static function connection($driver = null) + { + /** @var \Illuminate\Broadcasting\BroadcastManager $instance */ + return $instance->connection($driver); + } + + /** + * Get a driver instance. * * @param string|null $name - * @return mixed - * @static + * @return mixed + * @static */ - public static function store($name = null) + public static function driver($name = null) { - return \Illuminate\Cache\CacheManager::store($name); + /** @var \Illuminate\Broadcasting\BroadcastManager $instance */ + return $instance->driver($name); } /** - * Get a cache driver instance. + * Get a Pusher instance for the given configuration. * - * @param string $driver - * @return mixed - * @static + * @param array $config + * @return \Pusher\Pusher + * @static */ - public static function driver($driver = null) + public static function pusher($config) { - return \Illuminate\Cache\CacheManager::driver($driver); + /** @var \Illuminate\Broadcasting\BroadcastManager $instance */ + return $instance->pusher($config); } /** - * Create a new cache repository with the given implementation. + * Get an Ably instance for the given configuration. * - * @param \Illuminate\Contracts\Cache\Store $store - * @return \Illuminate\Cache\Repository - * @static + * @param array $config + * @return \Ably\AblyRest + * @static */ - public static function repository($store) + public static function ably($config) { - return \Illuminate\Cache\CacheManager::repository($store); + /** @var \Illuminate\Broadcasting\BroadcastManager $instance */ + return $instance->ably($config); } /** - * Get the default cache driver name. + * Get the default driver name. * - * @return string - * @static + * @return string + * @static */ public static function getDefaultDriver() { - return \Illuminate\Cache\CacheManager::getDefaultDriver(); + /** @var \Illuminate\Broadcasting\BroadcastManager $instance */ + return $instance->getDefaultDriver(); } /** - * Set the default cache driver name. + * Set the default driver name. * * @param string $name - * @return void - * @static + * @return void + * @static */ public static function setDefaultDriver($name) { - \Illuminate\Cache\CacheManager::setDefaultDriver($name); + /** @var \Illuminate\Broadcasting\BroadcastManager $instance */ + $instance->setDefaultDriver($name); + } + + /** + * Disconnect the given disk and remove from local cache. + * + * @param string|null $name + * @return void + * @static + */ + public static function purge($name = null) + { + /** @var \Illuminate\Broadcasting\BroadcastManager $instance */ + $instance->purge($name); } /** @@ -2211,91 +3722,939 @@ namespace { * * @param string $driver * @param \Closure $callback - * @return $this - * @static + * @return \Illuminate\Broadcasting\BroadcastManager + * @static */ public static function extend($driver, $callback) { - return \Illuminate\Cache\CacheManager::extend($driver, $callback); + /** @var \Illuminate\Broadcasting\BroadcastManager $instance */ + return $instance->extend($driver, $callback); + } + + /** + * Get the application instance used by the manager. + * + * @return \Illuminate\Contracts\Foundation\Application + * @static + */ + public static function getApplication() + { + /** @var \Illuminate\Broadcasting\BroadcastManager $instance */ + return $instance->getApplication(); + } + + /** + * Set the application instance used by the manager. + * + * @param \Illuminate\Contracts\Foundation\Application $app + * @return \Illuminate\Broadcasting\BroadcastManager + * @static + */ + public static function setApplication($app) + { + /** @var \Illuminate\Broadcasting\BroadcastManager $instance */ + return $instance->setApplication($app); + } + + /** + * Forget all of the resolved driver instances. + * + * @return \Illuminate\Broadcasting\BroadcastManager + * @static + */ + public static function forgetDrivers() + { + /** @var \Illuminate\Broadcasting\BroadcastManager $instance */ + return $instance->forgetDrivers(); + } + + } + /** + * + * + * @see \Illuminate\Bus\Dispatcher + * @see \Illuminate\Support\Testing\Fakes\BusFake + */ + class Bus { + /** + * Dispatch a command to its appropriate handler. + * + * @param mixed $command + * @return mixed + * @static + */ + public static function dispatch($command) + { + /** @var \Illuminate\Bus\Dispatcher $instance */ + return $instance->dispatch($command); + } + + /** + * Dispatch a command to its appropriate handler in the current process. + * + * Queueable jobs will be dispatched to the "sync" queue. + * + * @param mixed $command + * @param mixed $handler + * @return mixed + * @static + */ + public static function dispatchSync($command, $handler = null) + { + /** @var \Illuminate\Bus\Dispatcher $instance */ + return $instance->dispatchSync($command, $handler); + } + + /** + * Dispatch a command to its appropriate handler in the current process without using the synchronous queue. + * + * @param mixed $command + * @param mixed $handler + * @return mixed + * @static + */ + public static function dispatchNow($command, $handler = null) + { + /** @var \Illuminate\Bus\Dispatcher $instance */ + return $instance->dispatchNow($command, $handler); + } + + /** + * Attempt to find the batch with the given ID. + * + * @param string $batchId + * @return \Illuminate\Bus\Batch|null + * @static + */ + public static function findBatch($batchId) + { + /** @var \Illuminate\Bus\Dispatcher $instance */ + return $instance->findBatch($batchId); + } + + /** + * Create a new batch of queueable jobs. + * + * @param \Illuminate\Support\Collection|array|mixed $jobs + * @return \Illuminate\Bus\PendingBatch + * @static + */ + public static function batch($jobs) + { + /** @var \Illuminate\Bus\Dispatcher $instance */ + return $instance->batch($jobs); + } + + /** + * Create a new chain of queueable jobs. + * + * @param \Illuminate\Support\Collection|array $jobs + * @return \Illuminate\Foundation\Bus\PendingChain + * @static + */ + public static function chain($jobs) + { + /** @var \Illuminate\Bus\Dispatcher $instance */ + return $instance->chain($jobs); + } + + /** + * Determine if the given command has a handler. + * + * @param mixed $command + * @return bool + * @static + */ + public static function hasCommandHandler($command) + { + /** @var \Illuminate\Bus\Dispatcher $instance */ + return $instance->hasCommandHandler($command); + } + + /** + * Retrieve the handler for a command. + * + * @param mixed $command + * @return bool|mixed + * @static + */ + public static function getCommandHandler($command) + { + /** @var \Illuminate\Bus\Dispatcher $instance */ + return $instance->getCommandHandler($command); + } + + /** + * Dispatch a command to its appropriate handler behind a queue. + * + * @param mixed $command + * @return mixed + * @throws \RuntimeException + * @static + */ + public static function dispatchToQueue($command) + { + /** @var \Illuminate\Bus\Dispatcher $instance */ + return $instance->dispatchToQueue($command); + } + + /** + * Dispatch a command to its appropriate handler after the current process. + * + * @param mixed $command + * @param mixed $handler + * @return void + * @static + */ + public static function dispatchAfterResponse($command, $handler = null) + { + /** @var \Illuminate\Bus\Dispatcher $instance */ + $instance->dispatchAfterResponse($command, $handler); + } + + /** + * Set the pipes through which commands should be piped before dispatching. + * + * @param array $pipes + * @return \Illuminate\Bus\Dispatcher + * @static + */ + public static function pipeThrough($pipes) + { + /** @var \Illuminate\Bus\Dispatcher $instance */ + return $instance->pipeThrough($pipes); + } + + /** + * Map a command to a handler. + * + * @param array $map + * @return \Illuminate\Bus\Dispatcher + * @static + */ + public static function map($map) + { + /** @var \Illuminate\Bus\Dispatcher $instance */ + return $instance->map($map); + } + + /** + * Specify the jobs that should be dispatched instead of faked. + * + * @param array|string $jobsToDispatch + * @return \Illuminate\Support\Testing\Fakes\BusFake + * @static + */ + public static function except($jobsToDispatch) + { + /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ + return $instance->except($jobsToDispatch); + } + + /** + * Assert if a job was dispatched based on a truth-test callback. + * + * @param string|\Closure $command + * @param callable|int|null $callback + * @return void + * @static + */ + public static function assertDispatched($command, $callback = null) + { + /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ + $instance->assertDispatched($command, $callback); + } + + /** + * Assert if a job was pushed a number of times. + * + * @param string|\Closure $command + * @param int $times + * @return void + * @static + */ + public static function assertDispatchedTimes($command, $times = 1) + { + /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ + $instance->assertDispatchedTimes($command, $times); + } + + /** + * Determine if a job was dispatched based on a truth-test callback. + * + * @param string|\Closure $command + * @param callable|null $callback + * @return void + * @static + */ + public static function assertNotDispatched($command, $callback = null) + { + /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ + $instance->assertNotDispatched($command, $callback); + } + + /** + * Assert that no jobs were dispatched. + * + * @return void + * @static + */ + public static function assertNothingDispatched() + { + /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ + $instance->assertNothingDispatched(); + } + + /** + * Assert if a job was explicitly dispatched synchronously based on a truth-test callback. + * + * @param string|\Closure $command + * @param callable|int|null $callback + * @return void + * @static + */ + public static function assertDispatchedSync($command, $callback = null) + { + /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ + $instance->assertDispatchedSync($command, $callback); + } + + /** + * Assert if a job was pushed synchronously a number of times. + * + * @param string|\Closure $command + * @param int $times + * @return void + * @static + */ + public static function assertDispatchedSyncTimes($command, $times = 1) + { + /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ + $instance->assertDispatchedSyncTimes($command, $times); + } + + /** + * Determine if a job was dispatched based on a truth-test callback. + * + * @param string|\Closure $command + * @param callable|null $callback + * @return void + * @static + */ + public static function assertNotDispatchedSync($command, $callback = null) + { + /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ + $instance->assertNotDispatchedSync($command, $callback); + } + + /** + * Assert if a job was dispatched after the response was sent based on a truth-test callback. + * + * @param string|\Closure $command + * @param callable|int|null $callback + * @return void + * @static + */ + public static function assertDispatchedAfterResponse($command, $callback = null) + { + /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ + $instance->assertDispatchedAfterResponse($command, $callback); + } + + /** + * Assert if a job was pushed after the response was sent a number of times. + * + * @param string|\Closure $command + * @param int $times + * @return void + * @static + */ + public static function assertDispatchedAfterResponseTimes($command, $times = 1) + { + /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ + $instance->assertDispatchedAfterResponseTimes($command, $times); + } + + /** + * Determine if a job was dispatched based on a truth-test callback. + * + * @param string|\Closure $command + * @param callable|null $callback + * @return void + * @static + */ + public static function assertNotDispatchedAfterResponse($command, $callback = null) + { + /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ + $instance->assertNotDispatchedAfterResponse($command, $callback); + } + + /** + * Assert if a chain of jobs was dispatched. + * + * @param array $expectedChain + * @return void + * @static + */ + public static function assertChained($expectedChain) + { + /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ + $instance->assertChained($expectedChain); + } + + /** + * Assert no chained jobs was dispatched. + * + * @return void + * @static + */ + public static function assertNothingChained() + { + /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ + $instance->assertNothingChained(); + } + + /** + * Assert if a job was dispatched with an empty chain based on a truth-test callback. + * + * @param string|\Closure $command + * @param callable|null $callback + * @return void + * @static + */ + public static function assertDispatchedWithoutChain($command, $callback = null) + { + /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ + $instance->assertDispatchedWithoutChain($command, $callback); + } + + /** + * Create a new assertion about a chained batch. + * + * @param \Closure $callback + * @return \Illuminate\Support\Testing\Fakes\ChainedBatchTruthTest + * @static + */ + public static function chainedBatch($callback) + { + /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ + return $instance->chainedBatch($callback); + } + + /** + * Assert if a batch was dispatched based on a truth-test callback. + * + * @param callable $callback + * @return void + * @static + */ + public static function assertBatched($callback) + { + /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ + $instance->assertBatched($callback); + } + + /** + * Assert the number of batches that have been dispatched. + * + * @param int $count + * @return void + * @static + */ + public static function assertBatchCount($count) + { + /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ + $instance->assertBatchCount($count); + } + + /** + * Assert that no batched jobs were dispatched. + * + * @return void + * @static + */ + public static function assertNothingBatched() + { + /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ + $instance->assertNothingBatched(); + } + + /** + * Assert that no jobs were dispatched, chained, or batched. + * + * @return void + * @static + */ + public static function assertNothingPlaced() + { + /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ + $instance->assertNothingPlaced(); + } + + /** + * Get all of the jobs matching a truth-test callback. + * + * @param string $command + * @param callable|null $callback + * @return \Illuminate\Support\Collection + * @static + */ + public static function dispatched($command, $callback = null) + { + /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ + return $instance->dispatched($command, $callback); + } + + /** + * Get all of the jobs dispatched synchronously matching a truth-test callback. + * + * @param string $command + * @param callable|null $callback + * @return \Illuminate\Support\Collection + * @static + */ + public static function dispatchedSync($command, $callback = null) + { + /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ + return $instance->dispatchedSync($command, $callback); + } + + /** + * Get all of the jobs dispatched after the response was sent matching a truth-test callback. + * + * @param string $command + * @param callable|null $callback + * @return \Illuminate\Support\Collection + * @static + */ + public static function dispatchedAfterResponse($command, $callback = null) + { + /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ + return $instance->dispatchedAfterResponse($command, $callback); + } + + /** + * Get all of the pending batches matching a truth-test callback. + * + * @param callable $callback + * @return \Illuminate\Support\Collection + * @static + */ + public static function batched($callback) + { + /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ + return $instance->batched($callback); + } + + /** + * Determine if there are any stored commands for a given class. + * + * @param string $command + * @return bool + * @static + */ + public static function hasDispatched($command) + { + /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ + return $instance->hasDispatched($command); + } + + /** + * Determine if there are any stored commands for a given class. + * + * @param string $command + * @return bool + * @static + */ + public static function hasDispatchedSync($command) + { + /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ + return $instance->hasDispatchedSync($command); + } + + /** + * Determine if there are any stored commands for a given class. + * + * @param string $command + * @return bool + * @static + */ + public static function hasDispatchedAfterResponse($command) + { + /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ + return $instance->hasDispatchedAfterResponse($command); + } + + /** + * Dispatch an empty job batch for testing. + * + * @param string $name + * @return \Illuminate\Bus\Batch + * @static + */ + public static function dispatchFakeBatch($name = '') + { + /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ + return $instance->dispatchFakeBatch($name); + } + + /** + * Record the fake pending batch dispatch. + * + * @param \Illuminate\Bus\PendingBatch $pendingBatch + * @return \Illuminate\Bus\Batch + * @static + */ + public static function recordPendingBatch($pendingBatch) + { + /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ + return $instance->recordPendingBatch($pendingBatch); + } + + /** + * Specify if commands should be serialized and restored when being batched. + * + * @param bool $serializeAndRestore + * @return \Illuminate\Support\Testing\Fakes\BusFake + * @static + */ + public static function serializeAndRestore($serializeAndRestore = true) + { + /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ + return $instance->serializeAndRestore($serializeAndRestore); + } + + /** + * Get the batches that have been dispatched. + * + * @return array + * @static + */ + public static function dispatchedBatches() + { + /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ + return $instance->dispatchedBatches(); + } + + } + /** + * + * + * @see \Illuminate\Cache\CacheManager + * @see \Illuminate\Cache\Repository + */ + class Cache { + /** + * Get a cache store instance by name, wrapped in a repository. + * + * @param string|null $name + * @return \Illuminate\Contracts\Cache\Repository + * @static + */ + public static function store($name = null) + { + /** @var \Illuminate\Cache\CacheManager $instance */ + return $instance->store($name); + } + + /** + * Get a cache driver instance. + * + * @param string|null $driver + * @return \Illuminate\Contracts\Cache\Repository + * @static + */ + public static function driver($driver = null) + { + /** @var \Illuminate\Cache\CacheManager $instance */ + return $instance->driver($driver); + } + + /** + * Resolve the given store. + * + * @param string $name + * @return \Illuminate\Contracts\Cache\Repository + * @throws \InvalidArgumentException + * @static + */ + public static function resolve($name) + { + /** @var \Illuminate\Cache\CacheManager $instance */ + return $instance->resolve($name); + } + + /** + * Build a cache repository with the given configuration. + * + * @param array $config + * @return \Illuminate\Cache\Repository + * @static + */ + public static function build($config) + { + /** @var \Illuminate\Cache\CacheManager $instance */ + return $instance->build($config); + } + + /** + * Create a new cache repository with the given implementation. + * + * @param \Illuminate\Contracts\Cache\Store $store + * @param array $config + * @return \Illuminate\Cache\Repository + * @static + */ + public static function repository($store, $config = []) + { + /** @var \Illuminate\Cache\CacheManager $instance */ + return $instance->repository($store, $config); + } + + /** + * Re-set the event dispatcher on all resolved cache repositories. + * + * @return void + * @static + */ + public static function refreshEventDispatcher() + { + /** @var \Illuminate\Cache\CacheManager $instance */ + $instance->refreshEventDispatcher(); + } + + /** + * Get the default cache driver name. + * + * @return string + * @static + */ + public static function getDefaultDriver() + { + /** @var \Illuminate\Cache\CacheManager $instance */ + return $instance->getDefaultDriver(); + } + + /** + * Set the default cache driver name. + * + * @param string $name + * @return void + * @static + */ + public static function setDefaultDriver($name) + { + /** @var \Illuminate\Cache\CacheManager $instance */ + $instance->setDefaultDriver($name); + } + + /** + * Unset the given driver instances. + * + * @param array|string|null $name + * @return \Illuminate\Cache\CacheManager + * @static + */ + public static function forgetDriver($name = null) + { + /** @var \Illuminate\Cache\CacheManager $instance */ + return $instance->forgetDriver($name); + } + + /** + * Disconnect the given driver and remove from local cache. + * + * @param string|null $name + * @return void + * @static + */ + public static function purge($name = null) + { + /** @var \Illuminate\Cache\CacheManager $instance */ + $instance->purge($name); + } + + /** + * Register a custom driver creator Closure. + * + * @param string $driver + * @param \Closure $callback + * @return \Illuminate\Cache\CacheManager + * @static + */ + public static function extend($driver, $callback) + { + /** @var \Illuminate\Cache\CacheManager $instance */ + return $instance->extend($driver, $callback); + } + + /** + * Set the application instance used by the manager. + * + * @param \Illuminate\Contracts\Foundation\Application $app + * @return \Illuminate\Cache\CacheManager + * @static + */ + public static function setApplication($app) + { + /** @var \Illuminate\Cache\CacheManager $instance */ + return $instance->setApplication($app); } /** * Determine if an item exists in the cache. * - * @param string $key - * @return bool - * @static + * @param array|string $key + * @return bool + * @static */ public static function has($key) { - return \Illuminate\Cache\Repository::has($key); + /** @var \Illuminate\Cache\Repository $instance */ + return $instance->has($key); + } + + /** + * Determine if an item doesn't exist in the cache. + * + * @param string $key + * @return bool + * @static + */ + public static function missing($key) + { + /** @var \Illuminate\Cache\Repository $instance */ + return $instance->missing($key); } /** * Retrieve an item from the cache by key. * - * @param string $key + * @param array|string $key * @param mixed $default - * @return mixed - * @static + * @return mixed + * @static */ public static function get($key, $default = null) { - return \Illuminate\Cache\Repository::get($key, $default); + /** @var \Illuminate\Cache\Repository $instance */ + return $instance->get($key, $default); } /** * Retrieve multiple items from the cache by key. - * + * * Items not found in the cache will have a null value. * * @param array $keys - * @return array - * @static + * @return array + * @static */ public static function many($keys) { - return \Illuminate\Cache\Repository::many($keys); + /** @var \Illuminate\Cache\Repository $instance */ + return $instance->many($keys); + } + + /** + * Obtains multiple cache items by their unique keys. + * + * @return iterable + * @param iterable $keys A list of keys that can be obtained in a single operation. + * @param mixed $default Default value to return for keys that do not exist. + * @return iterable A list of key => value pairs. Cache keys that do not exist or are stale will have $default as value. + * @throws \Psr\SimpleCache\InvalidArgumentException + * MUST be thrown if $keys is neither an array nor a Traversable, + * or if any of the $keys are not a legal value. + * @static + */ + public static function getMultiple($keys, $default = null) + { + /** @var \Illuminate\Cache\Repository $instance */ + return $instance->getMultiple($keys, $default); } /** * Retrieve an item from the cache and delete it. * - * @param string $key + * @param array|string $key * @param mixed $default - * @return mixed - * @static + * @return mixed + * @static */ public static function pull($key, $default = null) { - return \Illuminate\Cache\Repository::pull($key, $default); + /** @var \Illuminate\Cache\Repository $instance */ + return $instance->pull($key, $default); } /** * Store an item in the cache. * - * @param string $key + * @param array|string $key * @param mixed $value - * @param \DateTime|float|int $minutes - * @return void - * @static + * @param \DateTimeInterface|\DateInterval|int|null $ttl + * @return bool + * @static */ - public static function put($key, $value, $minutes = null) + public static function put($key, $value, $ttl = null) { - \Illuminate\Cache\Repository::put($key, $value, $minutes); + /** @var \Illuminate\Cache\Repository $instance */ + return $instance->put($key, $value, $ttl); } /** - * Store multiple items in the cache for a given number of minutes. + * Persists data in the cache, uniquely referenced by a key with an optional expiration TTL time. + * + * @return bool + * @param string $key The key of the item to store. + * @param mixed $value The value of the item to store, must be serializable. + * @param null|int|\DateInterval $ttl Optional. The TTL value of this item. If no value is sent and + * the driver supports TTL then the library may set a default value + * for it or let the driver take care of that. + * @return bool True on success and false on failure. + * @throws \Psr\SimpleCache\InvalidArgumentException + * MUST be thrown if the $key string is not a legal value. + * @static + */ + public static function set($key, $value, $ttl = null) + { + /** @var \Illuminate\Cache\Repository $instance */ + return $instance->set($key, $value, $ttl); + } + + /** + * Store multiple items in the cache for a given number of seconds. * * @param array $values - * @param float|int $minutes - * @return void - * @static + * @param \DateTimeInterface|\DateInterval|int|null $ttl + * @return bool + * @static */ - public static function putMany($values, $minutes) + public static function putMany($values, $ttl = null) { - \Illuminate\Cache\Repository::putMany($values, $minutes); + /** @var \Illuminate\Cache\Repository $instance */ + return $instance->putMany($values, $ttl); + } + + /** + * Persists a set of key => value pairs in the cache, with an optional TTL. + * + * @return bool + * @param iterable $values A list of key => value pairs for a multiple-set operation. + * @param null|int|\DateInterval $ttl Optional. The TTL value of this item. If no value is sent and + * the driver supports TTL then the library may set a default value + * for it or let the driver take care of that. + * @return bool True on success and false on failure. + * @throws \Psr\SimpleCache\InvalidArgumentException + * MUST be thrown if $values is neither an array nor a Traversable, + * or if any of the $values are not a legal value. + * @static + */ + public static function setMultiple($values, $ttl = null) + { + /** @var \Illuminate\Cache\Repository $instance */ + return $instance->setMultiple($values, $ttl); } /** @@ -2303,13 +4662,14 @@ namespace { * * @param string $key * @param mixed $value - * @param \DateTime|float|int $minutes - * @return bool - * @static + * @param \DateTimeInterface|\DateInterval|int|null $ttl + * @return bool + * @static */ - public static function add($key, $value, $minutes) + public static function add($key, $value, $ttl = null) { - return \Illuminate\Cache\Repository::add($key, $value, $minutes); + /** @var \Illuminate\Cache\Repository $instance */ + return $instance->add($key, $value, $ttl); } /** @@ -2317,12 +4677,13 @@ namespace { * * @param string $key * @param mixed $value - * @return int|bool - * @static + * @return int|bool + * @static */ public static function increment($key, $value = 1) { - return \Illuminate\Cache\Repository::increment($key, $value); + /** @var \Illuminate\Cache\Repository $instance */ + return $instance->increment($key, $value); } /** @@ -2330,12 +4691,13 @@ namespace { * * @param string $key * @param mixed $value - * @return int|bool - * @static + * @return int|bool + * @static */ public static function decrement($key, $value = 1) { - return \Illuminate\Cache\Repository::decrement($key, $value); + /** @var \Illuminate\Cache\Repository $instance */ + return $instance->decrement($key, $value); } /** @@ -2343,147 +4705,262 @@ namespace { * * @param string $key * @param mixed $value - * @return void - * @static + * @return bool + * @static */ public static function forever($key, $value) { - \Illuminate\Cache\Repository::forever($key, $value); + /** @var \Illuminate\Cache\Repository $instance */ + return $instance->forever($key, $value); } /** - * Get an item from the cache, or store the default value. + * Get an item from the cache, or execute the given Closure and store the result. * + * @template TCacheValue * @param string $key - * @param \DateTime|float|int $minutes - * @param \Closure $callback - * @return mixed - * @static + * @param \Closure|\DateTimeInterface|\DateInterval|int|null $ttl + * @param \Closure(): TCacheValue $callback + * @return TCacheValue + * @static */ - public static function remember($key, $minutes, $callback) + public static function remember($key, $ttl, $callback) { - return \Illuminate\Cache\Repository::remember($key, $minutes, $callback); + /** @var \Illuminate\Cache\Repository $instance */ + return $instance->remember($key, $ttl, $callback); } /** - * Get an item from the cache, or store the default value forever. + * Get an item from the cache, or execute the given Closure and store the result forever. * + * @template TCacheValue * @param string $key - * @param \Closure $callback - * @return mixed - * @static + * @param \Closure(): TCacheValue $callback + * @return TCacheValue + * @static */ public static function sear($key, $callback) { - return \Illuminate\Cache\Repository::sear($key, $callback); + /** @var \Illuminate\Cache\Repository $instance */ + return $instance->sear($key, $callback); } /** - * Get an item from the cache, or store the default value forever. + * Get an item from the cache, or execute the given Closure and store the result forever. * + * @template TCacheValue * @param string $key - * @param \Closure $callback - * @return mixed - * @static + * @param \Closure(): TCacheValue $callback + * @return TCacheValue + * @static */ public static function rememberForever($key, $callback) { - return \Illuminate\Cache\Repository::rememberForever($key, $callback); + /** @var \Illuminate\Cache\Repository $instance */ + return $instance->rememberForever($key, $callback); + } + + /** + * Retrieve an item from the cache by key, refreshing it in the background if it is stale. + * + * @template TCacheValue + * @param string $key + * @param \Illuminate\Cache\array{ 0: \DateTimeInterface|\DateInterval|int, 1: \DateTimeInterface|\DateInterval|int } $ttl + * @param (callable(): TCacheValue) $callback + * @param \Illuminate\Cache\array{ seconds?: int, owner?: string }|null $lock + * @return TCacheValue + * @static + */ + public static function flexible($key, $ttl, $callback, $lock = null) + { + /** @var \Illuminate\Cache\Repository $instance */ + return $instance->flexible($key, $ttl, $callback, $lock); } /** * Remove an item from the cache. * * @param string $key - * @return bool - * @static + * @return bool + * @static */ public static function forget($key) { - return \Illuminate\Cache\Repository::forget($key); + /** @var \Illuminate\Cache\Repository $instance */ + return $instance->forget($key); + } + + /** + * Delete an item from the cache by its unique key. + * + * @return bool + * @param string $key The unique cache key of the item to delete. + * @return bool True if the item was successfully removed. False if there was an error. + * @throws \Psr\SimpleCache\InvalidArgumentException + * MUST be thrown if the $key string is not a legal value. + * @static + */ + public static function delete($key) + { + /** @var \Illuminate\Cache\Repository $instance */ + return $instance->delete($key); + } + + /** + * Deletes multiple cache items in a single operation. + * + * @return bool + * @param iterable $keys A list of string-based keys to be deleted. + * @return bool True if the items were successfully removed. False if there was an error. + * @throws \Psr\SimpleCache\InvalidArgumentException + * MUST be thrown if $keys is neither an array nor a Traversable, + * or if any of the $keys are not a legal value. + * @static + */ + public static function deleteMultiple($keys) + { + /** @var \Illuminate\Cache\Repository $instance */ + return $instance->deleteMultiple($keys); + } + + /** + * Wipes clean the entire cache's keys. + * + * @return bool + * @return bool True on success and false on failure. + * @static + */ + public static function clear() + { + /** @var \Illuminate\Cache\Repository $instance */ + return $instance->clear(); } /** * Begin executing a new tags operation if the store supports it. * * @param array|mixed $names - * @return \Illuminate\Cache\TaggedCache + * @return \Illuminate\Cache\TaggedCache * @throws \BadMethodCallException - * @static + * @static */ public static function tags($names) { - return \Illuminate\Cache\Repository::tags($names); + /** @var \Illuminate\Cache\Repository $instance */ + return $instance->tags($names); + } + + /** + * Determine if the current store supports tags. + * + * @return bool + * @static + */ + public static function supportsTags() + { + /** @var \Illuminate\Cache\Repository $instance */ + return $instance->supportsTags(); } /** * Get the default cache time. * - * @return float|int - * @static + * @return int|null + * @static */ public static function getDefaultCacheTime() { - return \Illuminate\Cache\Repository::getDefaultCacheTime(); + /** @var \Illuminate\Cache\Repository $instance */ + return $instance->getDefaultCacheTime(); } /** - * Set the default cache time in minutes. + * Set the default cache time in seconds. * - * @param float|int $minutes - * @return $this - * @static + * @param int|null $seconds + * @return \Illuminate\Cache\Repository + * @static */ - public static function setDefaultCacheTime($minutes) + public static function setDefaultCacheTime($seconds) { - return \Illuminate\Cache\Repository::setDefaultCacheTime($minutes); + /** @var \Illuminate\Cache\Repository $instance */ + return $instance->setDefaultCacheTime($seconds); } /** * Get the cache store implementation. * - * @return \Illuminate\Contracts\Cache\Store - * @static + * @return \Illuminate\Contracts\Cache\Store + * @static */ public static function getStore() { - return \Illuminate\Cache\Repository::getStore(); + /** @var \Illuminate\Cache\Repository $instance */ + return $instance->getStore(); + } + + /** + * Set the cache store implementation. + * + * @param \Illuminate\Contracts\Cache\Store $store + * @return static + * @static + */ + public static function setStore($store) + { + /** @var \Illuminate\Cache\Repository $instance */ + return $instance->setStore($store); + } + + /** + * Get the event dispatcher instance. + * + * @return \Illuminate\Contracts\Events\Dispatcher|null + * @static + */ + public static function getEventDispatcher() + { + /** @var \Illuminate\Cache\Repository $instance */ + return $instance->getEventDispatcher(); } /** * Set the event dispatcher instance. * * @param \Illuminate\Contracts\Events\Dispatcher $events - * @return void - * @static + * @return void + * @static */ public static function setEventDispatcher($events) { - \Illuminate\Cache\Repository::setEventDispatcher($events); + /** @var \Illuminate\Cache\Repository $instance */ + $instance->setEventDispatcher($events); } /** * Determine if a cached value exists. * * @param string $key - * @return bool - * @static + * @return bool + * @static */ public static function offsetExists($key) { - return \Illuminate\Cache\Repository::offsetExists($key); + /** @var \Illuminate\Cache\Repository $instance */ + return $instance->offsetExists($key); } /** * Retrieve an item from the cache by key. * * @param string $key - * @return mixed - * @static + * @return mixed + * @static */ public static function offsetGet($key) { - return \Illuminate\Cache\Repository::offsetGet($key); + /** @var \Illuminate\Cache\Repository $instance */ + return $instance->offsetGet($key); } /** @@ -2491,136 +4968,496 @@ namespace { * * @param string $key * @param mixed $value - * @return void - * @static + * @return void + * @static */ public static function offsetSet($key, $value) { - \Illuminate\Cache\Repository::offsetSet($key, $value); + /** @var \Illuminate\Cache\Repository $instance */ + $instance->offsetSet($key, $value); } /** * Remove an item from the cache. * * @param string $key - * @return void - * @static + * @return void + * @static */ public static function offsetUnset($key) { - \Illuminate\Cache\Repository::offsetUnset($key); + /** @var \Illuminate\Cache\Repository $instance */ + $instance->offsetUnset($key); } /** * Register a custom macro. * * @param string $name - * @param callable $macro - * @return void - * @static + * @param object|callable $macro + * @param-closure-this static $macro + * @return void + * @static */ public static function macro($name, $macro) { \Illuminate\Cache\Repository::macro($name, $macro); } + /** + * Mix another object into the class. + * + * @param object $mixin + * @param bool $replace + * @return void + * @throws \ReflectionException + * @static + */ + public static function mixin($mixin, $replace = true) + { + \Illuminate\Cache\Repository::mixin($mixin, $replace); + } + /** * Checks if macro is registered. * * @param string $name - * @return bool - * @static + * @return bool + * @static */ public static function hasMacro($name) { return \Illuminate\Cache\Repository::hasMacro($name); } + /** + * Flush the existing macros. + * + * @return void + * @static + */ + public static function flushMacros() + { + \Illuminate\Cache\Repository::flushMacros(); + } + /** * Dynamically handle calls to the class. * * @param string $method * @param array $parameters - * @return mixed + * @return mixed * @throws \BadMethodCallException - * @static + * @static */ public static function macroCall($method, $parameters) { - return \Illuminate\Cache\Repository::macroCall($method, $parameters); + /** @var \Illuminate\Cache\Repository $instance */ + return $instance->macroCall($method, $parameters); + } + + /** + * Get a lock instance. + * + * @param string $name + * @param int $seconds + * @param string|null $owner + * @return \Illuminate\Contracts\Cache\Lock + * @static + */ + public static function lock($name, $seconds = 0, $owner = null) + { + /** @var \Illuminate\Cache\FileStore $instance */ + return $instance->lock($name, $seconds, $owner); + } + + /** + * Restore a lock instance using the owner identifier. + * + * @param string $name + * @param string $owner + * @return \Illuminate\Contracts\Cache\Lock + * @static + */ + public static function restoreLock($name, $owner) + { + /** @var \Illuminate\Cache\FileStore $instance */ + return $instance->restoreLock($name, $owner); } /** * Remove all items from the cache. * - * @return bool - * @static + * @return bool + * @static */ public static function flush() { - return \Illuminate\Cache\FileStore::flush(); + /** @var \Illuminate\Cache\FileStore $instance */ + return $instance->flush(); + } + + /** + * Get the full path for the given cache key. + * + * @param string $key + * @return string + * @static + */ + public static function path($key) + { + /** @var \Illuminate\Cache\FileStore $instance */ + return $instance->path($key); } /** * Get the Filesystem instance. * - * @return \Illuminate\Filesystem\Filesystem - * @static + * @return \Illuminate\Filesystem\Filesystem + * @static */ public static function getFilesystem() { - return \Illuminate\Cache\FileStore::getFilesystem(); + /** @var \Illuminate\Cache\FileStore $instance */ + return $instance->getFilesystem(); } /** * Get the working directory of the cache. * - * @return string - * @static + * @return string + * @static */ public static function getDirectory() { - return \Illuminate\Cache\FileStore::getDirectory(); + /** @var \Illuminate\Cache\FileStore $instance */ + return $instance->getDirectory(); + } + + /** + * Set the working directory of the cache. + * + * @param string $directory + * @return \Illuminate\Cache\FileStore + * @static + */ + public static function setDirectory($directory) + { + /** @var \Illuminate\Cache\FileStore $instance */ + return $instance->setDirectory($directory); + } + + /** + * Set the cache directory where locks should be stored. + * + * @param string|null $lockDirectory + * @return \Illuminate\Cache\FileStore + * @static + */ + public static function setLockDirectory($lockDirectory) + { + /** @var \Illuminate\Cache\FileStore $instance */ + return $instance->setLockDirectory($lockDirectory); } /** * Get the cache key prefix. * - * @return string - * @static + * @return string + * @static */ public static function getPrefix() { - return \Illuminate\Cache\FileStore::getPrefix(); + /** @var \Illuminate\Cache\FileStore $instance */ + return $instance->getPrefix(); } - } + } + /** + * + * + * @method static array run(\Closure|array $tasks) + * @method static \Illuminate\Support\Defer\DeferredCallback defer(\Closure|array $tasks) + * @see \Illuminate\Concurrency\ConcurrencyManager + */ + class Concurrency { + /** + * Get a driver instance by name. + * + * @param string|null $name + * @return mixed + * @static + */ + public static function driver($name = null) + { + /** @var \Illuminate\Concurrency\ConcurrencyManager $instance */ + return $instance->driver($name); + } - class Config extends \Illuminate\Support\Facades\Config - { + /** + * Create an instance of the process concurrency driver. + * + * @param array $config + * @return \Illuminate\Concurrency\ProcessDriver + * @static + */ + public static function createProcessDriver($config) + { + /** @var \Illuminate\Concurrency\ConcurrencyManager $instance */ + return $instance->createProcessDriver($config); + } + + /** + * Create an instance of the fork concurrency driver. + * + * @param array $config + * @return \Illuminate\Concurrency\ForkDriver + * @throws \RuntimeException + * @static + */ + public static function createForkDriver($config) + { + /** @var \Illuminate\Concurrency\ConcurrencyManager $instance */ + return $instance->createForkDriver($config); + } + + /** + * Create an instance of the sync concurrency driver. + * + * @param array $config + * @return \Illuminate\Concurrency\SyncDriver + * @static + */ + public static function createSyncDriver($config) + { + /** @var \Illuminate\Concurrency\ConcurrencyManager $instance */ + return $instance->createSyncDriver($config); + } + + /** + * Get the default instance name. + * + * @return string + * @static + */ + public static function getDefaultInstance() + { + /** @var \Illuminate\Concurrency\ConcurrencyManager $instance */ + return $instance->getDefaultInstance(); + } + + /** + * Set the default instance name. + * + * @param string $name + * @return void + * @static + */ + public static function setDefaultInstance($name) + { + /** @var \Illuminate\Concurrency\ConcurrencyManager $instance */ + $instance->setDefaultInstance($name); + } + + /** + * Get the instance specific configuration. + * + * @param string $name + * @return array + * @static + */ + public static function getInstanceConfig($name) + { + /** @var \Illuminate\Concurrency\ConcurrencyManager $instance */ + return $instance->getInstanceConfig($name); + } + + /** + * Get an instance by name. + * + * @param string|null $name + * @return mixed + * @static + */ + public static function instance($name = null) + { + //Method inherited from \Illuminate\Support\MultipleInstanceManager + /** @var \Illuminate\Concurrency\ConcurrencyManager $instance */ + return $instance->instance($name); + } + + /** + * Unset the given instances. + * + * @param array|string|null $name + * @return \Illuminate\Concurrency\ConcurrencyManager + * @static + */ + public static function forgetInstance($name = null) + { + //Method inherited from \Illuminate\Support\MultipleInstanceManager + /** @var \Illuminate\Concurrency\ConcurrencyManager $instance */ + return $instance->forgetInstance($name); + } + + /** + * Disconnect the given instance and remove from local cache. + * + * @param string|null $name + * @return void + * @static + */ + public static function purge($name = null) + { + //Method inherited from \Illuminate\Support\MultipleInstanceManager + /** @var \Illuminate\Concurrency\ConcurrencyManager $instance */ + $instance->purge($name); + } + + /** + * Register a custom instance creator Closure. + * + * @param string $name + * @param \Closure $callback + * @return \Illuminate\Concurrency\ConcurrencyManager + * @static + */ + public static function extend($name, $callback) + { + //Method inherited from \Illuminate\Support\MultipleInstanceManager + /** @var \Illuminate\Concurrency\ConcurrencyManager $instance */ + return $instance->extend($name, $callback); + } + + /** + * Set the application instance used by the manager. + * + * @param \Illuminate\Contracts\Foundation\Application $app + * @return \Illuminate\Concurrency\ConcurrencyManager + * @static + */ + public static function setApplication($app) + { + //Method inherited from \Illuminate\Support\MultipleInstanceManager + /** @var \Illuminate\Concurrency\ConcurrencyManager $instance */ + return $instance->setApplication($app); + } + + } + /** + * + * + * @see \Illuminate\Config\Repository + */ + class Config { /** * Determine if the given configuration value exists. * * @param string $key - * @return bool - * @static + * @return bool + * @static */ public static function has($key) { - return \Illuminate\Config\Repository::has($key); + /** @var \Illuminate\Config\Repository $instance */ + return $instance->has($key); } /** * Get the specified configuration value. * - * @param string $key + * @param array|string $key * @param mixed $default - * @return mixed - * @static + * @return mixed + * @static */ public static function get($key, $default = null) { - return \Illuminate\Config\Repository::get($key, $default); + /** @var \Illuminate\Config\Repository $instance */ + return $instance->get($key, $default); + } + + /** + * Get many configuration values. + * + * @param array $keys + * @return array + * @static + */ + public static function getMany($keys) + { + /** @var \Illuminate\Config\Repository $instance */ + return $instance->getMany($keys); + } + + /** + * Get the specified string configuration value. + * + * @param string $key + * @param (\Closure():(string|null))|string|null $default + * @return string + * @static + */ + public static function string($key, $default = null) + { + /** @var \Illuminate\Config\Repository $instance */ + return $instance->string($key, $default); + } + + /** + * Get the specified integer configuration value. + * + * @param string $key + * @param (\Closure():(int|null))|int|null $default + * @return int + * @static + */ + public static function integer($key, $default = null) + { + /** @var \Illuminate\Config\Repository $instance */ + return $instance->integer($key, $default); + } + + /** + * Get the specified float configuration value. + * + * @param string $key + * @param (\Closure():(float|null))|float|null $default + * @return float + * @static + */ + public static function float($key, $default = null) + { + /** @var \Illuminate\Config\Repository $instance */ + return $instance->float($key, $default); + } + + /** + * Get the specified boolean configuration value. + * + * @param string $key + * @param (\Closure():(bool|null))|bool|null $default + * @return bool + * @static + */ + public static function boolean($key, $default = null) + { + /** @var \Illuminate\Config\Repository $instance */ + return $instance->boolean($key, $default); + } + + /** + * Get the specified array configuration value. + * + * @param string $key + * @param (\Closure():(array|null))|array|null $default + * @return array + * @static + */ + public static function array($key, $default = null) + { + /** @var \Illuminate\Config\Repository $instance */ + return $instance->array($key, $default); } /** @@ -2628,12 +5465,13 @@ namespace { * * @param array|string $key * @param mixed $value - * @return void - * @static + * @return void + * @static */ public static function set($key, $value = null) { - \Illuminate\Config\Repository::set($key, $value); + /** @var \Illuminate\Config\Repository $instance */ + $instance->set($key, $value); } /** @@ -2641,12 +5479,13 @@ namespace { * * @param string $key * @param mixed $value - * @return void - * @static + * @return void + * @static */ public static function prepend($key, $value) { - \Illuminate\Config\Repository::prepend($key, $value); + /** @var \Illuminate\Config\Repository $instance */ + $instance->prepend($key, $value); } /** @@ -2654,47 +5493,51 @@ namespace { * * @param string $key * @param mixed $value - * @return void - * @static + * @return void + * @static */ public static function push($key, $value) { - \Illuminate\Config\Repository::push($key, $value); + /** @var \Illuminate\Config\Repository $instance */ + $instance->push($key, $value); } /** * Get all of the configuration items for the application. * - * @return array - * @static + * @return array + * @static */ public static function all() { - return \Illuminate\Config\Repository::all(); + /** @var \Illuminate\Config\Repository $instance */ + return $instance->all(); } /** * Determine if the given configuration option exists. * * @param string $key - * @return bool - * @static + * @return bool + * @static */ public static function offsetExists($key) { - return \Illuminate\Config\Repository::offsetExists($key); + /** @var \Illuminate\Config\Repository $instance */ + return $instance->offsetExists($key); } /** * Get a configuration option. * * @param string $key - * @return mixed - * @static + * @return mixed + * @static */ public static function offsetGet($key) { - return \Illuminate\Config\Repository::offsetGet($key); + /** @var \Illuminate\Config\Repository $instance */ + return $instance->offsetGet($key); } /** @@ -2702,89 +5545,654 @@ namespace { * * @param string $key * @param mixed $value - * @return void - * @static + * @return void + * @static */ public static function offsetSet($key, $value) { - \Illuminate\Config\Repository::offsetSet($key, $value); + /** @var \Illuminate\Config\Repository $instance */ + $instance->offsetSet($key, $value); } /** * Unset a configuration option. * * @param string $key - * @return void - * @static + * @return void + * @static */ public static function offsetUnset($key) { - \Illuminate\Config\Repository::offsetUnset($key); + /** @var \Illuminate\Config\Repository $instance */ + $instance->offsetUnset($key); } - } + /** + * Register a custom macro. + * + * @param string $name + * @param object|callable $macro + * @param-closure-this static $macro + * @return void + * @static + */ + public static function macro($name, $macro) + { + \Illuminate\Config\Repository::macro($name, $macro); + } - class Cookie extends \Illuminate\Support\Facades\Cookie - { + /** + * Mix another object into the class. + * + * @param object $mixin + * @param bool $replace + * @return void + * @throws \ReflectionException + * @static + */ + public static function mixin($mixin, $replace = true) + { + \Illuminate\Config\Repository::mixin($mixin, $replace); + } + + /** + * Checks if macro is registered. + * + * @param string $name + * @return bool + * @static + */ + public static function hasMacro($name) + { + return \Illuminate\Config\Repository::hasMacro($name); + } + + /** + * Flush the existing macros. + * + * @return void + * @static + */ + public static function flushMacros() + { + \Illuminate\Config\Repository::flushMacros(); + } + + } + /** + * + * + * @see \Illuminate\Log\Context\Repository + */ + class Context { + /** + * Determine if the given key exists. + * + * @param string $key + * @return bool + * @static + */ + public static function has($key) + { + /** @var \Illuminate\Log\Context\Repository $instance */ + return $instance->has($key); + } + + /** + * Determine if the given key exists within the hidden context data. + * + * @param string $key + * @return bool + * @static + */ + public static function hasHidden($key) + { + /** @var \Illuminate\Log\Context\Repository $instance */ + return $instance->hasHidden($key); + } + + /** + * Retrieve all the context data. + * + * @return array + * @static + */ + public static function all() + { + /** @var \Illuminate\Log\Context\Repository $instance */ + return $instance->all(); + } + + /** + * Retrieve all the hidden context data. + * + * @return array + * @static + */ + public static function allHidden() + { + /** @var \Illuminate\Log\Context\Repository $instance */ + return $instance->allHidden(); + } + + /** + * Retrieve the given key's value. + * + * @param string $key + * @param mixed $default + * @return mixed + * @static + */ + public static function get($key, $default = null) + { + /** @var \Illuminate\Log\Context\Repository $instance */ + return $instance->get($key, $default); + } + + /** + * Retrieve the given key's hidden value. + * + * @param string $key + * @param mixed $default + * @return mixed + * @static + */ + public static function getHidden($key, $default = null) + { + /** @var \Illuminate\Log\Context\Repository $instance */ + return $instance->getHidden($key, $default); + } + + /** + * Retrieve the given key's value and then forget it. + * + * @param string $key + * @param mixed $default + * @return mixed + * @static + */ + public static function pull($key, $default = null) + { + /** @var \Illuminate\Log\Context\Repository $instance */ + return $instance->pull($key, $default); + } + + /** + * Retrieve the given key's hidden value and then forget it. + * + * @param string $key + * @param mixed $default + * @return mixed + * @static + */ + public static function pullHidden($key, $default = null) + { + /** @var \Illuminate\Log\Context\Repository $instance */ + return $instance->pullHidden($key, $default); + } + + /** + * Retrieve only the values of the given keys. + * + * @param array $keys + * @return array + * @static + */ + public static function only($keys) + { + /** @var \Illuminate\Log\Context\Repository $instance */ + return $instance->only($keys); + } + + /** + * Retrieve only the hidden values of the given keys. + * + * @param array $keys + * @return array + * @static + */ + public static function onlyHidden($keys) + { + /** @var \Illuminate\Log\Context\Repository $instance */ + return $instance->onlyHidden($keys); + } + + /** + * Add a context value. + * + * @param string|array $key + * @param mixed $value + * @return \Illuminate\Log\Context\Repository + * @static + */ + public static function add($key, $value = null) + { + /** @var \Illuminate\Log\Context\Repository $instance */ + return $instance->add($key, $value); + } + + /** + * Add a hidden context value. + * + * @param string|array $key + * @param mixed $value + * @return \Illuminate\Log\Context\Repository + * @static + */ + public static function addHidden($key, $value = null) + { + /** @var \Illuminate\Log\Context\Repository $instance */ + return $instance->addHidden($key, $value); + } + + /** + * Forget the given context key. + * + * @param string|array $key + * @return \Illuminate\Log\Context\Repository + * @static + */ + public static function forget($key) + { + /** @var \Illuminate\Log\Context\Repository $instance */ + return $instance->forget($key); + } + + /** + * Forget the given hidden context key. + * + * @param string|array $key + * @return \Illuminate\Log\Context\Repository + * @static + */ + public static function forgetHidden($key) + { + /** @var \Illuminate\Log\Context\Repository $instance */ + return $instance->forgetHidden($key); + } + + /** + * Add a context value if it does not exist yet. + * + * @param string $key + * @param mixed $value + * @return \Illuminate\Log\Context\Repository + * @static + */ + public static function addIf($key, $value) + { + /** @var \Illuminate\Log\Context\Repository $instance */ + return $instance->addIf($key, $value); + } + + /** + * Add a hidden context value if it does not exist yet. + * + * @param string $key + * @param mixed $value + * @return \Illuminate\Log\Context\Repository + * @static + */ + public static function addHiddenIf($key, $value) + { + /** @var \Illuminate\Log\Context\Repository $instance */ + return $instance->addHiddenIf($key, $value); + } + + /** + * Push the given values onto the key's stack. + * + * @param string $key + * @param mixed $values + * @return \Illuminate\Log\Context\Repository + * @throws \RuntimeException + * @static + */ + public static function push($key, ...$values) + { + /** @var \Illuminate\Log\Context\Repository $instance */ + return $instance->push($key, ...$values); + } + + /** + * Pop the latest value from the key's stack. + * + * @param string $key + * @return mixed + * @throws \RuntimeException + * @static + */ + public static function pop($key) + { + /** @var \Illuminate\Log\Context\Repository $instance */ + return $instance->pop($key); + } + + /** + * Push the given hidden values onto the key's stack. + * + * @param string $key + * @param mixed $values + * @return \Illuminate\Log\Context\Repository + * @throws \RuntimeException + * @static + */ + public static function pushHidden($key, ...$values) + { + /** @var \Illuminate\Log\Context\Repository $instance */ + return $instance->pushHidden($key, ...$values); + } + + /** + * Pop the latest hidden value from the key's stack. + * + * @param string $key + * @return mixed + * @throws \RuntimeException + * @static + */ + public static function popHidden($key) + { + /** @var \Illuminate\Log\Context\Repository $instance */ + return $instance->popHidden($key); + } + + /** + * Determine if the given value is in the given stack. + * + * @param string $key + * @param mixed $value + * @param bool $strict + * @return bool + * @throws \RuntimeException + * @static + */ + public static function stackContains($key, $value, $strict = false) + { + /** @var \Illuminate\Log\Context\Repository $instance */ + return $instance->stackContains($key, $value, $strict); + } + + /** + * Determine if the given value is in the given hidden stack. + * + * @param string $key + * @param mixed $value + * @param bool $strict + * @return bool + * @throws \RuntimeException + * @static + */ + public static function hiddenStackContains($key, $value, $strict = false) + { + /** @var \Illuminate\Log\Context\Repository $instance */ + return $instance->hiddenStackContains($key, $value, $strict); + } + + /** + * Determine if the repository is empty. + * + * @return bool + * @static + */ + public static function isEmpty() + { + /** @var \Illuminate\Log\Context\Repository $instance */ + return $instance->isEmpty(); + } + + /** + * Execute the given callback when context is about to be dehydrated. + * + * @param callable $callback + * @return \Illuminate\Log\Context\Repository + * @static + */ + public static function dehydrating($callback) + { + /** @var \Illuminate\Log\Context\Repository $instance */ + return $instance->dehydrating($callback); + } + + /** + * Execute the given callback when context has been hydrated. + * + * @param callable $callback + * @return \Illuminate\Log\Context\Repository + * @static + */ + public static function hydrated($callback) + { + /** @var \Illuminate\Log\Context\Repository $instance */ + return $instance->hydrated($callback); + } + + /** + * Handle unserialize exceptions using the given callback. + * + * @param callable|null $callback + * @return static + * @static + */ + public static function handleUnserializeExceptionsUsing($callback) + { + /** @var \Illuminate\Log\Context\Repository $instance */ + return $instance->handleUnserializeExceptionsUsing($callback); + } + + /** + * Flush all context data. + * + * @return \Illuminate\Log\Context\Repository + * @static + */ + public static function flush() + { + /** @var \Illuminate\Log\Context\Repository $instance */ + return $instance->flush(); + } + + /** + * Dehydrate the context data. + * + * @internal + * @return \Illuminate\Log\Context\?array + * @static + */ + public static function dehydrate() + { + /** @var \Illuminate\Log\Context\Repository $instance */ + return $instance->dehydrate(); + } + + /** + * Hydrate the context instance. + * + * @internal + * @param \Illuminate\Log\Context\?array $context + * @return \Illuminate\Log\Context\Repository + * @throws \RuntimeException + * @static + */ + public static function hydrate($context) + { + /** @var \Illuminate\Log\Context\Repository $instance */ + return $instance->hydrate($context); + } + + /** + * Apply the callback if the given "value" is (or resolves to) truthy. + * + * @template TWhenParameter + * @template TWhenReturnType + * @param (\Closure($this): TWhenParameter)|TWhenParameter|null $value + * @param (callable($this, TWhenParameter): TWhenReturnType)|null $callback + * @param (callable($this, TWhenParameter): TWhenReturnType)|null $default + * @return $this|TWhenReturnType + * @static + */ + public static function when($value = null, $callback = null, $default = null) + { + /** @var \Illuminate\Log\Context\Repository $instance */ + return $instance->when($value, $callback, $default); + } + + /** + * Apply the callback if the given "value" is (or resolves to) falsy. + * + * @template TUnlessParameter + * @template TUnlessReturnType + * @param (\Closure($this): TUnlessParameter)|TUnlessParameter|null $value + * @param (callable($this, TUnlessParameter): TUnlessReturnType)|null $callback + * @param (callable($this, TUnlessParameter): TUnlessReturnType)|null $default + * @return $this|TUnlessReturnType + * @static + */ + public static function unless($value = null, $callback = null, $default = null) + { + /** @var \Illuminate\Log\Context\Repository $instance */ + return $instance->unless($value, $callback, $default); + } + + /** + * Register a custom macro. + * + * @param string $name + * @param object|callable $macro + * @param-closure-this static $macro + * @return void + * @static + */ + public static function macro($name, $macro) + { + \Illuminate\Log\Context\Repository::macro($name, $macro); + } + + /** + * Mix another object into the class. + * + * @param object $mixin + * @param bool $replace + * @return void + * @throws \ReflectionException + * @static + */ + public static function mixin($mixin, $replace = true) + { + \Illuminate\Log\Context\Repository::mixin($mixin, $replace); + } + + /** + * Checks if macro is registered. + * + * @param string $name + * @return bool + * @static + */ + public static function hasMacro($name) + { + return \Illuminate\Log\Context\Repository::hasMacro($name); + } + + /** + * Flush the existing macros. + * + * @return void + * @static + */ + public static function flushMacros() + { + \Illuminate\Log\Context\Repository::flushMacros(); + } + + /** + * Restore the model from the model identifier instance. + * + * @param \Illuminate\Contracts\Database\ModelIdentifier $value + * @return \Illuminate\Database\Eloquent\Model + * @static + */ + public static function restoreModel($value) + { + /** @var \Illuminate\Log\Context\Repository $instance */ + return $instance->restoreModel($value); + } + + } + /** + * + * + * @see \Illuminate\Cookie\CookieJar + */ + class Cookie { /** * Create a new cookie instance. * * @param string $name * @param string $value * @param int $minutes - * @param string $path - * @param string $domain - * @param bool $secure + * @param string|null $path + * @param string|null $domain + * @param bool|null $secure * @param bool $httpOnly - * @return \Symfony\Component\HttpFoundation\Cookie - * @static + * @param bool $raw + * @param string|null $sameSite + * @return \Symfony\Component\HttpFoundation\Cookie + * @static */ - public static function make($name, $value, $minutes = 0, $path = null, $domain = null, $secure = false, $httpOnly = true) + public static function make($name, $value, $minutes = 0, $path = null, $domain = null, $secure = null, $httpOnly = true, $raw = false, $sameSite = null) { - return \Illuminate\Cookie\CookieJar::make($name, $value, $minutes, $path, $domain, $secure, $httpOnly); + /** @var \Illuminate\Cookie\CookieJar $instance */ + return $instance->make($name, $value, $minutes, $path, $domain, $secure, $httpOnly, $raw, $sameSite); } /** - * Create a cookie that lasts "forever" (five years). + * Create a cookie that lasts "forever" (400 days). * * @param string $name * @param string $value - * @param string $path - * @param string $domain - * @param bool $secure + * @param string|null $path + * @param string|null $domain + * @param bool|null $secure * @param bool $httpOnly - * @return \Symfony\Component\HttpFoundation\Cookie - * @static + * @param bool $raw + * @param string|null $sameSite + * @return \Symfony\Component\HttpFoundation\Cookie + * @static */ - public static function forever($name, $value, $path = null, $domain = null, $secure = false, $httpOnly = true) + public static function forever($name, $value, $path = null, $domain = null, $secure = null, $httpOnly = true, $raw = false, $sameSite = null) { - return \Illuminate\Cookie\CookieJar::forever($name, $value, $path, $domain, $secure, $httpOnly); + /** @var \Illuminate\Cookie\CookieJar $instance */ + return $instance->forever($name, $value, $path, $domain, $secure, $httpOnly, $raw, $sameSite); } /** * Expire the given cookie. * * @param string $name - * @param string $path - * @param string $domain - * @return \Symfony\Component\HttpFoundation\Cookie - * @static + * @param string|null $path + * @param string|null $domain + * @return \Symfony\Component\HttpFoundation\Cookie + * @static */ public static function forget($name, $path = null, $domain = null) { - return \Illuminate\Cookie\CookieJar::forget($name, $path, $domain); + /** @var \Illuminate\Cookie\CookieJar $instance */ + return $instance->forget($name, $path, $domain); } /** * Determine if a cookie has been queued. * * @param string $key - * @return bool - * @static + * @param string|null $path + * @return bool + * @static */ - public static function hasQueued($key) + public static function hasQueued($key, $path = null) { - return \Illuminate\Cookie\CookieJar::hasQueued($key); + /** @var \Illuminate\Cookie\CookieJar $instance */ + return $instance->hasQueued($key, $path); } /** @@ -2792,238 +6200,588 @@ namespace { * * @param string $key * @param mixed $default - * @return \Symfony\Component\HttpFoundation\Cookie - * @static + * @param string|null $path + * @return \Symfony\Component\HttpFoundation\Cookie|null + * @static */ - public static function queued($key, $default = null) + public static function queued($key, $default = null, $path = null) { - return \Illuminate\Cookie\CookieJar::queued($key, $default); + /** @var \Illuminate\Cookie\CookieJar $instance */ + return $instance->queued($key, $default, $path); } /** * Queue a cookie to send with the next response. * - * @param array $parameters - * @return void - * @static + * @param mixed $parameters + * @return void + * @static */ - public static function queue($parameters = null) + public static function queue(...$parameters) { - \Illuminate\Cookie\CookieJar::queue($parameters); + /** @var \Illuminate\Cookie\CookieJar $instance */ + $instance->queue(...$parameters); + } + + /** + * Queue a cookie to expire with the next response. + * + * @param string $name + * @param string|null $path + * @param string|null $domain + * @return void + * @static + */ + public static function expire($name, $path = null, $domain = null) + { + /** @var \Illuminate\Cookie\CookieJar $instance */ + $instance->expire($name, $path, $domain); } /** * Remove a cookie from the queue. * * @param string $name - * @return void - * @static + * @param string|null $path + * @return void + * @static */ - public static function unqueue($name) + public static function unqueue($name, $path = null) { - \Illuminate\Cookie\CookieJar::unqueue($name); + /** @var \Illuminate\Cookie\CookieJar $instance */ + $instance->unqueue($name, $path); } /** * Set the default path and domain for the jar. * * @param string $path - * @param string $domain - * @param bool $secure - * @return $this - * @static + * @param string|null $domain + * @param bool|null $secure + * @param string|null $sameSite + * @return \Illuminate\Cookie\CookieJar + * @static */ - public static function setDefaultPathAndDomain($path, $domain, $secure = false) + public static function setDefaultPathAndDomain($path, $domain, $secure = false, $sameSite = null) { - return \Illuminate\Cookie\CookieJar::setDefaultPathAndDomain($path, $domain, $secure); + /** @var \Illuminate\Cookie\CookieJar $instance */ + return $instance->setDefaultPathAndDomain($path, $domain, $secure, $sameSite); } /** * Get the cookies which have been queued for the next request. * - * @return array - * @static + * @return \Symfony\Component\HttpFoundation\Cookie[] + * @static */ public static function getQueuedCookies() { - return \Illuminate\Cookie\CookieJar::getQueuedCookies(); + /** @var \Illuminate\Cookie\CookieJar $instance */ + return $instance->getQueuedCookies(); } - } + /** + * Flush the cookies which have been queued for the next request. + * + * @return \Illuminate\Cookie\CookieJar + * @static + */ + public static function flushQueuedCookies() + { + /** @var \Illuminate\Cookie\CookieJar $instance */ + return $instance->flushQueuedCookies(); + } - class Crypt extends \Illuminate\Support\Facades\Crypt - { + /** + * Register a custom macro. + * + * @param string $name + * @param object|callable $macro + * @param-closure-this static $macro + * @return void + * @static + */ + public static function macro($name, $macro) + { + \Illuminate\Cookie\CookieJar::macro($name, $macro); + } + + /** + * Mix another object into the class. + * + * @param object $mixin + * @param bool $replace + * @return void + * @throws \ReflectionException + * @static + */ + public static function mixin($mixin, $replace = true) + { + \Illuminate\Cookie\CookieJar::mixin($mixin, $replace); + } + + /** + * Checks if macro is registered. + * + * @param string $name + * @return bool + * @static + */ + public static function hasMacro($name) + { + return \Illuminate\Cookie\CookieJar::hasMacro($name); + } + + /** + * Flush the existing macros. + * + * @return void + * @static + */ + public static function flushMacros() + { + \Illuminate\Cookie\CookieJar::flushMacros(); + } + + } + /** + * + * + * @see \Illuminate\Encryption\Encrypter + */ + class Crypt { /** * Determine if the given key and cipher combination is valid. * * @param string $key * @param string $cipher - * @return bool - * @static + * @return bool + * @static */ public static function supported($key, $cipher) { return \Illuminate\Encryption\Encrypter::supported($key, $cipher); } + /** + * Create a new encryption key for the given cipher. + * + * @param string $cipher + * @return string + * @static + */ + public static function generateKey($cipher) + { + return \Illuminate\Encryption\Encrypter::generateKey($cipher); + } + /** * Encrypt the given value. * * @param mixed $value * @param bool $serialize - * @return string + * @return string * @throws \Illuminate\Contracts\Encryption\EncryptException - * @static + * @static */ public static function encrypt($value, $serialize = true) { - return \Illuminate\Encryption\Encrypter::encrypt($value, $serialize); + /** @var \Illuminate\Encryption\Encrypter $instance */ + return $instance->encrypt($value, $serialize); } /** * Encrypt a string without serialization. * * @param string $value - * @return string - * @static + * @return string + * @throws \Illuminate\Contracts\Encryption\EncryptException + * @static */ public static function encryptString($value) { - return \Illuminate\Encryption\Encrypter::encryptString($value); + /** @var \Illuminate\Encryption\Encrypter $instance */ + return $instance->encryptString($value); } /** * Decrypt the given value. * - * @param mixed $payload + * @param string $payload * @param bool $unserialize - * @return string + * @return mixed * @throws \Illuminate\Contracts\Encryption\DecryptException - * @static + * @static */ public static function decrypt($payload, $unserialize = true) { - return \Illuminate\Encryption\Encrypter::decrypt($payload, $unserialize); + /** @var \Illuminate\Encryption\Encrypter $instance */ + return $instance->decrypt($payload, $unserialize); } /** * Decrypt the given string without unserialization. * * @param string $payload - * @return string - * @static + * @return string + * @throws \Illuminate\Contracts\Encryption\DecryptException + * @static */ public static function decryptString($payload) { - return \Illuminate\Encryption\Encrypter::decryptString($payload); + /** @var \Illuminate\Encryption\Encrypter $instance */ + return $instance->decryptString($payload); } /** - * Get the encryption key. + * Get the encryption key that the encrypter is currently using. * - * @return string - * @static + * @return string + * @static */ public static function getKey() { - return \Illuminate\Encryption\Encrypter::getKey(); + /** @var \Illuminate\Encryption\Encrypter $instance */ + return $instance->getKey(); } - } + /** + * Get the current encryption key and all previous encryption keys. + * + * @return array + * @static + */ + public static function getAllKeys() + { + /** @var \Illuminate\Encryption\Encrypter $instance */ + return $instance->getAllKeys(); + } - class DB extends \Illuminate\Support\Facades\DB - { + /** + * Get the previous encryption keys. + * + * @return array + * @static + */ + public static function getPreviousKeys() + { + /** @var \Illuminate\Encryption\Encrypter $instance */ + return $instance->getPreviousKeys(); + } + + /** + * Set the previous / legacy encryption keys that should be utilized if decryption fails. + * + * @param array $keys + * @return \Illuminate\Encryption\Encrypter + * @static + */ + public static function previousKeys($keys) + { + /** @var \Illuminate\Encryption\Encrypter $instance */ + return $instance->previousKeys($keys); + } + + } + /** + * + * + * @see https://carbon.nesbot.com/docs/ + * @see https://github.com/briannesbitt/Carbon/blob/master/src/Carbon/Factory.php + * @method static \Illuminate\Support\Carbon create($year = 0, $month = 1, $day = 1, $hour = 0, $minute = 0, $second = 0, $tz = null) + * @method static \Illuminate\Support\Carbon createFromDate($year = null, $month = null, $day = null, $tz = null) + * @method static \Illuminate\Support\Carbon|false createFromFormat($format, $time, $tz = null) + * @method static \Illuminate\Support\Carbon createFromTime($hour = 0, $minute = 0, $second = 0, $tz = null) + * @method static \Illuminate\Support\Carbon createFromTimeString($time, $tz = null) + * @method static \Illuminate\Support\Carbon createFromTimestamp($timestamp, $tz = null) + * @method static \Illuminate\Support\Carbon createFromTimestampMs($timestamp, $tz = null) + * @method static \Illuminate\Support\Carbon createFromTimestampUTC($timestamp) + * @method static \Illuminate\Support\Carbon createMidnightDate($year = null, $month = null, $day = null, $tz = null) + * @method static \Illuminate\Support\Carbon|false createSafe($year = null, $month = null, $day = null, $hour = null, $minute = null, $second = null, $tz = null) + * @method static void disableHumanDiffOption($humanDiffOption) + * @method static void enableHumanDiffOption($humanDiffOption) + * @method static mixed executeWithLocale($locale, $func) + * @method static \Illuminate\Support\Carbon fromSerialized($value) + * @method static array getAvailableLocales() + * @method static array getDays() + * @method static int getHumanDiffOptions() + * @method static array getIsoUnits() + * @method static array getLastErrors() + * @method static string getLocale() + * @method static int getMidDayAt() + * @method static \Illuminate\Support\Carbon|null getTestNow() + * @method static \Symfony\Component\Translation\TranslatorInterface getTranslator() + * @method static int getWeekEndsAt() + * @method static int getWeekStartsAt() + * @method static array getWeekendDays() + * @method static bool hasFormat($date, $format) + * @method static bool hasMacro($name) + * @method static bool hasRelativeKeywords($time) + * @method static bool hasTestNow() + * @method static \Illuminate\Support\Carbon instance($date) + * @method static bool isImmutable() + * @method static bool isModifiableUnit($unit) + * @method static bool isMutable() + * @method static bool isStrictModeEnabled() + * @method static bool localeHasDiffOneDayWords($locale) + * @method static bool localeHasDiffSyntax($locale) + * @method static bool localeHasDiffTwoDayWords($locale) + * @method static bool localeHasPeriodSyntax($locale) + * @method static bool localeHasShortUnits($locale) + * @method static void macro($name, $macro) + * @method static \Illuminate\Support\Carbon|null make($var) + * @method static \Illuminate\Support\Carbon maxValue() + * @method static \Illuminate\Support\Carbon minValue() + * @method static void mixin($mixin) + * @method static \Illuminate\Support\Carbon now($tz = null) + * @method static \Illuminate\Support\Carbon parse($time = null, $tz = null) + * @method static string pluralUnit(string $unit) + * @method static void resetMonthsOverflow() + * @method static void resetToStringFormat() + * @method static void resetYearsOverflow() + * @method static void serializeUsing($callback) + * @method static void setHumanDiffOptions($humanDiffOptions) + * @method static bool setLocale($locale) + * @method static void setMidDayAt($hour) + * @method static void setTestNow($testNow = null) + * @method static void setToStringFormat($format) + * @method static void setTranslator(\Symfony\Component\Translation\TranslatorInterface $translator) + * @method static void setUtf8($utf8) + * @method static void setWeekEndsAt($day) + * @method static void setWeekStartsAt($day) + * @method static void setWeekendDays($days) + * @method static bool shouldOverflowMonths() + * @method static bool shouldOverflowYears() + * @method static string singularUnit(string $unit) + * @method static \Illuminate\Support\Carbon today($tz = null) + * @method static \Illuminate\Support\Carbon tomorrow($tz = null) + * @method static void useMonthsOverflow($monthsOverflow = true) + * @method static void useStrictMode($strictModeEnabled = true) + * @method static void useYearsOverflow($yearsOverflow = true) + * @method static \Illuminate\Support\Carbon yesterday($tz = null) + * @see \Illuminate\Support\DateFactory + */ + class Date { + /** + * Use the given handler when generating dates (class name, callable, or factory). + * + * @param mixed $handler + * @return mixed + * @throws \InvalidArgumentException + * @static + */ + public static function use($handler) + { + return \Illuminate\Support\DateFactory::use($handler); + } + + /** + * Use the default date class when generating dates. + * + * @return void + * @static + */ + public static function useDefault() + { + \Illuminate\Support\DateFactory::useDefault(); + } + + /** + * Execute the given callable on each date creation. + * + * @param callable $callable + * @return void + * @static + */ + public static function useCallable($callable) + { + \Illuminate\Support\DateFactory::useCallable($callable); + } + + /** + * Use the given date type (class) when generating dates. + * + * @param string $dateClass + * @return void + * @static + */ + public static function useClass($dateClass) + { + \Illuminate\Support\DateFactory::useClass($dateClass); + } + + /** + * Use the given Carbon factory when generating dates. + * + * @param object $factory + * @return void + * @static + */ + public static function useFactory($factory) + { + \Illuminate\Support\DateFactory::useFactory($factory); + } + + } + /** + * + * + * @see \Illuminate\Database\DatabaseManager + */ + class DB { /** * Get a database connection instance. * - * @param string $name - * @return \Illuminate\Database\Connection - * @static + * @param string|null $name + * @return \Illuminate\Database\Connection + * @static */ public static function connection($name = null) { - return \Illuminate\Database\DatabaseManager::connection($name); + /** @var \Illuminate\Database\DatabaseManager $instance */ + return $instance->connection($name); + } + + /** + * Build a database connection instance from the given configuration. + * + * @param array $config + * @return \Illuminate\Database\SQLiteConnection + * @static + */ + public static function build($config) + { + /** @var \Illuminate\Database\DatabaseManager $instance */ + return $instance->build($config); + } + + /** + * Calculate the dynamic connection name for an on-demand connection based on its configuration. + * + * @param array $config + * @return string + * @static + */ + public static function calculateDynamicConnectionName($config) + { + return \Illuminate\Database\DatabaseManager::calculateDynamicConnectionName($config); + } + + /** + * Get a database connection instance from the given configuration. + * + * @param string $name + * @param array $config + * @param bool $force + * @return \Illuminate\Database\SQLiteConnection + * @static + */ + public static function connectUsing($name, $config, $force = false) + { + /** @var \Illuminate\Database\DatabaseManager $instance */ + return $instance->connectUsing($name, $config, $force); } /** * Disconnect from the given database and remove from local cache. * - * @param string $name - * @return void - * @static + * @param string|null $name + * @return void + * @static */ public static function purge($name = null) { - \Illuminate\Database\DatabaseManager::purge($name); + /** @var \Illuminate\Database\DatabaseManager $instance */ + $instance->purge($name); } /** * Disconnect from the given database. * - * @param string $name - * @return void - * @static + * @param string|null $name + * @return void + * @static */ public static function disconnect($name = null) { - \Illuminate\Database\DatabaseManager::disconnect($name); + /** @var \Illuminate\Database\DatabaseManager $instance */ + $instance->disconnect($name); } /** * Reconnect to the given database. * - * @param string $name - * @return \Illuminate\Database\Connection - * @static + * @param string|null $name + * @return \Illuminate\Database\Connection + * @static */ public static function reconnect($name = null) { - return \Illuminate\Database\DatabaseManager::reconnect($name); + /** @var \Illuminate\Database\DatabaseManager $instance */ + return $instance->reconnect($name); + } + + /** + * Set the default database connection for the callback execution. + * + * @param string $name + * @param callable $callback + * @return mixed + * @static + */ + public static function usingConnection($name, $callback) + { + /** @var \Illuminate\Database\DatabaseManager $instance */ + return $instance->usingConnection($name, $callback); } /** * Get the default connection name. * - * @return string - * @static + * @return string + * @static */ public static function getDefaultConnection() { - return \Illuminate\Database\DatabaseManager::getDefaultConnection(); + /** @var \Illuminate\Database\DatabaseManager $instance */ + return $instance->getDefaultConnection(); } /** * Set the default connection name. * * @param string $name - * @return void - * @static + * @return void + * @static */ public static function setDefaultConnection($name) { - \Illuminate\Database\DatabaseManager::setDefaultConnection($name); + /** @var \Illuminate\Database\DatabaseManager $instance */ + $instance->setDefaultConnection($name); } /** - * Get all of the support drivers. + * Get all of the supported drivers. * - * @return array - * @static + * @return string[] + * @static */ public static function supportedDrivers() { - return \Illuminate\Database\DatabaseManager::supportedDrivers(); + /** @var \Illuminate\Database\DatabaseManager $instance */ + return $instance->supportedDrivers(); } /** * Get all of the drivers that are actually available. * - * @return array - * @static + * @return string[] + * @static */ public static function availableDrivers() { - return \Illuminate\Database\DatabaseManager::availableDrivers(); + /** @var \Illuminate\Database\DatabaseManager $instance */ + return $instance->availableDrivers(); } /** @@ -3031,108 +6789,235 @@ namespace { * * @param string $name * @param callable $resolver - * @return void - * @static + * @return void + * @static */ public static function extend($name, $resolver) { - \Illuminate\Database\DatabaseManager::extend($name, $resolver); + /** @var \Illuminate\Database\DatabaseManager $instance */ + $instance->extend($name, $resolver); + } + + /** + * Remove an extension connection resolver. + * + * @param string $name + * @return void + * @static + */ + public static function forgetExtension($name) + { + /** @var \Illuminate\Database\DatabaseManager $instance */ + $instance->forgetExtension($name); } /** * Return all of the created connections. * - * @return array - * @static + * @return array + * @static */ public static function getConnections() { - return \Illuminate\Database\DatabaseManager::getConnections(); + /** @var \Illuminate\Database\DatabaseManager $instance */ + return $instance->getConnections(); + } + + /** + * Set the database reconnector callback. + * + * @param callable $reconnector + * @return void + * @static + */ + public static function setReconnector($reconnector) + { + /** @var \Illuminate\Database\DatabaseManager $instance */ + $instance->setReconnector($reconnector); + } + + /** + * Set the application instance used by the manager. + * + * @param \Illuminate\Contracts\Foundation\Application $app + * @return \Illuminate\Database\DatabaseManager + * @static + */ + public static function setApplication($app) + { + /** @var \Illuminate\Database\DatabaseManager $instance */ + return $instance->setApplication($app); + } + + /** + * Register a custom macro. + * + * @param string $name + * @param object|callable $macro + * @param-closure-this static $macro + * @return void + * @static + */ + public static function macro($name, $macro) + { + \Illuminate\Database\DatabaseManager::macro($name, $macro); + } + + /** + * Mix another object into the class. + * + * @param object $mixin + * @param bool $replace + * @return void + * @throws \ReflectionException + * @static + */ + public static function mixin($mixin, $replace = true) + { + \Illuminate\Database\DatabaseManager::mixin($mixin, $replace); + } + + /** + * Checks if macro is registered. + * + * @param string $name + * @return bool + * @static + */ + public static function hasMacro($name) + { + return \Illuminate\Database\DatabaseManager::hasMacro($name); + } + + /** + * Flush the existing macros. + * + * @return void + * @static + */ + public static function flushMacros() + { + \Illuminate\Database\DatabaseManager::flushMacros(); + } + + /** + * Dynamically handle calls to the class. + * + * @param string $method + * @param array $parameters + * @return mixed + * @throws \BadMethodCallException + * @static + */ + public static function macroCall($method, $parameters) + { + /** @var \Illuminate\Database\DatabaseManager $instance */ + return $instance->macroCall($method, $parameters); + } + + /** + * Get a human-readable name for the given connection driver. + * + * @return string + * @static + */ + public static function getDriverTitle() + { + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->getDriverTitle(); } /** * Get a schema builder instance for the connection. * - * @return \Illuminate\Database\Schema\MySqlBuilder - * @static + * @return \Illuminate\Database\Schema\SQLiteBuilder + * @static */ public static function getSchemaBuilder() { - return \Illuminate\Database\MySqlConnection::getSchemaBuilder(); + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->getSchemaBuilder(); } /** - * Bind values to their parameters in the given statement. + * Get the schema state for the connection. * - * @param \PDOStatement $statement - * @param array $bindings - * @return void - * @static + * @param \Illuminate\Filesystem\Filesystem|null $files + * @param callable|null $processFactory + * @throws \RuntimeException + * @static */ - public static function bindValues($statement, $bindings) + public static function getSchemaState($files = null, $processFactory = null) { - \Illuminate\Database\MySqlConnection::bindValues($statement, $bindings); + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->getSchemaState($files, $processFactory); } /** * Set the query grammar to the default implementation. * - * @return void - * @static + * @return void + * @static */ public static function useDefaultQueryGrammar() { - //Method inherited from \Illuminate\Database\Connection - \Illuminate\Database\MySqlConnection::useDefaultQueryGrammar(); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + $instance->useDefaultQueryGrammar(); } /** * Set the schema grammar to the default implementation. * - * @return void - * @static + * @return void + * @static */ public static function useDefaultSchemaGrammar() { - //Method inherited from \Illuminate\Database\Connection - \Illuminate\Database\MySqlConnection::useDefaultSchemaGrammar(); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + $instance->useDefaultSchemaGrammar(); } /** * Set the query post processor to the default implementation. * - * @return void - * @static + * @return void + * @static */ public static function useDefaultPostProcessor() { - //Method inherited from \Illuminate\Database\Connection - \Illuminate\Database\MySqlConnection::useDefaultPostProcessor(); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + $instance->useDefaultPostProcessor(); } /** * Begin a fluent query against a database table. * - * @param string $table - * @return \Illuminate\Database\Query\Builder - * @static + * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Contracts\Database\Query\Expression|string $table + * @param string|null $as + * @return \Illuminate\Database\Query\Builder + * @static */ - public static function table($table) + public static function table($table, $as = null) { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::table($table); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->table($table, $as); } /** * Get a new query builder instance. * - * @return \Illuminate\Database\Query\Builder - * @static + * @return \Illuminate\Database\Query\Builder + * @static */ public static function query() { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::query(); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->query(); } /** @@ -3141,13 +7026,31 @@ namespace { * @param string $query * @param array $bindings * @param bool $useReadPdo - * @return mixed - * @static + * @return mixed + * @static */ public static function selectOne($query, $bindings = [], $useReadPdo = true) { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::selectOne($query, $bindings, $useReadPdo); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->selectOne($query, $bindings, $useReadPdo); + } + + /** + * Run a select statement and return the first column of the first row. + * + * @param string $query + * @param array $bindings + * @param bool $useReadPdo + * @return mixed + * @throws \Illuminate\Database\MultipleColumnsSelectedException + * @static + */ + public static function scalar($query, $bindings = [], $useReadPdo = true) + { + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->scalar($query, $bindings, $useReadPdo); } /** @@ -3155,13 +7058,14 @@ namespace { * * @param string $query * @param array $bindings - * @return array - * @static + * @return array + * @static */ public static function selectFromWriteConnection($query, $bindings = []) { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::selectFromWriteConnection($query, $bindings); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->selectFromWriteConnection($query, $bindings); } /** @@ -3170,13 +7074,30 @@ namespace { * @param string $query * @param array $bindings * @param bool $useReadPdo - * @return array - * @static + * @return array + * @static */ public static function select($query, $bindings = [], $useReadPdo = true) { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::select($query, $bindings, $useReadPdo); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->select($query, $bindings, $useReadPdo); + } + + /** + * Run a select statement against the database and returns all of the result sets. + * + * @param string $query + * @param array $bindings + * @param bool $useReadPdo + * @return array + * @static + */ + public static function selectResultSets($query, $bindings = [], $useReadPdo = true) + { + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->selectResultSets($query, $bindings, $useReadPdo); } /** @@ -3185,13 +7106,14 @@ namespace { * @param string $query * @param array $bindings * @param bool $useReadPdo - * @return \Generator - * @static + * @return \Generator + * @static */ public static function cursor($query, $bindings = [], $useReadPdo = true) { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::cursor($query, $bindings, $useReadPdo); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->cursor($query, $bindings, $useReadPdo); } /** @@ -3199,13 +7121,14 @@ namespace { * * @param string $query * @param array $bindings - * @return bool - * @static + * @return bool + * @static */ public static function insert($query, $bindings = []) { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::insert($query, $bindings); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->insert($query, $bindings); } /** @@ -3213,13 +7136,14 @@ namespace { * * @param string $query * @param array $bindings - * @return int - * @static + * @return int + * @static */ public static function update($query, $bindings = []) { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::update($query, $bindings); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->update($query, $bindings); } /** @@ -3227,13 +7151,14 @@ namespace { * * @param string $query * @param array $bindings - * @return int - * @static + * @return int + * @static */ public static function delete($query, $bindings = []) { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::delete($query, $bindings); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->delete($query, $bindings); } /** @@ -3241,13 +7166,14 @@ namespace { * * @param string $query * @param array $bindings - * @return bool - * @static + * @return bool + * @static */ public static function statement($query, $bindings = []) { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::statement($query, $bindings); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->statement($query, $bindings); } /** @@ -3255,52 +7181,98 @@ namespace { * * @param string $query * @param array $bindings - * @return int - * @static + * @return int + * @static */ public static function affectingStatement($query, $bindings = []) { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::affectingStatement($query, $bindings); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->affectingStatement($query, $bindings); } /** * Run a raw, unprepared query against the PDO connection. * * @param string $query - * @return bool - * @static + * @return bool + * @static */ public static function unprepared($query) { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::unprepared($query); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->unprepared($query); + } + + /** + * Get the number of open connections for the database. + * + * @return int|null + * @static + */ + public static function threadCount() + { + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->threadCount(); } /** * Execute the given callback in "dry run" mode. * * @param \Closure $callback - * @return array - * @static + * @return array + * @static */ public static function pretend($callback) { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::pretend($callback); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->pretend($callback); + } + + /** + * Execute the given callback without "pretending". + * + * @param \Closure $callback + * @return mixed + * @static + */ + public static function withoutPretending($callback) + { + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->withoutPretending($callback); + } + + /** + * Bind values to their parameters in the given statement. + * + * @param \PDOStatement $statement + * @param array $bindings + * @return void + * @static + */ + public static function bindValues($statement, $bindings) + { + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + $instance->bindValues($statement, $bindings); } /** * Prepare the query bindings for execution. * * @param array $bindings - * @return array - * @static + * @return array + * @static */ public static function prepareBindings($bindings) { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::prepareBindings($bindings); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->prepareBindings($bindings); } /** @@ -3309,424 +7281,702 @@ namespace { * @param string $query * @param array $bindings * @param float|null $time - * @return void - * @static + * @return void + * @static */ public static function logQuery($query, $bindings, $time = null) { - //Method inherited from \Illuminate\Database\Connection - \Illuminate\Database\MySqlConnection::logQuery($query, $bindings, $time); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + $instance->logQuery($query, $bindings, $time); + } + + /** + * Register a callback to be invoked when the connection queries for longer than a given amount of time. + * + * @param \DateTimeInterface|\Carbon\CarbonInterval|float|int $threshold + * @param callable $handler + * @return void + * @static + */ + public static function whenQueryingForLongerThan($threshold, $handler) + { + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + $instance->whenQueryingForLongerThan($threshold, $handler); + } + + /** + * Allow all the query duration handlers to run again, even if they have already run. + * + * @return void + * @static + */ + public static function allowQueryDurationHandlersToRunAgain() + { + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + $instance->allowQueryDurationHandlersToRunAgain(); + } + + /** + * Get the duration of all run queries in milliseconds. + * + * @return float + * @static + */ + public static function totalQueryDuration() + { + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->totalQueryDuration(); + } + + /** + * Reset the duration of all run queries. + * + * @return void + * @static + */ + public static function resetTotalQueryDuration() + { + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + $instance->resetTotalQueryDuration(); + } + + /** + * Reconnect to the database if a PDO connection is missing. + * + * @return void + * @static + */ + public static function reconnectIfMissingConnection() + { + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + $instance->reconnectIfMissingConnection(); + } + + /** + * Register a hook to be run just before a database transaction is started. + * + * @param \Closure $callback + * @return \Illuminate\Database\SQLiteConnection + * @static + */ + public static function beforeStartingTransaction($callback) + { + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->beforeStartingTransaction($callback); + } + + /** + * Register a hook to be run just before a database query is executed. + * + * @param \Closure $callback + * @return \Illuminate\Database\SQLiteConnection + * @static + */ + public static function beforeExecuting($callback) + { + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->beforeExecuting($callback); } /** * Register a database query listener with the connection. * * @param \Closure $callback - * @return void - * @static + * @return void + * @static */ public static function listen($callback) { - //Method inherited from \Illuminate\Database\Connection - \Illuminate\Database\MySqlConnection::listen($callback); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + $instance->listen($callback); } /** * Get a new raw query expression. * * @param mixed $value - * @return \Illuminate\Database\Query\Expression - * @static + * @return \Illuminate\Contracts\Database\Query\Expression + * @static */ public static function raw($value) { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::raw($value); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->raw($value); } /** - * Is Doctrine available? + * Escape a value for safe SQL embedding. * - * @return bool - * @static + * @param string|float|int|bool|null $value + * @param bool $binary + * @return string + * @static */ - public static function isDoctrineAvailable() + public static function escape($value, $binary = false) { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::isDoctrineAvailable(); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->escape($value, $binary); } /** - * Get a Doctrine Schema Column instance. + * Determine if the database connection has modified any database records. * - * @param string $table - * @param string $column - * @return \Doctrine\DBAL\Schema\Column - * @static + * @return bool + * @static */ - public static function getDoctrineColumn($table, $column) + public static function hasModifiedRecords() { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::getDoctrineColumn($table, $column); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->hasModifiedRecords(); } /** - * Get the Doctrine DBAL schema manager for the connection. + * Indicate if any records have been modified. * - * @return \Doctrine\DBAL\Schema\AbstractSchemaManager - * @static + * @param bool $value + * @return void + * @static */ - public static function getDoctrineSchemaManager() + public static function recordsHaveBeenModified($value = true) { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::getDoctrineSchemaManager(); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + $instance->recordsHaveBeenModified($value); } /** - * Get the Doctrine DBAL database connection instance. + * Set the record modification state. * - * @return \Doctrine\DBAL\Connection - * @static + * @param bool $value + * @return \Illuminate\Database\SQLiteConnection + * @static */ - public static function getDoctrineConnection() + public static function setRecordModificationState($value) { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::getDoctrineConnection(); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->setRecordModificationState($value); + } + + /** + * Reset the record modification state. + * + * @return void + * @static + */ + public static function forgetRecordModificationState() + { + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + $instance->forgetRecordModificationState(); + } + + /** + * Indicate that the connection should use the write PDO connection for reads. + * + * @param bool $value + * @return \Illuminate\Database\SQLiteConnection + * @static + */ + public static function useWriteConnectionWhenReading($value = true) + { + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->useWriteConnectionWhenReading($value); } /** * Get the current PDO connection. * - * @return \PDO - * @static + * @return \PDO + * @static */ public static function getPdo() { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::getPdo(); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->getPdo(); + } + + /** + * Get the current PDO connection parameter without executing any reconnect logic. + * + * @return \PDO|\Closure|null + * @static + */ + public static function getRawPdo() + { + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->getRawPdo(); } /** * Get the current PDO connection used for reading. * - * @return \PDO - * @static + * @return \PDO + * @static */ public static function getReadPdo() { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::getReadPdo(); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->getReadPdo(); + } + + /** + * Get the current read PDO connection parameter without executing any reconnect logic. + * + * @return \PDO|\Closure|null + * @static + */ + public static function getRawReadPdo() + { + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->getRawReadPdo(); } /** * Set the PDO connection. * - * @param \PDO|null $pdo - * @return $this - * @static + * @param \PDO|\Closure|null $pdo + * @return \Illuminate\Database\SQLiteConnection + * @static */ public static function setPdo($pdo) { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::setPdo($pdo); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->setPdo($pdo); } /** * Set the PDO connection used for reading. * - * @param \PDO|null $pdo - * @return $this - * @static + * @param \PDO|\Closure|null $pdo + * @return \Illuminate\Database\SQLiteConnection + * @static */ public static function setReadPdo($pdo) { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::setReadPdo($pdo); - } - - /** - * Set the reconnect instance on the connection. - * - * @param callable $reconnector - * @return $this - * @static - */ - public static function setReconnector($reconnector) - { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::setReconnector($reconnector); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->setReadPdo($pdo); } /** * Get the database connection name. * - * @return string|null - * @static + * @return string|null + * @static */ public static function getName() { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::getName(); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->getName(); + } + + /** + * Get the database connection full name. + * + * @return string|null + * @static + */ + public static function getNameWithReadWriteType() + { + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->getNameWithReadWriteType(); } /** * Get an option from the configuration options. * - * @param string $option - * @return mixed - * @static + * @param string|null $option + * @return mixed + * @static */ - public static function getConfig($option) + public static function getConfig($option = null) { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::getConfig($option); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->getConfig($option); } /** * Get the PDO driver name. * - * @return string - * @static + * @return string + * @static */ public static function getDriverName() { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::getDriverName(); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->getDriverName(); } /** * Get the query grammar used by the connection. * - * @return \Illuminate\Database\Query\Grammars\Grammar - * @static + * @return \Illuminate\Database\Query\Grammars\Grammar + * @static */ public static function getQueryGrammar() { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::getQueryGrammar(); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->getQueryGrammar(); } /** * Set the query grammar used by the connection. * * @param \Illuminate\Database\Query\Grammars\Grammar $grammar - * @return void - * @static + * @return \Illuminate\Database\SQLiteConnection + * @static */ public static function setQueryGrammar($grammar) { - //Method inherited from \Illuminate\Database\Connection - \Illuminate\Database\MySqlConnection::setQueryGrammar($grammar); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->setQueryGrammar($grammar); } /** * Get the schema grammar used by the connection. * - * @return \Illuminate\Database\Schema\Grammars\Grammar - * @static + * @return \Illuminate\Database\Schema\Grammars\Grammar + * @static */ public static function getSchemaGrammar() { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::getSchemaGrammar(); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->getSchemaGrammar(); } /** * Set the schema grammar used by the connection. * * @param \Illuminate\Database\Schema\Grammars\Grammar $grammar - * @return void - * @static + * @return \Illuminate\Database\SQLiteConnection + * @static */ public static function setSchemaGrammar($grammar) { - //Method inherited from \Illuminate\Database\Connection - \Illuminate\Database\MySqlConnection::setSchemaGrammar($grammar); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->setSchemaGrammar($grammar); } /** * Get the query post processor used by the connection. * - * @return \Illuminate\Database\Query\Processors\Processor - * @static + * @return \Illuminate\Database\Query\Processors\Processor + * @static */ public static function getPostProcessor() { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::getPostProcessor(); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->getPostProcessor(); } /** * Set the query post processor used by the connection. * * @param \Illuminate\Database\Query\Processors\Processor $processor - * @return void - * @static + * @return \Illuminate\Database\SQLiteConnection + * @static */ public static function setPostProcessor($processor) { - //Method inherited from \Illuminate\Database\Connection - \Illuminate\Database\MySqlConnection::setPostProcessor($processor); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->setPostProcessor($processor); } /** * Get the event dispatcher used by the connection. * - * @return \Illuminate\Contracts\Events\Dispatcher - * @static + * @return \Illuminate\Contracts\Events\Dispatcher + * @static */ public static function getEventDispatcher() { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::getEventDispatcher(); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->getEventDispatcher(); } /** * Set the event dispatcher instance on the connection. * * @param \Illuminate\Contracts\Events\Dispatcher $events - * @return void - * @static + * @return \Illuminate\Database\SQLiteConnection + * @static */ public static function setEventDispatcher($events) { - //Method inherited from \Illuminate\Database\Connection - \Illuminate\Database\MySqlConnection::setEventDispatcher($events); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->setEventDispatcher($events); } /** - * Determine if the connection in a "dry run". + * Unset the event dispatcher for this connection. * - * @return bool - * @static + * @return void + * @static + */ + public static function unsetEventDispatcher() + { + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + $instance->unsetEventDispatcher(); + } + + /** + * Set the transaction manager instance on the connection. + * + * @param \Illuminate\Database\DatabaseTransactionsManager $manager + * @return \Illuminate\Database\SQLiteConnection + * @static + */ + public static function setTransactionManager($manager) + { + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->setTransactionManager($manager); + } + + /** + * Unset the transaction manager for this connection. + * + * @return void + * @static + */ + public static function unsetTransactionManager() + { + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + $instance->unsetTransactionManager(); + } + + /** + * Determine if the connection is in a "dry run". + * + * @return bool + * @static */ public static function pretending() { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::pretending(); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->pretending(); } /** * Get the connection query log. * - * @return array - * @static + * @return array + * @static */ public static function getQueryLog() { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::getQueryLog(); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->getQueryLog(); + } + + /** + * Get the connection query log with embedded bindings. + * + * @return array + * @static + */ + public static function getRawQueryLog() + { + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->getRawQueryLog(); } /** * Clear the query log. * - * @return void - * @static + * @return void + * @static */ public static function flushQueryLog() { - //Method inherited from \Illuminate\Database\Connection - \Illuminate\Database\MySqlConnection::flushQueryLog(); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + $instance->flushQueryLog(); } /** * Enable the query log on the connection. * - * @return void - * @static + * @return void + * @static */ public static function enableQueryLog() { - //Method inherited from \Illuminate\Database\Connection - \Illuminate\Database\MySqlConnection::enableQueryLog(); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + $instance->enableQueryLog(); } /** * Disable the query log on the connection. * - * @return void - * @static + * @return void + * @static */ public static function disableQueryLog() { - //Method inherited from \Illuminate\Database\Connection - \Illuminate\Database\MySqlConnection::disableQueryLog(); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + $instance->disableQueryLog(); } /** * Determine whether we're logging queries. * - * @return bool - * @static + * @return bool + * @static */ public static function logging() { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::logging(); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->logging(); } /** * Get the name of the connected database. * - * @return string - * @static + * @return string + * @static */ public static function getDatabaseName() { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::getDatabaseName(); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->getDatabaseName(); } /** * Set the name of the connected database. * * @param string $database - * @return string - * @static + * @return \Illuminate\Database\SQLiteConnection + * @static */ public static function setDatabaseName($database) { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::setDatabaseName($database); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->setDatabaseName($database); + } + + /** + * Set the read / write type of the connection. + * + * @param string|null $readWriteType + * @return \Illuminate\Database\SQLiteConnection + * @static + */ + public static function setReadWriteType($readWriteType) + { + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->setReadWriteType($readWriteType); } /** * Get the table prefix for the connection. * - * @return string - * @static + * @return string + * @static */ public static function getTablePrefix() { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::getTablePrefix(); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->getTablePrefix(); } /** * Set the table prefix in use by the connection. * * @param string $prefix - * @return void - * @static + * @return \Illuminate\Database\SQLiteConnection + * @static */ public static function setTablePrefix($prefix) { - //Method inherited from \Illuminate\Database\Connection - \Illuminate\Database\MySqlConnection::setTablePrefix($prefix); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->setTablePrefix($prefix); } /** * Set the table prefix and return the grammar. * - * @param \Illuminate\Database\Grammar $grammar - * @return \Illuminate\Database\Grammar - * @static + * @template TGrammar of \Illuminate\Database\Grammar + * @param TGrammar $grammar + * @return TGrammar + * @static */ public static function withTablePrefix($grammar) { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::withTablePrefix($grammar); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->withTablePrefix($grammar); + } + + /** + * Execute the given callback without table prefix. + * + * @param \Closure $callback + * @return void + * @static + */ + public static function withoutTablePrefix($callback) + { + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + $instance->withoutTablePrefix($callback); + } + + /** + * Get the server version for the connection. + * + * @return string + * @static + */ + public static function getServerVersion() + { + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->getServerVersion(); } /** @@ -3734,2096 +7984,204 @@ namespace { * * @param string $driver * @param \Closure $callback - * @return void - * @static + * @return void + * @static */ public static function resolverFor($driver, $callback) { - //Method inherited from \Illuminate\Database\Connection - \Illuminate\Database\MySqlConnection::resolverFor($driver, $callback); + //Method inherited from \Illuminate\Database\Connection + \Illuminate\Database\SQLiteConnection::resolverFor($driver, $callback); } /** * Get the connection resolver for the given driver. * * @param string $driver - * @return mixed - * @static + * @return \Closure|null + * @static */ public static function getResolver($driver) { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::getResolver($driver); + //Method inherited from \Illuminate\Database\Connection + return \Illuminate\Database\SQLiteConnection::getResolver($driver); } /** - * Execute a Closure within a transaction. + * * - * @param \Closure $callback + * @template TReturn of mixed + * + * Execute a Closure within a transaction. + * @param (\Closure(static): TReturn) $callback * @param int $attempts - * @return mixed - * @throws \Exception|\Throwable - * @static + * @return TReturn + * @throws \Throwable + * @static */ public static function transaction($callback, $attempts = 1) { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::transaction($callback, $attempts); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->transaction($callback, $attempts); } /** * Start a new database transaction. * - * @return void - * @throws \Exception - * @static + * @return void + * @throws \Throwable + * @static */ public static function beginTransaction() { - //Method inherited from \Illuminate\Database\Connection - \Illuminate\Database\MySqlConnection::beginTransaction(); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + $instance->beginTransaction(); } /** * Commit the active database transaction. * - * @return void - * @static + * @return void + * @throws \Throwable + * @static */ public static function commit() { - //Method inherited from \Illuminate\Database\Connection - \Illuminate\Database\MySqlConnection::commit(); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + $instance->commit(); } /** * Rollback the active database transaction. * * @param int|null $toLevel - * @return void - * @static + * @return void + * @throws \Throwable + * @static */ public static function rollBack($toLevel = null) { - //Method inherited from \Illuminate\Database\Connection - \Illuminate\Database\MySqlConnection::rollBack($toLevel); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + $instance->rollBack($toLevel); } /** * Get the number of active transactions. * - * @return int - * @static + * @return int + * @static */ public static function transactionLevel() { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::transactionLevel(); - } - } - - - class Eloquent extends \Illuminate\Database\Eloquent\Model - { - /** - * Register a new global scope. - * - * @param string $identifier - * @param \Illuminate\Database\Eloquent\Scope|\Closure $scope - * @return $this - * @static - */ - public static function withGlobalScope($identifier, $scope) - { - return \Illuminate\Database\Eloquent\Builder::withGlobalScope($identifier, $scope); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->transactionLevel(); } /** - * Remove a registered global scope. - * - * @param \Illuminate\Database\Eloquent\Scope|string $scope - * @return $this - * @static - */ - public static function withoutGlobalScope($scope) - { - return \Illuminate\Database\Eloquent\Builder::withoutGlobalScope($scope); - } - - /** - * Remove all or passed registered global scopes. - * - * @param array|null $scopes - * @return $this - * @static - */ - public static function withoutGlobalScopes($scopes = null) - { - return \Illuminate\Database\Eloquent\Builder::withoutGlobalScopes($scopes); - } - - /** - * Get an array of global scopes that were removed from the query. - * - * @return array - * @static - */ - public static function removedScopes() - { - return \Illuminate\Database\Eloquent\Builder::removedScopes(); - } - - /** - * Apply the callback's query changes if the given "value" is true. - * - * @param bool $value - * @param \Closure $callback - * @param \Closure $default - * @return $this - * @static - */ - public static function when($value, $callback, $default = null) - { - return \Illuminate\Database\Eloquent\Builder::when($value, $callback, $default); - } - - /** - * Add a where clause on the primary key to the query. - * - * @param mixed $id - * @return $this - * @static - */ - public static function whereKey($id) - { - return \Illuminate\Database\Eloquent\Builder::whereKey($id); - } - - /** - * Add a basic where clause to the query. - * - * @param string|\Closure $column - * @param string $operator - * @param mixed $value - * @param string $boolean - * @return $this - * @static - */ - public static function where($column, $operator = null, $value = null, $boolean = 'and') - { - return \Illuminate\Database\Eloquent\Builder::where($column, $operator, $value, $boolean); - } - - /** - * Add an "or where" clause to the query. - * - * @param string|\Closure $column - * @param string $operator - * @param mixed $value - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ - public static function orWhere($column, $operator = null, $value = null) - { - return \Illuminate\Database\Eloquent\Builder::orWhere($column, $operator, $value); - } - - /** - * Create a collection of models from plain arrays. - * - * @param array $items - * @return \Illuminate\Database\Eloquent\Collection - * @static - */ - public static function hydrate($items) - { - return \Illuminate\Database\Eloquent\Builder::hydrate($items); - } - - /** - * Create a collection of models from a raw query. - * - * @param string $query - * @param array $bindings - * @return \Illuminate\Database\Eloquent\Collection - * @static - */ - public static function fromQuery($query, $bindings = []) - { - return \Illuminate\Database\Eloquent\Builder::fromQuery($query, $bindings); - } - - /** - * Find a model by its primary key. - * - * @param mixed $id - * @param array $columns - * @return mixed - * @static - */ - public static function find($id, $columns = []) - { - return \Illuminate\Database\Eloquent\Builder::find($id, $columns); - } - - /** - * Find multiple models by their primary keys. - * - * @param array $ids - * @param array $columns - * @return \Illuminate\Database\Eloquent\Collection - * @static - */ - public static function findMany($ids, $columns = []) - { - return \Illuminate\Database\Eloquent\Builder::findMany($ids, $columns); - } - - /** - * Find a model by its primary key or throw an exception. - * - * @param mixed $id - * @param array $columns - * @return \Illuminate\Database\Eloquent\Model|\Illuminate\Database\Eloquent\Collection - * @throws \Illuminate\Database\Eloquent\ModelNotFoundException - * @static - */ - public static function findOrFail($id, $columns = []) - { - return \Illuminate\Database\Eloquent\Builder::findOrFail($id, $columns); - } - - /** - * Find a model by its primary key or return fresh model instance. - * - * @param mixed $id - * @param array $columns - * @return \Illuminate\Database\Eloquent\Model - * @static - */ - public static function findOrNew($id, $columns = []) - { - return \Illuminate\Database\Eloquent\Builder::findOrNew($id, $columns); - } - - /** - * Get the first record matching the attributes or instantiate it. - * - * @param array $attributes - * @param array $values - * @return \Illuminate\Database\Eloquent\Model - * @static - */ - public static function firstOrNew($attributes, $values = []) - { - return \Illuminate\Database\Eloquent\Builder::firstOrNew($attributes, $values); - } - - /** - * Get the first record matching the attributes or create it. - * - * @param array $attributes - * @param array $values - * @return \Illuminate\Database\Eloquent\Model - * @static - */ - public static function firstOrCreate($attributes, $values = []) - { - return \Illuminate\Database\Eloquent\Builder::firstOrCreate($attributes, $values); - } - - /** - * Create or update a record matching the attributes, and fill it with values. - * - * @param array $attributes - * @param array $values - * @return \Illuminate\Database\Eloquent\Model - * @static - */ - public static function updateOrCreate($attributes, $values = []) - { - return \Illuminate\Database\Eloquent\Builder::updateOrCreate($attributes, $values); - } - - /** - * Execute the query and get the first result. - * - * @param array $columns - * @return \Illuminate\Database\Eloquent\Model|static|null - * @static - */ - public static function first($columns = []) - { - return \Illuminate\Database\Eloquent\Builder::first($columns); - } - - /** - * Execute the query and get the first result or throw an exception. - * - * @param array $columns - * @return \Illuminate\Database\Eloquent\Model|static - * @throws \Illuminate\Database\Eloquent\ModelNotFoundException - * @static - */ - public static function firstOrFail($columns = []) - { - return \Illuminate\Database\Eloquent\Builder::firstOrFail($columns); - } - - /** - * Execute the query and get the first result or call a callback. - * - * @param \Closure|array $columns - * @param \Closure|null $callback - * @return \Illuminate\Database\Eloquent\Model|static|mixed - * @static - */ - public static function firstOr($columns = [], $callback = null) - { - return \Illuminate\Database\Eloquent\Builder::firstOr($columns, $callback); - } - - /** - * Get a single column's value from the first result of a query. - * - * @param string $column - * @return mixed - * @static - */ - public static function value($column) - { - return \Illuminate\Database\Eloquent\Builder::value($column); - } - - /** - * Execute the query as a "select" statement. - * - * @param array $columns - * @return \Illuminate\Database\Eloquent\Collection|static[] - * @static - */ - public static function get($columns = []) - { - return \Illuminate\Database\Eloquent\Builder::get($columns); - } - - /** - * Get the hydrated models without eager loading. - * - * @param array $columns - * @return \Illuminate\Database\Eloquent\Model[] - * @static - */ - public static function getModels($columns = []) - { - return \Illuminate\Database\Eloquent\Builder::getModels($columns); - } - - /** - * Eager load the relationships for the models. - * - * @param array $models - * @return array - * @static - */ - public static function eagerLoadRelations($models) - { - return \Illuminate\Database\Eloquent\Builder::eagerLoadRelations($models); - } - - /** - * Get a generator for the given query. - * - * @return \Generator - * @static - */ - public static function cursor() - { - return \Illuminate\Database\Eloquent\Builder::cursor(); - } - - /** - * Chunk the results of the query. - * - * @param int $count - * @param callable $callback - * @return bool - * @static - */ - public static function chunk($count, $callback) - { - return \Illuminate\Database\Eloquent\Builder::chunk($count, $callback); - } - - /** - * Chunk the results of a query by comparing numeric IDs. - * - * @param int $count - * @param callable $callback - * @param string $column - * @param string|null $alias - * @return bool - * @static - */ - public static function chunkById($count, $callback, $column = null, $alias = null) - { - return \Illuminate\Database\Eloquent\Builder::chunkById($count, $callback, $column, $alias); - } - - /** - * Execute a callback over each item while chunking. + * Execute the callback after a transaction commits. * * @param callable $callback - * @param int $count - * @return bool - * @static + * @return void + * @throws \RuntimeException + * @static */ - public static function each($callback, $count = 1000) + public static function afterCommit($callback) { - return \Illuminate\Database\Eloquent\Builder::each($callback, $count); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + $instance->afterCommit($callback); } - /** - * Get an array with the values of a given column. - * - * @param string $column - * @param string|null $key - * @return \Illuminate\Support\Collection - * @static - */ - public static function pluck($column, $key = null) - { - return \Illuminate\Database\Eloquent\Builder::pluck($column, $key); - } - - /** - * Paginate the given query. - * - * @param int $perPage - * @param array $columns - * @param string $pageName - * @param int|null $page - * @return \Illuminate\Contracts\Pagination\LengthAwarePaginator - * @throws \InvalidArgumentException - * @static - */ - public static function paginate($perPage = null, $columns = [], $pageName = 'page', $page = null) - { - return \Illuminate\Database\Eloquent\Builder::paginate($perPage, $columns, $pageName, $page); - } - - /** - * Paginate the given query into a simple paginator. - * - * @param int $perPage - * @param array $columns - * @param string $pageName - * @param int|null $page - * @return \Illuminate\Contracts\Pagination\Paginator - * @static - */ - public static function simplePaginate($perPage = null, $columns = [], $pageName = 'page', $page = null) - { - return \Illuminate\Database\Eloquent\Builder::simplePaginate($perPage, $columns, $pageName, $page); - } - - /** - * Save a new model and return the instance. - * - * @param array $attributes - * @return \Illuminate\Database\Eloquent\Model - * @static - */ - public static function create($attributes = []) - { - return \Illuminate\Database\Eloquent\Builder::create($attributes); - } - - /** - * Save a new model and return the instance. Allow mass-assignment. - * - * @param array $attributes - * @return \Illuminate\Database\Eloquent\Model - * @static - */ - public static function forceCreate($attributes) - { - return \Illuminate\Database\Eloquent\Builder::forceCreate($attributes); - } - - /** - * Register a replacement for the default delete function. - * - * @param \Closure $callback - * @return void - * @static - */ - public static function onDelete($callback) - { - \Illuminate\Database\Eloquent\Builder::onDelete($callback); - } - - /** - * Call the given local model scopes. - * - * @param array $scopes - * @return mixed - * @static - */ - public static function scopes($scopes) - { - return \Illuminate\Database\Eloquent\Builder::scopes($scopes); - } - - /** - * Apply the scopes to the Eloquent builder instance and return it. - * - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ - public static function applyScopes() - { - return \Illuminate\Database\Eloquent\Builder::applyScopes(); - } - - /** - * Prevent the specified relations from being eager loaded. - * - * @param mixed $relations - * @return $this - * @static - */ - public static function without($relations) - { - return \Illuminate\Database\Eloquent\Builder::without($relations); - } - - /** - * Get the underlying query builder instance. - * - * @return \Illuminate\Database\Query\Builder - * @static - */ - public static function getQuery() - { - return \Illuminate\Database\Eloquent\Builder::getQuery(); - } - - /** - * Set the underlying query builder instance. - * - * @param \Illuminate\Database\Query\Builder $query - * @return $this - * @static - */ - public static function setQuery($query) - { - return \Illuminate\Database\Eloquent\Builder::setQuery($query); - } - - /** - * Get a base query builder instance. - * - * @return \Illuminate\Database\Query\Builder - * @static - */ - public static function toBase() - { - return \Illuminate\Database\Eloquent\Builder::toBase(); - } - - /** - * Get the relationships being eagerly loaded. - * - * @return array - * @static - */ - public static function getEagerLoads() - { - return \Illuminate\Database\Eloquent\Builder::getEagerLoads(); - } - - /** - * Set the relationships being eagerly loaded. - * - * @param array $eagerLoad - * @return $this - * @static - */ - public static function setEagerLoads($eagerLoad) - { - return \Illuminate\Database\Eloquent\Builder::setEagerLoads($eagerLoad); - } - - /** - * Get the model instance being queried. - * - * @return \Illuminate\Database\Eloquent\Model - * @static - */ - public static function getModel() - { - return \Illuminate\Database\Eloquent\Builder::getModel(); - } - - /** - * Set a model instance for the model being queried. - * - * @param \Illuminate\Database\Eloquent\Model $model - * @return $this - * @static - */ - public static function setModel($model) - { - return \Illuminate\Database\Eloquent\Builder::setModel($model); - } - - /** - * Extend the builder with a given callback. - * - * @param string $name - * @param \Closure $callback - * @return void - * @static - */ - public static function macro($name, $callback) - { - \Illuminate\Database\Eloquent\Builder::macro($name, $callback); - } - - /** - * Get the given macro by name. - * - * @param string $name - * @return \Closure - * @static - */ - public static function getMacro($name) - { - return \Illuminate\Database\Eloquent\Builder::getMacro($name); - } - - /** - * Add a relationship count / exists condition to the query. - * - * @param string $relation - * @param string $operator - * @param int $count - * @param string $boolean - * @param \Closure|null $callback - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ - public static function has($relation, $operator = '>=', $count = 1, $boolean = 'and', $callback = null) - { - return \Illuminate\Database\Eloquent\Builder::has($relation, $operator, $count, $boolean, $callback); - } - - /** - * Add a relationship count / exists condition to the query with an "or". - * - * @param string $relation - * @param string $operator - * @param int $count - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ - public static function orHas($relation, $operator = '>=', $count = 1) - { - return \Illuminate\Database\Eloquent\Builder::orHas($relation, $operator, $count); - } - - /** - * Add a relationship count / exists condition to the query. - * - * @param string $relation - * @param string $boolean - * @param \Closure|null $callback - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ - public static function doesntHave($relation, $boolean = 'and', $callback = null) - { - return \Illuminate\Database\Eloquent\Builder::doesntHave($relation, $boolean, $callback); - } - - /** - * Add a relationship count / exists condition to the query with where clauses. - * - * @param string $relation - * @param \Closure|null $callback - * @param string $operator - * @param int $count - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ - public static function whereHas($relation, $callback = null, $operator = '>=', $count = 1) - { - return \Illuminate\Database\Eloquent\Builder::whereHas($relation, $callback, $operator, $count); - } - - /** - * Add a relationship count / exists condition to the query with where clauses and an "or". - * - * @param string $relation - * @param \Closure $callback - * @param string $operator - * @param int $count - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ - public static function orWhereHas($relation, $callback, $operator = '>=', $count = 1) - { - return \Illuminate\Database\Eloquent\Builder::orWhereHas($relation, $callback, $operator, $count); - } - - /** - * Add a relationship count / exists condition to the query with where clauses. - * - * @param string $relation - * @param \Closure|null $callback - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ - public static function whereDoesntHave($relation, $callback = null) - { - return \Illuminate\Database\Eloquent\Builder::whereDoesntHave($relation, $callback); - } - - /** - * Add subselect queries to count the relations. - * - * @param mixed $relations - * @return $this - * @static - */ - public static function withCount($relations) - { - return \Illuminate\Database\Eloquent\Builder::withCount($relations); - } - - /** - * Merge the where constraints from another query to the current query. - * - * @param \Illuminate\Database\Eloquent\Builder $from - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ - public static function mergeConstraintsFrom($from) - { - return \Illuminate\Database\Eloquent\Builder::mergeConstraintsFrom($from); - } - - /** - * Set the columns to be selected. - * - * @param array|mixed $columns - * @return $this - * @static - */ - public static function select($columns = []) - { - return \Illuminate\Database\Query\Builder::select($columns); - } - - /** - * Add a new "raw" select expression to the query. - * - * @param string $expression - * @param array $bindings - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function selectRaw($expression, $bindings = []) - { - return \Illuminate\Database\Query\Builder::selectRaw($expression, $bindings); - } - - /** - * Add a subselect expression to the query. - * - * @param \Closure|\Illuminate\Database\Query\Builder|string $query - * @param string $as - * @return \Illuminate\Database\Query\Builder|static - * @throws \InvalidArgumentException - * @static - */ - public static function selectSub($query, $as) - { - return \Illuminate\Database\Query\Builder::selectSub($query, $as); - } - - /** - * Add a new select column to the query. - * - * @param array|mixed $column - * @return $this - * @static - */ - public static function addSelect($column) - { - return \Illuminate\Database\Query\Builder::addSelect($column); - } - - /** - * Force the query to only return distinct results. - * - * @return $this - * @static - */ - public static function distinct() - { - return \Illuminate\Database\Query\Builder::distinct(); - } - - /** - * Set the table which the query is targeting. - * - * @param string $table - * @return $this - * @static - */ - public static function from($table) - { - return \Illuminate\Database\Query\Builder::from($table); - } - - /** - * Add a join clause to the query. - * - * @param string $table - * @param string $first - * @param string $operator - * @param string $second - * @param string $type - * @param bool $where - * @return $this - * @static - */ - public static function join($table, $first, $operator = null, $second = null, $type = 'inner', $where = false) - { - return \Illuminate\Database\Query\Builder::join($table, $first, $operator, $second, $type, $where); - } - - /** - * Add a "join where" clause to the query. - * - * @param string $table - * @param string $first - * @param string $operator - * @param string $second - * @param string $type - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function joinWhere($table, $first, $operator, $second, $type = 'inner') - { - return \Illuminate\Database\Query\Builder::joinWhere($table, $first, $operator, $second, $type); - } - - /** - * Add a left join to the query. - * - * @param string $table - * @param string $first - * @param string $operator - * @param string $second - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function leftJoin($table, $first, $operator = null, $second = null) - { - return \Illuminate\Database\Query\Builder::leftJoin($table, $first, $operator, $second); - } - - /** - * Add a "join where" clause to the query. - * - * @param string $table - * @param string $first - * @param string $operator - * @param string $second - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function leftJoinWhere($table, $first, $operator, $second) - { - return \Illuminate\Database\Query\Builder::leftJoinWhere($table, $first, $operator, $second); - } - - /** - * Add a right join to the query. - * - * @param string $table - * @param string $first - * @param string $operator - * @param string $second - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function rightJoin($table, $first, $operator = null, $second = null) - { - return \Illuminate\Database\Query\Builder::rightJoin($table, $first, $operator, $second); - } - - /** - * Add a "right join where" clause to the query. - * - * @param string $table - * @param string $first - * @param string $operator - * @param string $second - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function rightJoinWhere($table, $first, $operator, $second) - { - return \Illuminate\Database\Query\Builder::rightJoinWhere($table, $first, $operator, $second); - } - - /** - * Add a "cross join" clause to the query. - * - * @param string $table - * @param string $first - * @param string $operator - * @param string $second - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function crossJoin($table, $first = null, $operator = null, $second = null) - { - return \Illuminate\Database\Query\Builder::crossJoin($table, $first, $operator, $second); - } - - /** - * Merge an array of where clauses and bindings. - * - * @param array $wheres - * @param array $bindings - * @return void - * @static - */ - public static function mergeWheres($wheres, $bindings) - { - \Illuminate\Database\Query\Builder::mergeWheres($wheres, $bindings); - } - - /** - * Add a "where" clause comparing two columns to the query. - * - * @param string|array $first - * @param string|null $operator - * @param string|null $second - * @param string|null $boolean - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function whereColumn($first, $operator = null, $second = null, $boolean = 'and') - { - return \Illuminate\Database\Query\Builder::whereColumn($first, $operator, $second, $boolean); - } - - /** - * Add an "or where" clause comparing two columns to the query. - * - * @param string|array $first - * @param string|null $operator - * @param string|null $second - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function orWhereColumn($first, $operator = null, $second = null) - { - return \Illuminate\Database\Query\Builder::orWhereColumn($first, $operator, $second); - } - - /** - * Add a raw where clause to the query. - * - * @param string $sql - * @param mixed $bindings - * @param string $boolean - * @return $this - * @static - */ - public static function whereRaw($sql, $bindings = [], $boolean = 'and') - { - return \Illuminate\Database\Query\Builder::whereRaw($sql, $bindings, $boolean); - } - - /** - * Add a raw or where clause to the query. - * - * @param string $sql - * @param array $bindings - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function orWhereRaw($sql, $bindings = []) - { - return \Illuminate\Database\Query\Builder::orWhereRaw($sql, $bindings); - } - - /** - * Add a "where in" clause to the query. - * - * @param string $column - * @param mixed $values - * @param string $boolean - * @param bool $not - * @return $this - * @static - */ - public static function whereIn($column, $values, $boolean = 'and', $not = false) - { - return \Illuminate\Database\Query\Builder::whereIn($column, $values, $boolean, $not); - } - - /** - * Add an "or where in" clause to the query. - * - * @param string $column - * @param mixed $values - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function orWhereIn($column, $values) - { - return \Illuminate\Database\Query\Builder::orWhereIn($column, $values); - } - - /** - * Add a "where not in" clause to the query. - * - * @param string $column - * @param mixed $values - * @param string $boolean - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function whereNotIn($column, $values, $boolean = 'and') - { - return \Illuminate\Database\Query\Builder::whereNotIn($column, $values, $boolean); - } - - /** - * Add an "or where not in" clause to the query. - * - * @param string $column - * @param mixed $values - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function orWhereNotIn($column, $values) - { - return \Illuminate\Database\Query\Builder::orWhereNotIn($column, $values); - } - - /** - * Add a "where null" clause to the query. - * - * @param string $column - * @param string $boolean - * @param bool $not - * @return $this - * @static - */ - public static function whereNull($column, $boolean = 'and', $not = false) - { - return \Illuminate\Database\Query\Builder::whereNull($column, $boolean, $not); - } - - /** - * Add an "or where null" clause to the query. - * - * @param string $column - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function orWhereNull($column) - { - return \Illuminate\Database\Query\Builder::orWhereNull($column); - } - - /** - * Add a "where not null" clause to the query. - * - * @param string $column - * @param string $boolean - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function whereNotNull($column, $boolean = 'and') - { - return \Illuminate\Database\Query\Builder::whereNotNull($column, $boolean); - } - - /** - * Add a where between statement to the query. - * - * @param string $column - * @param array $values - * @param string $boolean - * @param bool $not - * @return $this - * @static - */ - public static function whereBetween($column, $values, $boolean = 'and', $not = false) - { - return \Illuminate\Database\Query\Builder::whereBetween($column, $values, $boolean, $not); - } - - /** - * Add an or where between statement to the query. - * - * @param string $column - * @param array $values - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function orWhereBetween($column, $values) - { - return \Illuminate\Database\Query\Builder::orWhereBetween($column, $values); - } - - /** - * Add a where not between statement to the query. - * - * @param string $column - * @param array $values - * @param string $boolean - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function whereNotBetween($column, $values, $boolean = 'and') - { - return \Illuminate\Database\Query\Builder::whereNotBetween($column, $values, $boolean); - } - - /** - * Add an or where not between statement to the query. - * - * @param string $column - * @param array $values - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function orWhereNotBetween($column, $values) - { - return \Illuminate\Database\Query\Builder::orWhereNotBetween($column, $values); - } - - /** - * Add an "or where not null" clause to the query. - * - * @param string $column - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function orWhereNotNull($column) - { - return \Illuminate\Database\Query\Builder::orWhereNotNull($column); - } - - /** - * Add a "where date" statement to the query. - * - * @param string $column - * @param string $operator - * @param mixed $value - * @param string $boolean - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function whereDate($column, $operator, $value = null, $boolean = 'and') - { - return \Illuminate\Database\Query\Builder::whereDate($column, $operator, $value, $boolean); - } - - /** - * Add an "or where date" statement to the query. - * - * @param string $column - * @param string $operator - * @param string $value - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function orWhereDate($column, $operator, $value) - { - return \Illuminate\Database\Query\Builder::orWhereDate($column, $operator, $value); - } - - /** - * Add a "where time" statement to the query. - * - * @param string $column - * @param string $operator - * @param int $value - * @param string $boolean - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function whereTime($column, $operator, $value, $boolean = 'and') - { - return \Illuminate\Database\Query\Builder::whereTime($column, $operator, $value, $boolean); - } - - /** - * Add an "or where time" statement to the query. - * - * @param string $column - * @param string $operator - * @param int $value - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function orWhereTime($column, $operator, $value) - { - return \Illuminate\Database\Query\Builder::orWhereTime($column, $operator, $value); - } - - /** - * Add a "where day" statement to the query. - * - * @param string $column - * @param string $operator - * @param mixed $value - * @param string $boolean - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function whereDay($column, $operator, $value = null, $boolean = 'and') - { - return \Illuminate\Database\Query\Builder::whereDay($column, $operator, $value, $boolean); - } - - /** - * Add a "where month" statement to the query. - * - * @param string $column - * @param string $operator - * @param mixed $value - * @param string $boolean - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function whereMonth($column, $operator, $value = null, $boolean = 'and') - { - return \Illuminate\Database\Query\Builder::whereMonth($column, $operator, $value, $boolean); - } - - /** - * Add a "where year" statement to the query. - * - * @param string $column - * @param string $operator - * @param mixed $value - * @param string $boolean - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function whereYear($column, $operator, $value = null, $boolean = 'and') - { - return \Illuminate\Database\Query\Builder::whereYear($column, $operator, $value, $boolean); - } - - /** - * Add a nested where statement to the query. - * - * @param \Closure $callback - * @param string $boolean - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function whereNested($callback, $boolean = 'and') - { - return \Illuminate\Database\Query\Builder::whereNested($callback, $boolean); - } - - /** - * Create a new query instance for nested where condition. - * - * @return \Illuminate\Database\Query\Builder - * @static - */ - public static function forNestedWhere() - { - return \Illuminate\Database\Query\Builder::forNestedWhere(); - } - - /** - * Add another query builder as a nested where to the query builder. - * - * @param \Illuminate\Database\Query\Builder|static $query - * @param string $boolean - * @return $this - * @static - */ - public static function addNestedWhereQuery($query, $boolean = 'and') - { - return \Illuminate\Database\Query\Builder::addNestedWhereQuery($query, $boolean); - } - - /** - * Add an exists clause to the query. - * - * @param \Closure $callback - * @param string $boolean - * @param bool $not - * @return $this - * @static - */ - public static function whereExists($callback, $boolean = 'and', $not = false) - { - return \Illuminate\Database\Query\Builder::whereExists($callback, $boolean, $not); - } - - /** - * Add an or exists clause to the query. - * - * @param \Closure $callback - * @param bool $not - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function orWhereExists($callback, $not = false) - { - return \Illuminate\Database\Query\Builder::orWhereExists($callback, $not); - } - - /** - * Add a where not exists clause to the query. - * - * @param \Closure $callback - * @param string $boolean - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function whereNotExists($callback, $boolean = 'and') - { - return \Illuminate\Database\Query\Builder::whereNotExists($callback, $boolean); - } - - /** - * Add a where not exists clause to the query. - * - * @param \Closure $callback - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function orWhereNotExists($callback) - { - return \Illuminate\Database\Query\Builder::orWhereNotExists($callback); - } - - /** - * Add an exists clause to the query. - * - * @param \Illuminate\Database\Query\Builder $query - * @param string $boolean - * @param bool $not - * @return $this - * @static - */ - public static function addWhereExistsQuery($query, $boolean = 'and', $not = false) - { - return \Illuminate\Database\Query\Builder::addWhereExistsQuery($query, $boolean, $not); - } - - /** - * Handles dynamic "where" clauses to the query. - * - * @param string $method - * @param string $parameters - * @return $this - * @static - */ - public static function dynamicWhere($method, $parameters) - { - return \Illuminate\Database\Query\Builder::dynamicWhere($method, $parameters); - } - - /** - * Add a "group by" clause to the query. - * - * @param array $groups - * @return $this - * @static - */ - public static function groupBy($groups = null) - { - return \Illuminate\Database\Query\Builder::groupBy($groups); - } - - /** - * Add a "having" clause to the query. - * - * @param string $column - * @param string $operator - * @param string $value - * @param string $boolean - * @return $this - * @static - */ - public static function having($column, $operator = null, $value = null, $boolean = 'and') - { - return \Illuminate\Database\Query\Builder::having($column, $operator, $value, $boolean); - } - - /** - * Add a "or having" clause to the query. - * - * @param string $column - * @param string $operator - * @param string $value - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function orHaving($column, $operator = null, $value = null) - { - return \Illuminate\Database\Query\Builder::orHaving($column, $operator, $value); - } - - /** - * Add a raw having clause to the query. - * - * @param string $sql - * @param array $bindings - * @param string $boolean - * @return $this - * @static - */ - public static function havingRaw($sql, $bindings = [], $boolean = 'and') - { - return \Illuminate\Database\Query\Builder::havingRaw($sql, $bindings, $boolean); - } - - /** - * Add a raw or having clause to the query. - * - * @param string $sql - * @param array $bindings - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function orHavingRaw($sql, $bindings = []) - { - return \Illuminate\Database\Query\Builder::orHavingRaw($sql, $bindings); - } - - /** - * Add an "order by" clause to the query. - * - * @param string $column - * @param string $direction - * @return $this - * @static - */ - public static function orderBy($column, $direction = 'asc') - { - return \Illuminate\Database\Query\Builder::orderBy($column, $direction); - } - - /** - * Add an "order by" clause for a timestamp to the query. - * - * @param string $column - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function latest($column = 'created_at') - { - return \Illuminate\Database\Query\Builder::latest($column); - } - - /** - * Add an "order by" clause for a timestamp to the query. - * - * @param string $column - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function oldest($column = 'created_at') - { - return \Illuminate\Database\Query\Builder::oldest($column); - } - - /** - * Put the query's results in random order. - * - * @param string $seed - * @return $this - * @static - */ - public static function inRandomOrder($seed = '') - { - return \Illuminate\Database\Query\Builder::inRandomOrder($seed); - } - - /** - * Add a raw "order by" clause to the query. - * - * @param string $sql - * @param array $bindings - * @return $this - * @static - */ - public static function orderByRaw($sql, $bindings = []) - { - return \Illuminate\Database\Query\Builder::orderByRaw($sql, $bindings); - } - - /** - * Alias to set the "offset" value of the query. - * - * @param int $value - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function skip($value) - { - return \Illuminate\Database\Query\Builder::skip($value); - } - - /** - * Set the "offset" value of the query. - * - * @param int $value - * @return $this - * @static - */ - public static function offset($value) - { - return \Illuminate\Database\Query\Builder::offset($value); - } - - /** - * Alias to set the "limit" value of the query. - * - * @param int $value - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function take($value) - { - return \Illuminate\Database\Query\Builder::take($value); - } - - /** - * Set the "limit" value of the query. - * - * @param int $value - * @return $this - * @static - */ - public static function limit($value) - { - return \Illuminate\Database\Query\Builder::limit($value); - } - - /** - * Set the limit and offset for a given page. - * - * @param int $page - * @param int $perPage - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function forPage($page, $perPage = 15) - { - return \Illuminate\Database\Query\Builder::forPage($page, $perPage); - } - - /** - * Constrain the query to the next "page" of results after a given ID. - * - * @param int $perPage - * @param int $lastId - * @param string $column - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function forPageAfterId($perPage = 15, $lastId = 0, $column = 'id') - { - return \Illuminate\Database\Query\Builder::forPageAfterId($perPage, $lastId, $column); - } - - /** - * Add a union statement to the query. - * - * @param \Illuminate\Database\Query\Builder|\Closure $query - * @param bool $all - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function union($query, $all = false) - { - return \Illuminate\Database\Query\Builder::union($query, $all); - } - - /** - * Add a union all statement to the query. - * - * @param \Illuminate\Database\Query\Builder|\Closure $query - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function unionAll($query) - { - return \Illuminate\Database\Query\Builder::unionAll($query); - } - - /** - * Lock the selected rows in the table. - * - * @param string|bool $value - * @return $this - * @static - */ - public static function lock($value = true) - { - return \Illuminate\Database\Query\Builder::lock($value); - } - - /** - * Lock the selected rows in the table for updating. - * - * @return \Illuminate\Database\Query\Builder - * @static - */ - public static function lockForUpdate() - { - return \Illuminate\Database\Query\Builder::lockForUpdate(); - } - - /** - * Share lock the selected rows in the table. - * - * @return \Illuminate\Database\Query\Builder - * @static - */ - public static function sharedLock() - { - return \Illuminate\Database\Query\Builder::sharedLock(); - } - - /** - * Get the SQL representation of the query. - * - * @return string - * @static - */ - public static function toSql() - { - return \Illuminate\Database\Query\Builder::toSql(); - } - - /** - * Get the count of the total records for the paginator. - * - * @param array $columns - * @return int - * @static - */ - public static function getCountForPagination($columns = []) - { - return \Illuminate\Database\Query\Builder::getCountForPagination($columns); - } - - /** - * Concatenate values of a given column as a string. - * - * @param string $column - * @param string $glue - * @return string - * @static - */ - public static function implode($column, $glue = '') - { - return \Illuminate\Database\Query\Builder::implode($column, $glue); - } - - /** - * Determine if any rows exist for the current query. - * - * @return bool - * @static - */ - public static function exists() - { - return \Illuminate\Database\Query\Builder::exists(); - } - - /** - * Retrieve the "count" result of the query. - * - * @param string $columns - * @return int - * @static - */ - public static function count($columns = '*') - { - return \Illuminate\Database\Query\Builder::count($columns); - } - - /** - * Retrieve the minimum value of a given column. - * - * @param string $column - * @return mixed - * @static - */ - public static function min($column) - { - return \Illuminate\Database\Query\Builder::min($column); - } - - /** - * Retrieve the maximum value of a given column. - * - * @param string $column - * @return mixed - * @static - */ - public static function max($column) - { - return \Illuminate\Database\Query\Builder::max($column); - } - - /** - * Retrieve the sum of the values of a given column. - * - * @param string $column - * @return mixed - * @static - */ - public static function sum($column) - { - return \Illuminate\Database\Query\Builder::sum($column); - } - - /** - * Retrieve the average of the values of a given column. - * - * @param string $column - * @return mixed - * @static - */ - public static function avg($column) - { - return \Illuminate\Database\Query\Builder::avg($column); - } - - /** - * Alias for the "avg" method. - * - * @param string $column - * @return mixed - * @static - */ - public static function average($column) - { - return \Illuminate\Database\Query\Builder::average($column); - } - - /** - * Execute an aggregate function on the database. - * - * @param string $function - * @param array $columns - * @return mixed - * @static - */ - public static function aggregate($function, $columns = []) - { - return \Illuminate\Database\Query\Builder::aggregate($function, $columns); - } - - /** - * Execute a numeric aggregate function on the database. - * - * @param string $function - * @param array $columns - * @return float|int - * @static - */ - public static function numericAggregate($function, $columns = []) - { - return \Illuminate\Database\Query\Builder::numericAggregate($function, $columns); - } - - /** - * Insert a new record into the database. - * - * @param array $values - * @return bool - * @static - */ - public static function insert($values) - { - return \Illuminate\Database\Query\Builder::insert($values); - } - - /** - * Insert a new record and get the value of the primary key. - * - * @param array $values - * @param string $sequence - * @return int - * @static - */ - public static function insertGetId($values, $sequence = null) - { - return \Illuminate\Database\Query\Builder::insertGetId($values, $sequence); - } - - /** - * Insert or update a record matching the attributes, and fill it with values. - * - * @param array $attributes - * @param array $values - * @return bool - * @static - */ - public static function updateOrInsert($attributes, $values = []) - { - return \Illuminate\Database\Query\Builder::updateOrInsert($attributes, $values); - } - - /** - * Run a truncate statement on the table. - * - * @return void - * @static - */ - public static function truncate() - { - \Illuminate\Database\Query\Builder::truncate(); - } - - /** - * Create a raw database expression. - * - * @param mixed $value - * @return \Illuminate\Database\Query\Expression - * @static - */ - public static function raw($value) - { - return \Illuminate\Database\Query\Builder::raw($value); - } - - /** - * Get the current query value bindings in a flattened array. - * - * @return array - * @static - */ - public static function getBindings() - { - return \Illuminate\Database\Query\Builder::getBindings(); - } - - /** - * Get the raw array of bindings. - * - * @return array - * @static - */ - public static function getRawBindings() - { - return \Illuminate\Database\Query\Builder::getRawBindings(); - } - - /** - * Set the bindings on the query builder. - * - * @param array $bindings - * @param string $type - * @return $this - * @throws \InvalidArgumentException - * @static - */ - public static function setBindings($bindings, $type = 'where') - { - return \Illuminate\Database\Query\Builder::setBindings($bindings, $type); - } - - /** - * Add a binding to the query. - * - * @param mixed $value - * @param string $type - * @return $this - * @throws \InvalidArgumentException - * @static - */ - public static function addBinding($value, $type = 'where') - { - return \Illuminate\Database\Query\Builder::addBinding($value, $type); - } - - /** - * Merge an array of bindings into our bindings. - * - * @param \Illuminate\Database\Query\Builder $query - * @return $this - * @static - */ - public static function mergeBindings($query) - { - return \Illuminate\Database\Query\Builder::mergeBindings($query); - } - - /** - * Get the database query processor instance. - * - * @return \Illuminate\Database\Query\Processors\Processor - * @static - */ - public static function getProcessor() - { - return \Illuminate\Database\Query\Builder::getProcessor(); - } - - /** - * Get the query grammar instance. - * - * @return \Illuminate\Database\Query\Grammars\Grammar - * @static - */ - public static function getGrammar() - { - return \Illuminate\Database\Query\Builder::getGrammar(); - } - - /** - * Use the write pdo for query. - * - * @return $this - * @static - */ - public static function useWritePdo() - { - return \Illuminate\Database\Query\Builder::useWritePdo(); - } - - /** - * Clone the query without the given properties. - * - * @param array $except - * @return static - * @static - */ - public static function cloneWithout($except) - { - return \Illuminate\Database\Query\Builder::cloneWithout($except); - } - - /** - * Clone the query without the given bindings. - * - * @param array $except - * @return static - * @static - */ - public static function cloneWithoutBindings($except) - { - return \Illuminate\Database\Query\Builder::cloneWithoutBindings($except); - } - - /** - * Checks if macro is registered. - * - * @param string $name - * @return bool - * @static - */ - public static function hasMacro($name) - { - return \Illuminate\Database\Query\Builder::hasMacro($name); - } - - /** - * Dynamically handle calls to the class. - * - * @param string $method - * @param array $parameters - * @return mixed - * @throws \BadMethodCallException - * @static - */ - public static function macroCall($method, $parameters) - { - return \Illuminate\Database\Query\Builder::macroCall($method, $parameters); - } - } - - - class Event extends \Illuminate\Support\Facades\Event - { + } + /** + * + * + * @see \Illuminate\Events\Dispatcher + * @see \Illuminate\Support\Testing\Fakes\EventFake + */ + class Event { /** * Register an event listener with the dispatcher. * - * @param string|array $events - * @param mixed $listener - * @return void - * @static + * @param \Illuminate\Events\Queued\Closure|callable|array|class-string|string $events + * @param \Illuminate\Events\Queued\Closure|callable|array|class-string|null $listener + * @return void + * @static */ - public static function listen($events, $listener) + public static function listen($events, $listener = null) { - \Illuminate\Events\Dispatcher::listen($events, $listener); + /** @var \Illuminate\Events\Dispatcher $instance */ + $instance->listen($events, $listener); } /** * Determine if a given event has listeners. * * @param string $eventName - * @return bool - * @static + * @return bool + * @static */ public static function hasListeners($eventName) { - return \Illuminate\Events\Dispatcher::hasListeners($eventName); + /** @var \Illuminate\Events\Dispatcher $instance */ + return $instance->hasListeners($eventName); + } + + /** + * Determine if the given event has any wildcard listeners. + * + * @param string $eventName + * @return bool + * @static + */ + public static function hasWildcardListeners($eventName) + { + /** @var \Illuminate\Events\Dispatcher $instance */ + return $instance->hasWildcardListeners($eventName); } /** * Register an event and payload to be fired later. * * @param string $event - * @param array $payload - * @return void - * @static + * @param object|array $payload + * @return void + * @static */ public static function push($event, $payload = []) { - \Illuminate\Events\Dispatcher::push($event, $payload); + /** @var \Illuminate\Events\Dispatcher $instance */ + $instance->push($event, $payload); } /** * Flush a set of pushed events. * * @param string $event - * @return void - * @static + * @return void + * @static */ public static function flush($event) { - \Illuminate\Events\Dispatcher::flush($event); + /** @var \Illuminate\Events\Dispatcher $instance */ + $instance->flush($event); } /** * Register an event subscriber with the dispatcher. * * @param object|string $subscriber - * @return void - * @static + * @return void + * @static */ public static function subscribe($subscriber) { - \Illuminate\Events\Dispatcher::subscribe($subscriber); + /** @var \Illuminate\Events\Dispatcher $instance */ + $instance->subscribe($subscriber); } /** @@ -5831,12 +8189,13 @@ namespace { * * @param string|object $event * @param mixed $payload - * @return array|null - * @static + * @return mixed + * @static */ public static function until($event, $payload = []) { - return \Illuminate\Events\Dispatcher::until($event, $payload); + /** @var \Illuminate\Events\Dispatcher $instance */ + return $instance->until($event, $payload); } /** @@ -5845,51 +8204,40 @@ namespace { * @param string|object $event * @param mixed $payload * @param bool $halt - * @return array|null - * @static - */ - public static function fire($event, $payload = [], $halt = false) - { - return \Illuminate\Events\Dispatcher::fire($event, $payload, $halt); - } - - /** - * Fire an event and call the listeners. - * - * @param string|object $event - * @param mixed $payload - * @param bool $halt - * @return array|null - * @static + * @return array|null + * @static */ public static function dispatch($event, $payload = [], $halt = false) { - return \Illuminate\Events\Dispatcher::dispatch($event, $payload, $halt); + /** @var \Illuminate\Events\Dispatcher $instance */ + return $instance->dispatch($event, $payload, $halt); } /** * Get all of the listeners for a given event name. * * @param string $eventName - * @return array - * @static + * @return array + * @static */ public static function getListeners($eventName) { - return \Illuminate\Events\Dispatcher::getListeners($eventName); + /** @var \Illuminate\Events\Dispatcher $instance */ + return $instance->getListeners($eventName); } /** * Register an event listener with the dispatcher. * - * @param string|\Closure $listener + * @param \Closure|string|array $listener * @param bool $wildcard - * @return mixed - * @static + * @return \Closure + * @static */ public static function makeListener($listener, $wildcard = false) { - return \Illuminate\Events\Dispatcher::makeListener($listener, $wildcard); + /** @var \Illuminate\Events\Dispatcher $instance */ + return $instance->makeListener($listener, $wildcard); } /** @@ -5897,63 +8245,280 @@ namespace { * * @param string $listener * @param bool $wildcard - * @return \Closure - * @static + * @return \Closure + * @static */ public static function createClassListener($listener, $wildcard = false) { - return \Illuminate\Events\Dispatcher::createClassListener($listener, $wildcard); + /** @var \Illuminate\Events\Dispatcher $instance */ + return $instance->createClassListener($listener, $wildcard); } /** * Remove a set of listeners from the dispatcher. * * @param string $event - * @return void - * @static + * @return void + * @static */ public static function forget($event) { - \Illuminate\Events\Dispatcher::forget($event); + /** @var \Illuminate\Events\Dispatcher $instance */ + $instance->forget($event); } /** * Forget all of the pushed listeners. * - * @return void - * @static + * @return void + * @static */ public static function forgetPushed() { - \Illuminate\Events\Dispatcher::forgetPushed(); + /** @var \Illuminate\Events\Dispatcher $instance */ + $instance->forgetPushed(); } /** * Set the queue resolver implementation. * * @param callable $resolver - * @return $this - * @static + * @return \Illuminate\Events\Dispatcher + * @static */ public static function setQueueResolver($resolver) { - return \Illuminate\Events\Dispatcher::setQueueResolver($resolver); + /** @var \Illuminate\Events\Dispatcher $instance */ + return $instance->setQueueResolver($resolver); } - } + /** + * Set the database transaction manager resolver implementation. + * + * @param callable $resolver + * @return \Illuminate\Events\Dispatcher + * @static + */ + public static function setTransactionManagerResolver($resolver) + { + /** @var \Illuminate\Events\Dispatcher $instance */ + return $instance->setTransactionManagerResolver($resolver); + } - class File extends \Illuminate\Support\Facades\File - { + /** + * Gets the raw, unprepared listeners. + * + * @return array + * @static + */ + public static function getRawListeners() + { + /** @var \Illuminate\Events\Dispatcher $instance */ + return $instance->getRawListeners(); + } + + /** + * Register a custom macro. + * + * @param string $name + * @param object|callable $macro + * @param-closure-this static $macro + * @return void + * @static + */ + public static function macro($name, $macro) + { + \Illuminate\Events\Dispatcher::macro($name, $macro); + } + + /** + * Mix another object into the class. + * + * @param object $mixin + * @param bool $replace + * @return void + * @throws \ReflectionException + * @static + */ + public static function mixin($mixin, $replace = true) + { + \Illuminate\Events\Dispatcher::mixin($mixin, $replace); + } + + /** + * Checks if macro is registered. + * + * @param string $name + * @return bool + * @static + */ + public static function hasMacro($name) + { + return \Illuminate\Events\Dispatcher::hasMacro($name); + } + + /** + * Flush the existing macros. + * + * @return void + * @static + */ + public static function flushMacros() + { + \Illuminate\Events\Dispatcher::flushMacros(); + } + + /** + * Specify the events that should be dispatched instead of faked. + * + * @param array|string $eventsToDispatch + * @return \Illuminate\Support\Testing\Fakes\EventFake + * @static + */ + public static function except($eventsToDispatch) + { + /** @var \Illuminate\Support\Testing\Fakes\EventFake $instance */ + return $instance->except($eventsToDispatch); + } + + /** + * Assert if an event has a listener attached to it. + * + * @param string $expectedEvent + * @param string|array $expectedListener + * @return void + * @static + */ + public static function assertListening($expectedEvent, $expectedListener) + { + /** @var \Illuminate\Support\Testing\Fakes\EventFake $instance */ + $instance->assertListening($expectedEvent, $expectedListener); + } + + /** + * Assert if an event was dispatched based on a truth-test callback. + * + * @param string|\Closure $event + * @param callable|int|null $callback + * @return void + * @static + */ + public static function assertDispatched($event, $callback = null) + { + /** @var \Illuminate\Support\Testing\Fakes\EventFake $instance */ + $instance->assertDispatched($event, $callback); + } + + /** + * Assert if an event was dispatched a number of times. + * + * @param string $event + * @param int $times + * @return void + * @static + */ + public static function assertDispatchedTimes($event, $times = 1) + { + /** @var \Illuminate\Support\Testing\Fakes\EventFake $instance */ + $instance->assertDispatchedTimes($event, $times); + } + + /** + * Determine if an event was dispatched based on a truth-test callback. + * + * @param string|\Closure $event + * @param callable|null $callback + * @return void + * @static + */ + public static function assertNotDispatched($event, $callback = null) + { + /** @var \Illuminate\Support\Testing\Fakes\EventFake $instance */ + $instance->assertNotDispatched($event, $callback); + } + + /** + * Assert that no events were dispatched. + * + * @return void + * @static + */ + public static function assertNothingDispatched() + { + /** @var \Illuminate\Support\Testing\Fakes\EventFake $instance */ + $instance->assertNothingDispatched(); + } + + /** + * Get all of the events matching a truth-test callback. + * + * @param string $event + * @param callable|null $callback + * @return \Illuminate\Support\Collection + * @static + */ + public static function dispatched($event, $callback = null) + { + /** @var \Illuminate\Support\Testing\Fakes\EventFake $instance */ + return $instance->dispatched($event, $callback); + } + + /** + * Determine if the given event has been dispatched. + * + * @param string $event + * @return bool + * @static + */ + public static function hasDispatched($event) + { + /** @var \Illuminate\Support\Testing\Fakes\EventFake $instance */ + return $instance->hasDispatched($event); + } + + /** + * Get the events that have been dispatched. + * + * @return array + * @static + */ + public static function dispatchedEvents() + { + /** @var \Illuminate\Support\Testing\Fakes\EventFake $instance */ + return $instance->dispatchedEvents(); + } + + } + /** + * + * + * @see \Illuminate\Filesystem\Filesystem + */ + class File { /** * Determine if a file or directory exists. * * @param string $path - * @return bool - * @static + * @return bool + * @static */ public static function exists($path) { - return \Illuminate\Filesystem\Filesystem::exists($path); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->exists($path); + } + + /** + * Determine if a file or directory is missing. + * + * @param string $path + * @return bool + * @static + */ + public static function missing($path) + { + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->missing($path); } /** @@ -5961,50 +8526,101 @@ namespace { * * @param string $path * @param bool $lock - * @return string + * @return string * @throws \Illuminate\Contracts\Filesystem\FileNotFoundException - * @static + * @static */ public static function get($path, $lock = false) { - return \Illuminate\Filesystem\Filesystem::get($path, $lock); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->get($path, $lock); + } + + /** + * Get the contents of a file as decoded JSON. + * + * @param string $path + * @param int $flags + * @param bool $lock + * @return array + * @throws \Illuminate\Contracts\Filesystem\FileNotFoundException + * @static + */ + public static function json($path, $flags = 0, $lock = false) + { + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->json($path, $flags, $lock); } /** * Get contents of a file with shared access. * * @param string $path - * @return string - * @static + * @return string + * @static */ public static function sharedGet($path) { - return \Illuminate\Filesystem\Filesystem::sharedGet($path); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->sharedGet($path); } /** * Get the returned value of a file. * * @param string $path - * @return mixed + * @param array $data + * @return mixed * @throws \Illuminate\Contracts\Filesystem\FileNotFoundException - * @static + * @static */ - public static function getRequire($path) + public static function getRequire($path, $data = []) { - return \Illuminate\Filesystem\Filesystem::getRequire($path); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->getRequire($path, $data); } /** * Require the given file once. * - * @param string $file - * @return mixed - * @static + * @param string $path + * @param array $data + * @return mixed + * @throws \Illuminate\Contracts\Filesystem\FileNotFoundException + * @static */ - public static function requireOnce($file) + public static function requireOnce($path, $data = []) { - return \Illuminate\Filesystem\Filesystem::requireOnce($file); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->requireOnce($path, $data); + } + + /** + * Get the contents of a file one line at a time. + * + * @param string $path + * @return \Illuminate\Support\LazyCollection + * @throws \Illuminate\Contracts\Filesystem\FileNotFoundException + * @static + */ + public static function lines($path) + { + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->lines($path); + } + + /** + * Get the hash of the file at the given path. + * + * @param string $path + * @param string $algorithm + * @return string|false + * @static + */ + public static function hash($path, $algorithm = 'md5') + { + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->hash($path, $algorithm); } /** @@ -6013,12 +8629,43 @@ namespace { * @param string $path * @param string $contents * @param bool $lock - * @return int - * @static + * @return int|bool + * @static */ public static function put($path, $contents, $lock = false) { - return \Illuminate\Filesystem\Filesystem::put($path, $contents, $lock); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->put($path, $contents, $lock); + } + + /** + * Write the contents of a file, replacing it atomically if it already exists. + * + * @param string $path + * @param string $content + * @param int|null $mode + * @return void + * @static + */ + public static function replace($path, $content, $mode = null) + { + /** @var \Illuminate\Filesystem\Filesystem $instance */ + $instance->replace($path, $content, $mode); + } + + /** + * Replace a given string within a given file. + * + * @param array|string $search + * @param array|string $replace + * @param string $path + * @return void + * @static + */ + public static function replaceInFile($search, $replace, $path) + { + /** @var \Illuminate\Filesystem\Filesystem $instance */ + $instance->replaceInFile($search, $replace, $path); } /** @@ -6026,12 +8673,13 @@ namespace { * * @param string $path * @param string $data - * @return int - * @static + * @return int + * @static */ public static function prepend($path, $data) { - return \Illuminate\Filesystem\Filesystem::prepend($path, $data); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->prepend($path, $data); } /** @@ -6039,37 +8687,41 @@ namespace { * * @param string $path * @param string $data - * @return int - * @static + * @param bool $lock + * @return int + * @static */ - public static function append($path, $data) + public static function append($path, $data, $lock = false) { - return \Illuminate\Filesystem\Filesystem::append($path, $data); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->append($path, $data, $lock); } /** * Get or set UNIX mode of a file or directory. * * @param string $path - * @param int $mode - * @return mixed - * @static + * @param int|null $mode + * @return mixed + * @static */ public static function chmod($path, $mode = null) { - return \Illuminate\Filesystem\Filesystem::chmod($path, $mode); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->chmod($path, $mode); } /** * Delete the file at a given path. * * @param string|array $paths - * @return bool - * @static + * @return bool + * @static */ public static function delete($paths) { - return \Illuminate\Filesystem\Filesystem::delete($paths); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->delete($paths); } /** @@ -6077,12 +8729,13 @@ namespace { * * @param string $path * @param string $target - * @return bool - * @static + * @return bool + * @static */ public static function move($path, $target) { - return \Illuminate\Filesystem\Filesystem::move($path, $target); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->move($path, $target); } /** @@ -6090,169 +8743,240 @@ namespace { * * @param string $path * @param string $target - * @return bool - * @static + * @return bool + * @static */ public static function copy($path, $target) { - return \Illuminate\Filesystem\Filesystem::copy($path, $target); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->copy($path, $target); } /** - * Create a hard link to the target file or directory. + * Create a symlink to the target file or directory. On Windows, a hard link is created if the target is a file. * * @param string $target * @param string $link - * @return void - * @static + * @return bool|null + * @static */ public static function link($target, $link) { - \Illuminate\Filesystem\Filesystem::link($target, $link); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->link($target, $link); + } + + /** + * Create a relative symlink to the target file or directory. + * + * @param string $target + * @param string $link + * @return void + * @throws \RuntimeException + * @static + */ + public static function relativeLink($target, $link) + { + /** @var \Illuminate\Filesystem\Filesystem $instance */ + $instance->relativeLink($target, $link); } /** * Extract the file name from a file path. * * @param string $path - * @return string - * @static + * @return string + * @static */ public static function name($path) { - return \Illuminate\Filesystem\Filesystem::name($path); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->name($path); } /** * Extract the trailing name component from a file path. * * @param string $path - * @return string - * @static + * @return string + * @static */ public static function basename($path) { - return \Illuminate\Filesystem\Filesystem::basename($path); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->basename($path); } /** * Extract the parent directory from a file path. * * @param string $path - * @return string - * @static + * @return string + * @static */ public static function dirname($path) { - return \Illuminate\Filesystem\Filesystem::dirname($path); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->dirname($path); } /** * Extract the file extension from a file path. * * @param string $path - * @return string - * @static + * @return string + * @static */ public static function extension($path) { - return \Illuminate\Filesystem\Filesystem::extension($path); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->extension($path); + } + + /** + * Guess the file extension from the mime-type of a given file. + * + * @param string $path + * @return string|null + * @throws \RuntimeException + * @static + */ + public static function guessExtension($path) + { + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->guessExtension($path); } /** * Get the file type of a given file. * * @param string $path - * @return string - * @static + * @return string + * @static */ public static function type($path) { - return \Illuminate\Filesystem\Filesystem::type($path); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->type($path); } /** * Get the mime-type of a given file. * * @param string $path - * @return string|false - * @static + * @return string|false + * @static */ public static function mimeType($path) { - return \Illuminate\Filesystem\Filesystem::mimeType($path); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->mimeType($path); } /** * Get the file size of a given file. * * @param string $path - * @return int - * @static + * @return int + * @static */ public static function size($path) { - return \Illuminate\Filesystem\Filesystem::size($path); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->size($path); } /** * Get the file's last modification time. * * @param string $path - * @return int - * @static + * @return int + * @static */ public static function lastModified($path) { - return \Illuminate\Filesystem\Filesystem::lastModified($path); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->lastModified($path); } /** * Determine if the given path is a directory. * * @param string $directory - * @return bool - * @static + * @return bool + * @static */ public static function isDirectory($directory) { - return \Illuminate\Filesystem\Filesystem::isDirectory($directory); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->isDirectory($directory); + } + + /** + * Determine if the given path is a directory that does not contain any other files or directories. + * + * @param string $directory + * @param bool $ignoreDotFiles + * @return bool + * @static + */ + public static function isEmptyDirectory($directory, $ignoreDotFiles = false) + { + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->isEmptyDirectory($directory, $ignoreDotFiles); } /** * Determine if the given path is readable. * * @param string $path - * @return bool - * @static + * @return bool + * @static */ public static function isReadable($path) { - return \Illuminate\Filesystem\Filesystem::isReadable($path); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->isReadable($path); } /** * Determine if the given path is writable. * * @param string $path - * @return bool - * @static + * @return bool + * @static */ public static function isWritable($path) { - return \Illuminate\Filesystem\Filesystem::isWritable($path); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->isWritable($path); + } + + /** + * Determine if two files are the same by comparing their hashes. + * + * @param string $firstFile + * @param string $secondFile + * @return bool + * @static + */ + public static function hasSameHash($firstFile, $secondFile) + { + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->hasSameHash($firstFile, $secondFile); } /** * Determine if the given path is a file. * * @param string $file - * @return bool - * @static + * @return bool + * @static */ public static function isFile($file) { - return \Illuminate\Filesystem\Filesystem::isFile($file); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->isFile($file); } /** @@ -6260,24 +8984,27 @@ namespace { * * @param string $pattern * @param int $flags - * @return array - * @static + * @return array + * @static */ public static function glob($pattern, $flags = 0) { - return \Illuminate\Filesystem\Filesystem::glob($pattern, $flags); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->glob($pattern, $flags); } /** * Get an array of all files in a directory. * * @param string $directory - * @return array - * @static + * @param bool $hidden + * @return \Symfony\Component\Finder\SplFileInfo[] + * @static */ - public static function files($directory) + public static function files($directory, $hidden = false) { - return \Illuminate\Filesystem\Filesystem::files($directory); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->files($directory, $hidden); } /** @@ -6285,24 +9012,41 @@ namespace { * * @param string $directory * @param bool $hidden - * @return array - * @static + * @return \Symfony\Component\Finder\SplFileInfo[] + * @static */ public static function allFiles($directory, $hidden = false) { - return \Illuminate\Filesystem\Filesystem::allFiles($directory, $hidden); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->allFiles($directory, $hidden); } /** * Get all of the directories within a given directory. * * @param string $directory - * @return array - * @static + * @return array + * @static */ public static function directories($directory) { - return \Illuminate\Filesystem\Filesystem::directories($directory); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->directories($directory); + } + + /** + * Ensure a directory exists. + * + * @param string $path + * @param int $mode + * @param bool $recursive + * @return void + * @static + */ + public static function ensureDirectoryExists($path, $mode = 493, $recursive = true) + { + /** @var \Illuminate\Filesystem\Filesystem $instance */ + $instance->ensureDirectoryExists($path, $mode, $recursive); } /** @@ -6312,12 +9056,13 @@ namespace { * @param int $mode * @param bool $recursive * @param bool $force - * @return bool - * @static + * @return bool + * @static */ public static function makeDirectory($path, $mode = 493, $recursive = false, $force = false) { - return \Illuminate\Filesystem\Filesystem::makeDirectory($path, $mode, $recursive, $force); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->makeDirectory($path, $mode, $recursive, $force); } /** @@ -6326,12 +9071,13 @@ namespace { * @param string $from * @param string $to * @param bool $overwrite - * @return bool - * @static + * @return bool + * @static */ public static function moveDirectory($from, $to, $overwrite = false) { - return \Illuminate\Filesystem\Filesystem::moveDirectory($from, $to, $overwrite); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->moveDirectory($from, $to, $overwrite); } /** @@ -6339,95 +9085,223 @@ namespace { * * @param string $directory * @param string $destination - * @param int $options - * @return bool - * @static + * @param int|null $options + * @return bool + * @static */ public static function copyDirectory($directory, $destination, $options = null) { - return \Illuminate\Filesystem\Filesystem::copyDirectory($directory, $destination, $options); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->copyDirectory($directory, $destination, $options); } /** * Recursively delete a directory. - * + * * The directory itself may be optionally preserved. * * @param string $directory * @param bool $preserve - * @return bool - * @static + * @return bool + * @static */ public static function deleteDirectory($directory, $preserve = false) { - return \Illuminate\Filesystem\Filesystem::deleteDirectory($directory, $preserve); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->deleteDirectory($directory, $preserve); + } + + /** + * Remove all of the directories within a given directory. + * + * @param string $directory + * @return bool + * @static + */ + public static function deleteDirectories($directory) + { + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->deleteDirectories($directory); } /** * Empty the specified directory of all files and folders. * * @param string $directory - * @return bool - * @static + * @return bool + * @static */ public static function cleanDirectory($directory) { - return \Illuminate\Filesystem\Filesystem::cleanDirectory($directory); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->cleanDirectory($directory); + } + + /** + * Apply the callback if the given "value" is (or resolves to) truthy. + * + * @template TWhenParameter + * @template TWhenReturnType + * @param (\Closure($this): TWhenParameter)|TWhenParameter|null $value + * @param (callable($this, TWhenParameter): TWhenReturnType)|null $callback + * @param (callable($this, TWhenParameter): TWhenReturnType)|null $default + * @return $this|TWhenReturnType + * @static + */ + public static function when($value = null, $callback = null, $default = null) + { + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->when($value, $callback, $default); + } + + /** + * Apply the callback if the given "value" is (or resolves to) falsy. + * + * @template TUnlessParameter + * @template TUnlessReturnType + * @param (\Closure($this): TUnlessParameter)|TUnlessParameter|null $value + * @param (callable($this, TUnlessParameter): TUnlessReturnType)|null $callback + * @param (callable($this, TUnlessParameter): TUnlessReturnType)|null $default + * @return $this|TUnlessReturnType + * @static + */ + public static function unless($value = null, $callback = null, $default = null) + { + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->unless($value, $callback, $default); } /** * Register a custom macro. * * @param string $name - * @param callable $macro - * @return void - * @static + * @param object|callable $macro + * @param-closure-this static $macro + * @return void + * @static */ public static function macro($name, $macro) { \Illuminate\Filesystem\Filesystem::macro($name, $macro); } + /** + * Mix another object into the class. + * + * @param object $mixin + * @param bool $replace + * @return void + * @throws \ReflectionException + * @static + */ + public static function mixin($mixin, $replace = true) + { + \Illuminate\Filesystem\Filesystem::mixin($mixin, $replace); + } + /** * Checks if macro is registered. * * @param string $name - * @return bool - * @static + * @return bool + * @static */ public static function hasMacro($name) { return \Illuminate\Filesystem\Filesystem::hasMacro($name); } - } + /** + * Flush the existing macros. + * + * @return void + * @static + */ + public static function flushMacros() + { + \Illuminate\Filesystem\Filesystem::flushMacros(); + } - class Gate extends \Illuminate\Support\Facades\Gate - { + } + /** + * + * + * @see \Illuminate\Auth\Access\Gate + */ + class Gate { /** * Determine if a given ability has been defined. * - * @param string $ability - * @return bool - * @static + * @param string|array $ability + * @return bool + * @static */ public static function has($ability) { - return \Illuminate\Auth\Access\Gate::has($ability); + /** @var \Illuminate\Auth\Access\Gate $instance */ + return $instance->has($ability); + } + + /** + * Perform an on-demand authorization check. Throw an authorization exception if the condition or callback is false. + * + * @param \Illuminate\Auth\Access\Response|\Closure|bool $condition + * @param string|null $message + * @param string|null $code + * @return \Illuminate\Auth\Access\Response + * @throws \Illuminate\Auth\Access\AuthorizationException + * @static + */ + public static function allowIf($condition, $message = null, $code = null) + { + /** @var \Illuminate\Auth\Access\Gate $instance */ + return $instance->allowIf($condition, $message, $code); + } + + /** + * Perform an on-demand authorization check. Throw an authorization exception if the condition or callback is true. + * + * @param \Illuminate\Auth\Access\Response|\Closure|bool $condition + * @param string|null $message + * @param string|null $code + * @return \Illuminate\Auth\Access\Response + * @throws \Illuminate\Auth\Access\AuthorizationException + * @static + */ + public static function denyIf($condition, $message = null, $code = null) + { + /** @var \Illuminate\Auth\Access\Gate $instance */ + return $instance->denyIf($condition, $message, $code); } /** * Define a new ability. * - * @param string $ability - * @param callable|string $callback - * @return $this + * @param \BackedEnum|string $ability + * @param callable|array|string $callback + * @return \Illuminate\Auth\Access\Gate * @throws \InvalidArgumentException - * @static + * @static */ public static function define($ability, $callback) { - return \Illuminate\Auth\Access\Gate::define($ability, $callback); + /** @var \Illuminate\Auth\Access\Gate $instance */ + return $instance->define($ability, $callback); + } + + /** + * Define abilities for a resource. + * + * @param string $name + * @param string $class + * @param array|null $abilities + * @return \Illuminate\Auth\Access\Gate + * @static + */ + public static function resource($name, $class, $abilities = null) + { + /** @var \Illuminate\Auth\Access\Gate $instance */ + return $instance->resource($name, $class, $abilities); } /** @@ -6435,143 +9309,356 @@ namespace { * * @param string $class * @param string $policy - * @return $this - * @static + * @return \Illuminate\Auth\Access\Gate + * @static */ public static function policy($class, $policy) { - return \Illuminate\Auth\Access\Gate::policy($class, $policy); + /** @var \Illuminate\Auth\Access\Gate $instance */ + return $instance->policy($class, $policy); } /** * Register a callback to run before all Gate checks. * * @param callable $callback - * @return $this - * @static + * @return \Illuminate\Auth\Access\Gate + * @static */ public static function before($callback) { - return \Illuminate\Auth\Access\Gate::before($callback); + /** @var \Illuminate\Auth\Access\Gate $instance */ + return $instance->before($callback); } /** * Register a callback to run after all Gate checks. * * @param callable $callback - * @return $this - * @static + * @return \Illuminate\Auth\Access\Gate + * @static */ public static function after($callback) { - return \Illuminate\Auth\Access\Gate::after($callback); + /** @var \Illuminate\Auth\Access\Gate $instance */ + return $instance->after($callback); } /** - * Determine if the given ability should be granted for the current user. + * Determine if all of the given abilities should be granted for the current user. * - * @param string $ability + * @param iterable|\BackedEnum|string $ability * @param array|mixed $arguments - * @return bool - * @static + * @return bool + * @static */ public static function allows($ability, $arguments = []) { - return \Illuminate\Auth\Access\Gate::allows($ability, $arguments); + /** @var \Illuminate\Auth\Access\Gate $instance */ + return $instance->allows($ability, $arguments); } /** - * Determine if the given ability should be denied for the current user. + * Determine if any of the given abilities should be denied for the current user. * - * @param string $ability + * @param iterable|\BackedEnum|string $ability * @param array|mixed $arguments - * @return bool - * @static + * @return bool + * @static */ public static function denies($ability, $arguments = []) { - return \Illuminate\Auth\Access\Gate::denies($ability, $arguments); + /** @var \Illuminate\Auth\Access\Gate $instance */ + return $instance->denies($ability, $arguments); } /** - * Determine if the given ability should be granted for the current user. + * Determine if all of the given abilities should be granted for the current user. * - * @param string $ability + * @param iterable|\BackedEnum|string $abilities * @param array|mixed $arguments - * @return bool - * @static + * @return bool + * @static */ - public static function check($ability, $arguments = []) + public static function check($abilities, $arguments = []) { - return \Illuminate\Auth\Access\Gate::check($ability, $arguments); + /** @var \Illuminate\Auth\Access\Gate $instance */ + return $instance->check($abilities, $arguments); + } + + /** + * Determine if any one of the given abilities should be granted for the current user. + * + * @param iterable|\BackedEnum|string $abilities + * @param array|mixed $arguments + * @return bool + * @static + */ + public static function any($abilities, $arguments = []) + { + /** @var \Illuminate\Auth\Access\Gate $instance */ + return $instance->any($abilities, $arguments); + } + + /** + * Determine if all of the given abilities should be denied for the current user. + * + * @param iterable|\BackedEnum|string $abilities + * @param array|mixed $arguments + * @return bool + * @static + */ + public static function none($abilities, $arguments = []) + { + /** @var \Illuminate\Auth\Access\Gate $instance */ + return $instance->none($abilities, $arguments); } /** * Determine if the given ability should be granted for the current user. * - * @param string $ability + * @param \BackedEnum|string $ability * @param array|mixed $arguments - * @return \Illuminate\Auth\Access\Response + * @return \Illuminate\Auth\Access\Response * @throws \Illuminate\Auth\Access\AuthorizationException - * @static + * @static */ public static function authorize($ability, $arguments = []) { - return \Illuminate\Auth\Access\Gate::authorize($ability, $arguments); + /** @var \Illuminate\Auth\Access\Gate $instance */ + return $instance->authorize($ability, $arguments); + } + + /** + * Inspect the user for the given ability. + * + * @param \BackedEnum|string $ability + * @param array|mixed $arguments + * @return \Illuminate\Auth\Access\Response + * @static + */ + public static function inspect($ability, $arguments = []) + { + /** @var \Illuminate\Auth\Access\Gate $instance */ + return $instance->inspect($ability, $arguments); + } + + /** + * Get the raw result from the authorization callback. + * + * @param string $ability + * @param array|mixed $arguments + * @return mixed + * @throws \Illuminate\Auth\Access\AuthorizationException + * @static + */ + public static function raw($ability, $arguments = []) + { + /** @var \Illuminate\Auth\Access\Gate $instance */ + return $instance->raw($ability, $arguments); } /** * Get a policy instance for a given class. * * @param object|string $class - * @return mixed - * @static + * @return mixed + * @static */ public static function getPolicyFor($class) { - return \Illuminate\Auth\Access\Gate::getPolicyFor($class); + /** @var \Illuminate\Auth\Access\Gate $instance */ + return $instance->getPolicyFor($class); + } + + /** + * Specify a callback to be used to guess policy names. + * + * @param callable $callback + * @return \Illuminate\Auth\Access\Gate + * @static + */ + public static function guessPolicyNamesUsing($callback) + { + /** @var \Illuminate\Auth\Access\Gate $instance */ + return $instance->guessPolicyNamesUsing($callback); } /** * Build a policy class instance of the given type. * * @param object|string $class - * @return mixed - * @static + * @return mixed + * @throws \Illuminate\Contracts\Container\BindingResolutionException + * @static */ public static function resolvePolicy($class) { - return \Illuminate\Auth\Access\Gate::resolvePolicy($class); + /** @var \Illuminate\Auth\Access\Gate $instance */ + return $instance->resolvePolicy($class); } /** * Get a gate instance for the given user. * * @param \Illuminate\Contracts\Auth\Authenticatable|mixed $user - * @return static - * @static + * @return static + * @static */ public static function forUser($user) { - return \Illuminate\Auth\Access\Gate::forUser($user); + /** @var \Illuminate\Auth\Access\Gate $instance */ + return $instance->forUser($user); } - } + /** + * Get all of the defined abilities. + * + * @return array + * @static + */ + public static function abilities() + { + /** @var \Illuminate\Auth\Access\Gate $instance */ + return $instance->abilities(); + } + + /** + * Get all of the defined policies. + * + * @return array + * @static + */ + public static function policies() + { + /** @var \Illuminate\Auth\Access\Gate $instance */ + return $instance->policies(); + } + + /** + * Set the default denial response for gates and policies. + * + * @param \Illuminate\Auth\Access\Response $response + * @return \Illuminate\Auth\Access\Gate + * @static + */ + public static function defaultDenialResponse($response) + { + /** @var \Illuminate\Auth\Access\Gate $instance */ + return $instance->defaultDenialResponse($response); + } + + /** + * Set the container instance used by the gate. + * + * @param \Illuminate\Contracts\Container\Container $container + * @return \Illuminate\Auth\Access\Gate + * @static + */ + public static function setContainer($container) + { + /** @var \Illuminate\Auth\Access\Gate $instance */ + return $instance->setContainer($container); + } + + /** + * Deny with a HTTP status code. + * + * @param int $status + * @param string|null $message + * @param int|null $code + * @return \Illuminate\Auth\Access\Response + * @static + */ + public static function denyWithStatus($status, $message = null, $code = null) + { + /** @var \Illuminate\Auth\Access\Gate $instance */ + return $instance->denyWithStatus($status, $message, $code); + } + + /** + * Deny with a 404 HTTP status code. + * + * @param string|null $message + * @param int|null $code + * @return \Illuminate\Auth\Access\Response + * @static + */ + public static function denyAsNotFound($message = null, $code = null) + { + /** @var \Illuminate\Auth\Access\Gate $instance */ + return $instance->denyAsNotFound($message, $code); + } + + } + /** + * + * + * @see \Illuminate\Hashing\HashManager + * @see \Illuminate\Hashing\AbstractHasher + */ + class Hash { + /** + * Create an instance of the Bcrypt hash Driver. + * + * @return \Illuminate\Hashing\BcryptHasher + * @static + */ + public static function createBcryptDriver() + { + /** @var \Illuminate\Hashing\HashManager $instance */ + return $instance->createBcryptDriver(); + } + + /** + * Create an instance of the Argon2i hash Driver. + * + * @return \Illuminate\Hashing\ArgonHasher + * @static + */ + public static function createArgonDriver() + { + /** @var \Illuminate\Hashing\HashManager $instance */ + return $instance->createArgonDriver(); + } + + /** + * Create an instance of the Argon2id hash Driver. + * + * @return \Illuminate\Hashing\Argon2IdHasher + * @static + */ + public static function createArgon2idDriver() + { + /** @var \Illuminate\Hashing\HashManager $instance */ + return $instance->createArgon2idDriver(); + } + + /** + * Get information about the given hashed value. + * + * @param string $hashedValue + * @return array + * @static + */ + public static function info($hashedValue) + { + /** @var \Illuminate\Hashing\HashManager $instance */ + return $instance->info($hashedValue); + } - class Hash extends \Illuminate\Support\Facades\Hash - { /** * Hash the given value. * * @param string $value * @param array $options - * @return string - * @throws \RuntimeException - * @static + * @return string + * @static */ public static function make($value, $options = []) { - return \Illuminate\Hashing\BcryptHasher::make($value, $options); + /** @var \Illuminate\Hashing\HashManager $instance */ + return $instance->make($value, $options); } /** @@ -6580,12 +9667,13 @@ namespace { * @param string $value * @param string $hashedValue * @param array $options - * @return bool - * @static + * @return bool + * @static */ public static function check($value, $hashedValue, $options = []) { - return \Illuminate\Hashing\BcryptHasher::check($value, $hashedValue, $options); + /** @var \Illuminate\Hashing\HashManager $instance */ + return $instance->check($value, $hashedValue, $options); } /** @@ -6593,41 +9681,598 @@ namespace { * * @param string $hashedValue * @param array $options - * @return bool - * @static + * @return bool + * @static */ public static function needsRehash($hashedValue, $options = []) { - return \Illuminate\Hashing\BcryptHasher::needsRehash($hashedValue, $options); + /** @var \Illuminate\Hashing\HashManager $instance */ + return $instance->needsRehash($hashedValue, $options); } /** - * Set the default password work factor. + * Determine if a given string is already hashed. * - * @param int $rounds - * @return $this - * @static + * @param string $value + * @return bool + * @static */ - public static function setRounds($rounds) + public static function isHashed($value) { - return \Illuminate\Hashing\BcryptHasher::setRounds($rounds); + /** @var \Illuminate\Hashing\HashManager $instance */ + return $instance->isHashed($value); } - } + /** + * Get the default driver name. + * + * @return string + * @static + */ + public static function getDefaultDriver() + { + /** @var \Illuminate\Hashing\HashManager $instance */ + return $instance->getDefaultDriver(); + } - class Lang extends \Illuminate\Support\Facades\Lang - { + /** + * Verifies that the configuration is less than or equal to what is configured. + * + * @param array $value + * @return bool + * @internal + * @static + */ + public static function verifyConfiguration($value) + { + /** @var \Illuminate\Hashing\HashManager $instance */ + return $instance->verifyConfiguration($value); + } + + /** + * Get a driver instance. + * + * @param string|null $driver + * @return mixed + * @throws \InvalidArgumentException + * @static + */ + public static function driver($driver = null) + { + //Method inherited from \Illuminate\Support\Manager + /** @var \Illuminate\Hashing\HashManager $instance */ + return $instance->driver($driver); + } + + /** + * Register a custom driver creator Closure. + * + * @param string $driver + * @param \Closure $callback + * @return \Illuminate\Hashing\HashManager + * @static + */ + public static function extend($driver, $callback) + { + //Method inherited from \Illuminate\Support\Manager + /** @var \Illuminate\Hashing\HashManager $instance */ + return $instance->extend($driver, $callback); + } + + /** + * Get all of the created "drivers". + * + * @return array + * @static + */ + public static function getDrivers() + { + //Method inherited from \Illuminate\Support\Manager + /** @var \Illuminate\Hashing\HashManager $instance */ + return $instance->getDrivers(); + } + + /** + * Get the container instance used by the manager. + * + * @return \Illuminate\Contracts\Container\Container + * @static + */ + public static function getContainer() + { + //Method inherited from \Illuminate\Support\Manager + /** @var \Illuminate\Hashing\HashManager $instance */ + return $instance->getContainer(); + } + + /** + * Set the container instance used by the manager. + * + * @param \Illuminate\Contracts\Container\Container $container + * @return \Illuminate\Hashing\HashManager + * @static + */ + public static function setContainer($container) + { + //Method inherited from \Illuminate\Support\Manager + /** @var \Illuminate\Hashing\HashManager $instance */ + return $instance->setContainer($container); + } + + /** + * Forget all of the resolved driver instances. + * + * @return \Illuminate\Hashing\HashManager + * @static + */ + public static function forgetDrivers() + { + //Method inherited from \Illuminate\Support\Manager + /** @var \Illuminate\Hashing\HashManager $instance */ + return $instance->forgetDrivers(); + } + + } + /** + * + * + * @method static \Illuminate\Http\Client\PendingRequest baseUrl(string $url) + * @method static \Illuminate\Http\Client\PendingRequest withBody(\Psr\Http\Message\StreamInterface|string $content, string $contentType = 'application/json') + * @method static \Illuminate\Http\Client\PendingRequest asJson() + * @method static \Illuminate\Http\Client\PendingRequest asForm() + * @method static \Illuminate\Http\Client\PendingRequest attach(string|array $name, string|resource $contents = '', string|null $filename = null, array $headers = []) + * @method static \Illuminate\Http\Client\PendingRequest asMultipart() + * @method static \Illuminate\Http\Client\PendingRequest bodyFormat(string $format) + * @method static \Illuminate\Http\Client\PendingRequest withQueryParameters(array $parameters) + * @method static \Illuminate\Http\Client\PendingRequest contentType(string $contentType) + * @method static \Illuminate\Http\Client\PendingRequest acceptJson() + * @method static \Illuminate\Http\Client\PendingRequest accept(string $contentType) + * @method static \Illuminate\Http\Client\PendingRequest withHeaders(array $headers) + * @method static \Illuminate\Http\Client\PendingRequest withHeader(string $name, mixed $value) + * @method static \Illuminate\Http\Client\PendingRequest replaceHeaders(array $headers) + * @method static \Illuminate\Http\Client\PendingRequest withBasicAuth(string $username, string $password) + * @method static \Illuminate\Http\Client\PendingRequest withDigestAuth(string $username, string $password) + * @method static \Illuminate\Http\Client\PendingRequest withToken(string $token, string $type = 'Bearer') + * @method static \Illuminate\Http\Client\PendingRequest withUserAgent(string|bool $userAgent) + * @method static \Illuminate\Http\Client\PendingRequest withUrlParameters(array $parameters = []) + * @method static \Illuminate\Http\Client\PendingRequest withCookies(array $cookies, string $domain) + * @method static \Illuminate\Http\Client\PendingRequest maxRedirects(int $max) + * @method static \Illuminate\Http\Client\PendingRequest withoutRedirecting() + * @method static \Illuminate\Http\Client\PendingRequest withoutVerifying() + * @method static \Illuminate\Http\Client\PendingRequest sink(string|resource $to) + * @method static \Illuminate\Http\Client\PendingRequest timeout(int|float $seconds) + * @method static \Illuminate\Http\Client\PendingRequest connectTimeout(int|float $seconds) + * @method static \Illuminate\Http\Client\PendingRequest retry(array|int $times, \Closure|int $sleepMilliseconds = 0, callable|null $when = null, bool $throw = true) + * @method static \Illuminate\Http\Client\PendingRequest withOptions(array $options) + * @method static \Illuminate\Http\Client\PendingRequest withMiddleware(callable $middleware) + * @method static \Illuminate\Http\Client\PendingRequest withRequestMiddleware(callable $middleware) + * @method static \Illuminate\Http\Client\PendingRequest withResponseMiddleware(callable $middleware) + * @method static \Illuminate\Http\Client\PendingRequest beforeSending(callable $callback) + * @method static \Illuminate\Http\Client\PendingRequest throw(callable|null $callback = null) + * @method static \Illuminate\Http\Client\PendingRequest throwIf(callable|bool $condition) + * @method static \Illuminate\Http\Client\PendingRequest throwUnless(callable|bool $condition) + * @method static \Illuminate\Http\Client\PendingRequest dump() + * @method static \Illuminate\Http\Client\PendingRequest dd() + * @method static \Illuminate\Http\Client\Response get(string $url, array|string|null $query = null) + * @method static \Illuminate\Http\Client\Response head(string $url, array|string|null $query = null) + * @method static \Illuminate\Http\Client\Response post(string $url, array $data = []) + * @method static \Illuminate\Http\Client\Response patch(string $url, array $data = []) + * @method static \Illuminate\Http\Client\Response put(string $url, array $data = []) + * @method static \Illuminate\Http\Client\Response delete(string $url, array $data = []) + * @method static array pool(callable $callback) + * @method static \Illuminate\Http\Client\Response send(string $method, string $url, array $options = []) + * @method static \GuzzleHttp\Client buildClient() + * @method static \GuzzleHttp\Client createClient(\GuzzleHttp\HandlerStack $handlerStack) + * @method static \GuzzleHttp\HandlerStack buildHandlerStack() + * @method static \GuzzleHttp\HandlerStack pushHandlers(\GuzzleHttp\HandlerStack $handlerStack) + * @method static \Closure buildBeforeSendingHandler() + * @method static \Closure buildRecorderHandler() + * @method static \Closure buildStubHandler() + * @method static \GuzzleHttp\Psr7\RequestInterface runBeforeSendingCallbacks(\GuzzleHttp\Psr7\RequestInterface $request, array $options) + * @method static array mergeOptions(array ...$options) + * @method static \Illuminate\Http\Client\PendingRequest stub(callable $callback) + * @method static \Illuminate\Http\Client\PendingRequest async(bool $async = true) + * @method static \GuzzleHttp\Promise\PromiseInterface|null getPromise() + * @method static \Illuminate\Http\Client\PendingRequest setClient(\GuzzleHttp\Client $client) + * @method static \Illuminate\Http\Client\PendingRequest setHandler(callable $handler) + * @method static array getOptions() + * @method static \Illuminate\Http\Client\PendingRequest|mixed when(\Closure|mixed|null $value = null, callable|null $callback = null, callable|null $default = null) + * @method static \Illuminate\Http\Client\PendingRequest|mixed unless(\Closure|mixed|null $value = null, callable|null $callback = null, callable|null $default = null) + * @see \Illuminate\Http\Client\Factory + */ + class Http { + /** + * Add middleware to apply to every request. + * + * @param callable $middleware + * @return \Illuminate\Http\Client\Factory + * @static + */ + public static function globalMiddleware($middleware) + { + /** @var \Illuminate\Http\Client\Factory $instance */ + return $instance->globalMiddleware($middleware); + } + + /** + * Add request middleware to apply to every request. + * + * @param callable $middleware + * @return \Illuminate\Http\Client\Factory + * @static + */ + public static function globalRequestMiddleware($middleware) + { + /** @var \Illuminate\Http\Client\Factory $instance */ + return $instance->globalRequestMiddleware($middleware); + } + + /** + * Add response middleware to apply to every request. + * + * @param callable $middleware + * @return \Illuminate\Http\Client\Factory + * @static + */ + public static function globalResponseMiddleware($middleware) + { + /** @var \Illuminate\Http\Client\Factory $instance */ + return $instance->globalResponseMiddleware($middleware); + } + + /** + * Set the options to apply to every request. + * + * @param \Closure|array $options + * @return \Illuminate\Http\Client\Factory + * @static + */ + public static function globalOptions($options) + { + /** @var \Illuminate\Http\Client\Factory $instance */ + return $instance->globalOptions($options); + } + + /** + * Create a new response instance for use during stubbing. + * + * @param array|string|null $body + * @param int $status + * @param array $headers + * @return \GuzzleHttp\Promise\PromiseInterface + * @static + */ + public static function response($body = null, $status = 200, $headers = []) + { + return \Illuminate\Http\Client\Factory::response($body, $status, $headers); + } + + /** + * Create a new connection exception for use during stubbing. + * + * @param string|null $message + * @return \GuzzleHttp\Promise\PromiseInterface + * @static + */ + public static function failedConnection($message = null) + { + return \Illuminate\Http\Client\Factory::failedConnection($message); + } + + /** + * Get an invokable object that returns a sequence of responses in order for use during stubbing. + * + * @param array $responses + * @return \Illuminate\Http\Client\ResponseSequence + * @static + */ + public static function sequence($responses = []) + { + /** @var \Illuminate\Http\Client\Factory $instance */ + return $instance->sequence($responses); + } + + /** + * Register a stub callable that will intercept requests and be able to return stub responses. + * + * @param callable|array|null $callback + * @return \Illuminate\Http\Client\Factory + * @static + */ + public static function fake($callback = null) + { + /** @var \Illuminate\Http\Client\Factory $instance */ + return $instance->fake($callback); + } + + /** + * Register a response sequence for the given URL pattern. + * + * @param string $url + * @return \Illuminate\Http\Client\ResponseSequence + * @static + */ + public static function fakeSequence($url = '*') + { + /** @var \Illuminate\Http\Client\Factory $instance */ + return $instance->fakeSequence($url); + } + + /** + * Stub the given URL using the given callback. + * + * @param string $url + * @param \Illuminate\Http\Client\Response|\GuzzleHttp\Promise\PromiseInterface|callable|int|string|array $callback + * @return \Illuminate\Http\Client\Factory + * @static + */ + public static function stubUrl($url, $callback) + { + /** @var \Illuminate\Http\Client\Factory $instance */ + return $instance->stubUrl($url, $callback); + } + + /** + * Indicate that an exception should be thrown if any request is not faked. + * + * @param bool $prevent + * @return \Illuminate\Http\Client\Factory + * @static + */ + public static function preventStrayRequests($prevent = true) + { + /** @var \Illuminate\Http\Client\Factory $instance */ + return $instance->preventStrayRequests($prevent); + } + + /** + * Determine if stray requests are being prevented. + * + * @return bool + * @static + */ + public static function preventingStrayRequests() + { + /** @var \Illuminate\Http\Client\Factory $instance */ + return $instance->preventingStrayRequests(); + } + + /** + * Indicate that an exception should not be thrown if any request is not faked. + * + * @return \Illuminate\Http\Client\Factory + * @static + */ + public static function allowStrayRequests() + { + /** @var \Illuminate\Http\Client\Factory $instance */ + return $instance->allowStrayRequests(); + } + + /** + * Record a request response pair. + * + * @param \Illuminate\Http\Client\Request $request + * @param \Illuminate\Http\Client\Response|null $response + * @return void + * @static + */ + public static function recordRequestResponsePair($request, $response) + { + /** @var \Illuminate\Http\Client\Factory $instance */ + $instance->recordRequestResponsePair($request, $response); + } + + /** + * Assert that a request / response pair was recorded matching a given truth test. + * + * @param callable $callback + * @return void + * @static + */ + public static function assertSent($callback) + { + /** @var \Illuminate\Http\Client\Factory $instance */ + $instance->assertSent($callback); + } + + /** + * Assert that the given request was sent in the given order. + * + * @param array $callbacks + * @return void + * @static + */ + public static function assertSentInOrder($callbacks) + { + /** @var \Illuminate\Http\Client\Factory $instance */ + $instance->assertSentInOrder($callbacks); + } + + /** + * Assert that a request / response pair was not recorded matching a given truth test. + * + * @param callable $callback + * @return void + * @static + */ + public static function assertNotSent($callback) + { + /** @var \Illuminate\Http\Client\Factory $instance */ + $instance->assertNotSent($callback); + } + + /** + * Assert that no request / response pair was recorded. + * + * @return void + * @static + */ + public static function assertNothingSent() + { + /** @var \Illuminate\Http\Client\Factory $instance */ + $instance->assertNothingSent(); + } + + /** + * Assert how many requests have been recorded. + * + * @param int $count + * @return void + * @static + */ + public static function assertSentCount($count) + { + /** @var \Illuminate\Http\Client\Factory $instance */ + $instance->assertSentCount($count); + } + + /** + * Assert that every created response sequence is empty. + * + * @return void + * @static + */ + public static function assertSequencesAreEmpty() + { + /** @var \Illuminate\Http\Client\Factory $instance */ + $instance->assertSequencesAreEmpty(); + } + + /** + * Get a collection of the request / response pairs matching the given truth test. + * + * @param callable $callback + * @return \Illuminate\Support\Collection + * @static + */ + public static function recorded($callback = null) + { + /** @var \Illuminate\Http\Client\Factory $instance */ + return $instance->recorded($callback); + } + + /** + * Create a new pending request instance for this factory. + * + * @return \Illuminate\Http\Client\PendingRequest + * @static + */ + public static function createPendingRequest() + { + /** @var \Illuminate\Http\Client\Factory $instance */ + return $instance->createPendingRequest(); + } + + /** + * Get the current event dispatcher implementation. + * + * @return \Illuminate\Contracts\Events\Dispatcher|null + * @static + */ + public static function getDispatcher() + { + /** @var \Illuminate\Http\Client\Factory $instance */ + return $instance->getDispatcher(); + } + + /** + * Get the array of global middleware. + * + * @return array + * @static + */ + public static function getGlobalMiddleware() + { + /** @var \Illuminate\Http\Client\Factory $instance */ + return $instance->getGlobalMiddleware(); + } + + /** + * Register a custom macro. + * + * @param string $name + * @param object|callable $macro + * @param-closure-this static $macro + * @return void + * @static + */ + public static function macro($name, $macro) + { + \Illuminate\Http\Client\Factory::macro($name, $macro); + } + + /** + * Mix another object into the class. + * + * @param object $mixin + * @param bool $replace + * @return void + * @throws \ReflectionException + * @static + */ + public static function mixin($mixin, $replace = true) + { + \Illuminate\Http\Client\Factory::mixin($mixin, $replace); + } + + /** + * Checks if macro is registered. + * + * @param string $name + * @return bool + * @static + */ + public static function hasMacro($name) + { + return \Illuminate\Http\Client\Factory::hasMacro($name); + } + + /** + * Flush the existing macros. + * + * @return void + * @static + */ + public static function flushMacros() + { + \Illuminate\Http\Client\Factory::flushMacros(); + } + + /** + * Dynamically handle calls to the class. + * + * @param string $method + * @param array $parameters + * @return mixed + * @throws \BadMethodCallException + * @static + */ + public static function macroCall($method, $parameters) + { + /** @var \Illuminate\Http\Client\Factory $instance */ + return $instance->macroCall($method, $parameters); + } + + } + /** + * + * + * @see \Illuminate\Translation\Translator + */ + class Lang { /** * Determine if a translation exists for a given locale. * * @param string $key * @param string|null $locale - * @return bool - * @static + * @return bool + * @static */ public static function hasForLocale($key, $locale = null) { - return \Illuminate\Translation\Translator::hasForLocale($key, $locale); + /** @var \Illuminate\Translation\Translator $instance */ + return $instance->hasForLocale($key, $locale); } /** @@ -6636,26 +10281,13 @@ namespace { * @param string $key * @param string|null $locale * @param bool $fallback - * @return bool - * @static + * @return bool + * @static */ public static function has($key, $locale = null, $fallback = true) { - return \Illuminate\Translation\Translator::has($key, $locale, $fallback); - } - - /** - * Get the translation for a given key. - * - * @param string $key - * @param array $replace - * @param string $locale - * @return string|array|null - * @static - */ - public static function trans($key, $replace = [], $locale = null) - { - return \Illuminate\Translation\Translator::trans($key, $replace, $locale); + /** @var \Illuminate\Translation\Translator $instance */ + return $instance->has($key, $locale, $fallback); } /** @@ -6665,56 +10297,29 @@ namespace { * @param array $replace * @param string|null $locale * @param bool $fallback - * @return string|array|null - * @static + * @return string|array + * @static */ public static function get($key, $replace = [], $locale = null, $fallback = true) { - return \Illuminate\Translation\Translator::get($key, $replace, $locale, $fallback); - } - - /** - * Get the translation for a given key from the JSON translation files. - * - * @param string $key - * @param array $replace - * @param string $locale - * @return string - * @static - */ - public static function getFromJson($key, $replace = [], $locale = null) - { - return \Illuminate\Translation\Translator::getFromJson($key, $replace, $locale); + /** @var \Illuminate\Translation\Translator $instance */ + return $instance->get($key, $replace, $locale, $fallback); } /** * Get a translation according to an integer value. * * @param string $key - * @param int|array|\Countable $number + * @param \Countable|int|float|array $number * @param array $replace - * @param string $locale - * @return string - * @static - */ - public static function transChoice($key, $number, $replace = [], $locale = null) - { - return \Illuminate\Translation\Translator::transChoice($key, $number, $replace, $locale); - } - - /** - * Get a translation according to an integer value. - * - * @param string $key - * @param int|array|\Countable $number - * @param array $replace - * @param string $locale - * @return string - * @static + * @param string|null $locale + * @return string + * @static */ public static function choice($key, $number, $replace = [], $locale = null) { - return \Illuminate\Translation\Translator::choice($key, $number, $replace, $locale); + /** @var \Illuminate\Translation\Translator $instance */ + return $instance->choice($key, $number, $replace, $locale); } /** @@ -6723,12 +10328,13 @@ namespace { * @param array $lines * @param string $locale * @param string $namespace - * @return void - * @static + * @return void + * @static */ public static function addLines($lines, $locale, $namespace = '*') { - \Illuminate\Translation\Translator::addLines($lines, $locale, $namespace); + /** @var \Illuminate\Translation\Translator $instance */ + $instance->addLines($lines, $locale, $namespace); } /** @@ -6737,12 +10343,26 @@ namespace { * @param string $namespace * @param string $group * @param string $locale - * @return void - * @static + * @return void + * @static */ public static function load($namespace, $group, $locale) { - \Illuminate\Translation\Translator::load($namespace, $group, $locale); + /** @var \Illuminate\Translation\Translator $instance */ + $instance->load($namespace, $group, $locale); + } + + /** + * Register a callback that is responsible for handling missing translation keys. + * + * @param callable|null $callback + * @return static + * @static + */ + public static function handleMissingKeysUsing($callback) + { + /** @var \Illuminate\Translation\Translator $instance */ + return $instance->handleMissingKeysUsing($callback); } /** @@ -6750,115 +10370,179 @@ namespace { * * @param string $namespace * @param string $hint - * @return void - * @static + * @return void + * @static */ public static function addNamespace($namespace, $hint) { - \Illuminate\Translation\Translator::addNamespace($namespace, $hint); + /** @var \Illuminate\Translation\Translator $instance */ + $instance->addNamespace($namespace, $hint); + } + + /** + * Add a new JSON path to the loader. + * + * @param string $path + * @return void + * @static + */ + public static function addJsonPath($path) + { + /** @var \Illuminate\Translation\Translator $instance */ + $instance->addJsonPath($path); } /** * Parse a key into namespace, group, and item. * * @param string $key - * @return array - * @static + * @return array + * @static */ public static function parseKey($key) { - return \Illuminate\Translation\Translator::parseKey($key); + /** @var \Illuminate\Translation\Translator $instance */ + return $instance->parseKey($key); + } + + /** + * Specify a callback that should be invoked to determined the applicable locale array. + * + * @param callable $callback + * @return void + * @static + */ + public static function determineLocalesUsing($callback) + { + /** @var \Illuminate\Translation\Translator $instance */ + $instance->determineLocalesUsing($callback); } /** * Get the message selector instance. * - * @return \Illuminate\Translation\MessageSelector - * @static + * @return \Illuminate\Translation\MessageSelector + * @static */ public static function getSelector() { - return \Illuminate\Translation\Translator::getSelector(); + /** @var \Illuminate\Translation\Translator $instance */ + return $instance->getSelector(); } /** * Set the message selector instance. * * @param \Illuminate\Translation\MessageSelector $selector - * @return void - * @static + * @return void + * @static */ public static function setSelector($selector) { - \Illuminate\Translation\Translator::setSelector($selector); + /** @var \Illuminate\Translation\Translator $instance */ + $instance->setSelector($selector); } /** * Get the language line loader implementation. * - * @return \Illuminate\Translation\LoaderInterface - * @static + * @return \Illuminate\Contracts\Translation\Loader + * @static */ public static function getLoader() { - return \Illuminate\Translation\Translator::getLoader(); + /** @var \Illuminate\Translation\Translator $instance */ + return $instance->getLoader(); } /** * Get the default locale being used. * - * @return string - * @static + * @return string + * @static */ public static function locale() { - return \Illuminate\Translation\Translator::locale(); + /** @var \Illuminate\Translation\Translator $instance */ + return $instance->locale(); } /** * Get the default locale being used. * - * @return string - * @static + * @return string + * @static */ public static function getLocale() { - return \Illuminate\Translation\Translator::getLocale(); + /** @var \Illuminate\Translation\Translator $instance */ + return $instance->getLocale(); } /** * Set the default locale. * * @param string $locale - * @return void - * @static + * @return void + * @throws \InvalidArgumentException + * @static */ public static function setLocale($locale) { - \Illuminate\Translation\Translator::setLocale($locale); + /** @var \Illuminate\Translation\Translator $instance */ + $instance->setLocale($locale); } /** * Get the fallback locale being used. * - * @return string - * @static + * @return string + * @static */ public static function getFallback() { - return \Illuminate\Translation\Translator::getFallback(); + /** @var \Illuminate\Translation\Translator $instance */ + return $instance->getFallback(); } /** * Set the fallback locale being used. * * @param string $fallback - * @return void - * @static + * @return void + * @static */ public static function setFallback($fallback) { - \Illuminate\Translation\Translator::setFallback($fallback); + /** @var \Illuminate\Translation\Translator $instance */ + $instance->setFallback($fallback); + } + + /** + * Set the loaded translation groups. + * + * @param array $loaded + * @return void + * @static + */ + public static function setLoaded($loaded) + { + /** @var \Illuminate\Translation\Translator $instance */ + $instance->setLoaded($loaded); + } + + /** + * Add a handler to be executed in order to format a given class to a string during translation replacements. + * + * @param callable|string $class + * @param callable|null $handler + * @return void + * @static + */ + public static function stringable($class, $handler = null) + { + /** @var \Illuminate\Translation\Translator $instance */ + $instance->stringable($class, $handler); } /** @@ -6866,535 +10550,970 @@ namespace { * * @param string $key * @param array $parsed - * @return void - * @static + * @return void + * @static */ public static function setParsedKey($key, $parsed) { - //Method inherited from \Illuminate\Support\NamespacedItemResolver - \Illuminate\Translation\Translator::setParsedKey($key, $parsed); + //Method inherited from \Illuminate\Support\NamespacedItemResolver + /** @var \Illuminate\Translation\Translator $instance */ + $instance->setParsedKey($key, $parsed); + } + + /** + * Flush the cache of parsed keys. + * + * @return void + * @static + */ + public static function flushParsedKeys() + { + //Method inherited from \Illuminate\Support\NamespacedItemResolver + /** @var \Illuminate\Translation\Translator $instance */ + $instance->flushParsedKeys(); } /** * Register a custom macro. * * @param string $name - * @param callable $macro - * @return void - * @static + * @param object|callable $macro + * @param-closure-this static $macro + * @return void + * @static */ public static function macro($name, $macro) { \Illuminate\Translation\Translator::macro($name, $macro); } + /** + * Mix another object into the class. + * + * @param object $mixin + * @param bool $replace + * @return void + * @throws \ReflectionException + * @static + */ + public static function mixin($mixin, $replace = true) + { + \Illuminate\Translation\Translator::mixin($mixin, $replace); + } + /** * Checks if macro is registered. * * @param string $name - * @return bool - * @static + * @return bool + * @static */ public static function hasMacro($name) { return \Illuminate\Translation\Translator::hasMacro($name); } - } - - class Log extends \Illuminate\Support\Facades\Log - { /** - * Adds a log record at the DEBUG level. + * Flush the existing macros. * - * @param string $message The log message - * @param array $context The log context - * @return Boolean Whether the record has been processed - * @static + * @return void + * @static */ - public static function debug($message, $context = []) + public static function flushMacros() { - return \Monolog\Logger::debug($message, $context); + \Illuminate\Translation\Translator::flushMacros(); + } + + } + /** + * + * + * @method static void write(string $level, \Illuminate\Contracts\Support\Arrayable|\Illuminate\Contracts\Support\Jsonable|\Illuminate\Support\Stringable|array|string $message, array $context = []) + * @method static \Illuminate\Log\Logger withContext(array $context = []) + * @method static void listen(\Closure $callback) + * @method static \Psr\Log\LoggerInterface getLogger() + * @method static \Illuminate\Contracts\Events\Dispatcher getEventDispatcher() + * @method static void setEventDispatcher(\Illuminate\Contracts\Events\Dispatcher $dispatcher) + * @method static \Illuminate\Log\Logger|mixed when(\Closure|mixed|null $value = null, callable|null $callback = null, callable|null $default = null) + * @method static \Illuminate\Log\Logger|mixed unless(\Closure|mixed|null $value = null, callable|null $callback = null, callable|null $default = null) + * @see \Illuminate\Log\LogManager + */ + class Log { + /** + * Build an on-demand log channel. + * + * @param array $config + * @return \Psr\Log\LoggerInterface + * @static + */ + public static function build($config) + { + /** @var \Illuminate\Log\LogManager $instance */ + return $instance->build($config); } /** - * Adds a log record at the INFO level. + * Create a new, on-demand aggregate logger instance. * - * @param string $message The log message - * @param array $context The log context - * @return Boolean Whether the record has been processed - * @static + * @param array $channels + * @param string|null $channel + * @return \Psr\Log\LoggerInterface + * @static */ - public static function info($message, $context = []) + public static function stack($channels, $channel = null) { - return \Monolog\Logger::info($message, $context); + /** @var \Illuminate\Log\LogManager $instance */ + return $instance->stack($channels, $channel); } /** - * Adds a log record at the NOTICE level. + * Get a log channel instance. * - * @param string $message The log message - * @param array $context The log context - * @return Boolean Whether the record has been processed - * @static + * @param string|null $channel + * @return \Psr\Log\LoggerInterface + * @static */ - public static function notice($message, $context = []) + public static function channel($channel = null) { - return \Monolog\Logger::notice($message, $context); + /** @var \Illuminate\Log\LogManager $instance */ + return $instance->channel($channel); } /** - * Adds a log record at the WARNING level. + * Get a log driver instance. * - * @param string $message The log message - * @param array $context The log context - * @return Boolean Whether the record has been processed - * @static + * @param string|null $driver + * @return \Psr\Log\LoggerInterface + * @static */ - public static function warning($message, $context = []) + public static function driver($driver = null) { - return \Monolog\Logger::warning($message, $context); + /** @var \Illuminate\Log\LogManager $instance */ + return $instance->driver($driver); } /** - * Adds a log record at the ERROR level. + * Share context across channels and stacks. * - * @param string $message The log message - * @param array $context The log context - * @return Boolean Whether the record has been processed - * @static + * @param array $context + * @return \Illuminate\Log\LogManager + * @static */ - public static function error($message, $context = []) + public static function shareContext($context) { - return \Monolog\Logger::error($message, $context); + /** @var \Illuminate\Log\LogManager $instance */ + return $instance->shareContext($context); } /** - * Adds a log record at the CRITICAL level. + * The context shared across channels and stacks. * - * @param string $message The log message - * @param array $context The log context - * @return Boolean Whether the record has been processed - * @static + * @return array + * @static */ - public static function critical($message, $context = []) + public static function sharedContext() { - return \Monolog\Logger::critical($message, $context); + /** @var \Illuminate\Log\LogManager $instance */ + return $instance->sharedContext(); } /** - * Adds a log record at the ALERT level. + * Flush the log context on all currently resolved channels. * - * @param string $message The log message - * @param array $context The log context - * @return Boolean Whether the record has been processed - * @static + * @return \Illuminate\Log\LogManager + * @static */ - public static function alert($message, $context = []) + public static function withoutContext() { - return \Monolog\Logger::alert($message, $context); + /** @var \Illuminate\Log\LogManager $instance */ + return $instance->withoutContext(); } /** - * Adds a log record at the EMERGENCY level. + * Flush the shared context. * - * @param string $message The log message - * @param array $context The log context - * @return Boolean Whether the record has been processed - * @static + * @return \Illuminate\Log\LogManager + * @static + */ + public static function flushSharedContext() + { + /** @var \Illuminate\Log\LogManager $instance */ + return $instance->flushSharedContext(); + } + + /** + * Get the default log driver name. + * + * @return string|null + * @static + */ + public static function getDefaultDriver() + { + /** @var \Illuminate\Log\LogManager $instance */ + return $instance->getDefaultDriver(); + } + + /** + * Set the default log driver name. + * + * @param string $name + * @return void + * @static + */ + public static function setDefaultDriver($name) + { + /** @var \Illuminate\Log\LogManager $instance */ + $instance->setDefaultDriver($name); + } + + /** + * Register a custom driver creator Closure. + * + * @param string $driver + * @param \Closure $callback + * @return \Illuminate\Log\LogManager + * @static + */ + public static function extend($driver, $callback) + { + /** @var \Illuminate\Log\LogManager $instance */ + return $instance->extend($driver, $callback); + } + + /** + * Unset the given channel instance. + * + * @param string|null $driver + * @return void + * @static + */ + public static function forgetChannel($driver = null) + { + /** @var \Illuminate\Log\LogManager $instance */ + $instance->forgetChannel($driver); + } + + /** + * Get all of the resolved log channels. + * + * @return array + * @static + */ + public static function getChannels() + { + /** @var \Illuminate\Log\LogManager $instance */ + return $instance->getChannels(); + } + + /** + * System is unusable. + * + * @param string|\Stringable $message + * @param array $context + * @return void + * @static */ public static function emergency($message, $context = []) { - return \Monolog\Logger::emergency($message, $context); + /** @var \Illuminate\Log\LogManager $instance */ + $instance->emergency($message, $context); } /** - * Log a message to the logs. + * Action must be taken immediately. + * + * Example: Entire website down, database unavailable, etc. This should + * trigger the SMS alerts and wake you up. * - * @param string $level - * @param string $message + * @param string|\Stringable $message * @param array $context - * @return void - * @static + * @return void + * @static + */ + public static function alert($message, $context = []) + { + /** @var \Illuminate\Log\LogManager $instance */ + $instance->alert($message, $context); + } + + /** + * Critical conditions. + * + * Example: Application component unavailable, unexpected exception. + * + * @param string|\Stringable $message + * @param array $context + * @return void + * @static + */ + public static function critical($message, $context = []) + { + /** @var \Illuminate\Log\LogManager $instance */ + $instance->critical($message, $context); + } + + /** + * Runtime errors that do not require immediate action but should typically + * be logged and monitored. + * + * @param string|\Stringable $message + * @param array $context + * @return void + * @static + */ + public static function error($message, $context = []) + { + /** @var \Illuminate\Log\LogManager $instance */ + $instance->error($message, $context); + } + + /** + * Exceptional occurrences that are not errors. + * + * Example: Use of deprecated APIs, poor use of an API, undesirable things + * that are not necessarily wrong. + * + * @param string|\Stringable $message + * @param array $context + * @return void + * @static + */ + public static function warning($message, $context = []) + { + /** @var \Illuminate\Log\LogManager $instance */ + $instance->warning($message, $context); + } + + /** + * Normal but significant events. + * + * @param string|\Stringable $message + * @param array $context + * @return void + * @static + */ + public static function notice($message, $context = []) + { + /** @var \Illuminate\Log\LogManager $instance */ + $instance->notice($message, $context); + } + + /** + * Interesting events. + * + * Example: User logs in, SQL logs. + * + * @param string|\Stringable $message + * @param array $context + * @return void + * @static + */ + public static function info($message, $context = []) + { + /** @var \Illuminate\Log\LogManager $instance */ + $instance->info($message, $context); + } + + /** + * Detailed debug information. + * + * @param string|\Stringable $message + * @param array $context + * @return void + * @static + */ + public static function debug($message, $context = []) + { + /** @var \Illuminate\Log\LogManager $instance */ + $instance->debug($message, $context); + } + + /** + * Logs with an arbitrary level. + * + * @param mixed $level + * @param string|\Stringable $message + * @param array $context + * @return void + * @static */ public static function log($level, $message, $context = []) { - \Illuminate\Log\Writer::log($level, $message, $context); + /** @var \Illuminate\Log\LogManager $instance */ + $instance->log($level, $message, $context); } /** - * Dynamically pass log calls into the writer. + * Set the application instance used by the manager. * - * @param string $level - * @param string $message - * @param array $context - * @return void - * @static + * @param \Illuminate\Contracts\Foundation\Application $app + * @return \Illuminate\Log\LogManager + * @static */ - public static function write($level, $message, $context = []) + public static function setApplication($app) { - \Illuminate\Log\Writer::write($level, $message, $context); + /** @var \Illuminate\Log\LogManager $instance */ + return $instance->setApplication($app); } + } + /** + * + * + * @method static \Illuminate\Mail\Mailer driver(string|null $driver = null) + * @method static \Illuminate\Mail\Mailer build(array $config) + * @method static \Symfony\Component\Mailer\Transport\TransportInterface createSymfonyTransport(array $config) + * @method static string getDefaultDriver() + * @method static void setDefaultDriver(string $name) + * @method static void purge(string|null $name = null) + * @method static \Illuminate\Mail\MailManager extend(string $driver, \Closure $callback) + * @method static \Illuminate\Contracts\Foundation\Application getApplication() + * @method static \Illuminate\Mail\MailManager setApplication(\Illuminate\Contracts\Foundation\Application $app) + * @method static void alwaysFrom(string $address, string|null $name = null) + * @method static void alwaysReplyTo(string $address, string|null $name = null) + * @method static void alwaysReturnPath(string $address) + * @method static void alwaysTo(string $address, string|null $name = null) + * @method static \Illuminate\Mail\SentMessage|null html(string $html, mixed $callback) + * @method static \Illuminate\Mail\SentMessage|null plain(string $view, array $data, mixed $callback) + * @method static string render(string|array $view, array $data = []) + * @method static mixed onQueue(\BackedEnum|string|null $queue, \Illuminate\Contracts\Mail\Mailable $view) + * @method static mixed queueOn(string $queue, \Illuminate\Contracts\Mail\Mailable $view) + * @method static mixed laterOn(string $queue, \DateTimeInterface|\DateInterval|int $delay, \Illuminate\Contracts\Mail\Mailable $view) + * @method static \Symfony\Component\Mailer\Transport\TransportInterface getSymfonyTransport() + * @method static \Illuminate\Contracts\View\Factory getViewFactory() + * @method static void setSymfonyTransport(\Symfony\Component\Mailer\Transport\TransportInterface $transport) + * @method static \Illuminate\Mail\Mailer setQueue(\Illuminate\Contracts\Queue\Factory $queue) + * @method static void macro(string $name, object|callable $macro) + * @method static void mixin(object $mixin, bool $replace = true) + * @method static bool hasMacro(string $name) + * @method static void flushMacros() + * @see \Illuminate\Mail\MailManager + * @see \Illuminate\Support\Testing\Fakes\MailFake + */ + class Mail { /** - * Register a file log handler. + * Assert if a mailable was sent based on a truth-test callback. * - * @param string $path - * @param string $level - * @return void - * @static + * @param string|\Closure $mailable + * @param callable|array|string|int|null $callback + * @return void + * @static */ - public static function useFiles($path, $level = 'debug') + public static function assertSent($mailable, $callback = null) { - \Illuminate\Log\Writer::useFiles($path, $level); + /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ + $instance->assertSent($mailable, $callback); } /** - * Register a daily file log handler. + * Determine if a mailable was not sent or queued to be sent based on a truth-test callback. * - * @param string $path - * @param int $days - * @param string $level - * @return void - * @static + * @param string|\Closure $mailable + * @param callable|null $callback + * @return void + * @static */ - public static function useDailyFiles($path, $days = 0, $level = 'debug') + public static function assertNotOutgoing($mailable, $callback = null) { - \Illuminate\Log\Writer::useDailyFiles($path, $days, $level); + /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ + $instance->assertNotOutgoing($mailable, $callback); } /** - * Register a Syslog handler. + * Determine if a mailable was not sent based on a truth-test callback. * - * @param string $name - * @param string $level - * @return \Psr\Log\LoggerInterface - * @static + * @param string|\Closure $mailable + * @param callable|array|string|null $callback + * @return void + * @static */ - public static function useSyslog($name = 'laravel', $level = 'debug') + public static function assertNotSent($mailable, $callback = null) { - return \Illuminate\Log\Writer::useSyslog($name, $level); + /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ + $instance->assertNotSent($mailable, $callback); } /** - * Register an error_log handler. + * Assert that no mailables were sent or queued to be sent. * - * @param string $level - * @param int $messageType - * @return void - * @static + * @return void + * @static */ - public static function useErrorLog($level = 'debug', $messageType = 0) + public static function assertNothingOutgoing() { - \Illuminate\Log\Writer::useErrorLog($level, $messageType); + /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ + $instance->assertNothingOutgoing(); } /** - * Register a new callback handler for when a log event is triggered. + * Assert that no mailables were sent. * - * @param \Closure $callback - * @return void - * @throws \RuntimeException - * @static + * @return void + * @static */ - public static function listen($callback) + public static function assertNothingSent() { - \Illuminate\Log\Writer::listen($callback); + /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ + $instance->assertNothingSent(); } /** - * Get the underlying Monolog instance. + * Assert if a mailable was queued based on a truth-test callback. * - * @return \Monolog\Logger - * @static + * @param string|\Closure $mailable + * @param callable|array|string|int|null $callback + * @return void + * @static */ - public static function getMonolog() + public static function assertQueued($mailable, $callback = null) { - return \Illuminate\Log\Writer::getMonolog(); + /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ + $instance->assertQueued($mailable, $callback); } /** - * Get the event dispatcher instance. + * Determine if a mailable was not queued based on a truth-test callback. * - * @return \Illuminate\Contracts\Events\Dispatcher - * @static + * @param string|\Closure $mailable + * @param callable|array|string|null $callback + * @return void + * @static */ - public static function getEventDispatcher() + public static function assertNotQueued($mailable, $callback = null) { - return \Illuminate\Log\Writer::getEventDispatcher(); + /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ + $instance->assertNotQueued($mailable, $callback); } /** - * Set the event dispatcher instance. + * Assert that no mailables were queued. * - * @param \Illuminate\Contracts\Events\Dispatcher $dispatcher - * @return void - * @static + * @return void + * @static */ - public static function setEventDispatcher($dispatcher) + public static function assertNothingQueued() { - \Illuminate\Log\Writer::setEventDispatcher($dispatcher); + /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ + $instance->assertNothingQueued(); } - } - - class Mail extends \Illuminate\Support\Facades\Mail - { /** - * Set the global from address and name. + * Assert the total number of mailables that were sent. + * + * @param int $count + * @return void + * @static + */ + public static function assertSentCount($count) + { + /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ + $instance->assertSentCount($count); + } + + /** + * Assert the total number of mailables that were queued. + * + * @param int $count + * @return void + * @static + */ + public static function assertQueuedCount($count) + { + /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ + $instance->assertQueuedCount($count); + } + + /** + * Assert the total number of mailables that were sent or queued. + * + * @param int $count + * @return void + * @static + */ + public static function assertOutgoingCount($count) + { + /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ + $instance->assertOutgoingCount($count); + } + + /** + * Get all of the mailables matching a truth-test callback. + * + * @param string|\Closure $mailable + * @param callable|null $callback + * @return \Illuminate\Support\Collection + * @static + */ + public static function sent($mailable, $callback = null) + { + /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ + return $instance->sent($mailable, $callback); + } + + /** + * Determine if the given mailable has been sent. + * + * @param string $mailable + * @return bool + * @static + */ + public static function hasSent($mailable) + { + /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ + return $instance->hasSent($mailable); + } + + /** + * Get all of the queued mailables matching a truth-test callback. + * + * @param string|\Closure $mailable + * @param callable|null $callback + * @return \Illuminate\Support\Collection + * @static + */ + public static function queued($mailable, $callback = null) + { + /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ + return $instance->queued($mailable, $callback); + } + + /** + * Determine if the given mailable has been queued. + * + * @param string $mailable + * @return bool + * @static + */ + public static function hasQueued($mailable) + { + /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ + return $instance->hasQueued($mailable); + } + + /** + * Get a mailer instance by name. * - * @param string $address * @param string|null $name - * @return void - * @static + * @return \Illuminate\Contracts\Mail\Mailer + * @static */ - public static function alwaysFrom($address, $name = null) + public static function mailer($name = null) { - \Illuminate\Mail\Mailer::alwaysFrom($address, $name); - } - - /** - * Set the global reply-to address and name. - * - * @param string $address - * @param string|null $name - * @return void - * @static - */ - public static function alwaysReplyTo($address, $name = null) - { - \Illuminate\Mail\Mailer::alwaysReplyTo($address, $name); - } - - /** - * Set the global to address and name. - * - * @param string $address - * @param string|null $name - * @return void - * @static - */ - public static function alwaysTo($address, $name = null) - { - \Illuminate\Mail\Mailer::alwaysTo($address, $name); + /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ + return $instance->mailer($name); } /** * Begin the process of mailing a mailable class instance. * * @param mixed $users - * @return \Illuminate\Mail\PendingMail - * @static + * @return \Illuminate\Mail\PendingMail + * @static */ public static function to($users) { - return \Illuminate\Mail\Mailer::to($users); + /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ + return $instance->to($users); } /** * Begin the process of mailing a mailable class instance. * * @param mixed $users - * @return \Illuminate\Mail\PendingMail - * @static + * @return \Illuminate\Mail\PendingMail + * @static + */ + public static function cc($users) + { + /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ + return $instance->cc($users); + } + + /** + * Begin the process of mailing a mailable class instance. + * + * @param mixed $users + * @return \Illuminate\Mail\PendingMail + * @static */ public static function bcc($users) { - return \Illuminate\Mail\Mailer::bcc($users); + /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ + return $instance->bcc($users); } /** - * Send a new message when only a raw text part. + * Send a new message with only a raw text part. * * @param string $text - * @param mixed $callback - * @return void - * @static + * @param \Closure|string $callback + * @return void + * @static */ public static function raw($text, $callback) { - \Illuminate\Mail\Mailer::raw($text, $callback); - } - - /** - * Send a new message when only a plain part. - * - * @param string $view - * @param array $data - * @param mixed $callback - * @return void - * @static - */ - public static function plain($view, $data, $callback) - { - \Illuminate\Mail\Mailer::plain($view, $data, $callback); + /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ + $instance->raw($text, $callback); } /** * Send a new message using a view. * - * @param string|array $view + * @param \Illuminate\Contracts\Mail\Mailable|string|array $view * @param array $data - * @param \Closure|string $callback - * @return void - * @static + * @param \Closure|string|null $callback + * @return mixed|void + * @static */ public static function send($view, $data = [], $callback = null) { - \Illuminate\Mail\Mailer::send($view, $data, $callback); + /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ + return $instance->send($view, $data, $callback); } /** - * Queue a new e-mail message for sending. + * Send a new message synchronously using a view. * - * @param string|array $view + * @param \Illuminate\Contracts\Mail\Mailable|string|array $mailable * @param array $data - * @param \Closure|string $callback + * @param \Closure|string|null $callback + * @return void + * @static + */ + public static function sendNow($mailable, $data = [], $callback = null) + { + /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ + $instance->sendNow($mailable, $data, $callback); + } + + /** + * Queue a new message for sending. + * + * @param \Illuminate\Contracts\Mail\Mailable|string|array $view * @param string|null $queue - * @return mixed - * @static + * @return mixed + * @static */ - public static function queue($view, $data = [], $callback = null, $queue = null) + public static function queue($view, $queue = null) { - return \Illuminate\Mail\Mailer::queue($view, $data, $callback, $queue); - } - - /** - * Queue a new e-mail message for sending on the given queue. - * - * @param string $queue - * @param string|array $view - * @param array $data - * @param \Closure|string $callback - * @return mixed - * @static - */ - public static function onQueue($queue, $view, $data, $callback) - { - return \Illuminate\Mail\Mailer::onQueue($queue, $view, $data, $callback); - } - - /** - * Queue a new e-mail message for sending on the given queue. - * - * This method didn't match rest of framework's "onQueue" phrasing. Added "onQueue". - * - * @param string $queue - * @param string|array $view - * @param array $data - * @param \Closure|string $callback - * @return mixed - * @static - */ - public static function queueOn($queue, $view, $data, $callback) - { - return \Illuminate\Mail\Mailer::queueOn($queue, $view, $data, $callback); + /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ + return $instance->queue($view, $queue); } /** * Queue a new e-mail message for sending after (n) seconds. * - * @param int $delay - * @param string|array $view - * @param array $data - * @param \Closure|string $callback + * @param \DateTimeInterface|\DateInterval|int $delay + * @param \Illuminate\Contracts\Mail\Mailable|string|array $view * @param string|null $queue - * @return mixed - * @static + * @return mixed + * @static */ - public static function later($delay, $view, $data = [], $callback = null, $queue = null) + public static function later($delay, $view, $queue = null) { - return \Illuminate\Mail\Mailer::later($delay, $view, $data, $callback, $queue); + /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ + return $instance->later($delay, $view, $queue); } /** - * Queue a new e-mail message for sending after (n) seconds on the given queue. + * Forget all of the resolved mailer instances. * - * @param string $queue - * @param int $delay - * @param string|array $view - * @param array $data - * @param \Closure|string $callback - * @return mixed - * @static + * @return \Illuminate\Support\Testing\Fakes\MailFake + * @static */ - public static function laterOn($queue, $delay, $view, $data, $callback) + public static function forgetMailers() { - return \Illuminate\Mail\Mailer::laterOn($queue, $delay, $view, $data, $callback); + /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ + return $instance->forgetMailers(); + } + + } + /** + * + * + * @method static string getDefaultDriver() + * @method static string deliversVia() + * @method static void deliverVia(string $channel) + * @method static mixed driver(string|null $driver = null) + * @method static \Illuminate\Notifications\ChannelManager extend(string $driver, \Closure $callback) + * @method static array getDrivers() + * @method static \Illuminate\Contracts\Container\Container getContainer() + * @method static \Illuminate\Notifications\ChannelManager setContainer(\Illuminate\Contracts\Container\Container $container) + * @method static \Illuminate\Notifications\ChannelManager forgetDrivers() + * @see \Illuminate\Notifications\ChannelManager + * @see \Illuminate\Support\Testing\Fakes\NotificationFake + */ + class Notification { + /** + * Assert if a notification was sent on-demand based on a truth-test callback. + * + * @param string|\Closure $notification + * @param callable|null $callback + * @return void + * @throws \Exception + * @static + */ + public static function assertSentOnDemand($notification, $callback = null) + { + /** @var \Illuminate\Support\Testing\Fakes\NotificationFake $instance */ + $instance->assertSentOnDemand($notification, $callback); } /** - * Get the view factory instance. + * Assert if a notification was sent based on a truth-test callback. * - * @return \Illuminate\Contracts\View\Factory - * @static + * @param mixed $notifiable + * @param string|\Closure $notification + * @param callable|null $callback + * @return void + * @throws \Exception + * @static */ - public static function getViewFactory() + public static function assertSentTo($notifiable, $notification, $callback = null) { - return \Illuminate\Mail\Mailer::getViewFactory(); + /** @var \Illuminate\Support\Testing\Fakes\NotificationFake $instance */ + $instance->assertSentTo($notifiable, $notification, $callback); } /** - * Get the Swift Mailer instance. + * Assert if a notification was sent on-demand a number of times. * - * @return \Swift_Mailer - * @static + * @param string $notification + * @param int $times + * @return void + * @static */ - public static function getSwiftMailer() + public static function assertSentOnDemandTimes($notification, $times = 1) { - return \Illuminate\Mail\Mailer::getSwiftMailer(); + /** @var \Illuminate\Support\Testing\Fakes\NotificationFake $instance */ + $instance->assertSentOnDemandTimes($notification, $times); } /** - * Get the array of failed recipients. + * Assert if a notification was sent a number of times. * - * @return array - * @static + * @param mixed $notifiable + * @param string $notification + * @param int $times + * @return void + * @static */ - public static function failures() + public static function assertSentToTimes($notifiable, $notification, $times = 1) { - return \Illuminate\Mail\Mailer::failures(); + /** @var \Illuminate\Support\Testing\Fakes\NotificationFake $instance */ + $instance->assertSentToTimes($notifiable, $notification, $times); } /** - * Set the Swift Mailer instance. + * Determine if a notification was sent based on a truth-test callback. * - * @param \Swift_Mailer $swift - * @return void - * @static + * @param mixed $notifiable + * @param string|\Closure $notification + * @param callable|null $callback + * @return void + * @throws \Exception + * @static */ - public static function setSwiftMailer($swift) + public static function assertNotSentTo($notifiable, $notification, $callback = null) { - \Illuminate\Mail\Mailer::setSwiftMailer($swift); + /** @var \Illuminate\Support\Testing\Fakes\NotificationFake $instance */ + $instance->assertNotSentTo($notifiable, $notification, $callback); } /** - * Set the queue manager instance. + * Assert that no notifications were sent. * - * @param \Illuminate\Contracts\Queue\Factory $queue - * @return $this - * @static + * @return void + * @static */ - public static function setQueue($queue) + public static function assertNothingSent() { - return \Illuminate\Mail\Mailer::setQueue($queue); + /** @var \Illuminate\Support\Testing\Fakes\NotificationFake $instance */ + $instance->assertNothingSent(); } - } + /** + * Assert that no notifications were sent to the given notifiable. + * + * @param mixed $notifiable + * @return void + * @throws \Exception + * @static + */ + public static function assertNothingSentTo($notifiable) + { + /** @var \Illuminate\Support\Testing\Fakes\NotificationFake $instance */ + $instance->assertNothingSentTo($notifiable); + } + + /** + * Assert the total amount of times a notification was sent. + * + * @param string $notification + * @param int $expectedCount + * @return void + * @static + */ + public static function assertSentTimes($notification, $expectedCount) + { + /** @var \Illuminate\Support\Testing\Fakes\NotificationFake $instance */ + $instance->assertSentTimes($notification, $expectedCount); + } + + /** + * Assert the total count of notification that were sent. + * + * @param int $expectedCount + * @return void + * @static + */ + public static function assertCount($expectedCount) + { + /** @var \Illuminate\Support\Testing\Fakes\NotificationFake $instance */ + $instance->assertCount($expectedCount); + } + + /** + * Get all of the notifications matching a truth-test callback. + * + * @param mixed $notifiable + * @param string $notification + * @param callable|null $callback + * @return \Illuminate\Support\Collection + * @static + */ + public static function sent($notifiable, $notification, $callback = null) + { + /** @var \Illuminate\Support\Testing\Fakes\NotificationFake $instance */ + return $instance->sent($notifiable, $notification, $callback); + } + + /** + * Determine if there are more notifications left to inspect. + * + * @param mixed $notifiable + * @param string $notification + * @return bool + * @static + */ + public static function hasSent($notifiable, $notification) + { + /** @var \Illuminate\Support\Testing\Fakes\NotificationFake $instance */ + return $instance->hasSent($notifiable, $notification); + } - class Notification extends \Illuminate\Support\Facades\Notification - { /** * Send the given notification to the given notifiable entities. * * @param \Illuminate\Support\Collection|array|mixed $notifiables * @param mixed $notification - * @return void - * @static + * @return void + * @static */ public static function send($notifiables, $notification) { - \Illuminate\Notifications\ChannelManager::send($notifiables, $notification); + /** @var \Illuminate\Support\Testing\Fakes\NotificationFake $instance */ + $instance->send($notifiables, $notification); } /** @@ -7403,236 +11522,605 @@ namespace { * @param \Illuminate\Support\Collection|array|mixed $notifiables * @param mixed $notification * @param array|null $channels - * @return void - * @static + * @return void + * @static */ public static function sendNow($notifiables, $notification, $channels = null) { - \Illuminate\Notifications\ChannelManager::sendNow($notifiables, $notification, $channels); + /** @var \Illuminate\Support\Testing\Fakes\NotificationFake $instance */ + $instance->sendNow($notifiables, $notification, $channels); } /** - * Get a channel instance. + * Get a channel instance by name. * * @param string|null $name - * @return mixed - * @static + * @return mixed + * @static */ public static function channel($name = null) { - return \Illuminate\Notifications\ChannelManager::channel($name); + /** @var \Illuminate\Support\Testing\Fakes\NotificationFake $instance */ + return $instance->channel($name); } /** - * Get the default channel driver name. + * Set the locale of notifications. * - * @return string - * @static + * @param string $locale + * @return \Illuminate\Support\Testing\Fakes\NotificationFake + * @static */ - public static function getDefaultDriver() + public static function locale($locale) { - return \Illuminate\Notifications\ChannelManager::getDefaultDriver(); + /** @var \Illuminate\Support\Testing\Fakes\NotificationFake $instance */ + return $instance->locale($locale); } /** - * Get the default channel driver name. + * Specify if notification should be serialized and restored when being "pushed" to the queue. * - * @return string - * @static + * @param bool $serializeAndRestore + * @return \Illuminate\Support\Testing\Fakes\NotificationFake + * @static */ - public static function deliversVia() + public static function serializeAndRestore($serializeAndRestore = true) { - return \Illuminate\Notifications\ChannelManager::deliversVia(); + /** @var \Illuminate\Support\Testing\Fakes\NotificationFake $instance */ + return $instance->serializeAndRestore($serializeAndRestore); } /** - * Set the default channel driver name. + * Get the notifications that have been sent. * - * @param string $channel - * @return void - * @static + * @return array + * @static */ - public static function deliverVia($channel) + public static function sentNotifications() { - \Illuminate\Notifications\ChannelManager::deliverVia($channel); + /** @var \Illuminate\Support\Testing\Fakes\NotificationFake $instance */ + return $instance->sentNotifications(); } /** - * Get a driver instance. + * Register a custom macro. * - * @param string $driver - * @return mixed - * @static + * @param string $name + * @param object|callable $macro + * @param-closure-this static $macro + * @return void + * @static */ - public static function driver($driver = null) + public static function macro($name, $macro) { - //Method inherited from \Illuminate\Support\Manager - return \Illuminate\Notifications\ChannelManager::driver($driver); + \Illuminate\Support\Testing\Fakes\NotificationFake::macro($name, $macro); } /** - * Register a custom driver creator Closure. + * Mix another object into the class. * - * @param string $driver - * @param \Closure $callback - * @return $this - * @static + * @param object $mixin + * @param bool $replace + * @return void + * @throws \ReflectionException + * @static */ - public static function extend($driver, $callback) + public static function mixin($mixin, $replace = true) { - //Method inherited from \Illuminate\Support\Manager - return \Illuminate\Notifications\ChannelManager::extend($driver, $callback); + \Illuminate\Support\Testing\Fakes\NotificationFake::mixin($mixin, $replace); } /** - * Get all of the created "drivers". + * Checks if macro is registered. * - * @return array - * @static + * @param string $name + * @return bool + * @static */ - public static function getDrivers() + public static function hasMacro($name) { - //Method inherited from \Illuminate\Support\Manager - return \Illuminate\Notifications\ChannelManager::getDrivers(); + return \Illuminate\Support\Testing\Fakes\NotificationFake::hasMacro($name); } - } + /** + * Flush the existing macros. + * + * @return void + * @static + */ + public static function flushMacros() + { + \Illuminate\Support\Testing\Fakes\NotificationFake::flushMacros(); + } - class Password extends \Illuminate\Support\Facades\Password - { + } + /** + * + * + * @method static string sendResetLink(array $credentials, \Closure|null $callback = null) + * @method static mixed reset(array $credentials, \Closure $callback) + * @method static \Illuminate\Contracts\Auth\CanResetPassword|null getUser(array $credentials) + * @method static string createToken(\Illuminate\Contracts\Auth\CanResetPassword $user) + * @method static void deleteToken(\Illuminate\Contracts\Auth\CanResetPassword $user) + * @method static bool tokenExists(\Illuminate\Contracts\Auth\CanResetPassword $user, string $token) + * @method static \Illuminate\Auth\Passwords\TokenRepositoryInterface getRepository() + * @see \Illuminate\Auth\Passwords\PasswordBrokerManager + * @see \Illuminate\Auth\Passwords\PasswordBroker + */ + class Password { /** * Attempt to get the broker from the local cache. * - * @param string $name - * @return \Illuminate\Contracts\Auth\PasswordBroker - * @static + * @param string|null $name + * @return \Illuminate\Contracts\Auth\PasswordBroker + * @static */ public static function broker($name = null) { - return \Illuminate\Auth\Passwords\PasswordBrokerManager::broker($name); + /** @var \Illuminate\Auth\Passwords\PasswordBrokerManager $instance */ + return $instance->broker($name); } /** * Get the default password broker name. * - * @return string - * @static + * @return string + * @static */ public static function getDefaultDriver() { - return \Illuminate\Auth\Passwords\PasswordBrokerManager::getDefaultDriver(); + /** @var \Illuminate\Auth\Passwords\PasswordBrokerManager $instance */ + return $instance->getDefaultDriver(); } /** * Set the default password broker name. * * @param string $name - * @return void - * @static + * @return void + * @static */ public static function setDefaultDriver($name) { - \Illuminate\Auth\Passwords\PasswordBrokerManager::setDefaultDriver($name); + /** @var \Illuminate\Auth\Passwords\PasswordBrokerManager $instance */ + $instance->setDefaultDriver($name); } - } + } + /** + * + * + * @method static \Illuminate\Process\PendingProcess command(array|string $command) + * @method static \Illuminate\Process\PendingProcess path(string $path) + * @method static \Illuminate\Process\PendingProcess timeout(int $timeout) + * @method static \Illuminate\Process\PendingProcess idleTimeout(int $timeout) + * @method static \Illuminate\Process\PendingProcess forever() + * @method static \Illuminate\Process\PendingProcess env(array $environment) + * @method static \Illuminate\Process\PendingProcess input(\Traversable|resource|string|int|float|bool|null $input) + * @method static \Illuminate\Process\PendingProcess quietly() + * @method static \Illuminate\Process\PendingProcess tty(bool $tty = true) + * @method static \Illuminate\Process\PendingProcess options(array $options) + * @method static \Illuminate\Contracts\Process\ProcessResult run(array|string|null $command = null, callable|null $output = null) + * @method static \Illuminate\Process\InvokedProcess start(array|string|null $command = null, callable|null $output = null) + * @method static \Illuminate\Process\PendingProcess withFakeHandlers(array $fakeHandlers) + * @method static \Illuminate\Process\PendingProcess|mixed when(\Closure|mixed|null $value = null, callable|null $callback = null, callable|null $default = null) + * @method static \Illuminate\Process\PendingProcess|mixed unless(\Closure|mixed|null $value = null, callable|null $callback = null, callable|null $default = null) + * @see \Illuminate\Process\PendingProcess + * @see \Illuminate\Process\Factory + */ + class Process { + /** + * Create a new fake process response for testing purposes. + * + * @param array|string $output + * @param array|string $errorOutput + * @param int $exitCode + * @return \Illuminate\Process\FakeProcessResult + * @static + */ + public static function result($output = '', $errorOutput = '', $exitCode = 0) + { + /** @var \Illuminate\Process\Factory $instance */ + return $instance->result($output, $errorOutput, $exitCode); + } - class Queue extends \Illuminate\Support\Facades\Queue - { + /** + * Begin describing a fake process lifecycle. + * + * @return \Illuminate\Process\FakeProcessDescription + * @static + */ + public static function describe() + { + /** @var \Illuminate\Process\Factory $instance */ + return $instance->describe(); + } + + /** + * Begin describing a fake process sequence. + * + * @param array $processes + * @return \Illuminate\Process\FakeProcessSequence + * @static + */ + public static function sequence($processes = []) + { + /** @var \Illuminate\Process\Factory $instance */ + return $instance->sequence($processes); + } + + /** + * Indicate that the process factory should fake processes. + * + * @param \Closure|array|null $callback + * @return \Illuminate\Process\Factory + * @static + */ + public static function fake($callback = null) + { + /** @var \Illuminate\Process\Factory $instance */ + return $instance->fake($callback); + } + + /** + * Determine if the process factory has fake process handlers and is recording processes. + * + * @return bool + * @static + */ + public static function isRecording() + { + /** @var \Illuminate\Process\Factory $instance */ + return $instance->isRecording(); + } + + /** + * Record the given process if processes should be recorded. + * + * @param \Illuminate\Process\PendingProcess $process + * @param \Illuminate\Contracts\Process\ProcessResult $result + * @return \Illuminate\Process\Factory + * @static + */ + public static function recordIfRecording($process, $result) + { + /** @var \Illuminate\Process\Factory $instance */ + return $instance->recordIfRecording($process, $result); + } + + /** + * Record the given process. + * + * @param \Illuminate\Process\PendingProcess $process + * @param \Illuminate\Contracts\Process\ProcessResult $result + * @return \Illuminate\Process\Factory + * @static + */ + public static function record($process, $result) + { + /** @var \Illuminate\Process\Factory $instance */ + return $instance->record($process, $result); + } + + /** + * Indicate that an exception should be thrown if any process is not faked. + * + * @param bool $prevent + * @return \Illuminate\Process\Factory + * @static + */ + public static function preventStrayProcesses($prevent = true) + { + /** @var \Illuminate\Process\Factory $instance */ + return $instance->preventStrayProcesses($prevent); + } + + /** + * Determine if stray processes are being prevented. + * + * @return bool + * @static + */ + public static function preventingStrayProcesses() + { + /** @var \Illuminate\Process\Factory $instance */ + return $instance->preventingStrayProcesses(); + } + + /** + * Assert that a process was recorded matching a given truth test. + * + * @param \Closure|string $callback + * @return \Illuminate\Process\Factory + * @static + */ + public static function assertRan($callback) + { + /** @var \Illuminate\Process\Factory $instance */ + return $instance->assertRan($callback); + } + + /** + * Assert that a process was recorded a given number of times matching a given truth test. + * + * @param \Closure|string $callback + * @param int $times + * @return \Illuminate\Process\Factory + * @static + */ + public static function assertRanTimes($callback, $times = 1) + { + /** @var \Illuminate\Process\Factory $instance */ + return $instance->assertRanTimes($callback, $times); + } + + /** + * Assert that a process was not recorded matching a given truth test. + * + * @param \Closure|string $callback + * @return \Illuminate\Process\Factory + * @static + */ + public static function assertNotRan($callback) + { + /** @var \Illuminate\Process\Factory $instance */ + return $instance->assertNotRan($callback); + } + + /** + * Assert that a process was not recorded matching a given truth test. + * + * @param \Closure|string $callback + * @return \Illuminate\Process\Factory + * @static + */ + public static function assertDidntRun($callback) + { + /** @var \Illuminate\Process\Factory $instance */ + return $instance->assertDidntRun($callback); + } + + /** + * Assert that no processes were recorded. + * + * @return \Illuminate\Process\Factory + * @static + */ + public static function assertNothingRan() + { + /** @var \Illuminate\Process\Factory $instance */ + return $instance->assertNothingRan(); + } + + /** + * Start defining a pool of processes. + * + * @param callable $callback + * @return \Illuminate\Process\Pool + * @static + */ + public static function pool($callback) + { + /** @var \Illuminate\Process\Factory $instance */ + return $instance->pool($callback); + } + + /** + * Start defining a series of piped processes. + * + * @param callable|array $callback + * @return \Illuminate\Contracts\Process\ProcessResult + * @static + */ + public static function pipe($callback, $output = null) + { + /** @var \Illuminate\Process\Factory $instance */ + return $instance->pipe($callback, $output); + } + + /** + * Run a pool of processes and wait for them to finish executing. + * + * @param callable $callback + * @param callable|null $output + * @return \Illuminate\Process\ProcessPoolResults + * @static + */ + public static function concurrently($callback, $output = null) + { + /** @var \Illuminate\Process\Factory $instance */ + return $instance->concurrently($callback, $output); + } + + /** + * Create a new pending process associated with this factory. + * + * @return \Illuminate\Process\PendingProcess + * @static + */ + public static function newPendingProcess() + { + /** @var \Illuminate\Process\Factory $instance */ + return $instance->newPendingProcess(); + } + + /** + * Register a custom macro. + * + * @param string $name + * @param object|callable $macro + * @param-closure-this static $macro + * @return void + * @static + */ + public static function macro($name, $macro) + { + \Illuminate\Process\Factory::macro($name, $macro); + } + + /** + * Mix another object into the class. + * + * @param object $mixin + * @param bool $replace + * @return void + * @throws \ReflectionException + * @static + */ + public static function mixin($mixin, $replace = true) + { + \Illuminate\Process\Factory::mixin($mixin, $replace); + } + + /** + * Checks if macro is registered. + * + * @param string $name + * @return bool + * @static + */ + public static function hasMacro($name) + { + return \Illuminate\Process\Factory::hasMacro($name); + } + + /** + * Flush the existing macros. + * + * @return void + * @static + */ + public static function flushMacros() + { + \Illuminate\Process\Factory::flushMacros(); + } + + /** + * Dynamically handle calls to the class. + * + * @param string $method + * @param array $parameters + * @return mixed + * @throws \BadMethodCallException + * @static + */ + public static function macroCall($method, $parameters) + { + /** @var \Illuminate\Process\Factory $instance */ + return $instance->macroCall($method, $parameters); + } + + } + /** + * + * + * @see \Illuminate\Queue\QueueManager + * @see \Illuminate\Queue\Queue + * @see \Illuminate\Support\Testing\Fakes\QueueFake + */ + class Queue { /** * Register an event listener for the before job event. * * @param mixed $callback - * @return void - * @static + * @return void + * @static */ public static function before($callback) { - \Illuminate\Queue\QueueManager::before($callback); + /** @var \Illuminate\Queue\QueueManager $instance */ + $instance->before($callback); } /** * Register an event listener for the after job event. * * @param mixed $callback - * @return void - * @static + * @return void + * @static */ public static function after($callback) { - \Illuminate\Queue\QueueManager::after($callback); + /** @var \Illuminate\Queue\QueueManager $instance */ + $instance->after($callback); } /** * Register an event listener for the exception occurred job event. * * @param mixed $callback - * @return void - * @static + * @return void + * @static */ public static function exceptionOccurred($callback) { - \Illuminate\Queue\QueueManager::exceptionOccurred($callback); + /** @var \Illuminate\Queue\QueueManager $instance */ + $instance->exceptionOccurred($callback); } /** * Register an event listener for the daemon queue loop. * * @param mixed $callback - * @return void - * @static + * @return void + * @static */ public static function looping($callback) { - \Illuminate\Queue\QueueManager::looping($callback); + /** @var \Illuminate\Queue\QueueManager $instance */ + $instance->looping($callback); } /** * Register an event listener for the failed job event. * * @param mixed $callback - * @return void - * @static + * @return void + * @static */ public static function failing($callback) { - \Illuminate\Queue\QueueManager::failing($callback); + /** @var \Illuminate\Queue\QueueManager $instance */ + $instance->failing($callback); } /** * Register an event listener for the daemon queue stopping. * * @param mixed $callback - * @return void - * @static + * @return void + * @static */ public static function stopping($callback) { - \Illuminate\Queue\QueueManager::stopping($callback); + /** @var \Illuminate\Queue\QueueManager $instance */ + $instance->stopping($callback); } /** * Determine if the driver is connected. * - * @param string $name - * @return bool - * @static + * @param string|null $name + * @return bool + * @static */ public static function connected($name = null) { - return \Illuminate\Queue\QueueManager::connected($name); + /** @var \Illuminate\Queue\QueueManager $instance */ + return $instance->connected($name); } /** * Resolve a queue connection instance. * - * @param string $name - * @return \Illuminate\Contracts\Queue\Queue - * @static + * @param string|null $name + * @return \Illuminate\Contracts\Queue\Queue + * @static */ public static function connection($name = null) { - return \Illuminate\Queue\QueueManager::connection($name); + /** @var \Illuminate\Queue\QueueManager $instance */ + return $instance->connection($name); } /** @@ -7640,12 +12128,13 @@ namespace { * * @param string $driver * @param \Closure $resolver - * @return void - * @static + * @return void + * @static */ public static function extend($driver, $resolver) { - \Illuminate\Queue\QueueManager::extend($driver, $resolver); + /** @var \Illuminate\Queue\QueueManager $instance */ + $instance->extend($driver, $resolver); } /** @@ -7653,157 +12142,355 @@ namespace { * * @param string $driver * @param \Closure $resolver - * @return void - * @static + * @return void + * @static */ public static function addConnector($driver, $resolver) { - \Illuminate\Queue\QueueManager::addConnector($driver, $resolver); + /** @var \Illuminate\Queue\QueueManager $instance */ + $instance->addConnector($driver, $resolver); } /** * Get the name of the default queue connection. * - * @return string - * @static + * @return string + * @static */ public static function getDefaultDriver() { - return \Illuminate\Queue\QueueManager::getDefaultDriver(); + /** @var \Illuminate\Queue\QueueManager $instance */ + return $instance->getDefaultDriver(); } /** * Set the name of the default queue connection. * * @param string $name - * @return void - * @static + * @return void + * @static */ public static function setDefaultDriver($name) { - \Illuminate\Queue\QueueManager::setDefaultDriver($name); + /** @var \Illuminate\Queue\QueueManager $instance */ + $instance->setDefaultDriver($name); } /** * Get the full name for the given connection. * - * @param string $connection - * @return string - * @static + * @param string|null $connection + * @return string + * @static */ public static function getName($connection = null) { - return \Illuminate\Queue\QueueManager::getName($connection); + /** @var \Illuminate\Queue\QueueManager $instance */ + return $instance->getName($connection); } /** - * Determine if the application is in maintenance mode. + * Get the application instance used by the manager. * - * @return bool - * @static + * @return \Illuminate\Contracts\Foundation\Application + * @static */ - public static function isDownForMaintenance() + public static function getApplication() { - return \Illuminate\Queue\QueueManager::isDownForMaintenance(); + /** @var \Illuminate\Queue\QueueManager $instance */ + return $instance->getApplication(); + } + + /** + * Set the application instance used by the manager. + * + * @param \Illuminate\Contracts\Foundation\Application $app + * @return \Illuminate\Queue\QueueManager + * @static + */ + public static function setApplication($app) + { + /** @var \Illuminate\Queue\QueueManager $instance */ + return $instance->setApplication($app); + } + + /** + * Specify the jobs that should be queued instead of faked. + * + * @param array|string $jobsToBeQueued + * @return \Illuminate\Support\Testing\Fakes\QueueFake + * @static + */ + public static function except($jobsToBeQueued) + { + /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ + return $instance->except($jobsToBeQueued); + } + + /** + * Assert if a job was pushed based on a truth-test callback. + * + * @param string|\Closure $job + * @param callable|int|null $callback + * @return void + * @static + */ + public static function assertPushed($job, $callback = null) + { + /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ + $instance->assertPushed($job, $callback); + } + + /** + * Assert if a job was pushed based on a truth-test callback. + * + * @param string $queue + * @param string|\Closure $job + * @param callable|null $callback + * @return void + * @static + */ + public static function assertPushedOn($queue, $job, $callback = null) + { + /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ + $instance->assertPushedOn($queue, $job, $callback); + } + + /** + * Assert if a job was pushed with chained jobs based on a truth-test callback. + * + * @param string $job + * @param array $expectedChain + * @param callable|null $callback + * @return void + * @static + */ + public static function assertPushedWithChain($job, $expectedChain = [], $callback = null) + { + /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ + $instance->assertPushedWithChain($job, $expectedChain, $callback); + } + + /** + * Assert if a job was pushed with an empty chain based on a truth-test callback. + * + * @param string $job + * @param callable|null $callback + * @return void + * @static + */ + public static function assertPushedWithoutChain($job, $callback = null) + { + /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ + $instance->assertPushedWithoutChain($job, $callback); + } + + /** + * Assert if a closure was pushed based on a truth-test callback. + * + * @param callable|int|null $callback + * @return void + * @static + */ + public static function assertClosurePushed($callback = null) + { + /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ + $instance->assertClosurePushed($callback); + } + + /** + * Assert that a closure was not pushed based on a truth-test callback. + * + * @param callable|null $callback + * @return void + * @static + */ + public static function assertClosureNotPushed($callback = null) + { + /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ + $instance->assertClosureNotPushed($callback); + } + + /** + * Determine if a job was pushed based on a truth-test callback. + * + * @param string|\Closure $job + * @param callable|null $callback + * @return void + * @static + */ + public static function assertNotPushed($job, $callback = null) + { + /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ + $instance->assertNotPushed($job, $callback); + } + + /** + * Assert the total count of jobs that were pushed. + * + * @param int $expectedCount + * @return void + * @static + */ + public static function assertCount($expectedCount) + { + /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ + $instance->assertCount($expectedCount); + } + + /** + * Assert that no jobs were pushed. + * + * @return void + * @static + */ + public static function assertNothingPushed() + { + /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ + $instance->assertNothingPushed(); + } + + /** + * Get all of the jobs matching a truth-test callback. + * + * @param string $job + * @param callable|null $callback + * @return \Illuminate\Support\Collection + * @static + */ + public static function pushed($job, $callback = null) + { + /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ + return $instance->pushed($job, $callback); + } + + /** + * Determine if there are any stored jobs for a given class. + * + * @param string $job + * @return bool + * @static + */ + public static function hasPushed($job) + { + /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ + return $instance->hasPushed($job); } /** * Get the size of the queue. * - * @param string $queue - * @return int - * @static + * @param string|null $queue + * @return int + * @static */ public static function size($queue = null) { - return \Illuminate\Queue\SyncQueue::size($queue); + /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ + return $instance->size($queue); } /** * Push a new job onto the queue. * - * @param string $job + * @param string|object $job * @param mixed $data - * @param string $queue - * @return mixed - * @throws \Exception|\Throwable - * @static + * @param string|null $queue + * @return mixed + * @static */ public static function push($job, $data = '', $queue = null) { - return \Illuminate\Queue\SyncQueue::push($job, $data, $queue); + /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ + return $instance->push($job, $data, $queue); + } + + /** + * Determine if a job should be faked or actually dispatched. + * + * @param object $job + * @return bool + * @static + */ + public static function shouldFakeJob($job) + { + /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ + return $instance->shouldFakeJob($job); } /** * Push a raw payload onto the queue. * * @param string $payload - * @param string $queue + * @param string|null $queue * @param array $options - * @return mixed - * @static + * @return mixed + * @static */ public static function pushRaw($payload, $queue = null, $options = []) { - return \Illuminate\Queue\SyncQueue::pushRaw($payload, $queue, $options); + /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ + return $instance->pushRaw($payload, $queue, $options); } /** - * Push a new job onto the queue after a delay. + * Push a new job onto the queue after (n) seconds. * - * @param \DateTime|int $delay - * @param string $job + * @param \DateTimeInterface|\DateInterval|int $delay + * @param string|object $job * @param mixed $data - * @param string $queue - * @return mixed - * @static + * @param string|null $queue + * @return mixed + * @static */ public static function later($delay, $job, $data = '', $queue = null) { - return \Illuminate\Queue\SyncQueue::later($delay, $job, $data, $queue); - } - - /** - * Pop the next job off of the queue. - * - * @param string $queue - * @return \Illuminate\Contracts\Queue\Job|null - * @static - */ - public static function pop($queue = null) - { - return \Illuminate\Queue\SyncQueue::pop($queue); + /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ + return $instance->later($delay, $job, $data, $queue); } /** * Push a new job onto the queue. * * @param string $queue - * @param string $job + * @param string|object $job * @param mixed $data - * @return mixed - * @static + * @return mixed + * @static */ public static function pushOn($queue, $job, $data = '') { - //Method inherited from \Illuminate\Queue\Queue - return \Illuminate\Queue\SyncQueue::pushOn($queue, $job, $data); + /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ + return $instance->pushOn($queue, $job, $data); } /** - * Push a new job onto the queue after a delay. + * Push a new job onto a specific queue after (n) seconds. * * @param string $queue - * @param \DateTime|int $delay - * @param string $job + * @param \DateTimeInterface|\DateInterval|int $delay + * @param string|object $job * @param mixed $data - * @return mixed - * @static + * @return mixed + * @static */ public static function laterOn($queue, $delay, $job, $data = '') { - //Method inherited from \Illuminate\Queue\Queue - return \Illuminate\Queue\SyncQueue::laterOn($queue, $delay, $job, $data); + /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ + return $instance->laterOn($queue, $delay, $job, $data); + } + + /** + * Pop the next job off of the queue. + * + * @param string|null $queue + * @return \Illuminate\Contracts\Queue\Job|null + * @static + */ + public static function pop($queue = null) + { + /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ + return $instance->pop($queue); } /** @@ -7811,82 +12498,369 @@ namespace { * * @param array $jobs * @param mixed $data - * @param string $queue - * @return mixed - * @static + * @param string|null $queue + * @return mixed + * @static */ public static function bulk($jobs, $data = '', $queue = null) { - //Method inherited from \Illuminate\Queue\Queue - return \Illuminate\Queue\SyncQueue::bulk($jobs, $data, $queue); + /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ + return $instance->bulk($jobs, $data, $queue); + } + + /** + * Get the jobs that have been pushed. + * + * @return array + * @static + */ + public static function pushedJobs() + { + /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ + return $instance->pushedJobs(); + } + + /** + * Specify if jobs should be serialized and restored when being "pushed" to the queue. + * + * @param bool $serializeAndRestore + * @return \Illuminate\Support\Testing\Fakes\QueueFake + * @static + */ + public static function serializeAndRestore($serializeAndRestore = true) + { + /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ + return $instance->serializeAndRestore($serializeAndRestore); } /** * Get the connection name for the queue. * - * @return string - * @static + * @return string + * @static */ public static function getConnectionName() { - //Method inherited from \Illuminate\Queue\Queue - return \Illuminate\Queue\SyncQueue::getConnectionName(); + /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ + return $instance->getConnectionName(); } /** * Set the connection name for the queue. * * @param string $name - * @return $this - * @static + * @return \Illuminate\Support\Testing\Fakes\QueueFake + * @static */ public static function setConnectionName($name) { - //Method inherited from \Illuminate\Queue\Queue - return \Illuminate\Queue\SyncQueue::setConnectionName($name); + /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ + return $instance->setConnectionName($name); + } + + /** + * Get the maximum number of attempts for an object-based queue handler. + * + * @param mixed $job + * @return mixed + * @static + */ + public static function getJobTries($job) + { + //Method inherited from \Illuminate\Queue\Queue + /** @var \Illuminate\Queue\SyncQueue $instance */ + return $instance->getJobTries($job); + } + + /** + * Get the backoff for an object-based queue handler. + * + * @param mixed $job + * @return mixed + * @static + */ + public static function getJobBackoff($job) + { + //Method inherited from \Illuminate\Queue\Queue + /** @var \Illuminate\Queue\SyncQueue $instance */ + return $instance->getJobBackoff($job); + } + + /** + * Get the expiration timestamp for an object-based queue handler. + * + * @param mixed $job + * @return mixed + * @static + */ + public static function getJobExpiration($job) + { + //Method inherited from \Illuminate\Queue\Queue + /** @var \Illuminate\Queue\SyncQueue $instance */ + return $instance->getJobExpiration($job); + } + + /** + * Register a callback to be executed when creating job payloads. + * + * @param callable|null $callback + * @return void + * @static + */ + public static function createPayloadUsing($callback) + { + //Method inherited from \Illuminate\Queue\Queue + \Illuminate\Queue\SyncQueue::createPayloadUsing($callback); + } + + /** + * Get the container instance being used by the connection. + * + * @return \Illuminate\Container\Container + * @static + */ + public static function getContainer() + { + //Method inherited from \Illuminate\Queue\Queue + /** @var \Illuminate\Queue\SyncQueue $instance */ + return $instance->getContainer(); } /** * Set the IoC container instance. * * @param \Illuminate\Container\Container $container - * @return void - * @static + * @return void + * @static */ public static function setContainer($container) { - //Method inherited from \Illuminate\Queue\Queue - \Illuminate\Queue\SyncQueue::setContainer($container); + //Method inherited from \Illuminate\Queue\Queue + /** @var \Illuminate\Queue\SyncQueue $instance */ + $instance->setContainer($container); } - } - - class Redirect extends \Illuminate\Support\Facades\Redirect - { + } + /** + * + * + * @see \Illuminate\Cache\RateLimiter + */ + class RateLimiter { /** - * Create a new redirect response to the "home" route. + * Register a named limiter configuration. * - * @param int $status - * @return \Illuminate\Http\RedirectResponse - * @static + * @param \BackedEnum|\UnitEnum|string $name + * @param \Closure $callback + * @return \Illuminate\Cache\RateLimiter + * @static */ - public static function home($status = 302) + public static function for($name, $callback) { - return \Illuminate\Routing\Redirector::home($status); + /** @var \Illuminate\Cache\RateLimiter $instance */ + return $instance->for($name, $callback); } + /** + * Get the given named rate limiter. + * + * @param \BackedEnum|\UnitEnum|string $name + * @return \Closure|null + * @static + */ + public static function limiter($name) + { + /** @var \Illuminate\Cache\RateLimiter $instance */ + return $instance->limiter($name); + } + + /** + * Attempts to execute a callback if it's not limited. + * + * @param string $key + * @param int $maxAttempts + * @param \Closure $callback + * @param int $decaySeconds + * @return mixed + * @static + */ + public static function attempt($key, $maxAttempts, $callback, $decaySeconds = 60) + { + /** @var \Illuminate\Cache\RateLimiter $instance */ + return $instance->attempt($key, $maxAttempts, $callback, $decaySeconds); + } + + /** + * Determine if the given key has been "accessed" too many times. + * + * @param string $key + * @param int $maxAttempts + * @return bool + * @static + */ + public static function tooManyAttempts($key, $maxAttempts) + { + /** @var \Illuminate\Cache\RateLimiter $instance */ + return $instance->tooManyAttempts($key, $maxAttempts); + } + + /** + * Increment (by 1) the counter for a given key for a given decay time. + * + * @param string $key + * @param int $decaySeconds + * @return int + * @static + */ + public static function hit($key, $decaySeconds = 60) + { + /** @var \Illuminate\Cache\RateLimiter $instance */ + return $instance->hit($key, $decaySeconds); + } + + /** + * Increment the counter for a given key for a given decay time by a given amount. + * + * @param string $key + * @param int $decaySeconds + * @param int $amount + * @return int + * @static + */ + public static function increment($key, $decaySeconds = 60, $amount = 1) + { + /** @var \Illuminate\Cache\RateLimiter $instance */ + return $instance->increment($key, $decaySeconds, $amount); + } + + /** + * Decrement the counter for a given key for a given decay time by a given amount. + * + * @param string $key + * @param int $decaySeconds + * @param int $amount + * @return int + * @static + */ + public static function decrement($key, $decaySeconds = 60, $amount = 1) + { + /** @var \Illuminate\Cache\RateLimiter $instance */ + return $instance->decrement($key, $decaySeconds, $amount); + } + + /** + * Get the number of attempts for the given key. + * + * @param string $key + * @return mixed + * @static + */ + public static function attempts($key) + { + /** @var \Illuminate\Cache\RateLimiter $instance */ + return $instance->attempts($key); + } + + /** + * Reset the number of attempts for the given key. + * + * @param string $key + * @return mixed + * @static + */ + public static function resetAttempts($key) + { + /** @var \Illuminate\Cache\RateLimiter $instance */ + return $instance->resetAttempts($key); + } + + /** + * Get the number of retries left for the given key. + * + * @param string $key + * @param int $maxAttempts + * @return int + * @static + */ + public static function remaining($key, $maxAttempts) + { + /** @var \Illuminate\Cache\RateLimiter $instance */ + return $instance->remaining($key, $maxAttempts); + } + + /** + * Get the number of retries left for the given key. + * + * @param string $key + * @param int $maxAttempts + * @return int + * @static + */ + public static function retriesLeft($key, $maxAttempts) + { + /** @var \Illuminate\Cache\RateLimiter $instance */ + return $instance->retriesLeft($key, $maxAttempts); + } + + /** + * Clear the hits and lockout timer for the given key. + * + * @param string $key + * @return void + * @static + */ + public static function clear($key) + { + /** @var \Illuminate\Cache\RateLimiter $instance */ + $instance->clear($key); + } + + /** + * Get the number of seconds until the "key" is accessible again. + * + * @param string $key + * @return int + * @static + */ + public static function availableIn($key) + { + /** @var \Illuminate\Cache\RateLimiter $instance */ + return $instance->availableIn($key); + } + + /** + * Clean the rate limiter key from unicode characters. + * + * @param string $key + * @return string + * @static + */ + public static function cleanRateLimiterKey($key) + { + /** @var \Illuminate\Cache\RateLimiter $instance */ + return $instance->cleanRateLimiterKey($key); + } + + } + /** + * + * + * @see \Illuminate\Routing\Redirector + */ + class Redirect { /** * Create a new redirect response to the previous location. * * @param int $status * @param array $headers * @param mixed $fallback - * @return \Illuminate\Http\RedirectResponse - * @static + * @return \Illuminate\Http\RedirectResponse + * @static */ public static function back($status = 302, $headers = [], $fallback = false) { - return \Illuminate\Routing\Redirector::back($status, $headers, $fallback); + /** @var \Illuminate\Routing\Redirector $instance */ + return $instance->back($status, $headers, $fallback); } /** @@ -7894,12 +12868,13 @@ namespace { * * @param int $status * @param array $headers - * @return \Illuminate\Http\RedirectResponse - * @static + * @return \Illuminate\Http\RedirectResponse + * @static */ public static function refresh($status = 302, $headers = []) { - return \Illuminate\Routing\Redirector::refresh($status, $headers); + /** @var \Illuminate\Routing\Redirector $instance */ + return $instance->refresh($status, $headers); } /** @@ -7908,28 +12883,30 @@ namespace { * @param string $path * @param int $status * @param array $headers - * @param bool $secure - * @return \Illuminate\Http\RedirectResponse - * @static + * @param bool|null $secure + * @return \Illuminate\Http\RedirectResponse + * @static */ public static function guest($path, $status = 302, $headers = [], $secure = null) { - return \Illuminate\Routing\Redirector::guest($path, $status, $headers, $secure); + /** @var \Illuminate\Routing\Redirector $instance */ + return $instance->guest($path, $status, $headers, $secure); } /** * Create a new redirect response to the previously intended location. * - * @param string $default + * @param mixed $default * @param int $status * @param array $headers - * @param bool $secure - * @return \Illuminate\Http\RedirectResponse - * @static + * @param bool|null $secure + * @return \Illuminate\Http\RedirectResponse + * @static */ public static function intended($default = '/', $status = 302, $headers = [], $secure = null) { - return \Illuminate\Routing\Redirector::intended($default, $status, $headers, $secure); + /** @var \Illuminate\Routing\Redirector $instance */ + return $instance->intended($default, $status, $headers, $secure); } /** @@ -7938,13 +12915,14 @@ namespace { * @param string $path * @param int $status * @param array $headers - * @param bool $secure - * @return \Illuminate\Http\RedirectResponse - * @static + * @param bool|null $secure + * @return \Illuminate\Http\RedirectResponse + * @static */ public static function to($path, $status = 302, $headers = [], $secure = null) { - return \Illuminate\Routing\Redirector::to($path, $status, $headers, $secure); + /** @var \Illuminate\Routing\Redirector $instance */ + return $instance->to($path, $status, $headers, $secure); } /** @@ -7953,12 +12931,13 @@ namespace { * @param string $path * @param int $status * @param array $headers - * @return \Illuminate\Http\RedirectResponse - * @static + * @return \Illuminate\Http\RedirectResponse + * @static */ public static function away($path, $status = 302, $headers = []) { - return \Illuminate\Routing\Redirector::away($path, $status, $headers); + /** @var \Illuminate\Routing\Redirector $instance */ + return $instance->away($path, $status, $headers); } /** @@ -7967,76 +12946,197 @@ namespace { * @param string $path * @param int $status * @param array $headers - * @return \Illuminate\Http\RedirectResponse - * @static + * @return \Illuminate\Http\RedirectResponse + * @static */ public static function secure($path, $status = 302, $headers = []) { - return \Illuminate\Routing\Redirector::secure($path, $status, $headers); + /** @var \Illuminate\Routing\Redirector $instance */ + return $instance->secure($path, $status, $headers); } /** * Create a new redirect response to a named route. * - * @param string $route - * @param array $parameters + * @param \BackedEnum|string $route + * @param mixed $parameters * @param int $status * @param array $headers - * @return \Illuminate\Http\RedirectResponse - * @static + * @return \Illuminate\Http\RedirectResponse + * @static */ public static function route($route, $parameters = [], $status = 302, $headers = []) { - return \Illuminate\Routing\Redirector::route($route, $parameters, $status, $headers); + /** @var \Illuminate\Routing\Redirector $instance */ + return $instance->route($route, $parameters, $status, $headers); + } + + /** + * Create a new redirect response to a signed named route. + * + * @param \BackedEnum|string $route + * @param mixed $parameters + * @param \DateTimeInterface|\DateInterval|int|null $expiration + * @param int $status + * @param array $headers + * @return \Illuminate\Http\RedirectResponse + * @static + */ + public static function signedRoute($route, $parameters = [], $expiration = null, $status = 302, $headers = []) + { + /** @var \Illuminate\Routing\Redirector $instance */ + return $instance->signedRoute($route, $parameters, $expiration, $status, $headers); + } + + /** + * Create a new redirect response to a signed named route. + * + * @param \BackedEnum|string $route + * @param \DateTimeInterface|\DateInterval|int|null $expiration + * @param mixed $parameters + * @param int $status + * @param array $headers + * @return \Illuminate\Http\RedirectResponse + * @static + */ + public static function temporarySignedRoute($route, $expiration, $parameters = [], $status = 302, $headers = []) + { + /** @var \Illuminate\Routing\Redirector $instance */ + return $instance->temporarySignedRoute($route, $expiration, $parameters, $status, $headers); } /** * Create a new redirect response to a controller action. * - * @param string $action - * @param array $parameters + * @param string|array $action + * @param mixed $parameters * @param int $status * @param array $headers - * @return \Illuminate\Http\RedirectResponse - * @static + * @return \Illuminate\Http\RedirectResponse + * @static */ public static function action($action, $parameters = [], $status = 302, $headers = []) { - return \Illuminate\Routing\Redirector::action($action, $parameters, $status, $headers); + /** @var \Illuminate\Routing\Redirector $instance */ + return $instance->action($action, $parameters, $status, $headers); } /** * Get the URL generator instance. * - * @return \Illuminate\Routing\UrlGenerator - * @static + * @return \Illuminate\Routing\UrlGenerator + * @static */ public static function getUrlGenerator() { - return \Illuminate\Routing\Redirector::getUrlGenerator(); + /** @var \Illuminate\Routing\Redirector $instance */ + return $instance->getUrlGenerator(); } /** * Set the active session store. * * @param \Illuminate\Session\Store $session - * @return void - * @static + * @return void + * @static */ public static function setSession($session) { - \Illuminate\Routing\Redirector::setSession($session); + /** @var \Illuminate\Routing\Redirector $instance */ + $instance->setSession($session); } - } + /** + * Get the "intended" URL from the session. + * + * @return string|null + * @static + */ + public static function getIntendedUrl() + { + /** @var \Illuminate\Routing\Redirector $instance */ + return $instance->getIntendedUrl(); + } - class Request extends \Illuminate\Support\Facades\Request - { + /** + * Set the "intended" URL in the session. + * + * @param string $url + * @return \Illuminate\Routing\Redirector + * @static + */ + public static function setIntendedUrl($url) + { + /** @var \Illuminate\Routing\Redirector $instance */ + return $instance->setIntendedUrl($url); + } + + /** + * Register a custom macro. + * + * @param string $name + * @param object|callable $macro + * @param-closure-this static $macro + * @return void + * @static + */ + public static function macro($name, $macro) + { + \Illuminate\Routing\Redirector::macro($name, $macro); + } + + /** + * Mix another object into the class. + * + * @param object $mixin + * @param bool $replace + * @return void + * @throws \ReflectionException + * @static + */ + public static function mixin($mixin, $replace = true) + { + \Illuminate\Routing\Redirector::mixin($mixin, $replace); + } + + /** + * Checks if macro is registered. + * + * @param string $name + * @return bool + * @static + */ + public static function hasMacro($name) + { + return \Illuminate\Routing\Redirector::hasMacro($name); + } + + /** + * Flush the existing macros. + * + * @return void + * @static + */ + public static function flushMacros() + { + \Illuminate\Routing\Redirector::flushMacros(); + } + + } + /** + * + * + * @method static array validate(array $rules, ...$params) + * @method static array validateWithBag(string $errorBag, array $rules, ...$params) + * @method static bool hasValidSignature(bool $absolute = true) + * @see \Illuminate\Http\Request + */ + class Request { /** * Create a new Illuminate HTTP request from server variables. * - * @return static - * @static + * @return static + * @static */ public static function capture() { @@ -8046,90 +13146,123 @@ namespace { /** * Return the Request instance. * - * @return $this - * @static + * @return \Illuminate\Http\Request + * @static */ public static function instance() { - return \Illuminate\Http\Request::instance(); + /** @var \Illuminate\Http\Request $instance */ + return $instance->instance(); } /** * Get the request method. * - * @return string - * @static + * @return string + * @static */ public static function method() { - return \Illuminate\Http\Request::method(); + /** @var \Illuminate\Http\Request $instance */ + return $instance->method(); + } + + /** + * Get a URI instance for the request. + * + * @return \Illuminate\Support\Uri + * @static + */ + public static function uri() + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->uri(); } /** * Get the root URL for the application. * - * @return string - * @static + * @return string + * @static */ public static function root() { - return \Illuminate\Http\Request::root(); + /** @var \Illuminate\Http\Request $instance */ + return $instance->root(); } /** * Get the URL (no query string) for the request. * - * @return string - * @static + * @return string + * @static */ public static function url() { - return \Illuminate\Http\Request::url(); + /** @var \Illuminate\Http\Request $instance */ + return $instance->url(); } /** * Get the full URL for the request. * - * @return string - * @static + * @return string + * @static */ public static function fullUrl() { - return \Illuminate\Http\Request::fullUrl(); + /** @var \Illuminate\Http\Request $instance */ + return $instance->fullUrl(); } /** * Get the full URL for the request with the added query string parameters. * * @param array $query - * @return string - * @static + * @return string + * @static */ public static function fullUrlWithQuery($query) { - return \Illuminate\Http\Request::fullUrlWithQuery($query); + /** @var \Illuminate\Http\Request $instance */ + return $instance->fullUrlWithQuery($query); + } + + /** + * Get the full URL for the request without the given query string parameters. + * + * @param array|string $keys + * @return string + * @static + */ + public static function fullUrlWithoutQuery($keys) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->fullUrlWithoutQuery($keys); } /** * Get the current path info for the request. * - * @return string - * @static + * @return string + * @static */ public static function path() { - return \Illuminate\Http\Request::path(); + /** @var \Illuminate\Http\Request $instance */ + return $instance->path(); } /** - * Get the current encoded path info for the request. + * Get the current decoded path info for the request. * - * @return string - * @static + * @return string + * @static */ public static function decodedPath() { - return \Illuminate\Http\Request::decodedPath(); + /** @var \Illuminate\Http\Request $instance */ + return $instance->decodedPath(); } /** @@ -8137,145 +13270,274 @@ namespace { * * @param int $index * @param string|null $default - * @return string|null - * @static + * @return string|null + * @static */ public static function segment($index, $default = null) { - return \Illuminate\Http\Request::segment($index, $default); + /** @var \Illuminate\Http\Request $instance */ + return $instance->segment($index, $default); } /** * Get all of the segments for the request path. * - * @return array - * @static + * @return array + * @static */ public static function segments() { - return \Illuminate\Http\Request::segments(); + /** @var \Illuminate\Http\Request $instance */ + return $instance->segments(); } /** * Determine if the current request URI matches a pattern. * - * @return bool - * @static + * @param mixed $patterns + * @return bool + * @static */ - public static function is() + public static function is(...$patterns) { - return \Illuminate\Http\Request::is(); + /** @var \Illuminate\Http\Request $instance */ + return $instance->is(...$patterns); } /** - * Determine if the current request URL and query string matches a pattern. + * Determine if the route name matches a given pattern. * - * @return bool - * @static + * @param mixed $patterns + * @return bool + * @static */ - public static function fullUrlIs() + public static function routeIs(...$patterns) { - return \Illuminate\Http\Request::fullUrlIs(); + /** @var \Illuminate\Http\Request $instance */ + return $instance->routeIs(...$patterns); + } + + /** + * Determine if the current request URL and query string match a pattern. + * + * @param mixed $patterns + * @return bool + * @static + */ + public static function fullUrlIs(...$patterns) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->fullUrlIs(...$patterns); + } + + /** + * Get the host name. + * + * @return string + * @static + */ + public static function host() + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->host(); + } + + /** + * Get the HTTP host being requested. + * + * @return string + * @static + */ + public static function httpHost() + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->httpHost(); + } + + /** + * Get the scheme and HTTP host. + * + * @return string + * @static + */ + public static function schemeAndHttpHost() + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->schemeAndHttpHost(); } /** * Determine if the request is the result of an AJAX call. * - * @return bool - * @static + * @return bool + * @static */ public static function ajax() { - return \Illuminate\Http\Request::ajax(); + /** @var \Illuminate\Http\Request $instance */ + return $instance->ajax(); } /** - * Determine if the request is the result of an PJAX call. + * Determine if the request is the result of a PJAX call. * - * @return bool - * @static + * @return bool + * @static */ public static function pjax() { - return \Illuminate\Http\Request::pjax(); + /** @var \Illuminate\Http\Request $instance */ + return $instance->pjax(); + } + + /** + * Determine if the request is the result of a prefetch call. + * + * @return bool + * @static + */ + public static function prefetch() + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->prefetch(); } /** * Determine if the request is over HTTPS. * - * @return bool - * @static + * @return bool + * @static */ public static function secure() { - return \Illuminate\Http\Request::secure(); + /** @var \Illuminate\Http\Request $instance */ + return $instance->secure(); } /** - * Returns the client IP address. + * Get the client IP address. * - * @return string - * @static + * @return string|null + * @static */ public static function ip() { - return \Illuminate\Http\Request::ip(); + /** @var \Illuminate\Http\Request $instance */ + return $instance->ip(); } /** - * Returns the client IP addresses. + * Get the client IP addresses. * - * @return array - * @static + * @return array + * @static */ public static function ips() { - return \Illuminate\Http\Request::ips(); + /** @var \Illuminate\Http\Request $instance */ + return $instance->ips(); + } + + /** + * Get the client user agent. + * + * @return string|null + * @static + */ + public static function userAgent() + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->userAgent(); } /** * Merge new input into the current request's input array. * * @param array $input - * @return void - * @static + * @return \Illuminate\Http\Request + * @static */ public static function merge($input) { - \Illuminate\Http\Request::merge($input); + /** @var \Illuminate\Http\Request $instance */ + return $instance->merge($input); } /** - * Replace the input for the current request. + * Merge new input into the request's input, but only when that key is missing from the request. * * @param array $input - * @return void - * @static + * @return \Illuminate\Http\Request + * @static + */ + public static function mergeIfMissing($input) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->mergeIfMissing($input); + } + + /** + * Replace the input values for the current request. + * + * @param array $input + * @return \Illuminate\Http\Request + * @static */ public static function replace($input) { - \Illuminate\Http\Request::replace($input); + /** @var \Illuminate\Http\Request $instance */ + return $instance->replace($input); + } + + /** + * This method belongs to Symfony HttpFoundation and is not usually needed when using Laravel. + * + * Instead, you may use the "input" method. + * + * @param string $key + * @param mixed $default + * @return mixed + * @static + */ + public static function get($key, $default = null) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->get($key, $default); } /** * Get the JSON payload for the request. * - * @param string $key + * @param string|null $key * @param mixed $default - * @return mixed - * @static + * @return \Symfony\Component\HttpFoundation\InputBag|mixed + * @static */ public static function json($key = null, $default = null) { - return \Illuminate\Http\Request::json($key, $default); + /** @var \Illuminate\Http\Request $instance */ + return $instance->json($key, $default); + } + + /** + * Create a new request instance from the given Laravel request. + * + * @param \Illuminate\Http\Request $from + * @param \Illuminate\Http\Request|null $to + * @return static + * @static + */ + public static function createFrom($from, $to = null) + { + return \Illuminate\Http\Request::createFrom($from, $to); } /** * Create an Illuminate request from a Symfony instance. * * @param \Symfony\Component\HttpFoundation\Request $request - * @return \Illuminate\Http\Request - * @static + * @return static + * @static */ public static function createFromBase($request) { @@ -8285,159 +13547,240 @@ namespace { /** * Clones a request and overrides some of its parameters. * - * @param array $query The GET parameters - * @param array $request The POST parameters - * @param array $attributes The request attributes (parameters parsed from the PATH_INFO, ...) - * @param array $cookies The COOKIE parameters - * @param array $files The FILES parameters - * @param array $server The SERVER parameters - * @return static - * @static + * @return static + * @param array|null $query The GET parameters + * @param array|null $request The POST parameters + * @param array|null $attributes The request attributes (parameters parsed from the PATH_INFO, ...) + * @param array|null $cookies The COOKIE parameters + * @param array|null $files The FILES parameters + * @param array|null $server The SERVER parameters + * @static */ public static function duplicate($query = null, $request = null, $attributes = null, $cookies = null, $files = null, $server = null) { - return \Illuminate\Http\Request::duplicate($query, $request, $attributes, $cookies, $files, $server); + /** @var \Illuminate\Http\Request $instance */ + return $instance->duplicate($query, $request, $attributes, $cookies, $files, $server); + } + + /** + * Whether the request contains a Session object. + * + * This method does not give any information about the state of the session object, + * like whether the session is started or not. It is just a way to check if this Request + * is associated with a Session instance. + * + * @param bool $skipIfUninitialized When true, ignores factories injected by `setSessionFactory` + * @static + */ + public static function hasSession($skipIfUninitialized = false) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->hasSession($skipIfUninitialized); + } + + /** + * Gets the Session. + * + * @throws SessionNotFoundException When session is not set properly + * @static + */ + public static function getSession() + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->getSession(); } /** * Get the session associated with the request. * - * @return \Illuminate\Session\Store + * @return \Illuminate\Contracts\Session\Session * @throws \RuntimeException - * @static + * @static */ public static function session() { - return \Illuminate\Http\Request::session(); + /** @var \Illuminate\Http\Request $instance */ + return $instance->session(); } /** * Set the session instance on the request. * * @param \Illuminate\Contracts\Session\Session $session - * @return void - * @static + * @return void + * @static */ public static function setLaravelSession($session) { - \Illuminate\Http\Request::setLaravelSession($session); + /** @var \Illuminate\Http\Request $instance */ + $instance->setLaravelSession($session); + } + + /** + * Set the locale for the request instance. + * + * @param string $locale + * @return void + * @static + */ + public static function setRequestLocale($locale) + { + /** @var \Illuminate\Http\Request $instance */ + $instance->setRequestLocale($locale); + } + + /** + * Set the default locale for the request instance. + * + * @param string $locale + * @return void + * @static + */ + public static function setDefaultRequestLocale($locale) + { + /** @var \Illuminate\Http\Request $instance */ + $instance->setDefaultRequestLocale($locale); } /** * Get the user making the request. * * @param string|null $guard - * @return mixed - * @static + * @return mixed + * @static */ public static function user($guard = null) { - return \Illuminate\Http\Request::user($guard); + /** @var \Illuminate\Http\Request $instance */ + return $instance->user($guard); } /** * Get the route handling the request. * * @param string|null $param - * @return \Illuminate\Routing\Route|object|string - * @static + * @param mixed $default + * @return \Illuminate\Routing\Route|object|string|null + * @static */ - public static function route($param = null) + public static function route($param = null, $default = null) { - return \Illuminate\Http\Request::route($param); + /** @var \Illuminate\Http\Request $instance */ + return $instance->route($param, $default); } /** * Get a unique fingerprint for the request / route / IP address. * - * @return string + * @return string * @throws \RuntimeException - * @static + * @static */ public static function fingerprint() { - return \Illuminate\Http\Request::fingerprint(); + /** @var \Illuminate\Http\Request $instance */ + return $instance->fingerprint(); + } + + /** + * Set the JSON payload for the request. + * + * @param \Symfony\Component\HttpFoundation\InputBag $json + * @return \Illuminate\Http\Request + * @static + */ + public static function setJson($json) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->setJson($json); } /** * Get the user resolver callback. * - * @return \Closure - * @static + * @return \Closure + * @static */ public static function getUserResolver() { - return \Illuminate\Http\Request::getUserResolver(); + /** @var \Illuminate\Http\Request $instance */ + return $instance->getUserResolver(); } /** * Set the user resolver callback. * * @param \Closure $callback - * @return $this - * @static + * @return \Illuminate\Http\Request + * @static */ public static function setUserResolver($callback) { - return \Illuminate\Http\Request::setUserResolver($callback); + /** @var \Illuminate\Http\Request $instance */ + return $instance->setUserResolver($callback); } /** * Get the route resolver callback. * - * @return \Closure - * @static + * @return \Closure + * @static */ public static function getRouteResolver() { - return \Illuminate\Http\Request::getRouteResolver(); + /** @var \Illuminate\Http\Request $instance */ + return $instance->getRouteResolver(); } /** * Set the route resolver callback. * * @param \Closure $callback - * @return $this - * @static + * @return \Illuminate\Http\Request + * @static */ public static function setRouteResolver($callback) { - return \Illuminate\Http\Request::setRouteResolver($callback); + /** @var \Illuminate\Http\Request $instance */ + return $instance->setRouteResolver($callback); } /** * Get all of the input and files for the request. * - * @return array - * @static + * @return array + * @static */ public static function toArray() { - return \Illuminate\Http\Request::toArray(); + /** @var \Illuminate\Http\Request $instance */ + return $instance->toArray(); } /** * Determine if the given offset exists. * * @param string $offset - * @return bool - * @static + * @return bool + * @static */ public static function offsetExists($offset) { - return \Illuminate\Http\Request::offsetExists($offset); + /** @var \Illuminate\Http\Request $instance */ + return $instance->offsetExists($offset); } /** * Get the value at the given offset. * * @param string $offset - * @return mixed - * @static + * @return mixed + * @static */ public static function offsetGet($offset) { - return \Illuminate\Http\Request::offsetGet($offset); + /** @var \Illuminate\Http\Request $instance */ + return $instance->offsetGet($offset); } /** @@ -8445,29 +13788,31 @@ namespace { * * @param string $offset * @param mixed $value - * @return void - * @static + * @return void + * @static */ public static function offsetSet($offset, $value) { - \Illuminate\Http\Request::offsetSet($offset, $value); + /** @var \Illuminate\Http\Request $instance */ + $instance->offsetSet($offset, $value); } /** * Remove the value at the given offset. * * @param string $offset - * @return void - * @static + * @return void + * @static */ public static function offsetUnset($offset) { - \Illuminate\Http\Request::offsetUnset($offset); + /** @var \Illuminate\Http\Request $instance */ + $instance->offsetUnset($offset); } /** * Sets the parameters for this request. - * + * * This method also re-initializes all properties. * * @param array $query The GET parameters @@ -8476,30 +13821,30 @@ namespace { * @param array $cookies The COOKIE parameters * @param array $files The FILES parameters * @param array $server The SERVER parameters - * @param string|resource $content The raw body data - * @static + * @param string|resource|null $content The raw body data + * @static */ public static function initialize($query = [], $request = [], $attributes = [], $cookies = [], $files = [], $server = [], $content = null) { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::initialize($query, $request, $attributes, $cookies, $files, $server, $content); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->initialize($query, $request, $attributes, $cookies, $files, $server, $content); } /** * Creates a new request with values from PHP's super globals. * - * @return static - * @static + * @static */ public static function createFromGlobals() { - //Method inherited from \Symfony\Component\HttpFoundation\Request + //Method inherited from \Symfony\Component\HttpFoundation\Request return \Illuminate\Http\Request::createFromGlobals(); } /** * Creates a Request based on a given URI and configuration. - * + * * The information contained in the URI always take precedence * over the other information (server and parameters). * @@ -8509,510 +13854,452 @@ namespace { * @param array $cookies The request cookies ($_COOKIE) * @param array $files The request files ($_FILES) * @param array $server The server parameters ($_SERVER) - * @param string $content The raw body data - * @return static - * @static + * @param string|resource|null $content The raw body data + * @throws BadRequestException When the URI is invalid + * @static */ public static function create($uri, $method = 'GET', $parameters = [], $cookies = [], $files = [], $server = [], $content = null) { - //Method inherited from \Symfony\Component\HttpFoundation\Request + //Method inherited from \Symfony\Component\HttpFoundation\Request return \Illuminate\Http\Request::create($uri, $method, $parameters, $cookies, $files, $server, $content); } /** * Sets a callable able to create a Request instance. - * + * * This is mainly useful when you need to override the Request class * to keep BC with an existing system. It should not be used for any * other purpose. * - * @param callable|null $callable A PHP callable - * @static + * @static */ public static function setFactory($callable) { - //Method inherited from \Symfony\Component\HttpFoundation\Request + //Method inherited from \Symfony\Component\HttpFoundation\Request return \Illuminate\Http\Request::setFactory($callable); } /** * Overrides the PHP global variables according to this request instance. - * + * * It overrides $_GET, $_POST, $_REQUEST, $_SERVER, $_COOKIE. * $_FILES is never overridden, see rfc1867 * - * @static + * @static */ public static function overrideGlobals() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::overrideGlobals(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->overrideGlobals(); } /** * Sets a list of trusted proxies. - * + * * You should only list the reverse proxies that you manage directly. * - * @param array $proxies A list of trusted proxies - * @static + * @param array $proxies A list of trusted proxies, the string 'REMOTE_ADDR' will be replaced with $_SERVER['REMOTE_ADDR'] and 'PRIVATE_SUBNETS' by IpUtils::PRIVATE_SUBNETS + * @param int-mask-of $trustedHeaderSet A bit field to set which headers to trust from your proxies + * @static */ - public static function setTrustedProxies($proxies) + public static function setTrustedProxies($proxies, $trustedHeaderSet) { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::setTrustedProxies($proxies); + //Method inherited from \Symfony\Component\HttpFoundation\Request + return \Illuminate\Http\Request::setTrustedProxies($proxies, $trustedHeaderSet); } /** * Gets the list of trusted proxies. * - * @return array An array of trusted proxies - * @static + * @return string[] + * @static */ public static function getTrustedProxies() { - //Method inherited from \Symfony\Component\HttpFoundation\Request + //Method inherited from \Symfony\Component\HttpFoundation\Request return \Illuminate\Http\Request::getTrustedProxies(); } /** - * Sets a list of trusted host patterns. + * Gets the set of trusted headers from trusted proxies. * + * @return int A bit field of Request::HEADER_* that defines which headers are trusted from your proxies + * @static + */ + public static function getTrustedHeaderSet() + { + //Method inherited from \Symfony\Component\HttpFoundation\Request + return \Illuminate\Http\Request::getTrustedHeaderSet(); + } + + /** + * Sets a list of trusted host patterns. + * * You should only list the hosts you manage using regexs. * * @param array $hostPatterns A list of trusted host patterns - * @static + * @static */ public static function setTrustedHosts($hostPatterns) { - //Method inherited from \Symfony\Component\HttpFoundation\Request + //Method inherited from \Symfony\Component\HttpFoundation\Request return \Illuminate\Http\Request::setTrustedHosts($hostPatterns); } /** * Gets the list of trusted host patterns. * - * @return array An array of trusted host patterns - * @static + * @return string[] + * @static */ public static function getTrustedHosts() { - //Method inherited from \Symfony\Component\HttpFoundation\Request + //Method inherited from \Symfony\Component\HttpFoundation\Request return \Illuminate\Http\Request::getTrustedHosts(); } - /** - * Sets the name for trusted headers. - * - * The following header keys are supported: - * - * * Request::HEADER_CLIENT_IP: defaults to X-Forwarded-For (see getClientIp()) - * * Request::HEADER_CLIENT_HOST: defaults to X-Forwarded-Host (see getHost()) - * * Request::HEADER_CLIENT_PORT: defaults to X-Forwarded-Port (see getPort()) - * * Request::HEADER_CLIENT_PROTO: defaults to X-Forwarded-Proto (see getScheme() and isSecure()) - * - * Setting an empty value allows to disable the trusted header for the given key. - * - * @param string $key The header key - * @param string $value The header name - * @throws \InvalidArgumentException - * @static - */ - public static function setTrustedHeaderName($key, $value) - { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::setTrustedHeaderName($key, $value); - } - - /** - * Gets the trusted proxy header name. - * - * @param string $key The header key - * @return string The header name - * @throws \InvalidArgumentException - * @static - */ - public static function getTrustedHeaderName($key) - { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getTrustedHeaderName($key); - } - /** * Normalizes a query string. - * + * * It builds a normalized query string, where keys/value pairs are alphabetized, * have consistent escaping and unneeded delimiters are removed. * - * @param string $qs Query string - * @return string A normalized query string for the Request - * @static + * @static */ public static function normalizeQueryString($qs) { - //Method inherited from \Symfony\Component\HttpFoundation\Request + //Method inherited from \Symfony\Component\HttpFoundation\Request return \Illuminate\Http\Request::normalizeQueryString($qs); } /** * Enables support for the _method request parameter to determine the intended HTTP method. - * + * * Be warned that enabling this feature might lead to CSRF issues in your code. * Check that you are using CSRF tokens when required. * If the HTTP method parameter override is enabled, an html-form with method "POST" can be altered * and used to send a "PUT" or "DELETE" request via the _method request parameter. * If these methods are not protected against CSRF, this presents a possible vulnerability. - * + * * The HTTP method can only be overridden when the real HTTP method is POST. * - * @static + * @static */ public static function enableHttpMethodParameterOverride() { - //Method inherited from \Symfony\Component\HttpFoundation\Request + //Method inherited from \Symfony\Component\HttpFoundation\Request return \Illuminate\Http\Request::enableHttpMethodParameterOverride(); } /** * Checks whether support for the _method request parameter is enabled. * - * @return bool True when the _method request parameter is enabled, false otherwise - * @static + * @static */ public static function getHttpMethodParameterOverride() { - //Method inherited from \Symfony\Component\HttpFoundation\Request + //Method inherited from \Symfony\Component\HttpFoundation\Request return \Illuminate\Http\Request::getHttpMethodParameterOverride(); } - /** - * Gets a "parameter" value from any bag. - * - * This method is mainly useful for libraries that want to provide some flexibility. If you don't need the - * flexibility in controllers, it is better to explicitly get request parameters from the appropriate - * public property instead (attributes, query, request). - * - * Order of precedence: PATH (routing placeholders or custom attributes), GET, BODY - * - * @param string $key the key - * @param mixed $default the default value if the parameter key does not exist - * @return mixed - * @static - */ - public static function get($key, $default = null) - { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::get($key, $default); - } - - /** - * Gets the Session. - * - * @return \Symfony\Component\HttpFoundation\SessionInterface|null The session - * @static - */ - public static function getSession() - { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getSession(); - } - /** * Whether the request contains a Session which was started in one of the * previous requests. * - * @return bool - * @static + * @static */ public static function hasPreviousSession() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::hasPreviousSession(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->hasPreviousSession(); } /** - * Whether the request contains a Session object. + * * - * This method does not give any information about the state of the session object, - * like whether the session is started or not. It is just a way to check if this Request - * is associated with a Session instance. - * - * @return bool true when the Request contains a Session object, false otherwise - * @static - */ - public static function hasSession() - { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::hasSession(); - } - - /** - * Sets the Session. - * - * @param \Symfony\Component\HttpFoundation\SessionInterface $session The Session - * @static + * @static */ public static function setSession($session) { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::setSession($session); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->setSession($session); + } + + /** + * + * + * @internal + * @param \Symfony\Component\HttpFoundation\callable(): SessionInterface $factory + * @static + */ + public static function setSessionFactory($factory) + { + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->setSessionFactory($factory); } /** * Returns the client IP addresses. - * + * * In the returned array the most trusted IP address is first, and the * least trusted one last. The "real" client IP address is the last one, * but this is also the least trusted one. Trusted proxies are stripped. - * + * * Use this method carefully; you should use getClientIp() instead. * - * @return array The client IP addresses * @see getClientIp() - * @static + * @static */ public static function getClientIps() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getClientIps(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getClientIps(); } /** * Returns the client IP address. - * + * * This method can read the client IP address from the "X-Forwarded-For" header * when trusted proxies were set via "setTrustedProxies()". The "X-Forwarded-For" * header value is a comma+space separated list of IP addresses, the left-most * being the original client, and each successive proxy that passed the request * adding the IP address where it received the request from. - * + * * If your reverse proxy uses a different header name than "X-Forwarded-For", - * ("Client-Ip" for instance), configure it via "setTrustedHeaderName()" with - * the "client-ip" key. + * ("Client-Ip" for instance), configure it via the $trustedHeaderSet + * argument of the Request::setTrustedProxies() method instead. * - * @return string The client IP address * @see getClientIps() - * @see http://en.wikipedia.org/wiki/X-Forwarded-For - * @static + * @see https://wikipedia.org/wiki/X-Forwarded-For + * @static */ public static function getClientIp() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getClientIp(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getClientIp(); } /** * Returns current script name. * - * @return string - * @static + * @static */ public static function getScriptName() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getScriptName(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getScriptName(); } /** * Returns the path being requested relative to the executed script. - * + * * The path info always starts with a /. - * + * * Suppose this request is instantiated from /mysite on localhost: - * + * * * http://localhost/mysite returns an empty string * * http://localhost/mysite/about returns '/about' * * http://localhost/mysite/enco%20ded returns '/enco%20ded' * * http://localhost/mysite/about?var=1 returns '/about' * * @return string The raw path (i.e. not urldecoded) - * @static + * @static */ public static function getPathInfo() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getPathInfo(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getPathInfo(); } /** * Returns the root path from which this request is executed. - * + * * Suppose that an index.php file instantiates this request object: - * + * * * http://localhost/index.php returns an empty string * * http://localhost/index.php/page returns an empty string * * http://localhost/web/index.php returns '/web' * * http://localhost/we%20b/index.php returns '/we%20b' * * @return string The raw path (i.e. not urldecoded) - * @static + * @static */ public static function getBasePath() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getBasePath(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getBasePath(); } /** * Returns the root URL from which this request is executed. - * + * * The base URL never ends with a /. - * + * * This is similar to getBasePath(), except that it also includes the * script filename (e.g. index.php) if one exists. * * @return string The raw URL (i.e. not urldecoded) - * @static + * @static */ public static function getBaseUrl() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getBaseUrl(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getBaseUrl(); } /** * Gets the request's scheme. * - * @return string - * @static + * @static */ public static function getScheme() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getScheme(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getScheme(); } /** * Returns the port on which the request is made. - * + * * This method can read the client port from the "X-Forwarded-Port" header * when trusted proxies were set via "setTrustedProxies()". - * + * * The "X-Forwarded-Port" header must contain the client port. * - * If your reverse proxy uses a different header name than "X-Forwarded-Port", - * configure it via "setTrustedHeaderName()" with the "client-port" key. - * - * @return string - * @static + * @return int|string|null Can be a string if fetched from the server bag + * @static */ public static function getPort() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getPort(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getPort(); } /** * Returns the user. * - * @return string|null - * @static + * @static */ public static function getUser() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getUser(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getUser(); } /** * Returns the password. * - * @return string|null - * @static + * @static */ public static function getPassword() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getPassword(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getPassword(); } /** * Gets the user info. * - * @return string A user name and, optionally, scheme-specific information about how to gain authorization to access the server - * @static + * @return string|null A user name if any and, optionally, scheme-specific information about how to gain authorization to access the server + * @static */ public static function getUserInfo() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getUserInfo(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getUserInfo(); } /** * Returns the HTTP host being requested. - * + * * The port name will be appended to the host if it's non-standard. * - * @return string - * @static + * @static */ public static function getHttpHost() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getHttpHost(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getHttpHost(); } /** * Returns the requested URI (path and query string). * * @return string The raw URI (i.e. not URI decoded) - * @static + * @static */ public static function getRequestUri() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getRequestUri(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getRequestUri(); } /** * Gets the scheme and HTTP host. - * + * * If the URL was called with basic authentication, the user * and the password are not added to the generated string. * - * @return string The scheme and HTTP host - * @static + * @static */ public static function getSchemeAndHttpHost() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getSchemeAndHttpHost(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getSchemeAndHttpHost(); } /** * Generates a normalized URI (URL) for the Request. * - * @return string A normalized URI (URL) for the Request * @see getQueryString() - * @static + * @static */ public static function getUri() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getUri(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getUri(); } /** * Generates a normalized URI for the given path. * * @param string $path A path to use instead of the current one - * @return string The normalized URI for the path - * @static + * @static */ public static function getUriForPath($path) { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getUriForPath($path); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getUriForPath($path); } /** * Returns the path as relative reference from the current Request path. - * + * * Only the URIs path component (no schema, host etc.) is relevant and must be given. * Both paths must be absolute and not contain relative parts. * Relative URLs from one resource to another are useful when generating self-contained downloadable document archives. * Furthermore, they can be used to reduce the link size in documents. - * + * * Example target paths, given a base path of "/a/b/c/d": * - "/a/b/c/d" -> "" * - "/a/b/c/" -> "./" @@ -9020,442 +14307,632 @@ namespace { * - "/a/b/c/other" -> "other" * - "/a/x/y" -> "../../x/y" * - * @param string $path The target path - * @return string The relative target path - * @static + * @static */ public static function getRelativeUriForPath($path) { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getRelativeUriForPath($path); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getRelativeUriForPath($path); } /** * Generates the normalized query string for the Request. - * + * * It builds a normalized query string, where keys/value pairs are alphabetized * and have consistent escaping. * - * @return string|null A normalized query string for the Request - * @static + * @static */ public static function getQueryString() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getQueryString(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getQueryString(); } /** * Checks whether the request is secure or not. - * + * * This method can read the client protocol from the "X-Forwarded-Proto" header * when trusted proxies were set via "setTrustedProxies()". - * + * * The "X-Forwarded-Proto" header must contain the protocol: "https" or "http". * - * If your reverse proxy uses a different header name than "X-Forwarded-Proto" - * ("SSL_HTTPS" for instance), configure it via "setTrustedHeaderName()" with - * the "client-proto" key. - * - * @return bool - * @static + * @static */ public static function isSecure() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::isSecure(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->isSecure(); } /** * Returns the host name. - * + * * This method can read the client host name from the "X-Forwarded-Host" header * when trusted proxies were set via "setTrustedProxies()". - * + * * The "X-Forwarded-Host" header must contain the client host name. * - * If your reverse proxy uses a different header name than "X-Forwarded-Host", - * configure it via "setTrustedHeaderName()" with the "client-host" key. - * - * @return string - * @throws \UnexpectedValueException when the host name is invalid - * @static + * @throws SuspiciousOperationException when the host name is invalid or not trusted + * @static */ public static function getHost() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getHost(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getHost(); } /** * Sets the request method. * - * @param string $method - * @static + * @static */ public static function setMethod($method) { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::setMethod($method); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->setMethod($method); } /** * Gets the request "intended" method. - * + * * If the X-HTTP-Method-Override header is set, and if the method is a POST, * then it is used to determine the "real" intended HTTP method. - * + * * The _method request parameter can also be used to determine the HTTP method, * but only if enableHttpMethodParameterOverride() has been called. - * + * * The method is always an uppercased string. * - * @return string The request method * @see getRealMethod() - * @static + * @static */ public static function getMethod() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getMethod(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getMethod(); } /** * Gets the "real" request method. * - * @return string The request method * @see getMethod() - * @static + * @static */ public static function getRealMethod() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getRealMethod(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getRealMethod(); } /** * Gets the mime type associated with the format. * - * @param string $format The format - * @return string The associated mime type (null if not found) - * @static + * @static */ public static function getMimeType($format) { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getMimeType($format); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getMimeType($format); } /** * Gets the mime types associated with the format. * - * @param string $format The format - * @return array The associated mime types - * @static + * @return string[] + * @static */ public static function getMimeTypes($format) { - //Method inherited from \Symfony\Component\HttpFoundation\Request + //Method inherited from \Symfony\Component\HttpFoundation\Request return \Illuminate\Http\Request::getMimeTypes($format); } /** * Gets the format associated with the mime type. * - * @param string $mimeType The associated mime type - * @return string|null The format (null if not found) - * @static + * @static */ public static function getFormat($mimeType) { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getFormat($mimeType); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getFormat($mimeType); } /** * Associates a format with mime types. * - * @param string $format The format - * @param string|array $mimeTypes The associated mime types (the preferred one must be the first as it will be used as the content type) - * @static + * @param string|string[] $mimeTypes The associated mime types (the preferred one must be the first as it will be used as the content type) + * @static */ public static function setFormat($format, $mimeTypes) { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::setFormat($format, $mimeTypes); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->setFormat($format, $mimeTypes); } /** * Gets the request format. - * + * * Here is the process to determine the format: - * + * * * format defined by the user (with setRequestFormat()) * * _format request attribute * * $default * - * @param string $default The default format - * @return string The request format - * @static + * @see getPreferredFormat + * @static */ public static function getRequestFormat($default = 'html') { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getRequestFormat($default); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getRequestFormat($default); } /** * Sets the request format. * - * @param string $format The request format - * @static + * @static */ public static function setRequestFormat($format) { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::setRequestFormat($format); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->setRequestFormat($format); } /** - * Gets the format associated with the request. + * Gets the usual name of the format associated with the request's media type (provided in the Content-Type header). * - * @return string|null The format (null if no content type is present) - * @static + * @see Request::$formats + * @static */ - public static function getContentType() + public static function getContentTypeFormat() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getContentType(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getContentTypeFormat(); } /** * Sets the default locale. * - * @param string $locale - * @static + * @static */ public static function setDefaultLocale($locale) { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::setDefaultLocale($locale); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->setDefaultLocale($locale); } /** * Get the default locale. * - * @return string - * @static + * @static */ public static function getDefaultLocale() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getDefaultLocale(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getDefaultLocale(); } /** * Sets the locale. * - * @param string $locale - * @static + * @static */ public static function setLocale($locale) { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::setLocale($locale); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->setLocale($locale); } /** * Get the locale. * - * @return string - * @static + * @static */ public static function getLocale() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getLocale(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getLocale(); } /** * Checks if the request method is of specified type. * * @param string $method Uppercase request method (GET, POST etc) - * @return bool - * @static + * @static */ public static function isMethod($method) { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::isMethod($method); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->isMethod($method); } /** * Checks whether or not the method is safe. * * @see https://tools.ietf.org/html/rfc7231#section-4.2.1 - * @param bool $andCacheable Adds the additional condition that the method should be cacheable. True by default. - * @return bool - * @static + * @static */ public static function isMethodSafe() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::isMethodSafe(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->isMethodSafe(); } /** * Checks whether or not the method is idempotent. * - * @return bool - * @static + * @static */ public static function isMethodIdempotent() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::isMethodIdempotent(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->isMethodIdempotent(); } /** * Checks whether the method is cacheable or not. * * @see https://tools.ietf.org/html/rfc7231#section-4.2.3 - * @return bool - * @static + * @static */ public static function isMethodCacheable() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::isMethodCacheable(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->isMethodCacheable(); + } + + /** + * Returns the protocol version. + * + * If the application is behind a proxy, the protocol version used in the + * requests between the client and the proxy and between the proxy and the + * server might be different. This returns the former (from the "Via" header) + * if the proxy is trusted (see "setTrustedProxies()"), otherwise it returns + * the latter (from the "SERVER_PROTOCOL" server parameter). + * + * @static + */ + public static function getProtocolVersion() + { + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getProtocolVersion(); } /** * Returns the request body content. * * @param bool $asResource If true, a resource will be returned - * @return string|resource The request body content or a resource to read the body stream - * @throws \LogicException - * @static + * @return string|resource + * @psalm-return ($asResource is true ? resource : string) + * @static */ public static function getContent($asResource = false) { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getContent($asResource); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getContent($asResource); + } + + /** + * Gets the decoded form or json request body. + * + * @throws JsonException When the body cannot be decoded to an array + * @static + */ + public static function getPayload() + { + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getPayload(); } /** * Gets the Etags. * - * @return array The entity tags - * @static + * @static */ public static function getETags() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getETags(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getETags(); } /** + * * - * - * @return bool - * @static + * @static */ public static function isNoCache() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::isNoCache(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->isNoCache(); + } + + /** + * Gets the preferred format for the response by inspecting, in the following order: + * * the request format set using setRequestFormat; + * * the values of the Accept HTTP header. + * + * Note that if you use this method, you should send the "Vary: Accept" header + * in the response to prevent any issues with intermediary HTTP caches. + * + * @static + */ + public static function getPreferredFormat($default = 'html') + { + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getPreferredFormat($default); } /** * Returns the preferred language. * - * @param array $locales An array of ordered available locales - * @return string|null The preferred locale - * @static + * @param string[] $locales An array of ordered available locales + * @static */ public static function getPreferredLanguage($locales = null) { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getPreferredLanguage($locales); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getPreferredLanguage($locales); } /** - * Gets a list of languages acceptable by the client browser. + * Gets a list of languages acceptable by the client browser ordered in the user browser preferences. * - * @return array Languages ordered in the user browser preferences - * @static + * @return string[] + * @static */ public static function getLanguages() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getLanguages(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getLanguages(); } /** - * Gets a list of charsets acceptable by the client browser. + * Gets a list of charsets acceptable by the client browser in preferable order. * - * @return array List of charsets in preferable order - * @static + * @return string[] + * @static */ public static function getCharsets() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getCharsets(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getCharsets(); } /** - * Gets a list of encodings acceptable by the client browser. + * Gets a list of encodings acceptable by the client browser in preferable order. * - * @return array List of encodings in preferable order - * @static + * @return string[] + * @static */ public static function getEncodings() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getEncodings(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getEncodings(); } /** - * Gets a list of content types acceptable by the client browser. + * Gets a list of content types acceptable by the client browser in preferable order. * - * @return array List of content types in preferable order - * @static + * @return string[] + * @static */ public static function getAcceptableContentTypes() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getAcceptableContentTypes(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getAcceptableContentTypes(); } /** - * Returns true if the request is a XMLHttpRequest. - * + * Returns true if the request is an XMLHttpRequest. + * * It works if your JavaScript library sets an X-Requested-With HTTP header. * It is known to work with common JavaScript frameworks: * - * @see http://en.wikipedia.org/wiki/List_of_Ajax_frameworks#JavaScript - * @return bool true if the request is an XMLHttpRequest, false otherwise - * @static + * @see https://wikipedia.org/wiki/List_of_Ajax_frameworks#JavaScript + * @static */ public static function isXmlHttpRequest() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::isXmlHttpRequest(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->isXmlHttpRequest(); + } + + /** + * Checks whether the client browser prefers safe content or not according to RFC8674. + * + * @see https://tools.ietf.org/html/rfc8674 + * @static + */ + public static function preferSafeContent() + { + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->preferSafeContent(); } /** * Indicates whether this request originated from a trusted proxy. - * + * * This can be useful to determine whether or not to trust the * contents of a proxy-specific header. * - * @return bool true if the request came from a trusted proxy, false otherwise - * @static + * @static */ public static function isFromTrustedProxy() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::isFromTrustedProxy(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->isFromTrustedProxy(); + } + + /** + * Filter the given array of rules into an array of rules that are included in precognitive headers. + * + * @param array $rules + * @return array + * @static + */ + public static function filterPrecognitiveRules($rules) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->filterPrecognitiveRules($rules); + } + + /** + * Determine if the request is attempting to be precognitive. + * + * @return bool + * @static + */ + public static function isAttemptingPrecognition() + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->isAttemptingPrecognition(); + } + + /** + * Determine if the request is precognitive. + * + * @return bool + * @static + */ + public static function isPrecognitive() + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->isPrecognitive(); + } + + /** + * Determine if the request is sending JSON. + * + * @return bool + * @static + */ + public static function isJson() + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->isJson(); + } + + /** + * Determine if the current request probably expects a JSON response. + * + * @return bool + * @static + */ + public static function expectsJson() + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->expectsJson(); + } + + /** + * Determine if the current request is asking for JSON. + * + * @return bool + * @static + */ + public static function wantsJson() + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->wantsJson(); + } + + /** + * Determines whether the current requests accepts a given content type. + * + * @param string|array $contentTypes + * @return bool + * @static + */ + public static function accepts($contentTypes) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->accepts($contentTypes); + } + + /** + * Return the most suitable content type from the given array based on content negotiation. + * + * @param string|array $contentTypes + * @return string|null + * @static + */ + public static function prefers($contentTypes) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->prefers($contentTypes); + } + + /** + * Determine if the current request accepts any content type. + * + * @return bool + * @static + */ + public static function acceptsAnyContentType() + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->acceptsAnyContentType(); + } + + /** + * Determines whether a request accepts JSON. + * + * @return bool + * @static + */ + public static function acceptsJson() + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->acceptsJson(); + } + + /** + * Determines whether a request accepts HTML. + * + * @return bool + * @static + */ + public static function acceptsHtml() + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->acceptsHtml(); } /** @@ -9463,487 +14940,841 @@ namespace { * * @param string $actual * @param string $type - * @return bool - * @static + * @return bool + * @static */ public static function matchesType($actual, $type) { return \Illuminate\Http\Request::matchesType($actual, $type); } - /** - * Determine if the request is sending JSON. - * - * @return bool - * @static - */ - public static function isJson() - { - return \Illuminate\Http\Request::isJson(); - } - - /** - * Determine if the current request probably expects a JSON response. - * - * @return bool - * @static - */ - public static function expectsJson() - { - return \Illuminate\Http\Request::expectsJson(); - } - - /** - * Determine if the current request is asking for JSON in return. - * - * @return bool - * @static - */ - public static function wantsJson() - { - return \Illuminate\Http\Request::wantsJson(); - } - - /** - * Determines whether the current requests accepts a given content type. - * - * @param string|array $contentTypes - * @return bool - * @static - */ - public static function accepts($contentTypes) - { - return \Illuminate\Http\Request::accepts($contentTypes); - } - - /** - * Return the most suitable content type from the given array based on content negotiation. - * - * @param string|array $contentTypes - * @return string|null - * @static - */ - public static function prefers($contentTypes) - { - return \Illuminate\Http\Request::prefers($contentTypes); - } - - /** - * Determines whether a request accepts JSON. - * - * @return bool - * @static - */ - public static function acceptsJson() - { - return \Illuminate\Http\Request::acceptsJson(); - } - - /** - * Determines whether a request accepts HTML. - * - * @return bool - * @static - */ - public static function acceptsHtml() - { - return \Illuminate\Http\Request::acceptsHtml(); - } - /** * Get the data format expected in the response. * * @param string $default - * @return string - * @static + * @return string + * @static */ public static function format($default = 'html') { - return \Illuminate\Http\Request::format($default); + /** @var \Illuminate\Http\Request $instance */ + return $instance->format($default); } /** * Retrieve an old input item. * - * @param string $key - * @param string|array|null $default - * @return string|array - * @static + * @param string|null $key + * @param \Illuminate\Database\Eloquent\Model|string|array|null $default + * @return string|array|null + * @static */ public static function old($key = null, $default = null) { - return \Illuminate\Http\Request::old($key, $default); + /** @var \Illuminate\Http\Request $instance */ + return $instance->old($key, $default); } /** * Flash the input for the current request to the session. * - * @return void - * @static + * @return void + * @static */ public static function flash() { - \Illuminate\Http\Request::flash(); + /** @var \Illuminate\Http\Request $instance */ + $instance->flash(); } /** * Flash only some of the input to the session. * * @param array|mixed $keys - * @return void - * @static + * @return void + * @static */ public static function flashOnly($keys) { - \Illuminate\Http\Request::flashOnly($keys); + /** @var \Illuminate\Http\Request $instance */ + $instance->flashOnly($keys); } /** * Flash only some of the input to the session. * * @param array|mixed $keys - * @return void - * @static + * @return void + * @static */ public static function flashExcept($keys) { - \Illuminate\Http\Request::flashExcept($keys); + /** @var \Illuminate\Http\Request $instance */ + $instance->flashExcept($keys); } /** * Flush all of the old input from the session. * - * @return void - * @static + * @return void + * @static */ public static function flush() { - \Illuminate\Http\Request::flush(); + /** @var \Illuminate\Http\Request $instance */ + $instance->flush(); } /** * Retrieve a server variable from the request. * - * @param string $key + * @param string|null $key * @param string|array|null $default - * @return string|array - * @static + * @return string|array|null + * @static */ public static function server($key = null, $default = null) { - return \Illuminate\Http\Request::server($key, $default); + /** @var \Illuminate\Http\Request $instance */ + return $instance->server($key, $default); } /** * Determine if a header is set on the request. * * @param string $key - * @return bool - * @static + * @return bool + * @static */ public static function hasHeader($key) { - return \Illuminate\Http\Request::hasHeader($key); + /** @var \Illuminate\Http\Request $instance */ + return $instance->hasHeader($key); } /** * Retrieve a header from the request. * - * @param string $key + * @param string|null $key * @param string|array|null $default - * @return string|array - * @static + * @return string|array|null + * @static */ public static function header($key = null, $default = null) { - return \Illuminate\Http\Request::header($key, $default); + /** @var \Illuminate\Http\Request $instance */ + return $instance->header($key, $default); } /** * Get the bearer token from the request headers. * - * @return string|null - * @static + * @return string|null + * @static */ public static function bearerToken() { - return \Illuminate\Http\Request::bearerToken(); + /** @var \Illuminate\Http\Request $instance */ + return $instance->bearerToken(); } /** - * Determine if the request contains a given input item key. + * Get the keys for all of the input and files. * - * @param string|array $key - * @return bool - * @static + * @return array + * @static */ - public static function exists($key) + public static function keys() { - return \Illuminate\Http\Request::exists($key); - } - - /** - * Determine if the request contains a non-empty value for an input item. - * - * @param string|array $key - * @return bool - * @static - */ - public static function has($key) - { - return \Illuminate\Http\Request::has($key); + /** @var \Illuminate\Http\Request $instance */ + return $instance->keys(); } /** * Get all of the input and files for the request. * - * @return array - * @static + * @param array|mixed|null $keys + * @return array + * @static */ - public static function all() + public static function all($keys = null) { - return \Illuminate\Http\Request::all(); + /** @var \Illuminate\Http\Request $instance */ + return $instance->all($keys); } /** * Retrieve an input item from the request. * - * @param string $key - * @param string|array|null $default - * @return string|array - * @static + * @param string|null $key + * @param mixed $default + * @return mixed + * @static */ public static function input($key = null, $default = null) { - return \Illuminate\Http\Request::input($key, $default); + /** @var \Illuminate\Http\Request $instance */ + return $instance->input($key, $default); } /** - * Get a subset containing the provided keys with values from the input data. + * Retrieve input from the request as a Fluent object instance. * - * @param array|mixed $keys - * @return array - * @static + * @param array|string|null $key + * @return \Illuminate\Support\Fluent + * @static */ - public static function only($keys) + public static function fluent($key = null) { - return \Illuminate\Http\Request::only($keys); - } - - /** - * Get all of the input except for a specified array of items. - * - * @param array|mixed $keys - * @return array - * @static - */ - public static function except($keys) - { - return \Illuminate\Http\Request::except($keys); - } - - /** - * Intersect an array of items with the input data. - * - * @param array|mixed $keys - * @return array - * @static - */ - public static function intersect($keys) - { - return \Illuminate\Http\Request::intersect($keys); + /** @var \Illuminate\Http\Request $instance */ + return $instance->fluent($key); } /** * Retrieve a query string item from the request. * - * @param string $key + * @param string|null $key * @param string|array|null $default - * @return string|array - * @static + * @return string|array|null + * @static */ public static function query($key = null, $default = null) { - return \Illuminate\Http\Request::query($key, $default); + /** @var \Illuminate\Http\Request $instance */ + return $instance->query($key, $default); + } + + /** + * Retrieve a request payload item from the request. + * + * @param string|null $key + * @param string|array|null $default + * @return string|array|null + * @static + */ + public static function post($key = null, $default = null) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->post($key, $default); } /** * Determine if a cookie is set on the request. * * @param string $key - * @return bool - * @static + * @return bool + * @static */ public static function hasCookie($key) { - return \Illuminate\Http\Request::hasCookie($key); + /** @var \Illuminate\Http\Request $instance */ + return $instance->hasCookie($key); } /** * Retrieve a cookie from the request. * - * @param string $key + * @param string|null $key * @param string|array|null $default - * @return string|array - * @static + * @return string|array|null + * @static */ public static function cookie($key = null, $default = null) { - return \Illuminate\Http\Request::cookie($key, $default); + /** @var \Illuminate\Http\Request $instance */ + return $instance->cookie($key, $default); } /** * Get an array of all of the files on the request. * - * @return array - * @static + * @return array + * @static */ public static function allFiles() { - return \Illuminate\Http\Request::allFiles(); + /** @var \Illuminate\Http\Request $instance */ + return $instance->allFiles(); } /** * Determine if the uploaded data contains a file. * * @param string $key - * @return bool - * @static + * @return bool + * @static */ public static function hasFile($key) { - return \Illuminate\Http\Request::hasFile($key); + /** @var \Illuminate\Http\Request $instance */ + return $instance->hasFile($key); } /** * Retrieve a file from the request. * - * @param string $key + * @param string|null $key * @param mixed $default - * @return \Illuminate\Http\UploadedFile|array|null - * @static + * @return \Illuminate\Http\UploadedFile|\Illuminate\Http\UploadedFile[]|array|null + * @static */ public static function file($key = null, $default = null) { - return \Illuminate\Http\Request::file($key, $default); + /** @var \Illuminate\Http\Request $instance */ + return $instance->file($key, $default); + } + + /** + * Dump the items. + * + * @param mixed $keys + * @return \Illuminate\Http\Request + * @static + */ + public static function dump($keys = []) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->dump($keys); + } + + /** + * Dump the given arguments and terminate execution. + * + * @param mixed $args + * @return never + * @static + */ + public static function dd(...$args) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->dd(...$args); + } + + /** + * Determine if the data contains a given key. + * + * @param string|array $key + * @return bool + * @static + */ + public static function exists($key) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->exists($key); + } + + /** + * Determine if the data contains a given key. + * + * @param string|array $key + * @return bool + * @static + */ + public static function has($key) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->has($key); + } + + /** + * Determine if the instance contains any of the given keys. + * + * @param string|array $keys + * @return bool + * @static + */ + public static function hasAny($keys) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->hasAny($keys); + } + + /** + * Apply the callback if the instance contains the given key. + * + * @param string $key + * @param callable $callback + * @param callable|null $default + * @return $this|mixed + * @static + */ + public static function whenHas($key, $callback, $default = null) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->whenHas($key, $callback, $default); + } + + /** + * Determine if the instance contains a non-empty value for the given key. + * + * @param string|array $key + * @return bool + * @static + */ + public static function filled($key) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->filled($key); + } + + /** + * Determine if the instance contains an empty value for the given key. + * + * @param string|array $key + * @return bool + * @static + */ + public static function isNotFilled($key) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->isNotFilled($key); + } + + /** + * Determine if the instance contains a non-empty value for any of the given keys. + * + * @param string|array $keys + * @return bool + * @static + */ + public static function anyFilled($keys) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->anyFilled($keys); + } + + /** + * Apply the callback if the instance contains a non-empty value for the given key. + * + * @param string $key + * @param callable $callback + * @param callable|null $default + * @return $this|mixed + * @static + */ + public static function whenFilled($key, $callback, $default = null) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->whenFilled($key, $callback, $default); + } + + /** + * Determine if the instance is missing a given key. + * + * @param string|array $key + * @return bool + * @static + */ + public static function missing($key) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->missing($key); + } + + /** + * Apply the callback if the instance is missing the given key. + * + * @param string $key + * @param callable $callback + * @param callable|null $default + * @return $this|mixed + * @static + */ + public static function whenMissing($key, $callback, $default = null) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->whenMissing($key, $callback, $default); + } + + /** + * Retrieve data from the instnce as a Stringable instance. + * + * @param string $key + * @param mixed $default + * @return \Illuminate\Support\Stringable + * @static + */ + public static function str($key, $default = null) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->str($key, $default); + } + + /** + * Retrieve data from the instance as a Stringable instance. + * + * @param string $key + * @param mixed $default + * @return \Illuminate\Support\Stringable + * @static + */ + public static function string($key, $default = null) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->string($key, $default); + } + + /** + * Retrieve data as a boolean value. + * + * Returns true when value is "1", "true", "on", and "yes". Otherwise, returns false. + * + * @param string|null $key + * @param bool $default + * @return bool + * @static + */ + public static function boolean($key = null, $default = false) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->boolean($key, $default); + } + + /** + * Retrieve data as an integer value. + * + * @param string $key + * @param int $default + * @return int + * @static + */ + public static function integer($key, $default = 0) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->integer($key, $default); + } + + /** + * Retrieve data as a float value. + * + * @param string $key + * @param float $default + * @return float + * @static + */ + public static function float($key, $default = 0.0) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->float($key, $default); + } + + /** + * Retrieve data from the instance as a Carbon instance. + * + * @param string $key + * @param string|null $format + * @param string|null $tz + * @return \Illuminate\Support\Carbon|null + * @throws \Carbon\Exceptions\InvalidFormatException + * @static + */ + public static function date($key, $format = null, $tz = null) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->date($key, $format, $tz); + } + + /** + * Retrieve data from the instance as an enum. + * + * @template TEnum of \BackedEnum + * @param string $key + * @param class-string $enumClass + * @return TEnum|null + * @static + */ + public static function enum($key, $enumClass) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->enum($key, $enumClass); + } + + /** + * Retrieve data from the instance as an array of enums. + * + * @template TEnum of \BackedEnum + * @param string $key + * @param class-string $enumClass + * @return TEnum[] + * @static + */ + public static function enums($key, $enumClass) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->enums($key, $enumClass); + } + + /** + * Retrieve data from the instance as a collection. + * + * @param array|string|null $key + * @return \Illuminate\Support\Collection + * @static + */ + public static function collect($key = null) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->collect($key); + } + + /** + * Get a subset containing the provided keys with values from the instance data. + * + * @param array|mixed $keys + * @return array + * @static + */ + public static function only($keys) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->only($keys); + } + + /** + * Get all of the data except for a specified array of items. + * + * @param array|mixed $keys + * @return array + * @static + */ + public static function except($keys) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->except($keys); + } + + /** + * Apply the callback if the given "value" is (or resolves to) truthy. + * + * @template TWhenParameter + * @template TWhenReturnType + * @param (\Closure($this): TWhenParameter)|TWhenParameter|null $value + * @param (callable($this, TWhenParameter): TWhenReturnType)|null $callback + * @param (callable($this, TWhenParameter): TWhenReturnType)|null $default + * @return $this|TWhenReturnType + * @static + */ + public static function when($value = null, $callback = null, $default = null) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->when($value, $callback, $default); + } + + /** + * Apply the callback if the given "value" is (or resolves to) falsy. + * + * @template TUnlessParameter + * @template TUnlessReturnType + * @param (\Closure($this): TUnlessParameter)|TUnlessParameter|null $value + * @param (callable($this, TUnlessParameter): TUnlessReturnType)|null $callback + * @param (callable($this, TUnlessParameter): TUnlessReturnType)|null $default + * @return $this|TUnlessReturnType + * @static + */ + public static function unless($value = null, $callback = null, $default = null) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->unless($value, $callback, $default); } /** * Register a custom macro. * * @param string $name - * @param callable $macro - * @return void - * @static + * @param object|callable $macro + * @param-closure-this static $macro + * @return void + * @static */ public static function macro($name, $macro) { \Illuminate\Http\Request::macro($name, $macro); } + /** + * Mix another object into the class. + * + * @param object $mixin + * @param bool $replace + * @return void + * @throws \ReflectionException + * @static + */ + public static function mixin($mixin, $replace = true) + { + \Illuminate\Http\Request::mixin($mixin, $replace); + } + /** * Checks if macro is registered. * * @param string $name - * @return bool - * @static + * @return bool + * @static */ public static function hasMacro($name) { return \Illuminate\Http\Request::hasMacro($name); } - } - - class Response extends \Illuminate\Support\Facades\Response - { /** - * Return a new response from the application. + * Flush the existing macros. * - * @param string $content + * @return void + * @static + */ + public static function flushMacros() + { + \Illuminate\Http\Request::flushMacros(); + } + + } + /** + * + * + * @see \Illuminate\Routing\ResponseFactory + */ + class Response { + /** + * Create a new response instance. + * + * @param mixed $content * @param int $status * @param array $headers - * @return \Illuminate\Http\Response - * @static + * @return \Illuminate\Http\Response + * @static */ public static function make($content = '', $status = 200, $headers = []) { - return \Illuminate\Routing\ResponseFactory::make($content, $status, $headers); + /** @var \Illuminate\Routing\ResponseFactory $instance */ + return $instance->make($content, $status, $headers); } /** - * Return a new view response from the application. + * Create a new "no content" response. * - * @param string $view + * @param int $status + * @param array $headers + * @return \Illuminate\Http\Response + * @static + */ + public static function noContent($status = 204, $headers = []) + { + /** @var \Illuminate\Routing\ResponseFactory $instance */ + return $instance->noContent($status, $headers); + } + + /** + * Create a new response for a given view. + * + * @param string|array $view * @param array $data * @param int $status * @param array $headers - * @return \Illuminate\Http\Response - * @static + * @return \Illuminate\Http\Response + * @static */ public static function view($view, $data = [], $status = 200, $headers = []) { - return \Illuminate\Routing\ResponseFactory::view($view, $data, $status, $headers); + /** @var \Illuminate\Routing\ResponseFactory $instance */ + return $instance->view($view, $data, $status, $headers); } /** - * Return a new JSON response from the application. + * Create a new JSON response instance. * * @param mixed $data * @param int $status * @param array $headers * @param int $options - * @return \Illuminate\Http\JsonResponse - * @static + * @return \Illuminate\Http\JsonResponse + * @static */ public static function json($data = [], $status = 200, $headers = [], $options = 0) { - return \Illuminate\Routing\ResponseFactory::json($data, $status, $headers, $options); + /** @var \Illuminate\Routing\ResponseFactory $instance */ + return $instance->json($data, $status, $headers, $options); } /** - * Return a new JSONP response from the application. + * Create a new JSONP response instance. * * @param string $callback * @param mixed $data * @param int $status * @param array $headers * @param int $options - * @return \Illuminate\Http\JsonResponse - * @static + * @return \Illuminate\Http\JsonResponse + * @static */ public static function jsonp($callback, $data = [], $status = 200, $headers = [], $options = 0) { - return \Illuminate\Routing\ResponseFactory::jsonp($callback, $data, $status, $headers, $options); + /** @var \Illuminate\Routing\ResponseFactory $instance */ + return $instance->jsonp($callback, $data, $status, $headers, $options); } /** - * Return a new streamed response from the application. + * Create a new streamed response instance. * - * @param \Closure $callback + * @param callable $callback * @param int $status * @param array $headers - * @return \Symfony\Component\HttpFoundation\StreamedResponse - * @static + * @return \Symfony\Component\HttpFoundation\StreamedResponse + * @static */ public static function stream($callback, $status = 200, $headers = []) { - return \Illuminate\Routing\ResponseFactory::stream($callback, $status, $headers); + /** @var \Illuminate\Routing\ResponseFactory $instance */ + return $instance->stream($callback, $status, $headers); + } + + /** + * Create a new streamed response instance. + * + * @param array $data + * @param int $status + * @param array $headers + * @param int $encodingOptions + * @return \Symfony\Component\HttpFoundation\StreamedJsonResponse + * @static + */ + public static function streamJson($data, $status = 200, $headers = [], $encodingOptions = 15) + { + /** @var \Illuminate\Routing\ResponseFactory $instance */ + return $instance->streamJson($data, $status, $headers, $encodingOptions); + } + + /** + * Create a new streamed response instance as a file download. + * + * @param callable $callback + * @param string|null $name + * @param array $headers + * @param string|null $disposition + * @return \Symfony\Component\HttpFoundation\StreamedResponse + * @throws \Illuminate\Routing\Exceptions\StreamedResponseException + * @static + */ + public static function streamDownload($callback, $name = null, $headers = [], $disposition = 'attachment') + { + /** @var \Illuminate\Routing\ResponseFactory $instance */ + return $instance->streamDownload($callback, $name, $headers, $disposition); } /** * Create a new file download response. * * @param \SplFileInfo|string $file - * @param string $name + * @param string|null $name * @param array $headers * @param string|null $disposition - * @return \Symfony\Component\HttpFoundation\BinaryFileResponse - * @static + * @return \Symfony\Component\HttpFoundation\BinaryFileResponse + * @static */ public static function download($file, $name = null, $headers = [], $disposition = 'attachment') { - return \Illuminate\Routing\ResponseFactory::download($file, $name, $headers, $disposition); + /** @var \Illuminate\Routing\ResponseFactory $instance */ + return $instance->download($file, $name, $headers, $disposition); } /** @@ -9951,12 +15782,13 @@ namespace { * * @param \SplFileInfo|string $file * @param array $headers - * @return \Symfony\Component\HttpFoundation\BinaryFileResponse - * @static + * @return \Symfony\Component\HttpFoundation\BinaryFileResponse + * @static */ public static function file($file, $headers = []) { - return \Illuminate\Routing\ResponseFactory::file($file, $headers); + /** @var \Illuminate\Routing\ResponseFactory $instance */ + return $instance->file($file, $headers); } /** @@ -9966,42 +15798,45 @@ namespace { * @param int $status * @param array $headers * @param bool|null $secure - * @return \Illuminate\Http\RedirectResponse - * @static + * @return \Illuminate\Http\RedirectResponse + * @static */ public static function redirectTo($path, $status = 302, $headers = [], $secure = null) { - return \Illuminate\Routing\ResponseFactory::redirectTo($path, $status, $headers, $secure); + /** @var \Illuminate\Routing\ResponseFactory $instance */ + return $instance->redirectTo($path, $status, $headers, $secure); } /** * Create a new redirect response to a named route. * - * @param string $route - * @param array $parameters + * @param \BackedEnum|string $route + * @param mixed $parameters * @param int $status * @param array $headers - * @return \Illuminate\Http\RedirectResponse - * @static + * @return \Illuminate\Http\RedirectResponse + * @static */ public static function redirectToRoute($route, $parameters = [], $status = 302, $headers = []) { - return \Illuminate\Routing\ResponseFactory::redirectToRoute($route, $parameters, $status, $headers); + /** @var \Illuminate\Routing\ResponseFactory $instance */ + return $instance->redirectToRoute($route, $parameters, $status, $headers); } /** * Create a new redirect response to a controller action. * - * @param string $action - * @param array $parameters + * @param array|string $action + * @param mixed $parameters * @param int $status * @param array $headers - * @return \Illuminate\Http\RedirectResponse - * @static + * @return \Illuminate\Http\RedirectResponse + * @static */ public static function redirectToAction($action, $parameters = [], $status = 302, $headers = []) { - return \Illuminate\Routing\ResponseFactory::redirectToAction($action, $parameters, $status, $headers); + /** @var \Illuminate\Routing\ResponseFactory $instance */ + return $instance->redirectToAction($action, $parameters, $status, $headers); } /** @@ -10011,12 +15846,13 @@ namespace { * @param int $status * @param array $headers * @param bool|null $secure - * @return \Illuminate\Http\RedirectResponse - * @static + * @return \Illuminate\Http\RedirectResponse + * @static */ public static function redirectGuest($path, $status = 302, $headers = [], $secure = null) { - return \Illuminate\Routing\ResponseFactory::redirectGuest($path, $status, $headers, $secure); + /** @var \Illuminate\Routing\ResponseFactory $instance */ + return $instance->redirectGuest($path, $status, $headers, $secure); } /** @@ -10026,132 +15862,247 @@ namespace { * @param int $status * @param array $headers * @param bool|null $secure - * @return \Illuminate\Http\RedirectResponse - * @static + * @return \Illuminate\Http\RedirectResponse + * @static */ public static function redirectToIntended($default = '/', $status = 302, $headers = [], $secure = null) { - return \Illuminate\Routing\ResponseFactory::redirectToIntended($default, $status, $headers, $secure); + /** @var \Illuminate\Routing\ResponseFactory $instance */ + return $instance->redirectToIntended($default, $status, $headers, $secure); } /** * Register a custom macro. * * @param string $name - * @param callable $macro - * @return void - * @static + * @param object|callable $macro + * @param-closure-this static $macro + * @return void + * @static */ public static function macro($name, $macro) { \Illuminate\Routing\ResponseFactory::macro($name, $macro); } + /** + * Mix another object into the class. + * + * @param object $mixin + * @param bool $replace + * @return void + * @throws \ReflectionException + * @static + */ + public static function mixin($mixin, $replace = true) + { + \Illuminate\Routing\ResponseFactory::mixin($mixin, $replace); + } + /** * Checks if macro is registered. * * @param string $name - * @return bool - * @static + * @return bool + * @static */ public static function hasMacro($name) { return \Illuminate\Routing\ResponseFactory::hasMacro($name); } - } + /** + * Flush the existing macros. + * + * @return void + * @static + */ + public static function flushMacros() + { + \Illuminate\Routing\ResponseFactory::flushMacros(); + } - class Route extends \Illuminate\Support\Facades\Route - { + } + /** + * + * + * @method static \Illuminate\Routing\RouteRegistrar attribute(string $key, mixed $value) + * @method static \Illuminate\Routing\RouteRegistrar whereAlpha(array|string $parameters) + * @method static \Illuminate\Routing\RouteRegistrar whereAlphaNumeric(array|string $parameters) + * @method static \Illuminate\Routing\RouteRegistrar whereNumber(array|string $parameters) + * @method static \Illuminate\Routing\RouteRegistrar whereUlid(array|string $parameters) + * @method static \Illuminate\Routing\RouteRegistrar whereUuid(array|string $parameters) + * @method static \Illuminate\Routing\RouteRegistrar whereIn(array|string $parameters, array $values) + * @method static \Illuminate\Routing\RouteRegistrar as(string $value) + * @method static \Illuminate\Routing\RouteRegistrar controller(string $controller) + * @method static \Illuminate\Routing\RouteRegistrar domain(\BackedEnum|string $value) + * @method static \Illuminate\Routing\RouteRegistrar middleware(array|string|null $middleware) + * @method static \Illuminate\Routing\RouteRegistrar missing(\Closure $missing) + * @method static \Illuminate\Routing\RouteRegistrar name(\BackedEnum|string $value) + * @method static \Illuminate\Routing\RouteRegistrar namespace(string|null $value) + * @method static \Illuminate\Routing\RouteRegistrar prefix(string $prefix) + * @method static \Illuminate\Routing\RouteRegistrar scopeBindings() + * @method static \Illuminate\Routing\RouteRegistrar where(array $where) + * @method static \Illuminate\Routing\RouteRegistrar withoutMiddleware(array|string $middleware) + * @method static \Illuminate\Routing\RouteRegistrar withoutScopedBindings() + * @see \Illuminate\Routing\Router + */ + class Route { /** * Register a new GET route with the router. * * @param string $uri - * @param \Closure|array|string|null $action - * @return \Illuminate\Routing\Route - * @static + * @param array|string|callable|null $action + * @return \Illuminate\Routing\Route + * @static */ public static function get($uri, $action = null) { - return \Illuminate\Routing\Router::get($uri, $action); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->get($uri, $action); } /** * Register a new POST route with the router. * * @param string $uri - * @param \Closure|array|string|null $action - * @return \Illuminate\Routing\Route - * @static + * @param array|string|callable|null $action + * @return \Illuminate\Routing\Route + * @static */ public static function post($uri, $action = null) { - return \Illuminate\Routing\Router::post($uri, $action); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->post($uri, $action); } /** * Register a new PUT route with the router. * * @param string $uri - * @param \Closure|array|string|null $action - * @return \Illuminate\Routing\Route - * @static + * @param array|string|callable|null $action + * @return \Illuminate\Routing\Route + * @static */ public static function put($uri, $action = null) { - return \Illuminate\Routing\Router::put($uri, $action); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->put($uri, $action); } /** * Register a new PATCH route with the router. * * @param string $uri - * @param \Closure|array|string|null $action - * @return \Illuminate\Routing\Route - * @static + * @param array|string|callable|null $action + * @return \Illuminate\Routing\Route + * @static */ public static function patch($uri, $action = null) { - return \Illuminate\Routing\Router::patch($uri, $action); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->patch($uri, $action); } /** * Register a new DELETE route with the router. * * @param string $uri - * @param \Closure|array|string|null $action - * @return \Illuminate\Routing\Route - * @static + * @param array|string|callable|null $action + * @return \Illuminate\Routing\Route + * @static */ public static function delete($uri, $action = null) { - return \Illuminate\Routing\Router::delete($uri, $action); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->delete($uri, $action); } /** * Register a new OPTIONS route with the router. * * @param string $uri - * @param \Closure|array|string|null $action - * @return \Illuminate\Routing\Route - * @static + * @param array|string|callable|null $action + * @return \Illuminate\Routing\Route + * @static */ public static function options($uri, $action = null) { - return \Illuminate\Routing\Router::options($uri, $action); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->options($uri, $action); } /** * Register a new route responding to all verbs. * * @param string $uri - * @param \Closure|array|string|null $action - * @return \Illuminate\Routing\Route - * @static + * @param array|string|callable|null $action + * @return \Illuminate\Routing\Route + * @static */ public static function any($uri, $action = null) { - return \Illuminate\Routing\Router::any($uri, $action); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->any($uri, $action); + } + + /** + * Register a new fallback route with the router. + * + * @param array|string|callable|null $action + * @return \Illuminate\Routing\Route + * @static + */ + public static function fallback($action) + { + /** @var \Illuminate\Routing\Router $instance */ + return $instance->fallback($action); + } + + /** + * Create a redirect from one URI to another. + * + * @param string $uri + * @param string $destination + * @param int $status + * @return \Illuminate\Routing\Route + * @static + */ + public static function redirect($uri, $destination, $status = 302) + { + /** @var \Illuminate\Routing\Router $instance */ + return $instance->redirect($uri, $destination, $status); + } + + /** + * Create a permanent redirect from one URI to another. + * + * @param string $uri + * @param string $destination + * @return \Illuminate\Routing\Route + * @static + */ + public static function permanentRedirect($uri, $destination) + { + /** @var \Illuminate\Routing\Router $instance */ + return $instance->permanentRedirect($uri, $destination); + } + + /** + * Register a new route that returns a view. + * + * @param string $uri + * @param string $view + * @param array $data + * @param int|array $status + * @param array $headers + * @return \Illuminate\Routing\Route + * @static + */ + public static function view($uri, $view, $data = [], $status = 200, $headers = []) + { + /** @var \Illuminate\Routing\Router $instance */ + return $instance->view($uri, $view, $data, $status, $headers); } /** @@ -10159,25 +16110,28 @@ namespace { * * @param array|string $methods * @param string $uri - * @param \Closure|array|string|null $action - * @return \Illuminate\Routing\Route - * @static + * @param array|string|callable|null $action + * @return \Illuminate\Routing\Route + * @static */ public static function match($methods, $uri, $action = null) { - return \Illuminate\Routing\Router::match($methods, $uri, $action); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->match($methods, $uri, $action); } /** * Register an array of resource controllers. * * @param array $resources - * @return void - * @static + * @param array $options + * @return void + * @static */ - public static function resources($resources) + public static function resources($resources, $options = []) { - \Illuminate\Routing\Router::resources($resources); + /** @var \Illuminate\Routing\Router $instance */ + $instance->resources($resources, $options); } /** @@ -10186,84 +16140,236 @@ namespace { * @param string $name * @param string $controller * @param array $options - * @return void - * @static + * @return \Illuminate\Routing\PendingResourceRegistration + * @static */ public static function resource($name, $controller, $options = []) { - \Illuminate\Routing\Router::resource($name, $controller, $options); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->resource($name, $controller, $options); + } + + /** + * Register an array of API resource controllers. + * + * @param array $resources + * @param array $options + * @return void + * @static + */ + public static function apiResources($resources, $options = []) + { + /** @var \Illuminate\Routing\Router $instance */ + $instance->apiResources($resources, $options); + } + + /** + * Route an API resource to a controller. + * + * @param string $name + * @param string $controller + * @param array $options + * @return \Illuminate\Routing\PendingResourceRegistration + * @static + */ + public static function apiResource($name, $controller, $options = []) + { + /** @var \Illuminate\Routing\Router $instance */ + return $instance->apiResource($name, $controller, $options); + } + + /** + * Register an array of singleton resource controllers. + * + * @param array $singletons + * @param array $options + * @return void + * @static + */ + public static function singletons($singletons, $options = []) + { + /** @var \Illuminate\Routing\Router $instance */ + $instance->singletons($singletons, $options); + } + + /** + * Route a singleton resource to a controller. + * + * @param string $name + * @param string $controller + * @param array $options + * @return \Illuminate\Routing\PendingSingletonResourceRegistration + * @static + */ + public static function singleton($name, $controller, $options = []) + { + /** @var \Illuminate\Routing\Router $instance */ + return $instance->singleton($name, $controller, $options); + } + + /** + * Register an array of API singleton resource controllers. + * + * @param array $singletons + * @param array $options + * @return void + * @static + */ + public static function apiSingletons($singletons, $options = []) + { + /** @var \Illuminate\Routing\Router $instance */ + $instance->apiSingletons($singletons, $options); + } + + /** + * Route an API singleton resource to a controller. + * + * @param string $name + * @param string $controller + * @param array $options + * @return \Illuminate\Routing\PendingSingletonResourceRegistration + * @static + */ + public static function apiSingleton($name, $controller, $options = []) + { + /** @var \Illuminate\Routing\Router $instance */ + return $instance->apiSingleton($name, $controller, $options); } /** * Create a route group with shared attributes. * * @param array $attributes - * @param \Closure|string $routes - * @return void - * @static + * @param \Closure|array|string $routes + * @return \Illuminate\Routing\Router + * @static */ public static function group($attributes, $routes) { - \Illuminate\Routing\Router::group($attributes, $routes); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->group($attributes, $routes); } /** * Merge the given array with the last group stack. * * @param array $new - * @return array - * @static + * @param bool $prependExistingPrefix + * @return array + * @static */ - public static function mergeWithLastGroup($new) + public static function mergeWithLastGroup($new, $prependExistingPrefix = true) { - return \Illuminate\Routing\Router::mergeWithLastGroup($new); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->mergeWithLastGroup($new, $prependExistingPrefix); } /** * Get the prefix from the last group on the stack. * - * @return string - * @static + * @return string + * @static */ public static function getLastGroupPrefix() { - return \Illuminate\Routing\Router::getLastGroupPrefix(); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->getLastGroupPrefix(); + } + + /** + * Add a route to the underlying route collection. + * + * @param array|string $methods + * @param string $uri + * @param array|string|callable|null $action + * @return \Illuminate\Routing\Route + * @static + */ + public static function addRoute($methods, $uri, $action) + { + /** @var \Illuminate\Routing\Router $instance */ + return $instance->addRoute($methods, $uri, $action); + } + + /** + * Create a new Route object. + * + * @param array|string $methods + * @param string $uri + * @param mixed $action + * @return \Illuminate\Routing\Route + * @static + */ + public static function newRoute($methods, $uri, $action) + { + /** @var \Illuminate\Routing\Router $instance */ + return $instance->newRoute($methods, $uri, $action); + } + + /** + * Return the response returned by the given route. + * + * @param string $name + * @return \Symfony\Component\HttpFoundation\Response + * @static + */ + public static function respondWithRoute($name) + { + /** @var \Illuminate\Routing\Router $instance */ + return $instance->respondWithRoute($name); } /** * Dispatch the request to the application. * * @param \Illuminate\Http\Request $request - * @return \Illuminate\Http\Response - * @static + * @return \Symfony\Component\HttpFoundation\Response + * @static */ public static function dispatch($request) { - return \Illuminate\Routing\Router::dispatch($request); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->dispatch($request); } /** * Dispatch the request to a route and return the response. * * @param \Illuminate\Http\Request $request - * @return mixed - * @static + * @return \Symfony\Component\HttpFoundation\Response + * @static */ public static function dispatchToRoute($request) { - return \Illuminate\Routing\Router::dispatchToRoute($request); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->dispatchToRoute($request); } /** * Gather the middleware for the given route with resolved class names. * * @param \Illuminate\Routing\Route $route - * @return array - * @static + * @return array + * @static */ public static function gatherRouteMiddleware($route) { - return \Illuminate\Routing\Router::gatherRouteMiddleware($route); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->gatherRouteMiddleware($route); + } + + /** + * Resolve a flat array of middleware classes from the provided array. + * + * @param array $middleware + * @param array $excluded + * @return array + * @static + */ + public static function resolveMiddleware($middleware, $excluded = []) + { + /** @var \Illuminate\Routing\Router $instance */ + return $instance->resolveMiddleware($middleware, $excluded); } /** @@ -10271,59 +16377,94 @@ namespace { * * @param \Symfony\Component\HttpFoundation\Request $request * @param mixed $response - * @return \Illuminate\Http\Response - * @static + * @return \Symfony\Component\HttpFoundation\Response + * @static */ public static function prepareResponse($request, $response) { - return \Illuminate\Routing\Router::prepareResponse($request, $response); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->prepareResponse($request, $response); + } + + /** + * Static version of prepareResponse. + * + * @param \Symfony\Component\HttpFoundation\Request $request + * @param mixed $response + * @return \Symfony\Component\HttpFoundation\Response + * @static + */ + public static function toResponse($request, $response) + { + return \Illuminate\Routing\Router::toResponse($request, $response); } /** * Substitute the route bindings onto the route. * * @param \Illuminate\Routing\Route $route - * @return \Illuminate\Routing\Route - * @static + * @return \Illuminate\Routing\Route + * @throws \Illuminate\Database\Eloquent\ModelNotFoundException<\Illuminate\Database\Eloquent\Model> + * @throws \Illuminate\Routing\Exceptions\BackedEnumCaseNotFoundException + * @static */ public static function substituteBindings($route) { - return \Illuminate\Routing\Router::substituteBindings($route); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->substituteBindings($route); } /** - * Substitute the implicit Eloquent model bindings for the route. + * Substitute the implicit route bindings for the given route. * * @param \Illuminate\Routing\Route $route - * @return void - * @static + * @return void + * @throws \Illuminate\Database\Eloquent\ModelNotFoundException<\Illuminate\Database\Eloquent\Model> + * @throws \Illuminate\Routing\Exceptions\BackedEnumCaseNotFoundException + * @static */ public static function substituteImplicitBindings($route) { - \Illuminate\Routing\Router::substituteImplicitBindings($route); + /** @var \Illuminate\Routing\Router $instance */ + $instance->substituteImplicitBindings($route); + } + + /** + * Register a callback to run after implicit bindings are substituted. + * + * @param callable $callback + * @return \Illuminate\Routing\Router + * @static + */ + public static function substituteImplicitBindingsUsing($callback) + { + /** @var \Illuminate\Routing\Router $instance */ + return $instance->substituteImplicitBindingsUsing($callback); } /** * Register a route matched event listener. * * @param string|callable $callback - * @return void - * @static + * @return void + * @static */ public static function matched($callback) { - \Illuminate\Routing\Router::matched($callback); + /** @var \Illuminate\Routing\Router $instance */ + $instance->matched($callback); } /** * Get all of the defined middleware short-hand names. * - * @return array - * @static + * @return array + * @static */ public static function getMiddleware() { - return \Illuminate\Routing\Router::getMiddleware(); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->getMiddleware(); } /** @@ -10331,35 +16472,38 @@ namespace { * * @param string $name * @param string $class - * @return $this - * @static + * @return \Illuminate\Routing\Router + * @static */ public static function aliasMiddleware($name, $class) { - return \Illuminate\Routing\Router::aliasMiddleware($name, $class); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->aliasMiddleware($name, $class); } /** * Check if a middlewareGroup with the given name exists. * * @param string $name - * @return bool - * @static + * @return bool + * @static */ public static function hasMiddlewareGroup($name) { - return \Illuminate\Routing\Router::hasMiddlewareGroup($name); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->hasMiddlewareGroup($name); } /** * Get all of the defined middleware groups. * - * @return array - * @static + * @return array + * @static */ public static function getMiddlewareGroups() { - return \Illuminate\Routing\Router::getMiddlewareGroups(); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->getMiddlewareGroups(); } /** @@ -10367,42 +16511,71 @@ namespace { * * @param string $name * @param array $middleware - * @return $this - * @static + * @return \Illuminate\Routing\Router + * @static */ public static function middlewareGroup($name, $middleware) { - return \Illuminate\Routing\Router::middlewareGroup($name, $middleware); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->middlewareGroup($name, $middleware); } /** * Add a middleware to the beginning of a middleware group. - * + * * If the middleware is already in the group, it will not be added again. * * @param string $group * @param string $middleware - * @return $this - * @static + * @return \Illuminate\Routing\Router + * @static */ public static function prependMiddlewareToGroup($group, $middleware) { - return \Illuminate\Routing\Router::prependMiddlewareToGroup($group, $middleware); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->prependMiddlewareToGroup($group, $middleware); } /** * Add a middleware to the end of a middleware group. - * + * * If the middleware is already in the group, it will not be added again. * * @param string $group * @param string $middleware - * @return $this - * @static + * @return \Illuminate\Routing\Router + * @static */ public static function pushMiddlewareToGroup($group, $middleware) { - return \Illuminate\Routing\Router::pushMiddlewareToGroup($group, $middleware); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->pushMiddlewareToGroup($group, $middleware); + } + + /** + * Remove the given middleware from the specified group. + * + * @param string $group + * @param string $middleware + * @return \Illuminate\Routing\Router + * @static + */ + public static function removeMiddlewareFromGroup($group, $middleware) + { + /** @var \Illuminate\Routing\Router $instance */ + return $instance->removeMiddlewareFromGroup($group, $middleware); + } + + /** + * Flush the router's middleware groups. + * + * @return \Illuminate\Routing\Router + * @static + */ + public static function flushMiddlewareGroups() + { + /** @var \Illuminate\Routing\Router $instance */ + return $instance->flushMiddlewareGroups(); } /** @@ -10410,12 +16583,13 @@ namespace { * * @param string $key * @param string|callable $binder - * @return void - * @static + * @return void + * @static */ public static function bind($key, $binder) { - \Illuminate\Routing\Router::bind($key, $binder); + /** @var \Illuminate\Routing\Router $instance */ + $instance->bind($key, $binder); } /** @@ -10424,36 +16598,38 @@ namespace { * @param string $key * @param string $class * @param \Closure|null $callback - * @return void - * @throws \Illuminate\Database\Eloquent\ModelNotFoundException - * @static + * @return void + * @static */ public static function model($key, $class, $callback = null) { - \Illuminate\Routing\Router::model($key, $class, $callback); + /** @var \Illuminate\Routing\Router $instance */ + $instance->model($key, $class, $callback); } /** * Get the binding callback for a given binding. * * @param string $key - * @return \Closure|null - * @static + * @return \Closure|null + * @static */ public static function getBindingCallback($key) { - return \Illuminate\Routing\Router::getBindingCallback($key); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->getBindingCallback($key); } /** * Get the global "where" patterns. * - * @return array - * @static + * @return array + * @static */ public static function getPatterns() { - return \Illuminate\Routing\Router::getPatterns(); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->getPatterns(); } /** @@ -10461,322 +16637,893 @@ namespace { * * @param string $key * @param string $pattern - * @return void - * @static + * @return void + * @static */ public static function pattern($key, $pattern) { - \Illuminate\Routing\Router::pattern($key, $pattern); + /** @var \Illuminate\Routing\Router $instance */ + $instance->pattern($key, $pattern); } /** * Set a group of global where patterns on all routes. * * @param array $patterns - * @return void - * @static + * @return void + * @static */ public static function patterns($patterns) { - \Illuminate\Routing\Router::patterns($patterns); + /** @var \Illuminate\Routing\Router $instance */ + $instance->patterns($patterns); } /** * Determine if the router currently has a group stack. * - * @return bool - * @static + * @return bool + * @static */ public static function hasGroupStack() { - return \Illuminate\Routing\Router::hasGroupStack(); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->hasGroupStack(); } /** * Get the current group stack for the router. * - * @return array - * @static + * @return array + * @static */ public static function getGroupStack() { - return \Illuminate\Routing\Router::getGroupStack(); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->getGroupStack(); } /** * Get a route parameter for the current route. * * @param string $key - * @param string $default - * @return mixed - * @static + * @param string|null $default + * @return mixed + * @static */ public static function input($key, $default = null) { - return \Illuminate\Routing\Router::input($key, $default); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->input($key, $default); } /** * Get the request currently being dispatched. * - * @return \Illuminate\Http\Request - * @static + * @return \Illuminate\Http\Request + * @static */ public static function getCurrentRequest() { - return \Illuminate\Routing\Router::getCurrentRequest(); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->getCurrentRequest(); } /** * Get the currently dispatched route instance. * - * @return \Illuminate\Routing\Route - * @static + * @return \Illuminate\Routing\Route|null + * @static */ public static function getCurrentRoute() { - return \Illuminate\Routing\Router::getCurrentRoute(); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->getCurrentRoute(); } /** * Get the currently dispatched route instance. * - * @return \Illuminate\Routing\Route - * @static + * @return \Illuminate\Routing\Route|null + * @static */ public static function current() { - return \Illuminate\Routing\Router::current(); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->current(); } /** * Check if a route with the given name exists. * - * @param string $name - * @return bool - * @static + * @param string|array $name + * @return bool + * @static */ public static function has($name) { - return \Illuminate\Routing\Router::has($name); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->has($name); } /** * Get the current route name. * - * @return string|null - * @static + * @return string|null + * @static */ public static function currentRouteName() { - return \Illuminate\Routing\Router::currentRouteName(); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->currentRouteName(); } /** * Alias for the "currentRouteNamed" method. * - * @return bool - * @static + * @param mixed $patterns + * @return bool + * @static */ - public static function is() + public static function is(...$patterns) { - return \Illuminate\Routing\Router::is(); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->is(...$patterns); } /** - * Determine if the current route matches a given name. + * Determine if the current route matches a pattern. * - * @param string $name - * @return bool - * @static + * @param mixed $patterns + * @return bool + * @static */ - public static function currentRouteNamed($name) + public static function currentRouteNamed(...$patterns) { - return \Illuminate\Routing\Router::currentRouteNamed($name); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->currentRouteNamed(...$patterns); } /** * Get the current route action. * - * @return string|null - * @static + * @return string|null + * @static */ public static function currentRouteAction() { - return \Illuminate\Routing\Router::currentRouteAction(); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->currentRouteAction(); } /** * Alias for the "currentRouteUses" method. * - * @return bool - * @static + * @param array|string $patterns + * @return bool + * @static */ - public static function uses() + public static function uses(...$patterns) { - return \Illuminate\Routing\Router::uses(); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->uses(...$patterns); } /** * Determine if the current route action matches a given action. * * @param string $action - * @return bool - * @static + * @return bool + * @static */ public static function currentRouteUses($action) { - return \Illuminate\Routing\Router::currentRouteUses($action); - } - - /** - * Register the typical authentication routes for an application. - * - * @return void - * @static - */ - public static function auth() - { - \Illuminate\Routing\Router::auth(); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->currentRouteUses($action); } /** * Set the unmapped global resource parameters to singular. * * @param bool $singular - * @return void - * @static + * @return void + * @static */ public static function singularResourceParameters($singular = true) { - \Illuminate\Routing\Router::singularResourceParameters($singular); + /** @var \Illuminate\Routing\Router $instance */ + $instance->singularResourceParameters($singular); } /** * Set the global resource parameter mapping. * * @param array $parameters - * @return void - * @static + * @return void + * @static */ public static function resourceParameters($parameters = []) { - \Illuminate\Routing\Router::resourceParameters($parameters); + /** @var \Illuminate\Routing\Router $instance */ + $instance->resourceParameters($parameters); } /** * Get or set the verbs used in the resource URIs. * * @param array $verbs - * @return array|null - * @static + * @return array|null + * @static */ public static function resourceVerbs($verbs = []) { - return \Illuminate\Routing\Router::resourceVerbs($verbs); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->resourceVerbs($verbs); } /** * Get the underlying route collection. * - * @return \Illuminate\Routing\RouteCollection - * @static + * @return \Illuminate\Routing\RouteCollectionInterface + * @static */ public static function getRoutes() { - return \Illuminate\Routing\Router::getRoutes(); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->getRoutes(); } /** * Set the route collection instance. * * @param \Illuminate\Routing\RouteCollection $routes - * @return void - * @static + * @return void + * @static */ public static function setRoutes($routes) { - \Illuminate\Routing\Router::setRoutes($routes); + /** @var \Illuminate\Routing\Router $instance */ + $instance->setRoutes($routes); + } + + /** + * Set the compiled route collection instance. + * + * @param array $routes + * @return void + * @static + */ + public static function setCompiledRoutes($routes) + { + /** @var \Illuminate\Routing\Router $instance */ + $instance->setCompiledRoutes($routes); + } + + /** + * Remove any duplicate middleware from the given array. + * + * @param array $middleware + * @return array + * @static + */ + public static function uniqueMiddleware($middleware) + { + return \Illuminate\Routing\Router::uniqueMiddleware($middleware); + } + + /** + * Set the container instance used by the router. + * + * @param \Illuminate\Container\Container $container + * @return \Illuminate\Routing\Router + * @static + */ + public static function setContainer($container) + { + /** @var \Illuminate\Routing\Router $instance */ + return $instance->setContainer($container); } /** * Register a custom macro. * * @param string $name - * @param callable $macro - * @return void - * @static + * @param object|callable $macro + * @param-closure-this static $macro + * @return void + * @static */ public static function macro($name, $macro) { \Illuminate\Routing\Router::macro($name, $macro); } + /** + * Mix another object into the class. + * + * @param object $mixin + * @param bool $replace + * @return void + * @throws \ReflectionException + * @static + */ + public static function mixin($mixin, $replace = true) + { + \Illuminate\Routing\Router::mixin($mixin, $replace); + } + /** * Checks if macro is registered. * * @param string $name - * @return bool - * @static + * @return bool + * @static */ public static function hasMacro($name) { return \Illuminate\Routing\Router::hasMacro($name); } + /** + * Flush the existing macros. + * + * @return void + * @static + */ + public static function flushMacros() + { + \Illuminate\Routing\Router::flushMacros(); + } + /** * Dynamically handle calls to the class. * * @param string $method * @param array $parameters - * @return mixed + * @return mixed * @throws \BadMethodCallException - * @static + * @static */ public static function macroCall($method, $parameters) { - return \Illuminate\Routing\Router::macroCall($method, $parameters); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->macroCall($method, $parameters); } - } + /** + * Call the given Closure with this instance then return the instance. + * + * @param (callable($this): mixed)|null $callback + * @return ($callback is null ? \Illuminate\Support\HigherOrderTapProxy : $this) + * @static + */ + public static function tap($callback = null) + { + /** @var \Illuminate\Routing\Router $instance */ + return $instance->tap($callback); + } + + } + /** + * + * + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes withoutOverlapping(int $expiresAt = 1440) + * @method static void mergeAttributes(\Illuminate\Console\Scheduling\Event $event) + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes user(string $user) + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes environments(array|mixed $environments) + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes evenInMaintenanceMode() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes onOneServer() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes runInBackground() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes when(\Closure|bool $callback) + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes skip(\Closure|bool $callback) + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes name(string $description) + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes description(string $description) + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes cron(string $expression) + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes between(string $startTime, string $endTime) + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes unlessBetween(string $startTime, string $endTime) + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes everySecond() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes everyTwoSeconds() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes everyFiveSeconds() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes everyTenSeconds() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes everyFifteenSeconds() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes everyTwentySeconds() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes everyThirtySeconds() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes everyMinute() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes everyTwoMinutes() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes everyThreeMinutes() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes everyFourMinutes() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes everyFiveMinutes() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes everyTenMinutes() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes everyFifteenMinutes() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes everyThirtyMinutes() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes hourly() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes hourlyAt(array|string|int|int[] $offset) + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes everyOddHour(array|string|int $offset = 0) + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes everyTwoHours(array|string|int $offset = 0) + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes everyThreeHours(array|string|int $offset = 0) + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes everyFourHours(array|string|int $offset = 0) + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes everySixHours(array|string|int $offset = 0) + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes daily() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes at(string $time) + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes dailyAt(string $time) + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes twiceDaily(int $first = 1, int $second = 13) + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes twiceDailyAt(int $first = 1, int $second = 13, int $offset = 0) + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes weekdays() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes weekends() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes mondays() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes tuesdays() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes wednesdays() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes thursdays() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes fridays() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes saturdays() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes sundays() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes weekly() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes weeklyOn(array|mixed $dayOfWeek, string $time = '0:0') + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes monthly() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes monthlyOn(int $dayOfMonth = 1, string $time = '0:0') + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes twiceMonthly(int $first = 1, int $second = 16, string $time = '0:0') + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes lastDayOfMonth(string $time = '0:0') + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes quarterly() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes quarterlyOn(int $dayOfQuarter = 1, string $time = '0:0') + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes yearly() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes yearlyOn(int $month = 1, int|string $dayOfMonth = 1, string $time = '0:0') + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes days(array|mixed $days) + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes timezone(\DateTimeZone|string $timezone) + * @see \Illuminate\Console\Scheduling\Schedule + */ + class Schedule { + /** + * Add a new callback event to the schedule. + * + * @param string|callable $callback + * @param array $parameters + * @return \Illuminate\Console\Scheduling\CallbackEvent + * @static + */ + public static function call($callback, $parameters = []) + { + /** @var \Illuminate\Console\Scheduling\Schedule $instance */ + return $instance->call($callback, $parameters); + } + + /** + * Add a new Artisan command event to the schedule. + * + * @param string $command + * @param array $parameters + * @return \Illuminate\Console\Scheduling\Event + * @static + */ + public static function command($command, $parameters = []) + { + /** @var \Illuminate\Console\Scheduling\Schedule $instance */ + return $instance->command($command, $parameters); + } + + /** + * Add a new job callback event to the schedule. + * + * @param object|string $job + * @param string|null $queue + * @param string|null $connection + * @return \Illuminate\Console\Scheduling\CallbackEvent + * @static + */ + public static function job($job, $queue = null, $connection = null) + { + /** @var \Illuminate\Console\Scheduling\Schedule $instance */ + return $instance->job($job, $queue, $connection); + } + + /** + * Add a new command event to the schedule. + * + * @param string $command + * @param array $parameters + * @return \Illuminate\Console\Scheduling\Event + * @static + */ + public static function exec($command, $parameters = []) + { + /** @var \Illuminate\Console\Scheduling\Schedule $instance */ + return $instance->exec($command, $parameters); + } + + /** + * Create new schedule group. + * + * @param \Illuminate\Console\Scheduling\Event $event + * @return void + * @throws \RuntimeException + * @static + */ + public static function group($events) + { + /** @var \Illuminate\Console\Scheduling\Schedule $instance */ + $instance->group($events); + } + + /** + * Compile array input for a command. + * + * @param string|int $key + * @param array $value + * @return string + * @static + */ + public static function compileArrayInput($key, $value) + { + /** @var \Illuminate\Console\Scheduling\Schedule $instance */ + return $instance->compileArrayInput($key, $value); + } + + /** + * Determine if the server is allowed to run this event. + * + * @param \Illuminate\Console\Scheduling\Event $event + * @param \DateTimeInterface $time + * @return bool + * @static + */ + public static function serverShouldRun($event, $time) + { + /** @var \Illuminate\Console\Scheduling\Schedule $instance */ + return $instance->serverShouldRun($event, $time); + } + + /** + * Get all of the events on the schedule that are due. + * + * @param \Illuminate\Contracts\Foundation\Application $app + * @return \Illuminate\Support\Collection + * @static + */ + public static function dueEvents($app) + { + /** @var \Illuminate\Console\Scheduling\Schedule $instance */ + return $instance->dueEvents($app); + } + + /** + * Get all of the events on the schedule. + * + * @return \Illuminate\Console\Scheduling\Event[] + * @static + */ + public static function events() + { + /** @var \Illuminate\Console\Scheduling\Schedule $instance */ + return $instance->events(); + } + + /** + * Specify the cache store that should be used to store mutexes. + * + * @param string $store + * @return \Illuminate\Console\Scheduling\Schedule + * @static + */ + public static function useCache($store) + { + /** @var \Illuminate\Console\Scheduling\Schedule $instance */ + return $instance->useCache($store); + } + + /** + * Register a custom macro. + * + * @param string $name + * @param object|callable $macro + * @param-closure-this static $macro + * @return void + * @static + */ + public static function macro($name, $macro) + { + \Illuminate\Console\Scheduling\Schedule::macro($name, $macro); + } + + /** + * Mix another object into the class. + * + * @param object $mixin + * @param bool $replace + * @return void + * @throws \ReflectionException + * @static + */ + public static function mixin($mixin, $replace = true) + { + \Illuminate\Console\Scheduling\Schedule::mixin($mixin, $replace); + } + + /** + * Checks if macro is registered. + * + * @param string $name + * @return bool + * @static + */ + public static function hasMacro($name) + { + return \Illuminate\Console\Scheduling\Schedule::hasMacro($name); + } + + /** + * Flush the existing macros. + * + * @return void + * @static + */ + public static function flushMacros() + { + \Illuminate\Console\Scheduling\Schedule::flushMacros(); + } + + /** + * Dynamically handle calls to the class. + * + * @param string $method + * @param array $parameters + * @return mixed + * @throws \BadMethodCallException + * @static + */ + public static function macroCall($method, $parameters) + { + /** @var \Illuminate\Console\Scheduling\Schedule $instance */ + return $instance->macroCall($method, $parameters); + } + + } + /** + * + * + * @see \Illuminate\Database\Schema\Builder + */ + class Schema { + /** + * Create a database in the schema. + * + * @param string $name + * @return bool + * @static + */ + public static function createDatabase($name) + { + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + return $instance->createDatabase($name); + } + + /** + * Drop a database from the schema if the database exists. + * + * @param string $name + * @return bool + * @static + */ + public static function dropDatabaseIfExists($name) + { + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + return $instance->dropDatabaseIfExists($name); + } - class Schema extends \Illuminate\Support\Facades\Schema - { /** * Determine if the given table exists. * * @param string $table - * @return bool - * @static + * @return bool + * @static */ public static function hasTable($table) { - return \Illuminate\Database\Schema\MySqlBuilder::hasTable($table); + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + return $instance->hasTable($table); } /** - * Get the column listing for a given table. + * Get the tables for the database. + * + * @param bool $withSize + * @return array + * @static + */ + public static function getTables($withSize = true) + { + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + return $instance->getTables($withSize); + } + + /** + * Get the columns for a given table. * * @param string $table - * @return array - * @static + * @return array + * @static */ - public static function getColumnListing($table) + public static function getColumns($table) { - return \Illuminate\Database\Schema\MySqlBuilder::getColumnListing($table); + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + return $instance->getColumns($table); + } + + /** + * Drop all tables from the database. + * + * @return void + * @static + */ + public static function dropAllTables() + { + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + $instance->dropAllTables(); + } + + /** + * Drop all views from the database. + * + * @return void + * @static + */ + public static function dropAllViews() + { + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + $instance->dropAllViews(); + } + + /** + * Set the busy timeout. + * + * @param int $milliseconds + * @return bool + * @static + */ + public static function setBusyTimeout($milliseconds) + { + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + return $instance->setBusyTimeout($milliseconds); + } + + /** + * Set the journal mode. + * + * @param string $mode + * @return bool + * @static + */ + public static function setJournalMode($mode) + { + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + return $instance->setJournalMode($mode); + } + + /** + * Set the synchronous mode. + * + * @param int $mode + * @return bool + * @static + */ + public static function setSynchronous($mode) + { + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + return $instance->setSynchronous($mode); + } + + /** + * Empty the database file. + * + * @return void + * @static + */ + public static function refreshDatabaseFile() + { + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + $instance->refreshDatabaseFile(); } /** * Set the default string length for migrations. * * @param int $length - * @return void - * @static + * @return void + * @static */ public static function defaultStringLength($length) { - //Method inherited from \Illuminate\Database\Schema\Builder - \Illuminate\Database\Schema\MySqlBuilder::defaultStringLength($length); + //Method inherited from \Illuminate\Database\Schema\Builder + \Illuminate\Database\Schema\SQLiteBuilder::defaultStringLength($length); + } + + /** + * Set the default morph key type for migrations. + * + * @param string $type + * @return void + * @throws \InvalidArgumentException + * @static + */ + public static function defaultMorphKeyType($type) + { + //Method inherited from \Illuminate\Database\Schema\Builder + \Illuminate\Database\Schema\SQLiteBuilder::defaultMorphKeyType($type); + } + + /** + * Set the default morph key type for migrations to UUIDs. + * + * @return void + * @static + */ + public static function morphUsingUuids() + { + //Method inherited from \Illuminate\Database\Schema\Builder + \Illuminate\Database\Schema\SQLiteBuilder::morphUsingUuids(); + } + + /** + * Set the default morph key type for migrations to ULIDs. + * + * @return void + * @static + */ + public static function morphUsingUlids() + { + //Method inherited from \Illuminate\Database\Schema\Builder + \Illuminate\Database\Schema\SQLiteBuilder::morphUsingUlids(); + } + + /** + * Determine if the given view exists. + * + * @param string $view + * @return bool + * @static + */ + public static function hasView($view) + { + //Method inherited from \Illuminate\Database\Schema\Builder + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + return $instance->hasView($view); + } + + /** + * Get the names of the tables that belong to the database. + * + * @return array + * @static + */ + public static function getTableListing() + { + //Method inherited from \Illuminate\Database\Schema\Builder + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + return $instance->getTableListing(); + } + + /** + * Get the views that belong to the database. + * + * @return array + * @static + */ + public static function getViews() + { + //Method inherited from \Illuminate\Database\Schema\Builder + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + return $instance->getViews(); + } + + /** + * Get the user-defined types that belong to the database. + * + * @return array + * @static + */ + public static function getTypes() + { + //Method inherited from \Illuminate\Database\Schema\Builder + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + return $instance->getTypes(); } /** @@ -10784,13 +17531,14 @@ namespace { * * @param string $table * @param string $column - * @return bool - * @static + * @return bool + * @static */ public static function hasColumn($table, $column) { - //Method inherited from \Illuminate\Database\Schema\Builder - return \Illuminate\Database\Schema\MySqlBuilder::hasColumn($table, $column); + //Method inherited from \Illuminate\Database\Schema\Builder + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + return $instance->hasColumn($table, $column); } /** @@ -10798,13 +17546,46 @@ namespace { * * @param string $table * @param array $columns - * @return bool - * @static + * @return bool + * @static */ public static function hasColumns($table, $columns) { - //Method inherited from \Illuminate\Database\Schema\Builder - return \Illuminate\Database\Schema\MySqlBuilder::hasColumns($table, $columns); + //Method inherited from \Illuminate\Database\Schema\Builder + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + return $instance->hasColumns($table, $columns); + } + + /** + * Execute a table builder callback if the given table has a given column. + * + * @param string $table + * @param string $column + * @param \Closure $callback + * @return void + * @static + */ + public static function whenTableHasColumn($table, $column, $callback) + { + //Method inherited from \Illuminate\Database\Schema\Builder + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + $instance->whenTableHasColumn($table, $column, $callback); + } + + /** + * Execute a table builder callback if the given table doesn't have a given column. + * + * @param string $table + * @param string $column + * @param \Closure $callback + * @return void + * @static + */ + public static function whenTableDoesntHaveColumn($table, $column, $callback) + { + //Method inherited from \Illuminate\Database\Schema\Builder + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + $instance->whenTableDoesntHaveColumn($table, $column, $callback); } /** @@ -10812,13 +17593,87 @@ namespace { * * @param string $table * @param string $column - * @return string - * @static + * @param bool $fullDefinition + * @return string + * @static */ - public static function getColumnType($table, $column) + public static function getColumnType($table, $column, $fullDefinition = false) { - //Method inherited from \Illuminate\Database\Schema\Builder - return \Illuminate\Database\Schema\MySqlBuilder::getColumnType($table, $column); + //Method inherited from \Illuminate\Database\Schema\Builder + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + return $instance->getColumnType($table, $column, $fullDefinition); + } + + /** + * Get the column listing for a given table. + * + * @param string $table + * @return array + * @static + */ + public static function getColumnListing($table) + { + //Method inherited from \Illuminate\Database\Schema\Builder + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + return $instance->getColumnListing($table); + } + + /** + * Get the indexes for a given table. + * + * @param string $table + * @return array + * @static + */ + public static function getIndexes($table) + { + //Method inherited from \Illuminate\Database\Schema\Builder + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + return $instance->getIndexes($table); + } + + /** + * Get the names of the indexes for a given table. + * + * @param string $table + * @return array + * @static + */ + public static function getIndexListing($table) + { + //Method inherited from \Illuminate\Database\Schema\Builder + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + return $instance->getIndexListing($table); + } + + /** + * Determine if the given table has a given index. + * + * @param string $table + * @param string|array $index + * @param string|null $type + * @return bool + * @static + */ + public static function hasIndex($table, $index, $type = null) + { + //Method inherited from \Illuminate\Database\Schema\Builder + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + return $instance->hasIndex($table, $index, $type); + } + + /** + * Get the foreign keys for a given table. + * + * @param string $table + * @return array + * @static + */ + public static function getForeignKeys($table) + { + //Method inherited from \Illuminate\Database\Schema\Builder + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + return $instance->getForeignKeys($table); } /** @@ -10826,13 +17681,14 @@ namespace { * * @param string $table * @param \Closure $callback - * @return void - * @static + * @return void + * @static */ public static function table($table, $callback) { - //Method inherited from \Illuminate\Database\Schema\Builder - \Illuminate\Database\Schema\MySqlBuilder::table($table, $callback); + //Method inherited from \Illuminate\Database\Schema\Builder + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + $instance->table($table, $callback); } /** @@ -10840,39 +17696,71 @@ namespace { * * @param string $table * @param \Closure $callback - * @return void - * @static + * @return void + * @static */ public static function create($table, $callback) { - //Method inherited from \Illuminate\Database\Schema\Builder - \Illuminate\Database\Schema\MySqlBuilder::create($table, $callback); + //Method inherited from \Illuminate\Database\Schema\Builder + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + $instance->create($table, $callback); } /** * Drop a table from the schema. * * @param string $table - * @return void - * @static + * @return void + * @static */ public static function drop($table) { - //Method inherited from \Illuminate\Database\Schema\Builder - \Illuminate\Database\Schema\MySqlBuilder::drop($table); + //Method inherited from \Illuminate\Database\Schema\Builder + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + $instance->drop($table); } /** * Drop a table from the schema if it exists. * * @param string $table - * @return void - * @static + * @return void + * @static */ public static function dropIfExists($table) { - //Method inherited from \Illuminate\Database\Schema\Builder - \Illuminate\Database\Schema\MySqlBuilder::dropIfExists($table); + //Method inherited from \Illuminate\Database\Schema\Builder + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + $instance->dropIfExists($table); + } + + /** + * Drop columns from a table schema. + * + * @param string $table + * @param string|array $columns + * @return void + * @static + */ + public static function dropColumns($table, $columns) + { + //Method inherited from \Illuminate\Database\Schema\Builder + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + $instance->dropColumns($table, $columns); + } + + /** + * Drop all types from the database. + * + * @return void + * @throws \LogicException + * @static + */ + public static function dropAllTypes() + { + //Method inherited from \Illuminate\Database\Schema\Builder + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + $instance->dropAllTypes(); } /** @@ -10880,126 +17768,257 @@ namespace { * * @param string $from * @param string $to - * @return void - * @static + * @return void + * @static */ public static function rename($from, $to) { - //Method inherited from \Illuminate\Database\Schema\Builder - \Illuminate\Database\Schema\MySqlBuilder::rename($from, $to); + //Method inherited from \Illuminate\Database\Schema\Builder + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + $instance->rename($from, $to); } /** * Enable foreign key constraints. * - * @return bool - * @static + * @return bool + * @static */ public static function enableForeignKeyConstraints() { - //Method inherited from \Illuminate\Database\Schema\Builder - return \Illuminate\Database\Schema\MySqlBuilder::enableForeignKeyConstraints(); + //Method inherited from \Illuminate\Database\Schema\Builder + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + return $instance->enableForeignKeyConstraints(); } /** * Disable foreign key constraints. * - * @return bool - * @static + * @return bool + * @static */ public static function disableForeignKeyConstraints() { - //Method inherited from \Illuminate\Database\Schema\Builder - return \Illuminate\Database\Schema\MySqlBuilder::disableForeignKeyConstraints(); + //Method inherited from \Illuminate\Database\Schema\Builder + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + return $instance->disableForeignKeyConstraints(); + } + + /** + * Disable foreign key constraints during the execution of a callback. + * + * @param \Closure $callback + * @return mixed + * @static + */ + public static function withoutForeignKeyConstraints($callback) + { + //Method inherited from \Illuminate\Database\Schema\Builder + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + return $instance->withoutForeignKeyConstraints($callback); } /** * Get the database connection instance. * - * @return \Illuminate\Database\Connection - * @static + * @return \Illuminate\Database\Connection + * @static */ public static function getConnection() { - //Method inherited from \Illuminate\Database\Schema\Builder - return \Illuminate\Database\Schema\MySqlBuilder::getConnection(); + //Method inherited from \Illuminate\Database\Schema\Builder + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + return $instance->getConnection(); } /** * Set the database connection instance. * * @param \Illuminate\Database\Connection $connection - * @return $this - * @static + * @return \Illuminate\Database\Schema\SQLiteBuilder + * @static */ public static function setConnection($connection) { - //Method inherited from \Illuminate\Database\Schema\Builder - return \Illuminate\Database\Schema\MySqlBuilder::setConnection($connection); + //Method inherited from \Illuminate\Database\Schema\Builder + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + return $instance->setConnection($connection); } /** * Set the Schema Blueprint resolver callback. * * @param \Closure $resolver - * @return void - * @static + * @return void + * @static */ public static function blueprintResolver($resolver) { - //Method inherited from \Illuminate\Database\Schema\Builder - \Illuminate\Database\Schema\MySqlBuilder::blueprintResolver($resolver); + //Method inherited from \Illuminate\Database\Schema\Builder + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + $instance->blueprintResolver($resolver); } - } + /** + * Register a custom macro. + * + * @param string $name + * @param object|callable $macro + * @param-closure-this static $macro + * @return void + * @static + */ + public static function macro($name, $macro) + { + //Method inherited from \Illuminate\Database\Schema\Builder + \Illuminate\Database\Schema\SQLiteBuilder::macro($name, $macro); + } + + /** + * Mix another object into the class. + * + * @param object $mixin + * @param bool $replace + * @return void + * @throws \ReflectionException + * @static + */ + public static function mixin($mixin, $replace = true) + { + //Method inherited from \Illuminate\Database\Schema\Builder + \Illuminate\Database\Schema\SQLiteBuilder::mixin($mixin, $replace); + } + + /** + * Checks if macro is registered. + * + * @param string $name + * @return bool + * @static + */ + public static function hasMacro($name) + { + //Method inherited from \Illuminate\Database\Schema\Builder + return \Illuminate\Database\Schema\SQLiteBuilder::hasMacro($name); + } + + /** + * Flush the existing macros. + * + * @return void + * @static + */ + public static function flushMacros() + { + //Method inherited from \Illuminate\Database\Schema\Builder + \Illuminate\Database\Schema\SQLiteBuilder::flushMacros(); + } + + } + /** + * + * + * @see \Illuminate\Session\SessionManager + */ + class Session { + /** + * Determine if requests for the same session should wait for each to finish before executing. + * + * @return bool + * @static + */ + public static function shouldBlock() + { + /** @var \Illuminate\Session\SessionManager $instance */ + return $instance->shouldBlock(); + } + + /** + * Get the name of the cache store / driver that should be used to acquire session locks. + * + * @return string|null + * @static + */ + public static function blockDriver() + { + /** @var \Illuminate\Session\SessionManager $instance */ + return $instance->blockDriver(); + } + + /** + * Get the maximum number of seconds the session lock should be held for. + * + * @return int + * @static + */ + public static function defaultRouteBlockLockSeconds() + { + /** @var \Illuminate\Session\SessionManager $instance */ + return $instance->defaultRouteBlockLockSeconds(); + } + + /** + * Get the maximum number of seconds to wait while attempting to acquire a route block session lock. + * + * @return int + * @static + */ + public static function defaultRouteBlockWaitSeconds() + { + /** @var \Illuminate\Session\SessionManager $instance */ + return $instance->defaultRouteBlockWaitSeconds(); + } - class Session extends \Illuminate\Support\Facades\Session - { /** * Get the session configuration. * - * @return array - * @static + * @return array + * @static */ public static function getSessionConfig() { - return \Illuminate\Session\SessionManager::getSessionConfig(); + /** @var \Illuminate\Session\SessionManager $instance */ + return $instance->getSessionConfig(); } /** * Get the default session driver name. * - * @return string - * @static + * @return string + * @static */ public static function getDefaultDriver() { - return \Illuminate\Session\SessionManager::getDefaultDriver(); + /** @var \Illuminate\Session\SessionManager $instance */ + return $instance->getDefaultDriver(); } /** * Set the default session driver name. * * @param string $name - * @return void - * @static + * @return void + * @static */ public static function setDefaultDriver($name) { - \Illuminate\Session\SessionManager::setDefaultDriver($name); + /** @var \Illuminate\Session\SessionManager $instance */ + $instance->setDefaultDriver($name); } /** * Get a driver instance. * - * @param string $driver - * @return mixed - * @static + * @param string|null $driver + * @return mixed + * @throws \InvalidArgumentException + * @static */ public static function driver($driver = null) { - //Method inherited from \Illuminate\Support\Manager - return \Illuminate\Session\SessionManager::driver($driver); + //Method inherited from \Illuminate\Support\Manager + /** @var \Illuminate\Session\SessionManager $instance */ + return $instance->driver($driver); } /** @@ -11007,93 +18026,193 @@ namespace { * * @param string $driver * @param \Closure $callback - * @return $this - * @static + * @return \Illuminate\Session\SessionManager + * @static */ public static function extend($driver, $callback) { - //Method inherited from \Illuminate\Support\Manager - return \Illuminate\Session\SessionManager::extend($driver, $callback); + //Method inherited from \Illuminate\Support\Manager + /** @var \Illuminate\Session\SessionManager $instance */ + return $instance->extend($driver, $callback); } /** * Get all of the created "drivers". * - * @return array - * @static + * @return array + * @static */ public static function getDrivers() { - //Method inherited from \Illuminate\Support\Manager - return \Illuminate\Session\SessionManager::getDrivers(); + //Method inherited from \Illuminate\Support\Manager + /** @var \Illuminate\Session\SessionManager $instance */ + return $instance->getDrivers(); + } + + /** + * Get the container instance used by the manager. + * + * @return \Illuminate\Contracts\Container\Container + * @static + */ + public static function getContainer() + { + //Method inherited from \Illuminate\Support\Manager + /** @var \Illuminate\Session\SessionManager $instance */ + return $instance->getContainer(); + } + + /** + * Set the container instance used by the manager. + * + * @param \Illuminate\Contracts\Container\Container $container + * @return \Illuminate\Session\SessionManager + * @static + */ + public static function setContainer($container) + { + //Method inherited from \Illuminate\Support\Manager + /** @var \Illuminate\Session\SessionManager $instance */ + return $instance->setContainer($container); + } + + /** + * Forget all of the resolved driver instances. + * + * @return \Illuminate\Session\SessionManager + * @static + */ + public static function forgetDrivers() + { + //Method inherited from \Illuminate\Support\Manager + /** @var \Illuminate\Session\SessionManager $instance */ + return $instance->forgetDrivers(); } /** * Start the session, reading the data from a handler. * - * @return bool - * @static + * @return bool + * @static */ public static function start() { - return \Illuminate\Session\Store::start(); + /** @var \Illuminate\Session\Store $instance */ + return $instance->start(); } /** * Save the session data to storage. * - * @return bool - * @static + * @return void + * @static */ public static function save() { - return \Illuminate\Session\Store::save(); + /** @var \Illuminate\Session\Store $instance */ + $instance->save(); } /** * Age the flash data for the session. * - * @return void - * @static + * @return void + * @static */ public static function ageFlashData() { - \Illuminate\Session\Store::ageFlashData(); + /** @var \Illuminate\Session\Store $instance */ + $instance->ageFlashData(); } /** * Get all of the session data. * - * @return array - * @static + * @return array + * @static */ public static function all() { - return \Illuminate\Session\Store::all(); + /** @var \Illuminate\Session\Store $instance */ + return $instance->all(); + } + + /** + * Get a subset of the session data. + * + * @param array $keys + * @return array + * @static + */ + public static function only($keys) + { + /** @var \Illuminate\Session\Store $instance */ + return $instance->only($keys); + } + + /** + * Get all the session data except for a specified array of items. + * + * @param array $keys + * @return array + * @static + */ + public static function except($keys) + { + /** @var \Illuminate\Session\Store $instance */ + return $instance->except($keys); } /** * Checks if a key exists. * * @param string|array $key - * @return bool - * @static + * @return bool + * @static */ public static function exists($key) { - return \Illuminate\Session\Store::exists($key); + /** @var \Illuminate\Session\Store $instance */ + return $instance->exists($key); } /** - * Checks if an a key is present and not null. + * Determine if the given key is missing from the session data. * * @param string|array $key - * @return bool - * @static + * @return bool + * @static + */ + public static function missing($key) + { + /** @var \Illuminate\Session\Store $instance */ + return $instance->missing($key); + } + + /** + * Determine if a key is present and not null. + * + * @param string|array $key + * @return bool + * @static */ public static function has($key) { - return \Illuminate\Session\Store::has($key); + /** @var \Illuminate\Session\Store $instance */ + return $instance->has($key); + } + + /** + * Determine if any of the given keys are present and not null. + * + * @param string|array $key + * @return bool + * @static + */ + public static function hasAny($key) + { + /** @var \Illuminate\Session\Store $instance */ + return $instance->hasAny($key); } /** @@ -11101,62 +18220,67 @@ namespace { * * @param string $key * @param mixed $default - * @return mixed - * @static + * @return mixed + * @static */ public static function get($key, $default = null) { - return \Illuminate\Session\Store::get($key, $default); + /** @var \Illuminate\Session\Store $instance */ + return $instance->get($key, $default); } /** * Get the value of a given key and then forget it. * * @param string $key - * @param string $default - * @return mixed - * @static + * @param mixed $default + * @return mixed + * @static */ public static function pull($key, $default = null) { - return \Illuminate\Session\Store::pull($key, $default); + /** @var \Illuminate\Session\Store $instance */ + return $instance->pull($key, $default); } /** * Determine if the session contains old input. * - * @param string $key - * @return bool - * @static + * @param string|null $key + * @return bool + * @static */ public static function hasOldInput($key = null) { - return \Illuminate\Session\Store::hasOldInput($key); + /** @var \Illuminate\Session\Store $instance */ + return $instance->hasOldInput($key); } /** * Get the requested item from the flashed input array. * - * @param string $key + * @param string|null $key * @param mixed $default - * @return mixed - * @static + * @return mixed + * @static */ public static function getOldInput($key = null, $default = null) { - return \Illuminate\Session\Store::getOldInput($key, $default); + /** @var \Illuminate\Session\Store $instance */ + return $instance->getOldInput($key, $default); } /** * Replace the given session attributes entirely. * * @param array $attributes - * @return void - * @static + * @return void + * @static */ public static function replace($attributes) { - \Illuminate\Session\Store::replace($attributes); + /** @var \Illuminate\Session\Store $instance */ + $instance->replace($attributes); } /** @@ -11164,12 +18288,13 @@ namespace { * * @param string|array $key * @param mixed $value - * @return void - * @static + * @return void + * @static */ public static function put($key, $value = null) { - \Illuminate\Session\Store::put($key, $value); + /** @var \Illuminate\Session\Store $instance */ + $instance->put($key, $value); } /** @@ -11177,12 +18302,13 @@ namespace { * * @param string $key * @param \Closure $callback - * @return mixed - * @static + * @return mixed + * @static */ public static function remember($key, $callback) { - return \Illuminate\Session\Store::remember($key, $callback); + /** @var \Illuminate\Session\Store $instance */ + return $instance->remember($key, $callback); } /** @@ -11190,12 +18316,13 @@ namespace { * * @param string $key * @param mixed $value - * @return void - * @static + * @return void + * @static */ public static function push($key, $value) { - \Illuminate\Session\Store::push($key, $value); + /** @var \Illuminate\Session\Store $instance */ + $instance->push($key, $value); } /** @@ -11203,12 +18330,13 @@ namespace { * * @param string $key * @param int $amount - * @return mixed - * @static + * @return mixed + * @static */ public static function increment($key, $amount = 1) { - return \Illuminate\Session\Store::increment($key, $amount); + /** @var \Illuminate\Session\Store $instance */ + return $instance->increment($key, $amount); } /** @@ -11216,12 +18344,13 @@ namespace { * * @param string $key * @param int $amount - * @return int - * @static + * @return int + * @static */ public static function decrement($key, $amount = 1) { - return \Illuminate\Session\Store::decrement($key, $amount); + /** @var \Illuminate\Session\Store $instance */ + return $instance->decrement($key, $amount); } /** @@ -11229,12 +18358,13 @@ namespace { * * @param string $key * @param mixed $value - * @return void - * @static + * @return void + * @static */ - public static function flash($key, $value) + public static function flash($key, $value = true) { - \Illuminate\Session\Store::flash($key, $value); + /** @var \Illuminate\Session\Store $instance */ + $instance->flash($key, $value); } /** @@ -11242,386 +18372,609 @@ namespace { * * @param string $key * @param mixed $value - * @return void - * @static + * @return void + * @static */ public static function now($key, $value) { - \Illuminate\Session\Store::now($key, $value); + /** @var \Illuminate\Session\Store $instance */ + $instance->now($key, $value); } /** * Reflash all of the session flash data. * - * @return void - * @static + * @return void + * @static */ public static function reflash() { - \Illuminate\Session\Store::reflash(); + /** @var \Illuminate\Session\Store $instance */ + $instance->reflash(); } /** * Reflash a subset of the current flash data. * * @param array|mixed $keys - * @return void - * @static + * @return void + * @static */ public static function keep($keys = null) { - \Illuminate\Session\Store::keep($keys); + /** @var \Illuminate\Session\Store $instance */ + $instance->keep($keys); } /** * Flash an input array to the session. * * @param array $value - * @return void - * @static + * @return void + * @static */ public static function flashInput($value) { - \Illuminate\Session\Store::flashInput($value); + /** @var \Illuminate\Session\Store $instance */ + $instance->flashInput($value); } /** * Remove an item from the session, returning its value. * * @param string $key - * @return mixed - * @static + * @return mixed + * @static */ public static function remove($key) { - return \Illuminate\Session\Store::remove($key); + /** @var \Illuminate\Session\Store $instance */ + return $instance->remove($key); } /** * Remove one or many items from the session. * * @param string|array $keys - * @return void - * @static + * @return void + * @static */ public static function forget($keys) { - \Illuminate\Session\Store::forget($keys); + /** @var \Illuminate\Session\Store $instance */ + $instance->forget($keys); } /** * Remove all of the items from the session. * - * @return void - * @static + * @return void + * @static */ public static function flush() { - \Illuminate\Session\Store::flush(); + /** @var \Illuminate\Session\Store $instance */ + $instance->flush(); } /** * Flush the session data and regenerate the ID. * - * @return bool - * @static + * @return bool + * @static */ public static function invalidate() { - return \Illuminate\Session\Store::invalidate(); + /** @var \Illuminate\Session\Store $instance */ + return $instance->invalidate(); } /** * Generate a new session identifier. * * @param bool $destroy - * @return bool - * @static + * @return bool + * @static */ public static function regenerate($destroy = false) { - return \Illuminate\Session\Store::regenerate($destroy); + /** @var \Illuminate\Session\Store $instance */ + return $instance->regenerate($destroy); } /** * Generate a new session ID for the session. * * @param bool $destroy - * @return bool - * @static + * @return bool + * @static */ public static function migrate($destroy = false) { - return \Illuminate\Session\Store::migrate($destroy); + /** @var \Illuminate\Session\Store $instance */ + return $instance->migrate($destroy); } /** * Determine if the session has been started. * - * @return bool - * @static + * @return bool + * @static */ public static function isStarted() { - return \Illuminate\Session\Store::isStarted(); + /** @var \Illuminate\Session\Store $instance */ + return $instance->isStarted(); } /** * Get the name of the session. * - * @return string - * @static + * @return string + * @static */ public static function getName() { - return \Illuminate\Session\Store::getName(); + /** @var \Illuminate\Session\Store $instance */ + return $instance->getName(); } /** * Set the name of the session. * * @param string $name - * @return void - * @static + * @return void + * @static */ public static function setName($name) { - \Illuminate\Session\Store::setName($name); + /** @var \Illuminate\Session\Store $instance */ + $instance->setName($name); } /** * Get the current session ID. * - * @return string - * @static + * @return string + * @static + */ + public static function id() + { + /** @var \Illuminate\Session\Store $instance */ + return $instance->id(); + } + + /** + * Get the current session ID. + * + * @return string + * @static */ public static function getId() { - return \Illuminate\Session\Store::getId(); + /** @var \Illuminate\Session\Store $instance */ + return $instance->getId(); } /** * Set the session ID. * - * @param string $id - * @return void - * @static + * @param string|null $id + * @return void + * @static */ public static function setId($id) { - \Illuminate\Session\Store::setId($id); + /** @var \Illuminate\Session\Store $instance */ + $instance->setId($id); } /** * Determine if this is a valid session ID. * - * @param string $id - * @return bool - * @static + * @param string|null $id + * @return bool + * @static */ public static function isValidId($id) { - return \Illuminate\Session\Store::isValidId($id); + /** @var \Illuminate\Session\Store $instance */ + return $instance->isValidId($id); } /** * Set the existence of the session on the handler if applicable. * * @param bool $value - * @return void - * @static + * @return void + * @static */ public static function setExists($value) { - \Illuminate\Session\Store::setExists($value); + /** @var \Illuminate\Session\Store $instance */ + $instance->setExists($value); } /** * Get the CSRF token value. * - * @return string - * @static + * @return string + * @static */ public static function token() { - return \Illuminate\Session\Store::token(); + /** @var \Illuminate\Session\Store $instance */ + return $instance->token(); } /** * Regenerate the CSRF token value. * - * @return void - * @static + * @return void + * @static */ public static function regenerateToken() { - \Illuminate\Session\Store::regenerateToken(); + /** @var \Illuminate\Session\Store $instance */ + $instance->regenerateToken(); + } + + /** + * Determine if the previous URI is available. + * + * @return bool + * @static + */ + public static function hasPreviousUri() + { + /** @var \Illuminate\Session\Store $instance */ + return $instance->hasPreviousUri(); + } + + /** + * Get the previous URL from the session as a URI instance. + * + * @return \Illuminate\Support\Uri + * @throws \RuntimeException + * @static + */ + public static function previousUri() + { + /** @var \Illuminate\Session\Store $instance */ + return $instance->previousUri(); } /** * Get the previous URL from the session. * - * @return string|null - * @static + * @return string|null + * @static */ public static function previousUrl() { - return \Illuminate\Session\Store::previousUrl(); + /** @var \Illuminate\Session\Store $instance */ + return $instance->previousUrl(); } /** * Set the "previous" URL in the session. * * @param string $url - * @return void - * @static + * @return void + * @static */ public static function setPreviousUrl($url) { - \Illuminate\Session\Store::setPreviousUrl($url); + /** @var \Illuminate\Session\Store $instance */ + $instance->setPreviousUrl($url); + } + + /** + * Specify that the user has confirmed their password. + * + * @return void + * @static + */ + public static function passwordConfirmed() + { + /** @var \Illuminate\Session\Store $instance */ + $instance->passwordConfirmed(); } /** * Get the underlying session handler implementation. * - * @return \SessionHandlerInterface - * @static + * @return \SessionHandlerInterface + * @static */ public static function getHandler() { - return \Illuminate\Session\Store::getHandler(); + /** @var \Illuminate\Session\Store $instance */ + return $instance->getHandler(); + } + + /** + * Set the underlying session handler implementation. + * + * @param \SessionHandlerInterface $handler + * @return \SessionHandlerInterface + * @static + */ + public static function setHandler($handler) + { + /** @var \Illuminate\Session\Store $instance */ + return $instance->setHandler($handler); } /** * Determine if the session handler needs a request. * - * @return bool - * @static + * @return bool + * @static */ public static function handlerNeedsRequest() { - return \Illuminate\Session\Store::handlerNeedsRequest(); + /** @var \Illuminate\Session\Store $instance */ + return $instance->handlerNeedsRequest(); } /** * Set the request on the handler instance. * * @param \Illuminate\Http\Request $request - * @return void - * @static + * @return void + * @static */ public static function setRequestOnHandler($request) { - \Illuminate\Session\Store::setRequestOnHandler($request); + /** @var \Illuminate\Session\Store $instance */ + $instance->setRequestOnHandler($request); } - } + /** + * Register a custom macro. + * + * @param string $name + * @param object|callable $macro + * @param-closure-this static $macro + * @return void + * @static + */ + public static function macro($name, $macro) + { + \Illuminate\Session\Store::macro($name, $macro); + } - class Storage extends \Illuminate\Support\Facades\Storage - { + /** + * Mix another object into the class. + * + * @param object $mixin + * @param bool $replace + * @return void + * @throws \ReflectionException + * @static + */ + public static function mixin($mixin, $replace = true) + { + \Illuminate\Session\Store::mixin($mixin, $replace); + } + + /** + * Checks if macro is registered. + * + * @param string $name + * @return bool + * @static + */ + public static function hasMacro($name) + { + return \Illuminate\Session\Store::hasMacro($name); + } + + /** + * Flush the existing macros. + * + * @return void + * @static + */ + public static function flushMacros() + { + \Illuminate\Session\Store::flushMacros(); + } + + } + /** + * + * + * @method static bool has(string $location) + * @method static string read(string $location) + * @method static \League\Flysystem\DirectoryListing listContents(string $location, bool $deep = false) + * @method static int fileSize(string $path) + * @method static string visibility(string $path) + * @method static void write(string $location, string $contents, array $config = []) + * @method static void createDirectory(string $location, array $config = []) + * @see \Illuminate\Filesystem\FilesystemManager + */ + class Storage { /** * Get a filesystem instance. * - * @param string $name - * @return \Illuminate\Filesystem\FilesystemAdapter - * @static + * @param string|null $name + * @return \Illuminate\Filesystem\LocalFilesystemAdapter + * @static */ public static function drive($name = null) { - return \Illuminate\Filesystem\FilesystemManager::drive($name); + /** @var \Illuminate\Filesystem\FilesystemManager $instance */ + return $instance->drive($name); } /** * Get a filesystem instance. * - * @param string $name - * @return \Illuminate\Filesystem\FilesystemAdapter - * @static + * @param string|null $name + * @return \Illuminate\Filesystem\LocalFilesystemAdapter + * @static */ public static function disk($name = null) { - return \Illuminate\Filesystem\FilesystemManager::disk($name); + /** @var \Illuminate\Filesystem\FilesystemManager $instance */ + return $instance->disk($name); } /** * Get a default cloud filesystem instance. * - * @return \Illuminate\Filesystem\FilesystemAdapter - * @static + * @return \Illuminate\Contracts\Filesystem\Cloud + * @static */ public static function cloud() { - return \Illuminate\Filesystem\FilesystemManager::cloud(); + /** @var \Illuminate\Filesystem\FilesystemManager $instance */ + return $instance->cloud(); + } + + /** + * Build an on-demand disk. + * + * @param string|array $config + * @return \Illuminate\Filesystem\LocalFilesystemAdapter + * @static + */ + public static function build($config) + { + /** @var \Illuminate\Filesystem\FilesystemManager $instance */ + return $instance->build($config); } /** * Create an instance of the local driver. * * @param array $config - * @return \Illuminate\Filesystem\FilesystemAdapter - * @static + * @param string $name + * @return \Illuminate\Filesystem\LocalFilesystemAdapter + * @static */ - public static function createLocalDriver($config) + public static function createLocalDriver($config, $name = 'local') { - return \Illuminate\Filesystem\FilesystemManager::createLocalDriver($config); + /** @var \Illuminate\Filesystem\FilesystemManager $instance */ + return $instance->createLocalDriver($config, $name); } /** * Create an instance of the ftp driver. * * @param array $config - * @return \Illuminate\Filesystem\FilesystemAdapter - * @static + * @return \Illuminate\Filesystem\LocalFilesystemAdapter + * @static */ public static function createFtpDriver($config) { - return \Illuminate\Filesystem\FilesystemManager::createFtpDriver($config); + /** @var \Illuminate\Filesystem\FilesystemManager $instance */ + return $instance->createFtpDriver($config); + } + + /** + * Create an instance of the sftp driver. + * + * @param array $config + * @return \Illuminate\Filesystem\LocalFilesystemAdapter + * @static + */ + public static function createSftpDriver($config) + { + /** @var \Illuminate\Filesystem\FilesystemManager $instance */ + return $instance->createSftpDriver($config); } /** * Create an instance of the Amazon S3 driver. * * @param array $config - * @return \Illuminate\Contracts\Filesystem\Cloud - * @static + * @return \Illuminate\Contracts\Filesystem\Cloud + * @static */ public static function createS3Driver($config) { - return \Illuminate\Filesystem\FilesystemManager::createS3Driver($config); + /** @var \Illuminate\Filesystem\FilesystemManager $instance */ + return $instance->createS3Driver($config); } /** - * Create an instance of the Rackspace driver. + * Create a scoped driver. * * @param array $config - * @return \Illuminate\Contracts\Filesystem\Cloud - * @static + * @return \Illuminate\Filesystem\LocalFilesystemAdapter + * @static */ - public static function createRackspaceDriver($config) + public static function createScopedDriver($config) { - return \Illuminate\Filesystem\FilesystemManager::createRackspaceDriver($config); + /** @var \Illuminate\Filesystem\FilesystemManager $instance */ + return $instance->createScopedDriver($config); + } + + /** + * Set the given disk instance. + * + * @param string $name + * @param mixed $disk + * @return \Illuminate\Filesystem\FilesystemManager + * @static + */ + public static function set($name, $disk) + { + /** @var \Illuminate\Filesystem\FilesystemManager $instance */ + return $instance->set($name, $disk); } /** * Get the default driver name. * - * @return string - * @static + * @return string + * @static */ public static function getDefaultDriver() { - return \Illuminate\Filesystem\FilesystemManager::getDefaultDriver(); + /** @var \Illuminate\Filesystem\FilesystemManager $instance */ + return $instance->getDefaultDriver(); } /** * Get the default cloud driver name. * - * @return string - * @static + * @return string + * @static */ public static function getDefaultCloudDriver() { - return \Illuminate\Filesystem\FilesystemManager::getDefaultCloudDriver(); + /** @var \Illuminate\Filesystem\FilesystemManager $instance */ + return $instance->getDefaultCloudDriver(); + } + + /** + * Unset the given disk instances. + * + * @param array|string $disk + * @return \Illuminate\Filesystem\FilesystemManager + * @static + */ + public static function forgetDisk($disk) + { + /** @var \Illuminate\Filesystem\FilesystemManager $instance */ + return $instance->forgetDisk($disk); + } + + /** + * Disconnect the given disk and remove from local cache. + * + * @param string|null $name + * @return void + * @static + */ + public static function purge($name = null) + { + /** @var \Illuminate\Filesystem\FilesystemManager $instance */ + $instance->purge($name); } /** @@ -11629,92 +18982,379 @@ namespace { * * @param string $driver * @param \Closure $callback - * @return $this - * @static + * @return \Illuminate\Filesystem\FilesystemManager + * @static */ public static function extend($driver, $callback) { - return \Illuminate\Filesystem\FilesystemManager::extend($driver, $callback); + /** @var \Illuminate\Filesystem\FilesystemManager $instance */ + return $instance->extend($driver, $callback); + } + + /** + * Set the application instance used by the manager. + * + * @param \Illuminate\Contracts\Foundation\Application $app + * @return \Illuminate\Filesystem\FilesystemManager + * @static + */ + public static function setApplication($app) + { + /** @var \Illuminate\Filesystem\FilesystemManager $instance */ + return $instance->setApplication($app); + } + + /** + * Determine if temporary URLs can be generated. + * + * @return bool + * @static + */ + public static function providesTemporaryUrls() + { + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->providesTemporaryUrls(); + } + + /** + * Get a temporary URL for the file at the given path. + * + * @param string $path + * @param \DateTimeInterface $expiration + * @param array $options + * @return string + * @static + */ + public static function temporaryUrl($path, $expiration, $options = []) + { + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->temporaryUrl($path, $expiration, $options); + } + + /** + * Specify the name of the disk the adapter is managing. + * + * @param string $disk + * @return \Illuminate\Filesystem\LocalFilesystemAdapter + * @static + */ + public static function diskName($disk) + { + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->diskName($disk); + } + + /** + * Indiate that signed URLs should serve the corresponding files. + * + * @param bool $serve + * @param \Closure|null $urlGeneratorResolver + * @return \Illuminate\Filesystem\LocalFilesystemAdapter + * @static + */ + public static function shouldServeSignedUrls($serve = true, $urlGeneratorResolver = null) + { + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->shouldServeSignedUrls($serve, $urlGeneratorResolver); + } + + /** + * Assert that the given file or directory exists. + * + * @param string|array $path + * @param string|null $content + * @return \Illuminate\Filesystem\LocalFilesystemAdapter + * @static + */ + public static function assertExists($path, $content = null) + { + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->assertExists($path, $content); + } + + /** + * Assert that the number of files in path equals the expected count. + * + * @param string $path + * @param int $count + * @param bool $recursive + * @return \Illuminate\Filesystem\LocalFilesystemAdapter + * @static + */ + public static function assertCount($path, $count, $recursive = false) + { + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->assertCount($path, $count, $recursive); + } + + /** + * Assert that the given file or directory does not exist. + * + * @param string|array $path + * @return \Illuminate\Filesystem\LocalFilesystemAdapter + * @static + */ + public static function assertMissing($path) + { + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->assertMissing($path); + } + + /** + * Assert that the given directory is empty. + * + * @param string $path + * @return \Illuminate\Filesystem\LocalFilesystemAdapter + * @static + */ + public static function assertDirectoryEmpty($path) + { + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->assertDirectoryEmpty($path); + } + + /** + * Determine if a file or directory exists. + * + * @param string $path + * @return bool + * @static + */ + public static function exists($path) + { + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->exists($path); + } + + /** + * Determine if a file or directory is missing. + * + * @param string $path + * @return bool + * @static + */ + public static function missing($path) + { + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->missing($path); } /** * Determine if a file exists. * * @param string $path - * @return bool - * @static + * @return bool + * @static */ - public static function exists($path) + public static function fileExists($path) { - return \Illuminate\Filesystem\FilesystemAdapter::exists($path); + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->fileExists($path); + } + + /** + * Determine if a file is missing. + * + * @param string $path + * @return bool + * @static + */ + public static function fileMissing($path) + { + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->fileMissing($path); + } + + /** + * Determine if a directory exists. + * + * @param string $path + * @return bool + * @static + */ + public static function directoryExists($path) + { + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->directoryExists($path); + } + + /** + * Determine if a directory is missing. + * + * @param string $path + * @return bool + * @static + */ + public static function directoryMissing($path) + { + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->directoryMissing($path); + } + + /** + * Get the full path to the file that exists at the given relative path. + * + * @param string $path + * @return string + * @static + */ + public static function path($path) + { + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->path($path); } /** * Get the contents of a file. * * @param string $path - * @return string - * @throws \Illuminate\Contracts\Filesystem\FileNotFoundException - * @static + * @return string|null + * @static */ public static function get($path) { - return \Illuminate\Filesystem\FilesystemAdapter::get($path); + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->get($path); + } + + /** + * Get the contents of a file as decoded JSON. + * + * @param string $path + * @param int $flags + * @return array|null + * @static + */ + public static function json($path, $flags = 0) + { + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->json($path, $flags); + } + + /** + * Create a streamed response for a given file. + * + * @param string $path + * @param string|null $name + * @param array $headers + * @param string|null $disposition + * @return \Symfony\Component\HttpFoundation\StreamedResponse + * @static + */ + public static function response($path, $name = null, $headers = [], $disposition = 'inline') + { + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->response($path, $name, $headers, $disposition); + } + + /** + * Create a streamed download response for a given file. + * + * @param \Illuminate\Http\Request $request + * @param string $path + * @param string|null $name + * @param array $headers + * @return \Symfony\Component\HttpFoundation\StreamedResponse + * @static + */ + public static function serve($request, $path, $name = null, $headers = []) + { + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->serve($request, $path, $name, $headers); + } + + /** + * Create a streamed download response for a given file. + * + * @param string $path + * @param string|null $name + * @param array $headers + * @return \Symfony\Component\HttpFoundation\StreamedResponse + * @static + */ + public static function download($path, $name = null, $headers = []) + { + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->download($path, $name, $headers); } /** * Write the contents of a file. * * @param string $path - * @param string|resource $contents - * @param array $options - * @return bool - * @static + * @param \Psr\Http\Message\StreamInterface|\Illuminate\Http\File|\Illuminate\Http\UploadedFile|string|resource $contents + * @param mixed $options + * @return string|bool + * @static */ public static function put($path, $contents, $options = []) { - return \Illuminate\Filesystem\FilesystemAdapter::put($path, $contents, $options); + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->put($path, $contents, $options); } /** * Store the uploaded file on the disk. * - * @param string $path - * @param \Illuminate\Http\UploadedFile $file - * @param array $options - * @return string|false - * @static + * @param \Illuminate\Http\File|\Illuminate\Http\UploadedFile|string $path + * @param \Illuminate\Http\File|\Illuminate\Http\UploadedFile|string|array|null $file + * @param mixed $options + * @return string|false + * @static */ - public static function putFile($path, $file, $options = []) + public static function putFile($path, $file = null, $options = []) { - return \Illuminate\Filesystem\FilesystemAdapter::putFile($path, $file, $options); + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->putFile($path, $file, $options); } /** * Store the uploaded file on the disk with a given name. * - * @param string $path - * @param \Illuminate\Http\File|\Illuminate\Http\UploadedFile $file - * @param string $name - * @param array $options - * @return string|false - * @static + * @param \Illuminate\Http\File|\Illuminate\Http\UploadedFile|string $path + * @param \Illuminate\Http\File|\Illuminate\Http\UploadedFile|string|array|null $file + * @param string|array|null $name + * @param mixed $options + * @return string|false + * @static */ - public static function putFileAs($path, $file, $name, $options = []) + public static function putFileAs($path, $file, $name = null, $options = []) { - return \Illuminate\Filesystem\FilesystemAdapter::putFileAs($path, $file, $name, $options); + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->putFileAs($path, $file, $name, $options); } /** * Get the visibility for the given path. * * @param string $path - * @return string - * @static + * @return string + * @static */ public static function getVisibility($path) { - return \Illuminate\Filesystem\FilesystemAdapter::getVisibility($path); + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->getVisibility($path); } /** @@ -11722,12 +19362,14 @@ namespace { * * @param string $path * @param string $visibility - * @return void - * @static + * @return bool + * @static */ public static function setVisibility($path, $visibility) { - \Illuminate\Filesystem\FilesystemAdapter::setVisibility($path, $visibility); + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->setVisibility($path, $visibility); } /** @@ -11736,12 +19378,15 @@ namespace { * @param string $path * @param string $data * @param string $separator - * @return int - * @static + * @return bool + * @static */ - public static function prepend($path, $data, $separator = '') + public static function prepend($path, $data, $separator = ' +') { - return \Illuminate\Filesystem\FilesystemAdapter::prepend($path, $data, $separator); + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->prepend($path, $data, $separator); } /** @@ -11750,24 +19395,29 @@ namespace { * @param string $path * @param string $data * @param string $separator - * @return int - * @static + * @return bool + * @static */ - public static function append($path, $data, $separator = '') + public static function append($path, $data, $separator = ' +') { - return \Illuminate\Filesystem\FilesystemAdapter::append($path, $data, $separator); + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->append($path, $data, $separator); } /** * Delete the file at a given path. * * @param string|array $paths - * @return bool - * @static + * @return bool + * @static */ public static function delete($paths) { - return \Illuminate\Filesystem\FilesystemAdapter::delete($paths); + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->delete($paths); } /** @@ -11775,12 +19425,14 @@ namespace { * * @param string $from * @param string $to - * @return bool - * @static + * @return bool + * @static */ public static function copy($from, $to) { - return \Illuminate\Filesystem\FilesystemAdapter::copy($from, $to); + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->copy($from, $to); } /** @@ -11788,60 +19440,132 @@ namespace { * * @param string $from * @param string $to - * @return bool - * @static + * @return bool + * @static */ public static function move($from, $to) { - return \Illuminate\Filesystem\FilesystemAdapter::move($from, $to); + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->move($from, $to); } /** * Get the file size of a given file. * * @param string $path - * @return int - * @static + * @return int + * @static */ public static function size($path) { - return \Illuminate\Filesystem\FilesystemAdapter::size($path); + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->size($path); + } + + /** + * Get the checksum for a file. + * + * @return string|false + * @throws UnableToProvideChecksum + * @static + */ + public static function checksum($path, $options = []) + { + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->checksum($path, $options); } /** * Get the mime-type of a given file. * * @param string $path - * @return string|false - * @static + * @return string|false + * @static */ public static function mimeType($path) { - return \Illuminate\Filesystem\FilesystemAdapter::mimeType($path); + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->mimeType($path); } /** * Get the file's last modification time. * * @param string $path - * @return int - * @static + * @return int + * @static */ public static function lastModified($path) { - return \Illuminate\Filesystem\FilesystemAdapter::lastModified($path); + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->lastModified($path); + } + + /** + * Get a resource to read the file. + * + * @param string $path + * @return resource|null The path resource or null on failure. + * @static + */ + public static function readStream($path) + { + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->readStream($path); + } + + /** + * Write a new file using a stream. + * + * @param string $path + * @param resource $resource + * @param array $options + * @return bool + * @static + */ + public static function writeStream($path, $resource, $options = []) + { + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->writeStream($path, $resource, $options); } /** * Get the URL for the file at the given path. * * @param string $path - * @return string - * @static + * @return string + * @throws \RuntimeException + * @static */ public static function url($path) { - return \Illuminate\Filesystem\FilesystemAdapter::url($path); + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->url($path); + } + + /** + * Get a temporary upload URL for the file at the given path. + * + * @param string $path + * @param \DateTimeInterface $expiration + * @param array $options + * @return array + * @throws \RuntimeException + * @static + */ + public static function temporaryUploadUrl($path, $expiration, $options = []) + { + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->temporaryUploadUrl($path, $expiration, $options); } /** @@ -11849,24 +19573,28 @@ namespace { * * @param string|null $directory * @param bool $recursive - * @return array - * @static + * @return array + * @static */ public static function files($directory = null, $recursive = false) { - return \Illuminate\Filesystem\FilesystemAdapter::files($directory, $recursive); + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->files($directory, $recursive); } /** * Get all of the files from the given directory (recursive). * * @param string|null $directory - * @return array - * @static + * @return array + * @static */ public static function allFiles($directory = null) { - return \Illuminate\Filesystem\FilesystemAdapter::allFiles($directory); + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->allFiles($directory); } /** @@ -11874,97 +19602,285 @@ namespace { * * @param string|null $directory * @param bool $recursive - * @return array - * @static + * @return array + * @static */ public static function directories($directory = null, $recursive = false) { - return \Illuminate\Filesystem\FilesystemAdapter::directories($directory, $recursive); + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->directories($directory, $recursive); } /** - * Get all (recursive) of the directories within a given directory. + * Get all the directories within a given directory (recursive). * * @param string|null $directory - * @return array - * @static + * @return array + * @static */ public static function allDirectories($directory = null) { - return \Illuminate\Filesystem\FilesystemAdapter::allDirectories($directory); + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->allDirectories($directory); } /** * Create a directory. * * @param string $path - * @return bool - * @static + * @return bool + * @static */ public static function makeDirectory($path) { - return \Illuminate\Filesystem\FilesystemAdapter::makeDirectory($path); + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->makeDirectory($path); } /** * Recursively delete a directory. * * @param string $directory - * @return bool - * @static + * @return bool + * @static */ public static function deleteDirectory($directory) { - return \Illuminate\Filesystem\FilesystemAdapter::deleteDirectory($directory); + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->deleteDirectory($directory); } /** * Get the Flysystem driver. * - * @return \League\Flysystem\FilesystemInterface - * @static + * @return \League\Flysystem\FilesystemOperator + * @static */ public static function getDriver() { - return \Illuminate\Filesystem\FilesystemAdapter::getDriver(); + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->getDriver(); } - } + /** + * Get the Flysystem adapter. + * + * @return \League\Flysystem\FilesystemAdapter + * @static + */ + public static function getAdapter() + { + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->getAdapter(); + } - class URL extends \Illuminate\Support\Facades\URL - { + /** + * Get the configuration values. + * + * @return array + * @static + */ + public static function getConfig() + { + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->getConfig(); + } + + /** + * Define a custom callback that generates file download responses. + * + * @param \Closure $callback + * @return void + * @static + */ + public static function serveUsing($callback) + { + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + $instance->serveUsing($callback); + } + + /** + * Define a custom temporary URL builder callback. + * + * @param \Closure $callback + * @return void + * @static + */ + public static function buildTemporaryUrlsUsing($callback) + { + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + $instance->buildTemporaryUrlsUsing($callback); + } + + /** + * Apply the callback if the given "value" is (or resolves to) truthy. + * + * @template TWhenParameter + * @template TWhenReturnType + * @param (\Closure($this): TWhenParameter)|TWhenParameter|null $value + * @param (callable($this, TWhenParameter): TWhenReturnType)|null $callback + * @param (callable($this, TWhenParameter): TWhenReturnType)|null $default + * @return $this|TWhenReturnType + * @static + */ + public static function when($value = null, $callback = null, $default = null) + { + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->when($value, $callback, $default); + } + + /** + * Apply the callback if the given "value" is (or resolves to) falsy. + * + * @template TUnlessParameter + * @template TUnlessReturnType + * @param (\Closure($this): TUnlessParameter)|TUnlessParameter|null $value + * @param (callable($this, TUnlessParameter): TUnlessReturnType)|null $callback + * @param (callable($this, TUnlessParameter): TUnlessReturnType)|null $default + * @return $this|TUnlessReturnType + * @static + */ + public static function unless($value = null, $callback = null, $default = null) + { + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->unless($value, $callback, $default); + } + + /** + * Register a custom macro. + * + * @param string $name + * @param object|callable $macro + * @param-closure-this static $macro + * @return void + * @static + */ + public static function macro($name, $macro) + { + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + \Illuminate\Filesystem\LocalFilesystemAdapter::macro($name, $macro); + } + + /** + * Mix another object into the class. + * + * @param object $mixin + * @param bool $replace + * @return void + * @throws \ReflectionException + * @static + */ + public static function mixin($mixin, $replace = true) + { + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + \Illuminate\Filesystem\LocalFilesystemAdapter::mixin($mixin, $replace); + } + + /** + * Checks if macro is registered. + * + * @param string $name + * @return bool + * @static + */ + public static function hasMacro($name) + { + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + return \Illuminate\Filesystem\LocalFilesystemAdapter::hasMacro($name); + } + + /** + * Flush the existing macros. + * + * @return void + * @static + */ + public static function flushMacros() + { + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + \Illuminate\Filesystem\LocalFilesystemAdapter::flushMacros(); + } + + /** + * Dynamically handle calls to the class. + * + * @param string $method + * @param array $parameters + * @return mixed + * @throws \BadMethodCallException + * @static + */ + public static function macroCall($method, $parameters) + { + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->macroCall($method, $parameters); + } + + } + /** + * + * + * @see \Illuminate\Routing\UrlGenerator + */ + class URL { /** * Get the full URL for the current request. * - * @return string - * @static + * @return string + * @static */ public static function full() { - return \Illuminate\Routing\UrlGenerator::full(); + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->full(); } /** * Get the current URL for the request. * - * @return string - * @static + * @return string + * @static */ public static function current() { - return \Illuminate\Routing\UrlGenerator::current(); + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->current(); } /** * Get the URL for the previous request. * * @param mixed $fallback - * @return string - * @static + * @return string + * @static */ public static function previous($fallback = false) { - return \Illuminate\Routing\UrlGenerator::previous($fallback); + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->previous($fallback); + } + + /** + * Get the previous path info for the request. + * + * @param mixed $fallback + * @return string + * @static + */ + public static function previousPath($fallback = false) + { + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->previousPath($fallback); } /** @@ -11973,12 +19889,29 @@ namespace { * @param string $path * @param mixed $extra * @param bool|null $secure - * @return string - * @static + * @return string + * @static */ public static function to($path, $extra = [], $secure = null) { - return \Illuminate\Routing\UrlGenerator::to($path, $extra, $secure); + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->to($path, $extra, $secure); + } + + /** + * Generate an absolute URL with the given query parameters. + * + * @param string $path + * @param array $query + * @param mixed $extra + * @param bool|null $secure + * @return string + * @static + */ + public static function query($path, $query = [], $extra = [], $secure = null) + { + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->query($path, $query, $extra, $secure); } /** @@ -11986,12 +19919,13 @@ namespace { * * @param string $path * @param array $parameters - * @return string - * @static + * @return string + * @static */ public static function secure($path, $parameters = []) { - return \Illuminate\Routing\UrlGenerator::secure($path, $parameters); + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->secure($path, $parameters); } /** @@ -11999,24 +19933,26 @@ namespace { * * @param string $path * @param bool|null $secure - * @return string - * @static + * @return string + * @static */ public static function asset($path, $secure = null) { - return \Illuminate\Routing\UrlGenerator::asset($path, $secure); + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->asset($path, $secure); } /** * Generate the URL to a secure asset. * * @param string $path - * @return string - * @static + * @return string + * @static */ public static function secureAsset($path) { - return \Illuminate\Routing\UrlGenerator::secureAsset($path); + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->secureAsset($path); } /** @@ -12025,79 +19961,191 @@ namespace { * @param string $root * @param string $path * @param bool|null $secure - * @return string - * @static + * @return string + * @static */ public static function assetFrom($root, $path, $secure = null) { - return \Illuminate\Routing\UrlGenerator::assetFrom($root, $path, $secure); + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->assetFrom($root, $path, $secure); } /** * Get the default scheme for a raw URL. * * @param bool|null $secure - * @return string - * @static + * @return string + * @static */ - public static function formatScheme($secure) + public static function formatScheme($secure = null) { - return \Illuminate\Routing\UrlGenerator::formatScheme($secure); + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->formatScheme($secure); + } + + /** + * Create a signed route URL for a named route. + * + * @param \BackedEnum|string $name + * @param mixed $parameters + * @param \DateTimeInterface|\DateInterval|int|null $expiration + * @param bool $absolute + * @return string + * @throws \InvalidArgumentException + * @static + */ + public static function signedRoute($name, $parameters = [], $expiration = null, $absolute = true) + { + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->signedRoute($name, $parameters, $expiration, $absolute); + } + + /** + * Create a temporary signed route URL for a named route. + * + * @param \BackedEnum|string $name + * @param \DateTimeInterface|\DateInterval|int $expiration + * @param array $parameters + * @param bool $absolute + * @return string + * @static + */ + public static function temporarySignedRoute($name, $expiration, $parameters = [], $absolute = true) + { + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->temporarySignedRoute($name, $expiration, $parameters, $absolute); + } + + /** + * Determine if the given request has a valid signature. + * + * @param \Illuminate\Http\Request $request + * @param bool $absolute + * @param array $ignoreQuery + * @return bool + * @static + */ + public static function hasValidSignature($request, $absolute = true, $ignoreQuery = []) + { + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->hasValidSignature($request, $absolute, $ignoreQuery); + } + + /** + * Determine if the given request has a valid signature for a relative URL. + * + * @param \Illuminate\Http\Request $request + * @param array $ignoreQuery + * @return bool + * @static + */ + public static function hasValidRelativeSignature($request, $ignoreQuery = []) + { + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->hasValidRelativeSignature($request, $ignoreQuery); + } + + /** + * Determine if the signature from the given request matches the URL. + * + * @param \Illuminate\Http\Request $request + * @param bool $absolute + * @param array $ignoreQuery + * @return bool + * @static + */ + public static function hasCorrectSignature($request, $absolute = true, $ignoreQuery = []) + { + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->hasCorrectSignature($request, $absolute, $ignoreQuery); + } + + /** + * Determine if the expires timestamp from the given request is not from the past. + * + * @param \Illuminate\Http\Request $request + * @return bool + * @static + */ + public static function signatureHasNotExpired($request) + { + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->signatureHasNotExpired($request); } /** * Get the URL to a named route. * - * @param string $name + * @param \BackedEnum|string $name * @param mixed $parameters * @param bool $absolute - * @return string - * @throws \InvalidArgumentException - * @static + * @return string + * @throws \Symfony\Component\Routing\Exception\RouteNotFoundException|\InvalidArgumentException + * @static */ public static function route($name, $parameters = [], $absolute = true) { - return \Illuminate\Routing\UrlGenerator::route($name, $parameters, $absolute); + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->route($name, $parameters, $absolute); + } + + /** + * Get the URL for a given route instance. + * + * @param \Illuminate\Routing\Route $route + * @param mixed $parameters + * @param bool $absolute + * @return string + * @throws \Illuminate\Routing\Exceptions\UrlGenerationException + * @static + */ + public static function toRoute($route, $parameters, $absolute) + { + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->toRoute($route, $parameters, $absolute); } /** * Get the URL to a controller action. * - * @param string $action + * @param string|array $action * @param mixed $parameters * @param bool $absolute - * @return string + * @return string * @throws \InvalidArgumentException - * @static + * @static */ public static function action($action, $parameters = [], $absolute = true) { - return \Illuminate\Routing\UrlGenerator::action($action, $parameters, $absolute); + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->action($action, $parameters, $absolute); } /** * Format the array of URL parameters. * - * @param mixed|array $parameters - * @return array - * @static + * @param mixed $parameters + * @return array + * @static */ public static function formatParameters($parameters) { - return \Illuminate\Routing\UrlGenerator::formatParameters($parameters); + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->formatParameters($parameters); } /** * Get the base URL for the request. * * @param string $scheme - * @param string $root - * @return string - * @static + * @param string|null $root + * @return string + * @static */ public static function formatRoot($scheme, $root = null) { - return \Illuminate\Routing\UrlGenerator::formatRoot($scheme, $root); + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->formatRoot($scheme, $root); } /** @@ -12105,198 +20153,318 @@ namespace { * * @param string $root * @param string $path - * @return string - * @static + * @param \Illuminate\Routing\Route|null $route + * @return string + * @static */ - public static function format($root, $path) + public static function format($root, $path, $route = null) { - return \Illuminate\Routing\UrlGenerator::format($root, $path); + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->format($root, $path, $route); } /** * Determine if the given path is a valid URL. * * @param string $path - * @return bool - * @static + * @return bool + * @static */ public static function isValidUrl($path) { - return \Illuminate\Routing\UrlGenerator::isValidUrl($path); + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->isValidUrl($path); } /** * Set the default named parameters used by the URL generator. * * @param array $defaults - * @return void - * @static + * @return void + * @static */ public static function defaults($defaults) { - \Illuminate\Routing\UrlGenerator::defaults($defaults); + /** @var \Illuminate\Routing\UrlGenerator $instance */ + $instance->defaults($defaults); + } + + /** + * Get the default named parameters used by the URL generator. + * + * @return array + * @static + */ + public static function getDefaultParameters() + { + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->getDefaultParameters(); } /** * Force the scheme for URLs. * - * @param string $schema - * @return void - * @static + * @param string|null $scheme + * @return void + * @static */ - public static function forceScheme($schema) + public static function forceScheme($scheme) { - \Illuminate\Routing\UrlGenerator::forceScheme($schema); + /** @var \Illuminate\Routing\UrlGenerator $instance */ + $instance->forceScheme($scheme); + } + + /** + * Force the use of the HTTPS scheme for all generated URLs. + * + * @param bool $force + * @return void + * @static + */ + public static function forceHttps($force = true) + { + /** @var \Illuminate\Routing\UrlGenerator $instance */ + $instance->forceHttps($force); } /** * Set the forced root URL. * - * @param string $root - * @return void - * @static + * @param string|null $root + * @return void + * @static */ public static function forceRootUrl($root) { - \Illuminate\Routing\UrlGenerator::forceRootUrl($root); + /** @var \Illuminate\Routing\UrlGenerator $instance */ + $instance->forceRootUrl($root); } /** * Set a callback to be used to format the host of generated URLs. * * @param \Closure $callback - * @return $this - * @static + * @return \Illuminate\Routing\UrlGenerator + * @static */ public static function formatHostUsing($callback) { - return \Illuminate\Routing\UrlGenerator::formatHostUsing($callback); + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->formatHostUsing($callback); } /** * Set a callback to be used to format the path of generated URLs. * * @param \Closure $callback - * @return $this - * @static + * @return \Illuminate\Routing\UrlGenerator + * @static */ public static function formatPathUsing($callback) { - return \Illuminate\Routing\UrlGenerator::formatPathUsing($callback); + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->formatPathUsing($callback); } /** * Get the path formatter being used by the URL generator. * - * @return \Closure - * @static + * @return \Closure + * @static */ public static function pathFormatter() { - return \Illuminate\Routing\UrlGenerator::pathFormatter(); + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->pathFormatter(); } /** * Get the request instance. * - * @return \Illuminate\Http\Request - * @static + * @return \Illuminate\Http\Request + * @static */ public static function getRequest() { - return \Illuminate\Routing\UrlGenerator::getRequest(); + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->getRequest(); } /** * Set the current request instance. * * @param \Illuminate\Http\Request $request - * @return void - * @static + * @return void + * @static */ public static function setRequest($request) { - \Illuminate\Routing\UrlGenerator::setRequest($request); + /** @var \Illuminate\Routing\UrlGenerator $instance */ + $instance->setRequest($request); } /** * Set the route collection. * - * @param \Illuminate\Routing\RouteCollection $routes - * @return $this - * @static + * @param \Illuminate\Routing\RouteCollectionInterface $routes + * @return \Illuminate\Routing\UrlGenerator + * @static */ public static function setRoutes($routes) { - return \Illuminate\Routing\UrlGenerator::setRoutes($routes); + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->setRoutes($routes); } /** * Set the session resolver for the generator. * * @param callable $sessionResolver - * @return $this - * @static + * @return \Illuminate\Routing\UrlGenerator + * @static */ public static function setSessionResolver($sessionResolver) { - return \Illuminate\Routing\UrlGenerator::setSessionResolver($sessionResolver); + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->setSessionResolver($sessionResolver); + } + + /** + * Set the encryption key resolver. + * + * @param callable $keyResolver + * @return \Illuminate\Routing\UrlGenerator + * @static + */ + public static function setKeyResolver($keyResolver) + { + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->setKeyResolver($keyResolver); + } + + /** + * Clone a new instance of the URL generator with a different encryption key resolver. + * + * @param callable $keyResolver + * @return \Illuminate\Routing\UrlGenerator + * @static + */ + public static function withKeyResolver($keyResolver) + { + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->withKeyResolver($keyResolver); + } + + /** + * Set the callback that should be used to attempt to resolve missing named routes. + * + * @param callable $missingNamedRouteResolver + * @return \Illuminate\Routing\UrlGenerator + * @static + */ + public static function resolveMissingNamedRoutesUsing($missingNamedRouteResolver) + { + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->resolveMissingNamedRoutesUsing($missingNamedRouteResolver); + } + + /** + * Get the root controller namespace. + * + * @return string + * @static + */ + public static function getRootControllerNamespace() + { + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->getRootControllerNamespace(); } /** * Set the root controller namespace. * * @param string $rootNamespace - * @return $this - * @static + * @return \Illuminate\Routing\UrlGenerator + * @static */ public static function setRootControllerNamespace($rootNamespace) { - return \Illuminate\Routing\UrlGenerator::setRootControllerNamespace($rootNamespace); + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->setRootControllerNamespace($rootNamespace); } /** * Register a custom macro. * * @param string $name - * @param callable $macro - * @return void - * @static + * @param object|callable $macro + * @param-closure-this static $macro + * @return void + * @static */ public static function macro($name, $macro) { \Illuminate\Routing\UrlGenerator::macro($name, $macro); } + /** + * Mix another object into the class. + * + * @param object $mixin + * @param bool $replace + * @return void + * @throws \ReflectionException + * @static + */ + public static function mixin($mixin, $replace = true) + { + \Illuminate\Routing\UrlGenerator::mixin($mixin, $replace); + } + /** * Checks if macro is registered. * * @param string $name - * @return bool - * @static + * @return bool + * @static */ public static function hasMacro($name) { return \Illuminate\Routing\UrlGenerator::hasMacro($name); } - } + /** + * Flush the existing macros. + * + * @return void + * @static + */ + public static function flushMacros() + { + \Illuminate\Routing\UrlGenerator::flushMacros(); + } - class Validator extends \Illuminate\Support\Facades\Validator - { + } + /** + * + * + * @see \Illuminate\Validation\Factory + */ + class Validator { /** * Create a new Validator instance. * * @param array $data * @param array $rules * @param array $messages - * @param array $customAttributes - * @return \Illuminate\Validation\Validator - * @static + * @param array $attributes + * @return \Illuminate\Validation\Validator + * @static */ - public static function make($data, $rules, $messages = [], $customAttributes = []) + public static function make($data, $rules, $messages = [], $attributes = []) { - return \Illuminate\Validation\Factory::make($data, $rules, $messages, $customAttributes); + /** @var \Illuminate\Validation\Factory $instance */ + return $instance->make($data, $rules, $messages, $attributes); } /** @@ -12305,14 +20473,15 @@ namespace { * @param array $data * @param array $rules * @param array $messages - * @param array $customAttributes - * @return void + * @param array $attributes + * @return array * @throws \Illuminate\Validation\ValidationException - * @static + * @static */ - public static function validate($data, $rules, $messages = [], $customAttributes = []) + public static function validate($data, $rules, $messages = [], $attributes = []) { - \Illuminate\Validation\Factory::validate($data, $rules, $messages, $customAttributes); + /** @var \Illuminate\Validation\Factory $instance */ + return $instance->validate($data, $rules, $messages, $attributes); } /** @@ -12320,13 +20489,14 @@ namespace { * * @param string $rule * @param \Closure|string $extension - * @param string $message - * @return void - * @static + * @param string|null $message + * @return void + * @static */ public static function extend($rule, $extension, $message = null) { - \Illuminate\Validation\Factory::extend($rule, $extension, $message); + /** @var \Illuminate\Validation\Factory $instance */ + $instance->extend($rule, $extension, $message); } /** @@ -12334,104 +20504,227 @@ namespace { * * @param string $rule * @param \Closure|string $extension - * @param string $message - * @return void - * @static + * @param string|null $message + * @return void + * @static */ public static function extendImplicit($rule, $extension, $message = null) { - \Illuminate\Validation\Factory::extendImplicit($rule, $extension, $message); + /** @var \Illuminate\Validation\Factory $instance */ + $instance->extendImplicit($rule, $extension, $message); } /** - * Register a custom implicit validator message replacer. + * Register a custom dependent validator extension. + * + * @param string $rule + * @param \Closure|string $extension + * @param string|null $message + * @return void + * @static + */ + public static function extendDependent($rule, $extension, $message = null) + { + /** @var \Illuminate\Validation\Factory $instance */ + $instance->extendDependent($rule, $extension, $message); + } + + /** + * Register a custom validator message replacer. * * @param string $rule * @param \Closure|string $replacer - * @return void - * @static + * @return void + * @static */ public static function replacer($rule, $replacer) { - \Illuminate\Validation\Factory::replacer($rule, $replacer); + /** @var \Illuminate\Validation\Factory $instance */ + $instance->replacer($rule, $replacer); + } + + /** + * Indicate that unvalidated array keys should be included in validated data when the parent array is validated. + * + * @return void + * @static + */ + public static function includeUnvalidatedArrayKeys() + { + /** @var \Illuminate\Validation\Factory $instance */ + $instance->includeUnvalidatedArrayKeys(); + } + + /** + * Indicate that unvalidated array keys should be excluded from the validated data, even if the parent array was validated. + * + * @return void + * @static + */ + public static function excludeUnvalidatedArrayKeys() + { + /** @var \Illuminate\Validation\Factory $instance */ + $instance->excludeUnvalidatedArrayKeys(); } /** * Set the Validator instance resolver. * * @param \Closure $resolver - * @return void - * @static + * @return void + * @static */ public static function resolver($resolver) { - \Illuminate\Validation\Factory::resolver($resolver); + /** @var \Illuminate\Validation\Factory $instance */ + $instance->resolver($resolver); } /** * Get the Translator implementation. * - * @return \Illuminate\Contracts\Translation\Translator - * @static + * @return \Illuminate\Contracts\Translation\Translator + * @static */ public static function getTranslator() { - return \Illuminate\Validation\Factory::getTranslator(); + /** @var \Illuminate\Validation\Factory $instance */ + return $instance->getTranslator(); } /** * Get the Presence Verifier implementation. * - * @return \Illuminate\Validation\PresenceVerifierInterface - * @static + * @return \Illuminate\Validation\PresenceVerifierInterface + * @static */ public static function getPresenceVerifier() { - return \Illuminate\Validation\Factory::getPresenceVerifier(); + /** @var \Illuminate\Validation\Factory $instance */ + return $instance->getPresenceVerifier(); } /** * Set the Presence Verifier implementation. * * @param \Illuminate\Validation\PresenceVerifierInterface $presenceVerifier - * @return void - * @static + * @return void + * @static */ public static function setPresenceVerifier($presenceVerifier) { - \Illuminate\Validation\Factory::setPresenceVerifier($presenceVerifier); + /** @var \Illuminate\Validation\Factory $instance */ + $instance->setPresenceVerifier($presenceVerifier); } - } + /** + * Get the container instance used by the validation factory. + * + * @return \Illuminate\Contracts\Container\Container|null + * @static + */ + public static function getContainer() + { + /** @var \Illuminate\Validation\Factory $instance */ + return $instance->getContainer(); + } - class View extends \Illuminate\Support\Facades\View - { + /** + * Set the container instance used by the validation factory. + * + * @param \Illuminate\Contracts\Container\Container $container + * @return \Illuminate\Validation\Factory + * @static + */ + public static function setContainer($container) + { + /** @var \Illuminate\Validation\Factory $instance */ + return $instance->setContainer($container); + } + + } + /** + * + * + * @see \Illuminate\View\Factory + */ + class View { /** * Get the evaluated view contents for the given view. * * @param string $path - * @param array $data + * @param \Illuminate\Contracts\Support\Arrayable|array $data * @param array $mergeData - * @return \Illuminate\Contracts\View\View - * @static + * @return \Illuminate\Contracts\View\View + * @static */ public static function file($path, $data = [], $mergeData = []) { - return \Illuminate\View\Factory::file($path, $data, $mergeData); + /** @var \Illuminate\View\Factory $instance */ + return $instance->file($path, $data, $mergeData); } /** * Get the evaluated view contents for the given view. * * @param string $view - * @param array $data + * @param \Illuminate\Contracts\Support\Arrayable|array $data * @param array $mergeData - * @return \Illuminate\Contracts\View\View - * @static + * @return \Illuminate\Contracts\View\View + * @static */ public static function make($view, $data = [], $mergeData = []) { - return \Illuminate\View\Factory::make($view, $data, $mergeData); + /** @var \Illuminate\View\Factory $instance */ + return $instance->make($view, $data, $mergeData); + } + + /** + * Get the first view that actually exists from the given list. + * + * @param array $views + * @param \Illuminate\Contracts\Support\Arrayable|array $data + * @param array $mergeData + * @return \Illuminate\Contracts\View\View + * @throws \InvalidArgumentException + * @static + */ + public static function first($views, $data = [], $mergeData = []) + { + /** @var \Illuminate\View\Factory $instance */ + return $instance->first($views, $data, $mergeData); + } + + /** + * Get the rendered content of the view based on a given condition. + * + * @param bool $condition + * @param string $view + * @param \Illuminate\Contracts\Support\Arrayable|array $data + * @param array $mergeData + * @return string + * @static + */ + public static function renderWhen($condition, $view, $data = [], $mergeData = []) + { + /** @var \Illuminate\View\Factory $instance */ + return $instance->renderWhen($condition, $view, $data, $mergeData); + } + + /** + * Get the rendered content of the view based on the negation of a given condition. + * + * @param bool $condition + * @param string $view + * @param \Illuminate\Contracts\Support\Arrayable|array $data + * @param array $mergeData + * @return string + * @static + */ + public static function renderUnless($condition, $view, $data = [], $mergeData = []) + { + /** @var \Illuminate\View\Factory $instance */ + return $instance->renderUnless($condition, $view, $data, $mergeData); } /** @@ -12441,95 +20734,142 @@ namespace { * @param array $data * @param string $iterator * @param string $empty - * @return string - * @static + * @return string + * @static */ public static function renderEach($view, $data, $iterator, $empty = 'raw|') { - return \Illuminate\View\Factory::renderEach($view, $data, $iterator, $empty); + /** @var \Illuminate\View\Factory $instance */ + return $instance->renderEach($view, $data, $iterator, $empty); } /** * Determine if a given view exists. * * @param string $view - * @return bool - * @static + * @return bool + * @static */ public static function exists($view) { - return \Illuminate\View\Factory::exists($view); + /** @var \Illuminate\View\Factory $instance */ + return $instance->exists($view); } /** * Get the appropriate view engine for the given path. * * @param string $path - * @return \Illuminate\View\Engines\EngineInterface + * @return \Illuminate\Contracts\View\Engine * @throws \InvalidArgumentException - * @static + * @static */ public static function getEngineFromPath($path) { - return \Illuminate\View\Factory::getEngineFromPath($path); + /** @var \Illuminate\View\Factory $instance */ + return $instance->getEngineFromPath($path); } /** * Add a piece of shared data to the environment. * * @param array|string $key - * @param mixed $value - * @return mixed - * @static + * @param mixed|null $value + * @return mixed + * @static */ public static function share($key, $value = null) { - return \Illuminate\View\Factory::share($key, $value); + /** @var \Illuminate\View\Factory $instance */ + return $instance->share($key, $value); } /** * Increment the rendering counter. * - * @return void - * @static + * @return void + * @static */ public static function incrementRender() { - \Illuminate\View\Factory::incrementRender(); + /** @var \Illuminate\View\Factory $instance */ + $instance->incrementRender(); } /** * Decrement the rendering counter. * - * @return void - * @static + * @return void + * @static */ public static function decrementRender() { - \Illuminate\View\Factory::decrementRender(); + /** @var \Illuminate\View\Factory $instance */ + $instance->decrementRender(); } /** * Check if there are no active render operations. * - * @return bool - * @static + * @return bool + * @static */ public static function doneRendering() { - return \Illuminate\View\Factory::doneRendering(); + /** @var \Illuminate\View\Factory $instance */ + return $instance->doneRendering(); + } + + /** + * Determine if the given once token has been rendered. + * + * @param string $id + * @return bool + * @static + */ + public static function hasRenderedOnce($id) + { + /** @var \Illuminate\View\Factory $instance */ + return $instance->hasRenderedOnce($id); + } + + /** + * Mark the given once token as having been rendered. + * + * @param string $id + * @return void + * @static + */ + public static function markAsRenderedOnce($id) + { + /** @var \Illuminate\View\Factory $instance */ + $instance->markAsRenderedOnce($id); } /** * Add a location to the array of view locations. * * @param string $location - * @return void - * @static + * @return void + * @static */ public static function addLocation($location) { - \Illuminate\View\Factory::addLocation($location); + /** @var \Illuminate\View\Factory $instance */ + $instance->addLocation($location); + } + + /** + * Prepend a location to the array of view locations. + * + * @param string $location + * @return void + * @static + */ + public static function prependLocation($location) + { + /** @var \Illuminate\View\Factory $instance */ + $instance->prependLocation($location); } /** @@ -12537,12 +20877,13 @@ namespace { * * @param string $namespace * @param string|array $hints - * @return $this - * @static + * @return \Illuminate\View\Factory + * @static */ public static function addNamespace($namespace, $hints) { - return \Illuminate\View\Factory::addNamespace($namespace, $hints); + /** @var \Illuminate\View\Factory $instance */ + return $instance->addNamespace($namespace, $hints); } /** @@ -12550,12 +20891,13 @@ namespace { * * @param string $namespace * @param string|array $hints - * @return $this - * @static + * @return \Illuminate\View\Factory + * @static */ public static function prependNamespace($namespace, $hints) { - return \Illuminate\View\Factory::prependNamespace($namespace, $hints); + /** @var \Illuminate\View\Factory $instance */ + return $instance->prependNamespace($namespace, $hints); } /** @@ -12563,12 +20905,13 @@ namespace { * * @param string $namespace * @param string|array $hints - * @return $this - * @static + * @return \Illuminate\View\Factory + * @static */ public static function replaceNamespace($namespace, $hints) { - return \Illuminate\View\Factory::replaceNamespace($namespace, $hints); + /** @var \Illuminate\View\Factory $instance */ + return $instance->replaceNamespace($namespace, $hints); } /** @@ -12576,137 +20919,149 @@ namespace { * * @param string $extension * @param string $engine - * @param \Closure $resolver - * @return void - * @static + * @param \Closure|null $resolver + * @return void + * @static */ public static function addExtension($extension, $engine, $resolver = null) { - \Illuminate\View\Factory::addExtension($extension, $engine, $resolver); + /** @var \Illuminate\View\Factory $instance */ + $instance->addExtension($extension, $engine, $resolver); } /** * Flush all of the factory state like sections and stacks. * - * @return void - * @static + * @return void + * @static */ public static function flushState() { - \Illuminate\View\Factory::flushState(); + /** @var \Illuminate\View\Factory $instance */ + $instance->flushState(); } /** * Flush all of the section contents if done rendering. * - * @return void - * @static + * @return void + * @static */ public static function flushStateIfDoneRendering() { - \Illuminate\View\Factory::flushStateIfDoneRendering(); + /** @var \Illuminate\View\Factory $instance */ + $instance->flushStateIfDoneRendering(); } /** * Get the extension to engine bindings. * - * @return array - * @static + * @return array + * @static */ public static function getExtensions() { - return \Illuminate\View\Factory::getExtensions(); + /** @var \Illuminate\View\Factory $instance */ + return $instance->getExtensions(); } /** * Get the engine resolver instance. * - * @return \Illuminate\View\Engines\EngineResolver - * @static + * @return \Illuminate\View\Engines\EngineResolver + * @static */ public static function getEngineResolver() { - return \Illuminate\View\Factory::getEngineResolver(); + /** @var \Illuminate\View\Factory $instance */ + return $instance->getEngineResolver(); } /** * Get the view finder instance. * - * @return \Illuminate\View\ViewFinderInterface - * @static + * @return \Illuminate\View\ViewFinderInterface + * @static */ public static function getFinder() { - return \Illuminate\View\Factory::getFinder(); + /** @var \Illuminate\View\Factory $instance */ + return $instance->getFinder(); } /** * Set the view finder instance. * * @param \Illuminate\View\ViewFinderInterface $finder - * @return void - * @static + * @return void + * @static */ public static function setFinder($finder) { - \Illuminate\View\Factory::setFinder($finder); + /** @var \Illuminate\View\Factory $instance */ + $instance->setFinder($finder); } /** * Flush the cache of views located by the finder. * - * @return void - * @static + * @return void + * @static */ public static function flushFinderCache() { - \Illuminate\View\Factory::flushFinderCache(); + /** @var \Illuminate\View\Factory $instance */ + $instance->flushFinderCache(); } /** * Get the event dispatcher instance. * - * @return \Illuminate\Contracts\Events\Dispatcher - * @static + * @return \Illuminate\Contracts\Events\Dispatcher + * @static */ public static function getDispatcher() { - return \Illuminate\View\Factory::getDispatcher(); + /** @var \Illuminate\View\Factory $instance */ + return $instance->getDispatcher(); } /** * Set the event dispatcher instance. * * @param \Illuminate\Contracts\Events\Dispatcher $events - * @return void - * @static + * @return void + * @static */ public static function setDispatcher($events) { - \Illuminate\View\Factory::setDispatcher($events); + /** @var \Illuminate\View\Factory $instance */ + $instance->setDispatcher($events); } /** * Get the IoC container instance. * - * @return \Illuminate\Contracts\Container\Container - * @static + * @return \Illuminate\Contracts\Container\Container + * @static */ public static function getContainer() { - return \Illuminate\View\Factory::getContainer(); + /** @var \Illuminate\View\Factory $instance */ + return $instance->getContainer(); } /** * Set the IoC container instance. * * @param \Illuminate\Contracts\Container\Container $container - * @return void - * @static + * @return void + * @static */ public static function setContainer($container) { - \Illuminate\View\Factory::setContainer($container); + /** @var \Illuminate\View\Factory $instance */ + $instance->setContainer($container); } /** @@ -12714,47 +21069,130 @@ namespace { * * @param string $key * @param mixed $default - * @return mixed - * @static + * @return mixed + * @static */ public static function shared($key, $default = null) { - return \Illuminate\View\Factory::shared($key, $default); + /** @var \Illuminate\View\Factory $instance */ + return $instance->shared($key, $default); } /** * Get all of the shared data for the environment. * - * @return array - * @static + * @return array + * @static */ public static function getShared() { - return \Illuminate\View\Factory::getShared(); + /** @var \Illuminate\View\Factory $instance */ + return $instance->getShared(); + } + + /** + * Register a custom macro. + * + * @param string $name + * @param object|callable $macro + * @param-closure-this static $macro + * @return void + * @static + */ + public static function macro($name, $macro) + { + \Illuminate\View\Factory::macro($name, $macro); + } + + /** + * Mix another object into the class. + * + * @param object $mixin + * @param bool $replace + * @return void + * @throws \ReflectionException + * @static + */ + public static function mixin($mixin, $replace = true) + { + \Illuminate\View\Factory::mixin($mixin, $replace); + } + + /** + * Checks if macro is registered. + * + * @param string $name + * @return bool + * @static + */ + public static function hasMacro($name) + { + return \Illuminate\View\Factory::hasMacro($name); + } + + /** + * Flush the existing macros. + * + * @return void + * @static + */ + public static function flushMacros() + { + \Illuminate\View\Factory::flushMacros(); } /** * Start a component rendering process. * - * @param string $name + * @param \Illuminate\Contracts\View\View|\Illuminate\Contracts\Support\Htmlable|\Closure|string $view * @param array $data - * @return void - * @static + * @return void + * @static */ - public static function startComponent($name, $data = []) + public static function startComponent($view, $data = []) { - \Illuminate\View\Factory::startComponent($name, $data); + /** @var \Illuminate\View\Factory $instance */ + $instance->startComponent($view, $data); + } + + /** + * Get the first view that actually exists from the given list, and start a component. + * + * @param array $names + * @param array $data + * @return void + * @static + */ + public static function startComponentFirst($names, $data = []) + { + /** @var \Illuminate\View\Factory $instance */ + $instance->startComponentFirst($names, $data); } /** * Render the current component. * - * @return string - * @static + * @return string + * @static */ public static function renderComponent() { - return \Illuminate\View\Factory::renderComponent(); + /** @var \Illuminate\View\Factory $instance */ + return $instance->renderComponent(); + } + + /** + * Get an item from the component data that exists above the current component. + * + * @param string $key + * @param mixed $default + * @return mixed|null + * @static + */ + public static function getConsumableComponentData($key, $default = null) + { + /** @var \Illuminate\View\Factory $instance */ + return $instance->getConsumableComponentData($key, $default); } /** @@ -12762,23 +21200,26 @@ namespace { * * @param string $name * @param string|null $content - * @return void - * @static + * @param array $attributes + * @return void + * @static */ - public static function slot($name, $content = null) + public static function slot($name, $content = null, $attributes = []) { - \Illuminate\View\Factory::slot($name, $content); + /** @var \Illuminate\View\Factory $instance */ + $instance->slot($name, $content, $attributes); } /** * Save the slot content for rendering. * - * @return void - * @static + * @return void + * @static */ public static function endSlot() { - \Illuminate\View\Factory::endSlot(); + /** @var \Illuminate\View\Factory $instance */ + $instance->endSlot(); } /** @@ -12786,24 +21227,26 @@ namespace { * * @param array|string $views * @param \Closure|string $callback - * @return array - * @static + * @return array + * @static */ public static function creator($views, $callback) { - return \Illuminate\View\Factory::creator($views, $callback); + /** @var \Illuminate\View\Factory $instance */ + return $instance->creator($views, $callback); } /** * Register multiple view composers via an array. * * @param array $composers - * @return array - * @static + * @return array + * @static */ public static function composers($composers) { - return \Illuminate\View\Factory::composers($composers); + /** @var \Illuminate\View\Factory $instance */ + return $instance->composers($composers); } /** @@ -12811,36 +21254,103 @@ namespace { * * @param array|string $views * @param \Closure|string $callback - * @return array - * @static + * @return array + * @static */ public static function composer($views, $callback) { - return \Illuminate\View\Factory::composer($views, $callback); + /** @var \Illuminate\View\Factory $instance */ + return $instance->composer($views, $callback); } /** * Call the composer for a given view. * * @param \Illuminate\Contracts\View\View $view - * @return void - * @static + * @return void + * @static */ public static function callComposer($view) { - \Illuminate\View\Factory::callComposer($view); + /** @var \Illuminate\View\Factory $instance */ + $instance->callComposer($view); } /** * Call the creator for a given view. * * @param \Illuminate\Contracts\View\View $view - * @return void - * @static + * @return void + * @static */ public static function callCreator($view) { - \Illuminate\View\Factory::callCreator($view); + /** @var \Illuminate\View\Factory $instance */ + $instance->callCreator($view); + } + + /** + * Start injecting content into a fragment. + * + * @param string $fragment + * @return void + * @static + */ + public static function startFragment($fragment) + { + /** @var \Illuminate\View\Factory $instance */ + $instance->startFragment($fragment); + } + + /** + * Stop injecting content into a fragment. + * + * @return string + * @throws \InvalidArgumentException + * @static + */ + public static function stopFragment() + { + /** @var \Illuminate\View\Factory $instance */ + return $instance->stopFragment(); + } + + /** + * Get the contents of a fragment. + * + * @param string $name + * @param string|null $default + * @return mixed + * @static + */ + public static function getFragment($name, $default = null) + { + /** @var \Illuminate\View\Factory $instance */ + return $instance->getFragment($name, $default); + } + + /** + * Get the entire array of rendered fragments. + * + * @return array + * @static + */ + public static function getFragments() + { + /** @var \Illuminate\View\Factory $instance */ + return $instance->getFragments(); + } + + /** + * Flush all of the fragments. + * + * @return void + * @static + */ + public static function flushFragments() + { + /** @var \Illuminate\View\Factory $instance */ + $instance->flushFragments(); } /** @@ -12848,12 +21358,13 @@ namespace { * * @param string $section * @param string|null $content - * @return void - * @static + * @return void + * @static */ public static function startSection($section, $content = null) { - \Illuminate\View\Factory::startSection($section, $content); + /** @var \Illuminate\View\Factory $instance */ + $instance->startSection($section, $content); } /** @@ -12861,48 +21372,52 @@ namespace { * * @param string $section * @param string $content - * @return void - * @static + * @return void + * @static */ public static function inject($section, $content) { - \Illuminate\View\Factory::inject($section, $content); + /** @var \Illuminate\View\Factory $instance */ + $instance->inject($section, $content); } /** * Stop injecting content into a section and return its contents. * - * @return string - * @static + * @return string + * @static */ public static function yieldSection() { - return \Illuminate\View\Factory::yieldSection(); + /** @var \Illuminate\View\Factory $instance */ + return $instance->yieldSection(); } /** * Stop injecting content into a section. * * @param bool $overwrite - * @return string + * @return string * @throws \InvalidArgumentException - * @static + * @static */ public static function stopSection($overwrite = false) { - return \Illuminate\View\Factory::stopSection($overwrite); + /** @var \Illuminate\View\Factory $instance */ + return $instance->stopSection($overwrite); } /** * Stop injecting content into a section and append it. * - * @return string + * @return string * @throws \InvalidArgumentException - * @static + * @static */ public static function appendSection() { - return \Illuminate\View\Factory::appendSection(); + /** @var \Illuminate\View\Factory $instance */ + return $instance->appendSection(); } /** @@ -12910,20 +21425,21 @@ namespace { * * @param string $section * @param string $default - * @return string - * @static + * @return string + * @static */ public static function yieldContent($section, $default = '') { - return \Illuminate\View\Factory::yieldContent($section, $default); + /** @var \Illuminate\View\Factory $instance */ + return $instance->yieldContent($section, $default); } /** * Get the parent placeholder for the current request. * * @param string $section - * @return string - * @static + * @return string + * @static */ public static function parentPlaceholder($section = '') { @@ -12934,90 +21450,125 @@ namespace { * Check if section exists. * * @param string $name - * @return bool - * @static + * @return bool + * @static */ public static function hasSection($name) { - return \Illuminate\View\Factory::hasSection($name); + /** @var \Illuminate\View\Factory $instance */ + return $instance->hasSection($name); + } + + /** + * Check if section does not exist. + * + * @param string $name + * @return bool + * @static + */ + public static function sectionMissing($name) + { + /** @var \Illuminate\View\Factory $instance */ + return $instance->sectionMissing($name); + } + + /** + * Get the contents of a section. + * + * @param string $name + * @param string|null $default + * @return mixed + * @static + */ + public static function getSection($name, $default = null) + { + /** @var \Illuminate\View\Factory $instance */ + return $instance->getSection($name, $default); } /** * Get the entire array of sections. * - * @return array - * @static + * @return array + * @static */ public static function getSections() { - return \Illuminate\View\Factory::getSections(); + /** @var \Illuminate\View\Factory $instance */ + return $instance->getSections(); } /** * Flush all of the sections. * - * @return void - * @static + * @return void + * @static */ public static function flushSections() { - \Illuminate\View\Factory::flushSections(); + /** @var \Illuminate\View\Factory $instance */ + $instance->flushSections(); } /** * Add new loop to the stack. * * @param \Countable|array $data - * @return void - * @static + * @return void + * @static */ public static function addLoop($data) { - \Illuminate\View\Factory::addLoop($data); + /** @var \Illuminate\View\Factory $instance */ + $instance->addLoop($data); } /** * Increment the top loop's indices. * - * @return void - * @static + * @return void + * @static */ public static function incrementLoopIndices() { - \Illuminate\View\Factory::incrementLoopIndices(); + /** @var \Illuminate\View\Factory $instance */ + $instance->incrementLoopIndices(); } /** * Pop a loop from the top of the loop stack. * - * @return void - * @static + * @return void + * @static */ public static function popLoop() { - \Illuminate\View\Factory::popLoop(); + /** @var \Illuminate\View\Factory $instance */ + $instance->popLoop(); } /** * Get an instance of the last loop in the stack. * - * @return \StdClass|null - * @static + * @return \stdClass|null + * @static */ public static function getLastLoop() { - return \Illuminate\View\Factory::getLastLoop(); + /** @var \Illuminate\View\Factory $instance */ + return $instance->getLastLoop(); } /** * Get the entire loop stack. * - * @return array - * @static + * @return array + * @static */ public static function getLoopStack() { - return \Illuminate\View\Factory::getLoopStack(); + /** @var \Illuminate\View\Factory $instance */ + return $instance->getLoopStack(); } /** @@ -13025,24 +21576,53 @@ namespace { * * @param string $section * @param string $content - * @return void - * @static + * @return void + * @static */ public static function startPush($section, $content = '') { - \Illuminate\View\Factory::startPush($section, $content); + /** @var \Illuminate\View\Factory $instance */ + $instance->startPush($section, $content); } /** * Stop injecting content into a push section. * - * @return string + * @return string * @throws \InvalidArgumentException - * @static + * @static */ public static function stopPush() { - return \Illuminate\View\Factory::stopPush(); + /** @var \Illuminate\View\Factory $instance */ + return $instance->stopPush(); + } + + /** + * Start prepending content into a push section. + * + * @param string $section + * @param string $content + * @return void + * @static + */ + public static function startPrepend($section, $content = '') + { + /** @var \Illuminate\View\Factory $instance */ + $instance->startPrepend($section, $content); + } + + /** + * Stop prepending content into a push section. + * + * @return string + * @throws \InvalidArgumentException + * @static + */ + public static function stopPrepend() + { + /** @var \Illuminate\View\Factory $instance */ + return $instance->stopPrepend(); } /** @@ -13050,218 +21630,7316 @@ namespace { * * @param string $section * @param string $default - * @return string - * @static + * @return string + * @static */ public static function yieldPushContent($section, $default = '') { - return \Illuminate\View\Factory::yieldPushContent($section, $default); + /** @var \Illuminate\View\Factory $instance */ + return $instance->yieldPushContent($section, $default); } /** * Flush all of the stacks. * - * @return void - * @static + * @return void + * @static */ public static function flushStacks() { - \Illuminate\View\Factory::flushStacks(); + /** @var \Illuminate\View\Factory $instance */ + $instance->flushStacks(); } /** * Start a translation block. * * @param array $replacements - * @return void - * @static + * @return void + * @static */ public static function startTranslation($replacements = []) { - \Illuminate\View\Factory::startTranslation($replacements); + /** @var \Illuminate\View\Factory $instance */ + $instance->startTranslation($replacements); } /** * Render the current translation. * - * @return string - * @static + * @return string + * @static */ public static function renderTranslation() { - return \Illuminate\View\Factory::renderTranslation(); + /** @var \Illuminate\View\Factory $instance */ + return $instance->renderTranslation(); } + + } + /** + * + * + * @see \Illuminate\Foundation\Vite + */ + class Vite { + /** + * Get the preloaded assets. + * + * @return array + * @static + */ + public static function preloadedAssets() + { + /** @var \Illuminate\Foundation\Vite $instance */ + return $instance->preloadedAssets(); + } + + /** + * Get the Content Security Policy nonce applied to all generated tags. + * + * @return string|null + * @static + */ + public static function cspNonce() + { + /** @var \Illuminate\Foundation\Vite $instance */ + return $instance->cspNonce(); + } + + /** + * Generate or set a Content Security Policy nonce to apply to all generated tags. + * + * @param string|null $nonce + * @return string + * @static + */ + public static function useCspNonce($nonce = null) + { + /** @var \Illuminate\Foundation\Vite $instance */ + return $instance->useCspNonce($nonce); + } + + /** + * Use the given key to detect integrity hashes in the manifest. + * + * @param string|false $key + * @return \Illuminate\Foundation\Vite + * @static + */ + public static function useIntegrityKey($key) + { + /** @var \Illuminate\Foundation\Vite $instance */ + return $instance->useIntegrityKey($key); + } + + /** + * Set the Vite entry points. + * + * @param array $entryPoints + * @return \Illuminate\Foundation\Vite + * @static + */ + public static function withEntryPoints($entryPoints) + { + /** @var \Illuminate\Foundation\Vite $instance */ + return $instance->withEntryPoints($entryPoints); + } + + /** + * Merge additional Vite entry points with the current set. + * + * @param array $entryPoints + * @return \Illuminate\Foundation\Vite + * @static + */ + public static function mergeEntryPoints($entryPoints) + { + /** @var \Illuminate\Foundation\Vite $instance */ + return $instance->mergeEntryPoints($entryPoints); + } + + /** + * Set the filename for the manifest file. + * + * @param string $filename + * @return \Illuminate\Foundation\Vite + * @static + */ + public static function useManifestFilename($filename) + { + /** @var \Illuminate\Foundation\Vite $instance */ + return $instance->useManifestFilename($filename); + } + + /** + * Resolve asset paths using the provided resolver. + * + * @param callable|null $resolver + * @return \Illuminate\Foundation\Vite + * @static + */ + public static function createAssetPathsUsing($resolver) + { + /** @var \Illuminate\Foundation\Vite $instance */ + return $instance->createAssetPathsUsing($resolver); + } + + /** + * Get the Vite "hot" file path. + * + * @return string + * @static + */ + public static function hotFile() + { + /** @var \Illuminate\Foundation\Vite $instance */ + return $instance->hotFile(); + } + + /** + * Set the Vite "hot" file path. + * + * @param string $path + * @return \Illuminate\Foundation\Vite + * @static + */ + public static function useHotFile($path) + { + /** @var \Illuminate\Foundation\Vite $instance */ + return $instance->useHotFile($path); + } + + /** + * Set the Vite build directory. + * + * @param string $path + * @return \Illuminate\Foundation\Vite + * @static + */ + public static function useBuildDirectory($path) + { + /** @var \Illuminate\Foundation\Vite $instance */ + return $instance->useBuildDirectory($path); + } + + /** + * Use the given callback to resolve attributes for script tags. + * + * @param (callable(string, string, ?array, ?array): array)|array $attributes + * @return \Illuminate\Foundation\Vite + * @static + */ + public static function useScriptTagAttributes($attributes) + { + /** @var \Illuminate\Foundation\Vite $instance */ + return $instance->useScriptTagAttributes($attributes); + } + + /** + * Use the given callback to resolve attributes for style tags. + * + * @param (callable(string, string, ?array, ?array): array)|array $attributes + * @return \Illuminate\Foundation\Vite + * @static + */ + public static function useStyleTagAttributes($attributes) + { + /** @var \Illuminate\Foundation\Vite $instance */ + return $instance->useStyleTagAttributes($attributes); + } + + /** + * Use the given callback to resolve attributes for preload tags. + * + * @param (callable(string, string, ?array, ?array): (array|false))|array|false $attributes + * @return \Illuminate\Foundation\Vite + * @static + */ + public static function usePreloadTagAttributes($attributes) + { + /** @var \Illuminate\Foundation\Vite $instance */ + return $instance->usePreloadTagAttributes($attributes); + } + + /** + * Eagerly prefetch assets. + * + * @param int|null $concurrency + * @param string $event + * @return \Illuminate\Foundation\Vite + * @static + */ + public static function prefetch($concurrency = null, $event = 'load') + { + /** @var \Illuminate\Foundation\Vite $instance */ + return $instance->prefetch($concurrency, $event); + } + + /** + * Use the "waterfall" prefetching strategy. + * + * @return \Illuminate\Foundation\Vite + * @static + */ + public static function useWaterfallPrefetching($concurrency = null) + { + /** @var \Illuminate\Foundation\Vite $instance */ + return $instance->useWaterfallPrefetching($concurrency); + } + + /** + * Use the "aggressive" prefetching strategy. + * + * @return \Illuminate\Foundation\Vite + * @static + */ + public static function useAggressivePrefetching() + { + /** @var \Illuminate\Foundation\Vite $instance */ + return $instance->useAggressivePrefetching(); + } + + /** + * Set the prefetching strategy. + * + * @param \Illuminate\Foundation\'waterfall'|\Illuminate\Foundation\'aggressive'|null $strategy + * @param array $config + * @return \Illuminate\Foundation\Vite + * @static + */ + public static function usePrefetchStrategy($strategy, $config = []) + { + /** @var \Illuminate\Foundation\Vite $instance */ + return $instance->usePrefetchStrategy($strategy, $config); + } + + /** + * Generate React refresh runtime script. + * + * @return \Illuminate\Support\HtmlString|void + * @static + */ + public static function reactRefresh() + { + /** @var \Illuminate\Foundation\Vite $instance */ + return $instance->reactRefresh(); + } + + /** + * Get the URL for an asset. + * + * @param string $asset + * @param string|null $buildDirectory + * @return string + * @static + */ + public static function asset($asset, $buildDirectory = null) + { + /** @var \Illuminate\Foundation\Vite $instance */ + return $instance->asset($asset, $buildDirectory); + } + + /** + * Get the content of a given asset. + * + * @param string $asset + * @param string|null $buildDirectory + * @return string + * @throws \Illuminate\Foundation\ViteException + * @static + */ + public static function content($asset, $buildDirectory = null) + { + /** @var \Illuminate\Foundation\Vite $instance */ + return $instance->content($asset, $buildDirectory); + } + + /** + * Get a unique hash representing the current manifest, or null if there is no manifest. + * + * @param string|null $buildDirectory + * @return string|null + * @static + */ + public static function manifestHash($buildDirectory = null) + { + /** @var \Illuminate\Foundation\Vite $instance */ + return $instance->manifestHash($buildDirectory); + } + + /** + * Determine if the HMR server is running. + * + * @return bool + * @static + */ + public static function isRunningHot() + { + /** @var \Illuminate\Foundation\Vite $instance */ + return $instance->isRunningHot(); + } + + /** + * Get the Vite tag content as a string of HTML. + * + * @return string + * @static + */ + public static function toHtml() + { + /** @var \Illuminate\Foundation\Vite $instance */ + return $instance->toHtml(); + } + + /** + * Register a custom macro. + * + * @param string $name + * @param object|callable $macro + * @param-closure-this static $macro + * @return void + * @static + */ + public static function macro($name, $macro) + { + \Illuminate\Foundation\Vite::macro($name, $macro); + } + + /** + * Mix another object into the class. + * + * @param object $mixin + * @param bool $replace + * @return void + * @throws \ReflectionException + * @static + */ + public static function mixin($mixin, $replace = true) + { + \Illuminate\Foundation\Vite::mixin($mixin, $replace); + } + + /** + * Checks if macro is registered. + * + * @param string $name + * @return bool + * @static + */ + public static function hasMacro($name) + { + return \Illuminate\Foundation\Vite::hasMacro($name); + } + + /** + * Flush the existing macros. + * + * @return void + * @static + */ + public static function flushMacros() + { + \Illuminate\Foundation\Vite::flushMacros(); + } + + } + /** + * + * + * @method static void createSubscription(array|string $channels, \Closure $callback, string $method = 'subscribe') + * @method static \Illuminate\Redis\Limiters\ConcurrencyLimiterBuilder funnel(string $name) + * @method static \Illuminate\Redis\Limiters\DurationLimiterBuilder throttle(string $name) + * @method static mixed client() + * @method static void subscribe(array|string $channels, \Closure $callback) + * @method static void psubscribe(array|string $channels, \Closure $callback) + * @method static mixed command(string $method, array $parameters = []) + * @method static void listen(\Closure $callback) + * @method static string|null getName() + * @method static \Illuminate\Redis\Connections\Connection setName(string $name) + * @method static \Illuminate\Contracts\Events\Dispatcher getEventDispatcher() + * @method static void setEventDispatcher(\Illuminate\Contracts\Events\Dispatcher $events) + * @method static void unsetEventDispatcher() + * @method static void macro(string $name, object|callable $macro) + * @method static void mixin(object $mixin, bool $replace = true) + * @method static bool hasMacro(string $name) + * @method static void flushMacros() + * @method static mixed macroCall(string $method, array $parameters) + * @see \Illuminate\Redis\RedisManager + */ + class Redis { + /** + * Get a Redis connection by name. + * + * @param string|null $name + * @return \Illuminate\Redis\Connections\Connection + * @static + */ + public static function connection($name = null) + { + /** @var \Illuminate\Redis\RedisManager $instance */ + return $instance->connection($name); + } + + /** + * Resolve the given connection by name. + * + * @param string|null $name + * @return \Illuminate\Redis\Connections\Connection + * @throws \InvalidArgumentException + * @static + */ + public static function resolve($name = null) + { + /** @var \Illuminate\Redis\RedisManager $instance */ + return $instance->resolve($name); + } + + /** + * Return all of the created connections. + * + * @return array + * @static + */ + public static function connections() + { + /** @var \Illuminate\Redis\RedisManager $instance */ + return $instance->connections(); + } + + /** + * Enable the firing of Redis command events. + * + * @return void + * @static + */ + public static function enableEvents() + { + /** @var \Illuminate\Redis\RedisManager $instance */ + $instance->enableEvents(); + } + + /** + * Disable the firing of Redis command events. + * + * @return void + * @static + */ + public static function disableEvents() + { + /** @var \Illuminate\Redis\RedisManager $instance */ + $instance->disableEvents(); + } + + /** + * Set the default driver. + * + * @param string $driver + * @return void + * @static + */ + public static function setDriver($driver) + { + /** @var \Illuminate\Redis\RedisManager $instance */ + $instance->setDriver($driver); + } + + /** + * Disconnect the given connection and remove from local cache. + * + * @param string|null $name + * @return void + * @static + */ + public static function purge($name = null) + { + /** @var \Illuminate\Redis\RedisManager $instance */ + $instance->purge($name); + } + + /** + * Register a custom driver creator Closure. + * + * @param string $driver + * @param \Closure $callback + * @return \Illuminate\Redis\RedisManager + * @static + */ + public static function extend($driver, $callback) + { + /** @var \Illuminate\Redis\RedisManager $instance */ + return $instance->extend($driver, $callback); + } + + } } - - class JWTAuth extends \Tymon\JWTAuth\Facades\JWTAuth - { +namespace Lavary\Menu { + /** + * + * + */ + class Facade { /** - * Find a user using the user identifier in the subject claim. + * Check if a menu builder exists. * - * @param bool|string $token - * @return mixed - * @static + * @param string $name + * @return bool + * @static */ - public static function toUser($token = false) + public static function exists($name) { - return \Tymon\JWTAuth\JWTAuth::toUser($token); + /** @var \Lavary\Menu\Menu $instance */ + return $instance->exists($name); } /** - * Generate a token using the user identifier as the subject claim. + * Create a new menu builder instance. + * + * @param string $name + * @param callable $callback + * @return \Lavary\Menu\Builder + * @static + */ + public static function makeOnce($name, $callback) + { + /** @var \Lavary\Menu\Menu $instance */ + return $instance->makeOnce($name, $callback); + } + + /** + * Create a new menu builder instance. + * + * @param string $name + * @param callable $callback + * @param array $options (optional, it will be combined with the options to be applied) + * @return \Lavary\Menu\Builder + * @static + */ + public static function make($name, $callback, $options = []) + { + /** @var \Lavary\Menu\Menu $instance */ + return $instance->make($name, $callback, $options); + } + + /** + * Loads and merges configuration data. + * + * @param string $name + * @return array + * @static + */ + public static function loadConf($name) + { + /** @var \Lavary\Menu\Menu $instance */ + return $instance->loadConf($name); + } + + /** + * Return Menu builder instance from the collection by key. + * + * @param string $key + * @return \Lavary\Menu\Builder + * @static + */ + public static function get($key) + { + /** @var \Lavary\Menu\Menu $instance */ + return $instance->get($key); + } + + /** + * Return Menu builder collection. + * + * @return \Illuminate\Support\Collection + * @static + */ + public static function getCollection() + { + /** @var \Lavary\Menu\Menu $instance */ + return $instance->getCollection(); + } + + /** + * Alias for getCollection. + * + * @return \Illuminate\Support\Collection + * @static + */ + public static function all() + { + /** @var \Lavary\Menu\Menu $instance */ + return $instance->all(); + } + + } + } + +namespace Barryvdh\DomPDF\Facade { + /** + * + * + * @method static BasePDF setBaseHost(string $baseHost) + * @method static BasePDF setBasePath(string $basePath) + * @method static BasePDF setCanvas(\Dompdf\Canvas $canvas) + * @method static BasePDF setCallbacks(array $callbacks) + * @method static BasePDF setCss(\Dompdf\Css\Stylesheet $css) + * @method static BasePDF setDefaultView(string $defaultView, array $options) + * @method static BasePDF setDom(\DOMDocument $dom) + * @method static BasePDF setFontMetrics(\Dompdf\FontMetrics $fontMetrics) + * @method static BasePDF setHttpContext(resource|array $httpContext) + * @method static BasePDF setPaper(string|float[] $paper, string $orientation = 'portrait') + * @method static BasePDF setProtocol(string $protocol) + * @method static BasePDF setTree(\Dompdf\Frame\FrameTree $tree) + */ + class Pdf { + /** + * Get the DomPDF instance + * + * @static + */ + public static function getDomPDF() + { + /** @var \Barryvdh\DomPDF\PDF $instance */ + return $instance->getDomPDF(); + } + + /** + * Show or hide warnings + * + * @static + */ + public static function setWarnings($warnings) + { + /** @var \Barryvdh\DomPDF\PDF $instance */ + return $instance->setWarnings($warnings); + } + + /** + * Load a HTML string + * + * @param string|null $encoding Not used yet + * @static + */ + public static function loadHTML($string, $encoding = null) + { + /** @var \Barryvdh\DomPDF\PDF $instance */ + return $instance->loadHTML($string, $encoding); + } + + /** + * Load a HTML file + * + * @static + */ + public static function loadFile($file) + { + /** @var \Barryvdh\DomPDF\PDF $instance */ + return $instance->loadFile($file); + } + + /** + * Add metadata info + * + * @param array $info + * @static + */ + public static function addInfo($info) + { + /** @var \Barryvdh\DomPDF\PDF $instance */ + return $instance->addInfo($info); + } + + /** + * Load a View and convert to HTML + * + * @param array $data + * @param array $mergeData + * @param string|null $encoding Not used yet + * @static + */ + public static function loadView($view, $data = [], $mergeData = [], $encoding = null) + { + /** @var \Barryvdh\DomPDF\PDF $instance */ + return $instance->loadView($view, $data, $mergeData, $encoding); + } + + /** + * Set/Change an option (or array of options) in Dompdf + * + * @param array|string $attribute + * @param null|mixed $value + * @static + */ + public static function setOption($attribute, $value = null) + { + /** @var \Barryvdh\DomPDF\PDF $instance */ + return $instance->setOption($attribute, $value); + } + + /** + * Replace all the Options from DomPDF + * + * @param array $options + * @static + */ + public static function setOptions($options, $mergeWithDefaults = false) + { + /** @var \Barryvdh\DomPDF\PDF $instance */ + return $instance->setOptions($options, $mergeWithDefaults); + } + + /** + * Output the PDF as a string. + * + * The options parameter controls the output. Accepted options are: + * + * 'compress' = > 1 or 0 - apply content stream compression, this is + * on (1) by default + * + * @param array $options + * @return string The rendered PDF as string + * @static + */ + public static function output($options = []) + { + /** @var \Barryvdh\DomPDF\PDF $instance */ + return $instance->output($options); + } + + /** + * Save the PDF to a file + * + * @static + */ + public static function save($filename, $disk = null) + { + /** @var \Barryvdh\DomPDF\PDF $instance */ + return $instance->save($filename, $disk); + } + + /** + * Make the PDF downloadable by the user + * + * @static + */ + public static function download($filename = 'document.pdf') + { + /** @var \Barryvdh\DomPDF\PDF $instance */ + return $instance->download($filename); + } + + /** + * Return a response with the PDF to show in the browser + * + * @static + */ + public static function stream($filename = 'document.pdf') + { + /** @var \Barryvdh\DomPDF\PDF $instance */ + return $instance->stream($filename); + } + + /** + * Render the PDF + * + * @static + */ + public static function render() + { + /** @var \Barryvdh\DomPDF\PDF $instance */ + return $instance->render(); + } + + /** + * + * + * @param array $pc + * @static + */ + public static function setEncryption($password, $ownerpassword = '', $pc = []) + { + /** @var \Barryvdh\DomPDF\PDF $instance */ + return $instance->setEncryption($password, $ownerpassword, $pc); + } + + } + /** + * + * + * @method static BasePDF setBaseHost(string $baseHost) + * @method static BasePDF setBasePath(string $basePath) + * @method static BasePDF setCanvas(\Dompdf\Canvas $canvas) + * @method static BasePDF setCallbacks(array $callbacks) + * @method static BasePDF setCss(\Dompdf\Css\Stylesheet $css) + * @method static BasePDF setDefaultView(string $defaultView, array $options) + * @method static BasePDF setDom(\DOMDocument $dom) + * @method static BasePDF setFontMetrics(\Dompdf\FontMetrics $fontMetrics) + * @method static BasePDF setHttpContext(resource|array $httpContext) + * @method static BasePDF setPaper(string|float[] $paper, string $orientation = 'portrait') + * @method static BasePDF setProtocol(string $protocol) + * @method static BasePDF setTree(\Dompdf\Frame\FrameTree $tree) + */ + class Pdf { + /** + * Get the DomPDF instance + * + * @static + */ + public static function getDomPDF() + { + /** @var \Barryvdh\DomPDF\PDF $instance */ + return $instance->getDomPDF(); + } + + /** + * Show or hide warnings + * + * @static + */ + public static function setWarnings($warnings) + { + /** @var \Barryvdh\DomPDF\PDF $instance */ + return $instance->setWarnings($warnings); + } + + /** + * Load a HTML string + * + * @param string|null $encoding Not used yet + * @static + */ + public static function loadHTML($string, $encoding = null) + { + /** @var \Barryvdh\DomPDF\PDF $instance */ + return $instance->loadHTML($string, $encoding); + } + + /** + * Load a HTML file + * + * @static + */ + public static function loadFile($file) + { + /** @var \Barryvdh\DomPDF\PDF $instance */ + return $instance->loadFile($file); + } + + /** + * Add metadata info + * + * @param array $info + * @static + */ + public static function addInfo($info) + { + /** @var \Barryvdh\DomPDF\PDF $instance */ + return $instance->addInfo($info); + } + + /** + * Load a View and convert to HTML + * + * @param array $data + * @param array $mergeData + * @param string|null $encoding Not used yet + * @static + */ + public static function loadView($view, $data = [], $mergeData = [], $encoding = null) + { + /** @var \Barryvdh\DomPDF\PDF $instance */ + return $instance->loadView($view, $data, $mergeData, $encoding); + } + + /** + * Set/Change an option (or array of options) in Dompdf + * + * @param array|string $attribute + * @param null|mixed $value + * @static + */ + public static function setOption($attribute, $value = null) + { + /** @var \Barryvdh\DomPDF\PDF $instance */ + return $instance->setOption($attribute, $value); + } + + /** + * Replace all the Options from DomPDF + * + * @param array $options + * @static + */ + public static function setOptions($options, $mergeWithDefaults = false) + { + /** @var \Barryvdh\DomPDF\PDF $instance */ + return $instance->setOptions($options, $mergeWithDefaults); + } + + /** + * Output the PDF as a string. + * + * The options parameter controls the output. Accepted options are: + * + * 'compress' = > 1 or 0 - apply content stream compression, this is + * on (1) by default + * + * @param array $options + * @return string The rendered PDF as string + * @static + */ + public static function output($options = []) + { + /** @var \Barryvdh\DomPDF\PDF $instance */ + return $instance->output($options); + } + + /** + * Save the PDF to a file + * + * @static + */ + public static function save($filename, $disk = null) + { + /** @var \Barryvdh\DomPDF\PDF $instance */ + return $instance->save($filename, $disk); + } + + /** + * Make the PDF downloadable by the user + * + * @static + */ + public static function download($filename = 'document.pdf') + { + /** @var \Barryvdh\DomPDF\PDF $instance */ + return $instance->download($filename); + } + + /** + * Return a response with the PDF to show in the browser + * + * @static + */ + public static function stream($filename = 'document.pdf') + { + /** @var \Barryvdh\DomPDF\PDF $instance */ + return $instance->stream($filename); + } + + /** + * Render the PDF + * + * @static + */ + public static function render() + { + /** @var \Barryvdh\DomPDF\PDF $instance */ + return $instance->render(); + } + + /** + * + * + * @param array $pc + * @static + */ + public static function setEncryption($password, $ownerpassword = '', $pc = []) + { + /** @var \Barryvdh\DomPDF\PDF $instance */ + return $instance->setEncryption($password, $ownerpassword, $pc); + } + + } + } + +namespace Nwidart\Modules\Facades { + /** + * + * + */ + class Module { + /** + * Add other module location. + * + * @param string $path + * @return \Nwidart\Modules\Laravel\LaravelFileRepository + * @static + */ + public static function addLocation($path) + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->addLocation($path); + } + + /** + * Get all additional paths. + * + * @return array + * @static + */ + public static function getPaths() + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->getPaths(); + } + + /** + * Get scanned modules paths. + * + * @return array + * @static + */ + public static function getScanPaths() + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->getScanPaths(); + } + + /** + * Get & scan all modules. + * + * @return array + * @static + */ + public static function scan() + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->scan(); + } + + /** + * Get all modules. + * + * @return array + * @static + */ + public static function all() + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->all(); + } + + /** + * Get cached modules. + * + * @return array + * @static + */ + public static function getCached() + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->getCached(); + } + + /** + * Get all modules as collection instance. + * + * @return \Nwidart\Modules\Collection + * @static + */ + public static function toCollection() + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->toCollection(); + } + + /** + * Get modules by status. + * + * @param $status + * @return array + * @static + */ + public static function getByStatus($status) + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->getByStatus($status); + } + + /** + * Determine whether the given module exist. + * + * @param $name + * @return bool + * @static + */ + public static function has($name) + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->has($name); + } + + /** + * Get list of enabled modules. + * + * @return array + * @static + */ + public static function allEnabled() + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->allEnabled(); + } + + /** + * Get list of disabled modules. + * + * @return array + * @static + */ + public static function allDisabled() + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->allDisabled(); + } + + /** + * Get count from all modules. + * + * @return int + * @static + */ + public static function count() + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->count(); + } + + /** + * Get all ordered modules. + * + * @param string $direction + * @return array + * @static + */ + public static function getOrdered($direction = 'asc') + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->getOrdered($direction); + } + + /** + * + * + * @inheritDoc + * @static + */ + public static function getPath() + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->getPath(); + } + + /** + * + * + * @inheritDoc + * @static + */ + public static function register() + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->register(); + } + + /** + * + * + * @inheritDoc + * @static + */ + public static function boot() + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->boot(); + } + + /** + * + * + * @inheritDoc + * @static + */ + public static function find($name) + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->find($name); + } + + /** + * + * + * @inheritDoc + * @static + */ + public static function findByAlias($alias) + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->findByAlias($alias); + } + + /** + * + * + * @inheritDoc + * @static + */ + public static function findRequirements($name) + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->findRequirements($name); + } + + /** + * Find a specific module, if there return that, otherwise throw exception. + * + * @param $name + * @return \Module + * @throws ModuleNotFoundException + * @static + */ + public static function findOrFail($name) + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->findOrFail($name); + } + + /** + * Get all modules as laravel collection instance. + * + * @param $status + * @return \Nwidart\Modules\Collection + * @static + */ + public static function collections($status = 1) + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->collections($status); + } + + /** + * Get module path for a specific module. + * + * @param $module + * @return string + * @static + */ + public static function getModulePath($module) + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->getModulePath($module); + } + + /** + * + * + * @inheritDoc + * @static + */ + public static function assetPath($module) + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->assetPath($module); + } + + /** + * + * + * @inheritDoc + * @static + */ + public static function config($key, $default = null) + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->config($key, $default); + } + + /** + * Get storage path for module used. + * + * @return string + * @static + */ + public static function getUsedStoragePath() + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->getUsedStoragePath(); + } + + /** + * Set module used for cli session. + * + * @param $name + * @throws ModuleNotFoundException + * @static + */ + public static function setUsed($name) + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->setUsed($name); + } + + /** + * Forget the module used for cli session. + * + * @static + */ + public static function forgetUsed() + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->forgetUsed(); + } + + /** + * Get module used for cli session. + * + * @return string + * @throws \Nwidart\Modules\Exceptions\ModuleNotFoundException + * @static + */ + public static function getUsedNow() + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->getUsedNow(); + } + + /** + * Get laravel filesystem instance. + * + * @return \Nwidart\Modules\Filesystem + * @static + */ + public static function getFiles() + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->getFiles(); + } + + /** + * Get module assets path. + * + * @return string + * @static + */ + public static function getAssetsPath() + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->getAssetsPath(); + } + + /** + * Get asset url from a specific module. + * + * @param string $asset + * @return string + * @throws InvalidAssetPath + * @static + */ + public static function asset($asset) + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->asset($asset); + } + + /** + * + * + * @inheritDoc + * @static + */ + public static function isEnabled($name) + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->isEnabled($name); + } + + /** + * + * + * @inheritDoc + * @static + */ + public static function isDisabled($name) + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->isDisabled($name); + } + + /** + * Enabling a specific module. + * + * @param string $name + * @return void + * @throws \Nwidart\Modules\Exceptions\ModuleNotFoundException + * @static + */ + public static function enable($name) + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + $instance->enable($name); + } + + /** + * Disabling a specific module. + * + * @param string $name + * @return void + * @throws \Nwidart\Modules\Exceptions\ModuleNotFoundException + * @static + */ + public static function disable($name) + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + $instance->disable($name); + } + + /** + * + * + * @inheritDoc + * @static + */ + public static function delete($name) + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->delete($name); + } + + /** + * Update dependencies for the specified module. + * + * @param string $module + * @static + */ + public static function update($module) + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->update($module); + } + + /** + * Install the specified module. + * + * @param string $name + * @param string $version + * @param string $type + * @param bool $subtree + * @return \Symfony\Component\Process\Process + * @static + */ + public static function install($name, $version = 'dev-master', $type = 'composer', $subtree = false) + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->install($name, $version, $type, $subtree); + } + + /** + * Get stub path. + * + * @return string|null + * @static + */ + public static function getStubPath() + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->getStubPath(); + } + + /** + * Set stub path. + * + * @param string $stubPath + * @return \Nwidart\Modules\Laravel\LaravelFileRepository + * @static + */ + public static function setStubPath($stubPath) + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->setStubPath($stubPath); + } + + /** + * Register a custom macro. + * + * @param string $name + * @param object|callable $macro + * @param-closure-this static $macro + * @return void + * @static + */ + public static function macro($name, $macro) + { + //Method inherited from \Nwidart\Modules\FileRepository + \Nwidart\Modules\Laravel\LaravelFileRepository::macro($name, $macro); + } + + /** + * Mix another object into the class. + * + * @param object $mixin + * @param bool $replace + * @return void + * @throws \ReflectionException + * @static + */ + public static function mixin($mixin, $replace = true) + { + //Method inherited from \Nwidart\Modules\FileRepository + \Nwidart\Modules\Laravel\LaravelFileRepository::mixin($mixin, $replace); + } + + /** + * Checks if macro is registered. + * + * @param string $name + * @return bool + * @static + */ + public static function hasMacro($name) + { + //Method inherited from \Nwidart\Modules\FileRepository + return \Nwidart\Modules\Laravel\LaravelFileRepository::hasMacro($name); + } + + /** + * Flush the existing macros. + * + * @return void + * @static + */ + public static function flushMacros() + { + //Method inherited from \Nwidart\Modules\FileRepository + \Nwidart\Modules\Laravel\LaravelFileRepository::flushMacros(); + } + + } + } + +namespace Silber\Bouncer { + /** + * + * + * @see \Silber\Bouncer\Bouncer + */ + class BouncerFacade { + /** + * Create a new Bouncer instance. * * @param mixed $user - * @param array $customClaims - * @return string - * @static + * @return static + * @static */ - public static function fromUser($user, $customClaims = []) + public static function create($user = null) { - return \Tymon\JWTAuth\JWTAuth::fromUser($user, $customClaims); + return \Silber\Bouncer\Bouncer::create($user); } /** - * Attempt to authenticate the user and return the token. + * Create a bouncer factory instance. * - * @param array $credentials - * @param array $customClaims - * @return false|string - * @static + * @param mixed $user + * @return \Silber\Bouncer\Factory + * @static */ - public static function attempt($credentials = [], $customClaims = []) + public static function make($user = null) { - return \Tymon\JWTAuth\JWTAuth::attempt($credentials, $customClaims); + return \Silber\Bouncer\Bouncer::make($user); } /** - * Authenticate a user via a token. + * Start a chain, to allow the given authority an ability. * - * @param mixed $token - * @return mixed - * @static + * @param \Illuminate\Database\Eloquent\Model|string $authority + * @return \Silber\Bouncer\Conductors\GivesAbilities + * @static */ - public static function authenticate($token = false) + public static function allow($authority) { - return \Tymon\JWTAuth\JWTAuth::authenticate($token); + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->allow($authority); } /** - * Refresh an expired token. + * Start a chain, to allow everyone an ability. * - * @param mixed $token - * @return string - * @static + * @return \Silber\Bouncer\Conductors\GivesAbilities + * @static */ - public static function refresh($token = false) + public static function allowEveryone() { - return \Tymon\JWTAuth\JWTAuth::refresh($token); + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->allowEveryone(); } /** - * Invalidate a token (add it to the blacklist). + * Start a chain, to disallow the given authority an ability. * - * @param mixed $token - * @return bool - * @static + * @param \Illuminate\Database\Eloquent\Model|string $authority + * @return \Silber\Bouncer\Conductors\RemovesAbilities + * @static */ - public static function invalidate($token = false) + public static function disallow($authority) { - return \Tymon\JWTAuth\JWTAuth::invalidate($token); + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->disallow($authority); } /** - * Get the token. + * Start a chain, to disallow everyone the an ability. * - * @return bool|string - * @static + * @return \Silber\Bouncer\Conductors\RemovesAbilities + * @static */ - public static function getToken() + public static function disallowEveryone() { - return \Tymon\JWTAuth\JWTAuth::getToken(); + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->disallowEveryone(); } /** - * Get the raw Payload instance. + * Start a chain, to forbid the given authority an ability. * - * @param mixed $token - * @return \Tymon\JWTAuth\Payload - * @static + * @param \Illuminate\Database\Eloquent\Model|string $authority + * @return \Silber\Bouncer\Conductors\GivesAbilities + * @static */ - public static function getPayload($token = false) + public static function forbid($authority) { - return \Tymon\JWTAuth\JWTAuth::getPayload($token); + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->forbid($authority); } /** - * Parse the token from the request. + * Start a chain, to forbid everyone an ability. * - * @param string $query - * @return \JWTAuth - * @static + * @return \Silber\Bouncer\Conductors\GivesAbilities + * @static */ - public static function parseToken($method = 'bearer', $header = 'authorization', $query = 'token') + public static function forbidEveryone() { - return \Tymon\JWTAuth\JWTAuth::parseToken($method, $header, $query); + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->forbidEveryone(); } /** - * Set the identifier. + * Start a chain, to unforbid the given authority an ability. * - * @param string $identifier - * @return $this - * @static + * @param \Illuminate\Database\Eloquent\Model|string $authority + * @return \Silber\Bouncer\Conductors\RemovesAbilities + * @static */ - public static function setIdentifier($identifier) + public static function unforbid($authority) { - return \Tymon\JWTAuth\JWTAuth::setIdentifier($identifier); + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->unforbid($authority); } /** - * Get the identifier. + * Start a chain, to unforbid an ability from everyone. * - * @return string - * @static + * @return \Silber\Bouncer\Conductors\RemovesAbilities + * @static */ - public static function getIdentifier() + public static function unforbidEveryone() { - return \Tymon\JWTAuth\JWTAuth::getIdentifier(); + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->unforbidEveryone(); } /** - * Set the token. + * Start a chain, to assign the given role to a model. * - * @param string $token - * @return $this - * @static + * @param \Silber\Bouncer\Database\Role|\Illuminate\Support\Collection|string $roles + * @return \Silber\Bouncer\Conductors\AssignsRoles + * @static */ - public static function setToken($token) + public static function assign($roles) { - return \Tymon\JWTAuth\JWTAuth::setToken($token); + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->assign($roles); } /** - * Set the request instance. + * Start a chain, to retract the given role from a model. * - * @param \Request $request - * @static + * @param \Illuminate\Support\Collection|\Silber\Bouncer\Database\Role|string $roles + * @return \Silber\Bouncer\Conductors\RemovesRoles + * @static */ - public static function setRequest($request) + public static function retract($roles) { - return \Tymon\JWTAuth\JWTAuth::setRequest($request); + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->retract($roles); } /** - * Get the JWTManager instance. + * Start a chain, to sync roles/abilities for the given authority. * - * @return \Tymon\JWTAuth\JWTManager - * @static + * @param \Illuminate\Database\Eloquent\Model|string $authority + * @return \Silber\Bouncer\Conductors\SyncsRolesAndAbilities + * @static */ - public static function manager() + public static function sync($authority) { - return \Tymon\JWTAuth\JWTAuth::manager(); + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->sync($authority); } + + /** + * Start a chain, to check if the given authority has a certain role. + * + * @return \Silber\Bouncer\Conductors\ChecksRoles + * @static + */ + public static function is($authority) + { + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->is($authority); + } + + /** + * Get the clipboard instance. + * + * @return \Silber\Bouncer\Contracts\Clipboard + * @static + */ + public static function getClipboard() + { + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->getClipboard(); + } + + /** + * Set the clipboard instance used by bouncer. + * + * Will also register the given clipboard with the container. + * + * @param \Silber\Bouncer\Contracts\Clipboard + * @return \Silber\Bouncer\Bouncer + * @static + */ + public static function setClipboard($clipboard) + { + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->setClipboard($clipboard); + } + + /** + * Register the guard's clipboard at the container. + * + * @return \Silber\Bouncer\Bouncer + * @static + */ + public static function registerClipboardAtContainer() + { + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->registerClipboardAtContainer(); + } + + /** + * Use a cached clipboard with the given cache instance. + * + * @return \Silber\Bouncer\Bouncer + * @static + */ + public static function cache($cache = null) + { + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->cache($cache); + } + + /** + * Fully disable all query caching. + * + * @return \Silber\Bouncer\Bouncer + * @static + */ + public static function dontCache() + { + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->dontCache(); + } + + /** + * Clear the cache. + * + * @return \Silber\Bouncer\Bouncer + * @static + */ + public static function refresh($authority = null) + { + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->refresh($authority); + } + + /** + * Clear the cache for the given authority. + * + * @return \Silber\Bouncer\Bouncer + * @static + */ + public static function refreshFor($authority) + { + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->refreshFor($authority); + } + + /** + * Set the access gate instance. + * + * @return \Silber\Bouncer\Bouncer + * @static + */ + public static function setGate($gate) + { + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->setGate($gate); + } + + /** + * Get the gate instance. + * + * @return \Illuminate\Contracts\Auth\Access\Gate|null + * @static + */ + public static function getGate() + { + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->getGate(); + } + + /** + * Get the gate instance. Throw if not set. + * + * @return \Illuminate\Contracts\Auth\Access\Gate + * @throws \RuntimeException + * @static + */ + public static function gate() + { + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->gate(); + } + + /** + * Determine whether the clipboard used is a cached clipboard. + * + * @return bool + * @static + */ + public static function usesCachedClipboard() + { + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->usesCachedClipboard(); + } + + /** + * Define a new ability using a callback. + * + * @param string $ability + * @param callable|string $callback + * @return \Silber\Bouncer\Bouncer + * @throws \InvalidArgumentException + * @static + */ + public static function define($ability, $callback) + { + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->define($ability, $callback); + } + + /** + * Determine if the given ability should be granted for the current user. + * + * @param string $ability + * @param array|mixed $arguments + * @return \Illuminate\Auth\Access\Response + * @throws \Illuminate\Auth\Access\AuthorizationException + * @static + */ + public static function authorize($ability, $arguments = []) + { + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->authorize($ability, $arguments); + } + + /** + * Determine if the given ability is allowed. + * + * @param string $ability + * @param array|mixed $arguments + * @return bool + * @static + */ + public static function can($ability, $arguments = []) + { + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->can($ability, $arguments); + } + + /** + * Determine if any of the given abilities are allowed. + * + * @param array $abilities + * @param array|mixed $arguments + * @return bool + * @static + */ + public static function canAny($abilities, $arguments = []) + { + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->canAny($abilities, $arguments); + } + + /** + * Determine if the given ability is denied. + * + * @param string $ability + * @param array|mixed $arguments + * @return bool + * @static + */ + public static function cannot($ability, $arguments = []) + { + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->cannot($ability, $arguments); + } + + /** + * Determine if the given ability is allowed. + * + * Alias for the "can" method. + * + * @deprecated + * @param string $ability + * @param array|mixed $arguments + * @return bool + * @static + */ + public static function allows($ability, $arguments = []) + { + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->allows($ability, $arguments); + } + + /** + * Determine if the given ability is denied. + * + * Alias for the "cannot" method. + * + * @deprecated + * @param string $ability + * @param array|mixed $arguments + * @return bool + * @static + */ + public static function denies($ability, $arguments = []) + { + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->denies($ability, $arguments); + } + + /** + * Get an instance of the role model. + * + * @return \Silber\Bouncer\Database\Role + * @static + */ + public static function role($attributes = []) + { + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->role($attributes); + } + + /** + * Get an instance of the ability model. + * + * @return \Silber\Bouncer\Database\Ability + * @static + */ + public static function ability($attributes = []) + { + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->ability($attributes); + } + + /** + * Set Bouncer to run its checks before the policies. + * + * @param bool $boolean + * @return \Silber\Bouncer\Bouncer + * @static + */ + public static function runBeforePolicies($boolean = true) + { + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->runBeforePolicies($boolean); + } + + /** + * Register an attribute/callback to determine if a model is owned by a given authority. + * + * @param string|\Closure $model + * @param string|\Closure|null $attribute + * @return \Silber\Bouncer\Bouncer + * @static + */ + public static function ownedVia($model, $attribute = null) + { + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->ownedVia($model, $attribute); + } + + /** + * Set the model to be used for abilities. + * + * @param string $model + * @return \Silber\Bouncer\Bouncer + * @static + */ + public static function useAbilityModel($model) + { + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->useAbilityModel($model); + } + + /** + * Set the model to be used for roles. + * + * @param string $model + * @return \Silber\Bouncer\Bouncer + * @static + */ + public static function useRoleModel($model) + { + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->useRoleModel($model); + } + + /** + * Set the model to be used for users. + * + * @param string $model + * @return \Silber\Bouncer\Bouncer + * @static + */ + public static function useUserModel($model) + { + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->useUserModel($model); + } + + /** + * Set custom table names. + * + * @return \Silber\Bouncer\Bouncer + * @static + */ + public static function tables($map) + { + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->tables($map); + } + + /** + * Get the model scoping instance. + * + * @return mixed + * @static + */ + public static function scope($scope = null) + { + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->scope($scope); + } + + } + } + +namespace Spatie\LaravelIgnition\Facades { + /** + * + * + * @see \Spatie\FlareClient\Flare + */ + class Flare { + /** + * + * + * @static + */ + public static function make($apiKey = null, $contextDetector = null) + { + return \Spatie\FlareClient\Flare::make($apiKey, $contextDetector); + } + + /** + * + * + * @static + */ + public static function setApiToken($apiToken) + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->setApiToken($apiToken); + } + + /** + * + * + * @static + */ + public static function apiTokenSet() + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->apiTokenSet(); + } + + /** + * + * + * @static + */ + public static function setBaseUrl($baseUrl) + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->setBaseUrl($baseUrl); + } + + /** + * + * + * @static + */ + public static function setStage($stage) + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->setStage($stage); + } + + /** + * + * + * @static + */ + public static function sendReportsImmediately() + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->sendReportsImmediately(); + } + + /** + * + * + * @static + */ + public static function determineVersionUsing($determineVersionCallable) + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->determineVersionUsing($determineVersionCallable); + } + + /** + * + * + * @static + */ + public static function reportErrorLevels($reportErrorLevels) + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->reportErrorLevels($reportErrorLevels); + } + + /** + * + * + * @static + */ + public static function filterExceptionsUsing($filterExceptionsCallable) + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->filterExceptionsUsing($filterExceptionsCallable); + } + + /** + * + * + * @static + */ + public static function filterReportsUsing($filterReportsCallable) + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->filterReportsUsing($filterReportsCallable); + } + + /** + * + * + * @param array|ArgumentReducer>|\Spatie\Backtrace\Arguments\ArgumentReducers|null $argumentReducers + * @static + */ + public static function argumentReducers($argumentReducers) + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->argumentReducers($argumentReducers); + } + + /** + * + * + * @static + */ + public static function withStackFrameArguments($withStackFrameArguments = true, $forcePHPIniSetting = false) + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->withStackFrameArguments($withStackFrameArguments, $forcePHPIniSetting); + } + + /** + * + * + * @param class-string $exceptionClass + * @static + */ + public static function overrideGrouping($exceptionClass, $type = 'exception_message_and_class') + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->overrideGrouping($exceptionClass, $type); + } + + /** + * + * + * @static + */ + public static function version() + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->version(); + } + + /** + * + * + * @return array> + * @static + */ + public static function getMiddleware() + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->getMiddleware(); + } + + /** + * + * + * @static + */ + public static function setContextProviderDetector($contextDetector) + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->setContextProviderDetector($contextDetector); + } + + /** + * + * + * @static + */ + public static function setContainer($container) + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->setContainer($container); + } + + /** + * + * + * @static + */ + public static function registerFlareHandlers() + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->registerFlareHandlers(); + } + + /** + * + * + * @static + */ + public static function registerExceptionHandler() + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->registerExceptionHandler(); + } + + /** + * + * + * @static + */ + public static function registerErrorHandler($errorLevels = null) + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->registerErrorHandler($errorLevels); + } + + /** + * + * + * @param \Spatie\FlareClient\FlareMiddleware\FlareMiddleware|array|class-string|callable $middleware + * @return \Spatie\FlareClient\Flare + * @static + */ + public static function registerMiddleware($middleware) + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->registerMiddleware($middleware); + } + + /** + * + * + * @return array> + * @static + */ + public static function getMiddlewares() + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->getMiddlewares(); + } + + /** + * + * + * @param string $name + * @param string $messageLevel + * @param array $metaData + * @return \Spatie\FlareClient\Flare + * @static + */ + public static function glow($name, $messageLevel = 'info', $metaData = []) + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->glow($name, $messageLevel, $metaData); + } + + /** + * + * + * @static + */ + public static function handleException($throwable) + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->handleException($throwable); + } + + /** + * + * + * @return mixed + * @static + */ + public static function handleError($code, $message, $file = '', $line = 0) + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->handleError($code, $message, $file, $line); + } + + /** + * + * + * @static + */ + public static function applicationPath($applicationPath) + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->applicationPath($applicationPath); + } + + /** + * + * + * @static + */ + public static function report($throwable, $callback = null, $report = null, $handled = null) + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->report($throwable, $callback, $report, $handled); + } + + /** + * + * + * @static + */ + public static function reportHandled($throwable) + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->reportHandled($throwable); + } + + /** + * + * + * @static + */ + public static function reportMessage($message, $logLevel, $callback = null) + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->reportMessage($message, $logLevel, $callback); + } + + /** + * + * + * @static + */ + public static function sendTestReport($throwable) + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->sendTestReport($throwable); + } + + /** + * + * + * @static + */ + public static function reset() + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->reset(); + } + + /** + * + * + * @static + */ + public static function anonymizeIp() + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->anonymizeIp(); + } + + /** + * + * + * @param array $fieldNames + * @return \Spatie\FlareClient\Flare + * @static + */ + public static function censorRequestBodyFields($fieldNames) + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->censorRequestBodyFields($fieldNames); + } + + /** + * + * + * @static + */ + public static function createReport($throwable) + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->createReport($throwable); + } + + /** + * + * + * @static + */ + public static function createReportFromMessage($message, $logLevel) + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->createReportFromMessage($message, $logLevel); + } + + /** + * + * + * @static + */ + public static function stage($stage) + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->stage($stage); + } + + /** + * + * + * @static + */ + public static function messageLevel($messageLevel) + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->messageLevel($messageLevel); + } + + /** + * + * + * @param string $groupName + * @param mixed $default + * @return array + * @static + */ + public static function getGroup($groupName = 'context', $default = []) + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->getGroup($groupName, $default); + } + + /** + * + * + * @static + */ + public static function context($key, $value) + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->context($key, $value); + } + + /** + * + * + * @param string $groupName + * @param array $properties + * @return \Spatie\FlareClient\Flare + * @static + */ + public static function group($groupName, $properties) + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->group($groupName, $properties); + } + + } + } + +namespace Spatie\SignalAwareCommand\Facades { + /** + * + * + * @see \Spatie\SignalAwareCommand\Signal + */ + class Signal { + /** + * + * + * @static + */ + public static function handle($signal, $callable) + { + /** @var \Spatie\SignalAwareCommand\Signal $instance */ + return $instance->handle($signal, $callable); + } + + /** + * + * + * @static + */ + public static function executeSignalHandlers($signal, $command) + { + /** @var \Spatie\SignalAwareCommand\Signal $instance */ + return $instance->executeSignalHandlers($signal, $command); + } + + /** + * + * + * @static + */ + public static function clearHandlers($signal = null) + { + /** @var \Spatie\SignalAwareCommand\Signal $instance */ + return $instance->clearHandlers($signal); + } + + } + } + +namespace Vinkla\Hashids\Facades { + /** + * + * + * @method static string encode(mixed ...$numbers) + * @method static array decode(string $hash) + * @method static string encodeHex(string $str) + * @method static string decodeHex(string $hash) + */ + class Hashids { + /** + * + * + * @static + */ + public static function getFactory() + { + /** @var \Vinkla\Hashids\HashidsManager $instance */ + return $instance->getFactory(); + } + + /** + * Get a connection instance. + * + * @param string|null $name + * @throws \InvalidArgumentException + * @return object + * @static + */ + public static function connection($name = null) + { + //Method inherited from \GrahamCampbell\Manager\AbstractManager + /** @var \Vinkla\Hashids\HashidsManager $instance */ + return $instance->connection($name); + } + + /** + * Reconnect to the given connection. + * + * @param string|null $name + * @throws \InvalidArgumentException + * @return object + * @static + */ + public static function reconnect($name = null) + { + //Method inherited from \GrahamCampbell\Manager\AbstractManager + /** @var \Vinkla\Hashids\HashidsManager $instance */ + return $instance->reconnect($name); + } + + /** + * Disconnect from the given connection. + * + * @param string|null $name + * @return void + * @static + */ + public static function disconnect($name = null) + { + //Method inherited from \GrahamCampbell\Manager\AbstractManager + /** @var \Vinkla\Hashids\HashidsManager $instance */ + $instance->disconnect($name); + } + + /** + * Get the configuration for a connection. + * + * @param string|null $name + * @throws \InvalidArgumentException + * @return array + * @static + */ + public static function getConnectionConfig($name = null) + { + //Method inherited from \GrahamCampbell\Manager\AbstractManager + /** @var \Vinkla\Hashids\HashidsManager $instance */ + return $instance->getConnectionConfig($name); + } + + /** + * Get the default connection name. + * + * @return string + * @static + */ + public static function getDefaultConnection() + { + //Method inherited from \GrahamCampbell\Manager\AbstractManager + /** @var \Vinkla\Hashids\HashidsManager $instance */ + return $instance->getDefaultConnection(); + } + + /** + * Set the default connection name. + * + * @param string $name + * @return void + * @static + */ + public static function setDefaultConnection($name) + { + //Method inherited from \GrahamCampbell\Manager\AbstractManager + /** @var \Vinkla\Hashids\HashidsManager $instance */ + $instance->setDefaultConnection($name); + } + + /** + * Register an extension connection resolver. + * + * @param string $name + * @param callable $resolver + * @return void + * @static + */ + public static function extend($name, $resolver) + { + //Method inherited from \GrahamCampbell\Manager\AbstractManager + /** @var \Vinkla\Hashids\HashidsManager $instance */ + $instance->extend($name, $resolver); + } + + /** + * Return all of the created connections. + * + * @return array + * @static + */ + public static function getConnections() + { + //Method inherited from \GrahamCampbell\Manager\AbstractManager + /** @var \Vinkla\Hashids\HashidsManager $instance */ + return $instance->getConnections(); + } + + /** + * Get the config instance. + * + * @return \Illuminate\Contracts\Config\Repository + * @static + */ + public static function getConfig() + { + //Method inherited from \GrahamCampbell\Manager\AbstractManager + /** @var \Vinkla\Hashids\HashidsManager $instance */ + return $instance->getConfig(); + } + + } + } + +namespace Illuminate\Http { + /** + * + * + */ + class Request { + /** + * + * + * @see \Illuminate\Foundation\Providers\FoundationServiceProvider::registerRequestValidation() + * @param array $rules + * @param mixed $params + * @static + */ + public static function validate($rules, ...$params) + { + return \Illuminate\Http\Request::validate($rules, ...$params); + } + + /** + * + * + * @see \Illuminate\Foundation\Providers\FoundationServiceProvider::registerRequestValidation() + * @param string $errorBag + * @param array $rules + * @param mixed $params + * @static + */ + public static function validateWithBag($errorBag, $rules, ...$params) + { + return \Illuminate\Http\Request::validateWithBag($errorBag, $rules, ...$params); + } + + /** + * + * + * @see \Illuminate\Foundation\Providers\FoundationServiceProvider::registerRequestSignatureValidation() + * @param mixed $absolute + * @static + */ + public static function hasValidSignature($absolute = true) + { + return \Illuminate\Http\Request::hasValidSignature($absolute); + } + + /** + * + * + * @see \Illuminate\Foundation\Providers\FoundationServiceProvider::registerRequestSignatureValidation() + * @static + */ + public static function hasValidRelativeSignature() + { + return \Illuminate\Http\Request::hasValidRelativeSignature(); + } + + /** + * + * + * @see \Illuminate\Foundation\Providers\FoundationServiceProvider::registerRequestSignatureValidation() + * @param mixed $ignoreQuery + * @param mixed $absolute + * @static + */ + public static function hasValidSignatureWhileIgnoring($ignoreQuery = [], $absolute = true) + { + return \Illuminate\Http\Request::hasValidSignatureWhileIgnoring($ignoreQuery, $absolute); + } + + /** + * + * + * @see \Illuminate\Foundation\Providers\FoundationServiceProvider::registerRequestSignatureValidation() + * @param mixed $ignoreQuery + * @static + */ + public static function hasValidRelativeSignatureWhileIgnoring($ignoreQuery = []) + { + return \Illuminate\Http\Request::hasValidRelativeSignatureWhileIgnoring($ignoreQuery); + } + + } + } + +namespace Illuminate\Testing { + /** + * + * + * @template TResponse of \Symfony\Component\HttpFoundation\Response + * @mixin \Illuminate\Http\Response + */ + class TestResponse { + /** + * + * + * @see \JMac\Testing\AdditionalAssertionsServiceProvider::register() + * @param array $structure + * @static + */ + public static function assertJsonTypedStructure($structure) + { + return \Illuminate\Testing\TestResponse::assertJsonTypedStructure($structure); + } + + } } +namespace { + class App extends \Illuminate\Support\Facades\App {} + class Arr extends \Illuminate\Support\Arr {} + class Artisan extends \Illuminate\Support\Facades\Artisan {} + class Auth extends \Illuminate\Support\Facades\Auth {} + class Blade extends \Illuminate\Support\Facades\Blade {} + class Broadcast extends \Illuminate\Support\Facades\Broadcast {} + class Bus extends \Illuminate\Support\Facades\Bus {} + class Cache extends \Illuminate\Support\Facades\Cache {} + class Concurrency extends \Illuminate\Support\Facades\Concurrency {} + class Config extends \Illuminate\Support\Facades\Config {} + class Context extends \Illuminate\Support\Facades\Context {} + class Cookie extends \Illuminate\Support\Facades\Cookie {} + class Crypt extends \Illuminate\Support\Facades\Crypt {} + class Date extends \Illuminate\Support\Facades\Date {} + class DB extends \Illuminate\Support\Facades\DB {} + + /** + * + * + * @template TCollection of static + * @template TModel of static + * @template TValue of static + * @template TValue of static + */ + class Eloquent extends \Illuminate\Database\Eloquent\Model { /** + * Create and return an un-saved model instance. + * + * @param array $attributes + * @return TModel + * @static + */ + public static function make($attributes = []) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->make($attributes); + } + + /** + * Register a new global scope. + * + * @param string $identifier + * @param \Illuminate\Database\Eloquent\Scope|\Closure $scope + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function withGlobalScope($identifier, $scope) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->withGlobalScope($identifier, $scope); + } + + /** + * Remove a registered global scope. + * + * @param \Illuminate\Database\Eloquent\Scope|string $scope + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function withoutGlobalScope($scope) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->withoutGlobalScope($scope); + } + + /** + * Remove all or passed registered global scopes. + * + * @param array|null $scopes + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function withoutGlobalScopes($scopes = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->withoutGlobalScopes($scopes); + } + + /** + * Get an array of global scopes that were removed from the query. + * + * @return array + * @static + */ + public static function removedScopes() + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->removedScopes(); + } + + /** + * Add a where clause on the primary key to the query. + * + * @param mixed $id + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereKey($id) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->whereKey($id); + } + + /** + * Add a where clause on the primary key to the query. + * + * @param mixed $id + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereKeyNot($id) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->whereKeyNot($id); + } + + /** + * Add a basic where clause to the query. + * + * @param (\Closure(static): mixed)|string|array|\Illuminate\Contracts\Database\Query\Expression $column + * @param mixed $operator + * @param mixed $value + * @param string $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function where($column, $operator = null, $value = null, $boolean = 'and') + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->where($column, $operator, $value, $boolean); + } + + /** + * Add a basic where clause to the query, and return the first result. + * + * @param (\Closure(static): mixed)|string|array|\Illuminate\Contracts\Database\Query\Expression $column + * @param mixed $operator + * @param mixed $value + * @param string $boolean + * @return TModel|null + * @static + */ + public static function firstWhere($column, $operator = null, $value = null, $boolean = 'and') + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->firstWhere($column, $operator, $value, $boolean); + } + + /** + * Add an "or where" clause to the query. + * + * @param (\Closure(static): mixed)|array|string|\Illuminate\Contracts\Database\Query\Expression $column + * @param mixed $operator + * @param mixed $value + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhere($column, $operator = null, $value = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->orWhere($column, $operator, $value); + } + + /** + * Add a basic "where not" clause to the query. + * + * @param (\Closure(static): mixed)|string|array|\Illuminate\Contracts\Database\Query\Expression $column + * @param mixed $operator + * @param mixed $value + * @param string $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereNot($column, $operator = null, $value = null, $boolean = 'and') + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->whereNot($column, $operator, $value, $boolean); + } + + /** + * Add an "or where not" clause to the query. + * + * @param (\Closure(static): mixed)|array|string|\Illuminate\Contracts\Database\Query\Expression $column + * @param mixed $operator + * @param mixed $value + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereNot($column, $operator = null, $value = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->orWhereNot($column, $operator, $value); + } + + /** + * Add an "order by" clause for a timestamp to the query. + * + * @param string|\Illuminate\Contracts\Database\Query\Expression $column + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function latest($column = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->latest($column); + } + + /** + * Add an "order by" clause for a timestamp to the query. + * + * @param string|\Illuminate\Contracts\Database\Query\Expression $column + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function oldest($column = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->oldest($column); + } + + /** + * Create a collection of models from plain arrays. + * + * @param array $items + * @return \Illuminate\Database\Eloquent\Collection + * @static + */ + public static function hydrate($items) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->hydrate($items); + } + + /** + * Create a collection of models from a raw query. + * + * @param string $query + * @param array $bindings + * @return \Illuminate\Database\Eloquent\Collection + * @static + */ + public static function fromQuery($query, $bindings = []) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->fromQuery($query, $bindings); + } + + /** + * Find a model by its primary key. + * + * @param mixed $id + * @param array|string $columns + * @return ($id is (\Illuminate\Contracts\Support\Arrayable|array) ? \Illuminate\Database\Eloquent\Collection : TModel|null) + * @static + */ + public static function find($id, $columns = []) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->find($id, $columns); + } + + /** + * Find multiple models by their primary keys. + * + * @param \Illuminate\Contracts\Support\Arrayable|array $ids + * @param array|string $columns + * @return \Illuminate\Database\Eloquent\Collection + * @static + */ + public static function findMany($ids, $columns = []) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->findMany($ids, $columns); + } + + /** + * Find a model by its primary key or throw an exception. + * + * @param mixed $id + * @param array|string $columns + * @return ($id is (\Illuminate\Contracts\Support\Arrayable|array) ? \Illuminate\Database\Eloquent\Collection : TModel) + * @throws \Illuminate\Database\Eloquent\ModelNotFoundException + * @static + */ + public static function findOrFail($id, $columns = []) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->findOrFail($id, $columns); + } + + /** + * Find a model by its primary key or return fresh model instance. + * + * @param mixed $id + * @param array|string $columns + * @return ($id is (\Illuminate\Contracts\Support\Arrayable|array) ? \Illuminate\Database\Eloquent\Collection : TModel) + * @static + */ + public static function findOrNew($id, $columns = []) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->findOrNew($id, $columns); + } + + /** + * Find a model by its primary key or call a callback. + * + * @template TValue + * @param mixed $id + * @param (\Closure(): TValue)|list|string $columns + * @param (\Closure(): TValue)|null $callback + * @return ( $id is (\Illuminate\Contracts\Support\Arrayable|array) + * ? \Illuminate\Database\Eloquent\Collection + * : TModel|TValue + * ) + * @static + */ + public static function findOr($id, $columns = [], $callback = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->findOr($id, $columns, $callback); + } + + /** + * Get the first record matching the attributes or instantiate it. + * + * @param array $attributes + * @param array $values + * @return TModel + * @static + */ + public static function firstOrNew($attributes = [], $values = []) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->firstOrNew($attributes, $values); + } + + /** + * Get the first record matching the attributes. If the record is not found, create it. + * + * @param array $attributes + * @param array $values + * @return TModel + * @static + */ + public static function firstOrCreate($attributes = [], $values = []) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->firstOrCreate($attributes, $values); + } + + /** + * Attempt to create the record. If a unique constraint violation occurs, attempt to find the matching record. + * + * @param array $attributes + * @param array $values + * @return TModel + * @static + */ + public static function createOrFirst($attributes = [], $values = []) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->createOrFirst($attributes, $values); + } + + /** + * Create or update a record matching the attributes, and fill it with values. + * + * @param array $attributes + * @param array $values + * @return TModel + * @static + */ + public static function updateOrCreate($attributes, $values = []) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->updateOrCreate($attributes, $values); + } + + /** + * Execute the query and get the first result or throw an exception. + * + * @param array|string $columns + * @return TModel + * @throws \Illuminate\Database\Eloquent\ModelNotFoundException + * @static + */ + public static function firstOrFail($columns = []) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->firstOrFail($columns); + } + + /** + * Execute the query and get the first result or call a callback. + * + * @template TValue + * @param (\Closure(): TValue)|list $columns + * @param (\Closure(): TValue)|null $callback + * @return TModel|TValue + * @static + */ + public static function firstOr($columns = [], $callback = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->firstOr($columns, $callback); + } + + /** + * Execute the query and get the first result if it's the sole matching record. + * + * @param array|string $columns + * @return TModel + * @throws \Illuminate\Database\Eloquent\ModelNotFoundException + * @throws \Illuminate\Database\MultipleRecordsFoundException + * @static + */ + public static function sole($columns = []) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->sole($columns); + } + + /** + * Get a single column's value from the first result of a query. + * + * @param string|\Illuminate\Contracts\Database\Query\Expression $column + * @return mixed + * @static + */ + public static function value($column) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->value($column); + } + + /** + * Get a single column's value from the first result of a query if it's the sole matching record. + * + * @param string|\Illuminate\Contracts\Database\Query\Expression $column + * @return mixed + * @throws \Illuminate\Database\Eloquent\ModelNotFoundException + * @throws \Illuminate\Database\MultipleRecordsFoundException + * @static + */ + public static function soleValue($column) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->soleValue($column); + } + + /** + * Get a single column's value from the first result of the query or throw an exception. + * + * @param string|\Illuminate\Contracts\Database\Query\Expression $column + * @return mixed + * @throws \Illuminate\Database\Eloquent\ModelNotFoundException + * @static + */ + public static function valueOrFail($column) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->valueOrFail($column); + } + + /** + * Execute the query as a "select" statement. + * + * @param array|string $columns + * @return \Illuminate\Database\Eloquent\Collection + * @static + */ + public static function get($columns = []) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->get($columns); + } + + /** + * Get the hydrated models without eager loading. + * + * @param array|string $columns + * @return array + * @static + */ + public static function getModels($columns = []) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->getModels($columns); + } + + /** + * Eager load the relationships for the models. + * + * @param array $models + * @return array + * @static + */ + public static function eagerLoadRelations($models) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->eagerLoadRelations($models); + } + + /** + * Register a closure to be invoked after the query is executed. + * + * @param \Closure $callback + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function afterQuery($callback) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->afterQuery($callback); + } + + /** + * Invoke the "after query" modification callbacks. + * + * @param mixed $result + * @return mixed + * @static + */ + public static function applyAfterQueryCallbacks($result) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->applyAfterQueryCallbacks($result); + } + + /** + * Get a lazy collection for the given query. + * + * @return \Illuminate\Support\LazyCollection + * @static + */ + public static function cursor() + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->cursor(); + } + + /** + * Get a collection with the values of a given column. + * + * @param string|\Illuminate\Contracts\Database\Query\Expression $column + * @param string|null $key + * @return \Illuminate\Support\Collection + * @static + */ + public static function pluck($column, $key = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->pluck($column, $key); + } + + /** + * Paginate the given query. + * + * @param int|null|\Closure $perPage + * @param array|string $columns + * @param string $pageName + * @param int|null $page + * @param \Closure|int|null $total + * @return \Illuminate\Contracts\Pagination\LengthAwarePaginator + * @throws \InvalidArgumentException + * @static + */ + public static function paginate($perPage = null, $columns = [], $pageName = 'page', $page = null, $total = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->paginate($perPage, $columns, $pageName, $page, $total); + } + + /** + * Paginate the given query into a simple paginator. + * + * @param int|null $perPage + * @param array|string $columns + * @param string $pageName + * @param int|null $page + * @return \Illuminate\Contracts\Pagination\Paginator + * @static + */ + public static function simplePaginate($perPage = null, $columns = [], $pageName = 'page', $page = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->simplePaginate($perPage, $columns, $pageName, $page); + } + + /** + * Paginate the given query into a cursor paginator. + * + * @param int|null $perPage + * @param array|string $columns + * @param string $cursorName + * @param \Illuminate\Pagination\Cursor|string|null $cursor + * @return \Illuminate\Contracts\Pagination\CursorPaginator + * @static + */ + public static function cursorPaginate($perPage = null, $columns = [], $cursorName = 'cursor', $cursor = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->cursorPaginate($perPage, $columns, $cursorName, $cursor); + } + + /** + * Save a new model and return the instance. + * + * @param array $attributes + * @return TModel + * @static + */ + public static function create($attributes = []) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->create($attributes); + } + + /** + * Save a new model and return the instance without raising model events. + * + * @param array $attributes + * @return TModel + * @static + */ + public static function createQuietly($attributes = []) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->createQuietly($attributes); + } + + /** + * Save a new model and return the instance. Allow mass-assignment. + * + * @param array $attributes + * @return TModel + * @static + */ + public static function forceCreate($attributes) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->forceCreate($attributes); + } + + /** + * Save a new model instance with mass assignment without raising model events. + * + * @param array $attributes + * @return TModel + * @static + */ + public static function forceCreateQuietly($attributes = []) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->forceCreateQuietly($attributes); + } + + /** + * Insert new records or update the existing ones. + * + * @param array $values + * @param array|string $uniqueBy + * @param array|null $update + * @return int + * @static + */ + public static function upsert($values, $uniqueBy, $update = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->upsert($values, $uniqueBy, $update); + } + + /** + * Register a replacement for the default delete function. + * + * @param \Closure $callback + * @return void + * @static + */ + public static function onDelete($callback) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + $instance->onDelete($callback); + } + + /** + * Call the given local model scopes. + * + * @param array|string $scopes + * @return static|mixed + * @static + */ + public static function scopes($scopes) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->scopes($scopes); + } + + /** + * Apply the scopes to the Eloquent builder instance and return it. + * + * @return static + * @static + */ + public static function applyScopes() + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->applyScopes(); + } + + /** + * Prevent the specified relations from being eager loaded. + * + * @param mixed $relations + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function without($relations) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->without($relations); + } + + /** + * Set the relationships that should be eager loaded while removing any previously added eager loading specifications. + * + * @param array): mixed)|string>|string $relations + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function withOnly($relations) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->withOnly($relations); + } + + /** + * Create a new instance of the model being queried. + * + * @param array $attributes + * @return TModel + * @static + */ + public static function newModelInstance($attributes = []) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->newModelInstance($attributes); + } + + /** + * Apply query-time casts to the model instance. + * + * @param array $casts + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function withCasts($casts) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->withCasts($casts); + } + + /** + * Execute the given Closure within a transaction savepoint if needed. + * + * @template TModelValue + * @param \Closure(): TModelValue $scope + * @return TModelValue + * @static + */ + public static function withSavepointIfNeeded($scope) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->withSavepointIfNeeded($scope); + } + + /** + * Get the underlying query builder instance. + * + * @return \Illuminate\Database\Query\Builder + * @static + */ + public static function getQuery() + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->getQuery(); + } + + /** + * Set the underlying query builder instance. + * + * @param \Illuminate\Database\Query\Builder $query + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function setQuery($query) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->setQuery($query); + } + + /** + * Get a base query builder instance. + * + * @return \Illuminate\Database\Query\Builder + * @static + */ + public static function toBase() + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->toBase(); + } + + /** + * Get the relationships being eagerly loaded. + * + * @return array + * @static + */ + public static function getEagerLoads() + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->getEagerLoads(); + } + + /** + * Set the relationships being eagerly loaded. + * + * @param array $eagerLoad + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function setEagerLoads($eagerLoad) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->setEagerLoads($eagerLoad); + } + + /** + * Indicate that the given relationships should not be eagerly loaded. + * + * @param array $relations + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function withoutEagerLoad($relations) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->withoutEagerLoad($relations); + } + + /** + * Flush the relationships being eagerly loaded. + * + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function withoutEagerLoads() + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->withoutEagerLoads(); + } + + /** + * Get the model instance being queried. + * + * @return TModel + * @static + */ + public static function getModel() + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->getModel(); + } + + /** + * Set a model instance for the model being queried. + * + * @template TModelNew of \Illuminate\Database\Eloquent\Model + * @param TModelNew $model + * @return static + * @static + */ + public static function setModel($model) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->setModel($model); + } + + /** + * Get the given macro by name. + * + * @param string $name + * @return \Closure + * @static + */ + public static function getMacro($name) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->getMacro($name); + } + + /** + * Checks if a macro is registered. + * + * @param string $name + * @return bool + * @static + */ + public static function hasMacro($name) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->hasMacro($name); + } + + /** + * Get the given global macro by name. + * + * @param string $name + * @return \Closure + * @static + */ + public static function getGlobalMacro($name) + { + return \Illuminate\Database\Eloquent\Builder::getGlobalMacro($name); + } + + /** + * Checks if a global macro is registered. + * + * @param string $name + * @return bool + * @static + */ + public static function hasGlobalMacro($name) + { + return \Illuminate\Database\Eloquent\Builder::hasGlobalMacro($name); + } + + /** + * Clone the Eloquent query builder. + * + * @return static + * @static + */ + public static function clone() + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->clone(); + } + + /** + * Chunk the results of the query. + * + * @param int $count + * @param \Illuminate\Database\Eloquent\callable(\Illuminate\Support\Collection, int): mixed $callback + * @return bool + * @static + */ + public static function chunk($count, $callback) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->chunk($count, $callback); + } + + /** + * Run a map over each item while chunking. + * + * @template TReturn + * @param \Illuminate\Database\Eloquent\callable(TValue): TReturn $callback + * @param int $count + * @return \Illuminate\Support\Collection + * @static + */ + public static function chunkMap($callback, $count = 1000) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->chunkMap($callback, $count); + } + + /** + * Execute a callback over each item while chunking. + * + * @param \Illuminate\Database\Eloquent\callable(TValue, int): mixed $callback + * @param int $count + * @return bool + * @throws \RuntimeException + * @static + */ + public static function each($callback, $count = 1000) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->each($callback, $count); + } + + /** + * Chunk the results of a query by comparing IDs. + * + * @param int $count + * @param \Illuminate\Database\Eloquent\callable(\Illuminate\Support\Collection, int): mixed $callback + * @param string|null $column + * @param string|null $alias + * @return bool + * @static + */ + public static function chunkById($count, $callback, $column = null, $alias = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->chunkById($count, $callback, $column, $alias); + } + + /** + * Chunk the results of a query by comparing IDs in descending order. + * + * @param int $count + * @param \Illuminate\Database\Eloquent\callable(\Illuminate\Support\Collection, int): mixed $callback + * @param string|null $column + * @param string|null $alias + * @return bool + * @static + */ + public static function chunkByIdDesc($count, $callback, $column = null, $alias = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->chunkByIdDesc($count, $callback, $column, $alias); + } + + /** + * Chunk the results of a query by comparing IDs in a given order. + * + * @param int $count + * @param \Illuminate\Database\Eloquent\callable(\Illuminate\Support\Collection, int): mixed $callback + * @param string|null $column + * @param string|null $alias + * @param bool $descending + * @return bool + * @throws \RuntimeException + * @static + */ + public static function orderedChunkById($count, $callback, $column = null, $alias = null, $descending = false) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->orderedChunkById($count, $callback, $column, $alias, $descending); + } + + /** + * Execute a callback over each item while chunking by ID. + * + * @param \Illuminate\Database\Eloquent\callable(TValue, int): mixed $callback + * @param int $count + * @param string|null $column + * @param string|null $alias + * @return bool + * @static + */ + public static function eachById($callback, $count = 1000, $column = null, $alias = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->eachById($callback, $count, $column, $alias); + } + + /** + * Query lazily, by chunks of the given size. + * + * @param int $chunkSize + * @return \Illuminate\Support\LazyCollection + * @throws \InvalidArgumentException + * @static + */ + public static function lazy($chunkSize = 1000) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->lazy($chunkSize); + } + + /** + * Query lazily, by chunking the results of a query by comparing IDs. + * + * @param int $chunkSize + * @param string|null $column + * @param string|null $alias + * @return \Illuminate\Support\LazyCollection + * @throws \InvalidArgumentException + * @static + */ + public static function lazyById($chunkSize = 1000, $column = null, $alias = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->lazyById($chunkSize, $column, $alias); + } + + /** + * Query lazily, by chunking the results of a query by comparing IDs in descending order. + * + * @param int $chunkSize + * @param string|null $column + * @param string|null $alias + * @return \Illuminate\Support\LazyCollection + * @throws \InvalidArgumentException + * @static + */ + public static function lazyByIdDesc($chunkSize = 1000, $column = null, $alias = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->lazyByIdDesc($chunkSize, $column, $alias); + } + + /** + * Execute the query and get the first result. + * + * @param array|string $columns + * @return TValue|null + * @static + */ + public static function first($columns = []) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->first($columns); + } + + /** + * Execute the query and get the first result if it's the sole matching record. + * + * @param array|string $columns + * @return TValue + * @throws \Illuminate\Database\RecordsNotFoundException + * @throws \Illuminate\Database\MultipleRecordsFoundException + * @static + */ + public static function baseSole($columns = []) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->baseSole($columns); + } + + /** + * Pass the query to a given callback. + * + * @param \Illuminate\Database\Eloquent\callable($this): mixed $callback + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function tap($callback) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->tap($callback); + } + + /** + * Apply the callback if the given "value" is (or resolves to) truthy. + * + * @template TWhenParameter + * @template TWhenReturnType + * @param (\Closure($this): TWhenParameter)|TWhenParameter|null $value + * @param (callable($this, TWhenParameter): TWhenReturnType)|null $callback + * @param (callable($this, TWhenParameter): TWhenReturnType)|null $default + * @return $this|TWhenReturnType + * @static + */ + public static function when($value = null, $callback = null, $default = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->when($value, $callback, $default); + } + + /** + * Apply the callback if the given "value" is (or resolves to) falsy. + * + * @template TUnlessParameter + * @template TUnlessReturnType + * @param (\Closure($this): TUnlessParameter)|TUnlessParameter|null $value + * @param (callable($this, TUnlessParameter): TUnlessReturnType)|null $callback + * @param (callable($this, TUnlessParameter): TUnlessReturnType)|null $default + * @return $this|TUnlessReturnType + * @static + */ + public static function unless($value = null, $callback = null, $default = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->unless($value, $callback, $default); + } + + /** + * Add a relationship count / exists condition to the query. + * + * @param \Illuminate\Database\Eloquent\Relations\Relation<*, *, *>|string $relation + * @param string $operator + * @param int $count + * @param string $boolean + * @param \Closure|null $callback + * @return \Illuminate\Database\Eloquent\Builder + * @throws \RuntimeException + * @static + */ + public static function has($relation, $operator = '>=', $count = 1, $boolean = 'and', $callback = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->has($relation, $operator, $count, $boolean, $callback); + } + + /** + * Add a relationship count / exists condition to the query with an "or". + * + * @param \Illuminate\Database\Eloquent\Relations\Relation<*, *, *>|string $relation + * @param string $operator + * @param int $count + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orHas($relation, $operator = '>=', $count = 1) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->orHas($relation, $operator, $count); + } + + /** + * Add a relationship count / exists condition to the query. + * + * @param \Illuminate\Database\Eloquent\Relations\Relation<*, *, *>|string $relation + * @param string $boolean + * @param \Closure|null $callback + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function doesntHave($relation, $boolean = 'and', $callback = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->doesntHave($relation, $boolean, $callback); + } + + /** + * Add a relationship count / exists condition to the query with an "or". + * + * @param \Illuminate\Database\Eloquent\Relations\Relation<*, *, *>|string $relation + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orDoesntHave($relation) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->orDoesntHave($relation); + } + + /** + * Add a relationship count / exists condition to the query with where clauses. + * + * @param \Illuminate\Database\Eloquent\Relations\Relation<*, *, *>|string $relation + * @param \Closure|null $callback + * @param string $operator + * @param int $count + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereHas($relation, $callback = null, $operator = '>=', $count = 1) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->whereHas($relation, $callback, $operator, $count); + } + + /** + * Add a relationship count / exists condition to the query with where clauses. + * + * Also load the relationship with same condition. + * + * @param \Illuminate\Database\Eloquent\Relations\Relation<*, *, *>|string $relation + * @param \Closure|null $callback + * @param string $operator + * @param int $count + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function withWhereHas($relation, $callback = null, $operator = '>=', $count = 1) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->withWhereHas($relation, $callback, $operator, $count); + } + + /** + * Add a relationship count / exists condition to the query with where clauses and an "or". + * + * @param \Illuminate\Database\Eloquent\Relations\Relation<*, *, *>|string $relation + * @param \Closure|null $callback + * @param string $operator + * @param int $count + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereHas($relation, $callback = null, $operator = '>=', $count = 1) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->orWhereHas($relation, $callback, $operator, $count); + } + + /** + * Add a relationship count / exists condition to the query with where clauses. + * + * @param \Illuminate\Database\Eloquent\Relations\Relation<*, *, *>|string $relation + * @param \Closure|null $callback + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereDoesntHave($relation, $callback = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->whereDoesntHave($relation, $callback); + } + + /** + * Add a relationship count / exists condition to the query with where clauses and an "or". + * + * @param \Illuminate\Database\Eloquent\Relations\Relation<*, *, *>|string $relation + * @param \Closure|null $callback + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereDoesntHave($relation, $callback = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->orWhereDoesntHave($relation, $callback); + } + + /** + * Add a polymorphic relationship count / exists condition to the query. + * + * @param \Illuminate\Database\Eloquent\Relations\MorphTo<*, *>|string $relation + * @param string|array $types + * @param string $operator + * @param int $count + * @param string $boolean + * @param \Closure|null $callback + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function hasMorph($relation, $types, $operator = '>=', $count = 1, $boolean = 'and', $callback = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->hasMorph($relation, $types, $operator, $count, $boolean, $callback); + } + + /** + * Add a polymorphic relationship count / exists condition to the query with an "or". + * + * @param \Illuminate\Database\Eloquent\Relations\MorphTo<*, *>|string $relation + * @param string|array $types + * @param string $operator + * @param int $count + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orHasMorph($relation, $types, $operator = '>=', $count = 1) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->orHasMorph($relation, $types, $operator, $count); + } + + /** + * Add a polymorphic relationship count / exists condition to the query. + * + * @param \Illuminate\Database\Eloquent\Relations\MorphTo<*, *>|string $relation + * @param string|array $types + * @param string $boolean + * @param \Closure|null $callback + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function doesntHaveMorph($relation, $types, $boolean = 'and', $callback = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->doesntHaveMorph($relation, $types, $boolean, $callback); + } + + /** + * Add a polymorphic relationship count / exists condition to the query with an "or". + * + * @param \Illuminate\Database\Eloquent\Relations\MorphTo<*, *>|string $relation + * @param string|array $types + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orDoesntHaveMorph($relation, $types) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->orDoesntHaveMorph($relation, $types); + } + + /** + * Add a polymorphic relationship count / exists condition to the query with where clauses. + * + * @param \Illuminate\Database\Eloquent\Relations\MorphTo<*, *>|string $relation + * @param string|array $types + * @param \Closure|null $callback + * @param string $operator + * @param int $count + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereHasMorph($relation, $types, $callback = null, $operator = '>=', $count = 1) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->whereHasMorph($relation, $types, $callback, $operator, $count); + } + + /** + * Add a polymorphic relationship count / exists condition to the query with where clauses and an "or". + * + * @param \Illuminate\Database\Eloquent\Relations\MorphTo<*, *>|string $relation + * @param string|array $types + * @param \Closure|null $callback + * @param string $operator + * @param int $count + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereHasMorph($relation, $types, $callback = null, $operator = '>=', $count = 1) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->orWhereHasMorph($relation, $types, $callback, $operator, $count); + } + + /** + * Add a polymorphic relationship count / exists condition to the query with where clauses. + * + * @param \Illuminate\Database\Eloquent\Relations\MorphTo<*, *>|string $relation + * @param string|array $types + * @param \Closure|null $callback + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereDoesntHaveMorph($relation, $types, $callback = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->whereDoesntHaveMorph($relation, $types, $callback); + } + + /** + * Add a polymorphic relationship count / exists condition to the query with where clauses and an "or". + * + * @param \Illuminate\Database\Eloquent\Relations\MorphTo<*, *>|string $relation + * @param string|array $types + * @param \Closure|null $callback + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereDoesntHaveMorph($relation, $types, $callback = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->orWhereDoesntHaveMorph($relation, $types, $callback); + } + + /** + * Add a basic where clause to a relationship query. + * + * @param \Illuminate\Database\Eloquent\Relations\Relation<*, *, *>|string $relation + * @param \Closure|string|array|\Illuminate\Contracts\Database\Query\Expression $column + * @param mixed $operator + * @param mixed $value + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereRelation($relation, $column, $operator = null, $value = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->whereRelation($relation, $column, $operator, $value); + } + + /** + * Add an "or where" clause to a relationship query. + * + * @param \Illuminate\Database\Eloquent\Relations\Relation<*, *, *>|string $relation + * @param \Closure|string|array|\Illuminate\Contracts\Database\Query\Expression $column + * @param mixed $operator + * @param mixed $value + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereRelation($relation, $column, $operator = null, $value = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->orWhereRelation($relation, $column, $operator, $value); + } + + /** + * Add a basic count / exists condition to a relationship query. + * + * @param \Illuminate\Database\Eloquent\Relations\Relation<*, *, *>|string $relation + * @param \Closure|string|array|\Illuminate\Contracts\Database\Query\Expression $column + * @param mixed $operator + * @param mixed $value + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereDoesntHaveRelation($relation, $column, $operator = null, $value = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->whereDoesntHaveRelation($relation, $column, $operator, $value); + } + + /** + * Add an "or where" clause to a relationship query. + * + * @param \Illuminate\Database\Eloquent\Relations\Relation<*, *, *>|string $relation + * @param \Closure|string|array|\Illuminate\Contracts\Database\Query\Expression $column + * @param mixed $operator + * @param mixed $value + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereDoesntHaveRelation($relation, $column, $operator = null, $value = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->orWhereDoesntHaveRelation($relation, $column, $operator, $value); + } + + /** + * Add a polymorphic relationship condition to the query with a where clause. + * + * @param \Illuminate\Database\Eloquent\Relations\MorphTo<*, *>|string $relation + * @param string|array $types + * @param \Closure|string|array|\Illuminate\Contracts\Database\Query\Expression $column + * @param mixed $operator + * @param mixed $value + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereMorphRelation($relation, $types, $column, $operator = null, $value = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->whereMorphRelation($relation, $types, $column, $operator, $value); + } + + /** + * Add a polymorphic relationship condition to the query with an "or where" clause. + * + * @param \Illuminate\Database\Eloquent\Relations\MorphTo<*, *>|string $relation + * @param string|array $types + * @param \Closure|string|array|\Illuminate\Contracts\Database\Query\Expression $column + * @param mixed $operator + * @param mixed $value + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereMorphRelation($relation, $types, $column, $operator = null, $value = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->orWhereMorphRelation($relation, $types, $column, $operator, $value); + } + + /** + * Add a polymorphic relationship condition to the query with a doesn't have clause. + * + * @param \Illuminate\Database\Eloquent\Relations\MorphTo<*, *>|string $relation + * @param string|array $types + * @param \Closure|string|array|\Illuminate\Contracts\Database\Query\Expression $column + * @param mixed $operator + * @param mixed $value + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereMorphDoesntHaveRelation($relation, $types, $column, $operator = null, $value = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->whereMorphDoesntHaveRelation($relation, $types, $column, $operator, $value); + } + + /** + * Add a polymorphic relationship condition to the query with an "or doesn't have" clause. + * + * @param \Illuminate\Database\Eloquent\Relations\MorphTo<*, *>|string $relation + * @param string|array $types + * @param \Closure|string|array|\Illuminate\Contracts\Database\Query\Expression $column + * @param mixed $operator + * @param mixed $value + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereMorphDoesntHaveRelation($relation, $types, $column, $operator = null, $value = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->orWhereMorphDoesntHaveRelation($relation, $types, $column, $operator, $value); + } + + /** + * Add a morph-to relationship condition to the query. + * + * @param \Illuminate\Database\Eloquent\Relations\MorphTo<*, *>|string $relation + * @param \Illuminate\Database\Eloquent\Model|string|null $model + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereMorphedTo($relation, $model, $boolean = 'and') + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->whereMorphedTo($relation, $model, $boolean); + } + + /** + * Add a not morph-to relationship condition to the query. + * + * @param \Illuminate\Database\Eloquent\Relations\MorphTo<*, *>|string $relation + * @param \Illuminate\Database\Eloquent\Model|string $model + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereNotMorphedTo($relation, $model, $boolean = 'and') + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->whereNotMorphedTo($relation, $model, $boolean); + } + + /** + * Add a morph-to relationship condition to the query with an "or where" clause. + * + * @param \Illuminate\Database\Eloquent\Relations\MorphTo<*, *>|string $relation + * @param \Illuminate\Database\Eloquent\Model|string|null $model + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereMorphedTo($relation, $model) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->orWhereMorphedTo($relation, $model); + } + + /** + * Add a not morph-to relationship condition to the query with an "or where" clause. + * + * @param \Illuminate\Database\Eloquent\Relations\MorphTo<*, *>|string $relation + * @param \Illuminate\Database\Eloquent\Model|string $model + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereNotMorphedTo($relation, $model) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->orWhereNotMorphedTo($relation, $model); + } + + /** + * Add a "belongs to" relationship where clause to the query. + * + * @param \Illuminate\Database\Eloquent\Model|\Illuminate\Database\Eloquent\Collection $related + * @param string|null $relationshipName + * @param string $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @throws \Illuminate\Database\Eloquent\RelationNotFoundException + * @static + */ + public static function whereBelongsTo($related, $relationshipName = null, $boolean = 'and') + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->whereBelongsTo($related, $relationshipName, $boolean); + } + + /** + * Add a "BelongsTo" relationship with an "or where" clause to the query. + * + * @param \Illuminate\Database\Eloquent\Model $related + * @param string|null $relationshipName + * @return \Illuminate\Database\Eloquent\Builder + * @throws \RuntimeException + * @static + */ + public static function orWhereBelongsTo($related, $relationshipName = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->orWhereBelongsTo($related, $relationshipName); + } + + /** + * Add subselect queries to include an aggregate value for a relationship. + * + * @param mixed $relations + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @param string $function + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function withAggregate($relations, $column, $function = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->withAggregate($relations, $column, $function); + } + + /** + * Add subselect queries to count the relations. + * + * @param mixed $relations + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function withCount($relations) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->withCount($relations); + } + + /** + * Add subselect queries to include the max of the relation's column. + * + * @param string|array $relation + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function withMax($relation, $column) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->withMax($relation, $column); + } + + /** + * Add subselect queries to include the min of the relation's column. + * + * @param string|array $relation + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function withMin($relation, $column) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->withMin($relation, $column); + } + + /** + * Add subselect queries to include the sum of the relation's column. + * + * @param string|array $relation + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function withSum($relation, $column) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->withSum($relation, $column); + } + + /** + * Add subselect queries to include the average of the relation's column. + * + * @param string|array $relation + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function withAvg($relation, $column) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->withAvg($relation, $column); + } + + /** + * Add subselect queries to include the existence of related models. + * + * @param string|array $relation + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function withExists($relation) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->withExists($relation); + } + + /** + * Merge the where constraints from another query to the current query. + * + * @param \Illuminate\Database\Eloquent\Builder<*> $from + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function mergeConstraintsFrom($from) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->mergeConstraintsFrom($from); + } + + /** + * Set the columns to be selected. + * + * @param array|mixed $columns + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function select($columns = []) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->select($columns); + } + + /** + * Add a subselect expression to the query. + * + * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder<*>|string $query + * @param string $as + * @return \Illuminate\Database\Eloquent\Builder + * @throws \InvalidArgumentException + * @static + */ + public static function selectSub($query, $as) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->selectSub($query, $as); + } + + /** + * Add a new "raw" select expression to the query. + * + * @param string $expression + * @param array $bindings + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function selectRaw($expression, $bindings = []) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->selectRaw($expression, $bindings); + } + + /** + * Makes "from" fetch from a subquery. + * + * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder<*>|string $query + * @param string $as + * @return \Illuminate\Database\Eloquent\Builder + * @throws \InvalidArgumentException + * @static + */ + public static function fromSub($query, $as) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->fromSub($query, $as); + } + + /** + * Add a raw from clause to the query. + * + * @param string $expression + * @param mixed $bindings + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function fromRaw($expression, $bindings = []) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->fromRaw($expression, $bindings); + } + + /** + * Add a new select column to the query. + * + * @param array|mixed $column + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function addSelect($column) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->addSelect($column); + } + + /** + * Force the query to only return distinct results. + * + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function distinct() + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->distinct(); + } + + /** + * Set the table which the query is targeting. + * + * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder<*>|\Illuminate\Contracts\Database\Query\Expression|string $table + * @param string|null $as + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function from($table, $as = null) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->from($table, $as); + } + + /** + * Add an index hint to suggest a query index. + * + * @param string $index + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function useIndex($index) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->useIndex($index); + } + + /** + * Add an index hint to force a query index. + * + * @param string $index + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function forceIndex($index) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->forceIndex($index); + } + + /** + * Add an index hint to ignore a query index. + * + * @param string $index + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function ignoreIndex($index) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->ignoreIndex($index); + } + + /** + * Add a join clause to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $table + * @param \Closure|\Illuminate\Contracts\Database\Query\Expression|string $first + * @param string|null $operator + * @param \Illuminate\Contracts\Database\Query\Expression|string|null $second + * @param string $type + * @param bool $where + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function join($table, $first, $operator = null, $second = null, $type = 'inner', $where = false) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->join($table, $first, $operator, $second, $type, $where); + } + + /** + * Add a "join where" clause to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $table + * @param \Closure|\Illuminate\Contracts\Database\Query\Expression|string $first + * @param string $operator + * @param \Illuminate\Contracts\Database\Query\Expression|string $second + * @param string $type + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function joinWhere($table, $first, $operator, $second, $type = 'inner') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->joinWhere($table, $first, $operator, $second, $type); + } + + /** + * Add a subquery join clause to the query. + * + * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder<*>|string $query + * @param string $as + * @param \Closure|\Illuminate\Contracts\Database\Query\Expression|string $first + * @param string|null $operator + * @param \Illuminate\Contracts\Database\Query\Expression|string|null $second + * @param string $type + * @param bool $where + * @return \Illuminate\Database\Eloquent\Builder + * @throws \InvalidArgumentException + * @static + */ + public static function joinSub($query, $as, $first, $operator = null, $second = null, $type = 'inner', $where = false) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->joinSub($query, $as, $first, $operator, $second, $type, $where); + } + + /** + * Add a lateral join clause to the query. + * + * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder<*>|string $query + * @param string $as + * @param string $type + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function joinLateral($query, $as, $type = 'inner') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->joinLateral($query, $as, $type); + } + + /** + * Add a lateral left join to the query. + * + * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder<*>|string $query + * @param string $as + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function leftJoinLateral($query, $as) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->leftJoinLateral($query, $as); + } + + /** + * Add a left join to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $table + * @param \Closure|\Illuminate\Contracts\Database\Query\Expression|string $first + * @param string|null $operator + * @param \Illuminate\Contracts\Database\Query\Expression|string|null $second + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function leftJoin($table, $first, $operator = null, $second = null) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->leftJoin($table, $first, $operator, $second); + } + + /** + * Add a "join where" clause to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $table + * @param \Closure|\Illuminate\Contracts\Database\Query\Expression|string $first + * @param string $operator + * @param \Illuminate\Contracts\Database\Query\Expression|string|null $second + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function leftJoinWhere($table, $first, $operator, $second) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->leftJoinWhere($table, $first, $operator, $second); + } + + /** + * Add a subquery left join to the query. + * + * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder<*>|string $query + * @param string $as + * @param \Closure|\Illuminate\Contracts\Database\Query\Expression|string $first + * @param string|null $operator + * @param \Illuminate\Contracts\Database\Query\Expression|string|null $second + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function leftJoinSub($query, $as, $first, $operator = null, $second = null) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->leftJoinSub($query, $as, $first, $operator, $second); + } + + /** + * Add a right join to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $table + * @param \Closure|string $first + * @param string|null $operator + * @param \Illuminate\Contracts\Database\Query\Expression|string|null $second + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function rightJoin($table, $first, $operator = null, $second = null) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->rightJoin($table, $first, $operator, $second); + } + + /** + * Add a "right join where" clause to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $table + * @param \Closure|\Illuminate\Contracts\Database\Query\Expression|string $first + * @param string $operator + * @param \Illuminate\Contracts\Database\Query\Expression|string $second + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function rightJoinWhere($table, $first, $operator, $second) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->rightJoinWhere($table, $first, $operator, $second); + } + + /** + * Add a subquery right join to the query. + * + * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder<*>|string $query + * @param string $as + * @param \Closure|\Illuminate\Contracts\Database\Query\Expression|string $first + * @param string|null $operator + * @param \Illuminate\Contracts\Database\Query\Expression|string|null $second + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function rightJoinSub($query, $as, $first, $operator = null, $second = null) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->rightJoinSub($query, $as, $first, $operator, $second); + } + + /** + * Add a "cross join" clause to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $table + * @param \Closure|\Illuminate\Contracts\Database\Query\Expression|string|null $first + * @param string|null $operator + * @param \Illuminate\Contracts\Database\Query\Expression|string|null $second + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function crossJoin($table, $first = null, $operator = null, $second = null) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->crossJoin($table, $first, $operator, $second); + } + + /** + * Add a subquery cross join to the query. + * + * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder<*>|string $query + * @param string $as + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function crossJoinSub($query, $as) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->crossJoinSub($query, $as); + } + + /** + * Merge an array of where clauses and bindings. + * + * @param array $wheres + * @param array $bindings + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function mergeWheres($wheres, $bindings) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->mergeWheres($wheres, $bindings); + } + + /** + * Prepare the value and operator for a where clause. + * + * @param string $value + * @param string $operator + * @param bool $useDefault + * @return array + * @throws \InvalidArgumentException + * @static + */ + public static function prepareValueAndOperator($value, $operator, $useDefault = false) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->prepareValueAndOperator($value, $operator, $useDefault); + } + + /** + * Add a "where" clause comparing two columns to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string|array $first + * @param string|null $operator + * @param string|null $second + * @param string|null $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereColumn($first, $operator = null, $second = null, $boolean = 'and') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereColumn($first, $operator, $second, $boolean); + } + + /** + * Add an "or where" clause comparing two columns to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string|array $first + * @param string|null $operator + * @param string|null $second + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereColumn($first, $operator = null, $second = null) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereColumn($first, $operator, $second); + } + + /** + * Add a raw where clause to the query. + * + * @param string $sql + * @param mixed $bindings + * @param string $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereRaw($sql, $bindings = [], $boolean = 'and') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereRaw($sql, $bindings, $boolean); + } + + /** + * Add a raw or where clause to the query. + * + * @param string $sql + * @param mixed $bindings + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereRaw($sql, $bindings = []) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereRaw($sql, $bindings); + } + + /** + * Add a "where like" clause to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @param string $value + * @param bool $caseSensitive + * @param string $boolean + * @param bool $not + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereLike($column, $value, $caseSensitive = false, $boolean = 'and', $not = false) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereLike($column, $value, $caseSensitive, $boolean, $not); + } + + /** + * Add an "or where like" clause to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @param string $value + * @param bool $caseSensitive + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereLike($column, $value, $caseSensitive = false) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereLike($column, $value, $caseSensitive); + } + + /** + * Add a "where not like" clause to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @param string $value + * @param bool $caseSensitive + * @param string $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereNotLike($column, $value, $caseSensitive = false, $boolean = 'and') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereNotLike($column, $value, $caseSensitive, $boolean); + } + + /** + * Add an "or where not like" clause to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @param string $value + * @param bool $caseSensitive + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereNotLike($column, $value, $caseSensitive = false) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereNotLike($column, $value, $caseSensitive); + } + + /** + * Add a "where in" clause to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @param mixed $values + * @param string $boolean + * @param bool $not + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereIn($column, $values, $boolean = 'and', $not = false) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereIn($column, $values, $boolean, $not); + } + + /** + * Add an "or where in" clause to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @param mixed $values + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereIn($column, $values) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereIn($column, $values); + } + + /** + * Add a "where not in" clause to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @param mixed $values + * @param string $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereNotIn($column, $values, $boolean = 'and') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereNotIn($column, $values, $boolean); + } + + /** + * Add an "or where not in" clause to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @param mixed $values + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereNotIn($column, $values) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereNotIn($column, $values); + } + + /** + * Add a "where in raw" clause for integer values to the query. + * + * @param string $column + * @param \Illuminate\Contracts\Support\Arrayable|array $values + * @param string $boolean + * @param bool $not + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereIntegerInRaw($column, $values, $boolean = 'and', $not = false) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereIntegerInRaw($column, $values, $boolean, $not); + } + + /** + * Add an "or where in raw" clause for integer values to the query. + * + * @param string $column + * @param \Illuminate\Contracts\Support\Arrayable|array $values + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereIntegerInRaw($column, $values) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereIntegerInRaw($column, $values); + } + + /** + * Add a "where not in raw" clause for integer values to the query. + * + * @param string $column + * @param \Illuminate\Contracts\Support\Arrayable|array $values + * @param string $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereIntegerNotInRaw($column, $values, $boolean = 'and') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereIntegerNotInRaw($column, $values, $boolean); + } + + /** + * Add an "or where not in raw" clause for integer values to the query. + * + * @param string $column + * @param \Illuminate\Contracts\Support\Arrayable|array $values + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereIntegerNotInRaw($column, $values) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereIntegerNotInRaw($column, $values); + } + + /** + * Add a "where null" clause to the query. + * + * @param string|array|\Illuminate\Contracts\Database\Query\Expression $columns + * @param string $boolean + * @param bool $not + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereNull($columns, $boolean = 'and', $not = false) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereNull($columns, $boolean, $not); + } + + /** + * Add an "or where null" clause to the query. + * + * @param string|array|\Illuminate\Contracts\Database\Query\Expression $column + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereNull($column) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereNull($column); + } + + /** + * Add a "where not null" clause to the query. + * + * @param string|array|\Illuminate\Contracts\Database\Query\Expression $columns + * @param string $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereNotNull($columns, $boolean = 'and') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereNotNull($columns, $boolean); + } + + /** + * Add a where between statement to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @param iterable $values + * @param string $boolean + * @param bool $not + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereBetween($column, $values, $boolean = 'and', $not = false) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereBetween($column, $values, $boolean, $not); + } + + /** + * Add a where between statement using columns to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @param array $values + * @param string $boolean + * @param bool $not + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereBetweenColumns($column, $values, $boolean = 'and', $not = false) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereBetweenColumns($column, $values, $boolean, $not); + } + + /** + * Add an or where between statement to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @param iterable $values + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereBetween($column, $values) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereBetween($column, $values); + } + + /** + * Add an or where between statement using columns to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @param array $values + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereBetweenColumns($column, $values) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereBetweenColumns($column, $values); + } + + /** + * Add a where not between statement to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @param iterable $values + * @param string $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereNotBetween($column, $values, $boolean = 'and') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereNotBetween($column, $values, $boolean); + } + + /** + * Add a where not between statement using columns to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @param array $values + * @param string $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereNotBetweenColumns($column, $values, $boolean = 'and') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereNotBetweenColumns($column, $values, $boolean); + } + + /** + * Add an or where not between statement to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @param iterable $values + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereNotBetween($column, $values) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereNotBetween($column, $values); + } + + /** + * Add an or where not between statement using columns to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @param array $values + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereNotBetweenColumns($column, $values) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereNotBetweenColumns($column, $values); + } + + /** + * Add an "or where not null" clause to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereNotNull($column) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereNotNull($column); + } + + /** + * Add a "where date" statement to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @param \DateTimeInterface|string|null $operator + * @param \DateTimeInterface|string|null $value + * @param string $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereDate($column, $operator, $value = null, $boolean = 'and') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereDate($column, $operator, $value, $boolean); + } + + /** + * Add an "or where date" statement to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @param \DateTimeInterface|string|null $operator + * @param \DateTimeInterface|string|null $value + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereDate($column, $operator, $value = null) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereDate($column, $operator, $value); + } + + /** + * Add a "where time" statement to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @param \DateTimeInterface|string|null $operator + * @param \DateTimeInterface|string|null $value + * @param string $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereTime($column, $operator, $value = null, $boolean = 'and') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereTime($column, $operator, $value, $boolean); + } + + /** + * Add an "or where time" statement to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @param \DateTimeInterface|string|null $operator + * @param \DateTimeInterface|string|null $value + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereTime($column, $operator, $value = null) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereTime($column, $operator, $value); + } + + /** + * Add a "where day" statement to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @param \DateTimeInterface|string|int|null $operator + * @param \DateTimeInterface|string|int|null $value + * @param string $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereDay($column, $operator, $value = null, $boolean = 'and') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereDay($column, $operator, $value, $boolean); + } + + /** + * Add an "or where day" statement to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @param \DateTimeInterface|string|int|null $operator + * @param \DateTimeInterface|string|int|null $value + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereDay($column, $operator, $value = null) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereDay($column, $operator, $value); + } + + /** + * Add a "where month" statement to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @param \DateTimeInterface|string|int|null $operator + * @param \DateTimeInterface|string|int|null $value + * @param string $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereMonth($column, $operator, $value = null, $boolean = 'and') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereMonth($column, $operator, $value, $boolean); + } + + /** + * Add an "or where month" statement to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @param \DateTimeInterface|string|int|null $operator + * @param \DateTimeInterface|string|int|null $value + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereMonth($column, $operator, $value = null) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereMonth($column, $operator, $value); + } + + /** + * Add a "where year" statement to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @param \DateTimeInterface|string|int|null $operator + * @param \DateTimeInterface|string|int|null $value + * @param string $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereYear($column, $operator, $value = null, $boolean = 'and') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereYear($column, $operator, $value, $boolean); + } + + /** + * Add an "or where year" statement to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @param \DateTimeInterface|string|int|null $operator + * @param \DateTimeInterface|string|int|null $value + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereYear($column, $operator, $value = null) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereYear($column, $operator, $value); + } + + /** + * Add a nested where statement to the query. + * + * @param \Closure $callback + * @param string $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereNested($callback, $boolean = 'and') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereNested($callback, $boolean); + } + + /** + * Create a new query instance for nested where condition. + * + * @return \Illuminate\Database\Query\Builder + * @static + */ + public static function forNestedWhere() + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->forNestedWhere(); + } + + /** + * Add another query builder as a nested where to the query builder. + * + * @param \Illuminate\Database\Query\Builder $query + * @param string $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function addNestedWhereQuery($query, $boolean = 'and') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->addNestedWhereQuery($query, $boolean); + } + + /** + * Add an exists clause to the query. + * + * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder<*> $callback + * @param string $boolean + * @param bool $not + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereExists($callback, $boolean = 'and', $not = false) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereExists($callback, $boolean, $not); + } + + /** + * Add an or exists clause to the query. + * + * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder<*> $callback + * @param bool $not + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereExists($callback, $not = false) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereExists($callback, $not); + } + + /** + * Add a where not exists clause to the query. + * + * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder<*> $callback + * @param string $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereNotExists($callback, $boolean = 'and') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereNotExists($callback, $boolean); + } + + /** + * Add a where not exists clause to the query. + * + * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder<*> $callback + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereNotExists($callback) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereNotExists($callback); + } + + /** + * Add an exists clause to the query. + * + * @param \Illuminate\Database\Query\Builder $query + * @param string $boolean + * @param bool $not + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function addWhereExistsQuery($query, $boolean = 'and', $not = false) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->addWhereExistsQuery($query, $boolean, $not); + } + + /** + * Adds a where condition using row values. + * + * @param array $columns + * @param string $operator + * @param array $values + * @param string $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @throws \InvalidArgumentException + * @static + */ + public static function whereRowValues($columns, $operator, $values, $boolean = 'and') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereRowValues($columns, $operator, $values, $boolean); + } + + /** + * Adds an or where condition using row values. + * + * @param array $columns + * @param string $operator + * @param array $values + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereRowValues($columns, $operator, $values) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereRowValues($columns, $operator, $values); + } + + /** + * Add a "where JSON contains" clause to the query. + * + * @param string $column + * @param mixed $value + * @param string $boolean + * @param bool $not + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereJsonContains($column, $value, $boolean = 'and', $not = false) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereJsonContains($column, $value, $boolean, $not); + } + + /** + * Add an "or where JSON contains" clause to the query. + * + * @param string $column + * @param mixed $value + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereJsonContains($column, $value) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereJsonContains($column, $value); + } + + /** + * Add a "where JSON not contains" clause to the query. + * + * @param string $column + * @param mixed $value + * @param string $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereJsonDoesntContain($column, $value, $boolean = 'and') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereJsonDoesntContain($column, $value, $boolean); + } + + /** + * Add an "or where JSON not contains" clause to the query. + * + * @param string $column + * @param mixed $value + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereJsonDoesntContain($column, $value) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereJsonDoesntContain($column, $value); + } + + /** + * Add a "where JSON overlaps" clause to the query. + * + * @param string $column + * @param mixed $value + * @param string $boolean + * @param bool $not + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereJsonOverlaps($column, $value, $boolean = 'and', $not = false) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereJsonOverlaps($column, $value, $boolean, $not); + } + + /** + * Add an "or where JSON overlaps" clause to the query. + * + * @param string $column + * @param mixed $value + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereJsonOverlaps($column, $value) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereJsonOverlaps($column, $value); + } + + /** + * Add a "where JSON not overlap" clause to the query. + * + * @param string $column + * @param mixed $value + * @param string $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereJsonDoesntOverlap($column, $value, $boolean = 'and') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereJsonDoesntOverlap($column, $value, $boolean); + } + + /** + * Add an "or where JSON not overlap" clause to the query. + * + * @param string $column + * @param mixed $value + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereJsonDoesntOverlap($column, $value) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereJsonDoesntOverlap($column, $value); + } + + /** + * Add a clause that determines if a JSON path exists to the query. + * + * @param string $column + * @param string $boolean + * @param bool $not + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereJsonContainsKey($column, $boolean = 'and', $not = false) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereJsonContainsKey($column, $boolean, $not); + } + + /** + * Add an "or" clause that determines if a JSON path exists to the query. + * + * @param string $column + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereJsonContainsKey($column) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereJsonContainsKey($column); + } + + /** + * Add a clause that determines if a JSON path does not exist to the query. + * + * @param string $column + * @param string $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereJsonDoesntContainKey($column, $boolean = 'and') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereJsonDoesntContainKey($column, $boolean); + } + + /** + * Add an "or" clause that determines if a JSON path does not exist to the query. + * + * @param string $column + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereJsonDoesntContainKey($column) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereJsonDoesntContainKey($column); + } + + /** + * Add a "where JSON length" clause to the query. + * + * @param string $column + * @param mixed $operator + * @param mixed $value + * @param string $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereJsonLength($column, $operator, $value = null, $boolean = 'and') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereJsonLength($column, $operator, $value, $boolean); + } + + /** + * Add an "or where JSON length" clause to the query. + * + * @param string $column + * @param mixed $operator + * @param mixed $value + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereJsonLength($column, $operator, $value = null) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereJsonLength($column, $operator, $value); + } + + /** + * Handles dynamic "where" clauses to the query. + * + * @param string $method + * @param array $parameters + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function dynamicWhere($method, $parameters) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->dynamicWhere($method, $parameters); + } + + /** + * Add a "where fulltext" clause to the query. + * + * @param string|string[] $columns + * @param string $value + * @param string $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereFullText($columns, $value, $options = [], $boolean = 'and') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereFullText($columns, $value, $options, $boolean); + } + + /** + * Add a "or where fulltext" clause to the query. + * + * @param string|string[] $columns + * @param string $value + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereFullText($columns, $value, $options = []) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereFullText($columns, $value, $options); + } + + /** + * Add a "where" clause to the query for multiple columns with "and" conditions between them. + * + * @param \Illuminate\Contracts\Database\Query\Expression[]|\Closure[]|string[] $columns + * @param mixed $operator + * @param mixed $value + * @param string $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereAll($columns, $operator = null, $value = null, $boolean = 'and') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereAll($columns, $operator, $value, $boolean); + } + + /** + * Add an "or where" clause to the query for multiple columns with "and" conditions between them. + * + * @param \Illuminate\Contracts\Database\Query\Expression[]|\Closure[]|string[] $columns + * @param mixed $operator + * @param mixed $value + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereAll($columns, $operator = null, $value = null) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereAll($columns, $operator, $value); + } + + /** + * Add a "where" clause to the query for multiple columns with "or" conditions between them. + * + * @param \Illuminate\Contracts\Database\Query\Expression[]|\Closure[]|string[] $columns + * @param mixed $operator + * @param mixed $value + * @param string $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereAny($columns, $operator = null, $value = null, $boolean = 'and') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereAny($columns, $operator, $value, $boolean); + } + + /** + * Add an "or where" clause to the query for multiple columns with "or" conditions between them. + * + * @param \Illuminate\Contracts\Database\Query\Expression[]|\Closure[]|string[] $columns + * @param mixed $operator + * @param mixed $value + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereAny($columns, $operator = null, $value = null) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereAny($columns, $operator, $value); + } + + /** + * Add a "where not" clause to the query for multiple columns where none of the conditions should be true. + * + * @param \Illuminate\Contracts\Database\Query\Expression[]|\Closure[]|string[] $columns + * @param mixed $operator + * @param mixed $value + * @param string $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereNone($columns, $operator = null, $value = null, $boolean = 'and') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereNone($columns, $operator, $value, $boolean); + } + + /** + * Add an "or where not" clause to the query for multiple columns where none of the conditions should be true. + * + * @param \Illuminate\Contracts\Database\Query\Expression[]|\Closure[]|string[] $columns + * @param mixed $operator + * @param mixed $value + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereNone($columns, $operator = null, $value = null) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereNone($columns, $operator, $value); + } + + /** + * Add a "group by" clause to the query. + * + * @param array|\Illuminate\Contracts\Database\Query\Expression|string $groups + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function groupBy(...$groups) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->groupBy(...$groups); + } + + /** + * Add a raw groupBy clause to the query. + * + * @param string $sql + * @param array $bindings + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function groupByRaw($sql, $bindings = []) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->groupByRaw($sql, $bindings); + } + + /** + * Add a "having" clause to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|\Closure|string $column + * @param string|int|float|null $operator + * @param string|int|float|null $value + * @param string $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function having($column, $operator = null, $value = null, $boolean = 'and') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->having($column, $operator, $value, $boolean); + } + + /** + * Add an "or having" clause to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|\Closure|string $column + * @param string|int|float|null $operator + * @param string|int|float|null $value + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orHaving($column, $operator = null, $value = null) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orHaving($column, $operator, $value); + } + + /** + * Add a nested having statement to the query. + * + * @param \Closure $callback + * @param string $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function havingNested($callback, $boolean = 'and') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->havingNested($callback, $boolean); + } + + /** + * Add another query builder as a nested having to the query builder. + * + * @param \Illuminate\Database\Query\Builder $query + * @param string $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function addNestedHavingQuery($query, $boolean = 'and') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->addNestedHavingQuery($query, $boolean); + } + + /** + * Add a "having null" clause to the query. + * + * @param string|array $columns + * @param string $boolean + * @param bool $not + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function havingNull($columns, $boolean = 'and', $not = false) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->havingNull($columns, $boolean, $not); + } + + /** + * Add an "or having null" clause to the query. + * + * @param string $column + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orHavingNull($column) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orHavingNull($column); + } + + /** + * Add a "having not null" clause to the query. + * + * @param string|array $columns + * @param string $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function havingNotNull($columns, $boolean = 'and') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->havingNotNull($columns, $boolean); + } + + /** + * Add an "or having not null" clause to the query. + * + * @param string $column + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orHavingNotNull($column) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orHavingNotNull($column); + } + + /** + * Add a "having between " clause to the query. + * + * @param string $column + * @param iterable $values + * @param string $boolean + * @param bool $not + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function havingBetween($column, $values, $boolean = 'and', $not = false) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->havingBetween($column, $values, $boolean, $not); + } + + /** + * Add a raw having clause to the query. + * + * @param string $sql + * @param array $bindings + * @param string $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function havingRaw($sql, $bindings = [], $boolean = 'and') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->havingRaw($sql, $bindings, $boolean); + } + + /** + * Add a raw or having clause to the query. + * + * @param string $sql + * @param array $bindings + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orHavingRaw($sql, $bindings = []) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orHavingRaw($sql, $bindings); + } + + /** + * Add an "order by" clause to the query. + * + * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder<*>|\Illuminate\Contracts\Database\Query\Expression|string $column + * @param string $direction + * @return \Illuminate\Database\Eloquent\Builder + * @throws \InvalidArgumentException + * @static + */ + public static function orderBy($column, $direction = 'asc') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orderBy($column, $direction); + } + + /** + * Add a descending "order by" clause to the query. + * + * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder<*>|\Illuminate\Contracts\Database\Query\Expression|string $column + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orderByDesc($column) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orderByDesc($column); + } + + /** + * Put the query's results in random order. + * + * @param string|int $seed + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function inRandomOrder($seed = '') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->inRandomOrder($seed); + } + + /** + * Add a raw "order by" clause to the query. + * + * @param string $sql + * @param array $bindings + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orderByRaw($sql, $bindings = []) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orderByRaw($sql, $bindings); + } + + /** + * Alias to set the "offset" value of the query. + * + * @param int $value + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function skip($value) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->skip($value); + } + + /** + * Set the "offset" value of the query. + * + * @param int $value + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function offset($value) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->offset($value); + } + + /** + * Alias to set the "limit" value of the query. + * + * @param int $value + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function take($value) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->take($value); + } + + /** + * Set the "limit" value of the query. + * + * @param int $value + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function limit($value) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->limit($value); + } + + /** + * Add a "group limit" clause to the query. + * + * @param int $value + * @param string $column + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function groupLimit($value, $column) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->groupLimit($value, $column); + } + + /** + * Set the limit and offset for a given page. + * + * @param int $page + * @param int $perPage + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function forPage($page, $perPage = 15) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->forPage($page, $perPage); + } + + /** + * Constrain the query to the previous "page" of results before a given ID. + * + * @param int $perPage + * @param int|null $lastId + * @param string $column + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function forPageBeforeId($perPage = 15, $lastId = 0, $column = 'id') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->forPageBeforeId($perPage, $lastId, $column); + } + + /** + * Constrain the query to the next "page" of results after a given ID. + * + * @param int $perPage + * @param int|null $lastId + * @param string $column + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function forPageAfterId($perPage = 15, $lastId = 0, $column = 'id') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->forPageAfterId($perPage, $lastId, $column); + } + + /** + * Remove all existing orders and optionally add a new order. + * + * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Contracts\Database\Query\Expression|string|null $column + * @param string $direction + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function reorder($column = null, $direction = 'asc') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->reorder($column, $direction); + } + + /** + * Add a union statement to the query. + * + * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder<*> $query + * @param bool $all + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function union($query, $all = false) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->union($query, $all); + } + + /** + * Add a union all statement to the query. + * + * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder<*> $query + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function unionAll($query) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->unionAll($query); + } + + /** + * Lock the selected rows in the table. + * + * @param string|bool $value + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function lock($value = true) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->lock($value); + } + + /** + * Lock the selected rows in the table for updating. + * + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function lockForUpdate() + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->lockForUpdate(); + } + + /** + * Share lock the selected rows in the table. + * + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function sharedLock() + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->sharedLock(); + } + + /** + * Register a closure to be invoked before the query is executed. + * + * @param callable $callback + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function beforeQuery($callback) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->beforeQuery($callback); + } + + /** + * Invoke the "before query" modification callbacks. + * + * @return void + * @static + */ + public static function applyBeforeQueryCallbacks() + { + /** @var \Illuminate\Database\Query\Builder $instance */ + $instance->applyBeforeQueryCallbacks(); + } + + /** + * Get the SQL representation of the query. + * + * @return string + * @static + */ + public static function toSql() + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->toSql(); + } + + /** + * Get the raw SQL representation of the query with embedded bindings. + * + * @return string + * @static + */ + public static function toRawSql() + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->toRawSql(); + } + + /** + * Get a single expression value from the first result of a query. + * + * @param string $expression + * @param array $bindings + * @return mixed + * @static + */ + public static function rawValue($expression, $bindings = []) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->rawValue($expression, $bindings); + } + + /** + * Get the count of the total records for the paginator. + * + * @param array $columns + * @return int + * @static + */ + public static function getCountForPagination($columns = []) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->getCountForPagination($columns); + } + + /** + * Concatenate values of a given column as a string. + * + * @param string $column + * @param string $glue + * @return string + * @static + */ + public static function implode($column, $glue = '') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->implode($column, $glue); + } + + /** + * Determine if any rows exist for the current query. + * + * @return bool + * @static + */ + public static function exists() + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->exists(); + } + + /** + * Determine if no rows exist for the current query. + * + * @return bool + * @static + */ + public static function doesntExist() + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->doesntExist(); + } + + /** + * Execute the given callback if no rows exist for the current query. + * + * @param \Closure $callback + * @return mixed + * @static + */ + public static function existsOr($callback) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->existsOr($callback); + } + + /** + * Execute the given callback if rows exist for the current query. + * + * @param \Closure $callback + * @return mixed + * @static + */ + public static function doesntExistOr($callback) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->doesntExistOr($callback); + } + + /** + * Retrieve the "count" result of the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $columns + * @return int + * @static + */ + public static function count($columns = '*') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->count($columns); + } + + /** + * Retrieve the minimum value of a given column. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @return mixed + * @static + */ + public static function min($column) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->min($column); + } + + /** + * Retrieve the maximum value of a given column. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @return mixed + * @static + */ + public static function max($column) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->max($column); + } + + /** + * Retrieve the sum of the values of a given column. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @return mixed + * @static + */ + public static function sum($column) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->sum($column); + } + + /** + * Retrieve the average of the values of a given column. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @return mixed + * @static + */ + public static function avg($column) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->avg($column); + } + + /** + * Alias for the "avg" method. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @return mixed + * @static + */ + public static function average($column) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->average($column); + } + + /** + * Execute an aggregate function on the database. + * + * @param string $function + * @param array $columns + * @return mixed + * @static + */ + public static function aggregate($function, $columns = []) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->aggregate($function, $columns); + } + + /** + * Execute a numeric aggregate function on the database. + * + * @param string $function + * @param array $columns + * @return float|int + * @static + */ + public static function numericAggregate($function, $columns = []) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->numericAggregate($function, $columns); + } + + /** + * Insert new records into the database. + * + * @param array $values + * @return bool + * @static + */ + public static function insert($values) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->insert($values); + } + + /** + * Insert new records into the database while ignoring errors. + * + * @param array $values + * @return int + * @static + */ + public static function insertOrIgnore($values) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->insertOrIgnore($values); + } + + /** + * Insert a new record and get the value of the primary key. + * + * @param array $values + * @param string|null $sequence + * @return int + * @static + */ + public static function insertGetId($values, $sequence = null) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->insertGetId($values, $sequence); + } + + /** + * Insert new records into the table using a subquery. + * + * @param array $columns + * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder<*>|string $query + * @return int + * @static + */ + public static function insertUsing($columns, $query) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->insertUsing($columns, $query); + } + + /** + * Insert new records into the table using a subquery while ignoring errors. + * + * @param array $columns + * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder<*>|string $query + * @return int + * @static + */ + public static function insertOrIgnoreUsing($columns, $query) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->insertOrIgnoreUsing($columns, $query); + } + + /** + * Update records in a PostgreSQL database using the update from syntax. + * + * @param array $values + * @return int + * @static + */ + public static function updateFrom($values) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->updateFrom($values); + } + + /** + * Insert or update a record matching the attributes, and fill it with values. + * + * @param array $attributes + * @param array|callable $values + * @return bool + * @static + */ + public static function updateOrInsert($attributes, $values = []) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->updateOrInsert($attributes, $values); + } + + /** + * Increment the given column's values by the given amounts. + * + * @param array $columns + * @param array $extra + * @return int + * @throws \InvalidArgumentException + * @static + */ + public static function incrementEach($columns, $extra = []) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->incrementEach($columns, $extra); + } + + /** + * Decrement the given column's values by the given amounts. + * + * @param array $columns + * @param array $extra + * @return int + * @throws \InvalidArgumentException + * @static + */ + public static function decrementEach($columns, $extra = []) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->decrementEach($columns, $extra); + } + + /** + * Run a truncate statement on the table. + * + * @return void + * @static + */ + public static function truncate() + { + /** @var \Illuminate\Database\Query\Builder $instance */ + $instance->truncate(); + } + + /** + * Get all of the query builder's columns in a text-only array with all expressions evaluated. + * + * @return array + * @static + */ + public static function getColumns() + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->getColumns(); + } + + /** + * Create a raw database expression. + * + * @param mixed $value + * @return \Illuminate\Contracts\Database\Query\Expression + * @static + */ + public static function raw($value) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->raw($value); + } + + /** + * Get the current query value bindings in a flattened array. + * + * @return array + * @static + */ + public static function getBindings() + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->getBindings(); + } + + /** + * Get the raw array of bindings. + * + * @return array + * @static + */ + public static function getRawBindings() + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->getRawBindings(); + } + + /** + * Set the bindings on the query builder. + * + * @param array $bindings + * @param string $type + * @return \Illuminate\Database\Eloquent\Builder + * @throws \InvalidArgumentException + * @static + */ + public static function setBindings($bindings, $type = 'where') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->setBindings($bindings, $type); + } + + /** + * Add a binding to the query. + * + * @param mixed $value + * @param string $type + * @return \Illuminate\Database\Eloquent\Builder + * @throws \InvalidArgumentException + * @static + */ + public static function addBinding($value, $type = 'where') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->addBinding($value, $type); + } + + /** + * Cast the given binding value. + * + * @param mixed $value + * @return mixed + * @static + */ + public static function castBinding($value) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->castBinding($value); + } + + /** + * Merge an array of bindings into our bindings. + * + * @param \Illuminate\Database\Query\Builder $query + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function mergeBindings($query) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->mergeBindings($query); + } + + /** + * Remove all of the expressions from a list of bindings. + * + * @param array $bindings + * @return array + * @static + */ + public static function cleanBindings($bindings) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->cleanBindings($bindings); + } + + /** + * Get the database query processor instance. + * + * @return \Illuminate\Database\Query\Processors\Processor + * @static + */ + public static function getProcessor() + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->getProcessor(); + } + + /** + * Get the query grammar instance. + * + * @return \Illuminate\Database\Query\Grammars\Grammar + * @static + */ + public static function getGrammar() + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->getGrammar(); + } + + /** + * Use the "write" PDO connection when executing the query. + * + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function useWritePdo() + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->useWritePdo(); + } + + /** + * Clone the query without the given properties. + * + * @param array $properties + * @return static + * @static + */ + public static function cloneWithout($properties) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->cloneWithout($properties); + } + + /** + * Clone the query without the given bindings. + * + * @param array $except + * @return static + * @static + */ + public static function cloneWithoutBindings($except) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->cloneWithoutBindings($except); + } + + /** + * Dump the current SQL and bindings. + * + * @param mixed $args + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function dump(...$args) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->dump(...$args); + } + + /** + * Dump the raw current SQL with embedded bindings. + * + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function dumpRawSql() + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->dumpRawSql(); + } + + /** + * Die and dump the current SQL and bindings. + * + * @return never + * @static + */ + public static function dd() + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->dd(); + } + + /** + * Die and dump the current SQL with embedded bindings. + * + * @return never + * @static + */ + public static function ddRawSql() + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->ddRawSql(); + } + + /** + * Explains the query. + * + * @return \Illuminate\Support\Collection + * @static + */ + public static function explain() + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->explain(); + } + + /** + * Register a custom macro. + * + * @param string $name + * @param object|callable $macro + * @param-closure-this static $macro + * @return void + * @static + */ + public static function macro($name, $macro) + { + \Illuminate\Database\Query\Builder::macro($name, $macro); + } + + /** + * Mix another object into the class. + * + * @param object $mixin + * @param bool $replace + * @return void + * @throws \ReflectionException + * @static + */ + public static function mixin($mixin, $replace = true) + { + \Illuminate\Database\Query\Builder::mixin($mixin, $replace); + } + + /** + * Flush the existing macros. + * + * @return void + * @static + */ + public static function flushMacros() + { + \Illuminate\Database\Query\Builder::flushMacros(); + } + + /** + * Dynamically handle calls to the class. + * + * @param string $method + * @param array $parameters + * @return mixed + * @throws \BadMethodCallException + * @static + */ + public static function macroCall($method, $parameters) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->macroCall($method, $parameters); + } + } + class Event extends \Illuminate\Support\Facades\Event {} + class File extends \Illuminate\Support\Facades\File {} + class Gate extends \Illuminate\Support\Facades\Gate {} + class Hash extends \Illuminate\Support\Facades\Hash {} + class Http extends \Illuminate\Support\Facades\Http {} + class Js extends \Illuminate\Support\Js {} + class Lang extends \Illuminate\Support\Facades\Lang {} + class Log extends \Illuminate\Support\Facades\Log {} + class Mail extends \Illuminate\Support\Facades\Mail {} + class Notification extends \Illuminate\Support\Facades\Notification {} + class Number extends \Illuminate\Support\Number {} + class Password extends \Illuminate\Support\Facades\Password {} + class Process extends \Illuminate\Support\Facades\Process {} + class Queue extends \Illuminate\Support\Facades\Queue {} + class RateLimiter extends \Illuminate\Support\Facades\RateLimiter {} + class Redirect extends \Illuminate\Support\Facades\Redirect {} + class Request extends \Illuminate\Support\Facades\Request {} + class Response extends \Illuminate\Support\Facades\Response {} + class Route extends \Illuminate\Support\Facades\Route {} + class Schedule extends \Illuminate\Support\Facades\Schedule {} + class Schema extends \Illuminate\Support\Facades\Schema {} + class Session extends \Illuminate\Support\Facades\Session {} + class Storage extends \Illuminate\Support\Facades\Storage {} + class Str extends \Illuminate\Support\Str {} + class URL extends \Illuminate\Support\Facades\URL {} + class Uri extends \Illuminate\Support\Uri {} + class Validator extends \Illuminate\Support\Facades\Validator {} + class View extends \Illuminate\Support\Facades\View {} + class Vite extends \Illuminate\Support\Facades\Vite {} + class Menu extends \Lavary\Menu\Facade {} + class Redis extends \Illuminate\Support\Facades\Redis {} + class PDF extends \Barryvdh\DomPDF\Facade\Pdf {} + class Pdf extends \Barryvdh\DomPDF\Facade\Pdf {} + class Module extends \Nwidart\Modules\Facades\Module {} + class Bouncer extends \Silber\Bouncer\BouncerFacade {} + class Flare extends \Spatie\LaravelIgnition\Facades\Flare {} + class Signal extends \Spatie\SignalAwareCommand\Facades\Signal {} + class Hashids extends \Vinkla\Hashids\Facades\Hashids {} +} + + + + + diff --git a/_ide_helper_models.php b/_ide_helper_models.php new file mode 100644 index 00000000..ef625186 --- /dev/null +++ b/_ide_helper_models.php @@ -0,0 +1,1629 @@ + + */ + + +namespace App\Models{ +/** + * + * + * @property int $id + * @property string|null $name + * @property string|null $address_street_1 + * @property string|null $address_street_2 + * @property string|null $city + * @property string|null $state + * @property int|null $country_id + * @property string|null $zip + * @property string|null $phone + * @property string|null $fax + * @property string|null $type + * @property int|null $user_id + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property int|null $company_id + * @property int|null $customer_id + * @property-read \App\Models\Company|null $company + * @property-read \App\Models\Country|null $country + * @property-read \App\Models\Customer|null $customer + * @property-read mixed $country_name + * @property-read \App\Models\User|null $user + * @method static \Database\Factories\AddressFactory factory($count = null, $state = []) + * @method static \Illuminate\Database\Eloquent\Builder|Address newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Address newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Address query() + * @method static \Illuminate\Database\Eloquent\Builder|Address whereAddressStreet1($value) + * @method static \Illuminate\Database\Eloquent\Builder|Address whereAddressStreet2($value) + * @method static \Illuminate\Database\Eloquent\Builder|Address whereCity($value) + * @method static \Illuminate\Database\Eloquent\Builder|Address whereCompanyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Address whereCountryId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Address whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|Address whereCustomerId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Address whereFax($value) + * @method static \Illuminate\Database\Eloquent\Builder|Address whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Address whereName($value) + * @method static \Illuminate\Database\Eloquent\Builder|Address wherePhone($value) + * @method static \Illuminate\Database\Eloquent\Builder|Address whereState($value) + * @method static \Illuminate\Database\Eloquent\Builder|Address whereType($value) + * @method static \Illuminate\Database\Eloquent\Builder|Address whereUpdatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|Address whereUserId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Address whereZip($value) + */ + class Address extends \Eloquent {} +} + +namespace App\Models{ +/** + * + * + * @property int $id + * @property string $name + * @property string|null $logo + * @property string|null $unique_hash + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property string|null $slug + * @property int|null $owner_id + * @property string|null $vat_id + * @property string|null $tax_id + * @property-read \App\Models\Address|null $address + * @property-read \Illuminate\Database\Eloquent\Collection $customFieldValues + * @property-read int|null $custom_field_values_count + * @property-read \Illuminate\Database\Eloquent\Collection $customFields + * @property-read int|null $custom_fields_count + * @property-read \Illuminate\Database\Eloquent\Collection $customers + * @property-read int|null $customers_count + * @property-read \Illuminate\Database\Eloquent\Collection $estimates + * @property-read int|null $estimates_count + * @property-read \Illuminate\Database\Eloquent\Collection $exchangeRateLogs + * @property-read int|null $exchange_rate_logs_count + * @property-read \Illuminate\Database\Eloquent\Collection $exchangeRateProviders + * @property-read int|null $exchange_rate_providers_count + * @property-read \Illuminate\Database\Eloquent\Collection $expenseCategories + * @property-read int|null $expense_categories_count + * @property-read \Illuminate\Database\Eloquent\Collection $expenses + * @property-read int|null $expenses_count + * @property-read mixed $logo_path + * @property-read mixed $roles + * @property-read \Illuminate\Database\Eloquent\Collection $invoices + * @property-read int|null $invoices_count + * @property-read \Illuminate\Database\Eloquent\Collection $items + * @property-read int|null $items_count + * @property-read \Spatie\MediaLibrary\MediaCollections\Models\Collections\MediaCollection $media + * @property-read int|null $media_count + * @property-read \App\Models\User|null $owner + * @property-read \Illuminate\Database\Eloquent\Collection $paymentMethods + * @property-read int|null $payment_methods_count + * @property-read \Illuminate\Database\Eloquent\Collection $payments + * @property-read int|null $payments_count + * @property-read \Illuminate\Database\Eloquent\Collection $recurringInvoices + * @property-read int|null $recurring_invoices_count + * @property-read \Illuminate\Database\Eloquent\Collection $settings + * @property-read int|null $settings_count + * @property-read \Illuminate\Database\Eloquent\Collection $taxTypes + * @property-read int|null $tax_types_count + * @property-read \Illuminate\Database\Eloquent\Collection $units + * @property-read int|null $units_count + * @property-read \Illuminate\Database\Eloquent\Collection $users + * @property-read int|null $users_count + * @method static \Database\Factories\CompanyFactory factory($count = null, $state = []) + * @method static \Illuminate\Database\Eloquent\Builder|Company newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Company newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Company query() + * @method static \Illuminate\Database\Eloquent\Builder|Company whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|Company whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Company whereLogo($value) + * @method static \Illuminate\Database\Eloquent\Builder|Company whereName($value) + * @method static \Illuminate\Database\Eloquent\Builder|Company whereOwnerId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Company whereSlug($value) + * @method static \Illuminate\Database\Eloquent\Builder|Company whereTaxId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Company whereUniqueHash($value) + * @method static \Illuminate\Database\Eloquent\Builder|Company whereUpdatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|Company whereVatId($value) + */ + class Company extends \Eloquent implements \Spatie\MediaLibrary\HasMedia {} +} + +namespace App\Models{ +/** + * + * + * @property int $id + * @property string $option + * @property string $value + * @property int|null $company_id + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property-read \App\Models\Company|null $company + * @method static \Database\Factories\CompanySettingFactory factory($count = null, $state = []) + * @method static \Illuminate\Database\Eloquent\Builder|CompanySetting newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|CompanySetting newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|CompanySetting query() + * @method static \Illuminate\Database\Eloquent\Builder|CompanySetting whereCompany($company_id) + * @method static \Illuminate\Database\Eloquent\Builder|CompanySetting whereCompanyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|CompanySetting whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|CompanySetting whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|CompanySetting whereOption($value) + * @method static \Illuminate\Database\Eloquent\Builder|CompanySetting whereUpdatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|CompanySetting whereValue($value) + */ + class CompanySetting extends \Eloquent {} +} + +namespace App\Models{ +/** + * + * + * @property int $id + * @property string $code + * @property string $name + * @property int $phonecode + * @property-read \Illuminate\Database\Eloquent\Collection $address + * @property-read int|null $address_count + * @method static \Illuminate\Database\Eloquent\Builder|Country newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Country newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Country query() + * @method static \Illuminate\Database\Eloquent\Builder|Country whereCode($value) + * @method static \Illuminate\Database\Eloquent\Builder|Country whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Country whereName($value) + * @method static \Illuminate\Database\Eloquent\Builder|Country wherePhonecode($value) + */ + class Country extends \Eloquent {} +} + +namespace App\Models{ +/** + * + * + * @property int $id + * @property string $name + * @property string $code + * @property string|null $symbol + * @property int $precision + * @property string $thousand_separator + * @property string $decimal_separator + * @property int $swap_currency_symbol + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @method static \Illuminate\Database\Eloquent\Builder|Currency newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Currency newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Currency query() + * @method static \Illuminate\Database\Eloquent\Builder|Currency whereCode($value) + * @method static \Illuminate\Database\Eloquent\Builder|Currency whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|Currency whereDecimalSeparator($value) + * @method static \Illuminate\Database\Eloquent\Builder|Currency whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Currency whereName($value) + * @method static \Illuminate\Database\Eloquent\Builder|Currency wherePrecision($value) + * @method static \Illuminate\Database\Eloquent\Builder|Currency whereSwapCurrencySymbol($value) + * @method static \Illuminate\Database\Eloquent\Builder|Currency whereSymbol($value) + * @method static \Illuminate\Database\Eloquent\Builder|Currency whereThousandSeparator($value) + * @method static \Illuminate\Database\Eloquent\Builder|Currency whereUpdatedAt($value) + */ + class Currency extends \Eloquent {} +} + +namespace App\Models{ +/** + * + * + * @property int $id + * @property string $name + * @property string $slug + * @property string $label + * @property string $model_type + * @property string $type + * @property string|null $placeholder + * @property array|null $options + * @property int|null $boolean_answer + * @property string|null $date_answer + * @property string|null $time_answer + * @property string|null $string_answer + * @property int|null $number_answer + * @property string|null $date_time_answer + * @property int $is_required + * @property int $order + * @property int $company_id + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property-read \App\Models\Company $company + * @property-read \Illuminate\Database\Eloquent\Collection $customFieldValues + * @property-read int|null $custom_field_values_count + * @property-read mixed $default_answer + * @property-read mixed $in_use + * @method static \Illuminate\Database\Eloquent\Builder|CustomField applyFilters(array $filters) + * @method static \Database\Factories\CustomFieldFactory factory($count = null, $state = []) + * @method static \Illuminate\Database\Eloquent\Builder|CustomField newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|CustomField newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|CustomField paginateData($limit) + * @method static \Illuminate\Database\Eloquent\Builder|CustomField query() + * @method static \Illuminate\Database\Eloquent\Builder|CustomField whereBooleanAnswer($value) + * @method static \Illuminate\Database\Eloquent\Builder|CustomField whereCompany() + * @method static \Illuminate\Database\Eloquent\Builder|CustomField whereCompanyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|CustomField whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|CustomField whereDateAnswer($value) + * @method static \Illuminate\Database\Eloquent\Builder|CustomField whereDateTimeAnswer($value) + * @method static \Illuminate\Database\Eloquent\Builder|CustomField whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|CustomField whereIsRequired($value) + * @method static \Illuminate\Database\Eloquent\Builder|CustomField whereLabel($value) + * @method static \Illuminate\Database\Eloquent\Builder|CustomField whereModelType($value) + * @method static \Illuminate\Database\Eloquent\Builder|CustomField whereName($value) + * @method static \Illuminate\Database\Eloquent\Builder|CustomField whereNumberAnswer($value) + * @method static \Illuminate\Database\Eloquent\Builder|CustomField whereOptions($value) + * @method static \Illuminate\Database\Eloquent\Builder|CustomField whereOrder($value) + * @method static \Illuminate\Database\Eloquent\Builder|CustomField wherePlaceholder($value) + * @method static \Illuminate\Database\Eloquent\Builder|CustomField whereSearch($search) + * @method static \Illuminate\Database\Eloquent\Builder|CustomField whereSlug($value) + * @method static \Illuminate\Database\Eloquent\Builder|CustomField whereStringAnswer($value) + * @method static \Illuminate\Database\Eloquent\Builder|CustomField whereTimeAnswer($value) + * @method static \Illuminate\Database\Eloquent\Builder|CustomField whereType($value) + * @method static \Illuminate\Database\Eloquent\Builder|CustomField whereUpdatedAt($value) + */ + class CustomField extends \Eloquent {} +} + +namespace App\Models{ +/** + * + * + * @property int $id + * @property string $custom_field_valuable_type + * @property int $custom_field_valuable_id + * @property string $type + * @property int|null $boolean_answer + * @property string|null $date_answer + * @property string|null $time_answer + * @property string|null $string_answer + * @property int|null $number_answer + * @property string|null $date_time_answer + * @property int $custom_field_id + * @property int $company_id + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property-read \App\Models\Company $company + * @property-read \App\Models\CustomField $customField + * @property-read \Illuminate\Database\Eloquent\Model|\Eloquent $customFieldValuable + * @property-read mixed $default_answer + * @method static \Database\Factories\CustomFieldValueFactory factory($count = null, $state = []) + * @method static \Illuminate\Database\Eloquent\Builder|CustomFieldValue newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|CustomFieldValue newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|CustomFieldValue query() + * @method static \Illuminate\Database\Eloquent\Builder|CustomFieldValue whereBooleanAnswer($value) + * @method static \Illuminate\Database\Eloquent\Builder|CustomFieldValue whereCompanyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|CustomFieldValue whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|CustomFieldValue whereCustomFieldId($value) + * @method static \Illuminate\Database\Eloquent\Builder|CustomFieldValue whereCustomFieldValuableId($value) + * @method static \Illuminate\Database\Eloquent\Builder|CustomFieldValue whereCustomFieldValuableType($value) + * @method static \Illuminate\Database\Eloquent\Builder|CustomFieldValue whereDateAnswer($value) + * @method static \Illuminate\Database\Eloquent\Builder|CustomFieldValue whereDateTimeAnswer($value) + * @method static \Illuminate\Database\Eloquent\Builder|CustomFieldValue whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|CustomFieldValue whereNumberAnswer($value) + * @method static \Illuminate\Database\Eloquent\Builder|CustomFieldValue whereStringAnswer($value) + * @method static \Illuminate\Database\Eloquent\Builder|CustomFieldValue whereTimeAnswer($value) + * @method static \Illuminate\Database\Eloquent\Builder|CustomFieldValue whereType($value) + * @method static \Illuminate\Database\Eloquent\Builder|CustomFieldValue whereUpdatedAt($value) + */ + class CustomFieldValue extends \Eloquent {} +} + +namespace App\Models{ +/** + * + * + * @property int $id + * @property string $name + * @property string|null $email + * @property string|null $phone + * @property string|null $password + * @property string|null $remember_token + * @property string|null $facebook_id + * @property string|null $google_id + * @property string|null $github_id + * @property string|null $contact_name + * @property string|null $company_name + * @property string|null $website + * @property bool $enable_portal + * @property int|null $currency_id + * @property int|null $company_id + * @property int|null $creator_id + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property string|null $prefix + * @property string|null $tax_id + * @property-read \Illuminate\Database\Eloquent\Collection $abilities + * @property-read int|null $abilities_count + * @property-read \Illuminate\Database\Eloquent\Collection $addresses + * @property-read int|null $addresses_count + * @property-read \App\Models\Address|null $billingAddress + * @property-read \App\Models\Company|null $company + * @property-read Customer|null $creator + * @property-read \App\Models\Currency|null $currency + * @property-read \Illuminate\Database\Eloquent\Collection $estimates + * @property-read int|null $estimates_count + * @property-read \Illuminate\Database\Eloquent\Collection $expenses + * @property-read int|null $expenses_count + * @property-read \Illuminate\Database\Eloquent\Collection $fields + * @property-read int|null $fields_count + * @property-read mixed $avatar + * @property-read mixed $formatted_created_at + * @property-read \Illuminate\Database\Eloquent\Collection $invoices + * @property-read int|null $invoices_count + * @property-read \Spatie\MediaLibrary\MediaCollections\Models\Collections\MediaCollection $media + * @property-read int|null $media_count + * @property-read \Illuminate\Notifications\DatabaseNotificationCollection $notifications + * @property-read int|null $notifications_count + * @property-read \Illuminate\Database\Eloquent\Collection $payments + * @property-read int|null $payments_count + * @property-read \Illuminate\Database\Eloquent\Collection $recurringInvoices + * @property-read int|null $recurring_invoices_count + * @property-read \Illuminate\Database\Eloquent\Collection $roles + * @property-read int|null $roles_count + * @property-read \App\Models\Address|null $shippingAddress + * @property-read \Illuminate\Database\Eloquent\Collection $tokens + * @property-read int|null $tokens_count + * @method static \Illuminate\Database\Eloquent\Builder|Customer applyFilters(array $filters) + * @method static \Illuminate\Database\Eloquent\Builder|Customer applyInvoiceFilters(array $filters) + * @method static \Database\Factories\CustomerFactory factory($count = null, $state = []) + * @method static \Illuminate\Database\Eloquent\Builder|Customer invoicesBetween($start, $end) + * @method static \Illuminate\Database\Eloquent\Builder|Customer newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Customer newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Customer paginateData($limit) + * @method static \Illuminate\Database\Eloquent\Builder|Customer query() + * @method static \Illuminate\Database\Eloquent\Builder|Customer whereCompany() + * @method static \Illuminate\Database\Eloquent\Builder|Customer whereCompanyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Customer whereCompanyName($value) + * @method static \Illuminate\Database\Eloquent\Builder|Customer whereContactName($value) + * @method static \Illuminate\Database\Eloquent\Builder|Customer whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|Customer whereCreatorId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Customer whereCurrencyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Customer whereCustomer($customer_id) + * @method static \Illuminate\Database\Eloquent\Builder|Customer whereDisplayName($displayName) + * @method static \Illuminate\Database\Eloquent\Builder|Customer whereEmail($value) + * @method static \Illuminate\Database\Eloquent\Builder|Customer whereEnablePortal($value) + * @method static \Illuminate\Database\Eloquent\Builder|Customer whereFacebookId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Customer whereGithubId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Customer whereGoogleId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Customer whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Customer whereIs($role) + * @method static \Illuminate\Database\Eloquent\Builder|Customer whereIsAll($role) + * @method static \Illuminate\Database\Eloquent\Builder|Customer whereIsNot($role) + * @method static \Illuminate\Database\Eloquent\Builder|Customer whereName($value) + * @method static \Illuminate\Database\Eloquent\Builder|Customer whereOrder($orderByField, $orderBy) + * @method static \Illuminate\Database\Eloquent\Builder|Customer wherePassword($value) + * @method static \Illuminate\Database\Eloquent\Builder|Customer wherePhone($value) + * @method static \Illuminate\Database\Eloquent\Builder|Customer wherePrefix($value) + * @method static \Illuminate\Database\Eloquent\Builder|Customer whereRememberToken($value) + * @method static \Illuminate\Database\Eloquent\Builder|Customer whereSearch($search) + * @method static \Illuminate\Database\Eloquent\Builder|Customer whereTaxId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Customer whereUpdatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|Customer whereWebsite($value) + */ + class Customer extends \Eloquent implements \Spatie\MediaLibrary\HasMedia {} +} + +namespace App\Models{ +/** + * + * + * @property int $id + * @property string $from + * @property string $to + * @property string $subject + * @property string $body + * @property string $mailable_type + * @property string $mailable_id + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property string|null $token + * @property-read \Illuminate\Database\Eloquent\Model|\Eloquent $mailable + * @method static \Database\Factories\EmailLogFactory factory($count = null, $state = []) + * @method static \Illuminate\Database\Eloquent\Builder|EmailLog newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|EmailLog newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|EmailLog query() + * @method static \Illuminate\Database\Eloquent\Builder|EmailLog whereBody($value) + * @method static \Illuminate\Database\Eloquent\Builder|EmailLog whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|EmailLog whereFrom($value) + * @method static \Illuminate\Database\Eloquent\Builder|EmailLog whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|EmailLog whereMailableId($value) + * @method static \Illuminate\Database\Eloquent\Builder|EmailLog whereMailableType($value) + * @method static \Illuminate\Database\Eloquent\Builder|EmailLog whereSubject($value) + * @method static \Illuminate\Database\Eloquent\Builder|EmailLog whereTo($value) + * @method static \Illuminate\Database\Eloquent\Builder|EmailLog whereToken($value) + * @method static \Illuminate\Database\Eloquent\Builder|EmailLog whereUpdatedAt($value) + */ + class EmailLog extends \Eloquent {} +} + +namespace App\Models{ +/** + * + * + * @property int $id + * @property string $estimate_date + * @property string|null $expiry_date + * @property string $estimate_number + * @property string $status + * @property string|null $reference_number + * @property string $tax_per_item + * @property string $discount_per_item + * @property string|null $notes + * @property float|null $discount + * @property string|null $discount_type + * @property int|null $discount_val + * @property int $sub_total + * @property int $total + * @property int $tax + * @property string|null $unique_hash + * @property int|null $user_id + * @property int|null $company_id + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property int|null $creator_id + * @property string|null $template_name + * @property int|null $customer_id + * @property float|null $exchange_rate + * @property int|null $base_discount_val + * @property int|null $base_sub_total + * @property int|null $base_total + * @property int|null $base_tax + * @property int|null $currency_id + * @property int|null $sequence_number + * @property int|null $customer_sequence_number + * @property string|null $sales_tax_type + * @property string|null $sales_tax_address_type + * @property-read \App\Models\Company|null $company + * @property-read \App\Models\User|null $creator + * @property-read \App\Models\Currency|null $currency + * @property-read \App\Models\Customer|null $customer + * @property-read \Illuminate\Database\Eloquent\Collection $emailLogs + * @property-read int|null $email_logs_count + * @property-read \Illuminate\Database\Eloquent\Collection $fields + * @property-read int|null $fields_count + * @property-read mixed $estimate_pdf_url + * @property-read mixed $formatted_estimate_date + * @property-read mixed $formatted_expiry_date + * @property-read \Illuminate\Database\Eloquent\Collection $items + * @property-read int|null $items_count + * @property-read \Spatie\MediaLibrary\MediaCollections\Models\Collections\MediaCollection $media + * @property-read int|null $media_count + * @property-read \Illuminate\Database\Eloquent\Collection $taxes + * @property-read int|null $taxes_count + * @method static \Illuminate\Database\Eloquent\Builder|Estimate applyFilters(array $filters) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate estimatesBetween($start, $end) + * @method static \Database\Factories\EstimateFactory factory($count = null, $state = []) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Estimate newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Estimate paginateData($limit) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate query() + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereBaseDiscountVal($value) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereBaseSubTotal($value) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereBaseTax($value) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereBaseTotal($value) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereCompany() + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereCompanyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereCreatorId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereCurrencyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereCustomer($customer_id) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereCustomerId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereCustomerSequenceNumber($value) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereDiscount($value) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereDiscountPerItem($value) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereDiscountType($value) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereDiscountVal($value) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereEstimate($estimate_id) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereEstimateDate($value) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereEstimateNumber($value) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereExchangeRate($value) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereExpiryDate($value) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereNotes($value) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereOrder($orderByField, $orderBy) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereReferenceNumber($value) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereSalesTaxAddressType($value) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereSalesTaxType($value) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereSearch($search) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereSequenceNumber($value) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereStatus($value) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereSubTotal($value) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereTax($value) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereTaxPerItem($value) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereTemplateName($value) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereTotal($value) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereUniqueHash($value) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereUpdatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereUserId($value) + */ + class Estimate extends \Eloquent implements \Spatie\MediaLibrary\HasMedia {} +} + +namespace App\Models{ +/** + * + * + * @property int $id + * @property string $name + * @property string|null $description + * @property string $discount_type + * @property float $quantity + * @property float|null $discount + * @property int|null $discount_val + * @property int $price + * @property int $tax + * @property int $total + * @property int|null $item_id + * @property int $estimate_id + * @property int|null $company_id + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property string|null $unit_name + * @property string|null $exchange_rate + * @property int|null $base_discount_val + * @property int|null $base_price + * @property int|null $base_tax + * @property int|null $base_total + * @property-read \App\Models\Estimate $estimate + * @property-read \Illuminate\Database\Eloquent\Collection $fields + * @property-read int|null $fields_count + * @property-read \App\Models\Item|null $item + * @property-read \Illuminate\Database\Eloquent\Collection $taxes + * @property-read int|null $taxes_count + * @method static \Database\Factories\EstimateItemFactory factory($count = null, $state = []) + * @method static \Illuminate\Database\Eloquent\Builder|EstimateItem newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|EstimateItem newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|EstimateItem query() + * @method static \Illuminate\Database\Eloquent\Builder|EstimateItem whereBaseDiscountVal($value) + * @method static \Illuminate\Database\Eloquent\Builder|EstimateItem whereBasePrice($value) + * @method static \Illuminate\Database\Eloquent\Builder|EstimateItem whereBaseTax($value) + * @method static \Illuminate\Database\Eloquent\Builder|EstimateItem whereBaseTotal($value) + * @method static \Illuminate\Database\Eloquent\Builder|EstimateItem whereCompany($company_id) + * @method static \Illuminate\Database\Eloquent\Builder|EstimateItem whereCompanyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|EstimateItem whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|EstimateItem whereDescription($value) + * @method static \Illuminate\Database\Eloquent\Builder|EstimateItem whereDiscount($value) + * @method static \Illuminate\Database\Eloquent\Builder|EstimateItem whereDiscountType($value) + * @method static \Illuminate\Database\Eloquent\Builder|EstimateItem whereDiscountVal($value) + * @method static \Illuminate\Database\Eloquent\Builder|EstimateItem whereEstimateId($value) + * @method static \Illuminate\Database\Eloquent\Builder|EstimateItem whereExchangeRate($value) + * @method static \Illuminate\Database\Eloquent\Builder|EstimateItem whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|EstimateItem whereItemId($value) + * @method static \Illuminate\Database\Eloquent\Builder|EstimateItem whereName($value) + * @method static \Illuminate\Database\Eloquent\Builder|EstimateItem wherePrice($value) + * @method static \Illuminate\Database\Eloquent\Builder|EstimateItem whereQuantity($value) + * @method static \Illuminate\Database\Eloquent\Builder|EstimateItem whereTax($value) + * @method static \Illuminate\Database\Eloquent\Builder|EstimateItem whereTotal($value) + * @method static \Illuminate\Database\Eloquent\Builder|EstimateItem whereUnitName($value) + * @method static \Illuminate\Database\Eloquent\Builder|EstimateItem whereUpdatedAt($value) + */ + class EstimateItem extends \Eloquent {} +} + +namespace App\Models{ +/** + * + * + * @property int $id + * @property int|null $company_id + * @property int|null $base_currency_id + * @property int|null $currency_id + * @property float|null $exchange_rate + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property-read \App\Models\Company|null $company + * @property-read \App\Models\Currency|null $currency + * @method static \Database\Factories\ExchangeRateLogFactory factory($count = null, $state = []) + * @method static \Illuminate\Database\Eloquent\Builder|ExchangeRateLog newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|ExchangeRateLog newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|ExchangeRateLog query() + * @method static \Illuminate\Database\Eloquent\Builder|ExchangeRateLog whereBaseCurrencyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|ExchangeRateLog whereCompanyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|ExchangeRateLog whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|ExchangeRateLog whereCurrencyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|ExchangeRateLog whereExchangeRate($value) + * @method static \Illuminate\Database\Eloquent\Builder|ExchangeRateLog whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|ExchangeRateLog whereUpdatedAt($value) + */ + class ExchangeRateLog extends \Eloquent {} +} + +namespace App\Models{ +/** + * + * + * @property int $id + * @property string $driver + * @property string $key + * @property array|null $currencies + * @property array|null $driver_config + * @property bool $active + * @property int|null $company_id + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property-read \App\Models\Company|null $company + * @method static \Database\Factories\ExchangeRateProviderFactory factory($count = null, $state = []) + * @method static \Illuminate\Database\Eloquent\Builder|ExchangeRateProvider newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|ExchangeRateProvider newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|ExchangeRateProvider query() + * @method static \Illuminate\Database\Eloquent\Builder|ExchangeRateProvider whereActive($value) + * @method static \Illuminate\Database\Eloquent\Builder|ExchangeRateProvider whereCompany() + * @method static \Illuminate\Database\Eloquent\Builder|ExchangeRateProvider whereCompanyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|ExchangeRateProvider whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|ExchangeRateProvider whereCurrencies($value) + * @method static \Illuminate\Database\Eloquent\Builder|ExchangeRateProvider whereDriver($value) + * @method static \Illuminate\Database\Eloquent\Builder|ExchangeRateProvider whereDriverConfig($value) + * @method static \Illuminate\Database\Eloquent\Builder|ExchangeRateProvider whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|ExchangeRateProvider whereKey($value) + * @method static \Illuminate\Database\Eloquent\Builder|ExchangeRateProvider whereUpdatedAt($value) + */ + class ExchangeRateProvider extends \Eloquent {} +} + +namespace App\Models{ +/** + * + * + * @property int $id + * @property string $expense_date + * @property string|null $attachment_receipt + * @property int $amount + * @property string|null $notes + * @property int $expense_category_id + * @property int|null $company_id + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property int|null $user_id + * @property int|null $creator_id + * @property int|null $customer_id + * @property float|null $exchange_rate + * @property int|null $base_amount + * @property int|null $currency_id + * @property int|null $payment_method_id + * @property-read \App\Models\ExpenseCategory $category + * @property-read \App\Models\Company|null $company + * @property-read \App\Models\User|null $creator + * @property-read \App\Models\Currency|null $currency + * @property-read \App\Models\Customer|null $customer + * @property-read \Illuminate\Database\Eloquent\Collection $fields + * @property-read int|null $fields_count + * @property-read mixed $formatted_created_at + * @property-read mixed $formatted_expense_date + * @property-read mixed $receipt + * @property-read mixed $receipt_meta + * @property-read mixed $receipt_url + * @property-read \Spatie\MediaLibrary\MediaCollections\Models\Collections\MediaCollection $media + * @property-read int|null $media_count + * @property-read \App\Models\PaymentMethod|null $paymentMethod + * @method static \Illuminate\Database\Eloquent\Builder|Expense applyFilters(array $filters) + * @method static \Illuminate\Database\Eloquent\Builder|Expense expensesAttributes() + * @method static \Illuminate\Database\Eloquent\Builder|Expense expensesBetween($start, $end) + * @method static \Database\Factories\ExpenseFactory factory($count = null, $state = []) + * @method static \Illuminate\Database\Eloquent\Builder|Expense newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Expense newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Expense paginateData($limit) + * @method static \Illuminate\Database\Eloquent\Builder|Expense query() + * @method static \Illuminate\Database\Eloquent\Builder|Expense whereAmount($value) + * @method static \Illuminate\Database\Eloquent\Builder|Expense whereAttachmentReceipt($value) + * @method static \Illuminate\Database\Eloquent\Builder|Expense whereBaseAmount($value) + * @method static \Illuminate\Database\Eloquent\Builder|Expense whereCategory($categoryId) + * @method static \Illuminate\Database\Eloquent\Builder|Expense whereCategoryName($search) + * @method static \Illuminate\Database\Eloquent\Builder|Expense whereCompany() + * @method static \Illuminate\Database\Eloquent\Builder|Expense whereCompanyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Expense whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|Expense whereCreatorId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Expense whereCurrencyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Expense whereCustomerId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Expense whereExchangeRate($value) + * @method static \Illuminate\Database\Eloquent\Builder|Expense whereExpense($expense_id) + * @method static \Illuminate\Database\Eloquent\Builder|Expense whereExpenseCategoryId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Expense whereExpenseDate($value) + * @method static \Illuminate\Database\Eloquent\Builder|Expense whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Expense whereNotes($value) + * @method static \Illuminate\Database\Eloquent\Builder|Expense whereOrder($orderByField, $orderBy) + * @method static \Illuminate\Database\Eloquent\Builder|Expense wherePaymentMethodId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Expense whereSearch($search) + * @method static \Illuminate\Database\Eloquent\Builder|Expense whereUpdatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|Expense whereUser($customer_id) + * @method static \Illuminate\Database\Eloquent\Builder|Expense whereUserId($value) + */ + class Expense extends \Eloquent implements \Spatie\MediaLibrary\HasMedia {} +} + +namespace App\Models{ +/** + * + * + * @property int $id + * @property string $name + * @property string|null $description + * @property int|null $company_id + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property-read \App\Models\Company|null $company + * @property-read \Illuminate\Database\Eloquent\Collection $expenses + * @property-read int|null $expenses_count + * @property-read mixed $amount + * @property-read mixed $formatted_created_at + * @method static \Illuminate\Database\Eloquent\Builder|ExpenseCategory applyFilters(array $filters) + * @method static \Database\Factories\ExpenseCategoryFactory factory($count = null, $state = []) + * @method static \Illuminate\Database\Eloquent\Builder|ExpenseCategory newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|ExpenseCategory newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|ExpenseCategory paginateData($limit) + * @method static \Illuminate\Database\Eloquent\Builder|ExpenseCategory query() + * @method static \Illuminate\Database\Eloquent\Builder|ExpenseCategory whereCategory($category_id) + * @method static \Illuminate\Database\Eloquent\Builder|ExpenseCategory whereCompany() + * @method static \Illuminate\Database\Eloquent\Builder|ExpenseCategory whereCompanyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|ExpenseCategory whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|ExpenseCategory whereDescription($value) + * @method static \Illuminate\Database\Eloquent\Builder|ExpenseCategory whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|ExpenseCategory whereName($value) + * @method static \Illuminate\Database\Eloquent\Builder|ExpenseCategory whereSearch($search) + * @method static \Illuminate\Database\Eloquent\Builder|ExpenseCategory whereUpdatedAt($value) + */ + class ExpenseCategory extends \Eloquent {} +} + +namespace App\Models{ +/** + * + * + * @property int $id + * @property string $name + * @property string $type + * @property string $driver + * @property bool $set_as_default + * @property string $credentials + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @method static \Illuminate\Database\Eloquent\Builder|FileDisk applyFilters(array $filters) + * @method static \Database\Factories\FileDiskFactory factory($count = null, $state = []) + * @method static \Illuminate\Database\Eloquent\Builder|FileDisk fileDisksBetween($start, $end) + * @method static \Illuminate\Database\Eloquent\Builder|FileDisk newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|FileDisk newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|FileDisk paginateData($limit) + * @method static \Illuminate\Database\Eloquent\Builder|FileDisk query() + * @method static \Illuminate\Database\Eloquent\Builder|FileDisk whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|FileDisk whereCredentials($value) + * @method static \Illuminate\Database\Eloquent\Builder|FileDisk whereDriver($value) + * @method static \Illuminate\Database\Eloquent\Builder|FileDisk whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|FileDisk whereName($value) + * @method static \Illuminate\Database\Eloquent\Builder|FileDisk whereOrder($orderByField, $orderBy) + * @method static \Illuminate\Database\Eloquent\Builder|FileDisk whereSearch($search) + * @method static \Illuminate\Database\Eloquent\Builder|FileDisk whereSetAsDefault($value) + * @method static \Illuminate\Database\Eloquent\Builder|FileDisk whereType($value) + * @method static \Illuminate\Database\Eloquent\Builder|FileDisk whereUpdatedAt($value) + */ + class FileDisk extends \Eloquent {} +} + +namespace App\Models{ +/** + * + * + * @property int $id + * @property string $invoice_date + * @property string|null $due_date + * @property string $invoice_number + * @property string|null $reference_number + * @property string $status + * @property string $paid_status + * @property string $tax_per_item + * @property string $discount_per_item + * @property string|null $notes + * @property string|null $discount_type + * @property float|null $discount + * @property int|null $discount_val + * @property int $sub_total + * @property int $total + * @property int $tax + * @property int $due_amount + * @property int $sent + * @property int $viewed + * @property string|null $unique_hash + * @property int|null $user_id + * @property int|null $company_id + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property int|null $creator_id + * @property string|null $template_name + * @property int|null $customer_id + * @property int|null $recurring_invoice_id + * @property float|null $exchange_rate + * @property int|null $base_discount_val + * @property int|null $base_sub_total + * @property int|null $base_total + * @property int|null $base_tax + * @property int|null $base_due_amount + * @property int|null $currency_id + * @property int|null $sequence_number + * @property int|null $customer_sequence_number + * @property string|null $sales_tax_type + * @property string|null $sales_tax_address_type + * @property int $overdue + * @property-read \App\Models\Company|null $company + * @property-read \App\Models\User|null $creator + * @property-read \App\Models\Currency|null $currency + * @property-read \App\Models\Customer|null $customer + * @property-read \Illuminate\Database\Eloquent\Collection $emailLogs + * @property-read int|null $email_logs_count + * @property-read \Illuminate\Database\Eloquent\Collection $fields + * @property-read int|null $fields_count + * @property-read mixed $allow_edit + * @property-read mixed $formatted_created_at + * @property-read mixed $formatted_due_date + * @property-read mixed $formatted_invoice_date + * @property-read mixed $formatted_notes + * @property-read mixed $invoice_pdf_url + * @property-read mixed $payment_module_enabled + * @property-read \Illuminate\Database\Eloquent\Collection $items + * @property-read int|null $items_count + * @property-read \Spatie\MediaLibrary\MediaCollections\Models\Collections\MediaCollection $media + * @property-read int|null $media_count + * @property-read \Illuminate\Database\Eloquent\Collection $payments + * @property-read int|null $payments_count + * @property-read \App\Models\RecurringInvoice|null $recurringInvoice + * @property-read \Illuminate\Database\Eloquent\Collection $taxes + * @property-read int|null $taxes_count + * @property-read \Illuminate\Database\Eloquent\Collection $transactions + * @property-read int|null $transactions_count + * @method static \Illuminate\Database\Eloquent\Builder|Invoice applyFilters(array $filters) + * @method static \Database\Factories\InvoiceFactory factory($count = null, $state = []) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice invoicesBetween($start, $end) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Invoice newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Invoice paginateData($limit) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice query() + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereBaseDiscountVal($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereBaseDueAmount($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereBaseSubTotal($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereBaseTax($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereBaseTotal($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereCompany() + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereCompanyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereCreatorId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereCurrencyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereCustomer($customer_id) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereCustomerId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereCustomerSequenceNumber($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereDiscount($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereDiscountPerItem($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereDiscountType($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereDiscountVal($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereDueAmount($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereDueDate($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereDueStatus($status) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereExchangeRate($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereInvoice($invoice_id) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereInvoiceDate($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereInvoiceNumber($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereNotes($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereOrder($orderByField, $orderBy) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereOverdue($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice wherePaidStatus($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereRecurringInvoiceId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereReferenceNumber($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereSalesTaxAddressType($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereSalesTaxType($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereSearch($search) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereSent($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereSequenceNumber($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereStatus($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereSubTotal($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereTax($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereTaxPerItem($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereTemplateName($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereTotal($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereUniqueHash($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereUpdatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereUserId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereViewed($value) + */ + class Invoice extends \Eloquent implements \Spatie\MediaLibrary\HasMedia {} +} + +namespace App\Models{ +/** + * + * + * @property int $id + * @property string $name + * @property string|null $description + * @property string $discount_type + * @property int $price + * @property float $quantity + * @property float|null $discount + * @property int $discount_val + * @property int $tax + * @property int $total + * @property int|null $invoice_id + * @property int|null $item_id + * @property int|null $company_id + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property string|null $unit_name + * @property int|null $recurring_invoice_id + * @property int|null $base_price + * @property string|null $exchange_rate + * @property int|null $base_discount_val + * @property int|null $base_tax + * @property int|null $base_total + * @property-read \Illuminate\Database\Eloquent\Collection $fields + * @property-read int|null $fields_count + * @property-read \App\Models\Invoice|null $invoice + * @property-read \App\Models\Item|null $item + * @property-read \App\Models\RecurringInvoice|null $recurringInvoice + * @property-read \Illuminate\Database\Eloquent\Collection $taxes + * @property-read int|null $taxes_count + * @method static \Illuminate\Database\Eloquent\Builder|InvoiceItem applyInvoiceFilters(array $filters) + * @method static \Database\Factories\InvoiceItemFactory factory($count = null, $state = []) + * @method static \Illuminate\Database\Eloquent\Builder|InvoiceItem invoicesBetween($start, $end) + * @method static \Illuminate\Database\Eloquent\Builder|InvoiceItem itemAttributes() + * @method static \Illuminate\Database\Eloquent\Builder|InvoiceItem newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|InvoiceItem newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|InvoiceItem query() + * @method static \Illuminate\Database\Eloquent\Builder|InvoiceItem whereBaseDiscountVal($value) + * @method static \Illuminate\Database\Eloquent\Builder|InvoiceItem whereBasePrice($value) + * @method static \Illuminate\Database\Eloquent\Builder|InvoiceItem whereBaseTax($value) + * @method static \Illuminate\Database\Eloquent\Builder|InvoiceItem whereBaseTotal($value) + * @method static \Illuminate\Database\Eloquent\Builder|InvoiceItem whereCompany($company_id) + * @method static \Illuminate\Database\Eloquent\Builder|InvoiceItem whereCompanyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|InvoiceItem whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|InvoiceItem whereDescription($value) + * @method static \Illuminate\Database\Eloquent\Builder|InvoiceItem whereDiscount($value) + * @method static \Illuminate\Database\Eloquent\Builder|InvoiceItem whereDiscountType($value) + * @method static \Illuminate\Database\Eloquent\Builder|InvoiceItem whereDiscountVal($value) + * @method static \Illuminate\Database\Eloquent\Builder|InvoiceItem whereExchangeRate($value) + * @method static \Illuminate\Database\Eloquent\Builder|InvoiceItem whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|InvoiceItem whereInvoiceId($value) + * @method static \Illuminate\Database\Eloquent\Builder|InvoiceItem whereItemId($value) + * @method static \Illuminate\Database\Eloquent\Builder|InvoiceItem whereName($value) + * @method static \Illuminate\Database\Eloquent\Builder|InvoiceItem wherePrice($value) + * @method static \Illuminate\Database\Eloquent\Builder|InvoiceItem whereQuantity($value) + * @method static \Illuminate\Database\Eloquent\Builder|InvoiceItem whereRecurringInvoiceId($value) + * @method static \Illuminate\Database\Eloquent\Builder|InvoiceItem whereTax($value) + * @method static \Illuminate\Database\Eloquent\Builder|InvoiceItem whereTotal($value) + * @method static \Illuminate\Database\Eloquent\Builder|InvoiceItem whereUnitName($value) + * @method static \Illuminate\Database\Eloquent\Builder|InvoiceItem whereUpdatedAt($value) + */ + class InvoiceItem extends \Eloquent {} +} + +namespace App\Models{ +/** + * + * + * @property int $id + * @property string $name + * @property string|null $description + * @property int $price + * @property int|null $company_id + * @property int|null $unit_id + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property int|null $creator_id + * @property int|null $currency_id + * @property int $tax_per_item + * @property-read \App\Models\Company|null $company + * @property-read \App\Models\User|null $creator + * @property-read \App\Models\Currency|null $currency + * @property-read \Illuminate\Database\Eloquent\Collection $estimateItems + * @property-read int|null $estimate_items_count + * @property-read mixed $formatted_created_at + * @property-read \Illuminate\Database\Eloquent\Collection $invoiceItems + * @property-read int|null $invoice_items_count + * @property-read \Illuminate\Database\Eloquent\Collection $taxes + * @property-read int|null $taxes_count + * @property-read \App\Models\Unit|null $unit + * @method static \Illuminate\Database\Eloquent\Builder|Item applyFilters(array $filters) + * @method static \Database\Factories\ItemFactory factory($count = null, $state = []) + * @method static \Illuminate\Database\Eloquent\Builder|Item newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Item newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Item paginateData($limit) + * @method static \Illuminate\Database\Eloquent\Builder|Item query() + * @method static \Illuminate\Database\Eloquent\Builder|Item whereCompany() + * @method static \Illuminate\Database\Eloquent\Builder|Item whereCompanyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Item whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|Item whereCreatorId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Item whereCurrencyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Item whereDescription($value) + * @method static \Illuminate\Database\Eloquent\Builder|Item whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Item whereItem($item_id) + * @method static \Illuminate\Database\Eloquent\Builder|Item whereName($value) + * @method static \Illuminate\Database\Eloquent\Builder|Item whereOrder($orderByField, $orderBy) + * @method static \Illuminate\Database\Eloquent\Builder|Item wherePrice($value) + * @method static \Illuminate\Database\Eloquent\Builder|Item whereSearch($search) + * @method static \Illuminate\Database\Eloquent\Builder|Item whereTaxPerItem($value) + * @method static \Illuminate\Database\Eloquent\Builder|Item whereUnit($unit_id) + * @method static \Illuminate\Database\Eloquent\Builder|Item whereUnitId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Item whereUpdatedAt($value) + */ + class Item extends \Eloquent {} +} + +namespace App\Models{ +/** + * + * + * @property int $id + * @property string $name + * @property string $version + * @property int $installed + * @property int $enabled + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @method static \Illuminate\Database\Eloquent\Builder|Module newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Module newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Module query() + * @method static \Illuminate\Database\Eloquent\Builder|Module whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|Module whereEnabled($value) + * @method static \Illuminate\Database\Eloquent\Builder|Module whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Module whereInstalled($value) + * @method static \Illuminate\Database\Eloquent\Builder|Module whereName($value) + * @method static \Illuminate\Database\Eloquent\Builder|Module whereUpdatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|Module whereVersion($value) + */ + class Module extends \Eloquent {} +} + +namespace App\Models{ +/** + * + * + * @property int $id + * @property string $type + * @property string $name + * @property string $notes + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property int|null $company_id + * @property-read \App\Models\Company|null $company + * @method static \Illuminate\Database\Eloquent\Builder|Note applyFilters(array $filters) + * @method static \Database\Factories\NoteFactory factory($count = null, $state = []) + * @method static \Illuminate\Database\Eloquent\Builder|Note newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Note newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Note query() + * @method static \Illuminate\Database\Eloquent\Builder|Note whereCompany() + * @method static \Illuminate\Database\Eloquent\Builder|Note whereCompanyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Note whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|Note whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Note whereName($value) + * @method static \Illuminate\Database\Eloquent\Builder|Note whereNotes($value) + * @method static \Illuminate\Database\Eloquent\Builder|Note whereSearch($search) + * @method static \Illuminate\Database\Eloquent\Builder|Note whereType($value) + * @method static \Illuminate\Database\Eloquent\Builder|Note whereUpdatedAt($value) + */ + class Note extends \Eloquent {} +} + +namespace App\Models{ +/** + * + * + * @property int $id + * @property string $payment_number + * @property string $payment_date + * @property string|null $notes + * @property int $amount + * @property string|null $unique_hash + * @property int|null $user_id + * @property int|null $invoice_id + * @property int|null $company_id + * @property int|null $payment_method_id + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property int|null $creator_id + * @property int|null $customer_id + * @property float|null $exchange_rate + * @property int|null $base_amount + * @property int|null $currency_id + * @property int|null $sequence_number + * @property int|null $customer_sequence_number + * @property int|null $transaction_id + * @property-read \App\Models\Company|null $company + * @property-read \App\Models\User|null $creator + * @property-read \App\Models\Currency|null $currency + * @property-read \App\Models\Customer|null $customer + * @property-read \Illuminate\Database\Eloquent\Collection $emailLogs + * @property-read int|null $email_logs_count + * @property-read \Illuminate\Database\Eloquent\Collection $fields + * @property-read int|null $fields_count + * @property-read mixed $formatted_created_at + * @property-read mixed $formatted_payment_date + * @property-read mixed $payment_pdf_url + * @property-read \App\Models\Invoice|null $invoice + * @property-read \Spatie\MediaLibrary\MediaCollections\Models\Collections\MediaCollection $media + * @property-read int|null $media_count + * @property-read \App\Models\PaymentMethod|null $paymentMethod + * @property-write mixed $settings + * @property-read \App\Models\Transaction|null $transaction + * @method static \Illuminate\Database\Eloquent\Builder|Payment applyFilters(array $filters) + * @method static \Database\Factories\PaymentFactory factory($count = null, $state = []) + * @method static \Illuminate\Database\Eloquent\Builder|Payment newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Payment newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Payment paginateData($limit) + * @method static \Illuminate\Database\Eloquent\Builder|Payment paymentMethod($paymentMethodId) + * @method static \Illuminate\Database\Eloquent\Builder|Payment paymentNumber($paymentNumber) + * @method static \Illuminate\Database\Eloquent\Builder|Payment paymentsBetween($start, $end) + * @method static \Illuminate\Database\Eloquent\Builder|Payment query() + * @method static \Illuminate\Database\Eloquent\Builder|Payment whereAmount($value) + * @method static \Illuminate\Database\Eloquent\Builder|Payment whereBaseAmount($value) + * @method static \Illuminate\Database\Eloquent\Builder|Payment whereCompany() + * @method static \Illuminate\Database\Eloquent\Builder|Payment whereCompanyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Payment whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|Payment whereCreatorId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Payment whereCurrencyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Payment whereCustomer($customer_id) + * @method static \Illuminate\Database\Eloquent\Builder|Payment whereCustomerId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Payment whereCustomerSequenceNumber($value) + * @method static \Illuminate\Database\Eloquent\Builder|Payment whereExchangeRate($value) + * @method static \Illuminate\Database\Eloquent\Builder|Payment whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Payment whereInvoiceId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Payment whereNotes($value) + * @method static \Illuminate\Database\Eloquent\Builder|Payment whereOrder($orderByField, $orderBy) + * @method static \Illuminate\Database\Eloquent\Builder|Payment wherePayment($payment_id) + * @method static \Illuminate\Database\Eloquent\Builder|Payment wherePaymentDate($value) + * @method static \Illuminate\Database\Eloquent\Builder|Payment wherePaymentMethodId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Payment wherePaymentNumber($value) + * @method static \Illuminate\Database\Eloquent\Builder|Payment whereSearch($search) + * @method static \Illuminate\Database\Eloquent\Builder|Payment whereSequenceNumber($value) + * @method static \Illuminate\Database\Eloquent\Builder|Payment whereTransactionId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Payment whereUniqueHash($value) + * @method static \Illuminate\Database\Eloquent\Builder|Payment whereUpdatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|Payment whereUserId($value) + */ + class Payment extends \Eloquent implements \Spatie\MediaLibrary\HasMedia {} +} + +namespace App\Models{ +/** + * + * + * @property int $id + * @property string $name + * @property int|null $company_id + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property string|null $driver + * @property string $type + * @property array|null $settings + * @property int $active + * @property bool $use_test_env + * @property-read \App\Models\Company|null $company + * @property-read \Illuminate\Database\Eloquent\Collection $expenses + * @property-read int|null $expenses_count + * @property-read \Illuminate\Database\Eloquent\Collection $payments + * @property-read int|null $payments_count + * @method static \Illuminate\Database\Eloquent\Builder|PaymentMethod applyFilters(array $filters) + * @method static \Database\Factories\PaymentMethodFactory factory($count = null, $state = []) + * @method static \Illuminate\Database\Eloquent\Builder|PaymentMethod newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|PaymentMethod newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|PaymentMethod paginateData($limit) + * @method static \Illuminate\Database\Eloquent\Builder|PaymentMethod query() + * @method static \Illuminate\Database\Eloquent\Builder|PaymentMethod whereActive($value) + * @method static \Illuminate\Database\Eloquent\Builder|PaymentMethod whereCompany() + * @method static \Illuminate\Database\Eloquent\Builder|PaymentMethod whereCompanyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|PaymentMethod whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|PaymentMethod whereDriver($value) + * @method static \Illuminate\Database\Eloquent\Builder|PaymentMethod whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|PaymentMethod whereName($value) + * @method static \Illuminate\Database\Eloquent\Builder|PaymentMethod wherePaymentMethod($payment_id) + * @method static \Illuminate\Database\Eloquent\Builder|PaymentMethod whereSearch($search) + * @method static \Illuminate\Database\Eloquent\Builder|PaymentMethod whereSettings($value) + * @method static \Illuminate\Database\Eloquent\Builder|PaymentMethod whereType($value) + * @method static \Illuminate\Database\Eloquent\Builder|PaymentMethod whereUpdatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|PaymentMethod whereUseTestEnv($value) + */ + class PaymentMethod extends \Eloquent {} +} + +namespace App\Models{ +/** + * + * + * @property int $id + * @property string $starts_at + * @property bool $send_automatically + * @property int|null $customer_id + * @property int|null $company_id + * @property string $status + * @property string|null $next_invoice_at + * @property int|null $creator_id + * @property string $frequency + * @property string $limit_by + * @property int|null $limit_count + * @property string|null $limit_date + * @property int|null $currency_id + * @property float|null $exchange_rate + * @property string $tax_per_item + * @property string $discount_per_item + * @property string|null $notes + * @property string|null $discount_type + * @property string|null $discount + * @property int|null $discount_val + * @property int $sub_total + * @property int $total + * @property int $tax + * @property string|null $template_name + * @property int $due_amount + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property string|null $sales_tax_type + * @property string|null $sales_tax_address_type + * @property-read \App\Models\Company|null $company + * @property-read \App\Models\User|null $creator + * @property-read \App\Models\Currency|null $currency + * @property-read \App\Models\Customer|null $customer + * @property-read \Illuminate\Database\Eloquent\Collection $fields + * @property-read int|null $fields_count + * @property-read mixed $formatted_created_at + * @property-read mixed $formatted_limit_date + * @property-read mixed $formatted_next_invoice_at + * @property-read mixed $formatted_starts_at + * @property-read \Illuminate\Database\Eloquent\Collection $invoices + * @property-read int|null $invoices_count + * @property-read \Illuminate\Database\Eloquent\Collection $items + * @property-read int|null $items_count + * @property-read \Illuminate\Database\Eloquent\Collection $taxes + * @property-read int|null $taxes_count + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice applyFilters(array $filters) + * @method static \Database\Factories\RecurringInvoiceFactory factory($count = null, $state = []) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice paginateData($limit) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice query() + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice recurringInvoicesStartBetween($start, $end) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereCompany() + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereCompanyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereCreatorId($value) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereCurrencyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereCustomer($customer_id) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereCustomerId($value) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereDiscount($value) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereDiscountPerItem($value) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereDiscountType($value) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereDiscountVal($value) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereDueAmount($value) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereExchangeRate($value) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereFrequency($value) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereLimitBy($value) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereLimitCount($value) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereLimitDate($value) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereNextInvoiceAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereNotes($value) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereOrder($orderByField, $orderBy) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereSalesTaxAddressType($value) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereSalesTaxType($value) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereSearch($search) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereSendAutomatically($value) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereStartsAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereStatus($value) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereSubTotal($value) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereTax($value) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereTaxPerItem($value) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereTemplateName($value) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereTotal($value) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereUpdatedAt($value) + */ + class RecurringInvoice extends \Eloquent {} +} + +namespace App\Models{ +/** + * + * + * @property int $id + * @property string $option + * @property string|null $value + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @method static \Illuminate\Database\Eloquent\Builder|Setting newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Setting newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Setting query() + * @method static \Illuminate\Database\Eloquent\Builder|Setting whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|Setting whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Setting whereOption($value) + * @method static \Illuminate\Database\Eloquent\Builder|Setting whereUpdatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|Setting whereValue($value) + */ + class Setting extends \Eloquent {} +} + +namespace App\Models{ +/** + * + * + * @property int $id + * @property int $tax_type_id + * @property int|null $invoice_id + * @property int|null $estimate_id + * @property int|null $invoice_item_id + * @property int|null $estimate_item_id + * @property int|null $item_id + * @property int|null $company_id + * @property string $name + * @property int $amount + * @property float $percent + * @property int $compound_tax + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property string|null $exchange_rate + * @property int|null $base_amount + * @property int|null $currency_id + * @property int|null $recurring_invoice_id + * @property-read \App\Models\Currency|null $currency + * @property-read \App\Models\Estimate|null $estimate + * @property-read \App\Models\EstimateItem|null $estimateItem + * @property-read \App\Models\Invoice|null $invoice + * @property-read \App\Models\InvoiceItem|null $invoiceItem + * @property-read \App\Models\Item|null $item + * @property-read \App\Models\RecurringInvoice|null $recurringInvoice + * @property-read \App\Models\TaxType $taxType + * @method static \Database\Factories\TaxFactory factory($count = null, $state = []) + * @method static \Illuminate\Database\Eloquent\Builder|Tax invoicesBetween($start, $end) + * @method static \Illuminate\Database\Eloquent\Builder|Tax newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Tax newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Tax query() + * @method static \Illuminate\Database\Eloquent\Builder|Tax taxAttributes() + * @method static \Illuminate\Database\Eloquent\Builder|Tax whereAmount($value) + * @method static \Illuminate\Database\Eloquent\Builder|Tax whereBaseAmount($value) + * @method static \Illuminate\Database\Eloquent\Builder|Tax whereCompany($company_id) + * @method static \Illuminate\Database\Eloquent\Builder|Tax whereCompanyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Tax whereCompoundTax($value) + * @method static \Illuminate\Database\Eloquent\Builder|Tax whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|Tax whereCurrencyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Tax whereEstimateId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Tax whereEstimateItemId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Tax whereExchangeRate($value) + * @method static \Illuminate\Database\Eloquent\Builder|Tax whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Tax whereInvoiceId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Tax whereInvoiceItemId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Tax whereInvoicesFilters(array $filters) + * @method static \Illuminate\Database\Eloquent\Builder|Tax whereItemId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Tax whereName($value) + * @method static \Illuminate\Database\Eloquent\Builder|Tax wherePercent($value) + * @method static \Illuminate\Database\Eloquent\Builder|Tax whereRecurringInvoiceId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Tax whereTaxTypeId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Tax whereUpdatedAt($value) + */ + class Tax extends \Eloquent {} +} + +namespace App\Models{ +/** + * + * + * @property int $id + * @property string $name + * @property float $percent + * @property bool $compound_tax + * @property int $collective_tax + * @property string|null $description + * @property int|null $company_id + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property string $type + * @property-read \App\Models\Company|null $company + * @property-read \Illuminate\Database\Eloquent\Collection $taxes + * @property-read int|null $taxes_count + * @method static \Illuminate\Database\Eloquent\Builder|TaxType applyFilters(array $filters) + * @method static \Database\Factories\TaxTypeFactory factory($count = null, $state = []) + * @method static \Illuminate\Database\Eloquent\Builder|TaxType newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|TaxType newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|TaxType paginateData($limit) + * @method static \Illuminate\Database\Eloquent\Builder|TaxType query() + * @method static \Illuminate\Database\Eloquent\Builder|TaxType whereCollectiveTax($value) + * @method static \Illuminate\Database\Eloquent\Builder|TaxType whereCompany() + * @method static \Illuminate\Database\Eloquent\Builder|TaxType whereCompanyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|TaxType whereCompoundTax($value) + * @method static \Illuminate\Database\Eloquent\Builder|TaxType whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|TaxType whereDescription($value) + * @method static \Illuminate\Database\Eloquent\Builder|TaxType whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|TaxType whereName($value) + * @method static \Illuminate\Database\Eloquent\Builder|TaxType whereOrder($orderByField, $orderBy) + * @method static \Illuminate\Database\Eloquent\Builder|TaxType wherePercent($value) + * @method static \Illuminate\Database\Eloquent\Builder|TaxType whereSearch($search) + * @method static \Illuminate\Database\Eloquent\Builder|TaxType whereTaxType($tax_type_id) + * @method static \Illuminate\Database\Eloquent\Builder|TaxType whereType($value) + * @method static \Illuminate\Database\Eloquent\Builder|TaxType whereUpdatedAt($value) + */ + class TaxType extends \Eloquent {} +} + +namespace App\Models{ +/** + * + * + * @property int $id + * @property string|null $transaction_id + * @property string|null $unique_hash + * @property string|null $type + * @property string $status + * @property string $transaction_date + * @property int|null $company_id + * @property int $invoice_id + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property-read \App\Models\Company|null $company + * @property-read \App\Models\Invoice $invoice + * @property-read \Illuminate\Database\Eloquent\Collection $payments + * @property-read int|null $payments_count + * @method static \Illuminate\Database\Eloquent\Builder|Transaction newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Transaction newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Transaction query() + * @method static \Illuminate\Database\Eloquent\Builder|Transaction whereCompanyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Transaction whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|Transaction whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Transaction whereInvoiceId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Transaction whereStatus($value) + * @method static \Illuminate\Database\Eloquent\Builder|Transaction whereTransactionDate($value) + * @method static \Illuminate\Database\Eloquent\Builder|Transaction whereTransactionId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Transaction whereType($value) + * @method static \Illuminate\Database\Eloquent\Builder|Transaction whereUniqueHash($value) + * @method static \Illuminate\Database\Eloquent\Builder|Transaction whereUpdatedAt($value) + */ + class Transaction extends \Eloquent {} +} + +namespace App\Models{ +/** + * + * + * @property int $id + * @property string $name + * @property int|null $company_id + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property-read \App\Models\Company|null $company + * @property-read \Illuminate\Database\Eloquent\Collection $items + * @property-read int|null $items_count + * @method static \Illuminate\Database\Eloquent\Builder|Unit applyFilters(array $filters) + * @method static \Database\Factories\UnitFactory factory($count = null, $state = []) + * @method static \Illuminate\Database\Eloquent\Builder|Unit newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Unit newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Unit paginateData($limit) + * @method static \Illuminate\Database\Eloquent\Builder|Unit query() + * @method static \Illuminate\Database\Eloquent\Builder|Unit whereCompany() + * @method static \Illuminate\Database\Eloquent\Builder|Unit whereCompanyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Unit whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|Unit whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Unit whereName($value) + * @method static \Illuminate\Database\Eloquent\Builder|Unit whereSearch($search) + * @method static \Illuminate\Database\Eloquent\Builder|Unit whereUnit($unit_id) + * @method static \Illuminate\Database\Eloquent\Builder|Unit whereUpdatedAt($value) + */ + class Unit extends \Eloquent {} +} + +namespace App\Models{ +/** + * + * + * @property int $id + * @property string $name + * @property string|null $email + * @property string|null $phone + * @property string|null $password + * @property string $role + * @property string|null $remember_token + * @property string|null $facebook_id + * @property string|null $google_id + * @property string|null $github_id + * @property string|null $contact_name + * @property string|null $company_name + * @property string|null $website + * @property int|null $enable_portal + * @property int|null $currency_id + * @property int|null $company_id + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property int|null $creator_id + * @property-read \Illuminate\Database\Eloquent\Collection $abilities + * @property-read int|null $abilities_count + * @property-read \Illuminate\Database\Eloquent\Collection $addresses + * @property-read int|null $addresses_count + * @property-read \App\Models\Address|null $billingAddress + * @property-read \Illuminate\Database\Eloquent\Collection $companies + * @property-read int|null $companies_count + * @property-read User|null $creator + * @property-read \App\Models\Currency|null $currency + * @property-read \Illuminate\Database\Eloquent\Collection $customers + * @property-read int|null $customers_count + * @property-read \Illuminate\Database\Eloquent\Collection $estimates + * @property-read int|null $estimates_count + * @property-read \Illuminate\Database\Eloquent\Collection $expenses + * @property-read int|null $expenses_count + * @property-read \Illuminate\Database\Eloquent\Collection $fields + * @property-read int|null $fields_count + * @property-read mixed $avatar + * @property-read mixed $formatted_created_at + * @property-read \Illuminate\Database\Eloquent\Collection $invoices + * @property-read int|null $invoices_count + * @property-read \Illuminate\Database\Eloquent\Collection $items + * @property-read int|null $items_count + * @property-read \Spatie\MediaLibrary\MediaCollections\Models\Collections\MediaCollection $media + * @property-read int|null $media_count + * @property-read \Illuminate\Notifications\DatabaseNotificationCollection $notifications + * @property-read int|null $notifications_count + * @property-read \Illuminate\Database\Eloquent\Collection $payments + * @property-read int|null $payments_count + * @property-read \Illuminate\Database\Eloquent\Collection $recurringInvoices + * @property-read int|null $recurring_invoices_count + * @property-read \Illuminate\Database\Eloquent\Collection $roles + * @property-read int|null $roles_count + * @property-read \Illuminate\Database\Eloquent\Collection $settings + * @property-read int|null $settings_count + * @property-read \App\Models\Address|null $shippingAddress + * @property-read \Illuminate\Database\Eloquent\Collection $tokens + * @property-read int|null $tokens_count + * @method static \Illuminate\Database\Eloquent\Builder|User applyFilters(array $filters) + * @method static \Illuminate\Database\Eloquent\Builder|User applyInvoiceFilters(array $filters) + * @method static \Database\Factories\UserFactory factory($count = null, $state = []) + * @method static \Illuminate\Database\Eloquent\Builder|User invoicesBetween($start, $end) + * @method static \Illuminate\Database\Eloquent\Builder|User newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|User newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|User paginateData($limit) + * @method static \Illuminate\Database\Eloquent\Builder|User query() + * @method static \Illuminate\Database\Eloquent\Builder|User whereCompanyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|User whereCompanyName($value) + * @method static \Illuminate\Database\Eloquent\Builder|User whereContactName($value) + * @method static \Illuminate\Database\Eloquent\Builder|User whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|User whereCreatorId($value) + * @method static \Illuminate\Database\Eloquent\Builder|User whereCurrencyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|User whereDisplayName($displayName) + * @method static \Illuminate\Database\Eloquent\Builder|User whereEmail($value) + * @method static \Illuminate\Database\Eloquent\Builder|User whereEnablePortal($value) + * @method static \Illuminate\Database\Eloquent\Builder|User whereFacebookId($value) + * @method static \Illuminate\Database\Eloquent\Builder|User whereGithubId($value) + * @method static \Illuminate\Database\Eloquent\Builder|User whereGoogleId($value) + * @method static \Illuminate\Database\Eloquent\Builder|User whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|User whereIs($role) + * @method static \Illuminate\Database\Eloquent\Builder|User whereIsAll($role) + * @method static \Illuminate\Database\Eloquent\Builder|User whereIsNot($role) + * @method static \Illuminate\Database\Eloquent\Builder|User whereName($value) + * @method static \Illuminate\Database\Eloquent\Builder|User whereOrder($orderByField, $orderBy) + * @method static \Illuminate\Database\Eloquent\Builder|User wherePassword($value) + * @method static \Illuminate\Database\Eloquent\Builder|User wherePhone($value) + * @method static \Illuminate\Database\Eloquent\Builder|User whereRememberToken($value) + * @method static \Illuminate\Database\Eloquent\Builder|User whereRole($value) + * @method static \Illuminate\Database\Eloquent\Builder|User whereSearch($search) + * @method static \Illuminate\Database\Eloquent\Builder|User whereSuperAdmin() + * @method static \Illuminate\Database\Eloquent\Builder|User whereUpdatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|User whereWebsite($value) + */ + class User extends \Eloquent implements \Spatie\MediaLibrary\HasMedia {} +} + +namespace App\Models{ +/** + * + * + * @property int $id + * @property string $key + * @property string $value + * @property int $user_id + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property-read \App\Models\User $user + * @method static \Illuminate\Database\Eloquent\Builder|UserSetting newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|UserSetting newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|UserSetting query() + * @method static \Illuminate\Database\Eloquent\Builder|UserSetting whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|UserSetting whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|UserSetting whereKey($value) + * @method static \Illuminate\Database\Eloquent\Builder|UserSetting whereUpdatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|UserSetting whereUserId($value) + * @method static \Illuminate\Database\Eloquent\Builder|UserSetting whereValue($value) + */ + class UserSetting extends \Eloquent {} +} + diff --git a/app/Console/Commands/CreateTemplateCommand.php b/app/Console/Commands/CreateTemplateCommand.php index a4f22104..18c2b5b0 100644 --- a/app/Console/Commands/CreateTemplateCommand.php +++ b/app/Console/Commands/CreateTemplateCommand.php @@ -2,8 +2,11 @@ namespace App\Console\Commands; +use App\Space\PdfTemplateUtils; use Illuminate\Console\Command; +use Illuminate\Support\Facades\File; use Illuminate\Support\Facades\Storage; +use Illuminate\Support\Str; class CreateTemplateCommand extends Command { @@ -37,25 +40,53 @@ class CreateTemplateCommand extends Command public function handle(): int { $templateName = $this->argument('name'); - $type = $this->option('type'); + $templateType = $this->option('type'); - if (! $type) { - $type = $this->choice('Create a template for?', ['invoice', 'estimate']); + if (! $templateType) { + $templateType = $this->choice('Create a template for?', ['invoice', 'estimate']); } - if (Storage::disk('views')->exists("/app/pdf/{$type}/{$templateName}.blade.php")) { + if (PdfTemplateUtils::customTemplateFileExists($templateType, sprintf('%s.blade.php', $templateName))) { $this->info('Template with given name already exists.'); - return 0; + return self::INVALID; } - Storage::disk('views')->copy("/app/pdf/{$type}/{$type}1.blade.php", "/app/pdf/{$type}/{$templateName}.blade.php"); - copy(resource_path("static/img/PDF/{$type}1.png"), resource_path("static/img/PDF/{$templateName}.png")); + if (! PdfTemplateUtils::toCustomTemplateMarkupFile( + Str::replace( + sprintf('app.pdf.%s', $templateType), + sprintf('pdf_templates::%s', $templateType), + Storage::disk('views')->get("/app/pdf/{$templateType}/{$templateType}1.blade.php"), + ), + $templateType, + $templateName + )) { + $this->error(sprintf('Unable to create %s template.', ucfirst($templateType))); - $path = resource_path("views/app/pdf/{$type}/{$templateName}.blade.php"); - $type = ucfirst($type); - $this->info("{$type} Template created successfully at ".$path); + return self::FAILURE; + } - return 0; + PdfTemplateUtils::toCustomTemplateImageFile( + File::get(resource_path("static/img/PDF/{$templateType}1.png")), + $templateType, + $templateName, + ); + + if (! PdfTemplateUtils::customTemplateFileExists($templateType, 'partials/table.blade.php')) { + PdfTemplateUtils::toCustomTemplateFile( + Storage::disk('views')->get("/app/pdf/{$templateType}/partials/table.blade.php"), + $templateType, + 'partials/table.blade.php' + ); + } + + $this->info( + sprintf('%s Template created successfully at %s', + ucfirst($templateType), + PdfTemplateUtils::getCustomTemplateFilePath($templateType, sprintf('%s.blade.php', $templateName)) + ) + ); + + return self::SUCCESS; } } diff --git a/app/Console/Commands/UpdateCommand.php b/app/Console/Commands/UpdateCommand.php index 916ef627..6a23e0fc 100644 --- a/app/Console/Commands/UpdateCommand.php +++ b/app/Console/Commands/UpdateCommand.php @@ -2,7 +2,6 @@ namespace App\Console\Commands; -use App\Models\Setting; use App\Space\Updater; use Illuminate\Console\Command; @@ -98,7 +97,7 @@ class UpdateCommand extends Command public function getInstalledVersion() { - return Setting::getSetting('version'); + return preg_replace('~[\r\n]+~', '', File::get(base_path('version.md'))); } public function getLatestVersionResponse() diff --git a/app/Facades/PDF.php b/app/Facades/PDF.php new file mode 100644 index 00000000..b0c769d3 --- /dev/null +++ b/app/Facades/PDF.php @@ -0,0 +1,16 @@ +authorize('manage backups'); $validated = $request->validate([ - 'path' => ['required', new PathToZip()], + 'path' => ['required', new PathToZip], ]); $backupDestination = BackupDestination::create(config('filesystems.default'), config('backup.backup.name')); diff --git a/app/Http/Controllers/V1/Admin/Backup/DownloadBackupController.php b/app/Http/Controllers/V1/Admin/Backup/DownloadBackupController.php index fd443e11..6af22827 100644 --- a/app/Http/Controllers/V1/Admin/Backup/DownloadBackupController.php +++ b/app/Http/Controllers/V1/Admin/Backup/DownloadBackupController.php @@ -18,7 +18,7 @@ class DownloadBackupController extends ApiController $this->authorize('manage backups'); $validated = $request->validate([ - 'path' => ['required', new PathToZip()], + 'path' => ['required', new PathToZip], ]); $backupDestination = BackupDestination::create(config('filesystems.default'), config('backup.backup.name')); diff --git a/app/Http/Controllers/V1/Admin/Estimate/CloneEstimateController.php b/app/Http/Controllers/V1/Admin/Estimate/CloneEstimateController.php index 0f35f7a8..2062f64d 100644 --- a/app/Http/Controllers/V1/Admin/Estimate/CloneEstimateController.php +++ b/app/Http/Controllers/V1/Admin/Estimate/CloneEstimateController.php @@ -24,7 +24,7 @@ class CloneEstimateController extends Controller $date = Carbon::now(); - $serial = (new SerialNumberFormatter()) + $serial = (new SerialNumberFormatter) ->setModel($estimate) ->setCompany($estimate->company_id) ->setCustomer($estimate->customer_id) diff --git a/app/Http/Controllers/V1/Admin/Estimate/ConvertEstimateController.php b/app/Http/Controllers/V1/Admin/Estimate/ConvertEstimateController.php index 85d85451..fd8d2051 100644 --- a/app/Http/Controllers/V1/Admin/Estimate/ConvertEstimateController.php +++ b/app/Http/Controllers/V1/Admin/Estimate/ConvertEstimateController.php @@ -42,7 +42,7 @@ class ConvertEstimateController extends Controller $due_date = Carbon::now()->addDays($dueDateDays)->format('Y-m-d'); } - $serial = (new SerialNumberFormatter()) + $serial = (new SerialNumberFormatter) ->setModel($invoice) ->setCompany($estimate->company_id) ->setCustomer($estimate->customer_id) diff --git a/app/Http/Controllers/V1/Admin/Estimate/EstimateTemplatesController.php b/app/Http/Controllers/V1/Admin/Estimate/EstimateTemplatesController.php index 6a4b1aa8..d76cedd4 100644 --- a/app/Http/Controllers/V1/Admin/Estimate/EstimateTemplatesController.php +++ b/app/Http/Controllers/V1/Admin/Estimate/EstimateTemplatesController.php @@ -4,6 +4,8 @@ namespace App\Http\Controllers\V1\Admin\Estimate; use App\Http\Controllers\Controller; use App\Models\Estimate; +use App\Space\PdfTemplateUtils; +use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; class EstimateTemplatesController extends Controller @@ -11,13 +13,13 @@ class EstimateTemplatesController extends Controller /** * Handle the incoming request. * - * @return \Illuminate\Http\Response + * @return JsonResponse */ public function __invoke(Request $request) { $this->authorize('viewAny', Estimate::class); - $estimateTemplates = Estimate::estimateTemplates(); + $estimateTemplates = PdfTemplateUtils::getFormattedTemplates('estimate'); return response()->json([ 'estimateTemplates' => $estimateTemplates, diff --git a/app/Http/Controllers/V1/Admin/General/NextNumberController.php b/app/Http/Controllers/V1/Admin/General/NextNumberController.php index f65cd934..e917337a 100644 --- a/app/Http/Controllers/V1/Admin/General/NextNumberController.php +++ b/app/Http/Controllers/V1/Admin/General/NextNumberController.php @@ -20,7 +20,7 @@ class NextNumberController extends Controller { $key = $request->key; $nextNumber = null; - $serial = (new SerialNumberFormatter()) + $serial = (new SerialNumberFormatter) ->setCompany($request->header('company')) ->setCustomer($request->userId); diff --git a/app/Http/Controllers/V1/Admin/General/NotesController.php b/app/Http/Controllers/V1/Admin/General/NotesController.php index cef1d905..88c1110e 100644 --- a/app/Http/Controllers/V1/Admin/General/NotesController.php +++ b/app/Http/Controllers/V1/Admin/General/NotesController.php @@ -41,6 +41,15 @@ class NotesController extends Controller $note = Note::create($request->getNotesPayload()); + if ($note->is_default) { + Note::where('id', '!=', $note->id) + ->where('type', $note->type) + ->where('is_default', true) + ->update([ + 'is_default' => false, + ]); + } + return new NoteResource($note); } @@ -68,6 +77,15 @@ class NotesController extends Controller $note->update($request->getNotesPayload()); + if ($note->is_default) { + Note::where('id', '!=', $note->id) + ->where('type', $note->type) + ->where('is_default', true) + ->update([ + 'is_default' => false, + ]); + } + return new NoteResource($note); } diff --git a/app/Http/Controllers/V1/Admin/Invoice/CloneInvoiceController.php b/app/Http/Controllers/V1/Admin/Invoice/CloneInvoiceController.php index e432f57d..8804c6c7 100644 --- a/app/Http/Controllers/V1/Admin/Invoice/CloneInvoiceController.php +++ b/app/Http/Controllers/V1/Admin/Invoice/CloneInvoiceController.php @@ -24,7 +24,7 @@ class CloneInvoiceController extends Controller $date = Carbon::now(); - $serial = (new SerialNumberFormatter()) + $serial = (new SerialNumberFormatter) ->setModel($invoice) ->setCompany($invoice->company_id) ->setCustomer($invoice->customer_id) diff --git a/app/Http/Controllers/V1/Admin/Invoice/InvoiceTemplatesController.php b/app/Http/Controllers/V1/Admin/Invoice/InvoiceTemplatesController.php index 2bc845aa..c618d93d 100644 --- a/app/Http/Controllers/V1/Admin/Invoice/InvoiceTemplatesController.php +++ b/app/Http/Controllers/V1/Admin/Invoice/InvoiceTemplatesController.php @@ -4,6 +4,9 @@ namespace App\Http\Controllers\V1\Admin\Invoice; use App\Http\Controllers\Controller; use App\Models\Invoice; +use App\Space\PdfTemplateUtils; +use Illuminate\Auth\Access\AuthorizationException; +use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; class InvoiceTemplatesController extends Controller @@ -11,13 +14,16 @@ class InvoiceTemplatesController extends Controller /** * Handle the incoming request. * - * @return \Illuminate\Http\Response + * + * @return JsonResponse + * + * @throws AuthorizationException */ public function __invoke(Request $request) { $this->authorize('viewAny', Invoice::class); - $invoiceTemplates = Invoice::invoiceTemplates(); + $invoiceTemplates = PdfTemplateUtils::getFormattedTemplates('invoice'); return response()->json([ 'invoiceTemplates' => $invoiceTemplates, diff --git a/app/Http/Controllers/V1/Admin/Settings/MailConfigurationController.php b/app/Http/Controllers/V1/Admin/Settings/MailConfigurationController.php index 9b47211e..a0de314b 100755 --- a/app/Http/Controllers/V1/Admin/Settings/MailConfigurationController.php +++ b/app/Http/Controllers/V1/Admin/Settings/MailConfigurationController.php @@ -58,6 +58,7 @@ class MailConfigurationController extends Controller 'mail_mailgun_secret' => config('services.mailgun.secret'), 'mail_ses_key' => config('services.ses.key'), 'mail_ses_secret' => config('services.ses.secret'), + 'mail_ses_region' => config('services.ses.region'), ]; return response()->json($MailData); diff --git a/app/Http/Controllers/V1/Admin/Settings/PDFConfigurationController.php b/app/Http/Controllers/V1/Admin/Settings/PDFConfigurationController.php new file mode 100644 index 00000000..61212098 --- /dev/null +++ b/app/Http/Controllers/V1/Admin/Settings/PDFConfigurationController.php @@ -0,0 +1,54 @@ +environmentManager = $environmentManager; + } + + public function getDrivers() + { + $this->authorize('manage pdf config'); + + $drivers = [ + 'dompdf', + 'gotenberg', + ]; + + return response()->json($drivers); + } + + public function getEnvironment() + { + $this->authorize('manage pdf config'); + + $config = [ + 'pdf_driver' => config('pdf.driver'), + 'gotenberg_host' => config('pdf.gotenberg.host'), + 'gotenberg_margins' => config('pdf.gotenberg.margins'), + 'gotenberg_papersize' => config('pdf.gotenberg.papersize'), + ]; + + return response()->json($config); + } + + public function saveEnvironment(PDFConfigurationRequest $request) + { + $this->authorize('manage pdf config'); + $results = $this->environmentManager->savePDFVariables($request); + + return response()->json($results); + } +} diff --git a/app/Http/Controllers/V1/Admin/Update/CheckVersionController.php b/app/Http/Controllers/V1/Admin/Update/CheckVersionController.php index a3bbc2ac..7a53fe84 100644 --- a/app/Http/Controllers/V1/Admin/Update/CheckVersionController.php +++ b/app/Http/Controllers/V1/Admin/Update/CheckVersionController.php @@ -3,9 +3,9 @@ namespace App\Http\Controllers\V1\Admin\Update; use App\Http\Controllers\Controller; -use App\Models\Setting; use App\Space\Updater; use Illuminate\Http\Request; +use Illuminate\Support\Facades\File; class CheckVersionController extends Controller { @@ -26,7 +26,8 @@ class CheckVersionController extends Controller set_time_limit(600); // 10 minutes $channel = $request->get('channel', 'stable'); - $response = Updater::checkForUpdate(Setting::getSetting('version'), $channel); + $version = preg_replace('~[\r\n]+~', '', File::get(base_path('version.md'))); + $response = Updater::checkForUpdate($version, $channel); return response()->json($response); } diff --git a/app/Http/Controllers/V1/Installation/AppDomainController.php b/app/Http/Controllers/V1/Installation/AppDomainController.php index 3e3af638..28ddb696 100644 --- a/app/Http/Controllers/V1/Installation/AppDomainController.php +++ b/app/Http/Controllers/V1/Installation/AppDomainController.php @@ -13,7 +13,7 @@ class AppDomainController extends Controller { Artisan::call('optimize:clear'); - $environmentManager = new EnvironmentManager(); + $environmentManager = new EnvironmentManager; $results = $environmentManager->saveDomainVariables($request); diff --git a/app/Http/Requests/NotesRequest.php b/app/Http/Requests/NotesRequest.php index a1c16be9..9dc54ffe 100644 --- a/app/Http/Requests/NotesRequest.php +++ b/app/Http/Requests/NotesRequest.php @@ -33,6 +33,9 @@ class NotesRequest extends FormRequest 'notes' => [ 'required', ], + 'is_default' => [ + 'required', + ], ]; if ($this->isMethod('PUT')) { diff --git a/app/Http/Requests/PDFConfigurationRequest.php b/app/Http/Requests/PDFConfigurationRequest.php new file mode 100644 index 00000000..19f4dd85 --- /dev/null +++ b/app/Http/Requests/PDFConfigurationRequest.php @@ -0,0 +1,57 @@ +get('pdf_driver')) { + case 'dompdf': + return [ + 'pdf_driver' => [ + 'required', + 'string', + ], + ]; + break; + + case 'gotenberg': + return [ + 'pdf_driver' => [ + 'required', + 'string', + ], + 'gotenberg_host' => [ + 'required', + 'url', + ], + 'gotenberg_papersize' => [ + function ($attribute, $value, $fail) { + ($attribute); // unused + $reg = "/^\d+(pt|px|pc|mm|cm|in) \d+(pt|px|pc|mm|cm|in)$/"; + if (! preg_match($reg, $value)) { + $fail('Invalid papersize, must be in format "210mm 297mm". Accepts: pt,px,pc,mm,cm,in'); + } + }, + ], + ]; + + break; + } + throw new \InvalidArgumentException('Invalid PDFDriver requested'); + } +} diff --git a/app/Http/Requests/TaxTypeRequest.php b/app/Http/Requests/TaxTypeRequest.php index 63605c4c..c16be432 100644 --- a/app/Http/Requests/TaxTypeRequest.php +++ b/app/Http/Requests/TaxTypeRequest.php @@ -28,8 +28,17 @@ class TaxTypeRequest extends FormRequest ->where('type', TaxType::TYPE_GENERAL) ->where('company_id', $this->header('company')), ], - 'percent' => [ + 'calculation_type' => [ 'required', + Rule::in(['percentage', 'fixed']), + ], + 'percent' => [ + 'nullable', + 'numeric', + ], + 'fixed_amount' => [ + 'nullable', + 'numeric', ], 'description' => [ 'nullable', diff --git a/app/Http/Resources/NoteResource.php b/app/Http/Resources/NoteResource.php index 337863c3..1619d333 100644 --- a/app/Http/Resources/NoteResource.php +++ b/app/Http/Resources/NoteResource.php @@ -18,6 +18,7 @@ class NoteResource extends JsonResource 'type' => $this->type, 'name' => $this->name, 'notes' => $this->notes, + 'is_default' => $this->is_default, 'company' => $this->when($this->company()->exists(), function () { return new CompanyResource($this->company); }), diff --git a/app/Http/Resources/TaxResource.php b/app/Http/Resources/TaxResource.php index fe330850..d6e5ca61 100644 --- a/app/Http/Resources/TaxResource.php +++ b/app/Http/Resources/TaxResource.php @@ -25,6 +25,8 @@ class TaxResource extends JsonResource 'name' => $this->name, 'amount' => $this->amount, 'percent' => $this->percent, + 'calculation_type' => $this->calculation_type, + 'fixed_amount' => $this->fixed_amount, 'compound_tax' => $this->compound_tax, 'base_amount' => $this->base_amount, 'currency_id' => $this->currency_id, diff --git a/app/Http/Resources/TaxTypeResource.php b/app/Http/Resources/TaxTypeResource.php index 4a735205..a553c647 100644 --- a/app/Http/Resources/TaxTypeResource.php +++ b/app/Http/Resources/TaxTypeResource.php @@ -17,6 +17,8 @@ class TaxTypeResource extends JsonResource 'id' => $this->id, 'name' => $this->name, 'percent' => $this->percent, + 'fixed_amount' => $this->fixed_amount, + 'calculation_type' => $this->calculation_type, 'type' => $this->type, 'compound_tax' => $this->compound_tax, 'collective_tax' => $this->collective_tax, diff --git a/app/Models/Estimate.php b/app/Models/Estimate.php index 395fee5b..6d4d4c31 100644 --- a/app/Models/Estimate.php +++ b/app/Models/Estimate.php @@ -3,19 +3,18 @@ namespace App\Models; use App; +use App\Facades\PDF; use App\Mail\SendEstimateMail; use App\Services\SerialNumberFormatter; +use App\Space\PdfTemplateUtils; use App\Traits\GeneratesPdfTrait; use App\Traits\HasCustomFieldsTrait; -use Barryvdh\DomPDF\Facade\Pdf as PDF; use Carbon\Carbon; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\Relations\MorphMany; -use Illuminate\Support\Facades\Storage; -use Illuminate\Support\Facades\Vite; use Illuminate\Support\Str; use Spatie\MediaLibrary\HasMedia; use Spatie\MediaLibrary\InteractsWithMedia; @@ -227,7 +226,7 @@ class Estimate extends Model implements HasMedia $estimate = self::create($data); $estimate->unique_hash = Hashids::connection(Estimate::class)->encode($estimate->id); - $serial = (new SerialNumberFormatter()) + $serial = (new SerialNumberFormatter) ->setModel($estimate) ->setCompany($estimate->company_id) ->setCustomer($estimate->customer_id) @@ -262,7 +261,7 @@ class Estimate extends Model implements HasMedia { $data = $request->getEstimatePayload(); - $serial = (new SerialNumberFormatter()) + $serial = (new SerialNumberFormatter) ->setModel($this) ->setCompany($this->company_id) ->setCustomer($request->customer_id) @@ -424,11 +423,14 @@ class Estimate extends Model implements HasMedia 'taxes' => $taxes, ]); + $template = PdfTemplateUtils::findFormattedTemplate('estimate', $estimateTemplate, ''); + $templatePath = $template['custom'] ? sprintf('pdf_templates::estimate.%s', $estimateTemplate) : sprintf('app.pdf.estimate.%s', $estimateTemplate); + if (request()->has('preview')) { - return view('app.pdf.estimate.'.$estimateTemplate); + return view($templatePath); } - return PDF::loadView('app.pdf.estimate.'.$estimateTemplate); + return PDF::loadView($templatePath); } public function getCompanyAddress() @@ -499,27 +501,13 @@ class Estimate extends Model implements HasMedia ]; } - public static function estimateTemplates() - { - $templates = Storage::disk('views')->files('/app/pdf/estimate'); - $estimateTemplates = []; - - foreach ($templates as $key => $template) { - $templateName = Str::before(basename($template), '.blade.php'); - $estimateTemplates[$key]['name'] = $templateName; - $estimateTemplates[$key]['path'] = Vite::asset('resources/static/img/PDF/'.$templateName.'.png'); - } - - return $estimateTemplates; - } - public function getInvoiceTemplateName() { $templateName = Str::replace('estimate', 'invoice', $this->template_name); $name = []; - foreach (Invoice::invoiceTemplates() as $template) { + foreach (PdfTemplateUtils::getFormattedTemplates('invoice') as $template) { $name[] = $template['name']; } diff --git a/app/Models/Invoice.php b/app/Models/Invoice.php index e4bc504d..ae24c30a 100644 --- a/app/Models/Invoice.php +++ b/app/Models/Invoice.php @@ -3,20 +3,18 @@ namespace App\Models; use App; +use App\Facades\PDF; use App\Mail\SendInvoiceMail; use App\Services\SerialNumberFormatter; -use App\Space\ImageUtils; +use App\Space\PdfTemplateUtils; use App\Traits\GeneratesPdfTrait; use App\Traits\HasCustomFieldsTrait; -use Barryvdh\DomPDF\Facade\Pdf as PDF; use Carbon\Carbon; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\Relations\MorphMany; -use Illuminate\Support\Facades\Storage; -use Illuminate\Support\Str; use Nwidart\Modules\Facades\Module; use Spatie\MediaLibrary\HasMedia; use Spatie\MediaLibrary\InteractsWithMedia; @@ -323,7 +321,7 @@ class Invoice extends Model implements HasMedia $invoice = Invoice::create($data); - $serial = (new SerialNumberFormatter()) + $serial = (new SerialNumberFormatter) ->setModel($invoice) ->setCompany($invoice->company_id) ->setCustomer($invoice->customer_id) @@ -364,7 +362,7 @@ class Invoice extends Model implements HasMedia public function updateInvoice($request) { - $serial = (new SerialNumberFormatter()) + $serial = (new SerialNumberFormatter) ->setModel($this) ->setCompany($this->company_id) ->setCustomer($request->customer_id) @@ -523,6 +521,7 @@ class Invoice extends Model implements HasMedia public static function createTaxes($invoice, $taxes) { + $exchange_rate = $invoice->exchange_rate; foreach ($taxes as $tax) { @@ -582,11 +581,14 @@ class Invoice extends Model implements HasMedia 'taxes' => $taxes, ]); + $template = PdfTemplateUtils::findFormattedTemplate('invoice', $invoiceTemplate, ''); + $templatePath = $template['custom'] ? sprintf('pdf_templates::invoice.%s', $invoiceTemplate) : sprintf('app.pdf.invoice.%s', $invoiceTemplate); + if (request()->has('preview')) { - return view('app.pdf.invoice.'.$invoiceTemplate); + return view($templatePath); } - return PDF::loadView('app.pdf.invoice.'.$invoiceTemplate); + return PDF::loadView($templatePath); } public function getEmailAttachmentSetting() @@ -657,20 +659,6 @@ class Invoice extends Model implements HasMedia ]; } - public static function invoiceTemplates() - { - $templates = Storage::disk('views')->files('/app/pdf/invoice'); - $invoiceTemplates = []; - - foreach ($templates as $key => $template) { - $templateName = Str::before(basename($template), '.blade.php'); - $invoiceTemplates[$key]['name'] = $templateName; - $invoiceTemplates[$key]['path'] = ImageUtils::toBase64Src(resource_path('static/img/PDF/'.$templateName.'.png')); - } - - return $invoiceTemplates; - } - public function addInvoicePayment($amount) { $this->due_amount += $amount; diff --git a/app/Models/Payment.php b/app/Models/Payment.php index be7cb407..ac9506c6 100644 --- a/app/Models/Payment.php +++ b/app/Models/Payment.php @@ -163,7 +163,7 @@ class Payment extends Model implements HasMedia $payment = Payment::create($data); $payment->unique_hash = Hashids::connection(Payment::class)->encode($payment->id); - $serial = (new SerialNumberFormatter()) + $serial = (new SerialNumberFormatter) ->setModel($payment) ->setCompany($payment->company_id) ->setCustomer($payment->customer_id) @@ -215,7 +215,7 @@ class Payment extends Model implements HasMedia $invoice->subtractInvoicePayment($request->amount); } - $serial = (new SerialNumberFormatter()) + $serial = (new SerialNumberFormatter) ->setModel($this) ->setCompany($this->company_id) ->setCustomer($request->customer_id) @@ -452,8 +452,8 @@ class Payment extends Model implements HasMedia { $invoice = Invoice::find($transaction->invoice_id); - $serial = (new SerialNumberFormatter()) - ->setModel(new Payment()) + $serial = (new SerialNumberFormatter) + ->setModel(new Payment) ->setCompany($invoice->company_id) ->setCustomer($invoice->customer_id) ->setNextNumbers(); diff --git a/app/Models/RecurringInvoice.php b/app/Models/RecurringInvoice.php index 70b7a4ed..fa4a6646 100644 --- a/app/Models/RecurringInvoice.php +++ b/app/Models/RecurringInvoice.php @@ -307,9 +307,9 @@ class RecurringInvoice extends Model public function createInvoice() { - //get invoice_number - $serial = (new SerialNumberFormatter()) - ->setModel(new Invoice()) + // get invoice_number + $serial = (new SerialNumberFormatter) + ->setModel(new Invoice) ->setCompany($this->company_id) ->setCustomer($this->customer_id) ->setNextNumbers(); @@ -375,7 +375,7 @@ class RecurringInvoice extends Model $invoice->addCustomFields($customField); } - //send automatically + // send automatically if ($this->send_automatically == true) { $data = [ 'body' => CompanySetting::getSetting('invoice_mail_body', $this->company_id), diff --git a/app/Models/Setting.php b/app/Models/Setting.php index 5031d3c0..203b0c56 100644 --- a/app/Models/Setting.php +++ b/app/Models/Setting.php @@ -22,7 +22,7 @@ class Setting extends Model return; } - $set = new Setting(); + $set = new Setting; $set->option = $key; $set->value = $setting; $set->save(); diff --git a/app/Models/Tax.php b/app/Models/Tax.php index c4711123..ae5682c6 100644 --- a/app/Models/Tax.php +++ b/app/Models/Tax.php @@ -21,6 +21,7 @@ class Tax extends Model return [ 'amount' => 'integer', 'percent' => 'float', + 'fixed_amount' => 'integer', ]; } diff --git a/app/Models/TaxType.php b/app/Models/TaxType.php index 30dc7392..85480f0e 100644 --- a/app/Models/TaxType.php +++ b/app/Models/TaxType.php @@ -19,6 +19,7 @@ class TaxType extends Model { return [ 'percent' => 'float', + 'fixed_amount' => 'integer', 'compound_tax' => 'boolean', ]; } diff --git a/app/Notifications/CustomerMailResetPasswordNotification.php b/app/Notifications/CustomerMailResetPasswordNotification.php index f33b39c6..54149919 100644 --- a/app/Notifications/CustomerMailResetPasswordNotification.php +++ b/app/Notifications/CustomerMailResetPasswordNotification.php @@ -40,7 +40,7 @@ class CustomerMailResetPasswordNotification extends ResetPassword { $link = url("/{$notifiable->company->slug}/customer/reset/password/".$this->token); - return (new MailMessage()) + return (new MailMessage) ->subject('Reset Password Notification') ->line('Hello! You are receiving this email because we received a password reset request for your account.') ->action('Reset Password', $link) diff --git a/app/Notifications/MailResetPasswordNotification.php b/app/Notifications/MailResetPasswordNotification.php index 73d57f63..6e0e9404 100644 --- a/app/Notifications/MailResetPasswordNotification.php +++ b/app/Notifications/MailResetPasswordNotification.php @@ -40,7 +40,7 @@ class MailResetPasswordNotification extends ResetPassword { $link = url('/reset-password/'.$this->token); - return (new MailMessage()) + return (new MailMessage) ->subject('Reset Password Notification') ->line('Hello! You are receiving this email because we received a password reset request for your account.') ->action('Reset Password', $link) diff --git a/app/Policies/SettingsPolicy.php b/app/Policies/SettingsPolicy.php index 6fd3d1a7..cf5fea3e 100644 --- a/app/Policies/SettingsPolicy.php +++ b/app/Policies/SettingsPolicy.php @@ -46,6 +46,15 @@ class SettingsPolicy return false; } + public function managePDFConfig(User $user) + { + if ($user->isOwner()) { + return true; + } + + return false; + } + public function manageSettings(User $user) { if ($user->isOwner()) { diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index d5327c30..925ccd02 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -25,6 +25,7 @@ use Illuminate\Support\Facades\Broadcast; use Illuminate\Support\ServiceProvider; use Silber\Bouncer\Database\Models as BouncerModels; use Silber\Bouncer\Database\Role; +use View; class AppServiceProvider extends ServiceProvider { @@ -58,6 +59,8 @@ class AppServiceProvider extends ServiceProvider Gate::policy(Role::class, RolePolicy::class); + View::addNamespace('pdf_templates', storage_path('app/templates/pdf')); + $this->bootAuth(); $this->bootBroadcast(); @@ -78,14 +81,14 @@ class AppServiceProvider extends ServiceProvider public function addMenus() { - //main menu + // main menu \Menu::make('main_menu', function ($menu) { foreach (config('invoiceshelf.main_menu') as $data) { $this->generateMenu($menu, $data); } }); - //setting menu + // setting menu \Menu::make('setting_menu', function ($menu) { foreach (config('invoiceshelf.setting_menu') as $data) { $this->generateMenu($menu, $data); @@ -124,6 +127,7 @@ class AppServiceProvider extends ServiceProvider Gate::define('manage backups', [SettingsPolicy::class, 'manageBackups']); Gate::define('manage file disk', [SettingsPolicy::class, 'manageFileDisk']); Gate::define('manage email config', [SettingsPolicy::class, 'manageEmailConfig']); + Gate::define('manage pdf config', [SettingsPolicy::class, 'managePDFConfig']); Gate::define('manage notes', [NotePolicy::class, 'manageNotes']); Gate::define('view notes', [NotePolicy::class, 'viewNotes']); diff --git a/app/Providers/PDFServiceProvider.php b/app/Providers/PDFServiceProvider.php new file mode 100644 index 00000000..f9642c9a --- /dev/null +++ b/app/Providers/PDFServiceProvider.php @@ -0,0 +1,13 @@ + PDFService::class, + ]; +} diff --git a/app/Rules/Backup/BackupDisk.php b/app/Rules/Backup/BackupDisk.php index 905977c8..739452fa 100644 --- a/app/Rules/Backup/BackupDisk.php +++ b/app/Rules/Backup/BackupDisk.php @@ -2,6 +2,7 @@ namespace App\Rules\Backup; +use Closure; use Illuminate\Contracts\Validation\ValidationRule; class BackupDisk implements ValidationRule @@ -18,8 +19,6 @@ class BackupDisk implements ValidationRule /** * Run the validation rule. - * - * @param \Closure $fail */ public function validate(string $attribute, mixed $value, Closure $fail): void { diff --git a/app/Services/Module/Module.php b/app/Services/Module/Module.php index 70e5103d..9555f729 100644 --- a/app/Services/Module/Module.php +++ b/app/Services/Module/Module.php @@ -36,7 +36,7 @@ class Module { static::$scripts[$name] = $path; - return new static(); + return new static; } /** @@ -50,7 +50,7 @@ class Module { static::$styles[$name] = $path; - return new static(); + return new static; } /** diff --git a/app/Services/PDFDrivers/GotenbergPDFDriver.php b/app/Services/PDFDrivers/GotenbergPDFDriver.php new file mode 100644 index 00000000..bd2024e4 --- /dev/null +++ b/app/Services/PDFDrivers/GotenbergPDFDriver.php @@ -0,0 +1,59 @@ +response = $stream; + } + + public function stream(string $filename = 'document.pdf'): Response + { + $output = $this->response->getBody(); + + return new Response($output, 200, [ + 'Content-Type' => 'application/pdf', + 'Content-Disposition' => 'inline; filename="'.$filename.'"', + ]); + } + + public function output(): string + { + return $this->response->getBody()->getContents(); + } +} + +class GotenbergPDFDriver +{ + public function loadView(string $viewname): GotenbergPDFResponse + { + $papersize = explode(' ', config('pdf.gotenberg.papersize')); + if (count($papersize) != 2) { + throw new \InvalidArgumentException('Invalid Gotenberg Papersize specified'); + } + + $host = config('pdf.gotenberg.host'); + $request = Gotenberg::chromium($host) + ->pdf() + ->margins(0, 0, 0, 0) // Margins can be set using CSS + ->paperSize($papersize[0], $papersize[1]) + ->html( + Stream::string( + 'document.html', + view($viewname)->render(), + ) + ); + $result = Gotenberg::send($request); + + return new GotenbergPDFResponse($result); + } +} diff --git a/app/Services/PDFService.php b/app/Services/PDFService.php new file mode 100644 index 00000000..766f003c --- /dev/null +++ b/app/Services/PDFService.php @@ -0,0 +1,47 @@ + App::make('dompdf.wrapper'), + 'gotenberg' => new GotenbergPDFDriver, + default => throw new \InvalidArgumentException('Invalid PDFDriver requested') + }; + } +} + +class PDFService +{ + public static function loadView(string $template) + { + $driver = config('pdf.driver'); + + return PDFDriverFactory::create($driver)->loadView($template); + } +} diff --git a/app/Space/EnvironmentManager.php b/app/Space/EnvironmentManager.php index 24e5c905..05d2cbb5 100755 --- a/app/Space/EnvironmentManager.php +++ b/app/Space/EnvironmentManager.php @@ -6,6 +6,7 @@ use App\Http\Requests\DatabaseEnvironmentRequest; use App\Http\Requests\DiskEnvironmentRequest; use App\Http\Requests\DomainEnvironmentRequest; use App\Http\Requests\MailEnvironmentRequest; +use App\Http\Requests\PDFConfigurationRequest; use Exception; use Illuminate\Support\Facades\Artisan; use Illuminate\Support\Facades\DB; @@ -94,7 +95,6 @@ class EnvironmentManager } return $str; - } /** @@ -225,7 +225,6 @@ class EnvironmentManager try { $this->updateEnv($mailEnv); - } catch (Exception $e) { return [ 'error' => 'mail_variables_save_error', @@ -237,6 +236,60 @@ class EnvironmentManager ]; } + /** + * Save the pdf generation content to the .env file. + * + * @return array + */ + public function savePDFVariables(PDFConfigurationRequest $request) + { + $pdfEnv = $this->getPDFConfiguration($request); + + try { + + $this->updateEnv($pdfEnv); + } catch (Exception $e) { + return [ + 'error' => 'pdf_variables_save_error', + ]; + } + + return [ + 'success' => 'pdf_variables_save_successfully', + ]; + } + + /** + * Returns the pdf configuration + * + * @param PDFConfigurationRequest $request + * @return array + */ + private function getPDFConfiguration($request) + { + $pdfEnv = []; + + $driver = $request->get('pdf_driver'); + + switch ($driver) { + case 'dompdf': + $pdfEnv = [ + 'PDF_DRIVER' => $request->get('pdf_driver'), + ]; + break; + case 'gotenberg': + $pdfEnv = [ + 'PDF_DRIVER' => $request->get('pdf_driver'), + 'GOTENBERG_HOST' => $request->get('gotenberg_host'), + 'GOTENBERG_MARGINS' => $request->get('gotenberg_margins'), + 'GOTENBERG_PAPERSIZE' => $request->get('gotenberg_papersize'), + ]; + break; + } + + return $pdfEnv; + } + /** * Returns the mail configuration * @@ -296,6 +349,7 @@ class EnvironmentManager 'MAIL_FROM_NAME' => $request->get('from_name'), 'SES_KEY' => $request->get('mail_ses_key'), 'SES_SECRET' => $request->get('mail_ses_secret'), + 'SES_REGION' => $request->get('mail_ses_region'), ]; break; @@ -315,7 +369,6 @@ class EnvironmentManager ]; break; - } return $mailEnv; @@ -333,7 +386,6 @@ class EnvironmentManager try { $this->updateEnv($diskEnv); - } catch (Exception $e) { return [ 'error' => 'disk_variables_save_error', @@ -449,7 +501,6 @@ class EnvironmentManager } $formatted .= $current.$this->delimiter; $previous = $current; - } file_put_contents($this->envPath, trim($formatted)); diff --git a/app/Space/ModuleInstaller.php b/app/Space/ModuleInstaller.php index e9cee8e0..cada4b5c 100644 --- a/app/Space/ModuleInstaller.php +++ b/app/Space/ModuleInstaller.php @@ -153,7 +153,7 @@ class ModuleInstaller File::makeDirectory($temp_extract_dir); } // Unzip the file - $zip = new ZipArchive(); + $zip = new ZipArchive; if ($zip->open($zip_file_path)) { $zip->extractTo($temp_extract_dir); diff --git a/app/Space/PdfTemplateUtils.php b/app/Space/PdfTemplateUtils.php new file mode 100644 index 00000000..1359730b --- /dev/null +++ b/app/Space/PdfTemplateUtils.php @@ -0,0 +1,140 @@ + $file, + 'custom' => false, + ]; + }, Storage::disk('views')->files(sprintf('/app/pdf/%s', $templateType))); + + $files_custom = array_map(function ($file) { + return [ + 'path' => $file, + 'custom' => true, + ]; + }, Storage::disk('pdf_templates')->files(sprintf('/%s', $templateType))); + + $files = array_merge($files_native, $files_custom); + $files = array_filter($files, function ($file) { + return Str::endsWith($file['path'], '.blade.php'); + }); + + return array_map(function ($file) use ($templateType, $imageFormat) { + $templateName = Str::before(basename($file['path']), '.blade.php'); + + if ($file['custom']) { + $imagePath = self::getCustomTemplateFilePath($templateType, sprintf('%s.png', $templateName)); + $isCustomTemplate = true; + } else { + $imagePath = resource_path('static/img/PDF/'.$templateName.'.png'); + $isCustomTemplate = false; + } + + if (empty($imageFormat)) { + $imageValue = ''; + } elseif ($imageFormat == 'path') { + $imageValue = $imagePath; + } else { + $imageValue = File::exists($imagePath) ? ImageUtils::toBase64Src($imagePath) : ''; + } + + return [ + 'name' => $templateName, + 'path' => $imageValue, + 'custom' => $isCustomTemplate, + ]; + }, $files); + } + + /** + * Returns custom template path + * + * @param string $fileName + */ + public static function getCustomTemplateFilePath($templateType, $fileName = ''): string + { + $path = ! empty($fileName) ? sprintf('/%s/%s', $templateType, $fileName) : sprintf('/%s/', $templateType); + + return Storage::disk('pdf_templates')->path($path); + } + + /** + * Check if custom template exists. + * + * @param $templateName + * @return string + */ + public static function customTemplateFileExists($templateType, $fileName) + { + return Storage::disk('pdf_templates')->exists(sprintf('/%s/%s', $templateType, $fileName)); + } + + /** + * Save template markup file + * + * @return bool|string + */ + public static function toCustomTemplateMarkupFile($contents, $templateType, $templateName) + { + return self::toCustomTemplateFile($contents, $templateType, $templateName.'.blade.php'); + } + + /** + * Save template image file + * + * + * @return bool|string + */ + public static function toCustomTemplateImageFile($contents, $templateType, $templateName, $imageType = 'png') + { + return self::toCustomTemplateFile($contents, $templateType, $templateName.'.'.$imageType); + } + + /** + * Save file contents into a template file of specific template type. + * + * + * @return bool|string + */ + public static function toCustomTemplateFile($contents, $templateType, $fileName) + { + return Storage::disk('pdf_templates')->put( + sprintf('/%s/%s', $templateType, $fileName), + $contents + ); + } +} diff --git a/app/Space/Updater.php b/app/Space/Updater.php index 5b0d7310..8b73203d 100644 --- a/app/Space/Updater.php +++ b/app/Space/Updater.php @@ -93,7 +93,7 @@ class Updater File::makeDirectory($temp_extract_dir); } // Unzip the file - $zip = new ZipArchive(); + $zip = new ZipArchive; if ($zip->open($zip_file_path)) { $zip->extractTo($temp_extract_dir); diff --git a/app/Traits/GeneratesPdfTrait.php b/app/Traits/GeneratesPdfTrait.php index 41990274..01105d94 100644 --- a/app/Traits/GeneratesPdfTrait.php +++ b/app/Traits/GeneratesPdfTrait.php @@ -111,9 +111,9 @@ trait GeneratesPdfTrait public function getFieldsArray() { $customer = $this->customer; - $shippingAddress = $customer->shippingAddress ?? new Address(); - $billingAddress = $customer->billingAddress ?? new Address(); - $companyAddress = $this->company->address ?? new Address(); + $shippingAddress = $customer->shippingAddress ?? new Address; + $billingAddress = $customer->billingAddress ?? new Address; + $companyAddress = $this->company->address ?? new Address; $fields = [ '{SHIPPING_ADDRESS_NAME}' => $shippingAddress->name, diff --git a/bootstrap/providers.php b/bootstrap/providers.php index d1d8afb7..f9551ff3 100644 --- a/bootstrap/providers.php +++ b/bootstrap/providers.php @@ -5,4 +5,5 @@ return [ App\Providers\RouteServiceProvider::class, App\Providers\DropboxServiceProvider::class, App\Providers\ViewServiceProvider::class, + App\Providers\PDFServiceProvider::class, ]; diff --git a/composer.json b/composer.json index 519d3f49..63c29b64 100644 --- a/composer.json +++ b/composer.json @@ -9,40 +9,41 @@ "type": "project", "require": { "php": "^8.2", - "aws/aws-sdk-php": "^3.297", - "barryvdh/laravel-dompdf": "^2.1", - "doctrine/dbal": "^4.0", - "dragonmantank/cron-expression": "^3.3", - "guzzlehttp/guzzle": "^7.2", + "aws/aws-sdk-php": "^3.336", + "barryvdh/laravel-dompdf": "^v3.0", + "doctrine/dbal": "^4.2", + "dragonmantank/cron-expression": "^v3.4", + "guzzlehttp/guzzle": "^7.9", + "gotenberg/gotenberg-php": "^2.8", "invoiceshelf/modules": "^1.0.0", - "jasonmccreary/laravel-test-assertions": "^2.4", - "laravel/framework": "^11.3", + "jasonmccreary/laravel-test-assertions": "^v2.4", + "laravel/framework": "^12.0", "laravel/helpers": "^1.7", "laravel/sanctum": "^4.0", - "laravel/tinker": "^2.9", - "laravel/ui": "^4.4", + "laravel/tinker": "^2.10.1", + "laravel/ui": "^4.6", "lavary/laravel-menu": "^1.8", - "league/flysystem-aws-s3-v3": "^3.23", - "predis/predis": "^2.2", - "silber/bouncer": "v1.0.2", + "league/flysystem-aws-s3-v3": "^3.29", + "predis/predis": "^2.3", + "silber/bouncer": "v1.0.3", "spatie/flysystem-dropbox": "^3.0", - "spatie/laravel-backup": "^8.6", - "spatie/laravel-medialibrary": "^11.3", - "vinkla/hashids": "^12.0" + "spatie/laravel-backup": "^9.2.9", + "spatie/laravel-medialibrary": "^11.11", + "vinkla/hashids": "^13.0.0" }, "require-dev": { + "barryvdh/laravel-ide-helper": "^3.5", + "beyondcode/laravel-dump-server": "^2.0.0", "fakerphp/faker": "^1.23", "laravel/pint": "^1.13", - "laravel/sail": "^1.26", + "laravel/sail": "^1.41", "mockery/mockery": "^1.6", - "nunomaduro/collision": "^8.0", - "phpunit/phpunit": "^10.5", - "spatie/laravel-ignition": "^2.4", - "barryvdh/laravel-ide-helper": "^3.0", - "beyondcode/laravel-dump-server": "^2.0", - "pestphp/pest": "^2.33", - "pestphp/pest-plugin-faker": "^2.0", - "pestphp/pest-plugin-laravel": "^2.2" + "nunomaduro/collision": "^8.6", + "pestphp/pest": "^3.8", + "pestphp/pest-plugin-faker": "^3.0", + "pestphp/pest-plugin-laravel": "^3.1", + "phpunit/phpunit": "^11.5.3", + "spatie/laravel-ignition": "^2.9" }, "autoload": { "psr-4": { @@ -60,31 +61,41 @@ "Tests\\": "tests/" } }, - "minimum-stability": "dev", - "prefer-stable": true, "scripts": { "post-autoload-dump": [ "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump", "@php artisan package:discover --ansi" ], + "post-update-cmd": [ + "@php artisan vendor:publish --tag=laravel-assets --ansi --force" + ], "post-root-package-install": [ "@php -r \"file_exists('.env') || copy('.env.example', '.env');\"" ], "post-create-project-cmd": [ - "@php artisan key:generate --ansi" + "@php artisan key:generate --ansi", + "@php -r \"file_exists('database/database.sqlite') || touch('database/database.sqlite');\"", + "@php artisan migrate --graceful --ansi" + ], + "dev": [ + "Composer\\Config::disableProcessTimeout", + "npx concurrently -c \"#93c5fd,#c4b5fd,#fb7185,#fdba74\" \"php artisan serve\" \"php artisan queue:listen --tries=1\" \"php artisan pail --timeout=0\" \"npm run dev\" --names=server,queue,logs,vite" ] }, + "extra": { + "laravel": { + "dont-discover": [] + } + }, "config": { "optimize-autoloader": true, "preferred-install": "dist", "sort-packages": true, "allow-plugins": { - "pestphp/pest-plugin": true + "pestphp/pest-plugin": true, + "php-http/discovery": true } }, - "extra": { - "laravel": { - "dont-discover": [] - } - } + "minimum-stability": "stable", + "prefer-stable": true } diff --git a/composer.lock b/composer.lock index 6f07a957..730429a3 100644 --- a/composer.lock +++ b/composer.lock @@ -4,20 +4,20 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "a96e45a5108f14dbf0665b22ac55de66", + "content-hash": "9a54300b917f5f81b212b98cdb2dcdd0", "packages": [ { "name": "aws/aws-crt-php", - "version": "v1.2.5", + "version": "v1.2.7", "source": { "type": "git", "url": "https://github.com/awslabs/aws-crt-php.git", - "reference": "0ea1f04ec5aa9f049f97e012d1ed63b76834a31b" + "reference": "d71d9906c7bb63a28295447ba12e74723bd3730e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/awslabs/aws-crt-php/zipball/0ea1f04ec5aa9f049f97e012d1ed63b76834a31b", - "reference": "0ea1f04ec5aa9f049f97e012d1ed63b76834a31b", + "url": "https://api.github.com/repos/awslabs/aws-crt-php/zipball/d71d9906c7bb63a28295447ba12e74723bd3730e", + "reference": "d71d9906c7bb63a28295447ba12e74723bd3730e", "shasum": "" }, "require": { @@ -56,22 +56,22 @@ ], "support": { "issues": "https://github.com/awslabs/aws-crt-php/issues", - "source": "https://github.com/awslabs/aws-crt-php/tree/v1.2.5" + "source": "https://github.com/awslabs/aws-crt-php/tree/v1.2.7" }, - "time": "2024-04-19T21:30:56+00:00" + "time": "2024-10-18T22:15:13+00:00" }, { "name": "aws/aws-sdk-php", - "version": "3.308.6", + "version": "3.343.3", "source": { "type": "git", "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "d119265faba226b3fab1514b6fa27a2986b91453" + "reference": "d7ad5f6bdee792a16d2c9d5a3d9b56acfaaaf979" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/d119265faba226b3fab1514b6fa27a2986b91453", - "reference": "d119265faba226b3fab1514b6fa27a2986b91453", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/d7ad5f6bdee792a16d2c9d5a3d9b56acfaaaf979", + "reference": "d7ad5f6bdee792a16d2c9d5a3d9b56acfaaaf979", "shasum": "" }, "require": { @@ -79,31 +79,30 @@ "ext-json": "*", "ext-pcre": "*", "ext-simplexml": "*", - "guzzlehttp/guzzle": "^6.5.8 || ^7.4.5", - "guzzlehttp/promises": "^1.4.0 || ^2.0", - "guzzlehttp/psr7": "^1.9.1 || ^2.4.5", - "mtdowling/jmespath.php": "^2.6", - "php": ">=7.2.5", - "psr/http-message": "^1.0 || ^2.0" + "guzzlehttp/guzzle": "^7.4.5", + "guzzlehttp/promises": "^2.0", + "guzzlehttp/psr7": "^2.4.5", + "mtdowling/jmespath.php": "^2.8.0", + "php": ">=8.1", + "psr/http-message": "^2.0" }, "require-dev": { "andrewsville/php-token-reflection": "^1.4", "aws/aws-php-sns-message-validator": "~1.0", "behat/behat": "~3.0", - "composer/composer": "^1.10.22", + "composer/composer": "^2.7.8", "dms/phpunit-arraysubset-asserts": "^0.4.0", "doctrine/cache": "~1.4", "ext-dom": "*", "ext-openssl": "*", "ext-pcntl": "*", "ext-sockets": "*", - "nette/neon": "^2.3", - "paragonie/random_compat": ">= 2", "phpunit/phpunit": "^5.6.3 || ^8.5 || ^9.5", - "psr/cache": "^1.0", - "psr/simple-cache": "^1.0", - "sebastian/comparator": "^1.2.3 || ^4.0", - "yoast/phpunit-polyfills": "^1.0" + "psr/cache": "^2.0 || ^3.0", + "psr/simple-cache": "^2.0 || ^3.0", + "sebastian/comparator": "^1.2.3 || ^4.0 || ^5.0", + "symfony/filesystem": "^v6.4.0 || ^v7.1.0", + "yoast/phpunit-polyfills": "^2.0" }, "suggest": { "aws/aws-php-sns-message-validator": "To validate incoming SNS notifications", @@ -124,7 +123,10 @@ ], "psr-4": { "Aws\\": "src/" - } + }, + "exclude-from-classmap": [ + "src/data/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -149,50 +151,50 @@ "sdk" ], "support": { - "forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80", + "forum": "https://github.com/aws/aws-sdk-php/discussions", "issues": "https://github.com/aws/aws-sdk-php/issues", - "source": "https://github.com/aws/aws-sdk-php/tree/3.308.6" + "source": "https://github.com/aws/aws-sdk-php/tree/3.343.3" }, - "time": "2024-05-30T18:08:56+00:00" + "time": "2025-05-02T18:04:58+00:00" }, { "name": "barryvdh/laravel-dompdf", - "version": "v2.2.0", + "version": "v3.1.1", "source": { "type": "git", "url": "https://github.com/barryvdh/laravel-dompdf.git", - "reference": "c96f90c97666cebec154ca1ffb67afed372114d8" + "reference": "8e71b99fc53bb8eb77f316c3c452dd74ab7cb25d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/barryvdh/laravel-dompdf/zipball/c96f90c97666cebec154ca1ffb67afed372114d8", - "reference": "c96f90c97666cebec154ca1ffb67afed372114d8", + "url": "https://api.github.com/repos/barryvdh/laravel-dompdf/zipball/8e71b99fc53bb8eb77f316c3c452dd74ab7cb25d", + "reference": "8e71b99fc53bb8eb77f316c3c452dd74ab7cb25d", "shasum": "" }, "require": { - "dompdf/dompdf": "^2.0.7", - "illuminate/support": "^6|^7|^8|^9|^10|^11", - "php": "^7.2 || ^8.0" + "dompdf/dompdf": "^3.0", + "illuminate/support": "^9|^10|^11|^12", + "php": "^8.1" }, "require-dev": { - "larastan/larastan": "^1.0|^2.7.0", - "orchestra/testbench": "^4|^5|^6|^7|^8|^9", - "phpro/grumphp": "^1 || ^2.5", + "larastan/larastan": "^2.7|^3.0", + "orchestra/testbench": "^7|^8|^9|^10", + "phpro/grumphp": "^2.5", "squizlabs/php_codesniffer": "^3.5" }, "type": "library", "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - }, "laravel": { + "aliases": { + "PDF": "Barryvdh\\DomPDF\\Facade\\Pdf", + "Pdf": "Barryvdh\\DomPDF\\Facade\\Pdf" + }, "providers": [ "Barryvdh\\DomPDF\\ServiceProvider" - ], - "aliases": { - "Pdf": "Barryvdh\\DomPDF\\Facade\\Pdf", - "PDF": "Barryvdh\\DomPDF\\Facade\\Pdf" - } + ] + }, + "branch-alias": { + "dev-master": "3.0-dev" } }, "autoload": { @@ -218,7 +220,7 @@ ], "support": { "issues": "https://github.com/barryvdh/laravel-dompdf/issues", - "source": "https://github.com/barryvdh/laravel-dompdf/tree/v2.2.0" + "source": "https://github.com/barryvdh/laravel-dompdf/tree/v3.1.1" }, "funding": [ { @@ -230,20 +232,20 @@ "type": "github" } ], - "time": "2024-04-25T13:16:04+00:00" + "time": "2025-02-13T15:07:54+00:00" }, { "name": "brick/math", - "version": "0.12.1", + "version": "0.12.3", "source": { "type": "git", "url": "https://github.com/brick/math.git", - "reference": "f510c0a40911935b77b86859eb5223d58d660df1" + "reference": "866551da34e9a618e64a819ee1e01c20d8a588ba" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/brick/math/zipball/f510c0a40911935b77b86859eb5223d58d660df1", - "reference": "f510c0a40911935b77b86859eb5223d58d660df1", + "url": "https://api.github.com/repos/brick/math/zipball/866551da34e9a618e64a819ee1e01c20d8a588ba", + "reference": "866551da34e9a618e64a819ee1e01c20d8a588ba", "shasum": "" }, "require": { @@ -252,7 +254,7 @@ "require-dev": { "php-coveralls/php-coveralls": "^2.2", "phpunit/phpunit": "^10.1", - "vimeo/psalm": "5.16.0" + "vimeo/psalm": "6.8.8" }, "type": "library", "autoload": { @@ -282,7 +284,7 @@ ], "support": { "issues": "https://github.com/brick/math/issues", - "source": "https://github.com/brick/math/tree/0.12.1" + "source": "https://github.com/brick/math/tree/0.12.3" }, "funding": [ { @@ -290,7 +292,7 @@ "type": "github" } ], - "time": "2023-11-29T23:19:16+00:00" + "time": "2025-02-28T13:11:00+00:00" }, { "name": "carbonphp/carbon-doctrine-types", @@ -362,17 +364,98 @@ "time": "2024-02-09T16:56:22+00:00" }, { - "name": "dflydev/dot-access-data", - "version": "v3.0.2", + "name": "composer/semver", + "version": "3.4.3", "source": { "type": "git", - "url": "https://github.com/dflydev/dflydev-dot-access-data.git", - "reference": "f41715465d65213d644d3141a6a93081be5d3549" + "url": "https://github.com/composer/semver.git", + "reference": "4313d26ada5e0c4edfbd1dc481a92ff7bff91f12" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/f41715465d65213d644d3141a6a93081be5d3549", - "reference": "f41715465d65213d644d3141a6a93081be5d3549", + "url": "https://api.github.com/repos/composer/semver/zipball/4313d26ada5e0c4edfbd1dc481a92ff7bff91f12", + "reference": "4313d26ada5e0c4edfbd1dc481a92ff7bff91f12", + "shasum": "" + }, + "require": { + "php": "^5.3.2 || ^7.0 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^1.11", + "symfony/phpunit-bridge": "^3 || ^7" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\Semver\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nils Adermann", + "email": "naderman@naderman.de", + "homepage": "http://www.naderman.de" + }, + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + }, + { + "name": "Rob Bast", + "email": "rob.bast@gmail.com", + "homepage": "http://robbast.nl" + } + ], + "description": "Semver library that offers utilities, version constraint parsing and validation.", + "keywords": [ + "semantic", + "semver", + "validation", + "versioning" + ], + "support": { + "irc": "ircs://irc.libera.chat:6697/composer", + "issues": "https://github.com/composer/semver/issues", + "source": "https://github.com/composer/semver/tree/3.4.3" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2024-09-19T14:15:21+00:00" + }, + { + "name": "dflydev/dot-access-data", + "version": "v3.0.3", + "source": { + "type": "git", + "url": "https://github.com/dflydev/dflydev-dot-access-data.git", + "reference": "a23a2bf4f31d3518f3ecb38660c95715dfead60f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/a23a2bf4f31d3518f3ecb38660c95715dfead60f", + "reference": "a23a2bf4f31d3518f3ecb38660c95715dfead60f", "shasum": "" }, "require": { @@ -432,22 +515,22 @@ ], "support": { "issues": "https://github.com/dflydev/dflydev-dot-access-data/issues", - "source": "https://github.com/dflydev/dflydev-dot-access-data/tree/v3.0.2" + "source": "https://github.com/dflydev/dflydev-dot-access-data/tree/v3.0.3" }, - "time": "2022-10-27T11:44:00+00:00" + "time": "2024-07-08T12:26:09+00:00" }, { "name": "doctrine/dbal", - "version": "4.0.4", + "version": "4.2.3", "source": { "type": "git", "url": "https://github.com/doctrine/dbal.git", - "reference": "50fda19f80724b55ff770bb4ff352407008e63c5" + "reference": "33d2d7fe1269b2301640c44cf2896ea607b30e3e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/50fda19f80724b55ff770bb4ff352407008e63c5", - "reference": "50fda19f80724b55ff770bb4ff352407008e63c5", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/33d2d7fe1269b2301640c44cf2896ea607b30e3e", + "reference": "33d2d7fe1269b2301640c44cf2896ea607b30e3e", "shasum": "" }, "require": { @@ -460,16 +543,14 @@ "doctrine/coding-standard": "12.0.0", "fig/log-test": "^1", "jetbrains/phpstorm-stubs": "2023.2", - "phpstan/phpstan": "1.11.5", - "phpstan/phpstan-phpunit": "1.4.0", - "phpstan/phpstan-strict-rules": "^1.6", - "phpunit/phpunit": "10.5.22", - "psalm/plugin-phpunit": "0.19.0", + "phpstan/phpstan": "2.1.1", + "phpstan/phpstan-phpunit": "2.0.3", + "phpstan/phpstan-strict-rules": "^2", + "phpunit/phpunit": "10.5.39", "slevomat/coding-standard": "8.13.1", - "squizlabs/php_codesniffer": "3.10.1", + "squizlabs/php_codesniffer": "3.10.2", "symfony/cache": "^6.3.8|^7.0", - "symfony/console": "^5.4|^6.3|^7.0", - "vimeo/psalm": "5.24.0" + "symfony/console": "^5.4|^6.3|^7.0" }, "suggest": { "symfony/console": "For helpful console commands such as SQL execution and import of files." @@ -526,7 +607,7 @@ ], "support": { "issues": "https://github.com/doctrine/dbal/issues", - "source": "https://github.com/doctrine/dbal/tree/4.0.4" + "source": "https://github.com/doctrine/dbal/tree/4.2.3" }, "funding": [ { @@ -542,33 +623,34 @@ "type": "tidelift" } ], - "time": "2024-06-19T11:57:23+00:00" + "time": "2025-03-07T18:29:05+00:00" }, { "name": "doctrine/deprecations", - "version": "1.1.3", + "version": "1.1.5", "source": { "type": "git", "url": "https://github.com/doctrine/deprecations.git", - "reference": "dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab" + "reference": "459c2f5dd3d6a4633d3b5f46ee2b1c40f57d3f38" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/deprecations/zipball/dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab", - "reference": "dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab", + "url": "https://api.github.com/repos/doctrine/deprecations/zipball/459c2f5dd3d6a4633d3b5f46ee2b1c40f57d3f38", + "reference": "459c2f5dd3d6a4633d3b5f46ee2b1c40f57d3f38", "shasum": "" }, "require": { "php": "^7.1 || ^8.0" }, + "conflict": { + "phpunit/phpunit": "<=7.5 || >=13" + }, "require-dev": { - "doctrine/coding-standard": "^9", - "phpstan/phpstan": "1.4.10 || 1.10.15", - "phpstan/phpstan-phpunit": "^1.0", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", - "psalm/plugin-phpunit": "0.18.4", - "psr/log": "^1 || ^2 || ^3", - "vimeo/psalm": "4.30.0 || 5.12.0" + "doctrine/coding-standard": "^9 || ^12 || ^13", + "phpstan/phpstan": "1.4.10 || 2.1.11", + "phpstan/phpstan-phpunit": "^1.0 || ^2", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.6 || ^10.5 || ^11.5 || ^12", + "psr/log": "^1 || ^2 || ^3" }, "suggest": { "psr/log": "Allows logging deprecations via PSR-3 logger implementation" @@ -576,7 +658,7 @@ "type": "library", "autoload": { "psr-4": { - "Doctrine\\Deprecations\\": "lib/Doctrine/Deprecations" + "Doctrine\\Deprecations\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -587,9 +669,9 @@ "homepage": "https://www.doctrine-project.org/", "support": { "issues": "https://github.com/doctrine/deprecations/issues", - "source": "https://github.com/doctrine/deprecations/tree/1.1.3" + "source": "https://github.com/doctrine/deprecations/tree/1.1.5" }, - "time": "2024-01-30T19:34:25+00:00" + "time": "2025-04-07T20:06:18+00:00" }, { "name": "doctrine/inflector", @@ -761,32 +843,34 @@ }, { "name": "dompdf/dompdf", - "version": "v2.0.8", + "version": "v3.1.0", "source": { "type": "git", "url": "https://github.com/dompdf/dompdf.git", - "reference": "c20247574601700e1f7c8dab39310fca1964dc52" + "reference": "a51bd7a063a65499446919286fb18b518177155a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dompdf/dompdf/zipball/c20247574601700e1f7c8dab39310fca1964dc52", - "reference": "c20247574601700e1f7c8dab39310fca1964dc52", + "url": "https://api.github.com/repos/dompdf/dompdf/zipball/a51bd7a063a65499446919286fb18b518177155a", + "reference": "a51bd7a063a65499446919286fb18b518177155a", "shasum": "" }, "require": { + "dompdf/php-font-lib": "^1.0.0", + "dompdf/php-svg-lib": "^1.0.0", "ext-dom": "*", "ext-mbstring": "*", "masterminds/html5": "^2.0", - "phenx/php-font-lib": ">=0.5.4 <1.0.0", - "phenx/php-svg-lib": ">=0.5.2 <1.0.0", "php": "^7.1 || ^8.0" }, "require-dev": { + "ext-gd": "*", "ext-json": "*", "ext-zip": "*", "mockery/mockery": "^1.3", - "phpunit/phpunit": "^7.5 || ^8 || ^9", - "squizlabs/php_codesniffer": "^3.5" + "phpunit/phpunit": "^7.5 || ^8 || ^9 || ^10 || ^11", + "squizlabs/php_codesniffer": "^3.5", + "symfony/process": "^4.4 || ^5.4 || ^6.2 || ^7.0" }, "suggest": { "ext-gd": "Needed to process images", @@ -817,22 +901,113 @@ "homepage": "https://github.com/dompdf/dompdf", "support": { "issues": "https://github.com/dompdf/dompdf/issues", - "source": "https://github.com/dompdf/dompdf/tree/v2.0.8" + "source": "https://github.com/dompdf/dompdf/tree/v3.1.0" }, - "time": "2024-04-29T13:06:17+00:00" + "time": "2025-01-15T14:09:04+00:00" }, { - "name": "dragonmantank/cron-expression", - "version": "v3.3.3", + "name": "dompdf/php-font-lib", + "version": "1.0.1", "source": { "type": "git", - "url": "https://github.com/dragonmantank/cron-expression.git", - "reference": "adfb1f505deb6384dc8b39804c5065dd3c8c8c0a" + "url": "https://github.com/dompdf/php-font-lib.git", + "reference": "6137b7d4232b7f16c882c75e4ca3991dbcf6fe2d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/adfb1f505deb6384dc8b39804c5065dd3c8c8c0a", - "reference": "adfb1f505deb6384dc8b39804c5065dd3c8c8c0a", + "url": "https://api.github.com/repos/dompdf/php-font-lib/zipball/6137b7d4232b7f16c882c75e4ca3991dbcf6fe2d", + "reference": "6137b7d4232b7f16c882c75e4ca3991dbcf6fe2d", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "symfony/phpunit-bridge": "^3 || ^4 || ^5 || ^6" + }, + "type": "library", + "autoload": { + "psr-4": { + "FontLib\\": "src/FontLib" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-2.1-or-later" + ], + "authors": [ + { + "name": "The FontLib Community", + "homepage": "https://github.com/dompdf/php-font-lib/blob/master/AUTHORS.md" + } + ], + "description": "A library to read, parse, export and make subsets of different types of font files.", + "homepage": "https://github.com/dompdf/php-font-lib", + "support": { + "issues": "https://github.com/dompdf/php-font-lib/issues", + "source": "https://github.com/dompdf/php-font-lib/tree/1.0.1" + }, + "time": "2024-12-02T14:37:59+00:00" + }, + { + "name": "dompdf/php-svg-lib", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/dompdf/php-svg-lib.git", + "reference": "eb045e518185298eb6ff8d80d0d0c6b17aecd9af" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/dompdf/php-svg-lib/zipball/eb045e518185298eb6ff8d80d0d0c6b17aecd9af", + "reference": "eb045e518185298eb6ff8d80d0d0c6b17aecd9af", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "php": "^7.1 || ^8.0", + "sabberworm/php-css-parser": "^8.4" + }, + "require-dev": { + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5" + }, + "type": "library", + "autoload": { + "psr-4": { + "Svg\\": "src/Svg" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-3.0-or-later" + ], + "authors": [ + { + "name": "The SvgLib Community", + "homepage": "https://github.com/dompdf/php-svg-lib/blob/master/AUTHORS.md" + } + ], + "description": "A library to read, parse and export to PDF SVG files.", + "homepage": "https://github.com/dompdf/php-svg-lib", + "support": { + "issues": "https://github.com/dompdf/php-svg-lib/issues", + "source": "https://github.com/dompdf/php-svg-lib/tree/1.0.0" + }, + "time": "2024-04-29T13:26:35+00:00" + }, + { + "name": "dragonmantank/cron-expression", + "version": "v3.4.0", + "source": { + "type": "git", + "url": "https://github.com/dragonmantank/cron-expression.git", + "reference": "8c784d071debd117328803d86b2097615b457500" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/8c784d071debd117328803d86b2097615b457500", + "reference": "8c784d071debd117328803d86b2097615b457500", "shasum": "" }, "require": { @@ -845,10 +1020,14 @@ "require-dev": { "phpstan/extension-installer": "^1.0", "phpstan/phpstan": "^1.0", - "phpstan/phpstan-webmozart-assert": "^1.0", "phpunit/phpunit": "^7.0|^8.0|^9.0" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + } + }, "autoload": { "psr-4": { "Cron\\": "src/Cron/" @@ -872,7 +1051,7 @@ ], "support": { "issues": "https://github.com/dragonmantank/cron-expression/issues", - "source": "https://github.com/dragonmantank/cron-expression/tree/v3.3.3" + "source": "https://github.com/dragonmantank/cron-expression/tree/v3.4.0" }, "funding": [ { @@ -880,20 +1059,20 @@ "type": "github" } ], - "time": "2023-08-10T19:36:49+00:00" + "time": "2024-10-09T13:47:03+00:00" }, { "name": "egulias/email-validator", - "version": "4.0.2", + "version": "4.0.4", "source": { "type": "git", "url": "https://github.com/egulias/EmailValidator.git", - "reference": "ebaaf5be6c0286928352e054f2d5125608e5405e" + "reference": "d42c8731f0624ad6bdc8d3e5e9a4524f68801cfa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/ebaaf5be6c0286928352e054f2d5125608e5405e", - "reference": "ebaaf5be6c0286928352e054f2d5125608e5405e", + "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/d42c8731f0624ad6bdc8d3e5e9a4524f68801cfa", + "reference": "d42c8731f0624ad6bdc8d3e5e9a4524f68801cfa", "shasum": "" }, "require": { @@ -939,7 +1118,7 @@ ], "support": { "issues": "https://github.com/egulias/EmailValidator/issues", - "source": "https://github.com/egulias/EmailValidator/tree/4.0.2" + "source": "https://github.com/egulias/EmailValidator/tree/4.0.4" }, "funding": [ { @@ -947,7 +1126,7 @@ "type": "github" } ], - "time": "2023-10-06T06:47:41+00:00" + "time": "2025-03-06T22:45:56+00:00" }, { "name": "fruitcake/php-cors", @@ -1021,26 +1200,107 @@ "time": "2023-10-12T05:21:21+00:00" }, { - "name": "graham-campbell/guzzle-factory", - "version": "v7.0.1", + "name": "gotenberg/gotenberg-php", + "version": "v2.13.0", "source": { "type": "git", - "url": "https://github.com/GrahamCampbell/Guzzle-Factory.git", - "reference": "134f6ca38ad0c948ed7c22552a286bb56b5a5b35" + "url": "https://github.com/gotenberg/gotenberg-php.git", + "reference": "edb5b91321c60c3da8c87e1d821f844b7e5c0c2c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/GrahamCampbell/Guzzle-Factory/zipball/134f6ca38ad0c948ed7c22552a286bb56b5a5b35", - "reference": "134f6ca38ad0c948ed7c22552a286bb56b5a5b35", + "url": "https://api.github.com/repos/gotenberg/gotenberg-php/zipball/edb5b91321c60c3da8c87e1d821f844b7e5c0c2c", + "reference": "edb5b91321c60c3da8c87e1d821f844b7e5c0c2c", "shasum": "" }, "require": { - "guzzlehttp/guzzle": "^7.8.1", - "guzzlehttp/psr7": "^2.6.2", + "ext-json": "*", + "ext-mbstring": "*", + "guzzlehttp/psr7": "^1 || ^2.1", + "php": "^8.1|^8.2|^8.3|^8.4", + "php-http/discovery": "^1.14", + "psr/http-client": "^1.0", + "psr/http-message": "^1.0|^2.0" + }, + "require-dev": { + "doctrine/coding-standard": "^12.0", + "pestphp/pest": "^2.28", + "phpstan/phpstan": "^1.12", + "squizlabs/php_codesniffer": "^3.10" + }, + "type": "library", + "autoload": { + "psr-4": { + "Gotenberg\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Julien Neuhart", + "email": "neuhart.julien@gmail.com", + "homepage": "https://github.com/gulien", + "role": "Developer" + } + ], + "description": "A PHP client for interacting with Gotenberg, a developer-friendly API for converting numerous document formats into PDF files, and more!", + "homepage": "https://github.com/gotenberg/gotenberg-php", + "keywords": [ + "Gotenberg", + "LibreOffice", + "chrome", + "chromium", + "convert", + "csv", + "docx", + "excel", + "html", + "markdown", + "pdf", + "pdftk", + "pptx", + "puppeteer", + "unoconv", + "wkhtmltopdf", + "word", + "xlsx" + ], + "support": { + "issues": "https://github.com/gotenberg/gotenberg-php/issues", + "source": "https://github.com/gotenberg/gotenberg-php/tree/v2.13.0" + }, + "funding": [ + { + "url": "https://github.com/gulien", + "type": "github" + } + ], + "time": "2025-03-17T13:57:01+00:00" + }, + { + "name": "graham-campbell/guzzle-factory", + "version": "v7.0.2", + "source": { + "type": "git", + "url": "https://github.com/GrahamCampbell/Guzzle-Factory.git", + "reference": "b0a273dabe1f90004e76ca4ab8671b10caaa1dd3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/GrahamCampbell/Guzzle-Factory/zipball/b0a273dabe1f90004e76ca4ab8671b10caaa1dd3", + "reference": "b0a273dabe1f90004e76ca4ab8671b10caaa1dd3", + "shasum": "" + }, + "require": { + "guzzlehttp/guzzle": "^7.9.2", + "guzzlehttp/psr7": "^2.7.0", "php": "^7.4.15 || ^8.0.2" }, "require-dev": { - "graham-campbell/analyzer": "^4.1", + "graham-campbell/analyzer": "^4.2.1", "phpunit/phpunit": "^9.6.14 || ^10.5.1" }, "type": "library", @@ -1071,7 +1331,7 @@ ], "support": { "issues": "https://github.com/GrahamCampbell/Guzzle-Factory/issues", - "source": "https://github.com/GrahamCampbell/Guzzle-Factory/tree/v7.0.1" + "source": "https://github.com/GrahamCampbell/Guzzle-Factory/tree/v7.0.2" }, "funding": [ { @@ -1083,32 +1343,32 @@ "type": "tidelift" } ], - "time": "2023-12-03T20:50:24+00:00" + "time": "2025-01-12T01:44:21+00:00" }, { "name": "graham-campbell/manager", - "version": "v5.1.0", + "version": "v5.2.0", "source": { "type": "git", "url": "https://github.com/GrahamCampbell/Laravel-Manager.git", - "reference": "5c9e1e4b8f9ef5fc904545c617b83efa46d1bd09" + "reference": "b6a4172a32b931fe20c5c242251c8c98b2c79e41" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/GrahamCampbell/Laravel-Manager/zipball/5c9e1e4b8f9ef5fc904545c617b83efa46d1bd09", - "reference": "5c9e1e4b8f9ef5fc904545c617b83efa46d1bd09", + "url": "https://api.github.com/repos/GrahamCampbell/Laravel-Manager/zipball/b6a4172a32b931fe20c5c242251c8c98b2c79e41", + "reference": "b6a4172a32b931fe20c5c242251c8c98b2c79e41", "shasum": "" }, "require": { - "illuminate/contracts": "^8.75 || ^9.0 || ^10.0 || ^11.0", - "illuminate/support": "^8.75 || ^9.0 || ^10.0 || ^11.0", + "illuminate/contracts": "^8.75 || ^9.0 || ^10.0 || ^11.0 || ^12.0", + "illuminate/support": "^8.75 || ^9.0 || ^10.0 || ^11.0 || ^12.0", "php": "^7.4.15 || ^8.0.2" }, "require-dev": { - "graham-campbell/analyzer": "^4.1", - "graham-campbell/testbench-core": "^4.1", - "mockery/mockery": "^1.6.6", - "phpunit/phpunit": "^9.6.15 || ^10.5.1" + "graham-campbell/analyzer": "^4.2.1 || ^5.0.0", + "graham-campbell/testbench-core": "^4.2.1", + "mockery/mockery": "^1.6.12", + "phpunit/phpunit": "^9.6.22 || ^10.5.45 || ^11.5.10" }, "type": "library", "autoload": { @@ -1141,7 +1401,7 @@ ], "support": { "issues": "https://github.com/GrahamCampbell/Laravel-Manager/issues", - "source": "https://github.com/GrahamCampbell/Laravel-Manager/tree/v5.1.0" + "source": "https://github.com/GrahamCampbell/Laravel-Manager/tree/v5.2.0" }, "funding": [ { @@ -1153,28 +1413,28 @@ "type": "tidelift" } ], - "time": "2023-12-03T23:16:15+00:00" + "time": "2025-03-02T20:18:37+00:00" }, { "name": "graham-campbell/result-type", - "version": "v1.1.2", + "version": "v1.1.3", "source": { "type": "git", "url": "https://github.com/GrahamCampbell/Result-Type.git", - "reference": "fbd48bce38f73f8a4ec8583362e732e4095e5862" + "reference": "3ba905c11371512af9d9bdd27d99b782216b6945" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/fbd48bce38f73f8a4ec8583362e732e4095e5862", - "reference": "fbd48bce38f73f8a4ec8583362e732e4095e5862", + "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/3ba905c11371512af9d9bdd27d99b782216b6945", + "reference": "3ba905c11371512af9d9bdd27d99b782216b6945", "shasum": "" }, "require": { "php": "^7.2.5 || ^8.0", - "phpoption/phpoption": "^1.9.2" + "phpoption/phpoption": "^1.9.3" }, "require-dev": { - "phpunit/phpunit": "^8.5.34 || ^9.6.13 || ^10.4.2" + "phpunit/phpunit": "^8.5.39 || ^9.6.20 || ^10.5.28" }, "type": "library", "autoload": { @@ -1203,7 +1463,7 @@ ], "support": { "issues": "https://github.com/GrahamCampbell/Result-Type/issues", - "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.1.2" + "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.1.3" }, "funding": [ { @@ -1215,26 +1475,26 @@ "type": "tidelift" } ], - "time": "2023-11-12T22:16:48+00:00" + "time": "2024-07-20T21:45:45+00:00" }, { "name": "guzzlehttp/guzzle", - "version": "7.8.1", + "version": "7.9.3", "source": { "type": "git", "url": "https://github.com/guzzle/guzzle.git", - "reference": "41042bc7ab002487b876a0683fc8dce04ddce104" + "reference": "7b2f29fe81dc4da0ca0ea7d42107a0845946ea77" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/41042bc7ab002487b876a0683fc8dce04ddce104", - "reference": "41042bc7ab002487b876a0683fc8dce04ddce104", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/7b2f29fe81dc4da0ca0ea7d42107a0845946ea77", + "reference": "7b2f29fe81dc4da0ca0ea7d42107a0845946ea77", "shasum": "" }, "require": { "ext-json": "*", - "guzzlehttp/promises": "^1.5.3 || ^2.0.1", - "guzzlehttp/psr7": "^1.9.1 || ^2.5.1", + "guzzlehttp/promises": "^1.5.3 || ^2.0.3", + "guzzlehttp/psr7": "^2.7.0", "php": "^7.2.5 || ^8.0", "psr/http-client": "^1.0", "symfony/deprecation-contracts": "^2.2 || ^3.0" @@ -1245,9 +1505,9 @@ "require-dev": { "bamarni/composer-bin-plugin": "^1.8.2", "ext-curl": "*", - "php-http/client-integration-tests": "dev-master#2c025848417c1135031fdf9c728ee53d0a7ceaee as 3.0.999", + "guzzle/client-integration-tests": "3.0.2", "php-http/message-factory": "^1.1", - "phpunit/phpunit": "^8.5.36 || ^9.6.15", + "phpunit/phpunit": "^8.5.39 || ^9.6.20", "psr/log": "^1.1 || ^2.0 || ^3.0" }, "suggest": { @@ -1325,7 +1585,7 @@ ], "support": { "issues": "https://github.com/guzzle/guzzle/issues", - "source": "https://github.com/guzzle/guzzle/tree/7.8.1" + "source": "https://github.com/guzzle/guzzle/tree/7.9.3" }, "funding": [ { @@ -1341,20 +1601,20 @@ "type": "tidelift" } ], - "time": "2023-12-03T20:35:24+00:00" + "time": "2025-03-27T13:37:11+00:00" }, { "name": "guzzlehttp/promises", - "version": "2.0.2", + "version": "2.2.0", "source": { "type": "git", "url": "https://github.com/guzzle/promises.git", - "reference": "bbff78d96034045e58e13dedd6ad91b5d1253223" + "reference": "7c69f28996b0a6920945dd20b3857e499d9ca96c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/bbff78d96034045e58e13dedd6ad91b5d1253223", - "reference": "bbff78d96034045e58e13dedd6ad91b5d1253223", + "url": "https://api.github.com/repos/guzzle/promises/zipball/7c69f28996b0a6920945dd20b3857e499d9ca96c", + "reference": "7c69f28996b0a6920945dd20b3857e499d9ca96c", "shasum": "" }, "require": { @@ -1362,7 +1622,7 @@ }, "require-dev": { "bamarni/composer-bin-plugin": "^1.8.2", - "phpunit/phpunit": "^8.5.36 || ^9.6.15" + "phpunit/phpunit": "^8.5.39 || ^9.6.20" }, "type": "library", "extra": { @@ -1408,7 +1668,7 @@ ], "support": { "issues": "https://github.com/guzzle/promises/issues", - "source": "https://github.com/guzzle/promises/tree/2.0.2" + "source": "https://github.com/guzzle/promises/tree/2.2.0" }, "funding": [ { @@ -1424,20 +1684,20 @@ "type": "tidelift" } ], - "time": "2023-12-03T20:19:20+00:00" + "time": "2025-03-27T13:27:01+00:00" }, { "name": "guzzlehttp/psr7", - "version": "2.6.2", + "version": "2.7.1", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221" + "reference": "c2270caaabe631b3b44c85f99e5a04bbb8060d16" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/45b30f99ac27b5ca93cb4831afe16285f57b8221", - "reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/c2270caaabe631b3b44c85f99e5a04bbb8060d16", + "reference": "c2270caaabe631b3b44c85f99e5a04bbb8060d16", "shasum": "" }, "require": { @@ -1452,8 +1712,8 @@ }, "require-dev": { "bamarni/composer-bin-plugin": "^1.8.2", - "http-interop/http-factory-tests": "^0.9", - "phpunit/phpunit": "^8.5.36 || ^9.6.15" + "http-interop/http-factory-tests": "0.9.0", + "phpunit/phpunit": "^8.5.39 || ^9.6.20" }, "suggest": { "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" @@ -1524,7 +1784,7 @@ ], "support": { "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/2.6.2" + "source": "https://github.com/guzzle/psr7/tree/2.7.1" }, "funding": [ { @@ -1540,20 +1800,20 @@ "type": "tidelift" } ], - "time": "2023-12-03T20:05:35+00:00" + "time": "2025-03-27T12:30:47+00:00" }, { "name": "guzzlehttp/uri-template", - "version": "v1.0.3", + "version": "v1.0.4", "source": { "type": "git", "url": "https://github.com/guzzle/uri-template.git", - "reference": "ecea8feef63bd4fef1f037ecb288386999ecc11c" + "reference": "30e286560c137526eccd4ce21b2de477ab0676d2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/uri-template/zipball/ecea8feef63bd4fef1f037ecb288386999ecc11c", - "reference": "ecea8feef63bd4fef1f037ecb288386999ecc11c", + "url": "https://api.github.com/repos/guzzle/uri-template/zipball/30e286560c137526eccd4ce21b2de477ab0676d2", + "reference": "30e286560c137526eccd4ce21b2de477ab0676d2", "shasum": "" }, "require": { @@ -1610,7 +1870,7 @@ ], "support": { "issues": "https://github.com/guzzle/uri-template/issues", - "source": "https://github.com/guzzle/uri-template/tree/v1.0.3" + "source": "https://github.com/guzzle/uri-template/tree/v1.0.4" }, "funding": [ { @@ -1626,24 +1886,24 @@ "type": "tidelift" } ], - "time": "2023-12-03T19:50:20+00:00" + "time": "2025-02-03T10:55:03+00:00" }, { "name": "hamcrest/hamcrest-php", - "version": "v2.0.1", + "version": "v2.1.1", "source": { "type": "git", "url": "https://github.com/hamcrest/hamcrest-php.git", - "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3" + "reference": "f8b1c0173b22fa6ec77a81fe63e5b01eba7e6487" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/8c3d0a3f6af734494ad8f6fbbee0ba92422859f3", - "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3", + "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/f8b1c0173b22fa6ec77a81fe63e5b01eba7e6487", + "reference": "f8b1c0173b22fa6ec77a81fe63e5b01eba7e6487", "shasum": "" }, "require": { - "php": "^5.3|^7.0|^8.0" + "php": "^7.4|^8.0" }, "replace": { "cordoval/hamcrest-php": "*", @@ -1651,8 +1911,8 @@ "kodova/hamcrest-php": "*" }, "require-dev": { - "phpunit/php-file-iterator": "^1.4 || ^2.0", - "phpunit/phpunit": "^4.8.36 || ^5.7 || ^6.5 || ^7.0" + "phpunit/php-file-iterator": "^1.4 || ^2.0 || ^3.0", + "phpunit/phpunit": "^4.8.36 || ^5.7 || ^6.5 || ^7.0 || ^8.0 || ^9.0" }, "type": "library", "extra": { @@ -1675,9 +1935,9 @@ ], "support": { "issues": "https://github.com/hamcrest/hamcrest-php/issues", - "source": "https://github.com/hamcrest/hamcrest-php/tree/v2.0.1" + "source": "https://github.com/hamcrest/hamcrest-php/tree/v2.1.1" }, - "time": "2020-07-09T08:09:16+00:00" + "time": "2025-04-30T06:54:44+00:00" }, { "name": "hashids/hashids", @@ -1778,12 +2038,12 @@ "type": "library", "extra": { "laravel": { - "providers": [ - "Nwidart\\Modules\\LaravelModulesServiceProvider" - ], "aliases": { "Module": "Nwidart\\Modules\\Facades\\Module" - } + }, + "providers": [ + "Nwidart\\Modules\\LaravelModulesServiceProvider" + ] }, "branch-alias": { "dev-master": "8.0-dev" @@ -1816,23 +2076,23 @@ }, { "name": "jasonmccreary/laravel-test-assertions", - "version": "v2.4.0", + "version": "v2.8.0", "source": { "type": "git", "url": "https://github.com/jasonmccreary/laravel-test-assertions.git", - "reference": "e506c4eb57816e036b143bd1c64589e1d013337d" + "reference": "4e0542af0a49d72247b353092f9e79128e3615db" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/jasonmccreary/laravel-test-assertions/zipball/e506c4eb57816e036b143bd1c64589e1d013337d", - "reference": "e506c4eb57816e036b143bd1c64589e1d013337d", + "url": "https://api.github.com/repos/jasonmccreary/laravel-test-assertions/zipball/4e0542af0a49d72247b353092f9e79128e3615db", + "reference": "4e0542af0a49d72247b353092f9e79128e3615db", "shasum": "" }, "require": { - "illuminate/testing": "^10.0|^11.0", + "illuminate/testing": "^11.0|^12.0", "mockery/mockery": "^1.4.4", "php": "^8.1", - "phpunit/phpunit": "^10.1" + "phpunit/phpunit": "^10.1|^11.0|^12.0" }, "type": "library", "extra": { @@ -1860,29 +2120,29 @@ "description": "A set of helpful assertions when testing Laravel applications.", "support": { "issues": "https://github.com/jasonmccreary/laravel-test-assertions/issues", - "source": "https://github.com/jasonmccreary/laravel-test-assertions/tree/v2.4.0" + "source": "https://github.com/jasonmccreary/laravel-test-assertions/tree/v2.8.0" }, - "time": "2024-02-29T19:39:03+00:00" + "time": "2025-04-10T20:19:59+00:00" }, { "name": "laravel/framework", - "version": "v11.9.2", + "version": "v12.12.0", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "2b3e8d75f10b0ed17416282946355dc026bf326c" + "reference": "8f6cd73696068c28f30f5964556ec9d14e5d90d7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/2b3e8d75f10b0ed17416282946355dc026bf326c", - "reference": "2b3e8d75f10b0ed17416282946355dc026bf326c", + "url": "https://api.github.com/repos/laravel/framework/zipball/8f6cd73696068c28f30f5964556ec9d14e5d90d7", + "reference": "8f6cd73696068c28f30f5964556ec9d14e5d90d7", "shasum": "" }, "require": { - "brick/math": "^0.9.3|^0.10.2|^0.11|^0.12", + "brick/math": "^0.11|^0.12", "composer-runtime-api": "^2.2", "doctrine/inflector": "^2.0.5", - "dragonmantank/cron-expression": "^3.3.2", + "dragonmantank/cron-expression": "^3.4", "egulias/email-validator": "^3.2.1|^4.0", "ext-ctype": "*", "ext-filter": "*", @@ -1892,42 +2152,44 @@ "ext-session": "*", "ext-tokenizer": "*", "fruitcake/php-cors": "^1.3", - "guzzlehttp/guzzle": "^7.8", + "guzzlehttp/guzzle": "^7.8.2", "guzzlehttp/uri-template": "^1.0", - "laravel/prompts": "^0.1.18", - "laravel/serializable-closure": "^1.3", - "league/commonmark": "^2.2.1", - "league/flysystem": "^3.8.0", + "laravel/prompts": "^0.3.0", + "laravel/serializable-closure": "^1.3|^2.0", + "league/commonmark": "^2.6", + "league/flysystem": "^3.25.1", + "league/flysystem-local": "^3.25.1", + "league/uri": "^7.5.1", "monolog/monolog": "^3.0", - "nesbot/carbon": "^2.72.2|^3.0", + "nesbot/carbon": "^3.8.4", "nunomaduro/termwind": "^2.0", "php": "^8.2", "psr/container": "^1.1.1|^2.0.1", "psr/log": "^1.0|^2.0|^3.0", "psr/simple-cache": "^1.0|^2.0|^3.0", "ramsey/uuid": "^4.7", - "symfony/console": "^7.0", - "symfony/error-handler": "^7.0", - "symfony/finder": "^7.0", - "symfony/http-foundation": "^7.0", - "symfony/http-kernel": "^7.0", - "symfony/mailer": "^7.0", - "symfony/mime": "^7.0", - "symfony/polyfill-php83": "^1.28", - "symfony/process": "^7.0", - "symfony/routing": "^7.0", - "symfony/uid": "^7.0", - "symfony/var-dumper": "^7.0", + "symfony/console": "^7.2.0", + "symfony/error-handler": "^7.2.0", + "symfony/finder": "^7.2.0", + "symfony/http-foundation": "^7.2.0", + "symfony/http-kernel": "^7.2.0", + "symfony/mailer": "^7.2.0", + "symfony/mime": "^7.2.0", + "symfony/polyfill-php83": "^1.31", + "symfony/process": "^7.2.0", + "symfony/routing": "^7.2.0", + "symfony/uid": "^7.2.0", + "symfony/var-dumper": "^7.2.0", "tijsverkoyen/css-to-inline-styles": "^2.2.5", - "vlucas/phpdotenv": "^5.4.1", - "voku/portable-ascii": "^2.0" + "vlucas/phpdotenv": "^5.6.1", + "voku/portable-ascii": "^2.0.2" }, "conflict": { - "mockery/mockery": "1.6.8", "tightenco/collect": "<5.5.33" }, "provide": { "psr/container-implementation": "1.1|2.0", + "psr/log-implementation": "1.0|2.0|3.0", "psr/simple-cache-implementation": "1.0|2.0|3.0" }, "replace": { @@ -1936,6 +2198,7 @@ "illuminate/bus": "self.version", "illuminate/cache": "self.version", "illuminate/collections": "self.version", + "illuminate/concurrency": "self.version", "illuminate/conditionable": "self.version", "illuminate/config": "self.version", "illuminate/console": "self.version", @@ -1968,29 +2231,33 @@ }, "require-dev": { "ably/ably-php": "^1.0", - "aws/aws-sdk-php": "^3.235.5", + "aws/aws-sdk-php": "^3.322.9", "ext-gmp": "*", - "fakerphp/faker": "^1.23", - "league/flysystem-aws-s3-v3": "^3.0", - "league/flysystem-ftp": "^3.0", - "league/flysystem-path-prefixing": "^3.3", - "league/flysystem-read-only": "^3.3", - "league/flysystem-sftp-v3": "^3.0", - "mockery/mockery": "^1.6", - "nyholm/psr7": "^1.2", - "orchestra/testbench-core": "^9.0.15", - "pda/pheanstalk": "^5.0", - "phpstan/phpstan": "^1.4.7", - "phpunit/phpunit": "^10.5|^11.0", - "predis/predis": "^2.0.2", + "fakerphp/faker": "^1.24", + "guzzlehttp/promises": "^2.0.3", + "guzzlehttp/psr7": "^2.4", + "laravel/pint": "^1.18", + "league/flysystem-aws-s3-v3": "^3.25.1", + "league/flysystem-ftp": "^3.25.1", + "league/flysystem-path-prefixing": "^3.25.1", + "league/flysystem-read-only": "^3.25.1", + "league/flysystem-sftp-v3": "^3.25.1", + "mockery/mockery": "^1.6.10", + "orchestra/testbench-core": "^10.0.0", + "pda/pheanstalk": "^5.0.6|^7.0.0", + "php-http/discovery": "^1.15", + "phpstan/phpstan": "^2.0", + "phpunit/phpunit": "^10.5.35|^11.5.3|^12.0.1", + "predis/predis": "^2.3", "resend/resend-php": "^0.10.0", - "symfony/cache": "^7.0", - "symfony/http-client": "^7.0", - "symfony/psr-http-message-bridge": "^7.0" + "symfony/cache": "^7.2.0", + "symfony/http-client": "^7.2.0", + "symfony/psr-http-message-bridge": "^7.2.0", + "symfony/translation": "^7.2.0" }, "suggest": { "ably/ably-php": "Required to use the Ably broadcast driver (^1.0).", - "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage, and SES mail driver (^3.235.5).", + "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage, and SES mail driver (^3.322.9).", "brianium/paratest": "Required to run tests in parallel (^7.0|^8.0).", "ext-apcu": "Required to use the APC cache driver.", "ext-fileinfo": "Required to use the Filesystem class.", @@ -2004,38 +2271,41 @@ "fakerphp/faker": "Required to use the eloquent factory builder (^1.9.1).", "filp/whoops": "Required for friendly error pages in development (^2.14.3).", "laravel/tinker": "Required to use the tinker console command (^2.0).", - "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^3.0).", - "league/flysystem-ftp": "Required to use the Flysystem FTP driver (^3.0).", - "league/flysystem-path-prefixing": "Required to use the scoped driver (^3.3).", - "league/flysystem-read-only": "Required to use read-only disks (^3.3)", - "league/flysystem-sftp-v3": "Required to use the Flysystem SFTP driver (^3.0).", + "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^3.25.1).", + "league/flysystem-ftp": "Required to use the Flysystem FTP driver (^3.25.1).", + "league/flysystem-path-prefixing": "Required to use the scoped driver (^3.25.1).", + "league/flysystem-read-only": "Required to use read-only disks (^3.25.1)", + "league/flysystem-sftp-v3": "Required to use the Flysystem SFTP driver (^3.25.1).", "mockery/mockery": "Required to use mocking (^1.6).", - "nyholm/psr7": "Required to use PSR-7 bridging features (^1.2).", "pda/pheanstalk": "Required to use the beanstalk queue driver (^5.0).", - "phpunit/phpunit": "Required to use assertions and run tests (^10.5|^11.0).", - "predis/predis": "Required to use the predis connector (^2.0.2).", + "php-http/discovery": "Required to use PSR-7 bridging features (^1.15).", + "phpunit/phpunit": "Required to use assertions and run tests (^10.5.35|^11.5.3|^12.0.1).", + "predis/predis": "Required to use the predis connector (^2.3).", "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).", "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^6.0|^7.0).", "resend/resend-php": "Required to enable support for the Resend mail transport (^0.10.0).", - "symfony/cache": "Required to PSR-6 cache bridge (^7.0).", - "symfony/filesystem": "Required to enable support for relative symbolic links (^7.0).", - "symfony/http-client": "Required to enable support for the Symfony API mail transports (^7.0).", - "symfony/mailgun-mailer": "Required to enable support for the Mailgun mail transport (^7.0).", - "symfony/postmark-mailer": "Required to enable support for the Postmark mail transport (^7.0).", - "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^7.0)." + "symfony/cache": "Required to PSR-6 cache bridge (^7.2).", + "symfony/filesystem": "Required to enable support for relative symbolic links (^7.2).", + "symfony/http-client": "Required to enable support for the Symfony API mail transports (^7.2).", + "symfony/mailgun-mailer": "Required to enable support for the Mailgun mail transport (^7.2).", + "symfony/postmark-mailer": "Required to enable support for the Postmark mail transport (^7.2).", + "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^7.2)." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "11.x-dev" + "dev-master": "12.x-dev" } }, "autoload": { "files": [ + "src/Illuminate/Collections/functions.php", "src/Illuminate/Collections/helpers.php", "src/Illuminate/Events/functions.php", "src/Illuminate/Filesystem/functions.php", "src/Illuminate/Foundation/helpers.php", + "src/Illuminate/Log/functions.php", + "src/Illuminate/Support/functions.php", "src/Illuminate/Support/helpers.php" ], "psr-4": { @@ -2067,24 +2337,24 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2024-05-30T09:40:11+00:00" + "time": "2025-05-01T16:13:12+00:00" }, { "name": "laravel/helpers", - "version": "v1.7.0", + "version": "v1.7.2", "source": { "type": "git", "url": "https://github.com/laravel/helpers.git", - "reference": "6caaa242a23bc39b4e3cf57304b5409260a7a346" + "reference": "672d79d5b5f65dc821e57783fa11f22c4d762d70" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/helpers/zipball/6caaa242a23bc39b4e3cf57304b5409260a7a346", - "reference": "6caaa242a23bc39b4e3cf57304b5409260a7a346", + "url": "https://api.github.com/repos/laravel/helpers/zipball/672d79d5b5f65dc821e57783fa11f22c4d762d70", + "reference": "672d79d5b5f65dc821e57783fa11f22c4d762d70", "shasum": "" }, "require": { - "illuminate/support": "~5.8.0|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0", + "illuminate/support": "~5.8.0|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0", "php": "^7.2.0|^8.0" }, "require-dev": { @@ -2122,27 +2392,27 @@ "laravel" ], "support": { - "source": "https://github.com/laravel/helpers/tree/v1.7.0" + "source": "https://github.com/laravel/helpers/tree/v1.7.2" }, - "time": "2023-11-30T14:09:05+00:00" + "time": "2025-01-24T15:41:25+00:00" }, { "name": "laravel/prompts", - "version": "v0.1.23", + "version": "v0.3.5", "source": { "type": "git", "url": "https://github.com/laravel/prompts.git", - "reference": "9bc4df7c699b0452c6b815e64a2d84b6d7f99400" + "reference": "57b8f7efe40333cdb925700891c7d7465325d3b1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/prompts/zipball/9bc4df7c699b0452c6b815e64a2d84b6d7f99400", - "reference": "9bc4df7c699b0452c6b815e64a2d84b6d7f99400", + "url": "https://api.github.com/repos/laravel/prompts/zipball/57b8f7efe40333cdb925700891c7d7465325d3b1", + "reference": "57b8f7efe40333cdb925700891c7d7465325d3b1", "shasum": "" }, "require": { + "composer-runtime-api": "^2.2", "ext-mbstring": "*", - "illuminate/collections": "^10.0|^11.0", "php": "^8.1", "symfony/console": "^6.2|^7.0" }, @@ -2151,8 +2421,9 @@ "laravel/framework": ">=10.17.0 <10.25.0" }, "require-dev": { + "illuminate/collections": "^10.0|^11.0|^12.0", "mockery/mockery": "^1.5", - "pestphp/pest": "^2.3", + "pestphp/pest": "^2.3|^3.4", "phpstan/phpstan": "^1.11", "phpstan/phpstan-mockery": "^1.1" }, @@ -2162,7 +2433,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "0.1.x-dev" + "dev-main": "0.3.x-dev" } }, "autoload": { @@ -2180,38 +2451,38 @@ "description": "Add beautiful and user-friendly forms to your command-line applications.", "support": { "issues": "https://github.com/laravel/prompts/issues", - "source": "https://github.com/laravel/prompts/tree/v0.1.23" + "source": "https://github.com/laravel/prompts/tree/v0.3.5" }, - "time": "2024-05-27T13:53:20+00:00" + "time": "2025-02-11T13:34:40+00:00" }, { "name": "laravel/sanctum", - "version": "v4.0.2", + "version": "v4.1.1", "source": { "type": "git", "url": "https://github.com/laravel/sanctum.git", - "reference": "9cfc0ce80cabad5334efff73ec856339e8ec1ac1" + "reference": "a360a6a1fd2400ead4eb9b6a9c1bb272939194f5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/sanctum/zipball/9cfc0ce80cabad5334efff73ec856339e8ec1ac1", - "reference": "9cfc0ce80cabad5334efff73ec856339e8ec1ac1", + "url": "https://api.github.com/repos/laravel/sanctum/zipball/a360a6a1fd2400ead4eb9b6a9c1bb272939194f5", + "reference": "a360a6a1fd2400ead4eb9b6a9c1bb272939194f5", "shasum": "" }, "require": { "ext-json": "*", - "illuminate/console": "^11.0", - "illuminate/contracts": "^11.0", - "illuminate/database": "^11.0", - "illuminate/support": "^11.0", + "illuminate/console": "^11.0|^12.0", + "illuminate/contracts": "^11.0|^12.0", + "illuminate/database": "^11.0|^12.0", + "illuminate/support": "^11.0|^12.0", "php": "^8.2", "symfony/console": "^7.0" }, "require-dev": { "mockery/mockery": "^1.6", - "orchestra/testbench": "^9.0", + "orchestra/testbench": "^9.0|^10.0", "phpstan/phpstan": "^1.10", - "phpunit/phpunit": "^10.5" + "phpunit/phpunit": "^11.3" }, "type": "library", "extra": { @@ -2246,35 +2517,36 @@ "issues": "https://github.com/laravel/sanctum/issues", "source": "https://github.com/laravel/sanctum" }, - "time": "2024-04-10T19:39:58+00:00" + "time": "2025-04-23T13:03:38+00:00" }, { "name": "laravel/serializable-closure", - "version": "v1.3.3", + "version": "v2.0.4", "source": { "type": "git", "url": "https://github.com/laravel/serializable-closure.git", - "reference": "3dbf8a8e914634c48d389c1234552666b3d43754" + "reference": "b352cf0534aa1ae6b4d825d1e762e35d43f8a841" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/3dbf8a8e914634c48d389c1234552666b3d43754", - "reference": "3dbf8a8e914634c48d389c1234552666b3d43754", + "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/b352cf0534aa1ae6b4d825d1e762e35d43f8a841", + "reference": "b352cf0534aa1ae6b4d825d1e762e35d43f8a841", "shasum": "" }, "require": { - "php": "^7.3|^8.0" + "php": "^8.1" }, "require-dev": { - "nesbot/carbon": "^2.61", - "pestphp/pest": "^1.21.3", - "phpstan/phpstan": "^1.8.2", - "symfony/var-dumper": "^5.4.11" + "illuminate/support": "^10.0|^11.0|^12.0", + "nesbot/carbon": "^2.67|^3.0", + "pestphp/pest": "^2.36|^3.0", + "phpstan/phpstan": "^2.0", + "symfony/var-dumper": "^6.2.0|^7.0.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.x-dev" + "dev-master": "2.x-dev" } }, "autoload": { @@ -2306,26 +2578,26 @@ "issues": "https://github.com/laravel/serializable-closure/issues", "source": "https://github.com/laravel/serializable-closure" }, - "time": "2023-11-08T14:08:06+00:00" + "time": "2025-03-19T13:51:03+00:00" }, { "name": "laravel/tinker", - "version": "v2.9.0", + "version": "v2.10.1", "source": { "type": "git", "url": "https://github.com/laravel/tinker.git", - "reference": "502e0fe3f0415d06d5db1f83a472f0f3b754bafe" + "reference": "22177cc71807d38f2810c6204d8f7183d88a57d3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/tinker/zipball/502e0fe3f0415d06d5db1f83a472f0f3b754bafe", - "reference": "502e0fe3f0415d06d5db1f83a472f0f3b754bafe", + "url": "https://api.github.com/repos/laravel/tinker/zipball/22177cc71807d38f2810c6204d8f7183d88a57d3", + "reference": "22177cc71807d38f2810c6204d8f7183d88a57d3", "shasum": "" }, "require": { - "illuminate/console": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0", - "illuminate/contracts": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0", - "illuminate/support": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0", + "illuminate/console": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0", + "illuminate/contracts": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0", + "illuminate/support": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0", "php": "^7.2.5|^8.0", "psy/psysh": "^0.11.1|^0.12.0", "symfony/var-dumper": "^4.3.4|^5.0|^6.0|^7.0" @@ -2333,10 +2605,10 @@ "require-dev": { "mockery/mockery": "~1.3.3|^1.4.2", "phpstan/phpstan": "^1.10", - "phpunit/phpunit": "^8.5.8|^9.3.3" + "phpunit/phpunit": "^8.5.8|^9.3.3|^10.0" }, "suggest": { - "illuminate/database": "The Illuminate Database package (^6.0|^7.0|^8.0|^9.0|^10.0|^11.0)." + "illuminate/database": "The Illuminate Database package (^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0)." }, "type": "library", "extra": { @@ -2370,45 +2642,45 @@ ], "support": { "issues": "https://github.com/laravel/tinker/issues", - "source": "https://github.com/laravel/tinker/tree/v2.9.0" + "source": "https://github.com/laravel/tinker/tree/v2.10.1" }, - "time": "2024-01-04T16:10:04+00:00" + "time": "2025-01-27T14:24:01+00:00" }, { "name": "laravel/ui", - "version": "v4.5.2", + "version": "v4.6.1", "source": { "type": "git", "url": "https://github.com/laravel/ui.git", - "reference": "c75396f63268c95b053c8e4814eb70e0875e9628" + "reference": "7d6ffa38d79f19c9b3e70a751a9af845e8f41d88" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/ui/zipball/c75396f63268c95b053c8e4814eb70e0875e9628", - "reference": "c75396f63268c95b053c8e4814eb70e0875e9628", + "url": "https://api.github.com/repos/laravel/ui/zipball/7d6ffa38d79f19c9b3e70a751a9af845e8f41d88", + "reference": "7d6ffa38d79f19c9b3e70a751a9af845e8f41d88", "shasum": "" }, "require": { - "illuminate/console": "^9.21|^10.0|^11.0", - "illuminate/filesystem": "^9.21|^10.0|^11.0", - "illuminate/support": "^9.21|^10.0|^11.0", - "illuminate/validation": "^9.21|^10.0|^11.0", + "illuminate/console": "^9.21|^10.0|^11.0|^12.0", + "illuminate/filesystem": "^9.21|^10.0|^11.0|^12.0", + "illuminate/support": "^9.21|^10.0|^11.0|^12.0", + "illuminate/validation": "^9.21|^10.0|^11.0|^12.0", "php": "^8.0", "symfony/console": "^6.0|^7.0" }, "require-dev": { - "orchestra/testbench": "^7.35|^8.15|^9.0", - "phpunit/phpunit": "^9.3|^10.4|^11.0" + "orchestra/testbench": "^7.35|^8.15|^9.0|^10.0", + "phpunit/phpunit": "^9.3|^10.4|^11.5" }, "type": "library", "extra": { - "branch-alias": { - "dev-master": "4.x-dev" - }, "laravel": { "providers": [ "Laravel\\Ui\\UiServiceProvider" ] + }, + "branch-alias": { + "dev-master": "4.x-dev" } }, "autoload": { @@ -2433,9 +2705,9 @@ "ui" ], "support": { - "source": "https://github.com/laravel/ui/tree/v4.5.2" + "source": "https://github.com/laravel/ui/tree/v4.6.1" }, - "time": "2024-05-08T18:07:10+00:00" + "time": "2025-01-28T15:15:29+00:00" }, { "name": "lavary/laravel-menu", @@ -2459,12 +2731,12 @@ "type": "library", "extra": { "laravel": { - "providers": [ - "Lavary\\Menu\\ServiceProvider" - ], "aliases": { "Menu": "Lavary\\Menu\\Facade" - } + }, + "providers": [ + "Lavary\\Menu\\ServiceProvider" + ] } }, "autoload": { @@ -2495,16 +2767,16 @@ }, { "name": "league/commonmark", - "version": "2.4.2", + "version": "2.6.2", "source": { "type": "git", "url": "https://github.com/thephpleague/commonmark.git", - "reference": "91c24291965bd6d7c46c46a12ba7492f83b1cadf" + "reference": "06c3b0bf2540338094575612f4a1778d0d2d5e94" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/91c24291965bd6d7c46c46a12ba7492f83b1cadf", - "reference": "91c24291965bd6d7c46c46a12ba7492f83b1cadf", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/06c3b0bf2540338094575612f4a1778d0d2d5e94", + "reference": "06c3b0bf2540338094575612f4a1778d0d2d5e94", "shasum": "" }, "require": { @@ -2517,8 +2789,8 @@ }, "require-dev": { "cebe/markdown": "^1.0", - "commonmark/cmark": "0.30.3", - "commonmark/commonmark.js": "0.30.0", + "commonmark/cmark": "0.31.1", + "commonmark/commonmark.js": "0.31.1", "composer/package-versions-deprecated": "^1.8", "embed/embed": "^4.4", "erusev/parsedown": "^1.0", @@ -2529,8 +2801,9 @@ "phpstan/phpstan": "^1.8.2", "phpunit/phpunit": "^9.5.21 || ^10.5.9 || ^11.0.0", "scrutinizer/ocular": "^1.8.1", - "symfony/finder": "^5.3 | ^6.0 || ^7.0", - "symfony/yaml": "^2.3 | ^3.0 | ^4.0 | ^5.0 | ^6.0 || ^7.0", + "symfony/finder": "^5.3 | ^6.0 | ^7.0", + "symfony/process": "^5.4 | ^6.0 | ^7.0", + "symfony/yaml": "^2.3 | ^3.0 | ^4.0 | ^5.0 | ^6.0 | ^7.0", "unleashedtech/php-coding-standard": "^3.1.1", "vimeo/psalm": "^4.24.0 || ^5.0.0" }, @@ -2540,7 +2813,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "2.5-dev" + "dev-main": "2.7-dev" } }, "autoload": { @@ -2597,7 +2870,7 @@ "type": "tidelift" } ], - "time": "2024-02-02T11:59:32+00:00" + "time": "2025-04-18T21:09:27+00:00" }, { "name": "league/config", @@ -2683,16 +2956,16 @@ }, { "name": "league/flysystem", - "version": "3.28.0", + "version": "3.29.1", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem.git", - "reference": "e611adab2b1ae2e3072fa72d62c62f52c2bf1f0c" + "reference": "edc1bb7c86fab0776c3287dbd19b5fa278347319" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/e611adab2b1ae2e3072fa72d62c62f52c2bf1f0c", - "reference": "e611adab2b1ae2e3072fa72d62c62f52c2bf1f0c", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/edc1bb7c86fab0776c3287dbd19b5fa278347319", + "reference": "edc1bb7c86fab0776c3287dbd19b5fa278347319", "shasum": "" }, "require": { @@ -2760,22 +3033,22 @@ ], "support": { "issues": "https://github.com/thephpleague/flysystem/issues", - "source": "https://github.com/thephpleague/flysystem/tree/3.28.0" + "source": "https://github.com/thephpleague/flysystem/tree/3.29.1" }, - "time": "2024-05-22T10:09:12+00:00" + "time": "2024-10-08T08:58:34+00:00" }, { "name": "league/flysystem-aws-s3-v3", - "version": "3.28.0", + "version": "3.29.0", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem-aws-s3-v3.git", - "reference": "22071ef1604bc776f5ff2468ac27a752514665c8" + "reference": "c6ff6d4606e48249b63f269eba7fabdb584e76a9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem-aws-s3-v3/zipball/22071ef1604bc776f5ff2468ac27a752514665c8", - "reference": "22071ef1604bc776f5ff2468ac27a752514665c8", + "url": "https://api.github.com/repos/thephpleague/flysystem-aws-s3-v3/zipball/c6ff6d4606e48249b63f269eba7fabdb584e76a9", + "reference": "c6ff6d4606e48249b63f269eba7fabdb584e76a9", "shasum": "" }, "require": { @@ -2815,22 +3088,22 @@ "storage" ], "support": { - "source": "https://github.com/thephpleague/flysystem-aws-s3-v3/tree/3.28.0" + "source": "https://github.com/thephpleague/flysystem-aws-s3-v3/tree/3.29.0" }, - "time": "2024-05-06T20:05:52+00:00" + "time": "2024-08-17T13:10:48+00:00" }, { "name": "league/flysystem-local", - "version": "3.28.0", + "version": "3.29.0", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem-local.git", - "reference": "13f22ea8be526ea58c2ddff9e158ef7c296e4f40" + "reference": "e0e8d52ce4b2ed154148453d321e97c8e931bd27" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem-local/zipball/13f22ea8be526ea58c2ddff9e158ef7c296e4f40", - "reference": "13f22ea8be526ea58c2ddff9e158ef7c296e4f40", + "url": "https://api.github.com/repos/thephpleague/flysystem-local/zipball/e0e8d52ce4b2ed154148453d321e97c8e931bd27", + "reference": "e0e8d52ce4b2ed154148453d321e97c8e931bd27", "shasum": "" }, "require": { @@ -2864,22 +3137,22 @@ "local" ], "support": { - "source": "https://github.com/thephpleague/flysystem-local/tree/3.28.0" + "source": "https://github.com/thephpleague/flysystem-local/tree/3.29.0" }, - "time": "2024-05-06T20:05:52+00:00" + "time": "2024-08-09T21:24:39+00:00" }, { "name": "league/mime-type-detection", - "version": "1.15.0", + "version": "1.16.0", "source": { "type": "git", "url": "https://github.com/thephpleague/mime-type-detection.git", - "reference": "ce0f4d1e8a6f4eb0ddff33f57c69c50fd09f4301" + "reference": "2d6702ff215bf922936ccc1ad31007edc76451b9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/ce0f4d1e8a6f4eb0ddff33f57c69c50fd09f4301", - "reference": "ce0f4d1e8a6f4eb0ddff33f57c69c50fd09f4301", + "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/2d6702ff215bf922936ccc1ad31007edc76451b9", + "reference": "2d6702ff215bf922936ccc1ad31007edc76451b9", "shasum": "" }, "require": { @@ -2910,7 +3183,7 @@ "description": "Mime-type detection for Flysystem", "support": { "issues": "https://github.com/thephpleague/mime-type-detection/issues", - "source": "https://github.com/thephpleague/mime-type-detection/tree/1.15.0" + "source": "https://github.com/thephpleague/mime-type-detection/tree/1.16.0" }, "funding": [ { @@ -2922,35 +3195,210 @@ "type": "tidelift" } ], - "time": "2024-01-28T23:22:08+00:00" + "time": "2024-09-21T08:32:55+00:00" }, { - "name": "maennchen/zipstream-php", - "version": "3.1.0", + "name": "league/uri", + "version": "7.5.1", "source": { "type": "git", - "url": "https://github.com/maennchen/ZipStream-PHP.git", - "reference": "b8174494eda667f7d13876b4a7bfef0f62a7c0d1" + "url": "https://github.com/thephpleague/uri.git", + "reference": "81fb5145d2644324614cc532b28efd0215bda430" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/maennchen/ZipStream-PHP/zipball/b8174494eda667f7d13876b4a7bfef0f62a7c0d1", - "reference": "b8174494eda667f7d13876b4a7bfef0f62a7c0d1", + "url": "https://api.github.com/repos/thephpleague/uri/zipball/81fb5145d2644324614cc532b28efd0215bda430", + "reference": "81fb5145d2644324614cc532b28efd0215bda430", + "shasum": "" + }, + "require": { + "league/uri-interfaces": "^7.5", + "php": "^8.1" + }, + "conflict": { + "league/uri-schemes": "^1.0" + }, + "suggest": { + "ext-bcmath": "to improve IPV4 host parsing", + "ext-fileinfo": "to create Data URI from file contennts", + "ext-gmp": "to improve IPV4 host parsing", + "ext-intl": "to handle IDN host with the best performance", + "jeremykendall/php-domain-parser": "to resolve Public Suffix and Top Level Domain", + "league/uri-components": "Needed to easily manipulate URI objects components", + "php-64bit": "to improve IPV4 host parsing", + "symfony/polyfill-intl-idn": "to handle IDN host via the Symfony polyfill if ext-intl is not present" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "7.x-dev" + } + }, + "autoload": { + "psr-4": { + "League\\Uri\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ignace Nyamagana Butera", + "email": "nyamsprod@gmail.com", + "homepage": "https://nyamsprod.com" + } + ], + "description": "URI manipulation library", + "homepage": "https://uri.thephpleague.com", + "keywords": [ + "data-uri", + "file-uri", + "ftp", + "hostname", + "http", + "https", + "middleware", + "parse_str", + "parse_url", + "psr-7", + "query-string", + "querystring", + "rfc3986", + "rfc3987", + "rfc6570", + "uri", + "uri-template", + "url", + "ws" + ], + "support": { + "docs": "https://uri.thephpleague.com", + "forum": "https://thephpleague.slack.com", + "issues": "https://github.com/thephpleague/uri-src/issues", + "source": "https://github.com/thephpleague/uri/tree/7.5.1" + }, + "funding": [ + { + "url": "https://github.com/sponsors/nyamsprod", + "type": "github" + } + ], + "time": "2024-12-08T08:40:02+00:00" + }, + { + "name": "league/uri-interfaces", + "version": "7.5.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/uri-interfaces.git", + "reference": "08cfc6c4f3d811584fb09c37e2849e6a7f9b0742" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/08cfc6c4f3d811584fb09c37e2849e6a7f9b0742", + "reference": "08cfc6c4f3d811584fb09c37e2849e6a7f9b0742", + "shasum": "" + }, + "require": { + "ext-filter": "*", + "php": "^8.1", + "psr/http-factory": "^1", + "psr/http-message": "^1.1 || ^2.0" + }, + "suggest": { + "ext-bcmath": "to improve IPV4 host parsing", + "ext-gmp": "to improve IPV4 host parsing", + "ext-intl": "to handle IDN host with the best performance", + "php-64bit": "to improve IPV4 host parsing", + "symfony/polyfill-intl-idn": "to handle IDN host via the Symfony polyfill if ext-intl is not present" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "7.x-dev" + } + }, + "autoload": { + "psr-4": { + "League\\Uri\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ignace Nyamagana Butera", + "email": "nyamsprod@gmail.com", + "homepage": "https://nyamsprod.com" + } + ], + "description": "Common interfaces and classes for URI representation and interaction", + "homepage": "https://uri.thephpleague.com", + "keywords": [ + "data-uri", + "file-uri", + "ftp", + "hostname", + "http", + "https", + "parse_str", + "parse_url", + "psr-7", + "query-string", + "querystring", + "rfc3986", + "rfc3987", + "rfc6570", + "uri", + "url", + "ws" + ], + "support": { + "docs": "https://uri.thephpleague.com", + "forum": "https://thephpleague.slack.com", + "issues": "https://github.com/thephpleague/uri-src/issues", + "source": "https://github.com/thephpleague/uri-interfaces/tree/7.5.0" + }, + "funding": [ + { + "url": "https://github.com/sponsors/nyamsprod", + "type": "github" + } + ], + "time": "2024-12-08T08:18:47+00:00" + }, + { + "name": "maennchen/zipstream-php", + "version": "3.1.2", + "source": { + "type": "git", + "url": "https://github.com/maennchen/ZipStream-PHP.git", + "reference": "aeadcf5c412332eb426c0f9b4485f6accba2a99f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/maennchen/ZipStream-PHP/zipball/aeadcf5c412332eb426c0f9b4485f6accba2a99f", + "reference": "aeadcf5c412332eb426c0f9b4485f6accba2a99f", "shasum": "" }, "require": { "ext-mbstring": "*", "ext-zlib": "*", - "php-64bit": "^8.1" + "php-64bit": "^8.2" }, "require-dev": { + "brianium/paratest": "^7.7", "ext-zip": "*", "friendsofphp/php-cs-fixer": "^3.16", "guzzlehttp/guzzle": "^7.5", "mikey179/vfsstream": "^1.6", "php-coveralls/php-coveralls": "^2.5", - "phpunit/phpunit": "^10.0", - "vimeo/psalm": "^5.0" + "phpunit/phpunit": "^11.0", + "vimeo/psalm": "^6.0" }, "suggest": { "guzzlehttp/psr7": "^2.4", @@ -2991,19 +3439,15 @@ ], "support": { "issues": "https://github.com/maennchen/ZipStream-PHP/issues", - "source": "https://github.com/maennchen/ZipStream-PHP/tree/3.1.0" + "source": "https://github.com/maennchen/ZipStream-PHP/tree/3.1.2" }, "funding": [ { "url": "https://github.com/maennchen", "type": "github" - }, - { - "url": "https://opencollective.com/zipstream", - "type": "open_collective" } ], - "time": "2023-06-21T14:59:35+00:00" + "time": "2025-01-27T12:07:53+00:00" }, { "name": "masterminds/html5", @@ -3157,16 +3601,16 @@ }, { "name": "monolog/monolog", - "version": "3.6.0", + "version": "3.9.0", "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "4b18b21a5527a3d5ffdac2fd35d3ab25a9597654" + "reference": "10d85740180ecba7896c87e06a166e0c95a0e3b6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/4b18b21a5527a3d5ffdac2fd35d3ab25a9597654", - "reference": "4b18b21a5527a3d5ffdac2fd35d3ab25a9597654", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/10d85740180ecba7896c87e06a166e0c95a0e3b6", + "reference": "10d85740180ecba7896c87e06a166e0c95a0e3b6", "shasum": "" }, "require": { @@ -3186,12 +3630,14 @@ "guzzlehttp/psr7": "^2.2", "mongodb/mongodb": "^1.8", "php-amqplib/php-amqplib": "~2.4 || ^3", - "phpstan/phpstan": "^1.9", - "phpstan/phpstan-deprecation-rules": "^1.0", - "phpstan/phpstan-strict-rules": "^1.4", - "phpunit/phpunit": "^10.5.17", + "php-console/php-console": "^3.1.8", + "phpstan/phpstan": "^2", + "phpstan/phpstan-deprecation-rules": "^2", + "phpstan/phpstan-strict-rules": "^2", + "phpunit/phpunit": "^10.5.17 || ^11.0.7", "predis/predis": "^1.1 || ^2", - "ruflin/elastica": "^7", + "rollbar/rollbar": "^4.0", + "ruflin/elastica": "^7 || ^8", "symfony/mailer": "^5.4 || ^6", "symfony/mime": "^5.4 || ^6" }, @@ -3242,7 +3688,7 @@ ], "support": { "issues": "https://github.com/Seldaek/monolog/issues", - "source": "https://github.com/Seldaek/monolog/tree/3.6.0" + "source": "https://github.com/Seldaek/monolog/tree/3.9.0" }, "funding": [ { @@ -3254,20 +3700,20 @@ "type": "tidelift" } ], - "time": "2024-04-12T21:02:21+00:00" + "time": "2025-03-24T10:02:05+00:00" }, { "name": "mtdowling/jmespath.php", - "version": "2.7.0", + "version": "2.8.0", "source": { "type": "git", "url": "https://github.com/jmespath/jmespath.php.git", - "reference": "bbb69a935c2cbb0c03d7f481a238027430f6440b" + "reference": "a2a865e05d5f420b50cc2f85bb78d565db12a6bc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/jmespath/jmespath.php/zipball/bbb69a935c2cbb0c03d7f481a238027430f6440b", - "reference": "bbb69a935c2cbb0c03d7f481a238027430f6440b", + "url": "https://api.github.com/repos/jmespath/jmespath.php/zipball/a2a865e05d5f420b50cc2f85bb78d565db12a6bc", + "reference": "a2a865e05d5f420b50cc2f85bb78d565db12a6bc", "shasum": "" }, "require": { @@ -3284,7 +3730,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.7-dev" + "dev-master": "2.8-dev" } }, "autoload": { @@ -3318,22 +3764,22 @@ ], "support": { "issues": "https://github.com/jmespath/jmespath.php/issues", - "source": "https://github.com/jmespath/jmespath.php/tree/2.7.0" + "source": "https://github.com/jmespath/jmespath.php/tree/2.8.0" }, - "time": "2023-08-25T10:54:48+00:00" + "time": "2024-09-04T18:46:31+00:00" }, { "name": "myclabs/deep-copy", - "version": "1.11.1", + "version": "1.13.1", "source": { "type": "git", "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c" + "reference": "1720ddd719e16cf0db4eb1c6eca108031636d46c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/7284c22080590fb39f2ffa3e9057f10a4ddd0e0c", - "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/1720ddd719e16cf0db4eb1c6eca108031636d46c", + "reference": "1720ddd719e16cf0db4eb1c6eca108031636d46c", "shasum": "" }, "require": { @@ -3341,11 +3787,12 @@ }, "conflict": { "doctrine/collections": "<1.6.8", - "doctrine/common": "<2.13.3 || >=3,<3.2.2" + "doctrine/common": "<2.13.3 || >=3 <3.2.2" }, "require-dev": { "doctrine/collections": "^1.6.8", "doctrine/common": "^2.13.3 || ^3.2.2", + "phpspec/prophecy": "^1.10", "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13" }, "type": "library", @@ -3371,7 +3818,7 @@ ], "support": { "issues": "https://github.com/myclabs/DeepCopy/issues", - "source": "https://github.com/myclabs/DeepCopy/tree/1.11.1" + "source": "https://github.com/myclabs/DeepCopy/tree/1.13.1" }, "funding": [ { @@ -3379,24 +3826,24 @@ "type": "tidelift" } ], - "time": "2023-03-08T13:26:56+00:00" + "time": "2025-04-29T12:36:36+00:00" }, { "name": "nesbot/carbon", - "version": "3.4.0", + "version": "3.9.1", "source": { "type": "git", - "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "8eab8983c83c30e0bacbef8d311e3f3b8172727f" + "url": "https://github.com/CarbonPHP/carbon.git", + "reference": "ced71f79398ece168e24f7f7710462f462310d4d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/8eab8983c83c30e0bacbef8d311e3f3b8172727f", - "reference": "8eab8983c83c30e0bacbef8d311e3f3b8172727f", + "url": "https://api.github.com/repos/CarbonPHP/carbon/zipball/ced71f79398ece168e24f7f7710462f462310d4d", + "reference": "ced71f79398ece168e24f7f7710462f462310d4d", "shasum": "" }, "require": { - "carbonphp/carbon-doctrine-types": "*", + "carbonphp/carbon-doctrine-types": "<100.0", "ext-json": "*", "php": "^8.1", "psr/clock": "^1.0", @@ -3410,13 +3857,13 @@ "require-dev": { "doctrine/dbal": "^3.6.3 || ^4.0", "doctrine/orm": "^2.15.2 || ^3.0", - "friendsofphp/php-cs-fixer": "^3.52.1", + "friendsofphp/php-cs-fixer": "^3.57.2", "kylekatarnls/multi-tester": "^2.5.3", "ondrejmirtes/better-reflection": "^6.25.0.4", "phpmd/phpmd": "^2.15.0", "phpstan/extension-installer": "^1.3.1", - "phpstan/phpstan": "^1.10.65", - "phpunit/phpunit": "^10.5.15", + "phpstan/phpstan": "^1.11.2", + "phpunit/phpunit": "^10.5.20", "squizlabs/php_codesniffer": "^3.9.0" }, "bin": [ @@ -3424,10 +3871,6 @@ ], "type": "library", "extra": { - "branch-alias": { - "dev-master": "3.x-dev", - "dev-2.x": "2.x-dev" - }, "laravel": { "providers": [ "Carbon\\Laravel\\ServiceProvider" @@ -3437,6 +3880,10 @@ "includes": [ "extension.neon" ] + }, + "branch-alias": { + "dev-2.x": "2.x-dev", + "dev-master": "3.x-dev" } }, "autoload": { @@ -3468,8 +3915,8 @@ ], "support": { "docs": "https://carbon.nesbot.com/docs", - "issues": "https://github.com/briannesbitt/Carbon/issues", - "source": "https://github.com/briannesbitt/Carbon" + "issues": "https://github.com/CarbonPHP/carbon/issues", + "source": "https://github.com/CarbonPHP/carbon" }, "funding": [ { @@ -3485,28 +3932,28 @@ "type": "tidelift" } ], - "time": "2024-05-24T14:26:34+00:00" + "time": "2025-05-01T19:51:51+00:00" }, { "name": "nette/schema", - "version": "v1.3.0", + "version": "v1.3.2", "source": { "type": "git", "url": "https://github.com/nette/schema.git", - "reference": "a6d3a6d1f545f01ef38e60f375d1cf1f4de98188" + "reference": "da801d52f0354f70a638673c4a0f04e16529431d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/schema/zipball/a6d3a6d1f545f01ef38e60f375d1cf1f4de98188", - "reference": "a6d3a6d1f545f01ef38e60f375d1cf1f4de98188", + "url": "https://api.github.com/repos/nette/schema/zipball/da801d52f0354f70a638673c4a0f04e16529431d", + "reference": "da801d52f0354f70a638673c4a0f04e16529431d", "shasum": "" }, "require": { "nette/utils": "^4.0", - "php": "8.1 - 8.3" + "php": "8.1 - 8.4" }, "require-dev": { - "nette/tester": "^2.4", + "nette/tester": "^2.5.2", "phpstan/phpstan-nette": "^1.0", "tracy/tracy": "^2.8" }, @@ -3545,26 +3992,26 @@ ], "support": { "issues": "https://github.com/nette/schema/issues", - "source": "https://github.com/nette/schema/tree/v1.3.0" + "source": "https://github.com/nette/schema/tree/v1.3.2" }, - "time": "2023-12-11T11:54:22+00:00" + "time": "2024-10-06T23:10:23+00:00" }, { "name": "nette/utils", - "version": "v4.0.4", + "version": "v4.0.6", "source": { "type": "git", "url": "https://github.com/nette/utils.git", - "reference": "d3ad0aa3b9f934602cb3e3902ebccf10be34d218" + "reference": "ce708655043c7050eb050df361c5e313cf708309" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/utils/zipball/d3ad0aa3b9f934602cb3e3902ebccf10be34d218", - "reference": "d3ad0aa3b9f934602cb3e3902ebccf10be34d218", + "url": "https://api.github.com/repos/nette/utils/zipball/ce708655043c7050eb050df361c5e313cf708309", + "reference": "ce708655043c7050eb050df361c5e313cf708309", "shasum": "" }, "require": { - "php": ">=8.0 <8.4" + "php": "8.0 - 8.4" }, "conflict": { "nette/finder": "<3", @@ -3631,22 +4078,22 @@ ], "support": { "issues": "https://github.com/nette/utils/issues", - "source": "https://github.com/nette/utils/tree/v4.0.4" + "source": "https://github.com/nette/utils/tree/v4.0.6" }, - "time": "2024-01-17T16:50:36+00:00" + "time": "2025-03-30T21:06:30+00:00" }, { "name": "nikic/php-parser", - "version": "v5.0.2", + "version": "v5.4.0", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "139676794dc1e9231bf7bcd123cfc0c99182cb13" + "reference": "447a020a1f875a434d62f2a401f53b82a396e494" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/139676794dc1e9231bf7bcd123cfc0c99182cb13", - "reference": "139676794dc1e9231bf7bcd123cfc0c99182cb13", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/447a020a1f875a434d62f2a401f53b82a396e494", + "reference": "447a020a1f875a434d62f2a401f53b82a396e494", "shasum": "" }, "require": { @@ -3657,7 +4104,7 @@ }, "require-dev": { "ircmaxell/php-yacc": "^0.0.7", - "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" + "phpunit/phpunit": "^9.0" }, "bin": [ "bin/php-parse" @@ -3689,38 +4136,37 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v5.0.2" + "source": "https://github.com/nikic/PHP-Parser/tree/v5.4.0" }, - "time": "2024-03-05T20:51:40+00:00" + "time": "2024-12-30T11:07:19+00:00" }, { "name": "nunomaduro/termwind", - "version": "v2.0.1", + "version": "v2.3.0", "source": { "type": "git", "url": "https://github.com/nunomaduro/termwind.git", - "reference": "58c4c58cf23df7f498daeb97092e34f5259feb6a" + "reference": "52915afe6a1044e8b9cee1bcff836fb63acf9cda" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/58c4c58cf23df7f498daeb97092e34f5259feb6a", - "reference": "58c4c58cf23df7f498daeb97092e34f5259feb6a", + "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/52915afe6a1044e8b9cee1bcff836fb63acf9cda", + "reference": "52915afe6a1044e8b9cee1bcff836fb63acf9cda", "shasum": "" }, "require": { "ext-mbstring": "*", "php": "^8.2", - "symfony/console": "^7.0.4" + "symfony/console": "^7.1.8" }, "require-dev": { - "ergebnis/phpstan-rules": "^2.2.0", - "illuminate/console": "^11.0.0", - "laravel/pint": "^1.14.0", - "mockery/mockery": "^1.6.7", - "pestphp/pest": "^2.34.1", - "phpstan/phpstan": "^1.10.59", - "phpstan/phpstan-strict-rules": "^1.5.2", - "symfony/var-dumper": "^7.0.4", + "illuminate/console": "^11.33.2", + "laravel/pint": "^1.18.2", + "mockery/mockery": "^1.6.12", + "pestphp/pest": "^2.36.0", + "phpstan/phpstan": "^1.12.11", + "phpstan/phpstan-strict-rules": "^1.6.1", + "symfony/var-dumper": "^7.1.8", "thecodingmachine/phpstan-strict-rules": "^1.0.0" }, "type": "library", @@ -3763,7 +4209,7 @@ ], "support": { "issues": "https://github.com/nunomaduro/termwind/issues", - "source": "https://github.com/nunomaduro/termwind/tree/v2.0.1" + "source": "https://github.com/nunomaduro/termwind/tree/v2.3.0" }, "funding": [ { @@ -3779,7 +4225,7 @@ "type": "github" } ], - "time": "2024-03-06T16:17:14+00:00" + "time": "2024-11-21T10:39:51+00:00" }, { "name": "phar-io/manifest", @@ -3900,107 +4346,96 @@ "time": "2022-02-21T01:04:05+00:00" }, { - "name": "phenx/php-font-lib", - "version": "0.5.6", + "name": "php-http/discovery", + "version": "1.20.0", "source": { "type": "git", - "url": "https://github.com/dompdf/php-font-lib.git", - "reference": "a1681e9793040740a405ac5b189275059e2a9863" + "url": "https://github.com/php-http/discovery.git", + "reference": "82fe4c73ef3363caed49ff8dd1539ba06044910d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dompdf/php-font-lib/zipball/a1681e9793040740a405ac5b189275059e2a9863", - "reference": "a1681e9793040740a405ac5b189275059e2a9863", + "url": "https://api.github.com/repos/php-http/discovery/zipball/82fe4c73ef3363caed49ff8dd1539ba06044910d", + "reference": "82fe4c73ef3363caed49ff8dd1539ba06044910d", "shasum": "" }, "require": { - "ext-mbstring": "*" + "composer-plugin-api": "^1.0|^2.0", + "php": "^7.1 || ^8.0" + }, + "conflict": { + "nyholm/psr7": "<1.0", + "zendframework/zend-diactoros": "*" + }, + "provide": { + "php-http/async-client-implementation": "*", + "php-http/client-implementation": "*", + "psr/http-client-implementation": "*", + "psr/http-factory-implementation": "*", + "psr/http-message-implementation": "*" }, "require-dev": { - "symfony/phpunit-bridge": "^3 || ^4 || ^5 || ^6" + "composer/composer": "^1.0.2|^2.0", + "graham-campbell/phpspec-skip-example-extension": "^5.0", + "php-http/httplug": "^1.0 || ^2.0", + "php-http/message-factory": "^1.0", + "phpspec/phpspec": "^5.1 || ^6.1 || ^7.3", + "sebastian/comparator": "^3.0.5 || ^4.0.8", + "symfony/phpunit-bridge": "^6.4.4 || ^7.0.1" + }, + "type": "composer-plugin", + "extra": { + "class": "Http\\Discovery\\Composer\\Plugin", + "plugin-optional": true }, - "type": "library", "autoload": { "psr-4": { - "FontLib\\": "src/FontLib" - } + "Http\\Discovery\\": "src/" + }, + "exclude-from-classmap": [ + "src/Composer/Plugin.php" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "LGPL-2.1-or-later" + "MIT" ], "authors": [ { - "name": "Fabien Ménager", - "email": "fabien.menager@gmail.com" + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com" } ], - "description": "A library to read, parse, export and make subsets of different types of font files.", - "homepage": "https://github.com/PhenX/php-font-lib", + "description": "Finds and installs PSR-7, PSR-17, PSR-18 and HTTPlug implementations", + "homepage": "http://php-http.org", + "keywords": [ + "adapter", + "client", + "discovery", + "factory", + "http", + "message", + "psr17", + "psr7" + ], "support": { - "issues": "https://github.com/dompdf/php-font-lib/issues", - "source": "https://github.com/dompdf/php-font-lib/tree/0.5.6" + "issues": "https://github.com/php-http/discovery/issues", + "source": "https://github.com/php-http/discovery/tree/1.20.0" }, - "time": "2024-01-29T14:45:26+00:00" - }, - { - "name": "phenx/php-svg-lib", - "version": "0.5.4", - "source": { - "type": "git", - "url": "https://github.com/dompdf/php-svg-lib.git", - "reference": "46b25da81613a9cf43c83b2a8c2c1bdab27df691" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/dompdf/php-svg-lib/zipball/46b25da81613a9cf43c83b2a8c2c1bdab27df691", - "reference": "46b25da81613a9cf43c83b2a8c2c1bdab27df691", - "shasum": "" - }, - "require": { - "ext-mbstring": "*", - "php": "^7.1 || ^8.0", - "sabberworm/php-css-parser": "^8.4" - }, - "require-dev": { - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5" - }, - "type": "library", - "autoload": { - "psr-4": { - "Svg\\": "src/Svg" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "LGPL-3.0-or-later" - ], - "authors": [ - { - "name": "Fabien Ménager", - "email": "fabien.menager@gmail.com" - } - ], - "description": "A library to read, parse and export to PDF SVG files.", - "homepage": "https://github.com/PhenX/php-svg-lib", - "support": { - "issues": "https://github.com/dompdf/php-svg-lib/issues", - "source": "https://github.com/dompdf/php-svg-lib/tree/0.5.4" - }, - "time": "2024-04-08T12:52:34+00:00" + "time": "2024-10-02T11:20:13+00:00" }, { "name": "phpoption/phpoption", - "version": "1.9.2", + "version": "1.9.3", "source": { "type": "git", "url": "https://github.com/schmittjoh/php-option.git", - "reference": "80735db690fe4fc5c76dfa7f9b770634285fa820" + "reference": "e3fac8b24f56113f7cb96af14958c0dd16330f54" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/80735db690fe4fc5c76dfa7f9b770634285fa820", - "reference": "80735db690fe4fc5c76dfa7f9b770634285fa820", + "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/e3fac8b24f56113f7cb96af14958c0dd16330f54", + "reference": "e3fac8b24f56113f7cb96af14958c0dd16330f54", "shasum": "" }, "require": { @@ -4008,13 +4443,13 @@ }, "require-dev": { "bamarni/composer-bin-plugin": "^1.8.2", - "phpunit/phpunit": "^8.5.34 || ^9.6.13 || ^10.4.2" + "phpunit/phpunit": "^8.5.39 || ^9.6.20 || ^10.5.28" }, "type": "library", "extra": { "bamarni-bin": { "bin-links": true, - "forward-command": true + "forward-command": false }, "branch-alias": { "dev-master": "1.9-dev" @@ -4050,7 +4485,7 @@ ], "support": { "issues": "https://github.com/schmittjoh/php-option/issues", - "source": "https://github.com/schmittjoh/php-option/tree/1.9.2" + "source": "https://github.com/schmittjoh/php-option/tree/1.9.3" }, "funding": [ { @@ -4062,39 +4497,39 @@ "type": "tidelift" } ], - "time": "2023-11-12T21:59:55+00:00" + "time": "2024-07-20T21:41:07+00:00" }, { "name": "phpunit/php-code-coverage", - "version": "10.1.14", + "version": "11.0.9", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "e3f51450ebffe8e0efdf7346ae966a656f7d5e5b" + "reference": "14d63fbcca18457e49c6f8bebaa91a87e8e188d7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/e3f51450ebffe8e0efdf7346ae966a656f7d5e5b", - "reference": "e3f51450ebffe8e0efdf7346ae966a656f7d5e5b", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/14d63fbcca18457e49c6f8bebaa91a87e8e188d7", + "reference": "14d63fbcca18457e49c6f8bebaa91a87e8e188d7", "shasum": "" }, "require": { "ext-dom": "*", "ext-libxml": "*", "ext-xmlwriter": "*", - "nikic/php-parser": "^4.18 || ^5.0", - "php": ">=8.1", - "phpunit/php-file-iterator": "^4.0", - "phpunit/php-text-template": "^3.0", - "sebastian/code-unit-reverse-lookup": "^3.0", - "sebastian/complexity": "^3.0", - "sebastian/environment": "^6.0", - "sebastian/lines-of-code": "^2.0", - "sebastian/version": "^4.0", - "theseer/tokenizer": "^1.2.0" + "nikic/php-parser": "^5.4.0", + "php": ">=8.2", + "phpunit/php-file-iterator": "^5.1.0", + "phpunit/php-text-template": "^4.0.1", + "sebastian/code-unit-reverse-lookup": "^4.0.1", + "sebastian/complexity": "^4.0.1", + "sebastian/environment": "^7.2.0", + "sebastian/lines-of-code": "^3.0.1", + "sebastian/version": "^5.0.2", + "theseer/tokenizer": "^1.2.3" }, "require-dev": { - "phpunit/phpunit": "^10.1" + "phpunit/phpunit": "^11.5.2" }, "suggest": { "ext-pcov": "PHP extension that provides line coverage", @@ -4103,7 +4538,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "10.1-dev" + "dev-main": "11.0.x-dev" } }, "autoload": { @@ -4132,7 +4567,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.14" + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/11.0.9" }, "funding": [ { @@ -4140,32 +4575,32 @@ "type": "github" } ], - "time": "2024-03-12T15:33:41+00:00" + "time": "2025-02-25T13:26:39+00:00" }, { "name": "phpunit/php-file-iterator", - "version": "4.1.0", + "version": "5.1.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "a95037b6d9e608ba092da1b23931e537cadc3c3c" + "reference": "118cfaaa8bc5aef3287bf315b6060b1174754af6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/a95037b6d9e608ba092da1b23931e537cadc3c3c", - "reference": "a95037b6d9e608ba092da1b23931e537cadc3c3c", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/118cfaaa8bc5aef3287bf315b6060b1174754af6", + "reference": "118cfaaa8bc5aef3287bf315b6060b1174754af6", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "4.0-dev" + "dev-main": "5.0-dev" } }, "autoload": { @@ -4193,7 +4628,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", "security": "https://github.com/sebastianbergmann/php-file-iterator/security/policy", - "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/4.1.0" + "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/5.1.0" }, "funding": [ { @@ -4201,28 +4636,28 @@ "type": "github" } ], - "time": "2023-08-31T06:24:48+00:00" + "time": "2024-08-27T05:02:59+00:00" }, { "name": "phpunit/php-invoker", - "version": "4.0.0", + "version": "5.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-invoker.git", - "reference": "f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7" + "reference": "c1ca3814734c07492b3d4c5f794f4b0995333da2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7", - "reference": "f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7", + "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/c1ca3814734c07492b3d4c5f794f4b0995333da2", + "reference": "c1ca3814734c07492b3d4c5f794f4b0995333da2", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { "ext-pcntl": "*", - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "suggest": { "ext-pcntl": "*" @@ -4230,7 +4665,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "4.0-dev" + "dev-main": "5.0-dev" } }, "autoload": { @@ -4256,7 +4691,8 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-invoker/issues", - "source": "https://github.com/sebastianbergmann/php-invoker/tree/4.0.0" + "security": "https://github.com/sebastianbergmann/php-invoker/security/policy", + "source": "https://github.com/sebastianbergmann/php-invoker/tree/5.0.1" }, "funding": [ { @@ -4264,32 +4700,32 @@ "type": "github" } ], - "time": "2023-02-03T06:56:09+00:00" + "time": "2024-07-03T05:07:44+00:00" }, { "name": "phpunit/php-text-template", - "version": "3.0.1", + "version": "4.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "0c7b06ff49e3d5072f057eb1fa59258bf287a748" + "reference": "3e0404dc6b300e6bf56415467ebcb3fe4f33e964" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/0c7b06ff49e3d5072f057eb1fa59258bf287a748", - "reference": "0c7b06ff49e3d5072f057eb1fa59258bf287a748", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/3e0404dc6b300e6bf56415467ebcb3fe4f33e964", + "reference": "3e0404dc6b300e6bf56415467ebcb3fe4f33e964", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "3.0-dev" + "dev-main": "4.0-dev" } }, "autoload": { @@ -4316,7 +4752,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/php-text-template/issues", "security": "https://github.com/sebastianbergmann/php-text-template/security/policy", - "source": "https://github.com/sebastianbergmann/php-text-template/tree/3.0.1" + "source": "https://github.com/sebastianbergmann/php-text-template/tree/4.0.1" }, "funding": [ { @@ -4324,32 +4760,32 @@ "type": "github" } ], - "time": "2023-08-31T14:07:24+00:00" + "time": "2024-07-03T05:08:43+00:00" }, { "name": "phpunit/php-timer", - "version": "6.0.0", + "version": "7.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "e2a2d67966e740530f4a3343fe2e030ffdc1161d" + "reference": "3b415def83fbcb41f991d9ebf16ae4ad8b7837b3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/e2a2d67966e740530f4a3343fe2e030ffdc1161d", - "reference": "e2a2d67966e740530f4a3343fe2e030ffdc1161d", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3b415def83fbcb41f991d9ebf16ae4ad8b7837b3", + "reference": "3b415def83fbcb41f991d9ebf16ae4ad8b7837b3", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "6.0-dev" + "dev-main": "7.0-dev" } }, "autoload": { @@ -4375,7 +4811,8 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-timer/issues", - "source": "https://github.com/sebastianbergmann/php-timer/tree/6.0.0" + "security": "https://github.com/sebastianbergmann/php-timer/security/policy", + "source": "https://github.com/sebastianbergmann/php-timer/tree/7.0.1" }, "funding": [ { @@ -4383,20 +4820,20 @@ "type": "github" } ], - "time": "2023-02-03T06:57:52+00:00" + "time": "2024-07-03T05:09:35+00:00" }, { "name": "phpunit/phpunit", - "version": "10.5.17", + "version": "11.5.15", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "c1f736a473d21957ead7e94fcc029f571895abf5" + "reference": "4b6a4ee654e5e0c5e1f17e2f83c0f4c91dee1f9c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/c1f736a473d21957ead7e94fcc029f571895abf5", - "reference": "c1f736a473d21957ead7e94fcc029f571895abf5", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/4b6a4ee654e5e0c5e1f17e2f83c0f4c91dee1f9c", + "reference": "4b6a4ee654e5e0c5e1f17e2f83c0f4c91dee1f9c", "shasum": "" }, "require": { @@ -4406,26 +4843,26 @@ "ext-mbstring": "*", "ext-xml": "*", "ext-xmlwriter": "*", - "myclabs/deep-copy": "^1.10.1", - "phar-io/manifest": "^2.0.3", - "phar-io/version": "^3.0.2", - "php": ">=8.1", - "phpunit/php-code-coverage": "^10.1.5", - "phpunit/php-file-iterator": "^4.0", - "phpunit/php-invoker": "^4.0", - "phpunit/php-text-template": "^3.0", - "phpunit/php-timer": "^6.0", - "sebastian/cli-parser": "^2.0", - "sebastian/code-unit": "^2.0", - "sebastian/comparator": "^5.0", - "sebastian/diff": "^5.0", - "sebastian/environment": "^6.0", - "sebastian/exporter": "^5.1", - "sebastian/global-state": "^6.0.1", - "sebastian/object-enumerator": "^5.0", - "sebastian/recursion-context": "^5.0", - "sebastian/type": "^4.0", - "sebastian/version": "^4.0" + "myclabs/deep-copy": "^1.13.0", + "phar-io/manifest": "^2.0.4", + "phar-io/version": "^3.2.1", + "php": ">=8.2", + "phpunit/php-code-coverage": "^11.0.9", + "phpunit/php-file-iterator": "^5.1.0", + "phpunit/php-invoker": "^5.0.1", + "phpunit/php-text-template": "^4.0.1", + "phpunit/php-timer": "^7.0.1", + "sebastian/cli-parser": "^3.0.2", + "sebastian/code-unit": "^3.0.3", + "sebastian/comparator": "^6.3.1", + "sebastian/diff": "^6.0.2", + "sebastian/environment": "^7.2.0", + "sebastian/exporter": "^6.3.0", + "sebastian/global-state": "^7.0.2", + "sebastian/object-enumerator": "^6.0.1", + "sebastian/type": "^5.1.2", + "sebastian/version": "^5.0.2", + "staabm/side-effects-detector": "^1.0.5" }, "suggest": { "ext-soap": "To be able to generate mocks based on WSDL files" @@ -4436,7 +4873,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "10.5-dev" + "dev-main": "11.5-dev" } }, "autoload": { @@ -4468,7 +4905,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.17" + "source": "https://github.com/sebastianbergmann/phpunit/tree/11.5.15" }, "funding": [ { @@ -4484,20 +4921,20 @@ "type": "tidelift" } ], - "time": "2024-04-05T04:39:01+00:00" + "time": "2025-03-23T16:02:11+00:00" }, { "name": "predis/predis", - "version": "v2.2.2", + "version": "v2.4.0", "source": { "type": "git", "url": "https://github.com/predis/predis.git", - "reference": "b1d3255ed9ad4d7254f9f9bba386c99f4bb983d1" + "reference": "f49e13ee3a2a825631562aa0223ac922ec5d058b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/predis/predis/zipball/b1d3255ed9ad4d7254f9f9bba386c99f4bb983d1", - "reference": "b1d3255ed9ad4d7254f9f9bba386c99f4bb983d1", + "url": "https://api.github.com/repos/predis/predis/zipball/f49e13ee3a2a825631562aa0223ac922ec5d058b", + "reference": "f49e13ee3a2a825631562aa0223ac922ec5d058b", "shasum": "" }, "require": { @@ -4506,7 +4943,8 @@ "require-dev": { "friendsofphp/php-cs-fixer": "^3.3", "phpstan/phpstan": "^1.9", - "phpunit/phpunit": "^8.0 || ~9.4.4" + "phpunit/phpcov": "^6.0 || ^8.0", + "phpunit/phpunit": "^8.0 || ^9.4" }, "suggest": { "ext-relay": "Faster connection with in-memory caching (>=0.6.2)" @@ -4528,7 +4966,7 @@ "role": "Maintainer" } ], - "description": "A flexible and feature-complete Redis client for PHP.", + "description": "A flexible and feature-complete Redis/Valkey client for PHP.", "homepage": "http://github.com/predis/predis", "keywords": [ "nosql", @@ -4537,7 +4975,7 @@ ], "support": { "issues": "https://github.com/predis/predis/issues", - "source": "https://github.com/predis/predis/tree/v2.2.2" + "source": "https://github.com/predis/predis/tree/v2.4.0" }, "funding": [ { @@ -4545,7 +4983,7 @@ "type": "github" } ], - "time": "2023-09-13T16:42:03+00:00" + "time": "2025-04-30T15:16:02+00:00" }, { "name": "psr/cache", @@ -4909,16 +5347,16 @@ }, { "name": "psr/log", - "version": "3.0.0", + "version": "3.0.2", "source": { "type": "git", "url": "https://github.com/php-fig/log.git", - "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001" + "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/fe5ea303b0887d5caefd3d431c3e61ad47037001", - "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001", + "url": "https://api.github.com/repos/php-fig/log/zipball/f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", + "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", "shasum": "" }, "require": { @@ -4953,9 +5391,9 @@ "psr-3" ], "support": { - "source": "https://github.com/php-fig/log/tree/3.0.0" + "source": "https://github.com/php-fig/log/tree/3.0.2" }, - "time": "2021-07-14T16:46:02+00:00" + "time": "2024-09-11T13:17:53+00:00" }, { "name": "psr/simple-cache", @@ -5010,16 +5448,16 @@ }, { "name": "psy/psysh", - "version": "v0.12.3", + "version": "v0.12.8", "source": { "type": "git", "url": "https://github.com/bobthecow/psysh.git", - "reference": "b6b6cce7d3ee8fbf31843edce5e8f5a72eff4a73" + "reference": "85057ceedee50c49d4f6ecaff73ee96adb3b3625" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/bobthecow/psysh/zipball/b6b6cce7d3ee8fbf31843edce5e8f5a72eff4a73", - "reference": "b6b6cce7d3ee8fbf31843edce5e8f5a72eff4a73", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/85057ceedee50c49d4f6ecaff73ee96adb3b3625", + "reference": "85057ceedee50c49d4f6ecaff73ee96adb3b3625", "shasum": "" }, "require": { @@ -5046,12 +5484,12 @@ ], "type": "library", "extra": { - "branch-alias": { - "dev-main": "0.12.x-dev" - }, "bamarni-bin": { "bin-links": false, "forward-command": false + }, + "branch-alias": { + "dev-main": "0.12.x-dev" } }, "autoload": { @@ -5083,9 +5521,9 @@ ], "support": { "issues": "https://github.com/bobthecow/psysh/issues", - "source": "https://github.com/bobthecow/psysh/tree/v0.12.3" + "source": "https://github.com/bobthecow/psysh/tree/v0.12.8" }, - "time": "2024-04-02T15:57:53+00:00" + "time": "2025-03-16T03:05:19+00:00" }, { "name": "ralouphie/getallheaders", @@ -5133,16 +5571,16 @@ }, { "name": "ramsey/collection", - "version": "2.0.0", + "version": "2.1.1", "source": { "type": "git", "url": "https://github.com/ramsey/collection.git", - "reference": "a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5" + "reference": "344572933ad0181accbf4ba763e85a0306a8c5e2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ramsey/collection/zipball/a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5", - "reference": "a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5", + "url": "https://api.github.com/repos/ramsey/collection/zipball/344572933ad0181accbf4ba763e85a0306a8c5e2", + "reference": "344572933ad0181accbf4ba763e85a0306a8c5e2", "shasum": "" }, "require": { @@ -5150,25 +5588,22 @@ }, "require-dev": { "captainhook/plugin-composer": "^5.3", - "ergebnis/composer-normalize": "^2.28.3", - "fakerphp/faker": "^1.21", + "ergebnis/composer-normalize": "^2.45", + "fakerphp/faker": "^1.24", "hamcrest/hamcrest-php": "^2.0", - "jangregor/phpstan-prophecy": "^1.0", - "mockery/mockery": "^1.5", + "jangregor/phpstan-prophecy": "^2.1", + "mockery/mockery": "^1.6", "php-parallel-lint/php-console-highlighter": "^1.0", - "php-parallel-lint/php-parallel-lint": "^1.3", - "phpcsstandards/phpcsutils": "^1.0.0-rc1", - "phpspec/prophecy-phpunit": "^2.0", - "phpstan/extension-installer": "^1.2", - "phpstan/phpstan": "^1.9", - "phpstan/phpstan-mockery": "^1.1", - "phpstan/phpstan-phpunit": "^1.3", - "phpunit/phpunit": "^9.5", - "psalm/plugin-mockery": "^1.1", - "psalm/plugin-phpunit": "^0.18.4", - "ramsey/coding-standard": "^2.0.3", - "ramsey/conventional-commits": "^1.3", - "vimeo/psalm": "^5.4" + "php-parallel-lint/php-parallel-lint": "^1.4", + "phpspec/prophecy-phpunit": "^2.3", + "phpstan/extension-installer": "^1.4", + "phpstan/phpstan": "^2.1", + "phpstan/phpstan-mockery": "^2.0", + "phpstan/phpstan-phpunit": "^2.0", + "phpunit/phpunit": "^10.5", + "ramsey/coding-standard": "^2.3", + "ramsey/conventional-commits": "^1.6", + "roave/security-advisories": "dev-latest" }, "type": "library", "extra": { @@ -5206,19 +5641,9 @@ ], "support": { "issues": "https://github.com/ramsey/collection/issues", - "source": "https://github.com/ramsey/collection/tree/2.0.0" + "source": "https://github.com/ramsey/collection/tree/2.1.1" }, - "funding": [ - { - "url": "https://github.com/ramsey", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/ramsey/collection", - "type": "tidelift" - } - ], - "time": "2022-12-31T21:50:55+00:00" + "time": "2025-03-22T05:38:12+00:00" }, { "name": "ramsey/uuid", @@ -5314,24 +5739,24 @@ }, { "name": "sabberworm/php-css-parser", - "version": "v8.5.1", + "version": "v8.8.0", "source": { "type": "git", "url": "https://github.com/MyIntervals/PHP-CSS-Parser.git", - "reference": "4a3d572b0f8b28bb6fd016ae8bbfc445facef152" + "reference": "3de493bdddfd1f051249af725c7e0d2c38fed740" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/MyIntervals/PHP-CSS-Parser/zipball/4a3d572b0f8b28bb6fd016ae8bbfc445facef152", - "reference": "4a3d572b0f8b28bb6fd016ae8bbfc445facef152", + "url": "https://api.github.com/repos/MyIntervals/PHP-CSS-Parser/zipball/3de493bdddfd1f051249af725c7e0d2c38fed740", + "reference": "3de493bdddfd1f051249af725c7e0d2c38fed740", "shasum": "" }, "require": { "ext-iconv": "*", - "php": ">=5.6.20" + "php": "^5.6.20 || ^7.0.0 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0" }, "require-dev": { - "phpunit/phpunit": "^5.7.27" + "phpunit/phpunit": "5.7.27 || 6.5.14 || 7.5.20 || 8.5.41" }, "suggest": { "ext-mbstring": "for parsing UTF-8 CSS" @@ -5373,34 +5798,34 @@ ], "support": { "issues": "https://github.com/MyIntervals/PHP-CSS-Parser/issues", - "source": "https://github.com/MyIntervals/PHP-CSS-Parser/tree/v8.5.1" + "source": "https://github.com/MyIntervals/PHP-CSS-Parser/tree/v8.8.0" }, - "time": "2024-02-15T16:41:13+00:00" + "time": "2025-03-23T17:59:05+00:00" }, { "name": "sebastian/cli-parser", - "version": "2.0.1", + "version": "3.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/cli-parser.git", - "reference": "c34583b87e7b7a8055bf6c450c2c77ce32a24084" + "reference": "15c5dd40dc4f38794d383bb95465193f5e0ae180" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/c34583b87e7b7a8055bf6c450c2c77ce32a24084", - "reference": "c34583b87e7b7a8055bf6c450c2c77ce32a24084", + "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/15c5dd40dc4f38794d383bb95465193f5e0ae180", + "reference": "15c5dd40dc4f38794d383bb95465193f5e0ae180", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "2.0-dev" + "dev-main": "3.0-dev" } }, "autoload": { @@ -5424,7 +5849,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/cli-parser/issues", "security": "https://github.com/sebastianbergmann/cli-parser/security/policy", - "source": "https://github.com/sebastianbergmann/cli-parser/tree/2.0.1" + "source": "https://github.com/sebastianbergmann/cli-parser/tree/3.0.2" }, "funding": [ { @@ -5432,32 +5857,32 @@ "type": "github" } ], - "time": "2024-03-02T07:12:49+00:00" + "time": "2024-07-03T04:41:36+00:00" }, { "name": "sebastian/code-unit", - "version": "2.0.0", + "version": "3.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/code-unit.git", - "reference": "a81fee9eef0b7a76af11d121767abc44c104e503" + "reference": "54391c61e4af8078e5b276ab082b6d3c54c9ad64" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/a81fee9eef0b7a76af11d121767abc44c104e503", - "reference": "a81fee9eef0b7a76af11d121767abc44c104e503", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/54391c61e4af8078e5b276ab082b6d3c54c9ad64", + "reference": "54391c61e4af8078e5b276ab082b6d3c54c9ad64", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.5" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "2.0-dev" + "dev-main": "3.0-dev" } }, "autoload": { @@ -5480,7 +5905,8 @@ "homepage": "https://github.com/sebastianbergmann/code-unit", "support": { "issues": "https://github.com/sebastianbergmann/code-unit/issues", - "source": "https://github.com/sebastianbergmann/code-unit/tree/2.0.0" + "security": "https://github.com/sebastianbergmann/code-unit/security/policy", + "source": "https://github.com/sebastianbergmann/code-unit/tree/3.0.3" }, "funding": [ { @@ -5488,32 +5914,32 @@ "type": "github" } ], - "time": "2023-02-03T06:58:43+00:00" + "time": "2025-03-19T07:56:08+00:00" }, { "name": "sebastian/code-unit-reverse-lookup", - "version": "3.0.0", + "version": "4.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", - "reference": "5e3a687f7d8ae33fb362c5c0743794bbb2420a1d" + "reference": "183a9b2632194febd219bb9246eee421dad8d45e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/5e3a687f7d8ae33fb362c5c0743794bbb2420a1d", - "reference": "5e3a687f7d8ae33fb362c5c0743794bbb2420a1d", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/183a9b2632194febd219bb9246eee421dad8d45e", + "reference": "183a9b2632194febd219bb9246eee421dad8d45e", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "3.0-dev" + "dev-main": "4.0-dev" } }, "autoload": { @@ -5535,7 +5961,8 @@ "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", "support": { "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", - "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/3.0.0" + "security": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/security/policy", + "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/4.0.1" }, "funding": [ { @@ -5543,36 +5970,39 @@ "type": "github" } ], - "time": "2023-02-03T06:59:15+00:00" + "time": "2024-07-03T04:45:54+00:00" }, { "name": "sebastian/comparator", - "version": "5.0.1", + "version": "6.3.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "2db5010a484d53ebf536087a70b4a5423c102372" + "reference": "24b8fbc2c8e201bb1308e7b05148d6ab393b6959" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2db5010a484d53ebf536087a70b4a5423c102372", - "reference": "2db5010a484d53ebf536087a70b4a5423c102372", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/24b8fbc2c8e201bb1308e7b05148d6ab393b6959", + "reference": "24b8fbc2c8e201bb1308e7b05148d6ab393b6959", "shasum": "" }, "require": { "ext-dom": "*", "ext-mbstring": "*", - "php": ">=8.1", - "sebastian/diff": "^5.0", - "sebastian/exporter": "^5.0" + "php": ">=8.2", + "sebastian/diff": "^6.0", + "sebastian/exporter": "^6.0" }, "require-dev": { - "phpunit/phpunit": "^10.3" + "phpunit/phpunit": "^11.4" + }, + "suggest": { + "ext-bcmath": "For comparing BcMath\\Number objects" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "5.0-dev" + "dev-main": "6.3-dev" } }, "autoload": { @@ -5612,7 +6042,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/comparator/issues", "security": "https://github.com/sebastianbergmann/comparator/security/policy", - "source": "https://github.com/sebastianbergmann/comparator/tree/5.0.1" + "source": "https://github.com/sebastianbergmann/comparator/tree/6.3.1" }, "funding": [ { @@ -5620,33 +6050,33 @@ "type": "github" } ], - "time": "2023-08-14T13:18:12+00:00" + "time": "2025-03-07T06:57:01+00:00" }, { "name": "sebastian/complexity", - "version": "3.2.0", + "version": "4.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/complexity.git", - "reference": "68ff824baeae169ec9f2137158ee529584553799" + "reference": "ee41d384ab1906c68852636b6de493846e13e5a0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/68ff824baeae169ec9f2137158ee529584553799", - "reference": "68ff824baeae169ec9f2137158ee529584553799", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/ee41d384ab1906c68852636b6de493846e13e5a0", + "reference": "ee41d384ab1906c68852636b6de493846e13e5a0", "shasum": "" }, "require": { - "nikic/php-parser": "^4.18 || ^5.0", - "php": ">=8.1" + "nikic/php-parser": "^5.0", + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "3.2-dev" + "dev-main": "4.0-dev" } }, "autoload": { @@ -5670,7 +6100,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/complexity/issues", "security": "https://github.com/sebastianbergmann/complexity/security/policy", - "source": "https://github.com/sebastianbergmann/complexity/tree/3.2.0" + "source": "https://github.com/sebastianbergmann/complexity/tree/4.0.1" }, "funding": [ { @@ -5678,33 +6108,33 @@ "type": "github" } ], - "time": "2023-12-21T08:37:17+00:00" + "time": "2024-07-03T04:49:50+00:00" }, { "name": "sebastian/diff", - "version": "5.1.1", + "version": "6.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "c41e007b4b62af48218231d6c2275e4c9b975b2e" + "reference": "b4ccd857127db5d41a5b676f24b51371d76d8544" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/c41e007b4b62af48218231d6c2275e4c9b975b2e", - "reference": "c41e007b4b62af48218231d6c2275e4c9b975b2e", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/b4ccd857127db5d41a5b676f24b51371d76d8544", + "reference": "b4ccd857127db5d41a5b676f24b51371d76d8544", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0", - "symfony/process": "^6.4" + "phpunit/phpunit": "^11.0", + "symfony/process": "^4.2 || ^5" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "5.1-dev" + "dev-main": "6.0-dev" } }, "autoload": { @@ -5737,7 +6167,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/diff/issues", "security": "https://github.com/sebastianbergmann/diff/security/policy", - "source": "https://github.com/sebastianbergmann/diff/tree/5.1.1" + "source": "https://github.com/sebastianbergmann/diff/tree/6.0.2" }, "funding": [ { @@ -5745,27 +6175,27 @@ "type": "github" } ], - "time": "2024-03-02T07:15:17+00:00" + "time": "2024-07-03T04:53:05+00:00" }, { "name": "sebastian/environment", - "version": "6.1.0", + "version": "7.2.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "8074dbcd93529b357029f5cc5058fd3e43666984" + "reference": "855f3ae0ab316bbafe1ba4e16e9f3c078d24a0c5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/8074dbcd93529b357029f5cc5058fd3e43666984", - "reference": "8074dbcd93529b357029f5cc5058fd3e43666984", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/855f3ae0ab316bbafe1ba4e16e9f3c078d24a0c5", + "reference": "855f3ae0ab316bbafe1ba4e16e9f3c078d24a0c5", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "suggest": { "ext-posix": "*" @@ -5773,7 +6203,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "6.1-dev" + "dev-main": "7.2-dev" } }, "autoload": { @@ -5801,7 +6231,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/environment/issues", "security": "https://github.com/sebastianbergmann/environment/security/policy", - "source": "https://github.com/sebastianbergmann/environment/tree/6.1.0" + "source": "https://github.com/sebastianbergmann/environment/tree/7.2.0" }, "funding": [ { @@ -5809,34 +6239,34 @@ "type": "github" } ], - "time": "2024-03-23T08:47:14+00:00" + "time": "2024-07-03T04:54:44+00:00" }, { "name": "sebastian/exporter", - "version": "5.1.2", + "version": "6.3.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "955288482d97c19a372d3f31006ab3f37da47adf" + "reference": "3473f61172093b2da7de1fb5782e1f24cc036dc3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/955288482d97c19a372d3f31006ab3f37da47adf", - "reference": "955288482d97c19a372d3f31006ab3f37da47adf", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/3473f61172093b2da7de1fb5782e1f24cc036dc3", + "reference": "3473f61172093b2da7de1fb5782e1f24cc036dc3", "shasum": "" }, "require": { "ext-mbstring": "*", - "php": ">=8.1", - "sebastian/recursion-context": "^5.0" + "php": ">=8.2", + "sebastian/recursion-context": "^6.0" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.3" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "5.1-dev" + "dev-main": "6.1-dev" } }, "autoload": { @@ -5879,7 +6309,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/exporter/issues", "security": "https://github.com/sebastianbergmann/exporter/security/policy", - "source": "https://github.com/sebastianbergmann/exporter/tree/5.1.2" + "source": "https://github.com/sebastianbergmann/exporter/tree/6.3.0" }, "funding": [ { @@ -5887,35 +6317,35 @@ "type": "github" } ], - "time": "2024-03-02T07:17:12+00:00" + "time": "2024-12-05T09:17:50+00:00" }, { "name": "sebastian/global-state", - "version": "6.0.2", + "version": "7.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "987bafff24ecc4c9ac418cab1145b96dd6e9cbd9" + "reference": "3be331570a721f9a4b5917f4209773de17f747d7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/987bafff24ecc4c9ac418cab1145b96dd6e9cbd9", - "reference": "987bafff24ecc4c9ac418cab1145b96dd6e9cbd9", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/3be331570a721f9a4b5917f4209773de17f747d7", + "reference": "3be331570a721f9a4b5917f4209773de17f747d7", "shasum": "" }, "require": { - "php": ">=8.1", - "sebastian/object-reflector": "^3.0", - "sebastian/recursion-context": "^5.0" + "php": ">=8.2", + "sebastian/object-reflector": "^4.0", + "sebastian/recursion-context": "^6.0" }, "require-dev": { "ext-dom": "*", - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "6.0-dev" + "dev-main": "7.0-dev" } }, "autoload": { @@ -5941,7 +6371,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/global-state/issues", "security": "https://github.com/sebastianbergmann/global-state/security/policy", - "source": "https://github.com/sebastianbergmann/global-state/tree/6.0.2" + "source": "https://github.com/sebastianbergmann/global-state/tree/7.0.2" }, "funding": [ { @@ -5949,33 +6379,33 @@ "type": "github" } ], - "time": "2024-03-02T07:19:19+00:00" + "time": "2024-07-03T04:57:36+00:00" }, { "name": "sebastian/lines-of-code", - "version": "2.0.2", + "version": "3.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/lines-of-code.git", - "reference": "856e7f6a75a84e339195d48c556f23be2ebf75d0" + "reference": "d36ad0d782e5756913e42ad87cb2890f4ffe467a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/856e7f6a75a84e339195d48c556f23be2ebf75d0", - "reference": "856e7f6a75a84e339195d48c556f23be2ebf75d0", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/d36ad0d782e5756913e42ad87cb2890f4ffe467a", + "reference": "d36ad0d782e5756913e42ad87cb2890f4ffe467a", "shasum": "" }, "require": { - "nikic/php-parser": "^4.18 || ^5.0", - "php": ">=8.1" + "nikic/php-parser": "^5.0", + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "2.0-dev" + "dev-main": "3.0-dev" } }, "autoload": { @@ -5999,7 +6429,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", "security": "https://github.com/sebastianbergmann/lines-of-code/security/policy", - "source": "https://github.com/sebastianbergmann/lines-of-code/tree/2.0.2" + "source": "https://github.com/sebastianbergmann/lines-of-code/tree/3.0.1" }, "funding": [ { @@ -6007,34 +6437,34 @@ "type": "github" } ], - "time": "2023-12-21T08:38:20+00:00" + "time": "2024-07-03T04:58:38+00:00" }, { "name": "sebastian/object-enumerator", - "version": "5.0.0", + "version": "6.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/object-enumerator.git", - "reference": "202d0e344a580d7f7d04b3fafce6933e59dae906" + "reference": "f5b498e631a74204185071eb41f33f38d64608aa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/202d0e344a580d7f7d04b3fafce6933e59dae906", - "reference": "202d0e344a580d7f7d04b3fafce6933e59dae906", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/f5b498e631a74204185071eb41f33f38d64608aa", + "reference": "f5b498e631a74204185071eb41f33f38d64608aa", "shasum": "" }, "require": { - "php": ">=8.1", - "sebastian/object-reflector": "^3.0", - "sebastian/recursion-context": "^5.0" + "php": ">=8.2", + "sebastian/object-reflector": "^4.0", + "sebastian/recursion-context": "^6.0" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "5.0-dev" + "dev-main": "6.0-dev" } }, "autoload": { @@ -6056,7 +6486,8 @@ "homepage": "https://github.com/sebastianbergmann/object-enumerator/", "support": { "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", - "source": "https://github.com/sebastianbergmann/object-enumerator/tree/5.0.0" + "security": "https://github.com/sebastianbergmann/object-enumerator/security/policy", + "source": "https://github.com/sebastianbergmann/object-enumerator/tree/6.0.1" }, "funding": [ { @@ -6064,32 +6495,32 @@ "type": "github" } ], - "time": "2023-02-03T07:08:32+00:00" + "time": "2024-07-03T05:00:13+00:00" }, { "name": "sebastian/object-reflector", - "version": "3.0.0", + "version": "4.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/object-reflector.git", - "reference": "24ed13d98130f0e7122df55d06c5c4942a577957" + "reference": "6e1a43b411b2ad34146dee7524cb13a068bb35f9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/24ed13d98130f0e7122df55d06c5c4942a577957", - "reference": "24ed13d98130f0e7122df55d06c5c4942a577957", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/6e1a43b411b2ad34146dee7524cb13a068bb35f9", + "reference": "6e1a43b411b2ad34146dee7524cb13a068bb35f9", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "3.0-dev" + "dev-main": "4.0-dev" } }, "autoload": { @@ -6111,7 +6542,8 @@ "homepage": "https://github.com/sebastianbergmann/object-reflector/", "support": { "issues": "https://github.com/sebastianbergmann/object-reflector/issues", - "source": "https://github.com/sebastianbergmann/object-reflector/tree/3.0.0" + "security": "https://github.com/sebastianbergmann/object-reflector/security/policy", + "source": "https://github.com/sebastianbergmann/object-reflector/tree/4.0.1" }, "funding": [ { @@ -6119,32 +6551,32 @@ "type": "github" } ], - "time": "2023-02-03T07:06:18+00:00" + "time": "2024-07-03T05:01:32+00:00" }, { "name": "sebastian/recursion-context", - "version": "5.0.0", + "version": "6.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "05909fb5bc7df4c52992396d0116aed689f93712" + "reference": "694d156164372abbd149a4b85ccda2e4670c0e16" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/05909fb5bc7df4c52992396d0116aed689f93712", - "reference": "05909fb5bc7df4c52992396d0116aed689f93712", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/694d156164372abbd149a4b85ccda2e4670c0e16", + "reference": "694d156164372abbd149a4b85ccda2e4670c0e16", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "5.0-dev" + "dev-main": "6.0-dev" } }, "autoload": { @@ -6174,7 +6606,8 @@ "homepage": "https://github.com/sebastianbergmann/recursion-context", "support": { "issues": "https://github.com/sebastianbergmann/recursion-context/issues", - "source": "https://github.com/sebastianbergmann/recursion-context/tree/5.0.0" + "security": "https://github.com/sebastianbergmann/recursion-context/security/policy", + "source": "https://github.com/sebastianbergmann/recursion-context/tree/6.0.2" }, "funding": [ { @@ -6182,32 +6615,32 @@ "type": "github" } ], - "time": "2023-02-03T07:05:40+00:00" + "time": "2024-07-03T05:10:34+00:00" }, { "name": "sebastian/type", - "version": "4.0.0", + "version": "5.1.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/type.git", - "reference": "462699a16464c3944eefc02ebdd77882bd3925bf" + "reference": "a8a7e30534b0eb0c77cd9d07e82de1a114389f5e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/462699a16464c3944eefc02ebdd77882bd3925bf", - "reference": "462699a16464c3944eefc02ebdd77882bd3925bf", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/a8a7e30534b0eb0c77cd9d07e82de1a114389f5e", + "reference": "a8a7e30534b0eb0c77cd9d07e82de1a114389f5e", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.3" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "4.0-dev" + "dev-main": "5.1-dev" } }, "autoload": { @@ -6230,7 +6663,8 @@ "homepage": "https://github.com/sebastianbergmann/type", "support": { "issues": "https://github.com/sebastianbergmann/type/issues", - "source": "https://github.com/sebastianbergmann/type/tree/4.0.0" + "security": "https://github.com/sebastianbergmann/type/security/policy", + "source": "https://github.com/sebastianbergmann/type/tree/5.1.2" }, "funding": [ { @@ -6238,29 +6672,29 @@ "type": "github" } ], - "time": "2023-02-03T07:10:45+00:00" + "time": "2025-03-18T13:35:50+00:00" }, { "name": "sebastian/version", - "version": "4.0.1", + "version": "5.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/version.git", - "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17" + "reference": "c687e3387b99f5b03b6caa64c74b63e2936ff874" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c51fa83a5d8f43f1402e3f32a005e6262244ef17", - "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c687e3387b99f5b03b6caa64c74b63e2936ff874", + "reference": "c687e3387b99f5b03b6caa64c74b63e2936ff874", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "4.0-dev" + "dev-main": "5.0-dev" } }, "autoload": { @@ -6283,7 +6717,8 @@ "homepage": "https://github.com/sebastianbergmann/version", "support": { "issues": "https://github.com/sebastianbergmann/version/issues", - "source": "https://github.com/sebastianbergmann/version/tree/4.0.1" + "security": "https://github.com/sebastianbergmann/version/security/policy", + "source": "https://github.com/sebastianbergmann/version/tree/5.0.2" }, "funding": [ { @@ -6291,36 +6726,36 @@ "type": "github" } ], - "time": "2023-02-07T11:34:05+00:00" + "time": "2024-10-09T05:16:32+00:00" }, { "name": "silber/bouncer", - "version": "v1.0.2", + "version": "v1.0.3", "source": { "type": "git", "url": "https://github.com/JosephSilber/bouncer.git", - "reference": "c4b3528990b1a6c652ff3705639dbb126dd9ee73" + "reference": "5d4d2b77645069978af42ceed8f4234541391294" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/JosephSilber/bouncer/zipball/c4b3528990b1a6c652ff3705639dbb126dd9ee73", - "reference": "c4b3528990b1a6c652ff3705639dbb126dd9ee73", + "url": "https://api.github.com/repos/JosephSilber/bouncer/zipball/5d4d2b77645069978af42ceed8f4234541391294", + "reference": "5d4d2b77645069978af42ceed8f4234541391294", "shasum": "" }, "require": { - "illuminate/auth": "^11.0", - "illuminate/cache": "^11.0", - "illuminate/container": "^11.0", - "illuminate/contracts": "^11.0", - "illuminate/database": "^11.0", - "php": "^8.2|^8.3" + "illuminate/auth": "^11.0|^12.0", + "illuminate/cache": "^11.0|^12.0", + "illuminate/container": "^11.0|^12.0", + "illuminate/contracts": "^11.0|^12.0", + "illuminate/database": "^11.0|^12.0", + "php": "^8.2" }, "require-dev": { - "illuminate/console": "^11.0", - "illuminate/events": "^11.0", + "illuminate/console": "^11.0|^12.0", + "illuminate/events": "^11.0|^12.0", "laravel/pint": "^1.14", - "orchestra/testbench": "^9.0", - "pestphp/pest": "3.x-dev", + "orchestra/testbench": "^9.0|^10.0", + "pestphp/pest": "^3.7", "phpunit/phpunit": "^11.0" }, "suggest": { @@ -6330,12 +6765,12 @@ "type": "library", "extra": { "laravel": { - "providers": [ - "Silber\\Bouncer\\BouncerServiceProvider" - ], "aliases": { "Bouncer": "Silber\\Bouncer\\BouncerFacade" - } + }, + "providers": [ + "Silber\\Bouncer\\BouncerServiceProvider" + ] } }, "autoload": { @@ -6365,22 +6800,22 @@ ], "support": { "issues": "https://github.com/JosephSilber/bouncer/issues", - "source": "https://github.com/JosephSilber/bouncer/tree/v1.0.2" + "source": "https://github.com/JosephSilber/bouncer/tree/v1.0.3" }, - "time": "2024-03-14T14:11:37+00:00" + "time": "2025-02-24T22:33:29+00:00" }, { "name": "spatie/db-dumper", - "version": "3.6.0", + "version": "3.8.0", "source": { "type": "git", "url": "https://github.com/spatie/db-dumper.git", - "reference": "faca5056830bccea04eadf07e8074669cb9e905e" + "reference": "91e1fd4dc000aefc9753cda2da37069fc996baee" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/db-dumper/zipball/faca5056830bccea04eadf07e8074669cb9e905e", - "reference": "faca5056830bccea04eadf07e8074669cb9e905e", + "url": "https://api.github.com/repos/spatie/db-dumper/zipball/91e1fd4dc000aefc9753cda2da37069fc996baee", + "reference": "91e1fd4dc000aefc9753cda2da37069fc996baee", "shasum": "" }, "require": { @@ -6418,7 +6853,7 @@ "spatie" ], "support": { - "source": "https://github.com/spatie/db-dumper/tree/3.6.0" + "source": "https://github.com/spatie/db-dumper/tree/3.8.0" }, "funding": [ { @@ -6430,20 +6865,20 @@ "type": "github" } ], - "time": "2024-04-24T14:54:13+00:00" + "time": "2025-02-14T15:04:22+00:00" }, { "name": "spatie/dropbox-api", - "version": "1.22.0", + "version": "1.23.0", "source": { "type": "git", "url": "https://github.com/spatie/dropbox-api.git", - "reference": "5b012d68568a560d1cd8888c0be2c2805c4b7c65" + "reference": "120ff475d7b03d3700a884c295b3b9503c4ddf8d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/dropbox-api/zipball/5b012d68568a560d1cd8888c0be2c2805c4b7c65", - "reference": "5b012d68568a560d1cd8888c0be2c2805c4b7c65", + "url": "https://api.github.com/repos/spatie/dropbox-api/zipball/120ff475d7b03d3700a884c295b3b9503c4ddf8d", + "reference": "120ff475d7b03d3700a884c295b3b9503c4ddf8d", "shasum": "" }, "require": { @@ -6454,8 +6889,8 @@ }, "require-dev": { "laravel/pint": "^1.10.1", - "phpstan/phpstan": "^1.10.16", - "phpunit/phpunit": "^9.4" + "pestphp/pest": "^2.6.3", + "phpstan/phpstan": "^1.10.16" }, "type": "library", "autoload": { @@ -6492,7 +6927,7 @@ ], "support": { "issues": "https://github.com/spatie/dropbox-api/issues", - "source": "https://github.com/spatie/dropbox-api/tree/1.22.0" + "source": "https://github.com/spatie/dropbox-api/tree/1.23.0" }, "funding": [ { @@ -6504,20 +6939,20 @@ "type": "github" } ], - "time": "2023-06-08T07:13:00+00:00" + "time": "2025-01-06T09:31:59+00:00" }, { "name": "spatie/flysystem-dropbox", - "version": "3.0.1", + "version": "3.0.2", "source": { "type": "git", "url": "https://github.com/spatie/flysystem-dropbox.git", - "reference": "766879111204a6e49412b5ff5989a6654e1b8ae0" + "reference": "e6bf18e4dcfe5b21945bdc8b633f7e4c3ae4b9eb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/flysystem-dropbox/zipball/766879111204a6e49412b5ff5989a6654e1b8ae0", - "reference": "766879111204a6e49412b5ff5989a6654e1b8ae0", + "url": "https://api.github.com/repos/spatie/flysystem-dropbox/zipball/e6bf18e4dcfe5b21945bdc8b633f7e4c3ae4b9eb", + "reference": "e6bf18e4dcfe5b21945bdc8b633f7e4c3ae4b9eb", "shasum": "" }, "require": { @@ -6560,7 +6995,7 @@ ], "support": { "issues": "https://github.com/spatie/flysystem-dropbox/issues", - "source": "https://github.com/spatie/flysystem-dropbox/tree/3.0.1" + "source": "https://github.com/spatie/flysystem-dropbox/tree/3.0.2" }, "funding": [ { @@ -6572,20 +7007,20 @@ "type": "github" } ], - "time": "2023-07-17T07:48:52+00:00" + "time": "2025-01-06T14:05:49+00:00" }, { "name": "spatie/image", - "version": "3.6.3", + "version": "3.8.3", "source": { "type": "git", "url": "https://github.com/spatie/image.git", - "reference": "1d4e9c536f1bf7b88e55555d0a1ae9eee6b76a99" + "reference": "54a7331a4d1ba7712603dd058522613506d2dfe0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/image/zipball/1d4e9c536f1bf7b88e55555d0a1ae9eee6b76a99", - "reference": "1d4e9c536f1bf7b88e55555d0a1ae9eee6b76a99", + "url": "https://api.github.com/repos/spatie/image/zipball/54a7331a4d1ba7712603dd058522613506d2dfe0", + "reference": "54a7331a4d1ba7712603dd058522613506d2dfe0", "shasum": "" }, "require": { @@ -6600,6 +7035,7 @@ "require-dev": { "ext-gd": "*", "ext-imagick": "*", + "laravel/sail": "^1.34", "pestphp/pest": "^2.28", "phpstan/phpstan": "^1.10.50", "spatie/pest-plugin-snapshots": "^2.1", @@ -6632,7 +7068,7 @@ "spatie" ], "support": { - "source": "https://github.com/spatie/image/tree/3.6.3" + "source": "https://github.com/spatie/image/tree/3.8.3" }, "funding": [ { @@ -6644,20 +7080,20 @@ "type": "github" } ], - "time": "2024-05-24T14:08:59+00:00" + "time": "2025-04-25T08:04:51+00:00" }, { "name": "spatie/image-optimizer", - "version": "1.7.5", + "version": "1.8.0", "source": { "type": "git", "url": "https://github.com/spatie/image-optimizer.git", - "reference": "43aff6725cd87bb78ccd8532633cfa8bdc962505" + "reference": "4fd22035e81d98fffced65a8c20d9ec4daa9671c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/image-optimizer/zipball/43aff6725cd87bb78ccd8532633cfa8bdc962505", - "reference": "43aff6725cd87bb78ccd8532633cfa8bdc962505", + "url": "https://api.github.com/repos/spatie/image-optimizer/zipball/4fd22035e81d98fffced65a8c20d9ec4daa9671c", + "reference": "4fd22035e81d98fffced65a8c20d9ec4daa9671c", "shasum": "" }, "require": { @@ -6697,35 +7133,35 @@ ], "support": { "issues": "https://github.com/spatie/image-optimizer/issues", - "source": "https://github.com/spatie/image-optimizer/tree/1.7.5" + "source": "https://github.com/spatie/image-optimizer/tree/1.8.0" }, - "time": "2024-05-16T08:48:33+00:00" + "time": "2024-11-04T08:24:54+00:00" }, { "name": "spatie/laravel-backup", - "version": "8.8.0", + "version": "9.3.2", "source": { "type": "git", "url": "https://github.com/spatie/laravel-backup.git", - "reference": "7e74431fc5c46319a27daa44897df1c7bf4afe5a" + "reference": "c5ced5777fa1c6e89a11afb6520e37e2b98d9a47" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-backup/zipball/7e74431fc5c46319a27daa44897df1c7bf4afe5a", - "reference": "7e74431fc5c46319a27daa44897df1c7bf4afe5a", + "url": "https://api.github.com/repos/spatie/laravel-backup/zipball/c5ced5777fa1c6e89a11afb6520e37e2b98d9a47", + "reference": "c5ced5777fa1c6e89a11afb6520e37e2b98d9a47", "shasum": "" }, "require": { "ext-zip": "^1.14.0", - "illuminate/console": "^10.10.0|^11.0", - "illuminate/contracts": "^10.10.0|^11.0", - "illuminate/events": "^10.10.0|^11.0", - "illuminate/filesystem": "^10.10.0|^11.0", - "illuminate/notifications": "^10.10.0|^11.0", - "illuminate/support": "^10.10.0|^11.0", + "illuminate/console": "^10.10.0|^11.0|^12.0", + "illuminate/contracts": "^10.10.0|^11.0|^12.0", + "illuminate/events": "^10.10.0|^11.0|^12.0", + "illuminate/filesystem": "^10.10.0|^11.0|^12.0", + "illuminate/notifications": "^10.10.0|^11.0|^12.0", + "illuminate/support": "^10.10.0|^11.0|^12.0", "league/flysystem": "^3.0", - "php": "^8.1", - "spatie/db-dumper": "^3.0", + "php": "^8.2", + "spatie/db-dumper": "^3.8", "spatie/laravel-package-tools": "^1.6.2", "spatie/laravel-signal-aware-command": "^1.2|^2.0", "spatie/temporary-directory": "^2.0", @@ -6735,15 +7171,16 @@ "require-dev": { "composer-runtime-api": "^2.0", "ext-pcntl": "*", - "larastan/larastan": "^2.7.0", + "larastan/larastan": "^2.7.0|^3.0", "laravel/slack-notification-channel": "^2.5|^3.0", "league/flysystem-aws-s3-v3": "^2.0|^3.0", "mockery/mockery": "^1.4", - "orchestra/testbench": "^8.0|^9.0", - "pestphp/pest": "^1.20|^2.0", + "orchestra/testbench": "^8.0|^9.0|^10.0", + "pestphp/pest": "^1.20|^2.0|^3.0", "phpstan/extension-installer": "^1.1", "phpstan/phpstan-deprecation-rules": "^1.0", - "phpstan/phpstan-phpunit": "^1.1" + "phpstan/phpstan-phpunit": "^1.1", + "rector/rector": "^1.1" }, "suggest": { "laravel/slack-notification-channel": "Required for sending notifications via Slack" @@ -6786,7 +7223,7 @@ ], "support": { "issues": "https://github.com/spatie/laravel-backup/issues", - "source": "https://github.com/spatie/laravel-backup/tree/8.8.0" + "source": "https://github.com/spatie/laravel-backup/tree/9.3.2" }, "funding": [ { @@ -6798,32 +7235,33 @@ "type": "other" } ], - "time": "2024-05-02T13:09:01+00:00" + "time": "2025-04-25T13:42:20+00:00" }, { "name": "spatie/laravel-medialibrary", - "version": "11.5.2", + "version": "11.12.9", "source": { "type": "git", "url": "https://github.com/spatie/laravel-medialibrary.git", - "reference": "99760ad7865a418708474cf594e736a381b45c0e" + "reference": "2435e90009c36906c33668d26c96c86acdb39af7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-medialibrary/zipball/99760ad7865a418708474cf594e736a381b45c0e", - "reference": "99760ad7865a418708474cf594e736a381b45c0e", + "url": "https://api.github.com/repos/spatie/laravel-medialibrary/zipball/2435e90009c36906c33668d26c96c86acdb39af7", + "reference": "2435e90009c36906c33668d26c96c86acdb39af7", "shasum": "" }, "require": { + "composer/semver": "^3.4", "ext-exif": "*", "ext-fileinfo": "*", "ext-json": "*", - "illuminate/bus": "^10.0|^11.0", - "illuminate/conditionable": "^10.0|^11.0", - "illuminate/console": "^10.0|^11.0", - "illuminate/database": "^10.0|^11.0", - "illuminate/pipeline": "^10.0|^11.0", - "illuminate/support": "^10.0|^11.0", + "illuminate/bus": "^10.2|^11.0|^12.0", + "illuminate/conditionable": "^10.2|^11.0|^12.0", + "illuminate/console": "^10.2|^11.0|^12.0", + "illuminate/database": "^10.2|^11.0|^12.0", + "illuminate/pipeline": "^10.2|^11.0|^12.0", + "illuminate/support": "^10.2|^11.0|^12.0", "maennchen/zipstream-php": "^3.1", "php": "^8.2", "spatie/image": "^3.3.2", @@ -6840,14 +7278,14 @@ "ext-pdo_sqlite": "*", "ext-zip": "*", "guzzlehttp/guzzle": "^7.8.1", - "larastan/larastan": "^2.7", + "larastan/larastan": "^2.7|^3.0", "league/flysystem-aws-s3-v3": "^3.22", "mockery/mockery": "^1.6.7", - "orchestra/testbench": "^7.0|^8.17|^9.0", - "pestphp/pest": "^2.28", + "orchestra/testbench": "^7.0|^8.17|^9.0|^10.0", + "pestphp/pest": "^2.28|^3.5", "phpstan/extension-installer": "^1.3.1", "spatie/laravel-ray": "^1.33", - "spatie/pdf-to-image": "^2.2", + "spatie/pdf-to-image": "^2.2|^3.0", "spatie/pest-plugin-snapshots": "^2.1" }, "suggest": { @@ -6894,7 +7332,7 @@ ], "support": { "issues": "https://github.com/spatie/laravel-medialibrary/issues", - "source": "https://github.com/spatie/laravel-medialibrary/tree/11.5.2" + "source": "https://github.com/spatie/laravel-medialibrary/tree/11.12.9" }, "funding": [ { @@ -6906,32 +7344,33 @@ "type": "github" } ], - "time": "2024-05-27T09:07:25+00:00" + "time": "2025-03-31T07:55:00+00:00" }, { "name": "spatie/laravel-package-tools", - "version": "1.16.4", + "version": "1.92.4", "source": { "type": "git", "url": "https://github.com/spatie/laravel-package-tools.git", - "reference": "ddf678e78d7f8b17e5cdd99c0c3413a4a6592e53" + "reference": "d20b1969f836d210459b78683d85c9cd5c5f508c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/ddf678e78d7f8b17e5cdd99c0c3413a4a6592e53", - "reference": "ddf678e78d7f8b17e5cdd99c0c3413a4a6592e53", + "url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/d20b1969f836d210459b78683d85c9cd5c5f508c", + "reference": "d20b1969f836d210459b78683d85c9cd5c5f508c", "shasum": "" }, "require": { - "illuminate/contracts": "^9.28|^10.0|^11.0", + "illuminate/contracts": "^9.28|^10.0|^11.0|^12.0", "php": "^8.0" }, "require-dev": { "mockery/mockery": "^1.5", - "orchestra/testbench": "^7.7|^8.0", - "pestphp/pest": "^1.22", - "phpunit/phpunit": "^9.5.24", - "spatie/pest-plugin-test-time": "^1.1" + "orchestra/testbench": "^7.7|^8.0|^9.0|^10.0", + "pestphp/pest": "^1.23|^2.1|^3.1", + "phpunit/php-code-coverage": "^9.0|^10.0|^11.0", + "phpunit/phpunit": "^9.5.24|^10.5|^11.5", + "spatie/pest-plugin-test-time": "^1.1|^2.2" }, "type": "library", "autoload": { @@ -6958,7 +7397,7 @@ ], "support": { "issues": "https://github.com/spatie/laravel-package-tools/issues", - "source": "https://github.com/spatie/laravel-package-tools/tree/1.16.4" + "source": "https://github.com/spatie/laravel-package-tools/tree/1.92.4" }, "funding": [ { @@ -6966,24 +7405,24 @@ "type": "github" } ], - "time": "2024-03-20T07:29:11+00:00" + "time": "2025-04-11T15:27:14+00:00" }, { "name": "spatie/laravel-signal-aware-command", - "version": "2.0.0", + "version": "2.1.0", "source": { "type": "git", "url": "https://github.com/spatie/laravel-signal-aware-command.git", - "reference": "49a5e671c3a3fd992187a777d01385fc6a84759d" + "reference": "8e8a226ed7fb45302294878ef339e75ffa9a878d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-signal-aware-command/zipball/49a5e671c3a3fd992187a777d01385fc6a84759d", - "reference": "49a5e671c3a3fd992187a777d01385fc6a84759d", + "url": "https://api.github.com/repos/spatie/laravel-signal-aware-command/zipball/8e8a226ed7fb45302294878ef339e75ffa9a878d", + "reference": "8e8a226ed7fb45302294878ef339e75ffa9a878d", "shasum": "" }, "require": { - "illuminate/contracts": "^11.0", + "illuminate/contracts": "^11.0|^12.0", "php": "^8.2", "spatie/laravel-package-tools": "^1.4.3", "symfony/console": "^7.0" @@ -6992,20 +7431,20 @@ "brianium/paratest": "^6.2|^7.0", "ext-pcntl": "*", "nunomaduro/collision": "^5.3|^6.0|^7.0|^8.0", - "orchestra/testbench": "^9.0", - "pestphp/pest-plugin-laravel": "^1.3|^2.0", + "orchestra/testbench": "^9.0|^10.0", + "pestphp/pest-plugin-laravel": "^1.3|^2.0|^3.0", "phpunit/phpunit": "^9.5|^10|^11", "spatie/laravel-ray": "^1.17" }, "type": "library", "extra": { "laravel": { - "providers": [ - "Spatie\\SignalAwareCommand\\SignalAwareCommandServiceProvider" - ], "aliases": { "Signal": "Spatie\\SignalAwareCommand\\Facades\\Signal" - } + }, + "providers": [ + "Spatie\\SignalAwareCommand\\SignalAwareCommandServiceProvider" + ] } }, "autoload": { @@ -7033,7 +7472,7 @@ ], "support": { "issues": "https://github.com/spatie/laravel-signal-aware-command/issues", - "source": "https://github.com/spatie/laravel-signal-aware-command/tree/2.0.0" + "source": "https://github.com/spatie/laravel-signal-aware-command/tree/2.1.0" }, "funding": [ { @@ -7041,20 +7480,20 @@ "type": "github" } ], - "time": "2024-02-05T13:37:25+00:00" + "time": "2025-02-14T09:55:51+00:00" }, { "name": "spatie/temporary-directory", - "version": "2.2.1", + "version": "2.3.0", "source": { "type": "git", "url": "https://github.com/spatie/temporary-directory.git", - "reference": "76949fa18f8e1a7f663fd2eaa1d00e0bcea0752a" + "reference": "580eddfe9a0a41a902cac6eeb8f066b42e65a32b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/temporary-directory/zipball/76949fa18f8e1a7f663fd2eaa1d00e0bcea0752a", - "reference": "76949fa18f8e1a7f663fd2eaa1d00e0bcea0752a", + "url": "https://api.github.com/repos/spatie/temporary-directory/zipball/580eddfe9a0a41a902cac6eeb8f066b42e65a32b", + "reference": "580eddfe9a0a41a902cac6eeb8f066b42e65a32b", "shasum": "" }, "require": { @@ -7090,7 +7529,7 @@ ], "support": { "issues": "https://github.com/spatie/temporary-directory/issues", - "source": "https://github.com/spatie/temporary-directory/tree/2.2.1" + "source": "https://github.com/spatie/temporary-directory/tree/2.3.0" }, "funding": [ { @@ -7102,20 +7541,72 @@ "type": "github" } ], - "time": "2023-12-25T11:46:58+00:00" + "time": "2025-01-13T13:04:43+00:00" }, { - "name": "symfony/clock", - "version": "v7.0.7", + "name": "staabm/side-effects-detector", + "version": "1.0.5", "source": { "type": "git", - "url": "https://github.com/symfony/clock.git", - "reference": "2008671acb4a30b01c453de193cf9c80549ebda6" + "url": "https://github.com/staabm/side-effects-detector.git", + "reference": "d8334211a140ce329c13726d4a715adbddd0a163" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/clock/zipball/2008671acb4a30b01c453de193cf9c80549ebda6", - "reference": "2008671acb4a30b01c453de193cf9c80549ebda6", + "url": "https://api.github.com/repos/staabm/side-effects-detector/zipball/d8334211a140ce329c13726d4a715adbddd0a163", + "reference": "d8334211a140ce329c13726d4a715adbddd0a163", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "php": "^7.4 || ^8.0" + }, + "require-dev": { + "phpstan/extension-installer": "^1.4.3", + "phpstan/phpstan": "^1.12.6", + "phpunit/phpunit": "^9.6.21", + "symfony/var-dumper": "^5.4.43", + "tomasvotruba/type-coverage": "1.0.0", + "tomasvotruba/unused-public": "1.0.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "lib/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A static analysis tool to detect side effects in PHP code", + "keywords": [ + "static analysis" + ], + "support": { + "issues": "https://github.com/staabm/side-effects-detector/issues", + "source": "https://github.com/staabm/side-effects-detector/tree/1.0.5" + }, + "funding": [ + { + "url": "https://github.com/staabm", + "type": "github" + } + ], + "time": "2024-10-20T05:08:20+00:00" + }, + { + "name": "symfony/clock", + "version": "v7.2.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/clock.git", + "reference": "b81435fbd6648ea425d1ee96a2d8e68f4ceacd24" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/clock/zipball/b81435fbd6648ea425d1ee96a2d8e68f4ceacd24", + "reference": "b81435fbd6648ea425d1ee96a2d8e68f4ceacd24", "shasum": "" }, "require": { @@ -7160,7 +7651,7 @@ "time" ], "support": { - "source": "https://github.com/symfony/clock/tree/v7.0.7" + "source": "https://github.com/symfony/clock/tree/v7.2.0" }, "funding": [ { @@ -7176,20 +7667,20 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:29:19+00:00" + "time": "2024-09-25T14:21:43+00:00" }, { "name": "symfony/console", - "version": "v7.0.7", + "version": "v7.2.6", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "c981e0e9380ce9f146416bde3150c79197ce9986" + "reference": "0e2e3f38c192e93e622e41ec37f4ca70cfedf218" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/c981e0e9380ce9f146416bde3150c79197ce9986", - "reference": "c981e0e9380ce9f146416bde3150c79197ce9986", + "url": "https://api.github.com/repos/symfony/console/zipball/0e2e3f38c192e93e622e41ec37f4ca70cfedf218", + "reference": "0e2e3f38c192e93e622e41ec37f4ca70cfedf218", "shasum": "" }, "require": { @@ -7253,7 +7744,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v7.0.7" + "source": "https://github.com/symfony/console/tree/v7.2.6" }, "funding": [ { @@ -7269,20 +7760,20 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:29:19+00:00" + "time": "2025-04-07T19:09:28+00:00" }, { "name": "symfony/css-selector", - "version": "v7.0.7", + "version": "v7.2.0", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "b08a4ad89e84b29cec285b7b1f781a7ae51cf4bc" + "reference": "601a5ce9aaad7bf10797e3663faefce9e26c24e2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/b08a4ad89e84b29cec285b7b1f781a7ae51cf4bc", - "reference": "b08a4ad89e84b29cec285b7b1f781a7ae51cf4bc", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/601a5ce9aaad7bf10797e3663faefce9e26c24e2", + "reference": "601a5ce9aaad7bf10797e3663faefce9e26c24e2", "shasum": "" }, "require": { @@ -7318,7 +7809,7 @@ "description": "Converts CSS selectors to XPath expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/css-selector/tree/v7.0.7" + "source": "https://github.com/symfony/css-selector/tree/v7.2.0" }, "funding": [ { @@ -7334,20 +7825,20 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:29:19+00:00" + "time": "2024-09-25T14:21:43+00:00" }, { "name": "symfony/deprecation-contracts", - "version": "v3.5.0", + "version": "v3.5.1", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1" + "reference": "74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1", - "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6", + "reference": "74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6", "shasum": "" }, "require": { @@ -7355,12 +7846,12 @@ }, "type": "library", "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, "branch-alias": { "dev-main": "3.5-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" } }, "autoload": { @@ -7385,7 +7876,7 @@ "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.0" + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.1" }, "funding": [ { @@ -7401,20 +7892,20 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:32:20+00:00" + "time": "2024-09-25T14:20:29+00:00" }, { "name": "symfony/error-handler", - "version": "v7.0.7", + "version": "v7.2.5", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "cf97429887e40480c847bfeb6c3991e1e2c086ab" + "reference": "102be5e6a8e4f4f3eb3149bcbfa33a80d1ee374b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/cf97429887e40480c847bfeb6c3991e1e2c086ab", - "reference": "cf97429887e40480c847bfeb6c3991e1e2c086ab", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/102be5e6a8e4f4f3eb3149bcbfa33a80d1ee374b", + "reference": "102be5e6a8e4f4f3eb3149bcbfa33a80d1ee374b", "shasum": "" }, "require": { @@ -7460,7 +7951,7 @@ "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/error-handler/tree/v7.0.7" + "source": "https://github.com/symfony/error-handler/tree/v7.2.5" }, "funding": [ { @@ -7476,20 +7967,20 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:29:19+00:00" + "time": "2025-03-03T07:12:39+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v7.0.7", + "version": "v7.2.0", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "db2a7fab994d67d92356bb39c367db115d9d30f9" + "reference": "910c5db85a5356d0fea57680defec4e99eb9c8c1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/db2a7fab994d67d92356bb39c367db115d9d30f9", - "reference": "db2a7fab994d67d92356bb39c367db115d9d30f9", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/910c5db85a5356d0fea57680defec4e99eb9c8c1", + "reference": "910c5db85a5356d0fea57680defec4e99eb9c8c1", "shasum": "" }, "require": { @@ -7540,7 +8031,7 @@ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v7.0.7" + "source": "https://github.com/symfony/event-dispatcher/tree/v7.2.0" }, "funding": [ { @@ -7556,20 +8047,20 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:29:19+00:00" + "time": "2024-09-25T14:21:43+00:00" }, { "name": "symfony/event-dispatcher-contracts", - "version": "v3.5.0", + "version": "v3.5.1", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "8f93aec25d41b72493c6ddff14e916177c9efc50" + "reference": "7642f5e970b672283b7823222ae8ef8bbc160b9f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/8f93aec25d41b72493c6ddff14e916177c9efc50", - "reference": "8f93aec25d41b72493c6ddff14e916177c9efc50", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/7642f5e970b672283b7823222ae8ef8bbc160b9f", + "reference": "7642f5e970b672283b7823222ae8ef8bbc160b9f", "shasum": "" }, "require": { @@ -7578,12 +8069,12 @@ }, "type": "library", "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, "branch-alias": { "dev-main": "3.5-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" } }, "autoload": { @@ -7616,7 +8107,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.5.0" + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.5.1" }, "funding": [ { @@ -7632,20 +8123,20 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:32:20+00:00" + "time": "2024-09-25T14:20:29+00:00" }, { "name": "symfony/finder", - "version": "v7.0.7", + "version": "v7.2.2", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "4d58f0f4fe95a30d7b538d71197135483560b97c" + "reference": "87a71856f2f56e4100373e92529eed3171695cfb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/4d58f0f4fe95a30d7b538d71197135483560b97c", - "reference": "4d58f0f4fe95a30d7b538d71197135483560b97c", + "url": "https://api.github.com/repos/symfony/finder/zipball/87a71856f2f56e4100373e92529eed3171695cfb", + "reference": "87a71856f2f56e4100373e92529eed3171695cfb", "shasum": "" }, "require": { @@ -7680,7 +8171,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v7.0.7" + "source": "https://github.com/symfony/finder/tree/v7.2.2" }, "funding": [ { @@ -7696,35 +8187,36 @@ "type": "tidelift" } ], - "time": "2024-04-28T11:44:19+00:00" + "time": "2024-12-30T19:00:17+00:00" }, { "name": "symfony/http-foundation", - "version": "v7.0.7", + "version": "v7.2.6", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "0194e064b8bdc29381462f790bab04e1cac8fdc8" + "reference": "6023ec7607254c87c5e69fb3558255aca440d72b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/0194e064b8bdc29381462f790bab04e1cac8fdc8", - "reference": "0194e064b8bdc29381462f790bab04e1cac8fdc8", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/6023ec7607254c87c5e69fb3558255aca440d72b", + "reference": "6023ec7607254c87c5e69fb3558255aca440d72b", "shasum": "" }, "require": { "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3.0", "symfony/polyfill-mbstring": "~1.1", "symfony/polyfill-php83": "^1.27" }, "conflict": { "doctrine/dbal": "<3.6", - "symfony/cache": "<6.4" + "symfony/cache": "<6.4.12|>=7.0,<7.1.5" }, "require-dev": { "doctrine/dbal": "^3.6|^4", "predis/predis": "^1.1|^2.0", - "symfony/cache": "^6.4|^7.0", + "symfony/cache": "^6.4.12|^7.1.5", "symfony/dependency-injection": "^6.4|^7.0", "symfony/expression-language": "^6.4|^7.0", "symfony/http-kernel": "^6.4|^7.0", @@ -7757,7 +8249,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v7.0.7" + "source": "https://github.com/symfony/http-foundation/tree/v7.2.6" }, "funding": [ { @@ -7773,25 +8265,26 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:29:19+00:00" + "time": "2025-04-09T08:14:01+00:00" }, { "name": "symfony/http-kernel", - "version": "v7.0.7", + "version": "v7.2.6", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "e07bb9bd86e7cd8ba2d3d9c618eec9d1bbe06d25" + "reference": "f9dec01e6094a063e738f8945ef69c0cfcf792ec" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/e07bb9bd86e7cd8ba2d3d9c618eec9d1bbe06d25", - "reference": "e07bb9bd86e7cd8ba2d3d9c618eec9d1bbe06d25", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/f9dec01e6094a063e738f8945ef69c0cfcf792ec", + "reference": "f9dec01e6094a063e738f8945ef69c0cfcf792ec", "shasum": "" }, "require": { "php": ">=8.2", "psr/log": "^1|^2|^3", + "symfony/deprecation-contracts": "^2.5|^3", "symfony/error-handler": "^6.4|^7.0", "symfony/event-dispatcher": "^6.4|^7.0", "symfony/http-foundation": "^6.4|^7.0", @@ -7814,7 +8307,7 @@ "symfony/twig-bridge": "<6.4", "symfony/validator": "<6.4", "symfony/var-dumper": "<6.4", - "twig/twig": "<3.0.4" + "twig/twig": "<3.12" }, "provide": { "psr/log-implementation": "1.0|2.0|3.0" @@ -7832,9 +8325,9 @@ "symfony/finder": "^6.4|^7.0", "symfony/http-client-contracts": "^2.5|^3", "symfony/process": "^6.4|^7.0", - "symfony/property-access": "^6.4|^7.0", + "symfony/property-access": "^7.1", "symfony/routing": "^6.4|^7.0", - "symfony/serializer": "^6.4.4|^7.0.4", + "symfony/serializer": "^7.1", "symfony/stopwatch": "^6.4|^7.0", "symfony/translation": "^6.4|^7.0", "symfony/translation-contracts": "^2.5|^3", @@ -7842,7 +8335,7 @@ "symfony/validator": "^6.4|^7.0", "symfony/var-dumper": "^6.4|^7.0", "symfony/var-exporter": "^6.4|^7.0", - "twig/twig": "^3.0.4" + "twig/twig": "^3.12" }, "type": "library", "autoload": { @@ -7870,7 +8363,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v7.0.7" + "source": "https://github.com/symfony/http-kernel/tree/v7.2.6" }, "funding": [ { @@ -7886,20 +8379,20 @@ "type": "tidelift" } ], - "time": "2024-04-29T12:20:25+00:00" + "time": "2025-05-02T09:04:03+00:00" }, { "name": "symfony/mailer", - "version": "v7.0.7", + "version": "v7.2.6", "source": { "type": "git", "url": "https://github.com/symfony/mailer.git", - "reference": "4ff41a7c7998a88cfdc31b5841ef64d9246fc56a" + "reference": "998692469d6e698c6eadc7ef37a6530a9eabb356" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mailer/zipball/4ff41a7c7998a88cfdc31b5841ef64d9246fc56a", - "reference": "4ff41a7c7998a88cfdc31b5841ef64d9246fc56a", + "url": "https://api.github.com/repos/symfony/mailer/zipball/998692469d6e698c6eadc7ef37a6530a9eabb356", + "reference": "998692469d6e698c6eadc7ef37a6530a9eabb356", "shasum": "" }, "require": { @@ -7908,7 +8401,7 @@ "psr/event-dispatcher": "^1", "psr/log": "^1|^2|^3", "symfony/event-dispatcher": "^6.4|^7.0", - "symfony/mime": "^6.4|^7.0", + "symfony/mime": "^7.2", "symfony/service-contracts": "^2.5|^3" }, "conflict": { @@ -7950,7 +8443,7 @@ "description": "Helps sending emails", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/mailer/tree/v7.0.7" + "source": "https://github.com/symfony/mailer/tree/v7.2.6" }, "funding": [ { @@ -7966,20 +8459,20 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:29:19+00:00" + "time": "2025-04-04T09:50:51+00:00" }, { "name": "symfony/mime", - "version": "v7.0.7", + "version": "v7.2.6", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "3adbf110c306546f6f00337f421d2edca0e8d3c0" + "reference": "706e65c72d402539a072d0d6ad105fff6c161ef1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/3adbf110c306546f6f00337f421d2edca0e8d3c0", - "reference": "3adbf110c306546f6f00337f421d2edca0e8d3c0", + "url": "https://api.github.com/repos/symfony/mime/zipball/706e65c72d402539a072d0d6ad105fff6c161ef1", + "reference": "706e65c72d402539a072d0d6ad105fff6c161ef1", "shasum": "" }, "require": { @@ -7992,7 +8485,7 @@ "phpdocumentor/reflection-docblock": "<3.2.2", "phpdocumentor/type-resolver": "<1.4.0", "symfony/mailer": "<6.4", - "symfony/serializer": "<6.4" + "symfony/serializer": "<6.4.3|>7.0,<7.0.3" }, "require-dev": { "egulias/email-validator": "^2.1.10|^3.1|^4", @@ -8002,7 +8495,7 @@ "symfony/process": "^6.4|^7.0", "symfony/property-access": "^6.4|^7.0", "symfony/property-info": "^6.4|^7.0", - "symfony/serializer": "^6.4|^7.0" + "symfony/serializer": "^6.4.3|^7.0.3" }, "type": "library", "autoload": { @@ -8034,7 +8527,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v7.0.7" + "source": "https://github.com/symfony/mime/tree/v7.2.6" }, "funding": [ { @@ -8050,24 +8543,24 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:29:19+00:00" + "time": "2025-04-27T13:34:41+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.29.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4" + "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ef4d7e442ca910c4764bce785146269b30cb5fc4", - "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/a3cc8b044a6ea513310cbd48ef7333b384945638", + "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "provide": { "ext-ctype": "*" @@ -8078,8 +8571,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -8113,7 +8606,7 @@ "portable" ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.29.0" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.32.0" }, "funding": [ { @@ -8129,24 +8622,24 @@ "type": "tidelift" } ], - "time": "2024-01-29T20:11:03+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/polyfill-intl-grapheme", - "version": "v1.29.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f" + "reference": "b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/32a9da87d7b3245e09ac426c83d334ae9f06f80f", - "reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe", + "reference": "b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "suggest": { "ext-intl": "For best performance" @@ -8154,8 +8647,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -8191,7 +8684,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.29.0" + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.32.0" }, "funding": [ { @@ -8207,26 +8700,25 @@ "type": "tidelift" } ], - "time": "2024-01-29T20:11:03+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/polyfill-intl-idn", - "version": "v1.29.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "a287ed7475f85bf6f61890146edbc932c0fff919" + "reference": "9614ac4d8061dc257ecc64cba1b140873dce8ad3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/a287ed7475f85bf6f61890146edbc932c0fff919", - "reference": "a287ed7475f85bf6f61890146edbc932c0fff919", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/9614ac4d8061dc257ecc64cba1b140873dce8ad3", + "reference": "9614ac4d8061dc257ecc64cba1b140873dce8ad3", "shasum": "" }, "require": { - "php": ">=7.1", - "symfony/polyfill-intl-normalizer": "^1.10", - "symfony/polyfill-php72": "^1.10" + "php": ">=7.2", + "symfony/polyfill-intl-normalizer": "^1.10" }, "suggest": { "ext-intl": "For best performance" @@ -8234,8 +8726,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -8275,7 +8767,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.29.0" + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.32.0" }, "funding": [ { @@ -8291,24 +8783,24 @@ "type": "tidelift" } ], - "time": "2024-01-29T20:11:03+00:00" + "time": "2024-09-10T14:38:51+00:00" }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.29.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "bc45c394692b948b4d383a08d7753968bed9a83d" + "reference": "3833d7255cc303546435cb650316bff708a1c75c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/bc45c394692b948b4d383a08d7753968bed9a83d", - "reference": "bc45c394692b948b4d383a08d7753968bed9a83d", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/3833d7255cc303546435cb650316bff708a1c75c", + "reference": "3833d7255cc303546435cb650316bff708a1c75c", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "suggest": { "ext-intl": "For best performance" @@ -8316,8 +8808,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -8356,7 +8848,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.29.0" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.32.0" }, "funding": [ { @@ -8372,24 +8864,25 @@ "type": "tidelift" } ], - "time": "2024-01-29T20:11:03+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.29.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec" + "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9773676c8a1bb1f8d4340a62efe641cf76eda7ec", - "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6d857f4d76bd4b343eac26d6b539585d2bc56493", + "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493", "shasum": "" }, "require": { - "php": ">=7.1" + "ext-iconv": "*", + "php": ">=7.2" }, "provide": { "ext-mbstring": "*" @@ -8400,8 +8893,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -8436,7 +8929,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.29.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.32.0" }, "funding": [ { @@ -8452,103 +8945,30 @@ "type": "tidelift" } ], - "time": "2024-01-29T20:11:03+00:00" - }, - { - "name": "symfony/polyfill-php72", - "version": "v1.29.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "861391a8da9a04cbad2d232ddd9e4893220d6e25" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/861391a8da9a04cbad2d232ddd9e4893220d6e25", - "reference": "861391a8da9a04cbad2d232ddd9e4893220d6e25", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php72\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php72/tree/v1.29.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-01-29T20:11:03+00:00" + "time": "2024-12-23T08:48:59+00:00" }, { "name": "symfony/polyfill-php80", - "version": "v1.29.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b" + "reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/87b68208d5c1188808dd7839ee1e6c8ec3b02f1b", - "reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/0cc9dd0f17f61d8131e7df6b84bd344899fe2608", + "reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -8589,7 +9009,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.29.0" + "source": "https://github.com/symfony/polyfill-php80/tree/v1.32.0" }, "funding": [ { @@ -8605,31 +9025,30 @@ "type": "tidelift" } ], - "time": "2024-01-29T20:11:03+00:00" + "time": "2025-01-02T08:10:11+00:00" }, { "name": "symfony/polyfill-php83", - "version": "v1.29.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php83.git", - "reference": "86fcae159633351e5fd145d1c47de6c528f8caff" + "reference": "2fb86d65e2d424369ad2905e83b236a8805ba491" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/86fcae159633351e5fd145d1c47de6c528f8caff", - "reference": "86fcae159633351e5fd145d1c47de6c528f8caff", + "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/2fb86d65e2d424369ad2905e83b236a8805ba491", + "reference": "2fb86d65e2d424369ad2905e83b236a8805ba491", "shasum": "" }, "require": { - "php": ">=7.1", - "symfony/polyfill-php80": "^1.14" + "php": ">=7.2" }, "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -8666,7 +9085,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php83/tree/v1.29.0" + "source": "https://github.com/symfony/polyfill-php83/tree/v1.32.0" }, "funding": [ { @@ -8682,24 +9101,24 @@ "type": "tidelift" } ], - "time": "2024-01-29T20:11:03+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/polyfill-uuid", - "version": "v1.29.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-uuid.git", - "reference": "3abdd21b0ceaa3000ee950097bc3cf9efc137853" + "reference": "21533be36c24be3f4b1669c4725c7d1d2bab4ae2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-uuid/zipball/3abdd21b0ceaa3000ee950097bc3cf9efc137853", - "reference": "3abdd21b0ceaa3000ee950097bc3cf9efc137853", + "url": "https://api.github.com/repos/symfony/polyfill-uuid/zipball/21533be36c24be3f4b1669c4725c7d1d2bab4ae2", + "reference": "21533be36c24be3f4b1669c4725c7d1d2bab4ae2", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "provide": { "ext-uuid": "*" @@ -8710,8 +9129,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -8745,7 +9164,7 @@ "uuid" ], "support": { - "source": "https://github.com/symfony/polyfill-uuid/tree/v1.29.0" + "source": "https://github.com/symfony/polyfill-uuid/tree/v1.32.0" }, "funding": [ { @@ -8761,20 +9180,20 @@ "type": "tidelift" } ], - "time": "2024-01-29T20:11:03+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/process", - "version": "v7.0.7", + "version": "v7.2.5", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "3839e56b94dd1dbd13235d27504e66baf23faba0" + "reference": "87b7c93e57df9d8e39a093d32587702380ff045d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/3839e56b94dd1dbd13235d27504e66baf23faba0", - "reference": "3839e56b94dd1dbd13235d27504e66baf23faba0", + "url": "https://api.github.com/repos/symfony/process/zipball/87b7c93e57df9d8e39a093d32587702380ff045d", + "reference": "87b7c93e57df9d8e39a093d32587702380ff045d", "shasum": "" }, "require": { @@ -8806,7 +9225,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v7.0.7" + "source": "https://github.com/symfony/process/tree/v7.2.5" }, "funding": [ { @@ -8822,20 +9241,20 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:29:19+00:00" + "time": "2025-03-13T12:21:46+00:00" }, { "name": "symfony/routing", - "version": "v7.0.7", + "version": "v7.2.3", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "9f82bf7766ccc9c22ab7aeb9bebb98351483fa5b" + "reference": "ee9a67edc6baa33e5fae662f94f91fd262930996" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/9f82bf7766ccc9c22ab7aeb9bebb98351483fa5b", - "reference": "9f82bf7766ccc9c22ab7aeb9bebb98351483fa5b", + "url": "https://api.github.com/repos/symfony/routing/zipball/ee9a67edc6baa33e5fae662f94f91fd262930996", + "reference": "ee9a67edc6baa33e5fae662f94f91fd262930996", "shasum": "" }, "require": { @@ -8887,7 +9306,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v7.0.7" + "source": "https://github.com/symfony/routing/tree/v7.2.3" }, "funding": [ { @@ -8903,20 +9322,20 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:29:19+00:00" + "time": "2025-01-17T10:56:55+00:00" }, { "name": "symfony/service-contracts", - "version": "v3.5.0", + "version": "v3.5.1", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f" + "reference": "e53260aabf78fb3d63f8d79d69ece59f80d5eda0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/bd1d9e59a81d8fa4acdcea3f617c581f7475a80f", - "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/e53260aabf78fb3d63f8d79d69ece59f80d5eda0", + "reference": "e53260aabf78fb3d63f8d79d69ece59f80d5eda0", "shasum": "" }, "require": { @@ -8929,12 +9348,12 @@ }, "type": "library", "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, "branch-alias": { "dev-main": "3.5-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" } }, "autoload": { @@ -8970,7 +9389,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/service-contracts/tree/v3.5.0" + "source": "https://github.com/symfony/service-contracts/tree/v3.5.1" }, "funding": [ { @@ -8986,20 +9405,20 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:32:20+00:00" + "time": "2024-09-25T14:20:29+00:00" }, { "name": "symfony/string", - "version": "v7.0.7", + "version": "v7.2.6", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "e405b5424dc2528e02e31ba26b83a79fd4eb8f63" + "reference": "a214fe7d62bd4df2a76447c67c6b26e1d5e74931" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/e405b5424dc2528e02e31ba26b83a79fd4eb8f63", - "reference": "e405b5424dc2528e02e31ba26b83a79fd4eb8f63", + "url": "https://api.github.com/repos/symfony/string/zipball/a214fe7d62bd4df2a76447c67c6b26e1d5e74931", + "reference": "a214fe7d62bd4df2a76447c67c6b26e1d5e74931", "shasum": "" }, "require": { @@ -9013,6 +9432,7 @@ "symfony/translation-contracts": "<2.5" }, "require-dev": { + "symfony/emoji": "^7.1", "symfony/error-handler": "^6.4|^7.0", "symfony/http-client": "^6.4|^7.0", "symfony/intl": "^6.4|^7.0", @@ -9056,7 +9476,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v7.0.7" + "source": "https://github.com/symfony/string/tree/v7.2.6" }, "funding": [ { @@ -9072,24 +9492,25 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:29:19+00:00" + "time": "2025-04-20T20:18:16+00:00" }, { "name": "symfony/translation", - "version": "v7.0.7", + "version": "v7.2.6", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "1515e03afaa93e6419aba5d5c9d209159317100b" + "reference": "e7fd8e2a4239b79a0fd9fb1fef3e0e7f969c6dc6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/1515e03afaa93e6419aba5d5c9d209159317100b", - "reference": "1515e03afaa93e6419aba5d5c9d209159317100b", + "url": "https://api.github.com/repos/symfony/translation/zipball/e7fd8e2a4239b79a0fd9fb1fef3e0e7f969c6dc6", + "reference": "e7fd8e2a4239b79a0fd9fb1fef3e0e7f969c6dc6", "shasum": "" }, "require": { "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-mbstring": "~1.0", "symfony/translation-contracts": "^2.5|^3.0" }, @@ -9150,7 +9571,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v7.0.7" + "source": "https://github.com/symfony/translation/tree/v7.2.6" }, "funding": [ { @@ -9166,20 +9587,20 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:29:19+00:00" + "time": "2025-04-07T19:09:28+00:00" }, { "name": "symfony/translation-contracts", - "version": "v3.5.0", + "version": "v3.5.1", "source": { "type": "git", "url": "https://github.com/symfony/translation-contracts.git", - "reference": "b9d2189887bb6b2e0367a9fc7136c5239ab9b05a" + "reference": "4667ff3bd513750603a09c8dedbea942487fb07c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/b9d2189887bb6b2e0367a9fc7136c5239ab9b05a", - "reference": "b9d2189887bb6b2e0367a9fc7136c5239ab9b05a", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/4667ff3bd513750603a09c8dedbea942487fb07c", + "reference": "4667ff3bd513750603a09c8dedbea942487fb07c", "shasum": "" }, "require": { @@ -9187,12 +9608,12 @@ }, "type": "library", "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, "branch-alias": { "dev-main": "3.5-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" } }, "autoload": { @@ -9228,7 +9649,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/translation-contracts/tree/v3.5.0" + "source": "https://github.com/symfony/translation-contracts/tree/v3.5.1" }, "funding": [ { @@ -9244,20 +9665,20 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:32:20+00:00" + "time": "2024-09-25T14:20:29+00:00" }, { "name": "symfony/uid", - "version": "v7.0.7", + "version": "v7.2.0", "source": { "type": "git", "url": "https://github.com/symfony/uid.git", - "reference": "4f3a5d181999e25918586c8369de09e7814e7be2" + "reference": "2d294d0c48df244c71c105a169d0190bfb080426" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/uid/zipball/4f3a5d181999e25918586c8369de09e7814e7be2", - "reference": "4f3a5d181999e25918586c8369de09e7814e7be2", + "url": "https://api.github.com/repos/symfony/uid/zipball/2d294d0c48df244c71c105a169d0190bfb080426", + "reference": "2d294d0c48df244c71c105a169d0190bfb080426", "shasum": "" }, "require": { @@ -9302,7 +9723,7 @@ "uuid" ], "support": { - "source": "https://github.com/symfony/uid/tree/v7.0.7" + "source": "https://github.com/symfony/uid/tree/v7.2.0" }, "funding": [ { @@ -9318,20 +9739,20 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:29:19+00:00" + "time": "2024-09-25T14:21:43+00:00" }, { "name": "symfony/var-dumper", - "version": "v7.0.7", + "version": "v7.2.6", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "d1627b66fd87c8b4d90cabe5671c29d575690924" + "reference": "9c46038cd4ed68952166cf7001b54eb539184ccb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/d1627b66fd87c8b4d90cabe5671c29d575690924", - "reference": "d1627b66fd87c8b4d90cabe5671c29d575690924", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/9c46038cd4ed68952166cf7001b54eb539184ccb", + "reference": "9c46038cd4ed68952166cf7001b54eb539184ccb", "shasum": "" }, "require": { @@ -9347,7 +9768,7 @@ "symfony/http-kernel": "^6.4|^7.0", "symfony/process": "^6.4|^7.0", "symfony/uid": "^6.4|^7.0", - "twig/twig": "^3.0.4" + "twig/twig": "^3.12" }, "bin": [ "Resources/bin/var-dump-server" @@ -9385,7 +9806,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v7.0.7" + "source": "https://github.com/symfony/var-dumper/tree/v7.2.6" }, "funding": [ { @@ -9401,7 +9822,7 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:29:19+00:00" + "time": "2025-04-09T08:14:01+00:00" }, { "name": "theseer/tokenizer", @@ -9455,31 +9876,33 @@ }, { "name": "tijsverkoyen/css-to-inline-styles", - "version": "v2.2.7", + "version": "v2.3.0", "source": { "type": "git", "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git", - "reference": "83ee6f38df0a63106a9e4536e3060458b74ccedb" + "reference": "0d72ac1c00084279c1816675284073c5a337c20d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/83ee6f38df0a63106a9e4536e3060458b74ccedb", - "reference": "83ee6f38df0a63106a9e4536e3060458b74ccedb", + "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/0d72ac1c00084279c1816675284073c5a337c20d", + "reference": "0d72ac1c00084279c1816675284073c5a337c20d", "shasum": "" }, "require": { "ext-dom": "*", "ext-libxml": "*", - "php": "^5.5 || ^7.0 || ^8.0", - "symfony/css-selector": "^2.7 || ^3.0 || ^4.0 || ^5.0 || ^6.0 || ^7.0" + "php": "^7.4 || ^8.0", + "symfony/css-selector": "^5.4 || ^6.0 || ^7.0" }, "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^7.5 || ^8.5.21 || ^9.5.10" + "phpstan/phpstan": "^2.0", + "phpstan/phpstan-phpunit": "^2.0", + "phpunit/phpunit": "^8.5.21 || ^9.5.10" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.2.x-dev" + "dev-master": "2.x-dev" } }, "autoload": { @@ -9502,42 +9925,39 @@ "homepage": "https://github.com/tijsverkoyen/CssToInlineStyles", "support": { "issues": "https://github.com/tijsverkoyen/CssToInlineStyles/issues", - "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/v2.2.7" + "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/v2.3.0" }, - "time": "2023-12-08T13:03:43+00:00" + "time": "2024-12-21T16:25:41+00:00" }, { "name": "vinkla/hashids", - "version": "12.0.0", + "version": "13.0.0", "source": { "type": "git", "url": "https://github.com/vinkla/laravel-hashids.git", - "reference": "71e4be8347d8c77dd728b61c1ff3b53cb4941ef1" + "reference": "f59ebf0d223b4986c4bdc76e6e694bf6056f8a0a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vinkla/laravel-hashids/zipball/71e4be8347d8c77dd728b61c1ff3b53cb4941ef1", - "reference": "71e4be8347d8c77dd728b61c1ff3b53cb4941ef1", + "url": "https://api.github.com/repos/vinkla/laravel-hashids/zipball/f59ebf0d223b4986c4bdc76e6e694bf6056f8a0a", + "reference": "f59ebf0d223b4986c4bdc76e6e694bf6056f8a0a", "shasum": "" }, "require": { - "graham-campbell/manager": "^5.0", + "graham-campbell/manager": "^5.2", "hashids/hashids": "^5.0", - "illuminate/contracts": "^11.0", - "illuminate/support": "^11.0", + "illuminate/contracts": "^12.0", + "illuminate/support": "^12.0", "php": "^8.2" }, "require-dev": { - "graham-campbell/analyzer": "^4.1", + "graham-campbell/analyzer": "^5.0", "graham-campbell/testbench": "^6.1", "mockery/mockery": "^1.6.6", - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.5" }, "type": "library", "extra": { - "branch-alias": { - "dev-master": "12.0-dev" - }, "laravel": { "aliases": { "Hashids": "Vinkla\\Hashids\\Facades\\Hashids" @@ -9545,6 +9965,9 @@ "providers": [ "Vinkla\\Hashids\\HashidsServiceProvider" ] + }, + "branch-alias": { + "dev-master": "12.0-dev" } }, "autoload": { @@ -9569,29 +9992,29 @@ ], "support": { "issues": "https://github.com/vinkla/laravel-hashids/issues", - "source": "https://github.com/vinkla/laravel-hashids/tree/12.0.0" + "source": "https://github.com/vinkla/laravel-hashids/tree/13.0.0" }, - "time": "2024-02-05T08:07:21+00:00" + "time": "2025-03-02T21:39:35+00:00" }, { "name": "vlucas/phpdotenv", - "version": "v5.6.0", + "version": "v5.6.2", "source": { "type": "git", "url": "https://github.com/vlucas/phpdotenv.git", - "reference": "2cf9fb6054c2bb1d59d1f3817706ecdb9d2934c4" + "reference": "24ac4c74f91ee2c193fa1aaa5c249cb0822809af" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/2cf9fb6054c2bb1d59d1f3817706ecdb9d2934c4", - "reference": "2cf9fb6054c2bb1d59d1f3817706ecdb9d2934c4", + "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/24ac4c74f91ee2c193fa1aaa5c249cb0822809af", + "reference": "24ac4c74f91ee2c193fa1aaa5c249cb0822809af", "shasum": "" }, "require": { "ext-pcre": "*", - "graham-campbell/result-type": "^1.1.2", + "graham-campbell/result-type": "^1.1.3", "php": "^7.2.5 || ^8.0", - "phpoption/phpoption": "^1.9.2", + "phpoption/phpoption": "^1.9.3", "symfony/polyfill-ctype": "^1.24", "symfony/polyfill-mbstring": "^1.24", "symfony/polyfill-php80": "^1.24" @@ -9608,7 +10031,7 @@ "extra": { "bamarni-bin": { "bin-links": true, - "forward-command": true + "forward-command": false }, "branch-alias": { "dev-master": "5.6-dev" @@ -9643,7 +10066,7 @@ ], "support": { "issues": "https://github.com/vlucas/phpdotenv/issues", - "source": "https://github.com/vlucas/phpdotenv/tree/v5.6.0" + "source": "https://github.com/vlucas/phpdotenv/tree/v5.6.2" }, "funding": [ { @@ -9655,20 +10078,20 @@ "type": "tidelift" } ], - "time": "2023-11-12T22:43:29+00:00" + "time": "2025-04-30T23:37:27+00:00" }, { "name": "voku/portable-ascii", - "version": "2.0.1", + "version": "2.0.3", "source": { "type": "git", "url": "https://github.com/voku/portable-ascii.git", - "reference": "b56450eed252f6801410d810c8e1727224ae0743" + "reference": "b1d923f88091c6bf09699efcd7c8a1b1bfd7351d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/voku/portable-ascii/zipball/b56450eed252f6801410d810c8e1727224ae0743", - "reference": "b56450eed252f6801410d810c8e1727224ae0743", + "url": "https://api.github.com/repos/voku/portable-ascii/zipball/b1d923f88091c6bf09699efcd7c8a1b1bfd7351d", + "reference": "b1d923f88091c6bf09699efcd7c8a1b1bfd7351d", "shasum": "" }, "require": { @@ -9693,7 +10116,7 @@ "authors": [ { "name": "Lars Moelleken", - "homepage": "http://www.moelleken.org/" + "homepage": "https://www.moelleken.org/" } ], "description": "Portable ASCII library - performance optimized (ascii) string functions for php.", @@ -9705,7 +10128,7 @@ ], "support": { "issues": "https://github.com/voku/portable-ascii/issues", - "source": "https://github.com/voku/portable-ascii/tree/2.0.1" + "source": "https://github.com/voku/portable-ascii/tree/2.0.3" }, "funding": [ { @@ -9729,7 +10152,7 @@ "type": "tidelift" } ], - "time": "2022-03-08T17:03:00+00:00" + "time": "2024-11-21T01:49:47+00:00" }, { "name": "webmozart/assert", @@ -9793,53 +10216,52 @@ "packages-dev": [ { "name": "barryvdh/laravel-ide-helper", - "version": "v3.0.0", + "version": "v3.5.5", "source": { "type": "git", "url": "https://github.com/barryvdh/laravel-ide-helper.git", - "reference": "bc1d67f01ce8c77e3f97d48ba51fa1d81874f622" + "reference": "8d441ec99f8612b942b55f5183151d91591b618a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/barryvdh/laravel-ide-helper/zipball/bc1d67f01ce8c77e3f97d48ba51fa1d81874f622", - "reference": "bc1d67f01ce8c77e3f97d48ba51fa1d81874f622", + "url": "https://api.github.com/repos/barryvdh/laravel-ide-helper/zipball/8d441ec99f8612b942b55f5183151d91591b618a", + "reference": "8d441ec99f8612b942b55f5183151d91591b618a", "shasum": "" }, "require": { - "barryvdh/reflection-docblock": "^2.1.1", + "barryvdh/reflection-docblock": "^2.3", "composer/class-map-generator": "^1.0", "ext-json": "*", - "illuminate/console": "^10 || ^11", - "illuminate/database": "^10.38 || ^11", - "illuminate/filesystem": "^10 || ^11", - "illuminate/support": "^10 || ^11", - "nikic/php-parser": "^4.18 || ^5", - "php": "^8.1", - "phpdocumentor/type-resolver": "^1.1.0" + "illuminate/console": "^11.15 || ^12", + "illuminate/database": "^11.15 || ^12", + "illuminate/filesystem": "^11.15 || ^12", + "illuminate/support": "^11.15 || ^12", + "php": "^8.2" }, "require-dev": { "ext-pdo_sqlite": "*", "friendsofphp/php-cs-fixer": "^3", - "illuminate/config": "^9 || ^10 || ^11", - "illuminate/view": "^9 || ^10 || ^11", + "illuminate/config": "^11.15 || ^12", + "illuminate/view": "^11.15 || ^12", "mockery/mockery": "^1.4", - "orchestra/testbench": "^8 || ^9", - "phpunit/phpunit": "^10.5", + "orchestra/testbench": "^9.2 || ^10", + "phpunit/phpunit": "^10.5 || ^11.5.3", "spatie/phpunit-snapshot-assertions": "^4 || ^5", - "vimeo/psalm": "^5.4" + "vimeo/psalm": "^5.4", + "vlucas/phpdotenv": "^5" }, "suggest": { "illuminate/events": "Required for automatic helper generation (^6|^7|^8|^9|^10|^11)." }, "type": "library", "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - }, "laravel": { "providers": [ "Barryvdh\\LaravelIdeHelper\\IdeHelperServiceProvider" ] + }, + "branch-alias": { + "dev-master": "3.5-dev" } }, "autoload": { @@ -9861,6 +10283,7 @@ "keywords": [ "autocomplete", "codeintel", + "dev", "helper", "ide", "laravel", @@ -9871,7 +10294,7 @@ ], "support": { "issues": "https://github.com/barryvdh/laravel-ide-helper/issues", - "source": "https://github.com/barryvdh/laravel-ide-helper/tree/v3.0.0" + "source": "https://github.com/barryvdh/laravel-ide-helper/tree/v3.5.5" }, "funding": [ { @@ -9883,24 +10306,24 @@ "type": "github" } ], - "time": "2024-03-01T12:53:18+00:00" + "time": "2025-02-11T13:59:46+00:00" }, { "name": "barryvdh/reflection-docblock", - "version": "v2.1.1", + "version": "v2.3.1", "source": { "type": "git", "url": "https://github.com/barryvdh/ReflectionDocBlock.git", - "reference": "e6811e927f0ecc37cc4deaa6627033150343e597" + "reference": "b6ff9f93603561f50e53b64310495d20b8dff5d8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/barryvdh/ReflectionDocBlock/zipball/e6811e927f0ecc37cc4deaa6627033150343e597", - "reference": "e6811e927f0ecc37cc4deaa6627033150343e597", + "url": "https://api.github.com/repos/barryvdh/ReflectionDocBlock/zipball/b6ff9f93603561f50e53b64310495d20b8dff5d8", + "reference": "b6ff9f93603561f50e53b64310495d20b8dff5d8", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": ">=7.1" }, "require-dev": { "phpunit/phpunit": "^8.5.14|^9" @@ -9912,7 +10335,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-master": "2.3.x-dev" } }, "autoload": { @@ -9933,28 +10356,28 @@ } ], "support": { - "source": "https://github.com/barryvdh/ReflectionDocBlock/tree/v2.1.1" + "source": "https://github.com/barryvdh/ReflectionDocBlock/tree/v2.3.1" }, - "time": "2023-06-14T05:06:27+00:00" + "time": "2025-01-18T19:26:32+00:00" }, { "name": "beyondcode/laravel-dump-server", - "version": "2.0.0", + "version": "2.1.0", "source": { "type": "git", "url": "https://github.com/beyondcode/laravel-dump-server.git", - "reference": "e0dff1b2c7caf49d07ca5cb331fc7c5f1e52c715" + "reference": "8e9af58a02a59d6a028167e2afc5b5b1e58eb822" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/beyondcode/laravel-dump-server/zipball/e0dff1b2c7caf49d07ca5cb331fc7c5f1e52c715", - "reference": "e0dff1b2c7caf49d07ca5cb331fc7c5f1e52c715", + "url": "https://api.github.com/repos/beyondcode/laravel-dump-server/zipball/8e9af58a02a59d6a028167e2afc5b5b1e58eb822", + "reference": "8e9af58a02a59d6a028167e2afc5b5b1e58eb822", "shasum": "" }, "require": { - "illuminate/console": "5.6.*|5.7.*|5.8.*|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0", - "illuminate/http": "5.6.*|5.7.*|5.8.*|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0", - "illuminate/support": "5.6.*|5.7.*|5.8.*|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0", + "illuminate/console": "5.6.*|5.7.*|5.8.*|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0", + "illuminate/http": "5.6.*|5.7.*|5.8.*|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0", + "illuminate/support": "5.6.*|5.7.*|5.8.*|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0", "php": ">=7.2.5", "symfony/var-dumper": "^5.0|^6.0|^7.0" }, @@ -10001,22 +10424,22 @@ ], "support": { "issues": "https://github.com/beyondcode/laravel-dump-server/issues", - "source": "https://github.com/beyondcode/laravel-dump-server/tree/2.0.0" + "source": "https://github.com/beyondcode/laravel-dump-server/tree/2.1.0" }, - "time": "2024-04-23T12:02:38+00:00" + "time": "2025-02-26T08:27:59+00:00" }, { "name": "brianium/paratest", - "version": "v7.4.3", + "version": "v7.8.3", "source": { "type": "git", "url": "https://github.com/paratestphp/paratest.git", - "reference": "64fcfd0e28a6b8078a19dbf9127be2ee645b92ec" + "reference": "a585c346ddf1bec22e51e20b5387607905604a71" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/paratestphp/paratest/zipball/64fcfd0e28a6b8078a19dbf9127be2ee645b92ec", - "reference": "64fcfd0e28a6b8078a19dbf9127be2ee645b92ec", + "url": "https://api.github.com/repos/paratestphp/paratest/zipball/a585c346ddf1bec22e51e20b5387607905604a71", + "reference": "a585c346ddf1bec22e51e20b5387607905604a71", "shasum": "" }, "require": { @@ -10024,31 +10447,30 @@ "ext-pcre": "*", "ext-reflection": "*", "ext-simplexml": "*", - "fidry/cpu-core-counter": "^1.1.0", - "jean85/pretty-package-versions": "^2.0.5", - "php": "~8.2.0 || ~8.3.0", - "phpunit/php-code-coverage": "^10.1.11 || ^11.0.0", - "phpunit/php-file-iterator": "^4.1.0 || ^5.0.0", - "phpunit/php-timer": "^6.0.0 || ^7.0.0", - "phpunit/phpunit": "^10.5.9 || ^11.0.3", - "sebastian/environment": "^6.0.1 || ^7.0.0", - "symfony/console": "^6.4.3 || ^7.0.3", - "symfony/process": "^6.4.3 || ^7.0.3" + "fidry/cpu-core-counter": "^1.2.0", + "jean85/pretty-package-versions": "^2.1.0", + "php": "~8.2.0 || ~8.3.0 || ~8.4.0", + "phpunit/php-code-coverage": "^11.0.9 || ^12.0.4", + "phpunit/php-file-iterator": "^5.1.0 || ^6", + "phpunit/php-timer": "^7.0.1 || ^8", + "phpunit/phpunit": "^11.5.11 || ^12.0.6", + "sebastian/environment": "^7.2.0 || ^8", + "symfony/console": "^6.4.17 || ^7.2.1", + "symfony/process": "^6.4.19 || ^7.2.4" }, "require-dev": { "doctrine/coding-standard": "^12.0.0", "ext-pcov": "*", "ext-posix": "*", - "phpstan/phpstan": "^1.10.58", - "phpstan/phpstan-deprecation-rules": "^1.1.4", - "phpstan/phpstan-phpunit": "^1.3.15", - "phpstan/phpstan-strict-rules": "^1.5.2", - "squizlabs/php_codesniffer": "^3.9.0", - "symfony/filesystem": "^6.4.3 || ^7.0.3" + "phpstan/phpstan": "^2.1.6", + "phpstan/phpstan-deprecation-rules": "^2.0.1", + "phpstan/phpstan-phpunit": "^2.0.4", + "phpstan/phpstan-strict-rules": "^2.0.3", + "squizlabs/php_codesniffer": "^3.11.3", + "symfony/filesystem": "^6.4.13 || ^7.2.0" }, "bin": [ "bin/paratest", - "bin/paratest.bat", "bin/paratest_for_phpstorm" ], "type": "library", @@ -10085,7 +10507,7 @@ ], "support": { "issues": "https://github.com/paratestphp/paratest/issues", - "source": "https://github.com/paratestphp/paratest/tree/v7.4.3" + "source": "https://github.com/paratestphp/paratest/tree/v7.8.3" }, "funding": [ { @@ -10097,20 +10519,20 @@ "type": "paypal" } ], - "time": "2024-02-20T07:24:02+00:00" + "time": "2025-03-05T08:29:11+00:00" }, { "name": "composer/class-map-generator", - "version": "1.1.1", + "version": "1.6.1", "source": { "type": "git", "url": "https://github.com/composer/class-map-generator.git", - "reference": "8286a62d243312ed99b3eee20d5005c961adb311" + "reference": "134b705ddb0025d397d8318a75825fe3c9d1da34" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/class-map-generator/zipball/8286a62d243312ed99b3eee20d5005c961adb311", - "reference": "8286a62d243312ed99b3eee20d5005c961adb311", + "url": "https://api.github.com/repos/composer/class-map-generator/zipball/134b705ddb0025d397d8318a75825fe3c9d1da34", + "reference": "134b705ddb0025d397d8318a75825fe3c9d1da34", "shasum": "" }, "require": { @@ -10119,12 +10541,12 @@ "symfony/finder": "^4.4 || ^5.3 || ^6 || ^7" }, "require-dev": { - "phpstan/phpstan": "^1.6", - "phpstan/phpstan-deprecation-rules": "^1", - "phpstan/phpstan-phpunit": "^1", - "phpstan/phpstan-strict-rules": "^1.1", - "symfony/filesystem": "^5.4 || ^6", - "symfony/phpunit-bridge": "^5" + "phpstan/phpstan": "^1.12 || ^2", + "phpstan/phpstan-deprecation-rules": "^1 || ^2", + "phpstan/phpstan-phpunit": "^1 || ^2", + "phpstan/phpstan-strict-rules": "^1.1 || ^2", + "phpunit/phpunit": "^8", + "symfony/filesystem": "^5.4 || ^6" }, "type": "library", "extra": { @@ -10154,7 +10576,7 @@ ], "support": { "issues": "https://github.com/composer/class-map-generator/issues", - "source": "https://github.com/composer/class-map-generator/tree/1.1.1" + "source": "https://github.com/composer/class-map-generator/tree/1.6.1" }, "funding": [ { @@ -10170,32 +10592,40 @@ "type": "tidelift" } ], - "time": "2024-03-15T12:53:41+00:00" + "time": "2025-03-24T13:50:44+00:00" }, { "name": "composer/pcre", - "version": "3.1.4", + "version": "3.3.2", "source": { "type": "git", "url": "https://github.com/composer/pcre.git", - "reference": "04229f163664973f68f38f6f73d917799168ef24" + "reference": "b2bed4734f0cc156ee1fe9c0da2550420d99a21e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/pcre/zipball/04229f163664973f68f38f6f73d917799168ef24", - "reference": "04229f163664973f68f38f6f73d917799168ef24", + "url": "https://api.github.com/repos/composer/pcre/zipball/b2bed4734f0cc156ee1fe9c0da2550420d99a21e", + "reference": "b2bed4734f0cc156ee1fe9c0da2550420d99a21e", "shasum": "" }, "require": { "php": "^7.4 || ^8.0" }, + "conflict": { + "phpstan/phpstan": "<1.11.10" + }, "require-dev": { - "phpstan/phpstan": "^1.3", - "phpstan/phpstan-strict-rules": "^1.1", - "symfony/phpunit-bridge": "^5" + "phpstan/phpstan": "^1.12 || ^2", + "phpstan/phpstan-strict-rules": "^1 || ^2", + "phpunit/phpunit": "^8 || ^9" }, "type": "library", "extra": { + "phpstan": { + "includes": [ + "extension.neon" + ] + }, "branch-alias": { "dev-main": "3.x-dev" } @@ -10225,7 +10655,7 @@ ], "support": { "issues": "https://github.com/composer/pcre/issues", - "source": "https://github.com/composer/pcre/tree/3.1.4" + "source": "https://github.com/composer/pcre/tree/3.3.2" }, "funding": [ { @@ -10241,20 +10671,20 @@ "type": "tidelift" } ], - "time": "2024-05-27T13:40:54+00:00" + "time": "2024-11-12T16:29:46+00:00" }, { "name": "fakerphp/faker", - "version": "v1.23.1", + "version": "v1.24.1", "source": { "type": "git", "url": "https://github.com/FakerPHP/Faker.git", - "reference": "bfb4fe148adbf78eff521199619b93a52ae3554b" + "reference": "e0ee18eb1e6dc3cda3ce9fd97e5a0689a88a64b5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/bfb4fe148adbf78eff521199619b93a52ae3554b", - "reference": "bfb4fe148adbf78eff521199619b93a52ae3554b", + "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/e0ee18eb1e6dc3cda3ce9fd97e5a0689a88a64b5", + "reference": "e0ee18eb1e6dc3cda3ce9fd97e5a0689a88a64b5", "shasum": "" }, "require": { @@ -10302,22 +10732,22 @@ ], "support": { "issues": "https://github.com/FakerPHP/Faker/issues", - "source": "https://github.com/FakerPHP/Faker/tree/v1.23.1" + "source": "https://github.com/FakerPHP/Faker/tree/v1.24.1" }, - "time": "2024-01-02T13:46:09+00:00" + "time": "2024-11-21T13:46:39+00:00" }, { "name": "fidry/cpu-core-counter", - "version": "1.1.0", + "version": "1.2.0", "source": { "type": "git", "url": "https://github.com/theofidry/cpu-core-counter.git", - "reference": "f92996c4d5c1a696a6a970e20f7c4216200fcc42" + "reference": "8520451a140d3f46ac33042715115e290cf5785f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/theofidry/cpu-core-counter/zipball/f92996c4d5c1a696a6a970e20f7c4216200fcc42", - "reference": "f92996c4d5c1a696a6a970e20f7c4216200fcc42", + "url": "https://api.github.com/repos/theofidry/cpu-core-counter/zipball/8520451a140d3f46ac33042715115e290cf5785f", + "reference": "8520451a140d3f46ac33042715115e290cf5785f", "shasum": "" }, "require": { @@ -10357,7 +10787,7 @@ ], "support": { "issues": "https://github.com/theofidry/cpu-core-counter/issues", - "source": "https://github.com/theofidry/cpu-core-counter/tree/1.1.0" + "source": "https://github.com/theofidry/cpu-core-counter/tree/1.2.0" }, "funding": [ { @@ -10365,30 +10795,30 @@ "type": "github" } ], - "time": "2024-02-07T09:43:46+00:00" + "time": "2024-08-06T10:04:20+00:00" }, { "name": "filp/whoops", - "version": "2.15.4", + "version": "2.18.0", "source": { "type": "git", "url": "https://github.com/filp/whoops.git", - "reference": "a139776fa3f5985a50b509f2a02ff0f709d2a546" + "reference": "a7de6c3c6c3c022f5cfc337f8ede6a14460cf77e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filp/whoops/zipball/a139776fa3f5985a50b509f2a02ff0f709d2a546", - "reference": "a139776fa3f5985a50b509f2a02ff0f709d2a546", + "url": "https://api.github.com/repos/filp/whoops/zipball/a7de6c3c6c3c022f5cfc337f8ede6a14460cf77e", + "reference": "a7de6c3c6c3c022f5cfc337f8ede6a14460cf77e", "shasum": "" }, "require": { - "php": "^5.5.9 || ^7.0 || ^8.0", + "php": "^7.1 || ^8.0", "psr/log": "^1.0.1 || ^2.0 || ^3.0" }, "require-dev": { - "mockery/mockery": "^0.9 || ^1.0", - "phpunit/phpunit": "^4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.8 || ^9.3.3", - "symfony/var-dumper": "^2.6 || ^3.0 || ^4.0 || ^5.0" + "mockery/mockery": "^1.0", + "phpunit/phpunit": "^7.5.20 || ^8.5.8 || ^9.3.3", + "symfony/var-dumper": "^4.0 || ^5.0" }, "suggest": { "symfony/var-dumper": "Pretty print complex values better with var-dumper available", @@ -10428,7 +10858,7 @@ ], "support": { "issues": "https://github.com/filp/whoops/issues", - "source": "https://github.com/filp/whoops/tree/2.15.4" + "source": "https://github.com/filp/whoops/tree/2.18.0" }, "funding": [ { @@ -10436,32 +10866,33 @@ "type": "github" } ], - "time": "2023-11-03T12:00:00+00:00" + "time": "2025-03-15T12:00:00+00:00" }, { "name": "jean85/pretty-package-versions", - "version": "2.0.6", + "version": "2.1.1", "source": { "type": "git", "url": "https://github.com/Jean85/pretty-package-versions.git", - "reference": "f9fdd29ad8e6d024f52678b570e5593759b550b4" + "reference": "4d7aa5dab42e2a76d99559706022885de0e18e1a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Jean85/pretty-package-versions/zipball/f9fdd29ad8e6d024f52678b570e5593759b550b4", - "reference": "f9fdd29ad8e6d024f52678b570e5593759b550b4", + "url": "https://api.github.com/repos/Jean85/pretty-package-versions/zipball/4d7aa5dab42e2a76d99559706022885de0e18e1a", + "reference": "4d7aa5dab42e2a76d99559706022885de0e18e1a", "shasum": "" }, "require": { - "composer-runtime-api": "^2.0.0", - "php": "^7.1|^8.0" + "composer-runtime-api": "^2.1.0", + "php": "^7.4|^8.0" }, "require-dev": { "friendsofphp/php-cs-fixer": "^3.2", "jean85/composer-provided-replaced-stub-package": "^1.0", - "phpstan/phpstan": "^1.4", - "phpunit/phpunit": "^7.5|^8.5|^9.4", - "vimeo/psalm": "^4.3" + "phpstan/phpstan": "^2.0", + "phpunit/phpunit": "^7.5|^8.5|^9.6", + "rector/rector": "^2.0", + "vimeo/psalm": "^4.3 || ^5.0" }, "type": "library", "extra": { @@ -10493,22 +10924,22 @@ ], "support": { "issues": "https://github.com/Jean85/pretty-package-versions/issues", - "source": "https://github.com/Jean85/pretty-package-versions/tree/2.0.6" + "source": "https://github.com/Jean85/pretty-package-versions/tree/2.1.1" }, - "time": "2024-03-08T09:58:59+00:00" + "time": "2025-03-19T14:43:43+00:00" }, { "name": "laravel/pint", - "version": "v1.16.0", + "version": "v1.22.0", "source": { "type": "git", "url": "https://github.com/laravel/pint.git", - "reference": "1b3a3dc5bc6a81ff52828ba7277621f1d49d6d98" + "reference": "7ddfaa6523a675fae5c4123ee38fc6bfb8ee4f36" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/pint/zipball/1b3a3dc5bc6a81ff52828ba7277621f1d49d6d98", - "reference": "1b3a3dc5bc6a81ff52828ba7277621f1d49d6d98", + "url": "https://api.github.com/repos/laravel/pint/zipball/7ddfaa6523a675fae5c4123ee38fc6bfb8ee4f36", + "reference": "7ddfaa6523a675fae5c4123ee38fc6bfb8ee4f36", "shasum": "" }, "require": { @@ -10516,16 +10947,16 @@ "ext-mbstring": "*", "ext-tokenizer": "*", "ext-xml": "*", - "php": "^8.1.0" + "php": "^8.2.0" }, "require-dev": { - "friendsofphp/php-cs-fixer": "^3.57.1", - "illuminate/view": "^10.48.10", - "larastan/larastan": "^2.9.6", - "laravel-zero/framework": "^10.4.0", + "friendsofphp/php-cs-fixer": "^3.75.0", + "illuminate/view": "^11.44.2", + "larastan/larastan": "^3.3.1", + "laravel-zero/framework": "^11.36.1", "mockery/mockery": "^1.6.12", - "nunomaduro/termwind": "^1.15.1", - "pestphp/pest": "^2.34.7" + "nunomaduro/termwind": "^2.3", + "pestphp/pest": "^2.36.0" }, "bin": [ "builds/pint" @@ -10561,32 +10992,32 @@ "issues": "https://github.com/laravel/pint/issues", "source": "https://github.com/laravel/pint" }, - "time": "2024-05-21T18:08:25+00:00" + "time": "2025-04-08T22:11:45+00:00" }, { "name": "laravel/sail", - "version": "v1.29.2", + "version": "v1.42.0", "source": { "type": "git", "url": "https://github.com/laravel/sail.git", - "reference": "a8e4e749735ba2f091856eafeb3f99db8cd6b621" + "reference": "2edaaf77f3c07a4099965bb3d7dfee16e801c0f6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/sail/zipball/a8e4e749735ba2f091856eafeb3f99db8cd6b621", - "reference": "a8e4e749735ba2f091856eafeb3f99db8cd6b621", + "url": "https://api.github.com/repos/laravel/sail/zipball/2edaaf77f3c07a4099965bb3d7dfee16e801c0f6", + "reference": "2edaaf77f3c07a4099965bb3d7dfee16e801c0f6", "shasum": "" }, "require": { - "illuminate/console": "^9.52.16|^10.0|^11.0", - "illuminate/contracts": "^9.52.16|^10.0|^11.0", - "illuminate/support": "^9.52.16|^10.0|^11.0", + "illuminate/console": "^9.52.16|^10.0|^11.0|^12.0", + "illuminate/contracts": "^9.52.16|^10.0|^11.0|^12.0", + "illuminate/support": "^9.52.16|^10.0|^11.0|^12.0", "php": "^8.0", "symfony/console": "^6.0|^7.0", "symfony/yaml": "^6.0|^7.0" }, "require-dev": { - "orchestra/testbench": "^7.0|^8.0|^9.0", + "orchestra/testbench": "^7.0|^8.0|^9.0|^10.0", "phpstan/phpstan": "^1.10" }, "bin": [ @@ -10624,42 +11055,43 @@ "issues": "https://github.com/laravel/sail/issues", "source": "https://github.com/laravel/sail" }, - "time": "2024-05-16T21:39:11+00:00" + "time": "2025-04-29T14:26:46+00:00" }, { "name": "nunomaduro/collision", - "version": "v8.1.1", + "version": "v8.8.0", "source": { "type": "git", "url": "https://github.com/nunomaduro/collision.git", - "reference": "13e5d538b95a744d85f447a321ce10adb28e9af9" + "reference": "4cf9f3b47afff38b139fb79ce54fc71799022ce8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/collision/zipball/13e5d538b95a744d85f447a321ce10adb28e9af9", - "reference": "13e5d538b95a744d85f447a321ce10adb28e9af9", + "url": "https://api.github.com/repos/nunomaduro/collision/zipball/4cf9f3b47afff38b139fb79ce54fc71799022ce8", + "reference": "4cf9f3b47afff38b139fb79ce54fc71799022ce8", "shasum": "" }, "require": { - "filp/whoops": "^2.15.4", - "nunomaduro/termwind": "^2.0.1", + "filp/whoops": "^2.18.0", + "nunomaduro/termwind": "^2.3.0", "php": "^8.2.0", - "symfony/console": "^7.0.4" + "symfony/console": "^7.2.5" }, "conflict": { - "laravel/framework": "<11.0.0 || >=12.0.0", - "phpunit/phpunit": "<10.5.1 || >=12.0.0" + "laravel/framework": "<11.44.2 || >=13.0.0", + "phpunit/phpunit": "<11.5.15 || >=13.0.0" }, "require-dev": { - "larastan/larastan": "^2.9.2", - "laravel/framework": "^11.0.0", - "laravel/pint": "^1.14.0", - "laravel/sail": "^1.28.2", - "laravel/sanctum": "^4.0.0", - "laravel/tinker": "^2.9.0", - "orchestra/testbench-core": "^9.0.0", - "pestphp/pest": "^2.34.1 || ^3.0.0", - "sebastian/environment": "^6.0.1 || ^7.0.0" + "brianium/paratest": "^7.8.3", + "larastan/larastan": "^3.2", + "laravel/framework": "^11.44.2 || ^12.6", + "laravel/pint": "^1.21.2", + "laravel/sail": "^1.41.0", + "laravel/sanctum": "^4.0.8", + "laravel/tinker": "^2.10.1", + "orchestra/testbench-core": "^9.12.0 || ^10.1", + "pestphp/pest": "^3.8.0", + "sebastian/environment": "^7.2.0 || ^8.0" }, "type": "library", "extra": { @@ -10696,6 +11128,7 @@ "cli", "command-line", "console", + "dev", "error", "handling", "laravel", @@ -10721,40 +11154,42 @@ "type": "patreon" } ], - "time": "2024-03-06T16:20:09+00:00" + "time": "2025-04-03T14:33:09+00:00" }, { "name": "pestphp/pest", - "version": "v2.34.7", + "version": "v3.8.2", "source": { "type": "git", "url": "https://github.com/pestphp/pest.git", - "reference": "a7a3e4240e341d0fee1c54814ce18adc26ce5a76" + "reference": "c6244a8712968dbac88eb998e7ff3b5caa556b0d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pestphp/pest/zipball/a7a3e4240e341d0fee1c54814ce18adc26ce5a76", - "reference": "a7a3e4240e341d0fee1c54814ce18adc26ce5a76", + "url": "https://api.github.com/repos/pestphp/pest/zipball/c6244a8712968dbac88eb998e7ff3b5caa556b0d", + "reference": "c6244a8712968dbac88eb998e7ff3b5caa556b0d", "shasum": "" }, "require": { - "brianium/paratest": "^7.3.1", - "nunomaduro/collision": "^7.10.0|^8.1.1", - "nunomaduro/termwind": "^1.15.1|^2.0.1", - "pestphp/pest-plugin": "^2.1.1", - "pestphp/pest-plugin-arch": "^2.7.0", - "php": "^8.1.0", - "phpunit/phpunit": "^10.5.17" + "brianium/paratest": "^7.8.3", + "nunomaduro/collision": "^8.8.0", + "nunomaduro/termwind": "^2.3.0", + "pestphp/pest-plugin": "^3.0.0", + "pestphp/pest-plugin-arch": "^3.1.0", + "pestphp/pest-plugin-mutate": "^3.0.5", + "php": "^8.2.0", + "phpunit/phpunit": "^11.5.15" }, "conflict": { - "phpunit/phpunit": ">10.5.17", - "sebastian/exporter": "<5.1.0", + "filp/whoops": "<2.16.0", + "phpunit/phpunit": ">11.5.15", + "sebastian/exporter": "<6.0.0", "webmozart/assert": "<1.11.0" }, "require-dev": { - "pestphp/pest-dev-tools": "^2.16.0", - "pestphp/pest-plugin-type-coverage": "^2.8.1", - "symfony/process": "^6.4.0|^7.0.4" + "pestphp/pest-dev-tools": "^3.4.0", + "pestphp/pest-plugin-type-coverage": "^3.5.0", + "symfony/process": "^7.2.5" }, "bin": [ "bin/pest" @@ -10763,6 +11198,8 @@ "extra": { "pest": { "plugins": [ + "Pest\\Mutate\\Plugins\\Mutate", + "Pest\\Plugins\\Configuration", "Pest\\Plugins\\Bail", "Pest\\Plugins\\Cache", "Pest\\Plugins\\Coverage", @@ -10817,7 +11254,7 @@ ], "support": { "issues": "https://github.com/pestphp/pest/issues", - "source": "https://github.com/pestphp/pest/tree/v2.34.7" + "source": "https://github.com/pestphp/pest/tree/v3.8.2" }, "funding": [ { @@ -10829,34 +11266,34 @@ "type": "github" } ], - "time": "2024-04-05T07:44:17+00:00" + "time": "2025-04-17T10:53:02+00:00" }, { "name": "pestphp/pest-plugin", - "version": "v2.1.1", + "version": "v3.0.0", "source": { "type": "git", "url": "https://github.com/pestphp/pest-plugin.git", - "reference": "e05d2859e08c2567ee38ce8b005d044e72648c0b" + "reference": "e79b26c65bc11c41093b10150c1341cc5cdbea83" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pestphp/pest-plugin/zipball/e05d2859e08c2567ee38ce8b005d044e72648c0b", - "reference": "e05d2859e08c2567ee38ce8b005d044e72648c0b", + "url": "https://api.github.com/repos/pestphp/pest-plugin/zipball/e79b26c65bc11c41093b10150c1341cc5cdbea83", + "reference": "e79b26c65bc11c41093b10150c1341cc5cdbea83", "shasum": "" }, "require": { "composer-plugin-api": "^2.0.0", "composer-runtime-api": "^2.2.2", - "php": "^8.1" + "php": "^8.2" }, "conflict": { - "pestphp/pest": "<2.2.3" + "pestphp/pest": "<3.0.0" }, "require-dev": { - "composer/composer": "^2.5.8", - "pestphp/pest": "^2.16.0", - "pestphp/pest-dev-tools": "^2.16.0" + "composer/composer": "^2.7.9", + "pestphp/pest": "^3.0.0", + "pestphp/pest-dev-tools": "^3.0.0" }, "type": "composer-plugin", "extra": { @@ -10883,7 +11320,7 @@ "unit" ], "support": { - "source": "https://github.com/pestphp/pest-plugin/tree/v2.1.1" + "source": "https://github.com/pestphp/pest-plugin/tree/v3.0.0" }, "funding": [ { @@ -10899,31 +11336,30 @@ "type": "patreon" } ], - "time": "2023-08-22T08:40:06+00:00" + "time": "2024-09-08T23:21:41+00:00" }, { "name": "pestphp/pest-plugin-arch", - "version": "v2.7.0", + "version": "v3.1.1", "source": { "type": "git", "url": "https://github.com/pestphp/pest-plugin-arch.git", - "reference": "d23b2d7498475354522c3818c42ef355dca3fcda" + "reference": "db7bd9cb1612b223e16618d85475c6f63b9c8daa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pestphp/pest-plugin-arch/zipball/d23b2d7498475354522c3818c42ef355dca3fcda", - "reference": "d23b2d7498475354522c3818c42ef355dca3fcda", + "url": "https://api.github.com/repos/pestphp/pest-plugin-arch/zipball/db7bd9cb1612b223e16618d85475c6f63b9c8daa", + "reference": "db7bd9cb1612b223e16618d85475c6f63b9c8daa", "shasum": "" }, "require": { - "nunomaduro/collision": "^7.10.0|^8.1.0", - "pestphp/pest-plugin": "^2.1.1", - "php": "^8.1", + "pestphp/pest-plugin": "^3.0.0", + "php": "^8.2", "ta-tikoma/phpunit-architecture-test": "^0.8.4" }, "require-dev": { - "pestphp/pest": "^2.33.0", - "pestphp/pest-dev-tools": "^2.16.0" + "pestphp/pest": "^3.8.1", + "pestphp/pest-dev-tools": "^3.4.0" }, "type": "library", "extra": { @@ -10958,7 +11394,7 @@ "unit" ], "support": { - "source": "https://github.com/pestphp/pest-plugin-arch/tree/v2.7.0" + "source": "https://github.com/pestphp/pest-plugin-arch/tree/v3.1.1" }, "funding": [ { @@ -10970,29 +11406,29 @@ "type": "github" } ], - "time": "2024-01-26T09:46:42+00:00" + "time": "2025-04-16T22:59:48+00:00" }, { "name": "pestphp/pest-plugin-faker", - "version": "v2.0.0", + "version": "v3.0.0", "source": { "type": "git", "url": "https://github.com/pestphp/pest-plugin-faker.git", - "reference": "39fa2bd69d95024783ccf40ff48e3680aea1ba4a" + "reference": "48343e2806cfc12a042dead90ffff4a043167e3e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pestphp/pest-plugin-faker/zipball/39fa2bd69d95024783ccf40ff48e3680aea1ba4a", - "reference": "39fa2bd69d95024783ccf40ff48e3680aea1ba4a", + "url": "https://api.github.com/repos/pestphp/pest-plugin-faker/zipball/48343e2806cfc12a042dead90ffff4a043167e3e", + "reference": "48343e2806cfc12a042dead90ffff4a043167e3e", "shasum": "" }, "require": { - "fakerphp/faker": "^1.21.0", - "pestphp/pest": "^2.0.0", - "php": "^8.1" + "fakerphp/faker": "^1.23.1", + "pestphp/pest": "^3.0.0", + "php": "^8.2" }, "require-dev": { - "pestphp/pest-dev-tools": "^2.5.0" + "pestphp/pest-dev-tools": "^3.0.0" }, "type": "library", "autoload": { @@ -11019,7 +11455,7 @@ "unit" ], "support": { - "source": "https://github.com/pestphp/pest-plugin-faker/tree/v2.0.0" + "source": "https://github.com/pestphp/pest-plugin-faker/tree/v3.0.0" }, "funding": [ { @@ -11035,43 +11471,43 @@ "type": "patreon" } ], - "time": "2023-03-20T10:06:05+00:00" + "time": "2024-09-08T23:56:08+00:00" }, { "name": "pestphp/pest-plugin-laravel", - "version": "v2.4.0", + "version": "v3.2.0", "source": { "type": "git", "url": "https://github.com/pestphp/pest-plugin-laravel.git", - "reference": "53df51169a7f9595e06839cce638c73e59ace5e8" + "reference": "6801be82fd92b96e82dd72e563e5674b1ce365fc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pestphp/pest-plugin-laravel/zipball/53df51169a7f9595e06839cce638c73e59ace5e8", - "reference": "53df51169a7f9595e06839cce638c73e59ace5e8", + "url": "https://api.github.com/repos/pestphp/pest-plugin-laravel/zipball/6801be82fd92b96e82dd72e563e5674b1ce365fc", + "reference": "6801be82fd92b96e82dd72e563e5674b1ce365fc", "shasum": "" }, "require": { - "laravel/framework": "^10.48.9|^11.5.0", - "pestphp/pest": "^2.34.7", - "php": "^8.1.0" + "laravel/framework": "^11.39.1|^12.9.2", + "pestphp/pest": "^3.8.2", + "php": "^8.2.0" }, "require-dev": { - "laravel/dusk": "^7.13.0", - "orchestra/testbench": "^8.22.3|^9.0.4", - "pestphp/pest-dev-tools": "^2.16.0" + "laravel/dusk": "^8.2.13|dev-develop", + "orchestra/testbench": "^9.9.0|^10.2.1", + "pestphp/pest-dev-tools": "^3.4.0" }, "type": "library", "extra": { - "laravel": { - "providers": [ - "Pest\\Laravel\\PestServiceProvider" - ] - }, "pest": { "plugins": [ "Pest\\Laravel\\Plugin" ] + }, + "laravel": { + "providers": [ + "Pest\\Laravel\\PestServiceProvider" + ] } }, "autoload": { @@ -11097,7 +11533,7 @@ "unit" ], "support": { - "source": "https://github.com/pestphp/pest-plugin-laravel/tree/v2.4.0" + "source": "https://github.com/pestphp/pest-plugin-laravel/tree/v3.2.0" }, "funding": [ { @@ -11109,7 +11545,79 @@ "type": "github" } ], - "time": "2024-04-27T10:41:54+00:00" + "time": "2025-04-21T07:40:53+00:00" + }, + { + "name": "pestphp/pest-plugin-mutate", + "version": "v3.0.5", + "source": { + "type": "git", + "url": "https://github.com/pestphp/pest-plugin-mutate.git", + "reference": "e10dbdc98c9e2f3890095b4fe2144f63a5717e08" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/pestphp/pest-plugin-mutate/zipball/e10dbdc98c9e2f3890095b4fe2144f63a5717e08", + "reference": "e10dbdc98c9e2f3890095b4fe2144f63a5717e08", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^5.2.0", + "pestphp/pest-plugin": "^3.0.0", + "php": "^8.2", + "psr/simple-cache": "^3.0.0" + }, + "require-dev": { + "pestphp/pest": "^3.0.8", + "pestphp/pest-dev-tools": "^3.0.0", + "pestphp/pest-plugin-type-coverage": "^3.0.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Pest\\Mutate\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Sandro Gehri", + "email": "sandrogehri@gmail.com" + } + ], + "description": "Mutates your code to find untested cases", + "keywords": [ + "framework", + "mutate", + "mutation", + "pest", + "php", + "plugin", + "test", + "testing", + "unit" + ], + "support": { + "source": "https://github.com/pestphp/pest-plugin-mutate/tree/v3.0.5" + }, + "funding": [ + { + "url": "https://www.paypal.com/paypalme/enunomaduro", + "type": "custom" + }, + { + "url": "https://github.com/gehrisandro", + "type": "github" + }, + { + "url": "https://github.com/nunomaduro", + "type": "github" + } + ], + "time": "2024-09-22T07:54:40+00:00" }, { "name": "phpdocumentor/reflection-common", @@ -11166,16 +11674,16 @@ }, { "name": "phpdocumentor/reflection-docblock", - "version": "5.4.1", + "version": "5.6.2", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "9d07b3f7fdcf5efec5d1609cba3c19c5ea2bdc9c" + "reference": "92dde6a5919e34835c506ac8c523ef095a95ed62" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/9d07b3f7fdcf5efec5d1609cba3c19c5ea2bdc9c", - "reference": "9d07b3f7fdcf5efec5d1609cba3c19c5ea2bdc9c", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/92dde6a5919e34835c506ac8c523ef095a95ed62", + "reference": "92dde6a5919e34835c506ac8c523ef095a95ed62", "shasum": "" }, "require": { @@ -11184,17 +11692,17 @@ "php": "^7.4 || ^8.0", "phpdocumentor/reflection-common": "^2.2", "phpdocumentor/type-resolver": "^1.7", - "phpstan/phpdoc-parser": "^1.7", + "phpstan/phpdoc-parser": "^1.7|^2.0", "webmozart/assert": "^1.9.1" }, "require-dev": { - "mockery/mockery": "~1.3.5", + "mockery/mockery": "~1.3.5 || ~1.6.0", "phpstan/extension-installer": "^1.1", "phpstan/phpstan": "^1.8", "phpstan/phpstan-mockery": "^1.1", "phpstan/phpstan-webmozart-assert": "^1.2", "phpunit/phpunit": "^9.5", - "vimeo/psalm": "^5.13" + "psalm/phar": "^5.26" }, "type": "library", "extra": { @@ -11224,29 +11732,29 @@ "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", "support": { "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues", - "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.4.1" + "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.6.2" }, - "time": "2024-05-21T05:55:05+00:00" + "time": "2025-04-13T19:20:35+00:00" }, { "name": "phpdocumentor/type-resolver", - "version": "1.8.2", + "version": "1.10.0", "source": { "type": "git", "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "153ae662783729388a584b4361f2545e4d841e3c" + "reference": "679e3ce485b99e84c775d28e2e96fade9a7fb50a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/153ae662783729388a584b4361f2545e4d841e3c", - "reference": "153ae662783729388a584b4361f2545e4d841e3c", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/679e3ce485b99e84c775d28e2e96fade9a7fb50a", + "reference": "679e3ce485b99e84c775d28e2e96fade9a7fb50a", "shasum": "" }, "require": { "doctrine/deprecations": "^1.0", "php": "^7.3 || ^8.0", "phpdocumentor/reflection-common": "^2.0", - "phpstan/phpdoc-parser": "^1.13" + "phpstan/phpdoc-parser": "^1.18|^2.0" }, "require-dev": { "ext-tokenizer": "*", @@ -11282,36 +11790,36 @@ "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", "support": { "issues": "https://github.com/phpDocumentor/TypeResolver/issues", - "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.8.2" + "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.10.0" }, - "time": "2024-02-23T11:10:43+00:00" + "time": "2024-11-09T15:12:26+00:00" }, { "name": "phpstan/phpdoc-parser", - "version": "1.29.0", + "version": "2.1.0", "source": { "type": "git", "url": "https://github.com/phpstan/phpdoc-parser.git", - "reference": "536889f2b340489d328f5ffb7b02bb6b183ddedc" + "reference": "9b30d6fd026b2c132b3985ce6b23bec09ab3aa68" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/536889f2b340489d328f5ffb7b02bb6b183ddedc", - "reference": "536889f2b340489d328f5ffb7b02bb6b183ddedc", + "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/9b30d6fd026b2c132b3985ce6b23bec09ab3aa68", + "reference": "9b30d6fd026b2c132b3985ce6b23bec09ab3aa68", "shasum": "" }, "require": { - "php": "^7.2 || ^8.0" + "php": "^7.4 || ^8.0" }, "require-dev": { "doctrine/annotations": "^2.0", - "nikic/php-parser": "^4.15", + "nikic/php-parser": "^5.3.0", "php-parallel-lint/php-parallel-lint": "^1.2", "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "^1.5", - "phpstan/phpstan-phpunit": "^1.1", - "phpstan/phpstan-strict-rules": "^1.0", - "phpunit/phpunit": "^9.5", + "phpstan/phpstan": "^2.0", + "phpstan/phpstan-phpunit": "^2.0", + "phpstan/phpstan-strict-rules": "^2.0", + "phpunit/phpunit": "^9.6", "symfony/process": "^5.2" }, "type": "library", @@ -11329,33 +11837,33 @@ "description": "PHPDoc parser with support for nullable, intersection and generic types", "support": { "issues": "https://github.com/phpstan/phpdoc-parser/issues", - "source": "https://github.com/phpstan/phpdoc-parser/tree/1.29.0" + "source": "https://github.com/phpstan/phpdoc-parser/tree/2.1.0" }, - "time": "2024-05-06T12:04:23+00:00" + "time": "2025-02-19T13:28:12+00:00" }, { "name": "spatie/backtrace", - "version": "1.6.1", + "version": "1.7.2", "source": { "type": "git", "url": "https://github.com/spatie/backtrace.git", - "reference": "8373b9d51638292e3bfd736a9c19a654111b4a23" + "reference": "9807de6b8fecfaa5b3d10650985f0348b02862b2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/backtrace/zipball/8373b9d51638292e3bfd736a9c19a654111b4a23", - "reference": "8373b9d51638292e3bfd736a9c19a654111b4a23", + "url": "https://api.github.com/repos/spatie/backtrace/zipball/9807de6b8fecfaa5b3d10650985f0348b02862b2", + "reference": "9807de6b8fecfaa5b3d10650985f0348b02862b2", "shasum": "" }, "require": { - "php": "^7.3|^8.0" + "php": "^7.3 || ^8.0" }, "require-dev": { "ext-json": "*", - "laravel/serializable-closure": "^1.3", - "phpunit/phpunit": "^9.3", - "spatie/phpunit-snapshot-assertions": "^4.2", - "symfony/var-dumper": "^5.1" + "laravel/serializable-closure": "^1.3 || ^2.0", + "phpunit/phpunit": "^9.3 || ^11.4.3", + "spatie/phpunit-snapshot-assertions": "^4.2 || ^5.1.6", + "symfony/var-dumper": "^5.1 || ^6.0 || ^7.0" }, "type": "library", "autoload": { @@ -11382,7 +11890,7 @@ "spatie" ], "support": { - "source": "https://github.com/spatie/backtrace/tree/1.6.1" + "source": "https://github.com/spatie/backtrace/tree/1.7.2" }, "funding": [ { @@ -11394,26 +11902,100 @@ "type": "other" } ], - "time": "2024-04-24T13:22:11+00:00" + "time": "2025-04-28T14:55:53+00:00" }, { - "name": "spatie/flare-client-php", - "version": "1.6.0", + "name": "spatie/error-solutions", + "version": "1.1.3", "source": { "type": "git", - "url": "https://github.com/spatie/flare-client-php.git", - "reference": "220a7c8745e9fa427d54099f47147c4b97fe6462" + "url": "https://github.com/spatie/error-solutions.git", + "reference": "e495d7178ca524f2dd0fe6a1d99a1e608e1c9936" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/flare-client-php/zipball/220a7c8745e9fa427d54099f47147c4b97fe6462", - "reference": "220a7c8745e9fa427d54099f47147c4b97fe6462", + "url": "https://api.github.com/repos/spatie/error-solutions/zipball/e495d7178ca524f2dd0fe6a1d99a1e608e1c9936", + "reference": "e495d7178ca524f2dd0fe6a1d99a1e608e1c9936", "shasum": "" }, "require": { - "illuminate/pipeline": "^8.0|^9.0|^10.0|^11.0", + "php": "^8.0" + }, + "require-dev": { + "illuminate/broadcasting": "^10.0|^11.0|^12.0", + "illuminate/cache": "^10.0|^11.0|^12.0", + "illuminate/support": "^10.0|^11.0|^12.0", + "livewire/livewire": "^2.11|^3.5.20", + "openai-php/client": "^0.10.1", + "orchestra/testbench": "8.22.3|^9.0|^10.0", + "pestphp/pest": "^2.20|^3.0", + "phpstan/phpstan": "^2.1", + "psr/simple-cache": "^3.0", + "psr/simple-cache-implementation": "^3.0", + "spatie/ray": "^1.28", + "symfony/cache": "^5.4|^6.0|^7.0", + "symfony/process": "^5.4|^6.0|^7.0", + "vlucas/phpdotenv": "^5.5" + }, + "suggest": { + "openai-php/client": "Require get solutions from OpenAI", + "simple-cache-implementation": "To cache solutions from OpenAI" + }, + "type": "library", + "autoload": { + "psr-4": { + "Spatie\\Ignition\\": "legacy/ignition", + "Spatie\\ErrorSolutions\\": "src", + "Spatie\\LaravelIgnition\\": "legacy/laravel-ignition" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ruben Van Assche", + "email": "ruben@spatie.be", + "role": "Developer" + } + ], + "description": "This is my package error-solutions", + "homepage": "https://github.com/spatie/error-solutions", + "keywords": [ + "error-solutions", + "spatie" + ], + "support": { + "issues": "https://github.com/spatie/error-solutions/issues", + "source": "https://github.com/spatie/error-solutions/tree/1.1.3" + }, + "funding": [ + { + "url": "https://github.com/Spatie", + "type": "github" + } + ], + "time": "2025-02-14T12:29:50+00:00" + }, + { + "name": "spatie/flare-client-php", + "version": "1.10.1", + "source": { + "type": "git", + "url": "https://github.com/spatie/flare-client-php.git", + "reference": "bf1716eb98bd689451b071548ae9e70738dce62f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/flare-client-php/zipball/bf1716eb98bd689451b071548ae9e70738dce62f", + "reference": "bf1716eb98bd689451b071548ae9e70738dce62f", + "shasum": "" + }, + "require": { + "illuminate/pipeline": "^8.0|^9.0|^10.0|^11.0|^12.0", "php": "^8.0", - "spatie/backtrace": "^1.5.2", + "spatie/backtrace": "^1.6.1", "symfony/http-foundation": "^5.2|^6.0|^7.0", "symfony/mime": "^5.2|^6.0|^7.0", "symfony/process": "^5.2|^6.0|^7.0", @@ -11425,7 +12007,7 @@ "phpstan/extension-installer": "^1.1", "phpstan/phpstan-deprecation-rules": "^1.0", "phpstan/phpstan-phpunit": "^1.0", - "spatie/phpunit-snapshot-assertions": "^4.0|^5.0" + "spatie/pest-plugin-snapshots": "^1.0|^2.0" }, "type": "library", "extra": { @@ -11455,7 +12037,7 @@ ], "support": { "issues": "https://github.com/spatie/flare-client-php/issues", - "source": "https://github.com/spatie/flare-client-php/tree/1.6.0" + "source": "https://github.com/spatie/flare-client-php/tree/1.10.1" }, "funding": [ { @@ -11463,33 +12045,33 @@ "type": "github" } ], - "time": "2024-05-22T09:45:39+00:00" + "time": "2025-02-14T13:42:06+00:00" }, { "name": "spatie/ignition", - "version": "1.14.2", + "version": "1.15.1", "source": { "type": "git", "url": "https://github.com/spatie/ignition.git", - "reference": "5e11c11f675bb5251f061491a493e04a1a571532" + "reference": "31f314153020aee5af3537e507fef892ffbf8c85" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/ignition/zipball/5e11c11f675bb5251f061491a493e04a1a571532", - "reference": "5e11c11f675bb5251f061491a493e04a1a571532", + "url": "https://api.github.com/repos/spatie/ignition/zipball/31f314153020aee5af3537e507fef892ffbf8c85", + "reference": "31f314153020aee5af3537e507fef892ffbf8c85", "shasum": "" }, "require": { "ext-json": "*", "ext-mbstring": "*", "php": "^8.0", - "spatie/backtrace": "^1.5.3", - "spatie/flare-client-php": "^1.4.0", + "spatie/error-solutions": "^1.0", + "spatie/flare-client-php": "^1.7", "symfony/console": "^5.4|^6.0|^7.0", "symfony/var-dumper": "^5.4|^6.0|^7.0" }, "require-dev": { - "illuminate/cache": "^9.52|^10.0|^11.0", + "illuminate/cache": "^9.52|^10.0|^11.0|^12.0", "mockery/mockery": "^1.4", "pestphp/pest": "^1.20|^2.0", "phpstan/extension-installer": "^1.1", @@ -11546,42 +12128,41 @@ "type": "github" } ], - "time": "2024-05-29T08:10:20+00:00" + "time": "2025-02-21T14:31:39+00:00" }, { "name": "spatie/laravel-ignition", - "version": "2.7.0", + "version": "2.9.1", "source": { "type": "git", "url": "https://github.com/spatie/laravel-ignition.git", - "reference": "f52124d50122611e8a40f628cef5c19ff6cc5b57" + "reference": "1baee07216d6748ebd3a65ba97381b051838707a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-ignition/zipball/f52124d50122611e8a40f628cef5c19ff6cc5b57", - "reference": "f52124d50122611e8a40f628cef5c19ff6cc5b57", + "url": "https://api.github.com/repos/spatie/laravel-ignition/zipball/1baee07216d6748ebd3a65ba97381b051838707a", + "reference": "1baee07216d6748ebd3a65ba97381b051838707a", "shasum": "" }, "require": { "ext-curl": "*", "ext-json": "*", "ext-mbstring": "*", - "illuminate/support": "^10.0|^11.0", + "illuminate/support": "^10.0|^11.0|^12.0", "php": "^8.1", - "spatie/flare-client-php": "^1.5", - "spatie/ignition": "^1.14", + "spatie/ignition": "^1.15", "symfony/console": "^6.2.3|^7.0", "symfony/var-dumper": "^6.2.3|^7.0" }, "require-dev": { "livewire/livewire": "^2.11|^3.3.5", "mockery/mockery": "^1.5.1", - "openai-php/client": "^0.8.1", - "orchestra/testbench": "8.22.3|^9.0", - "pestphp/pest": "^2.34", + "openai-php/client": "^0.8.1|^0.10", + "orchestra/testbench": "8.22.3|^9.0|^10.0", + "pestphp/pest": "^2.34|^3.7", "phpstan/extension-installer": "^1.3.1", - "phpstan/phpstan-deprecation-rules": "^1.1.1", - "phpstan/phpstan-phpunit": "^1.3.16", + "phpstan/phpstan-deprecation-rules": "^1.1.1|^2.0", + "phpstan/phpstan-phpunit": "^1.3.16|^2.0", "vlucas/phpdotenv": "^5.5" }, "suggest": { @@ -11591,12 +12172,12 @@ "type": "library", "extra": { "laravel": { - "providers": [ - "Spatie\\LaravelIgnition\\IgnitionServiceProvider" - ], "aliases": { "Flare": "Spatie\\LaravelIgnition\\Facades\\Flare" - } + }, + "providers": [ + "Spatie\\LaravelIgnition\\IgnitionServiceProvider" + ] } }, "autoload": { @@ -11638,24 +12219,25 @@ "type": "github" } ], - "time": "2024-05-02T13:42:49+00:00" + "time": "2025-02-20T13:13:55+00:00" }, { "name": "symfony/yaml", - "version": "v7.0.7", + "version": "v7.2.6", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "0d3916ae69ea28b59d94b60c4f2b50f4e25adb5c" + "reference": "0feafffb843860624ddfd13478f481f4c3cd8b23" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/0d3916ae69ea28b59d94b60c4f2b50f4e25adb5c", - "reference": "0d3916ae69ea28b59d94b60c4f2b50f4e25adb5c", + "url": "https://api.github.com/repos/symfony/yaml/zipball/0feafffb843860624ddfd13478f481f4c3cd8b23", + "reference": "0feafffb843860624ddfd13478f481f4c3cd8b23", "shasum": "" }, "require": { "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3.0", "symfony/polyfill-ctype": "^1.8" }, "conflict": { @@ -11693,7 +12275,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v7.0.7" + "source": "https://github.com/symfony/yaml/tree/v7.2.6" }, "funding": [ { @@ -11709,27 +12291,27 @@ "type": "tidelift" } ], - "time": "2024-04-28T11:44:19+00:00" + "time": "2025-04-04T10:10:11+00:00" }, { "name": "ta-tikoma/phpunit-architecture-test", - "version": "0.8.4", + "version": "0.8.5", "source": { "type": "git", "url": "https://github.com/ta-tikoma/phpunit-architecture-test.git", - "reference": "89f0dea1cb0f0d5744d3ec1764a286af5e006636" + "reference": "cf6fb197b676ba716837c886baca842e4db29005" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ta-tikoma/phpunit-architecture-test/zipball/89f0dea1cb0f0d5744d3ec1764a286af5e006636", - "reference": "89f0dea1cb0f0d5744d3ec1764a286af5e006636", + "url": "https://api.github.com/repos/ta-tikoma/phpunit-architecture-test/zipball/cf6fb197b676ba716837c886baca842e4db29005", + "reference": "cf6fb197b676ba716837c886baca842e4db29005", "shasum": "" }, "require": { "nikic/php-parser": "^4.18.0 || ^5.0.0", "php": "^8.1.0", "phpdocumentor/reflection-docblock": "^5.3.0", - "phpunit/phpunit": "^10.5.5 || ^11.0.0", + "phpunit/phpunit": "^10.5.5 || ^11.0.0 || ^12.0.0", "symfony/finder": "^6.4.0 || ^7.0.0" }, "require-dev": { @@ -11766,20 +12348,19 @@ ], "support": { "issues": "https://github.com/ta-tikoma/phpunit-architecture-test/issues", - "source": "https://github.com/ta-tikoma/phpunit-architecture-test/tree/0.8.4" + "source": "https://github.com/ta-tikoma/phpunit-architecture-test/tree/0.8.5" }, - "time": "2024-01-05T14:10:56+00:00" + "time": "2025-04-20T20:23:40+00:00" } ], "aliases": [], - "minimum-stability": "dev", - "stability-flags": [], + "minimum-stability": "stable", + "stability-flags": {}, "prefer-stable": true, "prefer-lowest": false, "platform": { - "php": "^8.2", - "ext-json": "*" + "php": "^8.2" }, - "platform-dev": [], - "plugin-api-version": "2.2.0" + "platform-dev": {}, + "plugin-api-version": "2.6.0" } diff --git a/config/backup.php b/config/backup.php index 1ff51ad4..e04e7ad2 100644 --- a/config/backup.php +++ b/config/backup.php @@ -3,7 +3,6 @@ return [ 'backup' => [ - /* * The name of this application. You can use this name to monitor * the backups. @@ -11,9 +10,7 @@ return [ 'name' => env('APP_NAME', 'laravel-backup'), 'source' => [ - 'files' => [ - /* * The list of directories and files that will be included in the backup. */ @@ -29,7 +26,6 @@ return [ 'exclude' => [ base_path('vendor'), base_path('node_modules'), - base_path('.git'), ], /* @@ -41,6 +37,13 @@ return [ * Determines if it should avoid unreadable folders. */ 'ignore_unreadable_directories' => false, + + /* + * This path is used to make directories in resulting zip-file relative + * Set to `null` to include complete absolute path + * Example: base_path() + */ + 'relative_path' => null, ], /* @@ -79,7 +82,7 @@ return [ ], /* - * The database dump can be compressed to decrease diskspace usage. + * The database dump can be compressed to decrease disk space usage. * * Out of the box Laravel-backup supplies * Spatie\DbDumper\Compressors\GzipCompressor::class. @@ -91,7 +94,53 @@ return [ */ 'database_dump_compressor' => null, + /* + * If specified, the database dumped file name will contain a timestamp (e.g.: 'Y-m-d-H-i-s'). + */ + 'database_dump_file_timestamp_format' => null, + + /* + * The base of the dump filename, either 'database' or 'connection' + * + * If 'database' (default), the dumped filename will contain the database name. + * If 'connection', the dumped filename will contain the connection name. + */ + 'database_dump_filename_base' => 'database', + + /* + * The file extension used for the database dump files. + * + * If not specified, the file extension will be .archive for MongoDB and .sql for all other databases + * The file extension should be specified without a leading . + */ + 'database_dump_file_extension' => '', + 'destination' => [ + /* + * The compression algorithm to be used for creating the zip archive. + * + * If backing up only database, you may choose gzip compression for db dump and no compression at zip. + * + * Some common algorithms are listed below: + * ZipArchive::CM_STORE (no compression at all; set 0 as compression level) + * ZipArchive::CM_DEFAULT + * ZipArchive::CM_DEFLATE + * ZipArchive::CM_BZIP2 + * ZipArchive::CM_XZ + * + * For more check https://www.php.net/manual/zip.constants.php and confirm it's supported by your system. + */ + 'compression_method' => ZipArchive::CM_DEFAULT, + + /* + * The compression level corresponding to the used algorithm; an integer between 0 and 9. + * + * Check supported levels for the chosen algorithm, usually 1 means the fastest and weakest compression, + * while 9 the slowest and strongest one. + * + * Setting of 0 for some algorithms may switch to the strongest compression. + */ + 'compression_level' => 9, /* * The filename prefix used for the backup zip file. @@ -110,24 +159,49 @@ return [ * The directory where the temporary files will be stored. */ 'temporary_directory' => storage_path('app/backup-temp'), + + /* + * The password to be used for archive encryption. + * Set to `null` to disable encryption. + */ + 'password' => env('BACKUP_ARCHIVE_PASSWORD'), + + /* + * The encryption algorithm to be used for archive encryption. + * You can set it to `null` or `false` to disable encryption. + * + * When set to 'default', we'll use ZipArchive::EM_AES_256 if it is + * available on your system. + */ + 'encryption' => 'default', + + /* + * The number of attempts, in case the backup command encounters an exception + */ + 'tries' => 1, + + /* + * The number of seconds to wait before attempting a new backup if the previous try failed + * Set to `0` for none + */ + 'retry_delay' => 0, ], /* * You can get notified when specific events occur. Out of the box you can use 'mail' and 'slack'. - * For Slack you need to install guzzlehttp/guzzle and laravel/slack-notification-channel. + * For Slack you need to install laravel/slack-notification-channel. * * You can also use your own notification classes, just make sure the class is named after one of - * the `Spatie\Backup\Events` classes. + * the `Spatie\Backup\Notifications\Notifications` classes. */ 'notifications' => [ - 'notifications' => [ - \Spatie\Backup\Notifications\Notifications\BackupHasFailed::class => [], - \Spatie\Backup\Notifications\Notifications\UnhealthyBackupWasFound::class => [], - \Spatie\Backup\Notifications\Notifications\CleanupHasFailed::class => [], - \Spatie\Backup\Notifications\Notifications\BackupWasSuccessful::class => [], - \Spatie\Backup\Notifications\Notifications\HealthyBackupWasFound::class => [], - \Spatie\Backup\Notifications\Notifications\CleanupWasSuccessful::class => [], + \Spatie\Backup\Notifications\Notifications\BackupHasFailedNotification::class => ['mail'], + \Spatie\Backup\Notifications\Notifications\UnhealthyBackupWasFoundNotification::class => ['mail'], + \Spatie\Backup\Notifications\Notifications\CleanupHasFailedNotification::class => ['mail'], + \Spatie\Backup\Notifications\Notifications\BackupWasSuccessfulNotification::class => ['mail'], + \Spatie\Backup\Notifications\Notifications\HealthyBackupWasFoundNotification::class => ['mail'], + \Spatie\Backup\Notifications\Notifications\CleanupWasSuccessfulNotification::class => ['mail'], ], /* @@ -156,7 +230,20 @@ return [ 'username' => null, 'icon' => null, + ], + 'discord' => [ + 'webhook_url' => '', + + /* + * If this is an empty string, the name field on the webhook will be used. + */ + 'username' => '', + + /* + * If this is an empty string, the avatar on the webhook will be used. + */ + 'avatar_url' => '', ], ], @@ -200,42 +287,55 @@ return [ 'strategy' => \Spatie\Backup\Tasks\Cleanup\Strategies\DefaultStrategy::class, 'default_strategy' => [ - /* * The number of days for which backups must be kept. */ 'keep_all_backups_for_days' => 7, /* - * The number of days for which daily backups must be kept. + * After the "keep_all_backups_for_days" period is over, the most recent backup + * of that day will be kept. Older backups within the same day will be removed. + * If you create backups only once a day, no backups will be removed yet. */ 'keep_daily_backups_for_days' => 16, /* - * The number of weeks for which one weekly backup must be kept. + * After the "keep_daily_backups_for_days" period is over, the most recent backup + * of that week will be kept. Older backups within the same week will be removed. + * If you create backups only once a week, no backups will be removed yet. */ 'keep_weekly_backups_for_weeks' => 8, /* - * The number of months for which one monthly backup must be kept. + * After the "keep_weekly_backups_for_weeks" period is over, the most recent backup + * of that month will be kept. Older backups within the same month will be removed. */ 'keep_monthly_backups_for_months' => 4, /* - * The number of years for which one yearly backup must be kept. + * After the "keep_monthly_backups_for_months" period is over, the most recent backup + * of that year will be kept. Older backups within the same year will be removed. */ 'keep_yearly_backups_for_years' => 2, /* * After cleaning up the backups remove the oldest backup until * this amount of megabytes has been reached. + * Set null for unlimited size. */ 'delete_oldest_backups_when_using_more_megabytes_than' => 5000, ], - ], - 'queue' => [ - 'name' => env('BACKUP_QUEUE_NAME', 'backup'), + /* + * The number of attempts, in case the cleanup command encounters an exception + */ + 'tries' => 1, + + /* + * The number of seconds to wait before attempting a new cleanup if the previous try failed + * Set to `0` for none + */ + 'retry_delay' => 0, ], ]; diff --git a/config/dompdf.php b/config/dompdf.php index 5a9b8390..8be2d1f4 100644 --- a/config/dompdf.php +++ b/config/dompdf.php @@ -119,7 +119,7 @@ return [ * If pdflib present in web server and auto or selected explicitly above, * a real license code must exist! */ - //"DOMPDF_PDFLIB_LICENSE" => "your license key here", + // "DOMPDF_PDFLIB_LICENSE" => "your license key here", /** * html target media view which should be rendered into pdf. diff --git a/config/filesystems.php b/config/filesystems.php index 2ffeec09..a2be6bb0 100644 --- a/config/filesystems.php +++ b/config/filesystems.php @@ -55,6 +55,18 @@ return [ 'driver' => 'local', 'root' => resource_path('views'), ], + + 'pdf_templates' => [ + 'driver' => 'local', + 'root' => storage_path('app/templates/pdf'), + ], + + 'local' => [ + 'driver' => 'local', + 'root' => storage_path('app'), + 'throw' => false, + 'report' => false, + ], ], ]; diff --git a/config/invoiceshelf.php b/config/invoiceshelf.php index 8fb57f1c..f831083a 100644 --- a/config/invoiceshelf.php +++ b/config/invoiceshelf.php @@ -131,7 +131,7 @@ return [ 'group' => '', 'name' => 'Company information', 'link' => '/admin/settings/company-info', - 'icon' => 'OfficeBuildingIcon', + 'icon' => 'BuildingOfficeIcon', 'owner_only' => true, 'ability' => '', 'model' => '', @@ -151,7 +151,17 @@ return [ 'group' => '', 'name' => 'Customization', 'link' => '/admin/settings/customization', - 'icon' => 'PencilAltIcon', + 'icon' => 'PencilSquareIcon', + 'owner_only' => true, + 'ability' => '', + 'model' => '', + ], + [ + 'title' => 'settings.menu_title.pdf_generation', + 'group' => '', + 'name' => 'PDF Generation', + 'link' => '/admin/settings/pdf-generation', + 'icon' => 'DocumentIcon', 'owner_only' => true, 'ability' => '', 'model' => '', @@ -171,7 +181,7 @@ return [ 'group' => '', 'name' => 'Exchange Rate Provider', 'link' => '/admin/settings/exchange-rate-provider', - 'icon' => 'CashIcon', + 'icon' => 'BanknotesIcon', 'owner_only' => false, 'ability' => 'view-exchange-rate-provider', 'model' => ExchangeRateProvider::class, @@ -221,7 +231,7 @@ return [ 'group' => '', 'name' => 'Notes', 'link' => '/admin/settings/notes', - 'icon' => 'ClipboardCheckIcon', + 'icon' => 'ClipboardDocumentCheckIcon', 'owner_only' => false, 'ability' => 'view-all-notes', 'model' => Note::class, @@ -231,7 +241,7 @@ return [ 'group' => '', 'name' => 'Expense Category', 'link' => '/admin/settings/expense-category', - 'icon' => 'ClipboardListIcon', + 'icon' => 'ClipboardDocumentListIcon', 'owner_only' => false, 'ability' => 'view-expense', 'model' => Expense::class, @@ -241,7 +251,7 @@ return [ 'group' => '', 'name' => 'Mail Configuration', 'link' => '/admin/settings/mail-configuration', - 'icon' => 'MailIcon', + 'icon' => 'EnvelopeIcon', 'owner_only' => true, 'ability' => '', 'model' => '', @@ -261,7 +271,7 @@ return [ 'group' => '', 'name' => 'Backup', 'link' => '/admin/settings/backup', - 'icon' => 'DatabaseIcon', + 'icon' => 'CircleStackIcon', 'owner_only' => true, 'ability' => '', 'model' => '', @@ -271,7 +281,7 @@ return [ 'group' => '', 'name' => 'Update App', 'link' => '/admin/settings/update-app', - 'icon' => 'RefreshIcon', + 'icon' => 'ArrowPathIcon', 'owner_only' => true, 'ability' => '', 'model' => '', @@ -366,7 +376,7 @@ return [ 'title' => 'navigation.modules', 'group' => 3, 'link' => '/admin/modules', - 'icon' => 'PuzzleIcon', + 'icon' => 'PuzzlePieceIcon', 'name' => 'Modules', 'owner_only' => true, 'ability' => '', diff --git a/config/media-library.php b/config/media-library.php index af60e00e..e22424b5 100644 --- a/config/media-library.php +++ b/config/media-library.php @@ -136,7 +136,7 @@ return [ '-m 6', // for the slowest compression method in order to get the best compression. '-pass 10', // for maximizing the amount of analysis pass. '-mt', // multithreading for some speed improvements. - '-q 90', //quality factor that brings the least noticeable changes. + '-q 90', // quality factor that brings the least noticeable changes. ], Spatie\ImageOptimizer\Optimizers\Avifenc::class => [ '-a cq-level=23', // constant quality level, lower values mean better quality and greater file size (0-63). diff --git a/config/pdf.php b/config/pdf.php new file mode 100644 index 00000000..b9265d73 --- /dev/null +++ b/config/pdf.php @@ -0,0 +1,14 @@ + env('PDF_DRIVER', 'gotenberg'), + + 'gotenberg' => [ + 'host' => env('GOTENBERG_HOST', 'http://pdf:3000'), + 'papersize' => env('GOTENBERG_PAPERSIZE', '210mm 297mm'), + ], + + 'dompdf' => [], + +]; diff --git a/config/services.php b/config/services.php index 3fa966dd..9b00f7bf 100644 --- a/config/services.php +++ b/config/services.php @@ -48,4 +48,10 @@ return [ 'auth_token' => env('CRON_JOB_AUTH_TOKEN', 0), ], + 'ses' => [ + 'key' => env('SES_KEY'), + 'secret' => env('SES_SECRET'), + 'region' => env('SES_REGION', 'us-east-1'), + ], + ]; diff --git a/database/factories/EstimateFactory.php b/database/factories/EstimateFactory.php index 1cf84e70..ddcdb2ed 100644 --- a/database/factories/EstimateFactory.php +++ b/database/factories/EstimateFactory.php @@ -68,8 +68,8 @@ class EstimateFactory extends Factory */ public function definition(): array { - $sequenceNumber = (new SerialNumberFormatter()) - ->setModel(new Estimate()) + $sequenceNumber = (new SerialNumberFormatter) + ->setModel(new Estimate) ->setCompany(User::find(1)->companies()->first()->id) ->setNextNumbers(); diff --git a/database/factories/InvoiceFactory.php b/database/factories/InvoiceFactory.php index ac8fe416..485e627e 100644 --- a/database/factories/InvoiceFactory.php +++ b/database/factories/InvoiceFactory.php @@ -78,8 +78,8 @@ class InvoiceFactory extends Factory */ public function definition(): array { - $sequenceNumber = (new SerialNumberFormatter()) - ->setModel(new Invoice()) + $sequenceNumber = (new SerialNumberFormatter) + ->setModel(new Invoice) ->setCompany(User::find(1)->companies()->first()->id) ->setNextNumbers(); diff --git a/database/factories/NoteFactory.php b/database/factories/NoteFactory.php index 8a557781..3637faae 100644 --- a/database/factories/NoteFactory.php +++ b/database/factories/NoteFactory.php @@ -25,6 +25,7 @@ class NoteFactory extends Factory 'name' => $this->faker->word(), 'notes' => $this->faker->text(), 'company_id' => User::find(1)->companies()->first()->id, + 'is_default' => $this->faker->boolean(), ]; } } diff --git a/database/factories/PaymentFactory.php b/database/factories/PaymentFactory.php index d2a9744c..f1f4b62f 100644 --- a/database/factories/PaymentFactory.php +++ b/database/factories/PaymentFactory.php @@ -24,8 +24,8 @@ class PaymentFactory extends Factory */ public function definition(): array { - $sequenceNumber = (new SerialNumberFormatter()) - ->setModel(new Payment()) + $sequenceNumber = (new SerialNumberFormatter) + ->setModel(new Payment) ->setCompany(User::find(1)->companies()->first()->id) ->setNextNumbers(); diff --git a/database/factories/TaxTypeFactory.php b/database/factories/TaxTypeFactory.php index 7af2321b..895e0fdb 100644 --- a/database/factories/TaxTypeFactory.php +++ b/database/factories/TaxTypeFactory.php @@ -22,8 +22,10 @@ class TaxTypeFactory extends Factory { return [ 'name' => $this->faker->word(), + 'calculation_type' => 'percentage', 'company_id' => User::find(1)->companies()->first()->id, 'percent' => $this->faker->numberBetween($min = 0, $max = 100), + 'fixed_amount' => null, 'description' => $this->faker->text(), 'compound_tax' => 0, 'collective_tax' => 0, diff --git a/database/migrations/2020_05_12_154129_add_user_id_to_expenses_table.php b/database/migrations/2020_05_12_154129_add_user_id_to_expenses_table.php index b91a4bc7..a947b73b 100644 --- a/database/migrations/2020_05_12_154129_add_user_id_to_expenses_table.php +++ b/database/migrations/2020_05_12_154129_add_user_id_to_expenses_table.php @@ -24,7 +24,5 @@ class AddUserIdToExpensesTable extends Migration * * @return void */ - public function down() - { - } + public function down() {} } diff --git a/database/migrations/2024_01_28_114715_add_generated_conversions_to_media_table.php b/database/migrations/2024_01_28_114715_add_generated_conversions_to_media_table.php index 7bf18509..38ca8502 100644 --- a/database/migrations/2024_01_28_114715_add_generated_conversions_to_media_table.php +++ b/database/migrations/2024_01_28_114715_add_generated_conversions_to_media_table.php @@ -4,7 +4,7 @@ use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class() extends Migration +return new class extends Migration { /** * Run the migrations. diff --git a/database/migrations/2024_12_11_102055_update_taxes_to_handle_fixed_amount.php b/database/migrations/2024_12_11_102055_update_taxes_to_handle_fixed_amount.php new file mode 100644 index 00000000..961b46b4 --- /dev/null +++ b/database/migrations/2024_12_11_102055_update_taxes_to_handle_fixed_amount.php @@ -0,0 +1,36 @@ +enum('calculation_type', ['percentage', 'fixed'])->default('percentage')->after('name'); + $table->integer('fixed_amount')->nullable()->after('percent'); + $table->decimal('percent', 5, 2)->nullable()->change(); + }); + + Schema::table('taxes', function (Blueprint $table) { + $table->enum('calculation_type', ['percentage', 'fixed'])->default('percentage')->after('name'); + $table->integer('fixed_amount')->nullable()->after('percent'); + $table->decimal('percent', 5, 2)->nullable()->change(); + }); + } + + public function down() + { + Schema::table('tax_types', function (Blueprint $table) { + $table->dropColumn(['calculation_type', 'fixed_amount']); + $table->decimal('percent', 5, 2)->change(); + }); + + Schema::table('taxes', function (Blueprint $table) { + $table->dropColumn(['calculation_type', 'fixed_amount']); + $table->decimal('percent', 5, 2)->change(); + }); + } +}; diff --git a/database/migrations/2025_01_05_211404_add_is_default_to_notes_table.php b/database/migrations/2025_01_05_211404_add_is_default_to_notes_table.php new file mode 100644 index 00000000..5c0201f8 --- /dev/null +++ b/database/migrations/2025_01_05_211404_add_is_default_to_notes_table.php @@ -0,0 +1,28 @@ +boolean('is_default')->default(false); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('notes', function (Blueprint $table) { + $table->dropColumn('is_default'); + }); + } +}; diff --git a/database/migrations/2025_03_15_160016_allow_unsigned_item_price.php b/database/migrations/2025_03_15_160016_allow_unsigned_item_price.php new file mode 100644 index 00000000..941b20a7 --- /dev/null +++ b/database/migrations/2025_03_15_160016_allow_unsigned_item_price.php @@ -0,0 +1,28 @@ +bigInteger('price')->change(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('invoice_items', function (Blueprint $table) { + $table->unsignedBigInteger('price')->change(); + }); + } +}; diff --git a/lang/ar.json b/lang/ar.json index 2773b027..16c3f095 100644 --- a/lang/ar.json +++ b/lang/ar.json @@ -39,7 +39,7 @@ "body": "الجسم", "message": "رسالة", "send": "إرسال", - "preview": "Preview", + "preview": "عرض", "go_back": "إلى الخلف", "back_to_login": "العودة إلى تسجيل الدخول؟", "home": "الرئيسية", @@ -65,7 +65,7 @@ "sent": "ارسلت", "all": "الكل", "select_all": "تحديد الكل", - "select_template": "Select Template", + "select_template": "اختر قالب", "choose_file": "اضغط هنا لاختيار ملف", "choose_template": "اختيار القالب", "choose": "اختر", @@ -95,7 +95,7 @@ "copied_pdf_url_clipboard": "تم نسخ رابط PDF إلى الحافظة!", "copied_url_clipboard": "Copied url to clipboard!", "docs": "Docs", - "do_you_wish_to_continue": "Do you wish to continue?", + "do_you_wish_to_continue": "هل ترغب في الاستمرار؟", "note": "ملاحظة", "pay_invoice": "دفع الفاتورة", "login_successfully": "تم تسجيل الدخول بنجاح!", @@ -852,7 +852,8 @@ "payment_modes": "طرق الدفع", "notes": "ملاحظات", "exchange_rate": "Exchange Rate", - "address_information": "Address Information" + "address_information": "Address Information", + "pdf_generation": "PDF Generation" }, "address_information": { "section_description": " You can update Your Address information using form below." @@ -893,6 +894,7 @@ "mailgun_endpoint": "النهاية الطرفية لـ Mailgun", "ses_secret": "SES الرمز السري", "ses_key": "SES مفتاح", + "ses_region": "AWS Region", "password": "كلمة مرور البريد الالكتروني", "username": "اسم المستخدم للبريد الإلكتروني", "mail_config": "إعدادات البريد الالكتروني", @@ -904,7 +906,15 @@ "pdf": { "title": "PDF إعدادات", "footer_text": "نص التذييل", - "pdf_layout": "اتجاه صفحة PDF" + "pdf_layout": "اتجاه صفحة PDF", + "pdf_configuration": "PDF Generation Settings", + "section_description": "Change the way PDFs are generated", + "driver": "PDF Driver to use", + "papersize": "Papersize", + "papersize_hint": "Papersize in width and height (ex. \"210mm 297mm\")", + "gotenberg_host": "Gotenberg service host", + "pdf_variables_save_successfully": "PDF configuration saved successfully", + "pdf_variables_save_error": "PDF configuration could not be saved" }, "company_info": { "company_info": "معلومات الشركة", @@ -1087,6 +1097,8 @@ "description": "توفير الوقت عن طريق إنشاء الملاحظات وإعادة استخدامها على الفواتير والتقديرات والمدفوعات.", "notes": "ملاحظات", "type": "نوع", + "is_default": "Select by default", + "is_default_description": "This note will be selected by default in new invoices.", "add_note": "اضف ملاحظة", "add_new_note": "أضف ملاحظة جديدة", "name": "اسم", @@ -1236,7 +1248,7 @@ "time_zone": "المنطة الزمنية", "fiscal_year": "السنة المالية", "date_format": "صيغة التاريخ", - "time_format": "Time Fromat", + "time_format": "Time Format", "discount_setting": "إعدادات الخصم", "discount_per_item": "خصم على الصنف ", "discount_setting_description": "قم بتمكين هذا إذا كنت تريد إضافة خصم إلى عناصر الفاتورة الفردية. بشكل افتراضي ، يتم إضافة الخصم مباشرة إلى الفاتورة.", @@ -1588,7 +1600,7 @@ "pdf_invoice_label": "الفاتورة", "pdf_invoice_number": "رقم الفاتورة", "pdf_invoice_date": "تاريخ الفاتورة", - "pdf_invoice_due_date": "تاريخ الاستحقاق", + "pdf_invoice_due_date": "Due Date", "pdf_notes": "ملاحظات", "pdf_items_label": "الأصناف", "pdf_quantity_label": "الكمية", diff --git a/lang/bg.json b/lang/bg.json index 8c1e7e28..92445c8d 100644 --- a/lang/bg.json +++ b/lang/bg.json @@ -852,7 +852,8 @@ "payment_modes": "Payment Modes", "notes": "Notes", "exchange_rate": "Exchange Rate", - "address_information": "Address Information" + "address_information": "Address Information", + "pdf_generation": "PDF Generation" }, "address_information": { "section_description": " You can update Your Address information using form below." @@ -893,6 +894,7 @@ "mailgun_endpoint": "Mailgun Endpoint", "ses_secret": "SES Secret", "ses_key": "SES Key", + "ses_region": "AWS Region", "password": "Mail Password", "username": "Mail Username", "mail_config": "Mail Configuration", @@ -904,7 +906,15 @@ "pdf": { "title": "PDF Setting", "footer_text": "Footer Text", - "pdf_layout": "PDF Layout" + "pdf_layout": "PDF Layout", + "pdf_configuration": "PDF Generation Settings", + "section_description": "Change the way PDFs are generated", + "driver": "PDF Driver to use", + "papersize": "Papersize", + "papersize_hint": "Papersize in width and height (ex. \"210mm 297mm\")", + "gotenberg_host": "Gotenberg service host", + "pdf_variables_save_successfully": "PDF configuration saved successfully", + "pdf_variables_save_error": "PDF configuration could not be saved" }, "company_info": { "company_info": "Company info", @@ -1087,6 +1097,8 @@ "description": "Save time by creating notes and reusing them on your invoices, estimates & payments.", "notes": "Notes", "type": "Type", + "is_default": "Select by default", + "is_default_description": "This note will be selected by default in new invoices.", "add_note": "Add Note", "add_new_note": "Add New Note", "name": "Name", @@ -1236,7 +1248,7 @@ "time_zone": "Time Zone", "fiscal_year": "Financial Year", "date_format": "Date Format", - "time_format": "Time Fromat", + "time_format": "Time Format", "discount_setting": "Discount Setting", "discount_per_item": "Discount Per Item ", "discount_setting_description": "Enable this if you want to add Discount to individual invoice items. By default, Discount is added directly to the invoice.", @@ -1588,7 +1600,7 @@ "pdf_invoice_label": "Invoice", "pdf_invoice_number": "Invoice Number", "pdf_invoice_date": "Invoice Date", - "pdf_invoice_due_date": "Due date", + "pdf_invoice_due_date": "Due Date", "pdf_notes": "Notes", "pdf_items_label": "Items", "pdf_quantity_label": "Quantity", diff --git a/lang/cs.json b/lang/cs.json index 8a8ae3b0..23ea41c1 100644 --- a/lang/cs.json +++ b/lang/cs.json @@ -29,7 +29,7 @@ "to_date": "Do data", "from": "Od", "to": "Do", - "ok": "OK", + "ok": "Ok", "yes": "Ano", "no": "Ne", "sort_by": "Seřadit podle", @@ -852,7 +852,8 @@ "payment_modes": "Způsoby plateb", "notes": "Poznámky", "exchange_rate": "Směnný kurz", - "address_information": "Adresa" + "address_information": "Adresa", + "pdf_generation": "PDF Generation" }, "address_information": { "section_description": " Adresu můžete aktualizovat pomocí formuláře níže." @@ -864,7 +865,7 @@ "primary_currency": "Primární měna", "timezone": "Časová zóna", "date_format": "Formát data", - "time_format": "Time Format", + "time_format": "Formát času", "currencies": { "title": "Měny", "currency": "Měna | Měny", @@ -893,6 +894,7 @@ "mailgun_endpoint": "Mailgun Endpoint", "ses_secret": "SES tajný klíč (secret)", "ses_key": "Klíč SES", + "ses_region": "AWS Region", "password": "E-mailové heslo", "username": "Uživatelské jméno pro e-mail", "mail_config": "Konfigurace e-mailu", @@ -904,7 +906,15 @@ "pdf": { "title": "Nastavení PDF", "footer_text": "Text zápatí", - "pdf_layout": "Rozvržení PDF" + "pdf_layout": "Rozvržení PDF", + "pdf_configuration": "PDF Generation Settings", + "section_description": "Change the way PDFs are generated", + "driver": "PDF Driver to use", + "papersize": "Papersize", + "papersize_hint": "Papersize in width and height (ex. \"210mm 297mm\")", + "gotenberg_host": "Gotenberg service host", + "pdf_variables_save_successfully": "PDF configuration saved successfully", + "pdf_variables_save_error": "PDF configuration could not be saved" }, "company_info": { "company_info": "Údaje o společnosti", @@ -991,7 +1001,7 @@ "delimiter_description": "Jeden znak pro určení hranice mezi 2 samostatnými komponentami. Ve výchozím nastavení je nastaveno na -", "delimiter_param_label": "Hodnota oddělovače", "date_format": "Formát data", - "time_format": "Time Format", + "time_format": "Formát času", "date_format_description": "Pole pro formát místní data a času. Výchozí formát: 'Y' vykresluje aktuální rok.", "date_format_param_label": "Formát", "sequence": "Sekvence", @@ -1087,6 +1097,8 @@ "description": "Ušetřete čas vytvořením poznámek a jejich opětovným použitím na fakturách, odhadech a platbách.", "notes": "Poznámky", "type": "Typ", + "is_default": "Select by default", + "is_default_description": "This note will be selected by default in new invoices.", "add_note": "Přidat poznámku", "add_new_note": "Přidat novou poznámku", "name": "Jméno", @@ -1236,7 +1248,7 @@ "time_zone": "Časové pásmo", "fiscal_year": "Fiskální rok", "date_format": "Formát data", - "time_format": "Time Fromat", + "time_format": "Time Format", "discount_setting": "Nastavení slev", "discount_per_item": "Sleva za položku ", "discount_setting_description": "Povolte tuto možnost, pokud chcete přidat slevu do jednotlivých položek faktury. Ve výchozím nastavení je sleva přidána přímo na fakturu.", @@ -1249,7 +1261,7 @@ "select_language": "Vyberte jazyk", "select_time_zone": "Vyberte časové pásmo", "select_date_format": "Vyberte formát data", - "select_time_format": "Select Time Format", + "select_time_format": "Vyberte formát času", "select_financial_year": "Vyberte fiskální rok", "recurring_invoice_status": "Stav opakující se faktury", "create_status": "Vytvořit stav", @@ -1258,8 +1270,8 @@ "update_status": "Upravit stav", "completed": "Dokončeno", "company_currency_unchangeable": "Měnu společnosti nelze měnit", - "invoice_use_time": "Use time in invoices", - "invoice_use_time_description": "Enable this if you want to select exact invoice time.", + "invoice_use_time": "Použítat čas ve fakturách", + "invoice_use_time_description": "Povolte, pokud chcete zvolit přesný čas faktury.", "fiscal_years": { "january_december": "Leden - Prosinec", "february_january": "Únor - Leden", @@ -1349,8 +1361,8 @@ "aws_root": "AWS Root", "s3_endpoint": "S3 Endpoint", "s3_key": "S3 klíč", - "s3_secret": "S3 Secret", - "s3_region": "S3 Region", + "s3_secret": "S3 tajný klíč", + "s3_region": "S3 region", "s3_bucket": "S3 Bucket", "s3_root": "S3 Root", "do_spaces_type": "Do Spaces type", @@ -1360,12 +1372,12 @@ "do_spaces_bucket": "Do Spaces Bucket", "do_spaces_endpoint": "Do Spaces Endpoint", "do_spaces_root": "Do Spaces Root", - "dropbox_type": "Dropbox Type", - "dropbox_token": "Dropbox Token", - "dropbox_key": "Dropbox Key", - "dropbox_secret": "Dropbox Secret", - "dropbox_app": "Dropbox App", - "dropbox_root": "Dropbox Root", + "dropbox_type": "Typ Dropboxu", + "dropbox_token": "Dropbox token", + "dropbox_key": "Dropbox klíč", + "dropbox_secret": "Dropbox tajný klíč", + "dropbox_app": "Aplikace Dropboxu", + "dropbox_root": "Kořenový adresář Dropboxu", "default_driver": "Výchozí ovladač", "is_default": "JE VÝCHOZÍ", "set_default_disk": "Nastavit výchozí disk", @@ -1428,7 +1440,7 @@ "time_zone": "Časové pásmo", "fiscal_year": "Fiskální rok", "date_format": "Formát data", - "time_format": "Time Format", + "time_format": "Formát času", "from_address": "Z adresy", "username": "Uživatelské jméno", "next": "Další", @@ -1478,12 +1490,12 @@ "host": "Hostitel e-mailu", "port": "Port e-mailu", "driver": "Ovladač e-mailů", - "secret": "Secret", - "mailgun_secret": "Mailgun Secret", + "secret": "Tajný klíč", + "mailgun_secret": "Mailgun tajný klíč", "mailgun_domain": "Doména", "mailgun_endpoint": "Mailgun Endpoint", - "ses_secret": "SES Secret", - "ses_key": "SES Key", + "ses_secret": "SES tajný klíč", + "ses_key": "SES klíč", "password": "E-mailové heslo", "username": "Uživatelské jméno e-mailu", "mail_config": "Konfigurace e-mailu", @@ -1588,7 +1600,7 @@ "pdf_invoice_label": "Faktura", "pdf_invoice_number": "Číslo faktury", "pdf_invoice_date": "Datum fakturace", - "pdf_invoice_due_date": "Datum splatnosti", + "pdf_invoice_due_date": "Due Date", "pdf_notes": "Poznámky", "pdf_items_label": "Položky", "pdf_quantity_label": "Množství", @@ -1623,9 +1635,9 @@ "pdf_received_from": "Přijato od:", "pdf_tax_label": "Daň", "pdf_tax_id": "DIČ", - "pdf_vat_id": "VAT-ID", - "pdf_amount_paid": "Amount Paid", - "pdf_amount_due": "Amount Due", + "pdf_vat_id": "DIČ", + "pdf_amount_paid": "Uhrazená částka", + "pdf_amount_due": "Splatná částka", "mail_thanks": "Díky", "mail_view_estimate": "Zobrazit odhad", "mail_viewed_estimate": ":name si prohlédl tento odhad.", diff --git a/lang/de.json b/lang/de.json index 4c03cbfe..bb6d9fd0 100644 --- a/lang/de.json +++ b/lang/de.json @@ -852,7 +852,8 @@ "payment_modes": "Zahlungsarten", "notes": "Notizen", "exchange_rate": "Wechselkurs", - "address_information": "Adressinformationen" + "address_information": "Adressinformationen", + "pdf_generation": "PDF Generation" }, "address_information": { "section_description": " Sie können Ihre Adressinformationen über das untenstehende Formular aktualisieren." @@ -893,6 +894,7 @@ "mailgun_endpoint": "Mailgun-Endpunkt", "ses_secret": "SES Verschlüsselung", "ses_key": "SES-Taste", + "ses_region": "AWS Region", "password": "E-Mail-Kennwort", "username": "E-Mail-Benutzername", "mail_config": "E-Mail-Konfiguration", @@ -904,7 +906,15 @@ "pdf": { "title": "PDF-Einstellung", "footer_text": "Fußzeile Text", - "pdf_layout": "PDF-Layout" + "pdf_layout": "PDF-Layout", + "pdf_configuration": "PDF Generation Settings", + "section_description": "Change the way PDFs are generated", + "driver": "PDF Driver to use", + "papersize": "Papersize", + "papersize_hint": "Papersize in width and height (ex. \"210mm 297mm\")", + "gotenberg_host": "Gotenberg service host", + "pdf_variables_save_successfully": "PDF configuration saved successfully", + "pdf_variables_save_error": "PDF configuration could not be saved" }, "company_info": { "company_info": "Firmeninfo", @@ -1087,6 +1097,8 @@ "description": "Sparen Sie Zeit, indem Sie Notizen erstellen und diese auf Ihren Rechnungen, Angeboten und Zahlungen wiederverwenden.", "notes": "Hinweise", "type": "Art", + "is_default": "Standardmäßig auswählen", + "is_default_description": "Diese Notiz wird standardmäßig in neuen Rechnungen ausgewählt.", "add_note": "Notiz hinzufügen", "add_new_note": "Neue Notiz hinzufügen", "name": "Name", @@ -1236,7 +1248,7 @@ "time_zone": "Zeitzone", "fiscal_year": "Geschäftsjahr", "date_format": "Datum-Format", - "time_format": "Time Fromat", + "time_format": "Time Format", "discount_setting": "Einstellung Rabatt", "discount_per_item": "Rabatt pro Artikel ", "discount_setting_description": "Aktivieren Sie diese Option, wenn Sie einzelnen Rechnungspositionen einen Rabatt hinzufügen möchten. Standardmäßig wird der Rabatt direkt zur Rechnung hinzugefügt.", @@ -1588,7 +1600,7 @@ "pdf_invoice_label": "Rechnung", "pdf_invoice_number": "Rechnungsnummer", "pdf_invoice_date": "Rechnungsdatum", - "pdf_invoice_due_date": "Fälligkeitsdatum", + "pdf_invoice_due_date": "Due Date", "pdf_notes": "Hinweise", "pdf_items_label": "Artikel", "pdf_quantity_label": "Menge", @@ -1624,8 +1636,8 @@ "pdf_tax_label": "Steuer", "pdf_tax_id": "Steuer-Nr.", "pdf_vat_id": "USt.-ID", - "pdf_amount_paid": "Amount Paid", - "pdf_amount_due": "Amount Due", + "pdf_amount_paid": "Bezahlter Betrag", + "pdf_amount_due": "Offener Betrag", "mail_thanks": "Danke", "mail_view_estimate": "Angebot ansehen", "mail_viewed_estimate": ":name hat dieses Angebot angesehen.", diff --git a/lang/el.json b/lang/el.json index b36265c5..e3e9d234 100644 --- a/lang/el.json +++ b/lang/el.json @@ -852,7 +852,8 @@ "payment_modes": "Τρόπος πληρωμής", "notes": "Σημειώσεις", "exchange_rate": "Συναλλαγματική ισοτιμία", - "address_information": "Address Information" + "address_information": "Address Information", + "pdf_generation": "PDF Generation" }, "address_information": { "section_description": " You can update Your Address information using form below." @@ -893,6 +894,7 @@ "mailgun_endpoint": "Mailgun Endpoint", "ses_secret": "SES Μυστικό", "ses_key": "Κλειδί SES", + "ses_region": "AWS Region", "password": "Κωδικός Πρόσβασης Ταχυδρομείου", "username": "Όνομα Ταχυδρομείου", "mail_config": "Διαμόρφωση Mail", @@ -904,7 +906,15 @@ "pdf": { "title": "Ρυθμίσεις PDF", "footer_text": "Κείμενο Υποσέλιδου", - "pdf_layout": "Διάταξη PDF" + "pdf_layout": "Διάταξη PDF", + "pdf_configuration": "PDF Generation Settings", + "section_description": "Change the way PDFs are generated", + "driver": "PDF Driver to use", + "papersize": "Papersize", + "papersize_hint": "Papersize in width and height (ex. \"210mm 297mm\")", + "gotenberg_host": "Gotenberg service host", + "pdf_variables_save_successfully": "PDF configuration saved successfully", + "pdf_variables_save_error": "PDF configuration could not be saved" }, "company_info": { "company_info": "Πληροφορίες Εταιρίας", @@ -1087,6 +1097,8 @@ "description": "Εξοικονομήστε χρόνο δημιουργώντας σημειώσεις και επαναχρησιμοποίησή τους στα τιμολόγια σας, εκτιμήσεις και πληρωμές.", "notes": "Σημειώσεις", "type": "Type", + "is_default": "Select by default", + "is_default_description": "This note will be selected by default in new invoices.", "add_note": "Προσθήκη σημείωσης", "add_new_note": "Προσθήκη Νέας Σημείωσης", "name": "Όνομα", @@ -1236,7 +1248,7 @@ "time_zone": "Ζώνη Ώρας", "fiscal_year": "Οικονομικό έτος", "date_format": "Μορφή Ημερομηνίας", - "time_format": "Time Fromat", + "time_format": "Time Format", "discount_setting": "Ρυθμίσεις Λογαριασμού", "discount_per_item": "Έκπτωση Ανά Στοιχείο ", "discount_setting_description": "Ενεργοποιήστε το αν θέλετε να προσθέσετε έκπτωση σε μεμονωμένα στοιχεία τιμολογίου. Από προεπιλογή, η έκπτωση προστίθεται απευθείας στο τιμολόγιο.", @@ -1588,7 +1600,7 @@ "pdf_invoice_label": "Τιμολόγιο", "pdf_invoice_number": "Αριθμός τιμολογίου", "pdf_invoice_date": "Ημ/νία Τιμολόγησης", - "pdf_invoice_due_date": "Echéance", + "pdf_invoice_due_date": "Due Date", "pdf_notes": "Σημειώσεις", "pdf_items_label": "Προϊόντα", "pdf_quantity_label": "Ποσότητα", diff --git a/lang/en.json b/lang/en.json index 765d31af..84650b9d 100644 --- a/lang/en.json +++ b/lang/en.json @@ -161,7 +161,10 @@ "name": "Name", "description": "Description", "percent": "Percent", - "compound_tax": "Compound Tax" + "compound_tax": "Compound Tax", + "percentage": "Percentage", + "fixed_amount": "Fixed Amount", + "tax_type": "Tax Type" }, "global_search": { "search": "Search...", @@ -852,7 +855,8 @@ "payment_modes": "Payment Modes", "notes": "Notes", "exchange_rate": "Exchange Rate", - "address_information": "Address Information" + "address_information": "Address Information", + "pdf_generation": "PDF Generation" }, "address_information": { "section_description": " You can update Your Address information using form below." @@ -893,6 +897,7 @@ "mailgun_endpoint": "Mailgun Endpoint", "ses_secret": "SES Secret", "ses_key": "SES Key", + "ses_region": "AWS Region", "password": "Mail Password", "username": "Mail Username", "mail_config": "Mail Configuration", @@ -904,7 +909,15 @@ "pdf": { "title": "PDF Setting", "footer_text": "Footer Text", - "pdf_layout": "PDF Layout" + "pdf_layout": "PDF Layout", + "pdf_configuration": "PDF Generation Settings", + "section_description": "Change the way PDFs are generated", + "driver": "PDF Driver to use", + "papersize": "Papersize", + "papersize_hint": "Papersize in width and height (ex. \"210mm 297mm\")", + "gotenberg_host": "Gotenberg service host", + "pdf_variables_save_successfully": "PDF configuration saved successfully", + "pdf_variables_save_error": "PDF configuration could not be saved" }, "company_info": { "company_info": "Company info", @@ -1087,6 +1100,8 @@ "description": "Save time by creating notes and reusing them on your invoices, estimates & payments.", "notes": "Notes", "type": "Type", + "is_default": "Select by default", + "is_default_description": "This note will be selected by default in new invoices.", "add_note": "Add Note", "add_new_note": "Add New Note", "name": "Name", @@ -1193,7 +1208,12 @@ "tax_per_item": "Tax Per Item", "tax_name": "Tax Name", "compound_tax": "Compound Tax", + "amount": "Amount", "percent": "Percent", + "fixed_amount": "Fixed Amount", + "calculation_type": "Calculation Type", + "percentage": "Percentage", + "fixed": "Fixed", "action": "Action", "tax_setting_description": "Enable this if you want to add taxes to individual invoice items. By default, taxes are added directly to the invoice.", "created_message": "Tax type created successfully", @@ -1236,7 +1256,7 @@ "time_zone": "Time Zone", "fiscal_year": "Financial Year", "date_format": "Date Format", - "time_format": "Time Fromat", + "time_format": "Time Format", "discount_setting": "Discount Setting", "discount_per_item": "Discount Per Item ", "discount_setting_description": "Enable this if you want to add Discount to individual invoice items. By default, Discount is added directly to the invoice.", @@ -1279,7 +1299,7 @@ "title": "Update App", "description": "You can easily update InvoiceShelf by checking for a new update by clicking the button below", "check_update": "Check for updates", - "insider_consent" : "Opt-in for Insider releases. Recommended for testing purposes only.", + "insider_consent": "Opt-in for Insider releases. Recommended for testing purposes only.", "avail_update": "New Update available", "next_version": "Next version", "requirements": "Requirements", @@ -1467,9 +1487,9 @@ "failed": "Domain verification failed. Please enter valid domain name.", "verify_and_continue": "Verify And Continue", "notes": { - "notes" : "Notes:", - "not_contain" : "App domain should not contain", - "or" : "or", + "notes": "Notes:", + "not_contain": "App domain should not contain", + "or": "or", "in_front": "in front of the domain.", "if_you": "If you're accessing the website on a different port, please mention the port. For example:" } @@ -1588,7 +1608,7 @@ "pdf_invoice_label": "Invoice", "pdf_invoice_number": "Invoice Number", "pdf_invoice_date": "Invoice Date", - "pdf_invoice_due_date": "Due date", + "pdf_invoice_due_date": "Due Date", "pdf_notes": "Notes", "pdf_items_label": "Items", "pdf_quantity_label": "Quantity", diff --git a/lang/es.json b/lang/es.json index 7c579847..7dbbacdd 100644 --- a/lang/es.json +++ b/lang/es.json @@ -49,7 +49,7 @@ "view": "Ver", "add_new_item": "Agregar un Nuevo Artículo", "clear_all": "Limpiar todo", - "showing": "Mostrar", + "showing": "Mostrando", "of": "de", "actions": "Acciones", "subtotal": "SUBTOTAL", @@ -285,8 +285,8 @@ }, "estimates": { "title": "Presupuestos", - "accept_estimate": "Aceptar cotización", - "reject_estimate": "Rechazar cotización", + "accept_estimate": "Aceptar presupuesto", + "reject_estimate": "Rechazar presupuesto", "estimate": "Presupuesto | Presupuestos", "estimates_list": "Lista de presupuestos", "days": "{días} Días", @@ -320,7 +320,7 @@ "convert_to_invoice": "Convertir a factura", "mark_as_sent": "Marcar como enviado", "send_estimate": "Enviar presupuesto", - "resend_estimate": "Reenviar estimado", + "resend_estimate": "Reenviar presupuesto", "record_payment": "Registro de pago", "add_estimate": "Agregar presupuesto", "save_estimate": "Guardar presupuesto", @@ -852,7 +852,8 @@ "payment_modes": "Formas de pago", "notes": "Notas", "exchange_rate": "Tasa de cambio", - "address_information": "Información de dirección" + "address_information": "Información de dirección", + "pdf_generation": "PDF Generation" }, "address_information": { "section_description": "Puede actualizar la información de su dirección utilizando el siguiente formulario." @@ -864,7 +865,7 @@ "primary_currency": "Moneda primaria", "timezone": "Zona horaria", "date_format": "Formato de fecha", - "time_format": "Time Format", + "time_format": "Formato de hora", "currencies": { "title": "Monedas", "currency": "Moneda | Monedas", @@ -893,6 +894,7 @@ "mailgun_endpoint": "Mailgun endpoint", "ses_secret": "Secreto SES", "ses_key": "Clave SES", + "ses_region": "Región de AWS", "password": "Contraseña de correo", "username": "Nombre de usuario de correo", "mail_config": "Configuración de correo", @@ -904,7 +906,15 @@ "pdf": { "title": "Configuración de PDF", "footer_text": "Texto de pie de página", - "pdf_layout": "Diseño PDF" + "pdf_layout": "Diseño PDF", + "pdf_configuration": "PDF Generation Settings", + "section_description": "Change the way PDFs are generated", + "driver": "PDF Driver to use", + "papersize": "Papersize", + "papersize_hint": "Papersize in width and height (ex. \"210mm 297mm\")", + "gotenberg_host": "Gotenberg service host", + "pdf_variables_save_successfully": "PDF configuration saved successfully", + "pdf_variables_save_error": "PDF configuration could not be saved" }, "company_info": { "company_info": "Información de la compañía", @@ -991,7 +1001,7 @@ "delimiter_description": "Carácter único para especificar el límite entre 2 componentes separados. Por defecto está configurado en -", "delimiter_param_label": "Valor delimitador", "date_format": "Formato de fecha", - "time_format": "Time Format", + "time_format": "Formato de hora", "date_format_description": "Un campo de fecha y hora local que acepta un parámetro de formato. El formato predeterminado: 'Y' representa el año actual.", "date_format_param_label": "Formato", "sequence": "Secuencia", @@ -1087,6 +1097,8 @@ "description": "Ahorre tiempo creando notas y reutilizándolas en sus facturas, cálculos y pagos.", "notes": "Notas", "type": "Tipo", + "is_default": "Seleccionar por defecto", + "is_default_description": "Esta nota será seleccionada por defecto en las nuevas facturas.", "add_note": "Agregar nota", "add_new_note": "Agregar nueva nota", "name": "Nombre", @@ -1236,7 +1248,7 @@ "time_zone": "Zona horaria", "fiscal_year": "Año financiero", "date_format": "Formato de fecha", - "time_format": "Time Fromat", + "time_format": "Formato de hora", "discount_setting": "Ajuste de descuento", "discount_per_item": "Descuento por artículo", "discount_setting_description": "Habilítelo si desea agregar Descuento a artículos de factura individuales. Por defecto, los descuentos se agregan directamente a la factura.", @@ -1249,7 +1261,7 @@ "select_language": "seleccione el idioma", "select_time_zone": "selecciona la zona horaria", "select_date_format": "Seleccionar formato de fecha", - "select_time_format": "Select Time Format", + "select_time_format": "Seleccionar formato de hora", "select_financial_year": "seleccione año financiero", "recurring_invoice_status": "Estado de la factura recurrente", "create_status": "Crear estado", @@ -1258,8 +1270,8 @@ "update_status": "Actualizar estado", "completed": "Completado", "company_currency_unchangeable": "No se puede cambiar la divisa de la empresa", - "invoice_use_time": "Use time in invoices", - "invoice_use_time_description": "Enable this if you want to select exact invoice time.", + "invoice_use_time": "Usar hora en las facturas", + "invoice_use_time_description": "Active esta opción si desea seleccionar la hora exacta de la factura.", "fiscal_years": { "january_december": "Enero - Diciembre", "february_january": "Febrero - Enero", @@ -1428,7 +1440,7 @@ "time_zone": "Zona horaria", "fiscal_year": "Año financiero", "date_format": "Formato de fecha", - "time_format": "Time Format", + "time_format": "Formato de hora", "from_address": "Desde la Dirección", "username": "Nombre de usuario", "next": "Siguiente", @@ -1588,7 +1600,7 @@ "pdf_invoice_label": "Factura", "pdf_invoice_number": "Numero de factura", "pdf_invoice_date": "Fecha de la factura", - "pdf_invoice_due_date": "Fecha final", + "pdf_invoice_due_date": "Fecha de vencimiento", "pdf_notes": "Notas", "pdf_items_label": "Artículos", "pdf_quantity_label": "Cantidad", @@ -1624,8 +1636,8 @@ "pdf_tax_label": "Impuesto", "pdf_tax_id": "ID de impuesto", "pdf_vat_id": "ID de IVA", - "pdf_amount_paid": "Amount Paid", - "pdf_amount_due": "Amount Due", + "pdf_amount_paid": "Importe pagado", + "pdf_amount_due": "Importe pendiente", "mail_thanks": "Gracias", "mail_view_estimate": "Ver presupuesto", "mail_viewed_estimate": ":name ha visto este Presupuesto.", diff --git a/lang/fa.json b/lang/fa.json index 2f7faaf3..557c6fde 100644 --- a/lang/fa.json +++ b/lang/fa.json @@ -852,7 +852,8 @@ "payment_modes": "Payment Modes", "notes": "Notes", "exchange_rate": "Exchange Rate", - "address_information": "Address Information" + "address_information": "Address Information", + "pdf_generation": "PDF Generation" }, "address_information": { "section_description": " You can update Your Address information using form below." @@ -893,6 +894,7 @@ "mailgun_endpoint": "Mailgun Endpoint", "ses_secret": "SES Secret", "ses_key": "SES Key", + "ses_region": "AWS Region", "password": "Mail Password", "username": "Mail Username", "mail_config": "Mail Configuration", @@ -904,7 +906,15 @@ "pdf": { "title": "PDF Setting", "footer_text": "Footer Text", - "pdf_layout": "PDF Layout" + "pdf_layout": "PDF Layout", + "pdf_configuration": "PDF Generation Settings", + "section_description": "Change the way PDFs are generated", + "driver": "PDF Driver to use", + "papersize": "Papersize", + "papersize_hint": "Papersize in width and height (ex. \"210mm 297mm\")", + "gotenberg_host": "Gotenberg service host", + "pdf_variables_save_successfully": "PDF configuration saved successfully", + "pdf_variables_save_error": "PDF configuration could not be saved" }, "company_info": { "company_info": "Company info", @@ -1087,6 +1097,8 @@ "description": "Save time by creating notes and reusing them on your invoices, estimates & payments.", "notes": "Notes", "type": "Type", + "is_default": "Select by default", + "is_default_description": "This note will be selected by default in new invoices.", "add_note": "Add Note", "add_new_note": "Add New Note", "name": "Name", @@ -1236,7 +1248,7 @@ "time_zone": "Time Zone", "fiscal_year": "Financial Year", "date_format": "Date Format", - "time_format": "Time Fromat", + "time_format": "Time Format", "discount_setting": "Discount Setting", "discount_per_item": "Discount Per Item ", "discount_setting_description": "Enable this if you want to add Discount to individual invoice items. By default, Discount is added directly to the invoice.", @@ -1588,7 +1600,7 @@ "pdf_invoice_label": "Invoice", "pdf_invoice_number": "Invoice Number", "pdf_invoice_date": "Invoice Date", - "pdf_invoice_due_date": "Due date", + "pdf_invoice_due_date": "Due Date", "pdf_notes": "Notes", "pdf_items_label": "Items", "pdf_quantity_label": "Quantity", diff --git a/lang/fi.json b/lang/fi.json index 0784bde7..ab0953b2 100644 --- a/lang/fi.json +++ b/lang/fi.json @@ -852,7 +852,8 @@ "payment_modes": "Maksutavat", "notes": "Viestit", "exchange_rate": "Exchange Rate", - "address_information": "Address Information" + "address_information": "Address Information", + "pdf_generation": "PDF Generation" }, "address_information": { "section_description": " You can update Your Address information using form below." @@ -893,6 +894,7 @@ "mailgun_endpoint": "Mailgun päätepiste", "ses_secret": "SES salaus", "ses_key": "SES avain", + "ses_region": "AWS Region", "password": "Sähköpostin salasana", "username": "Sähköpostin käyttäjänimi", "mail_config": "Sähköposti asetukset", @@ -904,7 +906,15 @@ "pdf": { "title": "PDF Asetukset", "footer_text": "Alaotsikko teksti", - "pdf_layout": "PDF asettelu" + "pdf_layout": "PDF asettelu", + "pdf_configuration": "PDF Generation Settings", + "section_description": "Change the way PDFs are generated", + "driver": "PDF Driver to use", + "papersize": "Papersize", + "papersize_hint": "Papersize in width and height (ex. \"210mm 297mm\")", + "gotenberg_host": "Gotenberg service host", + "pdf_variables_save_successfully": "PDF configuration saved successfully", + "pdf_variables_save_error": "PDF configuration could not be saved" }, "company_info": { "company_info": "Yritystiedot", @@ -1087,6 +1097,8 @@ "description": "Säästä aikaa luomalla viestejä, joita voit käyttää laskuilla, tarjouksilla ja maksuissa.", "notes": "Viestit", "type": "Tyyppi", + "is_default": "Select by default", + "is_default_description": "This note will be selected by default in new invoices.", "add_note": "Lisää viesti", "add_new_note": "Lisää uusi viesti", "name": "Nimi", @@ -1236,7 +1248,7 @@ "time_zone": "Aikavyöhyke", "fiscal_year": "Tilikausi", "date_format": "Päivämäärä formaatti", - "time_format": "Time Fromat", + "time_format": "Time Format", "discount_setting": "Alennusten määritys", "discount_per_item": "Alennus per tuote ", "discount_setting_description": "Aktivoi tämä jos haluat lisätä alennuksen rivikohtaisesti. Oletuksena, Alennus lisätään suoraan laskun kokonaissummaan.", @@ -1588,7 +1600,7 @@ "pdf_invoice_label": "Lasku", "pdf_invoice_number": "Laskunumero", "pdf_invoice_date": "Laskun päiväys", - "pdf_invoice_due_date": "Eräpäivä", + "pdf_invoice_due_date": "Due Date", "pdf_notes": "Viesti", "pdf_items_label": "Tuotenimi", "pdf_quantity_label": "Määrä", diff --git a/lang/fr.json b/lang/fr.json index 9fa5d65c..e0c70c2a 100644 --- a/lang/fr.json +++ b/lang/fr.json @@ -852,7 +852,8 @@ "payment_modes": "Modes de paiement", "notes": "Notes de bas de page", "exchange_rate": "Taux de change", - "address_information": "Information d'adresse" + "address_information": "Information d'adresse", + "pdf_generation": "PDF Generation" }, "address_information": { "section_description": " Vous pouvez mettre à jour vos informations d'adresse via le formulaire ci dessous." @@ -864,7 +865,7 @@ "primary_currency": "Devise principale", "timezone": "Fuseau horaire", "date_format": "Format de date", - "time_format": "Time Format", + "time_format": "Format d'heure", "currencies": { "title": "Devises", "currency": "Devise | Devises", @@ -893,6 +894,7 @@ "mailgun_endpoint": "Mailgun Endpoint", "ses_secret": "SES Secret", "ses_key": "SES Key", + "ses_region": "AWS Region", "password": "Mot de passe", "username": "Nom d'utilisateur", "mail_config": "Envoi d'emails", @@ -904,7 +906,15 @@ "pdf": { "title": "Paramètre PDF", "footer_text": "Pied de page", - "pdf_layout": "Mise en page PDF" + "pdf_layout": "Mise en page PDF", + "pdf_configuration": "PDF Generation Settings", + "section_description": "Change the way PDFs are generated", + "driver": "PDF Driver to use", + "papersize": "Papersize", + "papersize_hint": "Papersize in width and height (ex. \"210mm 297mm\")", + "gotenberg_host": "Gotenberg service host", + "pdf_variables_save_successfully": "PDF configuration saved successfully", + "pdf_variables_save_error": "PDF configuration could not be saved" }, "company_info": { "company_info": "Coordonnées de la société", @@ -991,7 +1001,7 @@ "delimiter_description": "Un caractère servant à séparer deux composants. Par exemple, un trait d'union", "delimiter_param_label": "Caractère", "date_format": "Date", - "time_format": "Time Format", + "time_format": "Format d'heure", "date_format_description": "Une date qui peut formatée. Par exemple, \"Y\" affichera l'année en cours.", "date_format_param_label": "Format", "sequence": "Suite", @@ -1087,6 +1097,8 @@ "description": "Créez des notes de bas de page réutilisable sur vos factures, devis et paiements.", "notes": "Note de bas de page", "type": "Type ", + "is_default": "Select by default", + "is_default_description": "This note will be selected by default in new invoices.", "add_note": "Nouvelle note de bas de page", "add_new_note": "Ajouter une note de bas de page", "name": "Nom", @@ -1236,7 +1248,7 @@ "time_zone": "Fuseau horaire", "fiscal_year": "Exercice fiscal", "date_format": "Format de date", - "time_format": "Time Fromat", + "time_format": "Time Format", "discount_setting": "Réglage de remise", "discount_per_item": "Remise par article", "discount_setting_description": "Activez cette option si vous souhaitez détailler les remises par article. Par défaut, les remises sont ajoutées au sous-total.", @@ -1248,8 +1260,8 @@ "updated_message": "Préférences mises à jour", "select_language": "Choisir la langue", "select_time_zone": "Sélectionnez le fuseau horaire", - "select_date_format": "Sélectionnez le format de date", - "select_time_format": "Select Time Format", + "select_date_format": "Choix du format de date", + "select_time_format": "Choix du format d'heure", "select_financial_year": "Exercice fiscal", "recurring_invoice_status": "Statut de la facture récurrente", "create_status": "Créer un statut", @@ -1258,8 +1270,8 @@ "update_status": "Mettre à jour le statut", "completed": "Terminé", "company_currency_unchangeable": "La devise de la société ne peut pas être modifiée", - "invoice_use_time": "Use time in invoices", - "invoice_use_time_description": "Enable this if you want to select exact invoice time.", + "invoice_use_time": "Inclure l'heure dans les factures", + "invoice_use_time_description": "Activez cette option si vous souhaitez indiquer l'heure exacte de la facturation.", "fiscal_years": { "january_december": "Janvier - Décembre", "february_january": "Février - Janvier", @@ -1428,7 +1440,7 @@ "time_zone": "Fuseau horaire", "fiscal_year": "Exercice fiscal", "date_format": "Format de date", - "time_format": "Time Format", + "time_format": "Format d'heure", "from_address": "De l'adresse", "username": "Nom d'utilisateur", "next": "Suivant", @@ -1588,7 +1600,7 @@ "pdf_invoice_label": "Facture", "pdf_invoice_number": "Numéro", "pdf_invoice_date": "Date", - "pdf_invoice_due_date": "Date d’échéance", + "pdf_invoice_due_date": "Due Date", "pdf_notes": "Notes de bas de page", "pdf_items_label": "Articles", "pdf_quantity_label": "Quantité", @@ -1624,8 +1636,8 @@ "pdf_tax_label": "Taxe", "pdf_tax_id": "N° fiscal", "pdf_vat_id": "N° de TVA", - "pdf_amount_paid": "Amount Paid", - "pdf_amount_due": "Amount Due", + "pdf_amount_paid": "Montant acquitté", + "pdf_amount_due": "Montant dû", "mail_thanks": "Merci", "mail_view_estimate": "Voir le devis", "mail_viewed_estimate": ":name a consulté ce devis.", diff --git a/lang/hi.json b/lang/hi.json index 4cb68f1e..e9970156 100644 --- a/lang/hi.json +++ b/lang/hi.json @@ -852,7 +852,8 @@ "payment_modes": "भुगतान के प्रकार", "notes": "नोट्स", "exchange_rate": "विनिमय दर", - "address_information": "पते के बारे में जानकारी" + "address_information": "पते के बारे में जानकारी", + "pdf_generation": "PDF Generation" }, "address_information": { "section_description": " आप नीचे दिए गए फॉर्म का उपयोग करके अपनी पता जानकारी अपडेट कर सकते हैं" @@ -893,6 +894,7 @@ "mailgun_endpoint": "Mailgun Endpoint", "ses_secret": "SES Secret", "ses_key": "SES Key", + "ses_region": "AWS Region", "password": "Mail Password", "username": "Mail Username", "mail_config": "Mail Configuration", @@ -904,7 +906,15 @@ "pdf": { "title": "PDF Setting", "footer_text": "Footer Text", - "pdf_layout": "PDF Layout" + "pdf_layout": "PDF Layout", + "pdf_configuration": "PDF Generation Settings", + "section_description": "Change the way PDFs are generated", + "driver": "PDF Driver to use", + "papersize": "Papersize", + "papersize_hint": "Papersize in width and height (ex. \"210mm 297mm\")", + "gotenberg_host": "Gotenberg service host", + "pdf_variables_save_successfully": "PDF configuration saved successfully", + "pdf_variables_save_error": "PDF configuration could not be saved" }, "company_info": { "company_info": "Company info", @@ -1087,6 +1097,8 @@ "description": "Save time by creating notes and reusing them on your invoices, estimates & payments.", "notes": "Notes", "type": "Type", + "is_default": "Select by default", + "is_default_description": "This note will be selected by default in new invoices.", "add_note": "Add Note", "add_new_note": "Add New Note", "name": "Name", @@ -1236,7 +1248,7 @@ "time_zone": "Time Zone", "fiscal_year": "Financial Year", "date_format": "Date Format", - "time_format": "Time Fromat", + "time_format": "Time Format", "discount_setting": "Discount Setting", "discount_per_item": "Discount Per Item ", "discount_setting_description": "Enable this if you want to add Discount to individual invoice items. By default, Discount is added directly to the invoice.", @@ -1588,7 +1600,7 @@ "pdf_invoice_label": "Invoice", "pdf_invoice_number": "Invoice Number", "pdf_invoice_date": "Invoice Date", - "pdf_invoice_due_date": "Due date", + "pdf_invoice_due_date": "Due Date", "pdf_notes": "Notes", "pdf_items_label": "Items", "pdf_quantity_label": "Quantity", diff --git a/lang/hr.json b/lang/hr.json index cb1be215..951b00cc 100644 --- a/lang/hr.json +++ b/lang/hr.json @@ -852,7 +852,8 @@ "payment_modes": "Način plaćanja", "notes": "Napomene", "exchange_rate": "Tečaj", - "address_information": "Podaci o adresi" + "address_information": "Podaci o adresi", + "pdf_generation": "PDF Generation" }, "address_information": { "section_description": " Možete ažurirati svoju adresu u slijedećem obrascu." @@ -893,6 +894,7 @@ "mailgun_endpoint": "Mailgun Endpoint", "ses_secret": "SES Lozinka", "ses_key": "SES Ključ", + "ses_region": "AWS Region", "password": "Mail Lozinka", "username": "Mail Korisničko Ime", "mail_config": "Mail Postavke", @@ -904,7 +906,15 @@ "pdf": { "title": "PDF Postavke", "footer_text": "Tekstualno zaglavlje na dnu strane", - "pdf_layout": "PDF Raspored" + "pdf_layout": "PDF Raspored", + "pdf_configuration": "PDF Generation Settings", + "section_description": "Change the way PDFs are generated", + "driver": "PDF Driver to use", + "papersize": "Papersize", + "papersize_hint": "Papersize in width and height (ex. \"210mm 297mm\")", + "gotenberg_host": "Gotenberg service host", + "pdf_variables_save_successfully": "PDF configuration saved successfully", + "pdf_variables_save_error": "PDF configuration could not be saved" }, "company_info": { "company_info": "Podaci o firmi", @@ -1087,6 +1097,8 @@ "description": "Uštedite vrijeme kreirajući napomene i koristeći ih na računima, ponudama i uplatama.", "notes": "Napomene", "type": "Vrsta", + "is_default": "Select by default", + "is_default_description": "This note will be selected by default in new invoices.", "add_note": "Dodaj Napomenu", "add_new_note": "Dodaj novu Napomenu", "name": "Naziv", @@ -1236,7 +1248,7 @@ "time_zone": "Vremenska Zona", "fiscal_year": "Financijska Godina", "date_format": "Format datuma", - "time_format": "Time Fromat", + "time_format": "Time Format", "discount_setting": "Postavke popusta", "discount_per_item": "Popust po stavkama", "discount_setting_description": "Izaberite ovo ako želite dodati Popust na individualne stavke. Zadana vrijednost je da je Popust dodan direktno na fakturu.", @@ -1588,7 +1600,7 @@ "pdf_invoice_label": "Račun", "pdf_invoice_number": "Broj Fakture", "pdf_invoice_date": "Datum Fakture", - "pdf_invoice_due_date": "Datum dospijeća Fakture", + "pdf_invoice_due_date": "Due Date", "pdf_notes": "Napomena", "pdf_items_label": "Stavke", "pdf_quantity_label": "Količina", diff --git a/lang/id.json b/lang/id.json index 57e51934..1203a0ac 100644 --- a/lang/id.json +++ b/lang/id.json @@ -36,7 +36,7 @@ "ascending": "Sortir naik", "descending": "Sortir turun", "subject": "Perihal", - "body": "Body", + "body": "Isi", "message": "Pesan", "send": "Kirim", "preview": "Pratinjau", @@ -97,38 +97,38 @@ "docs": "Dokumen", "do_you_wish_to_continue": "Apakah anda ingin melanjutkan?", "note": "Catatan", - "pay_invoice": "Bayar tagihan", + "pay_invoice": "Bayar Faktur", "login_successfully": "Login berhasil!", "logged_out_successfully": "Berhasil keluar", "mark_as_default": "Tandai sebagai default", - "no_data_found": "No data found", + "no_data_found": "Tidak ada data yang ditemukan", "pagination": { - "previous": "Previous", - "next": "Next", - "showing": "Showing", - "to": "to", - "of": "of", - "results": "results" + "previous": "Sebelumnya", + "next": "Berikutnya", + "showing": "Menampilkan", + "to": "untuk", + "of": "dari", + "results": "hasil" }, "file_upload": { - "drag_a_file": "Drag a file here or", - "browse": "browse", - "to_choose": "to choose a file" + "drag_a_file": "Seret berkas ke sini atau", + "browse": "telusuri", + "to_choose": "untuk memilih berkas" }, "multiselect": { - "the_list_is_empty": "The list is empty", - "no_results_found": "No results found" + "the_list_is_empty": "Daftar ini kosong", + "no_results_found": "Tidak ada hasil yang ditemukan" }, - "copy_to_clipboard": "Copy to Clipboard" + "copy_to_clipboard": "Salin ke Clipboard" }, "dashboard": { "select_year": "Pilih tahun", "cards": { "due_amount": "Jumlah yang harus dibayar", - "customers": "Customer | Customers", - "invoices": "Invoice | Invoices", - "estimates": "Estimate | Estimates", - "payments": "Payment | Payments" + "customers": "Pelanggan | Pelanggan", + "invoices": "Faktur | Faktur", + "estimates": "Penawaran | Penawaran", + "payments": "Pembayaran | Pembayaran" }, "chart_info": { "total_sales": "Penjualan", @@ -191,7 +191,7 @@ "customers": { "title": "Pelanggan", "prefix": "Awalan", - "tax_id": "Tax ID", + "tax_id": "ID Pajak", "add_customer": "Tambah Pelanggan", "contacts_list": "Daftar Pelanggan", "name": "Nama", @@ -206,7 +206,7 @@ "phone": "Telepon", "website": "Situs Web", "overview": "Tinjauan", - "invoice_prefix": "Awalan Pajak", + "invoice_prefix": "Awalan Faktur", "estimate_prefix": "Awalan Perkiraan", "payment_prefix": "Awalan Pembayaran", "enable_portal": "Mengaktifkan Portal", @@ -248,7 +248,7 @@ "no_matching_customers": "Pelanggan tidak ditemukan!", "phone_number": "Nomor Telepon", "create_date": "Buat Tanggal", - "confirm_delete": "Anda tidak akan dapat mengembalikan pelanggan dan semua tagihan terkait. | Anda tidak akan dapat mengembalikan pelanggan dan semua Tagihan terkait, Penawaran dan Pembayaran.", + "confirm_delete": "Anda tidak akan dapat mengembalikan pelanggan dan semua Faktur, Penawaran dan Pembayaran terkait. | Anda tidak akan dapat mengembalikan pelanggan dan semua Faktur, Penawaran dan Pembayaran terkait.", "created_message": "Pelanggan berhasil dibuat", "updated_message": "Pelanggan berhasil diperbarui", "address_updated_message": "Informasi Alamat Berhasil Diperbarui", @@ -284,10 +284,10 @@ "deleted_message": "Item berhasil dihapus | Item berhasil dihapus" }, "estimates": { - "title": "Perkiraan", - "accept_estimate": "Perkiraan", - "reject_estimate": "Tolak Perkiraan", - "estimate": "Estimasi", + "title": "Penawaran", + "accept_estimate": "Terima Penawaran", + "reject_estimate": "Tolak Penawaran", + "estimate": "Penawaran | Penawaran", "estimates_list": "Daftar Penawaran", "days": "{days} Hari", "months": "{months} Bulan", @@ -325,8 +325,8 @@ "add_estimate": "Tambah Penawaran", "save_estimate": "Simpan Penawaran", "cloned_successfully": "", - "clone_estimate": "Clone Estimate", - "confirm_clone": "This Estimate will be cloned into a new Estimate", + "clone_estimate": "Duplikat Penawaran", + "confirm_clone": "Penawaran ini akan diduplikasi menjadi Penawaran Baru", "confirm_conversion": "Penawaran ini akan dibuat menjadi faktur baru.", "conversion_message": "Faktur berhasil dibuat", "confirm_send_estimate": "Penawaran ini akan dikirim ke pelanggam melalui email", @@ -383,7 +383,7 @@ "invoices": { "title": "Faktur", "download": "Unduh", - "pay_invoice": "Bayar tagihan", + "pay_invoice": "Bayar Faktur", "invoices_list": "Daftar Faktur", "invoice_information": "Informasi tagihan", "days": "{days} Hari", @@ -521,7 +521,7 @@ "resend_invoice": "Kirim Ulang Faktur Berulang", "invoice_template": "Nomor Faktur Berulang", "conversion_message": "Faktur Berulang berhasil dikloning", - "template": "Template", + "template": "Templat", "mark_as_sent": "Tandai sebagai terkirim", "confirm_send_invoice": "Faktur berulang ini akan dikirim melalui email ke pelanggan", "invoice_mark_as_sent": "Faktur berulang ini akan ditandai sebagai terkirim", @@ -565,24 +565,24 @@ "type_item_description": "Deskripsi permintaan (opsional)" }, "frequency": { - "title": "Frequency (using cron format)", + "title": "Frekuensi (menggunakan format cron)", "select_frequency": "Pilih Frekuensi", "minute": "Menit", "hour": "Jam", "day_month": "Hari dalam bulan", "month": "Bulan", "day_week": "Hari dalam minggu", - "every_minute": "Every Minute", - "every_30_minute": "Every 30 Minute", - "every_hour": "Every Hour", - "every_2_hour": "Every 2 Hour", - "every_day_at_midnight": "Every day at midnight", - "every_week": "Every Week", - "every_15_days_at_midnight": "Every 15 days at midnight", - "on_the_first_day_of_every_month_at_midnight": "On the first day of every month at 00:00", + "every_minute": "Setiap Menit", + "every_30_minute": "Setiap 30 Menit", + "every_hour": "Setiap Jam", + "every_2_hour": "Setiap 2 Jam", + "every_day_at_midnight": "Setiap hari pada tengah malam", + "every_week": "Setiap Minggu", + "every_15_days_at_midnight": "Setiap 15 hari pada tengah malam", + "on_the_first_day_of_every_month_at_midnight": "Pada hari pertama setiap bulan pukul 00.00", "every_6_month": "Setiap 6 Bulan", - "every_year_on_the_first_day_of_january_at_midnight": "Every year on the first day of january at 00:00", - "custom": "Custom" + "every_year_on_the_first_day_of_january_at_midnight": "Setiap tahun pada hari pertama bulan Januari pukul 00:00", + "custom": "Kustom" }, "confirm_delete": "Anda tidak akan dapat memulihkan Faktur ini | Anda tidak akan dapat memulihkan Faktur ini", "created_message": "Faktur Berulang berhasil dibuat", @@ -593,9 +593,9 @@ "something_went_wrong": "terjadi kesalahan", "invalid_due_amount_message": "Jumlah Total Faktur Berulang tidak boleh kurang dari jumlah total yang dibayarkan untuk Faktur Berulang ini. Harap perbarui faktur atau hapus pembayaran terkait untuk melanjutkan.", "limit": { - "none": "None", - "date": "Date", - "count": "Count" + "none": "Tidak ada", + "date": "Tanggal", + "count": "Jumlah" } }, "payments": { @@ -635,7 +635,7 @@ "updated_message": "Pembayaran berhasil diperbaharui", "deleted_message": "Pembayaran berhasil dihapus | Pembayaran berhasil dihapus", "invalid_amount_message": "Jumlah pembayaran tidak valid", - "amount_due": "Due Amount" + "amount_due": "Jumlah Yang Harus Dibayar" }, "expenses": { "title": "Pengeluaran", @@ -741,7 +741,7 @@ "no_modules_installed": "Belum Ada Modul yang Terpasang!", "disable_warning": "Semua pengaturan untuk saat ini akan dikembalikan.", "what_you_get": "Apa yang bisa Anda dapatkan", - "sign_up_and_get_token": "Sign up & Get Token" + "sign_up_and_get_token": "Daftar & Dapatkan Token" }, "users": { "title": "Pengguna", @@ -795,80 +795,81 @@ "from_date": "Dari tanggal", "report_type": "Jenis laporan", "sort": { - "by_customer": "By Customer", - "by_item": "By Item" + "by_customer": "Oleh Pelanggan", + "by_item": "Berdasarkan Barang" } }, "taxes": { "taxes": "Pajak", - "to_date": "To Date", - "from_date": "From Date", - "date_range": "Select Date Range" + "to_date": "Sampai Tanggal", + "from_date": "Dari Tanggal", + "date_range": "Pilih Rentang Tanggal" }, "errors": { - "required": "Field is required" + "required": "Wajib diisi" }, "invoices": { - "invoice": "Invoice", - "invoice_date": "Invoice Date", - "due_date": "Due Date", - "amount": "Amount", - "contact_name": "Contact Name", + "invoice": "Faktur", + "invoice_date": "Tanggal Faktur", + "due_date": "Tanggal Jatuh Tempo", + "amount": "Jumlah", + "contact_name": "Nama Kontak", "status": "Status" }, "estimates": { - "estimate": "Estimate", - "estimate_date": "Estimate Date", - "due_date": "Due Date", - "estimate_number": "Estimate Number", - "ref_number": "Ref Number", - "amount": "Amount", - "contact_name": "Contact Name", + "estimate": "Penawaran", + "estimate_date": "Tanggal Penawaran", + "due_date": "Tanggal Jatuh Tempo", + "estimate_number": "Nomor Penawaran", + "ref_number": "Nomor Referensi", + "amount": "Jumlah", + "contact_name": "Nama Kontak", "status": "Status" }, "expenses": { - "expenses": "Expenses", - "category": "Category", - "date": "Date", - "amount": "Amount", - "to_date": "To Date", - "from_date": "From Date", - "date_range": "Select Date Range" + "expenses": "Pengeluaran", + "category": "Kategori", + "date": "Tanggal", + "amount": "Jumlah", + "to_date": "Sampai Tanggal", + "from_date": "Dari Tanggal", + "date_range": "Pilih Rentang Tanggal" } }, "settings": { "menu_title": { - "account_settings": "Account Settings", - "company_information": "Company Information", - "customization": "Customization", - "preferences": "Preferences", - "notifications": "Notifications", - "tax_types": "Tax Types", - "expense_category": "Expense Categories", - "update_app": "Update App", - "backup": "Backup", - "file_disk": "File Disk", - "custom_fields": "Custom Fields", - "payment_modes": "Payment Modes", - "notes": "Notes", - "exchange_rate": "Exchange Rate", - "address_information": "Address Information" + "account_settings": "Pengaturan Akun", + "company_information": "Informasi Perusahaan", + "customization": "Kustomisasi", + "preferences": "Preferensi", + "notifications": "Notifikasi", + "tax_types": "Jenis Pajak", + "expense_category": "Kategori Pengeluaran", + "update_app": "Perbarui Aplikasi", + "backup": "Cadangan", + "file_disk": "Berkas Diska", + "custom_fields": "Kolom Khusus", + "payment_modes": "Mode Pembayaran", + "notes": "Catatan", + "exchange_rate": "Nilai Tukar", + "address_information": "Informasi Alamat", + "pdf_generation": "PDF Generation" }, "address_information": { "section_description": " Anda dapat memperbarui informasi Alamat Anda dengan menggunakan formulir di bawah ini." }, - "title": "Settings", - "setting": "Settings | Settings", - "general": "General", - "language": "Language", - "primary_currency": "Primary Currency", - "timezone": "Time Zone", - "date_format": "Date Format", - "time_format": "Time Format", + "title": "Pengaturan", + "setting": "Pengaturan | Pengaturan", + "general": "Umum", + "language": "Bahasa", + "primary_currency": "Mata Uang Utama", + "timezone": "Zona Waktu", + "date_format": "Format Tanggal", + "time_format": "Format Waktu", "currencies": { - "title": "Currencies", - "currency": "Currency | Currencies", - "currencies_list": "Currencies List", + "title": "Mata Uang", + "currency": "Mata uang | Mata uang", + "currencies_list": "Daftar Mata Uang", "select_currency": "Pilih Mata Uang", "name": "Nama", "code": "Kode", @@ -884,169 +885,178 @@ "add_currency": "Tambah mata uang" }, "mail": { - "host": "Mail Host", - "port": "Mail Port", - "driver": "Mail Driver", - "secret": "Secret", - "mailgun_secret": "Mailgun Secret", + "host": "Server Surel", + "port": "Port Surel", + "driver": "Driver Surel", + "secret": "Kunci Rahasia", + "mailgun_secret": "Kunci Rahasia Mailgun", "mailgun_domain": "Domain", - "mailgun_endpoint": "Mailgun Endpoint", - "ses_secret": "SES Secret", - "ses_key": "SES Key", - "password": "Mail Password", - "username": "Mail Username", - "mail_config": "Mail Configuration", - "from_name": "From Mail Name", + "mailgun_endpoint": "Endpoint Mailgun", + "ses_secret": "Kunci Rahasia SES", + "ses_key": "Kunci SES", + "ses_region": "AWS Region", + "password": "Kata Sandi Surel", + "username": "Nama Pengguna Surel", + "mail_config": "Konfigurasi Surel", + "from_name": "Nama Pengirim", "from_mail": "From Mail Address", - "encryption": "Mail Encryption", + "encryption": "Enkripsi Surel", "mail_config_desc": "Below is the form for Configuring Email driver for sending emails from the app. You can also configure third party providers like Sendgrid, SES etc." }, "pdf": { - "title": "PDF Setting", + "title": "Pengaturan PDF", "footer_text": "Teks footer", - "pdf_layout": "PDF Layout" + "pdf_layout": "Tata letak PDF", + "pdf_configuration": "PDF Generation Settings", + "section_description": "Change the way PDFs are generated", + "driver": "PDF Driver to use", + "papersize": "Papersize", + "papersize_hint": "Papersize in width and height (ex. \"210mm 297mm\")", + "gotenberg_host": "Gotenberg service host", + "pdf_variables_save_successfully": "PDF configuration saved successfully", + "pdf_variables_save_error": "PDF configuration could not be saved" }, "company_info": { - "company_info": "Company info", - "company_name": "Company Name", - "tax_id": "Tax Identification Number", - "vat_id": "VAT Identification Number", - "company_logo": "Company Logo", - "section_description": "Information about your company that will be displayed on invoices, estimates and other documents created by InvoiceShelf.", - "phone": "Phone", - "country": "Country", - "state": "State", - "city": "City", - "address": "Address", - "zip": "Zip", - "save": "Save", - "delete": "Delete", - "updated_message": "Company information updated successfully", - "delete_company": "Delete Company", - "delete_company_description": "Once you delete your company, you will lose all the data and files associated with it permanently.", - "are_you_absolutely_sure": "Are you absolutely sure?", - "delete_company_modal_desc": "This action cannot be undone. This will permanently delete {company} and all of its associated data.", - "delete_company_modal_label": "Please type {company} to confirm" + "company_info": "Info perusahaan", + "company_name": "Nama Perusahaan", + "tax_id": "Nomor Identifikasi Pajak", + "vat_id": "Nomor identifikasi PPN", + "company_logo": "Logo Perusahaan", + "section_description": "Informasi tentang perusahaan Anda yang akan ditampilkan pada faktur, penawaran, dan dokumen lain yang dibuat oleh InvoiceShelf.", + "phone": "Telepon", + "country": "Negara", + "state": "Provinsi", + "city": "Kota", + "address": "Alamat", + "zip": "Kodepos", + "save": "Simpan", + "delete": "Hapus", + "updated_message": "Informasi perusahaan berhasil diperbarui", + "delete_company": "Hapus Perusahaan", + "delete_company_description": "Setelah Anda menghapus perusahaan Anda, semua data dan file yang terkait dengannya akan hilang secara permanen.", + "are_you_absolutely_sure": "Apakah Anda benar-benar yakin?", + "delete_company_modal_desc": "Tindakan ini tidak bisa dibatalkan. Tindakan ini akan menghapus {company} dan semua data terkaitnya secara permanen.", + "delete_company_modal_label": "Mohon ketik ulang {company} untuk konfirmasi" }, "custom_fields": { - "title": "Custom Fields", + "title": "Kolom Khusus", "section_description": "Customize your Invoices, Estimates & Payment Receipts with your own fields. Make sure to use the below added fields on the address formats on Customization settings page.", - "add_custom_field": "Add Custom Field", - "edit_custom_field": "Edit Custom Field", - "field_name": "Field Name", + "add_custom_field": "Tambah Kolom Khusus", + "edit_custom_field": "Ubah Kolom Khusus", + "field_name": "Kolom Nama", "label": "Label", - "type": "Type", - "name": "Name", + "type": "Jenis", + "name": "Nama", "slug": "Slug", - "required": "Required", + "required": "Diperlukan", "placeholder": "Placeholder", - "help_text": "Help Text", - "default_value": "Default Value", - "prefix": "Prefix", - "starting_number": "Starting Number", + "help_text": "Teks bantuan", + "default_value": "Nilai standar", + "prefix": "Awalan", + "starting_number": "Angka dimulai", "model": "Model", - "help_text_description": "Enter some text to help users understand the purpose of this custom field.", - "suffix": "Suffix", - "yes": "Yes", - "no": "No", - "order": "Order", - "custom_field_confirm_delete": "You will not be able to recover this Custom Field", + "help_text_description": "Masukkan beberapa teks untuk membantu pengguna memahami tujuan kolom khusus ini.", + "suffix": "Akhiran", + "yes": "Ya", + "no": "Tidak", + "order": "Urutan", + "custom_field_confirm_delete": "Anda tidak akan dapat memulihkan Kolom Khusus ini", "already_in_use": "Custom Field is already in use", "deleted_message": "Custom Field deleted successfully", - "options": "options", - "add_option": "Add Options", - "add_another_option": "Add another option", - "sort_in_alphabetical_order": "Sort in Alphabetical Order", - "add_options_in_bulk": "Add options in bulk", - "use_predefined_options": "Use Predefined Options", - "select_custom_date": "Select Custom Date", - "select_relative_date": "Select Relative Date", - "ticked_by_default": "Ticked by default", - "updated_message": "Custom Field updated successfully", - "added_message": "Custom Field added successfully", - "press_enter_to_add": "Press enter to add new option", - "model_in_use": "Cannot update model for fields which are already in use.", - "type_in_use": "Cannot update type for fields which are already in use.", + "options": "opsi", + "add_option": "Tambah Opsi", + "add_another_option": "Tambahkan opsi lain", + "sort_in_alphabetical_order": "Urutan Berdasarkan Abjad", + "add_options_in_bulk": "Tambahkan Opsi secara Massal", + "use_predefined_options": "Gunakan Opsi yang Telah Ditentukan", + "select_custom_date": "Pilih Tanggal Khusus", + "select_relative_date": "Pilih Tanggal Relatif", + "ticked_by_default": "", + "updated_message": "Kolom Khusus berhasil diperbarui", + "added_message": "Kolom Khusus berhasil ditambahkan", + "press_enter_to_add": "Tekan 'enter' untuk menambahkan opsi baru", + "model_in_use": "Tidak dapat memperbarui model untuk kolom yang sudah digunakan.", + "type_in_use": "Tidak dapat memperbarui jenis untuk kolom yang sudah digunakan.", "model_type": { - "customer": "Customer", - "invoice": "Invoice", - "estimate": "Estimate", - "expense": "Expense", - "payment": "Payment" + "customer": "Pelanggan", + "invoice": "Faktur", + "estimate": "Penawaran", + "expense": "Pengeluaran", + "payment": "Pembayaran" } }, "customization": { - "customization": "customization", - "updated_message": "Company information updated successfully", - "save": "Save", - "insert_fields": "Insert Fields", - "learn_custom_format": "Learn how to use custom format", - "add_new_component": "Add New Component", - "component": "Component", + "customization": "kkkustomisasi", + "updated_message": "Informasi perusahaan berhasil diperbarui", + "save": "Simpan", + "insert_fields": "Isi kolom", + "learn_custom_format": "Pelajari cara menggunakan format khusus", + "add_new_component": "Tambahkan Komponen", + "component": "Komponen", "Parameter": "Parameter", - "series": "Series", - "series_description": "To set a static prefix/postfix like 'INV' across your company. It supports character length of up to 6 chars.", - "series_param_label": "Series Value", - "delimiter": "Delimiter", - "delimiter_description": "Single character for specifying the boundary between 2 separate components. By default its set to -", - "delimiter_param_label": "Delimiter Value", - "date_format": "Date Format", - "time_format": "Time Format", + "series": "Seri", + "series_description": "Untuk menyetel awalan/postfiks seperti 'INV' di seluruh perusahaan Anda. Ini mendukung panjang karakter hingga 6 karakter.", + "series_param_label": "Nilai Seri", + "delimiter": "Pemisah", + "delimiter_description": "Karakter tunggal untuk menentukan batas antara 2 komponen terpisah. Secara bawaan ditetapkan ke -", + "delimiter_param_label": "Nilai Pemisah", + "date_format": "Format Tanggal", + "time_format": "Format Waktu", "date_format_description": "A local date and time field which accepts a format parameter. The default format: 'Y' renders the current year.", "date_format_param_label": "Format", - "sequence": "Sequence", - "sequence_description": "Consecutive sequence of numbers across your company. You can specify the length on the given parameter.", - "sequence_param_label": "Sequence Length", - "customer_series": "Customer Series", - "customer_series_description": "To set a different prefix/postfix for each customer.", - "customer_sequence": "Customer Sequence", - "customer_sequence_description": "Consecutive sequence of numbers for each of your customer.", - "customer_sequence_param_label": "Sequence Length", - "random_sequence": "Random Sequence", - "random_sequence_description": "Random alphanumeric string. You can specify the length on the given parameter.", - "random_sequence_param_label": "Sequence Length", + "sequence": "Urutan", + "sequence_description": "Rangkaian angka berurutan di perusahaan Anda. Anda dapat menentukan panjang pada parameter yang diberikan.", + "sequence_param_label": "Panjang Urutan", + "customer_series": "Seri Pelanggan", + "customer_series_description": "Untuk mengatur awalan/akhiran yang berbeda untuk setiap pelanggan.", + "customer_sequence": "Urutan Pelanggan", + "customer_sequence_description": "Urutan angka berurutan untuk setiap pelanggan Anda.", + "customer_sequence_param_label": "Panjang Urutan", + "random_sequence": "Urutan Acak", + "random_sequence_description": "Teks alfanumerik acak. Anda dapat menentukan panjang pada parameter yang diberikan.", + "random_sequence_param_label": "Panjang Urutan", "invoices": { - "title": "Invoices", - "invoice_number_format": "Invoice Number Format", + "title": "Faktur", + "invoice_number_format": "Format Nomor Tagihan", "invoice_number_format_description": "Customize how your invoice number gets generated automatically when you create a new invoice.", - "preview_invoice_number": "Preview Invoice Number", - "due_date": "Due Date", + "preview_invoice_number": "Pratinjau Nomor Faktur", + "due_date": "Tanggal Jatuh Tempo", "due_date_description": "Specify how due date is automatically set when you create an invoice.", - "due_date_days": "Invoice Due after days", - "set_due_date_automatically": "Set Due Date Automatically", + "due_date_days": "Faktur jatuh tempo setelah (hari)", + "set_due_date_automatically": "Tetapkan Tanggal Jatuh Secara Otomatis", "set_due_date_automatically_description": "Enable this if you wish to set due date automatically when you create a new invoice.", "default_formats": "Default Formats", "default_formats_description": "Below given formats are used to fill up the fields automatically on invoice creation.", "default_invoice_email_body": "Default Invoice Email Body", - "company_address_format": "Company Address Format", - "shipping_address_format": "Shipping Address Format", - "billing_address_format": "Billing Address Format", - "invoice_email_attachment": "Send invoices as attachments", + "company_address_format": "Format Alamat Perusahaan", + "shipping_address_format": "Format Alamat Pengiriman", + "billing_address_format": "Format Alamat Penagihan", + "invoice_email_attachment": "Kirim faktur sebagai lampiran", "invoice_email_attachment_setting_description": "Enable this if you want to send invoices as email attachment. Please note that 'View Invoice' button in emails will not be displayed anymore when enabled.", - "invoice_settings_updated": "Invoice Settings updated successfully", + "invoice_settings_updated": "Pengaturan Faktur berhasil diperbarui", "retrospective_edits": "Retrospective Edits", - "allow": "Allow", - "disable_on_invoice_partial_paid": "Disable after partial payment is recorded", - "disable_on_invoice_paid": "Disable after full payment is recorded", - "disable_on_invoice_sent": "Disable after invoice is sent", - "retrospective_edits_description": " Based on your country's laws or your preference, you can restrict users from editing finalised invoices." + "allow": "Izin", + "disable_on_invoice_partial_paid": "Non-aktifkan setelah pembayaran sebagian dicatat", + "disable_on_invoice_paid": "Non-aktifkan setelah pembayaran penuh dicatat", + "disable_on_invoice_sent": "Non-aktifkan setelah faktur dikirim", + "retrospective_edits_description": " Berdasarkan undang-undang negara Anda atau preferensi Anda, Anda dapat membatasi pengguna untuk mengedit faktur akhir." }, "estimates": { - "title": "Estimates", - "estimate_number_format": "Estimate Number Format", - "estimate_number_format_description": "Customize how your estimate number gets generated automatically when you create a new estimate.", - "preview_estimate_number": "Preview Estimate Number", - "expiry_date": "Expiry Date", - "expiry_date_description": "Specify how expiry date is automatically set when you create an estimate.", + "title": "Penawaran", + "estimate_number_format": "Format Nomor Penawaran", + "estimate_number_format_description": "Sesuaikan cara nomor taksiran Anda dibuat secara otomatis saat Anda membuat taksiran baru.", + "preview_estimate_number": "Pamer Nomor Taksiran", + "expiry_date": "Tanggal Kadaluwarsa", + "expiry_date_description": "Tentukan bagaimana tanggal kedaluwarsa diatur secara otomatis saat Anda membuat taksiran.", "expiry_date_days": "Estimate Expires after days", "set_expiry_date_automatically": "Set Expiry Date Automatically", "set_expiry_date_automatically_description": "Enable this if you wish to set expiry date automatically when you create a new estimate.", "default_formats": "Default Formats", "default_formats_description": "Below given formats are used to fill up the fields automatically on estimate creation.", "default_estimate_email_body": "Default Estimate Email Body", - "company_address_format": "Company Address Format", - "shipping_address_format": "Shipping Address Format", - "billing_address_format": "Billing Address Format", + "company_address_format": "Format Alamat Perusahaan", + "shipping_address_format": "Format Alamat Pengiriman", + "billing_address_format": "Format Alamat Penagihan", "estimate_email_attachment": "Send estimates as attachments", "estimate_email_attachment_setting_description": "Enable this if you want to send the estimates as an email attachment. Please note that 'View Estimate' button in emails will not be displayed anymore when enabled.", "estimate_settings_updated": "Estimate Settings updated successfully", @@ -1054,13 +1064,13 @@ "convert_estimate_description": "Specify what happens to the estimate after it gets converted to an invoice.", "no_action": "No action", "delete_estimate": "Delete estimate", - "mark_estimate_as_accepted": "Mark estimate as accepted" + "mark_estimate_as_accepted": "Tandai peawaran sebagai diterima" }, "payments": { - "title": "Payments", - "payment_number_format": "Payment Number Format", + "title": "Pembayaran", + "payment_number_format": "Format Nomor Pembayaran", "payment_number_format_description": "Customize how your payment number gets generated automatically when you create a new payment.", - "preview_payment_number": "Preview Payment Number", + "preview_payment_number": "Pratinjau Nomor Pembayaran", "default_formats": "Default Formats", "default_formats_description": "Below given formats are used to fill up the fields automatically on payment creation.", "default_payment_email_body": "Default Payment Email Body", @@ -1083,67 +1093,69 @@ "deleted_message": "Item Unit deleted successfully" }, "notes": { - "title": "Notes", + "title": "Catatan", "description": "Save time by creating notes and reusing them on your invoices, estimates & payments.", "notes": "Notes", "type": "Type", - "add_note": "Add Note", - "add_new_note": "Add New Note", - "name": "Name", - "edit_note": "Edit Note", - "note_added": "Note added successfully", - "note_updated": "Note Updated successfully", + "is_default": "Select by default", + "is_default_description": "This note will be selected by default in new invoices.", + "add_note": "Tambahkan Catatan", + "add_new_note": "Tambahkan Catatan Baru", + "name": "Nama", + "edit_note": "Ubah Catatan", + "note_added": "Catatan berhasil ditambahkan", + "note_updated": "Catatan berhasil diperbaharui", "note_confirm_delete": "You will not be able to recover this Note", "already_in_use": "Note is already in use", "deleted_message": "Note deleted successfully", "types": { - "estimate": "Estimate", - "invoice": "Invoice", - "payment": "Payment" + "estimate": "Penawaran", + "invoice": "Faktur", + "payment": "Pembayaran" } } }, "account_settings": { - "profile_picture": "Profile Picture", - "name": "Name", - "email": "Email", - "password": "Password", - "confirm_password": "Confirm Password", - "account_settings": "Account Settings", - "save": "Save", + "profile_picture": "Foto Profil", + "name": "Nama", + "email": "Surel", + "password": "Kata Sandi", + "confirm_password": "Konfirmasi Kata Sandi", + "account_settings": "Pengaturan Akun", + "save": "Simpan", "section_description": "You can update your name, email & password using the form below.", "updated_message": "Account Settings updated successfully" }, "user_profile": { - "name": "Name", - "email": "Email", - "password": "Password", - "confirm_password": "Confirm Password" + "name": "Nama", + "email": "Surel", + "password": "Kata Sandi", + "confirm_password": "Konfirmasi Kata Sandi" }, "notification": { - "title": "Notifications", + "title": "Notifikasi", "email": "Send Notifications to", "description": "Which email notifications would you like to receive when something changes?", - "invoice_viewed": "Invoice viewed", + "invoice_viewed": "Faktur dilihat", "invoice_viewed_desc": "When your customer views the invoice sent via invoiceshelf dashboard.", - "estimate_viewed": "Estimate viewed", + "estimate_viewed": "Penawaran dilihat", "estimate_viewed_desc": "When your customer views the estimate sent via invoiceshelf dashboard.", - "save": "Save", + "save": "Simpan", "email_save_message": "Email saved successfully", "please_enter_email": "Please Enter Email" }, "roles": { "title": "Roles", "description": "Manage the roles & permissions of this company", - "save": "Save", + "save": "Simpan", "add_new_role": "Add New Role", "role_name": "Role Name", "added_on": "Added on", "add_role": "Add Role", "edit_role": "Edit Role", - "name": "Name", + "name": "Nama", "permission": "Permission | Permissions", - "select_all": "Select All", + "select_all": "Pilih Semua", "none": "None", "confirm_delete": "You will not be able to recover this Role", "created_message": "Role created successfully", @@ -1155,14 +1167,14 @@ "exchange_rate": "Exchange Rate", "title": "Fix Currency Exchange issues", "description": "Please enter exchange rate of all the currencies mentioned below to help InvoiceShelf properly calculate the amounts in {currency}.", - "drivers": "Drivers", + "drivers": "Driver", "new_driver": "Add New Provider", "edit_driver": "Edit Provider", - "select_driver": "Select Driver", + "select_driver": "Pilih Driver", "update": "select exchange rate ", "providers_description": "Configure your exchange rate providers here to automatically fetch the latest exchange rate on transactions.", "key": "API Key", - "name": "Name", + "name": "Nama", "driver": "Driver", "is_default": "IS DEFAULT", "currency": "Currencies", @@ -1178,24 +1190,24 @@ "open_exchange_rate": "Open Exchange Rate", "currency_converter": "Currency Converter", "server": "Server", - "url": "URL", + "url": "Alamat Web", "active": "Active", "currency_help_text": "This provider will only be used on above selected currencies", "currency_in_used": "The following currencies are already active on another provider. Please remove these currencies from selection to activate this provider again." }, "tax_types": { - "title": "Tax Types", - "add_tax": "Add Tax", - "edit_tax": "Edit Tax", + "title": "Jenis Pajak", + "add_tax": "Tambah Pajak", + "edit_tax": "Ubah Pajak", "description": "You can add or Remove Taxes as you please. InvoiceShelf supports Taxes on Individual Items as well as on the invoice.", - "add_new_tax": "Add New Tax", - "tax_settings": "Tax Settings", + "add_new_tax": "Tambah Pajak Baru", + "tax_settings": "Pengaturan Pajak", "tax_per_item": "Tax Per Item", - "tax_name": "Tax Name", + "tax_name": "Nama Pajak", "compound_tax": "Compound Tax", - "percent": "Percent", - "action": "Action", - "tax_setting_description": "Enable this if you want to add taxes to individual invoice items. By default, taxes are added directly to the invoice.", + "percent": "Persen", + "action": "Aksi", + "tax_setting_description": "Aktifkan ini jika Anda ingin menambahkan pajak ke masing-masing item faktur. Secara bawaan, pajak ditambahkan langsung ke faktur.", "created_message": "Tax type created successfully", "updated_message": "Tax type updated successfully", "deleted_message": "Tax type deleted successfully", @@ -1217,86 +1229,86 @@ }, "expense_category": { "title": "Expense Categories", - "action": "Action", + "action": "Aksi", "description": "Categories are required for adding expense entries. You can Add or Remove these categories according to your preference.", - "add_new_category": "Add New Category", - "add_category": "Add Category", - "edit_category": "Edit Category", - "category_name": "Category Name", - "category_description": "Description", - "created_message": "Expense Category created successfully", - "deleted_message": "Expense category deleted successfully", - "updated_message": "Expense category updated successfully", + "add_new_category": "Tambahkan Kategori Baru", + "add_category": "Tambah Kategori", + "edit_category": "Edit Kategori", + "category_name": "Nama Kategori", + "category_description": "Deskripsi", + "created_message": "Kategori Pengeluaran telah berhasil dibuat", + "deleted_message": "Kategori Pengeluaran telah berhasil dihapus", + "updated_message": "Kategori Pengeluaran berhasil diperbaharui", "confirm_delete": "You will not be able to recover this Expense Category", - "already_in_use": "Category is already in use" + "already_in_use": "Kategori sudah digunakan" }, "preferences": { - "currency": "Currency", - "default_language": "Default Language", - "time_zone": "Time Zone", + "currency": "Mata Uang", + "default_language": "Bahasa bawaan", + "time_zone": "Zona Waktu", "fiscal_year": "Financial Year", - "date_format": "Date Format", - "time_format": "Time Fromat", - "discount_setting": "Discount Setting", - "discount_per_item": "Discount Per Item ", + "date_format": "Format Tanggal", + "time_format": "Time Format", + "discount_setting": "Pengaturan Diskon", + "discount_per_item": "Diskon Per Item ", "discount_setting_description": "Enable this if you want to add Discount to individual invoice items. By default, Discount is added directly to the invoice.", "expire_public_links": "Automatically Expire Public Links", "expire_setting_description": "Specify whether you would like to expire all the links sent by application to view invoices, estimates & payments, etc after a specified duration.", - "save": "Save", + "save": "Simpan", "preference": "Preference | Preferences", "general_settings": "Default preferences for the system.", "updated_message": "Preferences updated successfully", - "select_language": "Select Language", - "select_time_zone": "Select Time Zone", - "select_date_format": "Select Date Format", - "select_time_format": "Select Time Format", + "select_language": "Pilih Bahasa", + "select_time_zone": "Pilih Zona Waktu", + "select_date_format": "Pilih Format Tanggal", + "select_time_format": "Pilih Format Tanggal", "select_financial_year": "Select Financial Year", "recurring_invoice_status": "Recurring Invoice Status", "create_status": "Create Status", - "active": "Active", - "on_hold": "On Hold", + "active": "Aktif", + "on_hold": "Ditangguhkan", "update_status": "Update Status", - "completed": "Completed", + "completed": "Selesai", "company_currency_unchangeable": "Company currency cannot be changed", "invoice_use_time": "Use time in invoices", "invoice_use_time_description": "Enable this if you want to select exact invoice time.", "fiscal_years": { - "january_december": "January - December", - "february_january": "February - January", - "march_february": "March - February", - "april_march": "April - March", - "may_april": "May - April", - "june_may": "June - May", - "july_june": "July - June", - "august_july": "August - July", - "september_august": "September - August", - "october_september": "October - September", - "november_october": "November - October", - "december_november": "December - November" + "january_december": "Januari - Desember", + "february_january": "Februari - Januari", + "march_february": "Maret - Februari", + "april_march": "April - Maret", + "may_april": "Mei - April", + "june_may": "Juni - Mei", + "july_june": "Juli - Juni", + "august_july": "Agustus - Juli", + "september_august": "September - Agustus", + "october_september": "Oktober - September", + "november_october": "November - Oktober", + "december_november": "Desember - November" } }, "update_app": { - "title": "Update App", + "title": "Perbarui Aplikasi", "description": "You can easily update InvoiceShelf by checking for a new update by clicking the button below", "check_update": "Check for updates", "insider_consent": "Opt-in for Insider releases. Recommended for testing purposes only.", "avail_update": "New Update available", - "next_version": "Next version", - "requirements": "Requirements", - "update": "Update Now", - "update_progress": "Update in progress...", + "next_version": "Versi selanjutnya", + "requirements": "Persyaratan", + "update": "Perbarui Sekarang", + "update_progress": "Sedang memperbarui...", "progress_text": "It will just take a few minutes. Please do not refresh the screen or close the window before the update finishes", "update_success": "App has been updated! Please wait while your browser window gets reloaded automatically.", "latest_message": "No update available! You are on the latest version.", "current_version": "Current Version", - "download_zip_file": "Download ZIP file", - "unzipping_package": "Unzipping Package", + "download_zip_file": "Unduh berkas ZIP", + "unzipping_package": "Membuka berkas Zip", "copying_files": "Copying Files", - "deleting_files": "Deleting Unused files", - "running_migrations": "Running Migrations", - "finishing_update": "Finishing Update", - "update_failed": "Update Failed", - "update_failed_text": "Sorry! Your update failed on : {step} step", + "deleting_files": "Menghapus berkas yang tidak digunakan", + "running_migrations": "Menjalankan migrasi", + "finishing_update": "Menyelesaikan Pembaruan", + "update_failed": "Pembaruan Gagal", + "update_failed_text": "Maaf! Pembaruan Anda gagal pada langkah : {step}", "update_warning": "All of the application files and default template files will be overwritten when you update the application using this utility. Please take a backup of your templates & database before updating." }, "backup": { @@ -1317,7 +1329,7 @@ "newest_backups": "newest backups", "used_storage": "used storage", "select_disk": "Select Disk", - "action": "Action", + "action": "Aksi", "deleted_message": "Backup deleted successfully", "created_message": "Backup created successfully", "invalid_disk_credentials": "Invalid credential of selected disk" @@ -1327,7 +1339,7 @@ "description": "By default, InvoiceShelf will use your local disk for saving backups, avatar and other image files. You can configure more than one disk drivers like DigitalOcean, S3 and Dropbox according to your preference.", "created_at": "created at", "dropbox": "dropbox", - "name": "Name", + "name": "Nama", "driver": "Driver", "disk_type": "Type", "disk_name": "Disk Name", @@ -1337,19 +1349,19 @@ "local_root": "local Root", "public_driver": "Public Driver", "public_root": "Public Root", - "public_url": "Public URL", + "public_url": "Alamat Web Publik", "public_visibility": "Public Visibility", "media_driver": "Media Driver", "media_root": "Media Root", - "aws_driver": "AWS Driver", - "aws_key": "AWS Key", - "aws_secret": "AWS Secret", + "aws_driver": "Driver AWS", + "aws_key": "Kunci AWS", + "aws_secret": "Kunci Rahasia AWS", "aws_region": "AWS Region", "aws_bucket": "AWS Bucket", "aws_root": "AWS Root", "s3_endpoint": "S3 Endpoint", - "s3_key": "S3 Key", - "s3_secret": "S3 Secret", + "s3_key": "Kunci S3", + "s3_secret": "Kunci Rahasia S3", "s3_region": "S3 Region", "s3_bucket": "S3 Bucket", "s3_root": "S3 Root", @@ -1360,13 +1372,13 @@ "do_spaces_bucket": "Do Spaces Bucket", "do_spaces_endpoint": "Do Spaces Endpoint", "do_spaces_root": "Do Spaces Root", - "dropbox_type": "Dropbox Type", - "dropbox_token": "Dropbox Token", - "dropbox_key": "Dropbox Key", - "dropbox_secret": "Dropbox Secret", - "dropbox_app": "Dropbox App", - "dropbox_root": "Dropbox Root", - "default_driver": "Default Driver", + "dropbox_type": "Jenis Dropbox", + "dropbox_token": "Token Dropbox", + "dropbox_key": "Kunci Dropbox", + "dropbox_secret": "Kunci Rahasia Dropbox", + "dropbox_app": "Aplikasi Dropbox", + "dropbox_root": "Root Dropbox", + "default_driver": "Driver Bawaan", "is_default": "IS DEFAULT", "set_default_disk": "Set Default Disk", "set_default_disk_confirm": "This disk will be set as default and all the new PDFs will be saved on this disk", @@ -1376,7 +1388,7 @@ "select_disk": "Select Disk", "disk_settings": "Disk Settings", "confirm_delete": "Your existing files & folders in the specified disk will not be affected but your disk configuration will be deleted from InvoiceShelf", - "action": "Action", + "action": "Aksi", "edit_file_disk": "Edit File Disk", "success_create": "Disk added successfully", "success_update": "Disk updated successfully", @@ -1387,70 +1399,70 @@ "invalid_disk_credentials": "Invalid credential of selected disk" }, "taxations": { - "add_billing_address": "Enter Billing Address", + "add_billing_address": "Masukkan Alamat Penagihan", "add_shipping_address": "Enter Shipping Address", "add_company_address": "Enter Company Address", "modal_description": "The information below is required in order to fetch sales tax.", "add_address": "Add Address for fetching sales tax.", - "address_placeholder": "Example: 123, My Street", - "city_placeholder": "Example: Los Angeles", - "state_placeholder": "Example: CA", - "zip_placeholder": "Example: 90024", + "address_placeholder": "Contoh: 123, My Street", + "city_placeholder": "Contoh: Los Angeles", + "state_placeholder": "Contoh: CA", + "zip_placeholder": "Contoh: 90024", "invalid_address": "Please provide valid address details." } }, "wizard": { "account_info": "Account Information", "account_info_desc": "Below details will be used to create the main Administrator account. Also you can change the details anytime after logging in.", - "name": "Name", - "email": "Email", - "password": "Password", - "confirm_password": "Confirm Password", - "save_cont": "Save & Continue", - "company_info": "Company Information", + "name": "Nama", + "email": "Surel", + "password": "Kata Sandi", + "confirm_password": "Konfirmasi Kata Sandi", + "save_cont": "Simpan & Lanjutkan", + "company_info": "Informasi Perusahaan", "company_info_desc": "This information will be displayed on invoices. Note that you can edit this later on settings page.", - "company_name": "Company Name", - "company_logo": "Company Logo", - "logo_preview": "Logo Preview", - "preferences": "Company Preferences", + "company_name": "Nama Perusahaan", + "company_logo": "Logo Perusahaan", + "logo_preview": "Pratinjau Logo", + "preferences": "Preferensi Perusahaan", "preferences_desc": "Specify the default preferences for this company.", "currency_set_alert": "The company's currency cannot be changed later.", - "country": "Country", - "state": "State", - "city": "City", - "address": "Address", - "street": "Street1 | Street2", - "phone": "Phone", - "zip_code": "Zip Code", - "go_back": "Go Back", - "currency": "Currency", - "language": "Language", - "time_zone": "Time Zone", + "country": "Negara", + "state": "Provinsi", + "city": "Kota", + "address": "Alamat", + "street": "Jalan1 | Jalan2", + "phone": "Telepon", + "zip_code": "Kode Pos", + "go_back": "Kembali", + "currency": "Mata Uang", + "language": "Bahasa", + "time_zone": "Zona Waktu", "fiscal_year": "Financial Year", - "date_format": "Date Format", - "time_format": "Time Format", + "date_format": "Format Tanggal", + "time_format": "Format Waktu", "from_address": "From Address", - "username": "Username", + "username": "Nama Pengguna", "next": "Next", "continue": "Continue", - "skip": "Skip", + "skip": "Lewati", "install_language": { - "title": "Choose your language", + "title": "Pilih bahasa", "description": "Select language wizard to install InvoiceShelf" }, "database": { - "database": "Site URL & Database", - "connection": "Database Connection", - "host": "Database Host", - "port": "Database Port", - "password": "Database Password", - "app_url": "App URL", - "app_domain": "App Domain", - "username": "Database Username", - "db_name": "Database Name", - "db_path": "Database Path", + "database": "Alamat Situs Web dan Basisdata", + "connection": "Koneksi Basis Data", + "host": "Server Basisdata", + "port": "Port Basisdata", + "password": "Kata Sandi Basisdata", + "app_url": "Alamat Web Aplikasi", + "app_domain": "Domain Aplikasi", + "username": "Nama Pengguna Basisdata", + "db_name": "Nama Basis Data", + "db_path": "Jalur Basis Data", "overwrite": "Overwrite existing database and proceed", - "desc": "Create a database on your server and set the credentials using the form below." + "desc": "Buat database di server kamu dan atur kredensial menggunakan formulir di bawah ini." }, "permissions": { "permissions": "Permissions", @@ -1459,15 +1471,15 @@ "permission_desc": "Below is the list of folder permissions which are required in order for the app to work. If the permission check fails, make sure to update your folder permissions." }, "verify_domain": { - "title": "Domain Verification", + "title": "Verifikasi Domain", "desc": "InvoiceShelf uses Session based authentication which requires domain verification for security purposes. Please enter the domain on which you will be accessing your web application.", - "app_domain": "App Domain", - "verify_now": "Verify Now", - "success": "Domain Verify Successfully.", - "failed": "Domain verification failed. Please enter valid domain name.", - "verify_and_continue": "Verify And Continue", + "app_domain": "Domain Aplikasi", + "verify_now": "Verifikasi Sekarang", + "success": "Verifikasi Domain berhasil.", + "failed": "Verifikasi Domain gagal, Tolong masukkan Nama Domain yang valid.", + "verify_and_continue": "Verifikasi dan Lanjutkan", "notes": { - "notes": "Notes:", + "notes": "Catatan:", "not_contain": "App domain should not contain", "or": "or", "in_front": "in front of the domain.", @@ -1475,47 +1487,47 @@ } }, "mail": { - "host": "Mail Host", - "port": "Mail Port", - "driver": "Mail Driver", - "secret": "Secret", - "mailgun_secret": "Mailgun Secret", + "host": "Server Surel", + "port": "Port Surel", + "driver": "Driver Surel", + "secret": "Kunci Rahasia", + "mailgun_secret": "Kunci Rahasia Mailgun", "mailgun_domain": "Domain", "mailgun_endpoint": "Mailgun Endpoint", - "ses_secret": "SES Secret", - "ses_key": "SES Key", - "password": "Mail Password", - "username": "Mail Username", - "mail_config": "Mail Configuration", + "ses_secret": "Kunci Rahasia SES", + "ses_key": "Kunci SES", + "password": "Kata Sandi Surel", + "username": "Nama Pengguna Surel", + "mail_config": "Konfigurasi Surel", "from_name": "From Mail Name", "from_mail": "From Mail Address", - "encryption": "Mail Encryption", + "encryption": "Enkripsi Surel", "mail_config_desc": "Below is the form for Configuring Email driver for sending emails from the app. You can also configure third party providers like Sendgrid, SES etc." }, "req": { "system_req": "System Requirements", - "php_req_version": "Php (version {version} required)", + "php_req_version": "Php (diperlukan versi {version})", "check_req": "Check Requirements", - "system_req_desc": "InvoiceShelf has a few server requirements. Make sure that your server has the required php version and all the extensions mentioned below." + "system_req_desc": "InvoiceShelf memiliki beberapa persyaratan server. Pastikan serverAnda memiliki versi php yang diperlukan dan semua ekstensi yang disebutkan di bawah ini." }, "errors": { - "migrate_failed": "Migrate Failed", + "migrate_failed": "Migrasi Gagal", "database_variables_save_error": "Cannot write configuration to .env file. Please check its file permissions", - "mail_variables_save_error": "Email configuration failed.", - "connection_failed": "Database connection failed", + "mail_variables_save_error": "Konfigurasi surel gagal.", + "connection_failed": "Koneksi ke Basis data gagal", "database_should_be_empty": "Database should be empty" }, "success": { - "mail_variables_save_successfully": "Email configured successfully", + "mail_variables_save_successfully": "Surel berhasil dikonfigurasi", "database_variables_save_successfully": "Database configured successfully." } }, "validation": { "invalid_phone": "Invalid Phone Number", - "invalid_url": "Invalid url (ex: http://www.invoiceshelf.com)", - "invalid_domain_url": "Invalid url (ex: invoiceshelf.com)", + "invalid_url": "Alamat web tidak valid (contoh: http://www.invoiceshelf.com)", + "invalid_domain_url": "Alamat web tidak valid (contoh: invoiceshelf.com)", "required": "Field is required", - "email_incorrect": "Incorrect Email.", + "email_incorrect": "Surel Salah.", "email_already_taken": "The email has already been taken.", "email_does_not_exist": "User with given email doesn't exist", "item_unit_already_taken": "This item unit name has already been taken", @@ -1576,63 +1588,63 @@ "invalid_city": "Please enter a valid city.", "invalid_postal_code": "Please enter a valid zip.", "invalid_format": "Please enter valid query string format.", - "api_error": "Server not responding.", + "api_error": "Server Tidak Menanggapi.", "feature_not_enabled": "Feature not enabled.", - "request_limit_met": "Api request limit exceeded.", - "address_incomplete": "Incomplete Address" + "request_limit_met": "Batas permintaan api terlampaui.", + "address_incomplete": "Alamat tidak Lengkap" }, - "pdf_estimate_label": "Estimate", - "pdf_estimate_number": "Estimate Number", - "pdf_estimate_date": "Estimate Date", + "pdf_estimate_label": "Penawaran", + "pdf_estimate_number": "Nomor Penawaran", + "pdf_estimate_date": "Tanggal Penawaran", "pdf_estimate_expire_date": "Expiry date", - "pdf_invoice_label": "Invoice", - "pdf_invoice_number": "Invoice Number", - "pdf_invoice_date": "Invoice Date", - "pdf_invoice_due_date": "Due date", - "pdf_notes": "Notes", + "pdf_invoice_label": "Faktur", + "pdf_invoice_number": "Nomor Faktur", + "pdf_invoice_date": "Tanggal Faktur", + "pdf_invoice_due_date": "Due Date", + "pdf_notes": "Catatan", "pdf_items_label": "Items", "pdf_quantity_label": "Quantity", - "pdf_price_label": "Price", - "pdf_discount_label": "Discount", - "pdf_amount_label": "Amount", + "pdf_price_label": "Harga", + "pdf_discount_label": "Diskon", + "pdf_amount_label": "Jumlah", "pdf_subtotal": "Subtotal", "pdf_total": "Total", - "pdf_payment_label": "Payment", - "pdf_payment_receipt_label": "PAYMENT RECEIPT", - "pdf_payment_date": "Payment Date", - "pdf_payment_number": "Payment Number", - "pdf_payment_mode": "Payment Mode", - "pdf_payment_amount_received_label": "Amount Received", - "pdf_expense_report_label": "EXPENSES REPORT", - "pdf_total_expenses_label": "TOTAL EXPENSE", - "pdf_profit_loss_label": "PROFIT & LOSS REPORT", - "pdf_sales_customers_label": "Sales Customer Report", - "pdf_sales_items_label": "Sales Item Report", - "pdf_tax_summery_label": "Tax Summary Report", - "pdf_income_label": "INCOME", - "pdf_net_profit_label": "NET PROFIT", - "pdf_customer_sales_report": "Sales Report: By Customer", - "pdf_total_sales_label": "TOTAL SALES", - "pdf_item_sales_label": "Sales Report: By Item", - "pdf_tax_report_label": "TAX REPORT", - "pdf_total_tax_label": "TOTAL TAX", - "pdf_tax_types_label": "Tax Types", - "pdf_expenses_label": "Expenses", - "pdf_bill_to": "Bill to,", - "pdf_ship_to": "Ship to,", - "pdf_received_from": "Received from:", - "pdf_tax_label": "Tax", - "pdf_tax_id": "Tax-ID", - "pdf_vat_id": "VAT-ID", - "pdf_amount_paid": "Amount Paid", - "pdf_amount_due": "Amount Due", - "mail_thanks": "Thanks", - "mail_view_estimate": "View Estimate", - "mail_viewed_estimate": ":name viewed this Estimate.", - "mail_view_invoice": "View Invoice", - "mail_viewed_invoice": ":name viewed this Invoice.", - "mail_view_payment": "View Payment", - "notification_view_estimate": "[Notification] Estimate viewed", - "notification_view_invoice": "[Notification] Invoice viewed", - "You have received a new invoice from {COMPANY_NAME}.
Please download using the button below:": "You have received a new invoice from {COMPANY_NAME}.
Please download using the button below:" + "pdf_payment_label": "Pembayaran", + "pdf_payment_receipt_label": "TANDA TERIMA PEMBAYARAN", + "pdf_payment_date": "Tanggal Pembayaran", + "pdf_payment_number": "Nomor Pembayaran", + "pdf_payment_mode": "Mode Pembayaran", + "pdf_payment_amount_received_label": "Jumlah yang Diterima", + "pdf_expense_report_label": "LAPORAN PENGELUARAN", + "pdf_total_expenses_label": "TOTAL PENGELUARAN", + "pdf_profit_loss_label": "LAPORAN LABA & RUGI", + "pdf_sales_customers_label": "Laporan Penjualan Pelanggan", + "pdf_sales_items_label": "Laporan Item Penjualan", + "pdf_tax_summery_label": "Laporan Ringkasan Pajak", + "pdf_income_label": "PENDAPATAN", + "pdf_net_profit_label": "LABA BERSIH", + "pdf_customer_sales_report": "Laporan Penjualan: Berdasarkan Pelanggan", + "pdf_total_sales_label": "TOTAL PENJUALAN", + "pdf_item_sales_label": "Laporan Penjualan: Berdasarkan Item", + "pdf_tax_report_label": "LAPORAN PAJAK", + "pdf_total_tax_label": "TOTAL PAJAK", + "pdf_tax_types_label": "Jenis Pajak", + "pdf_expenses_label": "Pengeluaran", + "pdf_bill_to": "Ditagih ke,", + "pdf_ship_to": "Dikirim ke,", + "pdf_received_from": "Diterima dari:", + "pdf_tax_label": "Pajak", + "pdf_tax_id": "ID-PAJAK", + "pdf_vat_id": "ID-PPN", + "pdf_amount_paid": "Jumlah yang Dibayar", + "pdf_amount_due": "Jumlah yang Harus Dibayar", + "mail_thanks": "Terima kasih", + "mail_view_estimate": "Lihat Penawaran", + "mail_viewed_estimate": ":name melihat Penawaran ini.", + "mail_view_invoice": "Lihat Faktur", + "mail_viewed_invoice": ":name melihat Faktur ini.", + "mail_view_payment": "Lihat Pembayaran", + "notification_view_estimate": "[Pemberitahuan] Penawaran Dilihat", + "notification_view_invoice": "[Pemberitahuan] Faktur Dilihat", + "You have received a new invoice from {COMPANY_NAME}.
Please download using the button below:": "Anda telah menerima faktur baru dari {COMPANY_NAME}.
Silakan unduh menggunakan tombol di bawah ini:" } diff --git a/lang/it.json b/lang/it.json index 691716b3..43bfafeb 100644 --- a/lang/it.json +++ b/lang/it.json @@ -852,7 +852,8 @@ "payment_modes": "Modalità di Pagamento", "notes": "Note", "exchange_rate": "Tasso di cambio", - "address_information": "Indirizzo" + "address_information": "Indirizzo", + "pdf_generation": "PDF Generation" }, "address_information": { "section_description": " Puoi aggiornare le informazioni sul tuo indirizzo utilizzando il modulo sottostante." @@ -893,6 +894,7 @@ "mailgun_endpoint": "Endpoint Mailgun", "ses_secret": "Segreto SES", "ses_key": "Chiave SES", + "ses_region": "AWS Region", "password": "Password Email", "username": "Nome Utente Email", "mail_config": "Configurazione Mail", @@ -904,7 +906,15 @@ "pdf": { "title": "Configurazione PDF", "footer_text": "Testo Footer", - "pdf_layout": "Layout PDF" + "pdf_layout": "Layout PDF", + "pdf_configuration": "PDF Generation Settings", + "section_description": "Change the way PDFs are generated", + "driver": "PDF Driver to use", + "papersize": "Papersize", + "papersize_hint": "Papersize in width and height (ex. \"210mm 297mm\")", + "gotenberg_host": "Gotenberg service host", + "pdf_variables_save_successfully": "PDF configuration saved successfully", + "pdf_variables_save_error": "PDF configuration could not be saved" }, "company_info": { "company_info": "Info azienda", @@ -1087,6 +1097,8 @@ "description": "Risparmia tempo creando note e riutilizzandole sulle tue fatture, preventivi e pagamenti.", "notes": "Note", "type": "genere", + "is_default": "Select by default", + "is_default_description": "This note will be selected by default in new invoices.", "add_note": "Aggiungi Nota", "add_new_note": "Aggiungi nuova nota", "name": "Nome", @@ -1236,7 +1248,7 @@ "time_zone": "Fuso Orario", "fiscal_year": "Anno finanziario", "date_format": "Formato Data", - "time_format": "Time Fromat", + "time_format": "Time Format", "discount_setting": "Impostazione Sconto", "discount_per_item": "Sconto Per Item ", "discount_setting_description": "Abilita se vuoi aggiungere uno sconto ad uno specifica fattura. Di default, lo sconto è aggiunto direttamente in fattura.", @@ -1588,7 +1600,7 @@ "pdf_invoice_label": "Fattura", "pdf_invoice_number": "Numero Fattura", "pdf_invoice_date": "Data fattura", - "pdf_invoice_due_date": "Data di pagamento", + "pdf_invoice_due_date": "Due Date", "pdf_notes": "Note", "pdf_items_label": "Commesse", "pdf_quantity_label": "Quantità", diff --git a/lang/ja.json b/lang/ja.json index bc396426..566349af 100644 --- a/lang/ja.json +++ b/lang/ja.json @@ -852,7 +852,8 @@ "payment_modes": "支払い方法", "notes": "ノート", "exchange_rate": "為替レート", - "address_information": "住所情報" + "address_information": "住所情報", + "pdf_generation": "PDF Generation" }, "address_information": { "section_description": " 以下のフォームを使用して、住所情報を更新できます。" @@ -864,7 +865,7 @@ "primary_currency": "主要通貨", "timezone": "タイムゾーン", "date_format": "日付の形式", - "time_format": "Time Format", + "time_format": "時刻形式", "currencies": { "title": "通貨", "currency": "通貨", @@ -893,6 +894,7 @@ "mailgun_endpoint": "Mailgun エンドポイント", "ses_secret": "SESシークレット", "ses_key": "SESキー", + "ses_region": "AWS Region", "password": "メールのパスワード", "username": "メールのユーザー名", "mail_config": "メール設定", @@ -904,7 +906,15 @@ "pdf": { "title": "PDFの設定", "footer_text": "フッターの文章", - "pdf_layout": "PDFのレイアウト" + "pdf_layout": "PDFのレイアウト", + "pdf_configuration": "PDF Generation Settings", + "section_description": "Change the way PDFs are generated", + "driver": "PDF Driver to use", + "papersize": "Papersize", + "papersize_hint": "Papersize in width and height (ex. \"210mm 297mm\")", + "gotenberg_host": "Gotenberg service host", + "pdf_variables_save_successfully": "PDF configuration saved successfully", + "pdf_variables_save_error": "PDF configuration could not be saved" }, "company_info": { "company_info": "会社情報", @@ -991,7 +1001,7 @@ "delimiter_description": "2 つの異なるコンポーネント間の境界を指定するための 1 つの文字。デフォルトでは次のように設定されています -", "delimiter_param_label": "区切り文字の値", "date_format": "日付形式", - "time_format": "Time Format", + "time_format": "時刻形式", "date_format_description": "フォーマットパラメータを受け入れるローカルの日付と時刻のフィールド。デフォルトのフォーマット: 'Y' は現在の年をレンダリングします。", "date_format_param_label": "フォーマット", "sequence": "シーケンス", @@ -1087,6 +1097,8 @@ "description": "ノートを作成し、請求書、見積り、支払いで再利用することで時間を節約します。", "notes": "ノート", "type": "タイプ", + "is_default": "Select by default", + "is_default_description": "This note will be selected by default in new invoices.", "add_note": "ノートの追加", "add_new_note": "新規ノートを追加", "name": "名前", @@ -1236,7 +1248,7 @@ "time_zone": "タイムゾーン", "fiscal_year": "会計年度", "date_format": "日付形式", - "time_format": "Time Fromat", + "time_format": "時刻形式", "discount_setting": "割引設定", "discount_per_item": "アイテムごとの割引 ", "discount_setting_description": "個々の請求書項目に割引を追加する場合はこれを有効にします。デフォルトでは割引は請求書に直接追加されます。", @@ -1249,7 +1261,7 @@ "select_language": "言語の選択", "select_time_zone": "タイムゾーンの選択", "select_date_format": "日付形式を選択", - "select_time_format": "Select Time Format", + "select_time_format": "時刻形式を選択", "select_financial_year": "会計年度の選択", "recurring_invoice_status": "定期請求書のステータス", "create_status": "ステータスを作成", @@ -1258,8 +1270,8 @@ "update_status": "ステータスの更新", "completed": "完了", "company_currency_unchangeable": "会社の通貨は変更できません", - "invoice_use_time": "Use time in invoices", - "invoice_use_time_description": "Enable this if you want to select exact invoice time.", + "invoice_use_time": "請求書の時間を使用", + "invoice_use_time_description": "正確な請求書の時刻を選択する場合は、これを有効にします。", "fiscal_years": { "january_december": "1月-12月", "february_january": "2月-1月", @@ -1278,361 +1290,361 @@ "update_app": { "title": "アプリの更新", "description": "下のボタンをクリックするとInvoiceShelfを簡単にアップデートできます。", - "check_update": "Check for updates", - "insider_consent": "Opt-in for Insider releases. Recommended for testing purposes only.", - "avail_update": "New Update available", - "next_version": "Next version", - "requirements": "Requirements", - "update": "Update Now", - "update_progress": "Update in progress...", - "progress_text": "It will just take a few minutes. Please do not refresh the screen or close the window before the update finishes", - "update_success": "App has been updated! Please wait while your browser window gets reloaded automatically.", - "latest_message": "No update available! You are on the latest version.", - "current_version": "Current Version", - "download_zip_file": "Download ZIP file", - "unzipping_package": "Unzipping Package", - "copying_files": "Copying Files", - "deleting_files": "Deleting Unused files", - "running_migrations": "Running Migrations", - "finishing_update": "Finishing Update", - "update_failed": "Update Failed", - "update_failed_text": "Sorry! Your update failed on : {step} step", - "update_warning": "All of the application files and default template files will be overwritten when you update the application using this utility. Please take a backup of your templates & database before updating." + "check_update": "アップデートを確認する", + "insider_consent": "Insiderリリースにオプトインします。テストのみに推奨されます。", + "avail_update": "新しいアップデートが利用可能です", + "next_version": "次のバージョン", + "requirements": "要件", + "update": "今すぐアップデート", + "update_progress": "アップデート中...", + "progress_text": "数分程度かかります。更新が完了するまで画面を更新したりウィンドウを閉じたりしないでください。", + "update_success": "アプリが更新されました!ブラウザが自動的に再読み込みされるまでお待ちください。", + "latest_message": "利用可能なアップデートはありません!最新バージョンです。", + "current_version": "現在のバージョン", + "download_zip_file": "ZIPファイルをダウンロード", + "unzipping_package": "パッケージの展開中", + "copying_files": "ファイルのコピー中", + "deleting_files": "未使用のファイルの削除", + "running_migrations": "移行を実行中", + "finishing_update": "アップデート完了", + "update_failed": "アップデートに失敗しました", + "update_failed_text": "申し訳ありません。更新に失敗しました: {step} ステップ", + "update_warning": "このユーティリティを使用してアプリケーションを更新するとすべてのアプリケーションファイルと既定のテンプレートファイルが上書きされます。更新する前にテンプレートとデータベースのバックアップを作成してください。" }, "backup": { - "title": "Backup | Backups", - "description": "The backup is a zipfile that contains all files in the directories you specify along with a dump of your database", - "new_backup": "Add New Backup", - "create_backup": "Create Backup", - "select_backup_type": "Select Backup Type", - "backup_confirm_delete": "You will not be able to recover this Backup", - "path": "path", - "new_disk": "New Disk", - "created_at": "created at", - "size": "size", + "title": "バックアップ | バックアップ", + "description": "バックアップは指定したディレクトリ内のすべてのファイルとデータベースのダンプを含むzipファイルです。", + "new_backup": "新しいバックアップを追加", + "create_backup": "バックアップを作成", + "select_backup_type": "バックアップの種類を選択", + "backup_confirm_delete": "このバックアップを復元することはできません", + "path": "パス", + "new_disk": "新しいディスク", + "created_at": "作成日", + "size": "サイズ", "dropbox": "dropbox", - "local": "local", + "local": "ローカル", "healthy": "healthy", - "amount_of_backups": "amount of backups", - "newest_backups": "newest backups", - "used_storage": "used storage", - "select_disk": "Select Disk", - "action": "Action", - "deleted_message": "Backup deleted successfully", - "created_message": "Backup created successfully", - "invalid_disk_credentials": "Invalid credential of selected disk" + "amount_of_backups": "バックアップ数", + "newest_backups": "最新のバックアップ", + "used_storage": "ストレージ使用量", + "select_disk": "ディスクを選択", + "action": "アクション", + "deleted_message": "バックアップは正常に削除されました", + "created_message": "バックアップは正常に作成されました。", + "invalid_disk_credentials": "選択したディスクの認証情報が無効です" }, "disk": { - "title": "File Disk | File Disks", - "description": "By default, InvoiceShelf will use your local disk for saving backups, avatar and other image files. You can configure more than one disk drivers like DigitalOcean, S3 and Dropbox according to your preference.", - "created_at": "created at", + "title": "ファイルディスク | ファイルディスク", + "description": "デフォルトではInvoiceShelfはバックアップ、アバター、その他の画像ファイルの保存にローカル ディスクを使用します。好みに応じて、DigitalOcean、S3、Dropbox などの複数のディスク ドライバーを構成できます。", + "created_at": "作成日", "dropbox": "dropbox", - "name": "Name", - "driver": "Driver", - "disk_type": "Type", - "disk_name": "Disk Name", - "new_disk": "Add New Disk", - "filesystem_driver": "Filesystem Driver", - "local_driver": "local Driver", - "local_root": "local Root", - "public_driver": "Public Driver", - "public_root": "Public Root", - "public_url": "Public URL", - "public_visibility": "Public Visibility", - "media_driver": "Media Driver", - "media_root": "Media Root", - "aws_driver": "AWS Driver", - "aws_key": "AWS Key", - "aws_secret": "AWS Secret", - "aws_region": "AWS Region", - "aws_bucket": "AWS Bucket", - "aws_root": "AWS Root", - "s3_endpoint": "S3 Endpoint", - "s3_key": "S3 Key", - "s3_secret": "S3 Secret", - "s3_region": "S3 Region", - "s3_bucket": "S3 Bucket", - "s3_root": "S3 Root", - "do_spaces_type": "Do Spaces type", - "do_spaces_key": "Do Spaces key", - "do_spaces_secret": "Do Spaces Secret", - "do_spaces_region": "Do Spaces Region", - "do_spaces_bucket": "Do Spaces Bucket", - "do_spaces_endpoint": "Do Spaces Endpoint", - "do_spaces_root": "Do Spaces Root", - "dropbox_type": "Dropbox Type", - "dropbox_token": "Dropbox Token", - "dropbox_key": "Dropbox Key", - "dropbox_secret": "Dropbox Secret", - "dropbox_app": "Dropbox App", - "dropbox_root": "Dropbox Root", - "default_driver": "Default Driver", - "is_default": "IS DEFAULT", - "set_default_disk": "Set Default Disk", - "set_default_disk_confirm": "This disk will be set as default and all the new PDFs will be saved on this disk", - "success_set_default_disk": "Disk set as default successfully", - "save_pdf_to_disk": "Save PDFs to Disk", - "disk_setting_description": " Enable this, if you wish to save a copy of each Invoice, Estimate & Payment Receipt PDF on your default disk automatically. Turning this option will decrease the load-time when viewing the PDFs.", - "select_disk": "Select Disk", - "disk_settings": "Disk Settings", - "confirm_delete": "Your existing files & folders in the specified disk will not be affected but your disk configuration will be deleted from InvoiceShelf", - "action": "Action", - "edit_file_disk": "Edit File Disk", - "success_create": "Disk added successfully", - "success_update": "Disk updated successfully", - "error": "Disk addition failed", - "deleted_message": "File Disk deleted successfully", - "disk_variables_save_successfully": "Disk Configured Successfully", - "disk_variables_save_error": "Disk configuration failed.", - "invalid_disk_credentials": "Invalid credential of selected disk" + "name": "名前", + "driver": "ドライバ", + "disk_type": "タイプ", + "disk_name": "ディスク名", + "new_disk": "新しいディスクを追加", + "filesystem_driver": "ファイルシステムドライバ", + "local_driver": "ローカルドライバ", + "local_root": "ローカルルート", + "public_driver": "公開ドライバ", + "public_root": "公開ルート", + "public_url": "公開URL", + "public_visibility": "公開表示", + "media_driver": "メディアドライバ", + "media_root": "メディアルート", + "aws_driver": "AWSドライバ", + "aws_key": "AWSキー", + "aws_secret": "AWSシークレット", + "aws_region": "AWSリージョン", + "aws_bucket": "AWSバケット", + "aws_root": "AWSルート", + "s3_endpoint": "S3エンドポイント", + "s3_key": "S3キー", + "s3_secret": "S3シークレット", + "s3_region": "S3リージョン", + "s3_bucket": "S3バケット", + "s3_root": "S3ルート", + "do_spaces_type": "Do Spacesタイプ", + "do_spaces_key": "Do Spacesキー", + "do_spaces_secret": "Do Spacesシークレット", + "do_spaces_region": "Do Spacesリージョン", + "do_spaces_bucket": "Do Spacesバケット", + "do_spaces_endpoint": "Do Spacesエンドポイント", + "do_spaces_root": "Do Spacesルート", + "dropbox_type": "Dropboxタイプ", + "dropbox_token": "Dropboxトークン", + "dropbox_key": "Dropboxキー", + "dropbox_secret": "Dropboxシークレット", + "dropbox_app": "Dropboxアプリ", + "dropbox_root": "Dropboxルート", + "default_driver": "既定のドライバ", + "is_default": "既定値", + "set_default_disk": "既定のディスクを設定", + "set_default_disk_confirm": "このディスクは既定値として設定され、すべての新しいPDFがこのディスクに保存されます", + "success_set_default_disk": "ディスクを既定に設定しました", + "save_pdf_to_disk": "PDFをディスクに保存", + "disk_setting_description": " 請求書、見積書、支払い領収書の各PDFのコピーをデフォルトのディスクに自動的に保存する場合は、これを有効にします。このオプションをオンにするとPDFを表示するときの読み込み時間が短縮されます。", + "select_disk": "ディスクを選択", + "disk_settings": "ディスクの設定", + "confirm_delete": "指定されたディスク内の既存のファイルとフォルダは影響を受けませんが、ディスク構成はInvoiceShelfから削除されます。", + "action": "アクション", + "edit_file_disk": "ファイルディスクの編集", + "success_create": "ディスクの追加に成功しました", + "success_update": "ディスクは正常に更新されました", + "error": "ディスク追加に失敗しました", + "deleted_message": "ファイルディスクは正常に削除されました", + "disk_variables_save_successfully": "ディスクの設定が完了しました", + "disk_variables_save_error": "ディスクの設定に失敗しました。", + "invalid_disk_credentials": "選択したディスクの認証情報が無効です" }, "taxations": { - "add_billing_address": "Enter Billing Address", - "add_shipping_address": "Enter Shipping Address", - "add_company_address": "Enter Company Address", - "modal_description": "The information below is required in order to fetch sales tax.", - "add_address": "Add Address for fetching sales tax.", - "address_placeholder": "Example: 123, My Street", - "city_placeholder": "Example: Los Angeles", - "state_placeholder": "Example: CA", - "zip_placeholder": "Example: 90024", - "invalid_address": "Please provide valid address details." + "add_billing_address": "請求先住所を入力", + "add_shipping_address": "配送先住所を入力", + "add_company_address": "会社住所を入力", + "modal_description": "消費税を取得するには以下の情報が必要です。", + "add_address": "消費税を取得するための住所を追加します。", + "address_placeholder": "例: 123、番地", + "city_placeholder": "例: ロサンゼルス", + "state_placeholder": "例: CA", + "zip_placeholder": "例: 90024", + "invalid_address": "有効な住所の詳細を入力してください。" } }, "wizard": { - "account_info": "Account Information", - "account_info_desc": "Below details will be used to create the main Administrator account. Also you can change the details anytime after logging in.", - "name": "Name", - "email": "Email", - "password": "Password", - "confirm_password": "Confirm Password", - "save_cont": "Save & Continue", - "company_info": "Company Information", - "company_info_desc": "This information will be displayed on invoices. Note that you can edit this later on settings page.", - "company_name": "Company Name", - "company_logo": "Company Logo", - "logo_preview": "Logo Preview", - "preferences": "Company Preferences", - "preferences_desc": "Specify the default preferences for this company.", - "currency_set_alert": "The company's currency cannot be changed later.", - "country": "Country", - "state": "State", - "city": "City", - "address": "Address", - "street": "Street1 | Street2", - "phone": "Phone", - "zip_code": "Zip Code", - "go_back": "Go Back", - "currency": "Currency", - "language": "Language", - "time_zone": "Time Zone", - "fiscal_year": "Financial Year", - "date_format": "Date Format", - "time_format": "Time Format", - "from_address": "From Address", - "username": "Username", - "next": "Next", - "continue": "Continue", - "skip": "Skip", + "account_info": "アカウント情報", + "account_info_desc": "以下の詳細はメインの管理者アカウントを作成するために使用されます。また、ログイン後いつでも詳細を変更できます。", + "name": "名前", + "email": "メール", + "password": "パスワード", + "confirm_password": "パスワードの再入力", + "save_cont": "保存して続ける", + "company_info": "会社情報", + "company_info_desc": "この情報は請求書に表示されます。設定ページで後で編集できます。", + "company_name": "会社名", + "company_logo": "企業ロゴ", + "logo_preview": "ロゴのプレビュー", + "preferences": "会社設定", + "preferences_desc": "この会社のデフォルトの設定を指定します。", + "currency_set_alert": "会社の通貨は後から変更できません。", + "country": "国", + "state": "都道府県", + "city": "市区町村", + "address": "住所", + "street": "住所1 | 住所2", + "phone": "電話", + "zip_code": "郵便番号", + "go_back": "戻る", + "currency": "通貨", + "language": "言語", + "time_zone": "タイムゾーン", + "fiscal_year": "会計年度", + "date_format": "日付形式", + "time_format": "時刻形式", + "from_address": "差出人アドレス", + "username": "ユーザー名", + "next": "次", + "continue": "続行", + "skip": "スキップ", "install_language": { - "title": "Choose your language", - "description": "Select language wizard to install InvoiceShelf" + "title": "言語選択", + "description": "InvoiceShelfをインストールする言語ウィザードを選択してください" }, "database": { - "database": "Site URL & Database", - "connection": "Database Connection", - "host": "Database Host", - "port": "Database Port", - "password": "Database Password", - "app_url": "App URL", - "app_domain": "App Domain", - "username": "Database Username", - "db_name": "Database Name", - "db_path": "Database Path", - "overwrite": "Overwrite existing database and proceed", - "desc": "Create a database on your server and set the credentials using the form below." + "database": "サイトURLとデータベース", + "connection": "データベース接続", + "host": "データベースホスト", + "port": "データベースポート", + "password": "データベースパスワード", + "app_url": "アプリURL", + "app_domain": "アプリのドメイン", + "username": "データベースのユーザ名", + "db_name": "データベース名", + "db_path": "データベースのパス", + "overwrite": "既存のデータベースを上書きして続行します", + "desc": "サーバーにデータベースを作成し、以下のフォームを使用して資格情報を設定します。" }, "permissions": { - "permissions": "Permissions", - "permission_confirm_title": "Are you sure you want to continue?", - "permission_confirm_desc": "Folder permission check failed", - "permission_desc": "Below is the list of folder permissions which are required in order for the app to work. If the permission check fails, make sure to update your folder permissions." + "permissions": "権限", + "permission_confirm_title": "本当に続行しますか?", + "permission_confirm_desc": "フォルダ権限のチェックに失敗しました", + "permission_desc": "以下はアプリが動作するために必要なフォルダー権限のリストです。権限チェックが失敗した場合はフォルダー権限を更新してください。" }, "verify_domain": { - "title": "Domain Verification", - "desc": "InvoiceShelf uses Session based authentication which requires domain verification for security purposes. Please enter the domain on which you will be accessing your web application.", - "app_domain": "App Domain", - "verify_now": "Verify Now", - "success": "Domain Verify Successfully.", - "failed": "Domain verification failed. Please enter valid domain name.", - "verify_and_continue": "Verify And Continue", + "title": "ドメイン検証", + "desc": "InvoiceShelfはセキュリティ上の理由からドメイン検証を必要とするセッションベースの認証を使用します。Web アプリケーションにアクセスするドメインを入力してください。", + "app_domain": "アプリのドメイン", + "verify_now": "今すぐ確認", + "success": "ドメインの確認に成功しました。", + "failed": "ドメイン検証に失敗しました。有効なドメイン名を入力してください。", + "verify_and_continue": "確認して続ける", "notes": { - "notes": "Notes:", - "not_contain": "App domain should not contain", - "or": "or", - "in_front": "in front of the domain.", - "if_you": "If you're accessing the website on a different port, please mention the port. For example:" + "notes": "ノート:", + "not_contain": "アプリのドメインを含めることはできません", + "or": "または", + "in_front": "ドメインの前。", + "if_you": "別のポートでWebサイトにアクセスする場合はポートを指定してください。例:" } }, "mail": { - "host": "Mail Host", - "port": "Mail Port", - "driver": "Mail Driver", - "secret": "Secret", - "mailgun_secret": "Mailgun Secret", - "mailgun_domain": "Domain", - "mailgun_endpoint": "Mailgun Endpoint", - "ses_secret": "SES Secret", - "ses_key": "SES Key", - "password": "Mail Password", - "username": "Mail Username", - "mail_config": "Mail Configuration", - "from_name": "From Mail Name", - "from_mail": "From Mail Address", - "encryption": "Mail Encryption", - "mail_config_desc": "Below is the form for Configuring Email driver for sending emails from the app. You can also configure third party providers like Sendgrid, SES etc." + "host": "メールサーバーアドレス", + "port": "メールポート", + "driver": "メールドライバ", + "secret": "シークレット", + "mailgun_secret": "Mailgunシークレット", + "mailgun_domain": "ドメイン", + "mailgun_endpoint": "Mailgunエンドポイント", + "ses_secret": "SESシークレット", + "ses_key": "SESキー", + "password": "メールのパスワード", + "username": "メールのユーザー名", + "mail_config": "メール設定", + "from_name": "送信者名", + "from_mail": "差出人アドレス", + "encryption": "メールの暗号化", + "mail_config_desc": "以下は、アプリからメールを送信するためのメールドライバーを構成するためのフォームです。Sendgrid、SES などのサードパーティ プロバイダーを構成することもできます。" }, "req": { - "system_req": "System Requirements", - "php_req_version": "Php (version {version} required)", - "check_req": "Check Requirements", - "system_req_desc": "InvoiceShelf has a few server requirements. Make sure that your server has the required php version and all the extensions mentioned below." + "system_req": "システム要件", + "php_req_version": "PHP(バージョン{version}が必要)", + "check_req": "要件を確認する", + "system_req_desc": "InvoiceShelfにはいくつかのサーバー要件があります。サーバーに必要なPHPバージョンと以下に記載されているすべての拡張機能がインストールされていることを確認してください。" }, "errors": { - "migrate_failed": "Migrate Failed", - "database_variables_save_error": "Cannot write configuration to .env file. Please check its file permissions", - "mail_variables_save_error": "Email configuration failed.", - "connection_failed": "Database connection failed", - "database_should_be_empty": "Database should be empty" + "migrate_failed": "移行に失敗しました", + "database_variables_save_error": ".envファイルに構成を書き込めません。ファイルの権限を確認してください。", + "mail_variables_save_error": "メールの設定に失敗しました。", + "connection_failed": "データベース接続に失敗しました", + "database_should_be_empty": "データベースは空である必要があります" }, "success": { - "mail_variables_save_successfully": "Email configured successfully", - "database_variables_save_successfully": "Database configured successfully." + "mail_variables_save_successfully": "メールが正常に設定されました", + "database_variables_save_successfully": "データベースが正常に構成されました。" } }, "validation": { - "invalid_phone": "Invalid Phone Number", - "invalid_url": "Invalid url (ex: http://www.invoiceshelf.com)", - "invalid_domain_url": "Invalid url (ex: invoiceshelf.com)", - "required": "Field is required", - "email_incorrect": "Incorrect Email.", - "email_already_taken": "The email has already been taken.", - "email_does_not_exist": "User with given email doesn't exist", - "item_unit_already_taken": "This item unit name has already been taken", - "payment_mode_already_taken": "This payment mode name has already been taken", - "send_reset_link": "Send Reset Link", - "not_yet": "Not yet? Send it again", - "password_min_length": "Password must contain {count} characters", - "name_min_length": "Name must have at least {count} letters.", - "prefix_min_length": "Prefix must have at least {count} letters.", - "enter_valid_tax_rate": "Enter valid tax rate", - "numbers_only": "Numbers Only.", - "characters_only": "Characters Only.", - "password_incorrect": "Passwords must be identical", - "password_length": "Password must be {count} character long.", - "qty_must_greater_than_zero": "Quantity must be greater than zero.", - "price_greater_than_zero": "Price must be greater than zero.", - "payment_greater_than_zero": "Payment must be greater than zero.", - "payment_greater_than_due_amount": "Entered Payment is more than due amount of this invoice.", - "quantity_maxlength": "Quantity should not be greater than 20 digits.", - "price_maxlength": "Price should not be greater than 20 digits.", - "price_minvalue": "Price should be greater than 0.", - "amount_maxlength": "Amount should not be greater than 20 digits.", - "amount_minvalue": "Amount should be greater than 0.", - "discount_maxlength": "Discount should not be greater than max discount", - "description_maxlength": "Description should not be greater than 255 characters.", - "subject_maxlength": "Subject should not be greater than 100 characters.", - "message_maxlength": "Message should not be greater than 255 characters.", - "maximum_options_error": "Maximum of {max} options selected. First remove a selected option to select another.", - "notes_maxlength": "Notes should not be greater than 65,000 characters.", - "address_maxlength": "Address should not be greater than 255 characters.", - "ref_number_maxlength": "Ref Number should not be greater than 255 characters.", - "prefix_maxlength": "Prefix should not be greater than 5 characters.", - "something_went_wrong": "something went wrong", - "number_length_minvalue": "Number length should be greater than 0", - "at_least_one_ability": "Please select atleast one Permission.", - "valid_driver_key": "Please enter a valid {driver} key.", - "valid_exchange_rate": "Please enter a valid exchange rate.", - "company_name_not_same": "Company name must match with given name." + "invalid_phone": "無効な電話番号", + "invalid_url": "無効なURL(例: http://www.invoiceshelf.com)", + "invalid_domain_url": "無効なURL(例: invoiceshelf.com)", + "required": "フィールドは必須です", + "email_incorrect": "メールが間違っています。", + "email_already_taken": "このメールはすでに使用されています。", + "email_does_not_exist": "指定されたメールのユーザーは存在しません", + "item_unit_already_taken": "このアイテムユニット名はすでに使用されています", + "payment_mode_already_taken": "この支払い方法の名前はすでに使用されています", + "send_reset_link": "再設定用リンクを送信", + "not_yet": "まだですか?もう一度送信してください", + "password_min_length": "パスワードには{count}文字を含める必要があります", + "name_min_length": "名前には少なくとも{count}文字が必要です。", + "prefix_min_length": "接頭辞には少なくとも{count}文字が必要です。", + "enter_valid_tax_rate": "有効な税率を入力してください", + "numbers_only": "数値のみ。", + "characters_only": "文字のみ。", + "password_incorrect": "パスワードは同一である必要があります", + "password_length": "パスワードは{count}文字以上でなければなりません。", + "qty_must_greater_than_zero": "数量はゼロより大きくなければなりません。", + "price_greater_than_zero": "価格はゼロより大きくなければなりません。", + "payment_greater_than_zero": "支払いはゼロより大きくなければなりません。", + "payment_greater_than_due_amount": "入力された支払い額はこの請求書の支払金額を超えています。", + "quantity_maxlength": "数量は20桁以上にしないでください。", + "price_maxlength": "価格は20桁以上にしないでください。", + "price_minvalue": "価格は0より大きくなければなりません。", + "amount_maxlength": "金額は20桁以上にしないでください。", + "amount_minvalue": "金額は0より大きくなければなりません。", + "discount_maxlength": "割引は最大割引より大きくすることはできません", + "description_maxlength": "説明は255文字以下にしてください。", + "subject_maxlength": "件名は100文字以下にしてください。", + "message_maxlength": "メッセージは255文字以下にしてください。", + "maximum_options_error": "最大の{max}個のオプションが選択されています。別のオプションを選択するにはまず選択したオプションを削除してください。", + "notes_maxlength": "ノートは65,000文字を超えないようにしてください。", + "address_maxlength": "アドレスは255文字以下にしてください。", + "ref_number_maxlength": "参照番号は255文字以下にしてください。", + "prefix_maxlength": "接頭辞は5文字以下にしてください。", + "something_went_wrong": "問題が発生しました", + "number_length_minvalue": "数値の長さは0より大きくなければなりません", + "at_least_one_ability": "少なくとも1つの権限を選択してください。", + "valid_driver_key": "有効な{driver}キーを入力してください。", + "valid_exchange_rate": "有効な為替レートを入力してください。", + "company_name_not_same": "会社名は指定された名前と一致する必要があります。" }, "errors": { - "starter_plan": "This feature is available on Starter plan and onwards!", - "invalid_provider_key": "Please Enter Valid Provider API Key.", - "estimate_number_used": "The estimate number has already been taken.", - "invoice_number_used": "The invoice number has already been taken.", - "payment_attached": "This invoice already has a payment attached to it. Make sure to delete the attached payments first in order to go ahead with the removal.", - "payment_number_used": "The payment number has already been taken.", - "name_already_taken": "The name has already been taken.", - "receipt_does_not_exist": "Receipt does not exist.", - "customer_cannot_be_changed_after_payment_is_added": "Customer cannot be change after payment is added", - "invalid_credentials": "Invalid Credentials.", - "not_allowed": "Not Allowed", - "login_invalid_credentials": "These credentials do not match our records.", - "enter_valid_cron_format": "Please enter a valid cron format", - "email_could_not_be_sent": "Email could not be sent to this email address.", - "invalid_address": "Please enter a valid address.", - "invalid_key": "Please enter valid key.", - "invalid_state": "Please enter a valid state.", - "invalid_city": "Please enter a valid city.", - "invalid_postal_code": "Please enter a valid zip.", - "invalid_format": "Please enter valid query string format.", - "api_error": "Server not responding.", - "feature_not_enabled": "Feature not enabled.", - "request_limit_met": "Api request limit exceeded.", - "address_incomplete": "Incomplete Address" + "starter_plan": "この機能はスタータープラン以降で利用できます!", + "invalid_provider_key": "有効なプロバイダーAPIキーを入力してください。", + "estimate_number_used": "見積番号はすでに使用されています。", + "invoice_number_used": "この請求番号はすでに使用されています。", + "payment_attached": "この請求書にはすでに支払いが添付されています。削除を進めるには添付されている支払いを先に削除してください。", + "payment_number_used": "支払い番号はすでに使用されています。", + "name_already_taken": "その名前はすでに使用されています。", + "receipt_does_not_exist": "領収書が存在しません。", + "customer_cannot_be_changed_after_payment_is_added": "支払いが追加された後は顧客を変更することはできません", + "invalid_credentials": "資格情報が無効です。", + "not_allowed": "許可されていません", + "login_invalid_credentials": "これらの資格情報はレコードと一致しません。", + "enter_valid_cron_format": "有効なcron形式を入力してください", + "email_could_not_be_sent": "このメールアドレスにメールを送信できませんでした。", + "invalid_address": "有効な住所を入力してください。", + "invalid_key": "有効なキーを入力してください。", + "invalid_state": "有効な都道府県を入力してください。", + "invalid_city": "有効な市区町村を入力してください。", + "invalid_postal_code": "有効な郵便番号を入力してください。", + "invalid_format": "有効なクエリ文字列形式を入力してください。", + "api_error": "サーバーが応答していません。", + "feature_not_enabled": "機能が有効になっていません。", + "request_limit_met": "APIリクエストの制限を超えました。", + "address_incomplete": "不完全なアドレス" }, - "pdf_estimate_label": "Estimate", - "pdf_estimate_number": "Estimate Number", - "pdf_estimate_date": "Estimate Date", + "pdf_estimate_label": "見積り", + "pdf_estimate_number": "見積番号", + "pdf_estimate_date": "見積日", "pdf_estimate_expire_date": "Expiry date", - "pdf_invoice_label": "Invoice", - "pdf_invoice_number": "Invoice Number", - "pdf_invoice_date": "Invoice Date", - "pdf_invoice_due_date": "Due date", - "pdf_notes": "Notes", - "pdf_items_label": "Items", - "pdf_quantity_label": "Quantity", - "pdf_price_label": "Price", - "pdf_discount_label": "Discount", - "pdf_amount_label": "Amount", - "pdf_subtotal": "Subtotal", - "pdf_total": "Total", - "pdf_payment_label": "Payment", - "pdf_payment_receipt_label": "PAYMENT RECEIPT", - "pdf_payment_date": "Payment Date", - "pdf_payment_number": "Payment Number", - "pdf_payment_mode": "Payment Mode", - "pdf_payment_amount_received_label": "Amount Received", - "pdf_expense_report_label": "EXPENSES REPORT", - "pdf_total_expenses_label": "TOTAL EXPENSE", - "pdf_profit_loss_label": "PROFIT & LOSS REPORT", - "pdf_sales_customers_label": "Sales Customer Report", - "pdf_sales_items_label": "Sales Item Report", - "pdf_tax_summery_label": "Tax Summary Report", - "pdf_income_label": "INCOME", - "pdf_net_profit_label": "NET PROFIT", - "pdf_customer_sales_report": "Sales Report: By Customer", - "pdf_total_sales_label": "TOTAL SALES", - "pdf_item_sales_label": "Sales Report: By Item", - "pdf_tax_report_label": "TAX REPORT", - "pdf_total_tax_label": "TOTAL TAX", - "pdf_tax_types_label": "Tax Types", + "pdf_invoice_label": "請求書", + "pdf_invoice_number": "請求番号", + "pdf_invoice_date": "請求日", + "pdf_invoice_due_date": "Due Date", + "pdf_notes": "ノート", + "pdf_items_label": "アイテム", + "pdf_quantity_label": "数量", + "pdf_price_label": "価格", + "pdf_discount_label": "割引", + "pdf_amount_label": "量", + "pdf_subtotal": "小計", + "pdf_total": "合計", + "pdf_payment_label": "支払い", + "pdf_payment_receipt_label": "支払い領収書", + "pdf_payment_date": "支払い日", + "pdf_payment_number": "支払番号", + "pdf_payment_mode": "支払い方法", + "pdf_payment_amount_received_label": "受取金​​額", + "pdf_expense_report_label": "経費報告書", + "pdf_total_expenses_label": "総費用", + "pdf_profit_loss_label": "損益報告書", + "pdf_sales_customers_label": "販売顧客レポート", + "pdf_sales_items_label": "販売品目レポート", + "pdf_tax_summery_label": "税金概要レポート", + "pdf_income_label": "収入", + "pdf_net_profit_label": "純利益", + "pdf_customer_sales_report": "売上レポート: 顧客別", + "pdf_total_sales_label": "総売上", + "pdf_item_sales_label": "売上レポート: 商品別", + "pdf_tax_report_label": "税レポート", + "pdf_total_tax_label": "合計税額", + "pdf_tax_types_label": "税の種類", "pdf_expenses_label": "支出", - "pdf_bill_to": "Bill to,", - "pdf_ship_to": "Ship to,", - "pdf_received_from": "Received from:", - "pdf_tax_label": "Tax", - "pdf_tax_id": "Tax-ID", - "pdf_vat_id": "VAT-ID", - "pdf_amount_paid": "Amount Paid", - "pdf_amount_due": "Amount Due", - "mail_thanks": "Thanks", - "mail_view_estimate": "View Estimate", - "mail_viewed_estimate": ":name viewed this Estimate.", - "mail_view_invoice": "View Invoice", - "mail_viewed_invoice": ":name viewed this Invoice.", - "mail_view_payment": "View Payment", - "notification_view_estimate": "[Notification] Estimate viewed", - "notification_view_invoice": "[Notification] Invoice viewed", - "You have received a new invoice from {COMPANY_NAME}.
Please download using the button below:": "You have received a new invoice from {COMPANY_NAME}.
Please download using the button below:" + "pdf_bill_to": "請求先", + "pdf_ship_to": "配送先", + "pdf_received_from": "受信元:", + "pdf_tax_label": "税", + "pdf_tax_id": "税ID", + "pdf_vat_id": "法人ID", + "pdf_amount_paid": "支払金額", + "pdf_amount_due": "請求金額", + "mail_thanks": "ありがとう", + "mail_view_estimate": "見積りを見る", + "mail_viewed_estimate": ":name がこの見積りを閲覧しました。", + "mail_view_invoice": "請求書を見る", + "mail_viewed_invoice": ":name がこの請求書を閲覧しました。", + "mail_view_payment": "支払いを表示", + "notification_view_estimate": "[通知] 見積りを閲覧しました", + "notification_view_invoice": "[通知] 請求書を閲覧しました", + "You have received a new invoice from {COMPANY_NAME}.
Please download using the button below:": "{COMPANY_NAME}から新しい請求書を受け取りました。
以下のボタンを使用してダウンロードしてください。" } diff --git a/lang/lt.json b/lang/lt.json index 8f08f555..0098d8e4 100644 --- a/lang/lt.json +++ b/lang/lt.json @@ -101,11 +101,11 @@ "login_successfully": "Prisijungta sėkmingai!", "logged_out_successfully": "Atsijungta sėkmingai", "mark_as_default": "Pažymėti kaip numatytąjį", - "no_data_found": "No data found", + "no_data_found": "Duomenų nerasta", "pagination": { - "previous": "Previous", - "next": "Next", - "showing": "Showing", + "previous": "Ankstesnis", + "next": "Kitas", + "showing": "Rodoma", "to": "to", "of": "of", "results": "results" @@ -852,7 +852,8 @@ "payment_modes": "Mokėjimo būdai", "notes": "Pastabos", "exchange_rate": "Valiutų kursas", - "address_information": "Address Information" + "address_information": "Address Information", + "pdf_generation": "PDF Generation" }, "address_information": { "section_description": " You can update Your Address information using form below." @@ -893,6 +894,7 @@ "mailgun_endpoint": "Mailgun Endpoint", "ses_secret": "SES Secret", "ses_key": "SES Key", + "ses_region": "AWS Region", "password": "Mail Password", "username": "Mail Username", "mail_config": "Mail Configuration", @@ -904,7 +906,15 @@ "pdf": { "title": "PDF nustatymai", "footer_text": "Poraštės tekstas", - "pdf_layout": "PDF Išdėstymas" + "pdf_layout": "PDF Išdėstymas", + "pdf_configuration": "PDF Generation Settings", + "section_description": "Change the way PDFs are generated", + "driver": "PDF Driver to use", + "papersize": "Papersize", + "papersize_hint": "Papersize in width and height (ex. \"210mm 297mm\")", + "gotenberg_host": "Gotenberg service host", + "pdf_variables_save_successfully": "PDF configuration saved successfully", + "pdf_variables_save_error": "PDF configuration could not be saved" }, "company_info": { "company_info": "Company info", @@ -1087,6 +1097,8 @@ "description": "Save time by creating notes and reusing them on your invoices, estimates & payments.", "notes": "Pastabos", "type": "Tipas", + "is_default": "Select by default", + "is_default_description": "This note will be selected by default in new invoices.", "add_note": "Pridėti pastabą", "add_new_note": "Pridėti Naują Pastabą", "name": "Pavadinimas", @@ -1236,7 +1248,7 @@ "time_zone": "Laiko zona", "fiscal_year": "Finansiniai metai", "date_format": "Datos formatas", - "time_format": "Time Fromat", + "time_format": "Time Format", "discount_setting": "Discount Setting", "discount_per_item": "Discount Per Item ", "discount_setting_description": "Enable this if you want to add Discount to individual invoice items. By default, Discount is added directly to the invoice.", @@ -1588,7 +1600,7 @@ "pdf_invoice_label": "Sąskaita", "pdf_invoice_number": "Invoice Number", "pdf_invoice_date": "Invoice Date", - "pdf_invoice_due_date": "Due date", + "pdf_invoice_due_date": "Due Date", "pdf_notes": "Pastabos", "pdf_items_label": "Items", "pdf_quantity_label": "Kiekis", diff --git a/lang/lv.json b/lang/lv.json index 972927e6..dd9d521a 100644 --- a/lang/lv.json +++ b/lang/lv.json @@ -852,7 +852,8 @@ "payment_modes": "Apmaksas veidi", "notes": "Piezīmes", "exchange_rate": "Exchange Rate", - "address_information": "Address Information" + "address_information": "Address Information", + "pdf_generation": "PDF Generation" }, "address_information": { "section_description": " You can update Your Address information using form below." @@ -893,6 +894,7 @@ "mailgun_endpoint": "Mailgun Endpoint", "ses_secret": "SES Secret", "ses_key": "SES Key", + "ses_region": "AWS Region", "password": "E-pasta parole", "username": "E-pasta lietotājvārds", "mail_config": "E-pasta konfigurācija", @@ -904,7 +906,15 @@ "pdf": { "title": "PDF uzstādījumi", "footer_text": "Kājenes teksts", - "pdf_layout": "PDF izkārtojums" + "pdf_layout": "PDF izkārtojums", + "pdf_configuration": "PDF Generation Settings", + "section_description": "Change the way PDFs are generated", + "driver": "PDF Driver to use", + "papersize": "Papersize", + "papersize_hint": "Papersize in width and height (ex. \"210mm 297mm\")", + "gotenberg_host": "Gotenberg service host", + "pdf_variables_save_successfully": "PDF configuration saved successfully", + "pdf_variables_save_error": "PDF configuration could not be saved" }, "company_info": { "company_info": "Uzņēmuma informācija", @@ -1087,6 +1097,8 @@ "description": "Save time by creating notes and reusing them on your invoices, estimates & payments.", "notes": "Notes", "type": "Type", + "is_default": "Select by default", + "is_default_description": "This note will be selected by default in new invoices.", "add_note": "Add Note", "add_new_note": "Add New Note", "name": "Name", @@ -1236,7 +1248,7 @@ "time_zone": "Laika josla", "fiscal_year": "Finanšu gads", "date_format": "Datuma formāts", - "time_format": "Time Fromat", + "time_format": "Time Format", "discount_setting": "Atlaižu iestatījumi", "discount_per_item": "Atlaide par preci/pakalpojumu ", "discount_setting_description": "Iespējot šo, lai piešķirtu atlaides individuālām rēķina precēm. Pēc noklusējuma, atlaide tiek piemērota rēķinam.", @@ -1588,7 +1600,7 @@ "pdf_invoice_label": "Rēķins", "pdf_invoice_number": "Rēķina numurs", "pdf_invoice_date": "Rēķina datums", - "pdf_invoice_due_date": "Apmaksas termiņš", + "pdf_invoice_due_date": "Due Date", "pdf_notes": "Notes", "pdf_items_label": "Nosaukums", "pdf_quantity_label": "Daudzums", diff --git a/lang/mk.json b/lang/mk.json index 5c0cfcab..1cb51a22 100644 --- a/lang/mk.json +++ b/lang/mk.json @@ -57,7 +57,7 @@ "fixed": "Fixed", "percentage": "Percentage", "tax": "TAX", - "total_amount": "TOTAL AMOUNT", + "total_amount": "Вкупен износ", "bill_to": "Bill to", "ship_to": "Ship to", "due": "Due", @@ -111,7 +111,7 @@ "results": "results" }, "file_upload": { - "drag_a_file": "Drag a file here or", + "drag_a_file": "Повлечете го фаилот овде или", "browse": "browse", "to_choose": "to choose a file" }, @@ -852,7 +852,8 @@ "payment_modes": "Payment Modes", "notes": "Notes", "exchange_rate": "Exchange Rate", - "address_information": "Address Information" + "address_information": "Address Information", + "pdf_generation": "PDF Generation" }, "address_information": { "section_description": " You can update Your Address information using form below." @@ -893,6 +894,7 @@ "mailgun_endpoint": "Mailgun Endpoint", "ses_secret": "SES Secret", "ses_key": "SES Key", + "ses_region": "AWS Region", "password": "Mail Password", "username": "Mail Username", "mail_config": "Mail Configuration", @@ -904,7 +906,15 @@ "pdf": { "title": "PDF Setting", "footer_text": "Footer Text", - "pdf_layout": "PDF Layout" + "pdf_layout": "PDF Layout", + "pdf_configuration": "PDF Generation Settings", + "section_description": "Change the way PDFs are generated", + "driver": "PDF Driver to use", + "papersize": "Papersize", + "papersize_hint": "Papersize in width and height (ex. \"210mm 297mm\")", + "gotenberg_host": "Gotenberg service host", + "pdf_variables_save_successfully": "PDF configuration saved successfully", + "pdf_variables_save_error": "PDF configuration could not be saved" }, "company_info": { "company_info": "Company info", @@ -1087,6 +1097,8 @@ "description": "Save time by creating notes and reusing them on your invoices, estimates & payments.", "notes": "Notes", "type": "Type", + "is_default": "Select by default", + "is_default_description": "This note will be selected by default in new invoices.", "add_note": "Add Note", "add_new_note": "Add New Note", "name": "Name", @@ -1236,7 +1248,7 @@ "time_zone": "Time Zone", "fiscal_year": "Financial Year", "date_format": "Date Format", - "time_format": "Time Fromat", + "time_format": "Time Format", "discount_setting": "Discount Setting", "discount_per_item": "Discount Per Item ", "discount_setting_description": "Enable this if you want to add Discount to individual invoice items. By default, Discount is added directly to the invoice.", @@ -1588,7 +1600,7 @@ "pdf_invoice_label": "Invoice", "pdf_invoice_number": "Invoice Number", "pdf_invoice_date": "Invoice Date", - "pdf_invoice_due_date": "Due date", + "pdf_invoice_due_date": "Due Date", "pdf_notes": "Notes", "pdf_items_label": "Items", "pdf_quantity_label": "Quantity", diff --git a/lang/nl.json b/lang/nl.json index 1745f456..0de02ffe 100644 --- a/lang/nl.json +++ b/lang/nl.json @@ -852,7 +852,8 @@ "payment_modes": "Betaalmethodes", "notes": "Opmerkingen", "exchange_rate": "Wisselkoers", - "address_information": "Adresgegevens" + "address_information": "Adresgegevens", + "pdf_generation": "PDF Generation" }, "address_information": { "section_description": " U kunt uw adresgegevens bijwerken via het onderstaande formulier." @@ -893,6 +894,7 @@ "mailgun_endpoint": "Mailgun-eindpunt", "ses_secret": "SES geheim", "ses_key": "SES-sleutel", + "ses_region": "AWS Region", "password": "E-mail wachtwoord", "username": "E-mail gebruikersnaam", "mail_config": "E-mailconfiguratie", @@ -904,7 +906,15 @@ "pdf": { "title": "PDF-instelling", "footer_text": "Voettekst", - "pdf_layout": "PDF indeling" + "pdf_layout": "PDF indeling", + "pdf_configuration": "PDF Generation Settings", + "section_description": "Change the way PDFs are generated", + "driver": "PDF Driver to use", + "papersize": "Papersize", + "papersize_hint": "Papersize in width and height (ex. \"210mm 297mm\")", + "gotenberg_host": "Gotenberg service host", + "pdf_variables_save_successfully": "PDF configuration saved successfully", + "pdf_variables_save_error": "PDF configuration could not be saved" }, "company_info": { "company_info": "Bedrijfsinfo", @@ -1087,6 +1097,8 @@ "description": "Bespaar tijd door notities te maken en ze opnieuw te gebruiken op uw facturen, ramingen en betalingen.", "notes": "Opmerkingen", "type": "Type", + "is_default": "Select by default", + "is_default_description": "This note will be selected by default in new invoices.", "add_note": "Notitie toevoegen", "add_new_note": "Voeg een nieuwe notitie toe", "name": "Naam", @@ -1236,7 +1248,7 @@ "time_zone": "Tijdzone", "fiscal_year": "Financieel jaar", "date_format": "Datumnotatie", - "time_format": "Time Fromat", + "time_format": "Time Format", "discount_setting": "Kortingsinstelling", "discount_per_item": "Korting per item", "discount_setting_description": "Schakel dit in als u korting wilt toevoegen aan afzonderlijke factuuritems. Standaard wordt korting rechtstreeks aan de factuur toegevoegd.", @@ -1588,7 +1600,7 @@ "pdf_invoice_label": "Factuur", "pdf_invoice_number": "Factuurnummer", "pdf_invoice_date": "Factuur datum", - "pdf_invoice_due_date": "Vervaldatum", + "pdf_invoice_due_date": "Due Date", "pdf_notes": "Opmerkingen", "pdf_items_label": "Artikelen", "pdf_quantity_label": "Aantal stuks", diff --git a/lang/pl.json b/lang/pl.json index a696b9b8..de08407c 100644 --- a/lang/pl.json +++ b/lang/pl.json @@ -191,7 +191,7 @@ "customers": { "title": "Klienci", "prefix": "Przedrostek", - "tax_id": "Tax ID", + "tax_id": "NIP", "add_customer": "Dodaj klienta", "contacts_list": "Lista klientów", "name": "Nazwa", @@ -852,7 +852,8 @@ "payment_modes": "Rodzaje płatności", "notes": "Notatki", "exchange_rate": "Kurs wymiany", - "address_information": "Informacje Adresowe" + "address_information": "Informacje Adresowe", + "pdf_generation": "PDF Generation" }, "address_information": { "section_description": " Możesz zaktualizować informacje o adresie za pomocą poniższego formularza." @@ -893,6 +894,7 @@ "mailgun_endpoint": "Punkt dostępowy Mailgun", "ses_secret": "Tajny klucz SES", "ses_key": "Klucz SES", + "ses_region": "AWS Region", "password": "Hasło poczty", "username": "Nazwa użytkownika poczty", "mail_config": "Konfiguracja poczty", @@ -904,13 +906,21 @@ "pdf": { "title": "Ustawienia PDF", "footer_text": "Teks stopki", - "pdf_layout": "Szablon PDF" + "pdf_layout": "Szablon PDF", + "pdf_configuration": "PDF Generation Settings", + "section_description": "Change the way PDFs are generated", + "driver": "PDF Driver to use", + "papersize": "Papersize", + "papersize_hint": "Papersize in width and height (ex. \"210mm 297mm\")", + "gotenberg_host": "Gotenberg service host", + "pdf_variables_save_successfully": "PDF configuration saved successfully", + "pdf_variables_save_error": "PDF configuration could not be saved" }, "company_info": { "company_info": "Dane firmy", "company_name": "Nazwa firmy", - "tax_id": "Tax Identification Number", - "vat_id": "VAT Identification Number", + "tax_id": "Numer identyfikacyjny VAT", + "vat_id": "Numer identyfikacyjny VAT", "company_logo": "Logo firmy", "section_description": "Informacje o Twojej firmie, które będą wyświetlane na fakturach, ofertach i innych dokumentach stworzonych przez InvoiceShelf.", "phone": "Telefon", @@ -1087,6 +1097,8 @@ "description": "Oszczędzaj czas, tworząc notatki i ponownie używając ich na fakturach, ofertach i płatnościach.", "notes": "Notatki", "type": "Typ", + "is_default": "Select by default", + "is_default_description": "This note will be selected by default in new invoices.", "add_note": "Dodaj notatkę", "add_new_note": "Dodaj nową notatkę", "name": "Nazwa", @@ -1236,7 +1248,7 @@ "time_zone": "Strefa czasowa", "fiscal_year": "Rok finansowy", "date_format": "Format daty", - "time_format": "Time Fromat", + "time_format": "Time Format", "discount_setting": "Ustawienia rabatu", "discount_per_item": "Rabat na produkt ", "discount_setting_description": "Włącz to, jeśli chcesz dodać rabat do poszczególnych elementów faktury. Domyślnie rabat jest dodawany bezpośrednio do całej faktury.", @@ -1588,7 +1600,7 @@ "pdf_invoice_label": "Faktura", "pdf_invoice_number": "Numer faktury", "pdf_invoice_date": "Data faktury", - "pdf_invoice_due_date": "Termin", + "pdf_invoice_due_date": "Due Date", "pdf_notes": "Notatki", "pdf_items_label": "Pozycje", "pdf_quantity_label": "Ilość", @@ -1622,8 +1634,8 @@ "pdf_ship_to": "Wysyłka do", "pdf_received_from": "Otrzymane od:", "pdf_tax_label": "Podatek", - "pdf_tax_id": "Tax-ID", - "pdf_vat_id": "VAT-ID", + "pdf_tax_id": "NIP", + "pdf_vat_id": "NIP", "pdf_amount_paid": "Amount Paid", "pdf_amount_due": "Amount Due", "mail_thanks": "Thanks", diff --git a/lang/pt-br.json b/lang/pt-br.json index 4a394d62..0017b656 100644 --- a/lang/pt-br.json +++ b/lang/pt-br.json @@ -571,6 +571,7 @@ "mailgun_endpoint": "Mailgun Endpoint", "ses_secret": "SES Segredo", "ses_key": "SES Chave", + "ses_region": "Região AWS", "password": "Senha do Email", "username": "Nome de Usuário do Email", "mail_config": "Configuração de Email", diff --git a/lang/pt.json b/lang/pt.json index f130c452..95b91aa7 100644 --- a/lang/pt.json +++ b/lang/pt.json @@ -101,33 +101,33 @@ "login_successfully": "Geral → logado com sucesso!", "logged_out_successfully": "Geral → saiu com sucesso", "mark_as_default": "Geral → Marcar como padrão", - "no_data_found": "No data found", + "no_data_found": "Nenhum dado encontrado", "pagination": { - "previous": "Previous", - "next": "Next", - "showing": "Showing", - "to": "to", - "of": "of", - "results": "results" + "previous": "Voltar", + "next": "Próximo", + "showing": "Mostrando", + "to": "para", + "of": "de", + "results": "resultados" }, "file_upload": { - "drag_a_file": "Drag a file here or", - "browse": "browse", - "to_choose": "to choose a file" + "drag_a_file": "Arraste um arquivo aqui ou", + "browse": "procure", + "to_choose": "Escolher um arquivo" }, "multiselect": { - "the_list_is_empty": "The list is empty", - "no_results_found": "No results found" + "the_list_is_empty": "A lista está vazia", + "no_results_found": "Nenhum resultado encontrado" }, - "copy_to_clipboard": "Copy to Clipboard" + "copy_to_clipboard": "Copiar para Área de Transferência" }, "dashboard": { "select_year": "Selecione Ano", "cards": { "due_amount": "Total Vencido", - "customers": "Customer | Customers", - "invoices": "Invoice | Invoices", - "estimates": "Estimate | Estimates", + "customers": "Cliente | Clientes", + "invoices": "Fatura | Faturas", + "estimates": "Orçamento | Orçamentos", "payments": "Pagamento | Pagamentos" }, "chart_info": { @@ -191,7 +191,7 @@ "customers": { "title": "Clientes", "prefix": "Prefixo", - "tax_id": "Tax ID", + "tax_id": "CPF/CNPJ", "add_customer": "Adicionar cliente", "contacts_list": "Lista de clientes", "name": "Nome", @@ -324,9 +324,9 @@ "record_payment": "Registro de pago", "add_estimate": "Adicionar orçamento", "save_estimate": "Salvar Orçamento", - "cloned_successfully": "Estimate cloned successfully", - "clone_estimate": "Clone Estimate", - "confirm_clone": "This Estimate will be cloned into a new Estimate", + "cloned_successfully": "Orçamento clonado com sucesso", + "clone_estimate": "Clonar Orçamento", + "confirm_clone": "Esta fatura será clonada em uma nova fatura", "confirm_conversion": "Esse orçamento será usado para criar uma nova Fatura.", "conversion_message": "Fatura criada com sucesso", "confirm_send_estimate": "Este orçamento será enviado por email ao cliente", @@ -546,56 +546,56 @@ "no_matching_invoices": "Não há faturas recorrentes correspondentes!", "mark_as_sent_successfully": "Fatura recorrente marcada como enviada com sucesso", "invoice_sent_successfully": "Fatura enviada com sucesso", - "cloned_successfully": "Recurring Invoice cloned successfully", - "clone_invoice": "Clone Recurring Invoice", - "confirm_clone": "This recurring invoice will be cloned into a new Recurring Invoice", - "add_customer_email": "Please add an email address for this customer to send invoices automatically.", + "cloned_successfully": "Fatura recorrente copiada com sucesso", + "clone_invoice": "Copiar Fatura Recorrente", + "confirm_clone": "Esta fatura recorrente será copiada em uma nova fatura recorrente", + "add_customer_email": "Por favor, adicione um endereço eletrônico para este cliente para enviar faturas automaticamente.", "item": { - "title": "Item Title", - "description": "Description", - "quantity": "Quantity", - "price": "Price", - "discount": "Discount", + "title": "Titulo do Item", + "description": "Descrição", + "quantity": "Quantidade", + "price": "Preço", + "discount": "Desconto", "total": "Total", - "total_discount": "Total Discount", - "sub_total": "Sub Total", - "tax": "Tax", - "amount": "Amount", - "select_an_item": "Type or click to select an item", - "type_item_description": "Type Item Description (optional)" + "total_discount": "Desconto Total", + "sub_total": "Subtotal", + "tax": "Imposto", + "amount": "Valor", + "select_an_item": "Digite ou clique para selecionar um \"item\"", + "type_item_description": "Descrição do “item” (opcional)" }, "frequency": { - "title": "Frequency (using cron format)", - "select_frequency": "Select Frequency", - "minute": "Minute", - "hour": "Hour", - "day_month": "Day of month", - "month": "Month", - "day_week": "Day of week", - "every_minute": "Every Minute", - "every_30_minute": "Every 30 Minute", - "every_hour": "Every Hour", - "every_2_hour": "Every 2 Hour", - "every_day_at_midnight": "Every day at midnight", - "every_week": "Every Week", - "every_15_days_at_midnight": "Every 15 days at midnight", - "on_the_first_day_of_every_month_at_midnight": "On the first day of every month at 00:00", - "every_6_month": "Every 6 Month", - "every_year_on_the_first_day_of_january_at_midnight": "Every year on the first day of january at 00:00", - "custom": "Custom" + "title": "Frequência (usando o formato Cron)", + "select_frequency": "Selecionar frequência", + "minute": "Minuto", + "hour": "Hora", + "day_month": "Dia do mês", + "month": "Mês", + "day_week": "Dia da semana", + "every_minute": "A Cada Minuto", + "every_30_minute": "A cada 30 minutos", + "every_hour": "A cada hora", + "every_2_hour": "A cada 2 horas", + "every_day_at_midnight": "Diariamente à meia-noite", + "every_week": "Semanalmente", + "every_15_days_at_midnight": "A cada 15 dias à meia-noite", + "on_the_first_day_of_every_month_at_midnight": "No primeiro dia de cada mês às 00:00", + "every_6_month": "A cada 6 meses", + "every_year_on_the_first_day_of_january_at_midnight": "Todos os anos no primeiro dia do january às 00:00", + "custom": "Personalizada" }, - "confirm_delete": "You will not be able to recover this Invoice | You will not be able to recover these Invoices", - "created_message": "Recurring Invoice created successfully", - "updated_message": "Recurring Invoice updated successfully", - "deleted_message": "Recurring Invoice deleted successfully | Recurring Invoices deleted successfully", - "marked_as_sent_message": "Recurring Invoice marked as sent successfully", - "user_email_does_not_exist": "User email does not exist", - "something_went_wrong": "something went wrong", - "invalid_due_amount_message": "Total Recurring Invoice amount cannot be less than total paid amount for this Recurring Invoice. Please update the invoice or delete the associated payments to continue.", + "confirm_delete": "Você não poderá recuperar esta fatura | Você não poderá recuperar essas faturas", + "created_message": "Fatura recorrente criada com sucesso", + "updated_message": "Fatura recorrente atualizada com sucesso", + "deleted_message": "Fatura recorrente excluída com sucesso | Faturas recorrentes excluídas com sucesso", + "marked_as_sent_message": "Fatura recorrente marcada como enviada com sucesso", + "user_email_does_not_exist": "E-mail de usuário não existe", + "something_went_wrong": "algo deu errado", + "invalid_due_amount_message": "O valor total da fatura recorrente não pode ser menor que o valor total a ser pago para esta fatura. Atualize a fatura ou exclua os pagamentos associados para continuar.", "limit": { - "none": "None", - "date": "Date", - "count": "Count" + "none": "Nenhum", + "date": "Data", + "count": "Contagem" } }, "payments": { @@ -635,7 +635,7 @@ "updated_message": "Pagamento atualizado com sucesso", "deleted_message": "Pagamento excluído com sucesso | Pagamentos excluídos com sucesso", "invalid_amount_message": "O valor do pagamento é inválido", - "amount_due": "Due Amount" + "amount_due": "Valor Devido" }, "expenses": { "title": "Despesas", @@ -685,7 +685,7 @@ } }, "login": { - "email": "Email", + "email": "E-mail", "password": "Senha", "forgot_password": "Esqueceu a senha?", "or_signIn_with": "ou Entre com", @@ -698,50 +698,50 @@ "retype_password": "Confirme a Senha" }, "modules": { - "buy_now": "Buy Now", - "install": "Install", - "price": "Price", + "buy_now": "Comprar Agora", + "install": "Instalar", + "price": "Preço", "download_zip_file": "Baixar arquivo ZIP", - "unzipping_package": "Unzipping Package", - "copying_files": "Copying Files", - "deleting_files": "Deleting Unused files", - "completing_installation": "Completing Installation", - "update_failed": "Update Failed", - "install_success": "Module has been installed successfully!", - "customer_reviews": "Reviews", - "license": "License", - "faq": "FAQ", - "monthly": "Monthly", - "yearly": "Yearly", - "updated": "Updated", - "version": "Version", + "unzipping_package": "Descompactando o pacote", + "copying_files": "Copiando arquivos", + "deleting_files": "Excluindo arquivos não utilizados", + "completing_installation": "Completando instalação", + "update_failed": "Falha na atualização", + "install_success": "Módulo foi instalado com sucesso!", + "customer_reviews": "Avaliações", + "license": "Licença", + "faq": "Perguntas frequentes", + "monthly": "Mensal", + "yearly": "Anual", + "updated": "Atualizado", + "version": "Versão", "disable": "Desativar", - "module_disabled": "Module Disabled", - "enable": "Enable", - "module_enabled": "Module Enabled", - "update_to": "Update To", - "module_updated": "Module Updated Successfully!", - "title": "Modules", - "module": "Module | Modules", - "api_token": "API token", - "invalid_api_token": "Invalid API Token.", - "other_modules": "Other Modules", - "view_all": "View All", - "no_reviews_found": "There are no reviews for this module yet!", - "module_not_purchased": "Module Not Purchased", - "module_not_found": "Module Not Found", + "module_disabled": "Módulo Desabilitado", + "enable": "Habilitar", + "module_enabled": "Módulo Habilitado", + "update_to": "Atualizar Para", + "module_updated": "Módulo atualizado com sucesso!", + "title": "Módulos", + "module": "Módulo | Módulos", + "api_token": "Token de API", + "invalid_api_token": "Token da API inválido.", + "other_modules": "Outros Módulos", + "view_all": "Ver todos", + "no_reviews_found": "Não há avaliações para este módulo ainda!", + "module_not_purchased": "Módulo não comprado", + "module_not_found": "Módulo não encontrado", "version_not_supported": "This module version doesn't support the current version of InvoiceShelf", - "last_updated": "Last Updated On", - "connect_installation": "Connect your installation", - "api_token_description": "Login to {url} and connect this installation by entering the API Token. Your purchased modules will show up here after the connection is established.", - "view_module": "View Module", - "update_available": "Update Available", - "purchased": "Purchased", - "installed": "Installed", - "no_modules_installed": "No Modules Installed Yet!", - "disable_warning": "All the settings for this particular will be reverted.", - "what_you_get": "What you get", - "sign_up_and_get_token": "Sign up & Get Token" + "last_updated": "Última atualização em", + "connect_installation": "Conecte sua instalação", + "api_token_description": "Faça login em {url} e conecte esta instalação digitando o Token da API. Os módulos comprados aparecerão aqui após a conexão ser estabelecida.", + "view_module": "Ver Módulo", + "update_available": "Atualização Disponível", + "purchased": "Comprados", + "installed": "Instalado", + "no_modules_installed": "Nenhum módulo instalado ainda!", + "disable_warning": "Todas as configurações serão revertidas.", + "what_you_get": "O que você recebe", + "sign_up_and_get_token": "Registrar-se e Obter simbolo " }, "users": { "title": "Usuários", @@ -760,7 +760,7 @@ "edit_user": "Editar Usuário", "no_users": "Nenhum usuário ainda!", "list_of_users": "Esta seção conterá a lista de usuários.", - "email": "Email", + "email": "Clientes → Mensagem eletrônica", "phone": "Telefone", "password": "Senha", "user_attached_message": "Não é possível excluir um item que já está em uso", @@ -768,14 +768,14 @@ "created_message": "Usuário criado com sucesso", "updated_message": "Usuário atualizado com sucesso", "deleted_message": "Usuário excluído com sucesso | Usuários excluídos com sucesso", - "select_company_role": "Select Role for {company}", - "companies": "Companies" + "select_company_role": "Selecione o cargo da {company}", + "companies": "Empresas" }, "reports": { "title": "Relatório", "from_date": "A partir da Data", "to_date": "Até a Data", - "status": "Status", + "status": "Estado", "paid": "Pago", "unpaid": "Não Pago", "download_pdf": "Baixar PDF", @@ -795,8 +795,8 @@ "from_date": "A partir da Data", "report_type": "Tipo de Relatório", "sort": { - "by_customer": "By Customer", - "by_item": "By Item" + "by_customer": "Por Clientes", + "by_item": "Por Item" } }, "taxes": { @@ -814,7 +814,7 @@ "due_date": "Data de Vencimento", "amount": "Valor", "contact_name": "Nome de Contato", - "status": "Status" + "status": "Estado" }, "estimates": { "estimate": "Orçamento", @@ -824,7 +824,7 @@ "ref_number": "Referência", "amount": "Valor", "contact_name": "Nome de Contato", - "status": "Status" + "status": "Estado" }, "expenses": { "expenses": "Despesas", @@ -846,16 +846,17 @@ "tax_types": "Tipos de Impostos", "expense_category": "Categorias de Despesas", "update_app": "Atualizar Aplicativo", - "backup": "Backup", + "backup": "Cópia de segurança", "file_disk": "Disco de Arquivos", "custom_fields": "Os campos personalizados", "payment_modes": "Meios de Pagamento", "notes": "Observações", - "exchange_rate": "Exchange Rate", - "address_information": "Address Information" + "exchange_rate": "Taxa de câmbio", + "address_information": "Informações de Endereço", + "pdf_generation": "PDF Generation" }, "address_information": { - "section_description": " You can update Your Address information using form below." + "section_description": " Você pode atualizar suas informações de endereço usando o formulário abaixo." }, "title": "Configurações", "setting": "Configuração | Configurações", @@ -864,7 +865,7 @@ "primary_currency": "Moeda Principal", "timezone": "Fuso horário", "date_format": "Formato de data", - "time_format": "Time Format", + "time_format": "Formato da Hora", "currencies": { "title": "Moedas", "currency": "Moeda | Moedas", @@ -893,6 +894,7 @@ "mailgun_endpoint": "Endpoint do Mailgun", "ses_secret": "Senha SES", "ses_key": "Chave SES", + "ses_region": "AWS Region", "password": "Senha do Email", "username": "Nome de Usuário do Email", "mail_config": "Configuração de Email", @@ -904,13 +906,21 @@ "pdf": { "title": "Configurações de PDF", "footer_text": "Texto do Rodapé", - "pdf_layout": "Layout de PDF" + "pdf_layout": "Layout de PDF", + "pdf_configuration": "PDF Generation Settings", + "section_description": "Change the way PDFs are generated", + "driver": "PDF Driver to use", + "papersize": "Papersize", + "papersize_hint": "Papersize in width and height (ex. \"210mm 297mm\")", + "gotenberg_host": "Gotenberg service host", + "pdf_variables_save_successfully": "PDF configuration saved successfully", + "pdf_variables_save_error": "PDF configuration could not be saved" }, "company_info": { "company_info": "Informação da Empresa", "company_name": "Nome da Empresa", - "tax_id": "Tax Identification Number", - "vat_id": "VAT Identification Number", + "tax_id": "Número de identificação fiscal", + "vat_id": "Número de Identificação VAT", "company_logo": "Logotipo da Empresa", "section_description": "Informações sobre sua empresa que serão exibidas em Faturas, Orçamentos e outros documentos criados pela InvoiceShelf.", "phone": "Telefone", @@ -920,13 +930,13 @@ "address": "Endereço", "zip": "CEP", "save": "Salvar", - "delete": "Delete", + "delete": "Excluir", "updated_message": "Informações da Empresa atualizadas com sucesso", - "delete_company": "Delete Company", - "delete_company_description": "Once you delete your company, you will lose all the data and files associated with it permanently.", - "are_you_absolutely_sure": "Are you absolutely sure?", - "delete_company_modal_desc": "This action cannot be undone. This will permanently delete {company} and all of its associated data.", - "delete_company_modal_label": "Please type {company} to confirm" + "delete_company": "Excluir Empresa", + "delete_company_description": "Após excluir sua empresa, você perderá todos os dados e arquivos associados a ela permanentemente.", + "are_you_absolutely_sure": "Você tem certeza?", + "delete_company_modal_desc": "Esta ação não pode ser desfeita. Isto irá apagar permanentemente a {company} e todos os dados associados.", + "delete_company_modal_label": "Digite {company} para confirmar" }, "custom_fields": { "title": "Os campos personalizados", @@ -937,7 +947,7 @@ "label": "Rótulo", "type": "Tipo", "name": "Nome", - "slug": "Slug", + "slug": "Link Permanente", "required": "Requeridas", "placeholder": "Dica de Preenchimento", "help_text": "Texto de ajuda", @@ -964,111 +974,111 @@ "ticked_by_default": "Marcado por padrão", "updated_message": "Campo personalizado atualizado com sucesso", "added_message": "Campo personalizado adicionado com sucesso", - "press_enter_to_add": "Press enter to add new option", - "model_in_use": "Cannot update model for fields which are already in use.", - "type_in_use": "Cannot update type for fields which are already in use.", + "press_enter_to_add": "Aperte enter para adicionar uma nova opção", + "model_in_use": "Não é possível atualizar o modelo para campos que já estão em uso.", + "type_in_use": "Não é possível atualizar o tipo para os campos que já estão em uso.", "model_type": { - "customer": "Customer", - "invoice": "Invoice", - "estimate": "Estimate", - "expense": "Expense", - "payment": "Payment" + "customer": "Cliente", + "invoice": "Fatura", + "estimate": "Orçamento", + "expense": "Despesa", + "payment": "Pagamento" } }, "customization": { "customization": "personalização", "updated_message": "Informações da Empresa atualizadas com sucesso", "save": "Salvar", - "insert_fields": "Insert Fields", - "learn_custom_format": "Learn how to use custom format", - "add_new_component": "Add New Component", - "component": "Component", + "insert_fields": "Inserir Campos", + "learn_custom_format": "Aprenda a usar o formato personalizado", + "add_new_component": "Novo Componente", + "component": "Componente", "Parameter": "Parâmetro", - "series": "Series", - "series_description": "To set a static prefix/postfix like 'INV' across your company. It supports character length of up to 6 chars.", - "series_param_label": "Series Value", - "delimiter": "Delimiter", - "delimiter_description": "Single character for specifying the boundary between 2 separate components. By default its set to -", - "delimiter_param_label": "Delimiter Value", - "date_format": "Date Format", - "time_format": "Time Format", - "date_format_description": "A local date and time field which accepts a format parameter. The default format: 'Y' renders the current year.", - "date_format_param_label": "Format", - "sequence": "Sequence", - "sequence_description": "Consecutive sequence of numbers across your company. You can specify the length on the given parameter.", - "sequence_param_label": "Sequence Length", - "customer_series": "Customer Series", - "customer_series_description": "To set a different prefix/postfix for each customer.", - "customer_sequence": "Customer Sequence", - "customer_sequence_description": "Consecutive sequence of numbers for each of your customer.", - "customer_sequence_param_label": "Sequence Length", - "random_sequence": "Random Sequence", - "random_sequence_description": "Random alphanumeric string. You can specify the length on the given parameter.", - "random_sequence_param_label": "Sequence Length", + "series": "Série", + "series_description": "Para definir um prefixo/sufixo estático como 'INV' em sua empresa. Ele suporta o comprimento do caractere de até 6 caracteres.", + "series_param_label": "Valor da Série", + "delimiter": "Delimitador", + "delimiter_description": "Caractere único para especificar o limite entre 2 componentes separados. Por padrão é -", + "delimiter_param_label": "Valor Delimitador", + "date_format": "Formato de Data", + "time_format": "Formato da Hora", + "date_format_description": "Um campo de data e hora local que aceita um parâmetro de formato. O formato padrão: 'Y' apresenta o ano atual.", + "date_format_param_label": "Formatar", + "sequence": "Sequência", + "sequence_description": "Sequência consecutiva de números em sua empresa. Você pode especificar o comprimento nos parâmetros indicados.", + "sequence_param_label": "Tamanho da Sequência", + "customer_series": "Série do Cliente", + "customer_series_description": "Para definir um prefixo/sufixo diferente para cada cliente.", + "customer_sequence": "Sequência do Cliente", + "customer_sequence_description": "Sequência numérica consecutiva para cada cliente.", + "customer_sequence_param_label": "Comprimento da Sequência", + "random_sequence": "Sequência Aleatória", + "random_sequence_description": "Cadeia alfanumérica aleatória. Você pode especificar o comprimento no parâmetro fornecido.", + "random_sequence_param_label": "Comprimento da Sequência", "invoices": { "title": "Faturas", - "invoice_number_format": "Invoice Number Format", - "invoice_number_format_description": "Customize how your invoice number gets generated automatically when you create a new invoice.", - "preview_invoice_number": "Preview Invoice Number", - "due_date": "Due Date", - "due_date_description": "Specify how due date is automatically set when you create an invoice.", - "due_date_days": "Invoice Due after days", - "set_due_date_automatically": "Set Due Date Automatically", - "set_due_date_automatically_description": "Enable this if you wish to set due date automatically when you create a new invoice.", - "default_formats": "Default Formats", - "default_formats_description": "Below given formats are used to fill up the fields automatically on invoice creation.", + "invoice_number_format": "Formato do Número da Fatura", + "invoice_number_format_description": "Personalize como o número da fatura é gerado automaticamente ao criar uma fatura.", + "preview_invoice_number": "Pré-visualizar Número da Fatura", + "due_date": "Vencimento", + "due_date_description": "Especifique como a data de vencimento é definida automaticamente ao criar uma fatura.", + "due_date_days": "Dias antes do vencimento da fatura", + "set_due_date_automatically": "Definir Data de Vencimento Automaticamente", + "set_due_date_automatically_description": "Habilite isso se você deseja definir a data de vencimento automaticamente ao criar uma fatura.", + "default_formats": "Formatos Padrão", + "default_formats_description": "Os formatos abaixo são usados para preencher os campos automaticamente na criação da fatura.", "default_invoice_email_body": "Corpo Padrão de Email de Fatura", "company_address_format": "Formato de Endereço de Empresa", "shipping_address_format": "Formato de Endereço de Envio", "billing_address_format": "Formato de Endereço de Faturamento", "invoice_email_attachment": "Enviar faturas como anexos", "invoice_email_attachment_setting_description": "Ative esta opção se quiser anexar faturas no e-mail. Lembrando que quando habilitado, o botão 'Ver fatura' nos e-mails não será mais exibido.", - "invoice_settings_updated": "Invoice Settings updated successfully", - "retrospective_edits": "Retrospective Edits", - "allow": "Allow", - "disable_on_invoice_partial_paid": "Disable after partial payment is recorded", - "disable_on_invoice_paid": "Disable after full payment is recorded", - "disable_on_invoice_sent": "Disable after invoice is sent", - "retrospective_edits_description": " Based on your country's laws or your preference, you can restrict users from editing finalised invoices." + "invoice_settings_updated": "Configuração da Fatura atualizada com sucesso", + "retrospective_edits": "Edições Retrospectivas", + "allow": "Permitir", + "disable_on_invoice_partial_paid": "Desativar após pagamento parcial registrado", + "disable_on_invoice_paid": "Desativar após pagamento total registrado", + "disable_on_invoice_sent": "Desativar após fatura enviada", + "retrospective_edits_description": " Com base nas leis do seu país ou preferência, você pode restringir usuários de editar faturas finalizadas." }, "estimates": { "title": "Orçamentos", - "estimate_number_format": "Estimate Number Format", - "estimate_number_format_description": "Customize how your estimate number gets generated automatically when you create a new estimate.", - "preview_estimate_number": "Preview Estimate Number", - "expiry_date": "Expiry Date", - "expiry_date_description": "Specify how expiry date is automatically set when you create an estimate.", - "expiry_date_days": "Estimate Expires after days", - "set_expiry_date_automatically": "Set Expiry Date Automatically", - "set_expiry_date_automatically_description": "Enable this if you wish to set expiry date automatically when you create a new estimate.", - "default_formats": "Default Formats", - "default_formats_description": "Below given formats are used to fill up the fields automatically on estimate creation.", + "estimate_number_format": "Formato do Número do Orçamento", + "estimate_number_format_description": "Personalize como o número do orçamento é gerado automaticamente ao criar um orçamento.", + "preview_estimate_number": "Pré-visualizar Número do Orçamento", + "expiry_date": "Data de Expiração", + "expiry_date_description": "Especifique como a data de expiração é definida automaticamente ao criar um orçamento.", + "expiry_date_days": "Orçamento expira após dias", + "set_expiry_date_automatically": "Definir Data de Expiração Automaticamente", + "set_expiry_date_automatically_description": "Habilite isto se deseja definir a data de expiração automaticamente ao criar um orçamento.", + "default_formats": "Formatos Padrão", + "default_formats_description": "Os formatos abaixo são usados para preencher os campos automaticamente na criação do orçamento.", "default_estimate_email_body": "Corpo Padrão de Email de Orçamento", "company_address_format": "Formato de Endereço de Empresa", "shipping_address_format": "Formato de Endereço de Envio", "billing_address_format": "Formato de Endereço de Faturamento", "estimate_email_attachment": "Enviar orçamentos como anexos", "estimate_email_attachment_setting_description": "Ative esta opção se quiser anexar orçamentos no e-mail. Lembrando que quando habilitado, o botão 'Ver orçamento' nos e-mails não será mais exibido.", - "estimate_settings_updated": "Estimate Settings updated successfully", - "convert_estimate_options": "Estimate Convert Action", - "convert_estimate_description": "Specify what happens to the estimate after it gets converted to an invoice.", + "estimate_settings_updated": "Configurações de Orçamento atualizadas com sucesso", + "convert_estimate_options": "Ação de Conversão do Orçamento", + "convert_estimate_description": "Especifique o que acontece com o orçamento após ser convertido em uma fatura.", "no_action": "Nenhuma ação", - "delete_estimate": "Delete estimate", - "mark_estimate_as_accepted": "Mark estimate as accepted" + "delete_estimate": "Excluir orçamento", + "mark_estimate_as_accepted": "Marcar orçamento como aceito" }, "payments": { "title": "Pagamentos", - "payment_number_format": "Payment Number Format", - "payment_number_format_description": "Customize how your payment number gets generated automatically when you create a new payment.", - "preview_payment_number": "Preview Payment Number", - "default_formats": "Default Formats", - "default_formats_description": "Below given formats are used to fill up the fields automatically on payment creation.", + "payment_number_format": "Formato do Número do Pagamento", + "payment_number_format_description": "Personalize como o número do pagamento é gerado automaticamente ao criar um pagamento.", + "preview_payment_number": "Pré-visualizar Número do Pagamento", + "default_formats": "Formatos Padrão", + "default_formats_description": "Os formatos abaixo são usados para preencher os campos automaticamente na criação do pagamento.", "default_payment_email_body": "Corpo Padrão de Email de Pagamento", "company_address_format": "Formato de Endereço de Empresa", "from_customer_address_format": "Formato de Endereço de Cliente Remetente", "payment_email_attachment": "Enviar pagamentos como anexos", "payment_email_attachment_setting_description": "Ative esta opção se quiser enviar em anexo os recibos de pagamento no e-mail. Lembrando que quando habilitado, o botão 'Ver Pagamento' nos e-mails não será mais exibido.", - "payment_settings_updated": "Payment Settings updated successfully" + "payment_settings_updated": "Configurações de Pagamento atualizadas com sucesso" }, "items": { "title": "Itens", @@ -1087,6 +1097,8 @@ "description": "Economize tempo criando notas e reutilizando-as nas suas faturas, orçamentos e pagamentos.", "notes": "Notas", "type": "Tipo", + "is_default": "Selecione por padrão", + "is_default_description": "Essa anotação será selecionada por padrão em novas faturas.", "add_note": "Adicionar Nota", "add_new_note": "Adicionar Nova Nota", "name": "Nome", @@ -1097,16 +1109,16 @@ "already_in_use": "A nota já está em uso", "deleted_message": "Nota excluída com sucesso", "types": { - "estimate": "Estimate", - "invoice": "Invoice", - "payment": "Payment" + "estimate": "Orçamento", + "invoice": "Fatura", + "payment": "Pagamento" } } }, "account_settings": { "profile_picture": "Foto do Perfil", "name": "Nome", - "email": "Email", + "email": "E-mail", "password": "Senha", "confirm_password": "Confirmar Senha", "account_settings": "Configurações da conta", @@ -1116,7 +1128,7 @@ }, "user_profile": { "name": "Nome", - "email": "Email", + "email": "E-mail", "password": "Senha", "confirm_password": "Confirmar Senha" }, @@ -1133,55 +1145,55 @@ "please_enter_email": "Por favor digite um E-mail" }, "roles": { - "title": "Roles", - "description": "Manage the roles & permissions of this company", - "save": "Save", - "add_new_role": "Add New Role", - "role_name": "Role Name", - "added_on": "Added on", - "add_role": "Add Role", - "edit_role": "Edit Role", - "name": "Name", - "permission": "Permission | Permissions", - "select_all": "Select All", - "none": "None", - "confirm_delete": "You will not be able to recover this Role", - "created_message": "Role created successfully", - "updated_message": "Role updated successfully", - "deleted_message": "Role deleted successfully", - "already_in_use": "Role is already in use" + "title": "Funções", + "description": "Gerenciar as funções e permissões desta empresa", + "save": "Salvar", + "add_new_role": "Adicionar Nova Função", + "role_name": "Nome da Função", + "added_on": "Adicionada em", + "add_role": "Adicionar Função", + "edit_role": "Editar Função", + "name": "Nome", + "permission": "Permissão | Permissões", + "select_all": "Selecione Todas", + "none": "Nenhuma", + "confirm_delete": "Você não poderá recuperar essa Função", + "created_message": "Função criada com sucesso", + "updated_message": "Função atualizada com sucesso", + "deleted_message": "Função excluída com sucesso", + "already_in_use": "Função já está em uso" }, "exchange_rate": { - "exchange_rate": "Exchange Rate", - "title": "Fix Currency Exchange issues", - "description": "Please enter exchange rate of all the currencies mentioned below to help InvoiceShelf properly calculate the amounts in {currency}.", - "drivers": "Drivers", - "new_driver": "Add New Provider", - "edit_driver": "Edit Provider", - "select_driver": "Select Driver", - "update": "select exchange rate ", - "providers_description": "Configure your exchange rate providers here to automatically fetch the latest exchange rate on transactions.", - "key": "API Key", - "name": "Name", - "driver": "Driver", - "is_default": "IS DEFAULT", - "currency": "Currencies", - "exchange_rate_confirm_delete": "You will not be able to recover this driver", - "created_message": "Provider Created successfully", - "updated_message": "Provider Updated Successfully", - "deleted_message": "Provider Deleted Successfully", - "error": " You cannot Delete Active Driver", - "default_currency_error": "This currency is already used in one of the Active Provider", - "exchange_help_text": "Enter exchange rate to convert from {currency} to {baseCurrency}", + "exchange_rate": "Taxa de Câmbio", + "title": "Corrigir problemas de câmbio", + "description": "Insira a taxa de câmbio de todas as moedas mencionadas abaixo para ajudar o InvoiceShelf a calcular corretamente os valores em {currency}.", + "drivers": "Provedores", + "new_driver": "Adicionar Novo Provedor", + "edit_driver": "Editar Provedor", + "select_driver": "Selecionar Provedor", + "update": "selecionar taxa de câmbio ", + "providers_description": "Configurar seus provedores de taxa de câmbio aqui para buscar automaticamente a última taxa em transações.", + "key": "Chave API", + "name": "Nome", + "driver": "Provedor", + "is_default": "É PADRÃO", + "currency": "Moeda", + "exchange_rate_confirm_delete": "Você não poderá recuperar este provedor", + "created_message": "Provedor criado com sucesso", + "updated_message": "Provedor atualizado com sucesso", + "deleted_message": "Provedor excluído com sucesso", + "error": " Você não pode excluir um provedor ativo", + "default_currency_error": "Esta moeda já é usada em um dos fornecedores ativos", + "exchange_help_text": "Insira a taxa de câmbio para converter de {currency} para {baseCurrency}", "currency_freak": "Currency Freak", "currency_layer": "Currency Layer", "open_exchange_rate": "Abrir Taxa de Câmbio", "currency_converter": "Currency Converter", - "server": "Server", + "server": "Servidor", "url": "URL", - "active": "Active", - "currency_help_text": "This provider will only be used on above selected currencies", - "currency_in_used": "The following currencies are already active on another provider. Please remove these currencies from selection to activate this provider again." + "active": "Ativo", + "currency_help_text": "Este provedor será usado apenas nas moedas selecionadas acima", + "currency_in_used": "As seguintes moedas já estão ativas em outro provedor. Remova essas moedas da seleção para ativar este provedor novamente." }, "tax_types": { "title": "Tipos de Impostos", @@ -1203,17 +1215,17 @@ "already_in_use": "O Imposto já está em uso" }, "payment_modes": { - "title": "Payment Modes", - "description": "Modes of transaction for payments", - "add_payment_mode": "Add Payment Mode", - "edit_payment_mode": "Edit Payment Mode", - "mode_name": "Mode Name", - "payment_mode_added": "Payment Mode Added", - "payment_mode_updated": "Payment Mode Updated", - "payment_mode_confirm_delete": "You will not be able to recover this Payment Mode", - "payments_attached": "This payment method is already attached to payments. Please delete the attached payments to proceed with deletion.", - "expenses_attached": "This payment method is already attached to expenses. Please delete the attached expenses to proceed with deletion.", - "deleted_message": "Payment Mode deleted successfully" + "title": "Modos de Pagamento", + "description": "Modos de transações para pagamentos", + "add_payment_mode": "Adicionar Modo de Pagamento", + "edit_payment_mode": "Alterar Modo de Pagamento", + "mode_name": "Nome do Modo", + "payment_mode_added": "Modo de Pagamento Adicionado", + "payment_mode_updated": "Modo de Pagamento Atualizado", + "payment_mode_confirm_delete": "Você não será poderá recuperar esse Modo de Pagamento", + "payments_attached": "Esse método de pagamento já está associado aos pagamentos. Favor apague os pagamentos associados para deletá-los.", + "expenses_attached": "Esse método de pagamento já está associado às despesas. Favor apague as despesas associadas para deletá-las.", + "deleted_message": "Modo de Pagamento apagado com sucesso" }, "expense_category": { "title": "Categoria de Despesa", @@ -1236,12 +1248,12 @@ "time_zone": "Fuso Horário", "fiscal_year": "Ano Financeiro", "date_format": "Formato da Data", - "time_format": "Time Fromat", + "time_format": "Formato de Hora", "discount_setting": "Configuração de Desconto", "discount_per_item": "Desconto por Item ", "discount_setting_description": "Habilite isso se desejar adicionar desconto a itens de Fatura individualmente. Por padrão, o desconto é adicionado diretamente à Fatura.", - "expire_public_links": "Automatically Expire Public Links", - "expire_setting_description": "Specify whether you would like to expire all the links sent by application to view invoices, estimates & payments, etc after a specified duration.", + "expire_public_links": "Expirar Links Públicos Automaticamente", + "expire_setting_description": "Especifique se deseja expirar todos os links enviados pelo aplicativo para visualizar faturas, orçamentos e pagamentos após um período específico.", "save": "Salvar", "preference": "Preferência | Preferências", "general_settings": "Preferências padrão para o sistema.", @@ -1249,37 +1261,37 @@ "select_language": "Selecione um Idioma", "select_time_zone": "Selecione um fuso horário", "select_date_format": "Selecionar um Formato de Data", - "select_time_format": "Select Time Format", + "select_time_format": "Selecionar o Formato de Hora", "select_financial_year": "Selecione o ano financeiro", - "recurring_invoice_status": "Recurring Invoice Status", - "create_status": "Create Status", - "active": "Active", - "on_hold": "On Hold", - "update_status": "Update Status", - "completed": "Completed", - "company_currency_unchangeable": "Company currency cannot be changed", - "invoice_use_time": "Use time in invoices", - "invoice_use_time_description": "Enable this if you want to select exact invoice time.", + "recurring_invoice_status": "Estado da Fatura Recorrente", + "create_status": "Criar Estado", + "active": "Ativo", + "on_hold": "Em Espera", + "update_status": "Atualizar Estado", + "completed": "Concluído", + "company_currency_unchangeable": "A moeda da empresa não pode ser alterada", + "invoice_use_time": "Usar horário nas faturas", + "invoice_use_time_description": "Habilite isto se deseja selecionar o horário exato da fatura.", "fiscal_years": { - "january_december": "January - December", - "february_january": "February - January", - "march_february": "March - February", - "april_march": "April - March", - "may_april": "May - April", - "june_may": "June - May", - "july_june": "July - June", - "august_july": "August - July", - "september_august": "September - August", - "october_september": "October - September", - "november_october": "November - October", - "december_november": "December - November" + "january_december": "Janeiro – Dezembro", + "february_january": "Fevereiro – Janeiro", + "march_february": "Março – Fevereiro", + "april_march": "Abril – Março", + "may_april": "Maio – Abril", + "june_may": "Junho – Maio", + "july_june": "Julho – Junho", + "august_july": "Agosto – Julho", + "september_august": "Setembro – Agosto", + "october_september": "Outubro – Setembro", + "november_october": "Novembro – Outubro", + "december_november": "Dezembro – Novembro" } }, "update_app": { "title": "Atualizar Aplicativo", "description": "Você pode atualizar facilmente o InvoiceShelf, verifique se há novas atualizações, clicando no botão abaixo", "check_update": "Verifique se há atualizações", - "insider_consent": "Opt-in for Insider releases. Recommended for testing purposes only.", + "insider_consent": "Optar por versões Insider. Recomendado apenas para testes.", "avail_update": "Nova atualização disponível", "next_version": "Próxima versão", "requirements": "Requisitos", @@ -1297,7 +1309,7 @@ "finishing_update": "Acabando a Atualização", "update_failed": "Atualização falhou", "update_failed_text": "Desculpa! Sua atualização falhou no passo: {step}", - "update_warning": "All of the application files and default template files will be overwritten when you update the application using this utility. Please take a backup of your templates & database before updating." + "update_warning": "Todos os arquivos do aplicativo e modelos padrão serão sobrescritos ao atualizar o aplicativo usando esta ferramenta. Faça backup de seus modelos e banco de dados antes de atualizar." }, "backup": { "title": "Backup | Backups", @@ -1328,7 +1340,7 @@ "created_at": "criado em", "dropbox": "dropbox", "name": "Nome", - "driver": "Driver", + "driver": "Provedor", "disk_type": "Tipo", "disk_name": "Nome do disco", "new_disk": "Adicionar novo disco", @@ -1347,12 +1359,12 @@ "aws_region": "Região AWS", "aws_bucket": "Bucket AWS", "aws_root": "Root AWS", - "s3_endpoint": "S3 Endpoint", - "s3_key": "S3 Key", - "s3_secret": "S3 Secret", - "s3_region": "S3 Region", - "s3_bucket": "S3 Bucket", - "s3_root": "S3 Root", + "s3_endpoint": "Endpoint S3", + "s3_key": "Chave S3", + "s3_secret": "Segredo S3", + "s3_region": "Região S3", + "s3_bucket": "Bucket S3", + "s3_root": "Root S3", "do_spaces_type": "Tipo de Spaces Do", "do_spaces_key": "Chave de Spaces Do", "do_spaces_secret": "Senha de Spaces Do", @@ -1387,16 +1399,16 @@ "invalid_disk_credentials": "Credencial inválida para o disco selecionado" }, "taxations": { - "add_billing_address": "Enter Billing Address", - "add_shipping_address": "Enter Shipping Address", - "add_company_address": "Enter Company Address", - "modal_description": "The information below is required in order to fetch sales tax.", - "add_address": "Add Address for fetching sales tax.", - "address_placeholder": "Example: 123, My Street", - "city_placeholder": "Example: Los Angeles", - "state_placeholder": "Example: CA", - "zip_placeholder": "Example: 90024", - "invalid_address": "Please provide valid address details." + "add_billing_address": "Inserir Endereço de Cobrança", + "add_shipping_address": "Inserir Endereço de Entrega", + "add_company_address": "Inserir Endereço da Empresa", + "modal_description": "As informações abaixo são necessárias para buscar impostos sobre vendas.", + "add_address": "Adicionar Endereço para buscar impostos sobre vendas.", + "address_placeholder": "Exemplo: 123, Minha Rua", + "city_placeholder": "Exemplo: São Paulo", + "state_placeholder": "Exemplo: SP", + "zip_placeholder": "Exemplo: 01234-567", + "invalid_address": "Forneça detalhes de endereço válidos." } }, "wizard": { @@ -1428,15 +1440,15 @@ "time_zone": "Fuso Horário", "fiscal_year": "Ano Financeiro", "date_format": "Formato de Data", - "time_format": "Time Format", + "time_format": "Formato de Hora", "from_address": "Do Endereço", "username": "Nome de Usuário", "next": "Próximo", "continue": "Continuar", "skip": "Pular", "install_language": { - "title": "Choose your language", - "description": "Select language wizard to install InvoiceShelf" + "title": "Escolha sua linguagem", + "description": "Selecionar a linguagem para instalação do InvoiceShelf" }, "database": { "database": "URL do Site e Base de Dados", @@ -1449,7 +1461,7 @@ "username": "Usuário da Base de Dados", "db_name": "Nome da Base de Dados", "db_path": "Pasta do Banco de Dados", - "overwrite": "Overwrite existing database and proceed", + "overwrite": "Sobrescrever base de dados existente e prosseguir", "desc": "Crie um Banco de Dados no seu servidor e defina as credenciais usando o formulário abaixo." }, "permissions": { @@ -1467,11 +1479,11 @@ "failed": "Falha na verificação de domínio. Digite um nome de domínio válido.", "verify_and_continue": "Verificar e Continuar", "notes": { - "notes": "Notes:", - "not_contain": "App domain should not contain", - "or": "or", - "in_front": "in front of the domain.", - "if_you": "If you're accessing the website on a different port, please mention the port. For example:" + "notes": "Anotações:", + "not_contain": "Domínio do app não deve conter", + "or": "ou", + "in_front": "na frente do domínio.", + "if_you": "Se você estiver acessando o website em uma porta diferente, favor mencione a porta. Por exemplo:" } }, "mail": { @@ -1484,6 +1496,7 @@ "mailgun_endpoint": "Endpoint do Mailgun", "ses_secret": "Senha do SES", "ses_key": "Chave SES", + "ses_region": "Região AWS", "password": "Senha do email", "username": "Nome do Usuário do email", "mail_config": "Configuração de email", @@ -1539,7 +1552,7 @@ "price_minvalue": "O preço deve ser maior que 0.", "amount_maxlength": "Valor não deve ter mais de 20 dígitos.", "amount_minvalue": "O valor deve ser maior que 0.", - "discount_maxlength": "Discount should not be greater than max discount", + "discount_maxlength": "Desconto não deve ser maior que o desconto máximo", "description_maxlength": "A descrição não deve ter mais que 255 caracteres.", "subject_maxlength": "O assunto não deve ter mais que 100 caracteres.", "message_maxlength": "A mensagem não deve ter mais que 255 caracteres.", @@ -1550,36 +1563,36 @@ "prefix_maxlength": "O prefixo não deve ter mais que 5 caracteres.", "something_went_wrong": "algo deu errado", "number_length_minvalue": "O valor deve ser maior que 0", - "at_least_one_ability": "Please select atleast one Permission.", - "valid_driver_key": "Please enter a valid {driver} key.", - "valid_exchange_rate": "Please enter a valid exchange rate.", - "company_name_not_same": "Company name must match with given name." + "at_least_one_ability": "Favor selecionar ao menos uma Permissão.", + "valid_driver_key": "Favor inserir uma chave válida do {driver}.", + "valid_exchange_rate": "Favor inserir uma taxa de câmbio válida.", + "company_name_not_same": "O nome da empresa deve corresponder ao nome fornecido." }, "errors": { - "starter_plan": "This feature is available on Starter plan and onwards!", - "invalid_provider_key": "Please Enter Valid Provider API Key.", - "estimate_number_used": "The estimate number has already been taken.", - "invoice_number_used": "The invoice number has already been taken.", - "payment_attached": "This invoice already has a payment attached to it. Make sure to delete the attached payments first in order to go ahead with the removal.", - "payment_number_used": "The payment number has already been taken.", - "name_already_taken": "The name has already been taken.", - "receipt_does_not_exist": "Receipt does not exist.", - "customer_cannot_be_changed_after_payment_is_added": "Customer cannot be change after payment is added", - "invalid_credentials": "Invalid Credentials.", - "not_allowed": "Not Allowed", - "login_invalid_credentials": "These credentials do not match our records.", - "enter_valid_cron_format": "Please enter a valid cron format", - "email_could_not_be_sent": "Email could not be sent to this email address.", - "invalid_address": "Please enter a valid address.", - "invalid_key": "Please enter valid key.", - "invalid_state": "Please enter a valid state.", - "invalid_city": "Please enter a valid city.", - "invalid_postal_code": "Please enter a valid zip.", - "invalid_format": "Please enter valid query string format.", - "api_error": "Server not responding.", - "feature_not_enabled": "Feature not enabled.", - "request_limit_met": "Api request limit exceeded.", - "address_incomplete": "Incomplete Address" + "starter_plan": "Este recurso está disponível no plano Starter e superiores!", + "invalid_provider_key": "Insira uma Chave de API de Provedor válida.", + "estimate_number_used": "O número do orçamento já está em uso.", + "invoice_number_used": "O número da fatura já está em uso.", + "payment_attached": "Esta fatura já possui um pagamento vinculado. Exclua os pagamentos vinculados primeiro para prosseguir com a remoção.", + "payment_number_used": "O número do pagamento já está em uso.", + "name_already_taken": "O nome já está em uso.", + "receipt_does_not_exist": "O recibo não existe.", + "customer_cannot_be_changed_after_payment_is_added": "O cliente não pode ser alterado após o pagamento ser adicionado", + "invalid_credentials": "Credenciais Inválidas.", + "not_allowed": "Não Permitido", + "login_invalid_credentials": "As credenciais não correspondem aos nossos registros.", + "enter_valid_cron_format": "Insira um formato cron válido", + "email_could_not_be_sent": "Não foi possível enviar o e-mail para este endereço.", + "invalid_address": "Favor inserir um endereço válido.", + "invalid_key": "Favor inserir uma chave válida.", + "invalid_state": "Favor inserir um estado válido.", + "invalid_city": "Favor inserir uma cidade válida.", + "invalid_postal_code": "Favor inserir um CEP válido.", + "invalid_format": "Insira um formato de cadeia de caracteres de consulta válido.", + "api_error": "O servidor não está respondendo.", + "feature_not_enabled": "Recurso não habilitado.", + "request_limit_met": "Limite de solicitações da API excedido.", + "address_incomplete": "Endereço Incompleto" }, "pdf_estimate_label": "Orçamento", "pdf_estimate_number": "Numero do Orçamento", @@ -1595,7 +1608,7 @@ "pdf_price_label": "Preço", "pdf_discount_label": "Desconto", "pdf_amount_label": "Valor", - "pdf_subtotal": "Subtotal", + "pdf_subtotal": "Sub-total", "pdf_total": "Total", "pdf_payment_label": "Pagamento", "pdf_payment_receipt_label": "RECIBO DE PAGAMENTO", @@ -1621,18 +1634,18 @@ "pdf_bill_to": "Cobrar a,", "pdf_ship_to": "Envie a,", "pdf_received_from": "Remetente:", - "pdf_tax_label": "Tax", - "pdf_tax_id": "Tax-ID", + "pdf_tax_label": "Imposto", + "pdf_tax_id": "ID do Imposto", "pdf_vat_id": "VAT-ID", - "pdf_amount_paid": "Amount Paid", - "pdf_amount_due": "Amount Due", - "mail_thanks": "Thanks", - "mail_view_estimate": "View Estimate", - "mail_viewed_estimate": ":name viewed this Estimate.", - "mail_view_invoice": "View Invoice", - "mail_viewed_invoice": ":name viewed this Invoice.", - "mail_view_payment": "View Payment", - "notification_view_estimate": "[Notification] Estimate viewed", - "notification_view_invoice": "[Notification] Invoice viewed", - "You have received a new invoice from {COMPANY_NAME}.
Please download using the button below:": "You have received a new invoice from {COMPANY_NAME}.
Please download using the button below:" + "pdf_amount_paid": "Valor Pago", + "pdf_amount_due": "Valor Devido", + "mail_thanks": "Obrigado", + "mail_view_estimate": "Ver Orçamento", + "mail_viewed_estimate": ":name viu esse Orçamento.", + "mail_view_invoice": "Ver Fatura", + "mail_viewed_invoice": ":name viu essa Fatura.", + "mail_view_payment": "Ver Pagamento", + "notification_view_estimate": "[Notificação] Orçamento visto", + "notification_view_invoice": "[Notificação] Fatura vista", + "You have received a new invoice from {COMPANY_NAME}.
Please download using the button below:": "Você recebeu uma nova fatura de {COMPANY_NAME}.
Baixe usando o botão abaixo:" } diff --git a/lang/ro.json b/lang/ro.json index 09631c81..92f36dbb 100644 --- a/lang/ro.json +++ b/lang/ro.json @@ -12,7 +12,7 @@ "settings": "Setări", "logout": "Deconectare", "users": "Utilizatori", - "modules": "Modules" + "modules": "Module" }, "general": { "add_company": "Adaugă firmă", @@ -317,7 +317,7 @@ "notes": "Notes", "tax": "Tax", "estimate_template": "Template", - "convert_to_invoice": "Convert to Invoice", + "convert_to_invoice": "Convertește în Invoice", "mark_as_sent": "Mark as Sent", "send_estimate": "Send Estimate", "resend_estimate": "Resend Estimate", @@ -852,7 +852,8 @@ "payment_modes": "Payment Modes", "notes": "Notes", "exchange_rate": "Exchange Rate", - "address_information": "Address Information" + "address_information": "Address Information", + "pdf_generation": "PDF Generation" }, "address_information": { "section_description": " You can update Your Address information using form below." @@ -893,6 +894,7 @@ "mailgun_endpoint": "Mailgun Endpoint", "ses_secret": "SES Secret", "ses_key": "SES Key", + "ses_region": "AWS Region", "password": "Mail Password", "username": "Mail Username", "mail_config": "Mail Configuration", @@ -904,7 +906,15 @@ "pdf": { "title": "PDF Setting", "footer_text": "Footer Text", - "pdf_layout": "PDF Layout" + "pdf_layout": "PDF Layout", + "pdf_configuration": "PDF Generation Settings", + "section_description": "Change the way PDFs are generated", + "driver": "PDF Driver to use", + "papersize": "Papersize", + "papersize_hint": "Papersize in width and height (ex. \"210mm 297mm\")", + "gotenberg_host": "Gotenberg service host", + "pdf_variables_save_successfully": "PDF configuration saved successfully", + "pdf_variables_save_error": "PDF configuration could not be saved" }, "company_info": { "company_info": "Company info", @@ -1087,6 +1097,8 @@ "description": "Save time by creating notes and reusing them on your invoices, estimates & payments.", "notes": "Notes", "type": "Type", + "is_default": "Select by default", + "is_default_description": "This note will be selected by default in new invoices.", "add_note": "Add Note", "add_new_note": "Add New Note", "name": "Name", @@ -1236,7 +1248,7 @@ "time_zone": "Time Zone", "fiscal_year": "Financial Year", "date_format": "Date Format", - "time_format": "Time Fromat", + "time_format": "Time Format", "discount_setting": "Discount Setting", "discount_per_item": "Discount Per Item ", "discount_setting_description": "Enable this if you want to add Discount to individual invoice items. By default, Discount is added directly to the invoice.", @@ -1588,7 +1600,7 @@ "pdf_invoice_label": "Invoice", "pdf_invoice_number": "Invoice Number", "pdf_invoice_date": "Invoice Date", - "pdf_invoice_due_date": "Due date", + "pdf_invoice_due_date": "Due Date", "pdf_notes": "Notes", "pdf_items_label": "Items", "pdf_quantity_label": "Quantity", diff --git a/lang/ru.json b/lang/ru.json index b10cee0b..b4cf88fe 100644 --- a/lang/ru.json +++ b/lang/ru.json @@ -1,6 +1,6 @@ { "navigation": { - "dashboard": "Главная", + "dashboard": "Контрольная панель", "customers": "Клиенты", "items": "Товары", "invoices": "Счет-фактуры", @@ -58,8 +58,8 @@ "percentage": "Проценты", "tax": "НАЛОГ", "total_amount": "ИТОГО", - "bill_to": "Выставить счёт", - "ship_to": "Доставить", + "bill_to": "Получатель счёта", + "ship_to": "Доставить в", "due": "К оплате", "draft": "Черновик", "sent": "Отправлено", @@ -494,16 +494,16 @@ "total": "Итого", "discount": "Скидка", "sub_total": "Промежуточный итог", - "invoice": "Recurring Invoice | Recurring Invoices", - "invoice_number": "Recurring Invoice Number", + "invoice": "Переодический Счёт | Периодические счета", + "invoice_number": "Номер периодического счёта", "next_invoice_date": "Дата следующего счета", - "ref_number": "Ref Number", + "ref_number": "Серийный номер", "contact": "Контакты", "add_item": "Добавить элемент", "date": "Дата", - "limit_by": "Limit by", - "limit_date": "Limit Date", - "limit_count": "Limit Count", + "limit_by": "Ограничить по", + "limit_date": "Дата ограничения", + "limit_count": "Кол-во ограничений", "count": "Количество", "status": "Статус", "select_a_status": "Выбрать статус", @@ -516,39 +516,39 @@ "notes": "Заметки", "view": "Просмотр", "basic_info": "Общая информация", - "send_invoice": "Send Recurring Invoice", + "send_invoice": "Отправить повторяющийся счёт", "auto_send": "Автоотправка", - "resend_invoice": "Resend Recurring Invoice", - "invoice_template": "Recurring Invoice Template", - "conversion_message": "Recurring Invoice cloned successful", + "resend_invoice": "Повторно отправить повторяющийся счёт", + "invoice_template": "Шаблон повторяющегося счета", + "conversion_message": "Повторяющийся счет клонирован успешно", "template": "Шаблон", "mark_as_sent": "Пометить как отправленное", - "confirm_send_invoice": "This recurring invoice will be sent via email to the customer", - "invoice_mark_as_sent": "This recurring invoice will be marked as sent", - "confirm_send": "This recurring invoice will be sent via email to the customer", + "confirm_send_invoice": "Этот счет будет отправлен клиенту по электронной почте", + "invoice_mark_as_sent": "Этот повторяющийся счет будет помечен как отправленный", + "confirm_send": "Этот счет будет отправлен клиенту по электронной почте", "starts_at": "Дата начала", "due_date": "Срок оплаты счёта", "record_payment": "Добавить платёж", "add_new_invoice": "Добавить новый повторяющийся счет", - "update_expense": "Update Expense", - "edit_invoice": "Edit Recurring Invoice", - "new_invoice": "New Recurring Invoice", - "send_automatically": "Send Automatically", - "send_automatically_desc": "Enable this, if you would like to send the invoice automatically to the customer when its created.", - "save_invoice": "Save Recurring Invoice", - "update_invoice": "Update Recurring Invoice", - "add_new_tax": "Add New Tax", - "no_invoices": "No Recurring Invoices yet!", - "mark_as_rejected": "Mark as rejected", - "mark_as_accepted": "Mark as accepted", - "list_of_invoices": "This section will contain the list of recurring invoices.", - "select_invoice": "Select Invoice", - "no_matching_invoices": "There are no matching recurring invoices!", - "mark_as_sent_successfully": "Recurring Invoice marked as sent successfully", - "invoice_sent_successfully": "Recurring Invoice sent successfully", - "cloned_successfully": "Recurring Invoice cloned successfully", - "clone_invoice": "Clone Recurring Invoice", - "confirm_clone": "This recurring invoice will be cloned into a new Recurring Invoice", + "update_expense": "Обновить расход", + "edit_invoice": "Отправить повторяющийся счёт", + "new_invoice": "Отправить повторяющийся счёт", + "send_automatically": "Отправлять автоматически", + "send_automatically_desc": "Включите это, если хотите автоматически отправлять счет клиенту при его создании.", + "save_invoice": "Сохранить повторяющийся счет", + "update_invoice": "Обновить повторяющийся счет", + "add_new_tax": "Добавить новый налог", + "no_invoices": "Пока нет повторяющихся счетов!", + "mark_as_rejected": "Отметить как отклонённый", + "mark_as_accepted": "Отметить как принятый", + "list_of_invoices": "Этот раздел будет содержать список периодических счетов.", + "select_invoice": "Выбрать счет", + "no_matching_invoices": "Нет совпадающих повторяющихся счетов!", + "mark_as_sent_successfully": "Повторяющийся счет помечен как успешно отправленный", + "invoice_sent_successfully": "Повторяющийся счёт успешно отправлен", + "cloned_successfully": "Повторяющийся счет клонирован успешно", + "clone_invoice": "Клонировать повторяющийся счет", + "confirm_clone": "Этот повторяющийся счет будет клонирован в новый повторяющийся счет", "add_customer_email": "Пожалуйста, добавьте адрес электронной почты для этого клиента, чтобы отправлять счета автоматически.", "item": { "title": "Название товара", @@ -557,45 +557,45 @@ "price": "Цена", "discount": "Скидка", "total": "Итого", - "total_discount": "Total Discount", - "sub_total": "Sub Total", - "tax": "Tax", - "amount": "Amount", - "select_an_item": "Type or click to select an item", - "type_item_description": "Type Item Description (optional)" + "total_discount": "Общая скидка", + "sub_total": "Промежуточный итог", + "tax": "Налог", + "amount": "Сумма", + "select_an_item": "Введите или кликните для выбора элемента", + "type_item_description": "Описание товара (необязательно)" }, "frequency": { - "title": "Frequency (using cron format)", + "title": "Частота (в формате cron)", "select_frequency": "Выберите периодичность", "minute": "Минута", - "hour": "Hour", - "day_month": "Day of month", + "hour": "Час", + "day_month": "День месяца", "month": "Месяц", "day_week": "День недели", - "every_minute": "Every Minute", - "every_30_minute": "Every 30 Minute", - "every_hour": "Every Hour", - "every_2_hour": "Every 2 Hour", - "every_day_at_midnight": "Every day at midnight", - "every_week": "Every Week", - "every_15_days_at_midnight": "Every 15 days at midnight", - "on_the_first_day_of_every_month_at_midnight": "On the first day of every month at 00:00", - "every_6_month": "Every 6 Month", - "every_year_on_the_first_day_of_january_at_midnight": "Every year on the first day of january at 00:00", - "custom": "Custom" + "every_minute": "Каждую минуту", + "every_30_minute": "Каждые 30 минут", + "every_hour": "Каждый час", + "every_2_hour": "Каждые 2 часа", + "every_day_at_midnight": "Каждый день в полночь", + "every_week": "Каждую неделю", + "every_15_days_at_midnight": "Каждые 15 дней в полночь", + "on_the_first_day_of_every_month_at_midnight": "В первый день каждого месяца в 00:00", + "every_6_month": "Каждые 6 месяцев", + "every_year_on_the_first_day_of_january_at_midnight": "Каждый год в первый день января в 00:00", + "custom": "Пользовательский" }, - "confirm_delete": "You will not be able to recover this Invoice | You will not be able to recover these Invoices", - "created_message": "Recurring Invoice created successfully", - "updated_message": "Recurring Invoice updated successfully", - "deleted_message": "Recurring Invoice deleted successfully | Recurring Invoices deleted successfully", - "marked_as_sent_message": "Recurring Invoice marked as sent successfully", + "confirm_delete": "Восстановление данного счета будет невозможно | Восстановление данного счета будет невозможно", + "created_message": "Повторяющийся счет успешно создан", + "updated_message": "Повторяющийся счет успешно обновлен", + "deleted_message": "Повторяющийся счет успешно удален | Повторяющиеся счета успешно удалены", + "marked_as_sent_message": "Повторяющийся счет помечен как успешно отправленный", "user_email_does_not_exist": "Адрес электронной почты пользователя не найден", "something_went_wrong": "что-то пошло не так", - "invalid_due_amount_message": "Total Recurring Invoice amount cannot be less than total paid amount for this Recurring Invoice. Please update the invoice or delete the associated payments to continue.", + "invalid_due_amount_message": "Итоговая сумма счета не может быть меньше оплаченной суммы по данному счету. Пожалуйста, обновите счет или удалите связанные с ним платежи, чтобы продолжить.", "limit": { - "none": "None", - "date": "Date", - "count": "Count" + "none": "Отсутствует", + "date": "Дата", + "count": "Кол-во" } }, "payments": { @@ -635,7 +635,7 @@ "updated_message": "Платеж успешно обновлен", "deleted_message": "Платеж успешно удален | Платежи успешно удалены", "invalid_amount_message": "Некорректная сумма платежа", - "amount_due": "Due Amount" + "amount_due": "Оплатить до" }, "expenses": { "title": "Расходы", @@ -665,9 +665,9 @@ "edit_expense": "Редактировать расход", "new_expense": "Новый расход", "expense": "Расход | Расходы", - "no_expenses": "No expenses yet!", + "no_expenses": "Расходов пока нет!", "list_of_expenses": "В этом разделе будет содержаться список расходов.", - "confirm_delete": "You will not be able to recover this Expense | You will not be able to recover these Expenses", + "confirm_delete": "Вы не сможете восстановить этот расход | Вы не сможете восстановить эти расходы", "created_message": "Расход создан успешно", "updated_message": "Расход успешно обновлен", "deleted_message": "Расход успешно удален | Расходы успешно удалены", @@ -732,16 +732,16 @@ "module_not_found": "Модуль не найден", "version_not_supported": "This module version doesn't support the current version of InvoiceShelf", "last_updated": "Последнее обновление", - "connect_installation": "Connect your installation", - "api_token_description": "Login to {url} and connect this installation by entering the API Token. Your purchased modules will show up here after the connection is established.", - "view_module": "View Module", - "update_available": "Update Available", - "purchased": "Purchased", - "installed": "Installed", - "no_modules_installed": "No Modules Installed Yet!", - "disable_warning": "All the settings for this particular will be reverted.", - "what_you_get": "What you get", - "sign_up_and_get_token": "Sign up & Get Token" + "connect_installation": "Подключить вашу установку", + "api_token_description": "Войдите в {url} и подключите эту установку, введя API-токен. Ваши приобретенные модули появятся здесь после установления соединения.", + "view_module": "Посмотреть модуль", + "update_available": "Доступно обновление", + "purchased": "Приобретено", + "installed": "Установлено", + "no_modules_installed": "Пока нет установленных модулей!", + "disable_warning": "Все настройки для этого параметра будут возвращены.", + "what_you_get": "Что вы получите", + "sign_up_and_get_token": "Зарегистрироваться и получить токен" }, "users": { "title": "Пользователи", @@ -768,7 +768,7 @@ "created_message": "Пользователь успешно создан", "updated_message": "Пользователь успешно обновлен", "deleted_message": "Пользователь успешно удален | Пользователи успешно удалены", - "select_company_role": "Select Role for {company}", + "select_company_role": "Выберите роль для {company}", "companies": "Компании" }, "reports": { @@ -795,8 +795,8 @@ "from_date": "От даты", "report_type": "Тип отчёта", "sort": { - "by_customer": "By Customer", - "by_item": "By Item" + "by_customer": "По клиенту", + "by_item": "По элементу" } }, "taxes": { @@ -851,11 +851,12 @@ "custom_fields": "Пользовательские поля", "payment_modes": "Формы оплаты", "notes": "Заметки", - "exchange_rate": "Exchange Rate", - "address_information": "Address Information" + "exchange_rate": "Обменный курс", + "address_information": "Информация об адресе", + "pdf_generation": "PDF Generation" }, "address_information": { - "section_description": " You can update Your Address information using form below." + "section_description": " Вы можете обновить информацию о вашем адресе, используя форму ниже." }, "title": "Настройки", "setting": "Настройки | Настройки", @@ -864,7 +865,7 @@ "primary_currency": "Основная валюта", "timezone": "Часовой пояс", "date_format": "Формат даты", - "time_format": "Time Format", + "time_format": "Формат времени", "currencies": { "title": "Валюты", "currency": "Валюта | Валюты", @@ -887,12 +888,13 @@ "host": "Почтовый сервер", "port": "Порт", "driver": "Сервис отправки почты", - "secret": "Secret", - "mailgun_secret": "Mailgun Secret", - "mailgun_domain": "Domain", + "secret": "Секретный ключ", + "mailgun_secret": "Серекетный ключ Mailgun", + "mailgun_domain": "Домен", "mailgun_endpoint": "Mailgun Endpoint", - "ses_secret": "SES Secret", - "ses_key": "SES Key", + "ses_secret": "Секрет SES", + "ses_key": "SES ключ", + "ses_region": "AWS Region", "password": "Пароль", "username": "Имя пользователя", "mail_config": "Настройки почты", @@ -904,13 +906,21 @@ "pdf": { "title": "Настройки PDF", "footer_text": "Текст нижнего колонтитула", - "pdf_layout": "Формат PDF" + "pdf_layout": "Формат PDF", + "pdf_configuration": "PDF Generation Settings", + "section_description": "Change the way PDFs are generated", + "driver": "PDF Driver to use", + "papersize": "Papersize", + "papersize_hint": "Papersize in width and height (ex. \"210mm 297mm\")", + "gotenberg_host": "Gotenberg service host", + "pdf_variables_save_successfully": "PDF configuration saved successfully", + "pdf_variables_save_error": "PDF configuration could not be saved" }, "company_info": { "company_info": "Информация о компании", "company_name": "Название компании", - "tax_id": "Tax Identification Number", - "vat_id": "VAT Identification Number", + "tax_id": "ИНН", + "vat_id": "Идентификационный номер VAT", "company_logo": "Символ компании", "section_description": "Информация о вашей компании, которая будет отображаться на счетах, сметах и других документах, созданных системой InvoiceShelf.", "phone": "Телефон", @@ -923,42 +933,42 @@ "delete": "Удалить", "updated_message": "Информация о компании успешно обновлена", "delete_company": "Удалить компанию", - "delete_company_description": "Once you delete your company, you will lose all the data and files associated with it permanently.", + "delete_company_description": "Как только вы удалите свою компанию, вы навсегда потеряете все данные и файлы, связанные с ней.", "are_you_absolutely_sure": "Вы уверены?", - "delete_company_modal_desc": "This action cannot be undone. This will permanently delete {company} and all of its associated data.", + "delete_company_modal_desc": "Это действие не может быть отменено. Это навсегда удалит {company} и все связанные с ней данные.", "delete_company_modal_label": "Пожалуйста, введите {company} для подтверждения" }, "custom_fields": { "title": "Пользовательские поля", - "section_description": "Customize your Invoices, Estimates & Payment Receipts with your own fields. Make sure to use the below added fields on the address formats on Customization settings page.", - "add_custom_field": "Add Custom Field", - "edit_custom_field": "Edit Custom Field", - "field_name": "Field Name", + "section_description": "Настройте счета, оценки и квитанции по платежам с помощью ваших собственных полей. Не забудьте использовать приведенные ниже поля в форматах адреса на странице Параметры настройки.", + "add_custom_field": "Добавить настраиваемое поле", + "edit_custom_field": "Изменить пользовательское поле", + "field_name": "Имя поля", "label": "Метка", "type": "Тип", "name": "Название", - "slug": "Slug", + "slug": "Слаг", "required": "Обязательно для заполнения", - "placeholder": "Placeholder", + "placeholder": "Плейсхолдер", "help_text": "Справка", - "default_value": "Default Value", - "prefix": "Prefix", - "starting_number": "Starting Number", - "model": "Model", - "help_text_description": "Enter some text to help users understand the purpose of this custom field.", - "suffix": "Suffix", + "default_value": "Значение по умолчанию", + "prefix": "Префикс", + "starting_number": "Начальный номер", + "model": "Модель", + "help_text_description": "Введите текст, чтобы помочь пользователям понять назначение этого настраиваемого поля.", + "suffix": "Суффикс", "yes": "Да", "no": "Нет", - "order": "Order", - "custom_field_confirm_delete": "You will not be able to recover this Custom Field", - "already_in_use": "Custom Field is already in use", - "deleted_message": "Custom Field deleted successfully", + "order": "Порядок", + "custom_field_confirm_delete": "Вы не сможете восстановить это настраиваемое поле", + "already_in_use": "Настраиваемое поле уже используется", + "deleted_message": "Пользовательское поле успешно удалено", "options": "параметры", - "add_option": "Add Options", - "add_another_option": "Add another option", - "sort_in_alphabetical_order": "Sort in Alphabetical Order", - "add_options_in_bulk": "Add options in bulk", - "use_predefined_options": "Use Predefined Options", + "add_option": "Добавить параметры", + "add_another_option": "Добавить еще один вариант", + "sort_in_alphabetical_order": "Сортировать по алфавитному порядку", + "add_options_in_bulk": "Массовое добавление опций", + "use_predefined_options": "Использовать предопределенные параметры", "select_custom_date": "Выберите произвольную дату", "select_relative_date": "Выберите относительную дату", "ticked_by_default": "Отмечен по умолчанию", @@ -968,11 +978,11 @@ "model_in_use": "Невозможно обновить модель для полей, которые уже используются.", "type_in_use": "Невозможно обновить тип для полей, которые уже используются.", "model_type": { - "customer": "Customer", - "invoice": "Invoice", - "estimate": "Estimate", - "expense": "Expense", - "payment": "Payment" + "customer": "Клиент", + "invoice": "Счет", + "estimate": "Смета", + "expense": "Расход", + "payment": "Платёж" } }, "customization": { @@ -980,27 +990,27 @@ "updated_message": "Информация о компании успешно обновлена", "save": "Сохранить", "insert_fields": "Вставить поля", - "learn_custom_format": "Learn how to use custom format", + "learn_custom_format": "Узнайте, как использовать собственный формат", "add_new_component": "Добавить компонент", "component": "Компонент", "Parameter": "Параметр", - "series": "Series", - "series_description": "To set a static prefix/postfix like 'INV' across your company. It supports character length of up to 6 chars.", - "series_param_label": "Series Value", + "series": "Серии", + "series_description": "Чтобы установить статический префикс/постфикс, например INV, в вашей компании. Он поддерживает длину символа до 6 символов.", + "series_param_label": "Значение серии", "delimiter": "Разделитель", "delimiter_description": "Символ для обозначения границы между двумя компонентами. По умолчанию имеет значение -", "delimiter_param_label": "Разделитель", "date_format": "Формат даты", - "time_format": "Time Format", - "date_format_description": "A local date and time field which accepts a format parameter. The default format: 'Y' renders the current year.", + "time_format": "Формат времени", + "date_format_description": "Локальное поле даты и времени, которое принимает параметр формата. Формат по умолчанию: «Y» отображает текущий год.", "date_format_param_label": "Формат", "sequence": "Последовательность", - "sequence_description": "Consecutive sequence of numbers across your company. You can specify the length on the given parameter.", + "sequence_description": "Последовательная последовательность чисел в вашей компании. Вы можете указать длину данного параметра.", "sequence_param_label": "Длина последовательности", - "customer_series": "Customer Series", + "customer_series": "Серия клиентов", "customer_series_description": "Установить отдельный префикс/постфикс для каждого клиента.", - "customer_sequence": "Customer Sequence", - "customer_sequence_description": "Consecutive sequence of numbers for each of your customer.", + "customer_sequence": "Последовательность клиентов", + "customer_sequence_description": "Последовательная последовательность чисел для каждого вашего клиента.", "customer_sequence_param_label": "Длина последовательности", "random_sequence": "Случайная последовательность", "random_sequence_description": "Произвольная буквенно-цифровая строка. Вы можете указать длину в качестве параметра.", @@ -1008,217 +1018,219 @@ "invoices": { "title": "Счет-фактуры", "invoice_number_format": "Формат номера счета", - "invoice_number_format_description": "Customize how your invoice number gets generated automatically when you create a new invoice.", + "invoice_number_format_description": "Настройте автоматическое создание номера счета при создании нового счета.", "preview_invoice_number": "Предосмотр номера счета", - "due_date": "Due Date", - "due_date_description": "Specify how due date is automatically set when you create an invoice.", - "due_date_days": "Invoice Due after days", - "set_due_date_automatically": "Set Due Date Automatically", - "set_due_date_automatically_description": "Enable this if you wish to set due date automatically when you create a new invoice.", - "default_formats": "Default Formats", - "default_formats_description": "Below given formats are used to fill up the fields automatically on invoice creation.", + "due_date": "Дата к оплате", + "due_date_description": "Укажите, как автоматически устанавливается срок оплаты при создании счета.", + "due_date_days": "Счет к оплате через несколько дней", + "set_due_date_automatically": "Установить дату выполнения автоматически", + "set_due_date_automatically_description": "Включите, если вы хотите установить срок действия автоматически при создании нового счета.", + "default_formats": "Форматы по умолчанию", + "default_formats_description": "Ниже приведенные форматы используются для автоматического заполнения полей при создании счета.", "default_invoice_email_body": "Тело письма счета по умолчанию", "company_address_format": "Формат адреса компании", "shipping_address_format": "Формат адреса доставки", "billing_address_format": "Формат адреса для выставления счетов", "invoice_email_attachment": "Отправить счета-фактуры как вложения", "invoice_email_attachment_setting_description": "Включите, если вы хотите отправлять счета-фактуры как вложение по электронной почте. Пожалуйста, обратите внимание, что кнопка «Просмотр счета» в письмах больше не будет отображаться, если включено.", - "invoice_settings_updated": "Invoice Settings updated successfully", - "retrospective_edits": "Retrospective Edits", + "invoice_settings_updated": "Настройки счета успешно обновлены", + "retrospective_edits": "Ретроспективные правки", "allow": "Разрешить", - "disable_on_invoice_partial_paid": "Disable after partial payment is recorded", - "disable_on_invoice_paid": "Disable after full payment is recorded", - "disable_on_invoice_sent": "Disable after invoice is sent", - "retrospective_edits_description": " Based on your country's laws or your preference, you can restrict users from editing finalised invoices." + "disable_on_invoice_partial_paid": "Отключить после записи частичного платежа", + "disable_on_invoice_paid": "Отключить после полной оплаты", + "disable_on_invoice_sent": "Отключить после отправки счета", + "retrospective_edits_description": " Основываясь на законах вашей страны или предпочтениях, вы можете ограничить пользователей редактированием завершенных счетов." }, "estimates": { "title": "Сметы", - "estimate_number_format": "Estimate Number Format", - "estimate_number_format_description": "Customize how your estimate number gets generated automatically when you create a new estimate.", - "preview_estimate_number": "Preview Estimate Number", - "expiry_date": "Expiry Date", - "expiry_date_description": "Specify how expiry date is automatically set when you create an estimate.", - "expiry_date_days": "Estimate Expires after days", - "set_expiry_date_automatically": "Set Expiry Date Automatically", - "set_expiry_date_automatically_description": "Enable this if you wish to set expiry date automatically when you create a new estimate.", - "default_formats": "Default Formats", - "default_formats_description": "Below given formats are used to fill up the fields automatically on estimate creation.", + "estimate_number_format": "Вычислить формат чисел", + "estimate_number_format_description": "Настройте автоматическое создание номера оценки при создании новой оценки.", + "preview_estimate_number": "Предварительный расчетный номер", + "expiry_date": "Истекает", + "expiry_date_description": "Укажите, как автоматически устанавливается срок оплаты при создании счета.", + "expiry_date_days": "Оценка Истекает через дней", + "set_expiry_date_automatically": "Установить дату истечения срока действия автоматически", + "set_expiry_date_automatically_description": "Включите эту опцию, если хотите автоматически устанавливать срок действия при создании новой оценки.", + "default_formats": "Форматы по умолчанию", + "default_formats_description": "Ниже приведенные форматы используются для автоматического заполнения полей при создании счета.", "default_estimate_email_body": "Тело письма сметы по умолчанию", - "company_address_format": "Company Address Format", - "shipping_address_format": "Shipping Address Format", - "billing_address_format": "Billing Address Format", - "estimate_email_attachment": "Send estimates as attachments", - "estimate_email_attachment_setting_description": "Enable this if you want to send the estimates as an email attachment. Please note that 'View Estimate' button in emails will not be displayed anymore when enabled.", - "estimate_settings_updated": "Estimate Settings updated successfully", - "convert_estimate_options": "Estimate Convert Action", - "convert_estimate_description": "Specify what happens to the estimate after it gets converted to an invoice.", - "no_action": "No action", - "delete_estimate": "Delete estimate", - "mark_estimate_as_accepted": "Mark estimate as accepted" + "company_address_format": "Формат адреса компании", + "shipping_address_format": "Формат адреса доставки", + "billing_address_format": "Формат адреса для выставления счетов", + "estimate_email_attachment": "Отправить счета-фактуры как вложения", + "estimate_email_attachment_setting_description": "Включите эту опцию, если хотите отправлять квитанции об оплате в виде вложения электронной почты. Обратите внимание, что кнопка «Просмотреть платеж» в электронных письмах больше не будет отображаться, если она включена.", + "estimate_settings_updated": "Настройки оценки успешно обновлены", + "convert_estimate_options": "Оценить конверсию действия", + "convert_estimate_description": "Укажите, что происходит с оценкой после ее преобразования в счет-фактуру.", + "no_action": "Не задано", + "delete_estimate": "Удалить оценку", + "mark_estimate_as_accepted": "Отметить оценку как принятую" }, "payments": { "title": "Платежи", - "payment_number_format": "Payment Number Format", - "payment_number_format_description": "Customize how your payment number gets generated automatically when you create a new payment.", - "preview_payment_number": "Preview Payment Number", - "default_formats": "Default Formats", - "default_formats_description": "Below given formats are used to fill up the fields automatically on payment creation.", - "default_payment_email_body": "Default Payment Email Body", + "payment_number_format": "Формат номера платежа", + "payment_number_format_description": "Настройте автоматическое создание номера счета при создании нового счета.", + "preview_payment_number": "Просмотр номера платежа", + "default_formats": "Форматы по умолчанию", + "default_formats_description": "Ниже заданные форматы используются для автоматического заполнения полей при создании платежа.", + "default_payment_email_body": "Тело квитанции об оплате по умолчанию", "company_address_format": "Формат адреса компании", "from_customer_address_format": "From Customer Address Format", - "payment_email_attachment": "Send payments as attachments", - "payment_email_attachment_setting_description": "Enable this if you want to send the payment receipts as an email attachment. Please note that 'View Payment' button in emails will not be displayed anymore when enabled.", - "payment_settings_updated": "Payment Settings updated successfully" + "payment_email_attachment": "Отправить счета-фактуры как вложения", + "payment_email_attachment_setting_description": "Включите эту опцию, если хотите отправлять квитанции об оплате в виде вложения электронной почты. Обратите внимание, что кнопка «Просмотреть платеж» в электронных письмах больше не будет отображаться, если она включена.", + "payment_settings_updated": "Платежные настройки успешно обновлены" }, "items": { "title": "Товары", "units": "Единицы измерения", - "add_item_unit": "Add Item Unit", - "edit_item_unit": "Edit Item Unit", - "unit_name": "Unit Name", - "item_unit_added": "Item Unit Added", - "item_unit_updated": "Item Unit Updated", - "item_unit_confirm_delete": "You will not be able to recover this Item unit", - "already_in_use": "Item Unit is already in use", - "deleted_message": "Item Unit deleted successfully" + "add_item_unit": "Добавить единицу товара", + "edit_item_unit": "Редактировать единицу товара", + "unit_name": "Название подразделения", + "item_unit_added": "Добавлена ​​единица предмета", + "item_unit_updated": "Единица предмета обновлена", + "item_unit_confirm_delete": "Вы не сможете восстановить этот предмет", + "already_in_use": "Единица Товара уже используется", + "deleted_message": "Объект Элемента успешно удален" }, "notes": { "title": "Заметки", - "description": "Save time by creating notes and reusing them on your invoices, estimates & payments.", + "description": "Экономьте время, создавая заметки и переиспользуя их в счетах, оценках и платежах.", "notes": "Заметки", "type": "Тип", - "add_note": "Add Note", - "add_new_note": "Add New Note", + "is_default": "", + "is_default_description": "This note will be selected by default in new invoices.", + "add_note": "Добавить Заметку", + "add_new_note": "Добавить новое примечание", "name": "Название", - "edit_note": "Edit Note", - "note_added": "Note added successfully", - "note_updated": "Note Updated successfully", - "note_confirm_delete": "You will not be able to recover this Note", - "already_in_use": "Note is already in use", - "deleted_message": "Note deleted successfully", + "edit_note": "Редактировать Заметку", + "note_added": "Файл добавлен", + "note_updated": "Примечание успешно обновлено", + "note_confirm_delete": "Вы не сможете восстановить эту заметку", + "already_in_use": "Примечание уже используется", + "deleted_message": "Записка удалена успешно", "types": { - "estimate": "Estimate", - "invoice": "Invoice", - "payment": "Payment" + "estimate": "Смета", + "invoice": "Счет", + "payment": "Платёж" } } }, "account_settings": { - "profile_picture": "Profile Picture", + "profile_picture": "Картинка Профиля", "name": "Имя", - "email": "Email", + "email": "Эл. почта", "password": "Пароль", "confirm_password": "Confirm Пароль", - "account_settings": "Account Settings", + "account_settings": "Настройки учётной записи", "save": "Сохранить", - "section_description": "You can update your name, email & password using the form below.", - "updated_message": "Account Settings updated successfully" + "section_description": "Вы можете обновить свое имя, адрес электронной почты и пароль, используя форму ниже.", + "updated_message": "Настройки учетной записи успешно обновлены" }, "user_profile": { "name": "Имя", - "email": "Email", + "email": "Эл. почта", "password": "Пароль", "confirm_password": "Подтвердить пароль" }, "notification": { - "title": "Notifications", - "email": "Send Notifications to", - "description": "Which email notifications would you like to receive when something changes?", + "title": "Уведомления", + "email": "Отправлять уведомления", + "description": "Какие уведомления по электронной почте вы хотели бы получать при внесении изменений?", "invoice_viewed": "Счет просмотрен", "invoice_viewed_desc": "Когда клиент просматривает счет, отправленный через панель управления.", - "estimate_viewed": "Estimate viewed", - "estimate_viewed_desc": "When your customer views the estimate sent via invoiceshelf dashboard.", + "estimate_viewed": "Оценка просмотрена", + "estimate_viewed_desc": "Когда клиент просматривает счет, отправленный через панель управления.", "save": "Сохранить", - "email_save_message": "Email saved successfully", + "email_save_message": "Электронная почта успешно сохранена", "please_enter_email": "Введите Email" }, "roles": { - "title": "Roles", - "description": "Manage the roles & permissions of this company", - "save": "Save", - "add_new_role": "Add New Role", - "role_name": "Role Name", - "added_on": "Added on", - "add_role": "Add Role", - "edit_role": "Edit Role", - "name": "Name", - "permission": "Permission | Permissions", - "select_all": "Select All", - "none": "None", - "confirm_delete": "You will not be able to recover this Role", - "created_message": "Role created successfully", - "updated_message": "Role updated successfully", - "deleted_message": "Role deleted successfully", - "already_in_use": "Role is already in use" + "title": "Роли", + "description": "Управление ролями и разрешениями этой компании", + "save": "Сохранить", + "add_new_role": "Добавить новую роль", + "role_name": "Имя роли", + "added_on": "Добавлено", + "add_role": "Добавить Заметку", + "edit_role": "Изменить роль", + "name": "Имя", + "permission": "Разрешение | Разрешения", + "select_all": "Выбрать всё", + "none": "Отсутствует", + "confirm_delete": "Вы не сможете восстановить эту заметку", + "created_message": "Модуль успешно обновлен", + "updated_message": "Роль успешно обновлена", + "deleted_message": "Модуль успешно обновлен", + "already_in_use": "Роль уже используется" }, "exchange_rate": { - "exchange_rate": "Exchange Rate", - "title": "Fix Currency Exchange issues", - "description": "Please enter exchange rate of all the currencies mentioned below to help InvoiceShelf properly calculate the amounts in {currency}.", - "drivers": "Drivers", - "new_driver": "Add New Provider", - "edit_driver": "Edit Provider", - "select_driver": "Select Driver", - "update": "select exchange rate ", - "providers_description": "Configure your exchange rate providers here to automatically fetch the latest exchange rate on transactions.", + "exchange_rate": "Обменный курс", + "title": "Исправить проблемы с обменом валюты", + "description": "Пожалуйста, введите обменный курс всех валют, упомянутых ниже, чтобы помочь Crater правильно рассчитать суммы в {currency}.", + "drivers": "Драйверы", + "new_driver": "Добавить нового провайдера", + "edit_driver": "Изменить провайдера", + "select_driver": "Выберите водителя", + "update": "выбрать обменный курс ", + "providers_description": "Настройте здесь свои поставщики обменных курсов, чтобы автоматически получать последние обменные курсы по сделкам.", "key": "API Key", - "name": "Name", - "driver": "Driver", - "is_default": "IS DEFAULT", - "currency": "Currencies", - "exchange_rate_confirm_delete": "You will not be able to recover this driver", - "created_message": "Provider Created successfully", - "updated_message": "Provider Updated Successfully", - "deleted_message": "Provider Deleted Successfully", - "error": " You cannot Delete Active Driver", - "default_currency_error": "This currency is already used in one of the Active Provider", - "exchange_help_text": "Enter exchange rate to convert from {currency} to {baseCurrency}", - "currency_freak": "Currency Freak", - "currency_layer": "Currency Layer", - "open_exchange_rate": "Open Exchange Rate", - "currency_converter": "Currency Converter", + "name": "Имя", + "driver": "Драйвер", + "is_default": "ПО УМОЛЧАНИЮ", + "currency": "Валюты", + "exchange_rate_confirm_delete": "Вы не сможете восстановить этот драйвер", + "created_message": "Поставщик успешно удален", + "updated_message": "Провайдер успешно обновлен", + "deleted_message": "Провайдер успешно обновлен", + "error": " Вы не можете удалить активного водителя", + "default_currency_error": "Эта валюта уже используется в одном из активных провайдеров", + "exchange_help_text": "Введите обменный курс для конвертации из {currency} в {baseCurrency}", + "currency_freak": "Валютный урод", + "currency_layer": "Валютный слой", + "open_exchange_rate": "Обменный курс", + "currency_converter": "Конвертер валют", "server": "Сервер", "url": "URL-адрес", "active": "Активный", - "currency_help_text": "This provider will only be used on above selected currencies", - "currency_in_used": "The following currencies are already active on another provider. Please remove these currencies from selection to activate this provider again." + "currency_help_text": "Этот провайдер будет использоваться только для указанных выше валют", + "currency_in_used": "Следующие валюты уже активны на другом провайдере. Пожалуйста, удалите эти валюты из выбора, чтобы активировать этого провайдера снова." }, "tax_types": { "title": "Типы налогов", "add_tax": "Добавить налог", "edit_tax": "Редактировать налог", - "description": "You can add or Remove Taxes as you please. InvoiceShelf supports Taxes on Individual Items as well as on the invoice.", + "description": "Вы можете добавлять или удалять налоги по своему усмотрению. Crater поддерживает налоги на отдельные товары, а также на счета.", "add_new_tax": "Добавить новый налог", "tax_settings": "Настройки налога", "tax_per_item": "Налог за единицу", "tax_name": "Название налога", - "compound_tax": "Compound Tax", + "compound_tax": "Комплексный налог", "percent": "Процент", "action": "Действие", - "tax_setting_description": "Enable this if you want to add taxes to individual invoice items. By default, taxes are added directly to the invoice.", - "created_message": "Tax type created successfully", - "updated_message": "Tax type updated successfully", - "deleted_message": "Tax type deleted successfully", + "tax_setting_description": "Включите эту опцию, если вы хотите добавить налоги к отдельным позициям счета-фактуры. По умолчанию налоги добавляются непосредственно к счету.", + "created_message": "Тип налога успешно создан", + "updated_message": "Тип налога успешно обновлен", + "deleted_message": "Тип налога успешно удален", "confirm_delete": "Восстановление типа налога будет невозможна", "already_in_use": "Налог используется" }, "payment_modes": { - "title": "Payment Modes", - "description": "Modes of transaction for payments", - "add_payment_mode": "Add Payment Mode", - "edit_payment_mode": "Edit Payment Mode", - "mode_name": "Mode Name", - "payment_mode_added": "Payment Mode Added", + "title": "Формы оплаты", + "description": "Режимы транзакций для платежей", + "add_payment_mode": "Режим платежа", + "edit_payment_mode": "Режим платежа", + "mode_name": "Назв. режима", + "payment_mode_added": "Добавлен способ оплаты", "payment_mode_updated": "Payment Mode Updated", - "payment_mode_confirm_delete": "You will not be able to recover this Payment Mode", - "payments_attached": "This payment method is already attached to payments. Please delete the attached payments to proceed with deletion.", - "expenses_attached": "This payment method is already attached to expenses. Please delete the attached expenses to proceed with deletion.", - "deleted_message": "Payment Mode deleted successfully" + "payment_mode_confirm_delete": "Вы не сможете восстановить этот способ оплаты", + "payments_attached": "Этот способ оплаты уже прикреплен к платежам. Пожалуйста, удалите прикрепленные платежи, чтобы продолжить удаление.", + "expenses_attached": "Этот способ оплаты уже прикреплен к платежам. Пожалуйста, удалите прикрепленные платежи, чтобы продолжить удаление.", + "deleted_message": "Способ оплаты успешно удален" }, "expense_category": { "title": "Категории расходов", "action": "Действие", - "description": "Categories are required for adding expense entries. You can Add or Remove these categories according to your preference.", + "description": "Категории необходимы для добавления записей расходов. Вы можете добавить или удалить эти категории в соответствии с вашими предпочтениями.", "add_new_category": "Добавить новую категорию", "add_category": "Добавить категорию", "edit_category": "Редактировать категорию", @@ -1232,189 +1244,189 @@ }, "preferences": { "currency": "Валюта", - "default_language": "Default Language", + "default_language": "Язык по умолчанию", "time_zone": "Часовой пояс", - "fiscal_year": "Financial Year", - "date_format": "Date Format", - "time_format": "Time Fromat", - "discount_setting": "Discount Setting", - "discount_per_item": "Discount Per Item ", - "discount_setting_description": "Enable this if you want to add Discount to individual invoice items. By default, Discount is added directly to the invoice.", - "expire_public_links": "Automatically Expire Public Links", - "expire_setting_description": "Specify whether you would like to expire all the links sent by application to view invoices, estimates & payments, etc after a specified duration.", + "fiscal_year": "Финансовый год", + "date_format": "Формат даты", + "time_format": "Формат времени", + "discount_setting": "Настройка скидки", + "discount_per_item": "Скидка на товар ", + "discount_setting_description": "Включите эту опцию, если хотите добавить скидку к отдельным элементам счета. По умолчанию скидка добавляется непосредственно в счет.", + "expire_public_links": "Автоматическое истечение срока действия общедоступных ссылок", + "expire_setting_description": "Укажите, хотите ли вы, чтобы срок действия всех ссылок, отправляемых приложением, для просмотра счетов, оценок, платежей и т. д. истекал по истечении указанного времени.", "save": "Сохранить", - "preference": "Preference | Preferences", - "general_settings": "Default preferences for the system.", - "updated_message": "Preferences updated successfully", - "select_language": "Select Language", + "preference": "Предпочтения | Настройки", + "general_settings": "Настройки по умолчанию для системы.", + "updated_message": "Настройки успешно обновлены", + "select_language": "Выберите язык", "select_time_zone": "Выберите часовой пояс", - "select_date_format": "Select Date Format", - "select_time_format": "Select Time Format", - "select_financial_year": "Select Financial Year", - "recurring_invoice_status": "Recurring Invoice Status", - "create_status": "Create Status", - "active": "Active", - "on_hold": "On Hold", - "update_status": "Update Status", - "completed": "Completed", - "company_currency_unchangeable": "Company currency cannot be changed", - "invoice_use_time": "Use time in invoices", - "invoice_use_time_description": "Enable this if you want to select exact invoice time.", + "select_date_format": "Выберите формат даты", + "select_time_format": "Выберите часовой пояс", + "select_financial_year": "Выберите финансовый год", + "recurring_invoice_status": "Номер периодического счёта", + "create_status": "Создать статус", + "active": "Активно", + "on_hold": "На удержании", + "update_status": "Обновить состояние", + "completed": "Завершено", + "company_currency_unchangeable": "Валюта компании не может быть изменена", + "invoice_use_time": "Использовать время в счетах", + "invoice_use_time_description": "Включите, если вы хотите выбрать точное время выставления счета.", "fiscal_years": { - "january_december": "January - December", - "february_january": "February - January", - "march_february": "March - February", - "april_march": "April - March", - "may_april": "May - April", - "june_may": "June - May", - "july_june": "July - June", - "august_july": "August - July", - "september_august": "September - August", - "october_september": "October - September", - "november_october": "November - October", - "december_november": "December - November" + "january_december": "Январь — декабрь", + "february_january": "Февраль - Январь", + "march_february": "Март - Февраль", + "april_march": "Апрель - Март", + "may_april": "Май - Апрель", + "june_may": "Июнь— май", + "july_june": "Июль - июнь", + "august_july": "Август — июль", + "september_august": "Сентябрь - август", + "october_september": "Октябрь - сентябрь", + "november_october": "Ноябрь - октябрь", + "december_november": "Декабрь - Ноябрь" } }, "update_app": { - "title": "Update App", - "description": "You can easily update InvoiceShelf by checking for a new update by clicking the button below", - "check_update": "Check for updates", - "insider_consent": "Opt-in for Insider releases. Recommended for testing purposes only.", - "avail_update": "New Update available", - "next_version": "Next version", - "requirements": "Requirements", - "update": "Update Now", - "update_progress": "Update in progress...", - "progress_text": "It will just take a few minutes. Please do not refresh the screen or close the window before the update finishes", - "update_success": "App has been updated! Please wait while your browser window gets reloaded automatically.", - "latest_message": "No update available! You are on the latest version.", - "current_version": "Current Version", - "download_zip_file": "Download ZIP file", - "unzipping_package": "Unzipping Package", - "copying_files": "Copying Files", - "deleting_files": "Deleting Unused files", + "title": "Обновить приложение", + "description": "Вы можете легко обновить InvoiceShelf, проверив новое обновление, нажав кнопку ниже", + "check_update": "Проверить наличие обновлений", + "insider_consent": "Opt-in для релизов Insider. Рекомендуется только для тестирования.", + "avail_update": "Доступно обновление", + "next_version": "Следующая версия", + "requirements": "Требования", + "update": "Обновить сейчас", + "update_progress": "Идет обновление...", + "progress_text": "Это займет всего несколько минут. Пожалуйста, не обновляйте экран и не закрывайте окно до завершения обновления", + "update_success": "Приложение обновлено! Пожалуйста, подождите, пока окно вашего браузера перезагрузится автоматически.", + "latest_message": "Нет доступных обновлений! Вы используете последнюю версию.", + "current_version": "Текущая версия", + "download_zip_file": "Скачать ZIP-файл", + "unzipping_package": "Распаковка пакета", + "copying_files": "Копирование файлов", + "deleting_files": "Удаление неиспользуемых файлов", "running_migrations": "Running Migrations", - "finishing_update": "Finishing Update", - "update_failed": "Update Failed", - "update_failed_text": "Sorry! Your update failed on : {step} step", - "update_warning": "All of the application files and default template files will be overwritten when you update the application using this utility. Please take a backup of your templates & database before updating." + "finishing_update": "Заканчиваем обновление", + "update_failed": "Не удалось обновить", + "update_failed_text": "Извиняюсь! Ваше обновление не выполнено на шаге {step}", + "update_warning": "Все файлы приложения и файлы шаблонов по умолчанию будут перезаписаны при обновлении приложения с помощью этой утилиты. Перед обновлением сделайте резервную копию ваших шаблонов и базы данных." }, "backup": { - "title": "Backup | Backups", - "description": "The backup is a zipfile that contains all files in the directories you specify along with a dump of your database", - "new_backup": "Add New Backup", - "create_backup": "Create Backup", - "select_backup_type": "Select Backup Type", - "backup_confirm_delete": "You will not be able to recover this Backup", - "path": "path", - "new_disk": "New Disk", - "created_at": "created at", - "size": "size", + "title": "Резервное копирование | Резервные копии", + "description": "Резервная копия представляет собой zip-файл, содержащий все файлы в указанных вами каталогах, а также дамп вашей базы данных", + "new_backup": "Новая резервная копия", + "create_backup": "Создать резервную копию", + "select_backup_type": "Выберите тип резервного копирования", + "backup_confirm_delete": "Вы не сможете восстановить эту резервную копию", + "path": "путь", + "new_disk": "Новый диск", + "created_at": "дата создания", + "size": "размер", "dropbox": "dropbox", - "local": "local", - "healthy": "healthy", - "amount_of_backups": "amount of backups", - "newest_backups": "newest backups", - "used_storage": "used storage", - "select_disk": "Select Disk", + "local": "локальное", + "healthy": "исправен", + "amount_of_backups": "количество резервных копий", + "newest_backups": "новейшие резервные копии", + "used_storage": "используемое хранилище", + "select_disk": "Выберите диск", "action": "Действие", - "deleted_message": "Backup deleted successfully", - "created_message": "Backup created successfully", - "invalid_disk_credentials": "Invalid credential of selected disk" + "deleted_message": "Резервная копия успешно удалена", + "created_message": "Резервная копия успешно создана", + "invalid_disk_credentials": "Неверные учетные данные выбранного диска" }, "disk": { - "title": "File Disk | File Disks", - "description": "By default, InvoiceShelf will use your local disk for saving backups, avatar and other image files. You can configure more than one disk drivers like DigitalOcean, S3 and Dropbox according to your preference.", - "created_at": "created at", + "title": "Файловый диск | Файловые диски", + "description": "По умолчанию, InvoiceShelf будет использовать ваш локальный диск для сохранения резервных копий, аватаров и других файлов изображений. Вы можете настроить более одного драйвера, такого как DigitalOcean, S3 и Dropbox, в соответствии с вашими предпочтениями.", + "created_at": "дата создания", "dropbox": "dropbox", "name": "Имя", - "driver": "Driver", + "driver": "Драйвер", "disk_type": "Тип", - "disk_name": "Disk Name", - "new_disk": "Add New Disk", - "filesystem_driver": "Filesystem Driver", - "local_driver": "local Driver", - "local_root": "local Root", - "public_driver": "Public Driver", - "public_root": "Public Root", - "public_url": "Public URL", - "public_visibility": "Public Visibility", - "media_driver": "Media Driver", - "media_root": "Media Root", - "aws_driver": "AWS Driver", - "aws_key": "AWS Key", - "aws_secret": "AWS Secret", - "aws_region": "AWS Region", - "aws_bucket": "AWS Bucket", - "aws_root": "AWS Root", + "disk_name": "Название диска", + "new_disk": "Добавить новый диск", + "filesystem_driver": "Драйвер файловой системы", + "local_driver": "локальный драйвер", + "local_root": "локальный Root", + "public_driver": "Публичный драйвер", + "public_root": "Общий корень", + "public_url": "Общедоступный URL-адрес", + "public_visibility": "Публичная видимость", + "media_driver": "Медиа Драйвер", + "media_root": "Медиа Корень", + "aws_driver": "Драйвер AWS", + "aws_key": "Ключ AWS", + "aws_secret": "Секрет АВС", + "aws_region": "Регион AWS", + "aws_bucket": "Контейнер AWS", + "aws_root": "Корневой AWS", "s3_endpoint": "S3 Endpoint", - "s3_key": "S3 Key", - "s3_secret": "S3 Secret", - "s3_region": "S3 Region", - "s3_bucket": "S3 Bucket", - "s3_root": "S3 Root", - "do_spaces_type": "Do Spaces type", - "do_spaces_key": "Do Spaces key", - "do_spaces_secret": "Do Spaces Secret", - "do_spaces_region": "Do Spaces Region", - "do_spaces_bucket": "Do Spaces Bucket", - "do_spaces_endpoint": "Do Spaces Endpoint", - "do_spaces_root": "Do Spaces Root", - "dropbox_type": "Dropbox Type", - "dropbox_token": "Dropbox Token", - "dropbox_key": "Dropbox Key", - "dropbox_secret": "Dropbox Secret", - "dropbox_app": "Dropbox App", - "dropbox_root": "Dropbox Root", - "default_driver": "Default Driver", - "is_default": "IS DEFAULT", - "set_default_disk": "Set Default Disk", - "set_default_disk_confirm": "This disk will be set as default and all the new PDFs will be saved on this disk", - "success_set_default_disk": "Disk set as default successfully", - "save_pdf_to_disk": "Save PDFs to Disk", - "disk_setting_description": " Enable this, if you wish to save a copy of each Invoice, Estimate & Payment Receipt PDF on your default disk automatically. Turning this option will decrease the load-time when viewing the PDFs.", - "select_disk": "Select Disk", - "disk_settings": "Disk Settings", - "confirm_delete": "Your existing files & folders in the specified disk will not be affected but your disk configuration will be deleted from InvoiceShelf", + "s3_key": "Ключ S3", + "s3_secret": "Секрет S3", + "s3_region": "S3 регион", + "s3_bucket": "Сегмент S3", + "s3_root": "Корень S3", + "do_spaces_type": "Тип пространства", + "do_spaces_key": "Создать ключ Spaces", + "do_spaces_secret": "Сделать секрет для Spaces", + "do_spaces_region": "Регион Spaces", + "do_spaces_bucket": "Сделать Bucket для Spaces", + "do_spaces_endpoint": "Конечная точка Spaces", + "do_spaces_root": "Сделать Spaces Root", + "dropbox_type": "Тип Dropbox", + "dropbox_token": "Токен Dropbox", + "dropbox_key": "Ключ Dropbox", + "dropbox_secret": "Секрет Dropbox", + "dropbox_app": "Приложение Dropbox", + "dropbox_root": "Корень Dropbox", + "default_driver": "Драйвер по умолчанию", + "is_default": "ПО УМОЛЧАНИЮ", + "set_default_disk": "Установить диск по умолчанию", + "set_default_disk_confirm": "Этот диск будет установлен по умолчанию, и все новые PDF-файлы будут сохранены на этом диске", + "success_set_default_disk": "Диск успешно установлен по умолчанию", + "save_pdf_to_disk": "Сохранить PDF на диск", + "disk_setting_description": " Включите эту опцию, если вы хотите сохранить копию каждого счета, оценки и оплаты PDF на диске по умолчанию. Включение этой опции уменьшит время загрузки при просмотре PDF.", + "select_disk": "Выберите диск", + "disk_settings": "Настройки диска", + "confirm_delete": "Ваши существующие файлы и папки на указанном диске не будут затронуты, но конфигурация диска будет удалена из InvoiceShelf", "action": "Действие", - "edit_file_disk": "Edit File Disk", - "success_create": "Disk added successfully", - "success_update": "Disk updated successfully", - "error": "Disk addition failed", - "deleted_message": "File Disk deleted successfully", - "disk_variables_save_successfully": "Disk Configured Successfully", - "disk_variables_save_error": "Disk configuration failed.", - "invalid_disk_credentials": "Invalid credential of selected disk" + "edit_file_disk": "Редактировать файл диска", + "success_create": "Диск успешно подключён", + "success_update": "Диск успешно обновлен", + "error": "Не удалось добавить диск", + "deleted_message": "Файловый диск успешно удален", + "disk_variables_save_successfully": "Диск настроен успешно", + "disk_variables_save_error": "Не удалось настроить диск.", + "invalid_disk_credentials": "Неверные учетные данные выбранного диска" }, "taxations": { - "add_billing_address": "Enter Billing Address", - "add_shipping_address": "Enter Shipping Address", - "add_company_address": "Enter Company Address", - "modal_description": "The information below is required in order to fetch sales tax.", - "add_address": "Add Address for fetching sales tax.", - "address_placeholder": "Example: 123, My Street", - "city_placeholder": "Example: Los Angeles", - "state_placeholder": "Example: CA", - "zip_placeholder": "Example: 90024", - "invalid_address": "Please provide valid address details." + "add_billing_address": "Введите адрес выставления счета", + "add_shipping_address": "Введите адрес доставки", + "add_company_address": "Введите адрес компании", + "modal_description": "Информация, приведенная ниже, необходима для получения налога на продажи.", + "add_address": "Добавьте адрес для получения налога с продаж.", + "address_placeholder": "Пример: 123, Моя улица", + "city_placeholder": "Пример: Лос-Анджелес", + "state_placeholder": "Пример: РФ", + "zip_placeholder": "Пример: 90024", + "invalid_address": "Укажите действительную информацию об адресе." } }, "wizard": { "account_info": "Инфо по аккаунту", - "account_info_desc": "Below details will be used to create the main Administrator account. Also you can change the details anytime after logging in.", + "account_info_desc": "Ниже приведены данные для создания учетной записи главного администратора. Также вы можете изменить данные в любое время после входа в систему.", "name": "Имя", - "email": "Email", + "email": "Эл. почта", "password": "Пароль", "confirm_password": "Подтверждение пароля", "save_cont": "Сохранить и продолжить", "company_info": "О компании", - "company_info_desc": "This information will be displayed on invoices. Note that you can edit this later on settings page.", + "company_info_desc": "Эта информация будет отображаться на счетах. Обратите внимание, что вы можете изменить это позже на странице настроек.", "company_name": "Название компании", "company_logo": "Логотип компании", "logo_preview": "Предпросмотр", "preferences": "Настройки", "preferences_desc": "Настройки системы по-умолчанию.", - "currency_set_alert": "The company's currency cannot be changed later.", + "currency_set_alert": "Валюта компании не может быть изменена позже.", "country": "Страна", "state": "Область", "city": "Город", @@ -1424,90 +1436,90 @@ "zip_code": "Почтовый индекс", "go_back": "Назад", "currency": "Валюта", - "language": "Language", + "language": "Язык", "time_zone": "Часовой пояс", "fiscal_year": "Финансовый год", "date_format": "Формат даты", - "time_format": "Time Format", + "time_format": "Формат времени", "from_address": "Адрес", "username": "Имя пользователя", "next": "Далее", "continue": "Продолжить", "skip": "Пропустить", "install_language": { - "title": "Choose your language", - "description": "Select language wizard to install InvoiceShelf" + "title": "Выберите свой язык", + "description": "Выберите мастер языка для установки InvoiceShelf" }, "database": { - "database": "Site URL & Database", - "connection": "Database Connection", - "host": "Database Host", - "port": "Database Port", + "database": "URL и база данных сайта", + "connection": "Соединение с Базой Данных", + "host": "Сервер БД", + "port": "Порт БД", "password": "Пароль к БД", - "app_url": "App URL", - "app_domain": "App Domain", - "username": "Database Username", - "db_name": "Database Name", - "db_path": "Database Path", - "overwrite": "Overwrite existing database and proceed", - "desc": "Create a database on your server and set the credentials using the form below." + "app_url": "URL-адрес приложения", + "app_domain": "Домен приложения", + "username": "Имя пользователя", + "db_name": "Название БД", + "db_path": "Путь к БД", + "overwrite": "Перезаписать существующую базу данных и продолжить", + "desc": "Создайте на сервере базу данных и установите учетные данные, используя форму ниже." }, "permissions": { - "permissions": "Permissions", + "permissions": "Права", "permission_confirm_title": "Точно продолжить?", - "permission_confirm_desc": "Folder permission check failed", - "permission_desc": "Below is the list of folder permissions which are required in order for the app to work. If the permission check fails, make sure to update your folder permissions." + "permission_confirm_desc": "Ошибка проверки прав доступа к папке", + "permission_desc": "Ниже приведен список разрешений, необходимых для работы приложения. Если проверка прав не удалась, убедитесь, что права доступа к папкам были обновлены." }, "verify_domain": { - "title": "Domain Verification", - "desc": "InvoiceShelf uses Session based authentication which requires domain verification for security purposes. Please enter the domain on which you will be accessing your web application.", - "app_domain": "App Domain", - "verify_now": "Verify Now", - "success": "Domain Verify Successfully.", - "failed": "Domain verification failed. Please enter valid domain name.", - "verify_and_continue": "Verify And Continue", + "title": "Верификация домена", + "desc": "InvoiceShelf использует аутентификацию на основе сеанса, которая требует проверки домена в целях безопасности. Пожалуйста, введите домен, на котором вы будете получать доступ к вашему веб-приложению.", + "app_domain": "Домен приложения", + "verify_now": "Проверить сейчас", + "success": "Домен успешно подтвержден.", + "failed": "Проверка домена не удалась. Пожалуйста, введите действительное доменное имя.", + "verify_and_continue": "Проверить и продолжить", "notes": { - "notes": "Notes:", - "not_contain": "App domain should not contain", - "or": "or", - "in_front": "in front of the domain.", - "if_you": "If you're accessing the website on a different port, please mention the port. For example:" + "notes": "Заметки:", + "not_contain": "Домен приложения не должен содержать", + "or": "или", + "in_front": "перед доменом.", + "if_you": "Если вы заходите на сайт по другому порту, пожалуйста, укажите порт. Например:" } }, "mail": { - "host": "Mail Host", - "port": "Mail Port", - "driver": "Mail Driver", - "secret": "Secret", - "mailgun_secret": "Mailgun Secret", - "mailgun_domain": "Domain", + "host": "Почтовый сервер", + "port": "Почтовый порт", + "driver": "Почтовый драйвер", + "secret": "Секретный ключ", + "mailgun_secret": "Серекетный ключ Mailgun", + "mailgun_domain": "Домен", "mailgun_endpoint": "Mailgun Endpoint", - "ses_secret": "SES Secret", - "ses_key": "SES Key", - "password": "Mail Password", - "username": "Mail Username", - "mail_config": "Mail Configuration", - "from_name": "From Mail Name", - "from_mail": "From Mail Address", - "encryption": "Mail Encryption", - "mail_config_desc": "Below is the form for Configuring Email driver for sending emails from the app. You can also configure third party providers like Sendgrid, SES etc." + "ses_secret": "Секрет SES", + "ses_key": "SES ключ", + "password": "Пароль для почты", + "username": "Имя пользователя", + "mail_config": "Настройки почты", + "from_name": "От имени", + "from_mail": "От email адреса", + "encryption": "Тип шифрования", + "mail_config_desc": "Ниже приведена форма настройки электронной почты для отправки писем из приложения. Вы также можете настроить сторонние сервисы отправки почты, такие как Sendgrid, SES и т.д." }, "req": { - "system_req": "System Requirements", - "php_req_version": "Php (version {version} required)", - "check_req": "Check Requirements", - "system_req_desc": "InvoiceShelf has a few server requirements. Make sure that your server has the required php version and all the extensions mentioned below." + "system_req": "Системные требования", + "php_req_version": "Php (требуется версия {version})", + "check_req": "Проверить требования", + "system_req_desc": "Для InvoiceShelf требуется несколько серверов. Убедитесь, что на сервере есть необходимая версия php и все расширения, указанные ниже." }, "errors": { "migrate_failed": "Ошибка миграции", - "database_variables_save_error": "Cannot write configuration to .env file. Please check its file permissions", - "mail_variables_save_error": "Email configuration failed.", - "connection_failed": "Database connection failed", - "database_should_be_empty": "Database should be empty" + "database_variables_save_error": "Невозможно записать конфигурацию в файл .env. Пожалуйста, проверьте права доступа к файлу", + "mail_variables_save_error": "Не удалось настроить адрес электронной почты.", + "connection_failed": "Сбой подключения к базе данных", + "database_should_be_empty": "База данных должна быть пустой" }, "success": { - "mail_variables_save_successfully": "Email configured successfully", - "database_variables_save_successfully": "Database configured successfully." + "mail_variables_save_successfully": "Электронная почта успешно сохранена", + "database_variables_save_successfully": "База данных настроена успешно." } }, "validation": { @@ -1517,69 +1529,69 @@ "required": "Обязательное поле", "email_incorrect": "Неправильный Email.", "email_already_taken": "Email уже существует.", - "email_does_not_exist": "User with given email doesn't exist", - "item_unit_already_taken": "This item unit name has already been taken", - "payment_mode_already_taken": "This payment mode name has already been taken", + "email_does_not_exist": "Пользователь с указанным адресом электронной почты не существует", + "item_unit_already_taken": "Название единицы товара уже занято", + "payment_mode_already_taken": "Это название способа оплаты уже занято", "send_reset_link": "Выслать ссылку для восстановления", - "not_yet": "Not yet? Send it again", - "password_min_length": "Password must contain {count} characters", - "name_min_length": "Name must have at least {count} letters.", - "prefix_min_length": "Prefix must have at least {count} letters.", + "not_yet": "Еще нет? Отправить еще раз", + "password_min_length": "Пароль должен содержать {count} символов", + "name_min_length": "Имя должно содержать не менее {count} букв.", + "prefix_min_length": "Префикс должен содержать не менее {count} букв.", "enter_valid_tax_rate": "Неправильное значение налога", "numbers_only": "Только цифры.", "characters_only": "Только буквы.", "password_incorrect": "Пароли должны совпадать", "password_length": "Пароль должен быть {count} символов минимум.", - "qty_must_greater_than_zero": "Quantity must be greater than zero.", - "price_greater_than_zero": "Price must be greater than zero.", - "payment_greater_than_zero": "Payment must be greater than zero.", - "payment_greater_than_due_amount": "Entered Payment is more than due amount of this invoice.", - "quantity_maxlength": "Quantity should not be greater than 20 digits.", - "price_maxlength": "Price should not be greater than 20 digits.", - "price_minvalue": "Price should be greater than 0.", - "amount_maxlength": "Amount should not be greater than 20 digits.", - "amount_minvalue": "Amount should be greater than 0.", - "discount_maxlength": "Discount should not be greater than max discount", - "description_maxlength": "Description should not be greater than 255 characters.", + "qty_must_greater_than_zero": "Количество должно быть больше нуля.", + "price_greater_than_zero": "Цена должна быть больше нуля.", + "payment_greater_than_zero": "Платеж должен быть больше нуля.", + "payment_greater_than_due_amount": "Введенный платеж превышает причитающуюся сумму этого счета.", + "quantity_maxlength": "Количество не должно превышать 20 цифр.", + "price_maxlength": "Цена не должна быть больше 20 цифр.", + "price_minvalue": "Цена должна быть больше 0.", + "amount_maxlength": "Сумма не должна превышать 20 цифр.", + "amount_minvalue": "Сумма должна быть больше 0.", + "discount_maxlength": "Скидка не должна превышать максимальную скидку", + "description_maxlength": "Описание не должно быть больше 255 символов.", "subject_maxlength": "Тема должна быть не более 100 символов.", - "message_maxlength": "Message should not be greater than 255 characters.", - "maximum_options_error": "Maximum of {max} options selected. First remove a selected option to select another.", - "notes_maxlength": "Notes should not be greater than 65,000 characters.", - "address_maxlength": "Address should not be greater than 255 characters.", + "message_maxlength": "Сообщение не должно быть больше 255 символов.", + "maximum_options_error": "Выбрано максимум {max} вариантов. Сначала удалите выбранный вариант, чтобы выбрать другой.", + "notes_maxlength": "Примечания не должны превышать 65 000 символов.", + "address_maxlength": "Адрес не должен превышать 255 символов.", "ref_number_maxlength": "Серийный номер should not be greater than 255 characters.", - "prefix_maxlength": "Prefix should not be greater than 5 characters.", - "something_went_wrong": "something went wrong", - "number_length_minvalue": "Number length should be greater than 0", - "at_least_one_ability": "Please select atleast one Permission.", - "valid_driver_key": "Please enter a valid {driver} key.", - "valid_exchange_rate": "Please enter a valid exchange rate.", - "company_name_not_same": "Company name must match with given name." + "prefix_maxlength": "Префикс не должен быть больше 5 символов.", + "something_went_wrong": "Упс... что-то пошло не так", + "number_length_minvalue": "Длина номера должна быть больше 0", + "at_least_one_ability": "Пожалуйста, выберите хотя бы одно право доступа.", + "valid_driver_key": "Пожалуйста, введите действительный ключ {driver}.", + "valid_exchange_rate": "Пожалуйста, введите действительный обменный курс.", + "company_name_not_same": "Название компании должно совпадать с именем." }, "errors": { - "starter_plan": "This feature is available on Starter plan and onwards!", - "invalid_provider_key": "Please Enter Valid Provider API Key.", - "estimate_number_used": "The estimate number has already been taken.", - "invoice_number_used": "The invoice number has already been taken.", - "payment_attached": "This invoice already has a payment attached to it. Make sure to delete the attached payments first in order to go ahead with the removal.", - "payment_number_used": "The payment number has already been taken.", - "name_already_taken": "The name has already been taken.", - "receipt_does_not_exist": "Receipt does not exist.", - "customer_cannot_be_changed_after_payment_is_added": "Customer cannot be change after payment is added", - "invalid_credentials": "Invalid Credentials.", - "not_allowed": "Not Allowed", - "login_invalid_credentials": "These credentials do not match our records.", - "enter_valid_cron_format": "Please enter a valid cron format", - "email_could_not_be_sent": "Email could not be sent to this email address.", - "invalid_address": "Please enter a valid address.", - "invalid_key": "Please enter valid key.", - "invalid_state": "Please enter a valid state.", - "invalid_city": "Please enter a valid city.", - "invalid_postal_code": "Please enter a valid zip.", - "invalid_format": "Please enter valid query string format.", - "api_error": "Server not responding.", - "feature_not_enabled": "Feature not enabled.", - "request_limit_met": "Api request limit exceeded.", - "address_incomplete": "Incomplete Address" + "starter_plan": "Эта функция доступна на стартовом плане и выше!", + "invalid_provider_key": "Пожалуйста, введите действительный API-ключ провайдера.", + "estimate_number_used": "Расчетный номер уже занят.", + "invoice_number_used": "Номер счета уже занят.", + "payment_attached": "К этому счету уже прикреплен платеж. Обязательно сначала удалите прикрепленные платежи, чтобы продолжить удаление.", + "payment_number_used": "Номер платежа уже занят.", + "name_already_taken": "Имя уже занято.", + "receipt_does_not_exist": "Квитанция не существует.", + "customer_cannot_be_changed_after_payment_is_added": "Клиент не может быть изменен после добавления платежа", + "invalid_credentials": "Неверные учетные данные.", + "not_allowed": "Не разрешено", + "login_invalid_credentials": "Это связка логин/пароль не соответствует нашим данным.", + "enter_valid_cron_format": "Пожалуйста, введите допустимый формат cron", + "email_could_not_be_sent": "Письмо не может быть отправлено на этот адрес электронной почты.", + "invalid_address": "Пожалуйста, введите действительный IP-адрес.", + "invalid_key": "Пожалуйста, введите действительный ключ .", + "invalid_state": "Пожалуйста, введите допустимое состояние.", + "invalid_city": "Пожалуйста, правильно введите город.", + "invalid_postal_code": "Пожалуйста, правильно введите почтовый индекс.", + "invalid_format": "Пожалуйста, правильно введите формат строки запроса.", + "api_error": "Сервер не отвечает", + "feature_not_enabled": "Функция не включена.", + "request_limit_met": "Превышен лимит запросов Api.", + "address_incomplete": "Неполный адрес" }, "pdf_estimate_label": "Заказ", "pdf_estimate_number": "Номер заказа", @@ -1588,7 +1600,7 @@ "pdf_invoice_label": "Счет-фактура", "pdf_invoice_number": "Номер счета-фактуры", "pdf_invoice_date": "Дата счета-фактуры", - "pdf_invoice_due_date": "Дата к оплате", + "pdf_invoice_due_date": "Due Date", "pdf_notes": "Заметки", "pdf_items_label": "Записи", "pdf_quantity_label": "Кол-во", @@ -1621,18 +1633,18 @@ "pdf_bill_to": "Адрес счёта,", "pdf_ship_to": "Адрес доставки,", "pdf_received_from": "Получено от:", - "pdf_tax_label": "Tax", - "pdf_tax_id": "Tax-ID", + "pdf_tax_label": "Налог", + "pdf_tax_id": "ИНН", "pdf_vat_id": "VAT-ID", - "pdf_amount_paid": "Amount Paid", - "pdf_amount_due": "Amount Due", - "mail_thanks": "Thanks", - "mail_view_estimate": "View Estimate", - "mail_viewed_estimate": ":name viewed this Estimate.", - "mail_view_invoice": "View Invoice", - "mail_viewed_invoice": ":name viewed this Invoice.", - "mail_view_payment": "View Payment", - "notification_view_estimate": "[Notification] Estimate viewed", - "notification_view_invoice": "[Notification] Invoice viewed", - "You have received a new invoice from {COMPANY_NAME}.
Please download using the button below:": "You have received a new invoice from {COMPANY_NAME}.
Please download using the button below:" + "pdf_amount_paid": "Выплаченная сумма", + "pdf_amount_due": "Сумма к оплате", + "mail_thanks": "Спасибо", + "mail_view_estimate": "Посмотреть оценку", + "mail_viewed_estimate": ":name просмотрел эту оценку.", + "mail_view_invoice": "Смотреть счет", + "mail_viewed_invoice": ":name просмотрел этот счет.", + "mail_view_payment": "Просмотр платежа", + "notification_view_estimate": "[Notification] Оценка просмотрена", + "notification_view_invoice": "[Notification] Счет просмотрен", + "You have received a new invoice from {COMPANY_NAME}.
Please download using the button below:": "Вы получили новый счет от {COMPANY_NAME}.
Пожалуйста, загрузите, используя кнопку ниже:" } diff --git a/lang/sk.json b/lang/sk.json index b5e84aca..62fa1a15 100644 --- a/lang/sk.json +++ b/lang/sk.json @@ -852,7 +852,8 @@ "payment_modes": "Spôsoby Platby", "notes": "Poznámky", "exchange_rate": "Výmenný kurz", - "address_information": "Informácie o adrese" + "address_information": "Informácie o adrese", + "pdf_generation": "PDF Generation" }, "address_information": { "section_description": "Adresu môžete aktualizovať pomocou formulára nižšie." @@ -864,7 +865,7 @@ "primary_currency": "Hlavná Mena", "timezone": "Časové Pásmo", "date_format": "Formát Dátumu", - "time_format": "Time Format", + "time_format": "Formát času", "currencies": { "title": "Meny", "currency": "Mena | Meny", @@ -893,6 +894,7 @@ "mailgun_endpoint": "Endpoint Mailgun", "ses_secret": "SES Tajný Kľúč (secret)", "ses_key": "SES kľúč (key)", + "ses_region": "AWS Region", "password": "E-mailové heslo", "username": "E-mailové meno (username)", "mail_config": "Konfigurácia E-mailov", @@ -904,7 +906,15 @@ "pdf": { "title": "Nastavenia PDF", "footer_text": "Text v pätičke", - "pdf_layout": "Rozloženie PDF" + "pdf_layout": "Rozloženie PDF", + "pdf_configuration": "PDF Generation Settings", + "section_description": "Change the way PDFs are generated", + "driver": "PDF Driver to use", + "papersize": "Papersize", + "papersize_hint": "Papersize in width and height (ex. \"210mm 297mm\")", + "gotenberg_host": "Gotenberg service host", + "pdf_variables_save_successfully": "PDF configuration saved successfully", + "pdf_variables_save_error": "PDF configuration could not be saved" }, "company_info": { "company_info": "Informácie o spoločnosti", @@ -1007,8 +1017,8 @@ "random_sequence_param_label": "Sequence Length", "invoices": { "title": "Faktúry", - "invoice_number_format": "Invoice Number Format", - "invoice_number_format_description": "Customize how your invoice number gets generated automatically when you create a new invoice.", + "invoice_number_format": "Číslovanie faktúr", + "invoice_number_format_description": "Prispôsobte, ako sa bude generovať číslo faktúry pri jej vytváraní.", "preview_invoice_number": "Preview Invoice Number", "due_date": "Due Date", "due_date_description": "Specify how due date is automatically set when you create an invoice.", @@ -1087,6 +1097,8 @@ "description": "Ušetrite čas vytváraním poznámok a ich opätovným použitím vo svojich faktúrach, odhadoch a platbách.", "notes": "Poznámky", "type": "Typ", + "is_default": "Select by default", + "is_default_description": "This note will be selected by default in new invoices.", "add_note": "Pridať poznámku", "add_new_note": "Pridať Novú Poznámku", "name": "Názov", @@ -1236,7 +1248,7 @@ "time_zone": "Časové Pásmo", "fiscal_year": "Fiškálny Rok", "date_format": "Formát Dátumu", - "time_format": "Time Fromat", + "time_format": "Time Format", "discount_setting": "Nastavenia Zľavy", "discount_per_item": "Zľava pre každú Položku zvlášť ", "discount_setting_description": "Túto možnosť povoľte, ak chcete pridať zľavu k jednotlivým položkám faktúry. Štandardne sa zľava pripočítava priamo k faktúre.", @@ -1588,7 +1600,7 @@ "pdf_invoice_label": "Faktúra", "pdf_invoice_number": "Číslo faktúry", "pdf_invoice_date": "Dátum vystavenia", - "pdf_invoice_due_date": "Dátum splatnosti", + "pdf_invoice_due_date": "Due Date", "pdf_notes": "Poznámky", "pdf_items_label": "Položky", "pdf_quantity_label": "Počet", diff --git a/lang/sl.json b/lang/sl.json index 4966c3d7..c908b7d5 100644 --- a/lang/sl.json +++ b/lang/sl.json @@ -852,7 +852,8 @@ "payment_modes": "Payment Modes", "notes": "Notes", "exchange_rate": "Exchange Rate", - "address_information": "Address Information" + "address_information": "Address Information", + "pdf_generation": "PDF Generation" }, "address_information": { "section_description": " You can update Your Address information using form below." @@ -893,6 +894,7 @@ "mailgun_endpoint": "Mailgun Endpoint", "ses_secret": "SES Secret", "ses_key": "SES Key", + "ses_region": "AWS Region", "password": "Mail Password", "username": "Mail Username", "mail_config": "Mail Configuration", @@ -904,7 +906,15 @@ "pdf": { "title": "PDF Setting", "footer_text": "Footer Text", - "pdf_layout": "PDF Layout" + "pdf_layout": "PDF Layout", + "pdf_configuration": "PDF Generation Settings", + "section_description": "Change the way PDFs are generated", + "driver": "PDF Driver to use", + "papersize": "Papersize", + "papersize_hint": "Papersize in width and height (ex. \"210mm 297mm\")", + "gotenberg_host": "Gotenberg service host", + "pdf_variables_save_successfully": "PDF configuration saved successfully", + "pdf_variables_save_error": "PDF configuration could not be saved" }, "company_info": { "company_info": "Company info", @@ -1087,6 +1097,8 @@ "description": "Save time by creating notes and reusing them on your invoices, estimates & payments.", "notes": "Notes", "type": "Type", + "is_default": "Select by default", + "is_default_description": "This note will be selected by default in new invoices.", "add_note": "Add Note", "add_new_note": "Add New Note", "name": "Name", @@ -1236,7 +1248,7 @@ "time_zone": "Time Zone", "fiscal_year": "Financial Year", "date_format": "Date Format", - "time_format": "Time Fromat", + "time_format": "Time Format", "discount_setting": "Discount Setting", "discount_per_item": "Discount Per Item ", "discount_setting_description": "Enable this if you want to add Discount to individual invoice items. By default, Discount is added directly to the invoice.", @@ -1588,7 +1600,7 @@ "pdf_invoice_label": "Invoice", "pdf_invoice_number": "Invoice Number", "pdf_invoice_date": "Invoice Date", - "pdf_invoice_due_date": "Due date", + "pdf_invoice_due_date": "Due Date", "pdf_notes": "Notes", "pdf_items_label": "Items", "pdf_quantity_label": "Quantity", diff --git a/lang/sr.json b/lang/sr.json index 683ee7d3..df7bb117 100644 --- a/lang/sr.json +++ b/lang/sr.json @@ -39,7 +39,7 @@ "body": "Telo", "message": "Poruka", "send": "Pošalji", - "preview": "Preview", + "preview": "Pregled", "go_back": "Idi nazad", "back_to_login": "Nazad na prijavu?", "home": "Početna", @@ -96,7 +96,7 @@ "copied_url_clipboard": "Copied url to clipboard!", "docs": "Docs", "do_you_wish_to_continue": "Do you wish to continue?", - "note": "Note", + "note": "Napomena", "pay_invoice": "Pay Invoice", "login_successfully": "Logged in successfully!", "logged_out_successfully": "Logged out successfully", @@ -229,9 +229,9 @@ "edit_customer": "Izmeni klijenta", "basic_info": "Osnovne informacije", "portal_access": "Portal Access", - "portal_access_text": "Would you like to allow this customer to login to the Customer Portal?", - "portal_access_url": "Customer Portal Login URL", - "portal_access_url_help": "Please copy & forward the above given URL to your customer for providing access.", + "portal_access_text": "Da li želite da dozvolite klijentu da se prijavi na Korisnički portal?", + "portal_access_url": "URL do korisničkog portala", + "portal_access_url_help": "Молимо вас да копирате и проследите горњу URL адресу вашем клијенту ради омогућавања приступа.", "billing_address": "Adresa za naplatu", "shipping_address": "Adresa za dostavu", "copy_billing_address": "Kopiraj iz adrese za naplatu", @@ -251,9 +251,9 @@ "confirm_delete": "Nećeš moći da povratiš ovog klijenta i sve njegove Fakture, Profakture i Uplate. | Nećeš moći da povratiš ove klijente i njihove Fakture, Profakture i Uplate.", "created_message": "Klijent uspešno kreiran", "updated_message": "Klijent uspešno ažuriran", - "address_updated_message": "Address Information Updated succesfully", + "address_updated_message": "", "deleted_message": "Klijent uspešno obrisan | Klijenti uspešno obrisani", - "edit_currency_not_allowed": "Cannot change currency once transactions created." + "edit_currency_not_allowed": "Nije moguće promeniti valutu nakon što su transakcije već kreirane." }, "items": { "title": "Stavke", @@ -324,9 +324,9 @@ "record_payment": "Unesi uplatu", "add_estimate": "Dodaj Profakturu", "save_estimate": "Sačuvaj Profakturu", - "cloned_successfully": "Estimate cloned successfully", - "clone_estimate": "Clone Estimate", - "confirm_clone": "This Estimate will be cloned into a new Estimate", + "cloned_successfully": "Uspešno napravljen duplikat Fakture", + "clone_estimate": "Dupliraj Profakturu", + "confirm_clone": "Ova ponuda će biti kopirana u novu ponudu", "confirm_conversion": "Detalji ove Profakture će biti iskorišćeni za pravljenje Fakture.", "conversion_message": "Faktura uspešno kreirana", "confirm_send_estimate": "Ova Profaktura će biti poslata putem Email-a klijentu", @@ -378,7 +378,7 @@ "select_an_item": "Unesi tekst ili klikni da izabereš", "type_item_description": "Unesi opis Stavke (nije obavezno)" }, - "mark_as_default_estimate_template_description": "If enabled, the selected template will be automatically selected for new estimates." + "mark_as_default_estimate_template_description": "Ako je omogućeno, izabrani šablon će automatski biti postavljen za nove ponude." }, "invoices": { "title": "Fakture", @@ -420,13 +420,13 @@ "send_invoice": "Pošalji Fakturu", "resend_invoice": "Ponovo pošalji Fakturu", "invoice_template": "Šablon Fakture", - "conversion_message": "Invoice cloned successful", + "conversion_message": "Uspešno napravljen duplikat Fakture", "template": "Šablon", "mark_as_sent": "Označi kao Poslato", "confirm_send_invoice": "Ova Faktura će biti poslata putem Email-a klijentu", "invoice_mark_as_sent": "Ova Faktura će biti označena kao poslata", - "confirm_mark_as_accepted": "This invoice will be marked as Accepted", - "confirm_mark_as_rejected": "This invoice will be marked as Rejected", + "confirm_mark_as_accepted": "Ova Faktura će biti označena kao Prihvaćena", + "confirm_mark_as_rejected": "Ova Faktura će biti označena kao Odbijena", "confirm_send": "Ova Faktura će biti poslata putem Email-a klijentu", "invoice_date": "Datum Fakture", "record_payment": "Unesi Uplatu", @@ -438,13 +438,13 @@ "update_invoice": "Ažuriraj Fakturu", "add_new_tax": "Dodaj nov Porez", "no_invoices": "Još uvek nema Faktura!", - "mark_as_rejected": "Mark as rejected", - "mark_as_accepted": "Mark as accepted", + "mark_as_rejected": "Označi kao odbijeno", + "mark_as_accepted": "Označi kao prihvaćeno", "list_of_invoices": "Ova sekcija će da sadrži spisak Faktura.", "select_invoice": "Odaberi Fakturu", "no_matching_invoices": "Ne postoje Fakture koje odgovaraju pretrazi!", "mark_as_sent_successfully": "Faktura uspešno označena kao Poslata", - "invoice_sent_successfully": "Invoice sent successfully", + "invoice_sent_successfully": "Faktura uspešno poslata", "cloned_successfully": "Uspešno napravljen duplikat Fakture", "clone_invoice": "Napravi duplikat", "confirm_clone": "Ova Faktura će biti duplikat nove Fakture", @@ -470,11 +470,11 @@ "marked_as_sent_message": "Faktura označena kao uspešno poslata", "something_went_wrong": "nešto je krenulo naopako", "invalid_due_amount_message": "Ukupan iznos za plaćanje u fakturi ne može biti manji od iznosa uplate za ovu fakturu. Molim Vas ažurirajte fakturu ili obrišite uplate koje su povezane sa ovom fakturom da bi nastavili.", - "mark_as_default_invoice_template_description": "If enabled, the selected template will be automatically selected for new invoices." + "mark_as_default_invoice_template_description": "Ako je omogućeno, izabrani šablon će automatski biti postavljen za nove ponude." }, "recurring_invoices": { - "title": "Recurring Invoices", - "invoices_list": "Recurring Invoices List", + "title": "Ponavljajuće fakture", + "invoices_list": "Lista faktura koje se ponavljaju", "days": "{days} Days", "months": "{months} Month", "years": "{years} Year", @@ -852,7 +852,8 @@ "payment_modes": "Način plaćanja", "notes": "Napomene", "exchange_rate": "Exchange Rate", - "address_information": "Address Information" + "address_information": "Address Information", + "pdf_generation": "PDF Generation" }, "address_information": { "section_description": " You can update Your Address information using form below." @@ -893,6 +894,7 @@ "mailgun_endpoint": "Mailgun Endpoint", "ses_secret": "SES Šifra", "ses_key": "SES Ključ", + "ses_region": "AWS Region", "password": "Mail Šifra", "username": "Mail Korisničko Ime", "mail_config": "Mail Podešavanje", @@ -904,7 +906,15 @@ "pdf": { "title": "PDF Podešavanje", "footer_text": "Tekstualno zaglavlje na dnu strane", - "pdf_layout": "PDF Raspored" + "pdf_layout": "PDF Raspored", + "pdf_configuration": "PDF Generation Settings", + "section_description": "Change the way PDFs are generated", + "driver": "PDF Driver to use", + "papersize": "Papersize", + "papersize_hint": "Papersize in width and height (ex. \"210mm 297mm\")", + "gotenberg_host": "Gotenberg service host", + "pdf_variables_save_successfully": "PDF configuration saved successfully", + "pdf_variables_save_error": "PDF configuration could not be saved" }, "company_info": { "company_info": "Podaci o firmi", @@ -1087,6 +1097,8 @@ "description": "Uštedite vreme pravljeći napomene i koristeći ih na fakturama, profakturama i uplatama.", "notes": "Napomene", "type": "Tip", + "is_default": "Select by default", + "is_default_description": "This note will be selected by default in new invoices.", "add_note": "Dodaj Napomenu", "add_new_note": "Dodaj novu Napomenu", "name": "Naziv", @@ -1236,7 +1248,7 @@ "time_zone": "Vremenska Zona", "fiscal_year": "Finansijska Godina", "date_format": "Format datuma", - "time_format": "Time Fromat", + "time_format": "Time Format", "discount_setting": "Podešavanja za popuste", "discount_per_item": "Popust po stavci", "discount_setting_description": "Izaberite ovo ako želite da dodajete Popust na individualne stavke. Podrazumevano ponašanje je da je Popust dodat direktno na fakturu.", @@ -1588,7 +1600,7 @@ "pdf_invoice_label": "Faktura", "pdf_invoice_number": "Broj Fakture", "pdf_invoice_date": "Datum Fakture", - "pdf_invoice_due_date": "Datum dospeća Fakture", + "pdf_invoice_due_date": "Due Date", "pdf_notes": "Napomena", "pdf_items_label": "Stavke", "pdf_quantity_label": "Količina", diff --git a/lang/sv.json b/lang/sv.json index 691a20cd..132d6b35 100644 --- a/lang/sv.json +++ b/lang/sv.json @@ -191,7 +191,7 @@ "customers": { "title": "Kunder", "prefix": "Prefix", - "tax_id": "Tax ID", + "tax_id": "Momsreg.nr", "add_customer": "Lägg till kund", "contacts_list": "Kundlista", "name": "Namn", @@ -852,7 +852,8 @@ "payment_modes": "Betalmetoder", "notes": "Anteckningar", "exchange_rate": "Växelkurser", - "address_information": "Adressinformation" + "address_information": "Adressinformation", + "pdf_generation": "PDF Generation" }, "address_information": { "section_description": " Du kan uppdatera din adressinformation genom att använda formuläret nedan." @@ -893,6 +894,7 @@ "mailgun_endpoint": "Mailgun Endpoint", "ses_secret": "SES Säkerhet", "ses_key": "SES nyckel", + "ses_region": "AWS Region", "password": "Lösenord", "username": "Användarnamn", "mail_config": "Epostinställningar", @@ -904,7 +906,15 @@ "pdf": { "title": "PDF-inställningar", "footer_text": "Sidfotstext", - "pdf_layout": "PDF-layout" + "pdf_layout": "PDF-layout", + "pdf_configuration": "PDF Generation Settings", + "section_description": "Change the way PDFs are generated", + "driver": "PDF Driver to use", + "papersize": "Papersize", + "papersize_hint": "Papersize in width and height (ex. \"210mm 297mm\")", + "gotenberg_host": "Gotenberg service host", + "pdf_variables_save_successfully": "PDF configuration saved successfully", + "pdf_variables_save_error": "PDF configuration could not be saved" }, "company_info": { "company_info": "Företagsinfo", @@ -1087,6 +1097,8 @@ "description": "Spara tid genom att skapa noteringar som kan återanvändas på fakturor, betalningsförslag, och betalningar.", "notes": "Anteckningar", "type": "Typ", + "is_default": "Select by default", + "is_default_description": "This note will be selected by default in new invoices.", "add_note": "Lägg till anteckning", "add_new_note": "Lägg till ny anteckning", "name": "Namn", @@ -1236,7 +1248,7 @@ "time_zone": "Tidszon", "fiscal_year": "Räkenskapsår", "date_format": "Datumformattering", - "time_format": "Time Fromat", + "time_format": "Time Format", "discount_setting": "Rabattinställningar", "discount_per_item": "Rabatt per artikel ", "discount_setting_description": "Aktivera detta om du vill kunna lägga rabatt på enskilda fakturaartiklar. Rabatt ges som standard på hela fakturan.", @@ -1588,7 +1600,7 @@ "pdf_invoice_label": "Faktura", "pdf_invoice_number": "Fakturanummer", "pdf_invoice_date": "Fakturadatum", - "pdf_invoice_due_date": "Inbetalningsdatum", + "pdf_invoice_due_date": "Due Date", "pdf_notes": "Anteckningar", "pdf_items_label": "Artiklar", "pdf_quantity_label": "Antal", diff --git a/lang/th.json b/lang/th.json index 002f30e8..6be46c2d 100644 --- a/lang/th.json +++ b/lang/th.json @@ -852,7 +852,8 @@ "payment_modes": "วิธีการชำระเงิน", "notes": "หมายเหตุ", "exchange_rate": "อัตราแลกเปลี่ยน", - "address_information": "ข้อมูลที่อยู่" + "address_information": "ข้อมูลที่อยู่", + "pdf_generation": "PDF Generation" }, "address_information": { "section_description": " คุณสามารถอัปเดตข้อมูลที่อยู่ของคุณโดยใช้แบบฟอร์มด้านล่าง" @@ -893,6 +894,7 @@ "mailgun_endpoint": "ปลายทาง Mailgun", "ses_secret": "SES ซีเคร็ต", "ses_key": "SES คีย์", + "ses_region": "AWS Region", "password": "รหัสผ่านจดหมาย", "username": "ชื่อผู้ใช้จดหมาย", "mail_config": "การกำหนดค่าจดหมาย", @@ -904,7 +906,15 @@ "pdf": { "title": "การตั้งค่า PDF", "footer_text": "ข้อความท้ายกระดาษ", - "pdf_layout": "รูปแบบไฟล์ PDF" + "pdf_layout": "รูปแบบไฟล์ PDF", + "pdf_configuration": "PDF Generation Settings", + "section_description": "Change the way PDFs are generated", + "driver": "PDF Driver to use", + "papersize": "Papersize", + "papersize_hint": "Papersize in width and height (ex. \"210mm 297mm\")", + "gotenberg_host": "Gotenberg service host", + "pdf_variables_save_successfully": "PDF configuration saved successfully", + "pdf_variables_save_error": "PDF configuration could not be saved" }, "company_info": { "company_info": "ข้อมูลบริษัท", @@ -1087,6 +1097,8 @@ "description": "ประหยัดเวลาด้วยการสร้างหมายเหตุและนำกลับมาใช้ใหม่ในใบวางบิล ใบเสนอราคาและการชำระเงิน", "notes": "หมายเหตุ", "type": "ประเภท", + "is_default": "Select by default", + "is_default_description": "This note will be selected by default in new invoices.", "add_note": "เพิ่มโน้ต", "add_new_note": "เพิ่มหมายเหตุใหม่", "name": "ชื่อ", @@ -1236,7 +1248,7 @@ "time_zone": "เขตเวลา", "fiscal_year": "ปีงบการเงิน", "date_format": "รูปแบบวันที่", - "time_format": "Time Fromat", + "time_format": "Time Format", "discount_setting": "การตั้งค่าส่วนลด", "discount_per_item": "ส่วนลดต่อรายการ ", "discount_setting_description": "เปิดใช้งานตัวเลือกนี้หากคุณต้องการเพิ่มส่วนลดให้กับรายการใบวางบิลแต่ละรายการโดยค่าเริ่มต้นส่วนลดจะถูกเพิ่มโดยตรงไปยังใบวางบิล", @@ -1588,7 +1600,7 @@ "pdf_invoice_label": "ใบวางบิล", "pdf_invoice_number": "เลขที่ใบวางบิล", "pdf_invoice_date": "วันที่ใบวางบิล", - "pdf_invoice_due_date": "วันครบกำหนด", + "pdf_invoice_due_date": "Due Date", "pdf_notes": "หมายเหตุ", "pdf_items_label": "บริการ", "pdf_quantity_label": "หน่วย", diff --git a/lang/tr.json b/lang/tr.json index f0003ae7..20bb18e4 100644 --- a/lang/tr.json +++ b/lang/tr.json @@ -101,19 +101,19 @@ "login_successfully": "Başarıyla giriş yapıldı!", "logged_out_successfully": "Başarıyla çıkış yapıldı", "mark_as_default": "Varsayılan olarak işaretleyin", - "no_data_found": "No data found", + "no_data_found": "Veri bulunamadı.", "pagination": { - "previous": "Previous", + "previous": "Önceki", "next": "İleri", - "showing": "Showing", - "to": "to", - "of": "of", - "results": "results" + "showing": "Gösterilen", + "to": "için", + "of": "'un", + "results": "sonuçlar" }, "file_upload": { - "drag_a_file": "Drag a file here or", - "browse": "browse", - "to_choose": "to choose a file" + "drag_a_file": "Bu dosyayı sürükleyin veya", + "browse": "göz at\n", + "to_choose": "bir dosya seçmek için" }, "multiselect": { "the_list_is_empty": "The list is empty", @@ -852,7 +852,8 @@ "payment_modes": "Ödeme yöntemleri", "notes": "Notlar", "exchange_rate": "Exchange Rate", - "address_information": "Address Information" + "address_information": "Address Information", + "pdf_generation": "PDF Generation" }, "address_information": { "section_description": " You can update Your Address information using form below." @@ -893,6 +894,7 @@ "mailgun_endpoint": "Mailgun Uçnoktası", "ses_secret": "SES Sırrı", "ses_key": "Ses Anahtarı", + "ses_region": "AWS Region", "password": "Posta Parolası", "username": "Posta Kullanıcı Adı", "mail_config": "Posta Konfigürasyonu", @@ -904,7 +906,15 @@ "pdf": { "title": "PDF Ayarları", "footer_text": "Altbilgi Metni", - "pdf_layout": "PDF Biçimi" + "pdf_layout": "PDF Biçimi", + "pdf_configuration": "PDF Generation Settings", + "section_description": "Change the way PDFs are generated", + "driver": "PDF Driver to use", + "papersize": "Papersize", + "papersize_hint": "Papersize in width and height (ex. \"210mm 297mm\")", + "gotenberg_host": "Gotenberg service host", + "pdf_variables_save_successfully": "PDF configuration saved successfully", + "pdf_variables_save_error": "PDF configuration could not be saved" }, "company_info": { "company_info": "Şirket Bilgileri", @@ -1087,6 +1097,8 @@ "description": "Notlar oluşturarak ve faturalar, proformalar & ödemeler üzerinde tekrar kullanarak zamandan kazanın.", "notes": "Notlar", "type": "Tür", + "is_default": "Select by default", + "is_default_description": "This note will be selected by default in new invoices.", "add_note": "Not ekle", "add_new_note": "Yeni not ekle", "name": "İsim", @@ -1236,7 +1248,7 @@ "time_zone": "Zaman Dilimi", "fiscal_year": "Mali Yıl", "date_format": "Tarih Biçimi", - "time_format": "Time Fromat", + "time_format": "Time Format", "discount_setting": "İndirim Ayarı", "discount_per_item": "Öğe Başı İndirim", "discount_setting_description": "Bireysel fatura kalemlerine indirim eklemek istiyorsanız bunu etkinleştirin. Varsayılan olarak, indirim doğrudan faturaya eklenir.", @@ -1588,7 +1600,7 @@ "pdf_invoice_label": "Fatura", "pdf_invoice_number": "Fatura Numarası", "pdf_invoice_date": "Fatura Tarihi", - "pdf_invoice_due_date": "Son Ödeme Tarihi", + "pdf_invoice_due_date": "Due Date", "pdf_notes": "Notlar", "pdf_items_label": "Ürünler", "pdf_quantity_label": "Miktar", diff --git a/lang/uk.json b/lang/uk.json index 80e5ae96..64e344ac 100644 --- a/lang/uk.json +++ b/lang/uk.json @@ -50,17 +50,17 @@ "add_new_item": "Додати новий елемент", "clear_all": "Очистити все", "showing": "Показано", - "of": "of", + "of": "з", "actions": "Дії", - "subtotal": "SUBTOTAL", + "subtotal": "ПІДСУМОК", "discount": "ЗНИЖКА", "fixed": "Фіксована", "percentage": "Відсоток", "tax": "ПОДАТОК", "total_amount": "ЗАГАЛЬНА СУМА", - "bill_to": "Bill to", - "ship_to": "Ship to", - "due": "Due", + "bill_to": "Надіслати рахунок до", + "ship_to": "Відправити до", + "due": "ДО СПЛАТИ", "draft": "Чернетка", "sent": "Надіслано", "all": "Усі", @@ -89,12 +89,12 @@ "street_2": "Вулиця 2", "action_failed": "Не вдалося виконати дію", "retry": "Повторити", - "choose_note": "Choose Note", + "choose_note": "Вибрати примітку", "no_note_found": "Примітку не знайдено", - "insert_note": "Insert Note", + "insert_note": "Вставити Примітку", "copied_pdf_url_clipboard": "Посилання на PDF скопійовано в буфер обміну!", "copied_url_clipboard": "Посилання скопійовано до буфера обміну!", - "docs": "Docs", + "docs": "Документи", "do_you_wish_to_continue": "Бажаєте продовжити?", "note": "Примітка", "pay_invoice": "Сплатити Рахунок", @@ -127,7 +127,7 @@ "due_amount": "Сума до сплати", "customers": "Клієнт | Клієнти", "invoices": "Рахунок | Рахунки", - "estimates": "Estimate | Estimates", + "estimates": "Кошторис | Кошториси", "payments": "Оплата | Оплати" }, "chart_info": { @@ -141,18 +141,18 @@ "title": "Продажі & Витрати" }, "recent_invoices_card": { - "title": "Due Invoices", - "due_on": "Due On", + "title": "РАХУНКИ ДО СПЛАТИ", + "due_on": "До сплати", "customer": "Клієнт", - "amount_due": "Amount Due", + "amount_due": "СУМА ДО СПЛАТИ", "actions": "Дії", "view_all": "Переглянути все" }, "recent_estimate_card": { - "title": "Recent Estimates", + "title": "ОСТАННІ КОШТОРИСИ", "date": "Дата", "customer": "Клієнт", - "amount_due": "Amount Due", + "amount_due": "СУМА ДО СПЛАТИ", "actions": "Дії", "view_all": "Переглянути все" } @@ -161,7 +161,7 @@ "name": "Назва", "description": "Опис", "percent": "Відсоток", - "compound_tax": "Compound Tax" + "compound_tax": "Складний податок" }, "global_search": { "search": "Шукати...", @@ -170,7 +170,7 @@ "no_results_found": "Результатів не знайдено" }, "company_switcher": { - "label": "SWITCH COMPANY", + "label": "ЗМIНИТИ КОМПАНІЮ", "no_results_found": "Результатів не знайдено", "add_new_company": "Додати нову компанію", "new_company": "Нова компанія", @@ -182,34 +182,34 @@ "this_month": "Цього місяця", "this_quarter": "Цього кварталу", "this_year": "Цього року", - "previous_week": "Previous Week", - "previous_month": "Previous Month", - "previous_quarter": "Previous Quarter", - "previous_year": "Previous Year", - "custom": "Custom" + "previous_week": "Попередній тиждень", + "previous_month": "Попередній Місяць", + "previous_quarter": "Попередній Квартал", + "previous_year": "Попередній рік", + "custom": "Користувацька" }, "customers": { "title": "Клієнти", "prefix": "Префікс", - "tax_id": "Tax ID", + "tax_id": "Ідентифікатор ПДВ", "add_customer": "Додати Клієнта", "contacts_list": "Список клієнтів", "name": "Ім’я", - "mail": "Mail | Mails", - "statement": "Statement", - "display_name": "Display Name", - "primary_contact_name": "Primary Contact Name", - "contact_name": "Contact Name", - "amount_due": "Amount Due", + "mail": "Пошта", + "statement": "Заява", + "display_name": "Ім'я для показу", + "primary_contact_name": "Основний контакт", + "contact_name": "Ім'я контакту", + "amount_due": "Сума до сплати", "email": "Ел. пошта", "address": "Адреса", "phone": "Номер телефону", - "website": "Веб-сайт", + "website": "СУМА ДО СПЛАТИ", "overview": "Перегляд", - "invoice_prefix": "Invoice Prefix", - "estimate_prefix": "Estimate Prefix", - "payment_prefix": "Payment Prefix", - "enable_portal": "Enable Portal", + "invoice_prefix": "Префікс рахунку", + "estimate_prefix": "Префікс кошторису", + "payment_prefix": "Префікс платежів", + "enable_portal": "Увімкнути портал", "country": "Країна", "state": "Область", "city": "Місто", @@ -228,1411 +228,1423 @@ "new_customer": "Новий клієнт", "edit_customer": "Редагувати Клієнта", "basic_info": "Основна інформація", - "portal_access": "Portal Access", - "portal_access_text": "Would you like to allow this customer to login to the Customer Portal?", - "portal_access_url": "Customer Portal Login URL", - "portal_access_url_help": "Please copy & forward the above given URL to your customer for providing access.", + "portal_access": "Доступ до порталу", + "portal_access_text": "Чи хочете ви дозволити цьому клієнту увійти в клієнтський портал?", + "portal_access_url": "URL для входу у портал клієнта", + "portal_access_url_help": "Будь ласка, скопіюйте перейдіть за посиланням в URL для надання доступу.", "billing_address": "Адреса виставлення рахунків", - "shipping_address": "Адреса доставки", - "copy_billing_address": "Copy from Billing", - "no_customers": "No customers yet!", - "no_customers_found": "No customers found!", - "no_contact": "No contact", - "no_contact_name": "No contact name", - "list_of_customers": "This section will contain the list of customers.", - "primary_display_name": "Primary Display Name", - "select_currency": "Select currency", - "select_a_customer": "Select a customer", - "type_or_click": "Type or click to select", - "new_transaction": "New Transaction", - "no_matching_customers": "There are no matching customers!", - "phone_number": "Phone Number", - "create_date": "Create Date", - "confirm_delete": "You will not be able to recover this customer and all the related Invoices, Estimates and Payments. | You will not be able to recover these customers and all the related Invoices, Estimates and Payments.", + "shipping_address": "Адреса доставлення", + "copy_billing_address": "Скопіювати з адреси виставлення", + "no_customers": "Ще немає клієнтів!", + "no_customers_found": "Клієнтів не знайдено!", + "no_contact": "Контактів немає", + "no_contact_name": "Немає імені контакту", + "list_of_customers": "Цей розділ міститиме список клієнтів.", + "primary_display_name": "Основна назва", + "select_currency": "Оберіть валюту", + "select_a_customer": "Виберіть клієнта", + "type_or_click": "Введіть або клацніть, щоб вибрати", + "new_transaction": "Нова транзакція", + "no_matching_customers": "Немає відповідних клієнтів!", + "phone_number": "Номер телефону", + "create_date": "Дата створення", + "confirm_delete": "Ви не зможете відновити цього клієнта та всі пов’язані рахунки, кошториси та платежі. | Ви не зможете відновити цих клієнтів та всі пов’язані рахунки, кошториси та платежі.", "created_message": "Клієнт успішно створений", "updated_message": "Клієнт успішно оновлений", - "address_updated_message": "Address Information Updated succesfully", - "deleted_message": "Customer deleted successfully | Customers deleted successfully", - "edit_currency_not_allowed": "Cannot change currency once transactions created." + "address_updated_message": "Інформацію про адресу успішно оновлено", + "deleted_message": "Клієнта успішно видалено | Клієнтів успішно видалено", + "edit_currency_not_allowed": "\"Неможливо змінити валюту після створення транзакцій." }, "items": { - "title": "Items", - "items_list": "Items List", - "name": "Name", - "unit": "Unit", - "description": "Description", - "added_on": "Added On", - "price": "Price", - "date_of_creation": "Date Of Creation", - "not_selected": "No item selected", - "action": "Action", - "add_item": "Add Item", - "save_item": "Save Item", - "update_item": "Update Item", - "item": "Item | Items", - "add_new_item": "Add New Item", - "new_item": "New Item", - "edit_item": "Edit Item", - "no_items": "No items yet!", - "list_of_items": "This section will contain the list of items.", - "select_a_unit": "select unit", - "taxes": "Taxes", - "item_attached_message": "Cannot delete an item which is already in use", - "confirm_delete": "You will not be able to recover this Item | You will not be able to recover these Items", - "created_message": "Item created successfully", - "updated_message": "Item updated successfully", - "deleted_message": "Item deleted successfully | Items deleted successfully" + "title": "Товари", + "items_list": "Список товарів", + "name": "Назва", + "unit": "Одиниця", + "description": "Опис", + "added_on": "Додано", + "price": "Ціна", + "date_of_creation": "Дата створення", + "not_selected": "Товар не вибрано", + "action": "Дія", + "add_item": "Додати товар", + "save_item": "Зберегти товар", + "update_item": "Оновити товар", + "item": "Товар | Товари", + "add_new_item": "Додати новий товар", + "new_item": "Новий товар", + "edit_item": "Редагувати товар", + "no_items": "Товарів ще немає!", + "list_of_items": "Цей розділ міститиме список товарів.", + "select_a_unit": "Вибрати одиницю", + "taxes": "Податки", + "item_attached_message": "Неможливо видалити товар, який уже використовується", + "confirm_delete": "Ви не зможете відновити цей товар | Ви не зможете відновити ці товари", + "created_message": "Товар успішно створено", + "updated_message": "Товар успішно оновлено", + "deleted_message": "Товар успішно видалено | Товари успішно видалено" }, "estimates": { - "title": "Estimates", - "accept_estimate": "Accept Estimate", - "reject_estimate": "Reject Estimate", - "estimate": "Estimate | Estimates", - "estimates_list": "Estimates List", - "days": "{days} Days", - "months": "{months} Month", - "years": "{years} Year", - "all": "All", - "paid": "Paid", - "unpaid": "Unpaid", - "customer": "CUSTOMER", - "ref_no": "REF NO.", - "number": "NUMBER", - "amount_due": "AMOUNT DUE", - "partially_paid": "Partially Paid", - "total": "Total", - "discount": "Discount", - "sub_total": "Sub Total", - "estimate_number": "Estimate Number", - "ref_number": "Ref Number", - "contact": "Contact", - "add_item": "Add an Item", - "date": "Date", - "due_date": "Due Date", - "expiry_date": "Expiry Date", - "status": "Status", - "add_tax": "Add Tax", - "amount": "Amount", - "action": "Action", - "notes": "Notes", - "tax": "Tax", - "estimate_template": "Template", - "convert_to_invoice": "Convert to Invoice", - "mark_as_sent": "Mark as Sent", - "send_estimate": "Send Estimate", - "resend_estimate": "Resend Estimate", - "record_payment": "Record Payment", - "add_estimate": "Add Estimate", - "save_estimate": "Save Estimate", - "cloned_successfully": "Estimate cloned successfully", - "clone_estimate": "Clone Estimate", - "confirm_clone": "This Estimate will be cloned into a new Estimate", - "confirm_conversion": "This estimate will be used to create a new Invoice.", - "conversion_message": "Invoice created successful", - "confirm_send_estimate": "This estimate will be sent via email to the customer", - "confirm_mark_as_sent": "This estimate will be marked as sent", - "confirm_mark_as_accepted": "This estimate will be marked as Accepted", - "confirm_mark_as_rejected": "This estimate will be marked as Rejected", - "no_matching_estimates": "There are no matching estimates!", - "mark_as_sent_successfully": "Estimate marked as sent successfully", - "send_estimate_successfully": "Estimate sent successfully", + "title": "Кошториси", + "accept_estimate": "Прийняти кошторис", + "reject_estimate": "Відхилити кошторис", + "estimate": "Кошторис | Кошториси", + "estimates_list": "СПИСОК КОШТОРИСІВ", + "days": "{days} Днів", + "months": "{months} Місяць", + "years": "{years} Рік", + "all": "Усі", + "paid": "Сплачено", + "unpaid": "Несплачені", + "customer": "КЛІЄНТ", + "ref_no": "НОМЕР ВІДСТЕЖЕННЯ", + "number": "НОМЕР", + "amount_due": "СУМА ДО СПЛАТИ", + "partially_paid": "Частково сплачено", + "total": "До сплати", + "discount": "Знижка", + "sub_total": "ПІДСУМОК", + "estimate_number": "Номер кошторису", + "ref_number": "Номер відстеження", + "contact": "Контакт", + "add_item": "Додати товар", + "date": "Дата", + "due_date": "Дата виконання", + "expiry_date": "Чинний до", + "status": "Статус", + "add_tax": "Додати податок", + "amount": "Сума", + "action": "Дія", + "notes": "Нотатки", + "tax": "Податок", + "estimate_template": "Шаблон", + "convert_to_invoice": "Перетворити на рахунок", + "mark_as_sent": "Позначити як відправлене", + "send_estimate": "Надіслати кошторис", + "resend_estimate": "Надіслати кошторис ще раз", + "record_payment": "Записати платіж", + "add_estimate": "Додати кошторис", + "save_estimate": "Зберегти кошторис", + "cloned_successfully": "Копіювання кошторису успішне", + "clone_estimate": "Копіювання кошторису", + "confirm_clone": "Цей кошторис було скопійовано до Нового кошторису", + "confirm_conversion": "Цей кошторис використовуватимуться для створення нового платежу.", + "conversion_message": "Рахунок успішно створено", + "confirm_send_estimate": "Цей кошторис буде надіслано на пошту клієнту", + "confirm_mark_as_sent": "Цей кошторис буде позначено як відправлений", + "confirm_mark_as_accepted": "Цей кошторис буде позначено як прийнятий", + "confirm_mark_as_rejected": "Цей кошторис буде позначено як відхилений", + "no_matching_estimates": "Немає відповідних кошторисів!", + "mark_as_sent_successfully": "Кошторис позначено як успішно відправлений", + "send_estimate_successfully": "Кошторис успішно відправлений", "errors": { - "required": "Field is required" + "required": "Обов’язкове поле" }, - "accepted": "Accepted", - "rejected": "Rejected", - "expired": "Expired", - "sent": "Sent", - "draft": "Draft", - "viewed": "Viewed", - "declined": "Declined", - "new_estimate": "New Estimate", - "add_new_estimate": "Add New Estimate", - "update_Estimate": "Update Estimate", - "edit_estimate": "Edit Estimate", - "items": "items", - "Estimate": "Estimate | Estimates", - "add_new_tax": "Add New Tax", - "no_estimates": "No estimates yet!", - "list_of_estimates": "This section will contain the list of estimates.", - "mark_as_rejected": "Mark as rejected", - "mark_as_accepted": "Mark as accepted", - "marked_as_accepted_message": "Estimate marked as accepted", - "marked_as_rejected_message": "Estimate marked as rejected", - "confirm_delete": "You will not be able to recover this Estimate | You will not be able to recover these Estimates", - "created_message": "Estimate created successfully", - "updated_message": "Estimate updated successfully", - "deleted_message": "Estimate deleted successfully | Estimates deleted successfully", - "something_went_wrong": "something went wrong", + "accepted": "Прийнято", + "rejected": "Відхилено", + "expired": "Термін дії закінчився", + "sent": "Надіслати", + "draft": "Чернетка", + "viewed": "Переглянуто", + "declined": "Відхилене", + "new_estimate": "Новий кошторис", + "add_new_estimate": "Додати новий кошторис", + "update_Estimate": "Оновити кошторис", + "edit_estimate": "Редагувати кошторис", + "items": "товари", + "Estimate": "Кошторис | Кошториси", + "add_new_tax": "Додати новий податок", + "no_estimates": "Ще немає жодного кошторису!", + "list_of_estimates": "Цей розділ буде містити список кошторисів.", + "mark_as_rejected": "Позначити як відхилене", + "mark_as_accepted": "Відмітити як прийняте", + "marked_as_accepted_message": "Кошторис був позначений як прийнятий", + "marked_as_rejected_message": "Кошторис був позначений як відхилений", + "confirm_delete": "Ви не зможете відновити цей кошторис | Ви не зможете відновити ці кошториси", + "created_message": "Кошторис успішно створений", + "updated_message": "Кошторис успішно оновлено", + "deleted_message": "Кошторис успішно видалено | Кошториси успішно видалені", + "something_went_wrong": "щось пішло не так", "item": { - "title": "Item Title", - "description": "Description", - "quantity": "Quantity", - "price": "Price", - "discount": "Discount", - "total": "Total", - "total_discount": "Total Discount", - "sub_total": "Sub Total", - "tax": "Tax", - "amount": "Amount", - "select_an_item": "Type or click to select an item", - "type_item_description": "Type Item Description (optional)" + "title": "Назва товару", + "description": "Опис", + "quantity": "Кількість", + "price": "Ціна", + "discount": "Знижка", + "total": "До сплати", + "total_discount": "Загальна знижка", + "sub_total": "Підсумок", + "tax": "Податок", + "amount": "Сума", + "select_an_item": "Введіть або натисніть щоб вибрати", + "type_item_description": "Опис товару (необов'язково)" }, - "mark_as_default_estimate_template_description": "If enabled, the selected template will be automatically selected for new estimates." + "mark_as_default_estimate_template_description": "Якщо увімкнуто, вибраний шаблон буде автоматично обраний для нових оцінок." }, "invoices": { - "title": "Invoices", - "download": "Download", - "pay_invoice": "Pay Invoice", - "invoices_list": "Invoices List", - "invoice_information": "Invoice Information", - "days": "{days} Days", - "months": "{months} Month", - "years": "{years} Year", - "all": "All", - "paid": "Paid", - "unpaid": "Unpaid", - "viewed": "Viewed", - "overdue": "Overdue", - "completed": "Completed", - "customer": "CUSTOMER", - "paid_status": "PAID STATUS", - "ref_no": "REF NO.", - "number": "NUMBER", - "amount_due": "AMOUNT DUE", - "partially_paid": "Partially Paid", - "total": "Total", - "discount": "Discount", - "sub_total": "Sub Total", - "invoice": "Invoice | Invoices", - "invoice_number": "Invoice Number", - "ref_number": "Ref Number", - "contact": "Contact", - "add_item": "Add an Item", - "date": "Date", - "due_date": "Due Date", - "status": "Status", - "add_tax": "Add Tax", - "amount": "Amount", - "action": "Action", - "notes": "Notes", - "view": "View", - "send_invoice": "Send Invoice", - "resend_invoice": "Resend Invoice", - "invoice_template": "Invoice Template", - "conversion_message": "Invoice cloned successful", - "template": "Select Template", - "mark_as_sent": "Mark as sent", - "confirm_send_invoice": "This invoice will be sent via email to the customer", - "invoice_mark_as_sent": "This invoice will be marked as sent", - "confirm_mark_as_accepted": "This invoice will be marked as Accepted", - "confirm_mark_as_rejected": "This invoice will be marked as Rejected", - "confirm_send": "This invoice will be sent via email to the customer", - "invoice_date": "Invoice Date", - "record_payment": "Record Payment", - "add_new_invoice": "Add New Invoice", - "update_expense": "Update Expense", - "edit_invoice": "Edit Invoice", - "new_invoice": "New Invoice", - "save_invoice": "Save Invoice", - "update_invoice": "Update Invoice", - "add_new_tax": "Add New Tax", - "no_invoices": "No Invoices yet!", - "mark_as_rejected": "Mark as rejected", - "mark_as_accepted": "Mark as accepted", - "list_of_invoices": "This section will contain the list of invoices.", - "select_invoice": "Select Invoice", - "no_matching_invoices": "There are no matching invoices!", - "mark_as_sent_successfully": "Invoice marked as sent successfully", - "invoice_sent_successfully": "Invoice sent successfully", - "cloned_successfully": "Invoice cloned successfully", - "clone_invoice": "Clone Invoice", - "confirm_clone": "This invoice will be cloned into a new Invoice", + "title": "Рахунки", + "download": "Завантажити", + "pay_invoice": "Сплатити Рахунок", + "invoices_list": "Список рахунків", + "invoice_information": "Інформація про рахунок", + "days": "{days} днів", + "months": "{months} місяців", + "years": "{years} рік", + "all": "Всі", + "paid": "Сплачено", + "unpaid": "Несплачене", + "viewed": "Переглянуто", + "overdue": "Прострочений", + "completed": "Виконано", + "customer": "КЛІЄНТСЬКА", + "paid_status": "СТАТУС ОПЛАТИ", + "ref_no": "НОМЕР ВІДСТЕЖЕННЯ.", + "number": "НОМЕР РАХУНКУ", + "amount_due": "РОЗРАХУНКОВА СУМА", + "partially_paid": "Частково сплачено", + "total": "До сплати", + "discount": "Знижка", + "sub_total": "Попередній підсумок", + "invoice": "Рахунок | Рахунки", + "invoice_number": "Номер рахунку", + "ref_number": "Код транзакції", + "contact": "Контакт", + "add_item": "Додати позицію", + "date": "Дата", + "due_date": "Оплатити до", + "status": "Статус", + "add_tax": "Додати податок", + "amount": "Усього", + "action": "Дія", + "notes": "Примітки", + "view": "Переглянути", + "send_invoice": "Надіслати рахунок", + "resend_invoice": "Надіслати рахунок ще раз", + "invoice_template": "Вибрати шаблон", + "conversion_message": "Рахунок успішно скопійовано", + "template": "Вибрати шаблон", + "mark_as_sent": "Позначити як відправлене", + "confirm_send_invoice": "Цей рахунок буде надіслано на пошту клієнту", + "invoice_mark_as_sent": "Цей рахунок буде позначено як відправлений", + "confirm_mark_as_accepted": "Цей рахунок буде позначено як прийнятий", + "confirm_mark_as_rejected": "Цей рахунок буде позначено як відхилений", + "confirm_send": "Цей рахунок буде надіслано на пошту клієнту", + "invoice_date": "Дата рахунку", + "record_payment": "Записати платіж", + "add_new_invoice": "Додати новий рахунок", + "update_expense": "Оновити витрати", + "edit_invoice": "Редагувати рахунок", + "new_invoice": "Новий рахунок", + "save_invoice": "Зберегти рахунок", + "update_invoice": "Оновити рахунок", + "add_new_tax": "Додати новий податок", + "no_invoices": "Рахунків ще немає!", + "mark_as_rejected": "Позначити як відхилений", + "mark_as_accepted": "Позначити як прийнятий", + "list_of_invoices": "Цей розділ міститиме список рахунків.", + "select_invoice": "Вибрати рахунок", + "no_matching_invoices": "Немає відповідних рахунків!", + "mark_as_sent_successfully": "Рахунок позначено як відправлений", + "invoice_sent_successfully": "Рахунок успішно надіслано", + "cloned_successfully": "Рахунок успішно скопійовано", + "clone_invoice": "Скопіювати рахунок", + "confirm_clone": "Цей рахунок буде скопійовано до нового рахунку", "item": { - "title": "Item Title", - "description": "Description", - "quantity": "Quantity", - "price": "Price", - "discount": "Discount", - "total": "Total", - "total_discount": "Total Discount", - "sub_total": "Sub Total", - "tax": "Tax", - "amount": "Amount", - "select_an_item": "Type or click to select an item", - "type_item_description": "Type Item Description (optional)" + "title": "Назва товару", + "description": "Опис", + "quantity": "Кількість", + "price": "Ціна", + "discount": "Знижка", + "total": "До сплати", + "total_discount": "Загальна знижка", + "sub_total": "ПІДСУМОК", + "tax": "Податок", + "amount": "Сума", + "select_an_item": "Введіть або натисніть щоб вибрати товар", + "type_item_description": "Опис товару (необов’язково)" }, - "payment_attached_message": "One of the selected invoices already have a payment attached to it. Make sure to delete the attached payments first in order to go ahead with the removal", - "confirm_delete": "You will not be able to recover this Invoice | You will not be able to recover these Invoices", - "created_message": "Invoice created successfully", - "updated_message": "Invoice updated successfully", - "deleted_message": "Invoice deleted successfully | Invoices deleted successfully", - "marked_as_sent_message": "Invoice marked as sent successfully", - "something_went_wrong": "something went wrong", - "invalid_due_amount_message": "Total Invoice amount cannot be less than total paid amount for this Invoice. Please update the invoice or delete the associated payments to continue.", - "mark_as_default_invoice_template_description": "If enabled, the selected template will be automatically selected for new invoices." + "payment_attached_message": "Один із вибраних рахунків уже має прикріплений платіж. Спочатку видаліть прикріплені платежі, щоб продовжити видалення.", + "confirm_delete": "Ви не зможете відновити цей рахунок | Ви не зможете відновити ці рахунки", + "created_message": "Рахунок успішно створено", + "updated_message": "Рахунок успішно оновлено", + "deleted_message": "Рахунок успішно видалено | Рахунки успішно видалено", + "marked_as_sent_message": "Рахунок позначено як відправлений", + "something_went_wrong": "Щось пішло не так", + "invalid_due_amount_message": "Загальна сума рахунку не може бути меншою за загальну сплачену суму для цього рахунку. Оновіть рахунок або видаліть пов’язані платежі, щоб продовжити.", + "mark_as_default_invoice_template_description": "Якщо увімкнуто, вибраний шаблон буде автоматично обраний для нових рахунків." }, "recurring_invoices": { - "title": "Recurring Invoices", - "invoices_list": "Recurring Invoices List", - "days": "{days} Days", - "months": "{months} Month", - "years": "{years} Year", - "all": "All", - "paid": "Paid", - "unpaid": "Unpaid", - "viewed": "Viewed", - "overdue": "Overdue", - "active": "Active", - "completed": "Completed", - "customer": "CUSTOMER", - "paid_status": "PAID STATUS", - "ref_no": "REF NO.", - "number": "NUMBER", - "amount_due": "AMOUNT DUE", - "partially_paid": "Partially Paid", - "total": "Total", - "discount": "Discount", - "sub_total": "Sub Total", - "invoice": "Recurring Invoice | Recurring Invoices", - "invoice_number": "Recurring Invoice Number", - "next_invoice_date": "Next Invoice Date", - "ref_number": "Ref Number", - "contact": "Contact", - "add_item": "Add an Item", - "date": "Date", - "limit_by": "Limit by", - "limit_date": "Limit Date", - "limit_count": "Limit Count", - "count": "Count", - "status": "Status", - "select_a_status": "Select a status", - "working": "Working", - "on_hold": "On Hold", - "complete": "Completed", - "add_tax": "Add Tax", - "amount": "Amount", - "action": "Action", - "notes": "Notes", - "view": "View", - "basic_info": "Basic Info", - "send_invoice": "Send Recurring Invoice", - "auto_send": "Auto Send", - "resend_invoice": "Resend Recurring Invoice", - "invoice_template": "Recurring Invoice Template", - "conversion_message": "Recurring Invoice cloned successful", - "template": "Template", - "mark_as_sent": "Mark as sent", - "confirm_send_invoice": "This recurring invoice will be sent via email to the customer", - "invoice_mark_as_sent": "This recurring invoice will be marked as sent", - "confirm_send": "This recurring invoice will be sent via email to the customer", - "starts_at": "Start Date", - "due_date": "Invoice Due Date", - "record_payment": "Record Payment", - "add_new_invoice": "Add New Recurring Invoice", - "update_expense": "Update Expense", - "edit_invoice": "Edit Recurring Invoice", - "new_invoice": "New Recurring Invoice", - "send_automatically": "Send Automatically", - "send_automatically_desc": "Enable this, if you would like to send the invoice automatically to the customer when its created.", - "save_invoice": "Save Recurring Invoice", - "update_invoice": "Update Recurring Invoice", - "add_new_tax": "Add New Tax", - "no_invoices": "No Recurring Invoices yet!", - "mark_as_rejected": "Mark as rejected", - "mark_as_accepted": "Mark as accepted", - "list_of_invoices": "This section will contain the list of recurring invoices.", - "select_invoice": "Select Invoice", - "no_matching_invoices": "There are no matching recurring invoices!", - "mark_as_sent_successfully": "Recurring Invoice marked as sent successfully", - "invoice_sent_successfully": "Recurring Invoice sent successfully", - "cloned_successfully": "Recurring Invoice cloned successfully", - "clone_invoice": "Clone Recurring Invoice", - "confirm_clone": "This recurring invoice will be cloned into a new Recurring Invoice", - "add_customer_email": "Please add an email address for this customer to send invoices automatically.", + "title": "Регулярні рахунки", + "invoices_list": "Список регулярних рахунків", + "days": "{days} днів", + "months": "{months} місяців", + "years": "{years} рік", + "all": "Всі", + "paid": "Сплачено", + "unpaid": "Несплачене", + "viewed": "Переглянуто", + "overdue": "Прострочений", + "active": "Активний", + "completed": "Виконано", + "customer": "КЛІЄНТ", + "paid_status": "СТАТУС ОПЛАТИ", + "ref_no": "НОМЕР ВІДСТЕЖЕННЯ.", + "number": "НОМЕР", + "amount_due": "РОЗРАХУНКОВА СУМА", + "partially_paid": "Частково сплачено", + "total": "Всього", + "discount": "Знижка", + "sub_total": "Попередній підсумок", + "invoice": "Регулярний рахунок | Регулярні рахунки", + "invoice_number": "Номер платежу, що повторюється", + "next_invoice_date": "Дата наступного рахунку", + "ref_number": "Код транзакції", + "contact": "Контакт", + "add_item": "Додати позицію", + "date": "Дата", + "limit_by": "Обмеження по", + "limit_date": "Обмежити дату", + "limit_count": "Ліміт кількості", + "count": "Кількість", + "status": "Статус", + "select_a_status": "Обрати статус", + "working": "Працює", + "on_hold": "Затримано", + "complete": "Завершено", + "add_tax": "Додати податок", + "amount": "Сума", + "action": "Дія", + "notes": "Нотатки", + "view": "Переглянути", + "basic_info": "Основна інформація", + "send_invoice": "Надіслати періодичний рахунок", + "auto_send": "Авто-надсилання", + "resend_invoice": "Повторно надіслати періодичний рахунок", + "invoice_template": "Шаблон періодичного рахунку", + "conversion_message": "Періодичний рахунок клоновано успішно", + "template": "Шаблон", + "mark_as_sent": "Позначити як відправлене", + "confirm_send_invoice": "Цей регулярний рахунок буде надіслано на пошту клієнту", + "invoice_mark_as_sent": "Цей періодичний рахунок буде позначено як відправлений", + "confirm_send": "Цей регулярний рахунок буде надіслано на пошту клієнту", + "starts_at": "Дата початку", + "due_date": "Дата оплати рахунку", + "record_payment": "Записати платіж", + "add_new_invoice": "Додати новий регулярний рахунок", + "update_expense": "Оновити витрати", + "edit_invoice": "Редагувати регулярний рахунок", + "new_invoice": "Новий регулярний рахунок", + "send_automatically": "Надсилати автоматично", + "send_automatically_desc": "Увімкніть це, якщо хочете автоматично надсилати рахунок клієнту під час його створення.", + "save_invoice": "Зберегти регулярний рахунок", + "update_invoice": "Оновити регулярний рахунок", + "add_new_tax": "Додати новий податок", + "no_invoices": "Регулярних рахунків ще немає!", + "mark_as_rejected": "Позначити як відхилений", + "mark_as_accepted": "Позначити як прийнятий", + "list_of_invoices": "Цей розділ міститиме список регулярних рахунків.", + "select_invoice": "Вибрати рахунок", + "no_matching_invoices": "Немає відповідних регулярних рахунків!", + "mark_as_sent_successfully": "Регулярний рахунок позначено як відправлений", + "invoice_sent_successfully": "Регулярний рахунок успішно надіслано", + "cloned_successfully": "Регулярний рахунок успішно скопійовано", + "clone_invoice": "Скопіювати регулярний рахунок", + "confirm_clone": "Цей регулярний рахунок буде скопійовано до нового регулярного рахунку", + "add_customer_email": "Додайте адресу електронної пошти цього клієнта для автоматичного надсилання рахунків.", "item": { - "title": "Item Title", - "description": "Description", - "quantity": "Quantity", - "price": "Price", - "discount": "Discount", - "total": "Total", - "total_discount": "Total Discount", - "sub_total": "Sub Total", - "tax": "Tax", - "amount": "Amount", - "select_an_item": "Type or click to select an item", - "type_item_description": "Type Item Description (optional)" + "title": "Назва товару", + "description": "Опис", + "quantity": "Кількість", + "price": "Ціна", + "discount": "Знижка", + "total": "До сплати", + "total_discount": "Загальна знижка", + "sub_total": "ПІДСУМОК", + "tax": "Податок", + "amount": "Сума", + "select_an_item": "Введіть або натисніть щоб вибрати товар", + "type_item_description": "Опис товару (необов’язково)" }, "frequency": { - "title": "Frequency (using cron format)", - "select_frequency": "Select Frequency", - "minute": "Minute", - "hour": "Hour", - "day_month": "Day of month", - "month": "Month", - "day_week": "Day of week", - "every_minute": "Every Minute", - "every_30_minute": "Every 30 Minute", - "every_hour": "Every Hour", - "every_2_hour": "Every 2 Hour", - "every_day_at_midnight": "Every day at midnight", - "every_week": "Every Week", - "every_15_days_at_midnight": "Every 15 days at midnight", - "on_the_first_day_of_every_month_at_midnight": "On the first day of every month at 00:00", - "every_6_month": "Every 6 Month", - "every_year_on_the_first_day_of_january_at_midnight": "Every year on the first day of january at 00:00", - "custom": "Custom" + "title": "Частота (у форматі cron)", + "select_frequency": "Вибрати частоту", + "minute": "Хвилина", + "hour": "Година", + "day_month": "День місяця", + "month": "Місяць", + "day_week": "День тижня", + "every_minute": "Щохвилини", + "every_30_minute": "Кожні 30 хвилин", + "every_hour": "Щогодини", + "every_2_hour": "Кожні 2 години", + "every_day_at_midnight": "Щодня опівночі", + "every_week": "Щотижня", + "every_15_days_at_midnight": "Кожні 15 днів опівночі", + "on_the_first_day_of_every_month_at_midnight": "Першого дня кожного місяця о 00:00", + "every_6_month": "Кожні 6 місяців", + "every_year_on_the_first_day_of_january_at_midnight": "Щороку першого січня о 00:00", + "custom": "Користувацька" }, - "confirm_delete": "You will not be able to recover this Invoice | You will not be able to recover these Invoices", - "created_message": "Recurring Invoice created successfully", - "updated_message": "Recurring Invoice updated successfully", - "deleted_message": "Recurring Invoice deleted successfully | Recurring Invoices deleted successfully", - "marked_as_sent_message": "Recurring Invoice marked as sent successfully", - "user_email_does_not_exist": "User email does not exist", - "something_went_wrong": "something went wrong", - "invalid_due_amount_message": "Total Recurring Invoice amount cannot be less than total paid amount for this Recurring Invoice. Please update the invoice or delete the associated payments to continue.", + "confirm_delete": "Ви не зможете відновити цей рахунок | Ви не зможете відновити ці рахунки", + "created_message": "Регулярний рахунок успішно створено", + "updated_message": "Регулярний рахунок успішно оновлено", + "deleted_message": "Регулярний рахунок успішно видалено | Регулярні рахунки успішно видалено", + "marked_as_sent_message": "Регулярний рахунок позначено як відправлений", + "user_email_does_not_exist": "Електронна пошта користувача не існує", + "something_went_wrong": "Щось пішло не так", + "invalid_due_amount_message": "Загальна сума регулярного рахунку не може бути меншою за загальну сплачену суму для цього рахунку. Оновіть рахунок або видаліть пов’язані платежі, щоб продовжити.", "limit": { - "none": "None", - "date": "Date", - "count": "Count" + "none": "Немає", + "date": "Дата", + "count": "Кількість" } }, "payments": { - "title": "Payments", - "payments_list": "Payments List", - "record_payment": "Record Payment", - "customer": "Customer", - "date": "Date", - "amount": "Amount", - "action": "Action", - "payment_number": "Payment Number", - "payment_mode": "Payment Mode", - "invoice": "Invoice", - "note": "Note", - "add_payment": "Add Payment", - "new_payment": "New Payment", - "edit_payment": "Edit Payment", - "view_payment": "View Payment", - "add_new_payment": "Add New Payment", - "send_payment_receipt": "Send Payment Receipt", - "send_payment": "Send Payment", - "save_payment": "Save Payment", - "update_payment": "Update Payment", - "payment": "Payment | Payments", - "no_payments": "No payments yet!", - "not_selected": "Not selected", - "no_invoice": "No invoice", - "no_matching_payments": "There are no matching payments!", - "list_of_payments": "This section will contain the list of payments.", - "select_payment_mode": "Select payment mode", - "confirm_mark_as_sent": "This estimate will be marked as sent", - "confirm_send_payment": "This payment will be sent via email to the customer", - "send_payment_successfully": "Payment sent successfully", - "something_went_wrong": "something went wrong", - "confirm_delete": "You will not be able to recover this Payment | You will not be able to recover these Payments", - "created_message": "Payment created successfully", - "updated_message": "Payment updated successfully", - "deleted_message": "Payment deleted successfully | Payments deleted successfully", - "invalid_amount_message": "Payment amount is invalid", - "amount_due": "Due Amount" + "title": "Платежі", + "payments_list": "Список платежів", + "record_payment": "Записати платіж", + "customer": "Клієнт", + "date": "Дата", + "amount": "Сума", + "action": "Дія", + "payment_number": "Номер платежу", + "payment_mode": "Спосіб оплати", + "invoice": "Рахунок", + "note": "Примітка", + "add_payment": "Додати платіж", + "new_payment": "Новий платіж", + "edit_payment": "Редагувати платіж", + "view_payment": "Переглянути платіж", + "add_new_payment": "Додати новий платіж", + "send_payment_receipt": "Надіслати квитанцію про платіж", + "send_payment": "Надіслати платіж", + "save_payment": "Зберегти платіж", + "update_payment": "Оновити платіж", + "payment": "Платіж | Платежі", + "no_payments": "Платежів ще немає!", + "not_selected": "Не вибрано", + "no_invoice": "Немає рахунку", + "no_matching_payments": "Немає відповідних платежів!", + "list_of_payments": "Цей розділ міститиме список платежів.", + "select_payment_mode": "Вибрати спосіб оплати", + "confirm_mark_as_sent": "Цей кошторис буде позначено як відправлений", + "confirm_send_payment": "Цей платіж буде надіслано на пошту клієнту", + "send_payment_successfully": "Платіж успішно надіслано", + "something_went_wrong": "Щось пішло не так", + "confirm_delete": "Ви не зможете відновити цей платіж | Ви не зможете відновити ці платежі", + "created_message": "Платіж успішно створено", + "updated_message": "Платіж успішно оновлено", + "deleted_message": "Платіж успішно видалено | Платежі успішно видалено", + "invalid_amount_message": "Сума платежу недійсна", + "amount_due": "Сума до сплати" }, "expenses": { - "title": "Expenses", - "expenses_list": "Expenses List", - "select_a_customer": "Select a customer", - "expense_title": "Title", - "customer": "Customer", - "currency": "Currency", - "contact": "Contact", - "category": "Category", - "from_date": "From Date", - "to_date": "To Date", - "expense_date": "Date", - "description": "Description", - "receipt": "Receipt", - "amount": "Amount", - "action": "Action", - "not_selected": "Not selected", - "note": "Note", - "category_id": "Category Id", - "date": "Date", - "add_expense": "Add Expense", - "add_new_expense": "Add New Expense", - "save_expense": "Save Expense", - "update_expense": "Update Expense", - "download_receipt": "Download Receipt", - "edit_expense": "Edit Expense", - "new_expense": "New Expense", - "expense": "Expense | Expenses", - "no_expenses": "No expenses yet!", - "list_of_expenses": "This section will contain the list of expenses.", - "confirm_delete": "You will not be able to recover this Expense | You will not be able to recover these Expenses", - "created_message": "Expense created successfully", - "updated_message": "Expense updated successfully", - "deleted_message": "Expense deleted successfully | Expenses deleted successfully", + "title": "Витрати", + "expenses_list": "Список витрат", + "select_a_customer": "Вибрати клієнта", + "expense_title": "Назва", + "customer": "Клієнт", + "currency": "Валюта", + "contact": "Контакт", + "category": "Категорія", + "from_date": "Від дати", + "to_date": "До дати", + "expense_date": "Дата", + "description": "Опис", + "receipt": "Квитанція", + "amount": "Сума", + "action": "Дія", + "not_selected": "Не вибрано", + "note": "Примітка", + "category_id": "Ідентифікатор категорії", + "date": "Дата", + "add_expense": "Додати витрату", + "add_new_expense": "Додати нову витрату", + "save_expense": "Зберегти витрату", + "update_expense": "Оновити витрату", + "download_receipt": "Завантажити квитанцію", + "edit_expense": "Редагувати витрату", + "new_expense": "Нова витрата", + "expense": "Витрата | Витрати", + "no_expenses": "Витрат ще немає!", + "list_of_expenses": "Цей розділ міститиме список витрат.", + "confirm_delete": "Ви не зможете відновити цю витрату | Ви не зможете відновити ці витрати", + "created_message": "Витрату успішно створено", + "updated_message": "Витрату успішно оновлено", + "deleted_message": "Витрату успішно видалено | Витрати успішно видалено", "categories": { - "categories_list": "Categories List", - "title": "Title", - "name": "Name", - "description": "Description", - "amount": "Amount", - "actions": "Actions", - "add_category": "Add Category", - "new_category": "New Category", - "category": "Category | Categories", - "select_a_category": "Select a category" + "categories_list": "Список категорій", + "title": "Назва", + "name": "Назва", + "description": "Опис", + "amount": "Сума", + "actions": "Дії", + "add_category": "Додати категорію", + "new_category": "Нова категорія", + "category": "Категорія | Категорії", + "select_a_category": "Вибрати категорію" } }, "login": { - "email": "Email", - "password": "Password", - "forgot_password": "Forgot Password?", - "or_signIn_with": "or Sign in with", - "login": "Login", - "register": "Register", - "reset_password": "Reset Password", - "password_reset_successfully": "Password Reset Successfully", - "enter_email": "Enter email", - "enter_password": "Enter Password", - "retype_password": "Retype Password" + "email": "Ел. пошта", + "password": "Пароль", + "forgot_password": "Забули пароль?", + "or_signIn_with": "або Увійти за допомогою", + "login": "Увійти", + "register": "Зареєструватись", + "reset_password": "Відновлення паролю", + "password_reset_successfully": "Відновлення паролю успішне", + "enter_email": "Введіть електронну пошту", + "enter_password": "Введіть пароль", + "retype_password": "Повторіть пароль" }, "modules": { - "buy_now": "Buy Now", - "install": "Install", - "price": "Price", - "download_zip_file": "Download ZIP file", - "unzipping_package": "Unzipping Package", - "copying_files": "Copying Files", - "deleting_files": "Deleting Unused files", - "completing_installation": "Completing Installation", - "update_failed": "Update Failed", - "install_success": "Module has been installed successfully!", - "customer_reviews": "Reviews", - "license": "License", - "faq": "FAQ", - "monthly": "Monthly", - "yearly": "Yearly", - "updated": "Updated", - "version": "Version", - "disable": "Disable", - "module_disabled": "Module Disabled", - "enable": "Enable", - "module_enabled": "Module Enabled", - "update_to": "Update To", - "module_updated": "Module Updated Successfully!", - "title": "Modules", - "module": "Module | Modules", - "api_token": "API token", - "invalid_api_token": "Invalid API Token.", - "other_modules": "Other Modules", - "view_all": "View All", - "no_reviews_found": "There are no reviews for this module yet!", - "module_not_purchased": "Module Not Purchased", - "module_not_found": "Module Not Found", - "version_not_supported": "The minimum required version for this module does not match. Please upgrade your invoiceshelf app to version: {version} to proceed.", - "last_updated": "Last Updated On", - "connect_installation": "Connect your installation", - "api_token_description": "Login to {url} and connect this installation by entering the API Token. Your purchased modules will show up here after the connection is established.", - "view_module": "View Module", - "update_available": "Update Available", - "purchased": "Purchased", - "installed": "Installed", - "no_modules_installed": "No Modules Installed Yet!", - "disable_warning": "All the settings for this particular will be reverted.", - "what_you_get": "What you get", - "sign_up_and_get_token": "Sign up & Get Token" + "buy_now": "Придбайте зараз", + "install": "Встановити", + "price": "Ціна", + "download_zip_file": "Завантажити ZIP-файл", + "unzipping_package": "Розархівування пакунку", + "copying_files": "Копіювання файлів", + "deleting_files": "Видалення невикористаних файлів", + "completing_installation": "Завершення установки", + "update_failed": "Спроба оновлення зазнала невдачі", + "install_success": "Модуль успішно встановлено!", + "customer_reviews": "Відгуки", + "license": "Ліцензія", + "faq": "Часто Запитувані Питання", + "monthly": "Місячний", + "yearly": "Щорічно", + "updated": "Оновлено", + "version": "Версія", + "disable": "Вимкнути", + "module_disabled": "Модуль вимкнено", + "enable": "Увімкнути", + "module_enabled": "Модуль увімкнено", + "update_to": "Оновити до", + "module_updated": "Модуль успішно оновлений!", + "title": "Модулі", + "module": "Модуль | Модулі", + "api_token": "API-токен", + "invalid_api_token": "Неправильний API токен.", + "other_modules": "Інші модулі", + "view_all": "Переглянути все", + "no_reviews_found": "Поки що немає відгуків для цього модуля!", + "module_not_purchased": "Модуль не придбано", + "module_not_found": "Модуль не знайдено", + "version_not_supported": "Мінімальна необхідна версія даного модуля не збігається. Будь ласка, оновіть додаток invoiceshelf до версії: {version} щоб продовжити.", + "last_updated": "Останнє оновлення", + "connect_installation": "Під'єднайте вашу установку", + "api_token_description": "Увійдіть до {url} і з'єднайте цю установку, ввівши токен API. Ваші придбані модулі відображатимуться тут після створення з'єднання.", + "view_module": "Показати модуль", + "update_available": "Доступні оновлення", + "purchased": "Придбано", + "installed": "Встановлено", + "no_modules_installed": "Немає встановлених модулів!", + "disable_warning": "Всі налаштування для цього параметра буде скасовано.", + "what_you_get": "Що ви отримаєте", + "sign_up_and_get_token": "Зареєструватися та отримати токен" }, "users": { - "title": "Users", - "users_list": "Users List", - "name": "Name", - "description": "Description", - "added_on": "Added On", - "date_of_creation": "Date Of Creation", - "action": "Action", - "add_user": "Add User", - "save_user": "Save User", - "update_user": "Update User", - "user": "User | Users", - "add_new_user": "Add New User", - "new_user": "New User", - "edit_user": "Edit User", - "no_users": "No users yet!", - "list_of_users": "This section will contain the list of users.", - "email": "Email", - "phone": "Phone", - "password": "Password", - "user_attached_message": "Cannot delete an item which is already in use", - "confirm_delete": "You will not be able to recover this User | You will not be able to recover these Users", - "created_message": "User created successfully", - "updated_message": "User updated successfully", - "deleted_message": "User deleted successfully | Users deleted successfully", - "select_company_role": "Select Role for {company}", - "companies": "Companies" + "title": "Користувачі", + "users_list": "Список користувачів", + "name": "Ім’я", + "description": "Опис", + "added_on": "Додано", + "date_of_creation": "Дата створення", + "action": "Дія", + "add_user": "Додати користувача", + "save_user": "Зберегти користувача", + "update_user": "Оновити користувача", + "user": "Користувач | Користувачі", + "add_new_user": "Додати нового користувача", + "new_user": "Новий користувач", + "edit_user": "Редагувати користувача", + "no_users": "Ще немає користувачів!", + "list_of_users": "Цей розділ буде містити список користувачів.", + "email": "Ел. пошта", + "phone": "Номер телефону", + "password": "Пароль", + "user_attached_message": "Не можна видалити елемент, який зараз використовується", + "confirm_delete": "Ви не зможете відновити цього користувача | Ви не зможете відновити цих користувачів", + "created_message": "Користувач успішно створений", + "updated_message": "Користувача успішно оновлено", + "deleted_message": "Користувача успішно видалено | Користувачів успішно видалено", + "select_company_role": "Виберіть роль {company}", + "companies": "Компанії" }, "reports": { - "title": "Report", - "from_date": "From Date", + "title": "Звіт", + "from_date": "Від дати", "to_date": "To Date", - "status": "Status", - "paid": "Paid", - "unpaid": "Unpaid", - "download_pdf": "Download PDF", - "view_pdf": "View PDF", - "update_report": "Update Report", - "report": "Report | Reports", + "status": "Стан", + "paid": "Сплачено", + "unpaid": "Несплачене", + "download_pdf": "Завантажити PDF", + "view_pdf": "Переглянути PDF", + "update_report": "Оновити звіт", + "report": "Звіт | Звіти", "profit_loss": { - "profit_loss": "Profit & Loss", - "to_date": "To Date", - "from_date": "From Date", - "date_range": "Select Date Range" + "profit_loss": "Прибуток & Збиток", + "to_date": "До дати", + "from_date": "Від дати", + "date_range": "Виберіть діапазон дат" }, "sales": { - "sales": "Sales", - "date_range": "Select Date Range", - "to_date": "To Date", - "from_date": "From Date", - "report_type": "Report Type", + "sales": "Продажі", + "date_range": "Виберіть діапазон дат", + "to_date": "До дати", + "from_date": "Від дати", + "report_type": "Тип звіту", "sort": { - "by_customer": "By Customer", - "by_item": "By Item" + "by_customer": "За замовником", + "by_item": "За товаром" } }, "taxes": { - "taxes": "Taxes", - "to_date": "To Date", - "from_date": "From Date", - "date_range": "Select Date Range" + "taxes": "Податки", + "to_date": "До дати", + "from_date": "Від дати", + "date_range": "Виберіть діапазон дат" }, "errors": { - "required": "Field is required" + "required": "Обов’язкове поле" }, "invoices": { - "invoice": "Invoice", - "invoice_date": "Invoice Date", - "due_date": "Due Date", - "amount": "Amount", - "contact_name": "Contact Name", - "status": "Status" + "invoice": "Рахунок", + "invoice_date": "Дата рахунку", + "due_date": "Дата оплати", + "amount": "Сума", + "contact_name": "Ім'я контакту", + "status": "Стан" }, "estimates": { - "estimate": "Estimate", - "estimate_date": "Estimate Date", - "due_date": "Due Date", - "estimate_number": "Estimate Number", - "ref_number": "Ref Number", - "amount": "Amount", - "contact_name": "Contact Name", - "status": "Status" + "estimate": "Приблизний кошторис", + "estimate_date": "Орієнтовна дата", + "due_date": "Дата виконання", + "estimate_number": "Орієнтовна кількість", + "ref_number": "Код транзакції", + "amount": "Сума", + "contact_name": "Ім'я контакту", + "status": "Стан" }, "expenses": { - "expenses": "Expenses", - "category": "Category", - "date": "Date", - "amount": "Amount", - "to_date": "To Date", - "from_date": "From Date", - "date_range": "Select Date Range" + "expenses": "Витрати", + "category": "Категорія", + "date": "Дата", + "amount": "Сума", + "to_date": "До дати", + "from_date": "Від дати", + "date_range": "Виберіть діапазон дат" } }, "settings": { "menu_title": { - "account_settings": "Account Settings", - "company_information": "Company Information", - "customization": "Customization", - "preferences": "Preferences", - "notifications": "Notifications", - "tax_types": "Tax Types", - "expense_category": "Expense Categories", - "update_app": "Update App", - "backup": "Backup", - "file_disk": "File Disk", - "custom_fields": "Custom Fields", - "payment_modes": "Payment Modes", - "notes": "Notes", - "exchange_rate": "Exchange Rate", - "address_information": "Address Information" + "account_settings": "Параметри облікового запису", + "company_information": "Інформація про компанію", + "customization": "Персоналізація", + "preferences": "Налаштування", + "notifications": "Сповіщення", + "tax_types": "Типи податків", + "expense_category": "Категорії витрат", + "update_app": "Оновити застосунок", + "backup": "Резервне копіювання", + "file_disk": "Файл диска", + "custom_fields": "Індивідуальні поля", + "payment_modes": "Способи оплати", + "notes": "Примітки", + "exchange_rate": "Обмінний курс", + "address_information": "Контактна інформація", + "pdf_generation": "PDF Generation" }, "address_information": { - "section_description": " You can update Your Address information using form below." + "section_description": " Ви можете оновити Вашу адресну інформацію, скориставшись формою нижче." }, - "title": "Settings", - "setting": "Settings | Settings", - "general": "General", - "language": "Language", - "primary_currency": "Primary Currency", - "timezone": "Time Zone", - "date_format": "Date Format", - "time_format": "Time Format", + "title": "Налаштування", + "setting": "Налаштування | Налаштування", + "general": "Основне", + "language": "Мова", + "primary_currency": "Основна валюта", + "timezone": "Часовий пояс", + "date_format": "Формат дати", + "time_format": "Формат часу", "currencies": { - "title": "Currencies", - "currency": "Currency | Currencies", - "currencies_list": "Currencies List", - "select_currency": "Select Currency", - "name": "Name", - "code": "Code", - "symbol": "Symbol", - "precision": "Precision", - "thousand_separator": "Thousand Separator", - "decimal_separator": "Decimal Separator", - "position": "Position", - "position_of_symbol": "Position Of Symbol", - "right": "Right", - "left": "Left", - "action": "Action", - "add_currency": "Add Currency" + "title": "Валюти", + "currency": "Валюта | Валюти", + "currencies_list": "Список валют", + "select_currency": "Обрати валюту", + "name": "Назва", + "code": "Код валюти", + "symbol": "Знак", + "precision": "Точність", + "thousand_separator": "Розділовий знак тисячних чисел", + "decimal_separator": "Символ, що використовується для десятинних чисел", + "position": "Розташування", + "position_of_symbol": "Розташування символу", + "right": "Праворуч", + "left": "Ліворуч", + "action": "Дія", + "add_currency": "Додати валюту" }, "mail": { - "host": "Mail Host", - "port": "Mail Port", - "driver": "Mail Driver", - "secret": "Secret", - "mailgun_secret": "Mailgun Secret", - "mailgun_domain": "Domain", - "mailgun_endpoint": "Mailgun Endpoint", - "ses_secret": "SES Secret", - "ses_key": "SES Key", - "password": "Mail Password", - "username": "Mail Username", - "mail_config": "Mail Configuration", - "from_name": "From Mail Name", - "from_mail": "From Mail Address", - "encryption": "Mail Encryption", - "mail_config_desc": "Below is the form for Configuring Email driver for sending emails from the app. You can also configure third party providers like Sendgrid, SES etc." + "host": "Поштовий сервер", + "port": "Порт сервера", + "driver": "Тип способу відправки", + "secret": "Секретний ключ", + "mailgun_secret": "секретний API-ключ", + "mailgun_domain": "Домен", + "mailgun_endpoint": "Домен api", + "ses_secret": "SES секретний API-ключ", + "ses_key": "SES API-ключ", + "ses_region": "AWS Region", + "password": "Пароль пошти", + "username": "Ім'я користувача пошти", + "mail_config": "Налаштування пошти", + "from_name": "Ім'я відправника", + "from_mail": "Адреса відправника", + "encryption": "Шифрування пошти", + "mail_config_desc": "Нижче наведено форму для налаштування email-драйвера для надсилання email з додатку. Ви також можете налаштувати сторонніх провайдерів, таких як Sendgrid, SES тощо." }, "pdf": { - "title": "PDF Setting", - "footer_text": "Footer Text", - "pdf_layout": "PDF Layout" + "title": "Налаштування PDF", + "footer_text": "Текст нижнього колонтитула", + "pdf_layout": "Макет PDF", + "pdf_configuration": "PDF Generation Settings", + "section_description": "Change the way PDFs are generated", + "driver": "PDF Driver to use", + "papersize": "Papersize", + "papersize_hint": "Papersize in width and height (ex. \"210mm 297mm\")", + "gotenberg_host": "Gotenberg service host", + "pdf_variables_save_successfully": "PDF configuration saved successfully", + "pdf_variables_save_error": "PDF configuration could not be saved" }, "company_info": { - "company_info": "Company info", - "company_name": "Company Name", - "tax_id": "Tax Identification Number", - "vat_id": "VAT Identification Number", - "company_logo": "Company Logo", - "section_description": "Information about your company that will be displayed on invoices, estimates and other documents created by InvoiceShelf.", - "phone": "Phone", - "country": "Country", - "state": "State", - "city": "City", - "address": "Address", - "zip": "Zip", - "save": "Save", - "delete": "Delete", - "updated_message": "Company information updated successfully", - "delete_company": "Delete Company", - "delete_company_description": "Once you delete your company, you will lose all the data and files associated with it permanently.", - "are_you_absolutely_sure": "Are you absolutely sure?", - "delete_company_modal_desc": "This action cannot be undone. This will permanently delete {company} and all of its associated data.", - "delete_company_modal_label": "Please type {company} to confirm" + "company_info": "Інформація про компанію", + "company_name": "Назва компанії", + "tax_id": "Ідентифікаційний номер податку", + "vat_id": "Ідентифікаційний номер ПДВ", + "company_logo": "Логотип компанії", + "section_description": "Інформація про вашу компанію, яка буде зображатися на рахунках-фактурах, кошторисах та інших документах, створених InvoiceShelf.", + "phone": "Номер телефону", + "country": "Країна", + "state": "Область", + "city": "Місто", + "address": "Адреса", + "zip": "Поштовий індекс", + "save": "Зберегти", + "delete": "Видалити", + "updated_message": "Інформація про компанію успішно оновлена", + "delete_company": "Видалити компанію", + "delete_company_description": "Як тільки Ви видалите свою компанію, Ви втратите всі дані та файли, пов’язані з ними.", + "are_you_absolutely_sure": "Ви абсолютно впевнені?", + "delete_company_modal_desc": "Цю дію скасувати не можна. Це остаточно видалить {company} і всі пов'язані дані.", + "delete_company_modal_label": "Будь ласка, введіть {company} щоб підтвердити" }, "custom_fields": { - "title": "Custom Fields", - "section_description": "Customize your Invoices, Estimates & Payment Receipts with your own fields. Make sure to use the below added fields on the address formats on Customization settings page.", - "add_custom_field": "Add Custom Field", - "edit_custom_field": "Edit Custom Field", - "field_name": "Field Name", - "label": "Label", - "type": "Type", - "name": "Name", - "slug": "Slug", - "required": "Required", - "placeholder": "Placeholder", - "help_text": "Help Text", - "default_value": "Default Value", - "prefix": "Prefix", - "starting_number": "Starting Number", - "model": "Model", - "help_text_description": "Enter some text to help users understand the purpose of this custom field.", - "suffix": "Suffix", - "yes": "Yes", - "no": "No", - "order": "Order", - "custom_field_confirm_delete": "You will not be able to recover this Custom Field", - "already_in_use": "Custom Field is already in use", - "deleted_message": "Custom Field deleted successfully", - "options": "options", - "add_option": "Add Options", - "add_another_option": "Add another option", - "sort_in_alphabetical_order": "Sort in Alphabetical Order", - "add_options_in_bulk": "Add options in bulk", - "use_predefined_options": "Use Predefined Options", - "select_custom_date": "Select Custom Date", - "select_relative_date": "Select Relative Date", - "ticked_by_default": "Ticked by default", - "updated_message": "Custom Field updated successfully", - "added_message": "Custom Field added successfully", - "press_enter_to_add": "Press enter to add new option", - "model_in_use": "Cannot update model for fields which are already in use.", - "type_in_use": "Cannot update type for fields which are already in use.", + "title": "Індивідуальні поля", + "section_description": "Налаштуйте свої рахунки, кошториси та квитанції про оплату за допомогою власних полів. Переконайтеся, що додані нижче поля використовуються у форматах адрес на сторінці налаштувань персоналізації.", + "add_custom_field": "Додати індивідуальне поле", + "edit_custom_field": "Редагувати індивідуальне поле", + "field_name": "Назва поля", + "label": "Мітка", + "type": "Тип", + "name": "Назва", + "slug": "Унікальний ідентифікатор", + "required": "Обов’язкове", + "placeholder": "Заповнювач", + "help_text": "Допоміжний текст", + "default_value": "Значення за замовчуванням", + "prefix": "Префікс", + "starting_number": "Початковий номер", + "model": "Модель", + "help_text_description": "Введіть текст, щоб допомогти користувачам зрозуміти призначення цього індивідуального поля.", + "suffix": "Суфікс", + "yes": "Так", + "no": "Ні", + "order": "Порядок", + "custom_field_confirm_delete": "Ви не зможете відновити це індивідуальне поле", + "already_in_use": "Індивідуальне поле вже використовується", + "deleted_message": "Індивідуальне поле успішно видалено", + "options": "опції", + "add_option": "Додати опції", + "add_another_option": "Додати ще одну опцію", + "sort_in_alphabetical_order": "Сортувати за алфавітом", + "add_options_in_bulk": "Додати опції масово", + "use_predefined_options": "Використовувати попередньо визначені опції", + "select_custom_date": "Вибрати власну дату", + "select_relative_date": "Вибрати відносну дату", + "ticked_by_default": "Відмічено за замовчуванням", + "updated_message": "Індивідуальне поле успішно оновлено", + "added_message": "Індивідуальне поле успішно додано", + "press_enter_to_add": "Натисніть Enter, щоб додати нову опцію", + "model_in_use": "Неможливо оновити модель для полів, які вже використовуються.", + "type_in_use": "Неможливо оновити тип для полів, які вже використовуються.", "model_type": { - "customer": "Customer", - "invoice": "Invoice", - "estimate": "Estimate", - "expense": "Expense", - "payment": "Payment" + "customer": "Клієнт", + "invoice": "Рахунок", + "estimate": "Кошторис", + "expense": "Витрата", + "payment": "Платіж" } }, "customization": { - "customization": "customization", - "updated_message": "Company information updated successfully", - "save": "Save", - "insert_fields": "Insert Fields", - "learn_custom_format": "Learn how to use custom format", - "add_new_component": "Add New Component", - "component": "Component", - "Parameter": "Parameter", - "series": "Series", - "series_description": "To set a static prefix/postfix like 'INV' across your company. It supports character length of up to 6 chars.", - "series_param_label": "Series Value", - "delimiter": "Delimiter", - "delimiter_description": "Single character for specifying the boundary between 2 separate components. By default its set to -", - "delimiter_param_label": "Delimiter Value", - "date_format": "Date Format", - "time_format": "Time Format", - "date_format_description": "A local date and time field which accepts a format parameter. The default format: 'Y' renders the current year.", - "date_format_param_label": "Format", - "sequence": "Sequence", - "sequence_description": "Consecutive sequence of numbers across your company. You can specify the length on the given parameter.", - "sequence_param_label": "Sequence Length", - "customer_series": "Customer Series", - "customer_series_description": "To set a different prefix/postfix for each customer.", - "customer_sequence": "Customer Sequence", - "customer_sequence_description": "Consecutive sequence of numbers for each of your customer.", - "customer_sequence_param_label": "Sequence Length", - "random_sequence": "Random Sequence", - "random_sequence_description": "Random alphanumeric string. You can specify the length on the given parameter.", - "random_sequence_param_label": "Sequence Length", + "customization": "Персоналізація", + "updated_message": "Інформацію про компанію успішно оновлено", + "save": "Зберегти", + "insert_fields": "Вставити поля", + "learn_custom_format": "Дізнайтесь, як використовувати власний формат", + "add_new_component": "Додати новий компонент", + "component": "Компонент", + "Parameter": "Параметр", + "series": "Серія", + "series_description": "Щоб встановити статичний префікс/постфікс, наприклад 'INV', для всієї компанії. Підтримує довжину символів до 6.", + "series_param_label": "Значення серії", + "delimiter": "Розділювач", + "delimiter_description": "Один символ для визначення межі між двома окремими компонентами. За замовчуванням встановлено '-'.", + "delimiter_param_label": "Значення розділювача", + "date_format": "Формат дати", + "time_format": "Формат часу", + "date_format_description": "Локальне поле дати та часу, яке приймає параметр формату. Формат за замовчуванням: 'Y' показувати поточний рік.", + "date_format_param_label": "Формат", + "sequence": "Послідовність", + "sequence_description": "Послідовна нумерація для всієї компанії. Ви можете вказати довжину в заданому параметрі.", + "sequence_param_label": "Довжина послідовності", + "customer_series": "Серія клієнта", + "customer_series_description": "Щоб встановити різні префікси/постфікси для кожного клієнта.", + "customer_sequence": "Послідовність клієнта", + "customer_sequence_description": "Послідовна нумерація для кожного з ваших клієнтів.", + "customer_sequence_param_label": "Довжина послідовності", + "random_sequence": "Випадкова послідовність", + "random_sequence_description": "Випадковий буквено-цифровий рядок. Ви можете вказати довжину в заданому параметрі.", + "random_sequence_param_label": "Довжина послідовності", "invoices": { - "title": "Invoices", - "invoice_number_format": "Invoice Number Format", - "invoice_number_format_description": "Customize how your invoice number gets generated automatically when you create a new invoice.", - "preview_invoice_number": "Preview Invoice Number", - "due_date": "Due Date", - "due_date_description": "Specify how due date is automatically set when you create an invoice.", - "due_date_days": "Invoice Due after days", - "set_due_date_automatically": "Set Due Date Automatically", - "set_due_date_automatically_description": "Enable this if you wish to set due date automatically when you create a new invoice.", - "default_formats": "Default Formats", - "default_formats_description": "Below given formats are used to fill up the fields automatically on invoice creation.", - "default_invoice_email_body": "Default Invoice Email Body", - "company_address_format": "Company Address Format", - "shipping_address_format": "Shipping Address Format", - "billing_address_format": "Billing Address Format", - "invoice_email_attachment": "Send invoices as attachments", - "invoice_email_attachment_setting_description": "Enable this if you want to send invoices as email attachment. Please note that 'View Invoice' button in emails will not be displayed anymore when enabled.", - "invoice_settings_updated": "Invoice Settings updated successfully", - "retrospective_edits": "Retrospective Edits", - "allow": "Allow", - "disable_on_invoice_partial_paid": "Disable after partial payment is recorded", - "disable_on_invoice_paid": "Disable after full payment is recorded", - "disable_on_invoice_sent": "Disable after invoice is sent", - "retrospective_edits_description": " Based on your country's laws or your preference, you can restrict users from editing finalised invoices." + "title": "Рахунки", + "invoice_number_format": "Формат номера рахунку", + "invoice_number_format_description": "Налаштуйте автоматичне створення номера рахунку під час створення нового рахунку.", + "preview_invoice_number": "Попередній перегляд номера рахунку", + "due_date": "Дата оплати", + "due_date_description": "Вкажіть, як автоматично встановлюється дата оплати під час створення рахунку.", + "due_date_days": "Рахунок до оплати через дні", + "set_due_date_automatically": "Автоматично встановлювати дату оплати", + "set_due_date_automatically_description": "Увімкніть це, якщо хочете автоматично встановлювати дату оплати під час створення нового рахунку.", + "default_formats": "Формати за замовчуванням", + "default_formats_description": "Нижче наведені формати використовуються для автоматичного заповнення полів під час створення рахунку.", + "default_invoice_email_body": "Тіло електронного листа для рахунку за замовчуванням", + "company_address_format": "Формат адреси компанії", + "shipping_address_format": "Формат адреси доставки", + "billing_address_format": "Формат адреси виставлення рахунків", + "invoice_email_attachment": "\"Надсилати рахунки як вкладення", + "invoice_email_attachment_setting_description": "Увімкніть це, якщо хочете надсилати рахунки як вкладення електронного листа. Зверніть увагу, що кнопка 'Переглянути рахунок' у листах більше не показуватися, якщо це увімкнено.", + "invoice_settings_updated": "Налаштування рахунків успішно оновлено", + "retrospective_edits": "Ретроспективні зміни", + "allow": "Дозволити", + "disable_on_invoice_partial_paid": "Вимкнути після часткової оплати", + "disable_on_invoice_paid": "Вимкнути після повної оплати", + "disable_on_invoice_sent": "Вимкнути після надсилання рахунку", + "retrospective_edits_description": "Залежно від законів вашої країни або ваших уподобань, ви можете обмежити редагування завершених рахунків." }, "estimates": { - "title": "Estimates", - "estimate_number_format": "Estimate Number Format", - "estimate_number_format_description": "Customize how your estimate number gets generated automatically when you create a new estimate.", - "preview_estimate_number": "Preview Estimate Number", - "expiry_date": "Expiry Date", - "expiry_date_description": "Specify how expiry date is automatically set when you create an estimate.", - "expiry_date_days": "Estimate Expires after days", - "set_expiry_date_automatically": "Set Expiry Date Automatically", - "set_expiry_date_automatically_description": "Enable this if you wish to set expiry date automatically when you create a new estimate.", - "default_formats": "Default Formats", - "default_formats_description": "Below given formats are used to fill up the fields automatically on estimate creation.", - "default_estimate_email_body": "Default Estimate Email Body", - "company_address_format": "Company Address Format", - "shipping_address_format": "Shipping Address Format", - "billing_address_format": "Billing Address Format", - "estimate_email_attachment": "Send estimates as attachments", - "estimate_email_attachment_setting_description": "Enable this if you want to send the estimates as an email attachment. Please note that 'View Estimate' button in emails will not be displayed anymore when enabled.", - "estimate_settings_updated": "Estimate Settings updated successfully", - "convert_estimate_options": "Estimate Convert Action", - "convert_estimate_description": "Specify what happens to the estimate after it gets converted to an invoice.", - "no_action": "No action", - "delete_estimate": "Delete estimate", - "mark_estimate_as_accepted": "Mark estimate as accepted" + "title": "Кошториси", + "estimate_number_format": "Формат номера кошторису", + "estimate_number_format_description": "Налаштуйте автоматичне створення номера кошторису під час створення нового кошторису.", + "preview_estimate_number": "Попередній перегляд номера кошторису", + "expiry_date": "Дата закінчення", + "expiry_date_description": "Вкажіть, як автоматично встановлюється дата закінчення під час створення кошторису.", + "expiry_date_days": "Кошторис закінчується через днів", + "set_expiry_date_automatically": "Автоматично встановлювати дату закінчення", + "set_expiry_date_automatically_description": "Увімкніть це, якщо хочете автоматично встановлювати дату закінчення під час створення нового кошторису.", + "default_formats": "Формати за замовчуванням", + "default_formats_description": "Нижче наведені формати використовуються для автоматичного заповнення полів під час створення кошторису.", + "default_estimate_email_body": "Тіло електронного листа для кошторису за замовчуванням", + "company_address_format": "Формат адреси компанії", + "shipping_address_format": "Формат адреси доставки", + "billing_address_format": "Формат адреси виставлення рахунків", + "estimate_email_attachment": "Надсилати кошториси як вкладення", + "estimate_email_attachment_setting_description": "Увімкніть це, якщо хочете надсилати кошториси як вкладення електронного листа. Зверніть увагу, що кнопка 'Переглянути кошторис' у листах більше не показуватиметься, якщо це увімкнено.", + "estimate_settings_updated": "Налаштування кошторисів успішно оновлено", + "convert_estimate_options": "Дія конвертації кошторису", + "convert_estimate_description": "Вкажіть, що відбувається з кошторисом після його конвертації в рахунок.", + "no_action": "Без дій", + "delete_estimate": "Видалити кошторис", + "mark_estimate_as_accepted": "Позначити кошторис як прийнятий" }, "payments": { - "title": "Payments", - "payment_number_format": "Payment Number Format", - "payment_number_format_description": "Customize how your payment number gets generated automatically when you create a new payment.", - "preview_payment_number": "Preview Payment Number", - "default_formats": "Default Formats", - "default_formats_description": "Below given formats are used to fill up the fields automatically on payment creation.", - "default_payment_email_body": "Default Payment Email Body", - "company_address_format": "Company Address Format", - "from_customer_address_format": "From Customer Address Format", - "payment_email_attachment": "Send payments as attachments", - "payment_email_attachment_setting_description": "Enable this if you want to send the payment receipts as an email attachment. Please note that 'View Payment' button in emails will not be displayed anymore when enabled.", - "payment_settings_updated": "Payment Settings updated successfully" + "title": "Платежі", + "payment_number_format": "Формат номера платежу", + "payment_number_format_description": "Налаштуйте автоматичне створення номера платежу під час створення нового платежу.", + "preview_payment_number": "Попередній перегляд номера платежу", + "default_formats": "Формати за замовчуванням", + "default_formats_description": "Нижче наведені формати використовуються для автоматичного заповнення полів під час створення платежу.", + "default_payment_email_body": "Тіло електронного листа для платежу за замовчуванням", + "company_address_format": "Формат адреси компанії", + "from_customer_address_format": "Формат адреси клієнта", + "payment_email_attachment": "Надсилати платежі як вкладення", + "payment_email_attachment_setting_description": "Увімкніть це, якщо хочете надсилати квитанції про оплату як вкладення електронного листа. Зверніть увагу, що кнопка 'Переглянути платіж' у листах більше не показуватиметься, якщо це увімкнено.", + "payment_settings_updated": "Налаштування платежів успішно оновлено" }, "items": { - "title": "Items", - "units": "Units", - "add_item_unit": "Add Item Unit", - "edit_item_unit": "Edit Item Unit", - "unit_name": "Unit Name", - "item_unit_added": "Item Unit Added", - "item_unit_updated": "Item Unit Updated", - "item_unit_confirm_delete": "You will not be able to recover this Item unit", - "already_in_use": "Item Unit is already in use", - "deleted_message": "Item Unit deleted successfully" + "title": "Товари", + "units": "Одиниці", + "add_item_unit": "Додати одиницю товару", + "edit_item_unit": "Редагувати одиницю товару", + "unit_name": "Назва одиниці", + "item_unit_added": "Одиницю товару додано", + "item_unit_updated": "Одиницю товару оновлено", + "item_unit_confirm_delete": "Ви не зможете відновити цю одиницю товару", + "already_in_use": "Одиниця товару вже використовується", + "deleted_message": "Одиницю товару успішно видалено" }, "notes": { - "title": "Notes", - "description": "Save time by creating notes and reusing them on your invoices, estimates & payments.", - "notes": "Notes", - "type": "Type", - "add_note": "Add Note", - "add_new_note": "Add New Note", - "name": "Name", - "edit_note": "Edit Note", - "note_added": "Note added successfully", - "note_updated": "Note Updated successfully", - "note_confirm_delete": "You will not be able to recover this Note", - "already_in_use": "Note is already in use", - "deleted_message": "Note deleted successfully", + "title": "Примітки", + "description": "Заощаджуйте час, створюючи примітки та повторно використовуючи їх у своїх рахунках, кошторисах і платежах.", + "notes": "Примітки", + "type": "Тип", + "is_default": "Вибирати за замовчуванням", + "is_default_description": "Ця примітка буде вибрана за замовчуванням у нових рахунках.", + "add_note": "Додати примітку", + "add_new_note": "Додати нову примітку", + "name": "Назва", + "edit_note": "Змінити примітку", + "note_added": "Примітку успішно додано", + "note_updated": "Примітку успішно оновлено", + "note_confirm_delete": "Ви не зможете відновити цю Примітку", + "already_in_use": "Примітка вже використовується", + "deleted_message": "Примітку успішно видалено", "types": { - "estimate": "Estimate", - "invoice": "Invoice", - "payment": "Payment" + "estimate": "Приблизний кошторис", + "invoice": "Рахунок", + "payment": "Оплата" } } }, "account_settings": { - "profile_picture": "Profile Picture", - "name": "Name", - "email": "Email", - "password": "Password", - "confirm_password": "Confirm Password", - "account_settings": "Account Settings", - "save": "Save", - "section_description": "You can update your name, email & password using the form below.", - "updated_message": "Account Settings updated successfully" + "profile_picture": "Зображення профілю", + "name": "Ім’я", + "email": "Ел. пошта", + "password": "Пароль", + "confirm_password": "Підтвердьте пароль", + "account_settings": "Параметри облікового запису", + "save": "Зберегти", + "section_description": "Ви можете оновити своє ім'я, електронну адресу та пароль за допомогою форми нижче.", + "updated_message": "Параметри облікового запису успішно оновлені" }, "user_profile": { - "name": "Name", - "email": "Email", - "password": "Password", - "confirm_password": "Confirm Password" + "name": "Ім’я", + "email": "Ел. пошта", + "password": "Пароль", + "confirm_password": "Підтвердьте пароль" }, "notification": { - "title": "Notifications", - "email": "Send Notifications to", - "description": "Which email notifications would you like to receive when something changes?", - "invoice_viewed": "Invoice viewed", - "invoice_viewed_desc": "When your customer views the invoice sent via invoiceshelf dashboard.", - "estimate_viewed": "Estimate viewed", - "estimate_viewed_desc": "When your customer views the estimate sent via invoiceshelf dashboard.", - "save": "Save", - "email_save_message": "Email saved successfully", - "please_enter_email": "Please Enter Email" + "title": "Сповіщення", + "email": "Надіслати сповіщення до", + "description": "Які сповіщення електронною поштою ви хотіли б отримати, коли щось змінюється?", + "invoice_viewed": "Рахунок переглянуто", + "invoice_viewed_desc": "Коли ваш клієнт переглядає інвойс, надісланий через інформаційну панель полиці інвойсів.", + "estimate_viewed": "Кошторис переглянуто", + "estimate_viewed_desc": "Коли ваш клієнт переглядає кошторис, надісланий через інформаційну панель InvoiceShelf.", + "save": "Зберегти", + "email_save_message": "Email успішно збережено", + "please_enter_email": "Будь ласка, уведіть адресу ел. пошти" }, "roles": { - "title": "Roles", - "description": "Manage the roles & permissions of this company", - "save": "Save", - "add_new_role": "Add New Role", - "role_name": "Role Name", - "added_on": "Added on", - "add_role": "Add Role", - "edit_role": "Edit Role", - "name": "Name", - "permission": "Permission | Permissions", - "select_all": "Select All", - "none": "None", - "confirm_delete": "You will not be able to recover this Role", - "created_message": "Role created successfully", - "updated_message": "Role updated successfully", - "deleted_message": "Role deleted successfully", - "already_in_use": "Role is already in use" + "title": "Ролі", + "description": "Управління ролями та дозволами цієї компанії", + "save": "Зберегти", + "add_new_role": "Додати нову роль", + "role_name": "Назва Ролі", + "added_on": "Додано до", + "add_role": "Додати роль", + "edit_role": "Змінити Роль", + "name": "Назва", + "permission": "Дозвіл | Дозволи", + "select_all": "Виділити все", + "none": "Нічого", + "confirm_delete": "Ви не зможете відновити цю роль", + "created_message": "Роль успішно створено", + "updated_message": "Роль успішно оновлено", + "deleted_message": "Роль успішно видалено", + "already_in_use": "Роль вже використовується" }, "exchange_rate": { - "exchange_rate": "Exchange Rate", - "title": "Fix Currency Exchange issues", - "description": "Please enter exchange rate of all the currencies mentioned below to help InvoiceShelf properly calculate the amounts in {currency}.", - "drivers": "Drivers", - "new_driver": "Add New Provider", - "edit_driver": "Edit Provider", - "select_driver": "Select Driver", - "update": "select exchange rate ", - "providers_description": "Configure your exchange rate providers here to automatically fetch the latest exchange rate on transactions.", - "key": "API Key", - "name": "Name", - "driver": "Driver", - "is_default": "IS DEFAULT", - "currency": "Currencies", - "exchange_rate_confirm_delete": "You will not be able to recover this driver", - "created_message": "Provider Created successfully", - "updated_message": "Provider Updated Successfully", - "deleted_message": "Provider Deleted Successfully", - "error": " You cannot Delete Active Driver", - "default_currency_error": "This currency is already used in one of the Active Provider", - "exchange_help_text": "Enter exchange rate to convert from {currency} to {baseCurrency}", - "currency_freak": "Currency Freak", - "currency_layer": "Currency Layer", - "open_exchange_rate": "Open Exchange Rate", - "currency_converter": "Currency Converter", - "server": "Server", + "exchange_rate": "Обмінний курс", + "title": "Розв'язання проблем з обміном валюти", + "description": "Будь ласка, введіть обмінний курс усіх нижченаведених валют, щоб допомогти InvoiceShelf правильно обчислити суми в {currency}.", + "drivers": "Джерело", + "new_driver": "Додати нового постачальника", + "edit_driver": "Редагувати постачальника", + "select_driver": "Обрати джерело", + "update": "виберіть курс обміну ", + "providers_description": "Тут ви можете налаштувати обмінні пункти, щоб автоматично отримувати найновіший курс обміну валют для транзакцій.", + "key": "Ключ API", + "name": "Назва", + "driver": "Джерело", + "is_default": "ЗА ЗАМОВЧУВАННЯМ", + "currency": "Валюти", + "exchange_rate_confirm_delete": "Ви не зможете відновити це джерело", + "created_message": "Постачальника успішно створено", + "updated_message": "Постачальника успішно оновлено", + "deleted_message": "Постачальника успішно видалено", + "error": " Ви не можете видалити поточне джерело", + "default_currency_error": "Ця валюта вже використовується в одному з активних провайдерів", + "exchange_help_text": "Ця валюта вже використовується в одному з активних провайдерів {currency} в {baseCurrency}", + "currency_freak": "Провайдер Currency Freak", + "currency_layer": "Провайдер Currency Layer", + "open_exchange_rate": "Провайдер Open Exchange Rate", + "currency_converter": "Провайдер Currency Converter", + "server": "Сервер", "url": "URL", - "active": "Active", - "currency_help_text": "This provider will only be used on above selected currencies", - "currency_in_used": "The following currencies are already active on another provider. Please remove these currencies from selection to activate this provider again." + "active": "Активний", + "currency_help_text": "Цей провайдер буде використовуватися лише для вищевказаних валют", + "currency_in_used": "Наступні валюти вже активовані в іншого провайдера. Будь ласка, видаліть ці валюти з вибору, щоб знову активувати цього провайдера." }, "tax_types": { - "title": "Tax Types", - "add_tax": "Add Tax", - "edit_tax": "Edit Tax", - "description": "You can add or Remove Taxes as you please. InvoiceShelf supports Taxes on Individual Items as well as on the invoice.", - "add_new_tax": "Add New Tax", - "tax_settings": "Tax Settings", - "tax_per_item": "Tax Per Item", - "tax_name": "Tax Name", - "compound_tax": "Compound Tax", - "percent": "Percent", - "action": "Action", - "tax_setting_description": "Enable this if you want to add taxes to individual invoice items. By default, taxes are added directly to the invoice.", - "created_message": "Tax type created successfully", - "updated_message": "Tax type updated successfully", - "deleted_message": "Tax type deleted successfully", - "confirm_delete": "You will not be able to recover this Tax Type", - "already_in_use": "Tax is already in use" + "title": "Типи податків", + "add_tax": "Додати податок", + "edit_tax": "Редагувати податки", + "description": "Ви можете додавати або видаляти податки за власним бажанням. InvoiceShelf підтримує податки як на окремі товари, так і на інвойс.", + "add_new_tax": "Додати новий податок", + "tax_settings": "Налаштування податку", + "tax_per_item": "Податок на одиницю", + "tax_name": "Назва податку", + "compound_tax": "Складний податок", + "percent": "Відсоток", + "action": "Дія", + "tax_setting_description": "Увімкніть цю опцію, якщо ви хочете додати податки до окремих позицій інвойсу. За замовчуванням податки додаються безпосередньо до інвойсу.", + "created_message": "Тип податку створено успішно", + "updated_message": "Тип податку успішно оновлено", + "deleted_message": "Тип податку успішно видалено", + "confirm_delete": "Ви не зможете відновити цей тип податків", + "already_in_use": "Податок вже використовується" }, "payment_modes": { - "title": "Payment Modes", - "description": "Modes of transaction for payments", - "add_payment_mode": "Add Payment Mode", - "edit_payment_mode": "Edit Payment Mode", - "mode_name": "Mode Name", - "payment_mode_added": "Payment Mode Added", - "payment_mode_updated": "Payment Mode Updated", - "payment_mode_confirm_delete": "You will not be able to recover this Payment Mode", - "payments_attached": "This payment method is already attached to payments. Please delete the attached payments to proceed with deletion.", - "expenses_attached": "This payment method is already attached to expenses. Please delete the attached expenses to proceed with deletion.", - "deleted_message": "Payment Mode deleted successfully" + "title": "Способи оплати", + "description": "Режими транзакції для платежів", + "add_payment_mode": "Додати спосіб оплати", + "edit_payment_mode": "Редагувати спосіб оплати", + "mode_name": "Назва способу", + "payment_mode_added": "Спосіб оплати додано", + "payment_mode_updated": "Спосіб оплати оновлено", + "payment_mode_confirm_delete": "Ви не зможете відновити цей спосіб оплати", + "payments_attached": "Цей спосіб оплати вже прикріплений до платежів. Будь ласка, видаліть прикріплені платежі, щоб продовжити видалення.", + "expenses_attached": "Цей спосіб оплати вже прикріплений до витрат. Будь ласка, видаліть прикріплені витрати, щоб продовжити видалення.", + "deleted_message": "Спосіб оплати успішно видалено" }, "expense_category": { - "title": "Expense Categories", - "action": "Action", - "description": "Categories are required for adding expense entries. You can Add or Remove these categories according to your preference.", - "add_new_category": "Add New Category", - "add_category": "Add Category", - "edit_category": "Edit Category", - "category_name": "Category Name", - "category_description": "Description", - "created_message": "Expense Category created successfully", - "deleted_message": "Expense category deleted successfully", - "updated_message": "Expense category updated successfully", - "confirm_delete": "You will not be able to recover this Expense Category", - "already_in_use": "Category is already in use" + "title": "Категорії витрат", + "action": "Дія", + "description": "Категорії необхідні для додавання записів про витрати. Ви можете додати або видалити ці категорії відповідно до ваших уподобань.", + "add_new_category": "Додати нову категорію", + "add_category": "Додати категорію", + "edit_category": "Редагувати категорію", + "category_name": "Назва категорії", + "category_description": "Опис", + "created_message": "Категорію витрат успішно створено", + "deleted_message": "Категорії витрат успішно видалено", + "updated_message": "Категорії витрат успішно оновлено", + "confirm_delete": "Ви не зможете відновити цю категорію витрат", + "already_in_use": "Ця категорія вже використовується" }, "preferences": { - "currency": "Currency", - "default_language": "Default Language", - "time_zone": "Time Zone", - "fiscal_year": "Financial Year", - "date_format": "Date Format", - "time_format": "Time Fromat", - "discount_setting": "Discount Setting", - "discount_per_item": "Discount Per Item ", - "discount_setting_description": "Enable this if you want to add Discount to individual invoice items. By default, Discount is added directly to the invoice.", - "expire_public_links": "Automatically Expire Public Links", - "expire_setting_description": "Specify whether you would like to expire all the links sent by application to view invoices, estimates & payments, etc after a specified duration.", - "save": "Save", - "preference": "Preference | Preferences", - "general_settings": "Default preferences for the system.", - "updated_message": "Preferences updated successfully", - "select_language": "Select Language", - "select_time_zone": "Select Time Zone", - "select_date_format": "Select Date Format", - "select_time_format": "Select Time Format", - "select_financial_year": "Select Financial Year", - "recurring_invoice_status": "Recurring Invoice Status", - "create_status": "Create Status", - "active": "Active", - "on_hold": "On Hold", - "update_status": "Update Status", - "completed": "Completed", - "company_currency_unchangeable": "Company currency cannot be changed", - "invoice_use_time": "Use time in invoices", - "invoice_use_time_description": "Enable this if you want to select exact invoice time.", + "currency": "Валюта", + "default_language": "Мова за замовчуванням", + "time_zone": "Часовий пояс", + "fiscal_year": "Фінансовий рік", + "date_format": "Формат дати", + "time_format": "Формат часу", + "discount_setting": "Налаштування знижки", + "discount_per_item": "Знижка за одиницю ", + "discount_setting_description": "Увімкніть цю опцію, якщо ви хочете додати знижку до окремих позицій інвойсу. За замовчуванням знижка додається безпосередньо до інвойсу.", + "expire_public_links": "Автоматично закінчується термін дії публічних посилань", + "expire_setting_description": "Вкажіть, чи хочете ви, щоб усі посилання, надіслані додатком для перегляду рахунків-фактур, кошторисів, платежів тощо, втрачали чинність через певний проміжок часу.", + "save": "Зберегти", + "preference": "Налаштування | Налаштування", + "general_settings": "Типові параметри для системи.", + "updated_message": "Налаштування успішно оновлено", + "select_language": "Вибір мови", + "select_time_zone": "Вибрати часовий пояс", + "select_date_format": "Вибрати формат дати", + "select_time_format": "Оберіть формат часу", + "select_financial_year": "Виберіть фінансовий рік", + "recurring_invoice_status": "Статус рахунку", + "create_status": "Створити статус", + "active": "Активний", + "on_hold": "Затримано", + "update_status": "Оновити статус", + "completed": "Виконано", + "company_currency_unchangeable": "Неможливо змінити валюту компанії", + "invoice_use_time": "Використовувати час в рахунках", + "invoice_use_time_description": "Увімкніть цю опцію, якщо ви хочете вибрати точний час виставлення рахунку.", "fiscal_years": { - "january_december": "January - December", - "february_january": "February - January", - "march_february": "March - February", - "april_march": "April - March", - "may_april": "May - April", - "june_may": "June - May", - "july_june": "July - June", - "august_july": "August - July", - "september_august": "September - August", - "october_september": "October - September", - "november_october": "November - October", - "december_november": "December - November" + "january_december": "Січень - грудень", + "february_january": "Лютий - Січень", + "march_february": "Березень - Лютий", + "april_march": "Квітень - Березень", + "may_april": "Травень - Квітень", + "june_may": "Червень - Травень", + "july_june": "Липень - Червень", + "august_july": "Серпень - Липень", + "september_august": "Вересень - Серпень", + "october_september": "Жовтень - Вересень", + "november_october": "Листопад - Жовтень", + "december_november": "Грудень - Листопад" } }, "update_app": { - "title": "Update App", - "description": "You can easily update InvoiceShelf by checking for a new update by clicking the button below", - "check_update": "Check for updates", - "insider_consent": "Opt-in for Insider releases. Recommended for testing purposes only.", - "avail_update": "New Update available", - "next_version": "Next version", - "requirements": "Requirements", - "update": "Update Now", - "update_progress": "Update in progress...", - "progress_text": "It will just take a few minutes. Please do not refresh the screen or close the window before the update finishes", - "update_success": "App has been updated! Please wait while your browser window gets reloaded automatically.", - "latest_message": "No update available! You are on the latest version.", - "current_version": "Current Version", - "download_zip_file": "Download ZIP file", - "unzipping_package": "Unzipping Package", - "copying_files": "Copying Files", - "deleting_files": "Deleting Unused files", - "running_migrations": "Running Migrations", - "finishing_update": "Finishing Update", - "update_failed": "Update Failed", - "update_failed_text": "Sorry! Your update failed on : {step} step", - "update_warning": "All of the application files and default template files will be overwritten when you update the application using this utility. Please take a backup of your templates & database before updating." + "title": "Оновити застосунок", + "description": "Ви можете легко оновити InvoiceShelf, перевіривши наявність нового оновлення, натиснувши кнопку нижче", + "check_update": "Перевірити оновлення", + "insider_consent": "Підпишіться на інсайдерські випуски. Рекомендовано лише для тестування.", + "avail_update": "Доступне нове оновлення", + "next_version": "Наступна версія", + "requirements": "Вимоги", + "update": "Оновити зараз", + "update_progress": "Триває оновлення...", + "progress_text": "Це займе лише кілька хвилин. Будь ласка, не оновлюйте екран або не закривайте вікно перед закінченням оновлення", + "update_success": "Додаток було оновлено! Будь ласка, зачекайте, поки вікно браузера перезавантажується автоматично.", + "latest_message": "Оновлення відсутні! Ви перебуваєте в останній версії.", + "current_version": "Поточна версія", + "download_zip_file": "Завантажити ZIP-файл", + "unzipping_package": "Розархівування пакунку", + "copying_files": "Копіювання файлів", + "deleting_files": "Видалення невикористовуваних файлів", + "running_migrations": "Запущені міграції", + "finishing_update": "Оновлення завершення", + "update_failed": "Спроба оновлення зазнала невдачі", + "update_failed_text": "Вибачте! Оновлення не вдалось на кроці: {step} ", + "update_warning": "Всі файли програми та файли шаблонів за замовчуванням будуть перезаписані, коли ви оновите програму за допомогою цієї утиліти. Будь ласка, зробіть резервну копію ваших шаблонів і бази даних перед оновленням." }, "backup": { - "title": "Backup | Backups", - "description": "The backup is a zipfile that contains all files in the directories you specify along with a dump of your database", - "new_backup": "Add New Backup", - "create_backup": "Create Backup", - "select_backup_type": "Select Backup Type", - "backup_confirm_delete": "You will not be able to recover this Backup", - "path": "path", - "new_disk": "New Disk", - "created_at": "created at", - "size": "size", + "title": "Резервне копіювання | Резервні копії", + "description": "Резервна копія є zip-файлом, що містить всі файли в каталогах, які ви вказали разом з вивченням бази даних", + "new_backup": "Додати нову резервну копію", + "create_backup": "Створити резервну копію", + "select_backup_type": "Виберіть тип резервної копії", + "backup_confirm_delete": "Ви не зможете відновити цю резервну копію", + "path": "шлях", + "new_disk": "Новий диск", + "created_at": "Створено в ", + "size": "розмір", "dropbox": "dropbox", - "local": "local", - "healthy": "healthy", - "amount_of_backups": "amount of backups", - "newest_backups": "newest backups", - "used_storage": "used storage", - "select_disk": "Select Disk", - "action": "Action", - "deleted_message": "Backup deleted successfully", - "created_message": "Backup created successfully", - "invalid_disk_credentials": "Invalid credential of selected disk" + "local": "локальний", + "healthy": "здоров'я", + "amount_of_backups": "кількість резервних копій", + "newest_backups": "нові резервні копії", + "used_storage": "використане сховище", + "select_disk": "Виберіть диск", + "action": "Дія", + "deleted_message": "Резервну копію видалено", + "created_message": "Резервну копію створено успішно", + "invalid_disk_credentials": "Неправильні облікові дані вибраного диска" }, "disk": { - "title": "File Disk | File Disks", - "description": "By default, InvoiceShelf will use your local disk for saving backups, avatar and other image files. You can configure more than one disk drivers like DigitalOcean, S3 and Dropbox according to your preference.", - "created_at": "created at", + "title": "Файл диска | Файлові Диски", + "description": "За замовчуванням InvoiceShelf використовує ваш локальний диск для збереження резервних копій, аватарів та інших файлів зображень. Ви можете налаштувати декілька драйверів дисків, таких як DigitalOcean, S3 та Dropbox, відповідно до ваших уподобань.", + "created_at": "Створено в", "dropbox": "dropbox", - "name": "Name", - "driver": "Driver", - "disk_type": "Type", - "disk_name": "Disk Name", - "new_disk": "Add New Disk", - "filesystem_driver": "Filesystem Driver", - "local_driver": "local Driver", - "local_root": "local Root", - "public_driver": "Public Driver", - "public_root": "Public Root", - "public_url": "Public URL", - "public_visibility": "Public Visibility", - "media_driver": "Media Driver", - "media_root": "Media Root", - "aws_driver": "AWS Driver", - "aws_key": "AWS Key", - "aws_secret": "AWS Secret", - "aws_region": "AWS Region", - "aws_bucket": "AWS Bucket", - "aws_root": "AWS Root", - "s3_endpoint": "S3 Endpoint", - "s3_key": "S3 Key", - "s3_secret": "S3 Secret", - "s3_region": "S3 Region", - "s3_bucket": "S3 Bucket", - "s3_root": "S3 Root", - "do_spaces_type": "Do Spaces type", - "do_spaces_key": "Do Spaces key", - "do_spaces_secret": "Do Spaces Secret", - "do_spaces_region": "Do Spaces Region", - "do_spaces_bucket": "Do Spaces Bucket", - "do_spaces_endpoint": "Do Spaces Endpoint", - "do_spaces_root": "Do Spaces Root", - "dropbox_type": "Dropbox Type", - "dropbox_token": "Dropbox Token", - "dropbox_key": "Dropbox Key", - "dropbox_secret": "Dropbox Secret", - "dropbox_app": "Dropbox App", - "dropbox_root": "Dropbox Root", - "default_driver": "Default Driver", - "is_default": "IS DEFAULT", - "set_default_disk": "Set Default Disk", - "set_default_disk_confirm": "This disk will be set as default and all the new PDFs will be saved on this disk", - "success_set_default_disk": "Disk set as default successfully", - "save_pdf_to_disk": "Save PDFs to Disk", - "disk_setting_description": " Enable this, if you wish to save a copy of each Invoice, Estimate & Payment Receipt PDF on your default disk automatically. Turning this option will decrease the load-time when viewing the PDFs.", - "select_disk": "Select Disk", - "disk_settings": "Disk Settings", - "confirm_delete": "Your existing files & folders in the specified disk will not be affected but your disk configuration will be deleted from InvoiceShelf", - "action": "Action", - "edit_file_disk": "Edit File Disk", - "success_create": "Disk added successfully", - "success_update": "Disk updated successfully", - "error": "Disk addition failed", - "deleted_message": "File Disk deleted successfully", - "disk_variables_save_successfully": "Disk Configured Successfully", - "disk_variables_save_error": "Disk configuration failed.", - "invalid_disk_credentials": "Invalid credential of selected disk" + "name": "Назва", + "driver": "Джерело", + "disk_type": "Тип", + "disk_name": "Назва диску", + "new_disk": "Додати новий диск", + "filesystem_driver": "Файлова система диску", + "local_driver": "Локальне сховище", + "local_root": "Адреса локальна", + "public_driver": "Адреса локальна", + "public_root": "Зовнішнє розташування", + "public_url": "Зовнішній URL", + "public_visibility": "Публічна видимість", + "media_driver": "Драйвер медіафайл", + "media_root": "Розташування медіа", + "aws_driver": "AWS сховище", + "aws_key": "Ключ AWS", + "aws_secret": "Секретний ключ AWS", + "aws_region": "Регіон AWS", + "aws_bucket": "ASW назва", + "aws_root": "AWS шлях", + "s3_endpoint": "S3 адреса", + "s3_key": "S3 ключ", + "s3_secret": "S3 Секретний ключ", + "s3_region": "S3 регіону", + "s3_bucket": "S3 назва", + "s3_root": "S3 шлях", + "do_spaces_type": "Do Spaces тип", + "do_spaces_key": "Do Spaces ключ ", + "do_spaces_secret": "Do Spaces секретний ключ", + "do_spaces_region": "Do Spaces регіон", + "do_spaces_bucket": "Do Spaces назва", + "do_spaces_endpoint": "Do Spaces адреса", + "do_spaces_root": "Do Spaces шлях", + "dropbox_type": "Тип Dropbox", + "dropbox_token": "Токен Dropbox", + "dropbox_key": "Dropbox ключ", + "dropbox_secret": "Dropbox секретний ключ", + "dropbox_app": "Dropbox назва", + "dropbox_root": "Dropbox шлях", + "default_driver": "Використовувати за замовчуванням", + "is_default": "ЗА ЗАМОВЧУВАННЯМ", + "set_default_disk": "Встановити диск за замовчуванням", + "set_default_disk_confirm": "Цей диск буде встановлено за замовчуванням, і всі нові PDF-файли будуть зберігатися на ньому", + "success_set_default_disk": "Диск встановлено за замовчуванням", + "save_pdf_to_disk": "Зберегти PDF до диска", + "disk_setting_description": " Увімкніть цю опцію, якщо ви бажаєте автоматично зберігати копію кожного інвойсу, кошторису та квитанції про оплату на вашому диску за замовчуванням. Увімкнення цієї опції зменшить час завантаження при перегляді PDF-файлів.", + "select_disk": "Виберіть диск", + "disk_settings": "Налаштування диска", + "confirm_delete": "Ваші наявні файли та теки на вказаному диску не будуть зачеплені, але конфігурація диска буде видалена з InvoiceShelf", + "action": "Дія", + "edit_file_disk": "Змінити диск файлу", + "success_create": "Диск успішно додано", + "success_update": "Диск успішно оновлено", + "error": "Помилка додавання диску", + "deleted_message": "Файловий диск успішно видалено", + "disk_variables_save_successfully": "Диск налаштовано успішно", + "disk_variables_save_error": "Помилка налаштування диску.", + "invalid_disk_credentials": "Неправильні облікові дані вибраного диска" }, "taxations": { - "add_billing_address": "Enter Billing Address", - "add_shipping_address": "Enter Shipping Address", - "add_company_address": "Enter Company Address", - "modal_description": "The information below is required in order to fetch sales tax.", - "add_address": "Add Address for fetching sales tax.", - "address_placeholder": "Example: 123, My Street", - "city_placeholder": "Example: Los Angeles", - "state_placeholder": "Example: CA", - "zip_placeholder": "Example: 90024", - "invalid_address": "Please provide valid address details." + "add_billing_address": "Введіть адресу для виставлення рахунку", + "add_shipping_address": "Введіть адресу доставлення", + "add_company_address": "Введіть адресу компанії", + "modal_description": "Наведена нижче інформація необхідна для отримання податку з продажу.", + "add_address": "Додати адресу для отримання податку з продажу.", + "address_placeholder": "Приклад: 123, Моя вулиця", + "city_placeholder": "Приклад: Чернівці", + "state_placeholder": "Приклад: Київська", + "zip_placeholder": "Приклад: 90024", + "invalid_address": "Будь ласка, надайте дійсні адресні дані." } }, "wizard": { - "account_info": "Account Information", - "account_info_desc": "Below details will be used to create the main Administrator account. Also you can change the details anytime after logging in.", - "name": "Name", - "email": "Email", - "password": "Password", - "confirm_password": "Confirm Password", - "save_cont": "Save & Continue", - "company_info": "Company Information", - "company_info_desc": "This information will be displayed on invoices. Note that you can edit this later on settings page.", - "company_name": "Company Name", - "company_logo": "Company Logo", - "logo_preview": "Logo Preview", - "preferences": "Company Preferences", - "preferences_desc": "Specify the default preferences for this company.", - "currency_set_alert": "The company's currency cannot be changed later.", - "country": "Country", - "state": "State", - "city": "City", - "address": "Address", - "street": "Street1 | Street2", - "phone": "Phone", - "zip_code": "Zip Code", - "go_back": "Go Back", - "currency": "Currency", - "language": "Language", - "time_zone": "Time Zone", - "fiscal_year": "Financial Year", - "date_format": "Date Format", - "time_format": "Time Format", - "from_address": "From Address", - "username": "Username", - "next": "Next", - "continue": "Continue", - "skip": "Skip", + "account_info": "Відомості облікового запису", + "account_info_desc": "Наведені нижче дані будуть використані для створення основного облікового запису Адміністратора. Також ви можете змінити дані в будь-який час після входу в систему.", + "name": "Назва", + "email": "Ел. пошта", + "password": "Пароль", + "confirm_password": "Підтвердьте пароль", + "save_cont": "Зберегти та продовжити", + "company_info": "Інформація про компанію", + "company_info_desc": "Ця інформація буде показуватися на рахунках. Зверніть увагу, що можна редагувати пізніше на сторінці налаштувань.", + "company_name": "Назва компанії", + "company_logo": "Логотип компанії", + "logo_preview": "Попередній перегляд лого", + "preferences": "Налаштування компанії", + "preferences_desc": "Вкажіть налаштування за замовчуванням для цієї компанії.", + "currency_set_alert": "Валюта компанії не може бути змінена пізніше.", + "country": "Країна", + "state": "Область", + "city": "Місто", + "address": "Адреса", + "street": "Вулиця | Вулиця", + "phone": "Номер телефону", + "zip_code": "Поштовий Індекс", + "go_back": "Повернутися", + "currency": "Валюта", + "language": "Мова", + "time_zone": "Часовий пояс", + "fiscal_year": "Фінансовий рік", + "date_format": "Формат дати", + "time_format": "Формат часу", + "from_address": "З Адреси", + "username": "Ім'я користувача", + "next": "Далі", + "continue": "Продовжити", + "skip": "Пропустити", "install_language": { - "title": "Choose your language", - "description": "Select language wizard to install InvoiceShelf" + "title": "Оберіть мову", + "description": "Виберіть мовний майстер для встановлення InvoiceShelf" }, "database": { - "database": "Site URL & Database", - "connection": "Database Connection", - "host": "Database Host", - "port": "Database Port", - "password": "Database Password", - "app_url": "App URL", - "app_domain": "App Domain", - "username": "Database Username", - "db_name": "Database Name", - "db_path": "Database Path", - "overwrite": "Overwrite existing database and proceed", - "desc": "Create a database on your server and set the credentials using the form below." + "database": "URL-адреса сайту та база даних", + "connection": "Підключення до бази даних", + "host": "Хост бази даних", + "port": "Порти бази даних", + "password": "Пароль бази даних", + "app_url": "URL застосунку", + "app_domain": "Домен програми", + "username": "Ім'я користувача бази даних", + "db_name": "Назва бази даних", + "db_path": "Шлях до бази даних", + "overwrite": "Перезаписувати базу даних що існує і продовжити", + "desc": "Створіть базу даних на вашому сервері та встановіть облікові дані у вигляді нижче." }, "permissions": { - "permissions": "Permissions", - "permission_confirm_title": "Are you sure you want to continue?", - "permission_confirm_desc": "Folder permission check failed", - "permission_desc": "Below is the list of folder permissions which are required in order for the app to work. If the permission check fails, make sure to update your folder permissions." + "permissions": "Права", + "permission_confirm_title": "Ви впевнені, що хочете продовжити?", + "permission_confirm_desc": "Не вдалося перевірити дозвіл на теку", + "permission_desc": "Нижче наведено список дозволів, які необхідні для того, щоб програма працювала. Якщо помилка дозволу виконується, не забудьте оновити права доступу до теки." }, "verify_domain": { - "title": "Domain Verification", - "desc": "InvoiceShelf uses Session based authentication which requires domain verification for security purposes. Please enter the domain on which you will be accessing your web application.", - "app_domain": "App Domain", - "verify_now": "Verify Now", - "success": "Domain Verify Successfully.", - "failed": "Domain verification failed. Please enter valid domain name.", - "verify_and_continue": "Verify And Continue", + "title": "Перевірка домену", + "desc": "InvoiceShelf використовує сеансову автентифікацію, яка вимагає перевірки домену з метою безпеки. Будь ласка, введіть домен, з якого ви будете отримувати доступ до вашого вебдодатку.", + "app_domain": "Домен додатка", + "verify_now": "Підтвердити зараз", + "success": "Домен успішно перевірений.", + "failed": "Не вдалося перевірити домен. Будь ласка, введіть дійсне доменне ім'я.", + "verify_and_continue": "Перевірити та продовжити", "notes": { - "notes": "Notes:", - "not_contain": "App domain should not contain", - "or": "or", - "in_front": "in front of the domain.", - "if_you": "If you're accessing the website on a different port, please mention the port. For example:" + "notes": "Примітки:", + "not_contain": "Домен додатку не повинен містити", + "or": "або", + "in_front": "перед доменом.", + "if_you": "Якщо ви заходите на сайт з іншого порту, будь ласка, вкажіть його. Наприклад:" } }, "mail": { - "host": "Mail Host", - "port": "Mail Port", - "driver": "Mail Driver", - "secret": "Secret", - "mailgun_secret": "Mailgun Secret", - "mailgun_domain": "Domain", - "mailgun_endpoint": "Mailgun Endpoint", - "ses_secret": "SES Secret", - "ses_key": "SES Key", - "password": "Mail Password", - "username": "Mail Username", - "mail_config": "Mail Configuration", - "from_name": "From Mail Name", - "from_mail": "From Mail Address", - "encryption": "Mail Encryption", - "mail_config_desc": "Below is the form for Configuring Email driver for sending emails from the app. You can also configure third party providers like Sendgrid, SES etc." + "host": "Поштовий сервер", + "port": "Порт сервера", + "driver": "Поштовий провайдер", + "secret": "Секретний ключ", + "mailgun_secret": "Секрет Mailgun", + "mailgun_domain": "Домен", + "mailgun_endpoint": "Домен api", + "ses_secret": "SES секретний API-ключ", + "ses_key": "SES API-ключ", + "password": "Пароль пошти", + "username": "Ім'я користувача пошти", + "mail_config": "Налаштування пошти", + "from_name": "Ім'я відправника", + "from_mail": "Адреса відправника", + "encryption": "Шифрування пошти", + "mail_config_desc": "Нижче наведено форму для налаштування email-драйвера для надсилання email з додатка. Ви також можете налаштувати сторонніх провайдерів, таких як Sendgrid, SES тощо." }, "req": { - "system_req": "System Requirements", - "php_req_version": "Php (version {version} required)", - "check_req": "Check Requirements", - "system_req_desc": "InvoiceShelf has a few server requirements. Make sure that your server has the required php version and all the extensions mentioned below." + "system_req": "Системні вимоги", + "php_req_version": "Php (версія {version} необхідна)", + "check_req": "Перевірити вимоги", + "system_req_desc": "InvoiceShelf має декілька вимог до сервера. Переконайтеся, що ваш сервер має необхідну версію php і всі розширення, згадані нижче." }, "errors": { - "migrate_failed": "Migrate Failed", - "database_variables_save_error": "Cannot write configuration to .env file. Please check its file permissions", - "mail_variables_save_error": "Email configuration failed.", - "connection_failed": "Database connection failed", - "database_should_be_empty": "Database should be empty" + "migrate_failed": "Міграція не вдалася", + "database_variables_save_error": "Не вдається записати конфігурацію до файлу .env. Будь ласка, перевірте права доступу до файлу", + "mail_variables_save_error": "Конфігурація email невірна", + "connection_failed": "Помилка з’єднання з базою даних", + "database_should_be_empty": "База даних повинна бути порожньою" }, "success": { - "mail_variables_save_successfully": "Email configured successfully", - "database_variables_save_successfully": "Database configured successfully." + "mail_variables_save_successfully": "Email успішно налаштовано", + "database_variables_save_successfully": "База даних успішно налаштована." } }, "validation": { - "invalid_phone": "Invalid Phone Number", - "invalid_url": "Invalid url (ex: http://www.invoiceshelf.com)", - "invalid_domain_url": "Invalid url (ex: invoiceshelf.com)", - "required": "Field is required", - "email_incorrect": "Incorrect Email.", - "email_already_taken": "The email has already been taken.", - "email_does_not_exist": "User with given email doesn't exist", - "item_unit_already_taken": "This item unit name has already been taken", - "payment_mode_already_taken": "This payment mode name has already been taken", - "send_reset_link": "Send Reset Link", - "not_yet": "Not yet? Send it again", - "password_min_length": "Password must contain {count} characters", - "name_min_length": "Name must have at least {count} letters.", - "prefix_min_length": "Prefix must have at least {count} letters.", - "enter_valid_tax_rate": "Enter valid tax rate", - "numbers_only": "Numbers Only.", - "characters_only": "Characters Only.", - "password_incorrect": "Passwords must be identical", - "password_length": "Password must be {count} character long.", - "qty_must_greater_than_zero": "Quantity must be greater than zero.", - "price_greater_than_zero": "Price must be greater than zero.", - "payment_greater_than_zero": "Payment must be greater than zero.", - "payment_greater_than_due_amount": "Entered Payment is more than due amount of this invoice.", - "quantity_maxlength": "Quantity should not be greater than 20 digits.", - "price_maxlength": "Price should not be greater than 20 digits.", - "price_minvalue": "Price should be greater than 0.", - "amount_maxlength": "Amount should not be greater than 20 digits.", - "amount_minvalue": "Amount should be greater than 0.", - "discount_maxlength": "Discount should not be greater than max discount", - "description_maxlength": "Description should not be greater than 255 characters.", - "subject_maxlength": "Subject should not be greater than 100 characters.", - "message_maxlength": "Message should not be greater than 255 characters.", - "maximum_options_error": "Maximum of {max} options selected. First remove a selected option to select another.", - "notes_maxlength": "Notes should not be greater than 65,000 characters.", - "address_maxlength": "Address should not be greater than 255 characters.", - "ref_number_maxlength": "Ref Number should not be greater than 255 characters.", - "prefix_maxlength": "Prefix should not be greater than 5 characters.", - "something_went_wrong": "something went wrong", - "number_length_minvalue": "Number length should be greater than 0", - "at_least_one_ability": "Please select atleast one Permission.", - "valid_driver_key": "Please enter a valid {driver} key.", - "valid_exchange_rate": "Please enter a valid exchange rate.", - "company_name_not_same": "Company name must match with given name." + "invalid_phone": "Невірний номер телефону", + "invalid_url": "Невірний URL (ex: http://www.invoiceshelf.com)", + "invalid_domain_url": "Невірний URL (ex: invoiceshelf.com)", + "required": "Обов’язкове поле", + "email_incorrect": "Назва повинна містити принаймні {count} літер", + "email_already_taken": "Ця електронна пошта вже використовується.", + "email_does_not_exist": "Користувач із вказаною електронною поштою не існує", + "item_unit_already_taken": "Назва одиниці цього товару вже зайнята", + "payment_mode_already_taken": "Цю назву типу оплати вже зайнято", + "send_reset_link": "Надіслати посилання для скидання налаштувань", + "not_yet": "Не отримали? Відправити його знову", + "password_min_length": "Пароль повинен містити символи {count}", + "name_min_length": "Назва повинна містити принаймні {count} літер", + "prefix_min_length": "Префікс повинен мати не менше {count} літер", + "enter_valid_tax_rate": "Введіть дійсну ставку податку", + "numbers_only": "Тільки цифри.", + "characters_only": "Тільки символи.", + "password_incorrect": "Паролі повинні бути однаковими", + "password_length": "Пароль повинен мати довжину {count} символів", + "qty_must_greater_than_zero": "Кількість повинна бути більше нуля.", + "price_greater_than_zero": "Ціна повинна бути більше нуля.", + "payment_greater_than_zero": "Оплата має бути більше нуля.", + "payment_greater_than_due_amount": "Введений платіж більший від суми цього рахунку.", + "quantity_maxlength": "Кількість не повинна бути понад 20 цифр.", + "price_maxlength": "Ціна не має бути більшою за 20 цифр.", + "price_minvalue": "Ціна повинна бути більшою за 0.", + "amount_maxlength": "Сума не повинна перевищувати 20 цифр.", + "amount_minvalue": "Сума повинна бути більшою за 0.", + "discount_maxlength": "Знижка не має бути більшою за максимальну знижку", + "description_maxlength": "Опис не має бути більшим за 255 символів.", + "subject_maxlength": "Тема не може бути більшою за 100 символів.", + "message_maxlength": "Повідомлення не має бути більшим за 255 символів.", + "maximum_options_error": "Обрано максимум опцій {max}. Спочатку видаліть вибрану опцію, щоб вибрати іншу.", + "notes_maxlength": "Нотатки не повинні бути більшими за 65000 символів.", + "address_maxlength": "Адреса не повинна перевищувати 255 символів.", + "ref_number_maxlength": "Номер для повернення не повинен бути більшим за 255 символів.", + "prefix_maxlength": "Префікс не повинен бути більшим за 5 символів.", + "something_went_wrong": "Щось пішло не так", + "number_length_minvalue": "Довжина числа має бути більше, ніж 0", + "at_least_one_ability": "Будь ласка, виберіть принаймні один дозвол.", + "valid_driver_key": "Будь ласка, введіть припустимий ключ {driver}.", + "valid_exchange_rate": "Будь ласка, введіть припустимий курс обміну.", + "company_name_not_same": "Назва компанії повинна збігатися з заданою назвою." }, "errors": { - "starter_plan": "This feature is available on Starter plan and onwards!", - "invalid_provider_key": "Please Enter Valid Provider API Key.", - "estimate_number_used": "The estimate number has already been taken.", - "invoice_number_used": "The invoice number has already been taken.", - "payment_attached": "This invoice already has a payment attached to it. Make sure to delete the attached payments first in order to go ahead with the removal.", - "payment_number_used": "The payment number has already been taken.", - "name_already_taken": "The name has already been taken.", - "receipt_does_not_exist": "Receipt does not exist.", - "customer_cannot_be_changed_after_payment_is_added": "Customer cannot be change after payment is added", - "invalid_credentials": "Invalid Credentials.", - "not_allowed": "Not Allowed", - "login_invalid_credentials": "These credentials do not match our records.", - "enter_valid_cron_format": "Please enter a valid cron format", - "email_could_not_be_sent": "Email could not be sent to this email address.", - "invalid_address": "Please enter a valid address.", - "invalid_key": "Please enter valid key.", - "invalid_state": "Please enter a valid state.", - "invalid_city": "Please enter a valid city.", - "invalid_postal_code": "Please enter a valid zip.", - "invalid_format": "Please enter valid query string format.", - "api_error": "Server not responding.", - "feature_not_enabled": "Feature not enabled.", - "request_limit_met": "Api request limit exceeded.", - "address_incomplete": "Incomplete Address" + "starter_plan": "Ця функція доступна на тарифному плані \"Стартовий\" і вище!", + "invalid_provider_key": "Будь ласка, введіть вірний API постачальника.", + "estimate_number_used": "Розрахунковий номер вже зайнятий.", + "invoice_number_used": "Номер рахунку вже зайнятий.", + "payment_attached": "До цього інвойсу вже прикріплено платіж. Щоб продовжити видалення, спочатку видаліть прикріплені платежі.", + "payment_number_used": "Платіжний номер вже використовується.", + "name_already_taken": "Ім'я вже використовується.", + "receipt_does_not_exist": "Чек не існує.", + "customer_cannot_be_changed_after_payment_is_added": "Клієнта не можна змінити після додавання оплати", + "invalid_credentials": "Невірні облікові дані", + "not_allowed": "Заборонено", + "login_invalid_credentials": "Облікові дані не відповідають нашим записам.", + "enter_valid_cron_format": "Будь ласка, введіть правильний формат cron", + "email_could_not_be_sent": "Неможливо надіслати листа на цю адресу.", + "invalid_address": "Будь ласка, введіть дійсну адресу.", + "invalid_key": "Будь ласка, введіть правильний ключ.", + "invalid_state": "Будь ласка, введіть правильну область.", + "invalid_city": "Будь ласка, правильно введіть правильну назву міста.", + "invalid_postal_code": "Будь ласка, правильно введіть поштовий індекс.", + "invalid_format": "Будь ласка, введіть припустимий формат рядка запиту.", + "api_error": "Сервер не відповідає.", + "feature_not_enabled": "Функцію не ввімкнено.", + "request_limit_met": "Перевищено ліміт запитів до API.", + "address_incomplete": "Неповна адреса" }, - "pdf_estimate_label": "Estimate", - "pdf_estimate_number": "Estimate Number", - "pdf_estimate_date": "Estimate Date", - "pdf_estimate_expire_date": "Expiry Date", - "pdf_invoice_label": "Invoice", - "pdf_invoice_number": "Invoice Number", - "pdf_invoice_date": "Invoice Date", - "pdf_invoice_due_date": "Due date", - "pdf_notes": "Notes", - "pdf_items_label": "Items", - "pdf_quantity_label": "Quantity", - "pdf_price_label": "Price", - "pdf_discount_label": "Discount", - "pdf_amount_label": "Amount", - "pdf_subtotal": "Subtotal", - "pdf_total": "Total", - "pdf_payment_label": "Payment", - "pdf_payment_receipt_label": "PAYMENT RECEIPT", - "pdf_payment_date": "Payment Date", - "pdf_payment_number": "Payment Number", - "pdf_payment_mode": "Payment Mode", - "pdf_payment_amount_received_label": "Amount Received", - "pdf_expense_report_label": "EXPENSES REPORT", - "pdf_total_expenses_label": "TOTAL EXPENSE", - "pdf_profit_loss_label": "PROFIT & LOSS REPORT", - "pdf_sales_customers_label": "Sales Customer Report", - "pdf_sales_items_label": "Sales Item Report", - "pdf_tax_summery_label": "Tax Summary Report", - "pdf_income_label": "INCOME", - "pdf_net_profit_label": "NET PROFIT", - "pdf_customer_sales_report": "Sales Report: By Customer", - "pdf_total_sales_label": "TOTAL SALES", - "pdf_item_sales_label": "Sales Report: By Item", - "pdf_tax_report_label": "TAX REPORT", - "pdf_total_tax_label": "TOTAL TAX", - "pdf_tax_types_label": "Tax Types", - "pdf_expenses_label": "Expenses", - "pdf_bill_to": "Bill to,", - "pdf_ship_to": "Ship to,", - "pdf_received_from": "Received from:", - "pdf_tax_label": "Tax", - "pdf_tax_id": "Tax-ID", - "pdf_vat_id": "VAT-ID", - "pdf_amount_paid": "Amount Paid", - "pdf_amount_due": "Amount Due", - "mail_thanks": "Thanks", - "mail_view_estimate": "View Estimate", - "mail_viewed_estimate": ":name viewed this Estimate.", - "mail_view_invoice": "View Invoice", - "mail_viewed_invoice": ":name viewed this Invoice.", - "mail_view_payment": "View Payment", - "notification_view_estimate": "[Notification] Estimate viewed", - "notification_view_invoice": "[Notification] Invoice viewed", - "You have received a new invoice from {COMPANY_NAME}.
Please download using the button below:": "You have received a new invoice from {COMPANY_NAME}.
Please download using the button below:" + "pdf_estimate_label": "Приблизний кошторис", + "pdf_estimate_number": "Номер кошторису", + "pdf_estimate_date": "Орієнтовна дата", + "pdf_estimate_expire_date": "Дата закінчення", + "pdf_invoice_label": "Рахунок", + "pdf_invoice_number": "Номер рахунку", + "pdf_invoice_date": "Дата рахунку", + "pdf_invoice_due_date": "Оплатити до", + "pdf_notes": "Примітки", + "pdf_items_label": "Товари", + "pdf_quantity_label": "Кількість", + "pdf_price_label": "Ціна", + "pdf_discount_label": "Знижка", + "pdf_amount_label": "Сума", + "pdf_subtotal": "Проміжна сума", + "pdf_total": "Всього", + "pdf_payment_label": "Оплата", + "pdf_payment_receipt_label": "КВИТАНЦІЯ ПРО ОПЛАТУ", + "pdf_payment_date": "Дата оплати", + "pdf_payment_number": "Номер платежу", + "pdf_payment_mode": "Спосіб оплати", + "pdf_payment_amount_received_label": "Сума отриманих коштів", + "pdf_expense_report_label": "ЗВІТ ПРО ВИТРАТИ", + "pdf_total_expenses_label": "ЗАГАЛЬНІ ВИТРАТИ", + "pdf_profit_loss_label": "ЗВІТ ПРО ПРИБУТКИ ТА ЗБИТКИ", + "pdf_sales_customers_label": "Звіт про продажі клієнтам", + "pdf_sales_items_label": "Звіт про продажі товарів ", + "pdf_tax_summery_label": "Податковий звіт", + "pdf_income_label": "ДОХІД", + "pdf_net_profit_label": "ЧИСТИЙ ПРИБУТОК", + "pdf_customer_sales_report": "Звіт продажів по клієнту", + "pdf_total_sales_label": "Загальні продажі", + "pdf_item_sales_label": "Звіт продажів по товару", + "pdf_tax_report_label": "Податковий звіт", + "pdf_total_tax_label": "Загальний звіт податків", + "pdf_tax_types_label": "Типи податків", + "pdf_expenses_label": "Витрати", + "pdf_bill_to": "Рахунок до,", + "pdf_ship_to": "Доставити до,", + "pdf_received_from": "Отримано від:", + "pdf_tax_label": "Податок", + "pdf_tax_id": "ІПН", + "pdf_vat_id": "ПДВ номер", + "pdf_amount_paid": "Сплачена сума", + "pdf_amount_due": "Сума до сплати", + "mail_thanks": "Дякую", + "mail_view_estimate": "Переглянути кошторис", + "mail_viewed_estimate": ":ім'я переглянуло цей Кошторис.", + "mail_view_invoice": "Переглянути рахунок", + "mail_viewed_invoice": ":ім'я переглянуло цей Рахунок.", + "mail_view_payment": "Переглянути платіж", + "notification_view_estimate": "[Повідомлення] Кошторис переглянуто", + "notification_view_invoice": "[Повідомлення] Рахунок переглянуто", + "You have received a new invoice from {COMPANY_NAME}.
Please download using the button below:": "Ви отримали новий інвойс від {COMPANY_NAME}.
Будь ласка, завантажте за допомогою кнопки нижче:" } diff --git a/lang/vi.json b/lang/vi.json index a121e42b..9a00b05e 100644 --- a/lang/vi.json +++ b/lang/vi.json @@ -852,7 +852,8 @@ "payment_modes": "Phương thức thanh toán", "notes": "Ghi chú", "exchange_rate": "Tỷ giá ngoại tệ", - "address_information": "Thông tin địa chỉ" + "address_information": "Thông tin địa chỉ", + "pdf_generation": "PDF Generation" }, "address_information": { "section_description": " Bạn có thể cập nhật thông tin địa chỉ bằng cách sử dụng biếu mẫu duới đây." @@ -893,6 +894,7 @@ "mailgun_endpoint": "Điểm cuối của Mailgun", "ses_secret": "Bí mật SES", "ses_key": "Khóa SES", + "ses_region": "AWS Region", "password": "Mật khẩu thư", "username": "Tên người dùng thư", "mail_config": "Cấu hình thư", @@ -904,7 +906,15 @@ "pdf": { "title": "Cài đặt PDF", "footer_text": "Văn bản chân trang", - "pdf_layout": "Bố cục PDF" + "pdf_layout": "Bố cục PDF", + "pdf_configuration": "PDF Generation Settings", + "section_description": "Change the way PDFs are generated", + "driver": "PDF Driver to use", + "papersize": "Papersize", + "papersize_hint": "Papersize in width and height (ex. \"210mm 297mm\")", + "gotenberg_host": "Gotenberg service host", + "pdf_variables_save_successfully": "PDF configuration saved successfully", + "pdf_variables_save_error": "PDF configuration could not be saved" }, "company_info": { "company_info": "Thông tin công ty", @@ -1087,6 +1097,8 @@ "description": "Tiết kiệm thời gian bằng cách tạo ghi chú và sử dụng lại chúng trên hóa đơn, ước tính của bạn.", "notes": "Ghi chú", "type": "Kiểu", + "is_default": "Select by default", + "is_default_description": "This note will be selected by default in new invoices.", "add_note": "Thêm ghi chú", "add_new_note": "Thêm ghi chú mới", "name": "Tên", @@ -1236,7 +1248,7 @@ "time_zone": "Múi giờ", "fiscal_year": "Năm tài chính", "date_format": "Định dạng ngày tháng", - "time_format": "Time Fromat", + "time_format": "Time Format", "discount_setting": "Cài đặt chiết khấu", "discount_per_item": "Giảm giá cho mỗi mặt hàng ", "discount_setting_description": "Bật tính năng này nếu bạn muốn thêm Giảm giá vào các mặt hàng hóa đơn riêng lẻ. Theo mặc định, Giảm giá được thêm trực tiếp vào hóa đơn.", @@ -1588,7 +1600,7 @@ "pdf_invoice_label": "Hóa đơn", "pdf_invoice_number": "Số hóa đơn", "pdf_invoice_date": "Ngày lập hóa đơn", - "pdf_invoice_due_date": "Ngày đến hạn", + "pdf_invoice_due_date": "Due Date", "pdf_notes": "Ghi chú", "pdf_items_label": "Mặt hàng", "pdf_quantity_label": "Định lượng", diff --git a/lang/zh.json b/lang/zh.json index 67395db3..fd99f9b2 100644 --- a/lang/zh.json +++ b/lang/zh.json @@ -286,7 +286,7 @@ "estimates": { "title": "報價", "accept_estimate": "Accept Estimate", - "reject_estimate": "Reject Estimate", + "reject_estimate": "拒絕報價", "estimate": "報價 | 報價", "estimates_list": "報價列表", "days": "{days} 天", @@ -341,7 +341,7 @@ }, "accepted": "已接受", "rejected": "已拒絕", - "expired": "Expired", + "expired": "", "sent": "傳送", "draft": "草稿", "viewed": "Viewed", @@ -470,7 +470,7 @@ "marked_as_sent_message": "發票已標示為成功傳送", "something_went_wrong": "出現錯誤", "invalid_due_amount_message": "發票總額不能少於支付總額. 請更新發票或刪除相關支付再繼續.", - "mark_as_default_invoice_template_description": "If enabled, the selected template will be automatically selected for new invoices." + "mark_as_default_invoice_template_description": "如果啟用,選定的範本將自動用於新發票。" }, "recurring_invoices": { "title": "定期發票", @@ -487,17 +487,17 @@ "completed": "已完成", "customer": "客戶", "paid_status": "付款狀態", - "ref_no": "REF NO.", + "ref_no": "如果啟用,選定的範本將自動用於新發票", "number": "NUMBER", "amount_due": "AMOUNT DUE", - "partially_paid": "Partially Paid", + "partially_paid": "", "total": "Total", "discount": "Discount", "sub_total": "Sub Total", "invoice": "Recurring Invoice | Recurring Invoices", "invoice_number": "Recurring Invoice Number", "next_invoice_date": "Next Invoice Date", - "ref_number": "Ref Number", + "ref_number": "參考編號", "contact": "Contact", "add_item": "Add an Item", "date": "Date", @@ -511,14 +511,14 @@ "on_hold": "On Hold", "complete": "Completed", "add_tax": "Add Tax", - "amount": "Amount", + "amount": "", "action": "Action", "notes": "Notes", "view": "View", "basic_info": "Basic Info", "send_invoice": "Send Recurring Invoice", "auto_send": "Auto Send", - "resend_invoice": "Resend Recurring Invoice", + "resend_invoice": "", "invoice_template": "Recurring Invoice Template", "conversion_message": "Recurring Invoice cloned successful", "template": "Template", @@ -527,17 +527,17 @@ "invoice_mark_as_sent": "This recurring invoice will be marked as sent", "confirm_send": "This recurring invoice will be sent via email to the customer", "starts_at": "Start Date", - "due_date": "Invoice Due Date", + "due_date": "", "record_payment": "Record Payment", "add_new_invoice": "Add New Recurring Invoice", - "update_expense": "Update Expense", + "update_expense": "", "edit_invoice": "Edit Recurring Invoice", "new_invoice": "New Recurring Invoice", "send_automatically": "Send Automatically", "send_automatically_desc": "Enable this, if you would like to send the invoice automatically to the customer when its created.", "save_invoice": "Save Recurring Invoice", "update_invoice": "Update Recurring Invoice", - "add_new_tax": "Add New Tax", + "add_new_tax": "添加新的稅項", "no_invoices": "No Recurring Invoices yet!", "mark_as_rejected": "Mark as rejected", "mark_as_accepted": "Mark as accepted", @@ -553,7 +553,7 @@ "item": { "title": "Item Title", "description": "Description", - "quantity": "Quantity", + "quantity": "這部份包含發票列表", "price": "Price", "discount": "Discount", "total": "Total", @@ -565,7 +565,7 @@ "type_item_description": "Type Item Description (optional)" }, "frequency": { - "title": "Frequency (using cron format)", + "title": "", "select_frequency": "Select Frequency", "minute": "Minute", "hour": "Hour", @@ -578,8 +578,8 @@ "every_2_hour": "Every 2 Hour", "every_day_at_midnight": "Every day at midnight", "every_week": "Every Week", - "every_15_days_at_midnight": "Every 15 days at midnight", - "on_the_first_day_of_every_month_at_midnight": "On the first day of every month at 00:00", + "every_15_days_at_midnight": "每15天半夜", + "on_the_first_day_of_every_month_at_midnight": "每月第一天半夜00:00", "every_6_month": "Every 6 Month", "every_year_on_the_first_day_of_january_at_midnight": "Every year on the first day of january at 00:00", "custom": "Custom" @@ -635,7 +635,7 @@ "updated_message": "成功更新付款", "deleted_message": "成功刪除付款 | 成功刪除付款", "invalid_amount_message": "付款金額有誤", - "amount_due": "Due Amount" + "amount_due": "應付金額" }, "expenses": { "title": "支出", @@ -643,7 +643,7 @@ "select_a_customer": "選擇客戶", "expense_title": "標題", "customer": "客戶", - "currency": "Currency", + "currency": "主要貨幣", "contact": "聯絡", "category": "分類", "from_date": "啟始日", @@ -852,7 +852,8 @@ "payment_modes": "付款方式", "notes": "備註", "exchange_rate": "Exchange Rate", - "address_information": "Address Information" + "address_information": "Address Information", + "pdf_generation": "PDF Generation" }, "address_information": { "section_description": " You can update Your Address information using form below." @@ -893,6 +894,7 @@ "mailgun_endpoint": "Mailgun \bendpoint", "ses_secret": "SES 金鑰", "ses_key": "SES 匙", + "ses_region": "AWS Region", "password": "郵件密碼", "username": "郵件登入名稱", "mail_config": "郵件設定", @@ -904,7 +906,15 @@ "pdf": { "title": "PDF設定", "footer_text": "頁尾文字", - "pdf_layout": "PDF \b佈局" + "pdf_layout": "PDF \b佈局", + "pdf_configuration": "PDF Generation Settings", + "section_description": "Change the way PDFs are generated", + "driver": "PDF Driver to use", + "papersize": "Papersize", + "papersize_hint": "Papersize in width and height (ex. \"210mm 297mm\")", + "gotenberg_host": "Gotenberg service host", + "pdf_variables_save_successfully": "PDF configuration saved successfully", + "pdf_variables_save_error": "PDF configuration could not be saved" }, "company_info": { "company_info": "公司資訊", @@ -1087,6 +1097,8 @@ "description": "保存備註可在發票, 報價和付款上重覆使用.", "notes": "備註", "type": "類型", + "is_default": "Select by default", + "is_default_description": "This note will be selected by default in new invoices.", "add_note": "加入備註", "add_new_note": "新增備註", "name": "名稱", @@ -1203,7 +1215,7 @@ "already_in_use": "此稅項已在使用" }, "payment_modes": { - "title": "Payment Modes", + "title": "付款方式", "description": "Modes of transaction for payments", "add_payment_mode": "Add Payment Mode", "edit_payment_mode": "Edit Payment Mode", @@ -1236,7 +1248,7 @@ "time_zone": "時區", "fiscal_year": "財政年度", "date_format": "日期格式", - "time_format": "Time Fromat", + "time_format": "Time Format", "discount_setting": "折扣設定", "discount_per_item": "商品折扣", "discount_setting_description": "啟用此項, 如果你要將折扣以每個獨立商品計算. 預設折扣以整單發票計算.", @@ -1588,7 +1600,7 @@ "pdf_invoice_label": "發票", "pdf_invoice_number": "發票號碼", "pdf_invoice_date": "發票日期", - "pdf_invoice_due_date": "截止日期", + "pdf_invoice_due_date": "Due Date", "pdf_notes": "備註", "pdf_items_label": "商品", "pdf_quantity_label": "數量", diff --git a/package.json b/package.json index fe39ba68..3f10edc1 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,7 @@ }, "dependencies": { "@headlessui/vue": "^1.7.23", - "@heroicons/vue": "^1.0.6", + "@heroicons/vue": "^2.2.0", "@popperjs/core": "^2.11.8", "@stripe/stripe-js": "^2.4.0", "@tiptap/core": "^2.11.2", @@ -41,7 +41,7 @@ "@vuelidate/core": "^2.0.3", "@vuelidate/validators": "^2.0.4", "@vueuse/core": "^12.4.0", - "axios": "0.29.0", + "axios": "0.30.0", "chart.js": "^2.9.4", "guid": "^0.0.12", "laravel-vite-plugin": "^1.1.1", diff --git a/resources/scripts/admin/admin-router.js b/resources/scripts/admin/admin-router.js index d11952e4..6a1c21d2 100644 --- a/resources/scripts/admin/admin-router.js +++ b/resources/scripts/admin/admin-router.js @@ -56,6 +56,8 @@ const UpdateApp = () => import('@/scripts/admin/views/settings/UpdateAppSetting.vue') const RolesSettings = () => import('@/scripts/admin/views/settings/RolesSettings.vue') +const PDFGenerationSettings = () => + import('@/scripts/admin/views/settings/PDFGenerationSetting.vue') // Items const ItemsIndex = () => import('@/scripts/admin/views/items/Index.vue') @@ -327,6 +329,12 @@ export default [ meta: { isOwner: true }, component: UpdateApp, }, + { + path: 'pdf-generation', + name: 'pdf.generation', + meta: { isOwner: true }, + component: PDFGenerationSettings, + }, ], }, diff --git a/resources/scripts/admin/components/dropdowns/CustomFieldIndexDropdown.vue b/resources/scripts/admin/components/dropdowns/CustomFieldIndexDropdown.vue index 0f1f5887..5290d40b 100644 --- a/resources/scripts/admin/components/dropdowns/CustomFieldIndexDropdown.vue +++ b/resources/scripts/admin/components/dropdowns/CustomFieldIndexDropdown.vue @@ -1,7 +1,7 @@ diff --git a/resources/scripts/admin/components/dropdowns/ExpenseIndexDropdown.vue b/resources/scripts/admin/components/dropdowns/ExpenseIndexDropdown.vue index 460aef0b..20cb63e1 100644 --- a/resources/scripts/admin/components/dropdowns/ExpenseIndexDropdown.vue +++ b/resources/scripts/admin/components/dropdowns/ExpenseIndexDropdown.vue @@ -2,9 +2,9 @@ diff --git a/resources/scripts/admin/components/dropdowns/InvoiceIndexDropdown.vue b/resources/scripts/admin/components/dropdowns/InvoiceIndexDropdown.vue index 647801fe..67a071dd 100755 --- a/resources/scripts/admin/components/dropdowns/InvoiceIndexDropdown.vue +++ b/resources/scripts/admin/components/dropdowns/InvoiceIndexDropdown.vue @@ -2,9 +2,9 @@ diff --git a/resources/scripts/admin/components/dropdowns/ItemIndexDropdown.vue b/resources/scripts/admin/components/dropdowns/ItemIndexDropdown.vue index 950ad2d5..57c14774 100644 --- a/resources/scripts/admin/components/dropdowns/ItemIndexDropdown.vue +++ b/resources/scripts/admin/components/dropdowns/ItemIndexDropdown.vue @@ -2,9 +2,9 @@ diff --git a/resources/scripts/admin/components/dropdowns/NoteIndexDropdown.vue b/resources/scripts/admin/components/dropdowns/NoteIndexDropdown.vue index 22a69a0f..d00695f5 100644 --- a/resources/scripts/admin/components/dropdowns/NoteIndexDropdown.vue +++ b/resources/scripts/admin/components/dropdowns/NoteIndexDropdown.vue @@ -2,9 +2,9 @@ diff --git a/resources/scripts/admin/components/dropdowns/PaymentIndexDropdown.vue b/resources/scripts/admin/components/dropdowns/PaymentIndexDropdown.vue index cffcd946..f257ee90 100644 --- a/resources/scripts/admin/components/dropdowns/PaymentIndexDropdown.vue +++ b/resources/scripts/admin/components/dropdowns/PaymentIndexDropdown.vue @@ -2,9 +2,9 @@ diff --git a/resources/scripts/admin/components/dropdowns/PaymentModeIndexDropdown.vue b/resources/scripts/admin/components/dropdowns/PaymentModeIndexDropdown.vue index 487d784b..c0fccee2 100644 --- a/resources/scripts/admin/components/dropdowns/PaymentModeIndexDropdown.vue +++ b/resources/scripts/admin/components/dropdowns/PaymentModeIndexDropdown.vue @@ -2,9 +2,9 @@ diff --git a/resources/scripts/admin/components/dropdowns/RecurringInvoiceIndexDropdown.vue b/resources/scripts/admin/components/dropdowns/RecurringInvoiceIndexDropdown.vue index 07225303..2984bc94 100644 --- a/resources/scripts/admin/components/dropdowns/RecurringInvoiceIndexDropdown.vue +++ b/resources/scripts/admin/components/dropdowns/RecurringInvoiceIndexDropdown.vue @@ -5,9 +5,9 @@ v-if="route.name === 'recurring-invoices.view'" variant="primary" > - + - + diff --git a/resources/scripts/admin/components/dropdowns/RoleIndexDropdown.vue b/resources/scripts/admin/components/dropdowns/RoleIndexDropdown.vue index 7bcc1ccd..5691424b 100644 --- a/resources/scripts/admin/components/dropdowns/RoleIndexDropdown.vue +++ b/resources/scripts/admin/components/dropdowns/RoleIndexDropdown.vue @@ -2,9 +2,9 @@ diff --git a/resources/scripts/admin/components/dropdowns/TaxTypeIndexDropdown.vue b/resources/scripts/admin/components/dropdowns/TaxTypeIndexDropdown.vue index 6f86dae6..f9fe3623 100644 --- a/resources/scripts/admin/components/dropdowns/TaxTypeIndexDropdown.vue +++ b/resources/scripts/admin/components/dropdowns/TaxTypeIndexDropdown.vue @@ -2,9 +2,9 @@ diff --git a/resources/scripts/admin/components/dropdowns/UserIndexDropdown.vue b/resources/scripts/admin/components/dropdowns/UserIndexDropdown.vue index 61a7d9c3..d7a2292b 100644 --- a/resources/scripts/admin/components/dropdowns/UserIndexDropdown.vue +++ b/resources/scripts/admin/components/dropdowns/UserIndexDropdown.vue @@ -2,9 +2,9 @@ diff --git a/resources/scripts/admin/components/estimate-invoice-common/CreateItemRow.vue b/resources/scripts/admin/components/estimate-invoice-common/CreateItemRow.vue index 17470188..efd994c5 100644 --- a/resources/scripts/admin/components/estimate-invoice-common/CreateItemRow.vue +++ b/resources/scripts/admin/components/estimate-invoice-common/CreateItemRow.vue @@ -264,22 +264,12 @@ const quantity = computed({ const price = computed({ get: () => { const price = props.itemData.price - - if (parseFloat(price) > 0) { - return price / 100 - } - - return price + return price / 100 }, set: (newValue) => { - if (parseFloat(newValue) > 0) { - let price = Math.round(newValue * 100) - - updateItemAttribute('price', price) - } else { - updateItemAttribute('price', newValue) - } + let price = Math.round(newValue * 100) + updateItemAttribute('price', price) setDiscount() }, }) diff --git a/resources/scripts/admin/components/estimate-invoice-common/CreateItemRowTax.vue b/resources/scripts/admin/components/estimate-invoice-common/CreateItemRowTax.vue index 30f927e1..8c7a04e7 100644 --- a/resources/scripts/admin/components/estimate-invoice-common/CreateItemRowTax.vue +++ b/resources/scripts/admin/components/estimate-invoice-common/CreateItemRowTax.vue @@ -19,12 +19,24 @@ > diff --git a/resources/scripts/admin/views/settings/PreferencesSetting.vue b/resources/scripts/admin/views/settings/PreferencesSetting.vue index c49b6631..6fba92f0 100644 --- a/resources/scripts/admin/views/settings/PreferencesSetting.vue +++ b/resources/scripts/admin/views/settings/PreferencesSetting.vue @@ -143,7 +143,7 @@ class="mt-6" > {{ $t('settings.company_info.save') }} @@ -183,7 +183,7 @@ class="mt-6" > {{ $t('general.save') }} diff --git a/resources/scripts/admin/views/settings/TaxTypesSetting.vue b/resources/scripts/admin/views/settings/TaxTypesSetting.vue index 58aeba60..8ccddbb9 100644 --- a/resources/scripts/admin/views/settings/TaxTypesSetting.vue +++ b/resources/scripts/admin/views/settings/TaxTypesSetting.vue @@ -20,7 +20,20 @@ :data="fetchData" :columns="taxTypeColumns" > - + +