# frozen_string_literal: true
require "ruby-bandwidth-iris"
class BandwidthTnRepo
def initialize
@move_client =
BandwidthIris::Client.new(
account_id: CONFIG[:keep_area_codes_in][:account],
username: CONFIG[:creds][:username],
password: CONFIG[:creds][:password]
)
end
def find(tel)
BandwidthIris::Tn.new(telephone_number: tel).get_details
end
def put_lidb_name(tel, lidb_name)
BandwidthIris::Lidb.create(
lidb_tn_groups: { lidb_tn_group: {
telephone_numbers: { telephone_number: tel.sub(/\A\+1/, "") },
subscriber_information: lidb_name,
use_type: "RESIDENTIAL", visibility: "PUBLIC"
} }
)
rescue BandwidthIris::Errors::GenericError
raise "Could not set CNAM, please contact support"
end
def disconnect(tel, order_name)
tn = tel.sub(/\A\+1/, "")
if CONFIG[:keep_area_codes].find { |area| tn.start_with?(area) }
BandwidthIris::Tn.new({ telephone_number: tn }, @move_client).move(
site_id: CONFIG[:keep_area_codes_in][:site],
customer_order_id: order_name,
source_account_id: CONFIG[:creds][:account]
)
else
BandwidthIris::Disconnect.create(order_name, tn)
end
end
end