From 4a6a3b92694b15f978842c9c6a8f8ecb76c09264 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Mon, 1 May 2023 23:09:59 +0200 Subject: [PATCH 01/18] Moved doctrine/data-fixtures to prod requirement We use it for database purging in partkeepr import command. This fixes issue #285 --- composer.json | 8 ++- composer.lock | 166 +++++++++++++++++++++++++------------------------- 2 files changed, 88 insertions(+), 86 deletions(-) diff --git a/composer.json b/composer.json index af991b44..dfe2847d 100644 --- a/composer.json +++ b/composer.json @@ -78,11 +78,12 @@ "twig/intl-extra": "^3.0", "twig/markdown-extra": "^3.0", "web-auth/webauthn-symfony-bundle": "^3.3", - "webmozart/assert": "^1.4" + "webmozart/assert": "^1.4", + "doctrine/data-fixtures": "^1.6.6" + }, "require-dev": { "dama/doctrine-test-bundle": "^7.0", - "doctrine/doctrine-fixtures-bundle": "^3.2", "ekino/phpstan-banned-code": "^v1.0.0", "phpstan/extension-installer": "^1.0", "phpstan/phpstan": "^1.4.7", @@ -98,7 +99,8 @@ "symfony/stopwatch": "^5.2", "symfony/web-profiler-bundle": "^5.2", "symplify/easy-coding-standard": "^11.0", - "vimeo/psalm": "^5.6.0" + "vimeo/psalm": "^5.6.0", + "doctrine/doctrine-fixtures-bundle": "^3.2" }, "suggest": { "ext-bcmath": "Used to improve price calculation performance", diff --git a/composer.lock b/composer.lock index 5a995a75..9afdc668 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": "2333fbbcf1b0400f8dfd6ca119f55195", + "content-hash": "261699e3411d7812ac4da08d8702af0c", "packages": [ { "name": "beberlei/assert", @@ -665,6 +665,88 @@ ], "time": "2022-10-09T11:47:59+00:00" }, + { + "name": "doctrine/data-fixtures", + "version": "1.6.6", + "source": { + "type": "git", + "url": "https://github.com/doctrine/data-fixtures.git", + "reference": "4af35dadbfcf4b00abb2a217c4c8c8800cf5fcf4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/data-fixtures/zipball/4af35dadbfcf4b00abb2a217c4c8c8800cf5fcf4", + "reference": "4af35dadbfcf4b00abb2a217c4c8c8800cf5fcf4", + "shasum": "" + }, + "require": { + "doctrine/deprecations": "^0.5.3 || ^1.0", + "doctrine/persistence": "^1.3.3 || ^2.0 || ^3.0", + "php": "^7.2 || ^8.0" + }, + "conflict": { + "doctrine/dbal": "<2.13", + "doctrine/orm": "<2.12", + "doctrine/phpcr-odm": "<1.3.0" + }, + "require-dev": { + "doctrine/coding-standard": "^11.0", + "doctrine/dbal": "^2.13 || ^3.0", + "doctrine/mongodb-odm": "^1.3.0 || ^2.0.0", + "doctrine/orm": "^2.12", + "ext-sqlite3": "*", + "phpstan/phpstan": "^1.5", + "phpunit/phpunit": "^8.5 || ^9.5 || ^10.0", + "symfony/cache": "^5.0 || ^6.0", + "vimeo/psalm": "^4.10 || ^5.9" + }, + "suggest": { + "alcaeus/mongo-php-adapter": "For using MongoDB ODM 1.3 with PHP 7 (deprecated)", + "doctrine/mongodb-odm": "For loading MongoDB ODM fixtures", + "doctrine/orm": "For loading ORM fixtures", + "doctrine/phpcr-odm": "For loading PHPCR ODM fixtures" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Common\\DataFixtures\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + } + ], + "description": "Data Fixtures for all Doctrine Object Managers", + "homepage": "https://www.doctrine-project.org", + "keywords": [ + "database" + ], + "support": { + "issues": "https://github.com/doctrine/data-fixtures/issues", + "source": "https://github.com/doctrine/data-fixtures/tree/1.6.6" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fdata-fixtures", + "type": "tidelift" + } + ], + "time": "2023-04-20T13:08:54+00:00" + }, { "name": "doctrine/dbal", "version": "3.6.2", @@ -14116,88 +14198,6 @@ }, "time": "2019-12-04T15:06:13+00:00" }, - { - "name": "doctrine/data-fixtures", - "version": "1.6.6", - "source": { - "type": "git", - "url": "https://github.com/doctrine/data-fixtures.git", - "reference": "4af35dadbfcf4b00abb2a217c4c8c8800cf5fcf4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/data-fixtures/zipball/4af35dadbfcf4b00abb2a217c4c8c8800cf5fcf4", - "reference": "4af35dadbfcf4b00abb2a217c4c8c8800cf5fcf4", - "shasum": "" - }, - "require": { - "doctrine/deprecations": "^0.5.3 || ^1.0", - "doctrine/persistence": "^1.3.3 || ^2.0 || ^3.0", - "php": "^7.2 || ^8.0" - }, - "conflict": { - "doctrine/dbal": "<2.13", - "doctrine/orm": "<2.12", - "doctrine/phpcr-odm": "<1.3.0" - }, - "require-dev": { - "doctrine/coding-standard": "^11.0", - "doctrine/dbal": "^2.13 || ^3.0", - "doctrine/mongodb-odm": "^1.3.0 || ^2.0.0", - "doctrine/orm": "^2.12", - "ext-sqlite3": "*", - "phpstan/phpstan": "^1.5", - "phpunit/phpunit": "^8.5 || ^9.5 || ^10.0", - "symfony/cache": "^5.0 || ^6.0", - "vimeo/psalm": "^4.10 || ^5.9" - }, - "suggest": { - "alcaeus/mongo-php-adapter": "For using MongoDB ODM 1.3 with PHP 7 (deprecated)", - "doctrine/mongodb-odm": "For loading MongoDB ODM fixtures", - "doctrine/orm": "For loading ORM fixtures", - "doctrine/phpcr-odm": "For loading PHPCR ODM fixtures" - }, - "type": "library", - "autoload": { - "psr-4": { - "Doctrine\\Common\\DataFixtures\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - } - ], - "description": "Data Fixtures for all Doctrine Object Managers", - "homepage": "https://www.doctrine-project.org", - "keywords": [ - "database" - ], - "support": { - "issues": "https://github.com/doctrine/data-fixtures/issues", - "source": "https://github.com/doctrine/data-fixtures/tree/1.6.6" - }, - "funding": [ - { - "url": "https://www.doctrine-project.org/sponsorship.html", - "type": "custom" - }, - { - "url": "https://www.patreon.com/phpdoctrine", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fdata-fixtures", - "type": "tidelift" - } - ], - "time": "2023-04-20T13:08:54+00:00" - }, { "name": "doctrine/doctrine-fixtures-bundle", "version": "3.4.3", From 1c836918caa895a9c36cd7c5fb18ac7212d61cc7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Tue, 2 May 2023 00:39:37 +0200 Subject: [PATCH 02/18] Fixed various Partkeepr import issues On Linux mysql table names can contain uppercase characters, and we expect always lowercase character, so we now normalize the tablenames to lowercase. Also fixed some type errors on part parameters and improved performace for orderdetails import. This fixes issue #286 --- .../MySQLDumpXMLConverter.php | 5 +++- .../PartKeeprImporter/PKPartImporter.php | 24 +++++++++++++++---- 2 files changed, 23 insertions(+), 6 deletions(-) diff --git a/src/Services/ImportExportSystem/PartKeeprImporter/MySQLDumpXMLConverter.php b/src/Services/ImportExportSystem/PartKeeprImporter/MySQLDumpXMLConverter.php index 9d583d2a..4ff9c189 100644 --- a/src/Services/ImportExportSystem/PartKeeprImporter/MySQLDumpXMLConverter.php +++ b/src/Services/ImportExportSystem/PartKeeprImporter/MySQLDumpXMLConverter.php @@ -69,7 +69,10 @@ class MySQLDumpXMLConverter //Iterate over all nodes and convert them to arrays foreach ($tables as $table) { - $table_data[$table->getAttribute('name')] = $this->convertTableToArray($table); + //Normalize the table name to lowercase. On Linux filesystems the tables sometimes contain uppercase letters + //However we expect the table names to be lowercase in the further steps + $table_name = strtolower($table->getAttribute('name')); + $table_data[$table_name] = $this->convertTableToArray($table); } return $table_data; diff --git a/src/Services/ImportExportSystem/PartKeeprImporter/PKPartImporter.php b/src/Services/ImportExportSystem/PartKeeprImporter/PKPartImporter.php index 5065d04c..a0594899 100644 --- a/src/Services/ImportExportSystem/PartKeeprImporter/PKPartImporter.php +++ b/src/Services/ImportExportSystem/PartKeeprImporter/PKPartImporter.php @@ -168,11 +168,21 @@ class PKPartImporter $entity->setName($name); $entity->setValueText($partparameter['stringValue'] ?? ''); - $entity->setUnit($this->getUnitSymbol($data, (int) $partparameter['unit_id'])); + if ($partparameter['unit_id'] === null) { + $entity->setUnit($this->getUnitSymbol($data, (int)$partparameter['unit_id'])); + } else { + $entity->setUnit(""); + } - $entity->setValueMin($partparameter['normalizedMinValue'] ?? null); - $entity->setValueTypical($partparameter['normalizedValue'] ?? null); - $entity->setValueMax($partparameter['normalizedMaxValue'] ?? null); + if ($partparameter['normalizedMinValue'] !== null) { + $entity->setValueMin((float) $partparameter['normalizedMinValue']); + } + if ($partparameter['normalizedValue'] !== null) { + $entity->setValueTypical((float) $partparameter['normalizedValue']); + } + if ($partparameter['normalizedMaxValue'] !== null) { + $entity->setValueMax((float) $partparameter['normalizedMaxValue']); + } $part = $this->em->find(Part::class, (int) $partparameter['part_id']); if (!$part) { @@ -226,6 +236,7 @@ class PKPartImporter $orderdetail->setSupplier($supplier); $orderdetail->setSupplierpartnr($spn); $part->addOrderdetail($orderdetail); + $this->em->persist($orderdetail); } //Add the price information to the orderdetail @@ -236,10 +247,13 @@ class PKPartImporter $price_per_item = BigDecimal::of($partdistributor['price']); $pricedetail->setPrice($price_per_item->multipliedBy($partdistributor['packagingUnit'])); $pricedetail->setPriceRelatedQuantity($partdistributor['packagingUnit'] ?? 1); + + $this->em->persist($pricedetail); } - //We have to flush the changes in every loop, so the find function can find newly created entities $this->em->flush(); + //Clear the entity manager to improve performance + $this->em->clear(); } } From d598bfc35bfb47284ba96b6a3453a6c642f213c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Sat, 6 May 2023 22:25:56 +0200 Subject: [PATCH 03/18] Updated dependencies. --- composer.json | 2 +- composer.lock | 305 ++++++++++++++++++++++---------------------------- yarn.lock | 86 +++++++------- 3 files changed, 179 insertions(+), 214 deletions(-) diff --git a/composer.json b/composer.json index dfe2847d..1be31dc2 100644 --- a/composer.json +++ b/composer.json @@ -33,7 +33,7 @@ "nyholm/psr7": "^1.1", "ocramius/proxy-manager": "2.2.*", "omines/datatables-bundle": "^0.5.0", - "php-translation/symfony-bundle": "^0.12.0", + "php-translation/symfony-bundle": "^0.13.0", "phpdocumentor/reflection-docblock": "^5.2", "s9e/text-formatter": "^2.1", "scheb/2fa-backup-code": "^5.13", diff --git a/composer.lock b/composer.lock index 9afdc668..609e595c 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": "261699e3411d7812ac4da08d8702af0c", + "content-hash": "112549e8d6425274bb56b648d18c3878", "packages": [ { "name": "beberlei/assert", @@ -1538,29 +1538,29 @@ }, { "name": "doctrine/orm", - "version": "2.14.3", + "version": "2.15.0", "source": { "type": "git", "url": "https://github.com/doctrine/orm.git", - "reference": "a64f315dfeae5e50b17f132626fd9e9b4ec8985d" + "reference": "7b5fafffbeb560e75adc349e71bf1e90463796d2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/orm/zipball/a64f315dfeae5e50b17f132626fd9e9b4ec8985d", - "reference": "a64f315dfeae5e50b17f132626fd9e9b4ec8985d", + "url": "https://api.github.com/repos/doctrine/orm/zipball/7b5fafffbeb560e75adc349e71bf1e90463796d2", + "reference": "7b5fafffbeb560e75adc349e71bf1e90463796d2", "shasum": "" }, "require": { "composer-runtime-api": "^2", "doctrine/cache": "^1.12.1 || ^2.1.1", - "doctrine/collections": "^1.5 || ^2.0", + "doctrine/collections": "^1.5 || ^2.1", "doctrine/common": "^3.0.3", "doctrine/dbal": "^2.13.1 || ^3.2", "doctrine/deprecations": "^0.5.3 || ^1", "doctrine/event-manager": "^1.2 || ^2", "doctrine/inflector": "^1.4 || ^2.0", - "doctrine/instantiator": "^1.3", - "doctrine/lexer": "^1.2.3 || ^2", + "doctrine/instantiator": "^1.3 || ^2", + "doctrine/lexer": "^2", "doctrine/persistence": "^2.4 || ^3", "ext-ctype": "*", "php": "^7.1 || ^8.0", @@ -1574,9 +1574,9 @@ }, "require-dev": { "doctrine/annotations": "^1.13 || ^2", - "doctrine/coding-standard": "^9.0.2 || ^11.0", + "doctrine/coding-standard": "^9.0.2 || ^12.0", "phpbench/phpbench": "^0.16.10 || ^1.0", - "phpstan/phpstan": "~1.4.10 || 1.10.6", + "phpstan/phpstan": "~1.4.10 || 1.10.14", "phpunit/phpunit": "^7.5 || ^8.5 || ^9.6", "psr/log": "^1 || ^2 || ^3", "squizlabs/php_codesniffer": "3.7.2", @@ -1633,9 +1633,9 @@ ], "support": { "issues": "https://github.com/doctrine/orm/issues", - "source": "https://github.com/doctrine/orm/tree/2.14.3" + "source": "https://github.com/doctrine/orm/tree/2.15.0" }, - "time": "2023-04-20T09:46:32+00:00" + "time": "2023-04-26T18:52:02+00:00" }, { "name": "doctrine/persistence", @@ -3819,21 +3819,20 @@ }, { "name": "nyholm/psr7", - "version": "1.7.0", + "version": "1.8.0", "source": { "type": "git", "url": "https://github.com/Nyholm/psr7.git", - "reference": "ed7cf98f6562831dbc3c962406b5e49dc8179c8c" + "reference": "3cb4d163b58589e47b35103e8e5e6a6a475b47be" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Nyholm/psr7/zipball/ed7cf98f6562831dbc3c962406b5e49dc8179c8c", - "reference": "ed7cf98f6562831dbc3c962406b5e49dc8179c8c", + "url": "https://api.github.com/repos/Nyholm/psr7/zipball/3cb4d163b58589e47b35103e8e5e6a6a475b47be", + "reference": "3cb4d163b58589e47b35103e8e5e6a6a475b47be", "shasum": "" }, "require": { "php": ">=7.2", - "php-http/message-factory": "^1.0", "psr/http-factory": "^1.0", "psr/http-message": "^1.1 || ^2.0" }, @@ -3844,14 +3843,15 @@ }, "require-dev": { "http-interop/http-factory-tests": "^0.9", - "php-http/psr7-integration-tests": "^1.0@dev", - "phpunit/phpunit": "^7.5 || 8.5 || 9.4", + "php-http/message-factory": "^1.0", + "php-http/psr7-integration-tests": "^1.0", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.4", "symfony/error-handler": "^4.4" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.7-dev" + "dev-master": "1.8-dev" } }, "autoload": { @@ -3881,7 +3881,7 @@ ], "support": { "issues": "https://github.com/Nyholm/psr7/issues", - "source": "https://github.com/Nyholm/psr7/tree/1.7.0" + "source": "https://github.com/Nyholm/psr7/tree/1.8.0" }, "funding": [ { @@ -3893,7 +3893,7 @@ "type": "github" } ], - "time": "2023-04-20T08:38:48+00:00" + "time": "2023-05-02T11:26:24+00:00" }, { "name": "omines/datatables-bundle", @@ -4208,16 +4208,16 @@ }, { "name": "php-http/discovery", - "version": "1.17.0", + "version": "1.18.0", "source": { "type": "git", "url": "https://github.com/php-http/discovery.git", - "reference": "bd810d15957cf165230e65d9e1a130793265e3b7" + "reference": "29ae6fae35f4116bbfe4c8b96ccc3f687eb07cd9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-http/discovery/zipball/bd810d15957cf165230e65d9e1a130793265e3b7", - "reference": "bd810d15957cf165230e65d9e1a130793265e3b7", + "url": "https://api.github.com/repos/php-http/discovery/zipball/29ae6fae35f4116bbfe4c8b96ccc3f687eb07cd9", + "reference": "29ae6fae35f4116bbfe4c8b96ccc3f687eb07cd9", "shasum": "" }, "require": { @@ -4280,9 +4280,9 @@ ], "support": { "issues": "https://github.com/php-http/discovery/issues", - "source": "https://github.com/php-http/discovery/tree/1.17.0" + "source": "https://github.com/php-http/discovery/tree/1.18.0" }, - "time": "2023-04-26T15:39:13+00:00" + "time": "2023-05-03T14:49:12+00:00" }, { "name": "php-http/httplug", @@ -4555,16 +4555,16 @@ }, { "name": "php-translation/symfony-bundle", - "version": "0.12.8", + "version": "0.13.0", "source": { "type": "git", "url": "https://github.com/php-translation/symfony-bundle.git", - "reference": "9bd3ecace0a4019a7a4327ca9ea8df1c23ff0da3" + "reference": "be5558b3bc8cd1ee5f05f871851edbba9756413b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-translation/symfony-bundle/zipball/9bd3ecace0a4019a7a4327ca9ea8df1c23ff0da3", - "reference": "9bd3ecace0a4019a7a4327ca9ea8df1c23ff0da3", + "url": "https://api.github.com/repos/php-translation/symfony-bundle/zipball/be5558b3bc8cd1ee5f05f871851edbba9756413b", + "reference": "be5558b3bc8cd1ee5f05f871851edbba9756413b", "shasum": "" }, "require": { @@ -4626,9 +4626,9 @@ ], "support": { "issues": "https://github.com/php-translation/symfony-bundle/issues", - "source": "https://github.com/php-translation/symfony-bundle/tree/0.12.8" + "source": "https://github.com/php-translation/symfony-bundle/tree/0.13.0" }, - "time": "2022-12-19T12:38:39+00:00" + "time": "2023-02-14T11:26:31+00:00" }, { "name": "php-translation/symfony-storage", @@ -4851,16 +4851,16 @@ }, { "name": "phpstan/phpdoc-parser", - "version": "1.20.3", + "version": "1.20.4", "source": { "type": "git", "url": "https://github.com/phpstan/phpdoc-parser.git", - "reference": "6c04009f6cae6eda2f040745b6b846080ef069c2" + "reference": "7d568c87a9df9c5f7e8b5f075fc469aa8cb0a4cd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/6c04009f6cae6eda2f040745b6b846080ef069c2", - "reference": "6c04009f6cae6eda2f040745b6b846080ef069c2", + "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/7d568c87a9df9c5f7e8b5f075fc469aa8cb0a4cd", + "reference": "7d568c87a9df9c5f7e8b5f075fc469aa8cb0a4cd", "shasum": "" }, "require": { @@ -4890,9 +4890,9 @@ "description": "PHPDoc parser with support for nullable, intersection and generic types", "support": { "issues": "https://github.com/phpstan/phpdoc-parser/issues", - "source": "https://github.com/phpstan/phpdoc-parser/tree/1.20.3" + "source": "https://github.com/phpstan/phpdoc-parser/tree/1.20.4" }, - "time": "2023-04-25T09:01:03+00:00" + "time": "2023-05-02T09:19:37+00:00" }, { "name": "psr/cache", @@ -11686,16 +11686,16 @@ }, { "name": "symfony/ux-turbo", - "version": "v2.7.1", + "version": "v2.8.0", "source": { "type": "git", "url": "https://github.com/symfony/ux-turbo.git", - "reference": "2c82aad06d7c1493615d09188b70a3a86f6cc6ab" + "reference": "3b2716284ba3153d911e53f87db03aef40ff0efd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/ux-turbo/zipball/2c82aad06d7c1493615d09188b70a3a86f6cc6ab", - "reference": "2c82aad06d7c1493615d09188b70a3a86f6cc6ab", + "url": "https://api.github.com/repos/symfony/ux-turbo/zipball/3b2716284ba3153d911e53f87db03aef40ff0efd", + "reference": "3b2716284ba3153d911e53f87db03aef40ff0efd", "shasum": "" }, "require": { @@ -11761,7 +11761,7 @@ "turbo-stream" ], "support": { - "source": "https://github.com/symfony/ux-turbo/tree/v2.7.1" + "source": "https://github.com/symfony/ux-turbo/tree/v2.8.0" }, "funding": [ { @@ -11777,7 +11777,7 @@ "type": "tidelift" } ], - "time": "2023-01-24T15:40:19+00:00" + "time": "2023-04-11T18:15:46+00:00" }, { "name": "symfony/validator", @@ -12291,16 +12291,16 @@ }, { "name": "tecnickcom/tc-lib-barcode", - "version": "1.17.19", + "version": "1.17.24", "source": { "type": "git", "url": "https://github.com/tecnickcom/tc-lib-barcode.git", - "reference": "8dbed267c44cb95a903d1149b81752ec4401dab1" + "reference": "73e64cad6df33cfd05ca5009773975fcb0d9b960" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/tecnickcom/tc-lib-barcode/zipball/8dbed267c44cb95a903d1149b81752ec4401dab1", - "reference": "8dbed267c44cb95a903d1149b81752ec4401dab1", + "url": "https://api.github.com/repos/tecnickcom/tc-lib-barcode/zipball/73e64cad6df33cfd05ca5009773975fcb0d9b960", + "reference": "73e64cad6df33cfd05ca5009773975fcb0d9b960", "shasum": "" }, "require": { @@ -12312,12 +12312,12 @@ "tecnickcom/tc-lib-color": "^1.14" }, "require-dev": { - "pdepend/pdepend": "2.12.1", + "pdepend/pdepend": "2.13.0", "phploc/phploc": "7.0.2 || 6.0.2 || 5.0.0 || 4.0.1 || 3.0.1 || 2.1.5", "phpmd/phpmd": "2.13.0", - "phpunit/phpunit": "9.5.27 || 8.5.31 || 7.5.20 || 6.5.14 || 5.7.27 || 4.8.36", + "phpunit/phpunit": "10.1.2 || 9.6.7 || 8.5.31 || 7.5.20 || 6.5.14 || 5.7.27 || 4.8.36", "sebastian/phpcpd": "6.0.3 || 5.0.2 || 4.1.0 || 3.0.1 || 2.0.4", - "squizlabs/php_codesniffer": "3.7.1 || 2.9.2" + "squizlabs/php_codesniffer": "3.7.2 || 2.9.2" }, "type": "library", "autoload": { @@ -12377,7 +12377,7 @@ ], "support": { "issues": "https://github.com/tecnickcom/tc-lib-barcode/issues", - "source": "https://github.com/tecnickcom/tc-lib-barcode/tree/1.17.19" + "source": "https://github.com/tecnickcom/tc-lib-barcode/tree/1.17.24" }, "funding": [ { @@ -12385,20 +12385,20 @@ "type": "custom" } ], - "time": "2022-12-21T16:26:37+00:00" + "time": "2023-05-04T16:32:06+00:00" }, { "name": "tecnickcom/tc-lib-color", - "version": "1.14.18", + "version": "1.14.23", "source": { "type": "git", "url": "https://github.com/tecnickcom/tc-lib-color.git", - "reference": "c430e0b8a8847935a72bc5fcc334d1e4d029e23b" + "reference": "44dd214d6ccd6970b87ab54615b59015707fb888" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/tecnickcom/tc-lib-color/zipball/c430e0b8a8847935a72bc5fcc334d1e4d029e23b", - "reference": "c430e0b8a8847935a72bc5fcc334d1e4d029e23b", + "url": "https://api.github.com/repos/tecnickcom/tc-lib-color/zipball/44dd214d6ccd6970b87ab54615b59015707fb888", + "reference": "44dd214d6ccd6970b87ab54615b59015707fb888", "shasum": "" }, "require": { @@ -12406,12 +12406,12 @@ "php": ">=5.3" }, "require-dev": { - "pdepend/pdepend": "2.12.1", + "pdepend/pdepend": "2.13.0", "phploc/phploc": "7.0.2 || 6.0.2 || 5.0.0 || 4.0.1 || 3.0.1 || 2.1.5", "phpmd/phpmd": "2.13.0", - "phpunit/phpunit": "9.5.27 || 8.5.31 || 7.5.20 || 6.5.14 || 5.7.27 || 4.8.36", + "phpunit/phpunit": "10.1.2 || 9.6.7 || 8.5.31 || 7.5.20 || 6.5.14 || 5.7.27 || 4.8.36", "sebastian/phpcpd": "6.0.3 || 5.0.2 || 4.1.0 || 3.0.1 || 2.0.4", - "squizlabs/php_codesniffer": "3.7.1 || 2.9.2" + "squizlabs/php_codesniffer": "3.7.2 || 2.9.2" }, "type": "library", "autoload": { @@ -12448,7 +12448,7 @@ ], "support": { "issues": "https://github.com/tecnickcom/tc-lib-color/issues", - "source": "https://github.com/tecnickcom/tc-lib-color/tree/1.14.18" + "source": "https://github.com/tecnickcom/tc-lib-color/tree/1.14.23" }, "funding": [ { @@ -12456,7 +12456,7 @@ "type": "custom" } ], - "time": "2022-12-21T16:25:34+00:00" + "time": "2023-05-04T16:08:39+00:00" }, { "name": "thecodingmachine/safe", @@ -12652,16 +12652,16 @@ }, { "name": "twig/cssinliner-extra", - "version": "v3.5.1", + "version": "v3.6.0", "source": { "type": "git", "url": "https://github.com/twigphp/cssinliner-extra.git", - "reference": "381877765d17b0178322d68b818e0c67f9c93187" + "reference": "85c8f3d7712bab57f6162f9637613df0511f207b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/cssinliner-extra/zipball/381877765d17b0178322d68b818e0c67f9c93187", - "reference": "381877765d17b0178322d68b818e0c67f9c93187", + "url": "https://api.github.com/repos/twigphp/cssinliner-extra/zipball/85c8f3d7712bab57f6162f9637613df0511f207b", + "reference": "85c8f3d7712bab57f6162f9637613df0511f207b", "shasum": "" }, "require": { @@ -12673,11 +12673,6 @@ "symfony/phpunit-bridge": "^4.4.9|^5.0.9|^6.0" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.5-dev" - } - }, "autoload": { "psr-4": { "Twig\\Extra\\CssInliner\\": "" @@ -12706,7 +12701,7 @@ "twig" ], "support": { - "source": "https://github.com/twigphp/cssinliner-extra/tree/v3.5.1" + "source": "https://github.com/twigphp/cssinliner-extra/tree/v3.6.0" }, "funding": [ { @@ -12718,20 +12713,20 @@ "type": "tidelift" } ], - "time": "2023-02-08T07:44:55+00:00" + "time": "2023-02-09T06:45:16+00:00" }, { "name": "twig/extra-bundle", - "version": "v3.5.1", + "version": "v3.6.0", "source": { "type": "git", "url": "https://github.com/twigphp/twig-extra-bundle.git", - "reference": "a961e553a624eebdbd423ad5ab931497ca6d87cd" + "reference": "4a9674e775f49a9df5e26da66546e8f3364afe67" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/twig-extra-bundle/zipball/a961e553a624eebdbd423ad5ab931497ca6d87cd", - "reference": "a961e553a624eebdbd423ad5ab931497ca6d87cd", + "url": "https://api.github.com/repos/twigphp/twig-extra-bundle/zipball/4a9674e775f49a9df5e26da66546e8f3364afe67", + "reference": "4a9674e775f49a9df5e26da66546e8f3364afe67", "shasum": "" }, "require": { @@ -12752,11 +12747,6 @@ "twig/string-extra": "^2.12|^3.0" }, "type": "symfony-bundle", - "extra": { - "branch-alias": { - "dev-master": "3.5-dev" - } - }, "autoload": { "psr-4": { "Twig\\Extra\\TwigExtraBundle\\": "" @@ -12785,7 +12775,7 @@ "twig" ], "support": { - "source": "https://github.com/twigphp/twig-extra-bundle/tree/v3.5.1" + "source": "https://github.com/twigphp/twig-extra-bundle/tree/v3.6.0" }, "funding": [ { @@ -12797,20 +12787,20 @@ "type": "tidelift" } ], - "time": "2023-02-08T07:44:55+00:00" + "time": "2023-04-14T11:03:02+00:00" }, { "name": "twig/html-extra", - "version": "v3.5.1", + "version": "v3.6.0", "source": { "type": "git", "url": "https://github.com/twigphp/html-extra.git", - "reference": "fc65dafbf8e3e319a8666e5d5437cbd404ecc496" + "reference": "af5b336a13122d28d405714b6f2abe840632251b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/html-extra/zipball/fc65dafbf8e3e319a8666e5d5437cbd404ecc496", - "reference": "fc65dafbf8e3e319a8666e5d5437cbd404ecc496", + "url": "https://api.github.com/repos/twigphp/html-extra/zipball/af5b336a13122d28d405714b6f2abe840632251b", + "reference": "af5b336a13122d28d405714b6f2abe840632251b", "shasum": "" }, "require": { @@ -12822,11 +12812,6 @@ "symfony/phpunit-bridge": "^4.4.9|^5.0.9|^6.0" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.5-dev" - } - }, "autoload": { "psr-4": { "Twig\\Extra\\Html\\": "" @@ -12854,7 +12839,7 @@ "twig" ], "support": { - "source": "https://github.com/twigphp/html-extra/tree/v3.5.1" + "source": "https://github.com/twigphp/html-extra/tree/v3.6.0" }, "funding": [ { @@ -12866,20 +12851,20 @@ "type": "tidelift" } ], - "time": "2023-02-08T07:44:55+00:00" + "time": "2023-02-09T06:45:16+00:00" }, { "name": "twig/inky-extra", - "version": "v3.5.1", + "version": "v3.6.0", "source": { "type": "git", "url": "https://github.com/twigphp/inky-extra.git", - "reference": "4efde499b99942a27e206898e55208a8692c16ca" + "reference": "907abf7046082cc151a3ee01f268dbf5f5f28eab" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/inky-extra/zipball/4efde499b99942a27e206898e55208a8692c16ca", - "reference": "4efde499b99942a27e206898e55208a8692c16ca", + "url": "https://api.github.com/repos/twigphp/inky-extra/zipball/907abf7046082cc151a3ee01f268dbf5f5f28eab", + "reference": "907abf7046082cc151a3ee01f268dbf5f5f28eab", "shasum": "" }, "require": { @@ -12891,11 +12876,6 @@ "symfony/phpunit-bridge": "^4.4.9|^5.0.9|^6.0" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.5-dev" - } - }, "autoload": { "psr-4": { "Twig\\Extra\\Inky\\": "" @@ -12925,7 +12905,7 @@ "twig" ], "support": { - "source": "https://github.com/twigphp/inky-extra/tree/v3.5.1" + "source": "https://github.com/twigphp/inky-extra/tree/v3.6.0" }, "funding": [ { @@ -12937,20 +12917,20 @@ "type": "tidelift" } ], - "time": "2023-02-08T07:44:55+00:00" + "time": "2023-02-09T06:45:16+00:00" }, { "name": "twig/intl-extra", - "version": "v3.5.1", + "version": "v3.6.0", "source": { "type": "git", "url": "https://github.com/twigphp/intl-extra.git", - "reference": "c3ebfac1624228c0556de57a34af6b7d83a1a408" + "reference": "a97c323bebfca009d02994a5a8568c0b412a49ab" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/intl-extra/zipball/c3ebfac1624228c0556de57a34af6b7d83a1a408", - "reference": "c3ebfac1624228c0556de57a34af6b7d83a1a408", + "url": "https://api.github.com/repos/twigphp/intl-extra/zipball/a97c323bebfca009d02994a5a8568c0b412a49ab", + "reference": "a97c323bebfca009d02994a5a8568c0b412a49ab", "shasum": "" }, "require": { @@ -12962,11 +12942,6 @@ "symfony/phpunit-bridge": "^4.4.9|^5.0.9|^6.0" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.5-dev" - } - }, "autoload": { "psr-4": { "Twig\\Extra\\Intl\\": "" @@ -12994,7 +12969,7 @@ "twig" ], "support": { - "source": "https://github.com/twigphp/intl-extra/tree/v3.5.1" + "source": "https://github.com/twigphp/intl-extra/tree/v3.6.0" }, "funding": [ { @@ -13006,20 +12981,20 @@ "type": "tidelift" } ], - "time": "2023-02-08T07:44:55+00:00" + "time": "2023-02-09T06:45:16+00:00" }, { "name": "twig/markdown-extra", - "version": "v3.5.1", + "version": "v3.6.0", "source": { "type": "git", "url": "https://github.com/twigphp/markdown-extra.git", - "reference": "9474c89fd2787187a3809e5e964dfce2395ae5f0" + "reference": "8f1179e279cea6ef14066a4560b859df58acd5d8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/markdown-extra/zipball/9474c89fd2787187a3809e5e964dfce2395ae5f0", - "reference": "9474c89fd2787187a3809e5e964dfce2395ae5f0", + "url": "https://api.github.com/repos/twigphp/markdown-extra/zipball/8f1179e279cea6ef14066a4560b859df58acd5d8", + "reference": "8f1179e279cea6ef14066a4560b859df58acd5d8", "shasum": "" }, "require": { @@ -13034,11 +13009,6 @@ "symfony/phpunit-bridge": "^4.4.9|^5.0.9|^6.0" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.5-dev" - } - }, "autoload": { "psr-4": { "Twig\\Extra\\Markdown\\": "" @@ -13067,7 +13037,7 @@ "twig" ], "support": { - "source": "https://github.com/twigphp/markdown-extra/tree/v3.5.1" + "source": "https://github.com/twigphp/markdown-extra/tree/v3.6.0" }, "funding": [ { @@ -13079,20 +13049,20 @@ "type": "tidelift" } ], - "time": "2023-02-08T07:44:55+00:00" + "time": "2023-02-09T06:45:16+00:00" }, { "name": "twig/twig", - "version": "v3.5.1", + "version": "v3.6.0", "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", - "reference": "a6e0510cc793912b451fd40ab983a1d28f611c15" + "reference": "106c170d08e8415d78be2d16c3d057d0d108262b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/a6e0510cc793912b451fd40ab983a1d28f611c15", - "reference": "a6e0510cc793912b451fd40ab983a1d28f611c15", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/106c170d08e8415d78be2d16c3d057d0d108262b", + "reference": "106c170d08e8415d78be2d16c3d057d0d108262b", "shasum": "" }, "require": { @@ -13101,15 +13071,10 @@ "symfony/polyfill-mbstring": "^1.3" }, "require-dev": { - "psr/container": "^1.0", + "psr/container": "^1.0|^2.0", "symfony/phpunit-bridge": "^4.4.9|^5.0.9|^6.0" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.5-dev" - } - }, "autoload": { "psr-4": { "Twig\\": "src/" @@ -13143,7 +13108,7 @@ ], "support": { "issues": "https://github.com/twigphp/Twig/issues", - "source": "https://github.com/twigphp/Twig/tree/v3.5.1" + "source": "https://github.com/twigphp/Twig/tree/v3.6.0" }, "funding": [ { @@ -13155,7 +13120,7 @@ "type": "tidelift" } ], - "time": "2023-02-08T07:49:20+00:00" + "time": "2023-05-03T19:06:57+00:00" }, { "name": "ua-parser/uap-php", @@ -14200,16 +14165,16 @@ }, { "name": "doctrine/doctrine-fixtures-bundle", - "version": "3.4.3", + "version": "3.4.4", "source": { "type": "git", "url": "https://github.com/doctrine/DoctrineFixturesBundle.git", - "reference": "fd39829fed8f090ef6e185d33449d47c2fb59c9c" + "reference": "9ec3139c52a42e94c9fd1e95f8d2bca94326edfb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/DoctrineFixturesBundle/zipball/fd39829fed8f090ef6e185d33449d47c2fb59c9c", - "reference": "fd39829fed8f090ef6e185d33449d47c2fb59c9c", + "url": "https://api.github.com/repos/doctrine/DoctrineFixturesBundle/zipball/9ec3139c52a42e94c9fd1e95f8d2bca94326edfb", + "reference": "9ec3139c52a42e94c9fd1e95f8d2bca94326edfb", "shasum": "" }, "require": { @@ -14263,7 +14228,7 @@ ], "support": { "issues": "https://github.com/doctrine/DoctrineFixturesBundle/issues", - "source": "https://github.com/doctrine/DoctrineFixturesBundle/tree/3.4.3" + "source": "https://github.com/doctrine/DoctrineFixturesBundle/tree/3.4.4" }, "funding": [ { @@ -14279,7 +14244,7 @@ "type": "tidelift" } ], - "time": "2023-04-11T12:37:36+00:00" + "time": "2023-05-02T15:12:16+00:00" }, { "name": "ekino/phpstan-banned-code", @@ -14672,21 +14637,21 @@ }, { "name": "phpstan/phpstan-doctrine", - "version": "1.3.37", + "version": "1.3.38", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan-doctrine.git", - "reference": "62bd362b432fe29e175168689510ddd927b698f8" + "reference": "f1499e54358052fef17d349881ee87a7c4cc4c67" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan-doctrine/zipball/62bd362b432fe29e175168689510ddd927b698f8", - "reference": "62bd362b432fe29e175168689510ddd927b698f8", + "url": "https://api.github.com/repos/phpstan/phpstan-doctrine/zipball/f1499e54358052fef17d349881ee87a7c4cc4c67", + "reference": "f1499e54358052fef17d349881ee87a7c4cc4c67", "shasum": "" }, "require": { "php": "^7.2 || ^8.0", - "phpstan/phpstan": "^1.10" + "phpstan/phpstan": "^1.10.12" }, "conflict": { "doctrine/collections": "<1.0", @@ -14736,9 +14701,9 @@ "description": "Doctrine extensions for PHPStan", "support": { "issues": "https://github.com/phpstan/phpstan-doctrine/issues", - "source": "https://github.com/phpstan/phpstan-doctrine/tree/1.3.37" + "source": "https://github.com/phpstan/phpstan-doctrine/tree/1.3.38" }, - "time": "2023-03-17T14:57:03+00:00" + "time": "2023-05-04T10:53:10+00:00" }, { "name": "phpstan/phpstan-symfony", @@ -14882,12 +14847,12 @@ "source": { "type": "git", "url": "https://github.com/Roave/SecurityAdvisories.git", - "reference": "a31b8b0ce0409fca4e8fcdda046e8d4b603dc739" + "reference": "f86a07b7eb07f9297e939d8c5f97178b2c189dfe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/a31b8b0ce0409fca4e8fcdda046e8d4b603dc739", - "reference": "a31b8b0ce0409fca4e8fcdda046e8d4b603dc739", + "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/f86a07b7eb07f9297e939d8c5f97178b2c189dfe", + "reference": "f86a07b7eb07f9297e939d8c5f97178b2c189dfe", "shasum": "" }, "conflict": { @@ -14915,7 +14880,7 @@ "automad/automad": "<1.8", "awesome-support/awesome-support": "<=6.0.7", "aws/aws-sdk-php": ">=3,<3.2.1", - "azuracast/azuracast": "<0.18", + "azuracast/azuracast": "<0.18.3", "backdrop/backdrop": "<1.24.2", "badaso/core": "<2.7", "bagisto/bagisto": "<0.1.5", @@ -14963,7 +14928,7 @@ "contao/core-bundle": "<4.9.40|>=4.10,<4.11.7|>=4.13,<4.13.21|>=5.1,<5.1.4|= 4.10.0", "contao/listing-bundle": ">=4,<4.4.8", "contao/managed-edition": "<=1.5", - "craftcms/cms": "<3.7.68|>= 4.0.0-RC1, < 4.3.7|>= 4.0.0-RC1, < 4.2.1", + "craftcms/cms": "<=3.8.3|>=4,<=4.4.3|>= 4.0.0-RC1, < 4.3.7|>= 4.0.0-RC1, < 4.2.1", "croogo/croogo": "<3.0.7", "cuyz/valinor": "<0.12", "czproject/git-php": "<4.0.3", @@ -15150,7 +15115,7 @@ "modx/revolution": "<= 2.8.3-pl|<2.8", "mojo42/jirafeau": "<4.4", "monolog/monolog": ">=1.8,<1.12", - "moodle/moodle": "<4.0.7|>=4.1-beta,<4.1.2|= 3.11", + "moodle/moodle": "<4.2-rc.2|= 3.11", "mustache/mustache": ">=2,<2.14.1", "namshi/jose": "<2.2", "neoan3-apps/template": "<1.1.1", @@ -15162,7 +15127,7 @@ "netgen/tagsbundle": ">=3.4,<3.4.11|>=4,<4.0.15", "nette/application": ">=2,<2.0.19|>=2.1,<2.1.13|>=2.2,<2.2.10|>=2.3,<2.3.14|>=2.4,<2.4.16|>=3,<3.0.6", "nette/nette": ">=2,<2.0.19|>=2.1,<2.1.13", - "nilsteampassnet/teampass": "<3.0.3", + "nilsteampassnet/teampass": "<3.0.7", "notrinos/notrinos-erp": "<=0.7", "noumo/easyii": "<=0.9", "nukeviet/nukeviet": "<4.5.2", @@ -15352,7 +15317,7 @@ "thelia/thelia": ">=2.1-beta.1,<2.1.3", "theonedemon/phpwhois": "<=4.2.5", "thinkcmf/thinkcmf": "<=5.1.7", - "thorsten/phpmyfaq": "<3.1.12", + "thorsten/phpmyfaq": "<3.1.13", "tinymce/tinymce": "<5.10.7|>=6,<6.3.1", "tinymighty/wiki-seo": "<1.2.2", "titon/framework": ">=0,<9.9.99", @@ -15480,7 +15445,7 @@ "type": "tidelift" } ], - "time": "2023-04-28T21:04:09+00:00" + "time": "2023-05-06T00:13:11+00:00" }, { "name": "sebastian/diff", @@ -16152,16 +16117,16 @@ }, { "name": "vimeo/psalm", - "version": "5.9.0", + "version": "5.11.0", "source": { "type": "git", "url": "https://github.com/vimeo/psalm.git", - "reference": "8b9ad1eb9e8b7d3101f949291da2b9f7767cd163" + "reference": "c9b192ab8400fdaf04b2b13d110575adc879aa90" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vimeo/psalm/zipball/8b9ad1eb9e8b7d3101f949291da2b9f7767cd163", - "reference": "8b9ad1eb9e8b7d3101f949291da2b9f7767cd163", + "url": "https://api.github.com/repos/vimeo/psalm/zipball/c9b192ab8400fdaf04b2b13d110575adc879aa90", + "reference": "c9b192ab8400fdaf04b2b13d110575adc879aa90", "shasum": "" }, "require": { @@ -16252,9 +16217,9 @@ ], "support": { "issues": "https://github.com/vimeo/psalm/issues", - "source": "https://github.com/vimeo/psalm/tree/5.9.0" + "source": "https://github.com/vimeo/psalm/tree/5.11.0" }, - "time": "2023-03-29T21:38:21+00:00" + "time": "2023-05-04T21:35:44+00:00" } ], "aliases": [], diff --git a/yarn.lock b/yarn.lock index ecc6fd30..b0be46de 100644 --- a/yarn.lock +++ b/yarn.lock @@ -23,9 +23,9 @@ integrity sha512-KYMqFYTaenzMK4yUtf4EW9wc4N9ef80FsbMtkwool5zpwl4YrT1SdWYSTRcT94KO4hannogdS+LxY7L+arP3gA== "@babel/core@^7.19.6": - version "7.21.5" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.21.5.tgz#92f753e8b9f96e15d4b398dbe2f25d1408c9c426" - integrity sha512-9M398B/QH5DlfCOTKDZT1ozXr0x8uBEeFd+dJraGUZGiaNpGCDVGCc14hZexsMblw3XxltJ+6kSvogp9J+5a9g== + version "7.21.8" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.21.8.tgz#2a8c7f0f53d60100ba4c32470ba0281c92aa9aa4" + integrity sha512-YeM22Sondbo523Sz0+CirSPnbj9bG3P0CdHcBZdqUuaeOaYEFbOLoGU7lebvGP6P5J/WE9wOn7u7C4J9HvS1xQ== dependencies: "@ampproject/remapping" "^2.2.0" "@babel/code-frame" "^7.21.4" @@ -33,7 +33,7 @@ "@babel/helper-compilation-targets" "^7.21.5" "@babel/helper-module-transforms" "^7.21.5" "@babel/helpers" "^7.21.5" - "@babel/parser" "^7.21.5" + "@babel/parser" "^7.21.8" "@babel/template" "^7.20.7" "@babel/traverse" "^7.21.5" "@babel/types" "^7.21.5" @@ -79,9 +79,9 @@ semver "^6.3.0" "@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.21.0": - version "7.21.5" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.21.5.tgz#09a259305467d2020bd2492119ee1c1bc55029e9" - integrity sha512-yNSEck9SuDvPTEUYm4BSXl6ZVC7yO5ZLEMAhG3v3zi7RDxyL/nQDemWWZmw4L0stPWwhpnznRRyJHPRcbXR2jw== + version "7.21.8" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.21.8.tgz#205b26330258625ef8869672ebca1e0dee5a0f02" + integrity sha512-+THiN8MqiH2AczyuZrnrKL6cAxFRRQDKW9h1YkBvbgKmAm6mwiacig1qT73DHIWMGo40GRnsEfN3LA+E6NtmSw== dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" "@babel/helper-environment-visitor" "^7.21.5" @@ -94,9 +94,9 @@ semver "^6.3.0" "@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.20.5": - version "7.21.5" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.21.5.tgz#4ce6ffaf497a241aa6c62192416b273987a8daa3" - integrity sha512-1+DPMcln46eNAta/rPIqQYXYRGvQ/LRy6bRKnSt9Dzt/yLjNUbbsh+6yzD6fUHmtzc9kWvVnAhtcMSMyziHmUA== + version "7.21.8" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.21.8.tgz#a7886f61c2e29e21fd4aaeaf1e473deba6b571dc" + integrity sha512-zGuSdedkFtsFHGbexAvNuipg1hbtitDLo2XE8/uf6Y9sOQV1xsYX/2pNbtedp/X0eU1pIt+kGvaqHCowkRbS5g== dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" regexpu-core "^5.3.1" @@ -260,10 +260,10 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.18.9", "@babel/parser@^7.20.7", "@babel/parser@^7.21.5": - version "7.21.5" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.21.5.tgz#821bb520118fd25b982eaf8d37421cf5c64a312b" - integrity sha512-J+IxH2IsxV4HbnTrSWgMAQj0UEo61hDA4Ny8h8PCX0MLXiibqHbqIOVneqdocemSBc22VpBKxt4J6FQzy9HarQ== +"@babel/parser@^7.18.9", "@babel/parser@^7.20.7", "@babel/parser@^7.21.5", "@babel/parser@^7.21.8": + version "7.21.8" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.21.8.tgz#642af7d0333eab9c0ad70b14ac5e76dbde7bfdf8" + integrity sha512-6zavDGdzG3gUqAdWvlLFfk+36RilI+Pwyuuh7HItyeScCWP3k6i8vKclAQ0bM/0y/Kz/xiwvxhMv9MgTJP5gmA== "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": version "7.18.6" @@ -1713,9 +1713,9 @@ integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA== "@types/node@*": - version "18.16.3" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.16.3.tgz#6bda7819aae6ea0b386ebc5b24bdf602f1b42b01" - integrity sha512-OPs5WnnT1xkCBiuQrZA4+YAV4HEJejmHneyraIaxsbev5yCEr6KMwINNFP9wQeFIw8FWcoTqF3vQsa5CDaI+8Q== + version "20.1.0" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.1.0.tgz#258805edc37c327cf706e64c6957f241ca4c4c20" + integrity sha512-O+z53uwx64xY7D6roOi4+jApDGFg0qn6WHcxe5QeqjMaTezBO/mxdfFXIVAVVyNWKx84OmPB3L8kbVYOTeN34A== "@types/parse-json@^4.0.0": version "4.0.0" @@ -2411,9 +2411,9 @@ caniuse-api@^3.0.0: lodash.uniq "^4.5.0" caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001449: - version "1.0.30001481" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001481.tgz#f58a717afe92f9e69d0e35ff64df596bfad93912" - integrity sha512-KCqHwRnaa1InZBtqXzP98LPg0ajCVujMKjqKDhZEthIpAsJl/YEIa3YvXjGXPVqzZVguccuu7ga9KOE1J9rKPQ== + version "1.0.30001485" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001485.tgz#026bb7319f1e483391872dc303a973d4f513f619" + integrity sha512-8aUpZ7sjhlOyiNsg+pgcrTTPUXKh+rg544QYHSvQErljVEKJzvkYkCR/hUFeeVoEfTToUtY9cUKNRC7+c45YkA== chalk@^2.0.0, chalk@^2.3.2: version "2.4.2" @@ -2508,9 +2508,9 @@ cli-cursor@^3.1.0: restore-cursor "^3.1.0" cli-spinners@^2.6.1: - version "2.8.0" - resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.8.0.tgz#e97a3e2bd00e6d85aa0c13d7f9e3ce236f7787fc" - integrity sha512-/eG5sJcvEIwxcdYM86k5tPwn0MUzkX5YY3eImTGpJOZgVe4SdTMY14vQpcxgBzJ0wXwAYrS8E+c3uHeK4JNyzQ== + version "2.9.0" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.9.0.tgz#5881d0ad96381e117bbe07ad91f2008fe6ffd8db" + integrity sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g== clipboard@^2.0.4: version "2.0.11" @@ -2677,16 +2677,16 @@ cookie@0.5.0: integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== core-js-compat@^3.25.1: - version "3.30.1" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.30.1.tgz#961541e22db9c27fc48bfc13a3cafa8734171dfe" - integrity sha512-d690npR7MC6P0gq4npTl5n2VQeNAmUrJ90n+MHiKS7W2+xno4o3F5GDEuylSdi6EJ3VssibSGXOa1r3YXD3Mhw== + version "3.30.2" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.30.2.tgz#83f136e375babdb8c80ad3c22d67c69098c1dd8b" + integrity sha512-nriW1nuJjUgvkEjIot1Spwakz52V9YkYHZAQG6A1eCgC8AA1p0zngrQEP9R0+V6hji5XilWKG1Bd0YRppmGimA== dependencies: browserslist "^4.21.5" core-js@^3.23.0: - version "3.30.1" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.30.1.tgz#fc9c5adcc541d8e9fa3e381179433cbf795628ba" - integrity sha512-ZNS5nbiSwDTq4hFosEDqm65izl2CWmLz0hARJMyNQBgkUZMIF51cQiMvIQKA6hvuaeWxQDP3hEedM1JZIgTldQ== + version "3.30.2" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.30.2.tgz#6528abfda65e5ad728143ea23f7a14f0dcf503fc" + integrity sha512-uBJiDmwqsbJCWHAwjrx3cvjbMXP7xD72Dmsn5LOJpiRmE3WbBbN5rCqQ2Qh6Ek6/eOrjlWngEynBWo4VxerQhg== core-util-is@~1.0.0: version "1.0.3" @@ -3182,9 +3182,9 @@ ee-first@1.1.1: integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== electron-to-chromium@^1.4.284: - version "1.4.377" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.377.tgz#7f326a0b2c1b96eca6bb65907addc505d0d15989" - integrity sha512-H3BYG6DW5Z+l0xcfXaicJGxrpA4kMlCxnN71+iNX+dBLkRMOdVJqFJiAmbNZZKA1zISpRg17JR03qGifXNsJtw== + version "1.4.385" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.385.tgz#1afd8d6280d510145148777b899ff481c65531ff" + integrity sha512-L9zlje9bIw0h+CwPQumiuVlfMcV4boxRjFIWDcLfFqTZNbkwOExBzfmswytHawObQX4OUhtNv8gIiB21kOurIg== emoji-regex@^8.0.0: version "8.0.0" @@ -4559,10 +4559,10 @@ minipass@^3.0.0, minipass@^3.1.1: dependencies: yallist "^4.0.0" -minipass@^4.0.0: - version "4.2.8" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-4.2.8.tgz#f0010f64393ecfc1d1ccb5f582bcaf45f48e1a3a" - integrity sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ== +minipass@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-5.0.0.tgz#3e9788ffb90b694a5d0ec94479a45b5d8738133d" + integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== minizlib@^2.1.1: version "2.1.2" @@ -6057,13 +6057,13 @@ tapable@^2.1.1, tapable@^2.2.0, tapable@^2.2.1: integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== tar@^6.0.2: - version "6.1.13" - resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.13.tgz#46e22529000f612180601a6fe0680e7da508847b" - integrity sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw== + version "6.1.14" + resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.14.tgz#e87926bec1cfe7c9e783a77a79f3e81c1cfa3b66" + integrity sha512-piERznXu0U7/pW7cdSn7hjqySIVTYT6F76icmFk7ptU7dDYlXTm5r9A6K04R2vU3olYgoKeo1Cg3eeu5nhftAw== dependencies: chownr "^2.0.0" fs-minipass "^2.0.0" - minipass "^4.0.0" + minipass "^5.0.0" minizlib "^2.1.1" mkdirp "^1.0.3" yallist "^4.0.0" @@ -6525,9 +6525,9 @@ webpack-sources@^3.2.3: integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== webpack@^5.74.0: - version "5.81.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.81.0.tgz#27a2e8466c8b4820d800a8d90f06ef98294f9956" - integrity sha512-AAjaJ9S4hYCVODKLQTgG5p5e11hiMawBwV2v8MYLE0C/6UAGLuAF4n1qa9GOwdxnicaP+5k6M5HrLmD4+gIB8Q== + version "5.82.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.82.0.tgz#3c0d074dec79401db026b4ba0fb23d6333f88e7d" + integrity sha512-iGNA2fHhnDcV1bONdUu554eZx+XeldsaeQ8T67H6KKHl2nUSwX8Zm7cmzOA46ox/X1ARxf7Bjv8wQ/HsB5fxBg== dependencies: "@types/eslint-scope" "^3.7.3" "@types/estree" "^1.0.0" From 43238aff0ab48aceee11b2bb941cc847e6e13a77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Sun, 7 May 2023 00:11:13 +0200 Subject: [PATCH 04/18] Updated CKEDITOR to 37.1.0 --- package.json | 60 +++---- yarn.lock | 490 ++++++++++++++++++++++++++------------------------- 2 files changed, 276 insertions(+), 274 deletions(-) diff --git a/package.json b/package.json index ca99967e..a89480a4 100644 --- a/package.json +++ b/package.json @@ -28,38 +28,38 @@ "build": "encore production --progress" }, "dependencies": { - "@ckeditor/ckeditor5-alignment": "^36.0.0", - "@ckeditor/ckeditor5-autoformat": "^36.0.0", - "@ckeditor/ckeditor5-basic-styles": "^36.0.0", - "@ckeditor/ckeditor5-block-quote": "^36.0.0", - "@ckeditor/ckeditor5-code-block": "^36.0.0", + "@ckeditor/ckeditor5-alignment": "^37.1.0", + "@ckeditor/ckeditor5-autoformat": "^37.1.0", + "@ckeditor/ckeditor5-basic-styles": "^37.1.0", + "@ckeditor/ckeditor5-block-quote": "^37.1.0", + "@ckeditor/ckeditor5-code-block": "^37.1.0", "@ckeditor/ckeditor5-dev-utils": "^33.0.0", "@ckeditor/ckeditor5-dev-webpack-plugin": "^31.1.13", - "@ckeditor/ckeditor5-editor-classic": "^36.0.0", - "@ckeditor/ckeditor5-essentials": "^36.0.0", - "@ckeditor/ckeditor5-find-and-replace": "^36.0.0", - "@ckeditor/ckeditor5-font": "^36.0.0", - "@ckeditor/ckeditor5-heading": "^36.0.0", - "@ckeditor/ckeditor5-highlight": "^36.0.0", - "@ckeditor/ckeditor5-horizontal-line": "^36.0.0", - "@ckeditor/ckeditor5-html-embed": "^36.0.0", - "@ckeditor/ckeditor5-html-support": "^36.0.0", - "@ckeditor/ckeditor5-image": "^36.0.0", - "@ckeditor/ckeditor5-indent": "^36.0.0", - "@ckeditor/ckeditor5-link": "^36.0.0", - "@ckeditor/ckeditor5-list": "^36.0.0", - "@ckeditor/ckeditor5-markdown-gfm": "^36.0.0", - "@ckeditor/ckeditor5-media-embed": "^36.0.0", - "@ckeditor/ckeditor5-paragraph": "^36.0.0", - "@ckeditor/ckeditor5-paste-from-office": "^36.0.0", - "@ckeditor/ckeditor5-remove-format": "^36.0.0", - "@ckeditor/ckeditor5-source-editing": "^36.0.0", - "@ckeditor/ckeditor5-special-characters": "^36.0.0", - "@ckeditor/ckeditor5-table": "^36.0.0", - "@ckeditor/ckeditor5-theme-lark": "^36.0.0", - "@ckeditor/ckeditor5-upload": "^36.0.0", - "@ckeditor/ckeditor5-watchdog": "^36.0.0", - "@ckeditor/ckeditor5-word-count": "^36.0.0", + "@ckeditor/ckeditor5-editor-classic": "^37.1.0", + "@ckeditor/ckeditor5-essentials": "^37.1.0", + "@ckeditor/ckeditor5-find-and-replace": "^37.1.0", + "@ckeditor/ckeditor5-font": "^37.1.0", + "@ckeditor/ckeditor5-heading": "^37.1.0", + "@ckeditor/ckeditor5-highlight": "^37.1.0", + "@ckeditor/ckeditor5-horizontal-line": "^37.1.0", + "@ckeditor/ckeditor5-html-embed": "^37.1.0", + "@ckeditor/ckeditor5-html-support": "^37.1.0", + "@ckeditor/ckeditor5-image": "^37.1.0", + "@ckeditor/ckeditor5-indent": "^37.1.0", + "@ckeditor/ckeditor5-link": "^37.1.0", + "@ckeditor/ckeditor5-list": "^37.1.0", + "@ckeditor/ckeditor5-markdown-gfm": "^37.1.0", + "@ckeditor/ckeditor5-media-embed": "^37.1.0", + "@ckeditor/ckeditor5-paragraph": "^37.1.0", + "@ckeditor/ckeditor5-paste-from-office": "^37.1.0", + "@ckeditor/ckeditor5-remove-format": "^37.1.0", + "@ckeditor/ckeditor5-source-editing": "^37.1.0", + "@ckeditor/ckeditor5-special-characters": "^37.1.0", + "@ckeditor/ckeditor5-table": "^37.1.0", + "@ckeditor/ckeditor5-theme-lark": "^37.1.0", + "@ckeditor/ckeditor5-upload": "^37.1.0", + "@ckeditor/ckeditor5-watchdog": "^37.1.0", + "@ckeditor/ckeditor5-word-count": "^37.1.0", "@jbtronics/bs-treeview": "^1.0.1", "bootbox": "^6.0.0", "bootswatch": "^5.1.3", diff --git a/yarn.lock b/yarn.lock index b0be46de..7ac5cc4b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -912,59 +912,59 @@ "@babel/helper-validator-identifier" "^7.19.1" to-fast-properties "^2.0.0" -"@ckeditor/ckeditor5-alignment@^36.0.0": - version "36.0.1" - resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-alignment/-/ckeditor5-alignment-36.0.1.tgz#4d55ae3c20b2986dad42a8e823f325d9673ea34e" - integrity sha512-9JfoV6hlJap3Ympgf3nlNQwj+yJMc0GtGoY3LUC6rg+snPJGjDhjJNBqM5rhr/+HWKOCMrx7OaczS3yJArXW5g== +"@ckeditor/ckeditor5-alignment@^37.1.0": + version "37.1.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-alignment/-/ckeditor5-alignment-37.1.0.tgz#65588f068f6b2f9945b07ad609cac956ee99d643" + integrity sha512-VIlkssFj5Ajo6nClDnx7eWDgIkhFUMsNeR7o0xB7gfgqeLmBNKQvNr0oIRI8RQxG0/VWogWKJ68PBZ4Y22uIag== dependencies: - ckeditor5 "^36.0.1" + ckeditor5 "^37.1.0" -"@ckeditor/ckeditor5-autoformat@^36.0.0": - version "36.0.1" - resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-autoformat/-/ckeditor5-autoformat-36.0.1.tgz#5add5fc01de366bc024164a34bab8ddf2cc5b8bc" - integrity sha512-kve+Ergl40L6DzbtvyTMhbwfMZgpl0SJgsAzukQ72OyvJykQywworJ3zt/PgLCJKD+EKN80X9nR8kfBzXRG/vw== +"@ckeditor/ckeditor5-autoformat@^37.1.0": + version "37.1.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-autoformat/-/ckeditor5-autoformat-37.1.0.tgz#a4bfc9435388bb071a6bff019c8cfa961664234c" + integrity sha512-wZSuqsD6oz06fbE2zCn8PUDyax5YUDWFnB/26piLBu0HteRYFXJtIq6s2vA+zBbFfR3FL7362t+DP9VEHGigtw== dependencies: - ckeditor5 "^36.0.1" + ckeditor5 "^37.1.0" -"@ckeditor/ckeditor5-basic-styles@^36.0.0": - version "36.0.1" - resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-basic-styles/-/ckeditor5-basic-styles-36.0.1.tgz#847f722be4153b11237df159f9f5c4fc66e39b37" - integrity sha512-5qbgzsgmJP7lecf78sy6QpqbsF2BLs7WxziMrJUXQytgq4S7o+Q/uqGF/itpkQMBBnLulRFJ8/x055iOBugreQ== +"@ckeditor/ckeditor5-basic-styles@^37.1.0": + version "37.1.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-basic-styles/-/ckeditor5-basic-styles-37.1.0.tgz#d79a8dcf1b21b02bd29f17c6624fce5f627f671e" + integrity sha512-AwCiVsq5Wh0tBOPLOV0NADnZRNw210h1/xTzsO2U8TGBcbVJ4ukU07OMSvkOhi7jrA4wLZI7R+XmhZR0vsUGkA== dependencies: - ckeditor5 "^36.0.1" + ckeditor5 "^37.1.0" -"@ckeditor/ckeditor5-block-quote@^36.0.0": - version "36.0.1" - resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-block-quote/-/ckeditor5-block-quote-36.0.1.tgz#d5e7549cd46b5e54fd4bf7dac4747212c23c6811" - integrity sha512-kLvkHGiu5lAnPiUnRUc0M0Nlls179PmcOvX+YIIp62YBYTxG/R6oCC5clnnhodNiDQBEgwbxqoqTKNSkOX0VWw== +"@ckeditor/ckeditor5-block-quote@^37.1.0": + version "37.1.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-block-quote/-/ckeditor5-block-quote-37.1.0.tgz#5410892be4919edb1fa4dc26bdb4ea44ca38a3cd" + integrity sha512-975XXg4YzJ857UF7dPujGxIkyvVfU6m4/QTCKU5j2SbrTqPKCQ59PLOOgyy1qC76D/uyqV1+V+beGairUrmA1A== dependencies: - ckeditor5 "^36.0.1" + ckeditor5 "^37.1.0" -"@ckeditor/ckeditor5-clipboard@^36.0.1": - version "36.0.1" - resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-clipboard/-/ckeditor5-clipboard-36.0.1.tgz#96e150756c5b8e2979bdbf9a23987ac7cccb3829" - integrity sha512-CFh5oO29dUXwsUf/BPM8g5l8MV3hiG27/h6fpC1qRUTAVXDAj43j+cfYYs8MwNi3hv0c/1KyT1bLySqQ/LZctw== +"@ckeditor/ckeditor5-clipboard@^37.1.0": + version "37.1.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-clipboard/-/ckeditor5-clipboard-37.1.0.tgz#93be9d304f680786bc7c2042ca6160758f7b8828" + integrity sha512-0L1driXKRl1IUZ9amo+DVBGJuNjuVQ4nmuurIDqR1U8pRFt34wBzaIHivUbsKeZYe74RC4m4tE2DcUrltXwLAQ== dependencies: - "@ckeditor/ckeditor5-core" "^36.0.1" - "@ckeditor/ckeditor5-engine" "^36.0.1" - "@ckeditor/ckeditor5-utils" "^36.0.1" - "@ckeditor/ckeditor5-widget" "^36.0.1" - lodash-es "^4.17.11" + "@ckeditor/ckeditor5-core" "^37.1.0" + "@ckeditor/ckeditor5-engine" "^37.1.0" + "@ckeditor/ckeditor5-utils" "^37.1.0" + "@ckeditor/ckeditor5-widget" "^37.1.0" + lodash-es "^4.17.15" -"@ckeditor/ckeditor5-code-block@^36.0.0": - version "36.0.1" - resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-code-block/-/ckeditor5-code-block-36.0.1.tgz#519dd8081d427bd5b913e2486f2aa4095f6e3b23" - integrity sha512-jCWIM7WWg2ohC43/3cOKAqBTe2AVBxE3mfpLTqZ7W1TC7RZgRbzsrxzy5ZnjN3Ze9N6e7b+n1cUEMFn+ilhgbw== +"@ckeditor/ckeditor5-code-block@^37.1.0": + version "37.1.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-code-block/-/ckeditor5-code-block-37.1.0.tgz#ef8a3bf3e9c6213192c91420c918a46efa41b636" + integrity sha512-jZfp+LpdNkqOZuPUUb5cQSvebBFiMKXFSpMn5VM0sMpSj+Q6gr8fTxjkDEjRzqyaLuOVEy+IeOsmUjPssWqqwA== dependencies: - ckeditor5 "^36.0.1" + ckeditor5 "^37.1.0" -"@ckeditor/ckeditor5-core@^36.0.1": - version "36.0.1" - resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-core/-/ckeditor5-core-36.0.1.tgz#637c7b340b42166bd52f6e2c2891eba46d057de2" - integrity sha512-50O+DYXtaf4dMOn+3mGUvfYiE2qsCgVn114WQj7Tj3pZl5w+pAIv/2P+9cBB2Kb7QxgPZqZ7bvsi9wHqIJ6KCw== +"@ckeditor/ckeditor5-core@^37.1.0": + version "37.1.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-core/-/ckeditor5-core-37.1.0.tgz#c7ecd10cd2f5e11a43a1dab624621c2aea6aed4f" + integrity sha512-edewiWlMCK5BPN9Can0A9skob9dNDMrv09khiKaUYK5PEobZZQSyUBck52vXpt255u2rnlmhF5phTqsQo5EiOw== dependencies: - "@ckeditor/ckeditor5-engine" "^36.0.1" - "@ckeditor/ckeditor5-utils" "^36.0.1" + "@ckeditor/ckeditor5-engine" "^37.1.0" + "@ckeditor/ckeditor5-utils" "^37.1.0" lodash-es "^4.17.15" "@ckeditor/ckeditor5-dev-translations@^33.0.1": @@ -1045,273 +1045,274 @@ rimraf "^3.0.2" webpack-sources "^2.0.1" -"@ckeditor/ckeditor5-editor-classic@^36.0.0": - version "36.0.1" - resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-editor-classic/-/ckeditor5-editor-classic-36.0.1.tgz#ae7b5659b9312a2487ef2e92363df8ec73215361" - integrity sha512-/euO79HzgIxILgxbqpGaMxO3f2BSGazljAGTc+aGJQ4bs9YnkxpeCc2wxYXuUzMNev2vVqhaPTvRJzg2Bb2r9w== +"@ckeditor/ckeditor5-editor-classic@^37.1.0": + version "37.1.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-editor-classic/-/ckeditor5-editor-classic-37.1.0.tgz#37882a92b842c857041367aab6631fe64c8041cb" + integrity sha512-3XipfINHckd8NITQT9ePdk0+3vytZ567x5qDGCeTgVAKqiFYNaEmuQKir1+D8uQddbrDNolv91XcILN8XHzDWQ== dependencies: - ckeditor5 "^36.0.1" + ckeditor5 "^37.1.0" lodash-es "^4.17.15" -"@ckeditor/ckeditor5-engine@^36.0.1": - version "36.0.1" - resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-36.0.1.tgz#44092d4d42d7974a8bcad0652ece6255a2256a69" - integrity sha512-Ze2omTguUggwiL9vvLvPk+QpjEBbIOPS1Hi/ROYlsW8QSdnPbSTv+6rCIYThqJMFeonxLZWV5XwbcqpgSAs0MA== +"@ckeditor/ckeditor5-engine@^37.1.0": + version "37.1.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-37.1.0.tgz#628cb27102d70974c5d8a0a20dda893f2c76facf" + integrity sha512-D/xWNOgqk3G1qtv8P2UCmpHcIONjJE0NRJeJuJ8jppIgOYpbVG/7KSuzJYV7G1M9oGSBAeNb7U+lz7y/eg38Hw== dependencies: - "@ckeditor/ckeditor5-utils" "^36.0.1" + "@ckeditor/ckeditor5-utils" "^37.1.0" lodash-es "^4.17.15" -"@ckeditor/ckeditor5-enter@^36.0.1": - version "36.0.1" - resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-enter/-/ckeditor5-enter-36.0.1.tgz#00a473406e2d310c6d7b76c32483b58233e24f15" - integrity sha512-FHZ43bltDGFyihfBOTwBOgsS2mMU2ATR9xxFEKlDP+8+P1bq4e0YkC3t4PuwtHIZMvNHiFxqvmFtA2eznGS7sQ== +"@ckeditor/ckeditor5-enter@^37.1.0": + version "37.1.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-enter/-/ckeditor5-enter-37.1.0.tgz#4362f2560a3aa34800e9a3ff235772f4e6e5ac8f" + integrity sha512-m8e+yInNi4Hi5YWN0+Jj5ZFZjFvUi6VKPGsCSRyAmOiB3J9AO1/P4pYhhAXXpD7RzJQ0hmNiwZgRDZWeq/ZZNA== dependencies: - "@ckeditor/ckeditor5-core" "^36.0.1" - "@ckeditor/ckeditor5-engine" "^36.0.1" + "@ckeditor/ckeditor5-core" "^37.1.0" + "@ckeditor/ckeditor5-engine" "^37.1.0" + "@ckeditor/ckeditor5-utils" "^37.1.0" -"@ckeditor/ckeditor5-essentials@^36.0.0": - version "36.0.1" - resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-essentials/-/ckeditor5-essentials-36.0.1.tgz#4b5e6eca13591301b8ac5653766dbb964d729755" - integrity sha512-f6yEeSA75/hAqK+hZ09LnUj+2PSXFSTHFBzC32WKr+e2qlTx3/mArvwnnQcTj7lo7SuUmctpg7X5DD3/Rcg+HA== +"@ckeditor/ckeditor5-essentials@^37.1.0": + version "37.1.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-essentials/-/ckeditor5-essentials-37.1.0.tgz#5e6df16fe374649bad59be6319d6bd47d2d49fbe" + integrity sha512-LJl/3XHQpVvoFq22Z2JtNCog+0Z646MwEIZ70YyGyltA1fxXRpC0PrUg6NYND4AbDTHvWLUVTbQhhXzfSHw2KQ== dependencies: - ckeditor5 "^36.0.1" + ckeditor5 "^37.1.0" -"@ckeditor/ckeditor5-find-and-replace@^36.0.0": - version "36.0.1" - resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-find-and-replace/-/ckeditor5-find-and-replace-36.0.1.tgz#baa2d3e769b4991d2af5ef72c01a12f12746a898" - integrity sha512-UX8sAEpuUy017EMDrQqrKy+T6UkmXOezi1SNdtG/AdxUhvtD4yDjwAaFLnbMTMyDUFor21Tao3Lvs6aj5n4r4w== +"@ckeditor/ckeditor5-find-and-replace@^37.1.0": + version "37.1.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-find-and-replace/-/ckeditor5-find-and-replace-37.1.0.tgz#b00fe3f9db83fef7cf7e53e2403337e2830fdb44" + integrity sha512-o4Pq847A8xKzBG0Y0Bi7dqkWOgbk9znhTr+1ma0tPdwI5LeJMWXF2879boqzDv9qcS4NlURYA0b5Hfi6nj1+sQ== dependencies: - "@ckeditor/ckeditor5-ui" "^36.0.1" - "@ckeditor/ckeditor5-utils" "^36.0.1" - ckeditor5 "^36.0.1" + "@ckeditor/ckeditor5-ui" "^37.1.0" + "@ckeditor/ckeditor5-utils" "^37.1.0" + ckeditor5 "^37.1.0" lodash-es "^4.17.15" -"@ckeditor/ckeditor5-font@^36.0.0": - version "36.0.1" - resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-font/-/ckeditor5-font-36.0.1.tgz#9498b403188580d469a274fd0904fb8f71796ced" - integrity sha512-mn6nAG9AQ7bC7ywsEf5+pE09yhPSGupttfZ94bzjqTtQAAEahkiD/ympzfypWyJWCkTUlqa0/ZmF22nqcNlTEQ== +"@ckeditor/ckeditor5-font@^37.1.0": + version "37.1.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-font/-/ckeditor5-font-37.1.0.tgz#b961c83c2a2c1c9d17369631f366a5e67d717e0a" + integrity sha512-mkMEtYiPRkI6lDYG1/KK7/JaVrfU5THk4ZK9GS2H+EiUqO4sujjrwzVikPA001WbLNt3C1e+qwCo9PugW4KFlQ== dependencies: - ckeditor5 "^36.0.1" + ckeditor5 "^37.1.0" -"@ckeditor/ckeditor5-heading@^36.0.0": - version "36.0.1" - resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-heading/-/ckeditor5-heading-36.0.1.tgz#2fc3b81e8f33789f3a5ccb640ab9cca2345bdf83" - integrity sha512-elVL6y8kFFB4wCjmVTYsbx5vFoNCsPn9fAJ4/T2tElb9wszs4BsbMjScUNwVomOxuSPy3x6Qt4HG1NFVoh1FKg== +"@ckeditor/ckeditor5-heading@^37.1.0": + version "37.1.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-heading/-/ckeditor5-heading-37.1.0.tgz#025c2a59129379d41abffa37c764eeba83467f1b" + integrity sha512-fr2gOkiitJJKtJvunbitKEVwQoh26oBO7mbp/1BNSydtsOoP+B9Tl5S15WiPRAnc5pjIAT8MOJO5PQY/GDXs5Q== dependencies: - ckeditor5 "^36.0.1" + ckeditor5 "^37.1.0" -"@ckeditor/ckeditor5-highlight@^36.0.0": - version "36.0.1" - resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-highlight/-/ckeditor5-highlight-36.0.1.tgz#3e79374c95d57dc9c14d64f310654766f1ac4e71" - integrity sha512-ETMR6RHd7W0sBm9AECx0OXR16XPBehUJd11yEiiubt9+sjV5GuHKYoFAyU3Vv8fsAoWAEnKNroRxm7Xvga8jZw== +"@ckeditor/ckeditor5-highlight@^37.1.0": + version "37.1.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-highlight/-/ckeditor5-highlight-37.1.0.tgz#2c3c72e3a934ee647d3dd386b6e261a5c81b30aa" + integrity sha512-xUB/ja/ist7muW3aAy/hjwxsHWWuJyZm296sx3hW08drheDMd4FI9TG9CLyL/b0eZn9tcrCkvM8u6bQMn7N4tg== dependencies: - ckeditor5 "^36.0.1" + ckeditor5 "^37.1.0" -"@ckeditor/ckeditor5-horizontal-line@^36.0.0": - version "36.0.1" - resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-horizontal-line/-/ckeditor5-horizontal-line-36.0.1.tgz#eac037c2575c6a6d7c9a47c863dce7b537acf55f" - integrity sha512-ht3mRhImB4BNVYzr73k8syOiXLM3UNBBvaPGmbFylXiAj9+Hbh4EFR0i8e1v5fFCtGBMilBRZeFN1QlMYXHtvg== +"@ckeditor/ckeditor5-horizontal-line@^37.1.0": + version "37.1.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-horizontal-line/-/ckeditor5-horizontal-line-37.1.0.tgz#6b2cb0559c25f524302f550dcdcf37011e380dc9" + integrity sha512-Mr2E9NinKt82xpH8I7tC+TnAR3SbD8u3awGiXnxMMdrYKYACxzXNgOAsavYXmax2H7X7wO0M6A1pu63+Ng8jZQ== dependencies: - ckeditor5 "^36.0.1" + ckeditor5 "^37.1.0" -"@ckeditor/ckeditor5-html-embed@^36.0.0": - version "36.0.1" - resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-html-embed/-/ckeditor5-html-embed-36.0.1.tgz#277329cf80d58499ba219073d57364c5bce0c41f" - integrity sha512-bK7i3ccypZc+oQPzcop4DdQWv3pR+S1NJiD8Qqq/LHJyp6CI48PNNa1ZeWn8rQTbpkD51a7FUunXkmBtlbfF8g== +"@ckeditor/ckeditor5-html-embed@^37.1.0": + version "37.1.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-html-embed/-/ckeditor5-html-embed-37.1.0.tgz#6aa1456a4688e2f629f10ea79e28750f18eec387" + integrity sha512-tZkSkL/PlkIlW2mRmYRSBpYtvZsuu0U8pPCU0B46mL38YigOWmXAqGquhhiTUXVf/gKM5romeAiipBqMyE7/dw== dependencies: - ckeditor5 "^36.0.1" + ckeditor5 "^37.1.0" -"@ckeditor/ckeditor5-html-support@^36.0.0": - version "36.0.1" - resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-html-support/-/ckeditor5-html-support-36.0.1.tgz#196b2238a3e169435e3fefe2f1f996f3b8f0aa42" - integrity sha512-ofOZb+RKKNXikbigyArewijN5lnmCFDUp5k9GTUWpjDCNwEgx+sdBU6qqMKqciJGxY4/gM4qLJ4VQ56dv7r0Wg== +"@ckeditor/ckeditor5-html-support@^37.1.0": + version "37.1.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-html-support/-/ckeditor5-html-support-37.1.0.tgz#a803c0f9ba6da4d6f210fa3084d73bc785253871" + integrity sha512-7HAfTtsVmXOvmOk5sb5vyIw7HYLx1wtrqDqfDeF/tTUXa9rjwiatvhoU/mfTTGglDA3VGLI11hJu49WMyUH3xA== dependencies: - ckeditor5 "^36.0.1" + ckeditor5 "^37.1.0" lodash-es "^4.17.15" -"@ckeditor/ckeditor5-image@^36.0.0": - version "36.0.1" - resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-image/-/ckeditor5-image-36.0.1.tgz#82cfb3b3f30d2c9692daec0ca2552159bf287167" - integrity sha512-HElSvvBXL4kmwtwrAw28oIuJN1gXMr0kOYnR+sLkJGlfeymOQ4RKEqW3vOPMmN6s2RMJVoNkpytPbhzalFn3Sg== +"@ckeditor/ckeditor5-image@^37.1.0": + version "37.1.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-image/-/ckeditor5-image-37.1.0.tgz#95871c07c64a14997c902faea133ed60c80b41b0" + integrity sha512-wIKGfasamPE7MWnIoNIpmWgxlZOz8bxw8ZaLucRdJGaU1+orzQabYcqZM+y+3puAowXs2MIGcA7kSmyJPvL0Jw== dependencies: - "@ckeditor/ckeditor5-ui" "^36.0.1" - ckeditor5 "^36.0.1" + "@ckeditor/ckeditor5-ui" "^37.1.0" + ckeditor5 "^37.1.0" lodash-es "^4.17.15" -"@ckeditor/ckeditor5-indent@^36.0.0": - version "36.0.1" - resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-indent/-/ckeditor5-indent-36.0.1.tgz#82da3df0018f9f8e5645914309a6d39dc46b503d" - integrity sha512-3E+3UCP9Krr41yP8g5a/QmJEJCChOFWdrLShi0YYODkJlhI/UUJFWVDTx54x1GnnDhXt8HhpOVGHCo14+KuRfA== +"@ckeditor/ckeditor5-indent@^37.1.0": + version "37.1.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-indent/-/ckeditor5-indent-37.1.0.tgz#d6af173297b1fd07935145f1521d16ec0307db82" + integrity sha512-RBuyGV0um9l8dKwnugF0mfiL9H+AsaErhudcgfBhPFCoRQ3+vyQF3Mg14+iKdP2hybJQ6OaT+6a1P8OPzrq85Q== dependencies: - ckeditor5 "^36.0.1" + ckeditor5 "^37.1.0" -"@ckeditor/ckeditor5-link@^36.0.0": - version "36.0.1" - resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-link/-/ckeditor5-link-36.0.1.tgz#72855ca3a0f6c016b053692ca25bcdb4dfe36ce4" - integrity sha512-u0E22wCzgAWMlg5BemYAUHws6zausSek+tmI6VmTRibogsUsfso3JnWI0RXNiEd4i2w1wRspvb9S/D8iy7n4fA== +"@ckeditor/ckeditor5-link@^37.1.0": + version "37.1.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-link/-/ckeditor5-link-37.1.0.tgz#eafc600dabc685245cff930c8b317e7ca3338f86" + integrity sha512-ImVcYYfz5oR/zqHGYdvgSvfHU/7ia/psAqjL+T/5OaqMRunALdUzdtuAsMkWGEH/oF8vKRsdGeWwsyrEvTF4XA== dependencies: - "@ckeditor/ckeditor5-ui" "^36.0.1" - ckeditor5 "^36.0.1" + "@ckeditor/ckeditor5-ui" "^37.1.0" + ckeditor5 "^37.1.0" lodash-es "^4.17.15" -"@ckeditor/ckeditor5-list@^36.0.0": - version "36.0.1" - resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-list/-/ckeditor5-list-36.0.1.tgz#a1b86a32b81a8761e76933910a4d334a5bba121c" - integrity sha512-v4h5iXCqbOpjaiQRZNp1SExU7BzKfcDU9VUGZpUzFLC0S1JKVO1DAJKMxhqgUCvgGrTOrYHZoGaqNWQZXXwZQg== +"@ckeditor/ckeditor5-list@^37.1.0": + version "37.1.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-list/-/ckeditor5-list-37.1.0.tgz#3cadf72d410c8c3dee8386f3c21ef73781d88c28" + integrity sha512-hV1fNhpMkivlVuwRx0TVSEzPgciQa14uV/lbnhCmjT33WDrh8hAcYFK+kJx+9dB1OzNtyTlsMA/DxUJPdNr9TA== dependencies: - "@ckeditor/ckeditor5-ui" "^36.0.1" - ckeditor5 "^36.0.1" + "@ckeditor/ckeditor5-ui" "^37.1.0" + ckeditor5 "^37.1.0" -"@ckeditor/ckeditor5-markdown-gfm@^36.0.0": - version "36.0.1" - resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-markdown-gfm/-/ckeditor5-markdown-gfm-36.0.1.tgz#4cd59abae7d23267524efb5de9f75742328a8a6b" - integrity sha512-rc2DjcaAyNCo8GgV/3U0yrN78KBz9MazKT1t/8VSD5h/9XpkSYnpRKwginui5alUQ7wwzfo9IOsgezGzpRFUbg== +"@ckeditor/ckeditor5-markdown-gfm@^37.1.0": + version "37.1.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-markdown-gfm/-/ckeditor5-markdown-gfm-37.1.0.tgz#decc4f67df9593ff646a89f05cfd8bc731dc6d37" + integrity sha512-wPc/A7TUc+pE1VtSRKm38pQpzPxDxNvZa9g7UkFqVZ1+ZqbA/F/TpAyi/5GqVuNExqIwE5N/VEaHe+kNHOUwiA== dependencies: - ckeditor5 "^36.0.1" + ckeditor5 "^37.1.0" marked "4.0.12" turndown "^6.0.0" turndown-plugin-gfm "^1.0.2" -"@ckeditor/ckeditor5-media-embed@^36.0.0": - version "36.0.1" - resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-media-embed/-/ckeditor5-media-embed-36.0.1.tgz#4d90ac7e331969dd39ad3bbb4c7f64bada54fb58" - integrity sha512-TBl9bh+wBndkHfjjULqTYdYjbwtpO0ug4QTE5PQuAXrfvNeTAGvpYRqnJtLlASzqvUcgc3uBCXI9sO90ZUnFWw== +"@ckeditor/ckeditor5-media-embed@^37.1.0": + version "37.1.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-media-embed/-/ckeditor5-media-embed-37.1.0.tgz#aaa801a28b1c14a3d45f2067383548e9cb96f18a" + integrity sha512-FFErNy2M+32rFeI6z16J38T7VVsqk5TDWkLRVqZF/5/VOBZ/TGcAjamEYkWnuzSHakuwDUbCwT+H3JVSKNnZJA== dependencies: - "@ckeditor/ckeditor5-ui" "^36.0.1" - ckeditor5 "^36.0.1" + "@ckeditor/ckeditor5-ui" "^37.1.0" + ckeditor5 "^37.1.0" -"@ckeditor/ckeditor5-paragraph@^36.0.0", "@ckeditor/ckeditor5-paragraph@^36.0.1": - version "36.0.1" - resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-paragraph/-/ckeditor5-paragraph-36.0.1.tgz#c3a75e7e4df69f565651d0deb16cbdf785b17cff" - integrity sha512-NF1PH9WVfY81vkohj6GV1W/u1ogbZnfy60wrDy8Qp3iaFK1LJBsKNz3q1tf0WkBghaX/MUjR9E06l/OrTtaTZw== +"@ckeditor/ckeditor5-paragraph@^37.1.0": + version "37.1.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-paragraph/-/ckeditor5-paragraph-37.1.0.tgz#5607ee190a71face08df3a9e57a4e2dca4cf0576" + integrity sha512-64G9VU8xVYzJrOjngtw2Zg58mXTkf4fiBhR4lUT9yZNLpVJ/8DXtphGtuXEPrlfL4DVrthHUeNfEdQXA2DGGZQ== dependencies: - "@ckeditor/ckeditor5-core" "^36.0.1" - "@ckeditor/ckeditor5-ui" "^36.0.1" - "@ckeditor/ckeditor5-utils" "^36.0.1" + "@ckeditor/ckeditor5-core" "^37.1.0" + "@ckeditor/ckeditor5-ui" "^37.1.0" + "@ckeditor/ckeditor5-utils" "^37.1.0" -"@ckeditor/ckeditor5-paste-from-office@^36.0.0": - version "36.0.1" - resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-paste-from-office/-/ckeditor5-paste-from-office-36.0.1.tgz#ece30fb7f49a81865fd24d394c87076d53882711" - integrity sha512-JG3Ex/0mQ94E6coU16/CpnjikadCLebRLKXKYQyK/Wag7MbkKh8jgzpnZTC4Br4HvpQORfx7eC475BWF927FeQ== +"@ckeditor/ckeditor5-paste-from-office@^37.1.0": + version "37.1.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-paste-from-office/-/ckeditor5-paste-from-office-37.1.0.tgz#7ae69cf060efa0b3b095847e4f3d6bf4e8fb1eb1" + integrity sha512-4l+Wt6HCG1yraQhCfRegReWoviLkEzqPb/6QxoFiqOZkzUCmCCTgGTwL709fOg3sE5hxYd4tfPb9ARQuOkfmgQ== dependencies: - ckeditor5 "^36.0.1" + ckeditor5 "^37.1.0" -"@ckeditor/ckeditor5-remove-format@^36.0.0": - version "36.0.1" - resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-remove-format/-/ckeditor5-remove-format-36.0.1.tgz#ab7d577b5f06074cda2e11c6b5cfd3c4f13e9fcb" - integrity sha512-bOE4s5e+DiTujGm7L2AQLOtv4/hV5dQkv3czrC3OZ6wtXxAnSYHb3wWPUeIrtJTOisri4Pf9oL6If7uFKWkZNg== +"@ckeditor/ckeditor5-remove-format@^37.1.0": + version "37.1.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-remove-format/-/ckeditor5-remove-format-37.1.0.tgz#01dd9982dadacc3267e9434cba7744d6a6542d1c" + integrity sha512-nMY88h2kARvX2spO1Di/cFBojSg6JweR5LYHf9k2RjUN+6ySbF8+0U5KJt3fd7R4KXqdGAxkovQ8VlIOE75fcw== dependencies: - ckeditor5 "^36.0.1" + ckeditor5 "^37.1.0" -"@ckeditor/ckeditor5-select-all@^36.0.1": - version "36.0.1" - resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-select-all/-/ckeditor5-select-all-36.0.1.tgz#ffc105545e7d04f30a38fc5230c2a17861fe9470" - integrity sha512-8rPxcenTAoqXy1gleZvfsc7VD0IltPFq8R+blD4JL+sSMMDUtKhPuok4TA9h6Yh0nP6LfRK2fBUKIWH3xRPABg== +"@ckeditor/ckeditor5-select-all@^37.1.0": + version "37.1.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-select-all/-/ckeditor5-select-all-37.1.0.tgz#1edb6579ef77c72c50ec442dff0e2dd4b089aaa0" + integrity sha512-E5f+TQuOsrhxj/8b8/5Lhym7hF8upeL61hHJpViBhf047F2qLcRBs8SXSm9PO0xS0nzg+RxigmkiYWI5inm74g== dependencies: - "@ckeditor/ckeditor5-core" "^36.0.1" - "@ckeditor/ckeditor5-ui" "^36.0.1" - "@ckeditor/ckeditor5-utils" "^36.0.1" + "@ckeditor/ckeditor5-core" "^37.1.0" + "@ckeditor/ckeditor5-ui" "^37.1.0" + "@ckeditor/ckeditor5-utils" "^37.1.0" -"@ckeditor/ckeditor5-source-editing@^36.0.0": - version "36.0.1" - resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-source-editing/-/ckeditor5-source-editing-36.0.1.tgz#3fc48bf48b6b5dfac9ccfa21fa37c0caeadf79b8" - integrity sha512-8Hxbmt60G530zDhpVHDeY+USdRKrdGn0spx1YREVbWAhQ1kMV6FUWDGtDJx9Rbj8BRe19AtlT40ctSbKS/XVzQ== +"@ckeditor/ckeditor5-source-editing@^37.1.0": + version "37.1.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-source-editing/-/ckeditor5-source-editing-37.1.0.tgz#3050f79ac7b1213a88bcd971e4519a8dbecf4ead" + integrity sha512-gjz1DYrkCM2LsCt+y4GlHhJvtL5Q3KtSUk56lFvYLl3L76MRvK6ZQMTC6d4l1iXZS5iRS4x9hEuWjO9UtEOStw== dependencies: - "@ckeditor/ckeditor5-theme-lark" "^36.0.1" - ckeditor5 "^36.0.1" + "@ckeditor/ckeditor5-theme-lark" "^37.1.0" + ckeditor5 "^37.1.0" -"@ckeditor/ckeditor5-special-characters@^36.0.0": - version "36.0.1" - resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-special-characters/-/ckeditor5-special-characters-36.0.1.tgz#ad8d29caa1f4d6454670d0dd7a581a22a598a245" - integrity sha512-vYloQvPPU1aGJAkjDWTZvU9BbK7CLsyVg8FV+NSSbdPKAY6K4IPS52jvbCDZBHQqzmeFVEy5U8iMhbZxYdkI6g== +"@ckeditor/ckeditor5-special-characters@^37.1.0": + version "37.1.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-special-characters/-/ckeditor5-special-characters-37.1.0.tgz#6c8ed1142487526603b18c684a01956c49d2314e" + integrity sha512-p4rpeX3VX7Du/xp34EkjUQBe8dEn0ZBCeTeXYS3wRGlcCXj1BZE0vEZ9ErkpY0SwxC/UuczERqdXxqsV3Cg9qA== dependencies: - ckeditor5 "^36.0.1" + ckeditor5 "^37.1.0" -"@ckeditor/ckeditor5-table@^36.0.0": - version "36.0.1" - resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-table/-/ckeditor5-table-36.0.1.tgz#8891e3b3701c1da1a9097b11b878adfd27bef926" - integrity sha512-ishbq3Rp8n7aypswmbqAVWT5W0iYZfAfm6wS+dpSoFqzAPX6ko8+bnoTkq+Wbs1S4+JDaua7QOJw9A1L1cv17A== +"@ckeditor/ckeditor5-table@^37.1.0": + version "37.1.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-table/-/ckeditor5-table-37.1.0.tgz#517769650f250cdc8ff3d66f597d9d93b0415bf7" + integrity sha512-XXAGEZtpRz9Y0ZZtrDZCYy8jFLOVNnfgQIoSH+SJjSGyaR/DjlmLPXpSiO3R8Y8s7dRncBqK8Z0JEST7UwfdGg== dependencies: - ckeditor5 "^36.0.1" + ckeditor5 "^37.1.0" lodash-es "^4.17.15" -"@ckeditor/ckeditor5-theme-lark@^36.0.0", "@ckeditor/ckeditor5-theme-lark@^36.0.1": - version "36.0.1" - resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-theme-lark/-/ckeditor5-theme-lark-36.0.1.tgz#404c022946a8b172117eb6fbed18817bfe0a66e0" - integrity sha512-R7VnSjET52mxHEAt6+GxSHmBKddsRjkVHDxbd13GTkDl01SKjbYfVF+Ek6iVuf6eVyNu6eedRJugShZSsHhXiA== +"@ckeditor/ckeditor5-theme-lark@^37.1.0": + version "37.1.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-theme-lark/-/ckeditor5-theme-lark-37.1.0.tgz#efa69356f868751d86e32cc74ed749e2bc736e30" + integrity sha512-BbiudXFoZeLFKNTx3H9Zbr4yLn696IfFnokflMsTJMCeEjT33RhbSNxTbr6m19bobBcs3wkJaSfh0/3L4daRzQ== dependencies: - "@ckeditor/ckeditor5-ui" "^36.0.1" + "@ckeditor/ckeditor5-ui" "^37.1.0" -"@ckeditor/ckeditor5-typing@^36.0.1": - version "36.0.1" - resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-typing/-/ckeditor5-typing-36.0.1.tgz#4a38533848986bcb33905ae22068dd575ce1867f" - integrity sha512-NwXQxNxf/LLANiiteEVaLr1ZzvJd7y6+O5a6x0Tv9Uuheu80aw2Axm3icneODt05G/XT+iJmCHzUYdEiCsHUaw== +"@ckeditor/ckeditor5-typing@^37.1.0": + version "37.1.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-typing/-/ckeditor5-typing-37.1.0.tgz#080ad759e4f3869cd86cb797879c7bba3de9c4ad" + integrity sha512-dloH29SGgDu3torPKC6TDkaYvD1ic80m8WCk9xXaOUXzIYf73m+F5TQ/QcfONxb0++Sj1Pq1IQuIpqBOn82aXA== dependencies: - "@ckeditor/ckeditor5-core" "^36.0.1" - "@ckeditor/ckeditor5-engine" "^36.0.1" - "@ckeditor/ckeditor5-utils" "^36.0.1" + "@ckeditor/ckeditor5-core" "^37.1.0" + "@ckeditor/ckeditor5-engine" "^37.1.0" + "@ckeditor/ckeditor5-utils" "^37.1.0" lodash-es "^4.17.15" -"@ckeditor/ckeditor5-ui@^36.0.1": - version "36.0.1" - resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-36.0.1.tgz#66f660638f73b3e76787eb025dcf23a12cff75f7" - integrity sha512-wPqAdXUZnEAD3XPvS5vEGU2kxzTQah3wne3B1esdlbJ7dSLZDdx8r1dyKyp3/WCpCT8G+PqGvSUrlnqcy7WI5A== +"@ckeditor/ckeditor5-ui@^37.1.0": + version "37.1.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-37.1.0.tgz#284b09ea2d3265117004ef493b2ac6852e317c8f" + integrity sha512-7qpA8yS2cSDJsTh+uaxFuvfprxmw0Kd1UWDqrLNv23jUHt+25cT+46/7VLP3hPdS/bwkXWxIXV6nAlrw3gTIjQ== dependencies: - "@ckeditor/ckeditor5-core" "^36.0.1" - "@ckeditor/ckeditor5-utils" "^36.0.1" + "@ckeditor/ckeditor5-core" "^37.1.0" + "@ckeditor/ckeditor5-utils" "^37.1.0" lodash-es "^4.17.15" -"@ckeditor/ckeditor5-undo@^36.0.1": - version "36.0.1" - resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-undo/-/ckeditor5-undo-36.0.1.tgz#b392c926c34cd5162d08a55e8faebdd4d29c80a0" - integrity sha512-TBm6TAnur59f5hqlgUZ89NV3cPQw0xqqpSuVMFrvFruPmPiIay2E34Mapb5KRXr83AEPhNN8GAE2YM7HmMqKrQ== +"@ckeditor/ckeditor5-undo@^37.1.0": + version "37.1.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-undo/-/ckeditor5-undo-37.1.0.tgz#7d7489934194f5560da1ffa5df597905afaf45e0" + integrity sha512-BJMmi4mXCIZj0lO4AVL8+Fzoj6+fXx3yZxUl0i68wf+ogf36pclyiHlunIV9EKRv8OW/eY3WezRI0O2mVcKzJA== dependencies: - "@ckeditor/ckeditor5-core" "^36.0.1" - "@ckeditor/ckeditor5-engine" "^36.0.1" - "@ckeditor/ckeditor5-ui" "^36.0.1" + "@ckeditor/ckeditor5-core" "^37.1.0" + "@ckeditor/ckeditor5-engine" "^37.1.0" + "@ckeditor/ckeditor5-ui" "^37.1.0" -"@ckeditor/ckeditor5-upload@^36.0.0", "@ckeditor/ckeditor5-upload@^36.0.1": - version "36.0.1" - resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-upload/-/ckeditor5-upload-36.0.1.tgz#4d9d2e59f8d0a2d7eb409e0c9843a2144c82b1f9" - integrity sha512-932vnvO++SzfZ6EpNkOj6PPKN6vVgn5aW3gu0c1D51cF9KkCFiaMhBDsOzDRVvq/bbnDqUQ9v3j1cNo2UlC8oA== +"@ckeditor/ckeditor5-upload@^37.1.0": + version "37.1.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-upload/-/ckeditor5-upload-37.1.0.tgz#a6e425f0d0f8a2725996709def706f6eefe1fd4b" + integrity sha512-P0srTN1+gz8V4cOk+coY2HY7Gm8MkQAHPFEYCms1G1Kk7G32z4cyGWp9UqCPI0nX5GGM0qYd/Kd78BN/cNyJJw== dependencies: - "@ckeditor/ckeditor5-core" "^36.0.1" - "@ckeditor/ckeditor5-ui" "^36.0.1" - "@ckeditor/ckeditor5-utils" "^36.0.1" + "@ckeditor/ckeditor5-core" "^37.1.0" + "@ckeditor/ckeditor5-ui" "^37.1.0" + "@ckeditor/ckeditor5-utils" "^37.1.0" -"@ckeditor/ckeditor5-utils@^36.0.1": - version "36.0.1" - resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-36.0.1.tgz#d7a9943704fa4a492f79f84eda953116ac152b4b" - integrity sha512-TW/YRb0OQe88IyqRoq2xS02iXOG82NQybzMuFDnGyCaFV0hA/9ysOyWwFpxDLcPDhDgVJZIxuwvFaek9x+uCMA== +"@ckeditor/ckeditor5-utils@^37.1.0": + version "37.1.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-37.1.0.tgz#0d5dda23fa4fc065782ec8529d3c9dc7674b6895" + integrity sha512-r4rSbzMy0WFSuP0IRd+yYUMjzb279eiICksOEiHViiqoKQ8RqcGDlh+zOaACkgw6xvLxj96C5MwG2wsZsGJqcA== dependencies: lodash-es "^4.17.15" -"@ckeditor/ckeditor5-watchdog@^36.0.0": - version "36.0.1" - resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-watchdog/-/ckeditor5-watchdog-36.0.1.tgz#fa4c91f4781d8c55c9e3e1604e65644eb0720945" - integrity sha512-Zev2EB8dHDA3/K01+McnfHVvxKuoocLCfDF3DNMNRVxQ5kdQGbPgY0JCvTKrLgiieWpoelQveG2xQnIEaQphZQ== +"@ckeditor/ckeditor5-watchdog@^37.1.0": + version "37.1.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-watchdog/-/ckeditor5-watchdog-37.1.0.tgz#fb4090876359d3c3ecaab154dd3896f184e9b4a8" + integrity sha512-0d4WU2BO5n0tNzJl9iamnrFK+XEaK7gVEMIXcduznbupfFGVYFdrOXfDTdW0Yr59kpKEG8JbaWOF3aILjBRRWA== dependencies: lodash-es "^4.17.15" -"@ckeditor/ckeditor5-widget@^36.0.1": - version "36.0.1" - resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-widget/-/ckeditor5-widget-36.0.1.tgz#af4c87ce2d5a714ea0f4c1a8a41b631afbd91de0" - integrity sha512-on92cCRYLWTfwrpnFi5z4FY7NDhY+X+p6yuYStnB9d9jM3FJi3/7y2q9ojr8fSMot4pQsXCiFXzaF6yez+77wA== +"@ckeditor/ckeditor5-widget@^37.1.0": + version "37.1.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-widget/-/ckeditor5-widget-37.1.0.tgz#47eada9af92ea9f4748f9462ded3562c67b8a53a" + integrity sha512-7tWZLQrokqU28SK/gFoLgGhNshesiCC2nD+MtYie3PyXZ0nVhFDzCQxq94A02G1IpHdDW4WFKSmp2ix2z9lMNQ== dependencies: - "@ckeditor/ckeditor5-core" "^36.0.1" - "@ckeditor/ckeditor5-engine" "^36.0.1" - "@ckeditor/ckeditor5-enter" "^36.0.1" - "@ckeditor/ckeditor5-typing" "^36.0.1" - "@ckeditor/ckeditor5-ui" "^36.0.1" - "@ckeditor/ckeditor5-utils" "^36.0.1" + "@ckeditor/ckeditor5-core" "^37.1.0" + "@ckeditor/ckeditor5-engine" "^37.1.0" + "@ckeditor/ckeditor5-enter" "^37.1.0" + "@ckeditor/ckeditor5-typing" "^37.1.0" + "@ckeditor/ckeditor5-ui" "^37.1.0" + "@ckeditor/ckeditor5-utils" "^37.1.0" lodash-es "^4.17.15" -"@ckeditor/ckeditor5-word-count@^36.0.0": - version "36.0.1" - resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-word-count/-/ckeditor5-word-count-36.0.1.tgz#cf1c28ebe0ee73f266769107a09afd69ce5218c3" - integrity sha512-gU5faioZwAySQEbzYgvIV02GwFscuYBxsfQ6GPMrD3/ZMObQYog1gabRbUk+5gNULep5vXsMoyJ2hd8dWiJyOQ== +"@ckeditor/ckeditor5-word-count@^37.1.0": + version "37.1.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-word-count/-/ckeditor5-word-count-37.1.0.tgz#d9cc1cdcd4517a72fc5e5c1bc4ad34a4beb1f53d" + integrity sha512-V5da9gkx4EmiNi6f60/Ar8voZeD4Q5LC1AegNyVixOZ8fdq/fS33IBj6QBbkaX1iY1akLybONSKpGPJE3QzfLQ== dependencies: - ckeditor5 "^36.0.1" + ckeditor5 "^37.1.0" lodash-es "^4.17.15" "@csstools/selector-specificity@^2.0.0": @@ -2470,23 +2471,24 @@ ci-info@^3.2.0: resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.8.0.tgz#81408265a5380c929f0bc665d62256628ce9ef91" integrity sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw== -ckeditor5@^36.0.1: - version "36.0.1" - resolved "https://registry.yarnpkg.com/ckeditor5/-/ckeditor5-36.0.1.tgz#c3fad590f81deb1cd693be7346a827c4f297dc8a" - integrity sha512-9zKX7WIRKSDviM0s41VvW8JtDiRtNrhwrzYj4XCjGpZyIXsUKttdJYHIP5iP1MdfZU/hCvpgSUn2fmRPxFbg+Q== +ckeditor5@^37.1.0: + version "37.1.0" + resolved "https://registry.yarnpkg.com/ckeditor5/-/ckeditor5-37.1.0.tgz#8cbdd8fb2d5ea08fe49699df3668b96c439bc539" + integrity sha512-sT/w0+pZ/p8ANrNaFI+LtUYRSUECFC1lvhQqGczGWEYD+pdYQTQxYVDy8QEYE5V9E5I7uvt4Dbcq9w6TjlLC/w== dependencies: - "@ckeditor/ckeditor5-clipboard" "^36.0.1" - "@ckeditor/ckeditor5-core" "^36.0.1" - "@ckeditor/ckeditor5-engine" "^36.0.1" - "@ckeditor/ckeditor5-enter" "^36.0.1" - "@ckeditor/ckeditor5-paragraph" "^36.0.1" - "@ckeditor/ckeditor5-select-all" "^36.0.1" - "@ckeditor/ckeditor5-typing" "^36.0.1" - "@ckeditor/ckeditor5-ui" "^36.0.1" - "@ckeditor/ckeditor5-undo" "^36.0.1" - "@ckeditor/ckeditor5-upload" "^36.0.1" - "@ckeditor/ckeditor5-utils" "^36.0.1" - "@ckeditor/ckeditor5-widget" "^36.0.1" + "@ckeditor/ckeditor5-clipboard" "^37.1.0" + "@ckeditor/ckeditor5-core" "^37.1.0" + "@ckeditor/ckeditor5-engine" "^37.1.0" + "@ckeditor/ckeditor5-enter" "^37.1.0" + "@ckeditor/ckeditor5-paragraph" "^37.1.0" + "@ckeditor/ckeditor5-select-all" "^37.1.0" + "@ckeditor/ckeditor5-typing" "^37.1.0" + "@ckeditor/ckeditor5-ui" "^37.1.0" + "@ckeditor/ckeditor5-undo" "^37.1.0" + "@ckeditor/ckeditor5-upload" "^37.1.0" + "@ckeditor/ckeditor5-utils" "^37.1.0" + "@ckeditor/ckeditor5-watchdog" "^37.1.0" + "@ckeditor/ckeditor5-widget" "^37.1.0" clean-stack@^2.0.0: version "2.2.0" @@ -4370,7 +4372,7 @@ locate-path@^5.0.0: dependencies: p-locate "^4.1.0" -lodash-es@^4.17.11, lodash-es@^4.17.15: +lodash-es@^4.17.15: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee" integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== From 31e0ce4c6447b554b601a302de5dd44718e335da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Sun, 7 May 2023 00:48:47 +0200 Subject: [PATCH 05/18] Updated various yarn dependencies. We can not upgrade marked to 5.0.0 yet, as it requires node18. We will require this version when we upgrade to PHP 8.1 --- package.json | 8 +- yarn.lock | 222 ++++++++++++++++++++++++++++++++++++++++++++------- 2 files changed, 197 insertions(+), 33 deletions(-) diff --git a/package.json b/package.json index a89480a4..a8e3fc6a 100644 --- a/package.json +++ b/package.json @@ -33,7 +33,7 @@ "@ckeditor/ckeditor5-basic-styles": "^37.1.0", "@ckeditor/ckeditor5-block-quote": "^37.1.0", "@ckeditor/ckeditor5-code-block": "^37.1.0", - "@ckeditor/ckeditor5-dev-utils": "^33.0.0", + "@ckeditor/ckeditor5-dev-utils": "^37.0.0", "@ckeditor/ckeditor5-dev-webpack-plugin": "^31.1.13", "@ckeditor/ckeditor5-editor-classic": "^37.1.0", "@ckeditor/ckeditor5-essentials": "^37.1.0", @@ -73,15 +73,15 @@ "datatables.net-fixedheader-bs5": "^3.1.5", "datatables.net-responsive-bs5": "^2.2.3", "datatables.net-select-bs5": "^1.2.7", - "dompurify": "^2.0.6", + "dompurify": "^3.0.3", "emoji.json": "^14.0.0", "exports-loader": "^3.0.0", "html5-qrcode": "^2.2.1", "jszip": "^3.2.0", "katex": "^0.16.0", - "marked": "^4.0.3", + "marked": "^4.3.0", "pdfmake": "^0.2.2", - "stimulus-use": "^0.51.1", + "stimulus-use": "^0.52.0", "tom-select": "^2.1.0", "ts-loader": "^9.2.6", "typescript": "^4.0.2" diff --git a/yarn.lock b/yarn.lock index 7ac5cc4b..07d0cf08 100644 --- a/yarn.lock +++ b/yarn.lock @@ -967,10 +967,10 @@ "@ckeditor/ckeditor5-utils" "^37.1.0" lodash-es "^4.17.15" -"@ckeditor/ckeditor5-dev-translations@^33.0.1": - version "33.0.1" - resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-dev-translations/-/ckeditor5-dev-translations-33.0.1.tgz#6bd6d3ebb4c955638953f8662d2126db48f91dd5" - integrity sha512-nkq3AL8HJKk2AGQ9xIz8qf+D0aymy88twbLLKqBzjJY0ufimB0a6eOLa1Bn61eocYEowdY4fUtHJwWfEMHpthA== +"@ckeditor/ckeditor5-dev-translations@^37.0.1": + version "37.0.1" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-dev-translations/-/ckeditor5-dev-translations-37.0.1.tgz#99a8b3670c8231c9432abd89a21bf7392722ff62" + integrity sha512-TKuMHcOF0E9Vlw+7lMLseJUinxru9Ae+m50G8M21LkKJPlZAYmybE8udoCGM1ijC+1PryJetAtJWHeazBT0tTw== dependencies: "@babel/parser" "^7.18.9" "@babel/traverse" "^7.18.9" @@ -1009,20 +1009,23 @@ through2 "^3.0.1" ts-loader "^9.3.0" -"@ckeditor/ckeditor5-dev-utils@^33.0.0": - version "33.0.1" - resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-dev-utils/-/ckeditor5-dev-utils-33.0.1.tgz#44b51faaf2cf1324d548c9fadd8afd6827585574" - integrity sha512-yGZFLDbs6sxpwl5HJWfFyLlqLbw+VuQmloN2kBIuNulut6W/QOGSZt92JHpP5JI+0846+MxU8QrYkFE/4oMqIA== +"@ckeditor/ckeditor5-dev-utils@^37.0.0": + version "37.0.1" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-dev-utils/-/ckeditor5-dev-utils-37.0.1.tgz#e81b0c9d551d48c51d72f22f8a6a448c2d432d53" + integrity sha512-JBMrm10R4QzOG7Ob/BPDv/79siA1fpB8WnzKneK51YTwI/s5frdbFpVjcF32X5Hwmd6CIgWs1LBJ5S0vZzj4mw== dependencies: - "@ckeditor/ckeditor5-dev-translations" "^33.0.1" + "@ckeditor/ckeditor5-dev-translations" "^37.0.1" chalk "^3.0.0" cli-cursor "^3.1.0" cli-spinners "^2.6.1" + css-loader "^5.2.7" cssnano "^5.0.0" del "^5.0.0" + esbuild-loader "^3.0.1" fs-extra "^8.1.0" is-interactive "^1.0.0" javascript-stringify "^1.6.0" + mini-css-extract-plugin "^2.4.2" postcss "^8.4.12" postcss-import "^14.1.0" postcss-loader "^4.3.0" @@ -1033,7 +1036,6 @@ style-loader "^2.0.0" terser-webpack-plugin "^4.2.3" through2 "^3.0.1" - ts-loader "^9.3.0" "@ckeditor/ckeditor5-dev-webpack-plugin@^31.1.13": version "31.1.13" @@ -1325,6 +1327,116 @@ resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== +"@esbuild/android-arm64@0.17.18": + version "0.17.18" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.18.tgz#4aa8d8afcffb4458736ca9b32baa97d7cb5861ea" + integrity sha512-/iq0aK0eeHgSC3z55ucMAHO05OIqmQehiGay8eP5l/5l+iEr4EIbh4/MI8xD9qRFjqzgkc0JkX0LculNC9mXBw== + +"@esbuild/android-arm@0.17.18": + version "0.17.18" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.18.tgz#74a7e95af4ee212ebc9db9baa87c06a594f2a427" + integrity sha512-EmwL+vUBZJ7mhFCs5lA4ZimpUH3WMAoqvOIYhVQwdIgSpHC8ImHdsRyhHAVxpDYUSm0lWvd63z0XH1IlImS2Qw== + +"@esbuild/android-x64@0.17.18": + version "0.17.18" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.18.tgz#1dcd13f201997c9fe0b204189d3a0da4eb4eb9b6" + integrity sha512-x+0efYNBF3NPW2Xc5bFOSFW7tTXdAcpfEg2nXmxegm4mJuVeS+i109m/7HMiOQ6M12aVGGFlqJX3RhNdYM2lWg== + +"@esbuild/darwin-arm64@0.17.18": + version "0.17.18" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.18.tgz#444f3b961d4da7a89eb9bd35cfa4415141537c2a" + integrity sha512-6tY+djEAdF48M1ONWnQb1C+6LiXrKjmqjzPNPWXhu/GzOHTHX2nh8Mo2ZAmBFg0kIodHhciEgUBtcYCAIjGbjQ== + +"@esbuild/darwin-x64@0.17.18": + version "0.17.18" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.18.tgz#a6da308d0ac8a498c54d62e0b2bfb7119b22d315" + integrity sha512-Qq84ykvLvya3dO49wVC9FFCNUfSrQJLbxhoQk/TE1r6MjHo3sFF2tlJCwMjhkBVq3/ahUisj7+EpRSz0/+8+9A== + +"@esbuild/freebsd-arm64@0.17.18": + version "0.17.18" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.18.tgz#b83122bb468889399d0d63475d5aea8d6829c2c2" + integrity sha512-fw/ZfxfAzuHfaQeMDhbzxp9mc+mHn1Y94VDHFHjGvt2Uxl10mT4CDavHm+/L9KG441t1QdABqkVYwakMUeyLRA== + +"@esbuild/freebsd-x64@0.17.18": + version "0.17.18" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.18.tgz#af59e0e03fcf7f221b34d4c5ab14094862c9c864" + integrity sha512-FQFbRtTaEi8ZBi/A6kxOC0V0E9B/97vPdYjY9NdawyLd4Qk5VD5g2pbWN2VR1c0xhzcJm74HWpObPszWC+qTew== + +"@esbuild/linux-arm64@0.17.18": + version "0.17.18" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.18.tgz#8551d72ba540c5bce4bab274a81c14ed01eafdcf" + integrity sha512-R7pZvQZFOY2sxUG8P6A21eq6q+eBv7JPQYIybHVf1XkQYC+lT7nDBdC7wWKTrbvMXKRaGudp/dzZCwL/863mZQ== + +"@esbuild/linux-arm@0.17.18": + version "0.17.18" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.18.tgz#e09e76e526df4f665d4d2720d28ff87d15cdf639" + integrity sha512-jW+UCM40LzHcouIaqv3e/oRs0JM76JfhHjCavPxMUti7VAPh8CaGSlS7cmyrdpzSk7A+8f0hiedHqr/LMnfijg== + +"@esbuild/linux-ia32@0.17.18": + version "0.17.18" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.18.tgz#47878860ce4fe73a36fd8627f5647bcbbef38ba4" + integrity sha512-ygIMc3I7wxgXIxk6j3V00VlABIjq260i967Cp9BNAk5pOOpIXmd1RFQJQX9Io7KRsthDrQYrtcx7QCof4o3ZoQ== + +"@esbuild/linux-loong64@0.17.18": + version "0.17.18" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.18.tgz#3f8fbf5267556fc387d20b2e708ce115de5c967a" + integrity sha512-bvPG+MyFs5ZlwYclCG1D744oHk1Pv7j8psF5TfYx7otCVmcJsEXgFEhQkbhNW8otDHL1a2KDINW20cfCgnzgMQ== + +"@esbuild/linux-mips64el@0.17.18": + version "0.17.18" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.18.tgz#9d896d8f3c75f6c226cbeb840127462e37738226" + integrity sha512-oVqckATOAGuiUOa6wr8TXaVPSa+6IwVJrGidmNZS1cZVx0HqkTMkqFGD2HIx9H1RvOwFeWYdaYbdY6B89KUMxA== + +"@esbuild/linux-ppc64@0.17.18": + version "0.17.18" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.18.tgz#3d9deb60b2d32c9985bdc3e3be090d30b7472783" + integrity sha512-3dLlQO+b/LnQNxgH4l9rqa2/IwRJVN9u/bK63FhOPB4xqiRqlQAU0qDU3JJuf0BmaH0yytTBdoSBHrb2jqc5qQ== + +"@esbuild/linux-riscv64@0.17.18": + version "0.17.18" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.18.tgz#8a943cf13fd24ff7ed58aefb940ef178f93386bc" + integrity sha512-/x7leOyDPjZV3TcsdfrSI107zItVnsX1q2nho7hbbQoKnmoeUWjs+08rKKt4AUXju7+3aRZSsKrJtaRmsdL1xA== + +"@esbuild/linux-s390x@0.17.18": + version "0.17.18" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.18.tgz#66cb01f4a06423e5496facabdce4f7cae7cb80e5" + integrity sha512-cX0I8Q9xQkL/6F5zWdYmVf5JSQt+ZfZD2bJudZrWD+4mnUvoZ3TDDXtDX2mUaq6upMFv9FlfIh4Gfun0tbGzuw== + +"@esbuild/linux-x64@0.17.18": + version "0.17.18" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.18.tgz#23c26050c6c5d1359c7b774823adc32b3883b6c9" + integrity sha512-66RmRsPlYy4jFl0vG80GcNRdirx4nVWAzJmXkevgphP1qf4dsLQCpSKGM3DUQCojwU1hnepI63gNZdrr02wHUA== + +"@esbuild/netbsd-x64@0.17.18": + version "0.17.18" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.18.tgz#789a203d3115a52633ff6504f8cbf757f15e703b" + integrity sha512-95IRY7mI2yrkLlTLb1gpDxdC5WLC5mZDi+kA9dmM5XAGxCME0F8i4bYH4jZreaJ6lIZ0B8hTrweqG1fUyW7jbg== + +"@esbuild/openbsd-x64@0.17.18": + version "0.17.18" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.18.tgz#d7b998a30878f8da40617a10af423f56f12a5e90" + integrity sha512-WevVOgcng+8hSZ4Q3BKL3n1xTv5H6Nb53cBrtzzEjDbbnOmucEVcZeGCsCOi9bAOcDYEeBZbD2SJNBxlfP3qiA== + +"@esbuild/sunos-x64@0.17.18": + version "0.17.18" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.18.tgz#ecad0736aa7dae07901ba273db9ef3d3e93df31f" + integrity sha512-Rzf4QfQagnwhQXVBS3BYUlxmEbcV7MY+BH5vfDZekU5eYpcffHSyjU8T0xucKVuOcdCsMo+Ur5wmgQJH2GfNrg== + +"@esbuild/win32-arm64@0.17.18": + version "0.17.18" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.18.tgz#58dfc177da30acf956252d7c8ae9e54e424887c4" + integrity sha512-Kb3Ko/KKaWhjeAm2YoT/cNZaHaD1Yk/pa3FTsmqo9uFh1D1Rfco7BBLIPdDOozrObj2sahslFuAQGvWbgWldAg== + +"@esbuild/win32-ia32@0.17.18": + version "0.17.18" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.18.tgz#340f6163172b5272b5ae60ec12c312485f69232b" + integrity sha512-0/xUMIdkVHwkvxfbd5+lfG7mHOf2FRrxNbPiKWg9C4fFrB8H0guClmaM3BFiRUYrznVoyxTIyC/Ou2B7QQSwmw== + +"@esbuild/win32-x64@0.17.18": + version "0.17.18" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.18.tgz#3a8e57153905308db357fd02f57c180ee3a0a1fa" + integrity sha512-qU25Ma1I3NqTSHJUOKi9sAH1/Mzuvlke0ioMJRthLXKm7JiSKVwFghlGbDLOO2sARECGhja4xYfRAZNPAkooYg== + "@foliojs-fork/fontkit@^1.9.1": version "1.9.1" resolved "https://registry.yarnpkg.com/@foliojs-fork/fontkit/-/fontkit-1.9.1.tgz#8124649168eb5273f580f66697a139fb5041296b" @@ -2725,6 +2837,22 @@ css-declaration-sorter@^6.3.1: resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-6.4.0.tgz#630618adc21724484b3e9505bce812def44000ad" integrity sha512-jDfsatwWMWN0MODAFuHszfjphEXfNw9JUAhmY4pLu3TyTU+ohUpsbVtbU+1MZn4a47D9kqh03i4eyOm+74+zew== +css-loader@^5.2.7: + version "5.2.7" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-5.2.7.tgz#9b9f111edf6fb2be5dc62525644cbc9c232064ae" + integrity sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg== + dependencies: + icss-utils "^5.1.0" + loader-utils "^2.0.0" + postcss "^8.2.15" + postcss-modules-extract-imports "^3.0.0" + postcss-modules-local-by-default "^4.0.0" + postcss-modules-scope "^3.0.0" + postcss-modules-values "^4.0.0" + postcss-value-parser "^4.1.0" + schema-utils "^3.0.0" + semver "^7.3.5" + css-loader@^6.7.0: version "6.7.3" resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.7.3.tgz#1e8799f3ccc5874fdd55461af51137fcc5befbcd" @@ -3152,10 +3280,10 @@ domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.1: dependencies: domelementtype "^2.2.0" -dompurify@^2.0.6: - version "2.4.5" - resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-2.4.5.tgz#0e89a27601f0bad978f9a924e7a05d5d2cccdd87" - integrity sha512-jggCCd+8Iqp4Tsz0nIvpcb22InKEBrGz5dw3EQJMs8HPJDsKbFIO3STYtAvCfDx26Muevn1MHVI0XxjgFfmiSA== +dompurify@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-3.0.3.tgz#4b115d15a091ddc96f232bcef668550a2f6f1430" + integrity sha512-axQ9zieHLnAnHh0sfAamKYiqXMJAVwu+LM/alQ7WDagoWessyWvMSFyW65CqF3owufNu8HBcE4cM2Vflu7YWcQ== domutils@^2.5.2, domutils@^2.8.0: version "2.8.0" @@ -3295,6 +3423,44 @@ es6-symbol@^3.1.1, es6-symbol@^3.1.3, es6-symbol@~3.1.1: d "^1.0.1" ext "^1.1.2" +esbuild-loader@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/esbuild-loader/-/esbuild-loader-3.0.1.tgz#9871c0e8817c4c11b6249d1916832e75272e6c7e" + integrity sha512-aZfGybqTeuyCd4AsVvWOOfkhIuN+wfZFjMyh3gyQEU1Uvsl8L6vye9HqP93iRa0iTA+6Jclap514PJIC3cLnMA== + dependencies: + esbuild "^0.17.6" + get-tsconfig "^4.4.0" + loader-utils "^2.0.4" + webpack-sources "^1.4.3" + +esbuild@^0.17.6: + version "0.17.18" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.18.tgz#f4f8eb6d77384d68cd71c53eb6601c7efe05e746" + integrity sha512-z1lix43jBs6UKjcZVKOw2xx69ffE2aG0PygLL5qJ9OS/gy0Ewd1gW/PUQIOIQGXBHWNywSc0floSKoMFF8aK2w== + optionalDependencies: + "@esbuild/android-arm" "0.17.18" + "@esbuild/android-arm64" "0.17.18" + "@esbuild/android-x64" "0.17.18" + "@esbuild/darwin-arm64" "0.17.18" + "@esbuild/darwin-x64" "0.17.18" + "@esbuild/freebsd-arm64" "0.17.18" + "@esbuild/freebsd-x64" "0.17.18" + "@esbuild/linux-arm" "0.17.18" + "@esbuild/linux-arm64" "0.17.18" + "@esbuild/linux-ia32" "0.17.18" + "@esbuild/linux-loong64" "0.17.18" + "@esbuild/linux-mips64el" "0.17.18" + "@esbuild/linux-ppc64" "0.17.18" + "@esbuild/linux-riscv64" "0.17.18" + "@esbuild/linux-s390x" "0.17.18" + "@esbuild/linux-x64" "0.17.18" + "@esbuild/netbsd-x64" "0.17.18" + "@esbuild/openbsd-x64" "0.17.18" + "@esbuild/sunos-x64" "0.17.18" + "@esbuild/win32-arm64" "0.17.18" + "@esbuild/win32-ia32" "0.17.18" + "@esbuild/win32-x64" "0.17.18" + escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" @@ -3684,6 +3850,11 @@ get-stream@^6.0.0: resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== +get-tsconfig@^4.4.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/get-tsconfig/-/get-tsconfig-4.5.0.tgz#6d52d1c7b299bd3ee9cd7638561653399ac77b0f" + integrity sha512-MjhiaIWCJ1sAU4pIQ5i5OfOuHHxVo1oYeNsWTON7jxYkod8pHocXeh+SSbmu5OZZZK73B6cbJ2XADzXehLyovQ== + glob-parent@^5.1.2, glob-parent@~5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" @@ -3803,11 +3974,6 @@ has@^1.0.1, has@^1.0.3: dependencies: function-bind "^1.1.1" -hotkeys-js@>=3: - version "3.10.2" - resolved "https://registry.yarnpkg.com/hotkeys-js/-/hotkeys-js-3.10.2.tgz#cf52661904f5a13a973565cb97085fea2f5ae257" - integrity sha512-Z6vLmJTYzkbZZXlBkhrYB962Q/rZGc/WHQiyEGu9ZZVF7bAeFDjjDa31grWREuw9Ygb4zmlov2bTkPYqj0aFnQ== - hpack.js@^2.1.6: version "2.1.6" resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" @@ -4348,7 +4514,7 @@ loader-runner@^4.2.0: resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1" integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== -loader-utils@^2.0.0: +loader-utils@^2.0.0, loader-utils@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.4.tgz#8b5cb38b5c34a9a018ee1fc0e6a066d1dfcc528c" integrity sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw== @@ -4430,7 +4596,7 @@ marked@4.0.12: resolved "https://registry.yarnpkg.com/marked/-/marked-4.0.12.tgz#2262a4e6fd1afd2f13557726238b69a48b982f7d" integrity sha512-hgibXWrEDNBWgGiK18j/4lkS6ihTe9sxtV4Q1OQppb/0zzyPSzoFANBa5MfsG/zgsWklmNnhm0XACZOH/0HBiQ== -marked@^4.0.3: +marked@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/marked/-/marked-4.3.0.tgz#796362821b019f734054582038b116481b456cf3" integrity sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A== @@ -4509,7 +4675,7 @@ mimic-fn@^2.1.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== -mini-css-extract-plugin@^2.6.0: +mini-css-extract-plugin@^2.4.2, mini-css-extract-plugin@^2.6.0: version "2.7.5" resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.5.tgz#afbb344977659ec0f1f6e050c7aea456b121cfc5" integrity sha512-9HaR++0mlgom81s95vvNjxkg52n2b5s//3ZTI1EtzFb98awsLSivs2LMsVqnQ3ay0PVhqWcGNyDaTE961FOcjQ== @@ -5254,7 +5420,7 @@ postcss-value-parser@^4.0.0, postcss-value-parser@^4.1.0, postcss-value-parser@^ resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== -postcss@^8.2.14, postcss@^8.4.12, postcss@^8.4.17, postcss@^8.4.19: +postcss@^8.2.14, postcss@^8.2.15, postcss@^8.4.12, postcss@^8.4.17, postcss@^8.4.19: version "8.4.23" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.23.tgz#df0aee9ac7c5e53e1075c24a3613496f9e6552ab" integrity sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA== @@ -5934,12 +6100,10 @@ statuses@2.0.1: resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== -stimulus-use@^0.51.1: - version "0.51.3" - resolved "https://registry.yarnpkg.com/stimulus-use/-/stimulus-use-0.51.3.tgz#d7ac671aff8d0db253296dec89d38aa6f4b27e2a" - integrity sha512-V4YETxMFL4/bpmcqlwFtaOaJg9sLF+XlWsvXrsoWVA5jffsqe7uAvV6gGPPQta7Hgx01vovA0yNsWUe2eU9Jmw== - dependencies: - hotkeys-js ">=3" +stimulus-use@^0.52.0: + version "0.52.0" + resolved "https://registry.yarnpkg.com/stimulus-use/-/stimulus-use-0.52.0.tgz#a52df4e2b59f3273fc6941f98fa173f0892d4e9d" + integrity sha512-b2Z2krSSIqKvG9ncrjMlxbX3SYg9mgL0g/1Zc25jTZjTr0//wgg7szUi9G67amBs/yLqO12GAEnudybZgYNnjA== string-width@^4.2.3: version "4.2.3" From 13193c936834aca0a20e4ac51175a5e1766a439e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Sun, 7 May 2023 01:05:12 +0200 Subject: [PATCH 06/18] Fixed issue that searching in part notes were not possible This fixes issue #288 --- src/DataTables/Filters/PartSearchFilter.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/DataTables/Filters/PartSearchFilter.php b/src/DataTables/Filters/PartSearchFilter.php index ff19b53e..ccbb71fd 100644 --- a/src/DataTables/Filters/PartSearchFilter.php +++ b/src/DataTables/Filters/PartSearchFilter.php @@ -86,6 +86,9 @@ class PartSearchFilter implements FilterInterface if($this->description) { $fields_to_search[] = 'part.description'; } + if ($this->comment) { + $fields_to_search[] = 'part.comment'; + } if($this->tags) { $fields_to_search[] = 'part.tags'; } From 61ea31240366b3077d49c1b18d3a2916f702f81c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Sun, 7 May 2023 02:27:16 +0200 Subject: [PATCH 07/18] Added continous testing for legacy Part-DB import --- .github/assets/legacy_import/db_jbtronics.sql | 752 ++++++++++++++++++ .github/assets/legacy_import/db_minimal.sql | 736 +++++++++++++++++ .../legacy_import/test_legacy_import.sh | 37 + .github/workflows/tests.yml | 6 + 4 files changed, 1531 insertions(+) create mode 100644 .github/assets/legacy_import/db_jbtronics.sql create mode 100644 .github/assets/legacy_import/db_minimal.sql create mode 100644 .github/assets/legacy_import/test_legacy_import.sh diff --git a/.github/assets/legacy_import/db_jbtronics.sql b/.github/assets/legacy_import/db_jbtronics.sql new file mode 100644 index 00000000..5237461f --- /dev/null +++ b/.github/assets/legacy_import/db_jbtronics.sql @@ -0,0 +1,752 @@ +-- phpMyAdmin SQL Dump +-- version 5.1.3 +-- https://www.phpmyadmin.net/ +-- +-- Host: 127.0.0.1 +-- Erstellungszeit: 07. Mai 2023 um 01:58 +-- Server-Version: 10.6.5-MariaDB-log +-- PHP-Version: 8.1.2 + +SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; +START TRANSACTION; +SET time_zone = "+00:00"; + + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!40101 SET NAMES utf8mb4 */; + +-- +-- Datenbank: `partdb_demo` +-- + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `attachements` +-- + +CREATE TABLE `attachements` ( + `id` int(11) NOT NULL, + `name` tinytext COLLATE utf8mb3_unicode_ci NOT NULL, + `class_name` varchar(255) COLLATE utf8mb3_unicode_ci NOT NULL, + `element_id` int(11) NOT NULL, + `type_id` int(11) NOT NULL, + `filename` mediumtext COLLATE utf8mb3_unicode_ci NOT NULL, + `show_in_table` tinyint(1) NOT NULL DEFAULT 0, + `last_modified` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci; + +-- +-- Daten für Tabelle `attachements` +-- + +INSERT INTO `attachements` (`id`, `name`, `class_name`, `element_id`, `type_id`, `filename`, `show_in_table`, `last_modified`) VALUES +(1, 'BC547', 'Part', 2, 2, '%BASE%/data/media/bc547.pdf', 1, '0000-00-00 00:00:00'); + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `attachement_types` +-- + +CREATE TABLE `attachement_types` ( + `id` int(11) NOT NULL, + `name` tinytext COLLATE utf8mb3_unicode_ci NOT NULL, + `parent_id` int(11) DEFAULT NULL, + `comment` text COLLATE utf8mb3_unicode_ci DEFAULT NULL, + `datetime_added` timestamp NOT NULL DEFAULT current_timestamp(), + `last_modified` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci; + +-- +-- Daten für Tabelle `attachement_types` +-- + +INSERT INTO `attachement_types` (`id`, `name`, `parent_id`, `comment`, `datetime_added`, `last_modified`) VALUES +(1, 'Bilder', NULL, NULL, '2017-10-21 17:58:48', '0000-00-00 00:00:00'), +(2, 'Datenblätter', NULL, NULL, '2017-10-21 17:58:48', '0000-00-00 00:00:00'); + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `categories` +-- + +CREATE TABLE `categories` ( + `id` int(11) NOT NULL, + `name` tinytext COLLATE utf8mb3_unicode_ci NOT NULL, + `parent_id` int(11) DEFAULT NULL, + `disable_footprints` tinyint(1) NOT NULL DEFAULT 0, + `disable_manufacturers` tinyint(1) NOT NULL DEFAULT 0, + `disable_autodatasheets` tinyint(1) NOT NULL DEFAULT 0, + `disable_properties` tinyint(1) NOT NULL DEFAULT 0, + `partname_regex` text COLLATE utf8mb3_unicode_ci NOT NULL, + `partname_hint` text COLLATE utf8mb3_unicode_ci NOT NULL, + `default_description` text COLLATE utf8mb3_unicode_ci NOT NULL, + `default_comment` text COLLATE utf8mb3_unicode_ci NOT NULL, + `comment` text COLLATE utf8mb3_unicode_ci DEFAULT NULL, + `datetime_added` timestamp NOT NULL DEFAULT current_timestamp(), + `last_modified` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci; + +-- +-- Daten für Tabelle `categories` +-- + +INSERT INTO `categories` (`id`, `name`, `parent_id`, `disable_footprints`, `disable_manufacturers`, `disable_autodatasheets`, `disable_properties`, `partname_regex`, `partname_hint`, `default_description`, `default_comment`, `comment`, `datetime_added`, `last_modified`) VALUES +(1, 'aktive Bauteile', NULL, 0, 0, 0, 0, '', '', '', '', NULL, '2017-10-21 17:58:49', '0000-00-00 00:00:00'); + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `devices` +-- + +CREATE TABLE `devices` ( + `id` int(11) NOT NULL, + `name` tinytext COLLATE utf8mb3_unicode_ci NOT NULL, + `parent_id` int(11) DEFAULT NULL, + `order_quantity` int(11) NOT NULL DEFAULT 0, + `order_only_missing_parts` tinyint(1) NOT NULL DEFAULT 0, + `datetime_added` timestamp NOT NULL DEFAULT current_timestamp(), + `last_modified` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `comment` text COLLATE utf8mb3_unicode_ci DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci; + +-- +-- Daten für Tabelle `devices` +-- + +INSERT INTO `devices` (`id`, `name`, `parent_id`, `order_quantity`, `order_only_missing_parts`, `datetime_added`, `last_modified`, `comment`) VALUES +(1, 'Test', NULL, 0, 0, '2015-04-16 15:08:56', '0000-00-00 00:00:00', NULL); + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `device_parts` +-- + +CREATE TABLE `device_parts` ( + `id` int(11) NOT NULL, + `id_part` int(11) NOT NULL DEFAULT 0, + `id_device` int(11) NOT NULL DEFAULT 0, + `quantity` int(11) NOT NULL DEFAULT 0, + `mountnames` mediumtext COLLATE utf8mb3_unicode_ci NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci; + +-- +-- Daten für Tabelle `device_parts` +-- + +INSERT INTO `device_parts` (`id`, `id_part`, `id_device`, `quantity`, `mountnames`) VALUES +(1, 2, 1, 1, ''); + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `footprints` +-- + +CREATE TABLE `footprints` ( + `id` int(11) NOT NULL, + `name` tinytext COLLATE utf8mb3_unicode_ci NOT NULL, + `filename` mediumtext COLLATE utf8mb3_unicode_ci NOT NULL, + `filename_3d` mediumtext COLLATE utf8mb3_unicode_ci NOT NULL, + `parent_id` int(11) DEFAULT NULL, + `comment` text COLLATE utf8mb3_unicode_ci DEFAULT NULL, + `datetime_added` timestamp NOT NULL DEFAULT current_timestamp(), + `last_modified` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci; + +-- +-- Daten für Tabelle `footprints` +-- + +INSERT INTO `footprints` (`id`, `name`, `filename`, `filename_3d`, `parent_id`, `comment`, `datetime_added`, `last_modified`) VALUES +(1, 'LEDs', '%BASE%/img/footprints/Optik/LEDs/Bedrahtet/LED-GELB_3MM.png', '', NULL, NULL, '2017-10-21 17:58:49', '0000-00-00 00:00:00'); + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `groups` +-- + +CREATE TABLE `groups` ( + `id` int(11) NOT NULL, + `name` varchar(32) NOT NULL, + `parent_id` int(11) DEFAULT NULL, + `comment` mediumtext DEFAULT NULL, + `perms_system` int(11) NOT NULL, + `perms_groups` int(11) NOT NULL, + `perms_users` int(11) NOT NULL, + `perms_self` int(11) NOT NULL, + `perms_system_config` int(11) NOT NULL, + `perms_system_database` int(11) NOT NULL, + `perms_parts` bigint(11) NOT NULL, + `perms_parts_name` smallint(6) NOT NULL, + `perms_parts_description` smallint(6) NOT NULL, + `perms_parts_instock` smallint(6) NOT NULL, + `perms_parts_mininstock` smallint(6) NOT NULL, + `perms_parts_footprint` smallint(6) NOT NULL, + `perms_parts_storelocation` smallint(6) NOT NULL, + `perms_parts_manufacturer` smallint(6) NOT NULL, + `perms_parts_comment` smallint(6) NOT NULL, + `perms_parts_order` smallint(6) NOT NULL, + `perms_parts_orderdetails` smallint(6) NOT NULL, + `perms_parts_prices` smallint(6) NOT NULL, + `perms_parts_attachements` smallint(6) NOT NULL, + `perms_devices` int(11) NOT NULL, + `perms_devices_parts` int(11) NOT NULL, + `perms_storelocations` int(11) NOT NULL, + `perms_footprints` int(11) NOT NULL, + `perms_categories` int(11) NOT NULL, + `perms_suppliers` int(11) NOT NULL, + `perms_manufacturers` int(11) NOT NULL, + `perms_attachement_types` int(11) NOT NULL, + `perms_tools` int(11) NOT NULL, + `perms_labels` smallint(6) NOT NULL, + `datetime_added` timestamp NOT NULL DEFAULT current_timestamp(), + `last_modified` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3; + +-- +-- Daten für Tabelle `groups` +-- + +INSERT INTO `groups` (`id`, `name`, `parent_id`, `comment`, `perms_system`, `perms_groups`, `perms_users`, `perms_self`, `perms_system_config`, `perms_system_database`, `perms_parts`, `perms_parts_name`, `perms_parts_description`, `perms_parts_instock`, `perms_parts_mininstock`, `perms_parts_footprint`, `perms_parts_storelocation`, `perms_parts_manufacturer`, `perms_parts_comment`, `perms_parts_order`, `perms_parts_orderdetails`, `perms_parts_prices`, `perms_parts_attachements`, `perms_devices`, `perms_devices_parts`, `perms_storelocations`, `perms_footprints`, `perms_categories`, `perms_suppliers`, `perms_manufacturers`, `perms_attachement_types`, `perms_tools`, `perms_labels`, `datetime_added`, `last_modified`) VALUES +(1, 'admins', NULL, 'Users of this group can do everything: Read, Write and Administrative actions.', 21, 1365, 87381, 85, 85, 21, 1431655765, 5, 5, 5, 5, 5, 5, 5, 5, 5, 325, 325, 325, 5461, 325, 5461, 5461, 5461, 5461, 5461, 1365, 1365, 85, '2017-10-21 17:58:46', '2018-10-08 17:27:41'), +(2, 'readonly', NULL, 'Users of this group can only read informations, use tools, and don\'t have access to administrative tools.', 2, 2730, 43690, 25, 170, 42, 2778027689, 9, 9, 9, 9, 9, 9, 9, 9, 9, 649, 649, 649, 1705, 649, 1705, 1705, 1705, 1705, 1705, 681, 1366, 165, '2017-10-21 17:58:46', '2018-10-08 17:28:35'), +(3, 'users', NULL, 'Users of this group, can edit part informations, create new ones, etc. but are not allowed to use administrative tools. (But can read current configuration, and see Server status)', 42, 2730, 43689, 89, 105, 41, 1431655765, 5, 5, 5, 5, 5, 5, 5, 5, 5, 325, 325, 325, 5461, 325, 5461, 5461, 5461, 5461, 5461, 1365, 1365, 85, '2017-10-21 17:58:46', '2018-10-08 17:28:17'); + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `internal` +-- + +CREATE TABLE `internal` ( + `keyName` char(30) CHARACTER SET ascii NOT NULL, + `keyValue` varchar(255) COLLATE utf8mb3_unicode_ci DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci; + +-- +-- Daten für Tabelle `internal` +-- + +INSERT INTO `internal` (`keyName`, `keyValue`) VALUES +('dbVersion', '26'); + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `log` +-- + +CREATE TABLE `log` ( + `id` int(11) NOT NULL, + `datetime` timestamp NOT NULL DEFAULT current_timestamp(), + `id_user` int(11) NOT NULL, + `level` tinyint(4) NOT NULL, + `type` smallint(6) NOT NULL, + `target_id` int(11) NOT NULL, + `target_type` smallint(6) NOT NULL, + `extra` mediumtext NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3; + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `manufacturers` +-- + +CREATE TABLE `manufacturers` ( + `id` int(11) NOT NULL, + `name` tinytext COLLATE utf8mb3_unicode_ci NOT NULL, + `parent_id` int(11) DEFAULT NULL, + `address` mediumtext COLLATE utf8mb3_unicode_ci NOT NULL, + `phone_number` tinytext COLLATE utf8mb3_unicode_ci NOT NULL, + `fax_number` tinytext COLLATE utf8mb3_unicode_ci NOT NULL, + `email_address` tinytext COLLATE utf8mb3_unicode_ci NOT NULL, + `website` tinytext COLLATE utf8mb3_unicode_ci NOT NULL, + `auto_product_url` tinytext COLLATE utf8mb3_unicode_ci NOT NULL, + `datetime_added` timestamp NOT NULL DEFAULT current_timestamp(), + `comment` text COLLATE utf8mb3_unicode_ci DEFAULT NULL, + `last_modified` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci; + +-- +-- Daten für Tabelle `manufacturers` +-- + +INSERT INTO `manufacturers` (`id`, `name`, `parent_id`, `address`, `phone_number`, `fax_number`, `email_address`, `website`, `auto_product_url`, `datetime_added`, `comment`, `last_modified`) VALUES +(1, 'Atmel', NULL, '', '', '', '', '', '', '2015-03-01 11:27:10', NULL, '0000-00-00 00:00:00'); + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `orderdetails` +-- + +CREATE TABLE `orderdetails` ( + `id` int(11) NOT NULL, + `part_id` int(11) NOT NULL, + `id_supplier` int(11) NOT NULL DEFAULT 0, + `supplierpartnr` tinytext COLLATE utf8mb3_unicode_ci NOT NULL, + `obsolete` tinyint(1) DEFAULT 0, + `supplier_product_url` tinytext COLLATE utf8mb3_unicode_ci NOT NULL, + `datetime_added` timestamp NOT NULL DEFAULT current_timestamp() +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci; + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `parts` +-- + +CREATE TABLE `parts` ( + `id` int(11) NOT NULL, + `id_category` int(11) NOT NULL DEFAULT 0, + `name` mediumtext COLLATE utf8mb3_unicode_ci NOT NULL, + `description` mediumtext COLLATE utf8mb3_unicode_ci NOT NULL, + `instock` int(11) NOT NULL DEFAULT 0, + `mininstock` int(11) NOT NULL DEFAULT 0, + `comment` mediumtext COLLATE utf8mb3_unicode_ci NOT NULL, + `visible` tinyint(1) NOT NULL, + `id_footprint` int(11) DEFAULT NULL, + `id_storelocation` int(11) DEFAULT NULL, + `order_orderdetails_id` int(11) DEFAULT NULL, + `order_quantity` int(11) NOT NULL DEFAULT 1, + `manual_order` tinyint(1) NOT NULL DEFAULT 0, + `id_manufacturer` int(11) DEFAULT NULL, + `id_master_picture_attachement` int(11) DEFAULT NULL, + `manufacturer_product_url` tinytext COLLATE utf8mb3_unicode_ci NOT NULL, + `datetime_added` timestamp NOT NULL DEFAULT current_timestamp(), + `last_modified` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `favorite` tinyint(1) NOT NULL DEFAULT 0 +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci; + +-- +-- Daten für Tabelle `parts` +-- + +INSERT INTO `parts` (`id`, `id_category`, `name`, `description`, `instock`, `mininstock`, `comment`, `visible`, `id_footprint`, `id_storelocation`, `order_orderdetails_id`, `order_quantity`, `manual_order`, `id_manufacturer`, `id_master_picture_attachement`, `manufacturer_product_url`, `datetime_added`, `last_modified`, `favorite`) VALUES +(2, 1, 'BC547C', 'NPN 45V 0,1A 0,5W', 59, 0, '', 0, 1, 1, NULL, 1, 0, NULL, NULL, '', '2015-03-01 10:40:31', '2016-12-26 10:48:49', 0); + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `pricedetails` +-- + +CREATE TABLE `pricedetails` ( + `id` int(11) NOT NULL, + `orderdetails_id` int(11) NOT NULL, + `price` decimal(11,5) DEFAULT NULL, + `price_related_quantity` int(11) NOT NULL DEFAULT 1, + `min_discount_quantity` int(11) NOT NULL DEFAULT 1, + `manual_input` tinyint(1) NOT NULL DEFAULT 1, + `last_modified` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci; + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `storelocations` +-- + +CREATE TABLE `storelocations` ( + `id` int(11) NOT NULL, + `name` tinytext COLLATE utf8mb3_unicode_ci NOT NULL, + `parent_id` int(11) DEFAULT NULL, + `is_full` tinyint(1) NOT NULL DEFAULT 0, + `datetime_added` timestamp NOT NULL DEFAULT current_timestamp(), + `comment` text COLLATE utf8mb3_unicode_ci DEFAULT NULL, + `last_modified` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci; + +-- +-- Daten für Tabelle `storelocations` +-- + +INSERT INTO `storelocations` (`id`, `name`, `parent_id`, `is_full`, `datetime_added`, `comment`, `last_modified`) VALUES +(1, 'Halbleiter I', NULL, 0, '2015-03-01 11:26:37', NULL, '0000-00-00 00:00:00'); + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `suppliers` +-- + +CREATE TABLE `suppliers` ( + `id` int(11) NOT NULL, + `name` tinytext COLLATE utf8mb3_unicode_ci NOT NULL, + `parent_id` int(11) DEFAULT NULL, + `address` mediumtext COLLATE utf8mb3_unicode_ci NOT NULL, + `phone_number` tinytext COLLATE utf8mb3_unicode_ci NOT NULL, + `fax_number` tinytext COLLATE utf8mb3_unicode_ci NOT NULL, + `email_address` tinytext COLLATE utf8mb3_unicode_ci NOT NULL, + `website` tinytext COLLATE utf8mb3_unicode_ci NOT NULL, + `auto_product_url` tinytext COLLATE utf8mb3_unicode_ci NOT NULL, + `datetime_added` timestamp NOT NULL DEFAULT current_timestamp(), + `comment` text COLLATE utf8mb3_unicode_ci DEFAULT NULL, + `last_modified` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci; + +-- +-- Daten für Tabelle `suppliers` +-- + +INSERT INTO `suppliers` (`id`, `name`, `parent_id`, `address`, `phone_number`, `fax_number`, `email_address`, `website`, `auto_product_url`, `datetime_added`, `comment`, `last_modified`) VALUES +(1, 'Test', NULL, '', '', '', '', '', 'Test', '2015-03-01 10:37:23', NULL, '0000-00-00 00:00:00'); + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `users` +-- + +CREATE TABLE `users` ( + `id` int(11) NOT NULL, + `name` varchar(32) NOT NULL, + `password` varchar(255) DEFAULT NULL, + `first_name` tinytext DEFAULT NULL, + `last_name` tinytext DEFAULT NULL, + `department` tinytext DEFAULT NULL, + `email` tinytext DEFAULT NULL, + `need_pw_change` tinyint(1) NOT NULL DEFAULT 0, + `group_id` int(11) DEFAULT NULL, + `config_language` tinytext DEFAULT NULL, + `config_timezone` tinytext DEFAULT NULL, + `config_theme` tinytext DEFAULT NULL, + `config_currency` tinytext DEFAULT NULL, + `config_image_path` text NOT NULL, + `config_instock_comment_w` text NOT NULL, + `config_instock_comment_a` text NOT NULL, + `perms_system` int(11) NOT NULL, + `perms_groups` int(11) NOT NULL, + `perms_users` int(11) NOT NULL, + `perms_self` int(11) NOT NULL, + `perms_system_config` int(11) NOT NULL, + `perms_system_database` int(11) NOT NULL, + `perms_parts` bigint(11) NOT NULL, + `perms_parts_name` smallint(6) NOT NULL, + `perms_parts_description` smallint(6) NOT NULL, + `perms_parts_instock` smallint(6) NOT NULL, + `perms_parts_mininstock` smallint(6) NOT NULL, + `perms_parts_footprint` smallint(6) NOT NULL, + `perms_parts_storelocation` smallint(6) NOT NULL, + `perms_parts_manufacturer` smallint(6) NOT NULL, + `perms_parts_comment` smallint(6) NOT NULL, + `perms_parts_order` smallint(6) NOT NULL, + `perms_parts_orderdetails` smallint(6) NOT NULL, + `perms_parts_prices` smallint(6) NOT NULL, + `perms_parts_attachements` smallint(6) NOT NULL, + `perms_devices` int(11) NOT NULL, + `perms_devices_parts` int(11) NOT NULL, + `perms_storelocations` int(11) NOT NULL, + `perms_footprints` int(11) NOT NULL, + `perms_categories` int(11) NOT NULL, + `perms_suppliers` int(11) NOT NULL, + `perms_manufacturers` int(11) NOT NULL, + `perms_attachement_types` int(11) NOT NULL, + `perms_tools` int(11) NOT NULL, + `perms_labels` smallint(6) NOT NULL, + `datetime_added` timestamp NOT NULL DEFAULT current_timestamp(), + `last_modified` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3; + +-- +-- Daten für Tabelle `users` +-- + +INSERT INTO `users` (`id`, `name`, `password`, `first_name`, `last_name`, `department`, `email`, `need_pw_change`, `group_id`, `config_language`, `config_timezone`, `config_theme`, `config_currency`, `config_image_path`, `config_instock_comment_w`, `config_instock_comment_a`, `perms_system`, `perms_groups`, `perms_users`, `perms_self`, `perms_system_config`, `perms_system_database`, `perms_parts`, `perms_parts_name`, `perms_parts_description`, `perms_parts_instock`, `perms_parts_mininstock`, `perms_parts_footprint`, `perms_parts_storelocation`, `perms_parts_manufacturer`, `perms_parts_comment`, `perms_parts_order`, `perms_parts_orderdetails`, `perms_parts_prices`, `perms_parts_attachements`, `perms_devices`, `perms_devices_parts`, `perms_storelocations`, `perms_footprints`, `perms_categories`, `perms_suppliers`, `perms_manufacturers`, `perms_attachement_types`, `perms_tools`, `perms_labels`, `datetime_added`, `last_modified`) VALUES +(1, 'anonymous', '', '', '', '', '', 0, 2, '', '', '', NULL, '', '', '', 21848, 20480, 0, 0, 0, 0, 0, 21840, 21840, 21840, 21840, 21840, 21840, 21840, 21840, 21840, 21520, 21520, 21520, 20480, 21520, 20480, 20480, 20480, 20480, 20480, 21504, 20480, 0, '2017-10-21 17:58:46', '2018-02-18 12:46:58'), +(2, 'admin', '$2a$12$j0RKrKlx60bzX1DWMyXwjeaW.pe3bFjAK8ByIGnvjrRnET2JtsFoe', 'Admin', 'Ad', NULL, 'admin@ras.pi', 0, 1, '', '', '', NULL, '', '', '', 21845, 21845, 21845, 21, 85, 21, 349525, 21845, 21845, 21845, 21845, 21845, 21845, 21845, 21845, 21845, 21845, 21845, 21845, 21845, 21845, 21845, 21845, 21845, 21845, 21845, 21845, 21845, 0, '2017-10-21 17:58:46', '2017-12-23 11:04:48'); + +-- +-- Indizes der exportierten Tabellen +-- + +-- +-- Indizes für die Tabelle `attachements` +-- +ALTER TABLE `attachements` + ADD PRIMARY KEY (`id`), + ADD KEY `attachements_class_name_k` (`class_name`), + ADD KEY `attachements_element_id_k` (`element_id`), + ADD KEY `attachements_type_id_fk` (`type_id`); + +-- +-- Indizes für die Tabelle `attachement_types` +-- +ALTER TABLE `attachement_types` + ADD PRIMARY KEY (`id`), + ADD KEY `attachement_types_parent_id_k` (`parent_id`); + +-- +-- Indizes für die Tabelle `categories` +-- +ALTER TABLE `categories` + ADD PRIMARY KEY (`id`), + ADD KEY `categories_parent_id_k` (`parent_id`); + +-- +-- Indizes für die Tabelle `devices` +-- +ALTER TABLE `devices` + ADD PRIMARY KEY (`id`), + ADD KEY `devices_parent_id_k` (`parent_id`); + +-- +-- Indizes für die Tabelle `device_parts` +-- +ALTER TABLE `device_parts` + ADD PRIMARY KEY (`id`), + ADD UNIQUE KEY `device_parts_combination_uk` (`id_part`,`id_device`), + ADD KEY `device_parts_id_part_k` (`id_part`), + ADD KEY `device_parts_id_device_k` (`id_device`); + +-- +-- Indizes für die Tabelle `footprints` +-- +ALTER TABLE `footprints` + ADD PRIMARY KEY (`id`), + ADD KEY `footprints_parent_id_k` (`parent_id`); + +-- +-- Indizes für die Tabelle `groups` +-- +ALTER TABLE `groups` + ADD PRIMARY KEY (`id`), + ADD UNIQUE KEY `name` (`name`); + +-- +-- Indizes für die Tabelle `internal` +-- +ALTER TABLE `internal` + ADD UNIQUE KEY `keyName` (`keyName`); + +-- +-- Indizes für die Tabelle `log` +-- +ALTER TABLE `log` + ADD PRIMARY KEY (`id`), + ADD KEY `id_user` (`id_user`); + +-- +-- Indizes für die Tabelle `manufacturers` +-- +ALTER TABLE `manufacturers` + ADD PRIMARY KEY (`id`), + ADD KEY `manufacturers_parent_id_k` (`parent_id`); + +-- +-- Indizes für die Tabelle `orderdetails` +-- +ALTER TABLE `orderdetails` + ADD PRIMARY KEY (`id`), + ADD KEY `orderdetails_part_id_k` (`part_id`), + ADD KEY `orderdetails_id_supplier_k` (`id_supplier`); + +-- +-- Indizes für die Tabelle `parts` +-- +ALTER TABLE `parts` + ADD PRIMARY KEY (`id`), + ADD KEY `parts_id_category_k` (`id_category`), + ADD KEY `parts_id_footprint_k` (`id_footprint`), + ADD KEY `parts_id_storelocation_k` (`id_storelocation`), + ADD KEY `parts_order_orderdetails_id_k` (`order_orderdetails_id`), + ADD KEY `parts_id_manufacturer_k` (`id_manufacturer`), + ADD KEY `favorite` (`favorite`); + +-- +-- Indizes für die Tabelle `pricedetails` +-- +ALTER TABLE `pricedetails` + ADD PRIMARY KEY (`id`), + ADD UNIQUE KEY `pricedetails_combination_uk` (`orderdetails_id`,`min_discount_quantity`), + ADD KEY `pricedetails_orderdetails_id_k` (`orderdetails_id`); + +-- +-- Indizes für die Tabelle `storelocations` +-- +ALTER TABLE `storelocations` + ADD PRIMARY KEY (`id`), + ADD KEY `storelocations_parent_id_k` (`parent_id`); + +-- +-- Indizes für die Tabelle `suppliers` +-- +ALTER TABLE `suppliers` + ADD PRIMARY KEY (`id`), + ADD KEY `suppliers_parent_id_k` (`parent_id`); + +-- +-- Indizes für die Tabelle `users` +-- +ALTER TABLE `users` + ADD PRIMARY KEY (`id`), + ADD UNIQUE KEY `name` (`name`); + +-- +-- AUTO_INCREMENT für exportierte Tabellen +-- + +-- +-- AUTO_INCREMENT für Tabelle `attachements` +-- +ALTER TABLE `attachements` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=201; + +-- +-- AUTO_INCREMENT für Tabelle `attachement_types` +-- +ALTER TABLE `attachement_types` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3; + +-- +-- AUTO_INCREMENT für Tabelle `categories` +-- +ALTER TABLE `categories` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=123; + +-- +-- AUTO_INCREMENT für Tabelle `devices` +-- +ALTER TABLE `devices` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2; + +-- +-- AUTO_INCREMENT für Tabelle `device_parts` +-- +ALTER TABLE `device_parts` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=12; + +-- +-- AUTO_INCREMENT für Tabelle `footprints` +-- +ALTER TABLE `footprints` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=82; + +-- +-- AUTO_INCREMENT für Tabelle `groups` +-- +ALTER TABLE `groups` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4; + +-- +-- AUTO_INCREMENT für Tabelle `log` +-- +ALTER TABLE `log` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=218; + +-- +-- AUTO_INCREMENT für Tabelle `manufacturers` +-- +ALTER TABLE `manufacturers` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2; + +-- +-- AUTO_INCREMENT für Tabelle `orderdetails` +-- +ALTER TABLE `orderdetails` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=650; + +-- +-- AUTO_INCREMENT für Tabelle `parts` +-- +ALTER TABLE `parts` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=1171; + +-- +-- AUTO_INCREMENT für Tabelle `pricedetails` +-- +ALTER TABLE `pricedetails` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=437; + +-- +-- AUTO_INCREMENT für Tabelle `storelocations` +-- +ALTER TABLE `storelocations` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=340; + +-- +-- AUTO_INCREMENT für Tabelle `suppliers` +-- +ALTER TABLE `suppliers` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5; + +-- +-- AUTO_INCREMENT für Tabelle `users` +-- +ALTER TABLE `users` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6; + +-- +-- Constraints der exportierten Tabellen +-- + +-- +-- Constraints der Tabelle `attachements` +-- +ALTER TABLE `attachements` + ADD CONSTRAINT `attachements_type_id_fk` FOREIGN KEY (`type_id`) REFERENCES `attachement_types` (`id`); + +-- +-- Constraints der Tabelle `attachement_types` +-- +ALTER TABLE `attachement_types` + ADD CONSTRAINT `attachement_types_parent_id_fk` FOREIGN KEY (`parent_id`) REFERENCES `attachement_types` (`id`); + +-- +-- Constraints der Tabelle `categories` +-- +ALTER TABLE `categories` + ADD CONSTRAINT `categories_parent_id_fk` FOREIGN KEY (`parent_id`) REFERENCES `categories` (`id`); + +-- +-- Constraints der Tabelle `devices` +-- +ALTER TABLE `devices` + ADD CONSTRAINT `devices_parent_id_fk` FOREIGN KEY (`parent_id`) REFERENCES `devices` (`id`); + +-- +-- Constraints der Tabelle `footprints` +-- +ALTER TABLE `footprints` + ADD CONSTRAINT `footprints_parent_id_fk` FOREIGN KEY (`parent_id`) REFERENCES `footprints` (`id`); + +-- +-- Constraints der Tabelle `manufacturers` +-- +ALTER TABLE `manufacturers` + ADD CONSTRAINT `manufacturers_parent_id_fk` FOREIGN KEY (`parent_id`) REFERENCES `manufacturers` (`id`); + +-- +-- Constraints der Tabelle `parts` +-- +ALTER TABLE `parts` + ADD CONSTRAINT `parts_id_footprint_fk` FOREIGN KEY (`id_footprint`) REFERENCES `footprints` (`id`), + ADD CONSTRAINT `parts_id_manufacturer_fk` FOREIGN KEY (`id_manufacturer`) REFERENCES `manufacturers` (`id`), + ADD CONSTRAINT `parts_id_storelocation_fk` FOREIGN KEY (`id_storelocation`) REFERENCES `storelocations` (`id`), + ADD CONSTRAINT `parts_order_orderdetails_id_fk` FOREIGN KEY (`order_orderdetails_id`) REFERENCES `orderdetails` (`id`); + +-- +-- Constraints der Tabelle `storelocations` +-- +ALTER TABLE `storelocations` + ADD CONSTRAINT `storelocations_parent_id_fk` FOREIGN KEY (`parent_id`) REFERENCES `storelocations` (`id`); + +-- +-- Constraints der Tabelle `suppliers` +-- +ALTER TABLE `suppliers` + ADD CONSTRAINT `suppliers_parent_id_fk` FOREIGN KEY (`parent_id`) REFERENCES `suppliers` (`id`); +COMMIT; + +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; diff --git a/.github/assets/legacy_import/db_minimal.sql b/.github/assets/legacy_import/db_minimal.sql new file mode 100644 index 00000000..7f29d5dc --- /dev/null +++ b/.github/assets/legacy_import/db_minimal.sql @@ -0,0 +1,736 @@ +-- phpMyAdmin SQL Dump +-- version 5.1.3 +-- https://www.phpmyadmin.net/ +-- +-- Host: 127.0.0.1 +-- Erstellungszeit: 07. Mai 2023 um 01:48 +-- Server-Version: 10.6.5-MariaDB-log +-- PHP-Version: 8.1.2 + +SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; +START TRANSACTION; +SET time_zone = "+00:00"; + + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!40101 SET NAMES utf8mb4 */; + +-- +-- Datenbank: `partdb-legacy` +-- + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `attachements` +-- + +CREATE TABLE `attachements` ( + `id` int(11) NOT NULL, + `name` tinytext COLLATE utf8mb3_unicode_ci NOT NULL, + `class_name` varchar(255) COLLATE utf8mb3_unicode_ci NOT NULL, + `element_id` int(11) NOT NULL, + `type_id` int(11) NOT NULL, + `filename` mediumtext COLLATE utf8mb3_unicode_ci NOT NULL, + `show_in_table` tinyint(1) NOT NULL DEFAULT 0, + `last_modified` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci; + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `attachement_types` +-- + +CREATE TABLE `attachement_types` ( + `id` int(11) NOT NULL, + `name` tinytext COLLATE utf8mb3_unicode_ci NOT NULL, + `parent_id` int(11) DEFAULT NULL, + `comment` text COLLATE utf8mb3_unicode_ci DEFAULT NULL, + `datetime_added` timestamp NOT NULL DEFAULT current_timestamp(), + `last_modified` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci; + +-- +-- Daten für Tabelle `attachement_types` +-- + +INSERT INTO `attachement_types` (`id`, `name`, `parent_id`, `comment`, `datetime_added`, `last_modified`) VALUES +(1, 'Bilder', NULL, NULL, '2023-01-07 18:31:48', '0000-00-00 00:00:00'), +(2, 'Datenblätter', NULL, NULL, '2023-01-07 18:31:48', '0000-00-00 00:00:00'); + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `categories` +-- + +CREATE TABLE `categories` ( + `id` int(11) NOT NULL, + `name` tinytext COLLATE utf8mb3_unicode_ci NOT NULL, + `parent_id` int(11) DEFAULT NULL, + `disable_footprints` tinyint(1) NOT NULL DEFAULT 0, + `disable_manufacturers` tinyint(1) NOT NULL DEFAULT 0, + `disable_autodatasheets` tinyint(1) NOT NULL DEFAULT 0, + `disable_properties` tinyint(1) NOT NULL DEFAULT 0, + `partname_regex` text COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT '', + `partname_hint` text COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT '', + `default_description` text COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT '', + `default_comment` text COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT '', + `comment` text COLLATE utf8mb3_unicode_ci DEFAULT NULL, + `datetime_added` timestamp NOT NULL DEFAULT current_timestamp(), + `last_modified` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci; + +-- +-- Daten für Tabelle `categories` +-- + +INSERT INTO `categories` (`id`, `name`, `parent_id`, `disable_footprints`, `disable_manufacturers`, `disable_autodatasheets`, `disable_properties`, `partname_regex`, `partname_hint`, `default_description`, `default_comment`, `comment`, `datetime_added`, `last_modified`) VALUES +(1, 'Test', NULL, 0, 0, 0, 0, '', '', '', '', '', '2023-01-07 18:32:29', '2023-01-07 18:32:29'); + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `devices` +-- + +CREATE TABLE `devices` ( + `id` int(11) NOT NULL, + `name` tinytext COLLATE utf8mb3_unicode_ci NOT NULL, + `parent_id` int(11) DEFAULT NULL, + `order_quantity` int(11) NOT NULL DEFAULT 0, + `order_only_missing_parts` tinyint(1) NOT NULL DEFAULT 0, + `datetime_added` timestamp NOT NULL DEFAULT current_timestamp(), + `last_modified` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `comment` text COLLATE utf8mb3_unicode_ci DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci; + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `device_parts` +-- + +CREATE TABLE `device_parts` ( + `id` int(11) NOT NULL, + `id_part` int(11) NOT NULL DEFAULT 0, + `id_device` int(11) NOT NULL DEFAULT 0, + `quantity` int(11) NOT NULL DEFAULT 0, + `mountnames` mediumtext COLLATE utf8mb3_unicode_ci NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci; + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `footprints` +-- + +CREATE TABLE `footprints` ( + `id` int(11) NOT NULL, + `name` tinytext COLLATE utf8mb3_unicode_ci NOT NULL, + `filename` mediumtext COLLATE utf8mb3_unicode_ci NOT NULL, + `filename_3d` mediumtext COLLATE utf8mb3_unicode_ci NOT NULL, + `parent_id` int(11) DEFAULT NULL, + `comment` text COLLATE utf8mb3_unicode_ci DEFAULT NULL, + `datetime_added` timestamp NOT NULL DEFAULT current_timestamp(), + `last_modified` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci; + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `groups` +-- + +CREATE TABLE `groups` ( + `id` int(11) NOT NULL, + `name` varchar(32) NOT NULL, + `parent_id` int(11) DEFAULT NULL, + `comment` mediumtext DEFAULT NULL, + `perms_system` int(11) NOT NULL, + `perms_groups` int(11) NOT NULL, + `perms_users` int(11) NOT NULL, + `perms_self` int(11) NOT NULL, + `perms_system_config` int(11) NOT NULL, + `perms_system_database` int(11) NOT NULL, + `perms_parts` bigint(11) NOT NULL, + `perms_parts_name` smallint(6) NOT NULL, + `perms_parts_description` smallint(6) NOT NULL, + `perms_parts_instock` smallint(6) NOT NULL, + `perms_parts_mininstock` smallint(6) NOT NULL, + `perms_parts_footprint` smallint(6) NOT NULL, + `perms_parts_storelocation` smallint(6) NOT NULL, + `perms_parts_manufacturer` smallint(6) NOT NULL, + `perms_parts_comment` smallint(6) NOT NULL, + `perms_parts_order` smallint(6) NOT NULL, + `perms_parts_orderdetails` smallint(6) NOT NULL, + `perms_parts_prices` smallint(6) NOT NULL, + `perms_parts_attachements` smallint(6) NOT NULL, + `perms_devices` int(11) NOT NULL, + `perms_devices_parts` int(11) NOT NULL, + `perms_storelocations` int(11) NOT NULL, + `perms_footprints` int(11) NOT NULL, + `perms_categories` int(11) NOT NULL, + `perms_suppliers` int(11) NOT NULL, + `perms_manufacturers` int(11) NOT NULL, + `perms_attachement_types` int(11) NOT NULL, + `perms_tools` int(11) NOT NULL, + `perms_labels` smallint(6) NOT NULL, + `datetime_added` timestamp NOT NULL DEFAULT current_timestamp(), + `last_modified` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +-- +-- Daten für Tabelle `groups` +-- + +INSERT INTO `groups` (`id`, `name`, `parent_id`, `comment`, `perms_system`, `perms_groups`, `perms_users`, `perms_self`, `perms_system_config`, `perms_system_database`, `perms_parts`, `perms_parts_name`, `perms_parts_description`, `perms_parts_instock`, `perms_parts_mininstock`, `perms_parts_footprint`, `perms_parts_storelocation`, `perms_parts_manufacturer`, `perms_parts_comment`, `perms_parts_order`, `perms_parts_orderdetails`, `perms_parts_prices`, `perms_parts_attachements`, `perms_devices`, `perms_devices_parts`, `perms_storelocations`, `perms_footprints`, `perms_categories`, `perms_suppliers`, `perms_manufacturers`, `perms_attachement_types`, `perms_tools`, `perms_labels`, `datetime_added`, `last_modified`) VALUES +(1, 'admins', NULL, 'Users of this group can do everything: Read, Write and Administrative actions.', 21, 1365, 87381, 85, 85, 21, 1431655765, 5, 5, 5, 5, 5, 5, 5, 5, 5, 325, 325, 325, 5461, 325, 5461, 5461, 5461, 5461, 5461, 1365, 1365, 85, '2023-01-07 18:31:48', '0000-00-00 00:00:00'), +(2, 'readonly', NULL, 'Users of this group can only read informations, use tools, and don\'t have access to administrative tools.', 42, 2730, 174762, 154, 170, 42, -1516939607, 9, 9, 9, 9, 9, 9, 9, 9, 9, 649, 649, 649, 1705, 649, 1705, 1705, 1705, 1705, 1705, 681, 1366, 165, '2023-01-07 18:31:48', '0000-00-00 00:00:00'), +(3, 'users', NULL, 'Users of this group, can edit part informations, create new ones, etc. but are not allowed to use administrative tools. (But can read current configuration, and see Server status)', 42, 2730, 109226, 89, 105, 41, 1431655765, 5, 5, 5, 5, 5, 5, 5, 5, 5, 325, 325, 325, 5461, 325, 5461, 5461, 5461, 5461, 5461, 1365, 1365, 85, '2023-01-07 18:31:48', '0000-00-00 00:00:00'); + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `internal` +-- + +CREATE TABLE `internal` ( + `keyName` char(30) CHARACTER SET ascii NOT NULL, + `keyValue` varchar(255) COLLATE utf8mb3_unicode_ci DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci; + +-- +-- Daten für Tabelle `internal` +-- + +INSERT INTO `internal` (`keyName`, `keyValue`) VALUES +('dbVersion', '26'); + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `log` +-- + +CREATE TABLE `log` ( + `id` int(11) NOT NULL, + `datetime` timestamp NOT NULL DEFAULT current_timestamp(), + `id_user` int(11) NOT NULL, + `level` tinyint(4) NOT NULL, + `type` smallint(6) NOT NULL, + `target_id` int(11) NOT NULL, + `target_type` smallint(6) NOT NULL, + `extra` mediumtext NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +-- +-- Daten für Tabelle `log` +-- + +INSERT INTO `log` (`id`, `datetime`, `id_user`, `level`, `type`, `target_id`, `target_type`, `extra`) VALUES +(1, '2023-01-07 18:31:48', 1, 4, 10, 0, 0, '{\"o\":0,\"n\":26,\"s\":true}'), +(2, '2023-01-07 18:32:13', 2, 6, 1, 2, 1, '{\"i\":\"::\"}'), +(3, '2023-01-07 18:32:29', 2, 6, 6, 1, 4, '[]'), +(4, '2023-01-07 18:32:53', 2, 6, 6, 1, 12, '[]'), +(5, '2023-01-07 18:33:26', 2, 6, 6, 1, 10, '{\"i\":0}'); + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `manufacturers` +-- + +CREATE TABLE `manufacturers` ( + `id` int(11) NOT NULL, + `name` tinytext COLLATE utf8mb3_unicode_ci NOT NULL, + `parent_id` int(11) DEFAULT NULL, + `address` mediumtext COLLATE utf8mb3_unicode_ci NOT NULL, + `phone_number` tinytext COLLATE utf8mb3_unicode_ci NOT NULL, + `fax_number` tinytext COLLATE utf8mb3_unicode_ci NOT NULL, + `email_address` tinytext COLLATE utf8mb3_unicode_ci NOT NULL, + `website` tinytext COLLATE utf8mb3_unicode_ci NOT NULL, + `auto_product_url` tinytext COLLATE utf8mb3_unicode_ci NOT NULL, + `datetime_added` timestamp NOT NULL DEFAULT current_timestamp(), + `comment` text COLLATE utf8mb3_unicode_ci DEFAULT NULL, + `last_modified` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci; + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `orderdetails` +-- + +CREATE TABLE `orderdetails` ( + `id` int(11) NOT NULL, + `part_id` int(11) NOT NULL, + `id_supplier` int(11) NOT NULL DEFAULT 0, + `supplierpartnr` tinytext COLLATE utf8mb3_unicode_ci NOT NULL, + `obsolete` tinyint(1) DEFAULT 0, + `supplier_product_url` tinytext COLLATE utf8mb3_unicode_ci NOT NULL, + `datetime_added` timestamp NOT NULL DEFAULT current_timestamp() +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci; + +-- +-- Daten für Tabelle `orderdetails` +-- + +INSERT INTO `orderdetails` (`id`, `part_id`, `id_supplier`, `supplierpartnr`, `obsolete`, `supplier_product_url`, `datetime_added`) VALUES +(1, 1, 1, 'BC547', 0, '', '2023-01-07 18:45:59'), +(2, 1, 1, 'Test', 0, '', '2023-01-07 18:46:09'); + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `parts` +-- + +CREATE TABLE `parts` ( + `id` int(11) NOT NULL, + `id_category` int(11) NOT NULL DEFAULT 0, + `name` mediumtext COLLATE utf8mb3_unicode_ci NOT NULL, + `description` mediumtext COLLATE utf8mb3_unicode_ci NOT NULL, + `instock` int(11) NOT NULL DEFAULT 0, + `mininstock` int(11) NOT NULL DEFAULT 0, + `comment` mediumtext COLLATE utf8mb3_unicode_ci NOT NULL, + `visible` tinyint(1) NOT NULL, + `id_footprint` int(11) DEFAULT NULL, + `id_storelocation` int(11) DEFAULT NULL, + `order_orderdetails_id` int(11) DEFAULT NULL, + `order_quantity` int(11) NOT NULL DEFAULT 1, + `manual_order` tinyint(1) NOT NULL DEFAULT 0, + `id_manufacturer` int(11) DEFAULT NULL, + `id_master_picture_attachement` int(11) DEFAULT NULL, + `manufacturer_product_url` tinytext COLLATE utf8mb3_unicode_ci NOT NULL, + `datetime_added` timestamp NOT NULL DEFAULT current_timestamp(), + `last_modified` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `favorite` tinyint(1) NOT NULL DEFAULT 0 +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci; + +-- +-- Daten für Tabelle `parts` +-- + +INSERT INTO `parts` (`id`, `id_category`, `name`, `description`, `instock`, `mininstock`, `comment`, `visible`, `id_footprint`, `id_storelocation`, `order_orderdetails_id`, `order_quantity`, `manual_order`, `id_manufacturer`, `id_master_picture_attachement`, `manufacturer_product_url`, `datetime_added`, `last_modified`, `favorite`) VALUES +(1, 1, 'BC547', '', 0, 0, '', 0, NULL, NULL, NULL, 1, 0, NULL, NULL, '', '2023-01-07 18:33:26', '2023-01-07 18:33:26', 0); + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `pricedetails` +-- + +CREATE TABLE `pricedetails` ( + `id` int(11) NOT NULL, + `orderdetails_id` int(11) NOT NULL, + `price` decimal(11,5) DEFAULT NULL, + `price_related_quantity` int(11) NOT NULL DEFAULT 1, + `min_discount_quantity` int(11) NOT NULL DEFAULT 1, + `manual_input` tinyint(1) NOT NULL DEFAULT 1, + `last_modified` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci; + +-- +-- Daten für Tabelle `pricedetails` +-- + +INSERT INTO `pricedetails` (`id`, `orderdetails_id`, `price`, `price_related_quantity`, `min_discount_quantity`, `manual_input`, `last_modified`) VALUES +(1, 2, '3.55000', 1, 1, 1, '2023-01-07 18:46:19'); + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `storelocations` +-- + +CREATE TABLE `storelocations` ( + `id` int(11) NOT NULL, + `name` tinytext COLLATE utf8mb3_unicode_ci NOT NULL, + `parent_id` int(11) DEFAULT NULL, + `is_full` tinyint(1) NOT NULL DEFAULT 0, + `datetime_added` timestamp NOT NULL DEFAULT current_timestamp(), + `comment` text COLLATE utf8mb3_unicode_ci DEFAULT NULL, + `last_modified` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci; + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `suppliers` +-- + +CREATE TABLE `suppliers` ( + `id` int(11) NOT NULL, + `name` tinytext COLLATE utf8mb3_unicode_ci NOT NULL, + `parent_id` int(11) DEFAULT NULL, + `address` mediumtext COLLATE utf8mb3_unicode_ci NOT NULL, + `phone_number` tinytext COLLATE utf8mb3_unicode_ci NOT NULL, + `fax_number` tinytext COLLATE utf8mb3_unicode_ci NOT NULL, + `email_address` tinytext COLLATE utf8mb3_unicode_ci NOT NULL, + `website` tinytext COLLATE utf8mb3_unicode_ci NOT NULL, + `auto_product_url` tinytext COLLATE utf8mb3_unicode_ci NOT NULL, + `datetime_added` timestamp NOT NULL DEFAULT current_timestamp(), + `comment` text COLLATE utf8mb3_unicode_ci DEFAULT NULL, + `last_modified` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci; + +-- +-- Daten für Tabelle `suppliers` +-- + +INSERT INTO `suppliers` (`id`, `name`, `parent_id`, `address`, `phone_number`, `fax_number`, `email_address`, `website`, `auto_product_url`, `datetime_added`, `comment`, `last_modified`) VALUES +(1, 'Reichelt', NULL, '', '', '', '', '', '', '2023-01-07 18:32:53', '', '2023-01-07 18:32:53'); + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `users` +-- + +CREATE TABLE `users` ( + `id` int(11) NOT NULL, + `name` varchar(32) NOT NULL, + `password` varchar(255) DEFAULT NULL, + `first_name` tinytext DEFAULT NULL, + `last_name` tinytext DEFAULT NULL, + `department` tinytext DEFAULT NULL, + `email` tinytext DEFAULT NULL, + `need_pw_change` tinyint(1) NOT NULL DEFAULT 0, + `group_id` int(11) DEFAULT NULL, + `config_language` tinytext DEFAULT NULL, + `config_timezone` tinytext DEFAULT NULL, + `config_theme` tinytext DEFAULT NULL, + `config_currency` tinytext DEFAULT NULL, + `config_image_path` text NOT NULL, + `config_instock_comment_w` text NOT NULL, + `config_instock_comment_a` text NOT NULL, + `perms_system` int(11) NOT NULL, + `perms_groups` int(11) NOT NULL, + `perms_users` int(11) NOT NULL, + `perms_self` int(11) NOT NULL, + `perms_system_config` int(11) NOT NULL, + `perms_system_database` int(11) NOT NULL, + `perms_parts` bigint(11) NOT NULL, + `perms_parts_name` smallint(6) NOT NULL, + `perms_parts_description` smallint(6) NOT NULL, + `perms_parts_instock` smallint(6) NOT NULL, + `perms_parts_mininstock` smallint(6) NOT NULL, + `perms_parts_footprint` smallint(6) NOT NULL, + `perms_parts_storelocation` smallint(6) NOT NULL, + `perms_parts_manufacturer` smallint(6) NOT NULL, + `perms_parts_comment` smallint(6) NOT NULL, + `perms_parts_order` smallint(6) NOT NULL, + `perms_parts_orderdetails` smallint(6) NOT NULL, + `perms_parts_prices` smallint(6) NOT NULL, + `perms_parts_attachements` smallint(6) NOT NULL, + `perms_devices` int(11) NOT NULL, + `perms_devices_parts` int(11) NOT NULL, + `perms_storelocations` int(11) NOT NULL, + `perms_footprints` int(11) NOT NULL, + `perms_categories` int(11) NOT NULL, + `perms_suppliers` int(11) NOT NULL, + `perms_manufacturers` int(11) NOT NULL, + `perms_attachement_types` int(11) NOT NULL, + `perms_tools` int(11) NOT NULL, + `perms_labels` smallint(6) NOT NULL, + `datetime_added` timestamp NOT NULL DEFAULT current_timestamp(), + `last_modified` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +-- +-- Daten für Tabelle `users` +-- + +INSERT INTO `users` (`id`, `name`, `password`, `first_name`, `last_name`, `department`, `email`, `need_pw_change`, `group_id`, `config_language`, `config_timezone`, `config_theme`, `config_currency`, `config_image_path`, `config_instock_comment_w`, `config_instock_comment_a`, `perms_system`, `perms_groups`, `perms_users`, `perms_self`, `perms_system_config`, `perms_system_database`, `perms_parts`, `perms_parts_name`, `perms_parts_description`, `perms_parts_instock`, `perms_parts_mininstock`, `perms_parts_footprint`, `perms_parts_storelocation`, `perms_parts_manufacturer`, `perms_parts_comment`, `perms_parts_order`, `perms_parts_orderdetails`, `perms_parts_prices`, `perms_parts_attachements`, `perms_devices`, `perms_devices_parts`, `perms_storelocations`, `perms_footprints`, `perms_categories`, `perms_suppliers`, `perms_manufacturers`, `perms_attachement_types`, `perms_tools`, `perms_labels`, `datetime_added`, `last_modified`) VALUES +(1, 'anonymous', '', '', '', '', '', 0, 2, NULL, NULL, NULL, NULL, '', '', '', 21844, 20480, 0, 0, 0, 0, 0, 21840, 21840, 21840, 21840, 21840, 21840, 21840, 21840, 21840, 21520, 21520, 21520, 20480, 21520, 20480, 20480, 20480, 20480, 20480, 21504, 20480, 0, '2023-01-07 18:31:48', '0000-00-00 00:00:00'), +(2, 'admin', '$2a$12$j0RKrKlx60bzX1DWMyXwjeaW.pe3bFjAK8ByIGnvjrRnET2JtsFoe$2a$12$j0RKrKlx60bzX1DWMyXwjeaW.pe3bFjAK8ByIGnvjrRnET2JtsFoe', '', '', '', '', 1, 1, NULL, NULL, NULL, NULL, '', '', '', 21845, 21845, 21845, 21, 85, 21, 349525, 21845, 21845, 21845, 21845, 21845, 21845, 21845, 21845, 21845, 21845, 21845, 21845, 21845, 21845, 21845, 21845, 21845, 21845, 21845, 21845, 21845, 0, '2023-01-07 18:31:48', '0000-00-00 00:00:00'); + +-- +-- Indizes der exportierten Tabellen +-- + +-- +-- Indizes für die Tabelle `attachements` +-- +ALTER TABLE `attachements` + ADD PRIMARY KEY (`id`), + ADD KEY `attachements_class_name_k` (`class_name`), + ADD KEY `attachements_element_id_k` (`element_id`), + ADD KEY `attachements_type_id_fk` (`type_id`); + +-- +-- Indizes für die Tabelle `attachement_types` +-- +ALTER TABLE `attachement_types` + ADD PRIMARY KEY (`id`), + ADD KEY `attachement_types_parent_id_k` (`parent_id`); + +-- +-- Indizes für die Tabelle `categories` +-- +ALTER TABLE `categories` + ADD PRIMARY KEY (`id`), + ADD KEY `categories_parent_id_k` (`parent_id`); + +-- +-- Indizes für die Tabelle `devices` +-- +ALTER TABLE `devices` + ADD PRIMARY KEY (`id`), + ADD KEY `devices_parent_id_k` (`parent_id`); + +-- +-- Indizes für die Tabelle `device_parts` +-- +ALTER TABLE `device_parts` + ADD PRIMARY KEY (`id`), + ADD UNIQUE KEY `device_parts_combination_uk` (`id_part`,`id_device`), + ADD KEY `device_parts_id_part_k` (`id_part`), + ADD KEY `device_parts_id_device_k` (`id_device`); + +-- +-- Indizes für die Tabelle `footprints` +-- +ALTER TABLE `footprints` + ADD PRIMARY KEY (`id`), + ADD KEY `footprints_parent_id_k` (`parent_id`); + +-- +-- Indizes für die Tabelle `groups` +-- +ALTER TABLE `groups` + ADD PRIMARY KEY (`id`), + ADD UNIQUE KEY `name` (`name`); + +-- +-- Indizes für die Tabelle `internal` +-- +ALTER TABLE `internal` + ADD UNIQUE KEY `keyName` (`keyName`); + +-- +-- Indizes für die Tabelle `log` +-- +ALTER TABLE `log` + ADD PRIMARY KEY (`id`), + ADD KEY `id_user` (`id_user`); + +-- +-- Indizes für die Tabelle `manufacturers` +-- +ALTER TABLE `manufacturers` + ADD PRIMARY KEY (`id`), + ADD KEY `manufacturers_parent_id_k` (`parent_id`); + +-- +-- Indizes für die Tabelle `orderdetails` +-- +ALTER TABLE `orderdetails` + ADD PRIMARY KEY (`id`), + ADD KEY `orderdetails_part_id_k` (`part_id`), + ADD KEY `orderdetails_id_supplier_k` (`id_supplier`); + +-- +-- Indizes für die Tabelle `parts` +-- +ALTER TABLE `parts` + ADD PRIMARY KEY (`id`), + ADD KEY `parts_id_category_k` (`id_category`), + ADD KEY `parts_id_footprint_k` (`id_footprint`), + ADD KEY `parts_id_storelocation_k` (`id_storelocation`), + ADD KEY `parts_order_orderdetails_id_k` (`order_orderdetails_id`), + ADD KEY `parts_id_manufacturer_k` (`id_manufacturer`), + ADD KEY `favorite` (`favorite`); + +-- +-- Indizes für die Tabelle `pricedetails` +-- +ALTER TABLE `pricedetails` + ADD PRIMARY KEY (`id`), + ADD UNIQUE KEY `pricedetails_combination_uk` (`orderdetails_id`,`min_discount_quantity`), + ADD KEY `pricedetails_orderdetails_id_k` (`orderdetails_id`); + +-- +-- Indizes für die Tabelle `storelocations` +-- +ALTER TABLE `storelocations` + ADD PRIMARY KEY (`id`), + ADD KEY `storelocations_parent_id_k` (`parent_id`); + +-- +-- Indizes für die Tabelle `suppliers` +-- +ALTER TABLE `suppliers` + ADD PRIMARY KEY (`id`), + ADD KEY `suppliers_parent_id_k` (`parent_id`); + +-- +-- Indizes für die Tabelle `users` +-- +ALTER TABLE `users` + ADD PRIMARY KEY (`id`), + ADD UNIQUE KEY `name` (`name`); + +-- +-- AUTO_INCREMENT für exportierte Tabellen +-- + +-- +-- AUTO_INCREMENT für Tabelle `attachements` +-- +ALTER TABLE `attachements` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; + +-- +-- AUTO_INCREMENT für Tabelle `attachement_types` +-- +ALTER TABLE `attachement_types` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3; + +-- +-- AUTO_INCREMENT für Tabelle `categories` +-- +ALTER TABLE `categories` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2; + +-- +-- AUTO_INCREMENT für Tabelle `devices` +-- +ALTER TABLE `devices` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; + +-- +-- AUTO_INCREMENT für Tabelle `device_parts` +-- +ALTER TABLE `device_parts` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; + +-- +-- AUTO_INCREMENT für Tabelle `footprints` +-- +ALTER TABLE `footprints` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; + +-- +-- AUTO_INCREMENT für Tabelle `groups` +-- +ALTER TABLE `groups` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4; + +-- +-- AUTO_INCREMENT für Tabelle `log` +-- +ALTER TABLE `log` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6; + +-- +-- AUTO_INCREMENT für Tabelle `manufacturers` +-- +ALTER TABLE `manufacturers` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; + +-- +-- AUTO_INCREMENT für Tabelle `orderdetails` +-- +ALTER TABLE `orderdetails` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3; + +-- +-- AUTO_INCREMENT für Tabelle `parts` +-- +ALTER TABLE `parts` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2; + +-- +-- AUTO_INCREMENT für Tabelle `pricedetails` +-- +ALTER TABLE `pricedetails` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2; + +-- +-- AUTO_INCREMENT für Tabelle `storelocations` +-- +ALTER TABLE `storelocations` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; + +-- +-- AUTO_INCREMENT für Tabelle `suppliers` +-- +ALTER TABLE `suppliers` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2; + +-- +-- AUTO_INCREMENT für Tabelle `users` +-- +ALTER TABLE `users` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3; + +-- +-- Constraints der exportierten Tabellen +-- + +-- +-- Constraints der Tabelle `attachements` +-- +ALTER TABLE `attachements` + ADD CONSTRAINT `attachements_type_id_fk` FOREIGN KEY (`type_id`) REFERENCES `attachement_types` (`id`); + +-- +-- Constraints der Tabelle `attachement_types` +-- +ALTER TABLE `attachement_types` + ADD CONSTRAINT `attachement_types_parent_id_fk` FOREIGN KEY (`parent_id`) REFERENCES `attachement_types` (`id`); + +-- +-- Constraints der Tabelle `categories` +-- +ALTER TABLE `categories` + ADD CONSTRAINT `categories_parent_id_fk` FOREIGN KEY (`parent_id`) REFERENCES `categories` (`id`); + +-- +-- Constraints der Tabelle `devices` +-- +ALTER TABLE `devices` + ADD CONSTRAINT `devices_parent_id_fk` FOREIGN KEY (`parent_id`) REFERENCES `devices` (`id`); + +-- +-- Constraints der Tabelle `footprints` +-- +ALTER TABLE `footprints` + ADD CONSTRAINT `footprints_parent_id_fk` FOREIGN KEY (`parent_id`) REFERENCES `footprints` (`id`); + +-- +-- Constraints der Tabelle `manufacturers` +-- +ALTER TABLE `manufacturers` + ADD CONSTRAINT `manufacturers_parent_id_fk` FOREIGN KEY (`parent_id`) REFERENCES `manufacturers` (`id`); + +-- +-- Constraints der Tabelle `parts` +-- +ALTER TABLE `parts` + ADD CONSTRAINT `parts_id_footprint_fk` FOREIGN KEY (`id_footprint`) REFERENCES `footprints` (`id`), + ADD CONSTRAINT `parts_id_manufacturer_fk` FOREIGN KEY (`id_manufacturer`) REFERENCES `manufacturers` (`id`), + ADD CONSTRAINT `parts_id_storelocation_fk` FOREIGN KEY (`id_storelocation`) REFERENCES `storelocations` (`id`), + ADD CONSTRAINT `parts_order_orderdetails_id_fk` FOREIGN KEY (`order_orderdetails_id`) REFERENCES `orderdetails` (`id`); + +-- +-- Constraints der Tabelle `storelocations` +-- +ALTER TABLE `storelocations` + ADD CONSTRAINT `storelocations_parent_id_fk` FOREIGN KEY (`parent_id`) REFERENCES `storelocations` (`id`); + +-- +-- Constraints der Tabelle `suppliers` +-- +ALTER TABLE `suppliers` + ADD CONSTRAINT `suppliers_parent_id_fk` FOREIGN KEY (`parent_id`) REFERENCES `suppliers` (`id`); +COMMIT; + +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; diff --git a/.github/assets/legacy_import/test_legacy_import.sh b/.github/assets/legacy_import/test_legacy_import.sh new file mode 100644 index 00000000..ffddd408 --- /dev/null +++ b/.github/assets/legacy_import/test_legacy_import.sh @@ -0,0 +1,37 @@ +# +# This file is part of Part-DB (https://github.com/Part-DB/Part-DB-symfony). +# +# Copyright (C) 2019 - 2023 Jan Böhmer (https://github.com/jbtronics) +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published +# by the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# + +#!/bin/bash + +# This script is used to test the legacy import of Part-DB + +SQL_FILES_TO_TEST=("db_minimal.sql" "db_jbtronics.sql") + +DB_NAME="test" + +# Iterate over all given SQL files and import them into the mysql database with the given name, drop the database if it already exists before +for SQL_FILE in "${SQL_FILES_TO_TEST[@]}" +do + echo "Testing for $SQL_FILE" + mysql -u root -e "DROP DATABASE IF EXISTS $DB_NAME; CREATE DATABASE $DB_NAME;" + # Import the SQL file into the database. The file pathes are relative to the current script location + mysql -u root $DB_NAME < .github/assets/legacy_import/$SQL_FILE + # Run doctrine migrations, this will migrate the database to the current version. This process should not fail + php bin/console doctrine:migrations:migrate -n +done \ No newline at end of file diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 6011db29..4ff62bac 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -130,4 +130,10 @@ jobs: - name: Test check-requirements command run: php bin/console partdb:check-requirements -n + + - name: Test legacy Part-DB import + run: bash .github/assets/legacy_import/test_legacy_import.sh + if: matrix.db-type == 'mysql' && matrix.php-versions == '8.2' + + From 19ae9e7456afdaa177a8896be4ab73df81a207b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Sun, 7 May 2023 02:29:32 +0200 Subject: [PATCH 08/18] Fixed issue preventing migration from legacy Part-DB version This bug was introduced during the fix for issue #260 (commit 2717d7d). With this commit issue #287 should be fixed --- migrations/Version20190902140506.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/migrations/Version20190902140506.php b/migrations/Version20190902140506.php index badf3699..38939b5b 100644 --- a/migrations/Version20190902140506.php +++ b/migrations/Version20190902140506.php @@ -125,7 +125,8 @@ final class Version20190902140506 extends AbstractMultiPlatformMigration $this->addSql('CREATE INDEX IDX_6940A7FE1ECB93AE ON parts (id_manufacturer)'); $this->addSql('ALTER TABLE parts ADD CONSTRAINT parts_id_footprint_fk FOREIGN KEY (id_footprint) REFERENCES footprints (id)'); $this->addSql('ALTER TABLE parts ADD CONSTRAINT parts_id_manufacturer_fk FOREIGN KEY (id_manufacturer) REFERENCES manufacturers (id)'); - if ($this->doesFKExists('attachment_types', 'attachement_types_parent_id_fk')) { + //We have to use the old table name here, because the if is executed before any sql command added by addSQL is executed (and thus the table name is not changed yet) + if ($this->doesFKExists('attachement_types', 'attachement_types_parent_id_fk')) { $this->addSql('ALTER TABLE attachment_types DROP FOREIGN KEY attachement_types_parent_id_fk'); } $this->addSql('ALTER TABLE attachment_types ADD filetype_filter LONGTEXT NOT NULL, ADD not_selectable TINYINT(1) NOT NULL, CHANGE name name VARCHAR(255) NOT NULL, CHANGE comment comment LONGTEXT NOT NULL, CHANGE last_modified last_modified DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL'); @@ -179,7 +180,8 @@ final class Version20190902140506 extends AbstractMultiPlatformMigration $this->addSql('CREATE INDEX IDX_AC28B95C727ACA70 ON suppliers (parent_id)'); $this->addSql('ALTER TABLE suppliers ADD CONSTRAINT suppliers_parent_id_fk FOREIGN KEY (parent_id) REFERENCES suppliers (id)'); $this->addSql('DROP INDEX attachements_class_name_k ON attachments'); - if ($this->doesFKExists('attachments', 'attachements_type_id_fk')) { + //We have to use the old table name here, because the if is executed before any sql command added by addSQL is executed (and thus the table name is not changed yet) + if ($this->doesFKExists('attachements', 'attachements_type_id_fk')) { $this->addSql('ALTER TABLE attachments DROP FOREIGN KEY attachements_type_id_fk'); } $this->addSql('ALTER TABLE attachments ADD datetime_added DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL, CHANGE type_id type_id INT DEFAULT NULL, CHANGE name name VARCHAR(255) NOT NULL, CHANGE filename filename VARCHAR(255) NOT NULL, CHANGE show_in_table show_in_table TINYINT(1) NOT NULL, CHANGE last_modified last_modified DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL'); From d766f255ef8ea3874f4887d1a7b7a0ffdb42f7ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Sun, 7 May 2023 02:38:54 +0200 Subject: [PATCH 09/18] Let job fail, when an error occurs during the legacy test script --- .../legacy_import/test_legacy_import.sh | 21 +++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/.github/assets/legacy_import/test_legacy_import.sh b/.github/assets/legacy_import/test_legacy_import.sh index ffddd408..9ac76690 100644 --- a/.github/assets/legacy_import/test_legacy_import.sh +++ b/.github/assets/legacy_import/test_legacy_import.sh @@ -24,14 +24,31 @@ SQL_FILES_TO_TEST=("db_minimal.sql" "db_jbtronics.sql") DB_NAME="test" +DB_USER="root" +DB_PASSWORD="root" # Iterate over all given SQL files and import them into the mysql database with the given name, drop the database if it already exists before for SQL_FILE in "${SQL_FILES_TO_TEST[@]}" do echo "Testing for $SQL_FILE" - mysql -u root -e "DROP DATABASE IF EXISTS $DB_NAME; CREATE DATABASE $DB_NAME;" + mysql -u $DB_USER --password=$DB_PASSWORD -e "DROP DATABASE IF EXISTS $DB_NAME; CREATE DATABASE $DB_NAME;" + # If the last command failed, exit the script + if [ $? -ne 0 ]; then + echo "Failed to create database $DB_NAME" + exit 1 + fi # Import the SQL file into the database. The file pathes are relative to the current script location - mysql -u root $DB_NAME < .github/assets/legacy_import/$SQL_FILE + mysql -u DB_USER --password=$DB_PASSWORD $DB_NAME < .github/assets/legacy_import/$SQL_FILE + # If the last command failed, exit the script + if [ $? -ne 0 ]; then + echo "Failed to import $SQL_FILE into database $DB_NAME" + exit 1 + fi # Run doctrine migrations, this will migrate the database to the current version. This process should not fail php bin/console doctrine:migrations:migrate -n + # If the last command failed, exit the script + if [ $? -ne 0 ]; then + echo "Failed to migrate database $DB_NAME" + exit 1 + fi done \ No newline at end of file From 97ee4f36e35e77adcb5e7b9937cd2d2952487ff7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Sun, 7 May 2023 02:44:07 +0200 Subject: [PATCH 10/18] Fixed typo in legacy import test script --- .github/assets/legacy_import/test_legacy_import.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/assets/legacy_import/test_legacy_import.sh b/.github/assets/legacy_import/test_legacy_import.sh index 9ac76690..c130435e 100644 --- a/.github/assets/legacy_import/test_legacy_import.sh +++ b/.github/assets/legacy_import/test_legacy_import.sh @@ -38,7 +38,7 @@ do exit 1 fi # Import the SQL file into the database. The file pathes are relative to the current script location - mysql -u DB_USER --password=$DB_PASSWORD $DB_NAME < .github/assets/legacy_import/$SQL_FILE + mysql -u $DB_USER --password=$DB_PASSWORD $DB_NAME < .github/assets/legacy_import/$SQL_FILE # If the last command failed, exit the script if [ $? -ne 0 ]; then echo "Failed to import $SQL_FILE into database $DB_NAME" From 376d29e829d12a7582a6230b4138f258e3966e0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Sun, 7 May 2023 02:52:31 +0200 Subject: [PATCH 11/18] Use correct table name for test_legacy_import workflow --- .github/assets/legacy_import/test_legacy_import.sh | 2 +- .github/workflows/tests.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/assets/legacy_import/test_legacy_import.sh b/.github/assets/legacy_import/test_legacy_import.sh index c130435e..54637c4c 100644 --- a/.github/assets/legacy_import/test_legacy_import.sh +++ b/.github/assets/legacy_import/test_legacy_import.sh @@ -23,7 +23,7 @@ SQL_FILES_TO_TEST=("db_minimal.sql" "db_jbtronics.sql") -DB_NAME="test" +DB_NAME="legacy_db_test" DB_USER="root" DB_PASSWORD="root" diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 4ff62bac..0cbb043c 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -132,7 +132,7 @@ jobs: run: php bin/console partdb:check-requirements -n - name: Test legacy Part-DB import - run: bash .github/assets/legacy_import/test_legacy_import.sh + run: echo "DATABASE_URL=mysql://root:root@127.0.0.1:3306/legacy_db" >> $GITHUB_ENV && bash .github/assets/legacy_import/test_legacy_import.sh if: matrix.db-type == 'mysql' && matrix.php-versions == '8.2' From c828aa3bc061333a5bb26fe1e28f918f4ff62a29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Sun, 7 May 2023 02:58:59 +0200 Subject: [PATCH 12/18] Use correct table name for test_legacy_import workflow --- .github/workflows/tests.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 0cbb043c..f12c4f06 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -132,8 +132,10 @@ jobs: run: php bin/console partdb:check-requirements -n - name: Test legacy Part-DB import - run: echo "DATABASE_URL=mysql://root:root@127.0.0.1:3306/legacy_db" >> $GITHUB_ENV && bash .github/assets/legacy_import/test_legacy_import.sh + run: bash .github/assets/legacy_import/test_legacy_import.sh if: matrix.db-type == 'mysql' && matrix.php-versions == '8.2' + env: + DATABASE_URL: mysql://root:root@localhost:3306/legacy_db From 557347d42d9f71504fd43503dd9193d16c4f8682 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Sun, 7 May 2023 21:43:01 +0200 Subject: [PATCH 13/18] Fixed legacy database migration for newer MySQL version --- migrations/Version20220925162725.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/migrations/Version20220925162725.php b/migrations/Version20220925162725.php index 52caa2a9..0f04f04e 100644 --- a/migrations/Version20220925162725.php +++ b/migrations/Version20220925162725.php @@ -71,7 +71,10 @@ final class Version20220925162725 extends AbstractMultiPlatformMigration // this up() migration is auto-generated, please modify it to your needs $this->addSql('CREATE INDEX attachment_types_idx_name ON attachment_types (name)'); $this->addSql('CREATE INDEX attachment_types_idx_parent_name ON attachment_types (parent_id, name)'); + //We have to disable foreign key checks here, or we get a error on MySQL for legacy database migration. On MariaDB this works fine (with enabled foreign key checks), so I guess this is not so bad... + $this->addSql('SET foreign_key_checks = 0'); $this->addSql('ALTER TABLE attachments CHANGE type_id type_id INT NOT NULL'); + $this->addSql('SET foreign_key_checks = 1'); $this->addSql('CREATE INDEX attachments_idx_id_element_id_class_name ON attachments (id, element_id, class_name)'); $this->addSql('CREATE INDEX attachments_idx_class_name_id ON attachments (class_name, id)'); $this->addSql('CREATE INDEX attachment_name_idx ON attachments (name)'); From bafbd63610920dd46d85c8ba033d4ff1ae7f79c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Mon, 8 May 2023 00:10:21 +0200 Subject: [PATCH 14/18] Bumped version to 1.3.3 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 1892b926..31e5c843 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.3.2 +1.3.3 From c50a80e8df1a4791b99779b80c859ede0e588388 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Mon, 8 May 2023 23:42:25 +0200 Subject: [PATCH 15/18] Show an error message in table instead of a 500 error when MySQL encounters an invalid Regex expression This fixes issue #289 --- src/Controller/PartListsController.php | 24 +++++++- src/DataTables/ErrorDataTable.php | 85 ++++++++++++++++++++++++++ translations/messages.en.xlf | 58 +++++++++++------- translations/security.en.xlf | 2 +- translations/validators.en.xlf | 6 +- 5 files changed, 146 insertions(+), 29 deletions(-) create mode 100644 src/DataTables/ErrorDataTable.php diff --git a/src/Controller/PartListsController.php b/src/Controller/PartListsController.php index e544c481..a714f7eb 100644 --- a/src/Controller/PartListsController.php +++ b/src/Controller/PartListsController.php @@ -22,6 +22,7 @@ declare(strict_types=1); namespace App\Controller; +use App\DataTables\ErrorDataTable; use App\DataTables\Filters\PartFilter; use App\DataTables\Filters\PartSearchFilter; use App\DataTables\PartsDataTable; @@ -33,6 +34,7 @@ use App\Entity\Parts\Supplier; use App\Form\Filters\PartFilterType; use App\Services\Parts\PartsTableActionHandler; use App\Services\Trees\NodesListBuilder; +use Doctrine\DBAL\Exception\DriverException; use Doctrine\ORM\EntityManagerInterface; use Omines\DataTablesBundle\DataTableFactory; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; @@ -41,6 +43,7 @@ use Symfony\Component\HttpFoundation\JsonResponse; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Annotation\Route; +use Symfony\Contracts\Translation\TranslatorInterface; class PartListsController extends AbstractController { @@ -48,11 +51,14 @@ class PartListsController extends AbstractController private NodesListBuilder $nodesListBuilder; private DataTableFactory $dataTableFactory; - public function __construct(EntityManagerInterface $entityManager, NodesListBuilder $nodesListBuilder, DataTableFactory $dataTableFactory) + private TranslatorInterface $translator; + + public function __construct(EntityManagerInterface $entityManager, NodesListBuilder $nodesListBuilder, DataTableFactory $dataTableFactory, TranslatorInterface $translator) { $this->entityManager = $entityManager; $this->nodesListBuilder = $nodesListBuilder; $this->dataTableFactory = $dataTableFactory; + $this->translator = $translator; } /** @@ -144,7 +150,21 @@ class PartListsController extends AbstractController ->handleRequest($request); if ($table->isCallback()) { - return $table->getResponse(); + try { + return $table->getResponse(); + } catch (DriverException $driverException) { + if ($driverException->getCode() === 1139) { + + //Show only the part after "1139" + $regex_message = preg_replace('/^.*1139 /', '', $driverException->getMessage()); + + $errors = $this->translator->trans('part.table.invalid_regex') . ': ' . $regex_message; + + return ErrorDataTable::errorTable($this->dataTableFactory, $request, $errors); + } else { + throw $driverException; + } + } } return $this->render($template, array_merge([ diff --git a/src/DataTables/ErrorDataTable.php b/src/DataTables/ErrorDataTable.php new file mode 100644 index 00000000..29888f17 --- /dev/null +++ b/src/DataTables/ErrorDataTable.php @@ -0,0 +1,85 @@ +. + */ + +namespace App\DataTables; + +use App\DataTables\Column\RowClassColumn; +use App\Entity\Parts\Part; +use Omines\DataTablesBundle\Adapter\ArrayAdapter; +use Omines\DataTablesBundle\Column\TextColumn; +use Omines\DataTablesBundle\DataTable; +use Omines\DataTablesBundle\DataTableFactory; +use Omines\DataTablesBundle\DataTableTypeInterface; +use Symfony\Component\HttpFoundation\Request; +use Symfony\Component\HttpFoundation\Response; +use Symfony\Component\OptionsResolver\OptionsResolver; + +class ErrorDataTable implements DataTableTypeInterface +{ + public function configureOptions(OptionsResolver $optionsResolver): void + { + $optionsResolver->setRequired('errors'); + $optionsResolver->setAllowedTypes('errors', ['array', 'string']); + $optionsResolver->setNormalizer('errors', function (OptionsResolver $optionsResolver, $errors) { + if (is_string($errors)) { + $errors = [$errors]; + } + + return $errors; + }); + } + + public function configure(DataTable $dataTable, array $options) + { + $optionsResolver = new OptionsResolver(); + $this->configureOptions($optionsResolver); + $options = $optionsResolver->resolve($options); + + $dataTable + ->add('dont_matter_we_only_set_color', RowClassColumn::class, [ + 'render' => function ($value, $context) { + return 'table-warning'; + }, + ]) + + ->add('error', TextColumn::class, [ + 'label' => 'error_table.error', + 'render' => function ($value, $context) { + return ' ' . $value; + }, + ]) + ; + + //Build the array containing data + $data = []; + foreach ($options['errors'] as $error) { + $data[] = ['error' => $error]; + } + + $dataTable->createAdapter(ArrayAdapter::class, $data); + } + + public static function errorTable(DataTableFactory $dataTableFactory, Request $request, $errors): Response + { + $error_table = $dataTableFactory->createFromType(self::class, ['errors' => $errors]); + $error_table->handleRequest($request); + return $error_table->getResponse(); + } +} \ No newline at end of file diff --git a/translations/messages.en.xlf b/translations/messages.en.xlf index 788f7474..9f7464c2 100644 --- a/translations/messages.en.xlf +++ b/translations/messages.en.xlf @@ -10960,31 +10960,31 @@ Element 3 - + attachment.max_file_size Maximum file size - + user.saml_user SSO / SAML user - + user.saml_user.pw_change_hint Your user uses single sign-on (SSO). You can not change the password and 2FA settings here. Configure them on your central SSO provider instead! - + login.sso_saml_login Single Sign-On Login (SSO) - + login.local_login_hint The form below is only for log in with a local user. If you want to log in via single sign-on, press the button above. @@ -11188,106 +11188,118 @@ Element 3 - + measurement_unit.new New Measurement Unit - + measurement_unit.edit Edit Measurement Unit - + user.aboutMe.label About Me - + storelocation.owner.label Owner - + storelocation.part_owner_must_match.label Part Lot owner must match storage location owner - + part_lot.owner Owner - + part_lot.owner.help Only the owner can withdraw or add stock to this lot. - + log.element_edited.changed_fields.owner Owner - + log.element_edited.changed_fields.instock_unknown Amount unknown - + log.element_edited.changed_fields.needs_refill Refill needed - + part.withdraw.access_denied Not allowed to do the desired action. Please check your permissions and the owner of the part lots. - + part.info.amount.less_than_desired Less than desired - + log.cli_user CLI user - + log.element_edited.changed_fields.part_owner_must_match Part owner must match storage location owner - + part.filter.lessThanDesired - In stock less than desired (total amount < min. amount) + - + part.filter.lotOwner Lot owner - + user.show_email_on_profile.label Show email on public profile page + + + error_table.error + An error occured during your request. + + + + + part.table.invalid_regex + Invalid Regex expression + + diff --git a/translations/security.en.xlf b/translations/security.en.xlf index 03d410c0..2c9d8957 100644 --- a/translations/security.en.xlf +++ b/translations/security.en.xlf @@ -8,7 +8,7 @@ - + saml.error.cannot_login_local_user_per_saml You can not login as local user via SSO! Use your local user password instead. diff --git a/translations/validators.en.xlf b/translations/validators.en.xlf index a24e6a0d..1f3438de 100644 --- a/translations/validators.en.xlf +++ b/translations/validators.en.xlf @@ -300,19 +300,19 @@ - + validator.attachment.name_not_blank Set a value here, or upload a file to automatically use its filename as name for the attachment. - + validator.part_lot.owner_must_match_storage_location_owner The owner of this lot must match the owner of the selected storage location (%owner_name%)! - + validator.part_lot.owner_must_not_be_anonymous A lot owner must not be the anonymous user! From 2c33b381c1f9ce247db46e3a8082aaac5a7f38d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Mon, 8 May 2023 23:53:59 +0200 Subject: [PATCH 16/18] Allow to unselect name, category, description fields etc in search functionm Before this commit it was ignored, if the checkboxes for these fields were unchecked. --- src/Controller/PartListsController.php | 27 +++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/src/Controller/PartListsController.php b/src/Controller/PartListsController.php index a714f7eb..2040cee6 100644 --- a/src/Controller/PartListsController.php +++ b/src/Controller/PartListsController.php @@ -308,21 +308,22 @@ class PartListsController extends AbstractController { $filter = new PartSearchFilter($request->query->get('keyword', '')); - $filter->setName($request->query->getBoolean('name', true)); - $filter->setCategory($request->query->getBoolean('category', true)); - $filter->setDescription($request->query->getBoolean('description', true)); - $filter->setMpn($request->query->getBoolean('mpn', true)); - $filter->setTags($request->query->getBoolean('tags', true)); - $filter->setStorelocation($request->query->getBoolean('storelocation', true)); - $filter->setComment($request->query->getBoolean('comment', true)); - $filter->setIPN($request->query->getBoolean('ipn', true)); - $filter->setOrdernr($request->query->getBoolean('ordernr', true)); - $filter->setSupplier($request->query->getBoolean('supplier', false)); - $filter->setManufacturer($request->query->getBoolean('manufacturer', false)); - $filter->setFootprint($request->query->getBoolean('footprint', false)); + //As an unchecked checkbox is not set in the query, the default value for all bools have to be false (which is the default argument value)! + $filter->setName($request->query->getBoolean('name')); + $filter->setCategory($request->query->getBoolean('category')); + $filter->setDescription($request->query->getBoolean('description')); + $filter->setMpn($request->query->getBoolean('mpn')); + $filter->setTags($request->query->getBoolean('tags')); + $filter->setStorelocation($request->query->getBoolean('storelocation')); + $filter->setComment($request->query->getBoolean('comment')); + $filter->setIPN($request->query->getBoolean('ipn')); + $filter->setOrdernr($request->query->getBoolean('ordernr')); + $filter->setSupplier($request->query->getBoolean('supplier')); + $filter->setManufacturer($request->query->getBoolean('manufacturer')); + $filter->setFootprint($request->query->getBoolean('footprint')); - $filter->setRegex($request->query->getBoolean('regex', false)); + $filter->setRegex($request->query->getBoolean('regex')); return $filter; } From b0ab43c39a4859ea28275f11c427cb82aa72e93f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Tue, 9 May 2023 00:26:40 +0200 Subject: [PATCH 17/18] Show a proper error message table when encountering an invalid regex statement on SQLite This is related to #289 --- src/Controller/PartListsController.php | 25 ++++---- src/Doctrine/SQLiteRegexExtension.php | 7 ++- src/Exceptions/InvalidRegexException.php | 80 ++++++++++++++++++++++++ 3 files changed, 99 insertions(+), 13 deletions(-) create mode 100644 src/Exceptions/InvalidRegexException.php diff --git a/src/Controller/PartListsController.php b/src/Controller/PartListsController.php index 2040cee6..52d65d2a 100644 --- a/src/Controller/PartListsController.php +++ b/src/Controller/PartListsController.php @@ -31,6 +31,7 @@ use App\Entity\Parts\Footprint; use App\Entity\Parts\Manufacturer; use App\Entity\Parts\Storelocation; use App\Entity\Parts\Supplier; +use App\Exceptions\InvalidRegexException; use App\Form\Filters\PartFilterType; use App\Services\Parts\PartsTableActionHandler; use App\Services\Trees\NodesListBuilder; @@ -151,19 +152,19 @@ class PartListsController extends AbstractController if ($table->isCallback()) { try { - return $table->getResponse(); - } catch (DriverException $driverException) { - if ($driverException->getCode() === 1139) { - - //Show only the part after "1139" - $regex_message = preg_replace('/^.*1139 /', '', $driverException->getMessage()); - - $errors = $this->translator->trans('part.table.invalid_regex') . ': ' . $regex_message; - - return ErrorDataTable::errorTable($this->dataTableFactory, $request, $errors); - } else { - throw $driverException; + try { + return $table->getResponse(); + } catch (DriverException $driverException) { + if ($driverException->getCode() === 1139) { + //Convert the driver exception to InvalidRegexException so it has the same hanlder as for SQLite + throw InvalidRegexException::fromDriverException($driverException); + } else { + throw $driverException; + } } + } catch (InvalidRegexException $exception) { + $errors = $this->translator->trans('part.table.invalid_regex').': '.$exception->getReason(); + return ErrorDataTable::errorTable($this->dataTableFactory, $request, $errors); } } diff --git a/src/Doctrine/SQLiteRegexExtension.php b/src/Doctrine/SQLiteRegexExtension.php index 1cdab603..0845ffb2 100644 --- a/src/Doctrine/SQLiteRegexExtension.php +++ b/src/Doctrine/SQLiteRegexExtension.php @@ -20,6 +20,7 @@ namespace App\Doctrine; +use App\Exceptions\InvalidRegexException; use Doctrine\Bundle\DoctrineBundle\EventSubscriber\EventSubscriberInterface; use Doctrine\DBAL\Event\ConnectionEventArgs; use Doctrine\DBAL\Events; @@ -43,7 +44,11 @@ class SQLiteRegexExtension implements EventSubscriberInterface //Ensure that the function really exists on the connection, as it is marked as experimental according to PHP documentation if($native_connection instanceof \PDO && method_exists($native_connection, 'sqliteCreateFunction' )) { $native_connection->sqliteCreateFunction('REGEXP', function ($pattern, $value) { - return (false !== mb_ereg($pattern, $value)) ? 1 : 0; + try { + return (false !== mb_ereg($pattern, $value)) ? 1 : 0; + } catch (\ErrorException $e) { + throw InvalidRegexException::fromMBRegexError($e); + } }); } } diff --git a/src/Exceptions/InvalidRegexException.php b/src/Exceptions/InvalidRegexException.php new file mode 100644 index 00000000..a94201d0 --- /dev/null +++ b/src/Exceptions/InvalidRegexException.php @@ -0,0 +1,80 @@ +. + */ + +namespace App\Exceptions; + +use Doctrine\DBAL\Exception\DriverException; +use ErrorException; + +class InvalidRegexException extends \RuntimeException +{ + private ?string $reason; + + public function __construct(string $reason = null) + { + $this->reason = $reason; + parent::__construct('Invalid regular expression'); + } + + /** + * Returns the reason for the exception (what the regex driver deemed invalid) + * @return string|null + */ + public function getReason(): ?string + { + return $this->reason; + } + + /** + * Creates a new exception from a driver exception happening, when MySQL encounters an invalid regex + * @param DriverException $exception + * @return self + */ + public static function fromDriverException(DriverException $exception): self + { + //1139 means invalid regex error + if ($exception->getCode() !== 1139) { + throw new \InvalidArgumentException('The given exception is not a driver exception', 0, $exception); + } + + //Reason is the part after the erorr code + $reason = preg_replace('/^.*1139 /', '', $exception->getMessage()); + + return new self($reason); + } + + /** + * Creates a new exception from the errorException thrown by mb_ereg + * @param ErrorException $ex + * @return self + */ + public static function fromMBRegexError(ErrorException $ex): self + { + //Ensure that the error is really a mb_ereg error + if ($ex->getSeverity() !== E_WARNING || !strpos($ex->getMessage(), 'mb_ereg()') !== false) { + throw new \InvalidArgumentException('The given exception is not a mb_ereg error', 0, $ex); + } + + //Reason is the part after the erorr code + $reason = preg_replace('/^.*mb_ereg\(\): /', '', $ex->getMessage()); + + return new self($reason); + } +} \ No newline at end of file From b629744e1a20eef64f3f208b3b67b507b012a590 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Tue, 9 May 2023 00:27:18 +0200 Subject: [PATCH 18/18] We are in development of v1.3.4 now --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 31e5c843..7285a062 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.3.3 +1.3.4-dev