Daniel 2 лет назад
Родитель
Сommit
af940f59c4
7 измененных файлов: 170 добавлений и 179 удалений
  1. +150
    -143
      composer.lock
  2. +1
    -0
      src/ApiResource/CommentApi.php
  3. +8
    -23
      src/ApiResource/PostingApi.php
  4. +0
    -6
      src/ApiResource/UserApi.php
  5. +0
    -6
      src/Mapper/UserEntityToApiMapper.php
  6. +1
    -1
      src/Serializer/MediaObjectNormalizer.php
  7. +10
    -0
      tests/Functional/CommentResourceTest.php

+ 150
- 143
composer.lock Просмотреть файл

@@ -8,16 +8,16 @@
"packages": [
{
"name": "api-platform/core",
"version": "v3.2.15",
"version": "v3.2.16",
"source": {
"type": "git",
"url": "https://github.com/api-platform/core.git",
"reference": "42215cf81e477cbf8ff872cf3c00822c9a1b79f8"
"reference": "055fb38027e3125a2d5df58f77134d81f42075ca"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/api-platform/core/zipball/42215cf81e477cbf8ff872cf3c00822c9a1b79f8",
"reference": "42215cf81e477cbf8ff872cf3c00822c9a1b79f8",
"url": "https://api.github.com/repos/api-platform/core/zipball/055fb38027e3125a2d5df58f77134d81f42075ca",
"reference": "055fb38027e3125a2d5df58f77134d81f42075ca",
"shasum": ""
},
"require": {
@@ -55,7 +55,7 @@
"doctrine/doctrine-bundle": "^1.12 || ^2.0",
"doctrine/mongodb-odm": "^2.2",
"doctrine/mongodb-odm-bundle": "^4.0 || ^5.0",
"doctrine/orm": "^2.14",
"doctrine/orm": "^2.14 || ^3.0",
"elasticsearch/elasticsearch": "^7.11 || ^8.4",
"friends-of-behat/mink-browserkit-driver": "^1.3.1",
"friends-of-behat/mink-extension": "^2.2",
@@ -168,9 +168,9 @@
],
"support": {
"issues": "https://github.com/api-platform/core/issues",
"source": "https://github.com/api-platform/core/tree/v3.2.15"
"source": "https://github.com/api-platform/core/tree/v3.2.16"
},
"time": "2024-02-29T14:55:13+00:00"
"time": "2024-03-05T10:51:18+00:00"
},
{
"name": "doctrine/cache",
@@ -267,16 +267,16 @@
},
{
"name": "doctrine/collections",
"version": "2.2.0",
"version": "2.2.1",
"source": {
"type": "git",
"url": "https://github.com/doctrine/collections.git",
"reference": "07e16cd7b80a2cffed99e36b541876af172f0257"
"reference": "420480fc085bc65f3c956af13abe8e7546f94813"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/doctrine/collections/zipball/07e16cd7b80a2cffed99e36b541876af172f0257",
"reference": "07e16cd7b80a2cffed99e36b541876af172f0257",
"url": "https://api.github.com/repos/doctrine/collections/zipball/420480fc085bc65f3c956af13abe8e7546f94813",
"reference": "420480fc085bc65f3c956af13abe8e7546f94813",
"shasum": ""
},
"require": {
@@ -333,7 +333,7 @@
],
"support": {
"issues": "https://github.com/doctrine/collections/issues",
"source": "https://github.com/doctrine/collections/tree/2.2.0"
"source": "https://github.com/doctrine/collections/tree/2.2.1"
},
"funding": [
{
@@ -349,7 +349,7 @@
"type": "tidelift"
}
],
"time": "2024-02-25T22:55:36+00:00"
"time": "2024-03-05T22:28:45+00:00"
},
{
"name": "doctrine/common",
@@ -444,16 +444,16 @@
},
{
"name": "doctrine/dbal",
"version": "3.8.2",
"version": "3.8.3",
"source": {
"type": "git",
"url": "https://github.com/doctrine/dbal.git",
"reference": "a19a1d05ca211f41089dffcc387733a6875196cb"
"reference": "db922ba9436b7b18a23d1653a0b41ff2369ca41c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/doctrine/dbal/zipball/a19a1d05ca211f41089dffcc387733a6875196cb",
"reference": "a19a1d05ca211f41089dffcc387733a6875196cb",
"url": "https://api.github.com/repos/doctrine/dbal/zipball/db922ba9436b7b18a23d1653a0b41ff2369ca41c",
"reference": "db922ba9436b7b18a23d1653a0b41ff2369ca41c",
"shasum": ""
},
"require": {
@@ -469,12 +469,12 @@
"doctrine/coding-standard": "12.0.0",
"fig/log-test": "^1",
"jetbrains/phpstorm-stubs": "2023.1",
"phpstan/phpstan": "1.10.57",
"phpstan/phpstan": "1.10.58",
"phpstan/phpstan-strict-rules": "^1.5",
"phpunit/phpunit": "9.6.16",
"psalm/plugin-phpunit": "0.18.4",
"slevomat/coding-standard": "8.13.1",
"squizlabs/php_codesniffer": "3.8.1",
"squizlabs/php_codesniffer": "3.9.0",
"symfony/cache": "^5.4|^6.0|^7.0",
"symfony/console": "^4.4|^5.4|^6.0|^7.0",
"vimeo/psalm": "4.30.0"
@@ -537,7 +537,7 @@
],
"support": {
"issues": "https://github.com/doctrine/dbal/issues",
"source": "https://github.com/doctrine/dbal/tree/3.8.2"
"source": "https://github.com/doctrine/dbal/tree/3.8.3"
},
"funding": [
{
@@ -553,7 +553,7 @@
"type": "tidelift"
}
],
"time": "2024-02-12T18:36:36+00:00"
"time": "2024-03-03T15:55:06+00:00"
},
{
"name": "doctrine/deprecations",
@@ -1143,16 +1143,16 @@
},
{
"name": "doctrine/migrations",
"version": "3.7.2",
"version": "3.7.4",
"source": {
"type": "git",
"url": "https://github.com/doctrine/migrations.git",
"reference": "47af29eef49f29ebee545947e8b2a4b3be318c8a"
"reference": "954e0a314c2f0eb9fb418210445111747de254a6"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/doctrine/migrations/zipball/47af29eef49f29ebee545947e8b2a4b3be318c8a",
"reference": "47af29eef49f29ebee545947e8b2a4b3be318c8a",
"url": "https://api.github.com/repos/doctrine/migrations/zipball/954e0a314c2f0eb9fb418210445111747de254a6",
"reference": "954e0a314c2f0eb9fb418210445111747de254a6",
"shasum": ""
},
"require": {
@@ -1225,7 +1225,7 @@
],
"support": {
"issues": "https://github.com/doctrine/migrations/issues",
"source": "https://github.com/doctrine/migrations/tree/3.7.2"
"source": "https://github.com/doctrine/migrations/tree/3.7.4"
},
"funding": [
{
@@ -1241,20 +1241,20 @@
"type": "tidelift"
}
],
"time": "2023-12-05T11:35:05+00:00"
"time": "2024-03-06T13:41:11+00:00"
},
{
"name": "doctrine/orm",
"version": "2.18.1",
"version": "2.19.0",
"source": {
"type": "git",
"url": "https://github.com/doctrine/orm.git",
"reference": "e6eef1a97d41f1ee244b6e69d7359d00cb3e4c4a"
"reference": "a809a71aa6a233a6c82e68ebaaf8954adc4998dc"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/doctrine/orm/zipball/e6eef1a97d41f1ee244b6e69d7359d00cb3e4c4a",
"reference": "e6eef1a97d41f1ee244b6e69d7359d00cb3e4c4a",
"url": "https://api.github.com/repos/doctrine/orm/zipball/a809a71aa6a233a6c82e68ebaaf8954adc4998dc",
"reference": "a809a71aa6a233a6c82e68ebaaf8954adc4998dc",
"shasum": ""
},
"require": {
@@ -1283,14 +1283,14 @@
"doctrine/annotations": "^1.13 || ^2",
"doctrine/coding-standard": "^9.0.2 || ^12.0",
"phpbench/phpbench": "^0.16.10 || ^1.0",
"phpstan/phpstan": "~1.4.10 || 1.10.35",
"phpstan/phpstan": "~1.4.10 || 1.10.59",
"phpunit/phpunit": "^7.5 || ^8.5 || ^9.6",
"psr/log": "^1 || ^2 || ^3",
"squizlabs/php_codesniffer": "3.7.2",
"symfony/cache": "^4.4 || ^5.4 || ^6.4 || ^7.0",
"symfony/var-exporter": "^4.4 || ^5.4 || ^6.2 || ^7.0",
"symfony/yaml": "^3.4 || ^4.0 || ^5.0 || ^6.0 || ^7.0",
"vimeo/psalm": "4.30.0 || 5.16.0"
"vimeo/psalm": "4.30.0 || 5.22.2"
},
"suggest": {
"ext-dom": "Provides support for XSD validation for XML mapping files",
@@ -1340,22 +1340,22 @@
],
"support": {
"issues": "https://github.com/doctrine/orm/issues",
"source": "https://github.com/doctrine/orm/tree/2.18.1"
"source": "https://github.com/doctrine/orm/tree/2.19.0"
},
"time": "2024-02-22T12:22:44+00:00"
"time": "2024-03-03T17:43:41+00:00"
},
{
"name": "doctrine/persistence",
"version": "3.3.0",
"version": "3.3.1",
"source": {
"type": "git",
"url": "https://github.com/doctrine/persistence.git",
"reference": "f75d11b1bcd0a9b75a9e1cabd80ffe3bc0164bcc"
"reference": "b6fd1f126b13c1f7e7321f7338b14a19116b5de4"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/doctrine/persistence/zipball/f75d11b1bcd0a9b75a9e1cabd80ffe3bc0164bcc",
"reference": "f75d11b1bcd0a9b75a9e1cabd80ffe3bc0164bcc",
"url": "https://api.github.com/repos/doctrine/persistence/zipball/b6fd1f126b13c1f7e7321f7338b14a19116b5de4",
"reference": "b6fd1f126b13c1f7e7321f7338b14a19116b5de4",
"shasum": ""
},
"require": {
@@ -1424,7 +1424,7 @@
],
"support": {
"issues": "https://github.com/doctrine/persistence/issues",
"source": "https://github.com/doctrine/persistence/tree/3.3.0"
"source": "https://github.com/doctrine/persistence/tree/3.3.1"
},
"funding": [
{
@@ -1440,7 +1440,7 @@
"type": "tidelift"
}
],
"time": "2024-03-01T10:11:31+00:00"
"time": "2024-03-01T19:53:13+00:00"
},
{
"name": "doctrine/sql-formatter",
@@ -2875,16 +2875,16 @@
},
{
"name": "symfony/clock",
"version": "v7.0.3",
"version": "v7.0.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/clock.git",
"reference": "1c680e565dc0044d8ed3baeb57835fcacd9c6aed"
"reference": "8b9d08887353d627d5f6c3bf3373b398b49051c2"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/clock/zipball/1c680e565dc0044d8ed3baeb57835fcacd9c6aed",
"reference": "1c680e565dc0044d8ed3baeb57835fcacd9c6aed",
"url": "https://api.github.com/repos/symfony/clock/zipball/8b9d08887353d627d5f6c3bf3373b398b49051c2",
"reference": "8b9d08887353d627d5f6c3bf3373b398b49051c2",
"shasum": ""
},
"require": {
@@ -2929,7 +2929,7 @@
"time"
],
"support": {
"source": "https://github.com/symfony/clock/tree/v7.0.3"
"source": "https://github.com/symfony/clock/tree/v7.0.5"
},
"funding": [
{
@@ -2945,7 +2945,7 @@
"type": "tidelift"
}
],
"time": "2024-01-23T15:02:46+00:00"
"time": "2024-03-02T12:46:12+00:00"
},
{
"name": "symfony/config",
@@ -3264,16 +3264,16 @@
},
{
"name": "symfony/doctrine-bridge",
"version": "v7.0.4",
"version": "v7.0.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/doctrine-bridge.git",
"reference": "aded7ef586f9c75a04627326a5748f29ceba3506"
"reference": "e3cf34996df541c62acc1bd5f187aacc18a204d2"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/aded7ef586f9c75a04627326a5748f29ceba3506",
"reference": "aded7ef586f9c75a04627326a5748f29ceba3506",
"url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/e3cf34996df541c62acc1bd5f187aacc18a204d2",
"reference": "e3cf34996df541c62acc1bd5f187aacc18a204d2",
"shasum": ""
},
"require": {
@@ -3350,7 +3350,7 @@
"description": "Provides integration for Doctrine with various Symfony components",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/doctrine-bridge/tree/v7.0.4"
"source": "https://github.com/symfony/doctrine-bridge/tree/v7.0.5"
},
"funding": [
{
@@ -3366,7 +3366,7 @@
"type": "tidelift"
}
],
"time": "2024-02-04T16:21:40+00:00"
"time": "2024-02-27T12:34:35+00:00"
},
{
"name": "symfony/doctrine-messenger",
@@ -3937,16 +3937,16 @@
},
{
"name": "symfony/flex",
"version": "v2.4.4",
"version": "v2.4.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/flex.git",
"reference": "bec213c39511eda66663baa2ee7440c65f89c695"
"reference": "b0a405f40614c9f584b489d54f91091817b0e26e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/flex/zipball/bec213c39511eda66663baa2ee7440c65f89c695",
"reference": "bec213c39511eda66663baa2ee7440c65f89c695",
"url": "https://api.github.com/repos/symfony/flex/zipball/b0a405f40614c9f584b489d54f91091817b0e26e",
"reference": "b0a405f40614c9f584b489d54f91091817b0e26e",
"shasum": ""
},
"require": {
@@ -3982,7 +3982,7 @@
"description": "Composer plugin for Symfony",
"support": {
"issues": "https://github.com/symfony/flex/issues",
"source": "https://github.com/symfony/flex/tree/v2.4.4"
"source": "https://github.com/symfony/flex/tree/v2.4.5"
},
"funding": [
{
@@ -3998,7 +3998,7 @@
"type": "tidelift"
}
],
"time": "2024-02-05T18:04:53+00:00"
"time": "2024-03-02T08:16:47+00:00"
},
{
"name": "symfony/form",
@@ -4244,16 +4244,16 @@
},
{
"name": "symfony/http-client",
"version": "v7.0.4",
"version": "v7.0.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-client.git",
"reference": "8384876f49a2316a63f88a9cd12436de6936bee6"
"reference": "425f462a59d8030703ee04a9e1c666575ed5db3b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/http-client/zipball/8384876f49a2316a63f88a9cd12436de6936bee6",
"reference": "8384876f49a2316a63f88a9cd12436de6936bee6",
"url": "https://api.github.com/repos/symfony/http-client/zipball/425f462a59d8030703ee04a9e1c666575ed5db3b",
"reference": "425f462a59d8030703ee04a9e1c666575ed5db3b",
"shasum": ""
},
"require": {
@@ -4316,7 +4316,7 @@
"http"
],
"support": {
"source": "https://github.com/symfony/http-client/tree/v7.0.4"
"source": "https://github.com/symfony/http-client/tree/v7.0.5"
},
"funding": [
{
@@ -4332,7 +4332,7 @@
"type": "tidelift"
}
],
"time": "2024-02-15T11:33:06+00:00"
"time": "2024-03-02T12:46:12+00:00"
},
{
"name": "symfony/http-client-contracts",
@@ -4491,16 +4491,16 @@
},
{
"name": "symfony/http-kernel",
"version": "v7.0.4",
"version": "v7.0.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-kernel.git",
"reference": "065e2234d907c0fc4fc942bf223f7cfc016d0ac7"
"reference": "37c24ca28f65e3121a68f3dd4daeb36fb1fa2a72"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/065e2234d907c0fc4fc942bf223f7cfc016d0ac7",
"reference": "065e2234d907c0fc4fc942bf223f7cfc016d0ac7",
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/37c24ca28f65e3121a68f3dd4daeb36fb1fa2a72",
"reference": "37c24ca28f65e3121a68f3dd4daeb36fb1fa2a72",
"shasum": ""
},
"require": {
@@ -4583,7 +4583,7 @@
"description": "Provides a structured process for converting a Request into a Response",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/http-kernel/tree/v7.0.4"
"source": "https://github.com/symfony/http-kernel/tree/v7.0.5"
},
"funding": [
{
@@ -4599,7 +4599,7 @@
"type": "tidelift"
}
],
"time": "2024-02-27T06:35:35+00:00"
"time": "2024-03-04T21:05:24+00:00"
},
{
"name": "symfony/intl",
@@ -6082,16 +6082,16 @@
},
{
"name": "symfony/routing",
"version": "v7.0.3",
"version": "v7.0.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/routing.git",
"reference": "858b26756ffc35a11238b269b484ee3a393a74d3"
"reference": "ba6bf07d43289c6a4b4591ddb75bc3bc5f069c19"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/routing/zipball/858b26756ffc35a11238b269b484ee3a393a74d3",
"reference": "858b26756ffc35a11238b269b484ee3a393a74d3",
"url": "https://api.github.com/repos/symfony/routing/zipball/ba6bf07d43289c6a4b4591ddb75bc3bc5f069c19",
"reference": "ba6bf07d43289c6a4b4591ddb75bc3bc5f069c19",
"shasum": ""
},
"require": {
@@ -6143,7 +6143,7 @@
"url"
],
"support": {
"source": "https://github.com/symfony/routing/tree/v7.0.3"
"source": "https://github.com/symfony/routing/tree/v7.0.5"
},
"funding": [
{
@@ -6159,7 +6159,7 @@
"type": "tidelift"
}
],
"time": "2024-01-30T13:55:15+00:00"
"time": "2024-02-27T12:34:35+00:00"
},
{
"name": "symfony/runtime",
@@ -6242,16 +6242,16 @@
},
{
"name": "symfony/security-bundle",
"version": "v7.0.4",
"version": "v7.0.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/security-bundle.git",
"reference": "1755fb50e4da0a0013569752be763d208d690bcd"
"reference": "5d620bd5493d62d8016b2383d8690fade66163c1"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/security-bundle/zipball/1755fb50e4da0a0013569752be763d208d690bcd",
"reference": "1755fb50e4da0a0013569752be763d208d690bcd",
"url": "https://api.github.com/repos/symfony/security-bundle/zipball/5d620bd5493d62d8016b2383d8690fade66163c1",
"reference": "5d620bd5493d62d8016b2383d8690fade66163c1",
"shasum": ""
},
"require": {
@@ -6333,7 +6333,7 @@
"description": "Provides a tight integration of the Security component into the Symfony full-stack framework",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/security-bundle/tree/v7.0.4"
"source": "https://github.com/symfony/security-bundle/tree/v7.0.5"
},
"funding": [
{
@@ -6349,7 +6349,7 @@
"type": "tidelift"
}
],
"time": "2024-02-15T11:33:06+00:00"
"time": "2024-03-02T12:46:12+00:00"
},
{
"name": "symfony/security-core",
@@ -7281,16 +7281,16 @@
},
{
"name": "symfony/validator",
"version": "v7.0.4",
"version": "v7.0.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/validator.git",
"reference": "104bc3620d0ee4091034cfbcdcf82ed727f15b7d"
"reference": "6a73d479191a0bbbd9ffa3886af6e6ff6e79fb86"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/validator/zipball/104bc3620d0ee4091034cfbcdcf82ed727f15b7d",
"reference": "104bc3620d0ee4091034cfbcdcf82ed727f15b7d",
"url": "https://api.github.com/repos/symfony/validator/zipball/6a73d479191a0bbbd9ffa3886af6e6ff6e79fb86",
"reference": "6a73d479191a0bbbd9ffa3886af6e6ff6e79fb86",
"shasum": ""
},
"require": {
@@ -7355,7 +7355,7 @@
"description": "Provides tools to validate values",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/validator/tree/v7.0.4"
"source": "https://github.com/symfony/validator/tree/v7.0.5"
},
"funding": [
{
@@ -7371,7 +7371,7 @@
"type": "tidelift"
}
],
"time": "2024-02-22T20:27:20+00:00"
"time": "2024-02-27T12:53:56+00:00"
},
{
"name": "symfony/var-dumper",
@@ -8679,16 +8679,16 @@
},
{
"name": "nikic/php-parser",
"version": "v5.0.1",
"version": "v5.0.2",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
"reference": "2218c2252c874a4624ab2f613d86ac32d227bc69"
"reference": "139676794dc1e9231bf7bcd123cfc0c99182cb13"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/2218c2252c874a4624ab2f613d86ac32d227bc69",
"reference": "2218c2252c874a4624ab2f613d86ac32d227bc69",
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/139676794dc1e9231bf7bcd123cfc0c99182cb13",
"reference": "139676794dc1e9231bf7bcd123cfc0c99182cb13",
"shasum": ""
},
"require": {
@@ -8731,26 +8731,27 @@
],
"support": {
"issues": "https://github.com/nikic/PHP-Parser/issues",
"source": "https://github.com/nikic/PHP-Parser/tree/v5.0.1"
"source": "https://github.com/nikic/PHP-Parser/tree/v5.0.2"
},
"time": "2024-02-21T19:24:10+00:00"
"time": "2024-03-05T20:51:40+00:00"
},
{
"name": "phar-io/manifest",
"version": "2.0.3",
"version": "2.0.4",
"source": {
"type": "git",
"url": "https://github.com/phar-io/manifest.git",
"reference": "97803eca37d319dfa7826cc2437fc020857acb53"
"reference": "54750ef60c58e43759730615a392c31c80e23176"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53",
"reference": "97803eca37d319dfa7826cc2437fc020857acb53",
"url": "https://api.github.com/repos/phar-io/manifest/zipball/54750ef60c58e43759730615a392c31c80e23176",
"reference": "54750ef60c58e43759730615a392c31c80e23176",
"shasum": ""
},
"require": {
"ext-dom": "*",
"ext-libxml": "*",
"ext-phar": "*",
"ext-xmlwriter": "*",
"phar-io/version": "^3.0.1",
@@ -8791,9 +8792,15 @@
"description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)",
"support": {
"issues": "https://github.com/phar-io/manifest/issues",
"source": "https://github.com/phar-io/manifest/tree/2.0.3"
"source": "https://github.com/phar-io/manifest/tree/2.0.4"
},
"time": "2021-07-20T11:28:43+00:00"
"funding": [
{
"url": "https://github.com/theseer",
"type": "github"
}
],
"time": "2024-03-03T12:33:53+00:00"
},
{
"name": "phar-io/version",
@@ -8848,16 +8855,16 @@
},
{
"name": "phpunit/php-code-coverage",
"version": "9.2.30",
"version": "9.2.31",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
"reference": "ca2bd87d2f9215904682a9cb9bb37dda98e76089"
"reference": "48c34b5d8d983006bd2adc2d0de92963b9155965"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/ca2bd87d2f9215904682a9cb9bb37dda98e76089",
"reference": "ca2bd87d2f9215904682a9cb9bb37dda98e76089",
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/48c34b5d8d983006bd2adc2d0de92963b9155965",
"reference": "48c34b5d8d983006bd2adc2d0de92963b9155965",
"shasum": ""
},
"require": {
@@ -8914,7 +8921,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
"security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy",
"source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.30"
"source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.31"
},
"funding": [
{
@@ -8922,7 +8929,7 @@
"type": "github"
}
],
"time": "2023-12-22T06:47:57+00:00"
"time": "2024-03-02T06:37:42+00:00"
},
{
"name": "phpunit/php-file-iterator",
@@ -9270,16 +9277,16 @@
},
{
"name": "sebastian/cli-parser",
"version": "1.0.1",
"version": "1.0.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/cli-parser.git",
"reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2"
"reference": "2b56bea83a09de3ac06bb18b92f068e60cc6f50b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/442e7c7e687e42adc03470c7b668bc4b2402c0b2",
"reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2",
"url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/2b56bea83a09de3ac06bb18b92f068e60cc6f50b",
"reference": "2b56bea83a09de3ac06bb18b92f068e60cc6f50b",
"shasum": ""
},
"require": {
@@ -9314,7 +9321,7 @@
"homepage": "https://github.com/sebastianbergmann/cli-parser",
"support": {
"issues": "https://github.com/sebastianbergmann/cli-parser/issues",
"source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.1"
"source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.2"
},
"funding": [
{
@@ -9322,7 +9329,7 @@
"type": "github"
}
],
"time": "2020-09-28T06:08:49+00:00"
"time": "2024-03-02T06:27:43+00:00"
},
{
"name": "sebastian/code-unit",
@@ -9568,16 +9575,16 @@
},
{
"name": "sebastian/diff",
"version": "4.0.5",
"version": "4.0.6",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/diff.git",
"reference": "74be17022044ebaaecfdf0c5cd504fc9cd5a7131"
"reference": "ba01945089c3a293b01ba9badc29ad55b106b0bc"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/74be17022044ebaaecfdf0c5cd504fc9cd5a7131",
"reference": "74be17022044ebaaecfdf0c5cd504fc9cd5a7131",
"url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/ba01945089c3a293b01ba9badc29ad55b106b0bc",
"reference": "ba01945089c3a293b01ba9badc29ad55b106b0bc",
"shasum": ""
},
"require": {
@@ -9622,7 +9629,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/diff/issues",
"source": "https://github.com/sebastianbergmann/diff/tree/4.0.5"
"source": "https://github.com/sebastianbergmann/diff/tree/4.0.6"
},
"funding": [
{
@@ -9630,7 +9637,7 @@
"type": "github"
}
],
"time": "2023-05-07T05:35:17+00:00"
"time": "2024-03-02T06:30:58+00:00"
},
{
"name": "sebastian/environment",
@@ -9697,16 +9704,16 @@
},
{
"name": "sebastian/exporter",
"version": "4.0.5",
"version": "4.0.6",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/exporter.git",
"reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d"
"reference": "78c00df8f170e02473b682df15bfcdacc3d32d72"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d",
"reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d",
"url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/78c00df8f170e02473b682df15bfcdacc3d32d72",
"reference": "78c00df8f170e02473b682df15bfcdacc3d32d72",
"shasum": ""
},
"require": {
@@ -9762,7 +9769,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/exporter/issues",
"source": "https://github.com/sebastianbergmann/exporter/tree/4.0.5"
"source": "https://github.com/sebastianbergmann/exporter/tree/4.0.6"
},
"funding": [
{
@@ -9770,20 +9777,20 @@
"type": "github"
}
],
"time": "2022-09-14T06:03:37+00:00"
"time": "2024-03-02T06:33:00+00:00"
},
{
"name": "sebastian/global-state",
"version": "5.0.6",
"version": "5.0.7",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/global-state.git",
"reference": "bde739e7565280bda77be70044ac1047bc007e34"
"reference": "bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bde739e7565280bda77be70044ac1047bc007e34",
"reference": "bde739e7565280bda77be70044ac1047bc007e34",
"url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9",
"reference": "bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9",
"shasum": ""
},
"require": {
@@ -9826,7 +9833,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/global-state/issues",
"source": "https://github.com/sebastianbergmann/global-state/tree/5.0.6"
"source": "https://github.com/sebastianbergmann/global-state/tree/5.0.7"
},
"funding": [
{
@@ -9834,7 +9841,7 @@
"type": "github"
}
],
"time": "2023-08-02T09:26:13+00:00"
"time": "2024-03-02T06:35:11+00:00"
},
{
"name": "sebastian/lines-of-code",
@@ -10508,16 +10515,16 @@
},
{
"name": "symfony/maker-bundle",
"version": "v1.55.1",
"version": "v1.56.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/maker-bundle.git",
"reference": "11a9d3125c5b93ab4043f0f2e9927fdc55881c17"
"reference": "bbb7949ae048363df7c8439abeddef8befd155ce"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/maker-bundle/zipball/11a9d3125c5b93ab4043f0f2e9927fdc55881c17",
"reference": "11a9d3125c5b93ab4043f0f2e9927fdc55881c17",
"url": "https://api.github.com/repos/symfony/maker-bundle/zipball/bbb7949ae048363df7c8439abeddef8befd155ce",
"reference": "bbb7949ae048363df7c8439abeddef8befd155ce",
"shasum": ""
},
"require": {
@@ -10580,7 +10587,7 @@
],
"support": {
"issues": "https://github.com/symfony/maker-bundle/issues",
"source": "https://github.com/symfony/maker-bundle/tree/v1.55.1"
"source": "https://github.com/symfony/maker-bundle/tree/v1.56.0"
},
"funding": [
{
@@ -10596,7 +10603,7 @@
"type": "tidelift"
}
],
"time": "2024-02-21T13:41:51+00:00"
"time": "2024-03-04T13:36:45+00:00"
},
{
"name": "symfony/phpunit-bridge",
@@ -10762,16 +10769,16 @@
},
{
"name": "theseer/tokenizer",
"version": "1.2.2",
"version": "1.2.3",
"source": {
"type": "git",
"url": "https://github.com/theseer/tokenizer.git",
"reference": "b2ad5003ca10d4ee50a12da31de12a5774ba6b96"
"reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/theseer/tokenizer/zipball/b2ad5003ca10d4ee50a12da31de12a5774ba6b96",
"reference": "b2ad5003ca10d4ee50a12da31de12a5774ba6b96",
"url": "https://api.github.com/repos/theseer/tokenizer/zipball/737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2",
"reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2",
"shasum": ""
},
"require": {
@@ -10800,7 +10807,7 @@
"description": "A small library for converting tokenized PHP source code into XML and potentially other formats",
"support": {
"issues": "https://github.com/theseer/tokenizer/issues",
"source": "https://github.com/theseer/tokenizer/tree/1.2.2"
"source": "https://github.com/theseer/tokenizer/tree/1.2.3"
},
"funding": [
{
@@ -10808,7 +10815,7 @@
"type": "github"
}
],
"time": "2023-11-20T00:12:19+00:00"
"time": "2024-03-03T12:36:25+00:00"
},
{
"name": "zenstruck/assert",


+ 1
- 0
src/ApiResource/CommentApi.php Просмотреть файл

@@ -21,6 +21,7 @@ use ApiPlatform\Metadata\GetCollection;
use ApiPlatform\Metadata\Patch;
use ApiPlatform\Metadata\Post;
use App\Validator\IsValidOwner;
use Symfony\Component\Serializer\Attribute\Groups;
use Symfony\Component\Validator\Constraints\NotBlank;

#[ApiResource(


+ 8
- 23
src/ApiResource/PostingApi.php Просмотреть файл

@@ -20,7 +20,6 @@ use ApiPlatform\Metadata\Get;
use ApiPlatform\Metadata\GetCollection;
use ApiPlatform\Metadata\Patch;
use ApiPlatform\Metadata\Post;
use Symfony\Component\PropertyInfo\Type;
use Symfony\Component\Serializer\Attribute\Groups;
use Symfony\Component\Validator\Constraints as Assert;
use Symfony\Component\Validator\Constraints\NotBlank;
@@ -35,11 +34,11 @@ use Symfony\Component\Validator\Constraints\NotBlank;
security: 'is_granted("ROLE_USER")',
),
new Post(
denormalizationContext: ['groups' => 'posting_create'],
denormalizationContext: ['groups' => 'posting:create'],
security: 'is_granted("ROLE_USER")',
),
new Patch(
denormalizationContext: ['groups' => 'posting_patch'],
denormalizationContext: ['groups' => 'posting:patch'],
security: 'is_granted("EDIT", object)',
),
new Delete(
@@ -59,11 +58,11 @@ class PostingApi
public ?int $id = null;

#[NotBlank]
#[Groups(['posting_create', 'posting_patch'])]
#[Groups(['posting:create', 'posting:patch'])]
public ?string $headline = null;

#[NotBlank]
#[Groups(['posting_create', 'posting_patch'])]
#[Groups(['posting:create', 'posting:patch'])]
public ?string $message = null;

#[ApiProperty(writable: false)]
@@ -73,31 +72,17 @@ class PostingApi
public ?string $ownerName = null;

#[ApiProperty(writable: true)]
#[Groups(['posting_create'])]
#[Assert\NotBlank(groups: ['posting_create'])]
#[Groups(['posting:create'])]
#[Assert\NotBlank(groups: ['posting:create'])]
public ?PartnerApi $partner = null;

#[ApiProperty(writable: true)]
#[Groups(['posting_create'])]
#[Groups(['posting:create'])]
public ?ContactApi $contact = null;

/**
* @var array<int, CommentApi>
* @var $comments array<int, CommentApi>
*/
#[ApiProperty(
writable: false,
readableLink: true,
writableLink: false,
fetchEager: true,
builtinTypes: [
new Type(
'object',
collection: true,
collectionKeyType: [new Type('int')],
collectionValueType: new Type('object', class: CommentApi::class)
)
]
)]
public array $comments = [];

