a42a79861d
feat(domain): add Brand entity, value objects, ports, and generator & resolver domain services
2026-08-20 17:35:38 +02:00
8cfd5fbe0f
refactor(console): scope client artisan commands under arcadia prefix
2026-08-20 17:35:31 +02:00
6f35e031fa
refactor(presentation): remove authorize method from FormRequests in favor of middleware filters
2026-08-20 17:35:26 +02:00
6be00bb21e
refactor(domain): make read-only entity constructors private and introduce hydrate static methods
2026-08-20 15:05:33 +02:00
66fc714ca0
refactor(security): update exception handling to use value objects
...
Refactor exception handling in ClientNameAlreadyExistsException and ClientNotFoundException
to utilize value objects directly, improving type safety and clarity.
2026-08-20 14:30:09 +02:00
4d68a97889
feat(security): derive client createdAt from UUIDv7 and add HasTimestampIdentifier interface
2026-08-20 12:53:07 +02:00
9c28cf2903
refactor(database): add timestamps to ApiClient and Employee models
...
Updated ApiClient and Employee models to include created_at and updated_at fields for better tracking of records.
2026-08-20 12:08:15 +02:00
f3b84c725d
refactor(migration): enhance comments for api_clients table fields
...
Improved clarity of comments for identifier, secret, and is_active fields.
2026-08-20 11:46:46 +02:00
f9364a8960
docs(Arcadia): add JSON examples for INCO legacy API
...
Added example JSON files for INCO API endpoints to provide clear references for data structure and expected values.
2026-08-20 11:46:37 +02:00
15e58526a8
refactor(security): clarify exception namespace in ClientRepository
...
Updated the exception namespace for better clarity and consistency.
2026-08-20 11:33:59 +02:00
15a0ff55a3
refactor(security): segregate ClientDirectory and ClientRepository ports (ISP)
2026-08-20 10:02:17 +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
98356465d5
fix(infra): align since filter in InMemoryEmployeeDirectory with Eloquent adapter (LSP)
2026-08-20 09:45:11 +02:00
ed7ce3ec32
refactor(console): remove redundant view docblock above UsecaseBuilder
2026-08-18 18:47:18 +02:00
341b57c3bf
feat(console): migrate interactive console commands to Laravel Prompts
2026-08-18 18:46:31 +02:00
7f57f16425
refactor(console): extract private methods for input extraction in command handle methods
2026-08-18 18:26:46 +02:00
90c87899a2
refactor(console): encapsulate interactive search and autocompletion in ClientConsoleResolver
2026-08-18 18:25:08 +02:00
2d46f774b3
fix(quality): resolve PHP_CodeSniffer warnings and errors
2026-08-18 18:25:04 +02:00
bad76036f1
feat(security): add FindClient use case with Paginated search and anticipate in console commands
2026-08-18 17:45:42 +02:00
e3462241d3
feat(console): add RegenerateClientSecret command
2026-08-18 17:37:44 +02:00
d3786aaed6
feat(console): add CreateClient command and enforce unique slug for ApiClient
2026-08-18 17:31:29 +02:00
0a5603330a
feat(console): add CreateClientCommand and related classes
...
Implement an interactive command to create a new API client, including input validation and confirmation steps.
Add presenter and view classes to handle the output of the client creation process.
2026-08-18 17:13:55 +02:00
43758922ad
feat(console): add ToggleClientStatus command and related logic
...
- Implemented command to toggle client status via console.
- Introduced SetClientStatus use case for managing client activation.
- Added presenters and views for command output.
- Created tests for command functionality and edge cases.
2026-08-18 16:56:15 +02:00
2ac8578fe0
feat(console): add ListClients command and related presenters
...
- Implemented ListClientsCommand to list API clients with pagination.
- Created ClientRow, ListClientsPresenter, and ListClientsView for structured output.
- Added tests for ListClientsCommand to ensure correct functionality.
2026-08-18 12:50:55 +02:00
af416b1b7c
refactor(presentation): move transformation logic from views to presenters
2026-08-18 12:43:01 +02:00
a771d8a5d1
refactor(application): remove obsolete Application/Shared namespace
2026-08-18 12:09:38 +02:00
e7f5f71005
feat(arcadia): add dedicated NotFound exceptions for Employee, IncoSheet and IncoComposition
2026-08-18 12:09:35 +02:00
90eff3cc99
docs: update OpenAPI specification and Bruno collection
2026-08-18 12:09:32 +02:00
726375c00d
feat(presentation): implement HMAC authentication middleware, security providers and feature tests
2026-08-18 12:03:32 +02:00
e7904682b6
feat(infra): add ApiClient Eloquent model, repository adapter, security services, migrations, seeders and tests
2026-08-18 12:03:29 +02:00
fa86b9c4e6
feat(security): implement security bounded context entities, value objects, ports, use cases and unit tests
2026-08-18 12:03:25 +02:00
909f7abaa4
feat(shared): add security interfaces, user details contracts and UUID helper
2026-08-18 12:03:22 +02:00
5c10d51fba
feat(infra): add in-memory directory and repository doubles with unit tests and refactor usecase tests to pure black-box
2026-08-18 11:54:47 +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
1fdf7ea9cc
refactor(application): move usecases under Application\Arcadia\Usecase and NotFoundException to Application\Shared\Exceptions
2026-08-17 11:18:53 +02:00
fc368cdc46
refactor(shared): reorganize DDD core building blocks into sub-namespaces (Model, Port, Event)
2026-08-17 10:31:28 +02:00
8ce012d7f7
refactor(models): update Carbon references to Illuminate\Support\Carbon
...
Updated property type hints in Employee, IncoCompo, and IncoSheet models to use Illuminate\Support\Carbon for consistency.
2026-08-17 09:49:52 +02:00
53a5990c3a
test(arch): make CodingStandardsTest standalone without container dependency
2026-08-17 09:44:10 +02:00
e02f5f5c2a
refactor: introduce InvalidDateFormatException for DatesHelper
2026-08-17 09:43:34 +02:00
2b7a8b4b99
test(arch): add architecture test suite for Shared layer
2026-08-17 09:43:02 +02:00
3d4302b49c
refactor: adopt PHP 8.4 array_any for filter invariants
2026-08-17 09:42:39 +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
13091c4ec6
build: require php ^8.5 and remove league/uri dependency
2026-08-17 09:32:49 +02:00
ac552a4530
refactor: adopt native PHP 8.5 \Uri\Rfc3986\Uri for request URIs and pagination links
2026-08-17 09:30:21 +02:00
7c0edb9507
test(arch): forbid Symfony framework and Laravel helpers in Application layer
2026-08-17 09:22:18 +02:00
b0cd8d25a3
test(ApiV1Middlewares): add feature tests for middlewares behavior
...
Includes tests for ETag handling and content negotiation.
2026-08-14 16:47:58 +02:00
0a1d56fc69
feat(middlewares): add EnsureApiV1AcceptsJson and SetApiV1Etag middlewares
...
Introduce new middlewares to enforce JSON acceptance and manage ETag headers for API responses.
2026-08-14 16:47:52 +02:00
8f82f86966
refactor(application): unify filter and sorter VOs between Application and Domain layers
2026-08-14 16:28:44 +02:00