diff --git a/admin/app/config.router.js b/admin/app/config.router.js index 4aa78934..b71ca90e 100644 --- a/admin/app/config.router.js +++ b/admin/app/config.router.js @@ -49,7 +49,7 @@ app serie: true, files: [ 'app/services/login/login.service.js', - 'app/services/fdd/webmessageanalysis.service.js', + 'app/services/fdd/webmessage.service.js', 'app/services/users/user/user.service.js', 'app/controllers/users/user/user.controller.js', 'app/controllers/login/login.controller.js' @@ -141,7 +141,7 @@ app }, { serie: true, files: [ - 'app/services/fdd/textmessageanalysis.service.js', + 'app/services/fdd/textmessage.service.js', 'app/controllers/fdd/textmessage/textmessage.controller.js', 'app/controllers/fdd/textmessage/textmessagemaster.controller.js', 'app/controllers/fdd/textmessage/textmessageoption.controller.js' @@ -185,7 +185,7 @@ app }, { serie: true, files: [ - 'app/services/fdd/emailmessageanalysis.service.js', + 'app/services/fdd/emailmessage.service.js', 'app/controllers/fdd/emailmessage/emailmessage.controller.js', 'app/controllers/fdd/emailmessage/emailmessagemaster.controller.js', 'app/controllers/fdd/emailmessage/emailmessageoption.controller.js' @@ -229,7 +229,7 @@ app }, { serie: true, files: [ - 'app/services/fdd/webmessageanalysis.service.js', + 'app/services/fdd/webmessage.service.js', 'app/controllers/fdd/webmessage/webmessage.controller.js', 'app/controllers/fdd/webmessage/webmessagemaster.controller.js', 'app/controllers/fdd/webmessage/webmessageoption.controller.js' @@ -273,7 +273,7 @@ app }, { serie: true, files: [ - 'app/services/fdd/wechatmessageanalysis.service.js', + 'app/services/fdd/wechatmessage.service.js', 'app/controllers/fdd/wechatmessage/wechatmessage.controller.js', 'app/controllers/fdd/wechatmessage/wechatmessagemaster.controller.js', 'app/controllers/fdd/wechatmessage/wechatmessageoption.controller.js' @@ -299,7 +299,7 @@ app serie: true, files: [ 'app/services/login/login.service.js', - 'app/services/fdd/webmessageanalysis.service.js', + 'app/services/fdd/webmessage.service.js', 'app/services/users/user/user.service.js', 'app/controllers/users/user/user.controller.js', 'app/controllers/login/login.controller.js' @@ -1108,7 +1108,7 @@ app serie: true, files: [ 'app/services/login/login.service.js', - 'app/services/fdd/webmessageanalysis.service.js', + 'app/services/fdd/webmessage.service.js', 'app/services/users/user/user.service.js', 'app/controllers/users/user/user.controller.js', 'app/controllers/login/login.controller.js' @@ -1213,7 +1213,7 @@ app serie: true, files: [ 'app/services/login/login.service.js', - 'app/services/fdd/webmessageanalysis.service.js', + 'app/services/fdd/webmessage.service.js', 'app/services/users/user/user.service.js', 'app/controllers/users/user/user.controller.js', 'app/controllers/login/login.controller.js' diff --git a/admin/app/controllers/fdd/emailmessage/emailmessage.controller.js b/admin/app/controllers/fdd/emailmessage/emailmessage.controller.js index d7130749..102de47e 100644 --- a/admin/app/controllers/fdd/emailmessage/emailmessage.controller.js +++ b/admin/app/controllers/fdd/emailmessage/emailmessage.controller.js @@ -5,7 +5,7 @@ app.controller('EmailMessageController', function( $window, $timeout, $translate, - EmailMessageAnalysisService, + EmailMessageService, toaster, SweetAlert) { $scope.cur_user = JSON.parse($window.localStorage.getItem("myems_admin_ui_current_user")); @@ -40,7 +40,7 @@ app.controller('EmailMessageController', function( function(isConfirm) { if (isConfirm) { let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token }; - EmailMessageAnalysisService.deleteEmailMessage(emailmessage, headers, function(response) { + EmailMessageService.deleteEmailMessage(emailmessage, headers, function(response) { if (angular.isDefined(response.status) && response.status === 204) { toaster.pop({ type: "success", diff --git a/admin/app/controllers/fdd/emailmessage/emailmessageoption.controller.js b/admin/app/controllers/fdd/emailmessage/emailmessageoption.controller.js index 970be75a..b5d12b1a 100644 --- a/admin/app/controllers/fdd/emailmessage/emailmessageoption.controller.js +++ b/admin/app/controllers/fdd/emailmessage/emailmessageoption.controller.js @@ -4,7 +4,7 @@ app.controller('EmailMessageOptionController', function( $scope, $window, $timeout, - EmailMessageAnalysisService) { + EmailMessageService) { $scope.cur_user = JSON.parse($window.localStorage.getItem("myems_admin_ui_current_user")); $scope.daterange = { startDate: moment().subtract(7,'days'), @@ -41,7 +41,7 @@ app.controller('EmailMessageOptionController', function( period:$scope.currentPeriod }); let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token }; - EmailMessageAnalysisService.getAnalysisResult(query, headers, function(response) { + EmailMessageService.getResult(query, headers, function(response) { if (angular.isDefined(response.status) && response.status === 200) { $scope.$emit('handleEmitEmailMessageOptionChanged', response.data); } diff --git a/admin/app/controllers/fdd/textmessage/textmessage.controller.js b/admin/app/controllers/fdd/textmessage/textmessage.controller.js index f46cf8a1..815334fa 100644 --- a/admin/app/controllers/fdd/textmessage/textmessage.controller.js +++ b/admin/app/controllers/fdd/textmessage/textmessage.controller.js @@ -5,7 +5,7 @@ app.controller('TextMessageController', function( $window, $timeout, $translate, - TextMessageAnalysisService, + TextMessageService, SweetAlert, toaster) { $scope.cur_user = JSON.parse($window.localStorage.getItem("myems_admin_ui_current_user")); @@ -39,7 +39,7 @@ app.controller('TextMessageController', function( function(isConfirm) { if (isConfirm) { let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token }; - TextMessageAnalysisService.deleteTextMessage(textmessage, headers, function (response) { + TextMessageService.deleteTextMessage(textmessage, headers, function (response) { if (angular.isDefined(response.status) && response.status === 204) { toaster.pop({ type: "success", diff --git a/admin/app/controllers/fdd/textmessage/textmessageoption.controller.js b/admin/app/controllers/fdd/textmessage/textmessageoption.controller.js index b8ccef3a..8c6deaeb 100644 --- a/admin/app/controllers/fdd/textmessage/textmessageoption.controller.js +++ b/admin/app/controllers/fdd/textmessage/textmessageoption.controller.js @@ -4,7 +4,7 @@ app.controller('TextMessageOptionController', function( $scope, $window, $timeout, - TextMessageAnalysisService) { + TextMessageService) { $scope.cur_user = JSON.parse($window.localStorage.getItem("myems_admin_ui_current_user")); $scope.daterange = { startDate: moment().subtract(7,'days'), @@ -30,17 +30,18 @@ app.controller('TextMessageOptionController', function( }; $scope.execute = function() { - var datestart,dateend; + var startdatetime, enddatetime; var query = { - datestart: $scope.daterange.startDate.format().slice(0, 10), - dateend: $scope.daterange.endDate.format().slice(0, 10) + startdatetime: $scope.daterange.startDate.format().slice(0, 19), + enddatetime: $scope.daterange.endDate.format().slice(0, 19) }; $scope.$emit('handleEmitTextMessageOptionChanged', { load: true, period:$scope.currentPeriod }); + console.log(query) let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token }; - TextMessageAnalysisService.getAnalysisResult(query, headers, function (response) { + TextMessageService.getResult(query, headers, function (response) { if (angular.isDefined(response.status) && response.status === 200) { $scope.$emit('handleEmitTextMessageOptionChanged', response.data); } diff --git a/admin/app/controllers/fdd/webmessage/webmessage.controller.js b/admin/app/controllers/fdd/webmessage/webmessage.controller.js index fe7a729f..51a31096 100644 --- a/admin/app/controllers/fdd/webmessage/webmessage.controller.js +++ b/admin/app/controllers/fdd/webmessage/webmessage.controller.js @@ -6,7 +6,7 @@ app.controller('WebMessageController', function( $timeout, $translate, $uibModal, - WebMessageAnalysisService, + WebMessageService, toaster, SweetAlert) { $scope.cur_user = JSON.parse($window.localStorage.getItem("myems_admin_ui_current_user")); @@ -42,7 +42,7 @@ app.controller('WebMessageController', function( modalInstance.result.then(function(modifiedWebmessage) { modifiedWebmessage.status = "acknowledged"; let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token }; - WebMessageAnalysisService.editWebMessage(modifiedWebmessage, headers, function (response) { + WebMessageService.editWebMessage(modifiedWebmessage, headers, function (response) { if (angular.isDefined(response.status) && response.status === 200) { toaster.pop({ type: "success", @@ -81,7 +81,7 @@ app.controller('WebMessageController', function( function(isConfirm) { if (isConfirm) { let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token }; - WebMessageAnalysisService.deleteWebMessage(webmessage, headers, function (response) { + WebMessageService.deleteWebMessage(webmessage, headers, function (response) { if (angular.isDefined(response.status) && response.status === 204) { toaster.pop({ type: "success", diff --git a/admin/app/controllers/fdd/webmessage/webmessageoption.controller.js b/admin/app/controllers/fdd/webmessage/webmessageoption.controller.js index 9d76829c..cf6e63d7 100644 --- a/admin/app/controllers/fdd/webmessage/webmessageoption.controller.js +++ b/admin/app/controllers/fdd/webmessage/webmessageoption.controller.js @@ -4,7 +4,7 @@ app.controller('WebMessageOptionController', function( $scope, $window, $timeout, - WebMessageAnalysisService) { + WebMessageService) { $scope.cur_user = JSON.parse($window.localStorage.getItem("myems_admin_ui_current_user")); $scope.daterange = { startDate: moment().subtract(7,'days'), @@ -30,19 +30,21 @@ app.controller('WebMessageOptionController', function( }; $scope.execute = function() { + var startdatetime, enddatetime; var query = { - datestart: $scope.daterange.startDate.format().slice(0, 10), - dateend: $scope.daterange.endDate.format().slice(0, 10) + startdatetime: $scope.daterange.startDate.format().slice(0, 19), + enddatetime: $scope.daterange.endDate.format().slice(0, 19) }; $scope.$emit('handleEmitWebMessageOptionChanged', { load: true, period:$scope.currentPeriod }); + console.log(query) let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token }; - WebMessageAnalysisService.getAnalysisResult(query, headers, function (response) { - if (angular.isDefined(response.status) && response.status === 200) { - $scope.$emit('handleEmitWebMessageOptionChanged', response.data); - } + WebMessageService.getResult(query, headers, function (response) { + if (angular.isDefined(response.status) && response.status === 200) { + $scope.$emit('handleEmitWebMessageOptionChanged', response.data); + } }); }; diff --git a/admin/app/controllers/fdd/wechatmessage/wechatmessage.controller.js b/admin/app/controllers/fdd/wechatmessage/wechatmessage.controller.js index af330bea..70a787ec 100644 --- a/admin/app/controllers/fdd/wechatmessage/wechatmessage.controller.js +++ b/admin/app/controllers/fdd/wechatmessage/wechatmessage.controller.js @@ -5,7 +5,7 @@ app.controller('WechatMessageController', function( $window, $timeout, $translate, - WechatMessageAnalysisService, + WechatMessageService, toaster, SweetAlert) { $scope.cur_user = JSON.parse($window.localStorage.getItem("myems_admin_ui_current_user")); @@ -39,7 +39,7 @@ app.controller('WechatMessageController', function( function(isConfirm) { if (isConfirm) { let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token }; - WechatMessageAnalysisService.deleteWechatMessage(wechatmessage, headers, function (response) { + WechatMessageService.deleteWechatMessage(wechatmessage, headers, function (response) { if (angular.isDefined(response.status) && response.status === 204) { toaster.pop({ type: "success", diff --git a/admin/app/controllers/fdd/wechatmessage/wechatmessageoption.controller.js b/admin/app/controllers/fdd/wechatmessage/wechatmessageoption.controller.js index 68944dd4..fd8a7624 100644 --- a/admin/app/controllers/fdd/wechatmessage/wechatmessageoption.controller.js +++ b/admin/app/controllers/fdd/wechatmessage/wechatmessageoption.controller.js @@ -4,7 +4,7 @@ app.controller('WechatMessageOptionController', function( $scope, $window, $timeout, - WechatMessageAnalysisService) { + WechatMessageService) { $scope.cur_user = JSON.parse($window.localStorage.getItem("myems_admin_ui_current_user")); $scope.daterange = { startDate: moment().subtract(7,'days'), @@ -30,16 +30,18 @@ app.controller('WechatMessageOptionController', function( }; $scope.execute = function() { + var startdatetime, enddatetime; var query = { - datestart: $scope.daterange.startDate.format().slice(0, 10), - dateend: $scope.daterange.endDate.format().slice(0, 10) + startdatetime: $scope.daterange.startDate.format().slice(0, 19), + enddatetime: $scope.daterange.endDate.format().slice(0, 19) }; $scope.$emit('handleEmitWechatMessageOptionChanged', { load: true, period:$scope.currentPeriod }); + console.log(query) let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token }; - WechatMessageAnalysisService.getAnalysisResult(query, headers, function (response) { + WechatMessageService.getResult(query, headers, function (response) { if (angular.isDefined(response.status) && response.status === 200) { $scope.$emit('handleEmitWechatMessageOptionChanged', response.data); } diff --git a/admin/app/controllers/login/login.controller.js b/admin/app/controllers/login/login.controller.js index e8e3670a..b02bc78e 100644 --- a/admin/app/controllers/login/login.controller.js +++ b/admin/app/controllers/login/login.controller.js @@ -10,7 +10,7 @@ app.controller('LoginController', function ( $interval, LoginService, UserService, - WebMessageAnalysisService, + WebMessageService, toaster) { $scope.dataLoading = false; @@ -202,7 +202,7 @@ app.controller('LoginController', function ( $scope.getWebMessage = function () { if ($scope.cur_user != null && $scope.cur_user.uuid != null && $scope.cur_user.token != null) { let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token }; - WebMessageAnalysisService.getStatusNewResult(headers, function (response) { + WebMessageService.getStatusNewResult(headers, function (response) { if (angular.isDefined(response.status) && response.status === 200) { $scope.webmessages = response.data; } diff --git a/admin/app/services/fdd/emailmessageanalysis.service.js b/admin/app/services/fdd/emailmessage.service.js similarity index 84% rename from admin/app/services/fdd/emailmessageanalysis.service.js rename to admin/app/services/fdd/emailmessage.service.js index be0a6ab9..227c8d7b 100644 --- a/admin/app/services/fdd/emailmessageanalysis.service.js +++ b/admin/app/services/fdd/emailmessage.service.js @@ -1,8 +1,7 @@ 'use strict'; -app.factory('EmailMessageAnalysisService', function($http) { +app.factory('EmailMessageService', function($http) { return { - - getAnalysisResult: function(query, headers, callback) { + getResult: function(query, headers, callback) { $http.get(getAPI()+"emailmessages?" + 'startdatetime=' + query.startdatetime + '&enddatetime=' + query.enddatetime, {headers}) .then(function (response) { callback(response); diff --git a/admin/app/services/fdd/textmessageanalysis.service.js b/admin/app/services/fdd/textmessage.service.js similarity index 68% rename from admin/app/services/fdd/textmessageanalysis.service.js rename to admin/app/services/fdd/textmessage.service.js index dbe2d8d9..cd1c8e2c 100644 --- a/admin/app/services/fdd/textmessageanalysis.service.js +++ b/admin/app/services/fdd/textmessage.service.js @@ -1,9 +1,8 @@ 'use strict'; -app.factory('TextMessageAnalysisService', function($http) { +app.factory('TextMessageService', function($http) { return { - - getAnalysisResult: function(query, headers, callback) { - $http.get(getAPI()+"textmessages"+"/from/"+query.datestart+"/to/"+query.dateend, {headers}) + getResult: function(query, headers, callback) { + $http.get(getAPI()+"textmessages?" + 'startdatetime=' + query.startdatetime + '&enddatetime=' + query.enddatetime, {headers}) .then(function (response) { callback(response); }, function (response) { diff --git a/admin/app/services/fdd/webmessageanalysis.service.js b/admin/app/services/fdd/webmessage.service.js similarity index 82% rename from admin/app/services/fdd/webmessageanalysis.service.js rename to admin/app/services/fdd/webmessage.service.js index 9fc18fcd..292d7293 100644 --- a/admin/app/services/fdd/webmessageanalysis.service.js +++ b/admin/app/services/fdd/webmessage.service.js @@ -1,9 +1,8 @@ 'use strict'; -app.factory('WebMessageAnalysisService', function($http) { +app.factory('WebMessageService', function($http) { return { - - getAnalysisResult: function(query, headers, callback) { - $http.get(getAPI()+"webmessages"+"/from/"+query.datestart+"/to/"+query.dateend, {headers}) + getResult: function(query, headers, callback) { + $http.get(getAPI()+"webmessages?" + "startdatetime=" + query.startdatetime + "&enddatetime=" + query.enddatetime, {headers}) .then(function (response) { callback(response); }, function (response) { diff --git a/admin/app/services/fdd/wechatmessageanalysis.service.js b/admin/app/services/fdd/wechatmessage.service.js similarity index 68% rename from admin/app/services/fdd/wechatmessageanalysis.service.js rename to admin/app/services/fdd/wechatmessage.service.js index 13d3be20..a70f4c62 100644 --- a/admin/app/services/fdd/wechatmessageanalysis.service.js +++ b/admin/app/services/fdd/wechatmessage.service.js @@ -1,8 +1,8 @@ 'use strict'; -app.factory('WechatMessageAnalysisService', function($http) { +app.factory('WechatMessageService', function($http) { return { - getAnalysisResult: function(query, headers, callback) { - $http.get(getAPI()+"wechatmessages"+"/from/"+query.datestart+"/to/"+query.dateend, {headers}) + getResult: function(query, headers, callback) { + $http.get(getAPI()+"wechatmessages?" + 'startdatetime=' + query.startdatetime + '&enddatetime=' + query.enddatetime, {headers}) .then(function (response) { callback(response); }, function (response) { diff --git a/myems-api/MyEMS.postman_collection.json b/myems-api/MyEMS.postman_collection.json index 07d7dacf..f30ae2db 100644 --- a/myems-api/MyEMS.postman_collection.json +++ b/myems-api/MyEMS.postman_collection.json @@ -8795,24 +8795,28 @@ }, { "key": "Token", - "value": "24bb236244f26784fb1397344d926b4871e87a90096eae926a0e448396dbd3ff4a2f70f727089f025238cb47bdbccdc877ef4a50fad8f05a4e5100c5d3eb0d3c", + "value": "9ac434f394c735092cfeb083612e533ca33ca6db4815ebb0c3ff47896d7eaa610e7dc312c04279253f817d65d1ef379378d4a5d07150faee5f6d899adb8b7ca7", "type": "text", "description": "Login to get a valid token" } ], "url": { - "raw": "{{base_url}}/textmessages/from/2021-12-01/to/2021-12-31", + "raw": "{{base_url}}/textmessages?startdatetime=2021-12-11T00:00:00&enddatetime=2021-12-21T00:00:00", "host": [ "{{base_url}}" ], "path": [ - "textmessages", - "from", - "2021-12-01", - "to", - "2021-12-31" + "textmessages" ], "query": [ + { + "key": "startdatetime", + "value": "2021-12-11T00:00:00" + }, + { + "key": "enddatetime", + "value": "2021-12-21T00:00:00" + }, { "key": null, "value": "", @@ -9035,7 +9039,7 @@ }, { "key": "Token", - "value": "6c32302cb46cae4236fe9d04ccb21f950bce593267f33dc169e700bb98ea5c3446521251a1b4078ebcbe51b4ca4ba59ac01b395e0f69ef42fa0bc36d6bd5683c", + "value": "9ac434f394c735092cfeb083612e533ca33ca6db4815ebb0c3ff47896d7eaa610e7dc312c04279253f817d65d1ef379378d4a5d07150faee5f6d899adb8b7ca7", "description": "Login to get a valid token", "type": "text" } @@ -9068,7 +9072,7 @@ }, { "key": "Token", - "value": "b422ef869a947eb8dd058f5c9464b11769db7be3232b327fb8a4edac28118df876a5d7d3ab1d8175ef81169126d01fbe3b38baa6da62edf4cbf49b2bef0ed9a7", + "value": "9ac434f394c735092cfeb083612e533ca33ca6db4815ebb0c3ff47896d7eaa610e7dc312c04279253f817d65d1ef379378d4a5d07150faee5f6d899adb8b7ca7", "description": "Login to get a valid token", "type": "text" } @@ -9532,24 +9536,28 @@ }, { "key": "Token", - "value": "24bb236244f26784fb1397344d926b4871e87a90096eae926a0e448396dbd3ff4a2f70f727089f025238cb47bdbccdc877ef4a50fad8f05a4e5100c5d3eb0d3c", + "value": "9ac434f394c735092cfeb083612e533ca33ca6db4815ebb0c3ff47896d7eaa610e7dc312c04279253f817d65d1ef379378d4a5d07150faee5f6d899adb8b7ca7", "type": "text", "description": "Login to get a valid token" } ], "url": { - "raw": "{{base_url}}/webmessages/from/2021-12-01/to/2021-12-31", + "raw": "{{base_url}}/webmessages?startdatetime=2021-12-11T00:00:00&enddatetime=2021-12-21T00:00:00", "host": [ "{{base_url}}" ], "path": [ - "webmessages", - "from", - "2021-12-01", - "to", - "2021-12-31" + "webmessages" ], "query": [ + { + "key": "startdatetime", + "value": "2021-12-11T00:00:00" + }, + { + "key": "enddatetime", + "value": "2021-12-21T00:00:00" + }, { "key": null, "value": "", @@ -9742,28 +9750,32 @@ }, { "key": "Token", - "value": "14f2bb7378e6926c20b54bd48bd8618e4d78ece1f1658c946a7257eaa97d3149ecd6407a62a39f0f3a6ef6b65f19d63894f297ad5a58d7b597a547f8b8e2898c", + "value": "9ac434f394c735092cfeb083612e533ca33ca6db4815ebb0c3ff47896d7eaa610e7dc312c04279253f817d65d1ef379378d4a5d07150faee5f6d899adb8b7ca7", "type": "text", "description": "Login to get a valid token" } ], "url": { - "raw": "{{base_url}}/wechatmessages/from/2021-12-01/to/2021-12-31", + "raw": "{{base_url}}/wechatmessages?startdatetime=2021-12-11T00:00:00&enddatetime=2021-12-21T00:00:00", "host": [ "{{base_url}}" ], "path": [ - "wechatmessages", - "from", - "2021-12-01", - "to", - "2021-12-31" + "wechatmessages" ], "query": [ { "key": null, "value": "", "disabled": true + }, + { + "key": "startdatetime", + "value": "2021-12-11T00:00:00" + }, + { + "key": "enddatetime", + "value": "2021-12-21T00:00:00" } ] } diff --git a/myems-api/README.md b/myems-api/README.md index 6de58ec1..7017e95c 100644 --- a/myems-api/README.md +++ b/myems-api/README.md @@ -506,9 +506,9 @@ Result in JSON ```bash curl -i -H "User-UUID: 793f1bb4-6e25-4242-8cdc-2f662b25484f" -H "Token: GET-TOKEN-AFTER-LOGIN" -X GET {{base_url}}/emailmessages/{id} ``` -* GET Email Messages by Datetime Range +* GET Email Messages by Datetime Range ```bash -curl -i -H "User-UUID: 793f1bb4-6e25-4242-8cdc-2f662b25484f" -H "Token: GET-TOKEN-AFTER-LOGIN" -X GET {{base_url}}/emailmessages?startdatetime=2021-10-01T00:00:00&enddatetime=2021-10-11T00:00:00 +curl -i -H "User-UUID: 793f1bb4-6e25-4242-8cdc-2f662b25484f" -H "Token: GET-TOKEN-AFTER-LOGIN" -X GET {{base_url}}/emailmessages?startdatetime={startdatetime}&enddatetime={enddatetime} ``` * DELETE an Email Message by ID ```bash @@ -1955,9 +1955,9 @@ Result in JSON ```bash curl -i -H "User-UUID: 793f1bb4-6e25-4242-8cdc-2f662b25484f" -H "Token: GET-TOKEN-AFTER-LOGIN" -X GET {{base_url}}/textmessages/{id} ``` -* GET Text Messages by Date Range +* GET Text Messages by Datetime Range ```bash -curl -i -H "User-UUID: 793f1bb4-6e25-4242-8cdc-2f662b25484f" -H "Token: GET-TOKEN-AFTER-LOGIN" -X GET {{base_url}}/textmessages/from/{startdate}/to/{enddate} +curl -i -H "User-UUID: 793f1bb4-6e25-4242-8cdc-2f662b25484f" -H "Token: GET-TOKEN-AFTER-LOGIN" -X GET {{base_url}}/textmessages?startdatetime={startdatetime}&enddatetime={enddatetime} ``` * DELETE Text Message by ID ```bash @@ -2088,9 +2088,9 @@ Result in JSON ```bash curl -i -H "User-UUID: 793f1bb4-6e25-4242-8cdc-2f662b25484f" -H "Token: GET-TOKEN-AFTER-LOGIN" -X GET {{base_url}}/webmessages/{id} ``` -* GET Web Messages from Startdate to Enddate +* GET Web Messages by Datetime Range ```bash -curl -i -H "User-UUID: 793f1bb4-6e25-4242-8cdc-2f662b25484f" -H "Token: GET-TOKEN-AFTER-LOGIN" -X GET {{base_url}}/webmessages/from/{startdate}/to/{enddate} +curl -i -H "User-UUID: 793f1bb4-6e25-4242-8cdc-2f662b25484f" -H "Token: GET-TOKEN-AFTER-LOGIN" -X GET {{base_url}}/webmessages?startdatetime={startdatetime}&enddatetime={enddatetime} ``` * GET New Web Messages ```bash @@ -2120,9 +2120,9 @@ Result in JSON ```bash curl -i -H "User-UUID: 793f1bb4-6e25-4242-8cdc-2f662b25484f" -H "Token: GET-TOKEN-AFTER-LOGIN" -X GET {{base_url}}/wechatmessages/{id} ``` -* GET Wechat Messages from Startdate to Enddate +* GET Wechat Messages by Datetime Range ```bash -curl -i -H "User-UUID: 793f1bb4-6e25-4242-8cdc-2f662b25484f" -H "Token: GET-TOKEN-AFTER-LOGIN" -X GET {{base_url}}/wechatmessages/from/{startdate}/to/{enddate} +curl -i -H "User-UUID: 793f1bb4-6e25-4242-8cdc-2f662b25484f" -H "Token: GET-TOKEN-AFTER-LOGIN" -X GET {{base_url}}/wechatmessages?startdatetime={startdatetime}&enddatetime={enddatetime} ``` * DELETE Wechat Message by ID ```bash diff --git a/myems-api/app.py b/myems-api/app.py index 4e81c2f0..7b5913b0 100644 --- a/myems-api/app.py +++ b/myems-api/app.py @@ -442,7 +442,7 @@ api.add_route('/tenanttypes', api.add_route('/tenanttypes/{id_}', tenanttype.TenantTypeItem()) -api.add_route('/textmessages/from/{startdate}/to/{enddate}', +api.add_route('/textmessages', textmessage.TextMessageCollection()) api.add_route('/textmessages/{id_}', textmessage.TextMessageItem()) @@ -472,14 +472,14 @@ api.add_route('/virtualmeters', api.add_route('/virtualmeters/{id_}', virtualmeter.VirtualMeterItem()) -api.add_route('/webmessages/from/{startdate}/to/{enddate}', +api.add_route('/webmessages', webmessage.WebMessageCollection()) api.add_route('/webmessagesnew', webmessage.WebMessageStatusNewCollection()) api.add_route('/webmessages/{id_}', webmessage.WebMessageItem()) -api.add_route('/wechatmessages/from/{startdate}/to/{enddate}', +api.add_route('/wechatmessages', wechatmessage.WechatMessageCollection()) api.add_route('/wechatmessages/{id_}', wechatmessage.WechatMessageItem()) diff --git a/myems-api/core/textmessage.py b/myems-api/core/textmessage.py index 5ce69800..c92742e2 100644 --- a/myems-api/core/textmessage.py +++ b/myems-api/core/textmessage.py @@ -13,35 +13,45 @@ class TextMessageCollection: 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, startdate, enddate): + def on_get(req, resp): access_control(req) - 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_DATETIME_FORMAT") + else: + start_datetime_local = str.strip(start_datetime_local) + try: + start_datetime_utc = datetime.strptime(start_datetime_local, + '%Y-%m-%dT%H:%M:%S').replace(tzinfo=timezone.utc) - \ + timedelta(minutes=timezone_offset) + except ValueError: + raise falcon.HTTPError(falcon.HTTP_400, title='API.BAD_REQUEST', + description="API.INVALID_START_DATETIME_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_DATETIME_FORMAT") + else: + end_datetime_local = str.strip(end_datetime_local) + try: + end_datetime_utc = datetime.strptime(end_datetime_local, + '%Y-%m-%dT%H:%M:%S').replace(tzinfo=timezone.utc) - \ + timedelta(minutes=timezone_offset) + except ValueError: + raise falcon.HTTPError(falcon.HTTP_400, title='API.BAD_REQUEST', + description="API.INVALID_END_DATETIME_FORMAT") if start_datetime_utc >= end_datetime_utc: raise falcon.HTTPError(falcon.HTTP_400, diff --git a/myems-api/core/webmessage.py b/myems-api/core/webmessage.py index 70a984f7..9130d083 100644 --- a/myems-api/core/webmessage.py +++ b/myems-api/core/webmessage.py @@ -13,34 +13,44 @@ class WebMessageCollection: 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, startdate, enddate): - 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') + def on_get(req, resp): + + 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_DATETIME_FORMAT") + else: + start_datetime_local = str.strip(start_datetime_local) + try: + start_datetime_utc = datetime.strptime(start_datetime_local, + '%Y-%m-%dT%H:%M:%S').replace(tzinfo=timezone.utc) - \ + timedelta(minutes=timezone_offset) + except ValueError: + raise falcon.HTTPError(falcon.HTTP_400, title='API.BAD_REQUEST', + description="API.INVALID_START_DATETIME_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_DATETIME_FORMAT") + else: + end_datetime_local = str.strip(end_datetime_local) + try: + end_datetime_utc = datetime.strptime(end_datetime_local, + '%Y-%m-%dT%H:%M:%S').replace(tzinfo=timezone.utc) - \ + timedelta(minutes=timezone_offset) + except ValueError: + raise falcon.HTTPError(falcon.HTTP_400, title='API.BAD_REQUEST', + description="API.INVALID_END_DATETIME_FORMAT") if start_datetime_utc >= end_datetime_utc: raise falcon.HTTPError(falcon.HTTP_400, diff --git a/myems-api/core/wechatmessage.py b/myems-api/core/wechatmessage.py index 3b3c0b78..d2bb8ff6 100644 --- a/myems-api/core/wechatmessage.py +++ b/myems-api/core/wechatmessage.py @@ -13,35 +13,45 @@ class WechatMessageCollection(object): 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, startdate, enddate): + def on_get(req, resp): access_control(req) - 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_DATETIME_FORMAT") + else: + start_datetime_local = str.strip(start_datetime_local) + try: + start_datetime_utc = datetime.strptime(start_datetime_local, + '%Y-%m-%dT%H:%M:%S').replace(tzinfo=timezone.utc) - \ + timedelta(minutes=timezone_offset) + except ValueError: + raise falcon.HTTPError(falcon.HTTP_400, title='API.BAD_REQUEST', + description="API.INVALID_START_DATETIME_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_DATETIME_FORMAT") + else: + end_datetime_local = str.strip(end_datetime_local) + try: + end_datetime_utc = datetime.strptime(end_datetime_local, + '%Y-%m-%dT%H:%M:%S').replace(tzinfo=timezone.utc) - \ + timedelta(minutes=timezone_offset) + except ValueError: + raise falcon.HTTPError(falcon.HTTP_400, title='API.BAD_REQUEST', + description="API.INVALID_END_DATETIME_FORMAT") if start_datetime_utc >= end_datetime_utc: raise falcon.HTTPError(falcon.HTTP_400,