listFiles method

Future<OpenAIFileList> listFiles({
  1. String? after,
  2. int? limit,
  3. SortOrder? order,
  4. String? purpose,
})

List files (optionally filter by purpose, paginate, and order).

Implementation

Future<OpenAIFileList> listFiles({
  String? after,
  int? limit, // 1..10000
  SortOrder? order, // asc | desc
  String? purpose, // e.g. "assistants"
}) async {
  final qp = <String, String>{
    if (after != null) 'after': after,
    if (limit != null) 'limit': '$limit',
    if (order != null) 'order': order.toJson(),
    if (purpose != null) 'purpose': purpose,
  };

  final url = baseUrl.resolve('files').replace(queryParameters: qp.isEmpty ? null : qp);
  final res = await httpClient.get(url, headers: getHeaders({}) ?? {});
  if (res.statusCode == 200) {
    return OpenAIFileList.fromJson(jsonDecode(res.body));
  }
  throw OpenAIRequestException.fromHttpResponse(res);
}