#[ApiProperty(writable: false)]


+ 0
- 6
src/ApiResource/UserApi.php Просмотреть файл

@@ -71,12 +71,6 @@ class UserApi
#[ApiProperty(security: 'object === null or is_granted("EDIT", object)')]
public bool $active;

/**
* @var array<int, PostingApi>
*/
#[ApiProperty(writable: false)]
public array $posts = [];

#[ApiProperty(writable: false)]
public ?\DateTimeImmutable $createdAt = null;
}

+ 0
- 6
src/Mapper/UserEntityToApiMapper.php Просмотреть файл

@@ -41,12 +41,6 @@ class UserEntityToApiMapper implements MapperInterface
$dto->firstName = $entity->getFirstName();
$dto->lastName = $entity->getLastName();

$dto->posts = array_map(function(Posting $posting) {
return $this->microMapper->map($posting, PostingApi::class, [
MicroMapperInterface::MAX_DEPTH => 1,
]);
}, $entity->getPostings()->getValues());

return $dto;
}
}

+ 1
- 1
src/Serializer/MediaObjectNormalizer.php Просмотреть файл

@@ -42,7 +42,7 @@ final class MediaObjectNormalizer implements NormalizerInterface, SerializerAwar
public function supportsNormalization($data, ?string $format = null, array $context = []): bool
{
if (isset($context[self::ALREADY_CALLED])) {
return false;
//return false;
}

return $this->normalizer->supportsNormalization($data, $format, $context);


+ 10
- 0
tests/Functional/CommentResourceTest.php Просмотреть файл

@@ -74,5 +74,15 @@ class CommentResourceTest extends KernelTestCase
->assertJsonMatches('"hydra:totalItems"', 2)
->assertJsonMatches('"hydra:member"[1].message', 'my comment')
;

$this->browser()
->get('/api/posts', [
'headers' => [
'Authorization' => 'Bearer ' . $token,
],
])
->assertSuccessful()
->dd()
;
}
}

Загрузка…
Отмена
Сохранить