1
0
Fork 0
mirror of synced 2024-06-29 03:30:34 +12:00

feat: parse log list

This commit is contained in:
Christy Jacob 2020-12-27 23:47:26 +05:30
parent bed4dcddef
commit 9690ce8794

View file

@ -29,6 +29,14 @@ class V06 extends Filter {
case Response::MODEL_SESSION :
$parsedResponse = $this->parseSession($content);
break;
case Response::MODEL_SESSION_LIST :
$parsedResponse = $this->parseSessionList($content);
break;
case Response::MODEL_LOG_LIST :
$parsedResponse = $this->parseLogList($content);
break;
case Response::MODEL_ANY :
$parsedResponse = $content;
@ -46,35 +54,58 @@ class V06 extends Filter {
}
private function parseSession(array $content)
private function parseLogList(array $content)
{
// Handle list of sessions
if (isset($content['sum'])) {
$sessions = $content['sessions'];
$parsedResponse = [];
$index = 0;
foreach($sessions as $session) {
$parsedResponse[$index++] = [
'$id' => $session['$id'],
'OS' => $session['osName'].' '.$session['osVersion'],
'client' => $session['clientName'].' '.$session['clientVersion'],
'device' => $session['deviceName'],
'brand' => $session['deviceBrand'],
'model' => $session['deviceModel'],
'ip' => $session['ip'],
'current' => $session['current'],
'geo' => [
'isoCode' => empty($session['countryCode']) ? '---' : $session['countryCode'] ,
'country' => empty($session['countryName'] ) ? Locale::getText('locale.country.unknown') : $session['countryName']
],
];
}
return $parsedResponse;
} else {
// Handle single session
$content['type'] = Auth::TOKEN_TYPE_LOGIN;
return $content;
$logs = $content['logs'];
$parsedResponse = [];
$index = 0;
foreach($logs as $log) {
$parsedResponse[$index++] = [
'event' => $log['event'],
'ip' => $log['ip'],
'time' => strtotime($log['time']),
'OS' => $log['osName'].' '.$log['osVersion'],
'client' => $log['clientName'].' '.$log['clientVersion'],
'device' => $log['deviceName'],
'brand' => $log['deviceBrand'],
'model' => $log['deviceModel'],
'geo' => [
'isoCode' => empty($log['countryCode']) ? '---' : $log['countryCode'] ,
'country' => empty($log['countryName'] ) ? Locale::getText('locale.country.unknown') : $log['countryName']
]
];
}
return $parsedResponse;
}
private function parseSessionList(array $content)
{
$sessions = $content['sessions'];
$parsedResponse = [];
$index = 0;
foreach($sessions as $session) {
$parsedResponse[$index++] = [
'$id' => $session['$id'],
'OS' => $session['osName'].' '.$session['osVersion'],
'client' => $session['clientName'].' '.$session['clientVersion'],
'device' => $session['deviceName'],
'brand' => $session['deviceBrand'],
'model' => $session['deviceModel'],
'ip' => $session['ip'],
'current' => $session['current'],
'geo' => [
'isoCode' => empty($session['countryCode']) ? '---' : $session['countryCode'] ,
'country' => empty($session['countryName'] ) ? Locale::getText('locale.country.unknown') : $session['countryName']
],
];
}
return $parsedResponse;
}
private function parseSession(array $content)
{
$content['type'] = Auth::TOKEN_TYPE_LOGIN;
return $content;
}
private function parseUser(array $content)