45 lines
1.2 KiB
Ruby
45 lines
1.2 KiB
Ruby
# == Schema Information
|
|
#
|
|
# Table name: captain_scenarios
|
|
#
|
|
# id :bigint not null, primary key
|
|
# description :text
|
|
# enabled :boolean default(TRUE), not null
|
|
# instruction :text
|
|
# title :string
|
|
# tools :jsonb
|
|
# created_at :datetime not null
|
|
# updated_at :datetime not null
|
|
# account_id :bigint not null
|
|
# assistant_id :bigint not null
|
|
#
|
|
# Indexes
|
|
#
|
|
# index_captain_scenarios_on_account_id (account_id)
|
|
# index_captain_scenarios_on_assistant_id (assistant_id)
|
|
# index_captain_scenarios_on_assistant_id_and_enabled (assistant_id,enabled)
|
|
# index_captain_scenarios_on_enabled (enabled)
|
|
#
|
|
class Captain::Scenario < ApplicationRecord
|
|
self.table_name = 'captain_scenarios'
|
|
|
|
belongs_to :assistant, class_name: 'Captain::Assistant'
|
|
belongs_to :account
|
|
|
|
validates :title, presence: true
|
|
validates :description, presence: true
|
|
validates :instruction, presence: true
|
|
validates :assistant_id, presence: true
|
|
validates :account_id, presence: true
|
|
|
|
scope :enabled, -> { where(enabled: true) }
|
|
|
|
before_save :populate_tools
|
|
|
|
private
|
|
|
|
def populate_tools
|
|
# TODO: Implement tools population logic
|
|
end
|
|
end
|