8f933db9fa
feat(inco): migrate to IncoBrand VO, BrandResolver domain service and BrandCode filtering
2026-08-20 18:16:31 +02:00
1f8f03e6d8
feat(brand): add Brand use cases, API v1 endpoints, console command, OpenAPI spec and Bruno collection
2026-08-20 17:35:47 +02:00
20ec692160
feat(infra): add Brand Eloquent models, migrations, casts, adapters and seeders
2026-08-20 17:35:42 +02:00
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
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
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
341b57c3bf
feat(console): migrate interactive console commands to Laravel Prompts
2026-08-18 18:46:31 +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
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
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
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
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
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
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
8f82f86966
refactor(application): unify filter and sorter VOs between Application and Domain layers
2026-08-14 16:28:44 +02:00
2900c85b33
test(IncoSheets): add test for PaginatedShortIncoSheet instantiation
...
Added a test to verify the correct instantiation of PaginatedShortIncoSheet
from the IncoShortSheet domain entity.
2026-08-14 16:26:08 +02:00
bfe0b0010c
feat(IncoSheets): introduce IncoShortSheet entity and IncoShortSheetDirectory with SQL select optimization and search pagination
2026-08-14 16:15:49 +02:00
cce81c1a85
style: apply code formatting and docblock fixes
2026-08-14 16:01:34 +02:00
7383c3e01f
test(IncoSheets): update tests for short form inco sheets response
...
Enhance tests to verify the structure of inco sheets when the short parameter is true or numeric 1.
2026-08-14 15:57:58 +02:00
91114cb67b
feat(inco-compositions): add IncoCompositionShow feature
...
- Implemented IncoCompositionShowController to handle requests for inco composition details.
- Created IncoCompositionDto for response data structure.
- Added IncoCompositionShowRequest for request validation.
- Developed IncoCompositionShowResponse for formatting API responses.
- Introduced IncoCompositionShowPresenter and IncoCompositionShowView for presentation logic.
- Added tests for IncoCompositionShow feature and OpenAPI conformance.
2026-08-14 15:56:58 +02:00
f667532ff7
refactor(domain): regroup Inco entities and Value Objects under Inco/ and Inco/Composition/
2026-08-14 15:38:10 +02:00
4d24e5c3fa
feat(IncoSheets): add search functionality for inco sheets
...
- Introduced IncoIdQuery value object for validating search queries.
- Implemented search method in IncoSheetDirectory and EloquentIncoSheetDirectory.
- Created IncoSheetsSearchController to handle search requests.
- Added IncoSheetsSearchRequest for validating incoming search parameters.
- Developed IncoSheetsSearchResponse for formatting search results.
- Added tests for search functionality in IncoSheetsSearchTest.
- Updated OpenAPI tests to validate search endpoint.
2026-08-14 15:06:54 +02:00
70375f8139
feat(dto): implement PaginationDto for pagination metadata
...
Added PaginationDto to handle pagination details and links for API responses.
Updated related response classes to utilize the new PaginationDto.
2026-08-14 12:02:13 +02:00
753456368c
style: format code for consistency and readability
...
Refactor code formatting for improved consistency across multiple files.
2026-08-14 11:50:26 +02:00
bbbeea6cde
test(architecture): update Application and Domain tests for readonly checks
...
Refactor tests to utilize enumsIn function for better maintainability.
2026-08-14 11:33:29 +02:00
152ee2b5a2
feat(api): add IncoSheets feature with DDD clean architecture, tests & OpenAPI spec
...
- Use cases: FindAllIncoSheets & FindIncoSheet (filters, pagination, short projection)
- Presentation: controllers, FormRequests with scalar validation, DTOs (camelCase)
- Ports & Adapters: IncoSheetDirectory & EloquentIncoSheetDirectory
- Tests: Pest 4 unit, integration, OpenAPI spectator conformance, dynamic arch tests
- Docs: updated Bruno collection and OpenAPI spec
2026-08-14 11:33:05 +02:00
11291807a3
test(architecture): add tests for naming conventions and seeder integration
...
Ensures that all database seeders have corresponding integration tests
and verifies naming conventions across different layers of the application.
2026-08-14 10:36:26 +02:00
1d55dff5f4
feat(seeders): add IncoSheet and IncoCompo seeders
...
Implement seeders for IncoSheet and IncoCompo to populate the database with initial data.
2026-08-14 10:35:21 +02:00
3080c5dcfe
test(employees): add feature tests for employee retrieval and filtering
...
- Implement tests for employee show and index endpoints.
- Validate responses against OpenAPI specifications.
2026-08-14 09:59:24 +02:00
53b0dd9f1e
feat(employees): implement filtering and sorting for employee retrieval
...
Added Filter and Sorter classes to handle employee filtering and sorting criteria. Updated FindAllEmployees use case to utilize these new classes for improved employee data retrieval.
2026-08-14 09:30:21 +02:00