Skip to content

Commit 4f70ed1

Browse files
committed
refactor: update operations that were not using traits
1 parent a0c508b commit 4f70ed1

File tree

2 files changed

+6
-21
lines changed

2 files changed

+6
-21
lines changed

src/Operations/QueryDataOperation.php

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,19 @@
66
use Upstash\Vector\DataQuery;
77
use Upstash\Vector\DataQueryResult;
88
use Upstash\Vector\Operations\Concerns\AssertsApiResponseErrors;
9+
use Upstash\Vector\Operations\Concerns\MapsVectorMatches;
910
use Upstash\Vector\Transporter\ContentType;
1011
use Upstash\Vector\Transporter\Method;
1112
use Upstash\Vector\Transporter\TransporterRequest;
1213
use Upstash\Vector\Transporter\TransporterResponse;
13-
use Upstash\Vector\VectorMatch;
1414

1515
/**
1616
* @internal
1717
*/
1818
final readonly class QueryDataOperation
1919
{
2020
use AssertsApiResponseErrors;
21+
use MapsVectorMatches;
2122

2223
public function __construct(
2324
private string $namespace,
@@ -49,16 +50,7 @@ public function query(DataQuery $query): DataQueryResult
4950
private function transformResponse(TransporterResponse $response): DataQueryResult
5051
{
5152
$data = json_decode($response->data, true);
52-
53-
$results = array_map(function (array $result) {
54-
return new VectorMatch(
55-
id: $result['id'],
56-
score: $result['score'],
57-
vector: $result['vector'] ?? [],
58-
data: $result['data'] ?? '',
59-
metadata: $result['metadata'] ?? [],
60-
);
61-
}, $data['result'] ?? []);
53+
$results = array_map(fn (array $result) => $this->mapVectorMatch($result), $data['result'] ?? []);
6254

6355
return new DataQueryResult($results);
6456
}

src/Operations/UpsertDataOperation.php

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,18 @@
44

55
use Upstash\Vector\Contracts\TransporterInterface;
66
use Upstash\Vector\DataUpsert;
7-
use Upstash\Vector\Exceptions\OperationFailedException;
7+
use Upstash\Vector\Operations\Concerns\AssertsApiResponseErrors;
88
use Upstash\Vector\Transporter\ContentType;
99
use Upstash\Vector\Transporter\Method;
1010
use Upstash\Vector\Transporter\TransporterRequest;
11-
use Upstash\Vector\Transporter\TransporterResponse;
1211

1312
/**
1413
* @internal
1514
*/
1615
final readonly class UpsertDataOperation
1716
{
17+
use AssertsApiResponseErrors;
18+
1819
public function __construct(private string $namespace, private TransporterInterface $transporter) {}
1920

2021
public function upsert(DataUpsert $upsert): void
@@ -56,12 +57,4 @@ private function createRequest(array $data): TransporterRequest
5657
data: $data,
5758
);
5859
}
59-
60-
private function assertResponse(TransporterResponse $response): void
61-
{
62-
if ($response->statusCode === 422) {
63-
$data = json_decode($response->data, true);
64-
throw new OperationFailedException($data['error']);
65-
}
66-
}
6760
}

0 commit comments

Comments
 (0)