APIv4 - Deprecate nonstandard syntax for implicit joins
authorColeman Watts <coleman@civicrm.org>
Fri, 23 Apr 2021 14:55:45 +0000 (10:55 -0400)
committerColeman Watts <coleman@civicrm.org>
Fri, 23 Apr 2021 14:55:45 +0000 (10:55 -0400)
commit2b139d1bfb55457662d5eabcd9baa9e7b82195bb
tree3d3beefd7c1617993f3542f85351332f50019a86
parentdedd7a36d5513a3ddd488a3d152eb4b9add30788
APIv4 - Deprecate nonstandard syntax for implicit joins

The APIv4 prototype used a string-manipulation hack to make implicit joins appear more friendly,
e.g. it would transform `contact_id.*` to `contact.*`.
However this made the generation of such joins less predictable,
as not all FK fields end in `_id` (notably, custom ContactRef fields do not).

This preserves the nonstandard syntax for backward-compat while favoring the new syntx
in the API Explorer.
Civi/Api4/Action/Entity/GetLinks.php
Civi/Api4/Service/Schema/Joinable/Joinable.php
Civi/Api4/Service/Schema/SchemaMapBuilder.php
tests/phpunit/api/v4/Entity/ContactJoinTest.php