Sha256: 76a7a477db2214c663ff377b11d9d300ee767ac3503c6ae7e0d2b7f91b5f9309

Contents?: true

Size: 1.42 KB

Versions: 7

Compression:

Stored size: 1.42 KB

Contents

# frozen_string_literal: true

require_relative 'rest_client'

module Uploadcare
  module Client
    # API client for handling file lists
    class FileListClient < RestClient
      # Returns a pagination json of files stored in project
      # @see https://uploadcare.com/api-refs/rest-api/v0.5.0/#operation/filesList
      #
      # valid options:
      # removed: [true|false]
      # stored: [true|false]
      # limit: (1..1000)
      # ordering: ["datetime_uploaded"|"-datetime_uploaded"|"size"|"-size"]
      # from: number of files skipped
      def file_list(options = {})
        query = options.empty? ? '' : "?#{URI.encode_www_form(options)}"
        get(uri: "/files/#{query}")
      end

      # Make a set of files "stored". This will prevent them from being deleted automatically
      # @see https://uploadcare.com/api-refs/rest-api/v0.5.0/#operation/filesStoring
      # uuids: Array
      def batch_store(uuids)
        body = uuids.to_json
        put(uri: '/files/storage/', content: body)
      end

      alias request_delete delete

      # Delete several files by list of uids
      # @see https://uploadcare.com/api-refs/rest-api/v0.5.0/#operation/filesDelete
      # uuids: Array
      def batch_delete(uuids)
        body = uuids.to_json
        request_delete(uri: '/files/storage/', content: body)
      end

      alias store_files batch_store
      alias delete_files batch_delete
      alias list file_list
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
uploadcare-ruby-3.3.2 lib/uploadcare/client/file_list_client.rb
uploadcare-ruby-3.3.1 lib/uploadcare/client/file_list_client.rb
uploadcare-ruby-3.3.0 lib/uploadcare/client/file_list_client.rb
uploadcare-ruby-3.2.0 lib/uploadcare/client/file_list_client.rb
uploadcare-ruby-3.1.1 lib/uploadcare/client/file_list_client.rb
uploadcare-ruby-3.1.0 lib/uploadcare/client/file_list_client.rb
uploadcare-ruby-3.1.0.pre.rc1 lib/uploadcare/client/file_list_client.rb