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
4a3d0c46a8
docs: add 05-temps-et-base-de-donnees guide and update architecture documentation
2026-08-21 16:13:39 +02:00
5c49b2cc4f
feat(infra): attach HasUuidV7CreatedAt trait to Brand, ApiClient, and ClientAuditLog models
2026-08-21 16:12:01 +02:00
6d63e68908
feat(infra): add HasUuidV7CreatedAt trait to derive created_at from UUIDv7
2026-08-21 16:11:56 +02:00
05af05e171
refactor(database): migrate all timestamp columns to dateTime across migrations
2026-08-21 16:11:54 +02:00
37bd6cdbdd
feat(shared): implement PSR-20 Clock contract, Utc facade, and RFC3339 normalization
2026-08-21 15:45:32 +02:00