Factor out Catapult connection So that every object which needs to talk to Catapult does not need to know everthing about it.
Merge branch 'import-to-catapult' * import-to-catapult: Import newly-purchased numbers to Catapult
Import newly-purchased numbers to Catapult Since we still use Catapult ("v1") for voice application, we need to import all numbers there and set their applicationId to match.
Merge branch 'new-signup-add-credit-card' * new-signup-add-credit-card: Happy path for credit card signup Panic should work on any value for error Allow getting default payment method, not just index Object representing the backend SGX to use Stop polluting Object namespace with Blather DSL Work in the presence of em-synchrony Helper to allow ordering phone number from Bandwidth v2 Helper to get a promise that resolves after N seconds Every payment kind will need the plan, so put it at the top Use registration pattern for Payment kinds Method to bill the plan of a Customer Use Forwardable for simple delegations Helper to allow using sync-style code in a Promise context New signup: go to web to choose credit card OOB helper Reject promise on stanza error Fix typo
Helper to allow ordering phone number from Bandwidth v2 Uses their gem which uses Faraday. Set Faraday to em-synchrony so their gem is now using EventMachine but still sync so their code will work unchanged. Wrap all uses of the gem in EM.promise_fiber to get a promise back out of that. Implement a poll helper that can wait until a new order is complete at Bandwidth before continuing. They support an HTTP callback method, but only global on account? This is much easier to work with in our context.