~singpolyma/sgx-jmp

ref: 051be0a9b22a7f2aba7e62f4b104ed6a9f7094c8 sgx-jmp/lib/bandwidth_tn_repo.rb -rw-r--r-- 1.1 KiB
051be0a9Stephen Paul Weber Admin command to cancel customer 10 months ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# 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