mirror of
https://github.com/GSA/notifications-api.git
synced 2025-12-24 09:21:39 -05:00
a service now has branding and organisation_id columns, and two new
tables have been aded to reflect these:
* branding is a static types table referring to how a service wants
their emails to be branded:
* 'govuk' for GOV UK branding (default)
* 'org' for organisational branding only
* 'both' for co-branded output with both
* organisation is a table defining an organisation's branding. this
contains three entries, all of which are nullable
* colour - a hex code for a coloured bar on the logo's left
* logo - relative path for that org's logo image
* name - the name to display on the right of the logo
89 lines
3.7 KiB
Markdown
89 lines
3.7 KiB
Markdown

|
|
[](https://requires.io/github/alphagov/notifications-api/requirements/?branch=master)
|
|
|
|
[](https://github.com/alphagov/notifications-api/compare/staging...master?expand=1&title=Deploy%20to%20staging) [](https://github.com/alphagov/notifications-api/compare/live...staging?expand=1&title=Deploy%20to%20live)
|
|
|
|
# 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_ENVIRONMENT='development'
|
|
export ADMIN_BASE_URL='http://localhost:6012'
|
|
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 FIRETEXT_API_KEY=[contact team member for api key]
|
|
export INVITATION_EMAIL_FROM='invites@notifications.service.gov.uk'
|
|
export INVITATION_EXPIRATION_DAYS=2
|
|
export NOTIFY_EMAIL_DOMAIN='notify.works'
|
|
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'
|
|
export MMG_API_KEY=mmg=secret-key
|
|
export STATSD_ENABLED=True
|
|
export STATSD_HOST="localhost"
|
|
export STATSD_PORT=1000
|
|
export STATSD_PREFIX="stats-prefix"
|
|
export FROM_NUMBER='from_number'
|
|
"> 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](https://github.com/alphagov/notifications-delivery) app.
|
|
The SECRET_KEY and DANGEROUS_SALT are the same in [notifications-delivery](https://github.com/alphagov/notifications-delivery) and [notifications-admin](https://github.com/alphagov/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.
|
|
|
|
|
|
|
|
## To run the application
|
|
|
|
You need to run the api application and a local celery instance.
|
|
|
|
There are two run scripts for running all the necessary parts.
|
|
|
|
```
|
|
scripts/run_app.sh
|
|
```
|
|
|
|
```
|
|
scripts/run_celery.sh
|
|
```
|
|
|
|
```
|
|
scripts/run_celery_beat.sh
|
|
```
|
|
|
|
|
|
## To remove functional test data
|
|
|
|
NOTE: There is assumption that both the server name prefix and user name prefix are followed by a uuid.
|
|
The script will search for all services/users with that prefix and only remove it if the prefix is followed by a uuid otherwise it will be skipped.
|
|
|
|
Locally
|
|
```
|
|
python application.py purge_functional_test_data -u <functional tests user name prefix> # Remove the user and associated services.
|
|
```
|
|
|
|
On the server
|
|
```
|
|
python server_commands.py purge_functional_test_data -u <functional tests user name prefix> # Remove the user and associated services.
|
|
```
|