mirror of
https://github.com/nextcloud/server.git
synced 2026-04-15 22:11:17 -04:00
Fix psalm errors in apps/user_ldap/lib/Jobs/CleanUp.php
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
This commit is contained in:
parent
9f2db6e65d
commit
bcfe99cc62
1 changed files with 14 additions and 26 deletions
|
|
@ -40,7 +40,7 @@ use OCA\User_LDAP\User_Proxy;
|
|||
* @package OCA\User_LDAP\Jobs;
|
||||
*/
|
||||
class CleanUp extends TimedJob {
|
||||
/** @var int $limit amount of users that should be checked per run */
|
||||
/** @var ?int $limit amount of users that should be checked per run */
|
||||
protected $limit;
|
||||
|
||||
/** @var int $defaultIntervalMin default interval in minutes */
|
||||
|
|
@ -76,7 +76,7 @@ class CleanUp extends TimedJob {
|
|||
* assigns the instances passed to run() to the class properties
|
||||
* @param array $arguments
|
||||
*/
|
||||
public function setArguments($arguments) {
|
||||
public function setArguments($arguments): void {
|
||||
//Dependency Injection is not possible, because the constructor will
|
||||
//only get values that are serialized to JSON. I.e. whatever we would
|
||||
//pass in app.php we do add here, except something else is passed e.g.
|
||||
|
|
@ -119,19 +119,13 @@ class CleanUp extends TimedJob {
|
|||
* makes the background job do its work
|
||||
* @param array $argument
|
||||
*/
|
||||
public function run($argument) {
|
||||
public function run($argument): void {
|
||||
$this->setArguments($argument);
|
||||
|
||||
if (!$this->isCleanUpAllowed()) {
|
||||
return;
|
||||
}
|
||||
$users = $this->mapping->getList($this->getOffset(), $this->getChunkSize());
|
||||
if (!is_array($users)) {
|
||||
//something wrong? Let's start from the beginning next time and
|
||||
//abort
|
||||
$this->setOffset(true);
|
||||
return;
|
||||
}
|
||||
$resetOffset = $this->isOffsetResetNecessary(count($users));
|
||||
$this->checkUsers($users);
|
||||
$this->setOffset($resetOffset);
|
||||
|
|
@ -139,18 +133,15 @@ class CleanUp extends TimedJob {
|
|||
|
||||
/**
|
||||
* checks whether next run should start at 0 again
|
||||
* @param int $resultCount
|
||||
* @return bool
|
||||
*/
|
||||
public function isOffsetResetNecessary($resultCount) {
|
||||
public function isOffsetResetNecessary(int $resultCount): bool {
|
||||
return $resultCount < $this->getChunkSize();
|
||||
}
|
||||
|
||||
/**
|
||||
* checks whether cleaning up LDAP users is allowed
|
||||
* @return bool
|
||||
*/
|
||||
public function isCleanUpAllowed() {
|
||||
public function isCleanUpAllowed(): bool {
|
||||
try {
|
||||
if ($this->ldapHelper->haveDisabledConfigurations()) {
|
||||
return false;
|
||||
|
|
@ -164,9 +155,8 @@ class CleanUp extends TimedJob {
|
|||
|
||||
/**
|
||||
* checks whether clean up is enabled by configuration
|
||||
* @return bool
|
||||
*/
|
||||
private function isCleanUpEnabled() {
|
||||
private function isCleanUpEnabled(): bool {
|
||||
return (bool)$this->ocConfig->getSystemValue(
|
||||
'ldapUserCleanupInterval', (string)$this->defaultIntervalMin);
|
||||
}
|
||||
|
|
@ -175,7 +165,7 @@ class CleanUp extends TimedJob {
|
|||
* checks users whether they are still existing
|
||||
* @param array $users result from getMappedUsers()
|
||||
*/
|
||||
private function checkUsers(array $users) {
|
||||
private function checkUsers(array $users): void {
|
||||
foreach ($users as $user) {
|
||||
$this->checkUser($user);
|
||||
}
|
||||
|
|
@ -185,7 +175,7 @@ class CleanUp extends TimedJob {
|
|||
* checks whether a user is still existing in LDAP
|
||||
* @param string[] $user
|
||||
*/
|
||||
private function checkUser(array $user) {
|
||||
private function checkUser(array $user): void {
|
||||
if ($this->userBackend->userExistsOnLDAP($user['name'])) {
|
||||
//still available, all good
|
||||
|
||||
|
|
@ -197,29 +187,27 @@ class CleanUp extends TimedJob {
|
|||
|
||||
/**
|
||||
* gets the offset to fetch users from the mappings table
|
||||
* @return int
|
||||
*/
|
||||
private function getOffset() {
|
||||
return (int)$this->ocConfig->getAppValue('user_ldap', 'cleanUpJobOffset', 0);
|
||||
private function getOffset(): int {
|
||||
return (int)$this->ocConfig->getAppValue('user_ldap', 'cleanUpJobOffset', '0');
|
||||
}
|
||||
|
||||
/**
|
||||
* sets the new offset for the next run
|
||||
* @param bool $reset whether the offset should be set to 0
|
||||
*/
|
||||
public function setOffset($reset = false) {
|
||||
public function setOffset(bool $reset = false): void {
|
||||
$newOffset = $reset ? 0 :
|
||||
$this->getOffset() + $this->getChunkSize();
|
||||
$this->ocConfig->setAppValue('user_ldap', 'cleanUpJobOffset', $newOffset);
|
||||
$this->ocConfig->setAppValue('user_ldap', 'cleanUpJobOffset', (string)$newOffset);
|
||||
}
|
||||
|
||||
/**
|
||||
* returns the chunk size (limit in DB speak)
|
||||
* @return int
|
||||
*/
|
||||
public function getChunkSize() {
|
||||
public function getChunkSize(): int {
|
||||
if ($this->limit === null) {
|
||||
$this->limit = (int)$this->ocConfig->getAppValue('user_ldap', 'cleanUpJobChunkSize', 50);
|
||||
$this->limit = (int)$this->ocConfig->getAppValue('user_ldap', 'cleanUpJobChunkSize', '50');
|
||||
}
|
||||
return $this->limit;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue