Skip to content

Commit a4912ce

Browse files
committed
client->getActivities (get activities by id or foreign_id / time combination)
1 parent e8346d2 commit a4912ce

2 files changed

Lines changed: 37 additions & 0 deletions

File tree

lib/GetStream/Stream/Client.php

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -228,6 +228,28 @@ public function buildRequestUrl($uri)
228228
return "{$baseUrl}/{$this->api_version}/{$uri}";
229229
}
230230

231+
public function getActivities($ids=null, $foreign_id_times=null)
232+
{
233+
if($ids!==null){
234+
$query_params = ["ids" => join(',', $ids)];
235+
} else {
236+
$fids = [];
237+
$times = [];
238+
foreach($foreign_id_times as $fit){
239+
$fids[] = $fit[0];
240+
$times[] = $fit[1];
241+
}
242+
$query_params = [
243+
"foreign_ids" => join(',', $fid),
244+
"timestamps" => join(',', $times)
245+
];
246+
247+
}
248+
$token = $this->signer->jwtScopeToken('*', 'activities', '*');
249+
$activities = new Activities($this, $this->api_key, $token);
250+
return $activities->_getActivities($query_params);
251+
}
252+
231253
public function updateActivities($activities)
232254
{
233255
if (empty($activities)) {

tests/integration/FeedTest.php

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -683,4 +683,19 @@ public function testEnrichment(){
683683
unset($bear['id']);
684684
$this->assertEquals($response["results"][0]["object"]['data'], $bear, $canonicalize=true);
685685
}
686+
687+
public function testGetActivities(){
688+
$now = new DateTime('now', new DateTimeZone('Pacific/Nauru'));
689+
$time = $now->format(DateTime::ISO8601);
690+
$activities = [
691+
['actor' => 'multi1', 'verb' => 'tweet', 'object' => 1, 'time' => $time, 'foreign_id' => 'fid:ga1'],
692+
['actor' => 'multi2', 'verb' => 'tweet', 'object' => 2, 'time' => $time, 'foreign_id' => 'fid:ga2'],
693+
];
694+
$response = $this->user1->addActivities($activities);
695+
$activities = $this->user1->getActivities(0, 2)['results'];
696+
$this->assertCount(2, $activities);
697+
$ids = [$activities[0]['id'], $activities[1]['id']];
698+
$response = $this->client->getActivities($ids=$ids)['results'];
699+
$this->assertEquals($activities, $response, $canonicalize=true);
700+
}
686701
}

0 commit comments

Comments
 (0)