Files
clientsflow/research/chatwoot/app/models/channel/tiktok.rb

46 lines
1.3 KiB
Ruby

# == Schema Information
#
# Table name: channel_tiktok
#
# id :bigint not null, primary key
# access_token :string not null
# expires_at :datetime not null
# refresh_token :string not null
# refresh_token_expires_at :datetime not null
# created_at :datetime not null
# updated_at :datetime not null
# account_id :integer not null
# business_id :string not null
#
# Indexes
#
# index_channel_tiktok_on_business_id (business_id) UNIQUE
#
class Channel::Tiktok < ApplicationRecord
include Channelable
include Reauthorizable
self.table_name = 'channel_tiktok'
# TODO: Remove guard once encryption keys become mandatory (target 3-4 releases out).
if Chatwoot.encryption_configured?
encrypts :access_token
encrypts :refresh_token
end
AUTHORIZATION_ERROR_THRESHOLD = 1
validates :business_id, uniqueness: true, presence: true
validates :access_token, presence: true
validates :refresh_token, presence: true
validates :expires_at, presence: true
validates :refresh_token_expires_at, presence: true
def name
'Tiktok'
end
def validated_access_token
Tiktok::TokenService.new(channel: self).access_token
end
end