class Ittybit::AsyncFilesClient

def create(url:, media_id: nil, folder: nil, filename: nil, ref: nil, metadata: nil, request_options: nil)

Returns:
  • (Ittybit::Files::FilesCreateResponse) -

Parameters:
  • request_options (Ittybit::RequestOptions) --
  • metadata (Hash{String => Object}) --
  • ref (String) --
  • filename (String) --
  • folder (String) --
  • media_id (String) --
  • url (String) --
def create(url:, media_id: nil, folder: nil, filename: nil, ref: nil, metadata: nil, request_options: nil)
  Async do
    response = @request_client.conn.post do |req|
      req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
      req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
      req.headers["ACCEPT_VERSION"] = request_options.version unless request_options&.version.nil?
      req.headers = {
        **(req.headers || {}),
        **@request_client.get_headers,
        **(request_options&.additional_headers || {}),
        "Accept-Version": "2025-08-20"
      }.compact
      unless request_options.nil? || request_options&.additional_query_parameters.nil?
        req.params = { **(request_options&.additional_query_parameters || {}) }.compact
      end
      req.body = {
        **(request_options&.additional_body_parameters || {}),
        url: url,
        media_id: media_id,
        folder: folder,
        filename: filename,
        ref: ref,
        metadata: metadata
      }.compact
      req.url "#{@request_client.get_url(request_options: request_options)}/files"
    end
    Ittybit::Files::FilesCreateResponse.from_json(json_object: response.body)
  end
end

def delete(id:, request_options: nil)

Returns:
  • (Ittybit::Files::FilesDeleteResponse) -

Parameters:
  • request_options (Ittybit::RequestOptions) --
  • id (String) --
def delete(id:, request_options: nil)
  Async do
    response = @request_client.conn.delete do |req|
      req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
      req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
      req.headers["ACCEPT_VERSION"] = request_options.version unless request_options&.version.nil?
      req.headers = {
        **(req.headers || {}),
        **@request_client.get_headers,
        **(request_options&.additional_headers || {}),
        "Accept-Version": "2025-08-20"
      }.compact
      unless request_options.nil? || request_options&.additional_query_parameters.nil?
        req.params = { **(request_options&.additional_query_parameters || {}) }.compact
      end
      unless request_options.nil? || request_options&.additional_body_parameters.nil?
        req.body = { **(request_options&.additional_body_parameters || {}) }.compact
      end
      req.url "#{@request_client.get_url(request_options: request_options)}/files/#{id}"
    end
    Ittybit::Files::FilesDeleteResponse.from_json(json_object: response.body)
  end
end

def get(id:, request_options: nil)

Returns:
  • (Ittybit::Files::FilesGetResponse) -

Parameters:
  • request_options (Ittybit::RequestOptions) --
  • id (String) --
def get(id:, request_options: nil)
  Async do
    response = @request_client.conn.get do |req|
      req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
      req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
      req.headers["ACCEPT_VERSION"] = request_options.version unless request_options&.version.nil?
      req.headers = {
        **(req.headers || {}),
        **@request_client.get_headers,
        **(request_options&.additional_headers || {}),
        "Accept-Version": "2025-08-20"
      }.compact
      unless request_options.nil? || request_options&.additional_query_parameters.nil?
        req.params = { **(request_options&.additional_query_parameters || {}) }.compact
      end
      unless request_options.nil? || request_options&.additional_body_parameters.nil?
        req.body = { **(request_options&.additional_body_parameters || {}) }.compact
      end
      req.url "#{@request_client.get_url(request_options: request_options)}/files/#{id}"
    end
    Ittybit::Files::FilesGetResponse.from_json(json_object: response.body)
  end
end

def initialize(request_client:)

Returns:
  • (Ittybit::AsyncFilesClient) -

Parameters:
  • request_client (Ittybit::AsyncRequestClient) --
def initialize(request_client:)
  @request_client = request_client
end

def list(page: nil, limit: nil, request_options: nil)

Returns:
  • (Array) -

Parameters:
  • request_options (Ittybit::RequestOptions) --
  • limit (Integer) --
  • page (Integer) --
def list(page: nil, limit: nil, request_options: nil)
  Async do
    response = @request_client.conn.get do |req|
      req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
      req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
      req.headers["ACCEPT_VERSION"] = request_options.version unless request_options&.version.nil?
      req.headers = {
        **(req.headers || {}),
        **@request_client.get_headers,
        **(request_options&.additional_headers || {}),
        "Accept-Version": "2025-08-20"
      }.compact
      req.params = { **(request_options&.additional_query_parameters || {}), "page": page, "limit": limit }.compact
      unless request_options.nil? || request_options&.additional_body_parameters.nil?
        req.body = { **(request_options&.additional_body_parameters || {}) }.compact
      end
      req.url "#{@request_client.get_url(request_options: request_options)}/files"
    end
    parsed_json = JSON.parse(response.body)
    parsed_json&.map do |item|
      item = item.to_json
      Ittybit::Files::FilesListResponseItem.from_json(json_object: item)
    end
  end
end

def update(id:, folder: nil, filename: nil, ref: nil, metadata: nil, request_options: nil)

Returns:
  • (Ittybit::Files::FilesUpdateResponse) -

Parameters:
  • request_options (Ittybit::RequestOptions) --
  • metadata (Hash{String => Object}) --
  • ref (String) --
  • filename (String) --
  • folder (String) --
  • id (String) --
def update(id:, folder: nil, filename: nil, ref: nil, metadata: nil, request_options: nil)
  Async do
    response = @request_client.conn.patch do |req|
      req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
      req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
      req.headers["ACCEPT_VERSION"] = request_options.version unless request_options&.version.nil?
      req.headers = {
        **(req.headers || {}),
        **@request_client.get_headers,
        **(request_options&.additional_headers || {}),
        "Accept-Version": "2025-08-20"
      }.compact
      unless request_options.nil? || request_options&.additional_query_parameters.nil?
        req.params = { **(request_options&.additional_query_parameters || {}) }.compact
      end
      req.body = {
        **(request_options&.additional_body_parameters || {}),
        folder: folder,
        filename: filename,
        ref: ref,
        metadata: metadata
      }.compact
      req.url "#{@request_client.get_url(request_options: request_options)}/files/#{id}"
    end
    Ittybit::Files::FilesUpdateResponse.from_json(json_object: response.body)
  end
end