1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106
<?php
namespace Catapult;
final class Bridge Extends GenericResource {
public function __construct($data=null)
{
$data = Ensure::Input($data);
parent::_init($data, new DependsResource,
new LoadsResource(array(
"primary" => "get", "id" => "id", "init" => "", "silent" => false,
)),
new SchemaResource(array(
"fields" => array('audio', 'completedTime', 'createdTime', 'activatedTime', 'callIds'),
"needs" => array("id")
)
),
new SubFunctionResource(array(
array("type" => "get", "term" => "calls")
))
);
}
public function callParty($caller, $callee, $args)
{
$new_call = Call::create($caller, $callee, $this->id, $args);
$this->calls ++;
return Constructor::Make($this, $data->get());
}
public function callIds()
{
$call_ids = array();
foreach ($this->calls as $call)
$call_ids[] = $call->id;
return $call_ids;
}
public function fetchCalls()
{
$url = URIResource::Make($this->path, array($this->id, "calls"));
$res = $this->client->get($url);
$this->calls = new CallCollection(new DataPacketCollection($res));
return $this->calls;
}
public function getAudioUrl()
{
return URIResource::Make($this->path, array($this->id, "audio"));
}
}