feat: ajout des 3 derniers WS en lecture du bundle malio ednotif (!47)
All checks were successful
Auto Tag Develop / tag (push) Successful in 6s

- 3 nouveaux endpoints API Platform pass-through sur /api/bovins/{inventory|returned-dossiers|presumed-exits} consommant BovinApiInterface v0.0.6
- AnimalSummaryMapper (src/Service/) factorisant le mapping DTO EDNOTIF -> ressource
- src/State/ réorganisé par domaine (Bovin/, Reception/, Shipment/, Building/, User/, System/)
- tag OpenAPI "Bovins" pour regrouper les endpoints ednotif dans Swagger
- malio/ednotif-bundle passé à v0.0.6

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

| Numéro du ticket | Titre du ticket |
|------------------|-----------------|
|                  |                 |

## Description de la PR

## Modification du .env

## Check list

- [ ] Pas de régression
- [ ] TU/TI/TF rédigée
- [ ] TU/TI/TF OK
- [ ] CHANGELOG modifié

Reviewed-on: #47
Co-authored-by: tristan <tristan@yuno.malio.fr>
Co-committed-by: tristan <tristan@yuno.malio.fr>
This commit was merged in pull request #47.
This commit is contained in:
2026-04-21 13:45:37 +00:00
committed by Autin
parent c2074df562
commit 394c69e84a
31 changed files with 518 additions and 158 deletions

176
composer.lock generated
View File

