backend_sgx.rb

 1# frozen_string_literal: true
 2
 3class BackendSgx
 4	def initialize(jid=CONFIG[:sgx], creds=CONFIG[:creds])
 5		@jid = jid
 6		@creds = creds
 7	end
 8
 9	def register!(customer_id, tel)
10		ibr = mkibr(:set, customer_id)
11		ibr.nick = @creds[:account]
12		ibr.username = @creds[:username]
13		ibr.password = @creds[:password]
14		ibr.phone = tel
15		IQ_MANAGER.write(ibr)
16	end
17
18	def registered?(customer_id)
19		IQ_MANAGER.write(mkibr(:get, customer_id)).catch { nil }.then do |result|
20			if result&.respond_to?(:registered?) && result&.registered?
21				result
22			else
23				false
24			end
25		end
26	end
27
28protected
29
30	def mkibr(type, customer_id)
31		ibr = IBR.new(type, @jid)
32		ibr.from = "customer_#{customer_id}@#{CONFIG[:component][:jid]}"
33		ibr
34	end
35end