Sha256: 3e4f6db95c20c36e381e4e7cd50b90f53631869de5eaa17d631f9fb1f8933d29

Contents?: true

Size: 972 Bytes

Versions: 1

Compression:

Stored size: 972 Bytes

Contents

# frozen_string_literal: true

require "dry-struct"
require "dry-validation"

require "roseflow/pinecone/object"
require "roseflow/pinecone/vectors/filter"
require "roseflow/pinecone/vectors/common"

module Types
  include Dry.Types()
end

module Roseflow
  module Pinecone
    class Vector
      class Deletion < PineconeObject
        include Roseflow::Pinecone::Vectors::Common

        class DeletionContract < Dry::Validation::Contract
          params do
            optional(:ids).filled(:array)
            optional(:namespace).filled(:string)
            optional(:filter).filled
            optional(:delete_all).filled(:bool)
          end
        end

        contract_object DeletionContract

        attribute? :ids, Dry::Types['array'].of(Dry::Types['string'])
        attribute? :namespace, Dry::Types['string']
        attribute? :filter, Types.Instance(Filter)
        attribute? :delete_all, Dry::Types['bool'].default(false)
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
roseflow-pinecone-0.1.0 lib/roseflow/pinecone/vectors/deletion.rb