@@ -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": "9c04091eea0e10c19713a1d882b04f91",
"content-hash": "fd62fc3833815b11aa058fd2759c1c79",
"packages": [
{
"name": "api-platform/doctrine-common",
@@ -2706,11 +2706,11 @@
},
{
"name": "malio/ednotif-bundle",
"version": "v0.0.4",
"version": "v0.0.6",
"source": {
"type": "git",
"url": "https://gitea.malio.fr/MALIO-DEV/ednotif-bundle",
"reference": "92c058213b34ba61f4aa6c03e11ce1ea8cc71421"
"reference": "f757822f366bd5f55588aa89e0ec5a5d0e811f1f"
},
"require": {
"ext-soap": "*",
@@ -2744,7 +2744,7 @@
"MIT"
],
"description": "Client EDNOTIF (Guichet + wsIpBNotif) pour Symfony",
"time": "2026-01-26T13:24:38+00:00"
"time": "2026-04-21T08:14:37+00:00"
},
{
"name": "masterminds/html5",
@@ -3655,16 +3655,16 @@
},
{
"name": "symfony/cache",
"version": "v8.0.4",
"version": "v8.0.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/cache.git",
"reference": "5d3fcada5e1b80157cfdfd1f9dbbd63f95ef6f13"
"reference": "8abf3ccbeae9d3071b81a3ae7ee11b209f9e1e78"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/cache/zipball/5d3fcada5e1b80157cfdfd1f9dbbd63f95ef6f13",
"reference": "5d3fcada5e1b80157cfdfd1f9dbbd63f95ef6f13",
"url": "https://api.github.com/repos/symfony/cache/zipball/8abf3ccbeae9d3071b81a3ae7ee11b209f9e1e78",
"reference": "8abf3ccbeae9d3071b81a3ae7ee11b209f9e1e78",
"shasum": ""
},
"require": {
@@ -3731,7 +3731,7 @@
"psr6"
],
"support": {
"source": "https://github.com/symfony/cache/tree/v8.0.4"
"source": "https://github.com/symfony/cache/tree/v8.0.8"
},
"funding": [
{
@@ -3751,7 +3751,7 @@
"type": "tidelift"
}
],
"time": "2026-01-23T12:59:31+00:00"
"time": "2026-03-30T15:18:51+00:00"
},
{
"name": "symfony/cache-contracts",
@@ -3908,16 +3908,16 @@
},
{
"name": "symfony/config",
"version": "v8.0.4",
"version": "v8.0.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/config.git",
"reference": "8f45af92f08f82902827a8b6f403aaf49d893539"
"reference": "c7369cc1da250fcbfe0c5a9d109e419661549c39"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/config/zipball/8f45af92f08f82902827a8b6f403aaf49d893539",
"reference": "8f45af92f08f82902827a8b6f403aaf49d893539",
"url": "https://api.github.com/repos/symfony/config/zipball/c7369cc1da250fcbfe0c5a9d109e419661549c39",
"reference": "c7369cc1da250fcbfe0c5a9d109e419661549c39",
"shasum": ""
},
"require": {
@@ -3962,7 +3962,7 @@
"description": "Helps you find, load, combine, autofill and validate configuration values of any kind",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/config/tree/v8.0.4"
"source": "https://github.com/symfony/config/tree/v8.0.8"
},
"funding": [
{
@@ -3982,7 +3982,7 @@
"type": "tidelift"
}
],
"time": "2026-01-13T13:06:50+00:00"
"time": "2026-03-30T15:14:47+00:00"
},
{
"name": "symfony/console",
@@ -4076,16 +4076,16 @@
},
{
"name": "symfony/dependency-injection",
"version": "v8.0.4",
"version": "v8.0.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/dependency-injection.git",
"reference": "59c3cf87a7ed9beb561cf7433a6635b000a0ff4d"
"reference": "3ce58b0fa844dc647ca1d66ea34748af985728c5"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/dependency-injection/zipball/59c3cf87a7ed9beb561cf7433a6635b000a0ff4d",
"reference": "59c3cf87a7ed9beb561cf7433a6635b000a0ff4d",
"url": "https://api.github.com/repos/symfony/dependency-injection/zipball/3ce58b0fa844dc647ca1d66ea34748af985728c5",
"reference": "3ce58b0fa844dc647ca1d66ea34748af985728c5",
"shasum": ""
},
"require": {
@@ -4133,7 +4133,7 @@
"description": "Allows you to standardize and centralize the way objects are constructed in your application",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/dependency-injection/tree/v8.0.4"
"source": "https://github.com/symfony/dependency-injection/tree/v8.0.8"
},
"funding": [
{
@@ -4153,7 +4153,7 @@
"type": "tidelift"
}
],
"time": "2026-01-23T12:59:31+00:00"
"time": "2026-03-31T07:15:36+00:00"
},
{
"name": "symfony/deprecation-contracts",
@@ -4400,16 +4400,16 @@
},
{
"name": "symfony/error-handler",
"version": "v8.0.4",
"version": "v8.0.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/error-handler.git",
"reference": "7620b97ec0ab1d2d6c7fb737aa55da411bea776a"
"reference": "c1119fe8dcfc3825ec74ec061b96ef0c8f281517"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/error-handler/zipball/7620b97ec0ab1d2d6c7fb737aa55da411bea776a",
"reference": "7620b97ec0ab1d2d6c7fb737aa55da411bea776a",
"url": "https://api.github.com/repos/symfony/error-handler/zipball/c1119fe8dcfc3825ec74ec061b96ef0c8f281517",
"reference": "c1119fe8dcfc3825ec74ec061b96ef0c8f281517",
"shasum": ""
},
"require": {
@@ -4457,7 +4457,7 @@
"description": "Provides tools to manage errors and ease debugging PHP code",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/error-handler/tree/v8.0.4"
"source": "https://github.com/symfony/error-handler/tree/v8.0.8"
},
"funding": [
{
@@ -4477,20 +4477,20 @@
"type": "tidelift"
}
],
"time": "2026-01-23T11:07:10+00:00"
"time": "2026-03-30T15:14:47+00:00"
},
{
"name": "symfony/event-dispatcher",
"version": "v8.0.4",
"version": "v8.0.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher.git",
"reference": "99301401da182b6cfaa4700dbe9987bb75474b47"
"reference": "f662acc6ab22a3d6d716dcb44c381c6002940df6"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/99301401da182b6cfaa4700dbe9987bb75474b47",
"reference": "99301401da182b6cfaa4700dbe9987bb75474b47",
"url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/f662acc6ab22a3d6d716dcb44c381c6002940df6",
"reference": "f662acc6ab22a3d6d716dcb44c381c6002940df6",
"shasum": ""
},
"require": {
@@ -4542,7 +4542,7 @@
"description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/event-dispatcher/tree/v8.0.4"
"source": "https://github.com/symfony/event-dispatcher/tree/v8.0.8"
},
"funding": [
{
@@ -4562,7 +4562,7 @@
"type": "tidelift"
}
],
"time": "2026-01-05T11:45:55+00:00"
"time": "2026-03-30T15:14:47+00:00"
},
{
"name": "symfony/event-dispatcher-contracts",
@@ -4709,16 +4709,16 @@
},
{
"name": "symfony/filesystem",
"version": "v8.0.1",
"version": "v8.0.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/filesystem.git",
"reference": "d937d400b980523dc9ee946bb69972b5e619058d"
"reference": "66b769ae743ce2d13e435528fbef4af03d623e5a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/filesystem/zipball/d937d400b980523dc9ee946bb69972b5e619058d",
"reference": "d937d400b980523dc9ee946bb69972b5e619058d",
"url": "https://api.github.com/repos/symfony/filesystem/zipball/66b769ae743ce2d13e435528fbef4af03d623e5a",
"reference": "66b769ae743ce2d13e435528fbef4af03d623e5a",
"shasum": ""
},
"require": {
@@ -4755,7 +4755,7 @@
"description": "Provides basic utilities for the filesystem",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/filesystem/tree/v8.0.1"
"source": "https://github.com/symfony/filesystem/tree/v8.0.8"
},
"funding": [
{
@@ -4775,7 +4775,7 @@
"type": "tidelift"
}
],
"time": "2025-12-01T09:13:36+00:00"
"time": "2026-03-30T15:14:47+00:00"
},
{
"name": "symfony/finder",
@@ -5234,16 +5234,16 @@
},
{
"name": "symfony/http-foundation",
"version": "v8.0.4",
"version": "v8.0.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-foundation.git",
"reference": "e33ba71e674a1bb16eb251688bd27c2ff67e0dc1"
"reference": "02656f7ebeae5c155d659e946f6b3a33df24051b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/e33ba71e674a1bb16eb251688bd27c2ff67e0dc1",
"reference": "e33ba71e674a1bb16eb251688bd27c2ff67e0dc1",
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/02656f7ebeae5c155d659e946f6b3a33df24051b",
"reference": "02656f7ebeae5c155d659e946f6b3a33df24051b",
"shasum": ""
},
"require": {
@@ -5290,7 +5290,7 @@
"description": "Defines an object-oriented layer for the HTTP specification",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/http-foundation/tree/v8.0.4"
"source": "https://github.com/symfony/http-foundation/tree/v8.0.8"
},
"funding": [
{
@@ -5310,20 +5310,20 @@
"type": "tidelift"
}
],
"time": "2026-01-09T12:15:10+00:00"
"time": "2026-03-30T15:14:47+00:00"
},
{
"name": "symfony/http-kernel",
"version": "v8.0.4",
"version": "v8.0.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-kernel.git",
"reference": "3e61425b663a995957217d03c444b9d27ca7d928"
"reference": "1770f6818d83b2fddc12185025b93f39a90cb628"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/3e61425b663a995957217d03c444b9d27ca7d928",
"reference": "3e61425b663a995957217d03c444b9d27ca7d928",
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/1770f6818d83b2fddc12185025b93f39a90cb628",
"reference": "1770f6818d83b2fddc12185025b93f39a90cb628",
"shasum": ""
},
"require": {
@@ -5394,7 +5394,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/v8.0.4"
"source": "https://github.com/symfony/http-kernel/tree/v8.0.8"
},
"funding": [
{
@@ -5414,7 +5414,7 @@
"type": "tidelift"
}
],
"time": "2026-01-25T08:21:00+00:00"
"time": "2026-03-31T21:14:05+00:00"
},
{
"name": "symfony/monolog-bridge",
@@ -5574,16 +5574,16 @@
},
{
"name": "symfony/options-resolver",
"version": "v8.0.0",
"version": "v8.0.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/options-resolver.git",
"reference": "d2b592535ffa6600c265a3893a7f7fd2bad82dd7"
"reference": "b48bce0a70b914f6953dafbd10474df232ed4de8"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/options-resolver/zipball/d2b592535ffa6600c265a3893a7f7fd2bad82dd7",
"reference": "d2b592535ffa6600c265a3893a7f7fd2bad82dd7",
"url": "https://api.github.com/repos/symfony/options-resolver/zipball/b48bce0a70b914f6953dafbd10474df232ed4de8",
"reference": "b48bce0a70b914f6953dafbd10474df232ed4de8",
"shasum": ""
},
"require": {
@@ -5621,7 +5621,7 @@
"options"
],
"support": {
"source": "https://github.com/symfony/options-resolver/tree/v8.0.0"
"source": "https://github.com/symfony/options-resolver/tree/v8.0.8"
},
"funding": [
{
@@ -5641,7 +5641,7 @@
"type": "tidelift"
}
],
"time": "2025-11-12T15:55:31+00:00"
"time": "2026-03-30T15:14:47+00:00"
},
{
"name": "symfony/password-hasher",
@@ -5885,16 +5885,16 @@
},
{
"name": "symfony/polyfill-mbstring",
"version": "v1.33.0",
"version": "v1.36.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
"reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493"
"reference": "6a21eb99c6973357967f6ce3708cd55a6bec6315"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6d857f4d76bd4b343eac26d6b539585d2bc56493",
"reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6a21eb99c6973357967f6ce3708cd55a6bec6315",
"reference": "6a21eb99c6973357967f6ce3708cd55a6bec6315",
"shasum": ""
},
"require": {
@@ -5946,7 +5946,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.33.0"
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.36.0"
},
"funding": [
{
@@ -5966,20 +5966,20 @@
"type": "tidelift"
}
],
"time": "2024-12-23T08:48:59+00:00"
"time": "2026-04-10T17:25:58+00:00"
},
{
"name": "symfony/polyfill-php85",
"version": "v1.33.0",
"version": "v1.36.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php85.git",
"reference": "d4e5fcd4ab3d998ab16c0db48e6cbb9a01993f91"
"reference": "2c408a6bb0313e6001a83628dc5506100474254e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php85/zipball/d4e5fcd4ab3d998ab16c0db48e6cbb9a01993f91",
"reference": "d4e5fcd4ab3d998ab16c0db48e6cbb9a01993f91",
"url": "https://api.github.com/repos/symfony/polyfill-php85/zipball/2c408a6bb0313e6001a83628dc5506100474254e",
"reference": "2c408a6bb0313e6001a83628dc5506100474254e",
"shasum": ""
},
"require": {
@@ -6026,7 +6026,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-php85/tree/v1.33.0"
"source": "https://github.com/symfony/polyfill-php85/tree/v1.36.0"
},
"funding": [
{
@@ -6046,7 +6046,7 @@
"type": "tidelift"
}
],
"time": "2025-06-23T16:12:55+00:00"
"time": "2026-04-10T16:50:15+00:00"
},
{
"name": "symfony/polyfill-uuid",
@@ -7667,16 +7667,16 @@
},
{
"name": "symfony/var-dumper",
"version": "v8.0.4",
"version": "v8.0.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-dumper.git",
"reference": "326e0406fc315eca57ef5740fa4a280b7a068c82"
"reference": "cfb7badd53bf4177f6e9416cfbbccc13c0e773a1"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/326e0406fc315eca57ef5740fa4a280b7a068c82",
"reference": "326e0406fc315eca57ef5740fa4a280b7a068c82",
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/cfb7badd53bf4177f6e9416cfbbccc13c0e773a1",
"reference": "cfb7badd53bf4177f6e9416cfbbccc13c0e773a1",
"shasum": ""
},
"require": {
@@ -7730,7 +7730,7 @@
"dump"
],
"support": {
"source": "https://github.com/symfony/var-dumper/tree/v8.0.4"
"source": "https://github.com/symfony/var-dumper/tree/v8.0.8"
},
"funding": [
{
@@ -7750,20 +7750,20 @@
"type": "tidelift"
}
],
"time": "2026-01-01T23:07:29+00:00"
"time": "2026-03-31T07:15:36+00:00"
},
{
"name": "symfony/var-exporter",
"version": "v8.0.0",
"version": "v8.0.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-exporter.git",
"reference": "7345f46c251f2eb27c7b3ebdb5bb076b3ffcae04"
"reference": "15776bb07a91b089037da89f8832fa41d5fa6ec6"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/var-exporter/zipball/7345f46c251f2eb27c7b3ebdb5bb076b3ffcae04",
"reference": "7345f46c251f2eb27c7b3ebdb5bb076b3ffcae04",
"url": "https://api.github.com/repos/symfony/var-exporter/zipball/15776bb07a91b089037da89f8832fa41d5fa6ec6",
"reference": "15776bb07a91b089037da89f8832fa41d5fa6ec6",
"shasum": ""
},
"require": {
@@ -7810,7 +7810,7 @@
"serialize"
],
"support": {
"source": "https://github.com/symfony/var-exporter/tree/v8.0.0"
"source": "https://github.com/symfony/var-exporter/tree/v8.0.8"
},
"funding": [
{
@@ -7830,7 +7830,7 @@
"type": "tidelift"
}
],
"time": "2025-11-05T18:53:00+00:00"
"time": "2026-03-30T15:14:47+00:00"
},
{
"name": "symfony/web-link",
@@ -11457,16 +11457,16 @@
},
{
"name": "symfony/process",
"version": "v8.0.4",
"version": "v8.0.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/process.git",
"reference": "10df72602d88c0a3fa685b822976a052611dd607"
"reference": "cb8939aff03470d1a9d1d1b66d08c6fa71b3bbdc"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/process/zipball/10df72602d88c0a3fa685b822976a052611dd607",
"reference": "10df72602d88c0a3fa685b822976a052611dd607",
"url": "https://api.github.com/repos/symfony/process/zipball/cb8939aff03470d1a9d1d1b66d08c6fa71b3bbdc",
"reference": "cb8939aff03470d1a9d1d1b66d08c6fa71b3bbdc",
"shasum": ""
},
"require": {
@@ -11498,7 +11498,7 @@
"description": "Executes commands in sub-processes",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/process/tree/v8.0.4"
"source": "https://github.com/symfony/process/tree/v8.0.8"
},
"funding": [
{
@@ -11518,7 +11518,7 @@
"type": "tidelift"
}
],
"time": "2026-01-23T11:07:10+00:00"
"time": "2026-03-30T15:14:47+00:00"
},
{
"name": "symfony/web-profiler-bundle",