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