Skip to content

Commit

Permalink
Merge pull request #39174 from shdehnavi/refactor_lib_private_notific…
Browse files Browse the repository at this point in the history
…ation

refactor lib/private/Notification
  • Loading branch information
artonge committed Jan 3, 2024
2 parents 29e6f06 + 799928c commit a64df19
Show file tree
Hide file tree
Showing 3 changed files with 46 additions and 88 deletions.
18 changes: 6 additions & 12 deletions lib/private/Notification/Action.php
Original file line number Diff line number Diff line change
Expand Up @@ -27,23 +27,17 @@
use OCP\Notification\IAction;

class Action implements IAction {
/** @var string */
protected $label;
protected string $label;

/** @var string */
protected $labelParsed;
protected string $labelParsed;

/** @var string */
protected $link;
protected string $link;

/** @var string */
protected $requestType;
protected string $requestType;

/** @var string */
protected $icon;
protected string $icon;

/** @var bool */
protected $primary;
protected bool $primary;

public function __construct() {
$this->label = '';
Expand Down
45 changes: 16 additions & 29 deletions lib/private/Notification/Manager.php
Original file line number Diff line number Diff line change
Expand Up @@ -43,48 +43,35 @@
use Psr\Log\LoggerInterface;

class Manager implements IManager {
/** @var IValidator */
protected $validator;
/** @var IUserManager */
private $userManager;
/** @var ICache */
protected $cache;
/** @var IRegistry */
protected $subscription;
/** @var LoggerInterface */
protected $logger;
/** @var Coordinator */
private $coordinator;
protected ICache $cache;

/** @var IApp[] */
protected $apps;
protected array $apps;
/** @var string[] */
protected $appClasses;
protected array $appClasses;

/** @var INotifier[] */
protected $notifiers;
protected array $notifiers;
/** @var string[] */
protected $notifierClasses;
protected array $notifierClasses;

/** @var bool */
protected $preparingPushNotification;
protected bool $preparingPushNotification;
/** @var bool */
protected $deferPushing;
protected bool $deferPushing;
/** @var bool */
private $parsedRegistrationContext;
private bool $parsedRegistrationContext;

public function __construct(IValidator $validator,
IUserManager $userManager,
public function __construct(
protected IValidator $validator,
private IUserManager $userManager,
ICacheFactory $cacheFactory,
IRegistry $subscription,
LoggerInterface $logger,
Coordinator $coordinator) {
$this->validator = $validator;
$this->userManager = $userManager;
protected IRegistry $subscription,
protected LoggerInterface $logger,
private Coordinator $coordinator,
) {
$this->cache = $cacheFactory->createDistributed('notifications');
$this->subscription = $subscription;
$this->logger = $logger;
$this->coordinator = $coordinator;

$this->apps = [];
$this->notifiers = [];
Expand All @@ -111,7 +98,7 @@ public function registerApp(string $appClass): void {
* @deprecated 17.0.0 use registerNotifierService instead.
* @since 8.2.0 - Parameter $info was added in 9.0.0
*/
public function registerNotifier(\Closure $service, \Closure $info) {
public function registerNotifier(\Closure $service, \Closure $info): void {
$infoData = $info();
$exception = new \InvalidArgumentException(
'Notifier ' . $infoData['name'] . ' (id: ' . $infoData['id'] . ') is not considered because it is using the old way to register.'
Expand Down
71 changes: 24 additions & 47 deletions lib/private/Notification/Notification.php
Original file line number Diff line number Diff line change
Expand Up @@ -32,74 +32,51 @@
use OCP\RichObjectStrings\IValidator;

class Notification implements INotification {
/** @var IValidator */
protected $richValidator;
protected string $app;

/** @var string */
protected $app;
protected string $user;

/** @var string */
protected $user;
protected \DateTime $dateTime;

/** @var \DateTime */
protected $dateTime;
protected string $objectType;

/** @var string */
protected $objectType;
protected string $objectId;

/** @var string */
protected $objectId;
protected string $subject;

/** @var string */
protected $subject;
protected array $subjectParameters;

/** @var array */
protected $subjectParameters;
protected string $subjectParsed;

/** @var string */
protected $subjectParsed;
protected string $subjectRich;

/** @var string */
protected $subjectRich;
protected array $subjectRichParameters;

/** @var array */
protected $subjectRichParameters;
protected string $message;

/** @var string */
protected $message;
protected array $messageParameters;

/** @var array */
protected $messageParameters;
protected string $messageParsed;

/** @var string */
protected $messageParsed;
protected string $messageRich;

/** @var string */
protected $messageRich;
protected array $messageRichParameters;

/** @var array */
protected $messageRichParameters;
protected string $link;

/** @var string */
protected $link;
protected string $icon;

/** @var string */
protected $icon;
protected array $actions;

/** @var array */
protected $actions;
protected array $actionsParsed;

/** @var array */
protected $actionsParsed;
protected bool $hasPrimaryAction;

/** @var bool */
protected $hasPrimaryAction;
protected bool $hasPrimaryParsedAction;

/** @var bool */
protected $hasPrimaryParsedAction;

public function __construct(IValidator $richValidator) {
$this->richValidator = $richValidator;
public function __construct(
protected IValidator $richValidator,
) {
$this->app = '';
$this->user = '';
$this->dateTime = new \DateTime();
Expand Down

0 comments on commit a64df19

Please sign in to comment.