SuiteCRM-Core/Api/V8/JsonApi/Helper/RelationshipObjectHelper.php
Dillon-Brown 8e4cc94994 Squashed 'public/legacy/' content from commit 817a12dc0
git-subtree-dir: public/legacy
git-subtree-split: 817a12dc0c30c189f56d5cb1f7dc37a9631bdbe3
2021-03-31 15:37:32 +01:00

46 lines
1.2 KiB
PHP

<?php
namespace Api\V8\JsonApi\Helper;
use Api\V8\Helper\VarDefHelper;
use Api\V8\JsonApi\Response\LinksResponse;
use Api\V8\JsonApi\Response\RelationshipResponse;
class RelationshipObjectHelper
{
/**
* @var VarDefHelper
*/
protected $varDefHelper;
/**
* @param VarDefHelper $varDefHelper
*/
public function __construct(VarDefHelper $varDefHelper)
{
$this->varDefHelper = $varDefHelper;
}
/**
* @param \SugarBean $bean
* @param string $uriPath
*
* @return RelationshipResponse
*/
public function getRelationships(\SugarBean $bean, $uriPath)
{
$relationships = $this->varDefHelper->getAllRelationships($bean);
asort($relationships);
$relationshipsLinks = [];
foreach (array_unique($relationships) as $relationshipName => $module) {
$linkResponse = new LinksResponse();
$linkResponse->setRelated(
sprintf('%s/%s/%s', $uriPath, 'relationships', $relationshipName)
);
$relationshipsLinks[$module] = ['links' => $linkResponse];
}
return new RelationshipResponse($relationshipsLinks);
}
}