Commit graph

283 commits

Author SHA1 Message Date
c94964c0b1
style(tests): fix spacing in IncoCompositionParserTest.php 2026-10-07 10:44:56 +02:00
dc836f911a
refactor(parser): normalize percentage value handling
Refactor percentage value parsing to use a dedicated method for better readability and maintainability.
Add tests to ensure legacy overflow percentages are normalized correctly.
2026-10-06 15:46:22 +02:00
e72b570823
style: fix spacing in type declarations and match formatting
Consistently format type declarations across response classes.
2026-10-06 15:04:44 +02:00
25cc3e982e
ci: update CI images and optimize composer install commands
Changed CI images to use a specific docker image and optimized composer install commands for better performance.
2026-10-06 15:02:44 +02:00
62c221f6b6
feat(health): add oracle probe and normalize health checks
Refactor health check DTOs around a common CheckResult contract and remove the\nlegacy HealthChecks aggregate object.\n\nAdd a dedicated /api/v1/health/oracle endpoint with response mapping, OpenAPI\nschema updates, and Bruno request coverage.\n\nAlign feature, unit, integration, architecture and OpenAPI tests with the new\nset-based checks representation and make Oracle health tests deterministic in CI.\n\nUpdate command documentation to the uwil:* command namespace.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-06 14:51:46 +02:00
71f6f64f7f
fix(brands): align FindBrand usecase output phpdoc type
Use the specific Arcadia find output interface in FindBrand generic annotations so static analysis resolves presenter/usecase template types correctly.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-06 11:57:36 +02:00
dc6f8658e6
refactor(presenters): align show presenters on output interface assertions
Replicate EmployeeShowPresenter handling across brand, inco composition and inco sheet presenters by asserting the usecase Output interface and using explicit result matching for found/not-found variants.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-06 11:55:46 +02:00
5308320bcb
chore(commands): update command signatures to include 'uwil' prefix 2026-10-06 11:54:52 +02:00
18fb5f8ac2
refactor(find): use polymorphic outputs for not found cases
Replace not-found exceptions in Arcadia find/show flows with typed outputs (Found*/NotFoundOutput) and map not-found results in presenters/responses while preserving HTTP 404 problem details.

