mirror of
https://github.com/MetaProvide/talked-client.git
synced 2025-04-13 16:39:10 +00:00
Implement the different endpoints and pull talked server location from app config
This commit is contained in:
parent
dd635b1d59
commit
5402304b64
1 changed files with 71 additions and 2 deletions
|
@ -28,6 +28,7 @@ declare(strict_types=1);
|
||||||
|
|
||||||
namespace OCA\Talked\Command;
|
namespace OCA\Talked\Command;
|
||||||
|
|
||||||
|
use OCP\IConfig;
|
||||||
use Symfony\Component\Console\Command\Command;
|
use Symfony\Component\Console\Command\Command;
|
||||||
use Symfony\Component\Console\Input\InputArgument;
|
use Symfony\Component\Console\Input\InputArgument;
|
||||||
use Symfony\Component\Console\Input\InputInterface;
|
use Symfony\Component\Console\Input\InputInterface;
|
||||||
|
@ -35,6 +36,14 @@ use Symfony\Component\Console\Output\OutputInterface;
|
||||||
|
|
||||||
class Record extends Command
|
class Record extends Command
|
||||||
{
|
{
|
||||||
|
/** @var IConfig */
|
||||||
|
private $config;
|
||||||
|
|
||||||
|
public function __construct(IConfig $config) {
|
||||||
|
parent::__construct();
|
||||||
|
$this->config = $config;
|
||||||
|
}
|
||||||
|
|
||||||
protected function configure(): void
|
protected function configure(): void
|
||||||
{
|
{
|
||||||
$this
|
$this
|
||||||
|
@ -58,19 +67,79 @@ class Record extends Command
|
||||||
|
|
||||||
protected function execute(InputInterface $input, OutputInterface $output): int
|
protected function execute(InputInterface $input, OutputInterface $output): int
|
||||||
{
|
{
|
||||||
|
$token = $input->getArgument('token');
|
||||||
$argument = $input->getArgument('argument');
|
$argument = $input->getArgument('argument');
|
||||||
|
$talkedServer = $this->config->getAppValue('talked', 'talked_server', '');
|
||||||
|
|
||||||
|
if ($talkedServer === '') {
|
||||||
|
$output->writeln("A recording server hasn't been configured yet.");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($argument === 'info') {
|
||||||
|
$ch = curl_init();
|
||||||
|
curl_setopt($ch, CURLOPT_URL, $talkedServer);
|
||||||
|
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||||
|
$result = curl_exec($ch);
|
||||||
|
curl_close($ch);
|
||||||
|
|
||||||
|
$output->writeln($result);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($argument === 'status') {
|
||||||
|
$payload = [
|
||||||
|
'token' => $token
|
||||||
|
];
|
||||||
|
|
||||||
|
$result = $this->sendPostRequest($talkedServer, 'status', $payload);
|
||||||
|
|
||||||
|
$output->writeln($result);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
if ($argument === 'start') {
|
if ($argument === 'start') {
|
||||||
$output->writeln('Setting up recorder...');
|
$payload = [
|
||||||
|
'token' => $token
|
||||||
|
];
|
||||||
|
|
||||||
|
$result = $this->sendPostRequest($talkedServer, 'start', $payload);
|
||||||
|
|
||||||
|
$output->writeln($result);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($argument === 'stop') {
|
if ($argument === 'stop') {
|
||||||
$output->writeln('Stopping recording...');
|
$payload = [
|
||||||
|
'token' => $token
|
||||||
|
];
|
||||||
|
|
||||||
|
$result = $this->sendPostRequest($talkedServer, 'stop', $payload);
|
||||||
|
|
||||||
|
$output->writeln($result);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
$output->writeln('Nothing to do.');
|
$output->writeln('Nothing to do.');
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected function sendPostRequest($base_url, $endpoint, $payload, $headers = []) {
|
||||||
|
$headers[] = 'Content-Type: application/json';
|
||||||
|
|
||||||
|
$ch = curl_init();
|
||||||
|
curl_setopt($ch, CURLOPT_URL, $base_url . '/' . $endpoint);
|
||||||
|
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||||
|
curl_setopt($ch, CURLOPT_POST, true);
|
||||||
|
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload));
|
||||||
|
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
|
||||||
|
$result = curl_exec($ch);
|
||||||
|
curl_close($ch);
|
||||||
|
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue