diff --git a/admin/app/services/fdd/emailmessageanalysis.service.js b/admin/app/services/fdd/emailmessageanalysis.service.js index 3f81cb6e..be0a6ab9 100644 --- a/admin/app/services/fdd/emailmessageanalysis.service.js +++ b/admin/app/services/fdd/emailmessageanalysis.service.js @@ -3,7 +3,7 @@ app.factory('EmailMessageAnalysisService', function($http) { return { getAnalysisResult: function(query, headers, callback) { - $http.get(getAPI()+"emailmessages", { params: {startdatetime: query.startdatetime, enddatetime: query.enddatetime}} , {headers}) + $http.get(getAPI()+"emailmessages?" + 'startdatetime=' + query.startdatetime + '&enddatetime=' + query.enddatetime, {headers}) .then(function (response) { callback(response); }, function (response) { diff --git a/myems-api/core/emailmessage.py b/myems-api/core/emailmessage.py index 07e5830f..a34ab3d8 100644 --- a/myems-api/core/emailmessage.py +++ b/myems-api/core/emailmessage.py @@ -13,38 +13,46 @@ class EmailMessageCollection: pass @staticmethod - def on_options(req, resp, startdate, enddate): + def on_options(req, resp): resp.status = falcon.HTTP_200 @staticmethod def on_get(req, resp): access_control(req) print(req.params) - startdate = req.params.get('startdatetime') - enddate = req.params.get('enddatetime') - try: - start_datetime_local = datetime.strptime(startdate, '%Y-%m-%d') - except Exception: - raise falcon.HTTPError(falcon.HTTP_400, - title='API.BAD_REQUEST', - description='API.INVALID_START_DATE_FORMAT') - try: - end_datetime_local = datetime.strptime(enddate, '%Y-%m-%d') - except Exception: - raise falcon.HTTPError(falcon.HTTP_400, - title='API.BAD_REQUEST', - description='API.INVALID_END_DATE_FORMAT') + start_datetime_local = req.params.get('startdatetime') + end_datetime_local = req.params.get('enddatetime') timezone_offset = int(config.utc_offset[1:3]) * 60 + int(config.utc_offset[4:6]) if config.utc_offset[0] == '-': timezone_offset = -timezone_offset - start_datetime_utc = start_datetime_local.replace(tzinfo=timezone.utc) - start_datetime_utc -= timedelta(minutes=timezone_offset) + if start_datetime_local is None: + raise falcon.HTTPError(falcon.HTTP_400, title='API.BAD_REQUEST', + description="API.INVALID_START_DATE_FORMAT") + else: + start_datetime_local = str.strip(start_datetime_local) + try: + start_datetime_utc = datetime.strptime(start_datetime_local, + '%Y-%m-%d').replace(tzinfo=timezone.utc) - \ + timedelta(minutes=timezone_offset) + except ValueError: + raise falcon.HTTPError(falcon.HTTP_400, title='API.BAD_REQUEST', + description="API.INVALID_START_DATE_FORMAT") - end_datetime_utc = end_datetime_local.replace(tzinfo=timezone.utc) - end_datetime_utc -= timedelta(minutes=timezone_offset) - end_datetime_utc += timedelta(days=1) + if end_datetime_local is None: + raise falcon.HTTPError(falcon.HTTP_400, title='API.BAD_REQUEST', + description="API.INVALID_END_DATE_FORMAT") + else: + end_datetime_local = str.strip(end_datetime_local) + try: + end_datetime_utc = datetime.strptime(end_datetime_local, + '%Y-%m-%d').replace(tzinfo=timezone.utc) - \ + timedelta(minutes=timezone_offset) + end_datetime_utc += timedelta(days=1) + except ValueError: + raise falcon.HTTPError(falcon.HTTP_400, title='API.BAD_REQUEST', + description="API.INVALID_END_DATE_FORMAT") if start_datetime_utc >= end_datetime_utc: raise falcon.HTTPError(falcon.HTTP_400,