Add dao to delete inbound sms after seven days

This commit is contained in:
Imdad Ahad
2017-06-02 12:21:12 +01:00
parent 449c47c227
commit 0631b6c988
4 changed files with 70 additions and 15 deletions

View File

@@ -1,6 +1,13 @@
from datetime import (
timedelta,
datetime
)
from app import db
from app.dao.dao_utils import transactional
from app.models import InboundSms
from app.statsd_decorators import statsd
@transactional
@@ -28,3 +35,15 @@ def dao_count_inbound_sms_for_service(service_id):
return InboundSms.query.filter(
InboundSms.service_id == service_id
).count()
@statsd(namespace="dao")
@transactional
def delete_inbound_sms_created_more_than_a_week_ago():
seven_days_ago = datetime.utcnow() - timedelta(days=7)
deleted = db.session.query(InboundSms).filter(
InboundSms.created_at < seven_days_ago
).delete(synchronize_session='fetch')
return deleted

View File

@@ -2,7 +2,8 @@ import functools
from datetime import (
datetime,
timedelta,
date)
date
)
from flask import current_app
@@ -26,6 +27,7 @@ from app.models import (
NotificationHistory,
NotificationStatistics,
Template,
ScheduledNotification,
NOTIFICATION_CREATED,
NOTIFICATION_DELIVERED,
NOTIFICATION_SENDING,
@@ -35,7 +37,8 @@ from app.models import (
NOTIFICATION_PERMANENT_FAILURE,
KEY_TYPE_NORMAL, KEY_TYPE_TEST,
LETTER_TYPE,
NOTIFICATION_SENT, ScheduledNotification)
NOTIFICATION_SENT,
)
from app.dao.dao_utils import transactional
from app.statsd_decorators import statsd