X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=ecomp-portal-FE-common%2Fclient%2Fapp%2Fservices%2Fadmins%2Fadmins.service.js;h=60a99f55e06493fcdba0397b033f60c245996314;hb=refs%2Fchanges%2F85%2F4985%2F2;hp=3658052c89e9d1383ad67e7128becbf530317b3b;hpb=ba838f2e13f1e8050c75e68bd3733d56d8f416d5;p=portal.git diff --git a/ecomp-portal-FE-common/client/app/services/admins/admins.service.js b/ecomp-portal-FE-common/client/app/services/admins/admins.service.js index 3658052c..60a99f55 100644 --- a/ecomp-portal-FE-common/client/app/services/admins/admins.service.js +++ b/ecomp-portal-FE-common/client/app/services/admins/admins.service.js @@ -1,221 +1,221 @@ -/*- - * ================================================================================ - * ECOMP Portal - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ================================================================================ - */ -/** - * Created by nnaffar on 11/22/2015. - */ -'use strict'; - -(function () { - class AdminsService { - constructor($q, $log, $http, conf, uuid, utilsService) { - this.$q = $q; - this.$log = $log; - this.$http = $http; - this.conf = conf; - this.uuid = uuid; - this.utilsService = utilsService; - } - - getAccountAdmins() { - let deferred = this.$q.defer(); - //this.$log.info('AdminsService::get all applications admins list'); - this.$http({ - method: "GET", - cache: false, - url: this.conf.api.accountAdmins, - headers: { - 'X-ECOMP-RequestID':this.uuid.generate() - } - }) - .then( res => { - // If response comes back as a redirected HTML page which IS NOT a success - if (this.utilsService.isValidJSON(res)=== false) { - this.$log.error('AdminsService::getAccountAdmins Failed'); - deferred.reject("AdminsService::getAccountAdmins Failed"); - } else { - // this.$log.info('AdminsService::getAccountAdmins Succeeded'); - deferred.resolve(res.data); - } - }) - .catch( status => { - this.$log.error('AdminsService::getAccountAdmins Failed', status); - deferred.reject(status); - }); - - return deferred.promise; - } - - getAdminAppsRoles(orgUserId) { - let deferred = this.$q.defer(); - //this.$log.info('AdminsService::getAdminAppsRoles.adminAppsRoles'); - - this.$http({ - method: "GET", - url: this.conf.api.adminAppsRoles, - params: {user: orgUserId}, - cache: false, - headers: { - 'X-ECOMP-RequestID':this.uuid.generate() - } - }).then( res => { - // If response comes back as a redirected HTML page which IS NOT a success - if (this.utilsService.isValidJSON(res)=== false) { - this.$log.error('AdminsService::getAdminAppsRoles.adminAppsRoles Failed'); - deferred.reject("AdminsService::getAdminAppsRoles.adminAppsRoles Failed"); - } else { - // this.$log.info('AdminsService::getAdminAppsRoles.adminAppsRoles Succeeded'); - deferred.resolve(res.data); - } - }) - .catch( status => { - this.$log.error('AdminsService::getAdminAppsRoles.adminAppsRoles Failed', status); - deferred.reject(status); - }); - - return deferred.promise; - } - /*Author: Rui*/ - getRolesByApp(appId) { - let deferred = this.$q.defer(); - this.$log.info('AdminsService::getRolesByApp'); - let url = this.conf.api.adminAppsRoles + '/' + appId; - this.$http({ - method: "GET", - url: url, - cache: false, - headers: { - 'X-ECOMP-RequestID':this.uuid.generate() - } - }).then( res => { - // If response comes back as a redirected HTML page which IS NOT a success - if (Object.keys(res.data).length == 0) { - deferred.reject("AdminsService::getAdminAppsRoles.getRolesByApp Failed"); - } else { - this.$log.info('AdminsService::getAdminAppsRoles.getRolesByApp Succeeded'); - deferred.resolve(res.data); - } - }) - .catch( status => { - deferred.reject(status); - }); - - return deferred.promise; - } - - updateAdminAppsRoles(newAdminAppRoles) { - let deferred = this.$q.defer(); - // this.$log.info('AdminsService::updateAdminAppsRoles'); - this.$http({ - method: "PUT", - url: this.conf.api.adminAppsRoles, - data: newAdminAppRoles, - headers: { - 'X-ECOMP-RequestID':this.uuid.generate() - } - }).then( res => { - if (this.utilsService.isValidJSON(res)=== false) { - this.$log.error('AdminsService::updateAdminAppsRoles Failed'); - deferred.reject("AdminsService::updateAdminAppsRoles Failed"); - } else { - //this.$log.info('AdminsService::updateAdminAppsRoles success:'); - deferred.resolve(res.data); - } - - }) - .catch( status => { - this.$log.error('AdminsService::updateAdminAppsRoles: rejection:' + status); - deferred.reject(status); - }); - - return deferred.promise; - } - - /** - * Tests the specified password against complexity requirements. - * Returns an explanation message if the test fails; null if it passes. - */ - isComplexPassword(str) { - let minLength = 8; - let message = 'Password is too simple. Minimum length is '+ minLength + ', ' - + 'and it must use letters, digits and special characters.'; - if (str == null) - return message; - - let hasLetter = false; - let hasDigit = false; - let hasSpecial = false; - var code, i, len; - for (i = 0, len = str.length; i < len; i++) { - code = str.charCodeAt(i); - if (code > 47 && code < 58) // numeric (0-9) - hasDigit = true; - else if ((code > 64 && code < 91) || (code > 96 && code < 123)) // A-Z, a-z - hasLetter = true; - else - hasSpecial = true; - } // for - - if (str.length < minLength || !hasLetter || !hasDigit || !hasSpecial) - return message; - - // All is well. - return null; - } - - addNewUser(newUser,checkDuplicate) { - // this.$log.info(newContactUs) - let deferred = this.$q.defer(); - // this.$log.info('ContactUsService:: add Contact Us' + JSON.stringify(newContactUs)); - - var newUserObj={ - firstName:newUser.firstName, - middleInitial:newUser.middleName, - lastName:newUser.lastName, - email:newUser.emailAddress, - loginId:newUser.loginId, - loginPwd:newUser.loginPwd, - }; - this.$http({ - url: this.conf.api.saveNewUser + "?isCheck=" + checkDuplicate, - method: 'POST', - cache: false, - headers: { - 'X-ECOMP-RequestID':this.uuid.generate() - }, - data: newUserObj - }).then(res => { - // this.$log.info('ContactUsService:: add Contact Us res' ,res); - // If response comes back as a redirected HTML page which IS NOT a success - if (res==null || Object.keys(res.data).length == 0 || res.data.message == 'failure') { - deferred.reject("Add new User failed"); - this.$log.error('adminService:: add New User failed'); - } else { - deferred.resolve(res.data); - } - }).catch(errRes => { - deferred.reject(errRes); - }); - return deferred.promise; - } - - } - AdminsService.$inject = ['$q', '$log', '$http', 'conf','uuid4', 'utilsService']; - angular.module('ecompApp').service('adminsService', AdminsService) -})(); +/*- + * ================================================================================ + * ECOMP Portal + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ================================================================================ + */ +/** + * Created by nnaffar on 11/22/2015. + */ +'use strict'; + +(function () { + class AdminsService { + constructor($q, $log, $http, conf, uuid, utilsService) { + this.$q = $q; + this.$log = $log; + this.$http = $http; + this.conf = conf; + this.uuid = uuid; + this.utilsService = utilsService; + } + + getAccountAdmins() { + let deferred = this.$q.defer(); + //this.$log.info('AdminsService::get all applications admins list'); + this.$http({ + method: "GET", + cache: false, + url: this.conf.api.accountAdmins, + headers: { + 'X-ECOMP-RequestID':this.uuid.generate() + } + }) + .then( res => { + // If response comes back as a redirected HTML page which IS NOT a success + if (this.utilsService.isValidJSON(res)=== false) { + this.$log.error('AdminsService::getAccountAdmins Failed'); + deferred.reject("AdminsService::getAccountAdmins Failed"); + } else { + // this.$log.info('AdminsService::getAccountAdmins Succeeded'); + deferred.resolve(res.data); + } + }) + .catch( status => { + this.$log.error('AdminsService::getAccountAdmins Failed', status); + deferred.reject(status); + }); + + return deferred.promise; + } + + getAdminAppsRoles(orgUserId) { + let deferred = this.$q.defer(); + //this.$log.info('AdminsService::getAdminAppsRoles.adminAppsRoles'); + + this.$http({ + method: "GET", + url: this.conf.api.adminAppsRoles, + params: {user: orgUserId}, + cache: false, + headers: { + 'X-ECOMP-RequestID':this.uuid.generate() + } + }).then( res => { + // If response comes back as a redirected HTML page which IS NOT a success + if (this.utilsService.isValidJSON(res)=== false) { + this.$log.error('AdminsService::getAdminAppsRoles.adminAppsRoles Failed'); + deferred.reject("AdminsService::getAdminAppsRoles.adminAppsRoles Failed"); + } else { + // this.$log.info('AdminsService::getAdminAppsRoles.adminAppsRoles Succeeded'); + deferred.resolve(res.data); + } + }) + .catch( status => { + this.$log.error('AdminsService::getAdminAppsRoles.adminAppsRoles Failed', status); + deferred.reject(status); + }); + + return deferred.promise; + } + /*Author: Rui*/ + getRolesByApp(appId) { + let deferred = this.$q.defer(); + this.$log.info('AdminsService::getRolesByApp'); + let url = this.conf.api.adminAppsRoles + '/' + appId; + this.$http({ + method: "GET", + url: url, + cache: false, + headers: { + 'X-ECOMP-RequestID':this.uuid.generate() + } + }).then( res => { + // If response comes back as a redirected HTML page which IS NOT a success + if (Object.keys(res.data).length == 0) { + deferred.reject("AdminsService::getAdminAppsRoles.getRolesByApp Failed"); + } else { + this.$log.info('AdminsService::getAdminAppsRoles.getRolesByApp Succeeded'); + deferred.resolve(res.data); + } + }) + .catch( status => { + deferred.reject(status); + }); + + return deferred.promise; + } + + updateAdminAppsRoles(newAdminAppRoles) { + let deferred = this.$q.defer(); + // this.$log.info('AdminsService::updateAdminAppsRoles'); + this.$http({ + method: "PUT", + url: this.conf.api.adminAppsRoles, + data: newAdminAppRoles, + headers: { + 'X-ECOMP-RequestID':this.uuid.generate() + } + }).then( res => { + if (this.utilsService.isValidJSON(res)=== false) { + this.$log.error('AdminsService::updateAdminAppsRoles Failed'); + deferred.reject("AdminsService::updateAdminAppsRoles Failed"); + } else { + //this.$log.info('AdminsService::updateAdminAppsRoles success:'); + deferred.resolve(res.data); + } + + }) + .catch( status => { + this.$log.error('AdminsService::updateAdminAppsRoles: rejection:' + status); + deferred.reject(status); + }); + + return deferred.promise; + } + + /** + * Tests the specified password against complexity requirements. + * Returns an explanation message if the test fails; null if it passes. + */ + isComplexPassword(str) { + let minLength = 8; + let message = 'Password is too simple. Minimum length is '+ minLength + ', ' + + 'and it must use letters, digits and special characters.'; + if (str == null) + return message; + + let hasLetter = false; + let hasDigit = false; + let hasSpecial = false; + var code, i, len; + for (i = 0, len = str.length; i < len; i++) { + code = str.charCodeAt(i); + if (code > 47 && code < 58) // numeric (0-9) + hasDigit = true; + else if ((code > 64 && code < 91) || (code > 96 && code < 123)) // A-Z, a-z + hasLetter = true; + else + hasSpecial = true; + } // for + + if (str.length < minLength || !hasLetter || !hasDigit || !hasSpecial) + return message; + + // All is well. + return null; + } + + addNewUser(newUser,checkDuplicate) { + // this.$log.info(newContactUs) + let deferred = this.$q.defer(); + // this.$log.info('ContactUsService:: add Contact Us' + JSON.stringify(newContactUs)); + + var newUserObj={ + firstName:newUser.firstName, + middleInitial:newUser.middleName, + lastName:newUser.lastName, + email:newUser.emailAddress, + loginId:newUser.loginId, + loginPwd:newUser.loginPwd, + }; + this.$http({ + url: this.conf.api.saveNewUser + "?isCheck=" + checkDuplicate, + method: 'POST', + cache: false, + headers: { + 'X-ECOMP-RequestID':this.uuid.generate() + }, + data: newUserObj + }).then(res => { + // this.$log.info('ContactUsService:: add Contact Us res' ,res); + // If response comes back as a redirected HTML page which IS NOT a success + if (res==null || Object.keys(res.data).length == 0 || res.data.message == 'failure') { + deferred.reject("Add new User failed"); + this.$log.error('adminService:: add New User failed'); + } else { + deferred.resolve(res.data); + } + }).catch(errRes => { + deferred.reject(errRes); + }); + return deferred.promise; + } + + } + AdminsService.$inject = ['$q', '$log', '$http', 'conf','uuid4', 'utilsService']; + angular.module('ecompApp').service('adminsService', AdminsService) +})();