Closed mjones-oddball closed 1 month ago
@mjones-oddball @k-macmillan The "existing logic" checks 2 feature flags that I doubt are necessary anymore. Do we need to keep that? If not, I could probably replace the somewhat overly complicated "cient_to_use" function with a single database query.
@kalbfled what are the feature flags? I would need to know more about it before making a judgment call. CC @k-macmillan
@k-macmillan interested to hear your thoughts on if we need to keep the feature flagged or not. I can't think of a reason off the top of my head.
Will re-address with va-enp-api.
User Story - Business Need
We want to ensure V3 has feature parity with V2. This ticket should ensure that the appropriate provider is chosen based on system configurations.
User Story(ies)
As a notification platform I want the ability to send notifications from multiple providers So that I can support different digital notification channels and VA business needs
Additional Info and Resources
SES and Pinpoint are the default providers on all services. However, some services like VEText send through multiple providers and, as a result, we use template configs to specify provider.
The provider is determined in the following order:
Engineering Checklist
Please note - it is critical we finish this work after the new year. Remaining V3 work should not be a code overhaul. Any refactoring requests must be approved by Product and Tech Lead.
Acceptance Criteria
Givens
Cases
Email -
/v3/notifications/email
SES Confirm you receive an email in the following cases:
"provider_id"
"email_provider_id"
SMS -
/v3/notifications/sms
Use a valid sender for the tests below. If you try to send sms using a Twilio sender but provider is Pinpoint (or vice versa) this will fail. That logic is not altered as part of the v3 work.
Twilio Confirm you receive a text in the following cases:
"provider_id"
"sms_provider_id"
Pinpoint Confirm you receive a text in the following cases:
"provider_id"
"sms_provider_id"
QA Considerations
Out of Scope
If something requires overhaul of V2 functionality to make it work for V3