Commit graph

45 commits

Author SHA1 Message Date
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
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
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
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
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
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
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
b7f2de4f92
test(EloquentEmployeeDirectory): add integration tests for employee retrieval and date conversion
Includes tests for finding employees, handling null values, and date conversion.
2026-08-13 14:59:21 +02:00
2529118bcc
refactor(AppServiceProvider): simplify client IP retrieval logic
Removed unnecessary environment check for local client IP.
2026-08-13 14:58:02 +02:00
05ececd879
feat(RequestHelper): add pagination and URI conversion methods
Implement pagination logic and methods to convert request URLs to League URI instances.
2026-08-13 14:52:51 +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
8e96abc88d
fix(ApiExceptionRenderer): update response for ValidationException
Changed the response status and title for ValidationException from 400 to 422 to align with HTTP standards.
2026-08-13 12:34:32 +02:00
b7c5c98128
fix(ApiExceptionRenderer): change title for ValidationException response
Update the title for the ValidationException response to accurately reflect the error type.
2026-08-13 12:26:56 +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
554e4002df
refactor(api): update Employee request handling and remove toInput method
Refactor EmployeeShowRequest and EmployeesIndexRequest to improve clarity and maintainability.
2026-08-13 09:55:27 +02:00
b2c11a52ad
refactor(api): restructure API routes and improve organization
- Group employee routes under a prefix for better clarity.
- Remove unnecessary blank lines and improve code formatting.
2026-08-13 09:35:09 +02:00
d9329aca92
feat(errors): add detailed error documentation pages
- Implemented views for error codes 400, 404, 422, 429, 500, and 503.
- Updated error handling to use numeric codes instead of enum.
- Enhanced error messages and resolution steps for better user guidance.
2026-08-12 17:40:18 +02:00
699cdf7f8e
fix(api): correct condition for API request handling
Updated the condition to include 'api' in the request check.
2026-08-12 17:32:19 +02:00
33f3aaf37f
fix(api): correct condition for JSON request handling
Ensure proper handling of requests that expect JSON responses.
2026-08-12 17:30:36 +02:00
a93fde3a3c
feat(api): implement rate limiting and error handling
- Added rate limiting for web and API requests.
- Introduced custom error handling for "Too Many Requests" response.
- Created view for "Too Many Requests" error documentation.
2026-08-12 17:25:45 +02:00
c5867c7926
refactor(layout): replace main layout with minimal layout
Updated the layout structure to use a minimal design, enhancing the overall presentation of the API status page.
2026-08-12 17:11:27 +02:00
31ae87f358
fix(exceptions): correct status code for validation errors
Updated the status code for ValidationException responses from 422 to 400 to align with HTTP standards.
2026-08-12 17:00:15 +02:00
899bb42964
refactor(api): remove ApiClient model 2026-08-12 17:00:06 +02:00
3100643eac
refactor(employees): simplify validation rules for employee requests
Removed regex patterns from validation rules for employeeId, establishment, siteId, and serviceId to streamline input handling.
2026-08-12 17:00:01 +02:00
38ca7ed069
feat(employees): introduce presenters and views for employee data
- Added EmployeeShowPresenter and EmployeeShowView for handling employee details.
- Introduced EmployeesIndexPresenter and EmployeesIndexView for paginated employee listings.
2026-08-12 16:59:50 +02:00
43a568ef5a
refactor(employees): replace native assert with Webmozart\Assert
Updated assertions in FindEmployee, FindAllEmployees, and Output classes
to use Webmozart\Assert for better type safety and consistency.
2026-08-12 16:56:13 +02:00
63d4ae17f3
refactor(middlewares): remove VerifyHmacSignature middleware
This change removes the VerifyHmacSignature middleware and its alias from the configuration.
2026-08-12 16:41:13 +02:00
34169a9feb
feat(api): implement tracer bullet for employees and OpenAPI specification 2026-08-12 15:45:29 +02:00