f2afc2fa6ba6f2cdee5e2ee8b4082ea4be4a6842
[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 _0x5809=['options','includeAll','include','rows','show','params','find','catch','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','CmHopperAdditionalPhones','UserProfileSection','userProfileId','autoAssociation','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','path','sox','to-csv','fs-extra','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','destroy','then','get','UserProfileResource','error','stack','name','send','map','CmHopperAdditionalPhone','rawAttributes','type','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','filter'];(function(_0x5d9c3d,_0x394b71){var _0x379cce=function(_0x6354a6){while(--_0x6354a6){_0x5d9c3d['push'](_0x5d9c3d['shift']());}};_0x379cce(++_0x394b71);}(_0x5809,0x192));var _0x9580=function(_0x4a9fb1,_0x273043){_0x4a9fb1=_0x4a9fb1-0x0;var _0x348672=_0x5809[_0x4a9fb1];return _0x348672;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x9580('0x0'));var zipdir=require(_0x9580('0x1'));var jsonpatch=require(_0x9580('0x2'));var rp=require(_0x9580('0x3'));var moment=require(_0x9580('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x9580('0x5'));var util=require('util');var path=require(_0x9580('0x6'));var sox=require(_0x9580('0x7'));var csv=require(_0x9580('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x9580('0x9'));var _=require('lodash');var squel=require(_0x9580('0xa'));var crypto=require('crypto');var jsforce=require(_0x9580('0xb'));var deskjs=require(_0x9580('0xc'));var toCsv=require(_0x9580('0x8'));var querystring=require(_0x9580('0xd'));var Papa=require(_0x9580('0xe'));var Redis=require(_0x9580('0xf'));var authService=require(_0x9580('0x10'));var qs=require('../../components/parsers/qs');var as=require(_0x9580('0x11'));var hardwareService=require(_0x9580('0x12'));var logger=require(_0x9580('0x13'))('api');var utils=require(_0x9580('0x14'));var config=require(_0x9580('0x15'));var licenseUtil=require(_0x9580('0x16'));var db=require(_0x9580('0x17'))['db'];function respondWithStatusCode(_0xf4a003,_0x4076f7){_0x4076f7=_0x4076f7||0xcc;return function(_0x2684fa){if(_0x2684fa){return _0xf4a003['sendStatus'](_0x4076f7);}return _0xf4a003[_0x9580('0x18')](_0x4076f7)[_0x9580('0x19')]();};}function respondWithResult(_0x102c2a,_0xed2a69){_0xed2a69=_0xed2a69||0xc8;return function(_0x476238){if(_0x476238){return _0x102c2a[_0x9580('0x18')](_0xed2a69)[_0x9580('0x1a')](_0x476238);}};}function respondWithFilteredResult(_0x5119f3,_0x4b1fdf){return function(_0x27ac01){if(_0x27ac01){var _0x40877a=typeof _0x4b1fdf[_0x9580('0x1b')]===_0x9580('0x1c')&&typeof _0x4b1fdf[_0x9580('0x1d')]===_0x9580('0x1c');var _0x56c8e3=_0x27ac01[_0x9580('0x1e')];var _0xb355c1=_0x40877a?0x0:_0x4b1fdf[_0x9580('0x1b')];var _0xc53761=_0x40877a?_0x27ac01[_0x9580('0x1e')]:_0x4b1fdf[_0x9580('0x1b')]+_0x4b1fdf[_0x9580('0x1d')];var _0x603508;if(_0xc53761>=_0x56c8e3){_0xc53761=_0x56c8e3;_0x603508=0xc8;}else{_0x603508=0xce;}_0x5119f3[_0x9580('0x18')](_0x603508);return _0x5119f3[_0x9580('0x1f')](_0x9580('0x20'),_0xb355c1+'-'+_0xc53761+'/'+_0x56c8e3)[_0x9580('0x1a')](_0x27ac01);}return null;};}function patchUpdates(_0x3d2668){return function(_0x3a0de8){try{jsonpatch[_0x9580('0x21')](_0x3a0de8,_0x3d2668,!![]);}catch(_0x5b8387){return BPromise[_0x9580('0x22')](_0x5b8387);}return _0x3a0de8['save']();};}function saveUpdates(_0x2c3c26,_0x38cfe0){return function(_0x273b45){if(_0x273b45){return _0x273b45['update'](_0x2c3c26)['then'](function(_0x289fbe){return _0x289fbe;});}return null;};}function removeEntity(_0x930089,_0x13fc79){return function(_0x5bc813){if(_0x5bc813){return _0x5bc813[_0x9580('0x23')]()[_0x9580('0x24')](function(){var _0x3071e4=_0x5bc813[_0x9580('0x25')]({'plain':!![]});var _0xae701a='CmHopperAdditionalPhones';return db[_0x9580('0x26')][_0x9580('0x23')]({'where':{'type':_0xae701a,'resourceId':_0x3071e4['id']}})[_0x9580('0x24')](function(){return _0x5bc813;});})['then'](function(){_0x930089['status'](0xcc)[_0x9580('0x19')]();});}};}function handleEntityNotFound(_0x32c580,_0x1dd210){return function(_0xd063c2){if(!_0xd063c2){_0x32c580['sendStatus'](0x194);}return _0xd063c2;};}function handleError(_0x3e2d22,_0x28ae61){_0x28ae61=_0x28ae61||0x1f4;return function(_0x338fc8){logger[_0x9580('0x27')](_0x338fc8[_0x9580('0x28')]);if(_0x338fc8[_0x9580('0x29')]){delete _0x338fc8[_0x9580('0x29')];}_0x3e2d22[_0x9580('0x18')](_0x28ae61)[_0x9580('0x2a')](_0x338fc8);};}exports['index']=function(_0x43f8f2,_0x5cfcd0){var _0x324a3a={},_0x5b7e26={},_0x15306a={'count':0x0,'rows':[]};var _0x5b3b5f=_[_0x9580('0x2b')](db[_0x9580('0x2c')][_0x9580('0x2d')],function(_0x2c1e04){return{'name':_0x2c1e04['fieldName'],'type':_0x2c1e04[_0x9580('0x2e')]['key']};});_0x5b7e26[_0x9580('0x2f')]=_['map'](_0x5b3b5f,_0x9580('0x29'));_0x5b7e26[_0x9580('0x30')]=_[_0x9580('0x31')](_0x43f8f2[_0x9580('0x30')]);_0x5b7e26[_0x9580('0x32')]=_[_0x9580('0x33')](_0x5b7e26[_0x9580('0x2f')],_0x5b7e26[_0x9580('0x30')]);_0x324a3a[_0x9580('0x34')]=_[_0x9580('0x33')](_0x5b7e26[_0x9580('0x2f')],qs[_0x9580('0x35')](_0x43f8f2['query'][_0x9580('0x35')]));_0x324a3a[_0x9580('0x34')]=_0x324a3a[_0x9580('0x34')][_0x9580('0x36')]?_0x324a3a[_0x9580('0x34')]:_0x5b7e26['model'];if(!_0x43f8f2['query'][_0x9580('0x37')](_0x9580('0x38'))){_0x324a3a['limit']=qs[_0x9580('0x1d')](_0x43f8f2[_0x9580('0x30')][_0x9580('0x1d')]);_0x324a3a[_0x9580('0x1b')]=qs[_0x9580('0x1b')](_0x43f8f2['query']['offset']);}_0x324a3a['order']=qs['sort'](_0x43f8f2[_0x9580('0x30')][_0x9580('0x39')]);_0x324a3a[_0x9580('0x3a')]=qs['filters'](_['pick'](_0x43f8f2[_0x9580('0x30')],_0x5b7e26[_0x9580('0x32')]),_0x5b3b5f);if(_0x43f8f2[_0x9580('0x30')][_0x9580('0x3b')]){_0x324a3a['where']=_['merge'](_0x324a3a[_0x9580('0x3a')],{'$or':_['map'](_0x5b3b5f,function(_0x4be17c){if(_0x4be17c['type']!=='VIRTUAL'){var _0x5d4d5c={};_0x5d4d5c[_0x4be17c[_0x9580('0x29')]]={'$like':'%'+_0x43f8f2[_0x9580('0x30')]['filter']+'%'};return _0x5d4d5c;}})});}_0x324a3a=_['merge']({},_0x324a3a,_0x43f8f2[_0x9580('0x3c')]);var _0x5df9ae={'where':_0x324a3a[_0x9580('0x3a')]};return db[_0x9580('0x2c')]['count'](_0x5df9ae)[_0x9580('0x24')](function(_0x4c0f48){_0x15306a[_0x9580('0x1e')]=_0x4c0f48;if(_0x43f8f2[_0x9580('0x30')][_0x9580('0x3d')]){_0x324a3a[_0x9580('0x3e')]=[{'all':!![]}];}return db[_0x9580('0x2c')]['findAll'](_0x324a3a);})[_0x9580('0x24')](function(_0x46fd03){_0x15306a[_0x9580('0x3f')]=_0x46fd03;return _0x15306a;})['then'](respondWithFilteredResult(_0x5cfcd0,_0x324a3a))['catch'](handleError(_0x5cfcd0,null));};exports[_0x9580('0x40')]=function(_0x5abb9d,_0x159b06){var _0x2fb57b={'raw':!![],'where':{'id':_0x5abb9d[_0x9580('0x41')]['id']}},_0x177fa6={};_0x177fa6[_0x9580('0x2f')]=_[_0x9580('0x31')](db['CmHopperAdditionalPhone'][_0x9580('0x2d')]);_0x177fa6[_0x9580('0x30')]=_[_0x9580('0x31')](_0x5abb9d['query']);_0x177fa6['filters']=_[_0x9580('0x33')](_0x177fa6['model'],_0x177fa6[_0x9580('0x30')]);_0x2fb57b['attributes']=_[_0x9580('0x33')](_0x177fa6[_0x9580('0x2f')],qs['fields'](_0x5abb9d['query'][_0x9580('0x35')]));_0x2fb57b['attributes']=_0x2fb57b[_0x9580('0x34')][_0x9580('0x36')]?_0x2fb57b[_0x9580('0x34')]:_0x177fa6[_0x9580('0x2f')];if(_0x5abb9d['query']['includeAll']){_0x2fb57b['include']=[{'all':!![]}];}_0x2fb57b=_['merge']({},_0x2fb57b,_0x5abb9d[_0x9580('0x3c')]);return db[_0x9580('0x2c')][_0x9580('0x42')](_0x2fb57b)[_0x9580('0x24')](handleEntityNotFound(_0x159b06,null))[_0x9580('0x24')](respondWithResult(_0x159b06,null))[_0x9580('0x43')](handleError(_0x159b06,null));};exports[_0x9580('0x44')]=function(_0x37cebc,_0xc6e774){return db['CmHopperAdditionalPhone'][_0x9580('0x44')](_0x37cebc[_0x9580('0x45')],{})[_0x9580('0x24')](function(_0x1d1528){var _0x1473fb=_0x37cebc[_0x9580('0x46')][_0x9580('0x25')]({'plain':!![]});if(!_0x1473fb)throw new Error(_0x9580('0x47'));if(_0x1473fb[_0x9580('0x48')]===_0x9580('0x46')){var _0x55d0fa=_0x1d1528[_0x9580('0x25')]({'plain':!![]});var _0x5e7df7=_0x9580('0x49');return db[_0x9580('0x4a')][_0x9580('0x42')]({'where':{'name':_0x5e7df7,'userProfileId':_0x1473fb[_0x9580('0x4b')]},'raw':!![]})[_0x9580('0x24')](function(_0x5956f7){if(_0x5956f7&&_0x5956f7[_0x9580('0x4c')]===0x0){return db[_0x9580('0x26')][_0x9580('0x44')]({'name':_0x55d0fa[_0x9580('0x29')],'resourceId':_0x55d0fa['id'],'type':_0x5956f7['name'],'sectionId':_0x5956f7['id']},{})[_0x9580('0x24')](function(){return _0x1d1528;});}else{return _0x1d1528;}})[_0x9580('0x43')](function(_0x3181e4){logger[_0x9580('0x27')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x3181e4);throw _0x3181e4;});}return _0x1d1528;})[_0x9580('0x24')](respondWithResult(_0xc6e774,0xc9))[_0x9580('0x43')](handleError(_0xc6e774,null));};exports['update']=function(_0x4c7314,_0x26c5a0){if(_0x4c7314['body']['id']){delete _0x4c7314[_0x9580('0x45')]['id'];}return db['CmHopperAdditionalPhone'][_0x9580('0x42')]({'where':{'id':_0x4c7314[_0x9580('0x41')]['id']}})[_0x9580('0x24')](handleEntityNotFound(_0x26c5a0,null))[_0x9580('0x24')](saveUpdates(_0x4c7314[_0x9580('0x45')],null))['then'](respondWithResult(_0x26c5a0,null))[_0x9580('0x43')](handleError(_0x26c5a0,null));};exports[_0x9580('0x23')]=function(_0xbc92e8,_0x765377){return db[_0x9580('0x2c')]['find']({'where':{'id':_0xbc92e8['params']['id']}})['then'](handleEntityNotFound(_0x765377,null))[_0x9580('0x24')](removeEntity(_0x765377,null))[_0x9580('0x43')](handleError(_0x765377,null));};