Commit Graph

260 Commits

Author SHA1 Message Date
Imdad Ahad
26b35c5d15 Add intl notificiation fields 2017-04-26 11:31:05 +01:00
Imdad Ahad
c69ee2405a Fix comment 2017-04-26 10:37:12 +01:00
Imdad Ahad
20d6d9d333 Update migration off master 2017-04-25 17:35:22 +01:00
Imdad Ahad
25ce3851eb Add international support flag for providers 2017-04-25 17:33:16 +01:00
Leo Hemsted
c87be0f982 add sent notification status 2017-04-25 16:29:07 +01:00
Rebecca Law
3b28a1fa47 Fix db migration merge conflicts 2017-04-25 10:19:57 +01:00
Rebecca Law
e8a7762688 Merge branch 'master' into update-sms-rate 2017-04-25 10:15:54 +01:00
Rebecca Law
43226dc932 Added a new rates table.
We only need one rate per channel. This reflects that. The provider_rates has been left for now, it is still not being used.
New dao has been added to select the right rate for the given notification_type and date of notificaiton.
2017-04-24 16:20:03 +01:00
Ken Tsang
04796b39a8 Add international sms feature flag in db 2017-04-24 12:43:19 +01:00
Imdad Ahad
0ce0086639 Add DVLA org migration with default values 2017-04-21 13:27:04 +01:00
Leo Hemsted
c3e56d5d2d Revert "add DVLA organisations to API" 2017-04-20 18:21:56 +01:00
Leo Hemsted
d514d99a67 add DVLA organisations to API
when services are created, they'll have a dvla_org_id of 001, or
HM Government. That can be changed later using a regular update call
2017-04-19 16:31:18 +01:00
Martyn Inglis
5081ffc675 roll error jobs into finished state - unsure where to go with these as these have failed, but this leaves them nowhere to go.
Making them finished and the whole job can be re-done.
2017-04-18 14:40:33 +01:00
Martyn Inglis
6a0efd80ab Add a new status to the job statuses to handle errors. 2017-04-18 11:42:21 +01:00
Leo Hemsted
8865f2db82 fix notify service user email 2017-03-30 15:05:03 +01:00
Rebecca Law
ecb63a8008 Add new job status.
ready to send == we have created a dvla file in S3, the job id is in the file name
sent to dvla == we have created an aggregate dvla file to send for the day and have sent the file via sftp
2017-03-10 16:33:15 +00:00
Imdad Ahad
1ccaf08003 Fix migration and small refactor 2017-03-08 09:49:47 +00:00
Imdad Ahad
19df677315 Add created_by to provider and provider history table 2017-03-03 10:54:20 +00:00
Leo Hemsted
f5511a19a2 add letter_contact_block text field to service 2017-03-02 16:42:06 +00:00
Rebecca Law
6386cb968a Fix tests.
Fix copy/paste error in the history table
2017-03-02 12:12:01 +00:00
Rebecca Law
beb7fda32b Added the provider details for DVLA.
The rates are a bogus number.
2017-03-02 11:42:37 +00:00
Leo Hemsted
a47672f7e3 Add current_session_id to the user model, update on login
when we change the last logged in time, set the current session id to
a random uuid

this way, we can compare it to the cookie a user has, and if they
differ then we can log them out

also update user.logged_in_at at 2FA rather than password check, since
that feels more accurate
2017-02-22 17:30:55 +00:00
Rebecca Law
31de10ae6f dB script to default templates/templates_history.process_type = 'normal' and set the column to not null 2017-01-16 11:19:46 +00:00
Rebecca Law
ceb139ca28 Fix foreign key names 2017-01-13 12:29:13 +00:00
Rebecca Law
6c79ddbe41 This is the first deploy in series of deploys to give certain templates priority in processing.
If the template is marked as priority the notification will be sent using the `notify` queue.
The `notify` queue is a low volume queue, messages here will not be queue behind a large job and should be delivered with in a more consistent time frame.

- Added templates.process_type and templates_history.process_type column.
- Added a template_process_type table to handle the enum for templates.process_type, initial values are normal and priority

https://www.pivotaltracker.com/story/show/135429147
2017-01-13 12:14:34 +00:00
Leo Hemsted
f1899c6d53 add updated_at to provider_details
it's set to utcnow from dao_update_provider_details
2016-12-19 17:45:46 +00:00
Leo Hemsted
74cdcdcc92 set prov details history's primary key to be id+version 2016-12-19 17:33:51 +00:00
Leo Hemsted
9d1b1328af add version to provider_details and _history
set all existing rows to have a version of 1 (also copy across values
to populate the new provider_details_history table in the upgrade
script)

in dao_update_provider_details bump the provider_details.version by 1
and then duplicate into the history table as a new row
(done manually as opposed to the decorator used in template_history
since this is only edited in this one place and the decorator is icky)
2016-12-19 17:13:10 +00:00
Leo Hemsted
a197754906 add new provider_details_history table
* to be used for auditing changes to provider details
* not hooked in yet
* also made provider_details.active non-nullable. set all existing null
  provider_details.active to FALSE. none are set false on live so
  should hopefully be fairly uncontroversial