Adjust architecture and unit tests to cover concrete output classes, and remove obsolete Arcadia not-found exception classes and their tests.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-05 15:50:01 +02:00
0adbe7175b
feat(employees): remove siteId parameter in favor of siteIds in request, OpenAPI spec and Bruno 2026-09-18 11:51:15 +02:00
3c4eeb3014
fix(employees): normalize scalar siteIds query parameter to array in prepareForValidation 2026-09-18 11:40:39 +02:00
6497b109a2
fix(inco): normalize scalar brands query parameter to array in prepareForValidation 2026-09-18 11:40:22 +02:00
d55178407f
refactor(employees): use array helper for siteIds in EmployeesIndexRequest 2026-09-18 10:35:18 +02:00
04c39e2573
refactor(api): use League URI for RFC query string normalization and nested bracket support 2026-09-18 10:32:52 +02:00
2b2ca42c99
docs(bruno): align query parameters with OpenAPI specification 2026-09-18 10:07:15 +02:00
10674f3295
feat(inco): restrict inco sheets list and search to short projection and remove short query parameter 2026-09-18 10:07:04 +02:00
2b8aae51af
docs(openapi): standardize inco-sheets list and search responses to IncoShort and remove short parameter 2026-09-18 10:06:45 +02:00
5b2c0e58ce
docs(openapi): standardize array query parameter names without brackets and enable spectator validation 2026-09-17 18:15:52 +02:00
00aff9bf63
feat(api): add NormalizeQueryStringArrays middleware to support RFC and bracket query array formats 2026-09-17 18:15:52 +02:00
86584c5b94
fix(inco): resolve brand filter via REFP.ARTICLE_REF COD_MARQUE and align replicate tables 2026-09-17 18:10:19 +02:00
111170cd7a
docs(openapi): add array bracket notation to brands and siteIds query parameters 2026-09-17 17:28:51 +02:00
d63723a113
feat(inco): add description field to IncoShort projection and OpenAPI schema 2026-09-16 10:18:00 +02:00
d94f78dace
test(unit): update application and infra unit tests with Pagination VOs and GWT format 2026-09-15 12:49:03 +02:00
d96f903e1c
test(integration): adapt repository and directory integration tests to Pagination VOs 2026-09-15 12:49:01 +02:00
40519c4a2b
test(arch): update Shared architecture tests for Pagination VOs 2026-09-15 12:48:59 +02:00
16573cb30c
refactor(pagination): use PageNumber and PageSize value objects in http helpers and console commands 2026-09-15 12:48:55 +02:00
0c361c5ff7
feat(pagination): add PageNumber and PageSize value objects and update Pagination 2026-09-15 12:48:52 +02:00
e83a286e9b
test(arch): overhaul and complete architecture test suite across all layers 2026-09-14 19:13:41 +02:00
106d4467c4
feat(brands): add pagination caching, fast local resolution and resilient database fallback 2026-09-14 17:30:51 +02:00
df04ab87ac
feat(env): add MATRICULE variable to configuration files
This change introduces the MATRICULE variable in the environment configuration
to allow dynamic endpoint generation.
2026-09-01 17:29:19 +02:00
f1c3100ef5
refactor(inco): simplify base query by using subquery for family label
Improves readability and maintainability of the query logic.
2026-09-01 09:30:32 +02:00
8c13ab5236
chore(config): remove unused ARCADIA_DB_SCHEMA and prefix_schema from database configuration 2026-09-01 09:30:20 +02:00
bc6a603913
feat(brands): remove internal uuid from brand responses and query only by brandCode 2026-08-31 17:35:32 +02:00
7312289811
feat(employees): rename ArcadiaEmployeeId to SiRhMatricule and expose matricule in api responses 2026-08-31 17:29:18 +02:00
2606ac882e
feat(inco): mask internal allergen ids in api presentation responses 2026-08-31 17:23:02 +02:00
4434eb5757
feat(inco): rename identifiers to incoId/incoCompoId and resolve sellFamilly label 2026-08-31 17:16:38 +02:00
00f38b7d41
fix(employees): filter out invalid matricules and comments from Arcadia database 2026-08-31 16:32:11 +02:00
f3c59d8ba4
fix(docs): update API endpoint URL in Root.yml
Removed trailing slash from the API endpoint URL for consistency.
2026-08-31 16:27:15 +02:00
71f97b16e3
refactor(string): centralize string encoding and normalization in StringEncoder & StringHelper, normalize BrandName to titleCase 2026-08-31 15:36:16 +02:00
9dab38e722
chore(docs): update API endpoint in Root.yml and add VM Linux environment
- Removed trailing slash from API URL for consistency.
- Added VM Linux environment configuration with necessary variables.
2026-08-31 15:36:16 +02:00
Jeremy Munsch
e2e41ff6f6
chore: add tinker dependencies for development purpose 2026-08-31 12:42:34 +02:00
742da323aa
perf(brands): paginate ArcadiaBrandDirectory and BrandRepository with SQL limit/offset and cache warming 2026-08-31 12:37:16 +02:00
97a73a5e05
fix(brand): filter out comment tuples and enforce positive integer validation for ArcadiaId 2026-08-31 11:45:35 +02:00
2d7d7d5077
style(docs): format SQL query comments in README 2026-08-31 11:38:38 +02:00
ce528d377e
fix(openapi): replace invalid nullable property with OpenAPI 3.1 multi-type 2026-08-31 11:31:42 +02:00
e60327d286
docs(arcadia): add brand queries, HTTP API endpoint, and CLI usage in README 2026-08-31 11:30:41 +02:00
4302b89d88
fix(arcadiaId): update pattern to allow larger numeric IDs
Updated the regex pattern for ArcadiaId to accept larger numeric values.
2026-08-31 11:27:32 +02:00
8f073ecd40
style: phpcbf pass 2026-08-31 11:23:47 +02:00
3da09495dc
docs: update README to use 'artisan' command prefix
Replaced 'php arcadia:' with 'php artisan arcadia:' for consistency in command usage.
2026-08-31 11:18:28 +02:00
55df66a1c8
fix(oracle): support multi-schema queries and SID connection configuration 2026-08-31 11:17:16 +02:00