Configure number for inbound calls
Adds the settings to redis that jmp-fwdcalls will use to route inbound calls.
Not done by the sgx registration even though fwdcalls is currently a plug-over,
and of course won't be once fwdcalls dies so do it here.
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.
Merge branch 'register-command-first-pass'
* register-command-first-pass:
Add sourcehut CI
Add Rakefile to run all tests
Initial registration flow for Bitcoin
Registrations that start on the web will have a tel selected already
Helpers for doing Electrum RPC
Add helper to fetch current BTC sell prices
Allow skipping tests without being caught in pry
Initial registration flow for Bitcoin
This is the Bitcoin "happy path" where there is already a tel and a customer_id.
Gets all the way to generating a BTC address for payment and quoting an amount.
Stubs out flows for credit card and activation code as well, but does not
implement those flows.
TBD: after bitcoin payment comes in and jmp-pay activates the account, we should
come back here to actually buy the number, select a new one if no longer
available, etc.
Split logic out into testable objects
Rubocop clean. Good test coverage of helper objects.
Write initial buy credit command
Initial commit
Supports registering with backend SGX via basic iq:register.
Does not support data forms version with nice labels.
Does not verify billing or anything else yet, just unconditionally registers the user.