Built motion from commit 52c8a02d.|2.6.29
[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 _0x1881=['to-csv','fs-extra','lodash','squel','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','reject','update','then','destroy','get','CmHopperAdditionalPhones','UserProfileResource','error','stack','name','map','CmHopperAdditionalPhone','rawAttributes','key','model','query','filters','attributes','fields','hasOwnProperty','order','sort','pick','filter','where','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','params','keys','intersection','length','find','create','user','role','userProfileId','autoAssociation','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox'];(function(_0x3a4061,_0x57aa2a){var _0x51814c=function(_0x195295){while(--_0x195295){_0x3a4061['push'](_0x3a4061['shift']());}};_0x51814c(++_0x57aa2a);}(_0x1881,0x8d));var _0x1188=function(_0x304976,_0x14432b){_0x304976=_0x304976-0x0;var _0xb73047=_0x1881[_0x304976];return _0xb73047;};'use strict';var emlformat=require(_0x1188('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x1188('0x1'));var jsonpatch=require(_0x1188('0x2'));var rp=require(_0x1188('0x3'));var moment=require(_0x1188('0x4'));var BPromise=require(_0x1188('0x5'));var Mustache=require(_0x1188('0x6'));var util=require(_0x1188('0x7'));var path=require('path');var sox=require(_0x1188('0x8'));var csv=require(_0x1188('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x1188('0xa'));var _=require(_0x1188('0xb'));var squel=require(_0x1188('0xc'));var crypto=require('crypto');var jsforce=require(_0x1188('0xd'));var deskjs=require(_0x1188('0xe'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x1188('0xf'));var Redis=require(_0x1188('0x10'));var authService=require(_0x1188('0x11'));var qs=require(_0x1188('0x12'));var as=require(_0x1188('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x1188('0x14'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x1188('0x15'));var db=require(_0x1188('0x16'))['db'];function respondWithStatusCode(_0x532357,_0xa95289){_0xa95289=_0xa95289||0xcc;return function(_0x6691c7){if(_0x6691c7){return _0x532357[_0x1188('0x17')](_0xa95289);}return _0x532357[_0x1188('0x18')](_0xa95289)[_0x1188('0x19')]();};}function respondWithResult(_0x128549,_0x3f4312){_0x3f4312=_0x3f4312||0xc8;return function(_0x232cec){if(_0x232cec){return _0x128549[_0x1188('0x18')](_0x3f4312)[_0x1188('0x1a')](_0x232cec);}};}function respondWithFilteredResult(_0x4fa377,_0x1b9a3f){return function(_0x320d21){if(_0x320d21){var _0x57a5ae=typeof _0x1b9a3f[_0x1188('0x1b')]===_0x1188('0x1c')&&typeof _0x1b9a3f[_0x1188('0x1d')]==='undefined';var _0x13a798=_0x320d21[_0x1188('0x1e')];var _0x11ffb0=_0x57a5ae?0x0:_0x1b9a3f[_0x1188('0x1b')];var _0x1444ab=_0x57a5ae?_0x320d21['count']:_0x1b9a3f[_0x1188('0x1b')]+_0x1b9a3f['limit'];var _0x10eb04;if(_0x1444ab>=_0x13a798){_0x1444ab=_0x13a798;_0x10eb04=0xc8;}else{_0x10eb04=0xce;}_0x4fa377[_0x1188('0x18')](_0x10eb04);return _0x4fa377['set']('Content-Range',_0x11ffb0+'-'+_0x1444ab+'/'+_0x13a798)[_0x1188('0x1a')](_0x320d21);}return null;};}function patchUpdates(_0x103b4e){return function(_0x3b75f6){try{jsonpatch['apply'](_0x3b75f6,_0x103b4e,!![]);}catch(_0x3807e5){return BPromise[_0x1188('0x1f')](_0x3807e5);}return _0x3b75f6['save']();};}function saveUpdates(_0x575322,_0x4c190b){return function(_0x59a33a){if(_0x59a33a){return _0x59a33a[_0x1188('0x20')](_0x575322)[_0x1188('0x21')](function(_0x18641e){return _0x18641e;});}return null;};}function removeEntity(_0x5066df,_0x4db24b){return function(_0x445e4f){if(_0x445e4f){return _0x445e4f[_0x1188('0x22')]()[_0x1188('0x21')](function(){var _0xfe1a31=_0x445e4f[_0x1188('0x23')]({'plain':!![]});var _0x2d7d8a=_0x1188('0x24');return db[_0x1188('0x25')][_0x1188('0x22')]({'where':{'type':_0x2d7d8a,'resourceId':_0xfe1a31['id']}})[_0x1188('0x21')](function(){return _0x445e4f;});})['then'](function(){_0x5066df[_0x1188('0x18')](0xcc)[_0x1188('0x19')]();});}};}function handleEntityNotFound(_0x2d373c,_0x2947d6){return function(_0x12ee31){if(!_0x12ee31){_0x2d373c[_0x1188('0x17')](0x194);}return _0x12ee31;};}function handleError(_0x40d78f,_0x500da6){_0x500da6=_0x500da6||0x1f4;return function(_0x109643){logger[_0x1188('0x26')](_0x109643[_0x1188('0x27')]);if(_0x109643[_0x1188('0x28')]){delete _0x109643[_0x1188('0x28')];}_0x40d78f[_0x1188('0x18')](_0x500da6)['send'](_0x109643);};}exports['index']=function(_0x3f9cc8,_0x30b304){var _0x536245={},_0x304018={},_0x2a4b37={'count':0x0,'rows':[]};var _0x118f2d=_[_0x1188('0x29')](db[_0x1188('0x2a')][_0x1188('0x2b')],function(_0x82ecf0){return{'name':_0x82ecf0['fieldName'],'type':_0x82ecf0['type'][_0x1188('0x2c')]};});_0x304018[_0x1188('0x2d')]=_[_0x1188('0x29')](_0x118f2d,_0x1188('0x28'));_0x304018['query']=_['keys'](_0x3f9cc8[_0x1188('0x2e')]);_0x304018[_0x1188('0x2f')]=_['intersection'](_0x304018[_0x1188('0x2d')],_0x304018[_0x1188('0x2e')]);_0x536245[_0x1188('0x30')]=_['intersection'](_0x304018['model'],qs[_0x1188('0x31')](_0x3f9cc8[_0x1188('0x2e')]['fields']));_0x536245['attributes']=_0x536245[_0x1188('0x30')]['length']?_0x536245['attributes']:_0x304018[_0x1188('0x2d')];if(!_0x3f9cc8[_0x1188('0x2e')][_0x1188('0x32')]('nolimit')){_0x536245['limit']=qs[_0x1188('0x1d')](_0x3f9cc8[_0x1188('0x2e')][_0x1188('0x1d')]);_0x536245[_0x1188('0x1b')]=qs[_0x1188('0x1b')](_0x3f9cc8[_0x1188('0x2e')]['offset']);}_0x536245[_0x1188('0x33')]=qs[_0x1188('0x34')](_0x3f9cc8[_0x1188('0x2e')][_0x1188('0x34')]);_0x536245['where']=qs[_0x1188('0x2f')](_[_0x1188('0x35')](_0x3f9cc8['query'],_0x304018[_0x1188('0x2f')]),_0x118f2d);if(_0x3f9cc8[_0x1188('0x2e')][_0x1188('0x36')]){_0x536245[_0x1188('0x37')]=_[_0x1188('0x38')](_0x536245[_0x1188('0x37')],{'$or':_[_0x1188('0x29')](_0x118f2d,function(_0x5c695e){if(_0x5c695e['type']!==_0x1188('0x39')){var _0x351d46={};_0x351d46[_0x5c695e['name']]={'$like':'%'+_0x3f9cc8[_0x1188('0x2e')]['filter']+'%'};return _0x351d46;}})});}_0x536245=_[_0x1188('0x38')]({},_0x536245,_0x3f9cc8[_0x1188('0x3a')]);var _0xf8f8a6={'where':_0x536245[_0x1188('0x37')]};return db[_0x1188('0x2a')][_0x1188('0x1e')](_0xf8f8a6)['then'](function(_0xe11316){_0x2a4b37[_0x1188('0x1e')]=_0xe11316;if(_0x3f9cc8[_0x1188('0x2e')][_0x1188('0x3b')]){_0x536245[_0x1188('0x3c')]=[{'all':!![]}];}return db['CmHopperAdditionalPhone'][_0x1188('0x3d')](_0x536245);})['then'](function(_0x2f060c){_0x2a4b37[_0x1188('0x3e')]=_0x2f060c;return _0x2a4b37;})[_0x1188('0x21')](respondWithFilteredResult(_0x30b304,_0x536245))[_0x1188('0x3f')](handleError(_0x30b304,null));};exports[_0x1188('0x40')]=function(_0x50d774,_0x15873b){var _0x2cc7af={'raw':!![],'where':{'id':_0x50d774[_0x1188('0x41')]['id']}},_0x5079f3={};_0x5079f3[_0x1188('0x2d')]=_[_0x1188('0x42')](db['CmHopperAdditionalPhone'][_0x1188('0x2b')]);_0x5079f3[_0x1188('0x2e')]=_[_0x1188('0x42')](_0x50d774[_0x1188('0x2e')]);_0x5079f3[_0x1188('0x2f')]=_[_0x1188('0x43')](_0x5079f3[_0x1188('0x2d')],_0x5079f3[_0x1188('0x2e')]);_0x2cc7af[_0x1188('0x30')]=_[_0x1188('0x43')](_0x5079f3[_0x1188('0x2d')],qs['fields'](_0x50d774[_0x1188('0x2e')][_0x1188('0x31')]));_0x2cc7af[_0x1188('0x30')]=_0x2cc7af['attributes'][_0x1188('0x44')]?_0x2cc7af['attributes']:_0x5079f3[_0x1188('0x2d')];if(_0x50d774[_0x1188('0x2e')][_0x1188('0x3b')]){_0x2cc7af[_0x1188('0x3c')]=[{'all':!![]}];}_0x2cc7af=_[_0x1188('0x38')]({},_0x2cc7af,_0x50d774['options']);return db['CmHopperAdditionalPhone'][_0x1188('0x45')](_0x2cc7af)[_0x1188('0x21')](handleEntityNotFound(_0x15873b,null))[_0x1188('0x21')](respondWithResult(_0x15873b,null))[_0x1188('0x3f')](handleError(_0x15873b,null));};exports[_0x1188('0x46')]=function(_0x349713,_0x18eeda){return db['CmHopperAdditionalPhone'][_0x1188('0x46')](_0x349713['body'],{})[_0x1188('0x21')](function(_0x3b017d){var _0x3f35b7=_0x349713[_0x1188('0x47')][_0x1188('0x23')]({'plain':!![]});if(!_0x3f35b7)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x3f35b7[_0x1188('0x48')]==='user'){var _0xa224d2=_0x3b017d[_0x1188('0x23')]({'plain':!![]});var _0x529198=_0x1188('0x24');return db['UserProfileSection'][_0x1188('0x45')]({'where':{'name':_0x529198,'userProfileId':_0x3f35b7[_0x1188('0x49')]},'raw':!![]})['then'](function(_0x124bb2){if(_0x124bb2&&_0x124bb2[_0x1188('0x4a')]===0x0){return db[_0x1188('0x25')][_0x1188('0x46')]({'name':_0xa224d2[_0x1188('0x28')],'resourceId':_0xa224d2['id'],'type':_0x124bb2[_0x1188('0x28')],'sectionId':_0x124bb2['id']},{})[_0x1188('0x21')](function(){return _0x3b017d;});}else{return _0x3b017d;}})[_0x1188('0x3f')](function(_0x585dc4){logger[_0x1188('0x26')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x585dc4);throw _0x585dc4;});}return _0x3b017d;})[_0x1188('0x21')](respondWithResult(_0x18eeda,0xc9))[_0x1188('0x3f')](handleError(_0x18eeda,null));};exports[_0x1188('0x20')]=function(_0x34791e,_0x2bebf3){if(_0x34791e['body']['id']){delete _0x34791e['body']['id'];}return db[_0x1188('0x2a')]['find']({'where':{'id':_0x34791e[_0x1188('0x41')]['id']}})[_0x1188('0x21')](handleEntityNotFound(_0x2bebf3,null))[_0x1188('0x21')](saveUpdates(_0x34791e['body'],null))['then'](respondWithResult(_0x2bebf3,null))[_0x1188('0x3f')](handleError(_0x2bebf3,null));};exports[_0x1188('0x22')]=function(_0xfed6d7,_0x5c69a7){return db[_0x1188('0x2a')][_0x1188('0x45')]({'where':{'id':_0xfed6d7['params']['id']}})['then'](handleEntityNotFound(_0x5c69a7,null))['then'](removeEntity(_0x5c69a7,null))['catch'](handleError(_0x5c69a7,null));};