{ /** * @var PolicyManager $policyManager */ private $policyManager; private $apiList; private $authList; public function getFlowFile() {
public static function getRelatedFromAuth(Auth $auth) { $ret = array(); $pm = new PolicyManager(); $am = new ApiManager(); $allPolicies = $pm->getAllPolicies(true); $relatedPolicies = array(); $policyPropsArr = array(); $allApis = $am->getAllApis(true); $relatedApiIds = array(); $relatedApis = array(); $apiPropsArr = array(); foreach ($allPolicies as $policy) { /** * @var Policy $policy */ foreach ($policy->getAuthIds() as $authBucket) { if ($authBucket && $authBucket->getAuthIds() && in_array($auth->getId(), $authBucket->getAuthIds())) { $relatedPolicies[] = $policy; } } // foreach($authIds as $authId){ // if($authId === $auth->getId()){ // } // } } foreach ($relatedPolicies as $policy) { $props = $policy->getProperties(); if (!empty($props)) { $policyPropsArr[$policy->getId()] = array_keys($props); } $relatedApiIds = array_unique(array_merge($relatedApiIds, $policy->getApiIds())); } foreach ($allApis as $api) { /** * @var $api Api */ if (in_array($api->getId(), $relatedApiIds)) { $relatedApis[] = $api; } } foreach ($relatedApis as $api) { $props = $api->getProperties(); if (!empty($props)) { if ($api->getDisplayName()) { $apiPropsArr[$api->getDisplayName()] = array_keys($props); } else { $apiPropsArr[$api->getId()] = array_keys($props); } } } if (!empty($policyPropsArr)) { $ret["policy"] = $policyPropsArr; } if (!empty($apiPropsArr)) { $ret["api"] = $apiPropsArr; } return json_encode($ret); }