Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit fe10efb

Browse filesBrowse files
Allow arguments to be passed to files list request (#557)
* Allow arguments to be passed to files list request * chore: add files.list parameter support to contract/tests --------- Co-authored-by: Connor Tumbleson <connor.tumbleson@gmail.com>
1 parent bb305b0 commit fe10efb
Copy full SHA for fe10efb

File tree

Expand file treeCollapse file tree

4 files changed

+22
-5
lines changed
Filter options
Expand file treeCollapse file tree

4 files changed

+22
-5
lines changed

‎src/Contracts/Resources/FilesContract.php

Copy file name to clipboardExpand all lines: src/Contracts/Resources/FilesContract.php
+3-1Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,10 @@ interface FilesContract
1313
* Returns a list of files that belong to the user's organization.
1414
*
1515
* @see https://platform.openai.com/docs/api-reference/files/list
16+
*
17+
* @param array<string, mixed> $parameters
1618
*/
17-
public function list(): ListResponse;
19+
public function list(array $parameters = []): ListResponse;
1820

1921
/**
2022
* Returns information about a specific file.

‎src/Resources/Files.php

Copy file name to clipboardExpand all lines: src/Resources/Files.php
+2-2Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@ final class Files implements FilesContract
2121
*
2222
* @see https://platform.openai.com/docs/api-reference/files/list
2323
*/
24-
public function list(): ListResponse
24+
public function list(array $parameters = []): ListResponse
2525
{
26-
$payload = Payload::list('files');
26+
$payload = Payload::list('files', $parameters);
2727

2828
/** @var Response<array{object: string, data: array<int, array{id: string, object: string, created_at: int, bytes: ?int, filename: string, purpose: string, status: string, status_details: array<array-key, mixed>|string|null}>}> $response */
2929
$response = $this->transporter->requestObject($payload);

‎src/Testing/Resources/FilesTestResource.php

Copy file name to clipboardExpand all lines: src/Testing/Resources/FilesTestResource.php
+2-2Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@ protected function resource(): string
1919
return Files::class;
2020
}
2121

22-
public function list(): ListResponse
22+
public function list(array $parameters = []): ListResponse
2323
{
24-
return $this->record(__FUNCTION__);
24+
return $this->record(__FUNCTION__, func_get_args());
2525
}
2626

2727
public function retrieve(string $file): RetrieveResponse

‎tests/Testing/Resources/FilesTestResource.php

Copy file name to clipboardExpand all lines: tests/Testing/Resources/FilesTestResource.php
+15Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,21 @@
3232
});
3333
});
3434

35+
it('records a file list request with parameters', function () {
36+
$fake = new ClientFake([
37+
ListResponse::fake(),
38+
]);
39+
40+
$fake->files()->list([
41+
'limit' => 1,
42+
]);
43+
44+
$fake->assertSent(Files::class, function ($method, $parameters) {
45+
return $method === 'list' &&
46+
$parameters['limit'] === 1;
47+
});
48+
});
49+
3550
it('records a files download request', function () {
3651
$fake = new ClientFake([
3752
'fake-file-content',

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.