Built motion from commit 616d3211.|2.6.4
[motion2.git] / server / api / cmHopperAdditionalPhone / cmHopperAdditionalPhone.controller.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0x7592=['fieldName','type','key','model','filters','query','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','include','findAll','catch','show','params','keys','intersection','includeAll','options','find','create','role','user','userProfileId','autoAssociation','UserProfileResource','body','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','path','sox','to-csv','fs-extra','lodash','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','limit','count','set','apply','reject','save','update','then','destroy','get','CmHopperAdditionalPhones','error','name','send','index','map','CmHopperAdditionalPhone','rawAttributes'];(function(_0x1a6fa2,_0x3f516){var _0x1b8138=function(_0x175d97){while(--_0x175d97){_0x1a6fa2['push'](_0x1a6fa2['shift']());}};_0x1b8138(++_0x3f516);}(_0x7592,0xca));var _0x2759=function(_0x59b439,_0x14ae7b){_0x59b439=_0x59b439-0x0;var _0x521ea3=_0x7592[_0x59b439];return _0x521ea3;};'use strict';var emlformat=require(_0x2759('0x0'));var rimraf=require(_0x2759('0x1'));var zipdir=require(_0x2759('0x2'));var jsonpatch=require(_0x2759('0x3'));var rp=require(_0x2759('0x4'));var moment=require('moment');var BPromise=require(_0x2759('0x5'));var Mustache=require(_0x2759('0x6'));var util=require('util');var path=require(_0x2759('0x7'));var sox=require(_0x2759('0x8'));var csv=require(_0x2759('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x2759('0xa'));var _=require(_0x2759('0xb'));var squel=require(_0x2759('0xc'));var crypto=require(_0x2759('0xd'));var jsforce=require(_0x2759('0xe'));var deskjs=require('desk.js');var toCsv=require(_0x2759('0x9'));var querystring=require(_0x2759('0xf'));var Papa=require(_0x2759('0x10'));var Redis=require(_0x2759('0x11'));var authService=require('../../components/auth/service');var qs=require(_0x2759('0x12'));var as=require(_0x2759('0x13'));var hardwareService=require(_0x2759('0x14'));var logger=require(_0x2759('0x15'))(_0x2759('0x16'));var utils=require(_0x2759('0x17'));var config=require(_0x2759('0x18'));var licenseUtil=require(_0x2759('0x19'));var db=require(_0x2759('0x1a'))['db'];function respondWithStatusCode(_0x5d660d,_0x57737a){_0x57737a=_0x57737a||0xcc;return function(_0x5d0a4f){if(_0x5d0a4f){return _0x5d660d[_0x2759('0x1b')](_0x57737a);}return _0x5d660d[_0x2759('0x1c')](_0x57737a)[_0x2759('0x1d')]();};}function respondWithResult(_0x3dacae,_0x1eb38e){_0x1eb38e=_0x1eb38e||0xc8;return function(_0x3ef22f){if(_0x3ef22f){return _0x3dacae[_0x2759('0x1c')](_0x1eb38e)[_0x2759('0x1e')](_0x3ef22f);}};}function respondWithFilteredResult(_0x3c710c,_0x1e2f85){return function(_0x2bc48a){if(_0x2bc48a){var _0x3febf8=typeof _0x1e2f85[_0x2759('0x1f')]==='undefined'&&typeof _0x1e2f85[_0x2759('0x20')]==='undefined';var _0x12a2f9=_0x2bc48a['count'];var _0x19ae42=_0x3febf8?0x0:_0x1e2f85['offset'];var _0x21b734=_0x3febf8?_0x2bc48a[_0x2759('0x21')]:_0x1e2f85[_0x2759('0x1f')]+_0x1e2f85[_0x2759('0x20')];var _0x8b535c;if(_0x21b734>=_0x12a2f9){_0x21b734=_0x12a2f9;_0x8b535c=0xc8;}else{_0x8b535c=0xce;}_0x3c710c[_0x2759('0x1c')](_0x8b535c);return _0x3c710c[_0x2759('0x22')]('Content-Range',_0x19ae42+'-'+_0x21b734+'/'+_0x12a2f9)[_0x2759('0x1e')](_0x2bc48a);}return null;};}function patchUpdates(_0x472b73){return function(_0x34e7b5){try{jsonpatch[_0x2759('0x23')](_0x34e7b5,_0x472b73,!![]);}catch(_0x820302){return BPromise[_0x2759('0x24')](_0x820302);}return _0x34e7b5[_0x2759('0x25')]();};}function saveUpdates(_0xa02384,_0x4530ce){return function(_0x55e155){if(_0x55e155){return _0x55e155[_0x2759('0x26')](_0xa02384)[_0x2759('0x27')](function(_0x2728c5){return _0x2728c5;});}return null;};}function removeEntity(_0x49f8ed,_0x220f29){return function(_0x3f5b33){if(_0x3f5b33){return _0x3f5b33[_0x2759('0x28')]()[_0x2759('0x27')](function(){var _0x25f9e2=_0x3f5b33[_0x2759('0x29')]({'plain':!![]});var _0x1f6df3=_0x2759('0x2a');return db['UserProfileResource'][_0x2759('0x28')]({'where':{'type':_0x1f6df3,'resourceId':_0x25f9e2['id']}})['then'](function(){return _0x3f5b33;});})[_0x2759('0x27')](function(){_0x49f8ed[_0x2759('0x1c')](0xcc)[_0x2759('0x1d')]();});}};}function handleEntityNotFound(_0x5855f1,_0x12b21f){return function(_0x37751a){if(!_0x37751a){_0x5855f1[_0x2759('0x1b')](0x194);}return _0x37751a;};}function handleError(_0x24b067,_0x26a9b8){_0x26a9b8=_0x26a9b8||0x1f4;return function(_0x5cefc0){logger[_0x2759('0x2b')](_0x5cefc0['stack']);if(_0x5cefc0['name']){delete _0x5cefc0[_0x2759('0x2c')];}_0x24b067[_0x2759('0x1c')](_0x26a9b8)[_0x2759('0x2d')](_0x5cefc0);};}exports[_0x2759('0x2e')]=function(_0x49b2ae,_0x1826e4){var _0x19b49c={},_0x389444={},_0x168350={'count':0x0,'rows':[]};var _0x5adb7c=_[_0x2759('0x2f')](db[_0x2759('0x30')][_0x2759('0x31')],function(_0x506225){return{'name':_0x506225[_0x2759('0x32')],'type':_0x506225[_0x2759('0x33')][_0x2759('0x34')]};});_0x389444[_0x2759('0x35')]=_[_0x2759('0x2f')](_0x5adb7c,_0x2759('0x2c'));_0x389444['query']=_['keys'](_0x49b2ae['query']);_0x389444[_0x2759('0x36')]=_['intersection'](_0x389444['model'],_0x389444[_0x2759('0x37')]);_0x19b49c['attributes']=_['intersection'](_0x389444['model'],qs['fields'](_0x49b2ae[_0x2759('0x37')][_0x2759('0x38')]));_0x19b49c[_0x2759('0x39')]=_0x19b49c[_0x2759('0x39')][_0x2759('0x3a')]?_0x19b49c['attributes']:_0x389444[_0x2759('0x35')];if(!_0x49b2ae[_0x2759('0x37')][_0x2759('0x3b')](_0x2759('0x3c'))){_0x19b49c[_0x2759('0x20')]=qs['limit'](_0x49b2ae[_0x2759('0x37')][_0x2759('0x20')]);_0x19b49c['offset']=qs[_0x2759('0x1f')](_0x49b2ae['query'][_0x2759('0x1f')]);}_0x19b49c[_0x2759('0x3d')]=qs[_0x2759('0x3e')](_0x49b2ae[_0x2759('0x37')][_0x2759('0x3e')]);_0x19b49c[_0x2759('0x3f')]=qs[_0x2759('0x36')](_[_0x2759('0x40')](_0x49b2ae['query'],_0x389444[_0x2759('0x36')]),_0x5adb7c);if(_0x49b2ae[_0x2759('0x37')][_0x2759('0x41')]){_0x19b49c[_0x2759('0x3f')]=_['merge'](_0x19b49c[_0x2759('0x3f')],{'$or':_[_0x2759('0x2f')](_0x5adb7c,function(_0x11c3a3){if(_0x11c3a3['type']!=='VIRTUAL'){var _0x57f929={};_0x57f929[_0x11c3a3[_0x2759('0x2c')]]={'$like':'%'+_0x49b2ae[_0x2759('0x37')][_0x2759('0x41')]+'%'};return _0x57f929;}})});}_0x19b49c=_[_0x2759('0x42')]({},_0x19b49c,_0x49b2ae['options']);var _0x27013e={'where':_0x19b49c[_0x2759('0x3f')]};return db[_0x2759('0x30')]['count'](_0x27013e)['then'](function(_0x3173ee){_0x168350[_0x2759('0x21')]=_0x3173ee;if(_0x49b2ae['query']['includeAll']){_0x19b49c[_0x2759('0x43')]=[{'all':!![]}];}return db['CmHopperAdditionalPhone'][_0x2759('0x44')](_0x19b49c);})['then'](function(_0x2358c7){_0x168350['rows']=_0x2358c7;return _0x168350;})[_0x2759('0x27')](respondWithFilteredResult(_0x1826e4,_0x19b49c))[_0x2759('0x45')](handleError(_0x1826e4,null));};exports[_0x2759('0x46')]=function(_0x45e339,_0x4f3c92){var _0x18826d={'raw':!![],'where':{'id':_0x45e339[_0x2759('0x47')]['id']}},_0x5636ce={};_0x5636ce[_0x2759('0x35')]=_[_0x2759('0x48')](db[_0x2759('0x30')]['rawAttributes']);_0x5636ce[_0x2759('0x37')]=_['keys'](_0x45e339[_0x2759('0x37')]);_0x5636ce['filters']=_['intersection'](_0x5636ce[_0x2759('0x35')],_0x5636ce['query']);_0x18826d[_0x2759('0x39')]=_[_0x2759('0x49')](_0x5636ce[_0x2759('0x35')],qs[_0x2759('0x38')](_0x45e339[_0x2759('0x37')][_0x2759('0x38')]));_0x18826d[_0x2759('0x39')]=_0x18826d['attributes'][_0x2759('0x3a')]?_0x18826d[_0x2759('0x39')]:_0x5636ce[_0x2759('0x35')];if(_0x45e339[_0x2759('0x37')][_0x2759('0x4a')]){_0x18826d[_0x2759('0x43')]=[{'all':!![]}];}_0x18826d=_['merge']({},_0x18826d,_0x45e339[_0x2759('0x4b')]);return db[_0x2759('0x30')][_0x2759('0x4c')](_0x18826d)[_0x2759('0x27')](handleEntityNotFound(_0x4f3c92,null))['then'](respondWithResult(_0x4f3c92,null))['catch'](handleError(_0x4f3c92,null));};exports['create']=function(_0x3213dc,_0x3aa520){return db[_0x2759('0x30')][_0x2759('0x4d')](_0x3213dc['body'],{})['then'](function(_0x9adcbc){var _0x28d621=_0x3213dc['user']['get']({'plain':!![]});if(!_0x28d621)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x28d621[_0x2759('0x4e')]===_0x2759('0x4f')){var _0x4e617a=_0x9adcbc['get']({'plain':!![]});var _0x475ee8=_0x2759('0x2a');return db['UserProfileSection'][_0x2759('0x4c')]({'where':{'name':_0x475ee8,'userProfileId':_0x28d621[_0x2759('0x50')]},'raw':!![]})[_0x2759('0x27')](function(_0x5ef7ba){if(_0x5ef7ba&&_0x5ef7ba[_0x2759('0x51')]===0x0){return db[_0x2759('0x52')]['create']({'name':_0x4e617a[_0x2759('0x2c')],'resourceId':_0x4e617a['id'],'type':_0x5ef7ba['name'],'sectionId':_0x5ef7ba['id']},{})['then'](function(){return _0x9adcbc;});}else{return _0x9adcbc;}})['catch'](function(_0x50d02e){logger[_0x2759('0x2b')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x50d02e);throw _0x50d02e;});}return _0x9adcbc;})[_0x2759('0x27')](respondWithResult(_0x3aa520,0xc9))[_0x2759('0x45')](handleError(_0x3aa520,null));};exports[_0x2759('0x26')]=function(_0x3e5961,_0x203a44){if(_0x3e5961[_0x2759('0x53')]['id']){delete _0x3e5961[_0x2759('0x53')]['id'];}return db[_0x2759('0x30')][_0x2759('0x4c')]({'where':{'id':_0x3e5961[_0x2759('0x47')]['id']}})['then'](handleEntityNotFound(_0x203a44,null))[_0x2759('0x27')](saveUpdates(_0x3e5961[_0x2759('0x53')],null))[_0x2759('0x27')](respondWithResult(_0x203a44,null))[_0x2759('0x45')](handleError(_0x203a44,null));};exports[_0x2759('0x28')]=function(_0x439c86,_0x34c443){return db[_0x2759('0x30')][_0x2759('0x4c')]({'where':{'id':_0x439c86[_0x2759('0x47')]['id']}})['then'](handleEntityNotFound(_0x34c443,null))[_0x2759('0x27')](removeEntity(_0x34c443,null))['catch'](handleError(_0x34c443,null));};