~singpolyma/sgx-jmp

ref: 1d81fc9096353f7fea61b9b122558dc866321347 sgx-jmp/lib d---------
Merge branch 'rubocop'

* rubocop:
  Additional fixes for rubocop 1.10.1
  Switch to rubocop 0.89.1
Additional fixes for rubocop 1.10.1

This is the default rubocop in Guix.
Switch to rubocop 0.89.1

This is the rubocop in new Debian stable
Merge branch 'configure-calls-v2'

* configure-calls-v2:
  New configure calls command
  Move more persistence into the repo layer
  Easy DSL for adding XEP-0122 validation to fields
  CustomerFwd uses ValueSemantics, translates old XMPP-SIP URI
New configure calls command

Uses only v2 APIs and sets things up in the new way.
Move more persistence into the repo layer

BackendSGX shouldn't touch Redis, instead get one of the repos to save the data
we want saved wherever that repo saves it (in this case, those same Redis keys).
Easy DSL for adding XEP-0122 validation to fields
CustomerFwd uses ValueSemantics, translates old XMPP-SIP URI

More of the original data is kept now, so this object could be used for putting
to persistence as well as for loading from it.
Merge branch 'reset-sip-v2'

* reset-sip-v2:
  After SIP reset, offer to change inbound fwd
  Reset sip account using v2 API
Merge branch 'customer-not-found'

* customer-not-found:
  Customer not found, return auth error instead of panic
  Catchable CustomerRepo::NotFound
After SIP reset, offer to change inbound fwd
Reset sip account using v2 API

SipAccount now uses only v2 APIs for lookup, create, update, and delete
Catchable CustomerRepo::NotFound
Record Voicemail Greeting command
Move CustomerFwd behind Customer

All the previously-lazy BackendSgx data is now either all loaded or all not
loaded by swapping the sgx_repo used by your CustomerRepo instance.  When not
loaded the fields are filled with bottom values that explode when used.  When
loaded the values are present in RAM and not promises at all.  Most code paths
do not need any of the data, a few need most of it, so this seems like a good
trade-off.  Most code using this object will simply never touch those fields or
care about how they are loaded, etc.

Of course, most of this data isn't even SGX related and should move out of here,
but that would take a data model refactor/migration on the catapult_* schema.
Add auto-top-up to customer info report
Next