dbudwin/RoboHome-Web

View on GitHub
app/Http/MQTT/MessagePublisher.php

Summary

Maintainability
A
0 mins
Test Coverage
<?php

namespace App\Http\MQTT;

use LibMQTT\Client;
use Webpatser\Uuid\Uuid;

class MessagePublisher
{
    private $client;

    public function __construct(Client $client)
    {
        $this->client = $client;
    }

    public function publish(string $action, Uuid $publicUserId, Uuid $publicDeviceId): bool
    {
        if (!$this->client->connect()) {
            return false;
        }

        $published = $this->client->publish("RoboHome/$publicUserId->string/$publicDeviceId->string", $action, 0);

        $this->client->close();

        return $published;
    }
}