|
|
|
@ -8,35 +8,21 @@ declare(strict_types=1); |
|
|
|
|
*/ |
|
|
|
|
namespace OC\UserStatus; |
|
|
|
|
|
|
|
|
|
use OCP\IServerContainer; |
|
|
|
|
use OCP\UserStatus\IManager; |
|
|
|
|
use OCP\UserStatus\IProvider; |
|
|
|
|
use Psr\Container\ContainerExceptionInterface; |
|
|
|
|
use Psr\Container\ContainerInterface; |
|
|
|
|
use Psr\Log\LoggerInterface; |
|
|
|
|
|
|
|
|
|
class Manager implements IManager { |
|
|
|
|
/** @var IServerContainer */ |
|
|
|
|
private $container; |
|
|
|
|
|
|
|
|
|
/** @var LoggerInterface */ |
|
|
|
|
private $logger; |
|
|
|
|
|
|
|
|
|
/** @var class-string */ |
|
|
|
|
private $providerClass; |
|
|
|
|
|
|
|
|
|
/** @var IProvider */ |
|
|
|
|
private $provider; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Manager constructor. |
|
|
|
|
* |
|
|
|
|
* @param IServerContainer $container |
|
|
|
|
* @param LoggerInterface $logger |
|
|
|
|
*/ |
|
|
|
|
public function __construct(IServerContainer $container, |
|
|
|
|
LoggerInterface $logger) { |
|
|
|
|
$this->container = $container; |
|
|
|
|
$this->logger = $logger; |
|
|
|
|
/** @var ?class-string */ |
|
|
|
|
private ?string $providerClass = null; |
|
|
|
|
private ?IProvider $provider = null; |
|
|
|
|
|
|
|
|
|
public function __construct( |
|
|
|
|
private ContainerInterface $container, |
|
|
|
|
private LoggerInterface $logger, |
|
|
|
|
) { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
@ -89,7 +75,7 @@ class Manager implements IManager { |
|
|
|
|
|
|
|
|
|
public function setUserStatus(string $userId, string $messageId, string $status, bool $createBackup = false, ?string $customMessage = null): void { |
|
|
|
|
$this->setupProvider(); |
|
|
|
|
if (!$this->provider || !($this->provider instanceof ISettableProvider)) { |
|
|
|
|
if (!$this->provider instanceof ISettableProvider) { |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -98,7 +84,7 @@ class Manager implements IManager { |
|
|
|
|
|
|
|
|
|
public function revertUserStatus(string $userId, string $messageId, string $status): void { |
|
|
|
|
$this->setupProvider(); |
|
|
|
|
if (!$this->provider || !($this->provider instanceof ISettableProvider)) { |
|
|
|
|
if (!$this->provider instanceof ISettableProvider) { |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
$this->provider->revertUserStatus($userId, $messageId, $status); |
|
|
|
@ -106,7 +92,7 @@ class Manager implements IManager { |
|
|
|
|
|
|
|
|
|
public function revertMultipleUserStatus(array $userIds, string $messageId, string $status): void { |
|
|
|
|
$this->setupProvider(); |
|
|
|
|
if (!$this->provider || !($this->provider instanceof ISettableProvider)) { |
|
|
|
|
if (!$this->provider instanceof ISettableProvider) { |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
$this->provider->revertMultipleUserStatus($userIds, $messageId, $status); |
|
|
|
|