Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migrate federated file sharing to PSR LoggerInterface #39160

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
1 change: 0 additions & 1 deletion apps/federatedfilesharing/lib/BackgroundJob/RetryJob.php
Expand Up @@ -30,7 +30,6 @@
use OCP\AppFramework\Utility\ITimeFactory;
use OCP\BackgroundJob\IJobList;
use OCP\BackgroundJob\Job;
use OCP\ILogger;

/**
* Class RetryJob
Expand Down
Expand Up @@ -41,12 +41,12 @@
use OCP\HintException;
use OCP\Http\Client\IClientService;
use OCP\IL10N;
use OCP\ILogger;
use OCP\IRequest;
use OCP\ISession;
use OCP\IUserSession;
use OCP\Share\IManager;
use OCP\Share\IShare;
use Psr\Log\LoggerInterface;

/**
* Class MountPublicLinkController
Expand All @@ -56,66 +56,23 @@
* @package OCA\FederatedFileSharing\Controller
*/
class MountPublicLinkController extends Controller {

/** @var FederatedShareProvider */
private $federatedShareProvider;

/** @var AddressHandler */
private $addressHandler;

/** @var IManager */
private $shareManager;

/** @var ISession */
private $session;

/** @var IL10N */
private $l;

/** @var IUserSession */
private $userSession;

/** @var IClientService */
private $clientService;

/** @var ICloudIdManager */
private $cloudIdManager;

/**
* MountPublicLinkController constructor.
*
* @param string $appName
* @param IRequest $request
* @param FederatedShareProvider $federatedShareProvider
* @param IManager $shareManager
* @param AddressHandler $addressHandler
* @param ISession $session
* @param IL10N $l
* @param IUserSession $userSession
* @param IClientService $clientService
* @param ICloudIdManager $cloudIdManager
*/
public function __construct($appName,
IRequest $request,
FederatedShareProvider $federatedShareProvider,
IManager $shareManager,
AddressHandler $addressHandler,
ISession $session,
IL10N $l,
IUserSession $userSession,
IClientService $clientService,
ICloudIdManager $cloudIdManager
public function __construct(
string $appName,
IRequest $request,
private FederatedShareProvider $federatedShareProvider,
private IManager $shareManager,
private AddressHandler $addressHandler,
private ISession $session,
private IL10N $l,
private IUserSession $userSession,
private IClientService $clientService,
private ICloudIdManager $cloudIdManager,
private LoggerInterface $logger,
) {
parent::__construct($appName, $request);

$this->federatedShareProvider = $federatedShareProvider;
$this->shareManager = $shareManager;
$this->addressHandler = $addressHandler;
$this->session = $session;
$this->l = $l;
$this->userSession = $userSession;
$this->clientService = $clientService;
$this->cloudIdManager = $cloudIdManager;
}

/**
Expand Down Expand Up @@ -175,9 +132,9 @@ public function createFederatedShare($shareWith, $token, $password = '') {
try {
$this->federatedShareProvider->create($share);
} catch (\Exception $e) {
\OC::$server->getLogger()->logException($e, [
'level' => ILogger::WARN,
$this->logger->warning($e->getMessage(), [
'app' => 'federatedfilesharing',
'exception' => $e,
]);
return new JSONResponse(['message' => $e->getMessage()], Http::STATUS_BAD_REQUEST);
}
Expand Down
93 changes: 15 additions & 78 deletions apps/federatedfilesharing/lib/FederatedShareProvider.php
Expand Up @@ -50,12 +50,12 @@
use OCP\IConfig;
use OCP\IDBConnection;
use OCP\IL10N;
use OCP\ILogger;
use OCP\IUserManager;
use OCP\Share\Exceptions\GenericShareException;
use OCP\Share\Exceptions\ShareNotFound;
use OCP\Share\IShare;
use OCP\Share\IShareProvider;
use Psr\Log\LoggerInterface;

/**
* Class FederatedShareProvider
Expand All @@ -65,90 +65,29 @@
class FederatedShareProvider implements IShareProvider {
public const SHARE_TYPE_REMOTE = 6;

/** @var IDBConnection */
private $dbConnection;

/** @var AddressHandler */
private $addressHandler;

/** @var Notifications */
private $notifications;

/** @var TokenHandler */
private $tokenHandler;

/** @var IL10N */
private $l;

/** @var ILogger */
private $logger;

/** @var IRootFolder */
private $rootFolder;

/** @var IConfig */
private $config;

/** @var string */
private $externalShareTable = 'share_external';

/** @var IUserManager */
private $userManager;

/** @var ICloudIdManager */
private $cloudIdManager;

/** @var \OCP\GlobalScale\IConfig */
private $gsConfig;

/** @var ICloudFederationProviderManager */
private $cloudFederationProviderManager;

/** @var array list of supported share types */
private $supportedShareType = [IShare::TYPE_REMOTE_GROUP, IShare::TYPE_REMOTE, IShare::TYPE_CIRCLE];

/**
* DefaultShareProvider constructor.
*
* @param IDBConnection $connection
* @param AddressHandler $addressHandler
* @param Notifications $notifications
* @param TokenHandler $tokenHandler
* @param IL10N $l10n
* @param ILogger $logger
* @param IRootFolder $rootFolder
* @param IConfig $config
* @param IUserManager $userManager
* @param ICloudIdManager $cloudIdManager
* @param \OCP\GlobalScale\IConfig $globalScaleConfig
* @param ICloudFederationProviderManager $cloudFederationProviderManager
*/
public function __construct(
IDBConnection $connection,
AddressHandler $addressHandler,
Notifications $notifications,
TokenHandler $tokenHandler,
IL10N $l10n,
ILogger $logger,
IRootFolder $rootFolder,
IConfig $config,
IUserManager $userManager,
ICloudIdManager $cloudIdManager,
\OCP\GlobalScale\IConfig $globalScaleConfig,
ICloudFederationProviderManager $cloudFederationProviderManager
private IDBConnection $dbConnection,
private AddressHandler $addressHandler,
private Notifications $notifications,
private TokenHandler $tokenHandler,
private IL10N $l,
private IRootFolder $rootFolder,
private IConfig $config,
private IUserManager $userManager,
private ICloudIdManager $cloudIdManager,
private \OCP\GlobalScale\IConfig $gsConfig,
private ICloudFederationProviderManager $cloudFederationProviderManager,
private LoggerInterface $logger,
) {
$this->dbConnection = $connection;
$this->addressHandler = $addressHandler;
$this->notifications = $notifications;
$this->tokenHandler = $tokenHandler;
$this->l = $l10n;
$this->logger = $logger;
$this->rootFolder = $rootFolder;
$this->config = $config;
$this->userManager = $userManager;
$this->cloudIdManager = $cloudIdManager;
$this->gsConfig = $globalScaleConfig;
$this->cloudFederationProviderManager = $cloudFederationProviderManager;
}

/**
Expand Down Expand Up @@ -303,10 +242,9 @@ protected function createFederatedShare(IShare $share) {
$failure = true;
}
} catch (\Exception $e) {
$this->logger->logException($e, [
'message' => 'Failed to notify remote server of federated share, removing share.',
'level' => ILogger::ERROR,
$this->logger->error('Failed to notify remote server of federated share, removing share.', [
'app' => 'federatedfilesharing',
'exception' => $e,
]);
$failure = true;
}
Expand Down Expand Up @@ -873,7 +811,6 @@ public function getShareByToken($token) {
* @throws ShareNotFound
*/
private function getRawShare($id) {

// Now fetch the inserted share and create a complete share object
$qb = $this->dbConnection->getQueryBuilder();
$qb->select('*')
Expand Down
50 changes: 9 additions & 41 deletions apps/federatedfilesharing/lib/Notifications.php
Expand Up @@ -34,54 +34,22 @@
use OCP\Federation\ICloudFederationFactory;
use OCP\Federation\ICloudFederationProviderManager;
use OCP\Http\Client\IClientService;
use OCP\ILogger;
use OCP\OCS\IDiscoveryService;
use Psr\Log\LoggerInterface;

class Notifications {
public const RESPONSE_FORMAT = 'json'; // default response format for ocs calls

/** @var AddressHandler */
private $addressHandler;

/** @var IClientService */
private $httpClientService;

/** @var IDiscoveryService */
private $discoveryService;

/** @var IJobList */
private $jobList;

/** @var ICloudFederationProviderManager */
private $federationProviderManager;

/** @var ICloudFederationFactory */
private $cloudFederationFactory;

/** @var IEventDispatcher */
private $eventDispatcher;

/** @var ILogger */
private $logger;

public function __construct(
AddressHandler $addressHandler,
IClientService $httpClientService,
IDiscoveryService $discoveryService,
ILogger $logger,
IJobList $jobList,
ICloudFederationProviderManager $federationProviderManager,
ICloudFederationFactory $cloudFederationFactory,
IEventDispatcher $eventDispatcher
private AddressHandler $addressHandler,
private IClientService $httpClientService,
private IDiscoveryService $discoveryService,
private IJobList $jobList,
private ICloudFederationProviderManager $federationProviderManager,
private ICloudFederationFactory $cloudFederationFactory,
private IEventDispatcher $eventDispatcher,
private LoggerInterface $logger,
) {
$this->addressHandler = $addressHandler;
$this->httpClientService = $httpClientService;
$this->discoveryService = $discoveryService;
$this->jobList = $jobList;
$this->logger = $logger;
$this->federationProviderManager = $federationProviderManager;
$this->cloudFederationFactory = $cloudFederationFactory;
$this->eventDispatcher = $eventDispatcher;
}

/**
Expand Down