Commit graph

212 commits

Author SHA1 Message Date
a4cc75d697
fix(queue): add explicit tries and timeout to SendClientSecurityAlertMail (F-2026-0007) 2026-08-26 10:10:52 +02:00
9a0328d884
build(deps): move driftingly/rector-laravel to require-dev (F-2026-0005) 2026-08-26 10:06:54 +02:00
f4c3f446da
fix(auth): point auth provider to ApiClient and remove dead UserFactory (F-2026-0006) 2026-08-26 10:04:36 +02:00
be13421b7a
fix(security): make nonce validation and consumption atomic via CacheRepository add (F-2026-0008) 2026-08-26 10:01:43 +02:00
feb4a21e6a
fix(database): guard dropIfExists in multi-connection migrations by local/testing environment (F-2026-0004) 2026-08-26 09:59:06 +02:00
ae3f5185fe
perf(directory): memoize arcadia brand lookups to eliminate N+1 queries during INCO sheet hydration (F-2026-0003) 2026-08-26 09:51:47 +02:00
1a93c74815
fix(cache): resolve all cached brands before deleting collection key in BrandCache reset (F-2026-0002) 2026-08-26 09:45:49 +02:00
fc268f0c7f
fix(security): sanitize rate limiter client IP resolution to prevent header spoofing (F-2026-0001) 2026-08-26 09:41:40 +02:00
9ed3b6c676
TO REMOVE !!!!! 2026-08-26 09:25:09 +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
1df3a27c98 feat(config): introduce typed configuration objects, dedicated value objects and enforce global class referencing 2026-08-21 15:01:36 +02:00
0063727790 refactor(tests): fix IncoSheets directory casing 2026-08-21 14:31:14 +02:00
a82a1558bd feat(security): add arcadia:security:audit-logs CLI command with CSV export and typed audit details 2026-08-21 14:30:20 +02:00
61073f4fcd feat(security): add database audit logging and asynchronous markdown email alerts for api client actions 2026-08-21 12:07:13 +02:00
709568f1ed feat(brand): handle on-demand brand renaming with BrandRenamed event and historical preservation 2026-08-21 11:36:37 +02:00
cc368c7102 feat(brand): add dedicated BrandCache service, event invalidation, and persist brand name locally 2026-08-21 11:27:32 +02:00
dc83df4105 feat(security): add audit log listeners and tests for client secret and status events 2026-08-21 11:09:25 +02:00
0d2b0124ee docs(architecture): add global architecture documentation for Arcadia API
docs(architecture): add request lifecycle documentation for Arcadia API

docs(architecture): add execution, transactions, and domain events documentation for Arcadia API

docs(architecture): add guide for creating a new use case in Arcadia API

docs(exceptions): summarize exception handling and HTTP status codes in Arcadia API

docs(tests): outline testing strategy and conventions for Arcadia API

style(openapi): correct description formatting in OpenAPI documentation

chore: remove outdated exceptions documentation

test: remove obsolete tests documentation
2026-08-21 10:41:07 +02:00
20ae9a2307 feat(event): implement TransactionalDomainEventDispatcher with post-commit release 2026-08-21 10:28:36 +02:00
95f10be9d4 style(tests): fix namespace casing in IncoSheetTestBuilder and IncoSheetMother 2026-08-21 10:23:54 +02:00
5e4e2f5faf fix(security): lock HMAC dev bypass strictly to false in production 2026-08-21 10:14:55 +02:00
62289d2222 refactor(domain): introduce Domain Builders for IncoComposition and IncoSheet 2026-08-21 10:13:43 +02:00
fcbd2aa9c0 refactor(inmemory): simplify filtering and sorting logic
Refactor the findAll method by extracting filtering and sorting logic into dedicated private methods for better readability and maintainability.
2026-08-21 09:55:09 +02:00