# frozen_string_literal: true class ChatChannelArchive < ActiveRecord::Base belongs_to :chat_channel belongs_to :archived_by, class_name: "User" belongs_to :destination_topic, class_name: "Topic" def complete? self.archived_messages >= self.total_messages && self.chat_channel.chat_messages.count.zero? end def failed? !complete? && self.archive_error.present? end def new_topic? self.destination_topic_title.present? end end # == Schema Information # # Table name: chat_channel_archives # # id :bigint not null, primary key # chat_channel_id :bigint not null # archived_by_id :integer not null # destination_topic_id :integer # destination_topic_title :string # destination_category_id :integer # destination_tags :string is an Array # total_messages :integer not null # archived_messages :integer default(0), not null # archive_error :string # created_at :datetime not null # updated_at :datetime not null # # Indexes # # index_chat_channel_archives_on_chat_channel_id (chat_channel_id) #