# frozen_string_literal: true
require "value_semantics/monkey_patched"
require_relative "customer_fwd"
require_relative "ibr"
require_relative "not_loaded"
class BackendSgx
value_semantics do
jid Blather::JID
creds HashOf(Symbol => String)
from_jid Blather::JID
ogm_url Either(String, nil, NotLoaded)
fwd Either(CustomerFwd, nil, NotLoaded)
transcription_enabled Either(Bool(), NotLoaded)
registered? Either(IBR, FalseClass, NotLoaded)
end
def register!(tel)
ibr = IBR.new(:set, @jid)
ibr.from = from_jid
ibr.nick = creds[:account]
ibr.username = creds[:username]
ibr.password = creds[:password]
ibr.phone = tel
IQ_MANAGER.write(ibr)
end
def stanza(s)
s.dup.tap do |stanza|
stanza.to = stanza.to.with(domain: jid.domain)
stanza.from = from_jid.with(resource: stanza.from.resource)
end
end
def set_ogm_url(url)
REDIS.set("catapult_ogm_url-#{from_jid}", url)
end
end