mirror of
https://github.com/GSA/notifications-api.git
synced 2026-02-05 02:41:14 -05:00
combine post + get inbound, and make them respect data retention
also removed the limit/limit_days args as they're not used by admin
This commit is contained in:
@@ -4,6 +4,5 @@ get_inbound_sms_for_service_schema = {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"phone_number": {"type": "string"},
|
||||
"limit": {"type": ["integer", "null"], "minimum": 1}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,25 +30,23 @@ register_errors(inbound_sms)
|
||||
@inbound_sms.route('', methods=['POST'])
|
||||
def post_query_inbound_sms_for_service(service_id):
|
||||
form = validate(request.get_json(), get_inbound_sms_for_service_schema)
|
||||
if 'phone_number' in form:
|
||||
# we use this to normalise to an international phone number - but this may fail if it's an alphanumeric
|
||||
user_number = try_validate_and_format_phone_number(form['phone_number'], international=True)
|
||||
else:
|
||||
user_number = None
|
||||
results = dao_get_inbound_sms_for_service(service_id, form.get('limit'), user_number)
|
||||
|
||||
return jsonify(data=[row.serialize() for row in results])
|
||||
return _get_inbound_sms(service_id, user_number=form.get('phone_number'))
|
||||
|
||||
|
||||
@inbound_sms.route('', methods=['GET'])
|
||||
def get_inbound_sms_for_service(service_id):
|
||||
user_number = request.args.get('user_number')
|
||||
return _get_inbound_sms(service_id, user_number=request.args.get('user_number'))
|
||||
|
||||
|
||||
def _get_inbound_sms(service_id, user_number):
|
||||
if user_number:
|
||||
# we use this to normalise to an international phone number - but this may fail if it's an alphanumeric
|
||||
user_number = try_validate_and_format_phone_number(user_number, international=True)
|
||||
|
||||
results = dao_get_inbound_sms_for_service(service_id, user_number=user_number)
|
||||
inbound_data_retention = fetch_service_data_retention_by_notification_type(service_id, 'sms')
|
||||
limit_days = inbound_data_retention.days_of_retention if inbound_data_retention else 7
|
||||
|
||||
results = dao_get_inbound_sms_for_service(service_id, user_number=user_number, limit_days=limit_days)
|
||||
return jsonify(data=[row.serialize() for row in results])
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user