46 lines
1.3 KiB
Ruby
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
|