Commit graph

35 commits

Author SHA1 Message Date
403ea2c6c2
refactor: add health check feature within cli and job. 2026-08-27 14:39:59 +02:00
34b76cb397
test(feature): align feature and openapi tests with replicated Oracle tables
- Update tests to use factory static helpers and avoid hardcoded table/connection names
- Align test data columns with real replicated Oracle schema
- Remove obsolete duplicate IncoSheetsShowTest
2026-08-26 17:29:18 +02:00
dd5bcdd351
fix(security): sanitize rate limiter client IP resolution to prevent header spoofing (F-2026-0001) 2026-08-26 10:11:21 +02:00
e31767cfd0
refactor(brand): make ArcadiaId strictly string value extending EntityId 2026-08-24 21:45:04 +02:00
4421d34a43
feat(health): implement strictly-typed health check subsystem with DB, cache, and SMTP checks 2026-08-21 16:47:14 +02:00
5c49b2cc4f
feat(infra): attach HasUuidV7CreatedAt trait to Brand, ApiClient, and ClientAuditLog models 2026-08-21 16:12:01 +02:00
37bd6cdbdd
feat(shared): implement PSR-20 Clock contract, Utc facade, and RFC3339 normalization 2026-08-21 15:45:32 +02:00
a82a1558bd feat(security): add arcadia:security:audit-logs CLI command with CSV export and typed audit details 2026-08-21 14:30:20 +02:00
5e4e2f5faf fix(security): lock HMAC dev bypass strictly to false in production 2026-08-21 10:14:55 +02:00
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
8cfd5fbe0f
refactor(console): scope client artisan commands under arcadia prefix 2026-08-20 17:35:31 +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
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
726375c00d
feat(presentation): implement HMAC authentication middleware, security providers and feature tests 2026-08-18 12:03:32 +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
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
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
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
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
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
39d394b7fb
test(Employee): add feature tests for employee endpoints
- Implement tests for retrieving employee details and listing employees.
- Validate responses against OpenAPI specifications.
2026-08-13 12:55:38 +02:00
3daeaccb4e
test(RootTest): add test for successful response on root URL
This test verifies that the root URL returns a 200 status code.
2026-08-13 12:49:33 +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
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
34169a9feb
feat(api): implement tracer bullet for employees and OpenAPI specification 2026-08-12 15:45:29 +02:00