Commit graph

230 commits

Author SHA1 Message Date
0805017a70
fix(parser): use ICU transliterator for platform-independent ASCII slugification 2026-08-28 18:04:23 +02:00
e8280b1f1d
refactor(phpcs): update ruleset name and remove unused rules
refactor(pint): change preset to psr12 and add version

refactor(rector): simplify configuration and remove Laravel-specific sets
2026-08-28 17:52:54 +02:00
d508a0cb86
build(ci): require ext-oci8 in composer.json and add ignore-platform-req in GitLab CI 2026-08-28 17:46:26 +02:00
72a4278ca6
fix(replication): clean drop in reverse order and purge recyclebin during fresh migrations 2026-08-28 17:40:26 +02:00
b4f3c0bdb9
feat(health): dynamic schema conformity inspection from Migrator definitions and Oracle DUAL ping 2026-08-28 17:33:13 +02:00
d2c9e0807a
feat(database): update database configuration for Oracle and MySQL
- Changed DB_CONNECTION to MySQL and updated related settings.
- Added Oracle database configuration with necessary parameters.
- Introduced docker-compose for MySQL and Oracle services.
2026-08-28 17:31:18 +02:00
46ab5e4325
feat(health): add Arcadia database conformity check with diff hashing and synchronous alerting 2026-08-28 14:12:33 +02:00
197aedbc5e
refactor(health): remove toArray from HealthCheckResult DTO and encapsulate serialization in HealthCheckResponse 2026-08-27 15:19:36 +02:00
403ea2c6c2
refactor: add health check feature within cli and job. 2026-08-27 14:39:59 +02:00
34b76cb397
test(feature): align feature and openapi tests with replicated Oracle tables
- Update tests to use factory static helpers and avoid hardcoded table/connection names
- Align test data columns with real replicated Oracle schema
- Remove obsolete duplicate IncoSheetsShowTest
2026-08-26 17:29:18 +02:00
1842223ddc
refactor(database): improve replicated factories, seeders, and config injection
- AbstractTableFactory delegates connection resolution without hardcoded config keys
- Enforce mandatory connection parameter on Migrator without Infra dependencies
- Inject ArcadiaStorageConfig, AppConfig, and HmacAuthConfig into services, seeders, and health checkers
- Enhance factories and seeders with helper methods (truncate, count, query, new)
- Clean up covers annotations on database seeders integration tests
2026-08-26 17:29:13 +02:00
cec8d1ea66
refactor(infra): replace Eloquent directory adapters with direct QueryBuilder adapters and mappers
- Replace Eloquent models for replicated Oracle tables with direct QueryBuilder directory adapters
- Bind ArcadiaEmployeeDirectory, ArcadiaIncoSheetDirectory, ArcadiaIncoShortSheetDirectory, ArcadiaIncoCompositionDirectory, and ArcadiaMarqueBrandDirectory
- Remove obsolete Eloquent directory classes and models
2026-08-26 17:29:08 +02:00
cf918ccd30
feat(infra): add mappers and parsers for replicated Arcadia Oracle tables
- Add IncoStringParser, IncoIngredientParser, IncoParser, and IncoCompositionParser
- Add ArcadiaBrandMapper, EmployeeMapper, IncoCompositionMapper, IncoShortMapper, and IncoMapper
- Add complete unit test suites for all parsers and mappers
2026-08-26 17:29:05 +02:00
f7db5105ad
docs: update IncoSheets search parameters and local dev config
Updated the search URL and parameters in Search Inco Sheets.yml for consistency.
Corrected INCOSHEET_ID value in Local Dev.yml for accurate testing.
2026-08-26 16:26:50 +02:00
beec93fe4f
docs: add Digital-salarie table structure to documentation
Includes basic structure for RU_PERSONNE_SIRH table.
2026-08-26 16:26:42 +02:00
f88694110d
refactor: cleanup fake arcadia tables used for development 2026-08-26 16:25:47 +02:00
f7c7bb3db6
docs: add Oracle integration guide to README
Includes reference to SQL queries and live documentation.
2026-08-26 15:32:45 +02:00
361cf230e3
refactor: replicate and reproduce arcadia tables 2026-08-26 15:22:00 +02:00
06deb17236
chore: pint pass 2026-08-26 10:14:36 +02:00
a492e9823a
fix(queue): add explicit tries and timeout to SendClientSecurityAlertMail (F-2026-0007) 2026-08-26 10:11:59 +02:00
3582921df8
build(deps): move driftingly/rector-laravel to require-dev (F-2026-0005) 2026-08-26 10:11:56 +02:00
5ca882659d
fix(auth): point auth provider to ApiClient and remove dead UserFactory (F-2026-0006) 2026-08-26 10:11:36 +02:00
bc5303eb0a
fix(security): make nonce validation and consumption atomic via CacheRepository add (F-2026-0008) 2026-08-26 10:11:32 +02:00
6eb9be9156
fix(database): guard dropIfExists in multi-connection migrations by local/testing environment (F-2026-0004) 2026-08-26 10:11:29 +02:00
18b83b6e67
perf(directory): memoize arcadia brand lookups to eliminate N+1 queries during INCO sheet hydration (F-2026-0003) 2026-08-26 10:11:26 +02:00
861a1a8146
fix(cache): resolve all cached brands before deleting collection key in BrandCache reset (F-2026-0002) 2026-08-26 10:11:23 +02:00
dd5bcdd351
fix(security): sanitize rate limiter client IP resolution to prevent header spoofing (F-2026-0001) 2026-08-26 10:11:21 +02:00
daa8d1e0fa
refactor(cache): implement graceful degradation for BrandCache 2026-08-25 08:26:58 +02:00
0766e9dc8f
refactor(repository): make entity deletion idempotent 2026-08-25 08:26:55 +02:00
3582a3928c
refactor(pagination): clamp out-of-bounds pagination values silently 2026-08-25 08:26:50 +02:00
bdb72b65d6
docs(architecture): add ReadModel entity example in guide nouveau usecase 2026-08-24 21:46:06 +02:00
6f08526c7b
docs(architecture): update architecture overview with AggregateRoot and ReadModel 2026-08-24 21:45:10 +02:00
e31767cfd0
refactor(brand): make ArcadiaId strictly string value extending EntityId 2026-08-24 21:45:04 +02:00
55576a6971
refactor(security): unify ClientDirectory reading methods into ClientRepository 2026-08-24 21:44:56 +02:00
cb97e6f591
refactor(ddd): introduce AggregateRoot and ReadModel interfaces extending Entity 2026-08-24 21:44:51 +02:00
e10bd7741d
fix(factory): correct code range in ArcadiaBrandFactory
Updated the 'code' field to generate unique numbers between 100 and 999.
2026-08-21 17:44:30 +02:00
376324d71a
chore: add /coverage to .gitignore
This update ensures that coverage reports are ignored in version control.
2026-08-21 17:44:24 +02:00
bed0ded667
ci: update before_script to install intl extension
Added installation of the intl extension in the CI pipeline to ensure proper functionality.
2026-08-21 17:21:59 +02:00
cfa1289c9d
chore(dependencies): add ext-intl and ext-mbstring requirements
This change updates the composer.json to include the ext-intl and ext-mbstring extensions as requirements.
2026-08-21 17:21:53 +02:00
79d3bd8261
ci: install bcmath extension in before_script 2026-08-21 17:13:05 +02:00
514f098a96
chore(dependencies): update guzzlehttp packages and others
Updated guzzlehttp/guzzle, guzzlehttp/promises, guzzlehttp/psr7, and other dependencies to their latest versions for improved functionality and security.
2026-08-21 17:10:28 +02:00
e7f49ccf84
feat(tests): add DummyEntityIdA and DummyEntityIdB classes
These classes extend EntityId for testing purposes.
2026-08-21 17:10:21 +02:00
6dca27a703
ci: install bcmath extension in tests_laravel job
This change adds the installation of the bcmath extension
to the before_script of the tests_laravel job in the CI pipeline.
2026-08-21 17:04:58 +02:00
9c50fbd09b
chore: add ext-bcmath requirement in composer.json
This change ensures that the ext-bcmath extension is required for the project.
2026-08-21 17:04:54 +02:00
0e6aa52f2e
ci: install and enable pcov in tests_laravel job for code coverage 2026-08-21 16:56:21 +02:00
a395037058
ci: replace deprecated qa image with composer:2.10 and quote deploy credentials 2026-08-21 16:52:29 +02:00
4421d34a43
feat(health): implement strictly-typed health check subsystem with DB, cache, and SMTP checks 2026-08-21 16:47:14 +02:00
8e7d3e1dca
docs: update OpenAPI spec and Bruno collection for RFC 3339 UTC and health check 2026-08-21 16:47:10 +02:00
bb11d7aa78
fix(console): provide explicit escape parameter to fputcsv to prevent deprecation 2026-08-21 16:17:55 +02:00
891b21ba61
test(security): add unit tests for audit entities, presenter, and ClientConsoleResolver 2026-08-21 16:16:26 +02:00