1
0
Fork 0
mirror of synced 2024-06-26 10:10:57 +12:00

Added Health request filters

This commit is contained in:
Matej Baco 2022-01-03 10:40:03 +01:00
parent f80dc3a7ff
commit 35a665b2d7

View file

@ -8,8 +8,6 @@ use Exception;
class V11 extends Filter
{
// TODO: Health
// Convert 0.12 Data format to 0.11 format
public function parse(array $content, string $model): array
{
@ -31,6 +29,22 @@ class V11 extends Filter
case Response::MODEL_USER:
$parsedResponse = $this->parseStatus($content);
break;
// Convert all Health responses back to original
case Response::MODEL_HEALTH_STATUS:
$parsedResponse = $this->parseHealthStatus($content);
break;
case Response::MODEL_HEALTH_VERSION:
$parsedResponse = $this->parseHealthVersion($content);
break;
case Response::MODEL_HEALTH_TIME:
$parsedResponse = $this->parseHealthTime($content);
break;
case Response::MODEL_HEALTH_QUEUE:
$parsedResponse = $this->parseHealthQueue($content);
break;
case Response::MODEL_HEALTH_ANTIVIRUS:
$parsedResponse = $this->parseHealthAntivirus($content);
break;
// Complex filters
case Response::MODEL_COLLECTION:
@ -60,6 +74,53 @@ class V11 extends Filter
return $parsedResponse;
}
protected function parseHealthAntivirus(array $content)
{
if($content['status'] === 'pass') {
$content['status'] = 'online';
}
if($content['status'] === 'fail') {
$content['status'] = 'offline';
}
return $content;
}
protected function parseHealthTime(array $content)
{
$content['remote'] = $content['remoteTime'];
unset($content['remoteTime']);
$content['local'] = $content['localTime'];
unset($content['localTime']);
return $content;
}
protected function parseHealthVersion(array $content)
{
// Did not change
return $content;
}
protected function parseHealthQueue(array $content)
{
// Did not change
return $content;
}
protected function parseHealthStatus(array $content)
{
$content['status'] = 'OK'; // Is always returning pass, was always returning OK
unset($content['ping']);
return $content;
}
protected function parseStatus(array $content)
{
$content['status'] = $content['status'] === true ?