Rebecca Law 17d14f291e Refactor user/<user_id>/code into two endpoints.
- Created new endpoint user/<user_id>/sms-code to send the sms verification code to the user.
- Create new endpoirtn user/<user_id>/email-code to send the email verifcation code to the user.
- Marked the old methods, schema, tests with a TODO to be deleted when the admin app is no longer sending messages to /user/<user_id>/code
- Added error handlers for DataError and NoResultFound. Data error catches invalid input errors.
- Added error handler for SqlAlchemyError which catches any other database errors.
- Removed the need for the try catches around the db calls in the user endpoints with the addition of the db error handlers.
- We may want to wrap db excpetions in the dao, if we want the No results found message to be more specific and say no result found for user.
2016-02-19 11:37:35 +00:00
2016-02-16 16:01:50 +00:00
2016-02-16 16:01:50 +00:00
2016-02-17 11:36:14 +00:00
2016-02-17 11:01:15 +00:00
2015-11-18 13:57:17 +00:00
2016-02-17 11:36:14 +00:00
2016-02-16 16:01:50 +00:00

Requirements Status

notifications-api

Notifications api Application for the notification api.

Read and write notifications/status queue. Get and update notification status.

Setting Up

mkvirtualenv -p /usr/local/bin/python3 notifications-api

Creating the environment.sh file. Replace [unique-to-environment] with your something unique to the environment. The local development environments are using the AWS on preview.

Create a local environment.sh file containing the following:

echo "
export NOTIFY_API_ENVIRONMENT='config.Development'
export ADMIN_CLIENT_SECRET='dev-notify-secret-key'
export ADMIN_CLIENT_USER_NAME='dev-notify-admin'
export AWS_REGION='eu-west-1'
export DANGEROUS_SALT='dev-notify-salt'
export DELIVERY_CLIENT_USER_NAME='dev-notify-delivery'
export DELIVERY_CLIENT_SECRET='dev-notify-secret-key'
export FIRETEXT_API_KEY="secret-fire-text"
export FIRETEXT_NUMBER="Firetext"
export NOTIFY_JOB_QUEUE='[unique-to-environment]-notify-jobs-queue' # NOTE unique prefix
export NOTIFICATION_QUEUE_PREFIX='[unique-to-environment]-notification_development' # NOTE unique prefix
export SECRET_KEY='dev-notify-secret-key'
export SQLALCHEMY_DATABASE_URI = 'postgresql://localhost/notification_api'
export VERIFY_CODE_FROM_EMAIL_ADDRESS='no-reply@notify.works'
"> environment.sh

NOTE: the DELIVERY_CLIENT_USER_NAME, DELIVERY_CLIENT_SECRET, NOTIFY_JOB_QUEUE and NOTIFICATION_QUEUE_PREFIX must be the same as the ones in the notifications-delivery app. The SECRET_KEY and DANGEROUS_SALT are the same in notifications-delivery and notifications-admin app.

NOTE: Also note the unique prefix for the queue names. This prevents clashing with others queues in shared amazon environment and using a prefix enables filtering by queue name in the SQS interface.

Description
The API powering Notify.gov
Readme 76 MiB
Languages
Python 98.5%
HCL 0.6%
Jinja 0.5%
Shell 0.3%
Makefile 0.1%