Class: BxBuilderChain::DocumentsController

Inherits:
ApplicationController
  • Object
show all
Defined in:
lib/generators/bx_builder_chain/templates/app/controllers/bx_builder_chain/documents_controller.rb

Constant Summary collapse

LLM_CLASS_NAME =
'BxBuilderChain::Llm::OpenAi'
CLIENT_CLASS_NAME =
'BxBuilderChain::Vectorsearch::Pgvector'

Instance Method Summary collapse

Instance Method Details

#delete_documentsObject



13
14
15
16
17
18
19
20
# File 'lib/generators/bx_builder_chain/templates/app/controllers/bx_builder_chain/documents_controller.rb', line 13

def delete_documents
  return render json: { error: 'No document IDs provided' }, status: :bad_request unless params[:ids].present?

  documents_to_delete = BxBuilderChain::Document.where(id: params[:ids], namespace: current_user_document_groups.first)
  documents_to_delete.destroy_all

  render json: { success: 'Documents deleted successfully' }
end

#namespace_documentsObject



8
9
10
11
# File 'lib/generators/bx_builder_chain/templates/app/controllers/bx_builder_chain/documents_controller.rb', line 8

def namespace_documents
  documents = BxBuilderChain::Document.where(namespace: current_user_document_groups.first)
  render json: documents
end

#upload_and_processObject



22
23
24
25
26
# File 'lib/generators/bx_builder_chain/templates/app/controllers/bx_builder_chain/documents_controller.rb', line 22

def upload_and_process
  result = document_service.upload_and_process

  render_result(result)
end

#upload_and_process_laterObject



28
29
30
31
32
# File 'lib/generators/bx_builder_chain/templates/app/controllers/bx_builder_chain/documents_controller.rb', line 28

def upload_and_process_later
  result = document_service.upload_and_process_later

  render_result(result)
end