mirror of
https://github.com/nextcloud/server.git
synced 2026-06-11 09:42:09 -04:00
feat(occ): Show first_seen in output of user:list --info
Also format unknown and never in a better way. Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
This commit is contained in:
parent
c4b5a78b7e
commit
1d0962ab33
2 changed files with 24 additions and 19 deletions
|
|
@ -47,22 +47,6 @@ class Info extends Base {
|
|||
return 1;
|
||||
}
|
||||
$groups = $this->groupManager->getUserGroupIds($user);
|
||||
$firstLogin = $user->getFirstLogin();
|
||||
$lastLogin = $user->getLastLogin();
|
||||
if ($firstLogin < 0) {
|
||||
$firstSeen = 'unknown';
|
||||
} elseif ($firstLogin === 0) {
|
||||
$firstSeen = 'never';
|
||||
} else {
|
||||
$firstSeen = date(\DateTimeInterface::ATOM, $firstLogin); // ISO-8601
|
||||
}
|
||||
if ($lastLogin < 0) {
|
||||
$lastSeen = 'unknown';
|
||||
} elseif ($lastLogin === 0) {
|
||||
$lastSeen = 'never';
|
||||
} else {
|
||||
$lastSeen = date(\DateTimeInterface::ATOM, $lastLogin); // ISO-8601
|
||||
}
|
||||
$data = [
|
||||
'user_id' => $user->getUID(),
|
||||
'display_name' => $user->getDisplayName(),
|
||||
|
|
@ -72,8 +56,8 @@ class Info extends Base {
|
|||
'groups' => $groups,
|
||||
'quota' => $user->getQuota(),
|
||||
'storage' => $this->getStorageInfo($user),
|
||||
'first_seen' => $firstSeen,
|
||||
'last_seen' => $lastSeen,
|
||||
'first_seen' => $this->formatLoginDate($user->getFirstLogin()),
|
||||
'last_seen' => $this->formatLoginDate($user->getLastLogin()),
|
||||
'user_directory' => $user->getHome(),
|
||||
'backend' => $user->getBackendClassName()
|
||||
];
|
||||
|
|
@ -81,6 +65,16 @@ class Info extends Base {
|
|||
return 0;
|
||||
}
|
||||
|
||||
private function formatLoginDate(int $timestamp): string {
|
||||
if ($timestamp < 0) {
|
||||
return 'unknown';
|
||||
} elseif ($timestamp === 0) {
|
||||
return 'never';
|
||||
} else {
|
||||
return date(\DateTimeInterface::ATOM, $timestamp); // ISO-8601
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param IUser $user
|
||||
* @return array
|
||||
|
|
|
|||
|
|
@ -83,7 +83,8 @@ class ListCommand extends Base {
|
|||
'enabled' => $user->isEnabled(),
|
||||
'groups' => $groups,
|
||||
'quota' => $user->getQuota(),
|
||||
'last_seen' => date(\DateTimeInterface::ATOM, $user->getLastLogin()), // ISO-8601
|
||||
'first_seen' => $this->formatLoginDate($user->getFirstLogin()),
|
||||
'last_seen' => $this->formatLoginDate($user->getLastLogin()),
|
||||
'user_directory' => $user->getHome(),
|
||||
'backend' => $user->getBackendClassName()
|
||||
];
|
||||
|
|
@ -93,4 +94,14 @@ class ListCommand extends Base {
|
|||
yield $user->getUID() => $value;
|
||||
}
|
||||
}
|
||||
|
||||
private function formatLoginDate(int $timestamp): string {
|
||||
if ($timestamp < 0) {
|
||||
return 'unknown';
|
||||
} elseif ($timestamp === 0) {
|
||||
return 'never';
|
||||
} else {
|
||||
return date(\DateTimeInterface::ATOM, $timestamp); // ISO-8601
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue