Change summary
lib/admin_actions/number_change.rb | 11 ++++++-----
lib/trivial_backend_sgx_repo.rb | 24 ++++++++----------------
2 files changed, 14 insertions(+), 21 deletions(-)
Detailed changes
@@ -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
@@ -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