Adam Shimali
a6a18c1a6f
This approach uses part of sqlalchemy example history_meta code
...
adapted to recording inserts and updates.
This removes need to manually create history tables.
Our code still remains in control of when history records are
created.
2016-04-19 17:13:26 +01:00
Nicholas Staples
f681d40366
Character count added and tests passing.
...
Remove sql restriction for count to not be null.
2016-04-15 16:31:13 +01:00
Rebecca Law
cf883ed339
Merge pull request #217 from alphagov/update_uuid_all_db_models
...
Update uuid all db models
2016-04-13 11:59:40 +01:00
Chris Hill-Scott
29b9e50952
Order templates by last updated date
...
The template you want to send/edit is probably one of the ones you
recently sent from or edited.
https://www.pivotaltracker.com/story/show/117159263
2016-04-11 17:39:49 +01:00
Nicholas Staples
90f0505a3d
Update limit to message_limit.
...
Further db changes and updates.
Remove traceback print out.
Fix bug in passing template id to a task.
2016-04-11 16:53:40 +01:00
Nicholas Staples
c4b316bde6
Rebased migrations, all tests working.
2016-04-08 13:34:54 +01:00
Nicholas Staples
143d1b0db8
Updated to retrieve csv upload from new bucket.
...
Fix test errors.
2016-04-07 14:10:30 +01:00
Adam Shimali
4ed2e7f8f2
Fix for misunderstanding about date range required for templates
...
stats.
It should always be last n days, whether or not there is data.
2016-04-07 09:30:02 +01:00
Adam Shimali
3057641e40
Change sort order for templates from name to date using full timestamp
...
so that it would be most recently used at top.
2016-04-06 14:30:13 +01:00
Nicholas Staples
4d15409781
Successful notifications are deleted after a week now. All tests passing.
2016-04-05 11:07:21 +01:00
Adam Shimali
f6620792b5
Additional sort order by template name for template statistics.
2016-04-04 17:51:24 +01:00
Adam Shimali
0d06be05e1
[WIP] Added dao method and rest endpoint for getting template
...
statistics by service.
Some cosmetic changes to imports.
Added fix for job rest not correctly returning errors.
2016-04-04 14:38:54 +01:00
Rebecca Law
ec180980ee
Merge branch 'master' into remove_email_safe
2016-04-01 13:45:21 +01:00
Rebecca Law
8df4919029
The admin app now sends the email from when creating a service and when updating the service name.
...
This PR removes the need for the email_safe function. The api does not create the email_from field for the service.
Tests were updated to reflect this change.
2016-03-31 17:46:18 +01:00
Adam Shimali
0d0cfbb6ac
Better test for failed update of stats
2016-03-31 17:20:57 +01:00
Adam Shimali
efc382f18b
Added test to verify a number of notications followed by a failure does
...
not increment stats counts.
2016-03-31 16:53:47 +01:00
Adam Shimali
ca9c886c3e
[WIP] On create of notification. Upsert record for template stats
...
recording usages of template by day.
2016-03-31 15:57:50 +01:00
Martyn Inglis
e0316d1881
Adds notification stats update into the callback process
...
- when a provider callback occurs and we update the status of the notification, also update the statistics table
Adds:
- Mapping object to the clients to handle mapping to various states from the response codes, this replaces the map.
- query lookup in the DAO to get the query based on response type / template type
Tests around rest class and dao to check correct updating of stats
Missing:
- multiple client callbacks will keep incrementing the counts of success/failure. This edge case needs to be handle in a future story.
2016-03-21 13:24:37 +00:00
Martyn Inglis
86579fba71
Merge branch 'master' into capture-delivery-outcomes
2016-03-18 15:35:51 +00:00
Rebecca Law
bd26c4740c
Merge branch 'master' into default-stats-to-zero
2016-03-17 11:40:49 +00:00
Rebecca Law
b7f65feadd
Set default to 0 for the notification_statistics table.
2016-03-17 11:32:55 +00:00
Rebecca Law
bd2d77fec8
Add platform_admin boolean on the User data model.
2016-03-17 10:37:24 +00:00
Martyn Inglis
69654f4209
Parking some code that updates stats when notification delivery happens
2016-03-15 14:40:42 +00:00
Martyn Inglis
35b2ec513b
Fixed pep8
2016-03-14 16:37:51 +00:00
Martyn Inglis
b88b0499b9
Order jobs on dashboard page
2016-03-14 16:31:57 +00:00
Martyn Inglis
beb6f7ca57
Order jobs by service
...
- newest first
2016-03-14 16:15:39 +00:00
Martyn Inglis
1ff4ebad5c
Merge branch 'master' into client-callbacks
...
Conflicts:
app/notifications/rest.py
tests/app/celery/test_tasks.py
2016-03-14 11:45:21 +00:00
Rebecca Law
123b0ead3a
Replaced first queries with one queries, which throws a NoResultFound.
...
Able to remove many of the None checks as a result of this.
Fixed the tests were needed.
2016-03-11 15:34:20 +00:00
Rebecca Law
e055590b07
Changed db queries to use one, which throws NoResultFound exception, this exception is dealt with in our error handlers.
...
Now a lot of the if none checks can be removed.
2016-03-11 12:39:55 +00:00
Martyn Inglis
62a7b8bcd0
Update notification status by message reference
...
- SES sends a reference to allow us to identify the notification
- use this to update status
If source of email is one of our internal emails (invites or validations) - don't try and update a notification.
2016-03-11 10:19:40 +00:00
Martyn Inglis
901d04605f
Ad a reference to the model
...
- used if 3rd party needs to record an ID for reconciliation purposes
2016-03-11 09:40:35 +00:00
Martyn Inglis
f88f86a924
Endpoint to allow SES updates to occur
...
- update notification with delivery state
2016-03-10 17:29:17 +00:00
Martyn Inglis
fd7eb54d10
Merge branch 'master' into delete-expired-things
...
Conflicts:
app/celery/tasks.py
tests/app/celery/test_tasks.py
tests/app/dao/test_notification_dao.py
2016-03-10 09:48:29 +00:00
Martyn Inglis
976a4c06e3
Renamed some files and fixed a bug on deleting the failed notifications
2016-03-10 09:34:27 +00:00
Martyn Inglis
c8a5366484
Scheduled tasks to clean up the database
...
- tasks run hourly
- uses celery beat to schedule the tasks
4 new tasks
- delete verify codes (after 1 day)
- delete invitations (after 1 day)
- delete successful notifications (after 1 day)
- delete failed notifications (after 7 days)
Delete methods in the DAO classes
2016-03-09 17:46:01 +00:00
Martyn Inglis
61a0cf32c8
Ensure clients have rate limit enforced
...
- rate limiting is a hard number per day
- not limited in terms of rate of request
- limit is a single number held against the service
- every notification counts against the limit, regardless of type
- return a 429 if limit exceeded.
2016-03-09 11:06:37 +00:00
Martyn Inglis
67c4bd2263
Build rest endpoint to read service stats
...
- get stats by service id
- returns a list of stats objects
Not paginated - have 1 row per day.
2016-03-08 16:34:03 +00:00
Martyn Inglis
f5f50e00ff
New notification stats table
...
- to capture the counts of things that we do
- initial commit captures when we create an email or sms
DOES NOT know about ultimate success only that we asked our partners to ship the notification
Requires some updates when we retry sending in event of error.
2016-03-08 15:23:19 +00:00
Martyn Inglis
ae395b490e
Fixed bug where I forgot to update only the right job :-(
2016-03-04 15:54:43 +00:00
Martyn Inglis
c44aaf0fdc
Capture the count of sent notifications for a job
2016-03-04 14:25:28 +00:00
Rebecca Law
a2b1dc0432
Merge pull request #115 from alphagov/accept-invite
...
[WIP] Start of api for accepting invite.
2016-03-01 15:57:52 +00:00
Adam Shimali
9fe08d480c
Merge pull request #114 from alphagov/cancel-invited-user
...
New endpoint to update invited user.
2016-03-01 15:17:03 +00:00
Adam Shimali
3b66745677
[WIP] Start of api for accepting invite.
2016-03-01 14:13:38 +00:00
Rebecca Law
98c9ba14f7
New endpoint to update invited user.
...
Can be used to update status on invited user.
2016-03-01 13:33:20 +00:00
Martyn Inglis
c5a993ead1
Fetch endpoints for notifications
...
- includes check on token type to ensure clients can perform admin style fetches
2016-03-01 13:30:10 +00:00
Adam Shimali
59aec1939c
[WIP] invited user now has comma separated permission values
...
stored against it so that user can be created with correct
permissions.
2016-02-29 14:05:02 +00:00
Martyn Inglis
b213c3fa3c
Merge branch 'master' into celery-jobs
...
Conflicts:
tests/app/conftest.py
2016-02-25 15:10:39 +00:00
Adam Shimali
99c9cd608c
[WIP] changed dao query to use .first and return specific not found
...
error message from rest view method.
2016-02-25 12:13:25 +00:00
Martyn Inglis
a3a9d673a6
Merge branch 'master' into celery-jobs
2016-02-25 12:06:53 +00:00
Adam Shimali
883ad02c25
[WIP] added dao and rest endpoint for retrieving invited users
...
by service and by id.
2016-02-25 11:22:36 +00:00