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