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