* refactored NotificationHistory.from_notification and update from noti
  to share with provider_details_history
2016-12-19 17:13:10 +00:00
Rebecca Law
bc434f1736 Create new column in notifications and notification_history to store the client_reference because I remembered that reference is used for email providers. 2016-11-17 13:42:34 +00:00
Chris Hill-Scott
35e1e06db4 Fix conflicting migration versions
Two different versions of 0059 were merged.

`0059_set_services_to_active` was merged first, so this renames my
migration to `0060`, so it goes in afterwards.
2016-11-11 16:30:05 +00:00
Chris Hill-Scott
7ada78a0b6 Merge pull request #731 from alphagov/letter-templates-db
Add letter to possible template types in DB
2016-11-11 17:13:33 +01:00
Chris Hill-Scott
6501a871bc Add letter to possible template types in DB
A letter type was added to the `enum` in the `Template` model at the
same it was added to the `Notification` model. But the migration was
only done for the `notifications` table, not the `templates` table.

See: https://github.com/alphagov/notifications-api/commit/25db1bce#diff-516aab258e161fc65e7564dabd2c625aR19

This commit does the migration to add `letter` as a possible value for
the `template_type` column, which is a bit fiddly because `enum`s.

Before:
```
notification_api=# select enum_range(null::template_type);
 enum_range
-------------
 {sms,email}
(1 row)
```

After upgrade:
```
notification_api=# select enum_range(null::template_type);
     enum_range
--------------------
 {sms,email,letter}
(1 row)
```

After downgrade
```
notification_api=# select enum_range(null::template_type);
 enum_range
-------------
 {sms,email}
(1 row)
```
2016-11-11 10:41:09 +00:00
Leo Hemsted
da2fa5b4bc move sqlalchemy defaults from booleans to SQL constructs
booleans aren't actually allowed, and quietly do nothing

also default Services.active to true
2016-11-08 17:10:28 +00:00
Leo Hemsted
a45c62d41d add can_send_letters flag to services
defaults to false
2016-10-26 13:01:40 +01:00
Rebecca Law
c17f0b9b91 Confirm new email address template.
Creation of a new template for the GOV.UK Notify service to send to users to confirm the change of their email address.
2016-10-11 13:28:46 +01:00
Rebecca Law
6f83258004 Update Template.version and TemplateHistory.version nullable=False to match the db 2016-10-04 10:47:34 +01:00
Rebecca Law
81a390f9c3 There are differences in the models to the database, this script
gets the database up to speed with the models.
2016-10-04 10:00:00 +01:00
Imdad Ahad
005e8a9c3a Change data model to use single recipient address and type columns 2016-09-27 13:43:42 +01:00
Leo Hemsted
3d0df9b5a7 add new service whitelist table
services can have a whitelist of phone numbers and email addresses that they
can send to in addition to team members when in trial mode. email_address
and mobile_number are nullable and app level checks will be in place to
prevent inserting blank rows. they have a created_at date so that we can
[potentially] delete them a week later to avoid keeping personally identifying
data any longer than necessary
2016-09-22 10:32:32 +01:00
Martyn Inglis
5f72034577 Renamed and fixed the migration script to be in sequence 2016-09-08 16:12:15 +01:00
Martyn Inglis
e099edae51 Merge branch 'master' into drop-status-column 2016-09-08 16:11:18 +01:00
Chris Hill-Scott
1bf37888dd Fix mis-matched database migrations
The cancelled job migration originally went in as version `0051`.

But `0051_set_job_status` went in first in
e3fa8bffd7

This meant that Alembic couldn’t work out what order to run the
migrations in, and blew up.

This commit puts the scheduled job migration after all others.
2016-09-06 13:07:20 +01:00
Chris Hill-Scott
be9fd96d03 Merge pull request #656 from alphagov/add-cancel-job-endpoint
Add an endpoint to cancel a job
2016-09-06 12:11:32 +01:00
Martyn Inglis
cf3ca764c5 Drop the status column 2016-09-05 16:16:32 +01:00
Martyn Inglis
22844d1bf2 Changed 0052 to not drop the column, rather set it to allow nulls.
This allows existing code to run.
2016-09-05 13:22:45 +01:00
Chris Hill-Scott
4a7267be8b Add an endpoint to cancel a job
If you schedule a job you might change your mind or circumstances might
change. So you need to be able to cancel it. This commit adds a `POST`
endpoint for individual jobs which sets their status to `cancelled`.

This also means adding a new status of `cancelled`, so there’s a
migration…
2016-09-02 12:27:02 +01:00
Rebecca Law
e3fa8bffd7 Fix merge conflicts in tests.
Update new migrations scripts to fix conflict in with script names.
2016-09-02 12:01:38 +01:00
Rebecca Law
8f3e8181fe Merge branch 'master' into scheduled-delivery-of-jobs-cleanup
Conflicts:
	tests/app/job/test_rest.py
2016-09-02 11:03:21 +01:00
Martyn Inglis
ab5ff64dd0 Indexes to improves stats for service query 2016-08-31 16:24:18 +01:00