Skip to content

Commit 70616a9

Browse files
FFWEB-2652: Extend Search interface by records method
1 parent a6eff58 commit 70616a9

4 files changed

Lines changed: 29 additions & 0 deletions

File tree

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
11
# Changelog
2+
## Unreleased
3+
SearchAdapter
4+
- Extend Search interface by records method
5+
26
## [v0.9.5] - 2022.12.05
37
### Add
48
AdapterFactory

src/Resource/NG/SearchAdapter.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,14 @@ public function suggest(string $channel, string $query, array $params = []): arr
3939
return (array) json_decode((string) $response->getBody(), true);
4040
}
4141

42+
public function records(string $channel, string $query, array $params = []): array
43+
{
44+
$params = ['query' => $query] + $params;
45+
$apiVersion = $this->getApiVersion();
46+
$response = $this->client->request('GET', "rest/{$apiVersion}/records/{$channel}", ['query' => $params]);
47+
return (array) json_decode((string) $response->getBody(), true);
48+
}
49+
4250
private function getApiVersion(): string
4351
{
4452
return (string) $this->config['api_version'] ?? 'v4';

src/Resource/Search.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,14 @@ public function search(string $channel, string $query, array $params = []): arra
2727
* @throws ClientExceptionInterface
2828
*/
2929
public function suggest(string $channel, string $query, array $params = []): array;
30+
31+
/**
32+
* @param string $channel
33+
* @param string $query
34+
* @param array $params
35+
*
36+
* @return array
37+
* @throws ClientExceptionInterface
38+
*/
39+
public function records(string $channel, string $query, array $params = []): array;
3040
}

src/Resource/Standard/SearchAdapter.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,11 @@ public function suggest(string $channel, string $query, array $params = []): arr
3030
$response = $this->client->request('GET', 'Suggest.ff', ['query' => $params]);
3131
return json_decode((string) $response->getBody(), true);
3232
}
33+
34+
public function records(string $channel, string $query, array $params = []): array
35+
{
36+
$params = ['query' => $query, 'channel' => $channel, 'format' => 'json'] + $params;
37+
$response = $this->client->request('GET', 'Records.ff', ['query' => $params]);
38+
return json_decode((string) $response->getBody(), true);
39+
}
3340
}

0 commit comments

Comments
 (0)