mirror of
https://github.com/GSA/notifications-api.git
synced 2025-12-10 15:22:24 -05:00
use dates rather than datetimes when comparing with bst_date
bst_date is a date field. Comparing dates with datetimes in postgres gets confusing and dangerous. See this example, where a date evaluates as older than midnight that same day. ``` notification_api=# select '2019-04-01' >= '2019-04-01 00:00'; ?column? ---------- f (1 row) ``` By only using dates everywhere, we reduce the chance of these bugs happening
This commit is contained in:
@@ -50,15 +50,15 @@ def validate_date_range_is_within_a_financial_year(start_date, end_date):
|
||||
if start_fy != end_fy:
|
||||
raise InvalidRequest(message="Date must be in a single financial year.", status_code=400)
|
||||
|
||||
return start_date, end_date
|
||||
|
||||
|
||||
@platform_stats_blueprint.route('usage-for-all-services')
|
||||
def get_usage_for_all_services():
|
||||
start_date = request.args.get('start_date')
|
||||
end_date = request.args.get('end_date')
|
||||
|
||||
validate_date_range_is_within_a_financial_year(start_date, end_date)
|
||||
start_date = datetime.strptime(start_date, "%Y-%m-%d")
|
||||
end_date = datetime.strptime(end_date, "%Y-%m-%d")
|
||||
start_date, end_date = validate_date_range_is_within_a_financial_year(start_date, end_date)
|
||||
|
||||
sms_costs = fetch_sms_billing_for_all_services(start_date, end_date)
|
||||
letter_costs = fetch_letter_costs_for_all_services(start_date, end_date)
|
||||
|
||||
Reference in New Issue
Block a user