From d2e1dc378a2e2c8d15c2674e9d9b08dbcd2bee24 Mon Sep 17 00:00:00 2001 From: Makoto Emura Date: Fri, 28 Nov 2025 12:57:04 -0800 Subject: [PATCH 1/2] Make ListFilesResponse.first_id and last_id Option --- async-openai/src/file.rs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/async-openai/src/file.rs b/async-openai/src/file.rs index b202a49a..ddd1e7b3 100644 --- a/async-openai/src/file.rs +++ b/async-openai/src/file.rs @@ -145,4 +145,13 @@ mod tests { assert_eq!(openai_file.id, delete_response.id); assert!(delete_response.deleted); } + + // Ensures that list files suceeds if there are no files in account + // Prerequisite: No files in account + #[tokio::test] + async fn test_empty_file_list() { + let client = Client::new(); + let result = client.files().list().await.unwrap(); + assert!(result.data.is_empty()); + } } From 207cba6e5c4ff0afef460d019b83f6af327a83e6 Mon Sep 17 00:00:00 2001 From: Makoto Emura Date: Fri, 28 Nov 2025 12:57:13 -0800 Subject: [PATCH 2/2] Add test cases for empty list files --- async-openai/src/file.rs | 2 +- async-openai/src/types/files/file.rs | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/async-openai/src/file.rs b/async-openai/src/file.rs index ddd1e7b3..3f33ab2a 100644 --- a/async-openai/src/file.rs +++ b/async-openai/src/file.rs @@ -146,7 +146,7 @@ mod tests { assert!(delete_response.deleted); } - // Ensures that list files suceeds if there are no files in account + // Ensures that list files succeeds if there are no files in account // Prerequisite: No files in account #[tokio::test] async fn test_empty_file_list() { diff --git a/async-openai/src/types/files/file.rs b/async-openai/src/types/files/file.rs index c93e1cda..51b98145 100644 --- a/async-openai/src/types/files/file.rs +++ b/async-openai/src/types/files/file.rs @@ -60,8 +60,8 @@ pub struct CreateFileRequest { pub struct ListFilesResponse { pub object: String, pub data: Vec, - pub first_id: String, - pub last_id: String, + pub first_id: Option, + pub last_id: Option, pub has_more: bool, }