Commit graph

29 commits

Author SHA1 Message Date
0c361c5ff7
feat(pagination): add PageNumber and PageSize value objects and update Pagination 2026-09-15 12:48:52 +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
54a199d4e0
refactor(string): extract transliterate to Shared\Helpers\StringHelper 2026-08-28 18:10:15 +02:00
3582a3928c
refactor(pagination): clamp out-of-bounds pagination values silently 2026-08-25 08:26:50 +02:00
cb97e6f591
refactor(ddd): introduce AggregateRoot and ReadModel interfaces extending Entity 2026-08-24 21:44:51 +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
20ae9a2307 feat(event): implement TransactionalDomainEventDispatcher with post-commit release 2026-08-21 10:28:36 +02:00
62289d2222 refactor(domain): introduce Domain Builders for IncoComposition and IncoSheet 2026-08-21 10:13:43 +02:00
fcf184dd1d refactor(presenter): remove unused BrandItem import
Cleaned up the BrandsIndexView and BuilderStepPresenter by removing unused imports.
2026-08-21 09:45:33 +02:00
9c2c109d51 feat(usecase): add Transactional interface and update use cases
- Implemented Transactional interface for use cases requiring database transactions.
- Updated CreateClient, RegenerateClientSecret, and SetClientStatus to implement Transactional.
- Modified LaravelExecutor to handle transactional use cases appropriately.
- Enhanced tests for LaravelExecutor to cover transactional behavior.
2026-08-21 09:38:29 +02:00
6be00bb21e
refactor(domain): make read-only entity constructors private and introduce hydrate static methods 2026-08-20 15:05:33 +02:00
4d68a97889
feat(security): derive client createdAt from UUIDv7 and add HasTimestampIdentifier interface 2026-08-20 12:53:07 +02:00
c8a46bb9b3
fix(shared): harmonize delete exception contracts on Repository and ClientRepository (LSP) 2026-08-20 09:48:10 +02:00
2bbfc7fa08
fix(shared): prevent cross-type equality in EntityId::equals (LSP) 2026-08-20 09:45:54 +02:00
909f7abaa4
feat(shared): add security interfaces, user details contracts and UUID helper 2026-08-18 12:03:22 +02:00
1dcf0a8cdf
refactor(usecase): specify concrete Input and Output types in usecase docblocks and refine builder generic inference 2026-08-18 11:34:30 +02:00
fc368cdc46 refactor(shared): reorganize DDD core building blocks into sub-namespaces (Model, Port, Event) 2026-08-17 10:31:28 +02:00
e02f5f5c2a
refactor: introduce InvalidDateFormatException for DatesHelper 2026-08-17 09:43:34 +02:00
59ceab8185
refactor: clean up redundant readonly property modifiers and harmonize EntityId constructors 2026-08-17 09:42:21 +02:00
0c25d663f8
refactor: add explicit types to class constants (PHP 8.3+) 2026-08-17 09:41:10 +02:00
7658483863
feat(api): implement API response transformation middleware
- Added TransformApiV1Response middleware to handle API responses.
- Updated Employee and IncoSheets controllers to return ApiResponse.
- Refactored API routes to use new middleware for v1.
2026-08-14 11:50:12 +02:00
6d77bc6332
test(DatesHelper): update date parsing logic and add fallback tests
Enhance date parsing in DatesHelper to correctly handle RFC3339 format.
Add tests for fallback scenarios with DateTimeImmutable.
2026-08-13 13:24:33 +02:00
8afc31c806
test(DatesHelper): update date regex and add instantiation test
- Fixed regex for inverted French date format.
- Added test to prevent direct instantiation of DatesHelper.
2026-08-13 13:11:55 +02:00
289140c630
refactor(DatesHelper): make constructor private and update comment
Updated the constructor of DatesHelper to be private and modified the comment to clarify its purpose as a static class.
2026-08-13 13:07:03 +02:00
d15f30bcbf
test(UuidHelper): update unit tests for UUID version checks
Refactor test descriptions for clarity and consistency.
2026-08-13 13:06:01 +02:00
0111ee2ac4
refactor(Employees): remove BaseEnum trait and clean up EmployeeSortColumn
This change simplifies the EmployeeSortColumn enum by removing the BaseEnum trait,
which is no longer needed.
2026-08-13 11:52:13 +02:00
57756ce6ae
test(UuidHelper): add unit tests for UUID version verification
Includes tests for checking if UUIDs are v4 or v7 and retrieving their version.
2026-08-13 10:24:05 +02:00
34169a9feb
feat(api): implement tracer bullet for employees and OpenAPI specification 2026-08-12 15:45:29 +02:00