From b120a674b4fa762984a3256d4b7581d1d276bdb2 Mon Sep 17 00:00:00 2001 From: Nolan Ehrstrom Date: Thu, 2 Apr 2026 11:45:55 -0700 Subject: [PATCH 01/14] Use temporary upgrade for for open telemetry --- composer.json | 6 +++++- composer.lock | 43 ++++++++++++++++++++++++------------------- 2 files changed, 29 insertions(+), 20 deletions(-) diff --git a/composer.json b/composer.json index e013ed4c19..78c5092884 100644 --- a/composer.json +++ b/composer.json @@ -39,7 +39,7 @@ "mustache/mustache": "^2.14", "open-telemetry/api": "^1.8", "open-telemetry/exporter-otlp": "^1.3", - "open-telemetry/opentelemetry-auto-laravel": "^1.4", + "open-telemetry/opentelemetry-auto-laravel": "dev-l13-compatibility#f75f99115d675bafd54f20813bdaccf7a35dfb94", "open-telemetry/transport-grpc": "^1.1", "openai-php/client": "^0.18.0", "openai-php/laravel": "^0.18.0", @@ -220,6 +220,10 @@ ] }, "repositories": [ + { + "type": "vcs", + "url": "https://github.com/laravel-shift/contrib-auto-laravel.git" + }, { "type": "vcs", "url": "https://github.com/ProcessMaker/SocialiteProviders" diff --git a/composer.lock b/composer.lock index d249ab34ac..55e5f8cb8b 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "ab42dc3cdc9d04e26b554fce98a09f2c", + "content-hash": "b46b1bb8f4b4db3d70206b5b3b678b6c", "packages": [ { "name": "babenkoivan/elastic-adapter", @@ -5971,23 +5971,23 @@ }, { "name": "open-telemetry/opentelemetry-auto-laravel", - "version": "1.4.0", + "version": "dev-l13-compatibility", "source": { "type": "git", - "url": "https://github.com/opentelemetry-php/contrib-auto-laravel.git", - "reference": "fa6e0c9189cf559a5d83983bc313eea16d2b6b52" + "url": "https://github.com/laravel-shift/contrib-auto-laravel.git", + "reference": "f75f99115d675bafd54f20813bdaccf7a35dfb94" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/opentelemetry-php/contrib-auto-laravel/zipball/fa6e0c9189cf559a5d83983bc313eea16d2b6b52", - "reference": "fa6e0c9189cf559a5d83983bc313eea16d2b6b52", + "url": "https://api.github.com/repos/laravel-shift/contrib-auto-laravel/zipball/f75f99115d675bafd54f20813bdaccf7a35dfb94", + "reference": "f75f99115d675bafd54f20813bdaccf7a35dfb94", "shasum": "" }, "require": { "ext-json": "*", "ext-opentelemetry": "*", - "laravel/framework": "^6.0 || ^7.0 || ^8.0 || ^9.0 || ^10.0 || ^11.0 || ^12.0", - "open-telemetry/api": "^1.6", + "laravel/framework": "^6.0 || ^7.0 || ^8.0 || ^9.0 || ^10.0 || ^11.0 || ^12.0 || ^13.0", + "open-telemetry/api": "^1.8", "open-telemetry/sem-conv": "^1.32", "php": "^8.1" }, @@ -5997,14 +5997,14 @@ "nunomaduro/collision": "*", "open-telemetry/sdk": "^1.8", "orchestra/testbench": ">=7.41.3", - "phan/phan": "^5.0", + "phan/phan": "^5.0 || ^6.0", "php-http/mock-client": "*", - "phpstan/phpstan": "^1.1", - "phpstan/phpstan-phpunit": "^1.0", - "phpunit/phpunit": "^9.5", + "phpstan/phpstan": "^1.1 || ^2.1", + "phpstan/phpstan-phpunit": "^1.0 || ^2.0", + "phpunit/phpunit": "^9.5 || ^12.5.12", "psalm/plugin-phpunit": "^0.19.2", "spatie/laravel-ignition": "*", - "vimeo/psalm": "6.4.0" + "vimeo/psalm": "6.4.0 || ^6.15" }, "suggest": { "open-telemetry/opentelemetry-propagation-server-timing": "Automatically propagate the context to the client through server-timing headers.", @@ -6012,19 +6012,23 @@ }, "type": "library", "autoload": { + "psr-4": { + "OpenTelemetry\\Contrib\\Instrumentation\\Laravel\\": "src/" + }, "files": [ "_register.php" - ], + ] + }, + "autoload-dev": { "psr-4": { - "OpenTelemetry\\Contrib\\Instrumentation\\Laravel\\": "src/" + "OpenTelemetry\\Tests\\Contrib\\Instrumentation\\Laravel\\": "tests/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "Apache-2.0" ], "description": "OpenTelemetry auto-instrumentation for Laravel", - "homepage": "https://opentelemetry.io/docs/php", + "homepage": "https://opentelemetry.io/docs/languages/php/", "keywords": [ "instrumentation", "laravel", @@ -6034,9 +6038,9 @@ "tracing" ], "support": { - "source": "https://github.com/opentelemetry-php/contrib-auto-laravel/tree/1.4.0" + "source": "https://github.com/laravel-shift/contrib-auto-laravel/tree/l13-compatibility" }, - "time": "2025-09-23T23:14:02+00:00" + "time": "2026-03-05T19:47:15+00:00" }, { "name": "open-telemetry/sdk", @@ -15843,6 +15847,7 @@ "aliases": [], "minimum-stability": "dev", "stability-flags": { + "open-telemetry/opentelemetry-auto-laravel": 20, "processmaker/laravel-i18next": 20 }, "prefer-stable": true, From f10f3b4f146c32b309abd24c65ccfd73d116e26d Mon Sep 17 00:00:00 2001 From: Nolan Ehrstrom Date: Thu, 2 Apr 2026 12:27:34 -0700 Subject: [PATCH 02/14] Remove unused packages --- .../Console/Commands/IndexedSearchEnable.php | 5 +- composer.json | 10 +- composer.lock | 852 ++++-------------- config/app.php | 1 - config/scout.php | 22 - 5 files changed, 168 insertions(+), 722 deletions(-) diff --git a/ProcessMaker/Console/Commands/IndexedSearchEnable.php b/ProcessMaker/Console/Commands/IndexedSearchEnable.php index b71f1f6df6..35cdbaf9c0 100644 --- a/ProcessMaker/Console/Commands/IndexedSearchEnable.php +++ b/ProcessMaker/Console/Commands/IndexedSearchEnable.php @@ -123,9 +123,8 @@ private function setConfig($driver, $url = null, $prefix = null) $env .= "\n\nSCOUT_DRIVER={$driver}"; $env .= "\nELASTIC_HOST={$url}"; break; - case 'sqlite': - $driver = 'tntsearch'; - $env .= "\n\nSCOUT_DRIVER={$driver}"; + default: + throw new \Exception('Only Elasticsearch is supported for indexed search.'); break; } diff --git a/composer.json b/composer.json index 78c5092884..9a5f816722 100644 --- a/composer.json +++ b/composer.json @@ -30,7 +30,6 @@ "laravel/scout": "^10.11", "laravel/telescope": "^5.2", "laravel/tinker": "^2.10", - "laravel/ui": "^4.6", "lavary/laravel-menu": "^1.8", "lcobucci/jwt": "^5.6", "league/commonmark": "^2.8.1", @@ -41,7 +40,6 @@ "open-telemetry/exporter-otlp": "^1.3", "open-telemetry/opentelemetry-auto-laravel": "dev-l13-compatibility#f75f99115d675bafd54f20813bdaccf7a35dfb94", "open-telemetry/transport-grpc": "^1.1", - "openai-php/client": "^0.18.0", "openai-php/laravel": "^0.18.0", "paragonie/sodium_compat": "^2.5", "php-amqplib/php-amqplib": "^3.7", @@ -71,17 +69,15 @@ "spomky-labs/otphp": "^11.3", "symfony/expression-language": "^7.2", "symfony/http-foundation": "^7.3", - "teamtnt/laravel-scout-tntsearch-driver": "^15.0", "twilio/sdk": "^8.3", "typo3/class-alias-loader": "^1.2", "whichbrowser/parser": "^2.1" }, "require-dev": { "filp/whoops": "^2.16", - "laravel/dusk": "^8.2", + "laravel/boost": "^2.4", "mockery/mockery": "^1.6", "phpunit/phpunit": "^12.5.8", - "spatie/laravel-ignition": "^2.9", "squizlabs/php_codesniffer": "^3.11", "symfony/dom-crawler": "^7.2" }, @@ -220,6 +216,10 @@ ] }, "repositories": [ + { + "type": "vcs", + "url": "https://github.com/ProcessMaker/pmql.git" + }, { "type": "vcs", "url": "https://github.com/laravel-shift/contrib-auto-laravel.git" diff --git a/composer.lock b/composer.lock index 55e5f8cb8b..60f6b7f835 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "b46b1bb8f4b4db3d70206b5b3b678b6c", + "content-hash": "3abec45bf2181fcb471f488d28589b12", "packages": [ { "name": "babenkoivan/elastic-adapter", @@ -3528,69 +3528,6 @@ }, "time": "2025-12-19T19:16:45+00:00" }, - { - "name": "laravel/ui", - "version": "v4.6.1", - "source": { - "type": "git", - "url": "https://github.com/laravel/ui.git", - "reference": "7d6ffa38d79f19c9b3e70a751a9af845e8f41d88" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/laravel/ui/zipball/7d6ffa38d79f19c9b3e70a751a9af845e8f41d88", - "reference": "7d6ffa38d79f19c9b3e70a751a9af845e8f41d88", - "shasum": "" - }, - "require": { - "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|^10.0", - "phpunit/phpunit": "^9.3|^10.4|^11.5" - }, - "type": "library", - "extra": { - "laravel": { - "providers": [ - "Laravel\\Ui\\UiServiceProvider" - ] - }, - "branch-alias": { - "dev-master": "4.x-dev" - } - }, - "autoload": { - "psr-4": { - "Laravel\\Ui\\": "src/", - "Illuminate\\Foundation\\Auth\\": "auth-backend/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "description": "Laravel UI utilities and presets.", - "keywords": [ - "laravel", - "ui" - ], - "support": { - "source": "https://github.com/laravel/ui/tree/v4.6.1" - }, - "time": "2025-01-28T15:15:29+00:00" - }, { "name": "lavary/laravel-menu", "version": "v1.8.4", @@ -12583,152 +12520,6 @@ }, "time": "2025-06-29T15:42:06+00:00" }, - { - "name": "teamtnt/laravel-scout-tntsearch-driver", - "version": "v15.0.0", - "source": { - "type": "git", - "url": "https://github.com/teamtnt/laravel-scout-tntsearch-driver.git", - "reference": "2714ee2d6117aedc07cbb73c1556f8dc13da817c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/teamtnt/laravel-scout-tntsearch-driver/zipball/2714ee2d6117aedc07cbb73c1556f8dc13da817c", - "reference": "2714ee2d6117aedc07cbb73c1556f8dc13da817c", - "shasum": "" - }, - "require": { - "illuminate/bus": "~5.4|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0", - "illuminate/contracts": "~5.4|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0", - "illuminate/pagination": "~5.4|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0", - "illuminate/queue": "~5.4|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0", - "illuminate/support": "~5.4|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0", - "laravel/scout": "7.*|^8.0|^8.3|^9.0|^10", - "php": ">=7.1|^8", - "teamtnt/tntsearch": "2.7.0|^2.8|^3.0|^4.0" - }, - "require-dev": { - "mockery/mockery": "^1.0", - "phpstan/phpstan": "^2.1", - "phpunit/phpunit": "^7.0|^8.0|^9.0|^10.5" - }, - "suggest": { - "teamtnt/tntsearch": "Required to use the TNTSearch engine." - }, - "type": "library", - "extra": { - "laravel": { - "providers": [ - "TeamTNT\\Scout\\TNTSearchScoutServiceProvider" - ] - }, - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "psr-4": { - "TeamTNT\\Scout\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "TNT Studio", - "email": "info@tntstudio.hr" - } - ], - "description": "Driver for Laravel Scout search package based on https://github.com/teamtnt/tntsearch", - "keywords": [ - "laravel", - "scout", - "search", - "tntsearch" - ], - "support": { - "issues": "https://github.com/teamtnt/laravel-scout-tntsearch-driver/issues", - "source": "https://github.com/teamtnt/laravel-scout-tntsearch-driver/tree/v15.0.0" - }, - "funding": [ - { - "url": "https://github.com/teamtnt", - "type": "github" - } - ], - "time": "2025-02-18T19:15:04+00:00" - }, - { - "name": "teamtnt/tntsearch", - "version": "v4.4.0", - "source": { - "type": "git", - "url": "https://github.com/teamtnt/tntsearch.git", - "reference": "781e0eec1a1f56db0cdc2936849c508482b25547" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/teamtnt/tntsearch/zipball/781e0eec1a1f56db0cdc2936849c508482b25547", - "reference": "781e0eec1a1f56db0cdc2936849c508482b25547", - "shasum": "" - }, - "require": { - "ext-mbstring": "*", - "php": "~7.1|^8", - "predis/predis": "^2.2" - }, - "require-dev": { - "phpunit/phpunit": "7.*|8.*|9.*", - "symfony/var-dumper": "^4|^5.2" - }, - "type": "library", - "autoload": { - "files": [ - "helper/helpers.php" - ], - "psr-4": { - "TeamTNT\\TNTSearch\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nenad Tičarić", - "email": "nticaric@gmail.com", - "homepage": "http://www.tntstudio.us", - "role": "Developer" - } - ], - "description": "A fully featured full text search engine written in PHP", - "homepage": "https://github.com/teamtnt/tntsearch", - "keywords": [ - "Fuzzy search", - "bm25", - "fulltext", - "geosearch", - "search", - "stemming", - "teamtnt", - "text classification", - "tntsearch" - ], - "support": { - "issues": "https://github.com/teamtnt/tntsearch/issues", - "source": "https://github.com/teamtnt/tntsearch/tree/v4.4.0" - }, - "funding": [ - { - "url": "https://github.com/teamtnt", - "type": "github" - } - ], - "time": "2024-12-13T08:58:55+00:00" - }, { "name": "tijsverkoyen/css-to-inline-styles", "version": "v2.4.0", @@ -13406,55 +13197,120 @@ "time": "2025-04-30T06:54:44+00:00" }, { - "name": "laravel/dusk", - "version": "v8.3.4", + "name": "laravel/boost", + "version": "v2.4.1", "source": { "type": "git", - "url": "https://github.com/laravel/dusk.git", - "reference": "33a4211c7b63ffe430bf30ec3c014012dcb6dfa6" + "url": "https://github.com/laravel/boost.git", + "reference": "f6241df9fd81a86d79a051851177d4ffe3e28506" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/dusk/zipball/33a4211c7b63ffe430bf30ec3c014012dcb6dfa6", - "reference": "33a4211c7b63ffe430bf30ec3c014012dcb6dfa6", + "url": "https://api.github.com/repos/laravel/boost/zipball/f6241df9fd81a86d79a051851177d4ffe3e28506", + "reference": "f6241df9fd81a86d79a051851177d4ffe3e28506", "shasum": "" }, "require": { - "ext-json": "*", - "ext-zip": "*", - "guzzlehttp/guzzle": "^7.5", - "illuminate/console": "^10.0|^11.0|^12.0", - "illuminate/support": "^10.0|^11.0|^12.0", - "php": "^8.1", - "php-webdriver/webdriver": "^1.15.2", - "symfony/console": "^6.2|^7.0", - "symfony/finder": "^6.2|^7.0", - "symfony/process": "^6.2|^7.0", - "vlucas/phpdotenv": "^5.2" + "guzzlehttp/guzzle": "^7.9", + "illuminate/console": "^11.45.3|^12.41.1|^13.0", + "illuminate/contracts": "^11.45.3|^12.41.1|^13.0", + "illuminate/routing": "^11.45.3|^12.41.1|^13.0", + "illuminate/support": "^11.45.3|^12.41.1|^13.0", + "laravel/mcp": "^0.5.1|^0.6.0", + "laravel/prompts": "^0.3.10", + "laravel/roster": "^0.5.0", + "php": "^8.2" }, "require-dev": { - "laravel/framework": "^10.0|^11.0|^12.0", - "mockery/mockery": "^1.6", - "orchestra/testbench-core": "^8.19|^9.17|^10.8", - "phpstan/phpstan": "^1.10", - "phpunit/phpunit": "^10.1|^11.0|^12.0.1", - "psy/psysh": "^0.11.12|^0.12", - "symfony/yaml": "^6.2|^7.0" + "laravel/pint": "^1.27.0", + "mockery/mockery": "^1.6.12", + "orchestra/testbench": "^9.15.0|^10.6|^11.0", + "pestphp/pest": "^2.36.0|^3.8.4|^4.1.5", + "phpstan/phpstan": "^2.1.27", + "rector/rector": "^2.1" }, - "suggest": { - "ext-pcntl": "Used to gracefully terminate Dusk when tests are running." + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Laravel\\Boost\\BoostServiceProvider" + ] + }, + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Laravel\\Boost\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Laravel Boost accelerates AI-assisted development by providing the essential context and structure that AI needs to generate high-quality, Laravel-specific code.", + "homepage": "https://github.com/laravel/boost", + "keywords": [ + "ai", + "dev", + "laravel" + ], + "support": { + "issues": "https://github.com/laravel/boost/issues", + "source": "https://github.com/laravel/boost" + }, + "time": "2026-03-25T16:37:40+00:00" + }, + { + "name": "laravel/mcp", + "version": "v0.6.5", + "source": { + "type": "git", + "url": "https://github.com/laravel/mcp.git", + "reference": "583a6282bf0f074d754f7ff5cd1fff9d34244691" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/mcp/zipball/583a6282bf0f074d754f7ff5cd1fff9d34244691", + "reference": "583a6282bf0f074d754f7ff5cd1fff9d34244691", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-mbstring": "*", + "illuminate/console": "^11.45.3|^12.41.1|^13.0", + "illuminate/container": "^11.45.3|^12.41.1|^13.0", + "illuminate/contracts": "^11.45.3|^12.41.1|^13.0", + "illuminate/http": "^11.45.3|^12.41.1|^13.0", + "illuminate/json-schema": "^12.41.1|^13.0", + "illuminate/routing": "^11.45.3|^12.41.1|^13.0", + "illuminate/support": "^11.45.3|^12.41.1|^13.0", + "illuminate/validation": "^11.45.3|^12.41.1|^13.0", + "php": "^8.2" + }, + "require-dev": { + "laravel/pint": "^1.20", + "orchestra/testbench": "^9.15|^10.8|^11.0", + "pestphp/pest": "^3.8.5|^4.3.2", + "phpstan/phpstan": "^2.1.27", + "rector/rector": "^2.2.4" }, "type": "library", "extra": { "laravel": { + "aliases": { + "Mcp": "Laravel\\Mcp\\Server\\Facades\\Mcp" + }, "providers": [ - "Laravel\\Dusk\\DuskServiceProvider" + "Laravel\\Mcp\\Server\\McpServiceProvider" ] } }, "autoload": { "psr-4": { - "Laravel\\Dusk\\": "src/" + "Laravel\\Mcp\\": "src/", + "Laravel\\Mcp\\Server\\": "src/Server/" } }, "notification-url": "https://packagist.org/downloads/", @@ -13467,17 +13323,78 @@ "email": "taylor@laravel.com" } ], - "description": "Laravel Dusk provides simple end-to-end testing and browser automation.", + "description": "Rapidly build MCP servers for your Laravel applications.", + "homepage": "https://github.com/laravel/mcp", "keywords": [ "laravel", - "testing", - "webdriver" + "mcp" ], "support": { - "issues": "https://github.com/laravel/dusk/issues", - "source": "https://github.com/laravel/dusk/tree/v8.3.4" + "issues": "https://github.com/laravel/mcp/issues", + "source": "https://github.com/laravel/mcp" }, - "time": "2025-11-20T16:26:16+00:00" + "time": "2026-03-30T19:17:10+00:00" + }, + { + "name": "laravel/roster", + "version": "v0.5.1", + "source": { + "type": "git", + "url": "https://github.com/laravel/roster.git", + "reference": "5089de7615f72f78e831590ff9d0435fed0102bb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/roster/zipball/5089de7615f72f78e831590ff9d0435fed0102bb", + "reference": "5089de7615f72f78e831590ff9d0435fed0102bb", + "shasum": "" + }, + "require": { + "illuminate/console": "^11.0|^12.0|^13.0", + "illuminate/contracts": "^11.0|^12.0|^13.0", + "illuminate/routing": "^11.0|^12.0|^13.0", + "illuminate/support": "^11.0|^12.0|^13.0", + "php": "^8.2", + "symfony/yaml": "^7.2|^8.0" + }, + "require-dev": { + "laravel/pint": "^1.14", + "mockery/mockery": "^1.6", + "orchestra/testbench": "^9.0|^10.0|^11.0", + "pestphp/pest": "^3.0|^4.1", + "phpstan/phpstan": "^2.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Laravel\\Roster\\RosterServiceProvider" + ] + }, + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Laravel\\Roster\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Detect packages & approaches in use within a Laravel project", + "homepage": "https://github.com/laravel/roster", + "keywords": [ + "dev", + "laravel" + ], + "support": { + "issues": "https://github.com/laravel/roster/issues", + "source": "https://github.com/laravel/roster" + }, + "time": "2026-03-05T07:58:43+00:00" }, { "name": "masterminds/html5", @@ -13807,72 +13724,6 @@ }, "time": "2022-02-21T01:04:05+00:00" }, - { - "name": "php-webdriver/webdriver", - "version": "1.16.0", - "source": { - "type": "git", - "url": "https://github.com/php-webdriver/php-webdriver.git", - "reference": "ac0662863aa120b4f645869f584013e4c4dba46a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-webdriver/php-webdriver/zipball/ac0662863aa120b4f645869f584013e4c4dba46a", - "reference": "ac0662863aa120b4f645869f584013e4c4dba46a", - "shasum": "" - }, - "require": { - "ext-curl": "*", - "ext-json": "*", - "ext-zip": "*", - "php": "^7.3 || ^8.0", - "symfony/polyfill-mbstring": "^1.12", - "symfony/process": "^5.0 || ^6.0 || ^7.0 || ^8.0" - }, - "replace": { - "facebook/webdriver": "*" - }, - "require-dev": { - "ergebnis/composer-normalize": "^2.20.0", - "ondram/ci-detector": "^4.0", - "php-coveralls/php-coveralls": "^2.4", - "php-mock/php-mock-phpunit": "^2.0", - "php-parallel-lint/php-parallel-lint": "^1.2", - "phpunit/phpunit": "^9.3", - "squizlabs/php_codesniffer": "^3.5", - "symfony/var-dumper": "^5.0 || ^6.0 || ^7.0 || ^8.0" - }, - "suggest": { - "ext-simplexml": "For Firefox profile creation" - }, - "type": "library", - "autoload": { - "files": [ - "lib/Exception/TimeoutException.php" - ], - "psr-4": { - "Facebook\\WebDriver\\": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "A PHP client for Selenium WebDriver. Previously facebook/webdriver.", - "homepage": "https://github.com/php-webdriver/php-webdriver", - "keywords": [ - "Chromedriver", - "geckodriver", - "php", - "selenium", - "webdriver" - ], - "support": { - "issues": "https://github.com/php-webdriver/php-webdriver/issues", - "source": "https://github.com/php-webdriver/php-webdriver/tree/1.16.0" - }, - "time": "2025-12-28T23:57:40+00:00" - }, { "name": "phpunit/php-code-coverage", "version": "12.5.2", @@ -15209,387 +15060,6 @@ ], "time": "2025-02-07T05:00:38+00:00" }, - { - "name": "spatie/backtrace", - "version": "1.8.1", - "source": { - "type": "git", - "url": "https://github.com/spatie/backtrace.git", - "reference": "8c0f16a59ae35ec8c62d85c3c17585158f430110" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spatie/backtrace/zipball/8c0f16a59ae35ec8c62d85c3c17585158f430110", - "reference": "8c0f16a59ae35ec8c62d85c3c17585158f430110", - "shasum": "" - }, - "require": { - "php": "^7.3 || ^8.0" - }, - "require-dev": { - "ext-json": "*", - "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": { - "psr-4": { - "Spatie\\Backtrace\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Freek Van de Herten", - "email": "freek@spatie.be", - "homepage": "https://spatie.be", - "role": "Developer" - } - ], - "description": "A better backtrace", - "homepage": "https://github.com/spatie/backtrace", - "keywords": [ - "Backtrace", - "spatie" - ], - "support": { - "issues": "https://github.com/spatie/backtrace/issues", - "source": "https://github.com/spatie/backtrace/tree/1.8.1" - }, - "funding": [ - { - "url": "https://github.com/sponsors/spatie", - "type": "github" - }, - { - "url": "https://spatie.be/open-source/support-us", - "type": "other" - } - ], - "time": "2025-08-26T08:22:30+00:00" - }, - { - "name": "spatie/error-solutions", - "version": "1.1.3", - "source": { - "type": "git", - "url": "https://github.com/spatie/error-solutions.git", - "reference": "e495d7178ca524f2dd0fe6a1d99a1e608e1c9936" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spatie/error-solutions/zipball/e495d7178ca524f2dd0fe6a1d99a1e608e1c9936", - "reference": "e495d7178ca524f2dd0fe6a1d99a1e608e1c9936", - "shasum": "" - }, - "require": { - "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.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", - "symfony/var-dumper": "^5.2|^6.0|^7.0" - }, - "require-dev": { - "dms/phpunit-arraysubset-asserts": "^0.5.0", - "pestphp/pest": "^1.20|^2.0", - "phpstan/extension-installer": "^1.1", - "phpstan/phpstan-deprecation-rules": "^1.0", - "phpstan/phpstan-phpunit": "^1.0", - "spatie/pest-plugin-snapshots": "^1.0|^2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.3.x-dev" - } - }, - "autoload": { - "files": [ - "src/helpers.php" - ], - "psr-4": { - "Spatie\\FlareClient\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Send PHP errors to Flare", - "homepage": "https://github.com/spatie/flare-client-php", - "keywords": [ - "exception", - "flare", - "reporting", - "spatie" - ], - "support": { - "issues": "https://github.com/spatie/flare-client-php/issues", - "source": "https://github.com/spatie/flare-client-php/tree/1.10.1" - }, - "funding": [ - { - "url": "https://github.com/spatie", - "type": "github" - } - ], - "time": "2025-02-14T13:42:06+00:00" - }, - { - "name": "spatie/ignition", - "version": "1.15.1", - "source": { - "type": "git", - "url": "https://github.com/spatie/ignition.git", - "reference": "31f314153020aee5af3537e507fef892ffbf8c85" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spatie/ignition/zipball/31f314153020aee5af3537e507fef892ffbf8c85", - "reference": "31f314153020aee5af3537e507fef892ffbf8c85", - "shasum": "" - }, - "require": { - "ext-json": "*", - "ext-mbstring": "*", - "php": "^8.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|^12.0", - "mockery/mockery": "^1.4", - "pestphp/pest": "^1.20|^2.0", - "phpstan/extension-installer": "^1.1", - "phpstan/phpstan-deprecation-rules": "^1.0", - "phpstan/phpstan-phpunit": "^1.0", - "psr/simple-cache-implementation": "*", - "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", - "extra": { - "branch-alias": { - "dev-main": "1.5.x-dev" - } - }, - "autoload": { - "psr-4": { - "Spatie\\Ignition\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Spatie", - "email": "info@spatie.be", - "role": "Developer" - } - ], - "description": "A beautiful error page for PHP applications.", - "homepage": "https://flareapp.io/ignition", - "keywords": [ - "error", - "flare", - "laravel", - "page" - ], - "support": { - "docs": "https://flareapp.io/docs/ignition-for-laravel/introduction", - "forum": "https://twitter.com/flareappio", - "issues": "https://github.com/spatie/ignition/issues", - "source": "https://github.com/spatie/ignition" - }, - "funding": [ - { - "url": "https://github.com/spatie", - "type": "github" - } - ], - "time": "2025-02-21T14:31:39+00:00" - }, - { - "name": "spatie/laravel-ignition", - "version": "2.9.1", - "source": { - "type": "git", - "url": "https://github.com/spatie/laravel-ignition.git", - "reference": "1baee07216d6748ebd3a65ba97381b051838707a" - }, - "dist": { - "type": "zip", - "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|^12.0", - "php": "^8.1", - "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|^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|^2.0", - "phpstan/phpstan-phpunit": "^1.3.16|^2.0", - "vlucas/phpdotenv": "^5.5" - }, - "suggest": { - "openai-php/client": "Require get solutions from OpenAI", - "psr/simple-cache-implementation": "Needed to cache solutions from OpenAI" - }, - "type": "library", - "extra": { - "laravel": { - "aliases": { - "Flare": "Spatie\\LaravelIgnition\\Facades\\Flare" - }, - "providers": [ - "Spatie\\LaravelIgnition\\IgnitionServiceProvider" - ] - } - }, - "autoload": { - "files": [ - "src/helpers.php" - ], - "psr-4": { - "Spatie\\LaravelIgnition\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Spatie", - "email": "info@spatie.be", - "role": "Developer" - } - ], - "description": "A beautiful error page for Laravel applications.", - "homepage": "https://flareapp.io/ignition", - "keywords": [ - "error", - "flare", - "laravel", - "page" - ], - "support": { - "docs": "https://flareapp.io/docs/ignition-for-laravel/introduction", - "forum": "https://twitter.com/flareappio", - "issues": "https://github.com/spatie/laravel-ignition/issues", - "source": "https://github.com/spatie/laravel-ignition" - }, - "funding": [ - { - "url": "https://github.com/spatie", - "type": "github" - } - ], - "time": "2025-02-20T13:13:55+00:00" - }, { "name": "squizlabs/php_codesniffer", "version": "3.13.5", diff --git a/config/app.php b/config/app.php index 0763c9babd..e9662bec3b 100644 --- a/config/app.php +++ b/config/app.php @@ -179,7 +179,6 @@ */ Laravel\Passport\PassportServiceProvider::class, Laravel\Scout\ScoutServiceProvider::class, - TeamTNT\Scout\TNTSearchScoutServiceProvider::class, Jenssegers\Agent\AgentServiceProvider::class, /** diff --git a/config/scout.php b/config/scout.php index 9546053b4a..98418b5270 100644 --- a/config/scout.php +++ b/config/scout.php @@ -87,26 +87,4 @@ 'id' => env('ALGOLIA_APP_ID', ''), 'secret' => env('ALGOLIA_SECRET', ''), ], - - /* - |-------------------------------------------------------------------------- - | TNTSearch Configuration - |-------------------------------------------------------------------------- - | - | Here you may configure your TNTSearch settings. - | - */ - - 'tntsearch' => [ - 'storage' => storage_path('search'), //place where the index files will be stored - 'fuzziness' => env('TNTSEARCH_FUZZINESS', false), - 'fuzzy' => [ - 'prefix_length' => 2, - 'max_expansions' => 50, - 'distance' => 2, - ], - 'asYouType' => false, - 'searchBoolean' => env('TNTSEARCH_BOOLEAN', false), - ], - ]; From dbaceb892d44c83636233ae57264fecbaf63f0a2 Mon Sep 17 00:00:00 2001 From: Nolan Ehrstrom Date: Thu, 2 Apr 2026 13:13:30 -0700 Subject: [PATCH 03/14] Update dependencies for laravel 13 --- composer.json | 36 +- composer.lock | 1585 ++++++++++++++++++++++++++----------------------- 2 files changed, 863 insertions(+), 758 deletions(-) diff --git a/composer.json b/composer.json index 9a5f816722..32def8fd5d 100644 --- a/composer.json +++ b/composer.json @@ -13,9 +13,9 @@ "php": "^8.4", "babenkoivan/elastic-scout-driver": "^4.0", "bacon/bacon-qr-code": "^2.0", - "codegreencreative/laravel-samlidp": "^5.2", + "codegreencreative/laravel-samlidp": "^5.4", "composer/semver": "^3.4", - "darkaonline/l5-swagger": "^9.0.1", + "darkaonline/l5-swagger": "^11.0", "doctrine/dbal": "^4.2", "fakerphp/faker": "^1.24", "google/apiclient": "^2.18", @@ -23,36 +23,36 @@ "guzzlehttp/guzzle": "^7.9", "igaster/laravel-theme": "^2.0", "jenssegers/agent": "^2.6", - "laravel/framework": "^12.47", - "laravel/horizon": "^5.30", + "laravel/framework": "^13.0", + "laravel/horizon": "^5.45", "laravel/pail": "^1.2", - "laravel/passport": "^13.4", - "laravel/scout": "^10.11", - "laravel/telescope": "^5.2", - "laravel/tinker": "^2.10", + "laravel/passport": "^13.7", + "laravel/scout": "^11.1", + "laravel/telescope": "^5.19", + "laravel/tinker": "^3.0", "lavary/laravel-menu": "^1.8", "lcobucci/jwt": "^5.6", "league/commonmark": "^2.8.1", - "mateusjunges/laravel-kafka": "^2.10", + "mateusjunges/laravel-kafka": "^2.11", "mittwald/vault-php": "^2.1", "mustache/mustache": "^2.14", "open-telemetry/api": "^1.8", "open-telemetry/exporter-otlp": "^1.3", "open-telemetry/opentelemetry-auto-laravel": "dev-l13-compatibility#f75f99115d675bafd54f20813bdaccf7a35dfb94", "open-telemetry/transport-grpc": "^1.1", - "openai-php/laravel": "^0.18.0", + "openai-php/laravel": "^0.19.1", "paragonie/sodium_compat": "^2.5", "php-amqplib/php-amqplib": "^3.7", "php-http/promise": "~1.2.0", "phpseclib/phpseclib": "^3.0.50", - "pion/laravel-chunk-upload": "^1.5", + "pion/laravel-chunk-upload": "dev-laravel-13-support#b32bfb637d5af6501a9fe703393f812e7d6c8458", "predis/predis": "^2.3", "processmaker/docker-executor-lua": "^1.0", "processmaker/docker-executor-node": "1.1.0", "processmaker/docker-executor-php": "1.4.1", "processmaker/laravel-i18next": "dev-master", "processmaker/nayra": "1.12.4", - "processmaker/pmql": "1.13.2", + "processmaker/pmql": "dev-task/FOUR-28803#a650ca80d98865dc52a4ceba44ed564ad4096d6e", "promphp/prometheus_client_php": "^2.12", "psr/http-message": "^2.0", "psr/log": "^3.0", @@ -62,10 +62,10 @@ "ralouphie/getallheaders": "^3.0", "robrichards/xmlseclibs": "^3.1.5", "simplesoftwareio/simple-qrcode": "*", - "spatie/laravel-fractal": "^6.3", - "spatie/laravel-html": "^3.11", - "spatie/laravel-medialibrary": "^11.11", - "spatie/laravel-multitenancy": "^4.0", + "spatie/laravel-fractal": "^6.4", + "spatie/laravel-html": "^3.13", + "spatie/laravel-medialibrary": "^11.21", + "spatie/laravel-multitenancy": "^4.0.9", "spomky-labs/otphp": "^11.3", "symfony/expression-language": "^7.2", "symfony/http-foundation": "^7.3", @@ -220,6 +220,10 @@ "type": "vcs", "url": "https://github.com/ProcessMaker/pmql.git" }, + { + "type": "vcs", + "url": "https://github.com/hsndmr/laravel-chunk-upload.git" + }, { "type": "vcs", "url": "https://github.com/laravel-shift/contrib-auto-laravel.git" diff --git a/composer.lock b/composer.lock index 60f6b7f835..2475750468 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "3abec45bf2181fcb471f488d28589b12", + "content-hash": "3b14ccdc98e95c6f6ab9acbb551ee1cf", "packages": [ { "name": "babenkoivan/elastic-adapter", @@ -340,16 +340,16 @@ }, { "name": "brick/math", - "version": "0.14.1", + "version": "0.14.8", "source": { "type": "git", "url": "https://github.com/brick/math.git", - "reference": "f05858549e5f9d7bb45875a75583240a38a281d0" + "reference": "63422359a44b7f06cae63c3b429b59e8efcc0629" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/brick/math/zipball/f05858549e5f9d7bb45875a75583240a38a281d0", - "reference": "f05858549e5f9d7bb45875a75583240a38a281d0", + "url": "https://api.github.com/repos/brick/math/zipball/63422359a44b7f06cae63c3b429b59e8efcc0629", + "reference": "63422359a44b7f06cae63c3b429b59e8efcc0629", "shasum": "" }, "require": { @@ -388,7 +388,7 @@ ], "support": { "issues": "https://github.com/brick/math/issues", - "source": "https://github.com/brick/math/tree/0.14.1" + "source": "https://github.com/brick/math/tree/0.14.8" }, "funding": [ { @@ -396,7 +396,7 @@ "type": "github" } ], - "time": "2025-11-24T14:40:29+00:00" + "time": "2026-02-10T14:33:43+00:00" }, { "name": "carbonphp/carbon-doctrine-types", @@ -469,23 +469,23 @@ }, { "name": "codegreencreative/laravel-samlidp", - "version": "v5.3.2", + "version": "v5.4.0", "source": { "type": "git", "url": "https://github.com/codegreencreative/laravel-samlidp.git", - "reference": "0fafc59d61518dd64874fa23b90449e8ef532c98" + "reference": "f48a0ca9868ef7d8c2d8e996b6fb4ac03488dcf8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/codegreencreative/laravel-samlidp/zipball/0fafc59d61518dd64874fa23b90449e8ef532c98", - "reference": "0fafc59d61518dd64874fa23b90449e8ef532c98", + "url": "https://api.github.com/repos/codegreencreative/laravel-samlidp/zipball/f48a0ca9868ef7d8c2d8e996b6fb4ac03488dcf8", + "reference": "f48a0ca9868ef7d8c2d8e996b6fb4ac03488dcf8", "shasum": "" }, "require": { "ext-zlib": "*", - "illuminate/routing": "^7.0|^8.0|^9.0|^10.0|^11.0|^12.0", - "illuminate/support": "^7.0|^8.0|^9.0|^10.0|^11.0|^12.0", - "laravel/framework": "^7.0|^8.0|^9.0|^10.0|^11.0|^12.0", + "illuminate/routing": "^7.0|^8.0|^9.0|^10.0|^11.0|^12.0|^13.0", + "illuminate/support": "^7.0|^8.0|^9.0|^10.0|^11.0|^12.0|^13.0", + "laravel/framework": "^7.0|^8.0|^9.0|^10.0|^11.0|^12.0|^13.0", "litesaml/lightsaml": "^4.0", "php": "^7.2.5|^8.0" }, @@ -521,9 +521,9 @@ ], "support": { "issues": "https://github.com/codegreencreative/laravel-samlidp/issues", - "source": "https://github.com/codegreencreative/laravel-samlidp/tree/v5.3.2" + "source": "https://github.com/codegreencreative/laravel-samlidp/tree/v5.4.0" }, - "time": "2025-11-09T19:22:35+00:00" + "time": "2026-02-23T14:43:59+00:00" }, { "name": "composer/semver", @@ -604,30 +604,29 @@ }, { "name": "darkaonline/l5-swagger", - "version": "9.0.1", + "version": "11.0.0", "source": { "type": "git", "url": "https://github.com/DarkaOnLine/L5-Swagger.git", - "reference": "2c26427f8c41db8e72232415e7287313e6b6a2e2" + "reference": "f29bb2b798849e2c68c0b878537c9c17d5bcf73a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/DarkaOnLine/L5-Swagger/zipball/2c26427f8c41db8e72232415e7287313e6b6a2e2", - "reference": "2c26427f8c41db8e72232415e7287313e6b6a2e2", + "url": "https://api.github.com/repos/DarkaOnLine/L5-Swagger/zipball/f29bb2b798849e2c68c0b878537c9c17d5bcf73a", + "reference": "f29bb2b798849e2c68c0b878537c9c17d5bcf73a", "shasum": "" }, "require": { - "doctrine/annotations": "^1.0 || ^2.0", "ext-json": "*", - "laravel/framework": "^12.0 || ^11.0", + "laravel/framework": "^13.0 || ^12.1 || ^11.44", "php": "^8.2", "swagger-api/swagger-ui": ">=5.18.3", "symfony/yaml": "^5.0 || ^6.0 || ^7.0", - "zircote/swagger-php": "^5.0.0" + "zircote/swagger-php": "^6.0" }, "require-dev": { "mockery/mockery": "1.*", - "orchestra/testbench": "^10.0 || ^9.0 || ^8.0 || 7.* || ^6.15 || 5.*", + "orchestra/testbench": "^11.0 || ^10.0 || ^9.0 || ^8.0 || 7.* || ^6.15 || 5.*", "php-coveralls/php-coveralls": "^2.0", "phpstan/phpstan": "^2.1", "phpunit/phpunit": "^11.0" @@ -673,7 +672,7 @@ ], "support": { "issues": "https://github.com/DarkaOnLine/L5-Swagger/issues", - "source": "https://github.com/DarkaOnLine/L5-Swagger/tree/9.0.1" + "source": "https://github.com/DarkaOnLine/L5-Swagger/tree/11.0.0" }, "funding": [ { @@ -681,7 +680,7 @@ "type": "github" } ], - "time": "2025-02-28T06:25:02+00:00" + "time": "2026-03-06T06:23:28+00:00" }, { "name": "dasprid/enum", @@ -875,83 +874,6 @@ }, "time": "2024-07-08T12:26:09+00:00" }, - { - "name": "doctrine/annotations", - "version": "2.0.2", - "source": { - "type": "git", - "url": "https://github.com/doctrine/annotations.git", - "reference": "901c2ee5d26eb64ff43c47976e114bf00843acf7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/annotations/zipball/901c2ee5d26eb64ff43c47976e114bf00843acf7", - "reference": "901c2ee5d26eb64ff43c47976e114bf00843acf7", - "shasum": "" - }, - "require": { - "doctrine/lexer": "^2 || ^3", - "ext-tokenizer": "*", - "php": "^7.2 || ^8.0", - "psr/cache": "^1 || ^2 || ^3" - }, - "require-dev": { - "doctrine/cache": "^2.0", - "doctrine/coding-standard": "^10", - "phpstan/phpstan": "^1.10.28", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", - "symfony/cache": "^5.4 || ^6.4 || ^7", - "vimeo/psalm": "^4.30 || ^5.14" - }, - "suggest": { - "php": "PHP 8.0 or higher comes with attributes, a native replacement for annotations" - }, - "type": "library", - "autoload": { - "psr-4": { - "Doctrine\\Common\\Annotations\\": "lib/Doctrine/Common/Annotations" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - } - ], - "description": "Docblock Annotations Parser", - "homepage": "https://www.doctrine-project.org/projects/annotations.html", - "keywords": [ - "annotations", - "docblock", - "parser" - ], - "support": { - "issues": "https://github.com/doctrine/annotations/issues", - "source": "https://github.com/doctrine/annotations/tree/2.0.2" - }, - "abandoned": true, - "time": "2024-09-05T10:17:24+00:00" - }, { "name": "doctrine/dbal", "version": "4.4.1", @@ -1060,29 +982,29 @@ }, { "name": "doctrine/deprecations", - "version": "1.1.5", + "version": "1.1.6", "source": { "type": "git", "url": "https://github.com/doctrine/deprecations.git", - "reference": "459c2f5dd3d6a4633d3b5f46ee2b1c40f57d3f38" + "reference": "d4fe3e6fd9bb9e72557a19674f44d8ac7db4c6ca" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/deprecations/zipball/459c2f5dd3d6a4633d3b5f46ee2b1c40f57d3f38", - "reference": "459c2f5dd3d6a4633d3b5f46ee2b1c40f57d3f38", + "url": "https://api.github.com/repos/doctrine/deprecations/zipball/d4fe3e6fd9bb9e72557a19674f44d8ac7db4c6ca", + "reference": "d4fe3e6fd9bb9e72557a19674f44d8ac7db4c6ca", "shasum": "" }, "require": { "php": "^7.1 || ^8.0" }, "conflict": { - "phpunit/phpunit": "<=7.5 || >=13" + "phpunit/phpunit": "<=7.5 || >=14" }, "require-dev": { - "doctrine/coding-standard": "^9 || ^12 || ^13", - "phpstan/phpstan": "1.4.10 || 2.1.11", + "doctrine/coding-standard": "^9 || ^12 || ^14", + "phpstan/phpstan": "1.4.10 || 2.1.30", "phpstan/phpstan-phpunit": "^1.0 || ^2", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.6 || ^10.5 || ^11.5 || ^12", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.6 || ^10.5 || ^11.5 || ^12.4 || ^13.0", "psr/log": "^1 || ^2 || ^3" }, "suggest": { @@ -1102,9 +1024,9 @@ "homepage": "https://www.doctrine-project.org/", "support": { "issues": "https://github.com/doctrine/deprecations/issues", - "source": "https://github.com/doctrine/deprecations/tree/1.1.5" + "source": "https://github.com/doctrine/deprecations/tree/1.1.6" }, - "time": "2025-04-07T20:06:18+00:00" + "time": "2026-02-07T07:09:04+00:00" }, { "name": "doctrine/inflector", @@ -1584,16 +1506,16 @@ }, { "name": "firebase/php-jwt", - "version": "v7.0.2", + "version": "v7.0.5", "source": { "type": "git", "url": "https://github.com/firebase/php-jwt.git", - "reference": "5645b43af647b6947daac1d0f659dd1fbe8d3b65" + "reference": "47ad26bab5e7c70ae8a6f08ed25ff83631121380" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/firebase/php-jwt/zipball/5645b43af647b6947daac1d0f659dd1fbe8d3b65", - "reference": "5645b43af647b6947daac1d0f659dd1fbe8d3b65", + "url": "https://api.github.com/repos/firebase/php-jwt/zipball/47ad26bab5e7c70ae8a6f08ed25ff83631121380", + "reference": "47ad26bab5e7c70ae8a6f08ed25ff83631121380", "shasum": "" }, "require": { @@ -1601,6 +1523,7 @@ }, "require-dev": { "guzzlehttp/guzzle": "^7.4", + "phpfastcache/phpfastcache": "^9.2", "phpspec/prophecy-phpunit": "^2.0", "phpunit/phpunit": "^9.5", "psr/cache": "^2.0||^3.0", @@ -1641,22 +1564,22 @@ ], "support": { "issues": "https://github.com/firebase/php-jwt/issues", - "source": "https://github.com/firebase/php-jwt/tree/v7.0.2" + "source": "https://github.com/firebase/php-jwt/tree/v7.0.5" }, - "time": "2025-12-16T22:17:28+00:00" + "time": "2026-04-01T20:38:03+00:00" }, { "name": "flix-tech/avro-php", - "version": "5.1.1", + "version": "5.2.0", "source": { "type": "git", "url": "https://github.com/flix-tech/avro-php.git", - "reference": "1d537bfe4ecab405917d15eee8f2020743fc8596" + "reference": "8c040b4dc4bd9163176cf3d10ac898215d4063ca" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/flix-tech/avro-php/zipball/1d537bfe4ecab405917d15eee8f2020743fc8596", - "reference": "1d537bfe4ecab405917d15eee8f2020743fc8596", + "url": "https://api.github.com/repos/flix-tech/avro-php/zipball/8c040b4dc4bd9163176cf3d10ac898215d4063ca", + "reference": "8c040b4dc4bd9163176cf3d10ac898215d4063ca", "shasum": "" }, "require": { @@ -1682,9 +1605,9 @@ ], "description": "Avro schema encoder/decoder. Fork of rg/avro-php", "support": { - "source": "https://github.com/flix-tech/avro-php/tree/5.1.1" + "source": "https://github.com/flix-tech/avro-php/tree/5.2.0" }, - "time": "2025-01-24T05:04:07+00:00" + "time": "2026-01-27T15:09:55+00:00" }, { "name": "fruitcake/php-cors", @@ -2341,16 +2264,16 @@ }, { "name": "guzzlehttp/psr7", - "version": "2.8.0", + "version": "2.9.0", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "21dc724a0583619cd1652f673303492272778051" + "reference": "7d0ed42f28e42d61352a7a79de682e5e67fec884" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/21dc724a0583619cd1652f673303492272778051", - "reference": "21dc724a0583619cd1652f673303492272778051", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/7d0ed42f28e42d61352a7a79de682e5e67fec884", + "reference": "7d0ed42f28e42d61352a7a79de682e5e67fec884", "shasum": "" }, "require": { @@ -2366,6 +2289,7 @@ "require-dev": { "bamarni/composer-bin-plugin": "^1.8.2", "http-interop/http-factory-tests": "0.9.0", + "jshttp/mime-db": "1.54.0.1", "phpunit/phpunit": "^8.5.44 || ^9.6.25" }, "suggest": { @@ -2437,7 +2361,7 @@ ], "support": { "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/2.8.0" + "source": "https://github.com/guzzle/psr7/tree/2.9.0" }, "funding": [ { @@ -2453,7 +2377,7 @@ "type": "tidelift" } ], - "time": "2025-08-23T21:21:41+00:00" + "time": "2026-03-10T16:41:02+00:00" }, { "name": "guzzlehttp/uri-template", @@ -2741,24 +2665,24 @@ }, { "name": "laravel/framework", - "version": "v12.49.0", + "version": "v13.3.0", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "4bde4530545111d8bdd1de6f545fa8824039fcb5" + "reference": "118b7063c44a2f3421d1646f5ddf08defcfd1db3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/4bde4530545111d8bdd1de6f545fa8824039fcb5", - "reference": "4bde4530545111d8bdd1de6f545fa8824039fcb5", + "url": "https://api.github.com/repos/laravel/framework/zipball/118b7063c44a2f3421d1646f5ddf08defcfd1db3", + "reference": "118b7063c44a2f3421d1646f5ddf08defcfd1db3", "shasum": "" }, "require": { - "brick/math": "^0.11|^0.12|^0.13|^0.14", + "brick/math": "^0.14.2 || ^0.15 || ^0.16 || ^0.17", "composer-runtime-api": "^2.2", "doctrine/inflector": "^2.0.5", "dragonmantank/cron-expression": "^3.4", - "egulias/email-validator": "^3.2.1|^4.0", + "egulias/email-validator": "^4.0", "ext-ctype": "*", "ext-filter": "*", "ext-hash": "*", @@ -2768,35 +2692,35 @@ "ext-tokenizer": "*", "fruitcake/php-cors": "^1.3", "guzzlehttp/guzzle": "^7.8.2", + "guzzlehttp/promises": "^2.0.3", "guzzlehttp/uri-template": "^1.0", "laravel/prompts": "^0.3.0", - "laravel/serializable-closure": "^1.3|^2.0", - "league/commonmark": "^2.7", + "laravel/serializable-closure": "^2.0.10", + "league/commonmark": "^2.8.1", "league/flysystem": "^3.25.1", "league/flysystem-local": "^3.25.1", "league/uri": "^7.5.1", "monolog/monolog": "^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", + "php": "^8.3", + "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.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.33", + "symfony/console": "^7.4.0 || ^8.0.0", + "symfony/error-handler": "^7.4.0 || ^8.0.0", + "symfony/finder": "^7.4.0 || ^8.0.0", + "symfony/http-foundation": "^7.4.0 || ^8.0.0", + "symfony/http-kernel": "^7.4.0 || ^8.0.0", + "symfony/mailer": "^7.4.0 || ^8.0.0", + "symfony/mime": "^7.4.0 || ^8.0.0", "symfony/polyfill-php84": "^1.33", "symfony/polyfill-php85": "^1.33", - "symfony/process": "^7.2.0", - "symfony/routing": "^7.2.0", - "symfony/uid": "^7.2.0", - "symfony/var-dumper": "^7.2.0", + "symfony/process": "^7.4.5 || ^8.0.5", + "symfony/routing": "^7.4.0 || ^8.0.0", + "symfony/uid": "^7.4.0 || ^8.0.0", + "symfony/var-dumper": "^7.4.0 || ^8.0.0", "tijsverkoyen/css-to-inline-styles": "^2.2.5", "vlucas/phpdotenv": "^5.6.1", "voku/portable-ascii": "^2.0.2" @@ -2805,9 +2729,9 @@ "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" + "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": { "illuminate/auth": "self.version", @@ -2853,7 +2777,6 @@ "aws/aws-sdk-php": "^3.322.9", "ext-gmp": "*", "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", @@ -2863,22 +2786,23 @@ "league/flysystem-sftp-v3": "^3.25.1", "mockery/mockery": "^1.6.10", "opis/json-schema": "^2.4.1", - "orchestra/testbench-core": "^10.9.0", - "pda/pheanstalk": "^5.0.6|^7.0.0", + "orchestra/testbench-core": "^11.0.0", + "pda/pheanstalk": "^7.0.0 || ^8.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|^3.0", - "resend/resend-php": "^0.10.0|^1.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" + "phpunit/phpunit": "^11.5.50 || ^12.5.8 || ^13.0.3", + "predis/predis": "^2.3 || ^3.0", + "rector/rector": "^2.3", + "resend/resend-php": "^1.0", + "symfony/cache": "^7.4.0 || ^8.0.0", + "symfony/http-client": "^7.4.0 || ^8.0.0", + "symfony/psr-http-message-bridge": "^7.4.0 || ^8.0.0", + "symfony/translation": "^7.4.0 || ^8.0.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.322.9).", - "brianium/paratest": "Required to run tests in parallel (^7.0|^8.0).", + "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.", "ext-ftp": "Required to use the Flysystem FTP driver.", @@ -2887,7 +2811,7 @@ "ext-pcntl": "Required to use all features of the queue worker and console signal trapping.", "ext-pdo": "Required to use all database features.", "ext-posix": "Required to use all features of the queue worker.", - "ext-redis": "Required to use the Redis cache and queue drivers (^4.0|^5.0|^6.0).", + "ext-redis": "Required to use the Redis cache and queue drivers (^4.0 || ^5.0 || ^6.0).", "fakerphp/faker": "Required to generate fake data using the fake() helper (^1.23).", "filp/whoops": "Required for friendly error pages in development (^2.14.3).", "laravel/tinker": "Required to use the tinker console command (^2.0).", @@ -2897,24 +2821,24 @@ "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).", - "pda/pheanstalk": "Required to use the beanstalk queue driver (^5.0).", + "pda/pheanstalk": "Required to use the beanstalk queue driver (^7.0 || ^8.0).", "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|^3.0).", + "phpunit/phpunit": "Required to use assertions and run tests (^11.5.50 || ^12.5.8 || ^13.0.3).", + "predis/predis": "Required to use the predis connector (^2.3 || ^3.0).", "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|^1.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)." + "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 || ^1.0).", + "symfony/cache": "Required to PSR-6 cache bridge (^7.4 || ^8.0).", + "symfony/filesystem": "Required to enable support for relative symbolic links (^7.4 || ^8.0).", + "symfony/http-client": "Required to enable support for the Symfony API mail transports (^7.4 || ^8.0).", + "symfony/mailgun-mailer": "Required to enable support for the Mailgun mail transport (^7.4 || ^8.0).", + "symfony/postmark-mailer": "Required to enable support for the Postmark mail transport (^7.4 || ^8.0).", + "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^7.4 || ^8.0)." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "12.x-dev" + "dev-master": "13.0.x-dev" } }, "autoload": { @@ -2959,40 +2883,41 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2026-01-28T03:40:49+00:00" + "time": "2026-04-01T15:39:53+00:00" }, { "name": "laravel/horizon", - "version": "v5.42.0", + "version": "v5.45.5", "source": { "type": "git", "url": "https://github.com/laravel/horizon.git", - "reference": "7d50d317ce97e5961e85dcd57f51190ade56fd77" + "reference": "683b6117ec0d0495a4d18106bc2c44b3461fd92b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/horizon/zipball/7d50d317ce97e5961e85dcd57f51190ade56fd77", - "reference": "7d50d317ce97e5961e85dcd57f51190ade56fd77", + "url": "https://api.github.com/repos/laravel/horizon/zipball/683b6117ec0d0495a4d18106bc2c44b3461fd92b", + "reference": "683b6117ec0d0495a4d18106bc2c44b3461fd92b", "shasum": "" }, "require": { "ext-json": "*", "ext-pcntl": "*", "ext-posix": "*", - "illuminate/contracts": "^9.21|^10.0|^11.0|^12.0", - "illuminate/queue": "^9.21|^10.0|^11.0|^12.0", - "illuminate/support": "^9.21|^10.0|^11.0|^12.0", + "illuminate/contracts": "^9.21|^10.0|^11.0|^12.0|^13.0", + "illuminate/queue": "^9.21|^10.0|^11.0|^12.0|^13.0", + "illuminate/support": "^9.21|^10.0|^11.0|^12.0|^13.0", + "laravel/sentinel": "^1.0", "nesbot/carbon": "^2.17|^3.0", "php": "^8.0", "ramsey/uuid": "^4.0", - "symfony/console": "^6.0|^7.0", - "symfony/error-handler": "^6.0|^7.0", + "symfony/console": "^6.0|^7.0|^8.0", + "symfony/error-handler": "^6.0|^7.0|^8.0", "symfony/polyfill-php83": "^1.28", - "symfony/process": "^6.0|^7.0" + "symfony/process": "^6.0|^7.0|^8.0" }, "require-dev": { "mockery/mockery": "^1.0", - "orchestra/testbench": "^7.55|^8.36|^9.15|^10.8", + "orchestra/testbench": "^7.56|^8.37|^9.16|^10.9|^11.0", "phpstan/phpstan": "^1.10|^2.0", "predis/predis": "^1.1|^2.0|^3.0" }, @@ -3036,43 +2961,44 @@ ], "support": { "issues": "https://github.com/laravel/horizon/issues", - "source": "https://github.com/laravel/horizon/tree/v5.42.0" + "source": "https://github.com/laravel/horizon/tree/v5.45.5" }, - "time": "2026-01-06T14:49:58+00:00" + "time": "2026-04-01T07:28:03+00:00" }, { "name": "laravel/pail", - "version": "v1.2.4", + "version": "v1.2.6", "source": { "type": "git", "url": "https://github.com/laravel/pail.git", - "reference": "49f92285ff5d6fc09816e976a004f8dec6a0ea30" + "reference": "aa71a01c309e7f66bc2ec4fb1a59291b82eb4abf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/pail/zipball/49f92285ff5d6fc09816e976a004f8dec6a0ea30", - "reference": "49f92285ff5d6fc09816e976a004f8dec6a0ea30", + "url": "https://api.github.com/repos/laravel/pail/zipball/aa71a01c309e7f66bc2ec4fb1a59291b82eb4abf", + "reference": "aa71a01c309e7f66bc2ec4fb1a59291b82eb4abf", "shasum": "" }, "require": { "ext-mbstring": "*", - "illuminate/console": "^10.24|^11.0|^12.0", - "illuminate/contracts": "^10.24|^11.0|^12.0", - "illuminate/log": "^10.24|^11.0|^12.0", - "illuminate/process": "^10.24|^11.0|^12.0", - "illuminate/support": "^10.24|^11.0|^12.0", + "illuminate/console": "^10.24|^11.0|^12.0|^13.0", + "illuminate/contracts": "^10.24|^11.0|^12.0|^13.0", + "illuminate/log": "^10.24|^11.0|^12.0|^13.0", + "illuminate/process": "^10.24|^11.0|^12.0|^13.0", + "illuminate/support": "^10.24|^11.0|^12.0|^13.0", "nunomaduro/termwind": "^1.15|^2.0", "php": "^8.2", - "symfony/console": "^6.0|^7.0" + "symfony/console": "^6.0|^7.0|^8.0" }, "require-dev": { - "laravel/framework": "^10.24|^11.0|^12.0", + "laravel/framework": "^10.24|^11.0|^12.0|^13.0", "laravel/pint": "^1.13", - "orchestra/testbench-core": "^8.13|^9.17|^10.8", + "orchestra/testbench-core": "^8.13|^9.17|^10.8|^11.0", "pestphp/pest": "^2.20|^3.0|^4.0", "pestphp/pest-plugin-type-coverage": "^2.3|^3.0|^4.0", "phpstan/phpstan": "^1.12.27", - "symfony/var-dumper": "^6.3|^7.0" + "symfony/var-dumper": "^6.3|^7.0|^8.0", + "symfony/yaml": "^6.3|^7.0|^8.0" }, "type": "library", "extra": { @@ -3117,45 +3043,45 @@ "issues": "https://github.com/laravel/pail/issues", "source": "https://github.com/laravel/pail" }, - "time": "2025-11-20T16:29:35+00:00" + "time": "2026-02-09T13:44:54+00:00" }, { "name": "laravel/passport", - "version": "v13.4.3", + "version": "v13.7.2", "source": { "type": "git", "url": "https://github.com/laravel/passport.git", - "reference": "b3c549d519dbf50be4eae563a267dd1553736041" + "reference": "0c016c9e27db700d1a51b73c7582e5235f9c43d2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/passport/zipball/b3c549d519dbf50be4eae563a267dd1553736041", - "reference": "b3c549d519dbf50be4eae563a267dd1553736041", + "url": "https://api.github.com/repos/laravel/passport/zipball/0c016c9e27db700d1a51b73c7582e5235f9c43d2", + "reference": "0c016c9e27db700d1a51b73c7582e5235f9c43d2", "shasum": "" }, "require": { "ext-json": "*", "ext-openssl": "*", "firebase/php-jwt": "^6.4|^7.0", - "illuminate/auth": "^11.35|^12.0", - "illuminate/console": "^11.35|^12.0", - "illuminate/container": "^11.35|^12.0", - "illuminate/contracts": "^11.35|^12.0", - "illuminate/cookie": "^11.35|^12.0", - "illuminate/database": "^11.35|^12.0", - "illuminate/encryption": "^11.35|^12.0", - "illuminate/http": "^11.35|^12.0", - "illuminate/support": "^11.35|^12.0", + "illuminate/auth": "^11.35|^12.0|^13.0", + "illuminate/console": "^11.35|^12.0|^13.0", + "illuminate/container": "^11.35|^12.0|^13.0", + "illuminate/contracts": "^11.35|^12.0|^13.0", + "illuminate/cookie": "^11.35|^12.0|^13.0", + "illuminate/database": "^11.35|^12.0|^13.0", + "illuminate/encryption": "^11.35|^12.0|^13.0", + "illuminate/http": "^11.35|^12.0|^13.0", + "illuminate/support": "^11.35|^12.0|^13.0", "league/oauth2-server": "^9.2", "php": "^8.2", "php-http/discovery": "^1.20", "phpseclib/phpseclib": "^3.0", "psr/http-factory-implementation": "*", - "symfony/console": "^7.1", - "symfony/psr-http-message-bridge": "^7.1" + "symfony/console": "^7.1|^8.0", + "symfony/psr-http-message-bridge": "^7.1|^8.0" }, "require-dev": { - "orchestra/testbench": "^9.15|^10.8", + "orchestra/testbench": "^9.15|^10.8|^11.0", "phpstan/phpstan": "^2.0" }, "type": "library", @@ -3192,34 +3118,34 @@ "issues": "https://github.com/laravel/passport/issues", "source": "https://github.com/laravel/passport" }, - "time": "2025-12-22T14:58:04+00:00" + "time": "2026-04-02T17:11:22+00:00" }, { "name": "laravel/prompts", - "version": "v0.3.11", + "version": "v0.3.16", "source": { "type": "git", "url": "https://github.com/laravel/prompts.git", - "reference": "dd2a2ed95acacbcccd32fd98dee4c946ae7a7217" + "reference": "11e7d5f93803a2190b00e145142cb00a33d17ad2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/prompts/zipball/dd2a2ed95acacbcccd32fd98dee4c946ae7a7217", - "reference": "dd2a2ed95acacbcccd32fd98dee4c946ae7a7217", + "url": "https://api.github.com/repos/laravel/prompts/zipball/11e7d5f93803a2190b00e145142cb00a33d17ad2", + "reference": "11e7d5f93803a2190b00e145142cb00a33d17ad2", "shasum": "" }, "require": { "composer-runtime-api": "^2.2", "ext-mbstring": "*", "php": "^8.1", - "symfony/console": "^6.2|^7.0" + "symfony/console": "^6.2|^7.0|^8.0" }, "conflict": { "illuminate/console": ">=10.17.0 <10.25.0", "laravel/framework": ">=10.17.0 <10.25.0" }, "require-dev": { - "illuminate/collections": "^10.0|^11.0|^12.0", + "illuminate/collections": "^10.0|^11.0|^12.0|^13.0", "mockery/mockery": "^1.5", "pestphp/pest": "^2.3|^3.4|^4.0", "phpstan/phpstan": "^1.12.28", @@ -3249,34 +3175,34 @@ "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.3.11" + "source": "https://github.com/laravel/prompts/tree/v0.3.16" }, - "time": "2026-01-27T02:55:06+00:00" + "time": "2026-03-23T14:35:33+00:00" }, { "name": "laravel/scout", - "version": "v10.23.0", + "version": "v11.1.0", "source": { "type": "git", "url": "https://github.com/laravel/scout.git", - "reference": "fb6d94cfc5708e4202dc00d46e61af0b9f35b03c" + "reference": "9865fca4129d79c271da6a89afb44359e9ee9020" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/scout/zipball/fb6d94cfc5708e4202dc00d46e61af0b9f35b03c", - "reference": "fb6d94cfc5708e4202dc00d46e61af0b9f35b03c", + "url": "https://api.github.com/repos/laravel/scout/zipball/9865fca4129d79c271da6a89afb44359e9ee9020", + "reference": "9865fca4129d79c271da6a89afb44359e9ee9020", "shasum": "" }, "require": { - "illuminate/bus": "^9.0|^10.0|^11.0|^12.0", - "illuminate/contracts": "^9.0|^10.0|^11.0|^12.0", - "illuminate/database": "^9.0|^10.0|^11.0|^12.0", - "illuminate/http": "^9.0|^10.0|^11.0|^12.0", - "illuminate/pagination": "^9.0|^10.0|^11.0|^12.0", - "illuminate/queue": "^9.0|^10.0|^11.0|^12.0", - "illuminate/support": "^9.0|^10.0|^11.0|^12.0", + "illuminate/bus": "^9.0|^10.0|^11.0|^12.0|^13.0", + "illuminate/contracts": "^9.0|^10.0|^11.0|^12.0|^13.0", + "illuminate/database": "^9.0|^10.0|^11.0|^12.0|^13.0", + "illuminate/http": "^9.0|^10.0|^11.0|^12.0|^13.0", + "illuminate/pagination": "^9.0|^10.0|^11.0|^12.0|^13.0", + "illuminate/queue": "^9.0|^10.0|^11.0|^12.0|^13.0", + "illuminate/support": "^9.0|^10.0|^11.0|^12.0|^13.0", "php": "^8.0", - "symfony/console": "^6.0|^7.0" + "symfony/console": "^6.0|^7.0|^8.0" }, "conflict": { "algolia/algoliasearch-client-php": "<3.2.0|>=5.0.0" @@ -3285,7 +3211,7 @@ "algolia/algoliasearch-client-php": "^3.2|^4.0", "meilisearch/meilisearch-php": "^1.0", "mockery/mockery": "^1.0", - "orchestra/testbench": "^7.31|^8.36|^9.15|^10.8", + "orchestra/testbench": "^7.31|^8.36|^9.15|^10.8|^11.0", "php-http/guzzle7-adapter": "^1.0", "phpstan/phpstan": "^1.10", "typesense/typesense-php": "^4.9.3" @@ -3303,7 +3229,7 @@ ] }, "branch-alias": { - "dev-master": "10.x-dev" + "dev-master": "11.x-dev" } }, "autoload": { @@ -3331,31 +3257,87 @@ "issues": "https://github.com/laravel/scout/issues", "source": "https://github.com/laravel/scout" }, - "time": "2025-12-16T15:43:03+00:00" + "time": "2026-03-18T14:50:59+00:00" + }, + { + "name": "laravel/sentinel", + "version": "v1.1.0", + "source": { + "type": "git", + "url": "https://github.com/laravel/sentinel.git", + "reference": "972d9885d9d14312a118e9565c4e6ecc5e751ea1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/sentinel/zipball/972d9885d9d14312a118e9565c4e6ecc5e751ea1", + "reference": "972d9885d9d14312a118e9565c4e6ecc5e751ea1", + "shasum": "" + }, + "require": { + "ext-json": "*", + "illuminate/container": "^8.37|^9.0|^10.0|^11.0|^12.0|^13.0", + "php": "^8.0" + }, + "require-dev": { + "laravel/pint": "^1.27", + "orchestra/testbench": "^6.47.1|^7.56|^8.37|^9.16|^10.9|^11.0", + "phpstan/phpstan": "^2.1.33" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Laravel\\Sentinel\\SentinelServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Laravel\\Sentinel\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + }, + { + "name": "Mior Muhammad Zaki", + "email": "mior@laravel.com" + } + ], + "support": { + "source": "https://github.com/laravel/sentinel/tree/v1.1.0" + }, + "time": "2026-03-24T14:03:38+00:00" }, { "name": "laravel/serializable-closure", - "version": "v2.0.8", + "version": "v2.0.10", "source": { "type": "git", "url": "https://github.com/laravel/serializable-closure.git", - "reference": "7581a4407012f5f53365e11bafc520fd7f36bc9b" + "reference": "870fc81d2f879903dfc5b60bf8a0f94a1609e669" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/7581a4407012f5f53365e11bafc520fd7f36bc9b", - "reference": "7581a4407012f5f53365e11bafc520fd7f36bc9b", + "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/870fc81d2f879903dfc5b60bf8a0f94a1609e669", + "reference": "870fc81d2f879903dfc5b60bf8a0f94a1609e669", "shasum": "" }, "require": { "php": "^8.1" }, "require-dev": { - "illuminate/support": "^10.0|^11.0|^12.0", + "illuminate/support": "^10.0|^11.0|^12.0|^13.0", "nesbot/carbon": "^2.67|^3.0", "pestphp/pest": "^2.36|^3.0|^4.0", "phpstan/phpstan": "^2.0", - "symfony/var-dumper": "^6.2.0|^7.0.0" + "symfony/var-dumper": "^6.2.0|^7.0.0|^8.0.0" }, "type": "library", "extra": { @@ -3392,36 +3374,38 @@ "issues": "https://github.com/laravel/serializable-closure/issues", "source": "https://github.com/laravel/serializable-closure" }, - "time": "2026-01-08T16:22:46+00:00" + "time": "2026-02-20T19:59:49+00:00" }, { "name": "laravel/telescope", - "version": "v5.16.1", + "version": "5.x-dev", "source": { "type": "git", "url": "https://github.com/laravel/telescope.git", - "reference": "dc114b94f025b8c16b5eb3194b4ddc0e46d5310c" + "reference": "2d0d6a42a0aa2af9e541ec9aabf6ca1e1054334b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/telescope/zipball/dc114b94f025b8c16b5eb3194b4ddc0e46d5310c", - "reference": "dc114b94f025b8c16b5eb3194b4ddc0e46d5310c", + "url": "https://api.github.com/repos/laravel/telescope/zipball/2d0d6a42a0aa2af9e541ec9aabf6ca1e1054334b", + "reference": "2d0d6a42a0aa2af9e541ec9aabf6ca1e1054334b", "shasum": "" }, "require": { "ext-json": "*", - "laravel/framework": "^8.37|^9.0|^10.0|^11.0|^12.0", + "laravel/framework": "^8.37|^9.0|^10.0|^11.0|^12.0|^13.0", + "laravel/sentinel": "^1.0", "php": "^8.0", - "symfony/console": "^5.3|^6.0|^7.0", - "symfony/var-dumper": "^5.0|^6.0|^7.0" + "symfony/console": "^5.3|^6.0|^7.0|^8.0", + "symfony/var-dumper": "^5.0|^6.0|^7.0|^8.0" }, "require-dev": { "ext-gd": "*", "guzzlehttp/guzzle": "^6.0|^7.0", "laravel/octane": "^1.4|^2.0", - "orchestra/testbench": "^6.47.1|^7.55|^8.36|^9.15|^10.8", + "orchestra/testbench": "^6.47.1|^7.55|^8.36|^9.15|^10.8|^11.0", "phpstan/phpstan": "^1.10" }, + "default-branch": true, "type": "library", "extra": { "laravel": { @@ -3458,39 +3442,39 @@ ], "support": { "issues": "https://github.com/laravel/telescope/issues", - "source": "https://github.com/laravel/telescope/tree/v5.16.1" + "source": "https://github.com/laravel/telescope/tree/5.x" }, - "time": "2025-12-30T17:31:31+00:00" + "time": "2026-04-01T15:17:16+00:00" }, { "name": "laravel/tinker", - "version": "v2.11.0", + "version": "v3.0.0", "source": { "type": "git", "url": "https://github.com/laravel/tinker.git", - "reference": "3d34b97c9a1747a81a3fde90482c092bd8b66468" + "reference": "cc74081282ba2e3dae1f0068ccb330370d24634e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/tinker/zipball/3d34b97c9a1747a81a3fde90482c092bd8b66468", - "reference": "3d34b97c9a1747a81a3fde90482c092bd8b66468", + "url": "https://api.github.com/repos/laravel/tinker/zipball/cc74081282ba2e3dae1f0068ccb330370d24634e", + "reference": "cc74081282ba2e3dae1f0068ccb330370d24634e", "shasum": "" }, "require": { - "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|^8.0" + "illuminate/console": "^8.0|^9.0|^10.0|^11.0|^12.0|^13.0", + "illuminate/contracts": "^8.0|^9.0|^10.0|^11.0|^12.0|^13.0", + "illuminate/support": "^8.0|^9.0|^10.0|^11.0|^12.0|^13.0", + "php": "^8.1", + "psy/psysh": "^0.12.0", + "symfony/var-dumper": "^5.4|^6.0|^7.0|^8.0" }, "require-dev": { "mockery/mockery": "~1.3.3|^1.4.2", "phpstan/phpstan": "^1.10", - "phpunit/phpunit": "^8.5.8|^9.3.3|^10.0" + "phpunit/phpunit": "^10.5|^11.5" }, "suggest": { - "illuminate/database": "The Illuminate Database package (^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0)." + "illuminate/database": "The Illuminate Database package (^8.0|^9.0|^10.0|^11.0|^12.0|^13.0)." }, "type": "library", "extra": { @@ -3498,6 +3482,9 @@ "providers": [ "Laravel\\Tinker\\TinkerServiceProvider" ] + }, + "branch-alias": { + "dev-master": "3.x-dev" } }, "autoload": { @@ -3524,9 +3511,9 @@ ], "support": { "issues": "https://github.com/laravel/tinker/issues", - "source": "https://github.com/laravel/tinker/tree/v2.11.0" + "source": "https://github.com/laravel/tinker/tree/v3.0.0" }, - "time": "2025-12-19T19:16:45+00:00" + "time": "2026-03-17T14:53:17+00:00" }, { "name": "lavary/laravel-menu", @@ -3971,16 +3958,16 @@ }, { "name": "league/flysystem", - "version": "3.31.0", + "version": "3.33.0", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem.git", - "reference": "1717e0b3642b0df65ecb0cc89cdd99fa840672ff" + "reference": "570b8871e0ce693764434b29154c54b434905350" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/1717e0b3642b0df65ecb0cc89cdd99fa840672ff", - "reference": "1717e0b3642b0df65ecb0cc89cdd99fa840672ff", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/570b8871e0ce693764434b29154c54b434905350", + "reference": "570b8871e0ce693764434b29154c54b434905350", "shasum": "" }, "require": { @@ -4048,9 +4035,9 @@ ], "support": { "issues": "https://github.com/thephpleague/flysystem/issues", - "source": "https://github.com/thephpleague/flysystem/tree/3.31.0" + "source": "https://github.com/thephpleague/flysystem/tree/3.33.0" }, - "time": "2026-01-23T15:38:47+00:00" + "time": "2026-03-25T07:59:30+00:00" }, { "name": "league/flysystem-local", @@ -4325,20 +4312,20 @@ }, { "name": "league/uri", - "version": "7.8.0", + "version": "7.8.1", "source": { "type": "git", "url": "https://github.com/thephpleague/uri.git", - "reference": "4436c6ec8d458e4244448b069cc572d088230b76" + "reference": "08cf38e3924d4f56238125547b5720496fac8fd4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/uri/zipball/4436c6ec8d458e4244448b069cc572d088230b76", - "reference": "4436c6ec8d458e4244448b069cc572d088230b76", + "url": "https://api.github.com/repos/thephpleague/uri/zipball/08cf38e3924d4f56238125547b5720496fac8fd4", + "reference": "08cf38e3924d4f56238125547b5720496fac8fd4", "shasum": "" }, "require": { - "league/uri-interfaces": "^7.8", + "league/uri-interfaces": "^7.8.1", "php": "^8.1", "psr/http-factory": "^1" }, @@ -4411,7 +4398,7 @@ "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.8.0" + "source": "https://github.com/thephpleague/uri/tree/7.8.1" }, "funding": [ { @@ -4419,20 +4406,20 @@ "type": "github" } ], - "time": "2026-01-14T17:24:56+00:00" + "time": "2026-03-15T20:22:25+00:00" }, { "name": "league/uri-interfaces", - "version": "7.8.0", + "version": "7.8.1", "source": { "type": "git", "url": "https://github.com/thephpleague/uri-interfaces.git", - "reference": "c5c5cd056110fc8afaba29fa6b72a43ced42acd4" + "reference": "85d5c77c5d6d3af6c54db4a78246364908f3c928" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/c5c5cd056110fc8afaba29fa6b72a43ced42acd4", - "reference": "c5c5cd056110fc8afaba29fa6b72a43ced42acd4", + "url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/85d5c77c5d6d3af6c54db4a78246364908f3c928", + "reference": "85d5c77c5d6d3af6c54db4a78246364908f3c928", "shasum": "" }, "require": { @@ -4495,7 +4482,7 @@ "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.8.0" + "source": "https://github.com/thephpleague/uri-interfaces/tree/7.8.1" }, "funding": [ { @@ -4503,20 +4490,20 @@ "type": "github" } ], - "time": "2026-01-15T06:54:53+00:00" + "time": "2026-03-08T20:05:35+00:00" }, { "name": "litesaml/lightsaml", - "version": "4.5.1", + "version": "4.6.1", "source": { "type": "git", "url": "https://github.com/litesaml/lightsaml.git", - "reference": "1661a26aced239c5acea38e80e943147cdbdbe0a" + "reference": "251dc6da0f3bd153213874889b0aedbbe31c60bc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/litesaml/lightsaml/zipball/1661a26aced239c5acea38e80e943147cdbdbe0a", - "reference": "1661a26aced239c5acea38e80e943147cdbdbe0a", + "url": "https://api.github.com/repos/litesaml/lightsaml/zipball/251dc6da0f3bd153213874889b0aedbbe31c60bc", + "reference": "251dc6da0f3bd153213874889b0aedbbe31c60bc", "shasum": "" }, "require": { @@ -4524,8 +4511,8 @@ "php": "^8.1", "psr/event-dispatcher": "^1.0", "psr/log": "^3.0", - "robrichards/xmlseclibs": "^3.0", - "symfony/http-foundation": "^6.0|^7.0" + "robrichards/xmlseclibs": "^3.1.4", + "symfony/http-foundation": "^6.0|^7.0|^8.0" }, "require-dev": { "mockery/mockery": "^1.4.4", @@ -4566,7 +4553,7 @@ "issues": "https://github.com/litesaml/lightsaml/issues", "source": "https://github.com/litesaml/lightsaml" }, - "time": "2025-08-06T10:03:30+00:00" + "time": "2026-02-26T10:47:04+00:00" }, { "name": "litesaml/schemas", @@ -4845,32 +4832,33 @@ }, { "name": "mateusjunges/laravel-kafka", - "version": "v2.10.1", + "version": "v2.11.0", "source": { "type": "git", "url": "https://github.com/mateusjunges/laravel-kafka.git", - "reference": "049763ccb7b0b256ee3a5ee986dcbbf97bd79e68" + "reference": "a86f6aa5abfa27b08914642c0b41be5d3487eaef" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mateusjunges/laravel-kafka/zipball/049763ccb7b0b256ee3a5ee986dcbbf97bd79e68", - "reference": "049763ccb7b0b256ee3a5ee986dcbbf97bd79e68", + "url": "https://api.github.com/repos/mateusjunges/laravel-kafka/zipball/a86f6aa5abfa27b08914642c0b41be5d3487eaef", + "reference": "a86f6aa5abfa27b08914642c0b41be5d3487eaef", "shasum": "" }, "require": { "ext-rdkafka": "^6.0", - "illuminate/contracts": "^10.0|^11.0|^12.0", - "illuminate/support": "^10.0|^11.0|^12.0", + "illuminate/contracts": "^12.0|^13.0", + "illuminate/support": "^12.0|^13.0", "mateusjunges/avro-serde-php": "^3.0", "monolog/monolog": "^3", - "php": "^8.2|^8.3|^8.4" + "php": "^8.2|^8.3|^8.4|^8.5" }, "require-dev": { "laravel/pint": "dev-main", - "orchestra/testbench": "^7.16|^8.0|^9.0|^10.0", - "phpunit/phpunit": "^10.5|^11.5.3", - "predis/predis": "^1", - "rector/rector": "^0.19.8" + "mockery/mockery": "^1.6.12", + "orchestra/testbench": "^10.0|^11.0", + "phpunit/phpunit": "^10.5|^11.5.3|^12.5.12", + "predis/predis": "^1|^3.4", + "rector/rector": "^0.19.8|^2.3" }, "suggest": { "ext-pcntl": "Required to enable all features of the kafka consumer", @@ -4903,7 +4891,7 @@ "description": "A kafka driver for laravel", "support": { "issues": "https://github.com/mateusjunges/laravel-kafka/issues", - "source": "https://github.com/mateusjunges/laravel-kafka/tree/v2.10.1" + "source": "https://github.com/mateusjunges/laravel-kafka/tree/v2.11.0" }, "funding": [ { @@ -4911,7 +4899,7 @@ "type": "github" } ], - "time": "2025-12-29T17:03:30+00:00" + "time": "2026-03-05T20:52:59+00:00" }, { "name": "mittwald/vault-php", @@ -5182,16 +5170,16 @@ }, { "name": "nesbot/carbon", - "version": "3.11.1", + "version": "3.11.3", "source": { "type": "git", "url": "https://github.com/CarbonPHP/carbon.git", - "reference": "f438fcc98f92babee98381d399c65336f3a3827f" + "reference": "6a7e652845bb018c668220c2a545aded8594fbbf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/CarbonPHP/carbon/zipball/f438fcc98f92babee98381d399c65336f3a3827f", - "reference": "f438fcc98f92babee98381d399c65336f3a3827f", + "url": "https://api.github.com/repos/CarbonPHP/carbon/zipball/6a7e652845bb018c668220c2a545aded8594fbbf", + "reference": "6a7e652845bb018c668220c2a545aded8594fbbf", "shasum": "" }, "require": { @@ -5283,20 +5271,20 @@ "type": "tidelift" } ], - "time": "2026-01-29T09:26:29+00:00" + "time": "2026-03-11T17:23:39+00:00" }, { "name": "nette/schema", - "version": "v1.3.3", + "version": "v1.3.5", "source": { "type": "git", "url": "https://github.com/nette/schema.git", - "reference": "2befc2f42d7c715fd9d95efc31b1081e5d765004" + "reference": "f0ab1a3cda782dbc5da270d28545236aa80c4002" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/schema/zipball/2befc2f42d7c715fd9d95efc31b1081e5d765004", - "reference": "2befc2f42d7c715fd9d95efc31b1081e5d765004", + "url": "https://api.github.com/repos/nette/schema/zipball/f0ab1a3cda782dbc5da270d28545236aa80c4002", + "reference": "f0ab1a3cda782dbc5da270d28545236aa80c4002", "shasum": "" }, "require": { @@ -5304,8 +5292,10 @@ "php": "8.1 - 8.5" }, "require-dev": { - "nette/tester": "^2.5.2", - "phpstan/phpstan-nette": "^2.0@stable", + "nette/phpstan-rules": "^1.0", + "nette/tester": "^2.6", + "phpstan/extension-installer": "^1.4@stable", + "phpstan/phpstan": "^2.1.39@stable", "tracy/tracy": "^2.8" }, "type": "library", @@ -5346,22 +5336,22 @@ ], "support": { "issues": "https://github.com/nette/schema/issues", - "source": "https://github.com/nette/schema/tree/v1.3.3" + "source": "https://github.com/nette/schema/tree/v1.3.5" }, - "time": "2025-10-30T22:57:59+00:00" + "time": "2026-02-23T03:47:12+00:00" }, { "name": "nette/utils", - "version": "v4.1.1", + "version": "v4.1.3", "source": { "type": "git", "url": "https://github.com/nette/utils.git", - "reference": "c99059c0315591f1a0db7ad6002000288ab8dc72" + "reference": "bb3ea637e3d131d72acc033cfc2746ee893349fe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/utils/zipball/c99059c0315591f1a0db7ad6002000288ab8dc72", - "reference": "c99059c0315591f1a0db7ad6002000288ab8dc72", + "url": "https://api.github.com/repos/nette/utils/zipball/bb3ea637e3d131d72acc033cfc2746ee893349fe", + "reference": "bb3ea637e3d131d72acc033cfc2746ee893349fe", "shasum": "" }, "require": { @@ -5373,8 +5363,10 @@ }, "require-dev": { "jetbrains/phpstorm-attributes": "^1.2", + "nette/phpstan-rules": "^1.0", "nette/tester": "^2.5", - "phpstan/phpstan-nette": "^2.0@stable", + "phpstan/extension-installer": "^1.4@stable", + "phpstan/phpstan": "^2.1@stable", "tracy/tracy": "^2.9" }, "suggest": { @@ -5435,9 +5427,9 @@ ], "support": { "issues": "https://github.com/nette/utils/issues", - "source": "https://github.com/nette/utils/tree/v4.1.1" + "source": "https://github.com/nette/utils/tree/v4.1.3" }, - "time": "2025-12-22T12:14:32+00:00" + "time": "2026-02-13T03:05:33+00:00" }, { "name": "nikic/php-parser", @@ -5499,31 +5491,31 @@ }, { "name": "nunomaduro/termwind", - "version": "v2.3.3", + "version": "v2.4.0", "source": { "type": "git", "url": "https://github.com/nunomaduro/termwind.git", - "reference": "6fb2a640ff502caace8e05fd7be3b503a7e1c017" + "reference": "712a31b768f5daea284c2169a7d227031001b9a8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/6fb2a640ff502caace8e05fd7be3b503a7e1c017", - "reference": "6fb2a640ff502caace8e05fd7be3b503a7e1c017", + "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/712a31b768f5daea284c2169a7d227031001b9a8", + "reference": "712a31b768f5daea284c2169a7d227031001b9a8", "shasum": "" }, "require": { "ext-mbstring": "*", "php": "^8.2", - "symfony/console": "^7.3.6" + "symfony/console": "^7.4.4 || ^8.0.4" }, "require-dev": { - "illuminate/console": "^11.46.1", - "laravel/pint": "^1.25.1", + "illuminate/console": "^11.47.0", + "laravel/pint": "^1.27.1", "mockery/mockery": "^1.6.12", - "pestphp/pest": "^2.36.0 || ^3.8.4 || ^4.1.3", + "pestphp/pest": "^2.36.0 || ^3.8.4 || ^4.3.2", "phpstan/phpstan": "^1.12.32", "phpstan/phpstan-strict-rules": "^1.6.2", - "symfony/var-dumper": "^7.3.5", + "symfony/var-dumper": "^7.3.5 || ^8.0.4", "thecodingmachine/phpstan-strict-rules": "^1.0.0" }, "type": "library", @@ -5555,7 +5547,7 @@ "email": "enunomaduro@gmail.com" } ], - "description": "Its like Tailwind CSS, but for the console.", + "description": "It's like Tailwind CSS, but for the console.", "keywords": [ "cli", "console", @@ -5566,7 +5558,7 @@ ], "support": { "issues": "https://github.com/nunomaduro/termwind/issues", - "source": "https://github.com/nunomaduro/termwind/tree/v2.3.3" + "source": "https://github.com/nunomaduro/termwind/tree/v2.4.0" }, "funding": [ { @@ -5582,7 +5574,7 @@ "type": "github" } ], - "time": "2025-11-20T02:34:59+00:00" + "time": "2026-02-16T23:10:27+00:00" }, { "name": "nyholm/psr7-server", @@ -6197,16 +6189,16 @@ }, { "name": "openai-php/client", - "version": "v0.18.0", + "version": "v0.19.1", "source": { "type": "git", "url": "https://github.com/openai-php/client.git", - "reference": "3362ab004fcfc9d77df3aff7671fbcbe70177cae" + "reference": "f2b1ce48b1c011ebc2abb255db5abf82ef4a6a44" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/openai-php/client/zipball/3362ab004fcfc9d77df3aff7671fbcbe70177cae", - "reference": "3362ab004fcfc9d77df3aff7671fbcbe70177cae", + "url": "https://api.github.com/repos/openai-php/client/zipball/f2b1ce48b1c011ebc2abb255db5abf82ef4a6a44", + "reference": "f2b1ce48b1c011ebc2abb255db5abf82ef4a6a44", "shasum": "" }, "require": { @@ -6219,16 +6211,16 @@ "psr/http-message": "^1.1.0|^2.0.0" }, "require-dev": { - "guzzlehttp/guzzle": "^7.9.3", - "guzzlehttp/psr7": "^2.7.1", - "laravel/pint": "^1.24.0", + "guzzlehttp/guzzle": "^7.10.0", + "guzzlehttp/psr7": "^2.8.0", + "laravel/pint": "^1.25.1", "mockery/mockery": "^1.6.12", - "nunomaduro/collision": "^8.8.0", - "pestphp/pest": "^3.8.2|^4.0.0", + "nunomaduro/collision": "^8.8.3", + "pestphp/pest": "^3.8.2|^4.1.4", "pestphp/pest-plugin-arch": "^3.1.1|^4.0.0", "pestphp/pest-plugin-type-coverage": "^3.5.1|^4.0.0", - "phpstan/phpstan": "^1.12.25", - "symfony/var-dumper": "^7.2.6" + "phpstan/phpstan": "^1.12.32", + "symfony/var-dumper": "^7.3.5" }, "type": "library", "autoload": { @@ -6268,7 +6260,7 @@ ], "support": { "issues": "https://github.com/openai-php/client/issues", - "source": "https://github.com/openai-php/client/tree/v0.18.0" + "source": "https://github.com/openai-php/client/tree/v0.19.1" }, "funding": [ { @@ -6284,26 +6276,26 @@ "type": "github" } ], - "time": "2025-10-31T18:58:57+00:00" + "time": "2026-03-17T20:53:51+00:00" }, { "name": "openai-php/laravel", - "version": "v0.18.0", + "version": "v0.19.1", "source": { "type": "git", "url": "https://github.com/openai-php/laravel.git", - "reference": "ca7714bd20333ae4dbae8dbedcfa20f4384f9b19" + "reference": "6d0172a2858be25c682f3eee216e31eb68da0ea5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/openai-php/laravel/zipball/ca7714bd20333ae4dbae8dbedcfa20f4384f9b19", - "reference": "ca7714bd20333ae4dbae8dbedcfa20f4384f9b19", + "url": "https://api.github.com/repos/openai-php/laravel/zipball/6d0172a2858be25c682f3eee216e31eb68da0ea5", + "reference": "6d0172a2858be25c682f3eee216e31eb68da0ea5", "shasum": "" }, "require": { "guzzlehttp/guzzle": "^7.9.3", - "laravel/framework": "^11.29|^12.12", - "openai-php/client": "^0.18.0", + "laravel/framework": "^11.29|^12.12|^13.0", + "openai-php/client": "^0.19.1", "php": "^8.2.0" }, "require-dev": { @@ -6353,7 +6345,7 @@ ], "support": { "issues": "https://github.com/openai-php/laravel/issues", - "source": "https://github.com/openai-php/laravel/tree/v0.18.0" + "source": "https://github.com/openai-php/laravel/tree/v0.19.1" }, "funding": [ { @@ -6373,7 +6365,7 @@ "type": "patreon" } ], - "time": "2025-10-31T19:08:58+00:00" + "time": "2026-03-17T21:02:26+00:00" }, { "name": "paragonie/constant_time_encoding", @@ -7149,23 +7141,23 @@ }, { "name": "pion/laravel-chunk-upload", - "version": "v1.5.6", + "version": "dev-laravel-13-support", "source": { "type": "git", - "url": "https://github.com/pionl/laravel-chunk-upload.git", - "reference": "5cfdb8d9058bb4ecdf3a3100b6c7bb197c21e4d4" + "url": "https://github.com/hsndmr/laravel-chunk-upload.git", + "reference": "b32bfb637d5af6501a9fe703393f812e7d6c8458" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pionl/laravel-chunk-upload/zipball/5cfdb8d9058bb4ecdf3a3100b6c7bb197c21e4d4", - "reference": "5cfdb8d9058bb4ecdf3a3100b6c7bb197c21e4d4", + "url": "https://api.github.com/repos/hsndmr/laravel-chunk-upload/zipball/b32bfb637d5af6501a9fe703393f812e7d6c8458", + "reference": "b32bfb637d5af6501a9fe703393f812e7d6c8458", "shasum": "" }, "require": { - "illuminate/console": "5.2 - 5.8 | ^6.0 | ^7.0 | ^8.0 | ^9.0 | ^10.0 | ^11.0 | ^12.0", - "illuminate/filesystem": "5.2 - 5.8 | ^6.0 | ^7.0 | ^8.0 | ^9.0 | ^10.0 | ^11.0 | ^12.0", - "illuminate/http": "5.2 - 5.8 | ^6.0 | ^7.0 | ^8.0 | ^9.0 | ^10.0 | ^11.0 | ^12.0", - "illuminate/support": "5.2 - 5.8 | ^6.0 | ^7.0 | ^8.0 | ^9.0 | ^10.0 | ^11.0 | ^12.0" + "illuminate/console": "5.2 - 5.8 | ^6.0 | ^7.0 | ^8.0 | ^9.0 | ^10.0 | ^11.0 | ^12.0 | ^13.0", + "illuminate/filesystem": "5.2 - 5.8 | ^6.0 | ^7.0 | ^8.0 | ^9.0 | ^10.0 | ^11.0 | ^12.0 | ^13.0", + "illuminate/http": "5.2 - 5.8 | ^6.0 | ^7.0 | ^8.0 | ^9.0 | ^10.0 | ^11.0 | ^12.0 | ^13.0", + "illuminate/support": "5.2 - 5.8 | ^6.0 | ^7.0 | ^8.0 | ^9.0 | ^10.0 | ^11.0 | ^12.0 | ^13.0" }, "require-dev": { "friendsofphp/php-cs-fixer": "^2.16.0 | ^3.52.0", @@ -7186,7 +7178,25 @@ "Pion\\Laravel\\ChunkUpload\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", + "autoload-dev": { + "psr-4": { + "Tests\\": "tests/" + } + }, + "scripts": { + "lint:fix": [ + "./vendor/bin/php-cs-fixer fix --config=.php_cs --using-cache false" + ], + "lint:check": [ + "./vendor/bin/phplint" + ], + "lint": [ + "composer run-script lint:fix && composer run-script lint:check" + ], + "test": [ + "./vendor/bin/phpunit" + ] + }, "license": [ "MIT" ], @@ -7198,20 +7208,9 @@ ], "description": "Service for chunked upload with several js providers", "support": { - "issues": "https://github.com/pionl/laravel-chunk-upload/issues", - "source": "https://github.com/pionl/laravel-chunk-upload/tree/v1.5.6" + "source": "https://github.com/hsndmr/laravel-chunk-upload/tree/laravel-13-support" }, - "funding": [ - { - "url": "https://revolut.me/martinpv7n", - "type": "custom" - }, - { - "url": "https://github.com/pionl", - "type": "github" - } - ], - "time": "2025-03-19T16:30:08+00:00" + "time": "2026-03-21T15:45:15+00:00" }, { "name": "predis/predis", @@ -7483,25 +7482,18 @@ }, { "name": "processmaker/pmql", - "version": "1.13.2", + "version": "dev-task/FOUR-28803", "source": { "type": "git", "url": "https://github.com/ProcessMaker/pmql.git", - "reference": "9c8ee88a81807e79f8a475b2842fbbb356182c45" + "reference": "a650ca80d98865dc52a4ceba44ed564ad4096d6e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ProcessMaker/pmql/zipball/9c8ee88a81807e79f8a475b2842fbbb356182c45", - "reference": "9c8ee88a81807e79f8a475b2842fbbb356182c45", + "url": "https://api.github.com/repos/ProcessMaker/pmql/zipball/a650ca80d98865dc52a4ceba44ed564ad4096d6e", + "reference": "a650ca80d98865dc52a4ceba44ed564ad4096d6e", "shasum": "" }, - "require": { - "laravel/framework": "^11|^12" - }, - "require-dev": { - "orchestra/testbench": "^4.8.0", - "phpunit/phpunit": "^8.3" - }, "type": "project", "extra": { "laravel": { @@ -7513,7 +7505,11 @@ "ProcessMaker\\Query\\": "src" } }, - "notification-url": "https://packagist.org/downloads/", + "autoload-dev": { + "psr-4": { + "ProcessMaker\\Query\\Tests\\": "tests/" + } + }, "authors": [ { "name": "Taylor Dondich", @@ -7522,10 +7518,10 @@ ], "description": "An Eloquent trait that provides the pmql scope to allow converting simple sql criteria clauses to Eloquent", "support": { - "issues": "https://github.com/ProcessMaker/pmql/issues", - "source": "https://github.com/ProcessMaker/pmql/tree/v1.13.2" + "source": "https://github.com/ProcessMaker/pmql/tree/task/FOUR-28803", + "issues": "https://github.com/ProcessMaker/pmql/issues" }, - "time": "2026-01-15T15:54:57+00:00" + "time": "2026-04-02T19:09:06+00:00" }, { "name": "promphp/prometheus_client_php", @@ -8171,16 +8167,16 @@ }, { "name": "psy/psysh", - "version": "v0.12.20", + "version": "v0.12.22", "source": { "type": "git", "url": "https://github.com/bobthecow/psysh.git", - "reference": "19678eb6b952a03b8a1d96ecee9edba518bb0373" + "reference": "3be75d5b9244936dd4ac62ade2bfb004d13acf0f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/bobthecow/psysh/zipball/19678eb6b952a03b8a1d96ecee9edba518bb0373", - "reference": "19678eb6b952a03b8a1d96ecee9edba518bb0373", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/3be75d5b9244936dd4ac62ade2bfb004d13acf0f", + "reference": "3be75d5b9244936dd4ac62ade2bfb004d13acf0f", "shasum": "" }, "require": { @@ -8244,9 +8240,9 @@ ], "support": { "issues": "https://github.com/bobthecow/psysh/issues", - "source": "https://github.com/bobthecow/psysh/tree/v0.12.20" + "source": "https://github.com/bobthecow/psysh/tree/v0.12.22" }, - "time": "2026-02-11T15:05:28+00:00" + "time": "2026-03-22T23:03:24+00:00" }, { "name": "pusher/pusher-php-server", @@ -8309,6 +8305,68 @@ }, "time": "2025-01-06T10:56:20+00:00" }, + { + "name": "radebatz/type-info-extras", + "version": "1.0.7", + "source": { + "type": "git", + "url": "https://github.com/DerManoMann/type-info-extras.git", + "reference": "95a524a74a61648b44e355cb33d38db4b17ef5ce" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/DerManoMann/type-info-extras/zipball/95a524a74a61648b44e355cb33d38db4b17ef5ce", + "reference": "95a524a74a61648b44e355cb33d38db4b17ef5ce", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "phpstan/phpdoc-parser": "^2.0", + "symfony/type-info": "^7.3.8 || ^7.4.1 || ^8.0 || ^8.1-@dev" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^3.70", + "phpstan/phpstan": "^2.1", + "phpunit/phpunit": "^11.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Radebatz\\TypeInfoExtras\\": "src" + }, + "exclude-from-classmap": [ + "/tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Martin Rademacher", + "email": "mano@radebatz.org" + } + ], + "description": "Extras for symfony/type-info", + "homepage": "http://radebatz.net/mano/", + "keywords": [ + "component", + "symfony", + "type-info", + "types" + ], + "support": { + "issues": "https://github.com/DerManoMann/type-info-extras/issues", + "source": "https://github.com/DerManoMann/type-info-extras/tree/1.0.7" + }, + "time": "2026-03-06T22:40:29+00:00" + }, { "name": "ralouphie/getallheaders", "version": "3.0.3", @@ -8619,16 +8677,16 @@ }, { "name": "spatie/fractalistic", - "version": "2.11.0", + "version": "2.11.1", "source": { "type": "git", "url": "https://github.com/spatie/fractalistic.git", - "reference": "046c535f30b31a9356fc034ce75e8ee74614ed4f" + "reference": "85d6ff9a93f00d902e17924bb1475163b373c890" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/fractalistic/zipball/046c535f30b31a9356fc034ce75e8ee74614ed4f", - "reference": "046c535f30b31a9356fc034ce75e8ee74614ed4f", + "url": "https://api.github.com/repos/spatie/fractalistic/zipball/85d6ff9a93f00d902e17924bb1475163b373c890", + "reference": "85d6ff9a93f00d902e17924bb1475163b373c890", "shasum": "" }, "require": { @@ -8636,7 +8694,7 @@ "php": "^7.4|^8.0" }, "require-dev": { - "illuminate/pagination": "~5.3.0|~5.4.0|^9.0", + "illuminate/pagination": "~5.3.0|~5.4.0|^9.0|^13.0", "pestphp/pest": "^1.22", "phpunit/phpunit": "^9.0" }, @@ -8669,7 +8727,7 @@ ], "support": { "issues": "https://github.com/spatie/fractalistic/issues", - "source": "https://github.com/spatie/fractalistic/tree/2.11.0" + "source": "https://github.com/spatie/fractalistic/tree/2.11.1" }, "funding": [ { @@ -8677,20 +8735,20 @@ "type": "github" } ], - "time": "2025-01-27T09:52:33+00:00" + "time": "2026-02-21T21:10:25+00:00" }, { "name": "spatie/image", - "version": "3.9.1", + "version": "3.9.4", "source": { "type": "git", "url": "https://github.com/spatie/image.git", - "reference": "9a8e02839897b236f37708d24bcb12381ba050ff" + "reference": "6a322b5e9268e3903d4fb6e1ff08b7dcc3aa9429" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/image/zipball/9a8e02839897b236f37708d24bcb12381ba050ff", - "reference": "9a8e02839897b236f37708d24bcb12381ba050ff", + "url": "https://api.github.com/repos/spatie/image/zipball/6a322b5e9268e3903d4fb6e1ff08b7dcc3aa9429", + "reference": "6a322b5e9268e3903d4fb6e1ff08b7dcc3aa9429", "shasum": "" }, "require": { @@ -8738,7 +8796,7 @@ "spatie" ], "support": { - "source": "https://github.com/spatie/image/tree/3.9.1" + "source": "https://github.com/spatie/image/tree/3.9.4" }, "funding": [ { @@ -8750,7 +8808,7 @@ "type": "github" } ], - "time": "2026-01-12T07:34:13+00:00" + "time": "2026-03-13T14:23:45+00:00" }, { "name": "spatie/image-optimizer", @@ -8809,21 +8867,21 @@ }, { "name": "spatie/laravel-fractal", - "version": "6.3.3", + "version": "6.4.0", "source": { "type": "git", "url": "https://github.com/spatie/laravel-fractal.git", - "reference": "5146a50e4f04d75db158e834789667ad28ec5f6d" + "reference": "d34114259233540dcb405e45dff863164fb426c5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-fractal/zipball/5146a50e4f04d75db158e834789667ad28ec5f6d", - "reference": "5146a50e4f04d75db158e834789667ad28ec5f6d", + "url": "https://api.github.com/repos/spatie/laravel-fractal/zipball/d34114259233540dcb405e45dff863164fb426c5", + "reference": "d34114259233540dcb405e45dff863164fb426c5", "shasum": "" }, "require": { - "illuminate/contracts": "^8.0|^9.0|^10.0|^11.0|^12.0", - "illuminate/support": "^8.0|^9.0|^10.0|^11.0|^12.0", + "illuminate/contracts": "^8.0|^9.0|^10.0|^11.0|^12.0|^13.0", + "illuminate/support": "^8.0|^9.0|^10.0|^11.0|^12.0|^13.0", "league/fractal": "^0.20.1|^0.20", "nesbot/carbon": "^2.63|^3.0", "php": "^8.0", @@ -8832,8 +8890,8 @@ }, "require-dev": { "ext-json": "*", - "orchestra/testbench": "^7.0|^8.0|^9.0|^10.0", - "pestphp/pest": "^1.22|^2.34|^3.0" + "orchestra/testbench": "^7.0|^8.0|^9.2|^10.0|^11.0", + "pestphp/pest": "^1.22|^2.34|^3.0|^4.0" }, "type": "library", "extra": { @@ -8878,7 +8936,7 @@ "transform" ], "support": { - "source": "https://github.com/spatie/laravel-fractal/tree/6.3.3" + "source": "https://github.com/spatie/laravel-fractal/tree/6.4.0" }, "funding": [ { @@ -8886,31 +8944,31 @@ "type": "custom" } ], - "time": "2025-12-22T09:53:23+00:00" + "time": "2026-02-21T15:58:07+00:00" }, { "name": "spatie/laravel-html", - "version": "3.12.3", + "version": "3.13.0", "source": { "type": "git", "url": "https://github.com/spatie/laravel-html.git", - "reference": "dd4a946ea9e2d7af8945fdfcf282663c69fac26a" + "reference": "0579bf41959b4c4068206ec9bf1fcd1b59d8fa25" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-html/zipball/dd4a946ea9e2d7af8945fdfcf282663c69fac26a", - "reference": "dd4a946ea9e2d7af8945fdfcf282663c69fac26a", + "url": "https://api.github.com/repos/spatie/laravel-html/zipball/0579bf41959b4c4068206ec9bf1fcd1b59d8fa25", + "reference": "0579bf41959b4c4068206ec9bf1fcd1b59d8fa25", "shasum": "" }, "require": { - "illuminate/http": "^10.0|^11.0|^12.0", - "illuminate/support": "^10.0|^11.0|^12.0", + "illuminate/http": "^10.0|^11.0|^12.0|^13.0", + "illuminate/support": "^10.0|^11.0|^12.0|^13.0", "php": "^8.2" }, "require-dev": { "mockery/mockery": "^1.3", - "orchestra/testbench": "^8.0|^9.0|^10.0", - "pestphp/pest": "^2.34|^3.7" + "orchestra/testbench": "^8.0|^9.0|^10.0|^11.0", + "pestphp/pest": "^2.34|^3.7|^4.0" }, "type": "library", "extra": { @@ -8956,7 +9014,7 @@ "spatie" ], "support": { - "source": "https://github.com/spatie/laravel-html/tree/3.12.3" + "source": "https://github.com/spatie/laravel-html/tree/3.13.0" }, "funding": [ { @@ -8964,20 +9022,20 @@ "type": "custom" } ], - "time": "2025-12-22T12:05:50+00:00" + "time": "2026-02-22T09:05:56+00:00" }, { "name": "spatie/laravel-medialibrary", - "version": "11.17.8", + "version": "11.21.0", "source": { "type": "git", "url": "https://github.com/spatie/laravel-medialibrary.git", - "reference": "ce3edb8c163e159e41a945a24e4bf9ad7a7499c9" + "reference": "d6e2595033ffd130d4dd5d124510ab3304794c44" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-medialibrary/zipball/ce3edb8c163e159e41a945a24e4bf9ad7a7499c9", - "reference": "ce3edb8c163e159e41a945a24e4bf9ad7a7499c9", + "url": "https://api.github.com/repos/spatie/laravel-medialibrary/zipball/d6e2595033ffd130d4dd5d124510ab3304794c44", + "reference": "d6e2595033ffd130d4dd5d124510ab3304794c44", "shasum": "" }, "require": { @@ -8985,12 +9043,12 @@ "ext-exif": "*", "ext-fileinfo": "*", "ext-json": "*", - "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", + "illuminate/bus": "^10.2|^11.0|^12.0|^13.0", + "illuminate/conditionable": "^10.2|^11.0|^12.0|^13.0", + "illuminate/console": "^10.2|^11.0|^12.0|^13.0", + "illuminate/database": "^10.2|^11.0|^12.0|^13.0", + "illuminate/pipeline": "^10.2|^11.0|^12.0|^13.0", + "illuminate/support": "^10.2|^11.0|^12.0|^13.0", "maennchen/zipstream-php": "^3.1", "php": "^8.2", "spatie/image": "^3.3.2", @@ -9010,7 +9068,7 @@ "larastan/larastan": "^2.7|^3.0", "league/flysystem-aws-s3-v3": "^3.22", "mockery/mockery": "^1.6.7", - "orchestra/testbench": "^8.36|^9.15|^10.8", + "orchestra/testbench": "^8.36|^9.15|^10.8|^11.0", "pestphp/pest": "^2.36|^3.0|^4.0", "phpstan/extension-installer": "^1.3.1", "spatie/laravel-ray": "^1.33", @@ -9062,7 +9120,7 @@ ], "support": { "issues": "https://github.com/spatie/laravel-medialibrary/issues", - "source": "https://github.com/spatie/laravel-medialibrary/tree/11.17.8" + "source": "https://github.com/spatie/laravel-medialibrary/tree/11.21.0" }, "funding": [ { @@ -9074,34 +9132,34 @@ "type": "github" } ], - "time": "2026-01-05T09:32:05+00:00" + "time": "2026-02-21T15:58:56+00:00" }, { "name": "spatie/laravel-multitenancy", - "version": "4.0.7", + "version": "4.1.0", "source": { "type": "git", "url": "https://github.com/spatie/laravel-multitenancy.git", - "reference": "6bf5a69aa94584682690446067cb4ac1dde65b20" + "reference": "ba9bf2114a89c3bdaf3ad099f15bb413b52ba006" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-multitenancy/zipball/6bf5a69aa94584682690446067cb4ac1dde65b20", - "reference": "6bf5a69aa94584682690446067cb4ac1dde65b20", + "url": "https://api.github.com/repos/spatie/laravel-multitenancy/zipball/ba9bf2114a89c3bdaf3ad099f15bb413b52ba006", + "reference": "ba9bf2114a89c3bdaf3ad099f15bb413b52ba006", "shasum": "" }, "require": { - "illuminate/support": "^11.0|^12.0", + "illuminate/support": "^11.0|^12.0|^13.0", "php": "^8.2", "spatie/laravel-package-tools": "^1.9" }, "require-dev": { "laravel/legacy-factories": "^1.0.4", - "laravel/octane": "^2.5|dev-develop", + "laravel/octane": "^2.5|dev-develop|dev-laravel13", "laravel/serializable-closure": "^1.1|^2.0", "mockery/mockery": "^1.4", - "orchestra/testbench": "^9.0|^10.0", - "pestphp/pest": "^2.34|^3.7", + "orchestra/testbench": "^9.1.4|^10.0|^11.0", + "pestphp/pest": "^2.34|^3.7|^4.0", "spatie/valuestore": "^1.2" }, "type": "library", @@ -9141,7 +9199,7 @@ ], "support": { "issues": "https://github.com/spatie/laravel-multitenancy/issues", - "source": "https://github.com/spatie/laravel-multitenancy/tree/4.0.7" + "source": "https://github.com/spatie/laravel-multitenancy/tree/4.1.0" }, "funding": [ { @@ -9153,33 +9211,33 @@ "type": "github" } ], - "time": "2025-09-26T16:05:56+00:00" + "time": "2026-02-22T09:09:37+00:00" }, { "name": "spatie/laravel-package-tools", - "version": "1.92.7", + "version": "1.93.0", "source": { "type": "git", "url": "https://github.com/spatie/laravel-package-tools.git", - "reference": "f09a799850b1ed765103a4f0b4355006360c49a5" + "reference": "0d097bce95b2bf6802fb1d83e1e753b0f5a948e7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/f09a799850b1ed765103a4f0b4355006360c49a5", - "reference": "f09a799850b1ed765103a4f0b4355006360c49a5", + "url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/0d097bce95b2bf6802fb1d83e1e753b0f5a948e7", + "reference": "0d097bce95b2bf6802fb1d83e1e753b0f5a948e7", "shasum": "" }, "require": { - "illuminate/contracts": "^9.28|^10.0|^11.0|^12.0", - "php": "^8.0" + "illuminate/contracts": "^10.0|^11.0|^12.0|^13.0", + "php": "^8.1" }, "require-dev": { "mockery/mockery": "^1.5", - "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" + "orchestra/testbench": "^8.0|^9.2|^10.0|^11.0", + "pestphp/pest": "^2.1|^3.1|^4.0", + "phpunit/php-code-coverage": "^10.0|^11.0|^12.0", + "phpunit/phpunit": "^10.5|^11.5|^12.5", + "spatie/pest-plugin-test-time": "^2.2|^3.0" }, "type": "library", "autoload": { @@ -9206,7 +9264,7 @@ ], "support": { "issues": "https://github.com/spatie/laravel-package-tools/issues", - "source": "https://github.com/spatie/laravel-package-tools/tree/1.92.7" + "source": "https://github.com/spatie/laravel-package-tools/tree/1.93.0" }, "funding": [ { @@ -9214,7 +9272,7 @@ "type": "github" } ], - "time": "2025-07-17T15:46:43+00:00" + "time": "2026-02-21T12:49:54+00:00" }, { "name": "spatie/temporary-directory", @@ -9349,16 +9407,16 @@ }, { "name": "swagger-api/swagger-ui", - "version": "v5.31.0", + "version": "v5.32.1", "source": { "type": "git", "url": "https://github.com/swagger-api/swagger-ui.git", - "reference": "61dddd44389bf25922639afd682f50b8a0fb5cf4" + "reference": "d361f5b3570b8ade67fb1c02cf7a676fcb441479" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/swagger-api/swagger-ui/zipball/61dddd44389bf25922639afd682f50b8a0fb5cf4", - "reference": "61dddd44389bf25922639afd682f50b8a0fb5cf4", + "url": "https://api.github.com/repos/swagger-api/swagger-ui/zipball/d361f5b3570b8ade67fb1c02cf7a676fcb441479", + "reference": "d361f5b3570b8ade67fb1c02cf7a676fcb441479", "shasum": "" }, "type": "library", @@ -9404,9 +9462,9 @@ ], "support": { "issues": "https://github.com/swagger-api/swagger-ui/issues", - "source": "https://github.com/swagger-api/swagger-ui/tree/v5.31.0" + "source": "https://github.com/swagger-api/swagger-ui/tree/v5.32.1" }, - "time": "2025-12-11T15:57:42+00:00" + "time": "2026-03-17T14:00:38+00:00" }, { "name": "symfony/cache", @@ -9586,16 +9644,16 @@ }, { "name": "symfony/clock", - "version": "v8.0.0", + "version": "v8.0.8", "source": { "type": "git", "url": "https://github.com/symfony/clock.git", - "reference": "832119f9b8dbc6c8e6f65f30c5969eca1e88764f" + "reference": "b55a638b189a6faa875e0ccdb00908fb87af95b3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/clock/zipball/832119f9b8dbc6c8e6f65f30c5969eca1e88764f", - "reference": "832119f9b8dbc6c8e6f65f30c5969eca1e88764f", + "url": "https://api.github.com/repos/symfony/clock/zipball/b55a638b189a6faa875e0ccdb00908fb87af95b3", + "reference": "b55a638b189a6faa875e0ccdb00908fb87af95b3", "shasum": "" }, "require": { @@ -9639,7 +9697,7 @@ "time" ], "support": { - "source": "https://github.com/symfony/clock/tree/v8.0.0" + "source": "https://github.com/symfony/clock/tree/v8.0.8" }, "funding": [ { @@ -9659,51 +9717,43 @@ "type": "tidelift" } ], - "time": "2025-11-12T15:46:48+00:00" + "time": "2026-03-30T15:14:47+00:00" }, { "name": "symfony/console", - "version": "v7.4.4", + "version": "v8.0.8", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "41e38717ac1dd7a46b6bda7d6a82af2d98a78894" + "reference": "5b66d385dc58f69652e56f78a4184615e3f2b7f7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/41e38717ac1dd7a46b6bda7d6a82af2d98a78894", - "reference": "41e38717ac1dd7a46b6bda7d6a82af2d98a78894", + "url": "https://api.github.com/repos/symfony/console/zipball/5b66d385dc58f69652e56f78a4184615e3f2b7f7", + "reference": "5b66d385dc58f69652e56f78a4184615e3f2b7f7", "shasum": "" }, "require": { - "php": ">=8.2", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/polyfill-mbstring": "~1.0", + "php": ">=8.4", + "symfony/polyfill-mbstring": "^1.0", "symfony/service-contracts": "^2.5|^3", - "symfony/string": "^7.2|^8.0" - }, - "conflict": { - "symfony/dependency-injection": "<6.4", - "symfony/dotenv": "<6.4", - "symfony/event-dispatcher": "<6.4", - "symfony/lock": "<6.4", - "symfony/process": "<6.4" + "symfony/string": "^7.4|^8.0" }, "provide": { "psr/log-implementation": "1.0|2.0|3.0" }, "require-dev": { "psr/log": "^1|^2|^3", - "symfony/config": "^6.4|^7.0|^8.0", - "symfony/dependency-injection": "^6.4|^7.0|^8.0", - "symfony/event-dispatcher": "^6.4|^7.0|^8.0", - "symfony/http-foundation": "^6.4|^7.0|^8.0", - "symfony/http-kernel": "^6.4|^7.0|^8.0", - "symfony/lock": "^6.4|^7.0|^8.0", - "symfony/messenger": "^6.4|^7.0|^8.0", - "symfony/process": "^6.4|^7.0|^8.0", - "symfony/stopwatch": "^6.4|^7.0|^8.0", - "symfony/var-dumper": "^6.4|^7.0|^8.0" + "symfony/config": "^7.4|^8.0", + "symfony/dependency-injection": "^7.4|^8.0", + "symfony/event-dispatcher": "^7.4|^8.0", + "symfony/http-foundation": "^7.4|^8.0", + "symfony/http-kernel": "^7.4|^8.0", + "symfony/lock": "^7.4|^8.0", + "symfony/messenger": "^7.4|^8.0", + "symfony/process": "^7.4|^8.0", + "symfony/stopwatch": "^7.4|^8.0", + "symfony/var-dumper": "^7.4|^8.0" }, "type": "library", "autoload": { @@ -9737,7 +9787,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v7.4.4" + "source": "https://github.com/symfony/console/tree/v8.0.8" }, "funding": [ { @@ -9757,20 +9807,20 @@ "type": "tidelift" } ], - "time": "2026-01-13T11:36:38+00:00" + "time": "2026-03-30T15:14:47+00:00" }, { "name": "symfony/css-selector", - "version": "v8.0.0", + "version": "v8.0.8", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "6225bd458c53ecdee056214cb4a2ffaf58bd592b" + "reference": "8db1c00226a94d8ab6aa89d9224eeee91e2ea2ed" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/6225bd458c53ecdee056214cb4a2ffaf58bd592b", - "reference": "6225bd458c53ecdee056214cb4a2ffaf58bd592b", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/8db1c00226a94d8ab6aa89d9224eeee91e2ea2ed", + "reference": "8db1c00226a94d8ab6aa89d9224eeee91e2ea2ed", "shasum": "" }, "require": { @@ -9806,7 +9856,7 @@ "description": "Converts CSS selectors to XPath expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/css-selector/tree/v8.0.0" + "source": "https://github.com/symfony/css-selector/tree/v8.0.8" }, "funding": [ { @@ -9826,7 +9876,7 @@ "type": "tidelift" } ], - "time": "2025-10-30T14:17:19+00:00" + "time": "2026-03-30T15:14:47+00:00" }, { "name": "symfony/deprecation-contracts", @@ -9897,33 +9947,32 @@ }, { "name": "symfony/error-handler", - "version": "v7.4.4", + "version": "v8.0.8", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "8da531f364ddfee53e36092a7eebbbd0b775f6b8" + "reference": "c1119fe8dcfc3825ec74ec061b96ef0c8f281517" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/8da531f364ddfee53e36092a7eebbbd0b775f6b8", - "reference": "8da531f364ddfee53e36092a7eebbbd0b775f6b8", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/c1119fe8dcfc3825ec74ec061b96ef0c8f281517", + "reference": "c1119fe8dcfc3825ec74ec061b96ef0c8f281517", "shasum": "" }, "require": { - "php": ">=8.2", + "php": ">=8.4", "psr/log": "^1|^2|^3", "symfony/polyfill-php85": "^1.32", - "symfony/var-dumper": "^6.4|^7.0|^8.0" + "symfony/var-dumper": "^7.4|^8.0" }, "conflict": { - "symfony/deprecation-contracts": "<2.5", - "symfony/http-kernel": "<6.4" + "symfony/deprecation-contracts": "<2.5" }, "require-dev": { - "symfony/console": "^6.4|^7.0|^8.0", + "symfony/console": "^7.4|^8.0", "symfony/deprecation-contracts": "^2.5|^3", - "symfony/http-kernel": "^6.4|^7.0|^8.0", - "symfony/serializer": "^6.4|^7.0|^8.0", + "symfony/http-kernel": "^7.4|^8.0", + "symfony/serializer": "^7.4|^8.0", "symfony/webpack-encore-bundle": "^1.0|^2.0" }, "bin": [ @@ -9955,7 +10004,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.4.4" + "source": "https://github.com/symfony/error-handler/tree/v8.0.8" }, "funding": [ { @@ -9975,20 +10024,20 @@ "type": "tidelift" } ], - "time": "2026-01-20T16:42:42+00:00" + "time": "2026-03-30T15:14:47+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v8.0.4", + "version": "v8.0.8", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "99301401da182b6cfaa4700dbe9987bb75474b47" + "reference": "f662acc6ab22a3d6d716dcb44c381c6002940df6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/99301401da182b6cfaa4700dbe9987bb75474b47", - "reference": "99301401da182b6cfaa4700dbe9987bb75474b47", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/f662acc6ab22a3d6d716dcb44c381c6002940df6", + "reference": "f662acc6ab22a3d6d716dcb44c381c6002940df6", "shasum": "" }, "require": { @@ -10040,7 +10089,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/v8.0.4" + "source": "https://github.com/symfony/event-dispatcher/tree/v8.0.8" }, "funding": [ { @@ -10060,7 +10109,7 @@ "type": "tidelift" } ], - "time": "2026-01-05T11:45:55+00:00" + "time": "2026-03-30T15:14:47+00:00" }, { "name": "symfony/event-dispatcher-contracts", @@ -10208,23 +10257,23 @@ }, { "name": "symfony/finder", - "version": "v7.4.5", + "version": "v8.0.8", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "ad4daa7c38668dcb031e63bc99ea9bd42196a2cb" + "reference": "8da41214757b87d97f181e3d14a4179286151007" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/ad4daa7c38668dcb031e63bc99ea9bd42196a2cb", - "reference": "ad4daa7c38668dcb031e63bc99ea9bd42196a2cb", + "url": "https://api.github.com/repos/symfony/finder/zipball/8da41214757b87d97f181e3d14a4179286151007", + "reference": "8da41214757b87d97f181e3d14a4179286151007", "shasum": "" }, "require": { - "php": ">=8.2" + "php": ">=8.4" }, "require-dev": { - "symfony/filesystem": "^6.4|^7.0|^8.0" + "symfony/filesystem": "^7.4|^8.0" }, "type": "library", "autoload": { @@ -10252,7 +10301,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v7.4.5" + "source": "https://github.com/symfony/finder/tree/v8.0.8" }, "funding": [ { @@ -10272,20 +10321,20 @@ "type": "tidelift" } ], - "time": "2026-01-26T15:07:59+00:00" + "time": "2026-03-30T15:14:47+00:00" }, { "name": "symfony/http-foundation", - "version": "v7.4.5", + "version": "v7.4.8", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "446d0db2b1f21575f1284b74533e425096abdfb6" + "reference": "9381209597ec66c25be154cbf2289076e64d1eab" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/446d0db2b1f21575f1284b74533e425096abdfb6", - "reference": "446d0db2b1f21575f1284b74533e425096abdfb6", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/9381209597ec66c25be154cbf2289076e64d1eab", + "reference": "9381209597ec66c25be154cbf2289076e64d1eab", "shasum": "" }, "require": { @@ -10334,7 +10383,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.4.5" + "source": "https://github.com/symfony/http-foundation/tree/v7.4.8" }, "funding": [ { @@ -10354,78 +10403,63 @@ "type": "tidelift" } ], - "time": "2026-01-27T16:16:02+00:00" + "time": "2026-03-24T13:12:05+00:00" }, { "name": "symfony/http-kernel", - "version": "v7.4.5", + "version": "v8.0.8", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "229eda477017f92bd2ce7615d06222ec0c19e82a" + "reference": "1770f6818d83b2fddc12185025b93f39a90cb628" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/229eda477017f92bd2ce7615d06222ec0c19e82a", - "reference": "229eda477017f92bd2ce7615d06222ec0c19e82a", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/1770f6818d83b2fddc12185025b93f39a90cb628", + "reference": "1770f6818d83b2fddc12185025b93f39a90cb628", "shasum": "" }, "require": { - "php": ">=8.2", + "php": ">=8.4", "psr/log": "^1|^2|^3", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/error-handler": "^6.4|^7.0|^8.0", - "symfony/event-dispatcher": "^7.3|^8.0", + "symfony/error-handler": "^7.4|^8.0", + "symfony/event-dispatcher": "^7.4|^8.0", "symfony/http-foundation": "^7.4|^8.0", "symfony/polyfill-ctype": "^1.8" }, "conflict": { - "symfony/browser-kit": "<6.4", - "symfony/cache": "<6.4", - "symfony/config": "<6.4", - "symfony/console": "<6.4", - "symfony/dependency-injection": "<6.4", - "symfony/doctrine-bridge": "<6.4", "symfony/flex": "<2.10", - "symfony/form": "<6.4", - "symfony/http-client": "<6.4", "symfony/http-client-contracts": "<2.5", - "symfony/mailer": "<6.4", - "symfony/messenger": "<6.4", - "symfony/translation": "<6.4", "symfony/translation-contracts": "<2.5", - "symfony/twig-bridge": "<6.4", - "symfony/validator": "<6.4", - "symfony/var-dumper": "<6.4", - "twig/twig": "<3.12" + "twig/twig": "<3.21" }, "provide": { "psr/log-implementation": "1.0|2.0|3.0" }, "require-dev": { "psr/cache": "^1.0|^2.0|^3.0", - "symfony/browser-kit": "^6.4|^7.0|^8.0", - "symfony/clock": "^6.4|^7.0|^8.0", - "symfony/config": "^6.4|^7.0|^8.0", - "symfony/console": "^6.4|^7.0|^8.0", - "symfony/css-selector": "^6.4|^7.0|^8.0", - "symfony/dependency-injection": "^6.4|^7.0|^8.0", - "symfony/dom-crawler": "^6.4|^7.0|^8.0", - "symfony/expression-language": "^6.4|^7.0|^8.0", - "symfony/finder": "^6.4|^7.0|^8.0", + "symfony/browser-kit": "^7.4|^8.0", + "symfony/clock": "^7.4|^8.0", + "symfony/config": "^7.4|^8.0", + "symfony/console": "^7.4|^8.0", + "symfony/css-selector": "^7.4|^8.0", + "symfony/dependency-injection": "^7.4|^8.0", + "symfony/dom-crawler": "^7.4|^8.0", + "symfony/expression-language": "^7.4|^8.0", + "symfony/finder": "^7.4|^8.0", "symfony/http-client-contracts": "^2.5|^3", - "symfony/process": "^6.4|^7.0|^8.0", - "symfony/property-access": "^7.1|^8.0", - "symfony/routing": "^6.4|^7.0|^8.0", - "symfony/serializer": "^7.1|^8.0", - "symfony/stopwatch": "^6.4|^7.0|^8.0", - "symfony/translation": "^6.4|^7.0|^8.0", + "symfony/process": "^7.4|^8.0", + "symfony/property-access": "^7.4|^8.0", + "symfony/routing": "^7.4|^8.0", + "symfony/serializer": "^7.4|^8.0", + "symfony/stopwatch": "^7.4|^8.0", + "symfony/translation": "^7.4|^8.0", "symfony/translation-contracts": "^2.5|^3", - "symfony/uid": "^6.4|^7.0|^8.0", - "symfony/validator": "^6.4|^7.0|^8.0", - "symfony/var-dumper": "^6.4|^7.0|^8.0", - "symfony/var-exporter": "^6.4|^7.0|^8.0", - "twig/twig": "^3.12" + "symfony/uid": "^7.4|^8.0", + "symfony/validator": "^7.4|^8.0", + "symfony/var-dumper": "^7.4|^8.0", + "symfony/var-exporter": "^7.4|^8.0", + "twig/twig": "^3.21" }, "type": "library", "autoload": { @@ -10453,7 +10487,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.4.5" + "source": "https://github.com/symfony/http-kernel/tree/v8.0.8" }, "funding": [ { @@ -10473,43 +10507,39 @@ "type": "tidelift" } ], - "time": "2026-01-28T10:33:42+00:00" + "time": "2026-03-31T21:14:05+00:00" }, { "name": "symfony/mailer", - "version": "v7.4.4", + "version": "v8.0.8", "source": { "type": "git", "url": "https://github.com/symfony/mailer.git", - "reference": "7b750074c40c694ceb34cb926d6dffee231c5cd6" + "reference": "ca5f6edaf8780ece814404b58a4482b22b509c56" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mailer/zipball/7b750074c40c694ceb34cb926d6dffee231c5cd6", - "reference": "7b750074c40c694ceb34cb926d6dffee231c5cd6", + "url": "https://api.github.com/repos/symfony/mailer/zipball/ca5f6edaf8780ece814404b58a4482b22b509c56", + "reference": "ca5f6edaf8780ece814404b58a4482b22b509c56", "shasum": "" }, "require": { "egulias/email-validator": "^2.1.10|^3|^4", - "php": ">=8.2", + "php": ">=8.4", "psr/event-dispatcher": "^1", "psr/log": "^1|^2|^3", - "symfony/event-dispatcher": "^6.4|^7.0|^8.0", - "symfony/mime": "^7.2|^8.0", + "symfony/event-dispatcher": "^7.4|^8.0", + "symfony/mime": "^7.4|^8.0", "symfony/service-contracts": "^2.5|^3" }, "conflict": { - "symfony/http-client-contracts": "<2.5", - "symfony/http-kernel": "<6.4", - "symfony/messenger": "<6.4", - "symfony/mime": "<6.4", - "symfony/twig-bridge": "<6.4" + "symfony/http-client-contracts": "<2.5" }, "require-dev": { - "symfony/console": "^6.4|^7.0|^8.0", - "symfony/http-client": "^6.4|^7.0|^8.0", - "symfony/messenger": "^6.4|^7.0|^8.0", - "symfony/twig-bridge": "^6.4|^7.0|^8.0" + "symfony/console": "^7.4|^8.0", + "symfony/http-client": "^7.4|^8.0", + "symfony/messenger": "^7.4|^8.0", + "symfony/twig-bridge": "^7.4|^8.0" }, "type": "library", "autoload": { @@ -10537,7 +10567,7 @@ "description": "Helps sending emails", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/mailer/tree/v7.4.4" + "source": "https://github.com/symfony/mailer/tree/v8.0.8" }, "funding": [ { @@ -10557,44 +10587,41 @@ "type": "tidelift" } ], - "time": "2026-01-08T08:25:11+00:00" + "time": "2026-03-30T15:14:47+00:00" }, { "name": "symfony/mime", - "version": "v7.4.5", + "version": "v8.0.8", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "b18c7e6e9eee1e19958138df10412f3c4c316148" + "reference": "ddff21f14c7ce04b98101b399a9463dce8b0ce66" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/b18c7e6e9eee1e19958138df10412f3c4c316148", - "reference": "b18c7e6e9eee1e19958138df10412f3c4c316148", + "url": "https://api.github.com/repos/symfony/mime/zipball/ddff21f14c7ce04b98101b399a9463dce8b0ce66", + "reference": "ddff21f14c7ce04b98101b399a9463dce8b0ce66", "shasum": "" }, "require": { - "php": ">=8.2", - "symfony/deprecation-contracts": "^2.5|^3", + "php": ">=8.4", "symfony/polyfill-intl-idn": "^1.10", "symfony/polyfill-mbstring": "^1.0" }, "conflict": { "egulias/email-validator": "~3.0.0", - "phpdocumentor/reflection-docblock": "<5.2|>=6", - "phpdocumentor/type-resolver": "<1.5.1", - "symfony/mailer": "<6.4", - "symfony/serializer": "<6.4.3|>7.0,<7.0.3" + "phpdocumentor/reflection-docblock": "<5.2|>=7", + "phpdocumentor/type-resolver": "<1.5.1" }, "require-dev": { "egulias/email-validator": "^2.1.10|^3.1|^4", "league/html-to-markdown": "^5.0", - "phpdocumentor/reflection-docblock": "^5.2", - "symfony/dependency-injection": "^6.4|^7.0|^8.0", - "symfony/process": "^6.4|^7.0|^8.0", - "symfony/property-access": "^6.4|^7.0|^8.0", - "symfony/property-info": "^6.4|^7.0|^8.0", - "symfony/serializer": "^6.4.3|^7.0.3|^8.0" + "phpdocumentor/reflection-docblock": "^5.2|^6.0", + "symfony/dependency-injection": "^7.4|^8.0", + "symfony/process": "^7.4|^8.0", + "symfony/property-access": "^7.4|^8.0", + "symfony/property-info": "^7.4|^8.0", + "symfony/serializer": "^7.4|^8.0" }, "type": "library", "autoload": { @@ -10626,7 +10653,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v7.4.5" + "source": "https://github.com/symfony/mime/tree/v8.0.8" }, "funding": [ { @@ -10646,7 +10673,7 @@ "type": "tidelift" } ], - "time": "2026-01-27T08:59:58+00:00" + "time": "2026-03-30T15:14:47+00:00" }, { "name": "symfony/polyfill-ctype", @@ -11559,20 +11586,20 @@ }, { "name": "symfony/process", - "version": "v7.4.5", + "version": "v8.0.8", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "608476f4604102976d687c483ac63a79ba18cc97" + "reference": "cb8939aff03470d1a9d1d1b66d08c6fa71b3bbdc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/608476f4604102976d687c483ac63a79ba18cc97", - "reference": "608476f4604102976d687c483ac63a79ba18cc97", + "url": "https://api.github.com/repos/symfony/process/zipball/cb8939aff03470d1a9d1d1b66d08c6fa71b3bbdc", + "reference": "cb8939aff03470d1a9d1d1b66d08c6fa71b3bbdc", "shasum": "" }, "require": { - "php": ">=8.2" + "php": ">=8.4" }, "type": "library", "autoload": { @@ -11600,7 +11627,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v7.4.5" + "source": "https://github.com/symfony/process/tree/v8.0.8" }, "funding": [ { @@ -11620,41 +11647,40 @@ "type": "tidelift" } ], - "time": "2026-01-26T15:07:59+00:00" + "time": "2026-03-30T15:14:47+00:00" }, { "name": "symfony/psr-http-message-bridge", - "version": "v7.4.0", + "version": "v8.0.8", "source": { "type": "git", "url": "https://github.com/symfony/psr-http-message-bridge.git", - "reference": "0101ff8bd0506703b045b1670960302d302a726c" + "reference": "94facc221260c1d5f20e31ee43cd6c6a824b4a19" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/0101ff8bd0506703b045b1670960302d302a726c", - "reference": "0101ff8bd0506703b045b1670960302d302a726c", + "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/94facc221260c1d5f20e31ee43cd6c6a824b4a19", + "reference": "94facc221260c1d5f20e31ee43cd6c6a824b4a19", "shasum": "" }, "require": { - "php": ">=8.2", + "php": ">=8.4", "psr/http-message": "^1.0|^2.0", - "symfony/http-foundation": "^6.4|^7.0|^8.0" + "symfony/http-foundation": "^7.4|^8.0" }, "conflict": { - "php-http/discovery": "<1.15", - "symfony/http-kernel": "<6.4" + "php-http/discovery": "<1.15" }, "require-dev": { "nyholm/psr7": "^1.1", "php-http/discovery": "^1.15", "psr/log": "^1.1.4|^2|^3", - "symfony/browser-kit": "^6.4|^7.0|^8.0", - "symfony/config": "^6.4|^7.0|^8.0", - "symfony/event-dispatcher": "^6.4|^7.0|^8.0", - "symfony/framework-bundle": "^6.4.13|^7.1.6|^8.0", - "symfony/http-kernel": "^6.4.13|^7.1.6|^8.0", - "symfony/runtime": "^6.4.13|^7.1.6|^8.0" + "symfony/browser-kit": "^7.4|^8.0", + "symfony/config": "^7.4|^8.0", + "symfony/event-dispatcher": "^7.4|^8.0", + "symfony/framework-bundle": "^7.4|^8.0", + "symfony/http-kernel": "^7.4|^8.0", + "symfony/runtime": "^7.4|^8.0" }, "type": "symfony-bridge", "autoload": { @@ -11688,7 +11714,7 @@ "psr-7" ], "support": { - "source": "https://github.com/symfony/psr-http-message-bridge/tree/v7.4.0" + "source": "https://github.com/symfony/psr-http-message-bridge/tree/v8.0.8" }, "funding": [ { @@ -11708,38 +11734,33 @@ "type": "tidelift" } ], - "time": "2025-11-13T08:38:49+00:00" + "time": "2026-03-30T15:14:47+00:00" }, { "name": "symfony/routing", - "version": "v7.4.4", + "version": "v8.0.8", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "0798827fe2c79caeed41d70b680c2c3507d10147" + "reference": "0de330ec2ea922a7b08ec45615bd51179de7fda4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/0798827fe2c79caeed41d70b680c2c3507d10147", - "reference": "0798827fe2c79caeed41d70b680c2c3507d10147", + "url": "https://api.github.com/repos/symfony/routing/zipball/0de330ec2ea922a7b08ec45615bd51179de7fda4", + "reference": "0de330ec2ea922a7b08ec45615bd51179de7fda4", "shasum": "" }, "require": { - "php": ">=8.2", + "php": ">=8.4", "symfony/deprecation-contracts": "^2.5|^3" }, - "conflict": { - "symfony/config": "<6.4", - "symfony/dependency-injection": "<6.4", - "symfony/yaml": "<6.4" - }, "require-dev": { "psr/log": "^1|^2|^3", - "symfony/config": "^6.4|^7.0|^8.0", - "symfony/dependency-injection": "^6.4|^7.0|^8.0", - "symfony/expression-language": "^6.4|^7.0|^8.0", - "symfony/http-foundation": "^6.4|^7.0|^8.0", - "symfony/yaml": "^6.4|^7.0|^8.0" + "symfony/config": "^7.4|^8.0", + "symfony/dependency-injection": "^7.4|^8.0", + "symfony/expression-language": "^7.4|^8.0", + "symfony/http-foundation": "^7.4|^8.0", + "symfony/yaml": "^7.4|^8.0" }, "type": "library", "autoload": { @@ -11773,7 +11794,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v7.4.4" + "source": "https://github.com/symfony/routing/tree/v8.0.8" }, "funding": [ { @@ -11793,7 +11814,7 @@ "type": "tidelift" } ], - "time": "2026-01-12T12:19:02+00:00" + "time": "2026-03-30T15:14:47+00:00" }, { "name": "symfony/service-contracts", @@ -11884,16 +11905,16 @@ }, { "name": "symfony/string", - "version": "v8.0.4", + "version": "v8.0.8", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "758b372d6882506821ed666032e43020c4f57194" + "reference": "ae9488f874d7603f9d2dfbf120203882b645d963" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/758b372d6882506821ed666032e43020c4f57194", - "reference": "758b372d6882506821ed666032e43020c4f57194", + "url": "https://api.github.com/repos/symfony/string/zipball/ae9488f874d7603f9d2dfbf120203882b645d963", + "reference": "ae9488f874d7603f9d2dfbf120203882b645d963", "shasum": "" }, "require": { @@ -11950,7 +11971,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v8.0.4" + "source": "https://github.com/symfony/string/tree/v8.0.8" }, "funding": [ { @@ -11970,20 +11991,20 @@ "type": "tidelift" } ], - "time": "2026-01-12T12:37:40+00:00" + "time": "2026-03-30T15:14:47+00:00" }, { "name": "symfony/translation", - "version": "v8.0.4", + "version": "v8.0.8", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "db70c8ce7db74fd2da7b1d268db46b2a8ce32c10" + "reference": "27c03ae3940de24ba2f71cfdbac824f2aa1fdf2f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/db70c8ce7db74fd2da7b1d268db46b2a8ce32c10", - "reference": "db70c8ce7db74fd2da7b1d268db46b2a8ce32c10", + "url": "https://api.github.com/repos/symfony/translation/zipball/27c03ae3940de24ba2f71cfdbac824f2aa1fdf2f", + "reference": "27c03ae3940de24ba2f71cfdbac824f2aa1fdf2f", "shasum": "" }, "require": { @@ -12043,7 +12064,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v8.0.4" + "source": "https://github.com/symfony/translation/tree/v8.0.8" }, "funding": [ { @@ -12063,7 +12084,7 @@ "type": "tidelift" } ], - "time": "2026-01-13T13:06:50+00:00" + "time": "2026-03-30T15:14:47+00:00" }, { "name": "symfony/translation-contracts", @@ -12147,26 +12168,108 @@ ], "time": "2025-07-15T13:41:35+00:00" }, + { + "name": "symfony/type-info", + "version": "v8.0.8", + "source": { + "type": "git", + "url": "https://github.com/symfony/type-info.git", + "reference": "622d81551770029d44d16be68969712eb47892f1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/type-info/zipball/622d81551770029d44d16be68969712eb47892f1", + "reference": "622d81551770029d44d16be68969712eb47892f1", + "shasum": "" + }, + "require": { + "php": ">=8.4", + "psr/container": "^1.1|^2.0" + }, + "conflict": { + "phpstan/phpdoc-parser": "<1.30" + }, + "require-dev": { + "phpstan/phpdoc-parser": "^1.30|^2.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\TypeInfo\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mathias Arlaud", + "email": "mathias.arlaud@gmail.com" + }, + { + "name": "Baptiste LEDUC", + "email": "baptiste.leduc@gmail.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Extracts PHP types information.", + "homepage": "https://symfony.com", + "keywords": [ + "PHPStan", + "phpdoc", + "symfony", + "type" + ], + "support": { + "source": "https://github.com/symfony/type-info/tree/v8.0.8" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-03-30T15:14:47+00:00" + }, { "name": "symfony/uid", - "version": "v7.4.4", + "version": "v8.0.8", "source": { "type": "git", "url": "https://github.com/symfony/uid.git", - "reference": "7719ce8aba76be93dfe249192f1fbfa52c588e36" + "reference": "f63fa6096a24147283bce4d29327d285326438e0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/uid/zipball/7719ce8aba76be93dfe249192f1fbfa52c588e36", - "reference": "7719ce8aba76be93dfe249192f1fbfa52c588e36", + "url": "https://api.github.com/repos/symfony/uid/zipball/f63fa6096a24147283bce4d29327d285326438e0", + "reference": "f63fa6096a24147283bce4d29327d285326438e0", "shasum": "" }, "require": { - "php": ">=8.2", + "php": ">=8.4", "symfony/polyfill-uuid": "^1.15" }, "require-dev": { - "symfony/console": "^6.4|^7.0|^8.0" + "symfony/console": "^7.4|^8.0" }, "type": "library", "autoload": { @@ -12203,7 +12306,7 @@ "uuid" ], "support": { - "source": "https://github.com/symfony/uid/tree/v7.4.4" + "source": "https://github.com/symfony/uid/tree/v8.0.8" }, "funding": [ { @@ -12223,35 +12326,35 @@ "type": "tidelift" } ], - "time": "2026-01-03T23:30:35+00:00" + "time": "2026-03-30T15:14:47+00:00" }, { "name": "symfony/var-dumper", - "version": "v7.4.4", + "version": "v8.0.8", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "0e4769b46a0c3c62390d124635ce59f66874b282" + "reference": "cfb7badd53bf4177f6e9416cfbbccc13c0e773a1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/0e4769b46a0c3c62390d124635ce59f66874b282", - "reference": "0e4769b46a0c3c62390d124635ce59f66874b282", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/cfb7badd53bf4177f6e9416cfbbccc13c0e773a1", + "reference": "cfb7badd53bf4177f6e9416cfbbccc13c0e773a1", "shasum": "" }, "require": { - "php": ">=8.2", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/polyfill-mbstring": "~1.0" + "php": ">=8.4", + "symfony/polyfill-mbstring": "^1.0" }, "conflict": { - "symfony/console": "<6.4" + "symfony/console": "<7.4", + "symfony/error-handler": "<7.4" }, "require-dev": { - "symfony/console": "^6.4|^7.0|^8.0", - "symfony/http-kernel": "^6.4|^7.0|^8.0", - "symfony/process": "^6.4|^7.0|^8.0", - "symfony/uid": "^6.4|^7.0|^8.0", + "symfony/console": "^7.4|^8.0", + "symfony/http-kernel": "^7.4|^8.0", + "symfony/process": "^7.4|^8.0", + "symfony/uid": "^7.4|^8.0", "twig/twig": "^3.12" }, "bin": [ @@ -12290,7 +12393,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v7.4.4" + "source": "https://github.com/symfony/var-dumper/tree/v8.0.8" }, "funding": [ { @@ -12310,7 +12413,7 @@ "type": "tidelift" } ], - "time": "2026-01-01T22:13:48+00:00" + "time": "2026-03-31T07:15:36+00:00" }, { "name": "symfony/var-exporter", @@ -12394,16 +12497,16 @@ }, { "name": "symfony/yaml", - "version": "v7.4.1", + "version": "v7.4.8", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "24dd4de28d2e3988b311751ac49e684d783e2345" + "reference": "c58fdf7b3d6c2995368264c49e4e8b05bcff2883" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/24dd4de28d2e3988b311751ac49e684d783e2345", - "reference": "24dd4de28d2e3988b311751ac49e684d783e2345", + "url": "https://api.github.com/repos/symfony/yaml/zipball/c58fdf7b3d6c2995368264c49e4e8b05bcff2883", + "reference": "c58fdf7b3d6c2995368264c49e4e8b05bcff2883", "shasum": "" }, "require": { @@ -12446,7 +12549,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v7.4.1" + "source": "https://github.com/symfony/yaml/tree/v7.4.8" }, "funding": [ { @@ -12466,7 +12569,7 @@ "type": "tidelift" } ], - "time": "2025-12-04T18:11:45+00:00" + "time": "2026-03-24T13:12:05+00:00" }, { "name": "tbachert/spi", @@ -12980,24 +13083,25 @@ }, { "name": "zircote/swagger-php", - "version": "5.7.8", + "version": "6.0.6", "source": { "type": "git", "url": "https://github.com/zircote/swagger-php.git", - "reference": "5266730a2e5ba40430069dd9972ede2ec0b021a4" + "reference": "9447c1f45b5ae93185caea9a0c8e298399188a25" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zircote/swagger-php/zipball/5266730a2e5ba40430069dd9972ede2ec0b021a4", - "reference": "5266730a2e5ba40430069dd9972ede2ec0b021a4", + "url": "https://api.github.com/repos/zircote/swagger-php/zipball/9447c1f45b5ae93185caea9a0c8e298399188a25", + "reference": "9447c1f45b5ae93185caea9a0c8e298399188a25", "shasum": "" }, "require": { "ext-json": "*", "nikic/php-parser": "^4.19 || ^5.0", - "php": ">=7.4", + "php": ">=8.2", "phpstan/phpdoc-parser": "^2.0", "psr/log": "^1.1 || ^2.0 || ^3.0", + "radebatz/type-info-extras": "^1.0.2", "symfony/deprecation-contracts": "^2 || ^3", "symfony/finder": "^5.0 || ^6.0 || ^7.0 || ^8.0", "symfony/yaml": "^5.4 || ^6.0 || ^7.0 || ^8.0" @@ -13009,14 +13113,9 @@ "composer/package-versions-deprecated": "^1.11", "doctrine/annotations": "^2.0", "friendsofphp/php-cs-fixer": "^3.62.0", - "phpstan/phpstan": "^1.6 || ^2.0", - "phpunit/phpunit": "^9.0", - "rector/rector": "^1.0 || 2.2.14", - "vimeo/psalm": "^4.30 || ^5.0" - }, - "suggest": { - "doctrine/annotations": "^2.0", - "radebatz/type-info-extras": "^1.0.2" + "phpstan/phpstan": "^2.0", + "phpunit/phpunit": "^11.5", + "rector/rector": "^2.3.1" }, "bin": [ "bin/openapi" @@ -13024,7 +13123,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "5.x-dev" + "dev-master": "6.x-dev" } }, "autoload": { @@ -13062,7 +13161,7 @@ ], "support": { "issues": "https://github.com/zircote/swagger-php/issues", - "source": "https://github.com/zircote/swagger-php/tree/5.7.8" + "source": "https://github.com/zircote/swagger-php/tree/6.0.6" }, "funding": [ { @@ -13070,7 +13169,7 @@ "type": "github" } ], - "time": "2026-01-13T22:19:24+00:00" + "time": "2026-02-28T06:42:58+00:00" } ], "packages-dev": [ @@ -15318,7 +15417,9 @@ "minimum-stability": "dev", "stability-flags": { "open-telemetry/opentelemetry-auto-laravel": 20, - "processmaker/laravel-i18next": 20 + "pion/laravel-chunk-upload": 20, + "processmaker/laravel-i18next": 20, + "processmaker/pmql": 20 }, "prefer-stable": true, "prefer-lowest": false, From ad86c5563b0d170302e3bac71a678fb4806d5f2e Mon Sep 17 00:00:00 2001 From: Nolan Ehrstrom Date: Thu, 2 Apr 2026 13:18:27 -0700 Subject: [PATCH 04/14] Add back packages that were temporarily removed for the L13 dependency installs --- composer.json | 2 + composer.lock | 450 +++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 451 insertions(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 32def8fd5d..a250cd2a99 100644 --- a/composer.json +++ b/composer.json @@ -30,6 +30,7 @@ "laravel/scout": "^11.1", "laravel/telescope": "^5.19", "laravel/tinker": "^3.0", + "laravel/ui": "^4.6", "lavary/laravel-menu": "^1.8", "lcobucci/jwt": "^5.6", "league/commonmark": "^2.8.1", @@ -64,6 +65,7 @@ "simplesoftwareio/simple-qrcode": "*", "spatie/laravel-fractal": "^6.4", "spatie/laravel-html": "^3.13", + "spatie/laravel-ignition": "^2.12", "spatie/laravel-medialibrary": "^11.21", "spatie/laravel-multitenancy": "^4.0.9", "spomky-labs/otphp": "^11.3", diff --git a/composer.lock b/composer.lock index 2475750468..931020c3dc 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "3b14ccdc98e95c6f6ab9acbb551ee1cf", + "content-hash": "7ac61681b6a9461a61aa30f7da022a03", "packages": [ { "name": "babenkoivan/elastic-adapter", @@ -3515,6 +3515,69 @@ }, "time": "2026-03-17T14:53:17+00:00" }, + { + "name": "laravel/ui", + "version": "v4.6.3", + "source": { + "type": "git", + "url": "https://github.com/laravel/ui.git", + "reference": "ff27db15416c1ed8ad9848f5692e47595dd5de27" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/ui/zipball/ff27db15416c1ed8ad9848f5692e47595dd5de27", + "reference": "ff27db15416c1ed8ad9848f5692e47595dd5de27", + "shasum": "" + }, + "require": { + "illuminate/console": "^9.21|^10.0|^11.0|^12.0|^13.0", + "illuminate/filesystem": "^9.21|^10.0|^11.0|^12.0|^13.0", + "illuminate/support": "^9.21|^10.0|^11.0|^12.0|^13.0", + "illuminate/validation": "^9.21|^10.0|^11.0|^12.0|^13.0", + "php": "^8.0", + "symfony/console": "^6.0|^7.0|^8.0" + }, + "require-dev": { + "orchestra/testbench": "^7.35|^8.15|^9.0|^10.0|^11.0", + "phpunit/phpunit": "^9.3|^10.4|^11.5|^12.5|^13.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Laravel\\Ui\\UiServiceProvider" + ] + }, + "branch-alias": { + "dev-master": "4.x-dev" + } + }, + "autoload": { + "psr-4": { + "Laravel\\Ui\\": "src/", + "Illuminate\\Foundation\\Auth\\": "auth-backend/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "Laravel UI utilities and presets.", + "keywords": [ + "laravel", + "ui" + ], + "support": { + "source": "https://github.com/laravel/ui/tree/v4.6.3" + }, + "time": "2026-03-17T13:41:52+00:00" + }, { "name": "lavary/laravel-menu", "version": "v1.8.4", @@ -8675,6 +8738,213 @@ }, "time": "2021-02-08T20:43:55+00:00" }, + { + "name": "spatie/backtrace", + "version": "1.8.2", + "source": { + "type": "git", + "url": "https://github.com/spatie/backtrace.git", + "reference": "8ffe78be5ed355b5009e3dd989d183433e9a5adc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/backtrace/zipball/8ffe78be5ed355b5009e3dd989d183433e9a5adc", + "reference": "8ffe78be5ed355b5009e3dd989d183433e9a5adc", + "shasum": "" + }, + "require": { + "php": "^7.3 || ^8.0" + }, + "require-dev": { + "ext-json": "*", + "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|^8.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Spatie\\Backtrace\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Freek Van de Herten", + "email": "freek@spatie.be", + "homepage": "https://spatie.be", + "role": "Developer" + } + ], + "description": "A better backtrace", + "homepage": "https://github.com/spatie/backtrace", + "keywords": [ + "Backtrace", + "spatie" + ], + "support": { + "issues": "https://github.com/spatie/backtrace/issues", + "source": "https://github.com/spatie/backtrace/tree/1.8.2" + }, + "funding": [ + { + "url": "https://github.com/sponsors/spatie", + "type": "github" + }, + { + "url": "https://spatie.be/open-source/support-us", + "type": "other" + } + ], + "time": "2026-03-11T13:48:28+00:00" + }, + { + "name": "spatie/error-solutions", + "version": "1.1.3", + "source": { + "type": "git", + "url": "https://github.com/spatie/error-solutions.git", + "reference": "e495d7178ca524f2dd0fe6a1d99a1e608e1c9936" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/error-solutions/zipball/e495d7178ca524f2dd0fe6a1d99a1e608e1c9936", + "reference": "e495d7178ca524f2dd0fe6a1d99a1e608e1c9936", + "shasum": "" + }, + "require": { + "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.11.0", + "source": { + "type": "git", + "url": "https://github.com/spatie/flare-client-php.git", + "reference": "fb3ffb946675dba811fbde9122224db2f84daca9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/flare-client-php/zipball/fb3ffb946675dba811fbde9122224db2f84daca9", + "reference": "fb3ffb946675dba811fbde9122224db2f84daca9", + "shasum": "" + }, + "require": { + "illuminate/pipeline": "^8.0|^9.0|^10.0|^11.0|^12.0|^13.0", + "php": "^8.0", + "spatie/backtrace": "^1.6.1", + "symfony/http-foundation": "^5.2|^6.0|^7.0|^8.0", + "symfony/mime": "^5.2|^6.0|^7.0|^8.0", + "symfony/process": "^5.2|^6.0|^7.0|^8.0", + "symfony/var-dumper": "^5.2|^6.0|^7.0|^8.0" + }, + "require-dev": { + "dms/phpunit-arraysubset-asserts": "^0.5.0", + "pestphp/pest": "^1.20|^2.0", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan-deprecation-rules": "^1.0", + "phpstan/phpstan-phpunit": "^1.0", + "spatie/pest-plugin-snapshots": "^1.0|^2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.3.x-dev" + } + }, + "autoload": { + "files": [ + "src/helpers.php" + ], + "psr-4": { + "Spatie\\FlareClient\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Send PHP errors to Flare", + "homepage": "https://github.com/spatie/flare-client-php", + "keywords": [ + "exception", + "flare", + "reporting", + "spatie" + ], + "support": { + "issues": "https://github.com/spatie/flare-client-php/issues", + "source": "https://github.com/spatie/flare-client-php/tree/1.11.0" + }, + "funding": [ + { + "url": "https://github.com/spatie", + "type": "github" + } + ], + "time": "2026-03-17T08:06:16+00:00" + }, { "name": "spatie/fractalistic", "version": "2.11.1", @@ -8737,6 +9007,92 @@ ], "time": "2026-02-21T21:10:25+00:00" }, + { + "name": "spatie/ignition", + "version": "1.16.0", + "source": { + "type": "git", + "url": "https://github.com/spatie/ignition.git", + "reference": "b59385bb7aa24dae81bcc15850ebecfda7b40838" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/ignition/zipball/b59385bb7aa24dae81bcc15850ebecfda7b40838", + "reference": "b59385bb7aa24dae81bcc15850ebecfda7b40838", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-mbstring": "*", + "php": "^8.0", + "spatie/backtrace": "^1.7.1", + "spatie/error-solutions": "^1.1.2", + "spatie/flare-client-php": "^1.9", + "symfony/console": "^5.4.42|^6.0|^7.0|^8.0", + "symfony/http-foundation": "^5.4.42|^6.0|^7.0|^8.0", + "symfony/mime": "^5.4.42|^6.0|^7.0|^8.0", + "symfony/var-dumper": "^5.4.42|^6.0|^7.0|^8.0" + }, + "require-dev": { + "illuminate/cache": "^9.52|^10.0|^11.0|^12.0|^13.0", + "mockery/mockery": "^1.4", + "pestphp/pest": "^1.20|^2.0|^3.0", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan-deprecation-rules": "^1.0", + "phpstan/phpstan-phpunit": "^1.0", + "psr/simple-cache-implementation": "*", + "symfony/cache": "^5.4.38|^6.0|^7.0|^8.0", + "symfony/process": "^5.4.35|^6.0|^7.0|^8.0", + "vlucas/phpdotenv": "^5.5" + }, + "suggest": { + "openai-php/client": "Require get solutions from OpenAI", + "simple-cache-implementation": "To cache solutions from OpenAI" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.5.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spatie\\Ignition\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Spatie", + "email": "info@spatie.be", + "role": "Developer" + } + ], + "description": "A beautiful error page for PHP applications.", + "homepage": "https://flareapp.io/ignition", + "keywords": [ + "error", + "flare", + "laravel", + "page" + ], + "support": { + "docs": "https://flareapp.io/docs/ignition-for-laravel/introduction", + "forum": "https://twitter.com/flareappio", + "issues": "https://github.com/spatie/ignition/issues", + "source": "https://github.com/spatie/ignition" + }, + "funding": [ + { + "url": "https://github.com/spatie", + "type": "github" + } + ], + "time": "2026-03-17T10:51:08+00:00" + }, { "name": "spatie/image", "version": "3.9.4", @@ -9024,6 +9380,98 @@ ], "time": "2026-02-22T09:05:56+00:00" }, + { + "name": "spatie/laravel-ignition", + "version": "2.12.0", + "source": { + "type": "git", + "url": "https://github.com/spatie/laravel-ignition.git", + "reference": "45b3b6e1e73fc161cba2149972698644b99594ee" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/laravel-ignition/zipball/45b3b6e1e73fc161cba2149972698644b99594ee", + "reference": "45b3b6e1e73fc161cba2149972698644b99594ee", + "shasum": "" + }, + "require": { + "ext-curl": "*", + "ext-json": "*", + "ext-mbstring": "*", + "illuminate/support": "^11.0|^12.0|^13.0", + "nesbot/carbon": "^2.72|^3.0", + "php": "^8.2", + "spatie/ignition": "^1.16", + "symfony/console": "^7.4|^8.0", + "symfony/var-dumper": "^7.4|^8.0" + }, + "require-dev": { + "livewire/livewire": "^3.7.0|^4.0|dev-josh/v3-laravel-13-support", + "mockery/mockery": "^1.6.12", + "openai-php/client": "^0.10.3|^0.19", + "orchestra/testbench": "^v9.16.0|^10.6|^11.0", + "pestphp/pest": "^3.7|^4.0", + "phpstan/extension-installer": "^1.4.3", + "phpstan/phpstan-deprecation-rules": "^2.0.3", + "phpstan/phpstan-phpunit": "^2.0.8", + "vlucas/phpdotenv": "^5.6.2" + }, + "suggest": { + "openai-php/client": "Require get solutions from OpenAI", + "psr/simple-cache-implementation": "Needed to cache solutions from OpenAI" + }, + "type": "library", + "extra": { + "laravel": { + "aliases": { + "Flare": "Spatie\\LaravelIgnition\\Facades\\Flare" + }, + "providers": [ + "Spatie\\LaravelIgnition\\IgnitionServiceProvider" + ] + } + }, + "autoload": { + "files": [ + "src/helpers.php" + ], + "psr-4": { + "Spatie\\LaravelIgnition\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Spatie", + "email": "info@spatie.be", + "role": "Developer" + } + ], + "description": "A beautiful error page for Laravel applications.", + "homepage": "https://flareapp.io/ignition", + "keywords": [ + "error", + "flare", + "laravel", + "page" + ], + "support": { + "docs": "https://flareapp.io/docs/ignition-for-laravel/introduction", + "forum": "https://twitter.com/flareappio", + "issues": "https://github.com/spatie/laravel-ignition/issues", + "source": "https://github.com/spatie/laravel-ignition" + }, + "funding": [ + { + "url": "https://github.com/spatie", + "type": "github" + } + ], + "time": "2026-03-17T12:20:04+00:00" + }, { "name": "spatie/laravel-medialibrary", "version": "11.21.0", From 3003f0a44aa1102d4f77b6d7b3827d1a5311dcd1 Mon Sep 17 00:00:00 2001 From: Nolan Ehrstrom Date: Thu, 2 Apr 2026 13:33:59 -0700 Subject: [PATCH 05/14] Add serializable_classes config --- config/cache.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/config/cache.php b/config/cache.php index b0eb4f2696..e7333eb826 100644 --- a/config/cache.php +++ b/config/cache.php @@ -4,6 +4,8 @@ return [ + 'serializable_classes' => true, + /* |-------------------------------------------------------------------------- | Default Cache Store From 910f630a2b26ee078fd943019b6760c59623ecbb Mon Sep 17 00:00:00 2001 From: Nolan Ehrstrom Date: Thu, 2 Apr 2026 14:10:08 -0700 Subject: [PATCH 06/14] Fix middleware name change in Laravel 13 --- .../Http/Middleware/VerifyCsrfToken.php | 20 ------------------- .../Providers/ProcessMakerServiceProvider.php | 3 --- bootstrap/app.php | 2 +- 3 files changed, 1 insertion(+), 24 deletions(-) delete mode 100644 ProcessMaker/Http/Middleware/VerifyCsrfToken.php diff --git a/ProcessMaker/Http/Middleware/VerifyCsrfToken.php b/ProcessMaker/Http/Middleware/VerifyCsrfToken.php deleted file mode 100644 index 3ec2865ce5..0000000000 --- a/ProcessMaker/Http/Middleware/VerifyCsrfToken.php +++ /dev/null @@ -1,20 +0,0 @@ -append(ProcessMakerMiddleware\HideServerHeaders::class); // Remove CSRF middleware from web group (was disabled in original Kernel.php) - $middleware->removeFromGroup('web', Illuminate\Foundation\Http\Middleware\ValidateCsrfToken::class); + $middleware->removeFromGroup('web', Illuminate\Foundation\Http\Middleware\PreventRequestForgery::class); // Replace Laravel default middleware in web group $middleware->replaceInGroup('web', From 15013c70577f911c965e5cbfa125c8a5ad012498 Mon Sep 17 00:00:00 2001 From: Nolan Ehrstrom Date: Mon, 6 Apr 2026 14:09:08 -0700 Subject: [PATCH 07/14] Fix swagger annotations --- .../DocblockAwareGeneratorFactory.php | 62 + composer.json | 1 + composer.lock | 79 +- config/l5-swagger.php | 25 +- storage/api-docs/api-docs.json | 4188 +++++++---------- 5 files changed, 1764 insertions(+), 2591 deletions(-) create mode 100644 ProcessMaker/L5Swagger/DocblockAwareGeneratorFactory.php diff --git a/ProcessMaker/L5Swagger/DocblockAwareGeneratorFactory.php b/ProcessMaker/L5Swagger/DocblockAwareGeneratorFactory.php new file mode 100644 index 0000000000..5dc2d511f2 --- /dev/null +++ b/ProcessMaker/L5Swagger/DocblockAwareGeneratorFactory.php @@ -0,0 +1,62 @@ +documentationConfigFactory->documentationConfig($documentation); + + $paths = $config['paths']; + $scanOptions = $config['scanOptions'] ?? []; + + if (!array_key_exists('analyser', $scanOptions) || $scanOptions['analyser'] === null) { + $scanOptions['analyser'] = new ReflectionAnalyser([ + new DocBlockAnnotationFactory(), + new AttributeAnnotationFactory(), + ]); + } + + $constants = $config['constants'] ?? []; + $yamlCopyRequired = $config['generate_yaml_copy'] ?? false; + + $secSchemesConfig = $config['securityDefinitions']['securitySchemes'] ?? []; + $secConfig = $config['securityDefinitions']['security'] ?? []; + + $security = new SecurityDefinitions($secSchemesConfig, $secConfig); + + return new Generator( + $paths, + $constants, + $yamlCopyRequired, + $security, + $scanOptions, + $this->application->make(Filesystem::class) + ); + } +} diff --git a/composer.json b/composer.json index a250cd2a99..115a342de5 100644 --- a/composer.json +++ b/composer.json @@ -16,6 +16,7 @@ "codegreencreative/laravel-samlidp": "^5.4", "composer/semver": "^3.4", "darkaonline/l5-swagger": "^11.0", + "doctrine/annotations": "^2.0", "doctrine/dbal": "^4.2", "fakerphp/faker": "^1.24", "google/apiclient": "^2.18", diff --git a/composer.lock b/composer.lock index 931020c3dc..80447fcb0f 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "7ac61681b6a9461a61aa30f7da022a03", + "content-hash": "0ffe903ae36727ce622c99f5ed12759c", "packages": [ { "name": "babenkoivan/elastic-adapter", @@ -874,6 +874,83 @@ }, "time": "2024-07-08T12:26:09+00:00" }, + { + "name": "doctrine/annotations", + "version": "2.0.2", + "source": { + "type": "git", + "url": "https://github.com/doctrine/annotations.git", + "reference": "901c2ee5d26eb64ff43c47976e114bf00843acf7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/annotations/zipball/901c2ee5d26eb64ff43c47976e114bf00843acf7", + "reference": "901c2ee5d26eb64ff43c47976e114bf00843acf7", + "shasum": "" + }, + "require": { + "doctrine/lexer": "^2 || ^3", + "ext-tokenizer": "*", + "php": "^7.2 || ^8.0", + "psr/cache": "^1 || ^2 || ^3" + }, + "require-dev": { + "doctrine/cache": "^2.0", + "doctrine/coding-standard": "^10", + "phpstan/phpstan": "^1.10.28", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "symfony/cache": "^5.4 || ^6.4 || ^7", + "vimeo/psalm": "^4.30 || ^5.14" + }, + "suggest": { + "php": "PHP 8.0 or higher comes with attributes, a native replacement for annotations" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Common\\Annotations\\": "lib/Doctrine/Common/Annotations" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Docblock Annotations Parser", + "homepage": "https://www.doctrine-project.org/projects/annotations.html", + "keywords": [ + "annotations", + "docblock", + "parser" + ], + "support": { + "issues": "https://github.com/doctrine/annotations/issues", + "source": "https://github.com/doctrine/annotations/tree/2.0.2" + }, + "abandoned": true, + "time": "2024-09-05T10:17:24+00:00" + }, { "name": "doctrine/dbal", "version": "4.4.1", diff --git a/config/l5-swagger.php b/config/l5-swagger.php index 22df63a6cc..61042bff2e 100644 --- a/config/l5-swagger.php +++ b/config/l5-swagger.php @@ -2,12 +2,12 @@ // Middlewares required to use swagger with authentication $authMiddleware = [ - \ProcessMaker\Http\Middleware\EncryptCookies::class, - \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, - \Illuminate\Session\Middleware\StartSession::class, - \Illuminate\View\Middleware\ShareErrorsFromSession::class, - \Illuminate\Routing\Middleware\SubstituteBindings::class, - \Laravel\Passport\Http\Middleware\CreateFreshApiToken::class, + ProcessMaker\Http\Middleware\EncryptCookies::class, + Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, + Illuminate\Session\Middleware\StartSession::class, + Illuminate\View\Middleware\ShareErrorsFromSession::class, + Illuminate\Routing\Middleware\SubstituteBindings::class, + Laravel\Passport\Http\Middleware\CreateFreshApiToken::class, 'auth', ]; @@ -120,14 +120,17 @@ /** * analyser: defaults to \OpenApi\StaticAnalyser . * - * @see \OpenApi\scan + * @see OpenApi\scan */ - 'analyser' => null, + 'analyser' => new OpenApi\Analysers\ReflectionAnalyser([ + new OpenApi\Analysers\AttributeAnnotationFactory(), + new OpenApi\Analysers\DocBlockAnnotationFactory(), + ]), /** * analysis: defaults to a new \OpenApi\Analysis . * - * @see \OpenApi\scan + * @see OpenApi\scan */ 'analysis' => null, @@ -135,7 +138,7 @@ * Custom query path processors classes. * * @link https://github.com/zircote/swagger-php/tree/master/Examples/schema-query-parameter-processor - * @see \OpenApi\scan + * @see OpenApi\scan */ 'processors' => [ // new \App\SwaggerProcessors\SchemaQueryParameter(), @@ -144,7 +147,7 @@ /** * pattern: string $pattern File pattern(s) to scan (default: *.php) . * - * @see \OpenApi\scan + * @see OpenApi\scan */ 'pattern' => null, diff --git a/storage/api-docs/api-docs.json b/storage/api-docs/api-docs.json index 3755004f8f..8a0916e2b8 100644 --- a/storage/api-docs/api-docs.json +++ b/storage/api-docs/api-docs.json @@ -18,14 +18,92 @@ } ], "paths": { - "/collections": { + "/cases/{case_number}": { + "delete": { + "tags": [ + "Cases" + ], + "summary": "Delete a case and its related requests", + "description": "Delete a case and its related requests.", + "operationId": "deleteCase", + "parameters": [ + { + "name": "case_number", + "in": "path", + "description": "Case number to delete", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "success" + }, + "401": { + "description": "Unauthorized" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "409": { + "description": "Conflict" + }, + "500": { + "description": "Internal Server Error" + } + } + } + }, + "/customize-ui": { + "post": { + "tags": [ + "CssSettings" + ], + "summary": "Create or update a new setting", + "description": "Create a new Settings css-override", + "operationId": "updateCssSetting", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "variables": { + "type": "string" + }, + "sansSerifFont": { + "type": "string" + } + }, + "type": "object" + } + } + } + }, + "responses": { + "201": { + "description": "success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/settings" + } + } + } + } + } + } + }, + "/environment_variables": { "get": { "tags": [ - "Collections" + "Environment Variables" ], - "summary": "Returns all collections that the user has access to", - "description": "Get a list of Collections.", - "operationId": "getCollections", + "summary": "Returns all environmentVariables that the user has access to. For security, values are not included.", + "description": "Fetch a collection of variables based on paged request and filter if provided", + "operationId": "getEnvironmentVariables", "parameters": [ { "$ref": "#/components/parameters/filter" @@ -45,7 +123,7 @@ ], "responses": { "200": { - "description": "list of collections", + "description": "list of environmentVariables", "content": { "application/json": { "schema": { @@ -53,11 +131,11 @@ "data": { "type": "array", "items": { - "$ref": "#/components/schemas/collections" + "$ref": "#/components/schemas/EnvironmentVariable" } }, "meta": { - "$ref": "#/components/schemas/metadata" + "type": "object" } }, "type": "object" @@ -69,17 +147,17 @@ }, "post": { "tags": [ - "Collections" + "Environment Variables" ], - "summary": "Save a new collections", - "description": "Create a new Collection.", - "operationId": "createCollection", + "summary": "Create a new environment variable", + "description": "Creates a new global Environment Variable in the system", + "operationId": "createEnvironmentVariable", "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/collectionsEditable" + "$ref": "#/components/schemas/EnvironmentVariableEditable" } } } @@ -90,7 +168,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/collections" + "$ref": "#/components/schemas/EnvironmentVariable" } } } @@ -98,32 +176,32 @@ } } }, - "/collections/{collection_id}": { + "/environment_variables/{environment_variable_id}": { "get": { "tags": [ - "Collections" + "Environment Variables" ], - "summary": "Get single collections by ID", - "description": "Get a single Collection.", - "operationId": "getCollectionById", + "summary": "Get an environment variable by id. For security, the value is not included.", + "description": "Return an environment variable instance\nUsing implicit model binding, will automatically return 404 if variable now found", + "operationId": "getEnvironmentVariableById", "parameters": [ { - "name": "collection_id", + "name": "environment_variable_id", "in": "path", - "description": "ID of collection to return", + "description": "ID of environment_variables to return", "required": true, "schema": { - "type": "string" + "type": "integer" } } ], "responses": { - "200": { - "description": "Successfully found the collections", + "201": { + "description": "success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/collections" + "$ref": "#/components/schemas/EnvironmentVariable" } } } @@ -132,19 +210,19 @@ }, "put": { "tags": [ - "Collections" + "Environment Variables" ], - "summary": "Update a collection", - "description": "Update a Collection.", - "operationId": "updateCollection", + "summary": "Update an environment variable", + "description": "Update an environment variable", + "operationId": "updateEnvironmentVariable", "parameters": [ { - "name": "collection_id", + "name": "environment_variable_id", "in": "path", - "description": "ID of collection to update", + "description": "ID of environment variables to update", "required": true, "schema": { - "type": "string" + "type": "integer" } } ], @@ -153,167 +231,57 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/collectionsEditable" - } - } - } - }, - "responses": { - "204": { - "description": "success" - } - } - }, - "delete": { - "tags": [ - "Collections" - ], - "summary": "Delete a collection", - "description": "Delete a Collection.", - "operationId": "deleteCollection", - "parameters": [ - { - "name": "collection_id", - "in": "path", - "description": "ID of collection to return", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "success" - } - } - } - }, - "/collections/{collection_id}/export": { - "post": { - "tags": [ - "Screens" - ], - "summary": "Trigger export collections job", - "description": "Export the specified collection.", - "operationId": "exportCollection", - "parameters": [ - { - "name": "collection_id", - "in": "path", - "description": "ID of the collection to export", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "202": { - "description": "success" - } - } - } - }, - "/collections/import": { - "post": { - "tags": [ - "Collections" - ], - "summary": "Import a new collection", - "description": "Import the specified collection.", - "operationId": "importCollection", - "requestBody": { - "required": true, - "content": { - "multipart/form-data": { - "schema": { - "required": [ - "file" - ], - "properties": { - "file": { - "description": "file to upload", - "type": "file", - "format": "file" - } - }, - "type": "object" + "$ref": "#/components/schemas/EnvironmentVariableEditable" } } } }, "responses": { - "201": { + "200": { "description": "success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/collections" + "$ref": "#/components/schemas/EnvironmentVariable" } } } - }, - "200": { - "description": "success" } } - } - }, - "/collections/{collection_id}/truncate": { + }, "delete": { "tags": [ - "Collections" + "Environment Variables" ], - "summary": "Deletes all records in a collection", - "description": "Truncate a Collection.", - "operationId": "truncateCollection", + "summary": "Delete an environment variable", + "operationId": "deleteEnvironmentVariable", "parameters": [ { - "name": "collection_id", + "name": "environment_variable_id", "in": "path", - "description": "ID of collection to truncate", + "description": "ID of environment_variables to return", "required": true, "schema": { - "type": "string" + "type": "integer" } } ], "responses": { - "204": { + "200": { "description": "success" } } } }, - "/collections/{collection_id}/records": { + "/files": { "get": { "tags": [ - "Collections" + "Files" ], - "summary": "Returns all records", - "description": "Get the list of records of a collection.", - "operationId": "getRecords", + "summary": "Returns the list of files", + "description": "Display a listing of the resource.", + "operationId": "getFiles", "parameters": [ - { - "name": "collection_id", - "in": "path", - "description": "ID of collection to get records for", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "pmql", - "in": "query", - "schema": { - "type": "string" - } - }, - { - "$ref": "#/components/parameters/per_page" - }, { "$ref": "#/components/parameters/filter" }, @@ -324,12 +292,12 @@ "$ref": "#/components/parameters/order_direction" }, { - "$ref": "#/components/parameters/include" + "$ref": "#/components/parameters/per_page" } ], "responses": { "200": { - "description": "list of records of a collection", + "description": "list of files", "content": { "application/json": { "schema": { @@ -337,7 +305,7 @@ "data": { "type": "array", "items": { - "$ref": "#/components/schemas/records" + "$ref": "#/components/schemas/media" } }, "meta": { @@ -353,232 +321,208 @@ }, "post": { "tags": [ - "Collections" + "Files" ], - "summary": "Save a new record in a collection", - "description": "Create a new record in a Collection.", - "operationId": "createRecord", + "summary": "Save a new media file. Note: To upload files to a request, use createRequestFile in the RequestFile API", + "description": "Store a newly created resource in storage.", + "operationId": "createFile", "parameters": [ { - "name": "collection_id", - "in": "path", - "description": "ID of the collection", + "name": "model_id", + "in": "query", + "description": "ID of the model to which the file will be associated", + "required": true, + "schema": { + "type": "integer" + } + }, + { + "name": "model", + "in": "query", + "description": "Full namespaced class of the model to associate", "required": true, "schema": { "type": "string" } + }, + { + "name": "data_name", + "in": "query", + "description": "Name of the variable used in a request", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "collection", + "in": "query", + "description": "Media collection name. For requests, use 'default'", + "required": false, + "schema": { + "type": "string" + } } ], "requestBody": { "required": true, "content": { - "application/json": { + "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/recordsEditable" + "properties": { + "file": { + "description": "save a new media file", + "type": "string", + "format": "binary" + } + }, + "type": "object" } } } }, "responses": { - "201": { + "200": { "description": "success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/records" - } + "properties": { + "id": { + "type": "string" + }, + "model_id": { + "type": "string" + }, + "file_name": { + "type": "string" + }, + "mime_type": { + "type": "string" + } + }, + "type": "object" + } } } } } } }, - "/collections/{collection_id}/records/{record_id}": { + "/files/{file_id}": { "get": { "tags": [ - "Collections" + "Files" ], - "summary": "Get single record of a collection", - "description": "Get a single record of a Collection.", - "operationId": "getRecordById", + "summary": "Get the metadata of a file. To actually fetch the file see Get File Contents", + "description": "Get a single media file.", + "operationId": "getFileById", "parameters": [ { - "name": "collection_id", - "in": "path", - "description": "ID of the collection", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "record_id", + "name": "file_id", "in": "path", - "description": "ID of the record to return", + "description": "ID of the file to return", "required": true, "schema": { - "type": "string" + "type": "integer" } } ], "responses": { "200": { - "description": "Successfully found the record", + "description": "Successfully found the file", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/records" + "$ref": "#/components/schemas/media" } } } - } - } - }, - "put": { - "tags": [ - "Collections" - ], - "summary": "Update a record", - "description": "Update a record in a Collection.", - "operationId": "updateRecord", - "parameters": [ - { - "name": "collection_id", - "in": "path", - "description": "ID of collection", - "required": true, - "schema": { - "type": "string" - } }, - { - "name": "record_id", - "in": "path", - "description": "ID of the record ", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/recordsEditable" - } - } - } - }, - "responses": { - "204": { - "description": "success" + "404": { + "$ref": "#/components/responses/404" } } }, "delete": { "tags": [ - "Collections" + "Files" ], - "summary": "Delete a collection record", - "description": "Delete a record of a Collection.", - "operationId": "deleteRecord", + "summary": "Delete a media file", + "description": "Remove the specified resource from storage.", + "operationId": "deleteFile", "parameters": [ { - "name": "collection_id", - "in": "path", - "description": "ID of collection", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "record_id", + "name": "file_id", "in": "path", - "description": "ID of record in collection", + "description": "ID of the file", "required": true, "schema": { - "type": "string" + "type": "integer" } } ], "responses": { "204": { "description": "success" + }, + "404": { + "$ref": "#/components/responses/404" } } - }, - "patch": { + } + }, + "/files/{file_id}/contents": { + "get": { "tags": [ - "Collections" + "Files" ], - "summary": "Partial update of a record", - "description": "Implements a partial update of a record in a Collection.", - "operationId": "patchRecord", + "summary": "Get the contents of a file", + "description": "Display the specified resource.", + "operationId": "getFileContentsById", "parameters": [ { - "name": "collection_id", - "in": "path", - "description": "ID of collection ", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "record_id", + "name": "file_id", "in": "path", - "description": "ID of the record ", + "description": "ID of the file to return", "required": true, "schema": { - "type": "string" + "type": "integer" } } ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/collectionsEditable" - } - } - } - }, "responses": { "200": { - "description": "success" + "description": "File stream", + "content": { + "application/octet-stream": { + "schema": { + "type": "string", + "format": "binary" + } + } + } + }, + "404": { + "$ref": "#/components/responses/404" } } } }, - "/saved-searches/{saved_search_id}/charts": { + "/groups": { "get": { "tags": [ - "SavedSearchCharts" + "Groups" ], - "summary": "Returns all saved search charts that the user has access to", - "description": "Get a list of SavedSearchCharts.", - "operationId": "getSavedSearchCharts", + "summary": "Returns all groups that the user has access to", + "description": "Display a listing of the resource.", + "operationId": "getGroups", "parameters": [ { - "$ref": "#/components/parameters/filter" + "$ref": "#/components/parameters/status" }, { - "name": "type", - "in": "query", - "description": "Only return saved searches by type", - "required": false, - "schema": { - "type": "string", - "enum": [ - "request", - "task", - "collection" - ] - } + "$ref": "#/components/parameters/filter" }, { "$ref": "#/components/parameters/order_by" @@ -595,7 +539,7 @@ ], "responses": { "200": { - "description": "list of saved search charts", + "description": "list of groups", "content": { "application/json": { "schema": { @@ -603,16 +547,11 @@ "data": { "type": "array", "items": { - "$ref": "#/components/schemas/SavedSearchChart" + "$ref": "#/components/schemas/groups" } }, "meta": { - "type": "object", - "allOf": [ - { - "$ref": "#/components/schemas/metadata" - } - ] + "$ref": "#/components/schemas/metadata" } }, "type": "object" @@ -622,67 +561,19 @@ } } }, - "put": { - "tags": [ - "SavedSearchCharts" - ], - "summary": "Update several saved search charts at once", - "description": "Batch update several SavedSearchCharts.", - "operationId": "batchUpdateSavedSearchCharts", - "parameters": [ - { - "name": "saved_search_id", - "in": "path", - "description": "ID of saved search to which these charts will be saved", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/SavedSearchChart" - } - } - } - } - }, - "responses": { - "204": { - "description": "success" - } - } - }, "post": { "tags": [ - "SavedSearchCharts" - ], - "summary": "Save a new saved search chart", - "description": "Create a new SavedSearchChart.", - "operationId": "createSavedSearchChart", - "parameters": [ - { - "name": "saved_search_id", - "in": "path", - "description": "ID of saved search to which this chart will be saved", - "required": true, - "schema": { - "type": "string" - } - } + "Groups" ], + "summary": "Save a new group", + "description": "Store a newly created resource in storage.", + "operationId": "createGroup", "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/SavedSearchChartEditable" + "$ref": "#/components/schemas/groupsEditable" } } } @@ -693,61 +584,67 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/SavedSearchChart" + "$ref": "#/components/schemas/groups" } } } + }, + "422": { + "$ref": "#/components/responses/422" } } } }, - "/saved-searches/charts/{chart_id}": { + "/groups/{group_id}": { "get": { "tags": [ - "SavedSearchCharts" + "Groups" ], - "summary": "Get single saved search chart by ID", - "description": "Get a single SavedSearchChart.", - "operationId": "getSavedSearchChartById", + "summary": "Get single group by ID", + "description": "Display the specified resource.", + "operationId": "getGroupById", "parameters": [ { - "name": "chart_id", + "name": "group_id", "in": "path", - "description": "ID of chart to return", + "description": "ID of group to return", "required": true, "schema": { - "type": "string" + "type": "integer" } } ], "responses": { "200": { - "description": "Successfully found the saved search chart", + "description": "Successfully found the group", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/SavedSearchChart" + "$ref": "#/components/schemas/groups" } } } + }, + "404": { + "$ref": "#/components/responses/404" } } }, "put": { "tags": [ - "SavedSearchCharts" + "Groups" ], - "summary": "Update a saved search chart", - "description": "Update a SavedSearchChart.", - "operationId": "updateSavedSearchChart", + "summary": "Update a group", + "description": "Update a user", + "operationId": "updateGroup", "parameters": [ { - "name": "chart_id", + "name": "group_id", "in": "path", - "description": "ID of chart to return", + "description": "ID of group to return", "required": true, "schema": { - "type": "string" + "type": "integer" } } ], @@ -756,106 +653,94 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/SavedSearchChartEditable" + "$ref": "#/components/schemas/groupsEditable" } } } }, "responses": { - "200": { - "description": "success", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SavedSearchChart" - } - } - } + "204": { + "description": "success" + }, + "404": { + "$ref": "#/components/responses/404" } } }, "delete": { "tags": [ - "SavedSearchCharts" + "Groups" ], - "summary": "Delete a saved search chart", - "description": "Delete a SavedSearchChart.", - "operationId": "deleteSavedSearchChart", + "summary": "Delete a group", + "description": "Delete a user", + "operationId": "deleteGroup", "parameters": [ { - "name": "chart_id", + "name": "group_id", "in": "path", - "description": "ID of chart to return", + "description": "ID of group to return", "required": true, "schema": { - "type": "string" + "type": "integer" } } ], "responses": { "204": { "description": "success" + }, + "404": { + "$ref": "#/components/responses/404" } } } }, - "/saved-searches/charts/{chart_id}/fields": { + "/groups/{group_id}/users": { "get": { "tags": [ - "SavedSearchCharts" + "Groups" ], - "summary": "Get available chart fields for a Saved Search by ID", - "description": "Get available chart fields for a Saved Search.", - "operationId": "getSavedSearchFieldsById", + "summary": "Returns all users of a group", + "description": "Display the list of users in a group", + "operationId": "getGroupUsers", "parameters": [ { - "name": "chart_id", + "name": "group_id", "in": "path", - "description": "ID of Saved Search to return", + "description": "ID of group", "required": true, "schema": { - "type": "string" + "type": "integer" } + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/order_direction" + }, + { + "$ref": "#/components/parameters/per_page" } ], "responses": { "200": { - "description": "Successfully found the saved search", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SavedSearch" - } - } - } - } - } - } - }, - "/saved-searches/reports": { - "post": { - "tags": [ - "Reports" - ], - "summary": "Save a new report", - "operationId": "createReport", - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ReportEditable" - } - } - } - }, - "responses": { - "201": { - "description": "success", + "description": "list of members of a group", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Report" + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/users" + } + }, + "meta": { + "$ref": "#/components/schemas/metadata" + } + }, + "type": "object" } } } @@ -863,42 +748,52 @@ } } }, - "/saved-searches/reports/{reportId}": { - "put": { + "/groups/{group_id}/groups": { + "get": { "tags": [ - "SavedSearches" + "Groups" ], - "summary": "Update a saved search", - "description": "Update a Report", - "operationId": "updateReport", + "summary": "Returns all users of a group", + "description": "Display the list of groups in a group", + "operationId": "getGroupGroupss", "parameters": [ { - "name": "reportId", + "name": "group_id", "in": "path", - "description": "ID of report", + "description": "ID of group", "required": true, "schema": { - "type": "string" + "type": "integer" } + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/order_direction" + }, + { + "$ref": "#/components/parameters/per_page" } ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SavedSearchEditable" - } - } - } - }, "responses": { "200": { - "description": "success", + "description": "list of members of a group", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/SavedSearch" + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/groups" + } + }, + "meta": { + "$ref": "#/components/schemas/metadata" + } + }, + "type": "object" } } } @@ -906,44 +801,17 @@ } } }, - "/saved-searches": { + "/group_members": { "get": { "tags": [ - "SavedSearches" + "Group Members" ], - "summary": "Returns all saved searches that the user has access to", - "description": "Get a list of SavedSearches.", - "operationId": "getSavedSearches", + "summary": "Returns all groups for a given member", + "description": "Display a listing of the resource.", + "operationId": "getGroupMembers", "parameters": [ { - "$ref": "#/components/parameters/filter" - }, - { - "name": "type", - "in": "query", - "description": "Only return saved searches by type", - "required": false, - "schema": { - "type": "string", - "enum": [ - "request", - "task", - "collection" - ] - } - }, - { - "name": "subset", - "in": "query", - "description": "Only return saved searches that are yours or those that have been shared with you", - "required": false, - "schema": { - "type": "string", - "enum": [ - "mine", - "shared" - ] - } + "$ref": "#/components/parameters/member_id" }, { "$ref": "#/components/parameters/order_by" @@ -953,14 +821,11 @@ }, { "$ref": "#/components/parameters/per_page" - }, - { - "$ref": "#/components/parameters/include" } ], "responses": { "200": { - "description": "list of saved searches", + "description": "list of group_members", "content": { "application/json": { "schema": { @@ -968,16 +833,11 @@ "data": { "type": "array", "items": { - "$ref": "#/components/schemas/SavedSearch" + "$ref": "#/components/schemas/groupMembers" } }, "meta": { - "type": "object", - "allOf": [ - { - "$ref": "#/components/schemas/metadata" - } - ] + "$ref": "#/components/schemas/metadata" } }, "type": "object" @@ -989,17 +849,17 @@ }, "post": { "tags": [ - "SavedSearches" + "Group Members" ], - "summary": "Save a new saved search", - "description": "Create a new SavedSearch.", - "operationId": "createSavedSearch", + "summary": "Save a new group member", + "description": "Store a newly created resource in storage.", + "operationId": "createGroupMember", "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/SavedSearchEditable" + "$ref": "#/components/schemas/groupMembersEditable" } } } @@ -1010,7 +870,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/SavedSearch" + "$ref": "#/components/schemas/createGroupMembers" } } } @@ -1018,19 +878,19 @@ } } }, - "/saved-searches/{savedSearchId}": { + "/group_members/{group_member_id}": { "get": { "tags": [ - "SavedSearches" + "Group Members" ], - "summary": "Get single saved searches by ID", - "description": "Get a single SavedSearch.", - "operationId": "getSavedSearchById", + "summary": "Get single group member by ID", + "description": "Display the specified resource.", + "operationId": "getGroupMemberById", "parameters": [ { - "name": "savedSearchId", + "name": "group_member_id", "in": "path", - "description": "ID of saved search to return", + "description": "ID of group members to return", "required": true, "schema": { "type": "string" @@ -1039,126 +899,97 @@ ], "responses": { "200": { - "description": "Successfully found the saved search", + "description": "Successfully found the group members", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/SavedSearch" + "$ref": "#/components/schemas/getGroupMembersById" } } } } } }, - "put": { + "delete": { "tags": [ - "SavedSearches" + "Group Members" ], - "summary": "Update a saved search", - "description": "Update a SavedSearch.", - "operationId": "updateSavedSearch", + "summary": "Delete a group member", + "description": "Delete a group membership", + "operationId": "deleteGroupMember", "parameters": [ { - "name": "savedSearchId", + "name": "group_member_id", "in": "path", - "description": "ID of saved search to return", + "description": "ID of group_members to return", "required": true, "schema": { "type": "string" } } ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SavedSearchEditable" - } - } - } - }, "responses": { - "200": { - "description": "success", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SavedSearch" - } - } - } + "204": { + "description": "success" } } } }, - "/saved-searches/{savedSearchId}/columns": { + "/group_members_available": { "get": { "tags": [ - "SavedSearches" + "Group Members" ], - "summary": "Returns all columns associated with a Saved Search", - "description": "Display a listing of columns.", - "operationId": "getSavedSearchColumns", + "summary": "Returns all groups available for a given member", + "description": "Display a listing of groups available", + "operationId": "getGroupMembersAvailable", "parameters": [ { - "name": "savedSearchId", + "name": "member_id", "in": "path", - "description": "ID of saved search to return", + "description": "ID of group member to return", "required": true, "schema": { "type": "string" } }, { - "name": "include", - "in": "query", - "description": "Include specific categories. Comma separated list.", + "name": "member_type", + "in": "path", + "description": "type of group member to return", + "required": true, "schema": { - "type": "array", - "items": { - "type": "string", - "enum": [ - "current", - "default", - "available", - "data" - ] - }, - "uniqueItems": false + "type": "string" } + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/order_by" + }, + { + "$ref": "#/components/parameters/order_direction" + }, + { + "$ref": "#/components/parameters/per_page" } ], "responses": { "200": { - "description": "Categorized list of columns", + "description": "list of groups available to be assigned as member", "content": { "application/json": { "schema": { "properties": { - "current": { - "type": "array", - "items": { - "$ref": "#/components/schemas/columns" - } - }, - "default": { - "type": "array", - "items": { - "$ref": "#/components/schemas/columns" - } - }, - "available": { - "type": "array", - "items": { - "$ref": "#/components/schemas/columns" - } - }, "data": { "type": "array", "items": { - "$ref": "#/components/schemas/columns" + "$ref": "#/components/schemas/availableGroupMembers" } + }, + "meta": { + "$ref": "#/components/schemas/metadata" } }, "type": "object" @@ -1169,19 +1000,19 @@ } } }, - "/saved-searches/{savedSearchId}/users": { + "/user_members_available": { "get": { "tags": [ - "Users" + "Group Members" ], - "summary": "Returns all users", - "description": "Display a listing of the resource.", - "operationId": "getSavedSearchUsers", + "summary": "Returns all users available for a given group", + "description": "Display a listing of users available", + "operationId": "getUserMembersAvailable", "parameters": [ { - "name": "savedSearchId", + "name": "group_id", "in": "path", - "description": "ID of saved search to return", + "description": "ID of group to return", "required": true, "schema": { "type": "string" @@ -1190,7 +1021,7 @@ { "name": "filter", "in": "query", - "description": "Filter results by string. Searches First Name, Last Name, Email and Username.", + "description": "Filter results by string. Searches Name. Can be a substring.", "schema": { "type": "string" } @@ -1203,14 +1034,11 @@ }, { "$ref": "#/components/parameters/per_page" - }, - { - "$ref": "#/components/parameters/include" } ], "responses": { "200": { - "description": "list of users", + "description": "list of users available to be assigned as member", "content": { "application/json": { "schema": { @@ -1233,15 +1061,27 @@ } } }, - "/saved-searches/{savedSearchId}/groups": { + "/notifications": { "get": { "tags": [ - "Groups" + "Notifications" ], - "summary": "Returns all groups that the user has access to", + "summary": "Returns all notifications that the user has access to", "description": "Display a listing of the resource.", - "operationId": "getSavedSearchGroups", + "operationId": "getNotifications", "parameters": [ + { + "name": "status", + "in": "query", + "description": "Only return notifications by status (unread, all, etc.)", + "required": false, + "schema": { + "type": "string" + } + }, + { + "$ref": "#/components/parameters/filter" + }, { "$ref": "#/components/parameters/order_by" }, @@ -1257,126 +1097,7 @@ ], "responses": { "200": { - "description": "list of groups", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/groups" - } - }, - "meta": { - "$ref": "#/components/schemas/metadata" - } - }, - "type": "object" - } - } - } - } - } - } - }, - "/saved-searches/{saved_search_id}": { - "delete": { - "tags": [ - "SavedSearches" - ], - "summary": "Delete a saved search", - "description": "Delete a SavedSearch.", - "operationId": "deleteSavedSearch", - "parameters": [ - { - "name": "saved_search_id", - "in": "path", - "description": "ID of saved search to return", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "success" - } - } - } - }, - "/saved-searches/icons": { - "get": { - "tags": [ - "SavedSearches" - ], - "summary": "Returns all icons for saved searches", - "description": "Get a list of icons available for SavedSearches.", - "operationId": "getSavedSearchesIcons", - "parameters": [ - { - "$ref": "#/components/parameters/per_page" - } - ], - "responses": { - "200": { - "description": "list of icons for saved searches", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/SavedSearchIcon" - } - }, - "meta": { - "type": "object", - "allOf": [ - { - "$ref": "#/components/schemas/metadata" - } - ] - } - }, - "type": "object" - } - } - } - } - } - } - }, - "/version_histories": { - "get": { - "tags": [ - "Version History" - ], - "summary": "Return all version History according to the model", - "description": "Get the list of records of Version History", - "operationId": "getVersionHistories", - "parameters": [ - { - "$ref": "#/components/parameters/filter" - }, - { - "$ref": "#/components/parameters/order_by" - }, - { - "$ref": "#/components/parameters/order_direction" - }, - { - "$ref": "#/components/parameters/per_page" - }, - { - "$ref": "#/components/parameters/include" - } - ], - "responses": { - "200": { - "description": "list of Version History", + "description": "list of notifications", "content": { "application/json": { "schema": { @@ -1384,17 +1105,10 @@ "data": { "type": "array", "items": { - "$ref": "#/components/schemas/versionHistory" + "$ref": "#/components/schemas/Notification" } }, - "meta": { - "type": "object", - "allOf": [ - { - "$ref": "#/components/schemas/metadata" - } - ] - } + "meta": {} }, "type": "object" } @@ -1405,17 +1119,17 @@ }, "post": { "tags": [ - "Version History" + "Notifications" ], - "summary": "Save a new Version History", - "description": "Create a new Version History.", - "operationId": "createVersion", + "summary": "Save a new notifications", + "description": "Store a newly created resource in storage.", + "operationId": "createNotification", "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/versionHistoryEditable" + "$ref": "#/components/schemas/NotificationEditable" } } } @@ -1426,7 +1140,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/versionHistory" + "$ref": "#/components/schemas/Notification" } } } @@ -1434,19 +1148,19 @@ } } }, - "/version_histories/{version_history_id}": { + "/notifications/{notification_id}": { "get": { "tags": [ - "Version History" + "Notifications" ], - "summary": "Get single Version History by ID", - "description": "Get a single Version History.", - "operationId": "getVersionHistoryById", + "summary": "Get single notification by ID", + "description": "Display the specified resource.", + "operationId": "getNotificationById", "parameters": [ { - "name": "version_history_id", + "name": "notification_id", "in": "path", - "description": "ID of Version History to return", + "description": "ID of notification to return", "required": true, "schema": { "type": "string" @@ -1455,11 +1169,11 @@ ], "responses": { "200": { - "description": "Successfully found the Version History", + "description": "Successfully found the notification", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/versionHistory" + "$ref": "#/components/schemas/Notification" } } } @@ -1468,16 +1182,16 @@ }, "put": { "tags": [ - "Version History" + "Notifications" ], - "summary": "Update a Version History", - "description": "Update a Version History.", - "operationId": "updateVersion", + "summary": "Update a notification", + "description": "Update a user", + "operationId": "updateNotification", "parameters": [ { - "name": "version_history_id", + "name": "notification_id", "in": "path", - "description": "ID of Version History to return", + "description": "ID of notification to return", "required": true, "schema": { "type": "string" @@ -1489,36 +1203,29 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/versionHistoryEditable" + "$ref": "#/components/schemas/NotificationEditable" } } } }, "responses": { "204": { - "description": "success", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/versionHistory" - } - } - } + "description": "success" } } }, "delete": { "tags": [ - "Version History" + "Notifications" ], - "summary": "Delete a Version History", - "description": "Delete a Version History.", - "operationId": "deleteVersion", + "summary": "Delete a notification", + "description": "Delete a notification", + "operationId": "deleteNotification", "parameters": [ { - "name": "version_history_id", + "name": "notification_id", "in": "path", - "description": "ID of Version History to return", + "description": "ID of notification to return", "required": true, "schema": { "type": "string" @@ -1527,68 +1234,113 @@ ], "responses": { "204": { - "description": "success", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/versionHistory" - } - } - } + "description": "success" } } } }, - "/version_histories/clone": { - "post": { + "/read_notifications": { + "put": { "tags": [ - "Version History" + "Notifications" ], - "summary": "Clone a new Version History", - "description": "Clone a new Version History.", - "operationId": "cloneVersion", + "summary": "Mark notifications as read by the user", + "description": "Update notification as read", + "operationId": "markNotificationAsRead", "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/versionHistoryEditable" + "properties": { + "message_ids": { + "description": "list of message ids that will be marked as read", + "type": "array", + "items": { + "type": "string" + } + }, + "routes": { + "description": "all messages that has an url that is in this list will be marked as read", + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": "object" } } } }, "responses": { "201": { - "description": "success", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/versionHistory" - } + "description": "success" + } + } + } + }, + "/unread_notifications": { + "put": { + "tags": [ + "Notifications" + ], + "summary": "Mark notifications as unread by the user", + "description": "Update notifications as unread", + "operationId": "markNotificationAsUnread", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "message_ids": { + "description": "list of message ids that will be marked as read", + "type": "array", + "items": { + "type": "string" + } + }, + "routes": { + "description": "all messages that has an url that is in this list will be marked as read", + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": "object" } } } + }, + "responses": { + "201": { + "description": "success" + } } } }, - "/customize-ui": { - "post": { + "/read_all_notifications": { + "put": { "tags": [ - "CssSettings" + "Notifications" ], - "summary": "Create or update a new setting", - "description": "Create a new Settings css-override", - "operationId": "updateCssSetting", + "summary": "Mark notifications as read by id and type", + "description": "Update all notification as read.", + "operationId": "markAllAsRead", "requestBody": { "required": true, "content": { "application/json": { "schema": { "properties": { - "variables": { - "type": "string" + "id": { + "description": "Polymorphic relation id", + "type": "integer" }, - "sansSerifFont": { + "type": { + "description": "Polymorphic relation type", "type": "string" } }, @@ -1599,29 +1351,73 @@ }, "responses": { "201": { - "description": "success", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/settings" - } - } - } + "description": "success" } } } }, - "/environment_variables": { - "get": { + "/permissions": { + "put": { "tags": [ - "Environment Variables" + "Permissions" ], - "summary": "Returns all environmentVariables that the user has access to. For security, values are not included.", - "description": "Fetch a collection of variables based on paged request and filter if provided", - "operationId": "getEnvironmentVariables", + "summary": "Update the permissions of a user", + "description": "Update permissions", + "operationId": "51b3555fb753f44324bf5c3880e01454", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "user_id": { + "description": "ID of the user whose permissions are configured", + "type": "integer" + }, + "group_id": { + "description": "ID of the group whose permissions are configured", + "type": "integer" + }, + "is_administrator": { + "description": "Whether the user should have Super Admin privileges", + "type": "boolean", + "default": false + }, + "permission_names": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": "object" + } + } + } + }, + "responses": { + "204": { + "description": "success" + } + } + } + }, + "/process_categories": { + "get": { + "tags": [ + "Process Categories" + ], + "summary": "Returns all processes categories that the user has access to", + "description": "Display a listing of the Process Categories.", + "operationId": "getProcessCategories", "parameters": [ { - "$ref": "#/components/parameters/filter" + "name": "filter", + "in": "query", + "description": "Filter results by string. Searches Name and Status. All fields must match exactly.", + "schema": { + "type": "string" + } }, { "$ref": "#/components/parameters/order_by" @@ -1631,14 +1427,11 @@ }, { "$ref": "#/components/parameters/per_page" - }, - { - "$ref": "#/components/parameters/include" } ], "responses": { "200": { - "description": "list of environmentVariables", + "description": "list of processes categories", "content": { "application/json": { "schema": { @@ -1646,7 +1439,7 @@ "data": { "type": "array", "items": { - "$ref": "#/components/schemas/EnvironmentVariable" + "$ref": "#/components/schemas/ProcessCategory" } }, "meta": { @@ -1662,17 +1455,17 @@ }, "post": { "tags": [ - "Environment Variables" + "Process Categories" ], - "summary": "Create a new environment variable", - "description": "Creates a new global Environment Variable in the system", - "operationId": "createEnvironmentVariable", + "summary": "Save a new process Category", + "description": "Store a newly created Process Category in storage", + "operationId": "createProcessCategory", "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/EnvironmentVariableEditable" + "$ref": "#/components/schemas/ProcessCategoryEditable" } } } @@ -1683,7 +1476,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/EnvironmentVariable" + "$ref": "#/components/schemas/ProcessCategory" } } } @@ -1691,19 +1484,19 @@ } } }, - "/environment_variables/{environment_variable_id}": { + "/process_categories/{process_category_id}": { "get": { "tags": [ - "Environment Variables" + "Process Categories" ], - "summary": "Get an environment variable by id. For security, the value is not included.", - "description": "Return an environment variable instance\nUsing implicit model binding, will automatically return 404 if variable now found", - "operationId": "getEnvironmentVariableById", + "summary": "Get single process category by ID", + "description": "Display the specified Process category.", + "operationId": "getProcessCategoryById", "parameters": [ { - "name": "environment_variable_id", + "name": "process_category_id", "in": "path", - "description": "ID of environment_variables to return", + "description": "ID of process category to return", "required": true, "schema": { "type": "integer" @@ -1711,12 +1504,12 @@ } ], "responses": { - "201": { - "description": "success", + "200": { + "description": "Successfully found the process", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/EnvironmentVariable" + "$ref": "#/components/schemas/ProcessCategory" } } } @@ -1725,16 +1518,16 @@ }, "put": { "tags": [ - "Environment Variables" + "Process Categories" ], - "summary": "Update an environment variable", - "description": "Update an environment variable", - "operationId": "updateEnvironmentVariable", + "summary": "Update a process Category", + "description": "Updates the current element", + "operationId": "updateProcessCategory", "parameters": [ { - "name": "environment_variable_id", + "name": "process_category_id", "in": "path", - "description": "ID of environment variables to update", + "description": "ID of process category to return", "required": true, "schema": { "type": "integer" @@ -1746,7 +1539,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/EnvironmentVariableEditable" + "$ref": "#/components/schemas/ProcessCategoryEditable" } } } @@ -1757,7 +1550,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/EnvironmentVariable" + "$ref": "#/components/schemas/ProcessCategory" } } } @@ -1766,15 +1559,16 @@ }, "delete": { "tags": [ - "Environment Variables" + "Process Categories" ], - "summary": "Delete an environment variable", - "operationId": "deleteEnvironmentVariable", + "summary": "Delete a process category", + "description": "Remove the specified resource from storage.", + "operationId": "deleteProcessCategory", "parameters": [ { - "name": "environment_variable_id", + "name": "process_category_id", "in": "path", - "description": "ID of environment_variables to return", + "description": "ID of process category to return", "required": true, "schema": { "type": "integer" @@ -1782,20 +1576,27 @@ } ], "responses": { - "200": { - "description": "success" + "204": { + "description": "success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Process" + } + } + } } } } }, - "/files": { + "/processes": { "get": { "tags": [ - "Files" + "Processes" ], - "summary": "Returns the list of files", - "description": "Display a listing of the resource.", - "operationId": "getFiles", + "summary": "Returns all processes that the user has access to", + "description": "Get list Process", + "operationId": "getProcesses", "parameters": [ { "$ref": "#/components/parameters/filter" @@ -1808,11 +1609,26 @@ }, { "$ref": "#/components/parameters/per_page" + }, + { + "$ref": "#/components/parameters/status" + }, + { + "$ref": "#/components/parameters/include" + }, + { + "name": "simplified_data_for_selector", + "in": "query", + "description": "Comma separated list of fields to include in the response", + "schema": { + "type": "string", + "default": "" + } } ], "responses": { "200": { - "description": "list of files", + "description": "list of processes", "content": { "application/json": { "schema": { @@ -1820,7 +1636,7 @@ "data": { "type": "array", "items": { - "$ref": "#/components/schemas/media" + "$ref": "#/components/schemas/Process" } }, "meta": { @@ -1836,87 +1652,28 @@ }, "post": { "tags": [ - "Files" + "Processes" ], - "summary": "Save a new media file. Note: To upload files to a request, use createRequestFile in the RequestFile API", + "summary": "Save a new process", "description": "Store a newly created resource in storage.", - "operationId": "createFile", - "parameters": [ - { - "name": "model_id", - "in": "query", - "description": "ID of the model to which the file will be associated", - "required": true, - "schema": { - "type": "integer" - } - }, - { - "name": "model", - "in": "query", - "description": "Full namespaced class of the model to associate", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "data_name", - "in": "query", - "description": "Name of the variable used in a request", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "collection", - "in": "query", - "description": "Media collection name. For requests, use 'default'", - "required": false, - "schema": { - "type": "string" - } - } - ], + "operationId": "createProcess", "requestBody": { "required": true, "content": { - "multipart/form-data": { + "application/json": { "schema": { - "properties": { - "file": { - "description": "save a new media file", - "type": "string", - "format": "binary" - } - }, - "type": "object" + "$ref": "#/components/schemas/ProcessEditable" } } } }, "responses": { - "200": { + "201": { "description": "success", "content": { "application/json": { "schema": { - "properties": { - "id": { - "type": "string" - }, - "model_id": { - "type": "string" - }, - "file_name": { - "type": "string" - }, - "mime_type": { - "type": "string" - } - }, - "type": "object" + "$ref": "#/components/schemas/Process" } } } @@ -1924,1041 +1681,48 @@ } } }, - "/files/{file_id}": { + "/processes/{processId}": { "get": { "tags": [ - "Files" + "Processes" ], - "summary": "Get the metadata of a file. To actually fetch the file see Get File Contents", - "description": "Get a single media file.", - "operationId": "getFileById", + "summary": "Get single process by ID", + "description": "Display the specified resource.", + "operationId": "getProcessById", "parameters": [ { - "name": "file_id", + "name": "processId", "in": "path", - "description": "ID of the file to return", + "description": "ID of process to return", "required": true, "schema": { "type": "integer" } - } - ], - "responses": { - "200": { - "description": "Successfully found the file", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/media" - } - } - } - }, - "404": { - "$ref": "#/components/responses/404" - } - } - }, - "delete": { - "tags": [ - "Files" - ], - "summary": "Delete a media file", - "description": "Remove the specified resource from storage.", - "operationId": "deleteFile", - "parameters": [ - { - "name": "file_id", - "in": "path", - "description": "ID of the file", - "required": true, - "schema": { - "type": "integer" - } - } - ], - "responses": { - "204": { - "description": "success" - }, - "404": { - "$ref": "#/components/responses/404" - } - } - } - }, - "/files/{file_id}/contents": { - "get": { - "tags": [ - "Files" - ], - "summary": "Get the contents of a file", - "description": "Display the specified resource.", - "operationId": "getFileContentsById", - "parameters": [ - { - "name": "file_id", - "in": "path", - "description": "ID of the file to return", - "required": true, - "schema": { - "type": "integer" - } - } - ], - "responses": { - "200": { - "description": "File stream", - "content": { - "application/octet-stream": { - "schema": { - "type": "string", - "format": "binary" - } - } - } - }, - "404": { - "$ref": "#/components/responses/404" - } - } - } - }, - "/groups": { - "get": { - "tags": [ - "Groups" - ], - "summary": "Returns all groups that the user has access to", - "description": "Display a listing of the resource.", - "operationId": "getGroups", - "parameters": [ - { - "$ref": "#/components/parameters/status" - }, - { - "$ref": "#/components/parameters/filter" - }, - { - "$ref": "#/components/parameters/order_by" - }, - { - "$ref": "#/components/parameters/order_direction" - }, - { - "$ref": "#/components/parameters/per_page" - }, - { - "$ref": "#/components/parameters/include" - } - ], - "responses": { - "200": { - "description": "list of groups", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/groups" - } - }, - "meta": { - "$ref": "#/components/schemas/metadata" - } - }, - "type": "object" - } - } - } - } - } - }, - "post": { - "tags": [ - "Groups" - ], - "summary": "Save a new group", - "description": "Store a newly created resource in storage.", - "operationId": "createGroup", - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/groupsEditable" - } - } - } - }, - "responses": { - "201": { - "description": "success", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/groups" - } - } - } - }, - "422": { - "$ref": "#/components/responses/422" - } - } - } - }, - "/groups/{group_id}": { - "get": { - "tags": [ - "Groups" - ], - "summary": "Get single group by ID", - "description": "Display the specified resource.", - "operationId": "getGroupById", - "parameters": [ - { - "name": "group_id", - "in": "path", - "description": "ID of group to return", - "required": true, - "schema": { - "type": "integer" - } - } - ], - "responses": { - "200": { - "description": "Successfully found the group", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/groups" - } - } - } - }, - "404": { - "$ref": "#/components/responses/404" - } - } - }, - "put": { - "tags": [ - "Groups" - ], - "summary": "Update a group", - "description": "Update a user", - "operationId": "updateGroup", - "parameters": [ - { - "name": "group_id", - "in": "path", - "description": "ID of group to return", - "required": true, - "schema": { - "type": "integer" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/groupsEditable" - } - } - } - }, - "responses": { - "204": { - "description": "success" - }, - "404": { - "$ref": "#/components/responses/404" - } - } - }, - "delete": { - "tags": [ - "Groups" - ], - "summary": "Delete a group", - "description": "Delete a user", - "operationId": "deleteGroup", - "parameters": [ - { - "name": "group_id", - "in": "path", - "description": "ID of group to return", - "required": true, - "schema": { - "type": "integer" - } - } - ], - "responses": { - "204": { - "description": "success" - }, - "404": { - "$ref": "#/components/responses/404" - } - } - } - }, - "/groups/{group_id}/users": { - "get": { - "tags": [ - "Groups" - ], - "summary": "Returns all users of a group", - "description": "Display the list of users in a group", - "operationId": "getGroupUsers", - "parameters": [ - { - "name": "group_id", - "in": "path", - "description": "ID of group", - "required": true, - "schema": { - "type": "integer" - } - }, - { - "$ref": "#/components/parameters/filter" - }, - { - "$ref": "#/components/parameters/order_direction" - }, - { - "$ref": "#/components/parameters/per_page" - } - ], - "responses": { - "200": { - "description": "list of members of a group", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/users" - } - }, - "meta": { - "$ref": "#/components/schemas/metadata" - } - }, - "type": "object" - } - } - } - } - } - } - }, - "/groups/{group_id}/groups": { - "get": { - "tags": [ - "Groups" - ], - "summary": "Returns all users of a group", - "description": "Display the list of groups in a group", - "operationId": "getGroupGroupss", - "parameters": [ - { - "name": "group_id", - "in": "path", - "description": "ID of group", - "required": true, - "schema": { - "type": "integer" - } - }, - { - "$ref": "#/components/parameters/filter" - }, - { - "$ref": "#/components/parameters/order_direction" - }, - { - "$ref": "#/components/parameters/per_page" - } - ], - "responses": { - "200": { - "description": "list of members of a group", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/groups" - } - }, - "meta": { - "$ref": "#/components/schemas/metadata" - } - }, - "type": "object" - } - } - } - } - } - } - }, - "/group_members": { - "get": { - "tags": [ - "Group Members" - ], - "summary": "Returns all groups for a given member", - "description": "Display a listing of the resource.", - "operationId": "getGroupMembers", - "parameters": [ - { - "$ref": "#/components/parameters/member_id" - }, - { - "$ref": "#/components/parameters/order_by" - }, - { - "$ref": "#/components/parameters/order_direction" - }, - { - "$ref": "#/components/parameters/per_page" - } - ], - "responses": { - "200": { - "description": "list of group_members", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/groupMembers" - } - }, - "meta": { - "$ref": "#/components/schemas/metadata" - } - }, - "type": "object" - } - } - } - } - } - }, - "post": { - "tags": [ - "Group Members" - ], - "summary": "Save a new group member", - "description": "Store a newly created resource in storage.", - "operationId": "createGroupMember", - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/groupMembersEditable" - } - } - } - }, - "responses": { - "201": { - "description": "success", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/createGroupMembers" - } - } - } - } - } - } - }, - "/group_members/{group_member_id}": { - "get": { - "tags": [ - "Group Members" - ], - "summary": "Get single group member by ID", - "description": "Display the specified resource.", - "operationId": "getGroupMemberById", - "parameters": [ - { - "name": "group_member_id", - "in": "path", - "description": "ID of group members to return", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "Successfully found the group members", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/getGroupMembersById" - } - } - } - } - } - }, - "delete": { - "tags": [ - "Group Members" - ], - "summary": "Delete a group member", - "description": "Delete a group membership", - "operationId": "deleteGroupMember", - "parameters": [ - { - "name": "group_member_id", - "in": "path", - "description": "ID of group_members to return", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "success" - } - } - } - }, - "/group_members_available": { - "get": { - "tags": [ - "Group Members" - ], - "summary": "Returns all groups available for a given member", - "description": "Display a listing of groups available", - "operationId": "getGroupMembersAvailable", - "parameters": [ - { - "name": "member_id", - "in": "path", - "description": "ID of group member to return", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "member_type", - "in": "path", - "description": "type of group member to return", - "required": true, - "schema": { - "type": "string" - } - }, - { - "$ref": "#/components/parameters/filter" - }, - { - "$ref": "#/components/parameters/order_by" - }, - { - "$ref": "#/components/parameters/order_direction" - }, - { - "$ref": "#/components/parameters/per_page" - } - ], - "responses": { - "200": { - "description": "list of groups available to be assigned as member", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/availableGroupMembers" - } - }, - "meta": { - "$ref": "#/components/schemas/metadata" - } - }, - "type": "object" - } - } - } - } - } - } - }, - "/user_members_available": { - "get": { - "tags": [ - "Group Members" - ], - "summary": "Returns all users available for a given group", - "description": "Display a listing of users available", - "operationId": "getUserMembersAvailable", - "parameters": [ - { - "name": "group_id", - "in": "path", - "description": "ID of group to return", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "filter", - "in": "query", - "description": "Filter results by string. Searches Name. Can be a substring.", - "schema": { - "type": "string" - } - }, - { - "$ref": "#/components/parameters/order_by" - }, - { - "$ref": "#/components/parameters/order_direction" - }, - { - "$ref": "#/components/parameters/per_page" - } - ], - "responses": { - "200": { - "description": "list of users available to be assigned as member", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/users" - } - }, - "meta": { - "$ref": "#/components/schemas/metadata" - } - }, - "type": "object" - } - } - } - } - } - } - }, - "/notifications": { - "get": { - "tags": [ - "Notifications" - ], - "summary": "Returns all notifications that the user has access to", - "description": "Display a listing of the resource.", - "operationId": "getNotifications", - "parameters": [ - { - "name": "status", - "in": "query", - "description": "Only return notifications by status (unread, all, etc.)", - "required": false, - "schema": { - "type": "string" - } - }, - { - "$ref": "#/components/parameters/filter" - }, - { - "$ref": "#/components/parameters/order_by" - }, - { - "$ref": "#/components/parameters/order_direction" - }, - { - "$ref": "#/components/parameters/per_page" - }, - { - "$ref": "#/components/parameters/include" - } - ], - "responses": { - "200": { - "description": "list of notifications", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Notification" - } - }, - "meta": {} - }, - "type": "object" - } - } - } - } - } - }, - "post": { - "tags": [ - "Notifications" - ], - "summary": "Save a new notifications", - "description": "Store a newly created resource in storage.", - "operationId": "createNotification", - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/NotificationEditable" - } - } - } - }, - "responses": { - "201": { - "description": "success", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Notification" - } - } - } - } - } - } - }, - "/notifications/{notification_id}": { - "get": { - "tags": [ - "Notifications" - ], - "summary": "Get single notification by ID", - "description": "Display the specified resource.", - "operationId": "getNotificationById", - "parameters": [ - { - "name": "notification_id", - "in": "path", - "description": "ID of notification to return", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "Successfully found the notification", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Notification" - } - } - } - } - } - }, - "put": { - "tags": [ - "Notifications" - ], - "summary": "Update a notification", - "description": "Update a user", - "operationId": "updateNotification", - "parameters": [ - { - "name": "notification_id", - "in": "path", - "description": "ID of notification to return", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/NotificationEditable" - } - } - } - }, - "responses": { - "204": { - "description": "success" - } - } - }, - "delete": { - "tags": [ - "Notifications" - ], - "summary": "Delete a notification", - "description": "Delete a notification", - "operationId": "deleteNotification", - "parameters": [ - { - "name": "notification_id", - "in": "path", - "description": "ID of notification to return", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "success" - } - } - } - }, - "/read_notifications": { - "put": { - "tags": [ - "Notifications" - ], - "summary": "Mark notifications as read by the user", - "description": "Update notification as read", - "operationId": "markNotificationAsRead", - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "message_ids": { - "description": "list of message ids that will be marked as read", - "type": "array", - "items": { - "type": "string" - } - }, - "routes": { - "description": "all messages that has an url that is in this list will be marked as read", - "type": "array", - "items": { - "type": "string" - } - } - }, - "type": "object" - } - } - } - }, - "responses": { - "201": { - "description": "success" - } - } - } - }, - "/unread_notifications": { - "put": { - "tags": [ - "Notifications" - ], - "summary": "Mark notifications as unread by the user", - "description": "Update notifications as unread", - "operationId": "markNotificationAsUnread", - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "message_ids": { - "description": "list of message ids that will be marked as read", - "type": "array", - "items": { - "type": "string" - } - }, - "routes": { - "description": "all messages that has an url that is in this list will be marked as read", - "type": "array", - "items": { - "type": "string" - } - } - }, - "type": "object" - } - } - } - }, - "responses": { - "201": { - "description": "success" - } - } - } - }, - "/read_all_notifications": { - "put": { - "tags": [ - "Notifications" - ], - "summary": "Mark notifications as read by id and type", - "description": "Update all notification as read.", - "operationId": "markAllAsRead", - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "id": { - "description": "Polymorphic relation id", - "type": "integer" - }, - "type": { - "description": "Polymorphic relation type", - "type": "string" - } - }, - "type": "object" - } - } - } - }, - "responses": { - "201": { - "description": "success" - } - } - } - }, - "/permissions": { - "put": { - "tags": [ - "Permissions" - ], - "summary": "Update the permissions of a user", - "description": "Update permissions", - "operationId": "51b3555fb753f44324bf5c3880e01454", - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "user_id": { - "description": "ID of the user whose permissions are configured", - "type": "integer" - }, - "group_id": { - "description": "ID of the group whose permissions are configured", - "type": "integer" - }, - "is_administrator": { - "description": "Whether the user should have Super Admin privileges", - "type": "boolean", - "default": false - }, - "permission_names": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "type": "object" - } - } - } - }, - "responses": { - "204": { - "description": "success" - } - } - } - }, - "/process_categories": { - "get": { - "tags": [ - "Process Categories" - ], - "summary": "Returns all processes categories that the user has access to", - "description": "Display a listing of the Process Categories.", - "operationId": "getProcessCategories", - "parameters": [ - { - "name": "filter", - "in": "query", - "description": "Filter results by string. Searches Name and Status. All fields must match exactly.", - "schema": { - "type": "string" - } - }, - { - "$ref": "#/components/parameters/order_by" - }, - { - "$ref": "#/components/parameters/order_direction" }, { - "$ref": "#/components/parameters/per_page" + "$ref": "#/components/parameters/include" } ], "responses": { "200": { - "description": "list of processes categories", + "description": "Successfully found the process", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Process" + } + } + } + }, + "204": { + "description": "Process not found", "content": { "application/json": { "schema": { "properties": { - "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ProcessCategory" - } - }, - "meta": { - "type": "object" + "message": { + "type": "string", + "example": "The requested process was not found" } }, "type": "object" @@ -2968,50 +1732,59 @@ } } }, - "post": { + "put": { "tags": [ - "Process Categories" + "Processes" + ], + "summary": "Update a process", + "description": "Updates the current element.", + "operationId": "updateProcess", + "parameters": [ + { + "name": "processId", + "in": "path", + "description": "ID of process to return", + "required": true, + "schema": { + "type": "integer" + } + } ], - "summary": "Save a new process Category", - "description": "Store a newly created Process Category in storage", - "operationId": "createProcessCategory", "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ProcessCategoryEditable" + "$ref": "#/components/schemas/ProcessEditable" } } } }, "responses": { - "201": { + "200": { "description": "success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ProcessCategory" + "$ref": "#/components/schemas/Process" } } } } } - } - }, - "/process_categories/{process_category_id}": { - "get": { + }, + "delete": { "tags": [ - "Process Categories" + "Processes" ], - "summary": "Get single process category by ID", - "description": "Display the specified Process category.", - "operationId": "getProcessCategoryById", + "summary": "Delete a process", + "description": "Remove the specified resource from storage.", + "operationId": "deleteProcess", "parameters": [ { - "name": "process_category_id", + "name": "processId", "in": "path", - "description": "ID of process category to return", + "description": "ID of process to return", "required": true, "schema": { "type": "integer" @@ -3019,79 +1792,90 @@ } ], "responses": { - "200": { - "description": "Successfully found the process", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProcessCategory" - } - } - } + "204": { + "description": "success" } } - }, - "put": { + } + }, + "/processes/{processId}/start_events": { + "get": { "tags": [ - "Process Categories" + "Processes" ], - "summary": "Update a process Category", - "description": "Updates the current element", - "operationId": "updateProcessCategory", + "summary": "Get start events of a process by Id", + "description": "Display the specified resource.", + "operationId": "getStartEventsProcessById", "parameters": [ { - "name": "process_category_id", + "name": "processId", "in": "path", - "description": "ID of process category to return", + "description": "ID of process to return", "required": true, "schema": { "type": "integer" } + }, + { + "$ref": "#/components/parameters/include" } ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProcessCategoryEditable" - } - } - } - }, "responses": { "200": { - "description": "success", + "description": "Successfully found the start events process", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ProcessCategory" + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ProcessStartEvents" + } + }, + "meta": { + "$ref": "#/components/schemas/metadata" + } + }, + "type": "object" } } } } } - }, - "delete": { + } + }, + "/processes/{processId}/draft": { + "put": { "tags": [ - "Process Categories" + "Processes" ], - "summary": "Delete a process category", - "description": "Remove the specified resource from storage.", - "operationId": "deleteProcessCategory", + "summary": "Update a draft process", + "description": "Update draft process.", + "operationId": "updateDraftProcess", "parameters": [ { - "name": "process_category_id", + "name": "processId", "in": "path", - "description": "ID of process category to return", + "description": "ID of process to return", "required": true, "schema": { "type": "integer" } } ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProcessEditable" + } + } + } + }, "responses": { - "204": { + "200": { "description": "success", "content": { "application/json": { @@ -3104,14 +1888,14 @@ } } }, - "/processes": { + "/start_processes": { "get": { "tags": [ "Processes" ], - "summary": "Returns all processes that the user has access to", - "description": "Get list Process", - "operationId": "getProcesses", + "summary": "Returns the list of processes that the user can start", + "description": "Returns the list of processes that the user can start.", + "operationId": "startProcesses", "parameters": [ { "$ref": "#/components/parameters/filter" @@ -3125,25 +1909,22 @@ { "$ref": "#/components/parameters/per_page" }, - { - "$ref": "#/components/parameters/status" - }, { "$ref": "#/components/parameters/include" }, { - "name": "simplified_data_for_selector", - "in": "query", - "description": "Comma separated list of fields to include in the response", + "name": "without_event_definitions", + "in": "path", + "description": "If true return only processes that haven't start event definitions", + "required": false, "schema": { - "type": "string", - "default": "" + "type": "boolean" } } ], "responses": { "200": { - "description": "list of processes", + "description": "list of processes that the user can start", "content": { "application/json": { "schema": { @@ -3151,7 +1932,7 @@ "data": { "type": "array", "items": { - "$ref": "#/components/schemas/Process" + "$ref": "#/components/schemas/ProcessWithStartEvents" } }, "meta": { @@ -3164,26 +1945,29 @@ } } } - }, - "post": { + } + }, + "/processes/{processId}/restore": { + "put": { "tags": [ "Processes" ], - "summary": "Save a new process", - "description": "Store a newly created resource in storage.", - "operationId": "createProcess", - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProcessEditable" - } + "summary": "Restore an inactive process", + "description": "Reverses the soft delete of the element.", + "operationId": "restoreProcess", + "parameters": [ + { + "name": "processId", + "in": "path", + "description": "ID of process to return", + "required": true, + "schema": { + "type": "integer" } } - }, + ], "responses": { - "201": { + "200": { "description": "success", "content": { "application/json": { @@ -3196,65 +1980,104 @@ } } }, - "/processes/{processId}": { - "get": { + "/processes/{processId}/export": { + "post": { "tags": [ "Processes" ], - "summary": "Get single process by ID", - "description": "Display the specified resource.", - "operationId": "getProcessById", + "summary": "Export a single process by ID and return a URL to download it", + "description": "Export the specified process.", + "operationId": "exportProcess", "parameters": [ { "name": "processId", "in": "path", - "description": "ID of process to return", + "description": "ID of process to export", "required": true, "schema": { "type": "integer" } - }, - { - "$ref": "#/components/parameters/include" } ], "responses": { "200": { - "description": "Successfully found the process", + "description": "Successfully built the process for export", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Process" + "properties": { + "url": { + "type": "string" + } + }, + "type": "object" } } } } } - }, - "put": { + } + }, + "/processes/import/validation": { + "post": { "tags": [ "Processes" ], - "summary": "Update a process", - "description": "Updates the current element.", - "operationId": "updateProcess", - "parameters": [ - { - "name": "processId", - "in": "path", - "description": "ID of process to return", - "required": true, - "schema": { - "type": "integer" + "summary": "Validate a import", + "description": "Validate the specified process before importing.", + "operationId": "validateImport", + "requestBody": { + "required": true, + "content": { + "multipart/form-data": { + "schema": { + "properties": { + "file": { + "description": "file to import", + "type": "string", + "format": "binary" + } + }, + "type": "object" + } + } + } + }, + "responses": { + "200": { + "description": "success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProcessImport" + } + } } } + } + } + }, + "/processes/import": { + "post": { + "tags": [ + "Processes" ], + "summary": "Import a new process", + "description": "Import the specified process.", + "operationId": "importProcess", "requestBody": { "required": true, "content": { - "application/json": { + "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/ProcessEditable" + "properties": { + "file": { + "description": "file to import", + "type": "string", + "format": "binary" + } + }, + "type": "object" } } } @@ -3265,25 +2088,27 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Process" + "$ref": "#/components/schemas/ProcessImport" } } } } } - }, - "delete": { + } + }, + "/processes/{processId}/bpmn": { + "get": { "tags": [ "Processes" ], - "summary": "Delete a process", - "description": "Remove the specified resource from storage.", - "operationId": "deleteProcess", + "summary": "Download the BPMN definition of a process", + "description": "Download the BPMN definition of a process", + "operationId": "processBpmn", "parameters": [ { "name": "processId", "in": "path", - "description": "ID of process to return", + "description": "ID of process", "required": true, "schema": { "type": "integer" @@ -3291,49 +2116,52 @@ } ], "responses": { - "204": { - "description": "success" + "200": { + "description": "Successfully built the process for export", + "content": { + "application/json": { + "schema": { + "properties": { + "url": { + "type": "string" + } + }, + "type": "object" + } + } + } } } } }, - "/processes/{processId}/start_events": { - "get": { + "/processes/import/{code}/is_ready": { + "head": { "tags": [ "Processes" ], - "summary": "Get start events of a process by Id", - "description": "Display the specified resource.", - "operationId": "getStartEventsProcessById", + "summary": "Check if the import is ready", + "description": "Check if the import is ready", + "operationId": "6a131993b7c879ddcd3d3a291dd8380f", "parameters": [ { - "name": "processId", + "name": "code", "in": "path", - "description": "ID of process to return", + "description": "Import code", "required": true, "schema": { - "type": "integer" + "type": "string" } - }, - { - "$ref": "#/components/parameters/include" } ], "responses": { "200": { - "description": "Successfully found the start events process", + "description": "check is import is ready", "content": { "application/json": { "schema": { "properties": { - "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ProcessStartEvents" - } - }, - "meta": { - "$ref": "#/components/schemas/metadata" + "ready": { + "type": "boolean" } }, "type": "object" @@ -3344,17 +2172,17 @@ } } }, - "/processes/{processId}/draft": { - "put": { + "/processes/{process_id}/import/assignments": { + "post": { "tags": [ "Processes" ], - "summary": "Update a draft process", - "description": "Update draft process.", - "operationId": "updateDraftProcess", + "summary": "Update assignments after import", + "description": "Import Assignments of process.", + "operationId": "assignmentProcess", "parameters": [ { - "name": "processId", + "name": "process_id", "in": "path", "description": "ID of process to return", "required": true, @@ -3368,77 +2196,64 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ProcessEditable" + "$ref": "#/components/schemas/ProcessAssignments" } } } }, "responses": { - "200": { - "description": "success", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Process" - } - } - } + "204": { + "description": "success" } } } }, - "/start_processes": { - "get": { + "/process_events/{process_id}": { + "post": { "tags": [ "Processes" ], - "summary": "Returns the list of processes that the user can start", - "description": "Returns the list of processes that the user can start.", - "operationId": "startProcesses", + "summary": "Start a new process", + "description": "Trigger an start event within a process.", + "operationId": "triggerStartEvent", "parameters": [ { - "$ref": "#/components/parameters/filter" - }, - { - "$ref": "#/components/parameters/order_by" - }, - { - "$ref": "#/components/parameters/order_direction" - }, - { - "$ref": "#/components/parameters/per_page" - }, - { - "$ref": "#/components/parameters/include" + "name": "process_id", + "in": "path", + "description": "ID of process to return", + "required": true, + "schema": { + "type": "integer" + } }, { - "name": "without_event_definitions", - "in": "path", - "description": "If true return only processes that haven't start event definitions", - "required": false, + "name": "event", + "in": "query", + "description": "Node ID of the start event", + "required": true, "schema": { - "type": "boolean" + "type": "string" + } + } + ], + "requestBody": { + "description": "data that will be stored as part of the created request", + "required": false, + "content": { + "application/json": { + "schema": { + "type": "object" + } } } - ], + }, "responses": { "200": { - "description": "list of processes that the user can start", + "description": "success", "content": { "application/json": { "schema": { - "properties": { - "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ProcessWithStartEvents" - } - }, - "meta": { - "$ref": "#/components/schemas/metadata" - } - }, - "type": "object" + "$ref": "#/components/schemas/processRequest" } } } @@ -3446,67 +2261,110 @@ } } }, - "/processes/{processId}/restore": { - "put": { + "/processes/{process}/stages": { + "get": { "tags": [ "Processes" ], - "summary": "Restore an inactive process", - "description": "Reverses the soft delete of the element.", - "operationId": "restoreProcess", + "summary": "Get the list of stages for a process", + "description": "Get stages of a process", + "operationId": "b40606bf1f4f04479be88823f470626f", "parameters": [ { - "name": "processId", + "name": "process", "in": "path", - "description": "ID of process to return", + "description": "ID of the process", "required": true, "schema": { "type": "integer" } + }, + { + "name": "alternative", + "in": "query", + "description": "Alternative version (A or B)", + "required": false, + "schema": { + "type": "string" + } } ], "responses": { "200": { - "description": "success", + "description": "List of stages", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Process" + "type": "array", + "items": { + "properties": { + "id": { + "type": "integer" + }, + "order": { + "type": "integer" + }, + "name": { + "type": "string" + }, + "selected": { + "type": "boolean" + } + }, + "type": "object" + } } } } } } - } - }, - "/processes/{processId}/export": { + }, "post": { "tags": [ "Processes" ], - "summary": "Export a single process by ID and return a URL to download it", - "description": "Export the specified process.", - "operationId": "exportProcess", + "summary": "Save or update the list of stages for a process", + "description": "Save stages for a process", + "operationId": "eb23a62117463592164d70f29aecdf9b", "parameters": [ { - "name": "processId", + "name": "process", "in": "path", - "description": "ID of process to export", + "description": "ID of the process", "required": true, "schema": { "type": "integer" } + }, + { + "name": "alternative", + "in": "query", + "description": "Alternative version (A or B)", + "required": false, + "schema": { + "type": "string" + } } ], - "responses": { - "200": { - "description": "Successfully built the process for export", - "content": { - "application/json": { - "schema": { + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "properties": { - "url": { + "id": { + "type": "integer" + }, + "order": { + "type": "integer" + }, + "label": { "type": "string" + }, + "selected": { + "type": "boolean" } }, "type": "object" @@ -3514,41 +2372,31 @@ } } } - } - } - }, - "/processes/import/validation": { - "post": { - "tags": [ - "Processes" - ], - "summary": "Validate a import", - "description": "Validate the specified process before importing.", - "operationId": "validateImport", - "requestBody": { - "required": true, - "content": { - "multipart/form-data": { - "schema": { - "properties": { - "file": { - "description": "file to import", - "type": "string", - "format": "binary" - } - }, - "type": "object" - } - } - } }, "responses": { "200": { - "description": "success", + "description": "Updated stages", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ProcessImport" + "type": "array", + "items": { + "properties": { + "id": { + "type": "integer" + }, + "order": { + "type": "integer" + }, + "name": { + "type": "string" + }, + "selected": { + "type": "boolean" + } + }, + "type": "object" + } } } } @@ -3556,111 +2404,197 @@ } } }, - "/processes/import": { - "post": { + "/processes/{process}/aggregation": { + "get": { "tags": [ "Processes" ], - "summary": "Import a new process", - "description": "Import the specified process.", - "operationId": "importProcess", - "requestBody": { - "required": true, - "content": { - "multipart/form-data": { - "schema": { - "properties": { - "file": { - "description": "file to import", - "type": "string", - "format": "binary" - } - }, - "type": "object" - } + "summary": "Get the aggregation configuration for a process", + "description": "Get aggregation for a process", + "operationId": "ecf07de0e8ce9b5876c72ea0133d83a4", + "parameters": [ + { + "name": "process", + "in": "path", + "description": "ID of the process", + "required": true, + "schema": { + "type": "integer" } } - }, + ], "responses": { "200": { - "description": "success", + "description": "Aggregation configuration", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ProcessImport" + "properties": { + "aggregation": { + "description": "string containing var aggregation", + "type": "string" + } + }, + "type": "object" } } } } } - } - }, - "/processes/{processId}/bpmn": { - "get": { + }, + "post": { "tags": [ "Processes" ], - "summary": "Download the BPMN definition of a process", - "description": "Download the BPMN definition of a process", - "operationId": "processBpmn", + "summary": "Save or update the aggregation field for a process", + "description": "Updates the aggregation field of a process. If no aggregation is provided, defaults to 'amount'.", + "operationId": "8b6d8704835d8571bc50e31938fd7ded", "parameters": [ { - "name": "processId", + "name": "process", "in": "path", - "description": "ID of process", + "description": "ID of the process", "required": true, "schema": { "type": "integer" } } ], + "requestBody": { + "required": false, + "content": { + "application/json": { + "schema": { + "properties": { + "aggregation": { + "description": "Field name to use for aggregation (defaults to 'amount' if not provided)", + "type": "string", + "example": "amount" + } + }, + "type": "object" + } + } + } + }, "responses": { "200": { - "description": "Successfully built the process for export", + "description": "Updated aggregation field", "content": { "application/json": { "schema": { "properties": { - "url": { - "type": "string" + "data": { + "description": "The saved aggregation field value", + "type": "string", + "example": "amount" } }, "type": "object" } } } + }, + "404": { + "description": "Process not found" } } } }, - "/processes/import/{code}/is_ready": { - "head": { + "/processes/{process}/stage-mapping": { + "get": { "tags": [ "Processes" ], - "summary": "Check if the import is ready", - "description": "Check if the import is ready", - "operationId": "6a131993b7c879ddcd3d3a291dd8380f", + "summary": "Get process stages configuration", + "description": "Retrieves and formats the stages configuration for a specific process, including total counts and individual stages.", + "operationId": "getStageMapping", "parameters": [ { - "name": "code", + "name": "process", "in": "path", - "description": "Import code", + "description": "ID of the process", "required": true, "schema": { - "type": "string" + "type": "integer" } } ], "responses": { "200": { - "description": "check is import is ready", + "description": "Successful operation", "content": { "application/json": { "schema": { "properties": { - "ready": { - "type": "boolean" + "data": { + "properties": { + "total": { + "properties": { + "stage_id": { + "type": "number", + "example": "0" + }, + "stage_name": { + "type": "string", + "example": "Total Cases" + }, + "percentage": { + "type": "number", + "example": 100 + }, + "percentage_format": { + "type": "string", + "example": "100%" + }, + "agregation_sum": { + "type": "number", + "example": 50000 + }, + "agregation_count": { + "type": "number", + "example": 150 + } + }, + "type": "object" + }, + "stages": { + "type": "array", + "items": { + "properties": { + "stage_id": { + "type": "number", + "example": "1" + }, + "stage_name": { + "type": "string", + "example": "In progress" + }, + "percentage": { + "type": "number", + "example": 60, + "nullable": true + }, + "percentage_format": { + "type": "string", + "example": "60%" + }, + "agregation_sum": { + "type": "number", + "example": 28678, + "nullable": true + }, + "agregation_count": { + "type": "number", + "example": 100, + "nullable": true + } + }, + "type": "object" + } + } + }, + "type": "object" } }, "type": "object" @@ -3671,88 +2605,157 @@ } } }, - "/processes/{process_id}/import/assignments": { - "post": { + "/api/processes/{process}/default-stages": { + "get": { "tags": [ "Processes" ], - "summary": "Update assignments after import", - "description": "Import Assignments of process.", - "operationId": "assignmentProcess", + "summary": "Get default process stages configuration", + "description": "Retrieves and formats the default stages configuration for a process.", + "operationId": "getDefaultStagesPerProcess", "parameters": [ { - "name": "process_id", + "name": "process", "in": "path", - "description": "ID of process to return", + "description": "ID of the process", "required": true, "schema": { "type": "integer" } } ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProcessAssignments" + "responses": { + "200": { + "description": "Successful operation", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "properties": { + "stage_id": { + "type": "number", + "example": "1" + }, + "stage_name": { + "type": "string", + "example": "In progress" + }, + "percentage": { + "type": "number", + "example": 60, + "nullable": true + }, + "percentage_format": { + "type": "string", + "example": "60%" + }, + "agregation_sum": { + "type": "number", + "example": 28678, + "nullable": true + }, + "agregation_count": { + "type": "number", + "example": 100, + "nullable": true + } + }, + "type": "object" + } + } } } } - }, - "responses": { - "204": { - "description": "success" - } } } }, - "/process_events/{process_id}": { - "post": { + "/api/processes/{process}/metrics": { + "get": { "tags": [ "Processes" ], - "summary": "Start a new process", - "description": "Trigger an start event within a process.", - "operationId": "triggerStartEvent", + "summary": "Get process metrics configuration", + "description": "Retrieves and formats the metrics configuration for a specific process. Supports different formats like 'student' or default metrics.", + "operationId": "getMetricsPerProcess", "parameters": [ { - "name": "process_id", + "name": "process", "in": "path", - "description": "ID of process to return", + "description": "ID of the process", "required": true, "schema": { "type": "integer" } }, { - "name": "event", + "name": "format", "in": "query", - "description": "Node ID of the start event", - "required": true, + "description": "Format type of the metrics (e.g., 'student')", + "required": false, "schema": { - "type": "string" + "type": "string", + "default": "student", + "enum": [ + "student", + "default" + ] } } ], - "requestBody": { - "description": "data that will be stored as part of the created request", - "required": false, - "content": { - "application/json": { - "schema": { - "type": "object" - } - } - } - }, "responses": { "200": { - "description": "success", + "description": "Successful operation", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/processRequest" + "type": "array", + "items": { + "properties": { + "id": { + "type": "integer", + "example": 1 + }, + "metric_description": { + "type": "string", + "example": "Max amount available" + }, + "metric_count": { + "type": "integer", + "example": 10, + "nullable": true + }, + "metric_count_description": { + "type": "string", + "example": "Across 10 applicants" + }, + "metric_value": { + "type": "number", + "example": 84000 + }, + "metric_value_unit": { + "type": "string", + "example": "k" + } + }, + "type": "object" + } + } + } + } + }, + "400": { + "description": "Invalid format parameter", + "content": { + "application/json": { + "schema": { + "properties": { + "error": { + "type": "string", + "example": "Invalid format parameter" + } + }, + "type": "object" } } } @@ -5130,6 +4133,9 @@ "items": { "type": "object" } + }, + "sync": { + "type": "boolean" } }, "type": "object" @@ -6441,6 +5447,64 @@ } } } + }, + "post": { + "tags": [ + "Users" + ], + "summary": "Returns all users and their total tasks (POST version for large form_data)", + "operationId": "postUsersTaskCount", + "requestBody": { + "description": "Request body for filtering users", + "content": { + "application/json": { + "schema": { + "properties": { + "filter": { + "description": "Filter results by string. Searches First Name, Last Name, Email, or Username.", + "type": "string" + }, + "include_ids": { + "description": "Comma separated list of user IDs to include in the response. Eg. 1,2,3", + "type": "string" + }, + "assignable_for_task_id": { + "description": "Task ID to get assignable users for", + "type": "integer" + }, + "form_data": { + "description": "Form data used to evaluate rule expressions for task assignment", + "type": "object" + } + }, + "type": "object" + } + } + } + }, + "responses": { + "200": { + "description": "List of users with task counts", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/users" + } + }, + "meta": { + "$ref": "#/components/schemas/metadata" + } + }, + "type": "object" + } + } + } + } + } } }, "/users/{user_id}": { @@ -6922,378 +5986,233 @@ } } } - } - }, - "components": { - "schemas": { - "DateTime": { - "properties": { - "date": { - "type": "string" - } - }, - "type": "object" - }, - "collectionsEditable": { - "properties": { - "name": { - "type": "string" - }, - "description": { - "type": "string" - }, - "custom_title": { - "type": "string" - }, - "create_screen_id": { - "type": "string", - "format": "id" - }, - "read_screen_id": { - "type": "string", - "format": "id" - }, - "update_screen_id": { - "type": "string", - "format": "id" - }, - "signal_create": { - "type": "boolean" - }, - "signal_update": { - "type": "boolean" - }, - "signal_delete": { - "type": "boolean" - } - }, - "type": "object" - }, - "collections": { - "allOf": [ + }, + "/processes/variables": { + "get": { + "tags": [ + "Processes Variables" + ], + "summary": "Get variables for multiple processes with pagination", + "operationId": "660c9459febd17c58400be4b4d49a152", + "parameters": [ { - "$ref": "#/components/schemas/collectionsEditable" + "name": "processIds", + "in": "query", + "description": "Comma-separated list of process IDs", + "required": false, + "schema": { + "type": "string", + "example": "1,2,3", + "nullable": true + } }, { - "properties": { - "id": { - "type": "integer" - }, - "created_at": { - "type": "string", - "format": "date-time" - }, - "updated_at": { - "type": "string", - "format": "date-time" - }, - "created_by_id": { - "type": "string", - "format": "id" - }, - "updated_by_id": { - "type": "string", - "format": "id" - }, - "columns": { - "type": "array", - "items": { - "type": "object" - } - } - }, - "type": "object" - } - ] - }, - "recordsEditable": { - "properties": { - "data": { - "type": "object" - } - }, - "type": "object" - }, - "records": { - "allOf": [ - { - "$ref": "#/components/schemas/recordsEditable" + "name": "page", + "in": "query", + "description": "Page number", + "required": false, + "schema": { + "type": "integer", + "default": 1 + } }, { - "properties": { - "id": { - "type": "integer" - }, - "collection_id": { - "type": "string", - "format": "id" - } - }, - "type": "object" - } - ] - }, - "SavedSearchEditable": { - "properties": { - "meta": { - "description": "Represents an Eloquent model of a Saved Search.", - "type": "object", - "additionalProperties": "true" - }, - "pmql": { - "type": "string" - }, - "title": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "task", - "request" - ] - }, - "advanced_filter": { - "type": "object", - "additionalProperties": "true" + "name": "per_page", + "in": "query", + "description": "Items per page", + "required": false, + "schema": { + "type": "integer", + "default": 20 + } } - }, - "type": "object" - }, - "SavedSearch": { - "allOf": [ - { - "properties": { - "id": { - "type": "string", - "format": "id" - }, - "user_id": { - "type": "string", - "format": "id" - }, - "created_at": { - "type": "string", - "format": "date-time" - }, - "updated_at": { - "type": "string", - "format": "date-time" - } - }, - "type": "object" - }, + ], + "responses": { + "200": { + "description": "Successful response", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Variable" + } + }, + "meta": { + "$ref": "#/components/schemas/PaginationMeta" + } + }, + "type": "object" + } + } + } + } + }, + "servers": [ { - "$ref": "#/components/schemas/SavedSearchEditable" + "url": "http://processmaker-a.test/api/1.1", + "description": "API v1.1 Server" } ] - }, - "SavedSearchIcon": { + } + } + }, + "components": { + "schemas": { + "DateTime": { "properties": { - "name": { - "type": "string" - }, - "value": { + "date": { "type": "string" } }, "type": "object" }, - "SavedSearchChartEditable": { + "updateUserGroups": { "properties": { - "title": { - "description": "Represents an Eloquent model of a Saved Search Chart.", - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "bar", - "bar-vertical", - "line", - "pie", - "doughnut" - ] - }, - "config": { - "type": "object", - "additionalProperties": "true" - }, - "sort": { - "type": "integer" + "groups": { + "type": "array", + "items": { + "type": "integer", + "example": 1 + } } }, "type": "object" }, - "SavedSearchChart": { - "allOf": [ - { - "properties": { - "id": { - "type": "string", - "format": "id" - }, - "saved_search_id": { - "type": "string", - "format": "id" - }, - "user_id": { - "type": "string", - "format": "id" - }, - "created_at": { - "type": "string", - "format": "date-time" - }, - "updated_at": { - "type": "string", - "format": "date-time" - }, - "deleted_at": { - "type": "string", - "format": "date-time" - } - }, - "type": "object" - }, - { - "$ref": "#/components/schemas/SavedSearchChartEditable" + "restoreUser": { + "properties": { + "username": { + "description": "Username to restore", + "type": "string" } - ] + }, + "type": "object" }, - "ReportEditable": { + "Variable": { "properties": { - "type": { + "id": { + "type": "integer", + "example": 1 + }, + "process_id": { + "type": "integer", + "example": 1 + }, + "uuid": { "type": "string", - "enum": [ - "adhoc", - "scheduled" - ] + "format": "uuid", + "example": "550e8400-e29b-41d4-a716-446655440000" }, - "format": { + "field": { "type": "string", + "example": "string", "enum": [ - "csv", - "xlsx" + "string", + "number", + "boolean", + "array" ] }, - "saved_search_id": { - "type": "integer" - }, - "config": { - "type": "object", - "additionalProperties": "true" - }, - "to": { - "type": "array", - "items": { - "type": "string" - } + "label": { + "type": "string", + "example": "Variable 1 for Process 1" }, - "subject": { - "type": "string" + "name": { + "type": "string", + "example": "var_1_1" }, - "body": { - "type": "string" - } - }, - "type": "object" - }, - "Report": { - "allOf": [ - { + "asset": { "properties": { "id": { "type": "string", - "format": "id" + "example": "asset_1_1" }, - "user_id": { + "type": { "type": "string", - "format": "id" + "example": "sensor", + "enum": [ + "sensor", + "actuator", + "controller", + "device" + ] }, - "created_at": { + "name": { "type": "string", - "format": "date-time" + "example": "Asset 1 for Process 1" }, - "updated_at": { + "uuid": { "type": "string", - "format": "date-time" + "format": "uuid", + "example": "550e8400-e29b-41d4-a716-446655440000" } }, "type": "object" }, - { - "$ref": "#/components/schemas/SavedSearchEditable" + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" } - ] + }, + "type": "object" }, - "versionHistoryEditable": { + "PaginationMeta": { "properties": { - "versionable_id": { - "description": "Class VersionHistoryCollection", - "type": "integer" + "current_page": { + "type": "integer", + "example": 1 }, - "versionable_type": { - "type": "string" + "from": { + "type": "integer", + "example": 1 }, - "name": { - "type": "string" + "last_page": { + "type": "integer", + "example": 5 }, - "subject": { - "type": "string" + "path": { + "type": "string", + "example": "http://processmaker.com/processes/variables" }, - "description": { - "type": "string" + "per_page": { + "type": "integer", + "example": 20 }, - "status": { - "type": "string", - "enum": [ - "ACTIVE", - "INACTIVE" - ] - } - }, - "type": "object" - }, - "versionHistory": { - "type": "object", - "allOf": [ - { - "$ref": "#/components/schemas/versionHistoryEditable" + "to": { + "type": "integer", + "example": 20 }, - { + "total": { + "type": "integer", + "example": 100 + }, + "links": { "properties": { - "created_at": { + "first": { "type": "string", - "format": "date-time" + "example": "http://processmaker.com/processes/variables?page=1" }, - "updated_at": { + "last": { "type": "string", - "format": "date-time" + "example": "http://processmaker.com/processes/variables?page=5" + }, + "prev": { + "type": "string", + "nullable": true + }, + "next": { + "type": "string", + "example": "http://processmaker.com/processes/variables?page=2" } }, "type": "object" } - ] - }, - "updateUserGroups": { - "properties": { - "groups": { - "type": "array", - "items": { - "type": "integer", - "example": 1 - } - } - }, - "type": "object" - }, - "restoreUser": { - "properties": { - "username": { - "description": "Username to restore", - "type": "string" - } }, "type": "object" }, @@ -7982,8 +6901,11 @@ "type": "object" }, "manager_id": { - "type": "integer", - "format": "id" + "type": "array", + "items": { + "type": "integer", + "format": "id" + } } }, "type": "object" @@ -8632,6 +7554,9 @@ }, "key": { "type": "string" + }, + "output": { + "type": "object" } }, "type": "object" @@ -9002,6 +7927,9 @@ }, "force_change_password": { "type": "boolean" + }, + "email_task_notification": { + "type": "boolean" } }, "type": "object" @@ -9194,9 +8122,9 @@ "description": "Laravel passport oauth2 security.", "flows": { "authorizationCode": { - "authorizationUrl": "http://processmaker.test/oauth/authorize", - "tokenUrl": "http://processmaker.test/oauth/token", - "refreshUrl": "http://processmaker.test/token/refresh", + "authorizationUrl": "http://processmaker-a.test/oauth/authorize", + "tokenUrl": "http://processmaker-a.test/oauth/token", + "refreshUrl": "http://processmaker-a.test/token/refresh", "scopes": {} } } @@ -9208,6 +8136,108 @@ } } }, + "tags": [ + { + "name": "Cases", + "description": "Cases" + }, + { + "name": "CssSettings", + "description": "CssSettings" + }, + { + "name": "Environment Variables", + "description": "Environment Variables" + }, + { + "name": "Files", + "description": "Files" + }, + { + "name": "Groups", + "description": "Groups" + }, + { + "name": "Group Members", + "description": "Group Members" + }, + { + "name": "Notifications", + "description": "Notifications" + }, + { + "name": "Permissions", + "description": "Permissions" + }, + { + "name": "Process Categories", + "description": "Process Categories" + }, + { + "name": "Processes", + "description": "Processes" + }, + { + "name": "Process Requests", + "description": "Process Requests" + }, + { + "name": "Request Files", + "description": "Request Files" + }, + { + "name": "Screen Categories", + "description": "Screen Categories" + }, + { + "name": "Screens", + "description": "Screens" + }, + { + "name": "Script Categories", + "description": "Script Categories" + }, + { + "name": "Scripts", + "description": "Scripts" + }, + { + "name": "Rebuild Script Executors", + "description": "Rebuild Script Executors" + }, + { + "name": "Security Logs", + "description": "Security Logs" + }, + { + "name": "Settings", + "description": "Settings" + }, + { + "name": "Signals", + "description": "Signals" + }, + { + "name": "Task Assignments", + "description": "Task Assignments" + }, + { + "name": "Tasks", + "description": "Tasks" + }, + { + "name": "Users", + "description": "Users" + }, + { + "name": "Personal Tokens", + "description": "Personal Tokens" + }, + { + "name": "Processes Variables", + "description": "Processes Variables" + } + ], "security": [ { "passport": [], From e03959ec76b9d9e7fb5e922111f993447deab318 Mon Sep 17 00:00:00 2001 From: Nolan Ehrstrom Date: Mon, 6 Apr 2026 14:38:55 -0700 Subject: [PATCH 08/14] Remove unused file --- .../DocblockAwareGeneratorFactory.php | 62 - storage/api-docs/api-docs.json | 4208 ++++++++++------- 2 files changed, 2589 insertions(+), 1681 deletions(-) delete mode 100644 ProcessMaker/L5Swagger/DocblockAwareGeneratorFactory.php diff --git a/ProcessMaker/L5Swagger/DocblockAwareGeneratorFactory.php b/ProcessMaker/L5Swagger/DocblockAwareGeneratorFactory.php deleted file mode 100644 index 5dc2d511f2..0000000000 --- a/ProcessMaker/L5Swagger/DocblockAwareGeneratorFactory.php +++ /dev/null @@ -1,62 +0,0 @@ -documentationConfigFactory->documentationConfig($documentation); - - $paths = $config['paths']; - $scanOptions = $config['scanOptions'] ?? []; - - if (!array_key_exists('analyser', $scanOptions) || $scanOptions['analyser'] === null) { - $scanOptions['analyser'] = new ReflectionAnalyser([ - new DocBlockAnnotationFactory(), - new AttributeAnnotationFactory(), - ]); - } - - $constants = $config['constants'] ?? []; - $yamlCopyRequired = $config['generate_yaml_copy'] ?? false; - - $secSchemesConfig = $config['securityDefinitions']['securitySchemes'] ?? []; - $secConfig = $config['securityDefinitions']['security'] ?? []; - - $security = new SecurityDefinitions($secSchemesConfig, $secConfig); - - return new Generator( - $paths, - $constants, - $yamlCopyRequired, - $security, - $scanOptions, - $this->application->make(Filesystem::class) - ); - } -} diff --git a/storage/api-docs/api-docs.json b/storage/api-docs/api-docs.json index 8a0916e2b8..3755004f8f 100644 --- a/storage/api-docs/api-docs.json +++ b/storage/api-docs/api-docs.json @@ -18,92 +18,14 @@ } ], "paths": { - "/cases/{case_number}": { - "delete": { - "tags": [ - "Cases" - ], - "summary": "Delete a case and its related requests", - "description": "Delete a case and its related requests.", - "operationId": "deleteCase", - "parameters": [ - { - "name": "case_number", - "in": "path", - "description": "Case number to delete", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "success" - }, - "401": { - "description": "Unauthorized" - }, - "404": { - "$ref": "#/components/responses/404" - }, - "409": { - "description": "Conflict" - }, - "500": { - "description": "Internal Server Error" - } - } - } - }, - "/customize-ui": { - "post": { - "tags": [ - "CssSettings" - ], - "summary": "Create or update a new setting", - "description": "Create a new Settings css-override", - "operationId": "updateCssSetting", - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "variables": { - "type": "string" - }, - "sansSerifFont": { - "type": "string" - } - }, - "type": "object" - } - } - } - }, - "responses": { - "201": { - "description": "success", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/settings" - } - } - } - } - } - } - }, - "/environment_variables": { + "/collections": { "get": { "tags": [ - "Environment Variables" + "Collections" ], - "summary": "Returns all environmentVariables that the user has access to. For security, values are not included.", - "description": "Fetch a collection of variables based on paged request and filter if provided", - "operationId": "getEnvironmentVariables", + "summary": "Returns all collections that the user has access to", + "description": "Get a list of Collections.", + "operationId": "getCollections", "parameters": [ { "$ref": "#/components/parameters/filter" @@ -123,7 +45,7 @@ ], "responses": { "200": { - "description": "list of environmentVariables", + "description": "list of collections", "content": { "application/json": { "schema": { @@ -131,11 +53,11 @@ "data": { "type": "array", "items": { - "$ref": "#/components/schemas/EnvironmentVariable" + "$ref": "#/components/schemas/collections" } }, "meta": { - "type": "object" + "$ref": "#/components/schemas/metadata" } }, "type": "object" @@ -147,17 +69,17 @@ }, "post": { "tags": [ - "Environment Variables" + "Collections" ], - "summary": "Create a new environment variable", - "description": "Creates a new global Environment Variable in the system", - "operationId": "createEnvironmentVariable", + "summary": "Save a new collections", + "description": "Create a new Collection.", + "operationId": "createCollection", "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/EnvironmentVariableEditable" + "$ref": "#/components/schemas/collectionsEditable" } } } @@ -168,7 +90,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/EnvironmentVariable" + "$ref": "#/components/schemas/collections" } } } @@ -176,32 +98,32 @@ } } }, - "/environment_variables/{environment_variable_id}": { + "/collections/{collection_id}": { "get": { "tags": [ - "Environment Variables" + "Collections" ], - "summary": "Get an environment variable by id. For security, the value is not included.", - "description": "Return an environment variable instance\nUsing implicit model binding, will automatically return 404 if variable now found", - "operationId": "getEnvironmentVariableById", + "summary": "Get single collections by ID", + "description": "Get a single Collection.", + "operationId": "getCollectionById", "parameters": [ { - "name": "environment_variable_id", + "name": "collection_id", "in": "path", - "description": "ID of environment_variables to return", + "description": "ID of collection to return", "required": true, "schema": { - "type": "integer" + "type": "string" } } ], "responses": { - "201": { - "description": "success", + "200": { + "description": "Successfully found the collections", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/EnvironmentVariable" + "$ref": "#/components/schemas/collections" } } } @@ -210,19 +132,19 @@ }, "put": { "tags": [ - "Environment Variables" + "Collections" ], - "summary": "Update an environment variable", - "description": "Update an environment variable", - "operationId": "updateEnvironmentVariable", + "summary": "Update a collection", + "description": "Update a Collection.", + "operationId": "updateCollection", "parameters": [ { - "name": "environment_variable_id", + "name": "collection_id", "in": "path", - "description": "ID of environment variables to update", + "description": "ID of collection to update", "required": true, "schema": { - "type": "integer" + "type": "string" } } ], @@ -231,57 +153,167 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/EnvironmentVariableEditable" + "$ref": "#/components/schemas/collectionsEditable" } } } }, "responses": { - "200": { + "204": { + "description": "success" + } + } + }, + "delete": { + "tags": [ + "Collections" + ], + "summary": "Delete a collection", + "description": "Delete a Collection.", + "operationId": "deleteCollection", + "parameters": [ + { + "name": "collection_id", + "in": "path", + "description": "ID of collection to return", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "success" + } + } + } + }, + "/collections/{collection_id}/export": { + "post": { + "tags": [ + "Screens" + ], + "summary": "Trigger export collections job", + "description": "Export the specified collection.", + "operationId": "exportCollection", + "parameters": [ + { + "name": "collection_id", + "in": "path", + "description": "ID of the collection to export", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "202": { + "description": "success" + } + } + } + }, + "/collections/import": { + "post": { + "tags": [ + "Collections" + ], + "summary": "Import a new collection", + "description": "Import the specified collection.", + "operationId": "importCollection", + "requestBody": { + "required": true, + "content": { + "multipart/form-data": { + "schema": { + "required": [ + "file" + ], + "properties": { + "file": { + "description": "file to upload", + "type": "file", + "format": "file" + } + }, + "type": "object" + } + } + } + }, + "responses": { + "201": { "description": "success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/EnvironmentVariable" + "$ref": "#/components/schemas/collections" } } } + }, + "200": { + "description": "success" } } - }, + } + }, + "/collections/{collection_id}/truncate": { "delete": { "tags": [ - "Environment Variables" + "Collections" ], - "summary": "Delete an environment variable", - "operationId": "deleteEnvironmentVariable", + "summary": "Deletes all records in a collection", + "description": "Truncate a Collection.", + "operationId": "truncateCollection", "parameters": [ { - "name": "environment_variable_id", + "name": "collection_id", "in": "path", - "description": "ID of environment_variables to return", + "description": "ID of collection to truncate", "required": true, "schema": { - "type": "integer" + "type": "string" } } ], "responses": { - "200": { + "204": { "description": "success" } } } }, - "/files": { + "/collections/{collection_id}/records": { "get": { "tags": [ - "Files" + "Collections" ], - "summary": "Returns the list of files", - "description": "Display a listing of the resource.", - "operationId": "getFiles", + "summary": "Returns all records", + "description": "Get the list of records of a collection.", + "operationId": "getRecords", "parameters": [ + { + "name": "collection_id", + "in": "path", + "description": "ID of collection to get records for", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "pmql", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "$ref": "#/components/parameters/per_page" + }, { "$ref": "#/components/parameters/filter" }, @@ -292,12 +324,12 @@ "$ref": "#/components/parameters/order_direction" }, { - "$ref": "#/components/parameters/per_page" + "$ref": "#/components/parameters/include" } ], "responses": { "200": { - "description": "list of files", + "description": "list of records of a collection", "content": { "application/json": { "schema": { @@ -305,7 +337,7 @@ "data": { "type": "array", "items": { - "$ref": "#/components/schemas/media" + "$ref": "#/components/schemas/records" } }, "meta": { @@ -321,87 +353,39 @@ }, "post": { "tags": [ - "Files" + "Collections" ], - "summary": "Save a new media file. Note: To upload files to a request, use createRequestFile in the RequestFile API", - "description": "Store a newly created resource in storage.", - "operationId": "createFile", + "summary": "Save a new record in a collection", + "description": "Create a new record in a Collection.", + "operationId": "createRecord", "parameters": [ { - "name": "model_id", - "in": "query", - "description": "ID of the model to which the file will be associated", - "required": true, - "schema": { - "type": "integer" - } - }, - { - "name": "model", - "in": "query", - "description": "Full namespaced class of the model to associate", + "name": "collection_id", + "in": "path", + "description": "ID of the collection", "required": true, "schema": { "type": "string" } - }, - { - "name": "data_name", - "in": "query", - "description": "Name of the variable used in a request", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "collection", - "in": "query", - "description": "Media collection name. For requests, use 'default'", - "required": false, - "schema": { - "type": "string" - } } ], "requestBody": { "required": true, "content": { - "multipart/form-data": { + "application/json": { "schema": { - "properties": { - "file": { - "description": "save a new media file", - "type": "string", - "format": "binary" - } - }, - "type": "object" + "$ref": "#/components/schemas/recordsEditable" } } } }, "responses": { - "200": { + "201": { "description": "success", "content": { "application/json": { "schema": { - "properties": { - "id": { - "type": "string" - }, - "model_id": { - "type": "string" - }, - "file_name": { - "type": "string" - }, - "mime_type": { - "type": "string" - } - }, - "type": "object" + "$ref": "#/components/schemas/records" } } } @@ -409,120 +393,192 @@ } } }, - "/files/{file_id}": { + "/collections/{collection_id}/records/{record_id}": { "get": { "tags": [ - "Files" + "Collections" ], - "summary": "Get the metadata of a file. To actually fetch the file see Get File Contents", - "description": "Get a single media file.", - "operationId": "getFileById", + "summary": "Get single record of a collection", + "description": "Get a single record of a Collection.", + "operationId": "getRecordById", "parameters": [ { - "name": "file_id", + "name": "collection_id", "in": "path", - "description": "ID of the file to return", + "description": "ID of the collection", "required": true, "schema": { - "type": "integer" + "type": "string" + } + }, + { + "name": "record_id", + "in": "path", + "description": "ID of the record to return", + "required": true, + "schema": { + "type": "string" } } ], "responses": { "200": { - "description": "Successfully found the file", + "description": "Successfully found the record", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/media" + "$ref": "#/components/schemas/records" } } } + } + } + }, + "put": { + "tags": [ + "Collections" + ], + "summary": "Update a record", + "description": "Update a record in a Collection.", + "operationId": "updateRecord", + "parameters": [ + { + "name": "collection_id", + "in": "path", + "description": "ID of collection", + "required": true, + "schema": { + "type": "string" + } }, - "404": { - "$ref": "#/components/responses/404" + { + "name": "record_id", + "in": "path", + "description": "ID of the record ", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/recordsEditable" + } + } + } + }, + "responses": { + "204": { + "description": "success" } } }, "delete": { "tags": [ - "Files" + "Collections" ], - "summary": "Delete a media file", - "description": "Remove the specified resource from storage.", - "operationId": "deleteFile", + "summary": "Delete a collection record", + "description": "Delete a record of a Collection.", + "operationId": "deleteRecord", "parameters": [ { - "name": "file_id", + "name": "collection_id", "in": "path", - "description": "ID of the file", + "description": "ID of collection", "required": true, "schema": { - "type": "integer" + "type": "string" + } + }, + { + "name": "record_id", + "in": "path", + "description": "ID of record in collection", + "required": true, + "schema": { + "type": "string" } } ], "responses": { "204": { "description": "success" - }, - "404": { - "$ref": "#/components/responses/404" } } - } - }, - "/files/{file_id}/contents": { - "get": { + }, + "patch": { "tags": [ - "Files" + "Collections" ], - "summary": "Get the contents of a file", - "description": "Display the specified resource.", - "operationId": "getFileContentsById", + "summary": "Partial update of a record", + "description": "Implements a partial update of a record in a Collection.", + "operationId": "patchRecord", "parameters": [ { - "name": "file_id", + "name": "collection_id", "in": "path", - "description": "ID of the file to return", + "description": "ID of collection ", "required": true, "schema": { - "type": "integer" + "type": "string" + } + }, + { + "name": "record_id", + "in": "path", + "description": "ID of the record ", + "required": true, + "schema": { + "type": "string" } } ], - "responses": { - "200": { - "description": "File stream", - "content": { - "application/octet-stream": { - "schema": { - "type": "string", - "format": "binary" - } + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/collectionsEditable" } } - }, - "404": { - "$ref": "#/components/responses/404" + } + }, + "responses": { + "200": { + "description": "success" } } } }, - "/groups": { + "/saved-searches/{saved_search_id}/charts": { "get": { "tags": [ - "Groups" + "SavedSearchCharts" ], - "summary": "Returns all groups that the user has access to", - "description": "Display a listing of the resource.", - "operationId": "getGroups", + "summary": "Returns all saved search charts that the user has access to", + "description": "Get a list of SavedSearchCharts.", + "operationId": "getSavedSearchCharts", "parameters": [ { - "$ref": "#/components/parameters/status" + "$ref": "#/components/parameters/filter" }, { - "$ref": "#/components/parameters/filter" + "name": "type", + "in": "query", + "description": "Only return saved searches by type", + "required": false, + "schema": { + "type": "string", + "enum": [ + "request", + "task", + "collection" + ] + } }, { "$ref": "#/components/parameters/order_by" @@ -539,7 +595,7 @@ ], "responses": { "200": { - "description": "list of groups", + "description": "list of saved search charts", "content": { "application/json": { "schema": { @@ -547,11 +603,16 @@ "data": { "type": "array", "items": { - "$ref": "#/components/schemas/groups" + "$ref": "#/components/schemas/SavedSearchChart" } }, "meta": { - "$ref": "#/components/schemas/metadata" + "type": "object", + "allOf": [ + { + "$ref": "#/components/schemas/metadata" + } + ] } }, "type": "object" @@ -561,19 +622,67 @@ } } }, + "put": { + "tags": [ + "SavedSearchCharts" + ], + "summary": "Update several saved search charts at once", + "description": "Batch update several SavedSearchCharts.", + "operationId": "batchUpdateSavedSearchCharts", + "parameters": [ + { + "name": "saved_search_id", + "in": "path", + "description": "ID of saved search to which these charts will be saved", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SavedSearchChart" + } + } + } + } + }, + "responses": { + "204": { + "description": "success" + } + } + }, "post": { "tags": [ - "Groups" + "SavedSearchCharts" + ], + "summary": "Save a new saved search chart", + "description": "Create a new SavedSearchChart.", + "operationId": "createSavedSearchChart", + "parameters": [ + { + "name": "saved_search_id", + "in": "path", + "description": "ID of saved search to which this chart will be saved", + "required": true, + "schema": { + "type": "string" + } + } ], - "summary": "Save a new group", - "description": "Store a newly created resource in storage.", - "operationId": "createGroup", "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/groupsEditable" + "$ref": "#/components/schemas/SavedSearchChartEditable" } } } @@ -584,67 +693,61 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/groups" + "$ref": "#/components/schemas/SavedSearchChart" } } } - }, - "422": { - "$ref": "#/components/responses/422" } } } }, - "/groups/{group_id}": { + "/saved-searches/charts/{chart_id}": { "get": { "tags": [ - "Groups" + "SavedSearchCharts" ], - "summary": "Get single group by ID", - "description": "Display the specified resource.", - "operationId": "getGroupById", + "summary": "Get single saved search chart by ID", + "description": "Get a single SavedSearchChart.", + "operationId": "getSavedSearchChartById", "parameters": [ { - "name": "group_id", + "name": "chart_id", "in": "path", - "description": "ID of group to return", + "description": "ID of chart to return", "required": true, "schema": { - "type": "integer" + "type": "string" } } ], "responses": { "200": { - "description": "Successfully found the group", + "description": "Successfully found the saved search chart", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/groups" + "$ref": "#/components/schemas/SavedSearchChart" } } } - }, - "404": { - "$ref": "#/components/responses/404" } } }, "put": { "tags": [ - "Groups" + "SavedSearchCharts" ], - "summary": "Update a group", - "description": "Update a user", - "operationId": "updateGroup", + "summary": "Update a saved search chart", + "description": "Update a SavedSearchChart.", + "operationId": "updateSavedSearchChart", "parameters": [ { - "name": "group_id", + "name": "chart_id", "in": "path", - "description": "ID of group to return", + "description": "ID of chart to return", "required": true, "schema": { - "type": "integer" + "type": "string" } } ], @@ -653,94 +756,75 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/groupsEditable" + "$ref": "#/components/schemas/SavedSearchChartEditable" } } } }, "responses": { - "204": { - "description": "success" - }, - "404": { - "$ref": "#/components/responses/404" + "200": { + "description": "success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SavedSearchChart" + } + } + } } } }, "delete": { "tags": [ - "Groups" + "SavedSearchCharts" ], - "summary": "Delete a group", - "description": "Delete a user", - "operationId": "deleteGroup", + "summary": "Delete a saved search chart", + "description": "Delete a SavedSearchChart.", + "operationId": "deleteSavedSearchChart", "parameters": [ { - "name": "group_id", + "name": "chart_id", "in": "path", - "description": "ID of group to return", + "description": "ID of chart to return", "required": true, "schema": { - "type": "integer" + "type": "string" } } ], "responses": { "204": { "description": "success" - }, - "404": { - "$ref": "#/components/responses/404" } } } }, - "/groups/{group_id}/users": { + "/saved-searches/charts/{chart_id}/fields": { "get": { "tags": [ - "Groups" + "SavedSearchCharts" ], - "summary": "Returns all users of a group", - "description": "Display the list of users in a group", - "operationId": "getGroupUsers", + "summary": "Get available chart fields for a Saved Search by ID", + "description": "Get available chart fields for a Saved Search.", + "operationId": "getSavedSearchFieldsById", "parameters": [ { - "name": "group_id", + "name": "chart_id", "in": "path", - "description": "ID of group", + "description": "ID of Saved Search to return", "required": true, "schema": { - "type": "integer" + "type": "string" } - }, - { - "$ref": "#/components/parameters/filter" - }, - { - "$ref": "#/components/parameters/order_direction" - }, - { - "$ref": "#/components/parameters/per_page" } ], "responses": { "200": { - "description": "list of members of a group", + "description": "Successfully found the saved search", "content": { "application/json": { "schema": { - "properties": { - "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/users" - } - }, - "meta": { - "$ref": "#/components/schemas/metadata" - } - }, - "type": "object" + "$ref": "#/components/schemas/SavedSearch" } } } @@ -748,52 +832,73 @@ } } }, - "/groups/{group_id}/groups": { - "get": { + "/saved-searches/reports": { + "post": { "tags": [ - "Groups" + "Reports" ], - "summary": "Returns all users of a group", - "description": "Display the list of groups in a group", - "operationId": "getGroupGroupss", + "summary": "Save a new report", + "operationId": "createReport", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReportEditable" + } + } + } + }, + "responses": { + "201": { + "description": "success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Report" + } + } + } + } + } + } + }, + "/saved-searches/reports/{reportId}": { + "put": { + "tags": [ + "SavedSearches" + ], + "summary": "Update a saved search", + "description": "Update a Report", + "operationId": "updateReport", "parameters": [ { - "name": "group_id", + "name": "reportId", "in": "path", - "description": "ID of group", + "description": "ID of report", "required": true, "schema": { - "type": "integer" + "type": "string" } - }, - { - "$ref": "#/components/parameters/filter" - }, - { - "$ref": "#/components/parameters/order_direction" - }, - { - "$ref": "#/components/parameters/per_page" } ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SavedSearchEditable" + } + } + } + }, "responses": { "200": { - "description": "list of members of a group", + "description": "success", "content": { "application/json": { "schema": { - "properties": { - "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/groups" - } - }, - "meta": { - "$ref": "#/components/schemas/metadata" - } - }, - "type": "object" + "$ref": "#/components/schemas/SavedSearch" } } } @@ -801,17 +906,44 @@ } } }, - "/group_members": { + "/saved-searches": { "get": { "tags": [ - "Group Members" + "SavedSearches" ], - "summary": "Returns all groups for a given member", - "description": "Display a listing of the resource.", - "operationId": "getGroupMembers", + "summary": "Returns all saved searches that the user has access to", + "description": "Get a list of SavedSearches.", + "operationId": "getSavedSearches", "parameters": [ { - "$ref": "#/components/parameters/member_id" + "$ref": "#/components/parameters/filter" + }, + { + "name": "type", + "in": "query", + "description": "Only return saved searches by type", + "required": false, + "schema": { + "type": "string", + "enum": [ + "request", + "task", + "collection" + ] + } + }, + { + "name": "subset", + "in": "query", + "description": "Only return saved searches that are yours or those that have been shared with you", + "required": false, + "schema": { + "type": "string", + "enum": [ + "mine", + "shared" + ] + } }, { "$ref": "#/components/parameters/order_by" @@ -821,11 +953,14 @@ }, { "$ref": "#/components/parameters/per_page" + }, + { + "$ref": "#/components/parameters/include" } ], "responses": { "200": { - "description": "list of group_members", + "description": "list of saved searches", "content": { "application/json": { "schema": { @@ -833,11 +968,16 @@ "data": { "type": "array", "items": { - "$ref": "#/components/schemas/groupMembers" + "$ref": "#/components/schemas/SavedSearch" } }, "meta": { - "$ref": "#/components/schemas/metadata" + "type": "object", + "allOf": [ + { + "$ref": "#/components/schemas/metadata" + } + ] } }, "type": "object" @@ -849,17 +989,17 @@ }, "post": { "tags": [ - "Group Members" + "SavedSearches" ], - "summary": "Save a new group member", - "description": "Store a newly created resource in storage.", - "operationId": "createGroupMember", + "summary": "Save a new saved search", + "description": "Create a new SavedSearch.", + "operationId": "createSavedSearch", "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/groupMembersEditable" + "$ref": "#/components/schemas/SavedSearchEditable" } } } @@ -870,7 +1010,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/createGroupMembers" + "$ref": "#/components/schemas/SavedSearch" } } } @@ -878,19 +1018,19 @@ } } }, - "/group_members/{group_member_id}": { + "/saved-searches/{savedSearchId}": { "get": { "tags": [ - "Group Members" + "SavedSearches" ], - "summary": "Get single group member by ID", - "description": "Display the specified resource.", - "operationId": "getGroupMemberById", + "summary": "Get single saved searches by ID", + "description": "Get a single SavedSearch.", + "operationId": "getSavedSearchById", "parameters": [ { - "name": "group_member_id", + "name": "savedSearchId", "in": "path", - "description": "ID of group members to return", + "description": "ID of saved search to return", "required": true, "schema": { "type": "string" @@ -899,97 +1039,126 @@ ], "responses": { "200": { - "description": "Successfully found the group members", + "description": "Successfully found the saved search", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/getGroupMembersById" + "$ref": "#/components/schemas/SavedSearch" } } } } } }, - "delete": { + "put": { "tags": [ - "Group Members" + "SavedSearches" ], - "summary": "Delete a group member", - "description": "Delete a group membership", - "operationId": "deleteGroupMember", + "summary": "Update a saved search", + "description": "Update a SavedSearch.", + "operationId": "updateSavedSearch", "parameters": [ { - "name": "group_member_id", + "name": "savedSearchId", "in": "path", - "description": "ID of group_members to return", + "description": "ID of saved search to return", "required": true, "schema": { "type": "string" } } ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SavedSearchEditable" + } + } + } + }, "responses": { - "204": { - "description": "success" + "200": { + "description": "success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SavedSearch" + } + } + } } } } }, - "/group_members_available": { + "/saved-searches/{savedSearchId}/columns": { "get": { "tags": [ - "Group Members" + "SavedSearches" ], - "summary": "Returns all groups available for a given member", - "description": "Display a listing of groups available", - "operationId": "getGroupMembersAvailable", + "summary": "Returns all columns associated with a Saved Search", + "description": "Display a listing of columns.", + "operationId": "getSavedSearchColumns", "parameters": [ { - "name": "member_id", + "name": "savedSearchId", "in": "path", - "description": "ID of group member to return", + "description": "ID of saved search to return", "required": true, "schema": { "type": "string" } }, { - "name": "member_type", - "in": "path", - "description": "type of group member to return", - "required": true, + "name": "include", + "in": "query", + "description": "Include specific categories. Comma separated list.", "schema": { - "type": "string" + "type": "array", + "items": { + "type": "string", + "enum": [ + "current", + "default", + "available", + "data" + ] + }, + "uniqueItems": false } - }, - { - "$ref": "#/components/parameters/filter" - }, - { - "$ref": "#/components/parameters/order_by" - }, - { - "$ref": "#/components/parameters/order_direction" - }, - { - "$ref": "#/components/parameters/per_page" } ], "responses": { "200": { - "description": "list of groups available to be assigned as member", + "description": "Categorized list of columns", "content": { "application/json": { "schema": { "properties": { - "data": { + "current": { "type": "array", "items": { - "$ref": "#/components/schemas/availableGroupMembers" + "$ref": "#/components/schemas/columns" } }, - "meta": { - "$ref": "#/components/schemas/metadata" + "default": { + "type": "array", + "items": { + "$ref": "#/components/schemas/columns" + } + }, + "available": { + "type": "array", + "items": { + "$ref": "#/components/schemas/columns" + } + }, + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/columns" + } } }, "type": "object" @@ -1000,19 +1169,19 @@ } } }, - "/user_members_available": { + "/saved-searches/{savedSearchId}/users": { "get": { "tags": [ - "Group Members" + "Users" ], - "summary": "Returns all users available for a given group", - "description": "Display a listing of users available", - "operationId": "getUserMembersAvailable", + "summary": "Returns all users", + "description": "Display a listing of the resource.", + "operationId": "getSavedSearchUsers", "parameters": [ { - "name": "group_id", + "name": "savedSearchId", "in": "path", - "description": "ID of group to return", + "description": "ID of saved search to return", "required": true, "schema": { "type": "string" @@ -1021,7 +1190,7 @@ { "name": "filter", "in": "query", - "description": "Filter results by string. Searches Name. Can be a substring.", + "description": "Filter results by string. Searches First Name, Last Name, Email and Username.", "schema": { "type": "string" } @@ -1034,11 +1203,14 @@ }, { "$ref": "#/components/parameters/per_page" + }, + { + "$ref": "#/components/parameters/include" } ], "responses": { "200": { - "description": "list of users available to be assigned as member", + "description": "list of users", "content": { "application/json": { "schema": { @@ -1061,27 +1233,15 @@ } } }, - "/notifications": { + "/saved-searches/{savedSearchId}/groups": { "get": { "tags": [ - "Notifications" + "Groups" ], - "summary": "Returns all notifications that the user has access to", + "summary": "Returns all groups that the user has access to", "description": "Display a listing of the resource.", - "operationId": "getNotifications", + "operationId": "getSavedSearchGroups", "parameters": [ - { - "name": "status", - "in": "query", - "description": "Only return notifications by status (unread, all, etc.)", - "required": false, - "schema": { - "type": "string" - } - }, - { - "$ref": "#/components/parameters/filter" - }, { "$ref": "#/components/parameters/order_by" }, @@ -1097,7 +1257,7 @@ ], "responses": { "200": { - "description": "list of notifications", + "description": "list of groups", "content": { "application/json": { "schema": { @@ -1105,10 +1265,136 @@ "data": { "type": "array", "items": { - "$ref": "#/components/schemas/Notification" + "$ref": "#/components/schemas/groups" } }, - "meta": {} + "meta": { + "$ref": "#/components/schemas/metadata" + } + }, + "type": "object" + } + } + } + } + } + } + }, + "/saved-searches/{saved_search_id}": { + "delete": { + "tags": [ + "SavedSearches" + ], + "summary": "Delete a saved search", + "description": "Delete a SavedSearch.", + "operationId": "deleteSavedSearch", + "parameters": [ + { + "name": "saved_search_id", + "in": "path", + "description": "ID of saved search to return", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "success" + } + } + } + }, + "/saved-searches/icons": { + "get": { + "tags": [ + "SavedSearches" + ], + "summary": "Returns all icons for saved searches", + "description": "Get a list of icons available for SavedSearches.", + "operationId": "getSavedSearchesIcons", + "parameters": [ + { + "$ref": "#/components/parameters/per_page" + } + ], + "responses": { + "200": { + "description": "list of icons for saved searches", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SavedSearchIcon" + } + }, + "meta": { + "type": "object", + "allOf": [ + { + "$ref": "#/components/schemas/metadata" + } + ] + } + }, + "type": "object" + } + } + } + } + } + } + }, + "/version_histories": { + "get": { + "tags": [ + "Version History" + ], + "summary": "Return all version History according to the model", + "description": "Get the list of records of Version History", + "operationId": "getVersionHistories", + "parameters": [ + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/order_by" + }, + { + "$ref": "#/components/parameters/order_direction" + }, + { + "$ref": "#/components/parameters/per_page" + }, + { + "$ref": "#/components/parameters/include" + } + ], + "responses": { + "200": { + "description": "list of Version History", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/versionHistory" + } + }, + "meta": { + "type": "object", + "allOf": [ + { + "$ref": "#/components/schemas/metadata" + } + ] + } }, "type": "object" } @@ -1119,17 +1405,17 @@ }, "post": { "tags": [ - "Notifications" + "Version History" ], - "summary": "Save a new notifications", - "description": "Store a newly created resource in storage.", - "operationId": "createNotification", + "summary": "Save a new Version History", + "description": "Create a new Version History.", + "operationId": "createVersion", "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/NotificationEditable" + "$ref": "#/components/schemas/versionHistoryEditable" } } } @@ -1140,7 +1426,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Notification" + "$ref": "#/components/schemas/versionHistory" } } } @@ -1148,19 +1434,19 @@ } } }, - "/notifications/{notification_id}": { + "/version_histories/{version_history_id}": { "get": { "tags": [ - "Notifications" + "Version History" ], - "summary": "Get single notification by ID", - "description": "Display the specified resource.", - "operationId": "getNotificationById", + "summary": "Get single Version History by ID", + "description": "Get a single Version History.", + "operationId": "getVersionHistoryById", "parameters": [ { - "name": "notification_id", + "name": "version_history_id", "in": "path", - "description": "ID of notification to return", + "description": "ID of Version History to return", "required": true, "schema": { "type": "string" @@ -1169,11 +1455,11 @@ ], "responses": { "200": { - "description": "Successfully found the notification", + "description": "Successfully found the Version History", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Notification" + "$ref": "#/components/schemas/versionHistory" } } } @@ -1182,16 +1468,16 @@ }, "put": { "tags": [ - "Notifications" + "Version History" ], - "summary": "Update a notification", - "description": "Update a user", - "operationId": "updateNotification", + "summary": "Update a Version History", + "description": "Update a Version History.", + "operationId": "updateVersion", "parameters": [ { - "name": "notification_id", + "name": "version_history_id", "in": "path", - "description": "ID of notification to return", + "description": "ID of Version History to return", "required": true, "schema": { "type": "string" @@ -1203,29 +1489,36 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/NotificationEditable" + "$ref": "#/components/schemas/versionHistoryEditable" } } } }, "responses": { "204": { - "description": "success" + "description": "success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/versionHistory" + } + } + } } } }, "delete": { "tags": [ - "Notifications" + "Version History" ], - "summary": "Delete a notification", - "description": "Delete a notification", - "operationId": "deleteNotification", + "summary": "Delete a Version History", + "description": "Delete a Version History.", + "operationId": "deleteVersion", "parameters": [ { - "name": "notification_id", + "name": "version_history_id", "in": "path", - "description": "ID of notification to return", + "description": "ID of Version History to return", "required": true, "schema": { "type": "string" @@ -1234,113 +1527,68 @@ ], "responses": { "204": { - "description": "success" - } - } - } - }, - "/read_notifications": { - "put": { - "tags": [ - "Notifications" - ], - "summary": "Mark notifications as read by the user", - "description": "Update notification as read", - "operationId": "markNotificationAsRead", - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "message_ids": { - "description": "list of message ids that will be marked as read", - "type": "array", - "items": { - "type": "string" - } - }, - "routes": { - "description": "all messages that has an url that is in this list will be marked as read", - "type": "array", - "items": { - "type": "string" - } - } - }, - "type": "object" + "description": "success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/versionHistory" + } } } } - }, - "responses": { - "201": { - "description": "success" - } } } }, - "/unread_notifications": { - "put": { + "/version_histories/clone": { + "post": { "tags": [ - "Notifications" + "Version History" ], - "summary": "Mark notifications as unread by the user", - "description": "Update notifications as unread", - "operationId": "markNotificationAsUnread", + "summary": "Clone a new Version History", + "description": "Clone a new Version History.", + "operationId": "cloneVersion", "requestBody": { "required": true, "content": { "application/json": { "schema": { - "properties": { - "message_ids": { - "description": "list of message ids that will be marked as read", - "type": "array", - "items": { - "type": "string" - } - }, - "routes": { - "description": "all messages that has an url that is in this list will be marked as read", - "type": "array", - "items": { - "type": "string" - } - } - }, - "type": "object" + "$ref": "#/components/schemas/versionHistoryEditable" } } } }, "responses": { "201": { - "description": "success" + "description": "success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/versionHistory" + } + } + } } } } }, - "/read_all_notifications": { - "put": { + "/customize-ui": { + "post": { "tags": [ - "Notifications" + "CssSettings" ], - "summary": "Mark notifications as read by id and type", - "description": "Update all notification as read.", - "operationId": "markAllAsRead", + "summary": "Create or update a new setting", + "description": "Create a new Settings css-override", + "operationId": "updateCssSetting", "requestBody": { "required": true, "content": { "application/json": { "schema": { "properties": { - "id": { - "description": "Polymorphic relation id", - "type": "integer" + "variables": { + "type": "string" }, - "type": { - "description": "Polymorphic relation type", + "sansSerifFont": { "type": "string" } }, @@ -1351,73 +1599,29 @@ }, "responses": { "201": { - "description": "success" + "description": "success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/settings" + } + } + } } } } }, - "/permissions": { - "put": { + "/environment_variables": { + "get": { "tags": [ - "Permissions" + "Environment Variables" ], - "summary": "Update the permissions of a user", - "description": "Update permissions", - "operationId": "51b3555fb753f44324bf5c3880e01454", - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "user_id": { - "description": "ID of the user whose permissions are configured", - "type": "integer" - }, - "group_id": { - "description": "ID of the group whose permissions are configured", - "type": "integer" - }, - "is_administrator": { - "description": "Whether the user should have Super Admin privileges", - "type": "boolean", - "default": false - }, - "permission_names": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "type": "object" - } - } - } - }, - "responses": { - "204": { - "description": "success" - } - } - } - }, - "/process_categories": { - "get": { - "tags": [ - "Process Categories" - ], - "summary": "Returns all processes categories that the user has access to", - "description": "Display a listing of the Process Categories.", - "operationId": "getProcessCategories", + "summary": "Returns all environmentVariables that the user has access to. For security, values are not included.", + "description": "Fetch a collection of variables based on paged request and filter if provided", + "operationId": "getEnvironmentVariables", "parameters": [ { - "name": "filter", - "in": "query", - "description": "Filter results by string. Searches Name and Status. All fields must match exactly.", - "schema": { - "type": "string" - } + "$ref": "#/components/parameters/filter" }, { "$ref": "#/components/parameters/order_by" @@ -1427,11 +1631,14 @@ }, { "$ref": "#/components/parameters/per_page" + }, + { + "$ref": "#/components/parameters/include" } ], "responses": { "200": { - "description": "list of processes categories", + "description": "list of environmentVariables", "content": { "application/json": { "schema": { @@ -1439,7 +1646,7 @@ "data": { "type": "array", "items": { - "$ref": "#/components/schemas/ProcessCategory" + "$ref": "#/components/schemas/EnvironmentVariable" } }, "meta": { @@ -1455,17 +1662,17 @@ }, "post": { "tags": [ - "Process Categories" + "Environment Variables" ], - "summary": "Save a new process Category", - "description": "Store a newly created Process Category in storage", - "operationId": "createProcessCategory", + "summary": "Create a new environment variable", + "description": "Creates a new global Environment Variable in the system", + "operationId": "createEnvironmentVariable", "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ProcessCategoryEditable" + "$ref": "#/components/schemas/EnvironmentVariableEditable" } } } @@ -1476,7 +1683,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ProcessCategory" + "$ref": "#/components/schemas/EnvironmentVariable" } } } @@ -1484,19 +1691,19 @@ } } }, - "/process_categories/{process_category_id}": { + "/environment_variables/{environment_variable_id}": { "get": { "tags": [ - "Process Categories" + "Environment Variables" ], - "summary": "Get single process category by ID", - "description": "Display the specified Process category.", - "operationId": "getProcessCategoryById", + "summary": "Get an environment variable by id. For security, the value is not included.", + "description": "Return an environment variable instance\nUsing implicit model binding, will automatically return 404 if variable now found", + "operationId": "getEnvironmentVariableById", "parameters": [ { - "name": "process_category_id", + "name": "environment_variable_id", "in": "path", - "description": "ID of process category to return", + "description": "ID of environment_variables to return", "required": true, "schema": { "type": "integer" @@ -1504,12 +1711,12 @@ } ], "responses": { - "200": { - "description": "Successfully found the process", + "201": { + "description": "success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ProcessCategory" + "$ref": "#/components/schemas/EnvironmentVariable" } } } @@ -1518,16 +1725,16 @@ }, "put": { "tags": [ - "Process Categories" + "Environment Variables" ], - "summary": "Update a process Category", - "description": "Updates the current element", - "operationId": "updateProcessCategory", + "summary": "Update an environment variable", + "description": "Update an environment variable", + "operationId": "updateEnvironmentVariable", "parameters": [ { - "name": "process_category_id", + "name": "environment_variable_id", "in": "path", - "description": "ID of process category to return", + "description": "ID of environment variables to update", "required": true, "schema": { "type": "integer" @@ -1539,7 +1746,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ProcessCategoryEditable" + "$ref": "#/components/schemas/EnvironmentVariableEditable" } } } @@ -1550,7 +1757,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ProcessCategory" + "$ref": "#/components/schemas/EnvironmentVariable" } } } @@ -1559,16 +1766,15 @@ }, "delete": { "tags": [ - "Process Categories" + "Environment Variables" ], - "summary": "Delete a process category", - "description": "Remove the specified resource from storage.", - "operationId": "deleteProcessCategory", + "summary": "Delete an environment variable", + "operationId": "deleteEnvironmentVariable", "parameters": [ { - "name": "process_category_id", + "name": "environment_variable_id", "in": "path", - "description": "ID of process category to return", + "description": "ID of environment_variables to return", "required": true, "schema": { "type": "integer" @@ -1576,27 +1782,20 @@ } ], "responses": { - "204": { - "description": "success", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Process" - } - } - } + "200": { + "description": "success" } } } }, - "/processes": { + "/files": { "get": { "tags": [ - "Processes" + "Files" ], - "summary": "Returns all processes that the user has access to", - "description": "Get list Process", - "operationId": "getProcesses", + "summary": "Returns the list of files", + "description": "Display a listing of the resource.", + "operationId": "getFiles", "parameters": [ { "$ref": "#/components/parameters/filter" @@ -1609,26 +1808,11 @@ }, { "$ref": "#/components/parameters/per_page" - }, - { - "$ref": "#/components/parameters/status" - }, - { - "$ref": "#/components/parameters/include" - }, - { - "name": "simplified_data_for_selector", - "in": "query", - "description": "Comma separated list of fields to include in the response", - "schema": { - "type": "string", - "default": "" - } } ], "responses": { "200": { - "description": "list of processes", + "description": "list of files", "content": { "application/json": { "schema": { @@ -1636,7 +1820,7 @@ "data": { "type": "array", "items": { - "$ref": "#/components/schemas/Process" + "$ref": "#/components/schemas/media" } }, "meta": { @@ -1652,28 +1836,87 @@ }, "post": { "tags": [ - "Processes" + "Files" ], - "summary": "Save a new process", + "summary": "Save a new media file. Note: To upload files to a request, use createRequestFile in the RequestFile API", "description": "Store a newly created resource in storage.", - "operationId": "createProcess", + "operationId": "createFile", + "parameters": [ + { + "name": "model_id", + "in": "query", + "description": "ID of the model to which the file will be associated", + "required": true, + "schema": { + "type": "integer" + } + }, + { + "name": "model", + "in": "query", + "description": "Full namespaced class of the model to associate", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "data_name", + "in": "query", + "description": "Name of the variable used in a request", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "collection", + "in": "query", + "description": "Media collection name. For requests, use 'default'", + "required": false, + "schema": { + "type": "string" + } + } + ], "requestBody": { "required": true, "content": { - "application/json": { + "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/ProcessEditable" + "properties": { + "file": { + "description": "save a new media file", + "type": "string", + "format": "binary" + } + }, + "type": "object" } } } }, "responses": { - "201": { + "200": { "description": "success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Process" + "properties": { + "id": { + "type": "string" + }, + "model_id": { + "type": "string" + }, + "file_name": { + "type": "string" + }, + "mime_type": { + "type": "string" + } + }, + "type": "object" } } } @@ -1681,48 +1924,1041 @@ } } }, - "/processes/{processId}": { + "/files/{file_id}": { "get": { "tags": [ - "Processes" + "Files" ], - "summary": "Get single process by ID", - "description": "Display the specified resource.", - "operationId": "getProcessById", + "summary": "Get the metadata of a file. To actually fetch the file see Get File Contents", + "description": "Get a single media file.", + "operationId": "getFileById", "parameters": [ { - "name": "processId", + "name": "file_id", "in": "path", - "description": "ID of process to return", + "description": "ID of the file to return", "required": true, "schema": { "type": "integer" } - }, - { - "$ref": "#/components/parameters/include" } ], "responses": { "200": { - "description": "Successfully found the process", + "description": "Successfully found the file", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/media" + } + } + } + }, + "404": { + "$ref": "#/components/responses/404" + } + } + }, + "delete": { + "tags": [ + "Files" + ], + "summary": "Delete a media file", + "description": "Remove the specified resource from storage.", + "operationId": "deleteFile", + "parameters": [ + { + "name": "file_id", + "in": "path", + "description": "ID of the file", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "204": { + "description": "success" + }, + "404": { + "$ref": "#/components/responses/404" + } + } + } + }, + "/files/{file_id}/contents": { + "get": { + "tags": [ + "Files" + ], + "summary": "Get the contents of a file", + "description": "Display the specified resource.", + "operationId": "getFileContentsById", + "parameters": [ + { + "name": "file_id", + "in": "path", + "description": "ID of the file to return", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "200": { + "description": "File stream", + "content": { + "application/octet-stream": { + "schema": { + "type": "string", + "format": "binary" + } + } + } + }, + "404": { + "$ref": "#/components/responses/404" + } + } + } + }, + "/groups": { + "get": { + "tags": [ + "Groups" + ], + "summary": "Returns all groups that the user has access to", + "description": "Display a listing of the resource.", + "operationId": "getGroups", + "parameters": [ + { + "$ref": "#/components/parameters/status" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/order_by" + }, + { + "$ref": "#/components/parameters/order_direction" + }, + { + "$ref": "#/components/parameters/per_page" + }, + { + "$ref": "#/components/parameters/include" + } + ], + "responses": { + "200": { + "description": "list of groups", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/groups" + } + }, + "meta": { + "$ref": "#/components/schemas/metadata" + } + }, + "type": "object" + } + } + } + } + } + }, + "post": { + "tags": [ + "Groups" + ], + "summary": "Save a new group", + "description": "Store a newly created resource in storage.", + "operationId": "createGroup", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/groupsEditable" + } + } + } + }, + "responses": { + "201": { + "description": "success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/groups" + } + } + } + }, + "422": { + "$ref": "#/components/responses/422" + } + } + } + }, + "/groups/{group_id}": { + "get": { + "tags": [ + "Groups" + ], + "summary": "Get single group by ID", + "description": "Display the specified resource.", + "operationId": "getGroupById", + "parameters": [ + { + "name": "group_id", + "in": "path", + "description": "ID of group to return", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "200": { + "description": "Successfully found the group", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/groups" + } + } + } + }, + "404": { + "$ref": "#/components/responses/404" + } + } + }, + "put": { + "tags": [ + "Groups" + ], + "summary": "Update a group", + "description": "Update a user", + "operationId": "updateGroup", + "parameters": [ + { + "name": "group_id", + "in": "path", + "description": "ID of group to return", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/groupsEditable" + } + } + } + }, + "responses": { + "204": { + "description": "success" + }, + "404": { + "$ref": "#/components/responses/404" + } + } + }, + "delete": { + "tags": [ + "Groups" + ], + "summary": "Delete a group", + "description": "Delete a user", + "operationId": "deleteGroup", + "parameters": [ + { + "name": "group_id", + "in": "path", + "description": "ID of group to return", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "204": { + "description": "success" + }, + "404": { + "$ref": "#/components/responses/404" + } + } + } + }, + "/groups/{group_id}/users": { + "get": { + "tags": [ + "Groups" + ], + "summary": "Returns all users of a group", + "description": "Display the list of users in a group", + "operationId": "getGroupUsers", + "parameters": [ + { + "name": "group_id", + "in": "path", + "description": "ID of group", + "required": true, + "schema": { + "type": "integer" + } + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/order_direction" + }, + { + "$ref": "#/components/parameters/per_page" + } + ], + "responses": { + "200": { + "description": "list of members of a group", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/users" + } + }, + "meta": { + "$ref": "#/components/schemas/metadata" + } + }, + "type": "object" + } + } + } + } + } + } + }, + "/groups/{group_id}/groups": { + "get": { + "tags": [ + "Groups" + ], + "summary": "Returns all users of a group", + "description": "Display the list of groups in a group", + "operationId": "getGroupGroupss", + "parameters": [ + { + "name": "group_id", + "in": "path", + "description": "ID of group", + "required": true, + "schema": { + "type": "integer" + } + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/order_direction" + }, + { + "$ref": "#/components/parameters/per_page" + } + ], + "responses": { + "200": { + "description": "list of members of a group", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/groups" + } + }, + "meta": { + "$ref": "#/components/schemas/metadata" + } + }, + "type": "object" + } + } + } + } + } + } + }, + "/group_members": { + "get": { + "tags": [ + "Group Members" + ], + "summary": "Returns all groups for a given member", + "description": "Display a listing of the resource.", + "operationId": "getGroupMembers", + "parameters": [ + { + "$ref": "#/components/parameters/member_id" + }, + { + "$ref": "#/components/parameters/order_by" + }, + { + "$ref": "#/components/parameters/order_direction" + }, + { + "$ref": "#/components/parameters/per_page" + } + ], + "responses": { + "200": { + "description": "list of group_members", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/groupMembers" + } + }, + "meta": { + "$ref": "#/components/schemas/metadata" + } + }, + "type": "object" + } + } + } + } + } + }, + "post": { + "tags": [ + "Group Members" + ], + "summary": "Save a new group member", + "description": "Store a newly created resource in storage.", + "operationId": "createGroupMember", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/groupMembersEditable" + } + } + } + }, + "responses": { + "201": { + "description": "success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/createGroupMembers" + } + } + } + } + } + } + }, + "/group_members/{group_member_id}": { + "get": { + "tags": [ + "Group Members" + ], + "summary": "Get single group member by ID", + "description": "Display the specified resource.", + "operationId": "getGroupMemberById", + "parameters": [ + { + "name": "group_member_id", + "in": "path", + "description": "ID of group members to return", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successfully found the group members", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/getGroupMembersById" + } + } + } + } + } + }, + "delete": { + "tags": [ + "Group Members" + ], + "summary": "Delete a group member", + "description": "Delete a group membership", + "operationId": "deleteGroupMember", + "parameters": [ + { + "name": "group_member_id", + "in": "path", + "description": "ID of group_members to return", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "success" + } + } + } + }, + "/group_members_available": { + "get": { + "tags": [ + "Group Members" + ], + "summary": "Returns all groups available for a given member", + "description": "Display a listing of groups available", + "operationId": "getGroupMembersAvailable", + "parameters": [ + { + "name": "member_id", + "in": "path", + "description": "ID of group member to return", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "member_type", + "in": "path", + "description": "type of group member to return", + "required": true, + "schema": { + "type": "string" + } + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/order_by" + }, + { + "$ref": "#/components/parameters/order_direction" + }, + { + "$ref": "#/components/parameters/per_page" + } + ], + "responses": { + "200": { + "description": "list of groups available to be assigned as member", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/availableGroupMembers" + } + }, + "meta": { + "$ref": "#/components/schemas/metadata" + } + }, + "type": "object" + } + } + } + } + } + } + }, + "/user_members_available": { + "get": { + "tags": [ + "Group Members" + ], + "summary": "Returns all users available for a given group", + "description": "Display a listing of users available", + "operationId": "getUserMembersAvailable", + "parameters": [ + { + "name": "group_id", + "in": "path", + "description": "ID of group to return", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "filter", + "in": "query", + "description": "Filter results by string. Searches Name. Can be a substring.", + "schema": { + "type": "string" + } + }, + { + "$ref": "#/components/parameters/order_by" + }, + { + "$ref": "#/components/parameters/order_direction" + }, + { + "$ref": "#/components/parameters/per_page" + } + ], + "responses": { + "200": { + "description": "list of users available to be assigned as member", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/users" + } + }, + "meta": { + "$ref": "#/components/schemas/metadata" + } + }, + "type": "object" + } + } + } + } + } + } + }, + "/notifications": { + "get": { + "tags": [ + "Notifications" + ], + "summary": "Returns all notifications that the user has access to", + "description": "Display a listing of the resource.", + "operationId": "getNotifications", + "parameters": [ + { + "name": "status", + "in": "query", + "description": "Only return notifications by status (unread, all, etc.)", + "required": false, + "schema": { + "type": "string" + } + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/order_by" + }, + { + "$ref": "#/components/parameters/order_direction" + }, + { + "$ref": "#/components/parameters/per_page" + }, + { + "$ref": "#/components/parameters/include" + } + ], + "responses": { + "200": { + "description": "list of notifications", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Notification" + } + }, + "meta": {} + }, + "type": "object" + } + } + } + } + } + }, + "post": { + "tags": [ + "Notifications" + ], + "summary": "Save a new notifications", + "description": "Store a newly created resource in storage.", + "operationId": "createNotification", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotificationEditable" + } + } + } + }, + "responses": { + "201": { + "description": "success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Process" + "$ref": "#/components/schemas/Notification" + } + } + } + } + } + } + }, + "/notifications/{notification_id}": { + "get": { + "tags": [ + "Notifications" + ], + "summary": "Get single notification by ID", + "description": "Display the specified resource.", + "operationId": "getNotificationById", + "parameters": [ + { + "name": "notification_id", + "in": "path", + "description": "ID of notification to return", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successfully found the notification", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Notification" } } } - }, + } + } + }, + "put": { + "tags": [ + "Notifications" + ], + "summary": "Update a notification", + "description": "Update a user", + "operationId": "updateNotification", + "parameters": [ + { + "name": "notification_id", + "in": "path", + "description": "ID of notification to return", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotificationEditable" + } + } + } + }, + "responses": { + "204": { + "description": "success" + } + } + }, + "delete": { + "tags": [ + "Notifications" + ], + "summary": "Delete a notification", + "description": "Delete a notification", + "operationId": "deleteNotification", + "parameters": [ + { + "name": "notification_id", + "in": "path", + "description": "ID of notification to return", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "success" + } + } + } + }, + "/read_notifications": { + "put": { + "tags": [ + "Notifications" + ], + "summary": "Mark notifications as read by the user", + "description": "Update notification as read", + "operationId": "markNotificationAsRead", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "message_ids": { + "description": "list of message ids that will be marked as read", + "type": "array", + "items": { + "type": "string" + } + }, + "routes": { + "description": "all messages that has an url that is in this list will be marked as read", + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": "object" + } + } + } + }, + "responses": { + "201": { + "description": "success" + } + } + } + }, + "/unread_notifications": { + "put": { + "tags": [ + "Notifications" + ], + "summary": "Mark notifications as unread by the user", + "description": "Update notifications as unread", + "operationId": "markNotificationAsUnread", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "message_ids": { + "description": "list of message ids that will be marked as read", + "type": "array", + "items": { + "type": "string" + } + }, + "routes": { + "description": "all messages that has an url that is in this list will be marked as read", + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": "object" + } + } + } + }, + "responses": { + "201": { + "description": "success" + } + } + } + }, + "/read_all_notifications": { + "put": { + "tags": [ + "Notifications" + ], + "summary": "Mark notifications as read by id and type", + "description": "Update all notification as read.", + "operationId": "markAllAsRead", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "id": { + "description": "Polymorphic relation id", + "type": "integer" + }, + "type": { + "description": "Polymorphic relation type", + "type": "string" + } + }, + "type": "object" + } + } + } + }, + "responses": { + "201": { + "description": "success" + } + } + } + }, + "/permissions": { + "put": { + "tags": [ + "Permissions" + ], + "summary": "Update the permissions of a user", + "description": "Update permissions", + "operationId": "51b3555fb753f44324bf5c3880e01454", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "user_id": { + "description": "ID of the user whose permissions are configured", + "type": "integer" + }, + "group_id": { + "description": "ID of the group whose permissions are configured", + "type": "integer" + }, + "is_administrator": { + "description": "Whether the user should have Super Admin privileges", + "type": "boolean", + "default": false + }, + "permission_names": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": "object" + } + } + } + }, + "responses": { "204": { - "description": "Process not found", + "description": "success" + } + } + } + }, + "/process_categories": { + "get": { + "tags": [ + "Process Categories" + ], + "summary": "Returns all processes categories that the user has access to", + "description": "Display a listing of the Process Categories.", + "operationId": "getProcessCategories", + "parameters": [ + { + "name": "filter", + "in": "query", + "description": "Filter results by string. Searches Name and Status. All fields must match exactly.", + "schema": { + "type": "string" + } + }, + { + "$ref": "#/components/parameters/order_by" + }, + { + "$ref": "#/components/parameters/order_direction" + }, + { + "$ref": "#/components/parameters/per_page" + } + ], + "responses": { + "200": { + "description": "list of processes categories", "content": { "application/json": { "schema": { "properties": { - "message": { - "type": "string", - "example": "The requested process was not found" + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ProcessCategory" + } + }, + "meta": { + "type": "object" } }, "type": "object" @@ -1732,132 +2968,81 @@ } } }, - "put": { + "post": { "tags": [ - "Processes" - ], - "summary": "Update a process", - "description": "Updates the current element.", - "operationId": "updateProcess", - "parameters": [ - { - "name": "processId", - "in": "path", - "description": "ID of process to return", - "required": true, - "schema": { - "type": "integer" - } - } + "Process Categories" ], + "summary": "Save a new process Category", + "description": "Store a newly created Process Category in storage", + "operationId": "createProcessCategory", "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ProcessEditable" + "$ref": "#/components/schemas/ProcessCategoryEditable" } } } }, "responses": { - "200": { + "201": { "description": "success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Process" + "$ref": "#/components/schemas/ProcessCategory" } } } } } - }, - "delete": { - "tags": [ - "Processes" - ], - "summary": "Delete a process", - "description": "Remove the specified resource from storage.", - "operationId": "deleteProcess", - "parameters": [ - { - "name": "processId", - "in": "path", - "description": "ID of process to return", - "required": true, - "schema": { - "type": "integer" - } - } - ], - "responses": { - "204": { - "description": "success" - } - } } }, - "/processes/{processId}/start_events": { + "/process_categories/{process_category_id}": { "get": { "tags": [ - "Processes" + "Process Categories" ], - "summary": "Get start events of a process by Id", - "description": "Display the specified resource.", - "operationId": "getStartEventsProcessById", + "summary": "Get single process category by ID", + "description": "Display the specified Process category.", + "operationId": "getProcessCategoryById", "parameters": [ { - "name": "processId", + "name": "process_category_id", "in": "path", - "description": "ID of process to return", + "description": "ID of process category to return", "required": true, "schema": { "type": "integer" } - }, - { - "$ref": "#/components/parameters/include" } ], "responses": { "200": { - "description": "Successfully found the start events process", + "description": "Successfully found the process", "content": { "application/json": { "schema": { - "properties": { - "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ProcessStartEvents" - } - }, - "meta": { - "$ref": "#/components/schemas/metadata" - } - }, - "type": "object" + "$ref": "#/components/schemas/ProcessCategory" } } } } } - } - }, - "/processes/{processId}/draft": { + }, "put": { "tags": [ - "Processes" + "Process Categories" ], - "summary": "Update a draft process", - "description": "Update draft process.", - "operationId": "updateDraftProcess", + "summary": "Update a process Category", + "description": "Updates the current element", + "operationId": "updateProcessCategory", "parameters": [ { - "name": "processId", + "name": "process_category_id", "in": "path", - "description": "ID of process to return", + "description": "ID of process category to return", "required": true, "schema": { "type": "integer" @@ -1869,13 +3054,44 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ProcessEditable" + "$ref": "#/components/schemas/ProcessCategoryEditable" } } } }, "responses": { "200": { + "description": "success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProcessCategory" + } + } + } + } + } + }, + "delete": { + "tags": [ + "Process Categories" + ], + "summary": "Delete a process category", + "description": "Remove the specified resource from storage.", + "operationId": "deleteProcessCategory", + "parameters": [ + { + "name": "process_category_id", + "in": "path", + "description": "ID of process category to return", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "204": { "description": "success", "content": { "application/json": { @@ -1888,14 +3104,14 @@ } } }, - "/start_processes": { + "/processes": { "get": { "tags": [ "Processes" ], - "summary": "Returns the list of processes that the user can start", - "description": "Returns the list of processes that the user can start.", - "operationId": "startProcesses", + "summary": "Returns all processes that the user has access to", + "description": "Get list Process", + "operationId": "getProcesses", "parameters": [ { "$ref": "#/components/parameters/filter" @@ -1909,37 +3125,70 @@ { "$ref": "#/components/parameters/per_page" }, + { + "$ref": "#/components/parameters/status" + }, { "$ref": "#/components/parameters/include" }, { - "name": "without_event_definitions", - "in": "path", - "description": "If true return only processes that haven't start event definitions", - "required": false, + "name": "simplified_data_for_selector", + "in": "query", + "description": "Comma separated list of fields to include in the response", "schema": { - "type": "boolean" + "type": "string", + "default": "" + } + } + ], + "responses": { + "200": { + "description": "list of processes", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Process" + } + }, + "meta": { + "$ref": "#/components/schemas/metadata" + } + }, + "type": "object" + } + } } } + } + }, + "post": { + "tags": [ + "Processes" ], + "summary": "Save a new process", + "description": "Store a newly created resource in storage.", + "operationId": "createProcess", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProcessEditable" + } + } + } + }, "responses": { - "200": { - "description": "list of processes that the user can start", + "201": { + "description": "success", "content": { "application/json": { "schema": { - "properties": { - "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ProcessWithStartEvents" - } - }, - "meta": { - "$ref": "#/components/schemas/metadata" - } - }, - "type": "object" + "$ref": "#/components/schemas/Process" } } } @@ -1947,14 +3196,14 @@ } } }, - "/processes/{processId}/restore": { - "put": { + "/processes/{processId}": { + "get": { "tags": [ "Processes" ], - "summary": "Restore an inactive process", - "description": "Reverses the soft delete of the element.", - "operationId": "restoreProcess", + "summary": "Get single process by ID", + "description": "Display the specified resource.", + "operationId": "getProcessById", "parameters": [ { "name": "processId", @@ -1964,11 +3213,14 @@ "schema": { "type": "integer" } + }, + { + "$ref": "#/components/parameters/include" } ], "responses": { "200": { - "description": "success", + "description": "Successfully found the process", "content": { "application/json": { "schema": { @@ -1978,67 +3230,31 @@ } } } - } - }, - "/processes/{processId}/export": { - "post": { + }, + "put": { "tags": [ "Processes" ], - "summary": "Export a single process by ID and return a URL to download it", - "description": "Export the specified process.", - "operationId": "exportProcess", + "summary": "Update a process", + "description": "Updates the current element.", + "operationId": "updateProcess", "parameters": [ { "name": "processId", "in": "path", - "description": "ID of process to export", + "description": "ID of process to return", "required": true, "schema": { "type": "integer" } } ], - "responses": { - "200": { - "description": "Successfully built the process for export", - "content": { - "application/json": { - "schema": { - "properties": { - "url": { - "type": "string" - } - }, - "type": "object" - } - } - } - } - } - } - }, - "/processes/import/validation": { - "post": { - "tags": [ - "Processes" - ], - "summary": "Validate a import", - "description": "Validate the specified process before importing.", - "operationId": "validateImport", "requestBody": { "required": true, "content": { - "multipart/form-data": { + "application/json": { "schema": { - "properties": { - "file": { - "description": "file to import", - "type": "string", - "format": "binary" - } - }, - "type": "object" + "$ref": "#/components/schemas/ProcessEditable" } } } @@ -2049,81 +3265,75 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ProcessImport" + "$ref": "#/components/schemas/Process" } } } } } - } - }, - "/processes/import": { - "post": { + }, + "delete": { "tags": [ "Processes" ], - "summary": "Import a new process", - "description": "Import the specified process.", - "operationId": "importProcess", - "requestBody": { - "required": true, - "content": { - "multipart/form-data": { - "schema": { - "properties": { - "file": { - "description": "file to import", - "type": "string", - "format": "binary" - } - }, - "type": "object" - } + "summary": "Delete a process", + "description": "Remove the specified resource from storage.", + "operationId": "deleteProcess", + "parameters": [ + { + "name": "processId", + "in": "path", + "description": "ID of process to return", + "required": true, + "schema": { + "type": "integer" } } - }, + ], "responses": { - "200": { - "description": "success", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProcessImport" - } - } - } + "204": { + "description": "success" } } } }, - "/processes/{processId}/bpmn": { + "/processes/{processId}/start_events": { "get": { "tags": [ "Processes" ], - "summary": "Download the BPMN definition of a process", - "description": "Download the BPMN definition of a process", - "operationId": "processBpmn", + "summary": "Get start events of a process by Id", + "description": "Display the specified resource.", + "operationId": "getStartEventsProcessById", "parameters": [ { "name": "processId", "in": "path", - "description": "ID of process", + "description": "ID of process to return", "required": true, "schema": { "type": "integer" } + }, + { + "$ref": "#/components/parameters/include" } ], "responses": { "200": { - "description": "Successfully built the process for export", + "description": "Successfully found the start events process", "content": { "application/json": { "schema": { "properties": { - "url": { - "type": "string" + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ProcessStartEvents" + } + }, + "meta": { + "$ref": "#/components/schemas/metadata" } }, "type": "object" @@ -2134,37 +3344,42 @@ } } }, - "/processes/import/{code}/is_ready": { - "head": { + "/processes/{processId}/draft": { + "put": { "tags": [ "Processes" ], - "summary": "Check if the import is ready", - "description": "Check if the import is ready", - "operationId": "6a131993b7c879ddcd3d3a291dd8380f", + "summary": "Update a draft process", + "description": "Update draft process.", + "operationId": "updateDraftProcess", "parameters": [ { - "name": "code", + "name": "processId", "in": "path", - "description": "Import code", + "description": "ID of process to return", "required": true, "schema": { - "type": "string" + "type": "integer" } } ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProcessEditable" + } + } + } + }, "responses": { "200": { - "description": "check is import is ready", + "description": "success", "content": { "application/json": { "schema": { - "properties": { - "ready": { - "type": "boolean" - } - }, - "type": "object" + "$ref": "#/components/schemas/Process" } } } @@ -2172,88 +3387,91 @@ } } }, - "/processes/{process_id}/import/assignments": { - "post": { + "/start_processes": { + "get": { "tags": [ "Processes" ], - "summary": "Update assignments after import", - "description": "Import Assignments of process.", - "operationId": "assignmentProcess", + "summary": "Returns the list of processes that the user can start", + "description": "Returns the list of processes that the user can start.", + "operationId": "startProcesses", "parameters": [ { - "name": "process_id", + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/order_by" + }, + { + "$ref": "#/components/parameters/order_direction" + }, + { + "$ref": "#/components/parameters/per_page" + }, + { + "$ref": "#/components/parameters/include" + }, + { + "name": "without_event_definitions", "in": "path", - "description": "ID of process to return", - "required": true, + "description": "If true return only processes that haven't start event definitions", + "required": false, "schema": { - "type": "integer" + "type": "boolean" } } ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProcessAssignments" + "responses": { + "200": { + "description": "list of processes that the user can start", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ProcessWithStartEvents" + } + }, + "meta": { + "$ref": "#/components/schemas/metadata" + } + }, + "type": "object" + } } } } - }, - "responses": { - "204": { - "description": "success" - } } } }, - "/process_events/{process_id}": { - "post": { + "/processes/{processId}/restore": { + "put": { "tags": [ "Processes" ], - "summary": "Start a new process", - "description": "Trigger an start event within a process.", - "operationId": "triggerStartEvent", + "summary": "Restore an inactive process", + "description": "Reverses the soft delete of the element.", + "operationId": "restoreProcess", "parameters": [ { - "name": "process_id", + "name": "processId", "in": "path", "description": "ID of process to return", "required": true, "schema": { "type": "integer" } - }, - { - "name": "event", - "in": "query", - "description": "Node ID of the start event", - "required": true, - "schema": { - "type": "string" - } } ], - "requestBody": { - "description": "data that will be stored as part of the created request", - "required": false, - "content": { - "application/json": { - "schema": { - "type": "object" - } - } - } - }, "responses": { "200": { "description": "success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/processRequest" + "$ref": "#/components/schemas/Process" } } } @@ -2261,142 +3479,76 @@ } } }, - "/processes/{process}/stages": { - "get": { + "/processes/{processId}/export": { + "post": { "tags": [ "Processes" ], - "summary": "Get the list of stages for a process", - "description": "Get stages of a process", - "operationId": "b40606bf1f4f04479be88823f470626f", + "summary": "Export a single process by ID and return a URL to download it", + "description": "Export the specified process.", + "operationId": "exportProcess", "parameters": [ { - "name": "process", + "name": "processId", "in": "path", - "description": "ID of the process", + "description": "ID of process to export", "required": true, "schema": { "type": "integer" } - }, - { - "name": "alternative", - "in": "query", - "description": "Alternative version (A or B)", - "required": false, - "schema": { - "type": "string" - } } ], "responses": { "200": { - "description": "List of stages", + "description": "Successfully built the process for export", "content": { "application/json": { "schema": { - "type": "array", - "items": { - "properties": { - "id": { - "type": "integer" - }, - "order": { - "type": "integer" - }, - "name": { - "type": "string" - }, - "selected": { - "type": "boolean" - } - }, - "type": "object" - } + "properties": { + "url": { + "type": "string" + } + }, + "type": "object" } } } } } - }, + } + }, + "/processes/import/validation": { "post": { "tags": [ "Processes" ], - "summary": "Save or update the list of stages for a process", - "description": "Save stages for a process", - "operationId": "eb23a62117463592164d70f29aecdf9b", - "parameters": [ - { - "name": "process", - "in": "path", - "description": "ID of the process", - "required": true, - "schema": { - "type": "integer" - } - }, - { - "name": "alternative", - "in": "query", - "description": "Alternative version (A or B)", - "required": false, - "schema": { - "type": "string" - } - } - ], + "summary": "Validate a import", + "description": "Validate the specified process before importing.", + "operationId": "validateImport", "requestBody": { "required": true, "content": { - "application/json": { + "multipart/form-data": { "schema": { - "type": "array", - "items": { - "properties": { - "id": { - "type": "integer" - }, - "order": { - "type": "integer" - }, - "label": { - "type": "string" - }, - "selected": { - "type": "boolean" - } - }, - "type": "object" - } + "properties": { + "file": { + "description": "file to import", + "type": "string", + "format": "binary" + } + }, + "type": "object" } } } }, "responses": { "200": { - "description": "Updated stages", + "description": "success", "content": { "application/json": { "schema": { - "type": "array", - "items": { - "properties": { - "id": { - "type": "integer" - }, - "order": { - "type": "integer" - }, - "name": { - "type": "string" - }, - "selected": { - "type": "boolean" - } - }, - "type": "object" - } + "$ref": "#/components/schemas/ProcessImport" } } } @@ -2404,197 +3556,111 @@ } } }, - "/processes/{process}/aggregation": { - "get": { + "/processes/import": { + "post": { "tags": [ "Processes" ], - "summary": "Get the aggregation configuration for a process", - "description": "Get aggregation for a process", - "operationId": "ecf07de0e8ce9b5876c72ea0133d83a4", - "parameters": [ - { - "name": "process", - "in": "path", - "description": "ID of the process", - "required": true, - "schema": { - "type": "integer" + "summary": "Import a new process", + "description": "Import the specified process.", + "operationId": "importProcess", + "requestBody": { + "required": true, + "content": { + "multipart/form-data": { + "schema": { + "properties": { + "file": { + "description": "file to import", + "type": "string", + "format": "binary" + } + }, + "type": "object" + } } } - ], + }, "responses": { "200": { - "description": "Aggregation configuration", + "description": "success", "content": { "application/json": { "schema": { - "properties": { - "aggregation": { - "description": "string containing var aggregation", - "type": "string" - } - }, - "type": "object" + "$ref": "#/components/schemas/ProcessImport" } } } } } - }, - "post": { + } + }, + "/processes/{processId}/bpmn": { + "get": { "tags": [ "Processes" ], - "summary": "Save or update the aggregation field for a process", - "description": "Updates the aggregation field of a process. If no aggregation is provided, defaults to 'amount'.", - "operationId": "8b6d8704835d8571bc50e31938fd7ded", + "summary": "Download the BPMN definition of a process", + "description": "Download the BPMN definition of a process", + "operationId": "processBpmn", "parameters": [ { - "name": "process", + "name": "processId", "in": "path", - "description": "ID of the process", + "description": "ID of process", "required": true, "schema": { "type": "integer" } } ], - "requestBody": { - "required": false, - "content": { - "application/json": { - "schema": { - "properties": { - "aggregation": { - "description": "Field name to use for aggregation (defaults to 'amount' if not provided)", - "type": "string", - "example": "amount" - } - }, - "type": "object" - } - } - } - }, "responses": { "200": { - "description": "Updated aggregation field", + "description": "Successfully built the process for export", "content": { "application/json": { "schema": { "properties": { - "data": { - "description": "The saved aggregation field value", - "type": "string", - "example": "amount" + "url": { + "type": "string" } }, "type": "object" } } } - }, - "404": { - "description": "Process not found" } } } }, - "/processes/{process}/stage-mapping": { - "get": { + "/processes/import/{code}/is_ready": { + "head": { "tags": [ "Processes" ], - "summary": "Get process stages configuration", - "description": "Retrieves and formats the stages configuration for a specific process, including total counts and individual stages.", - "operationId": "getStageMapping", + "summary": "Check if the import is ready", + "description": "Check if the import is ready", + "operationId": "6a131993b7c879ddcd3d3a291dd8380f", "parameters": [ { - "name": "process", + "name": "code", "in": "path", - "description": "ID of the process", + "description": "Import code", "required": true, "schema": { - "type": "integer" + "type": "string" } } ], "responses": { "200": { - "description": "Successful operation", + "description": "check is import is ready", "content": { "application/json": { "schema": { "properties": { - "data": { - "properties": { - "total": { - "properties": { - "stage_id": { - "type": "number", - "example": "0" - }, - "stage_name": { - "type": "string", - "example": "Total Cases" - }, - "percentage": { - "type": "number", - "example": 100 - }, - "percentage_format": { - "type": "string", - "example": "100%" - }, - "agregation_sum": { - "type": "number", - "example": 50000 - }, - "agregation_count": { - "type": "number", - "example": 150 - } - }, - "type": "object" - }, - "stages": { - "type": "array", - "items": { - "properties": { - "stage_id": { - "type": "number", - "example": "1" - }, - "stage_name": { - "type": "string", - "example": "In progress" - }, - "percentage": { - "type": "number", - "example": 60, - "nullable": true - }, - "percentage_format": { - "type": "string", - "example": "60%" - }, - "agregation_sum": { - "type": "number", - "example": 28678, - "nullable": true - }, - "agregation_count": { - "type": "number", - "example": 100, - "nullable": true - } - }, - "type": "object" - } - } - }, - "type": "object" + "ready": { + "type": "boolean" } }, "type": "object" @@ -2605,157 +3671,88 @@ } } }, - "/api/processes/{process}/default-stages": { - "get": { + "/processes/{process_id}/import/assignments": { + "post": { "tags": [ "Processes" ], - "summary": "Get default process stages configuration", - "description": "Retrieves and formats the default stages configuration for a process.", - "operationId": "getDefaultStagesPerProcess", + "summary": "Update assignments after import", + "description": "Import Assignments of process.", + "operationId": "assignmentProcess", "parameters": [ { - "name": "process", + "name": "process_id", "in": "path", - "description": "ID of the process", + "description": "ID of process to return", "required": true, "schema": { "type": "integer" } } ], - "responses": { - "200": { - "description": "Successful operation", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "properties": { - "stage_id": { - "type": "number", - "example": "1" - }, - "stage_name": { - "type": "string", - "example": "In progress" - }, - "percentage": { - "type": "number", - "example": 60, - "nullable": true - }, - "percentage_format": { - "type": "string", - "example": "60%" - }, - "agregation_sum": { - "type": "number", - "example": 28678, - "nullable": true - }, - "agregation_count": { - "type": "number", - "example": 100, - "nullable": true - } - }, - "type": "object" - } - } + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProcessAssignments" } } } + }, + "responses": { + "204": { + "description": "success" + } } } }, - "/api/processes/{process}/metrics": { - "get": { + "/process_events/{process_id}": { + "post": { "tags": [ "Processes" ], - "summary": "Get process metrics configuration", - "description": "Retrieves and formats the metrics configuration for a specific process. Supports different formats like 'student' or default metrics.", - "operationId": "getMetricsPerProcess", + "summary": "Start a new process", + "description": "Trigger an start event within a process.", + "operationId": "triggerStartEvent", "parameters": [ { - "name": "process", + "name": "process_id", "in": "path", - "description": "ID of the process", + "description": "ID of process to return", "required": true, "schema": { "type": "integer" } }, { - "name": "format", + "name": "event", "in": "query", - "description": "Format type of the metrics (e.g., 'student')", - "required": false, + "description": "Node ID of the start event", + "required": true, "schema": { - "type": "string", - "default": "student", - "enum": [ - "student", - "default" - ] + "type": "string" } } ], - "responses": { - "200": { - "description": "Successful operation", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "properties": { - "id": { - "type": "integer", - "example": 1 - }, - "metric_description": { - "type": "string", - "example": "Max amount available" - }, - "metric_count": { - "type": "integer", - "example": 10, - "nullable": true - }, - "metric_count_description": { - "type": "string", - "example": "Across 10 applicants" - }, - "metric_value": { - "type": "number", - "example": 84000 - }, - "metric_value_unit": { - "type": "string", - "example": "k" - } - }, - "type": "object" - } - } + "requestBody": { + "description": "data that will be stored as part of the created request", + "required": false, + "content": { + "application/json": { + "schema": { + "type": "object" } } - }, - "400": { - "description": "Invalid format parameter", + } + }, + "responses": { + "200": { + "description": "success", "content": { "application/json": { "schema": { - "properties": { - "error": { - "type": "string", - "example": "Invalid format parameter" - } - }, - "type": "object" + "$ref": "#/components/schemas/processRequest" } } } @@ -4133,9 +5130,6 @@ "items": { "type": "object" } - }, - "sync": { - "type": "boolean" } }, "type": "object" @@ -5447,64 +6441,6 @@ } } } - }, - "post": { - "tags": [ - "Users" - ], - "summary": "Returns all users and their total tasks (POST version for large form_data)", - "operationId": "postUsersTaskCount", - "requestBody": { - "description": "Request body for filtering users", - "content": { - "application/json": { - "schema": { - "properties": { - "filter": { - "description": "Filter results by string. Searches First Name, Last Name, Email, or Username.", - "type": "string" - }, - "include_ids": { - "description": "Comma separated list of user IDs to include in the response. Eg. 1,2,3", - "type": "string" - }, - "assignable_for_task_id": { - "description": "Task ID to get assignable users for", - "type": "integer" - }, - "form_data": { - "description": "Form data used to evaluate rule expressions for task assignment", - "type": "object" - } - }, - "type": "object" - } - } - } - }, - "responses": { - "200": { - "description": "List of users with task counts", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/users" - } - }, - "meta": { - "$ref": "#/components/schemas/metadata" - } - }, - "type": "object" - } - } - } - } - } } }, "/users/{user_id}": { @@ -5986,233 +6922,378 @@ } } } - }, - "/processes/variables": { - "get": { - "tags": [ - "Processes Variables" - ], - "summary": "Get variables for multiple processes with pagination", - "operationId": "660c9459febd17c58400be4b4d49a152", - "parameters": [ - { - "name": "processIds", - "in": "query", - "description": "Comma-separated list of process IDs", - "required": false, - "schema": { - "type": "string", - "example": "1,2,3", - "nullable": true - } + } + }, + "components": { + "schemas": { + "DateTime": { + "properties": { + "date": { + "type": "string" + } + }, + "type": "object" + }, + "collectionsEditable": { + "properties": { + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "custom_title": { + "type": "string" }, + "create_screen_id": { + "type": "string", + "format": "id" + }, + "read_screen_id": { + "type": "string", + "format": "id" + }, + "update_screen_id": { + "type": "string", + "format": "id" + }, + "signal_create": { + "type": "boolean" + }, + "signal_update": { + "type": "boolean" + }, + "signal_delete": { + "type": "boolean" + } + }, + "type": "object" + }, + "collections": { + "allOf": [ { - "name": "page", - "in": "query", - "description": "Page number", - "required": false, - "schema": { - "type": "integer", - "default": 1 - } + "$ref": "#/components/schemas/collectionsEditable" }, { - "name": "per_page", - "in": "query", - "description": "Items per page", - "required": false, - "schema": { - "type": "integer", - "default": 20 - } - } - ], - "responses": { - "200": { - "description": "Successful response", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Variable" - } - }, - "meta": { - "$ref": "#/components/schemas/PaginationMeta" - } - }, + "properties": { + "id": { + "type": "integer" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "created_by_id": { + "type": "string", + "format": "id" + }, + "updated_by_id": { + "type": "string", + "format": "id" + }, + "columns": { + "type": "array", + "items": { "type": "object" } } - } + }, + "type": "object" + } + ] + }, + "recordsEditable": { + "properties": { + "data": { + "type": "object" + } + }, + "type": "object" + }, + "records": { + "allOf": [ + { + "$ref": "#/components/schemas/recordsEditable" + }, + { + "properties": { + "id": { + "type": "integer" + }, + "collection_id": { + "type": "string", + "format": "id" + } + }, + "type": "object" + } + ] + }, + "SavedSearchEditable": { + "properties": { + "meta": { + "description": "Represents an Eloquent model of a Saved Search.", + "type": "object", + "additionalProperties": "true" + }, + "pmql": { + "type": "string" + }, + "title": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "task", + "request" + ] + }, + "advanced_filter": { + "type": "object", + "additionalProperties": "true" } }, - "servers": [ + "type": "object" + }, + "SavedSearch": { + "allOf": [ + { + "properties": { + "id": { + "type": "string", + "format": "id" + }, + "user_id": { + "type": "string", + "format": "id" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "type": "object" + }, { - "url": "http://processmaker-a.test/api/1.1", - "description": "API v1.1 Server" + "$ref": "#/components/schemas/SavedSearchEditable" } ] - } - } - }, - "components": { - "schemas": { - "DateTime": { + }, + "SavedSearchIcon": { "properties": { - "date": { + "name": { + "type": "string" + }, + "value": { "type": "string" } }, "type": "object" }, - "updateUserGroups": { + "SavedSearchChartEditable": { "properties": { - "groups": { - "type": "array", - "items": { - "type": "integer", - "example": 1 - } + "title": { + "description": "Represents an Eloquent model of a Saved Search Chart.", + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "bar", + "bar-vertical", + "line", + "pie", + "doughnut" + ] + }, + "config": { + "type": "object", + "additionalProperties": "true" + }, + "sort": { + "type": "integer" } }, "type": "object" }, - "restoreUser": { - "properties": { - "username": { - "description": "Username to restore", - "type": "string" + "SavedSearchChart": { + "allOf": [ + { + "properties": { + "id": { + "type": "string", + "format": "id" + }, + "saved_search_id": { + "type": "string", + "format": "id" + }, + "user_id": { + "type": "string", + "format": "id" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "deleted_at": { + "type": "string", + "format": "date-time" + } + }, + "type": "object" + }, + { + "$ref": "#/components/schemas/SavedSearchChartEditable" } - }, - "type": "object" + ] }, - "Variable": { + "ReportEditable": { "properties": { - "id": { - "type": "integer", - "example": 1 - }, - "process_id": { - "type": "integer", - "example": 1 - }, - "uuid": { + "type": { "type": "string", - "format": "uuid", - "example": "550e8400-e29b-41d4-a716-446655440000" + "enum": [ + "adhoc", + "scheduled" + ] }, - "field": { + "format": { "type": "string", - "example": "string", "enum": [ - "string", - "number", - "boolean", - "array" + "csv", + "xlsx" ] }, - "label": { - "type": "string", - "example": "Variable 1 for Process 1" + "saved_search_id": { + "type": "integer" }, - "name": { - "type": "string", - "example": "var_1_1" + "config": { + "type": "object", + "additionalProperties": "true" + }, + "to": { + "type": "array", + "items": { + "type": "string" + } + }, + "subject": { + "type": "string" }, - "asset": { + "body": { + "type": "string" + } + }, + "type": "object" + }, + "Report": { + "allOf": [ + { "properties": { "id": { "type": "string", - "example": "asset_1_1" + "format": "id" }, - "type": { + "user_id": { "type": "string", - "example": "sensor", - "enum": [ - "sensor", - "actuator", - "controller", - "device" - ] + "format": "id" }, - "name": { + "created_at": { "type": "string", - "example": "Asset 1 for Process 1" + "format": "date-time" }, - "uuid": { + "updated_at": { "type": "string", - "format": "uuid", - "example": "550e8400-e29b-41d4-a716-446655440000" + "format": "date-time" } }, "type": "object" }, - "created_at": { - "type": "string", - "format": "date-time" - }, - "updated_at": { - "type": "string", - "format": "date-time" + { + "$ref": "#/components/schemas/SavedSearchEditable" } - }, - "type": "object" + ] }, - "PaginationMeta": { + "versionHistoryEditable": { "properties": { - "current_page": { - "type": "integer", - "example": 1 - }, - "from": { - "type": "integer", - "example": 1 + "versionable_id": { + "description": "Class VersionHistoryCollection", + "type": "integer" }, - "last_page": { - "type": "integer", - "example": 5 + "versionable_type": { + "type": "string" }, - "path": { - "type": "string", - "example": "http://processmaker.com/processes/variables" + "name": { + "type": "string" }, - "per_page": { - "type": "integer", - "example": 20 + "subject": { + "type": "string" }, - "to": { - "type": "integer", - "example": 20 + "description": { + "type": "string" }, - "total": { - "type": "integer", - "example": 100 + "status": { + "type": "string", + "enum": [ + "ACTIVE", + "INACTIVE" + ] + } + }, + "type": "object" + }, + "versionHistory": { + "type": "object", + "allOf": [ + { + "$ref": "#/components/schemas/versionHistoryEditable" }, - "links": { + { "properties": { - "first": { - "type": "string", - "example": "http://processmaker.com/processes/variables?page=1" - }, - "last": { - "type": "string", - "example": "http://processmaker.com/processes/variables?page=5" - }, - "prev": { + "created_at": { "type": "string", - "nullable": true + "format": "date-time" }, - "next": { + "updated_at": { "type": "string", - "example": "http://processmaker.com/processes/variables?page=2" + "format": "date-time" } }, "type": "object" } + ] + }, + "updateUserGroups": { + "properties": { + "groups": { + "type": "array", + "items": { + "type": "integer", + "example": 1 + } + } + }, + "type": "object" + }, + "restoreUser": { + "properties": { + "username": { + "description": "Username to restore", + "type": "string" + } }, "type": "object" }, @@ -6901,11 +7982,8 @@ "type": "object" }, "manager_id": { - "type": "array", - "items": { - "type": "integer", - "format": "id" - } + "type": "integer", + "format": "id" } }, "type": "object" @@ -7554,9 +8632,6 @@ }, "key": { "type": "string" - }, - "output": { - "type": "object" } }, "type": "object" @@ -7927,9 +9002,6 @@ }, "force_change_password": { "type": "boolean" - }, - "email_task_notification": { - "type": "boolean" } }, "type": "object" @@ -8122,9 +9194,9 @@ "description": "Laravel passport oauth2 security.", "flows": { "authorizationCode": { - "authorizationUrl": "http://processmaker-a.test/oauth/authorize", - "tokenUrl": "http://processmaker-a.test/oauth/token", - "refreshUrl": "http://processmaker-a.test/token/refresh", + "authorizationUrl": "http://processmaker.test/oauth/authorize", + "tokenUrl": "http://processmaker.test/oauth/token", + "refreshUrl": "http://processmaker.test/token/refresh", "scopes": {} } } @@ -8136,108 +9208,6 @@ } } }, - "tags": [ - { - "name": "Cases", - "description": "Cases" - }, - { - "name": "CssSettings", - "description": "CssSettings" - }, - { - "name": "Environment Variables", - "description": "Environment Variables" - }, - { - "name": "Files", - "description": "Files" - }, - { - "name": "Groups", - "description": "Groups" - }, - { - "name": "Group Members", - "description": "Group Members" - }, - { - "name": "Notifications", - "description": "Notifications" - }, - { - "name": "Permissions", - "description": "Permissions" - }, - { - "name": "Process Categories", - "description": "Process Categories" - }, - { - "name": "Processes", - "description": "Processes" - }, - { - "name": "Process Requests", - "description": "Process Requests" - }, - { - "name": "Request Files", - "description": "Request Files" - }, - { - "name": "Screen Categories", - "description": "Screen Categories" - }, - { - "name": "Screens", - "description": "Screens" - }, - { - "name": "Script Categories", - "description": "Script Categories" - }, - { - "name": "Scripts", - "description": "Scripts" - }, - { - "name": "Rebuild Script Executors", - "description": "Rebuild Script Executors" - }, - { - "name": "Security Logs", - "description": "Security Logs" - }, - { - "name": "Settings", - "description": "Settings" - }, - { - "name": "Signals", - "description": "Signals" - }, - { - "name": "Task Assignments", - "description": "Task Assignments" - }, - { - "name": "Tasks", - "description": "Tasks" - }, - { - "name": "Users", - "description": "Users" - }, - { - "name": "Personal Tokens", - "description": "Personal Tokens" - }, - { - "name": "Processes Variables", - "description": "Processes Variables" - } - ], "security": [ { "passport": [], From ff5e610836330c7b454d486b4020c9dc7771171f Mon Sep 17 00:00:00 2001 From: Nolan Ehrstrom Date: Mon, 6 Apr 2026 14:51:56 -0700 Subject: [PATCH 09/14] Remove dusk provider --- ProcessMaker/Providers/ProcessMakerServiceProvider.php | 7 ------- 1 file changed, 7 deletions(-) diff --git a/ProcessMaker/Providers/ProcessMakerServiceProvider.php b/ProcessMaker/Providers/ProcessMakerServiceProvider.php index 5bc23e4dd1..1b748d0cff 100644 --- a/ProcessMaker/Providers/ProcessMakerServiceProvider.php +++ b/ProcessMaker/Providers/ProcessMakerServiceProvider.php @@ -19,7 +19,6 @@ use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Route; use Illuminate\Support\Facades\URL; -use Laravel\Dusk\DuskServiceProvider; use Laravel\Horizon\Horizon; use Laravel\Horizon\SystemProcessCounter; use Laravel\Horizon\WorkerCommandString; @@ -115,12 +114,6 @@ public function register(): void }); } - // Dusk, if env is appropriate - // TODO Remove Dusk references and remove from composer dependencies - if (!$this->app->environment('production')) { - $this->app->register(DuskServiceProvider::class); - } - // Register our permission services $this->app->register(PermissionServiceProvider::class); From 9d3abddd96a110662751b6b537e53527598b1822 Mon Sep 17 00:00:00 2001 From: Nolan Ehrstrom Date: Tue, 7 Apr 2026 08:48:48 -0700 Subject: [PATCH 10/14] Fix l5-generate for cached config --- .../Providers/ProcessMakerServiceProvider.php | 15 +++++++++++++++ config/l5-swagger.php | 5 +---- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/ProcessMaker/Providers/ProcessMakerServiceProvider.php b/ProcessMaker/Providers/ProcessMakerServiceProvider.php index 1b748d0cff..56d38de1d3 100644 --- a/ProcessMaker/Providers/ProcessMakerServiceProvider.php +++ b/ProcessMaker/Providers/ProcessMakerServiceProvider.php @@ -2,6 +2,7 @@ namespace ProcessMaker\Providers; +use Illuminate\Console\Events\CommandStarting; use Illuminate\Database\Console\Migrations\MigrateCommand; use Illuminate\Database\Eloquent\Factories\Factory; use Illuminate\Filesystem\Filesystem; @@ -23,6 +24,9 @@ use Laravel\Horizon\SystemProcessCounter; use Laravel\Horizon\WorkerCommandString; use Lavary\Menu\Menu; +use OpenApi\Analysers\AttributeAnnotationFactory; +use OpenApi\Analysers\DocBlockAnnotationFactory; +use OpenApi\Analysers\ReflectionAnalyser; use ProcessMaker\Cache\Settings\SettingCacheManager; use ProcessMaker\Console\Commands\HorizonListen; use ProcessMaker\Console\Migration\ExtendedMigrateCommand; @@ -321,6 +325,17 @@ protected static function registerEvents(): void throw new MultitenancyNoTenantFound(); } }); + + Facades\Event::listen(function (CommandStarting $event) { + if ($event->command === 'l5-swagger:generate') { + // Set the analyser to use the legacy DocBlockAnnotationFactory. This must + // be set here because this config value is not serializable and cannot be cached. + config(['l5-swagger.defaults.scanOptions.analyser' => new ReflectionAnalyser([ + new AttributeAnnotationFactory(), + new DocBlockAnnotationFactory(), + ])]); + } + }); } /** diff --git a/config/l5-swagger.php b/config/l5-swagger.php index 61042bff2e..2ef80f985e 100644 --- a/config/l5-swagger.php +++ b/config/l5-swagger.php @@ -122,10 +122,7 @@ * * @see OpenApi\scan */ - 'analyser' => new OpenApi\Analysers\ReflectionAnalyser([ - new OpenApi\Analysers\AttributeAnnotationFactory(), - new OpenApi\Analysers\DocBlockAnnotationFactory(), - ]), + 'analyser' => null, // Set at runtime by ProcessMakerServiceProvider /** * analysis: defaults to a new \OpenApi\Analysis . From 2be10ea5f0b341f2a2780c905ebc3139148b70e5 Mon Sep 17 00:00:00 2001 From: Nolan Ehrstrom Date: Wed, 8 Apr 2026 12:47:42 -0700 Subject: [PATCH 11/14] Fix bootIfNotBooted circular issue in laravel 13 --- ProcessMaker/Models/GroupMember.php | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/ProcessMaker/Models/GroupMember.php b/ProcessMaker/Models/GroupMember.php index 8303513aca..169d158881 100644 --- a/ProcessMaker/Models/GroupMember.php +++ b/ProcessMaker/Models/GroupMember.php @@ -131,10 +131,8 @@ public function group() /** * Boot the model and register observers */ - protected static function boot() + protected static function booted() { - parent::boot(); - static::observe(GroupMemberObserver::class); } } From fea7d0acf7238ae90776a7654d19047929c3e409 Mon Sep 17 00:00:00 2001 From: Nolan Ehrstrom Date: Wed, 8 Apr 2026 14:38:04 -0700 Subject: [PATCH 12/14] Fix test --- tests/Feature/Api/DocumentationTest.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/Feature/Api/DocumentationTest.php b/tests/Feature/Api/DocumentationTest.php index 477c547f6c..934e238d7d 100644 --- a/tests/Feature/Api/DocumentationTest.php +++ b/tests/Feature/Api/DocumentationTest.php @@ -2,11 +2,14 @@ namespace Tests\Feature\Api; +use Illuminate\Foundation\Testing\WithConsoleEvents; use Tests\Feature\Shared\RequestHelper; use Tests\TestCase; class DocumentationTest extends TestCase { + use WithConsoleEvents; + public function testGenerateSwaggerDocument() { \Artisan::call('l5-swagger:generate'); From 65392e54d43061d04ad9907781838d3e34a26da5 Mon Sep 17 00:00:00 2001 From: Nolan Ehrstrom Date: Thu, 9 Apr 2026 12:35:12 -0700 Subject: [PATCH 13/14] Change workflow reference to 'testbench' branch --- .github/workflows/deploy-pm4.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy-pm4.yml b/.github/workflows/deploy-pm4.yml index 0da93fde5c..16e1c74249 100644 --- a/.github/workflows/deploy-pm4.yml +++ b/.github/workflows/deploy-pm4.yml @@ -9,5 +9,5 @@ on: jobs: run: name: Run PM4-workflow - uses: processmaker/.github/.github/workflows/deploy-pm4.yml@main + uses: processmaker/.github/.github/workflows/deploy-pm4.yml@testbench secrets: inherit From 25172099b5edc4c3478e252c70125757a232583e Mon Sep 17 00:00:00 2001 From: Nolan Ehrstrom Date: Thu, 9 Apr 2026 17:57:27 -0700 Subject: [PATCH 14/14] Use our forks for dependencies and a new pmql release --- composer.json | 14 ++++------- composer.lock | 65 ++++++++++++++++++++++++--------------------------- 2 files changed, 36 insertions(+), 43 deletions(-) diff --git a/composer.json b/composer.json index 5b49f7bece..e50938eb6c 100644 --- a/composer.json +++ b/composer.json @@ -40,21 +40,21 @@ "mustache/mustache": "^2.14", "open-telemetry/api": "^1.8", "open-telemetry/exporter-otlp": "^1.3", - "open-telemetry/opentelemetry-auto-laravel": "dev-l13-compatibility#f75f99115d675bafd54f20813bdaccf7a35dfb94", + "open-telemetry/opentelemetry-auto-laravel": "dev-main", "open-telemetry/transport-grpc": "^1.1", "openai-php/laravel": "^0.19.1", "paragonie/sodium_compat": "^2.5", "php-amqplib/php-amqplib": "^3.7", "php-http/promise": "~1.2.0", "phpseclib/phpseclib": "^3.0.50", - "pion/laravel-chunk-upload": "dev-laravel-13-support#b32bfb637d5af6501a9fe703393f812e7d6c8458", + "pion/laravel-chunk-upload": "dev-master", "predis/predis": "^2.3", "processmaker/docker-executor-lua": "^1.0", "processmaker/docker-executor-node": "1.1.0", "processmaker/docker-executor-php": "1.4.1", "processmaker/laravel-i18next": "dev-master", "processmaker/nayra": "1.12.4", - "processmaker/pmql": "dev-task/FOUR-28803#a650ca80d98865dc52a4ceba44ed564ad4096d6e", + "processmaker/pmql": "1.13.3", "promphp/prometheus_client_php": "^2.12", "psr/http-message": "^2.0", "psr/log": "^3.0", @@ -221,15 +221,11 @@ "repositories": [ { "type": "vcs", - "url": "https://github.com/ProcessMaker/pmql.git" + "url": "https://github.com/ProcessMaker/laravel-chunk-upload.git" }, { "type": "vcs", - "url": "https://github.com/hsndmr/laravel-chunk-upload.git" - }, - { - "type": "vcs", - "url": "https://github.com/laravel-shift/contrib-auto-laravel.git" + "url": "https://github.com/ProcessMaker/contrib-auto-laravel.git" }, { "type": "vcs", diff --git a/composer.lock b/composer.lock index 80447fcb0f..2ba52d2a67 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "0ffe903ae36727ce622c99f5ed12759c", + "content-hash": "9acde1dce44bb63be483e02fe4e04466", "packages": [ { "name": "babenkoivan/elastic-adapter", @@ -6040,16 +6040,16 @@ }, { "name": "open-telemetry/opentelemetry-auto-laravel", - "version": "dev-l13-compatibility", + "version": "dev-main", "source": { "type": "git", - "url": "https://github.com/laravel-shift/contrib-auto-laravel.git", - "reference": "f75f99115d675bafd54f20813bdaccf7a35dfb94" + "url": "https://github.com/ProcessMaker/contrib-auto-laravel.git", + "reference": "890ccd089c03168cfc62bd0e449d1f5611add486" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel-shift/contrib-auto-laravel/zipball/f75f99115d675bafd54f20813bdaccf7a35dfb94", - "reference": "f75f99115d675bafd54f20813bdaccf7a35dfb94", + "url": "https://api.github.com/repos/ProcessMaker/contrib-auto-laravel/zipball/890ccd089c03168cfc62bd0e449d1f5611add486", + "reference": "890ccd089c03168cfc62bd0e449d1f5611add486", "shasum": "" }, "require": { @@ -6066,19 +6066,20 @@ "nunomaduro/collision": "*", "open-telemetry/sdk": "^1.8", "orchestra/testbench": ">=7.41.3", - "phan/phan": "^5.0 || ^6.0", + "phan/phan": "^5.0", "php-http/mock-client": "*", - "phpstan/phpstan": "^1.1 || ^2.1", - "phpstan/phpstan-phpunit": "^1.0 || ^2.0", - "phpunit/phpunit": "^9.5 || ^12.5.12", + "phpstan/phpstan": "^1.1", + "phpstan/phpstan-phpunit": "^1.0", + "phpunit/phpunit": "^9.5", "psalm/plugin-phpunit": "^0.19.2", "spatie/laravel-ignition": "*", - "vimeo/psalm": "6.4.0 || ^6.15" + "vimeo/psalm": "6.4.0" }, "suggest": { "open-telemetry/opentelemetry-propagation-server-timing": "Automatically propagate the context to the client through server-timing headers.", "open-telemetry/opentelemetry-propagation-traceresponse": "Automatically propagate the context to the client through trace-response headers." }, + "default-branch": true, "type": "library", "autoload": { "psr-4": { @@ -6107,9 +6108,9 @@ "tracing" ], "support": { - "source": "https://github.com/laravel-shift/contrib-auto-laravel/tree/l13-compatibility" + "source": "https://github.com/ProcessMaker/contrib-auto-laravel/tree/main" }, - "time": "2026-03-05T19:47:15+00:00" + "time": "2026-04-08T12:06:23+00:00" }, { "name": "open-telemetry/sdk", @@ -7281,16 +7282,16 @@ }, { "name": "pion/laravel-chunk-upload", - "version": "dev-laravel-13-support", + "version": "dev-master", "source": { "type": "git", - "url": "https://github.com/hsndmr/laravel-chunk-upload.git", - "reference": "b32bfb637d5af6501a9fe703393f812e7d6c8458" + "url": "https://github.com/ProcessMaker/laravel-chunk-upload.git", + "reference": "bac78894f1caa1d219f4405bbd8399b73ab4c124" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/hsndmr/laravel-chunk-upload/zipball/b32bfb637d5af6501a9fe703393f812e7d6c8458", - "reference": "b32bfb637d5af6501a9fe703393f812e7d6c8458", + "url": "https://api.github.com/repos/ProcessMaker/laravel-chunk-upload/zipball/bac78894f1caa1d219f4405bbd8399b73ab4c124", + "reference": "bac78894f1caa1d219f4405bbd8399b73ab4c124", "shasum": "" }, "require": { @@ -7305,6 +7306,7 @@ "overtrue/phplint": "^1.1 | ^2.0 | ^9.1", "phpunit/phpunit": "5.7 | 6.0 | 7.0 | 7.5 | 8.4 | ^8.5 | ^9.3 | ^10.0 | ^11.0" }, + "default-branch": true, "type": "library", "extra": { "laravel": { @@ -7348,9 +7350,9 @@ ], "description": "Service for chunked upload with several js providers", "support": { - "source": "https://github.com/hsndmr/laravel-chunk-upload/tree/laravel-13-support" + "source": "https://github.com/ProcessMaker/laravel-chunk-upload/tree/master" }, - "time": "2026-03-21T15:45:15+00:00" + "time": "2026-04-10T00:40:44+00:00" }, { "name": "predis/predis", @@ -7622,16 +7624,16 @@ }, { "name": "processmaker/pmql", - "version": "dev-task/FOUR-28803", + "version": "1.13.3", "source": { "type": "git", "url": "https://github.com/ProcessMaker/pmql.git", - "reference": "a650ca80d98865dc52a4ceba44ed564ad4096d6e" + "reference": "c77cf2127083c8a5b2bc794b2da189f85851a023" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ProcessMaker/pmql/zipball/a650ca80d98865dc52a4ceba44ed564ad4096d6e", - "reference": "a650ca80d98865dc52a4ceba44ed564ad4096d6e", + "url": "https://api.github.com/repos/ProcessMaker/pmql/zipball/c77cf2127083c8a5b2bc794b2da189f85851a023", + "reference": "c77cf2127083c8a5b2bc794b2da189f85851a023", "shasum": "" }, "type": "project", @@ -7645,11 +7647,7 @@ "ProcessMaker\\Query\\": "src" } }, - "autoload-dev": { - "psr-4": { - "ProcessMaker\\Query\\Tests\\": "tests/" - } - }, + "notification-url": "https://packagist.org/downloads/", "authors": [ { "name": "Taylor Dondich", @@ -7658,10 +7656,10 @@ ], "description": "An Eloquent trait that provides the pmql scope to allow converting simple sql criteria clauses to Eloquent", "support": { - "source": "https://github.com/ProcessMaker/pmql/tree/task/FOUR-28803", - "issues": "https://github.com/ProcessMaker/pmql/issues" + "issues": "https://github.com/ProcessMaker/pmql/issues", + "source": "https://github.com/ProcessMaker/pmql/tree/v1.13.3" }, - "time": "2026-04-02T19:09:06+00:00" + "time": "2026-04-10T00:46:08+00:00" }, { "name": "promphp/prometheus_client_php", @@ -15943,8 +15941,7 @@ "stability-flags": { "open-telemetry/opentelemetry-auto-laravel": 20, "pion/laravel-chunk-upload": 20, - "processmaker/laravel-i18next": 20, - "processmaker/pmql": 20 + "processmaker/laravel-i18next": 20 }, "prefer-stable": true, "prefer-lowest": false,