use OCP\AppFramework\Utility\ITimeFactory;
use OCP\BackgroundJob\TimedJob;
use OCP\DB\QueryBuilder\IQueryBuilder;
+use OCP\IDBConnection;
+use Psr\Log\LoggerInterface;
/**
* Delete all share entries that have no matching entries in the file cache table.
*/
class DeleteOrphanedItems extends TimedJob {
public const CHUNK_SIZE = 200;
-
- /** @var \OCP\IDBConnection */
- protected $connection;
-
- /** @var \OCP\ILogger */
- protected $logger;
-
- /**
- * Default interval in minutes
- *
- * @var int $defaultIntervalMin
- **/
protected $defaultIntervalMin = 60;
/**
* sets the correct interval for this timed job
*/
- public function __construct(ITimeFactory $time) {
+ public function __construct(
+ ITimeFactory $time,
+ protected IDBConnection $connection,
+ protected LoggerInterface $logger,
+ ) {
parent::__construct($time);
$this->interval = $this->defaultIntervalMin * 60;
- $this->connection = \OC::$server->getDatabaseConnection();
- $this->logger = \OC::$server->getLogger();
}
/**
use OCP\AppFramework\Utility\ITimeFactory;
use OCP\BackgroundJob\QueuedJob;
use OCP\Files\IRootFolder;
-use OCP\ILogger;
use OCP\IUser;
use OCP\IUserManager;
use OCP\Notification\IManager as NotificationManager;
+use Psr\Log\LoggerInterface;
use function ltrim;
class TransferOwnership extends QueuedJob {
-
- /** @var IUserManager $userManager */
- private $userManager;
-
- /** @var OwnershipTransferService */
- private $transferService;
-
- /** @var ILogger */
- private $logger;
-
- /** @var NotificationManager */
- private $notificationManager;
-
- /** @var TransferOwnershipMapper */
- private $mapper;
- /** @var IRootFolder */
- private $rootFolder;
-
- public function __construct(ITimeFactory $timeFactory,
- IUserManager $userManager,
- OwnershipTransferService $transferService,
- ILogger $logger,
- NotificationManager $notificationManager,
- TransferOwnershipMapper $mapper,
- IRootFolder $rootFolder) {
+ public function __construct(
+ ITimeFactory $timeFactory,
+ private IUserManager $userManager,
+ private OwnershipTransferService $transferService,
+ private LoggerInterface $logger,
+ private NotificationManager $notificationManager,
+ private TransferOwnershipMapper $mapper,
+ private IRootFolder $rootFolder,
+ ) {
parent::__construct($timeFactory);
-
- $this->userManager = $userManager;
- $this->transferService = $transferService;
- $this->logger = $logger;
- $this->notificationManager = $notificationManager;
- $this->mapper = $mapper;
- $this->rootFolder = $rootFolder;
}
protected function run($argument) {
);
$this->successNotification($transfer);
} catch (TransferOwnershipException $e) {
- $this->logger->logException($e);
+ $this->logger->error(
+ $e->getMessage(),
+ [
+ 'exception' => $e,
+ ],
+ );
$this->failedNotication($transfer);
}
])
->setObject('transfer', (string)$transfer->getId());
$this->notificationManager->notify($notification);
-
// Send notification to source user
$notification = $this->notificationManager->createNotification();
$notification->setUser($transfer->getTargetUser())
use OCP\DirectEditing\IManager;
use OCP\DirectEditing\RegisterDirectEditorEvent;
use OCP\EventDispatcher\IEventDispatcher;
-use OCP\ILogger;
use OCP\IRequest;
use OCP\IURLGenerator;
+use Psr\Log\LoggerInterface;
class DirectEditingController extends OCSController {
- /** @var IEventDispatcher */
- private $eventDispatcher;
-
- /** @var IManager */
- private $directEditingManager;
-
- /** @var IURLGenerator */
- private $urlGenerator;
-
- /** @var ILogger */
- private $logger;
-
- /** @var DirectEditingService */
- private $directEditingService;
-
- public function __construct($appName, IRequest $request, $corsMethods, $corsAllowedHeaders, $corsMaxAge,
- IEventDispatcher $eventDispatcher, IURLGenerator $urlGenerator, IManager $manager, DirectEditingService $directEditingService, ILogger $logger) {
+ public function __construct(
+ string $appName,
+ IRequest $request,
+ string $corsMethods,
+ string $corsAllowedHeaders,
+ int $corsMaxAge,
+ private IEventDispatcher $eventDispatcher,
+ private IURLGenerator $urlGenerator,
+ private IManager $directEditingManager,
+ private DirectEditingService $directEditingService,
+ private LoggerInterface $logger
+ ) {
parent::__construct($appName, $request, $corsMethods, $corsAllowedHeaders, $corsMaxAge);
-
- $this->eventDispatcher = $eventDispatcher;
- $this->directEditingManager = $manager;
- $this->directEditingService = $directEditingService;
- $this->logger = $logger;
- $this->urlGenerator = $urlGenerator;
}
/**
'url' => $this->urlGenerator->linkToRouteAbsolute('files.DirectEditingView.edit', ['token' => $token])
]);
} catch (Exception $e) {
- $this->logger->logException($e, ['message' => 'Exception when creating a new file through direct editing']);
+ $this->logger->error(
+ 'Exception when creating a new file through direct editing',
+ [
+ 'exception' => $e
+ ],
+ );
return new DataResponse(['message' => 'Failed to create file: ' . $e->getMessage()], Http::STATUS_FORBIDDEN);
}
}
'url' => $this->urlGenerator->linkToRouteAbsolute('files.DirectEditingView.edit', ['token' => $token])
]);
} catch (Exception $e) {
- $this->logger->logException($e, ['message' => 'Exception when opening a file through direct editing']);
+ $this->logger->error(
+ 'Exception when opening a file through direct editing',
+ [
+ 'exception' => $e
+ ],
+ );
return new DataResponse(['message' => 'Failed to open file: ' . $e->getMessage()], Http::STATUS_FORBIDDEN);
}
}
try {
return new DataResponse($this->directEditingManager->getTemplates($editorId, $creatorId));
} catch (Exception $e) {
- $this->logger->logException($e);
+ $this->logger->error(
+ $e->getMessage(),
+ [
+ 'exception' => $e
+ ],
+ );
return new DataResponse(['message' => 'Failed to obtain template list: ' . $e->getMessage()], Http::STATUS_INTERNAL_SERVER_ERROR);
}
}
use OCA\Files\BackgroundJob\DeleteOrphanedItems;
use OCP\AppFramework\Utility\ITimeFactory;
use OCP\DB\QueryBuilder\IQueryBuilder;
+use OCP\IDBConnection;
+use Psr\Log\LoggerInterface;
/**
* Class DeleteOrphanedItemsJobTest
* @package Test\BackgroundJob
*/
class DeleteOrphanedItemsJobTest extends \Test\TestCase {
- /** @var \OCP\IDBConnection */
- protected $connection;
-
+ protected IDBConnection $connection;
+ protected LoggerInterface $logger;
protected ITimeFactory $timeFactory;
protected function setUp(): void {
parent::setUp();
- $this->connection = \OC::$server->getDatabaseConnection();
+ $this->connection = \OC::$server->get(IDBConnection::class);
$this->timeFactory = $this->createMock(ITimeFactory::class);
+ $this->logger = \OC::$server->get(LoggerInterface::class);
}
protected function cleanMapping($table) {
$mapping = $this->getMappings('systemtag_object_mapping');
$this->assertCount(2, $mapping);
- $job = new DeleteOrphanedItems($this->timeFactory);
+ $job = new DeleteOrphanedItems($this->timeFactory, $this->connection, $this->logger);
$this->invokePrivate($job, 'cleanSystemTags');
$mapping = $this->getMappings('systemtag_object_mapping');
$mapping = $this->getMappings('vcategory_to_object');
$this->assertCount(2, $mapping);
- $job = new DeleteOrphanedItems($this->timeFactory);
+ $job = new DeleteOrphanedItems($this->timeFactory, $this->connection, $this->logger);
$this->invokePrivate($job, 'cleanUserTags');
$mapping = $this->getMappings('vcategory_to_object');
$mapping = $this->getMappings('comments');
$this->assertCount(2, $mapping);
- $job = new DeleteOrphanedItems($this->timeFactory);
+ $job = new DeleteOrphanedItems($this->timeFactory, $this->connection, $this->logger);
$this->invokePrivate($job, 'cleanComments');
$mapping = $this->getMappings('comments');
$mapping = $this->getMappings('comments_read_markers');
$this->assertCount(2, $mapping);
- $job = new DeleteOrphanedItems($this->timeFactory);
+ $job = new DeleteOrphanedItems($this->timeFactory, $this->connection, $this->logger);
$this->invokePrivate($job, 'cleanCommentMarkers');
$mapping = $this->getMappings('comments_read_markers');