From 7ea591e0f7b32c5ba0395895e779c9372ca82056 Mon Sep 17 00:00:00 2001 From: Stephen Paul Weber Date: Tue, 12 Aug 2025 09:44:41 -0500 Subject: [PATCH] Clean up abstractions --- lib/admin_actions/number_change.rb | 11 ++++++----- lib/trivial_backend_sgx_repo.rb | 24 ++++++++---------------- 2 files changed, 14 insertions(+), 21 deletions(-) diff --git a/lib/admin_actions/number_change.rb b/lib/admin_actions/number_change.rb index 6e0be7296cbd88f75682f1723c742b84653c02b0..13dd810f262809b328c74d8381e6f60cfb9cfb3c 100644 --- a/lib/admin_actions/number_change.rb +++ b/lib/admin_actions/number_change.rb @@ -88,12 +88,13 @@ class AdminAction end def forward + repo = TrivialBackendSgxRepo.new(redis: REDIS) EMPromise.all([ new_tel != old_tel && change_catapult_fwd!, - TrivialBackendSgxRepo.new( - redis: REDIS - ).put(customer_id, new_backend, new_tel), - should_disconnect_old_number? && disconnect_number + repo.put(customer_id, new_backend).then { |sgx| + sgx.register!(new_tel) + }, + should_disconnect_old_number? && disconnect_bandwidth_number ]).then { self } end @@ -119,7 +120,7 @@ class AdminAction protected - def disconnect_number + def disconnect_bandwidth_number # Order name is limited to 40 characters # Assuming 12 chars for new_tel and 12 for customer_id, this is tight # but ok diff --git a/lib/trivial_backend_sgx_repo.rb b/lib/trivial_backend_sgx_repo.rb index f3c88253f7283f32cc0e8ae7bc5dad89fce5b540..db48cce765f6b2991c790cb40034cd87f3b67ca4 100644 --- a/lib/trivial_backend_sgx_repo.rb +++ b/lib/trivial_backend_sgx_repo.rb @@ -34,26 +34,18 @@ class TrivialBackendSgxRepo end end - def put(cid, target_sgx, target_num) - get(cid).then(&:deregister!).then { - put_jid(cid, target_sgx) - }.then { - get(cid) - }.then { |sgx| - sgx.register!(target_num) - } + def put(customer_id, target_sgx) + get(customer_id).then(&:deregister!).then { + if target_sgx == CONFIG[:sgx] + @redis.del("jmp_customer_backend_sgx-#{customer_id}") + else + @redis.set("jmp_customer_backend_sgx-#{customer_id}", target_sgx) + end + }.then { get(customer_id) } end protected - def put_jid(cid, target_sgx) - if target_sgx == CONFIG[:sgx] - @redis.del("jmp_customer_backend_sgx-#{cid}") - else - @redis.set("jmp_customer_backend_sgx-#{cid}", target_sgx) - end - end - def default_jid_creds EMPromise.resolve([@jid, @creds]) end