Class: Layered::Assistant::MessagesController

Inherits:
ApplicationController show all
Includes:
MessageCreation
Defined in:
app/controllers/layered/assistant/messages_controller.rb

Instance Method Summary collapse

Instance Method Details

#createObject



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'app/controllers/layered/assistant/messages_controller.rb', line 14

def create
  result = create_messages_for(
    conversation: @conversation,
    content: message_params[:content],
    model_id: message_params[:model_id]
  )
  @message = result[:message]

  unless @message.persisted?
    return head :unprocessable_entity
  end

  @assistant_message = result[:assistant_message]
  @models = Model.available
  @selected_model_id = message_params[:model_id]
  @error = result[:error]

  respond_to do |format|
    format.turbo_stream
  end
end

#destroyObject



36
37
38
39
40
# File 'app/controllers/layered/assistant/messages_controller.rb', line 36

def destroy
  @message.destroy
  @conversation.update_token_totals!
  redirect_to layered_assistant.conversation_messages_path(@conversation), notice: "Message was successfully deleted."
end

#indexObject



9
10
11
12
# File 'app/controllers/layered/assistant/messages_controller.rb', line 9

def index
  @page_title = "Messages"
  @pagy, @messages = pagy(@conversation.messages.includes(:model).by_created_at)
end