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
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
64f2f1c3ca
refactor(migrations): remove unnecessary indexes from employees and inco_sheets tables
...
Removed 'created_at', 'updated_at', and 'brand->code' indexes to optimize migration performance.
2026-08-14 16:22:51 +02:00
78680d06bc
perf(database): add indexes for timestamps and JSON brand code in migrations
2026-08-14 16:16:13 +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
afdde63d9f
feat(IncoSheets): support short parameter in FindAll and Search usecases
2026-08-14 16:01:31 +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
ef8de85088
chore: update dependencies for improved stability
...
Updated several dependencies to their latest versions to enhance stability and security.
2026-08-14 12:32:22 +02:00
dd7d1740ca
refactor(components): update nullable types to use oneOf for better clarity
...
This change improves the schema definitions by replacing nullable types with oneOf, allowing for clearer API documentation and validation.
2026-08-14 12:31:40 +02:00
07559b87e5
refactor(request): simplify brands filtering logic
...
Streamlined the filtering of brands in the IncoSheetsIndexRequest.
2026-08-14 12:18:55 +02:00
68de1fd224
refactor(dto): simplify toArray method in IncoSheetDto
...
Removed unnecessary comments and streamlined the mapping of allergens and additives.
2026-08-14 12:15:52 +02:00
195227a443
style(dto): update parameter formatting in DTO constructors
...
style(dto): simplify toArray method by removing unnecessary variable assignment
2026-08-14 12:13:11 +02:00
cbf1a4ce9b
style: update docblock for parameter formatting
2026-08-14 12:10:20 +02:00
37ecd9faa1
feat(dto): add DTOs for IncoSheet components
...
- Introduced AdditiveDto, AllegationsDto, AllergenDto, BrandDto, NutriscoreDto, PortionsDto, StorageConditionDto, and WeightDto.
- These DTOs facilitate structured data handling for IncoSheet components.
2026-08-14 12:07:04 +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
2cc333f1df
feat(middlewares): add TransformApiV1Response middleware
...
This middleware transforms API responses for version 1.
2026-08-14 11:51:33 +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
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
3c72e50adf
docs: update exception mapping table in documentation
...
Clarified the mapping of exceptions to HTTP status codes.
2026-08-14 11:33:45 +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
382f181ced
feat(api): add IncoSheets API endpoints and local environment variables
...
- Introduced 'Get Inco Sheet' and 'List Inco Sheets' endpoints.
- Updated local environment variables to include INCOSHEET_ID.
2026-08-14 11:33:18 +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
166257810d
chore(config): update phpunit configuration for better error handling
...
Added failOnRisky and failOnWarning attributes to enhance test reliability.
Updated directory inclusion to specify PHP suffix for clarity.
2026-08-14 10:43:09 +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
86e6de84ef
chore(dependencies): update Laravel and related packages
...
Updated Laravel framework to v13.25.0 and adjusted dependencies accordingly.
2026-08-13 17:02:10 +02:00
6ba04fe009
feat(exceptions): add NotFoundException for entity handling
...
Introduces a NotFoundException to standardize error handling for missing entities.
2026-08-13 16:24:08 +02:00
61bde4baaa
docs(README): update table of contents and link paths
...
docs(Exceptions): refine exception mapping details
docs(Tests): add comprehensive testing strategy documentation
2026-08-13 16:23:19 +02:00
58749030bf
feat(employees): add support for filtering by multiple site IDs
...
- Updated EmployeeFilter to accept an array of SiteId.
- Modified EloquentEmployeeDirectory to handle multiple site filters.
- Enhanced EmployeesIndexRequest to validate siteIds as an array.
- Added tests for siteIds filtering in EmployeesIndexTest and EmployeeOpenApiTest.
2026-08-13 15:30:53 +02:00
b64c1ef366
feat(employees): add filtering capabilities for employee retrieval
...
- Introduced EmployeeFilter value object for filtering criteria.
- Updated EmployeeDirectory and EloquentEmployeeDirectory to support filtering.
- Modified FindAllEmployees use case to accept filter input.
- Enhanced EmployeesIndexRequest to handle filter parameters.
- Added tests for filtering functionality in EmployeesIndexTest and EloquentEmployeeDirectoryTest.
2026-08-13 15:09:37 +02:00