toalett-redis-timeseries/src/CommandBus.php

26 lines
596 B
PHP

<?php
namespace Toalett\Redis\Timeseries;
use Predis\Client;
use Toalett\Redis\Timeseries\Exception\DatabaseException;
use Toalett\Redis\Timeseries\Protocol\Command\Command;
final class CommandBus
{
private Client $client;
public function __construct(Client $client)
{
$this->client = $client;
}
public function dispatch(Command $command): void
{
$response = $this->client->executeRaw($command->toRawCommand());
if (is_string($response) && 0 !== strpos($response, 'OK')) {
throw new DatabaseException($response);
}
}
}