Fix direct targets with explicit backend set

Stephen Paul Weber created

Change summary

lib/trivial_backend_sgx_repo.rb | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)

Detailed changes

lib/trivial_backend_sgx_repo.rb 🔗

@@ -23,7 +23,7 @@ class TrivialBackendSgxRepo
 	end
 
 	def get(customer_id, tel: nil)
-		@redis.get("jmp_customer_backend_sgx-#{customer_id}").then do |sgx_jid|
+		use_jid(customer_id).then do |sgx_jid|
 			creds = sgx_jid ? CONFIG[:sgx_creds][sgx_jid.to_sym] : @creds
 			BackendSgx.new(
 				jid: sgx_jid ? Blather::JID.new(sgx_jid) : @jid, creds: creds,
@@ -37,6 +37,14 @@ class TrivialBackendSgxRepo
 
 protected
 
+	def use_jid(customer_id)
+		if @jid.node.nil?
+			@redis.get("jmp_customer_backend_sgx-#{customer_id}")
+		else
+			EMPromise.resolve(@jid)
+		end
+	end
+
 	def ibr_for(tel)
 		ibr = Blather::Stanza::Iq::IBR.new
 		ibr.registered = true