Updated readme, subscription authorization logic
This commit is contained in:
@ -31,13 +31,8 @@ class Topic
|
||||
// TODO check if message id has already been published
|
||||
|
||||
foreach ($this->subscribers as $subscriber) {
|
||||
if ($message->private === true) {
|
||||
// TODO check subscriber access
|
||||
$subscriber->deliver($message);
|
||||
} else {
|
||||
// TODO deliver to subscriber
|
||||
$subscriber->deliver($message);
|
||||
}
|
||||
// Deliver to all subscribers
|
||||
$subscriber->deliver($message);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -34,8 +34,10 @@ class TopicManager
|
||||
public function subscribe(SubscriberInterface $subscriber, array $topics): void
|
||||
{
|
||||
foreach ($topics as $topic) {
|
||||
$this->getTopic($topic)->addSubscriber($subscriber);
|
||||
if ($subscriber->isAuthorized($topic))
|
||||
$this->getTopic($topic)->addSubscriber($subscriber);
|
||||
}
|
||||
$this->subscribers->attach($subscriber);
|
||||
}
|
||||
|
||||
public function unsubscribe(SubscriberInterface $subscriber, ?array $topics=null): void
|
||||
@ -49,6 +51,7 @@ class TopicManager
|
||||
foreach ($topics as $topic) {
|
||||
$this->getTopic($topic)->removeSubscriber($subscriber);
|
||||
}
|
||||
$this->subscribers->detach($subscriber);
|
||||
}
|
||||
|
||||
public function getTopicCount(): int
|
||||
|
Reference in New Issue
Block a user