fix(api) : register #[ApiFilter] services by mapping module entity paths
Modular monolith moved entities out of src/Entity into src/Module/*/Domain/Entity without configuring api_platform.mapping.paths. Resources stayed discoverable via service autoconfiguration, but annotated filter services were registered only for classes found in resource_class_directories (the now-empty default src/Entity and src/ApiResource), so every #[ApiFilter] (SearchFilter, BooleanFilter, OrderFilter, DateFilter) was silently ignored across the whole API — collection filters never narrowed results (my-tasks showed all users' tasks, time entries leaked across users, directory would leak per-client data). Declare the seven module entity directories under mapping.paths so the annotated filter services are generated again.
This commit is contained in:
@@ -1,6 +1,20 @@
|
||||
api_platform:
|
||||
title: Lesstime API
|
||||
version: 1.0.0
|
||||
# Modular monolith: entities (and their #[ApiFilter] attributes) live under
|
||||
# src/Module/*/Domain/Entity, not the default src/Entity. Resources are still
|
||||
# discovered via service autoconfiguration, but #[ApiFilter] services are only
|
||||
# registered for classes found in these paths — without them, every filter is
|
||||
# silently ignored. Decoupled ApiResource classes stay discovered via tags.
|
||||
mapping:
|
||||
paths:
|
||||
- '%kernel.project_dir%/src/Module/Core/Domain/Entity'
|
||||
- '%kernel.project_dir%/src/Module/TimeTracking/Domain/Entity'
|
||||
- '%kernel.project_dir%/src/Module/ProjectManagement/Domain/Entity'
|
||||
- '%kernel.project_dir%/src/Module/Absence/Domain/Entity'
|
||||
- '%kernel.project_dir%/src/Module/Directory/Domain/Entity'
|
||||
- '%kernel.project_dir%/src/Module/Mail/Domain/Entity'
|
||||
- '%kernel.project_dir%/src/Module/Integration/Domain/Entity'
|
||||
formats:
|
||||
jsonld: ['application/ld+json']
|
||||
json: ['application/json']
|
||||
|
||||
Reference in New Issue
Block a user