Built motion from commit b0a9a629.|2.6.33
[motion2.git] / server / api / cmContact / cmContact.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 _0xd04f=['findOne','rawAttributes','order','ContactId','includeAll','include','rows','getHopperHistories','CmHopperHistory','nolimit','getHopperFinals','getJscriptySessions','uploadCsv','No\x20ListId\x20specified','binding_keys','binding_values','No\x20association\x20values\x20specified!','socket_timestamp','split','zipObject','firstName','No\x20firstName\x20column\x20specified','root','server/files/tmp','file','filename','chmodSync','child_process','fork','../../components/import/cm/csv','CompanyId','upload','createReadStream','parse','meta','import','User','agent','binding','Unable\x20to\x20synchronize\x20socket,\x20no\x20timestamp\x20passed','../../components/import/cm/csv2','stringify','message','start\x20child\x20process\x20correctly!','exit','error\x20child\x20process','pid','importUpdates','No\x20phone\x20column\x20specified','mail','chat','openchannel','fax','whatsapp','voice','-createdAt','resolve','channel','includes','toLowerCase','Invalid\x20channel','range','isValid','Invalid\x20date\x20for\x20range\x20from\x20filter','Invalid\x20date\x20for\x20range\x20to\x20filter','Invalid\x20createdAt\x20filter','uniqueid','type','source','destination','starttime','endtime','duration','note','createdAt','userDisposition','userSecondDisposition','UserId','fullname','DESC','findAndCountAll','startCase','Account','closed','disposition','thirdDisposition','key','Owner','customerPort','deviceModel','osName','ratingMessage','ratingType','ratingValue','subject','substatus','externalUrl','threadId','Interaction','flatten','sortBy','reverse','moment','util','path','lodash','papaparse','ioredis','../../components/parsers/qs','../../config/logger','../../config/environment','../../config/environment/shared','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./cmContact.socket','json','offset','undefined','count','limit','status','set','update','then','destroy','end','sendStatus','error','stack','name','send','index','describe','getOptions','query','user','CmContact','find','params','length','keys','cf_','columnName','displayName','analytics','CmCustomField','alias','custom','info','Custom\x20field\x20%s\x20not\x20found\x20on\x20cm_contacts\x20table','forEach','hasOwnProperty','catch','body','get','mergeWith','tags','isArray','join','[CmContact][merge]\x20to\x20%s\x20from\x20%s','from','CmHopper','[CmContact][merge][destroy][CmHopper],\x20%s','CmHopperBlack','[CmContact][merge][destroy][CmHopperBlack],\x20%s','ChatInteraction','ChatOfflineMessage','MailInteraction','MailMessage','SmsInteraction','FaxInteraction','FaxMessage','OpenchannelInteraction','OpenchannelMessage','CmContactHasItem','CmHopperFinal','ReportAgentPreview','VoiceCallReport','ChatQueueReport','MailQueueReport','OpenchannelQueueReport','SmsQueueReport','JscriptySessionReport','WhatsappInteraction','WhatsappMessage','WhatsappQueueReport','create','isNil','dialTimezone','timezones','utcOffset','additionalPhones','bulkCreate','each','duplicates','where','$or','push','ListId','spread','contact','show','Tag','Tags','color','tag','ContactItemType','ItemType','Phones.OrderBy','$and','findAll','omit','format','cf_%d','pickBy','startsWith','map','table','cm_contacts','id\x20=\x20?','toParam','sequelize','text','values','phone','getTags','model','filters','intersection','attributes','fields','sort','pick','filter','merge','options','setTags','ids','setAdditionalPhones','all','items','item_types','ItemTypeId','description','OrderBy','contact\x20phone\x20exists','PHONE','CmHopperAdditionalPhone','item','literal','`ItemType`.OrderBy','CmHopperId','getAdditionalPhones','fromContactId','CmContactId','toContactId','rescheduleAdditionalPhones','getHoppers'];(function(_0xf1ed1b,_0x9968bb){var _0x1eed5d=function(_0x2ce5c7){while(--_0x2ce5c7){_0xf1ed1b['push'](_0xf1ed1b['shift']());}};_0x1eed5d(++_0x9968bb);}(_0xd04f,0x66));var _0xfd04=function(_0x29eccf,_0x454476){_0x29eccf=_0x29eccf-0x0;var _0x76b226=_0xd04f[_0x29eccf];return _0x76b226;};'use strict';var moment=require(_0xfd04('0x0'));var BPromise=require('bluebird');var util=require(_0xfd04('0x1'));var path=require(_0xfd04('0x2'));var fs=require('fs');var _=require(_0xfd04('0x3'));var squel=require('squel');var Papa=require(_0xfd04('0x4'));var Redis=require(_0xfd04('0x5'));var contacts=require('../../components/contacts');var qs=require(_0xfd04('0x6'));var logger=require(_0xfd04('0x7'))('api');var config=require(_0xfd04('0x8'));var shared=require(_0xfd04('0x9'));var db=require(_0xfd04('0xa'))['db'];config[_0xfd04('0xb')]=_[_0xfd04('0xc')](config[_0xfd04('0xb')],{'host':_0xfd04('0xd'),'port':0x18eb});var socket=require(_0xfd04('0xe'))(new Redis(config[_0xfd04('0xb')]));require(_0xfd04('0xf'))['register'](socket);function respondWithResult(_0x3fa014,_0x58fd19){_0x58fd19=_0x58fd19||0xc8;return function(_0x39dbb5){if(_0x39dbb5){return _0x3fa014['status'](_0x58fd19)[_0xfd04('0x10')](_0x39dbb5);}};}function respondWithFilteredResult(_0x13acb9,_0x420c39){return function(_0x35836e){if(_0x35836e){var _0x19449a=typeof _0x420c39[_0xfd04('0x11')]===_0xfd04('0x12')&&typeof _0x420c39['limit']==='undefined';var _0x6b87b7=_0x35836e[_0xfd04('0x13')];var _0x3f6541=_0x19449a?0x0:_0x420c39['offset'];var _0x4cdd6d=_0x19449a?_0x35836e[_0xfd04('0x13')]:_0x420c39[_0xfd04('0x11')]+_0x420c39[_0xfd04('0x14')];var _0x1f344b;if(_0x4cdd6d>=_0x6b87b7){_0x4cdd6d=_0x6b87b7;_0x1f344b=0xc8;}else{_0x1f344b=0xce;}_0x13acb9[_0xfd04('0x15')](_0x1f344b);return _0x13acb9[_0xfd04('0x16')]('Content-Range',_0x3f6541+'-'+_0x4cdd6d+'/'+_0x6b87b7)['json'](_0x35836e);}return null;};}function saveUpdates(_0x5e67a1){return function(_0x52ced4){if(_0x52ced4){return _0x52ced4[_0xfd04('0x17')](_0x5e67a1)[_0xfd04('0x18')](function(_0x22704e){return _0x22704e;});}return null;};}function removeEntity(_0x5817df){return function(_0x3e615e){if(_0x3e615e){return _0x3e615e[_0xfd04('0x19')]()[_0xfd04('0x18')](function(){_0x5817df['status'](0xcc)[_0xfd04('0x1a')]();});}};}function handleEntityNotFound(_0x438475){return function(_0x5aeb65){if(!_0x5aeb65){_0x438475[_0xfd04('0x1b')](0x194);}return _0x5aeb65;};}function handleError(_0x3225d2,_0x5b4727){_0x5b4727=_0x5b4727||0x1f4;return function(_0x2ac2b3){logger[_0xfd04('0x1c')](_0x2ac2b3[_0xfd04('0x1d')]);if(_0x2ac2b3[_0xfd04('0x1e')]){delete _0x2ac2b3[_0xfd04('0x1e')];}_0x3225d2[_0xfd04('0x15')](_0x5b4727)[_0xfd04('0x1f')](_0x2ac2b3);};}exports[_0xfd04('0x20')]=function(_0x162c84,_0x317d02){var _0x31f914={};return contacts[_0xfd04('0x21')]()[_0xfd04('0x18')](function(_0x5e9f55){_0x31f914=qs[_0xfd04('0x22')](_0x5e9f55,_0x162c84);return contacts['findAll'](_0x162c84[_0xfd04('0x23')],_0x162c84[_0xfd04('0x24')],_0x31f914,_0x5e9f55);})[_0xfd04('0x18')](respondWithFilteredResult(_0x317d02,_0x31f914))['catch'](handleError(_0x317d02,null));};exports[_0xfd04('0x19')]=function(_0x7e51bd,_0x55c6ca){return db[_0xfd04('0x25')][_0xfd04('0x26')]({'where':{'id':_0x7e51bd[_0xfd04('0x27')]['id']}})['then'](handleEntityNotFound(_0x55c6ca,null))[_0xfd04('0x18')](removeEntity(_0x55c6ca,null))['catch'](handleError(_0x55c6ca,null));};exports[_0xfd04('0x21')]=function(_0x9d40a7,_0x628bb){return db[_0xfd04('0x25')][_0xfd04('0x21')]()['then'](function(_0x323c79){delete _0x323c79['tags'];for(var _0x25da32=0x0;_0x25da32<Object['keys'](_0x323c79)[_0xfd04('0x28')];_0x25da32++){var _0x4b8742=Object[_0xfd04('0x29')](_0x323c79)[_0x25da32];if(!_['startsWith'](_0x4b8742,_0xfd04('0x2a'))){_0x323c79[_0x4b8742][_0xfd04('0x2b')]=_0x4b8742;_0x323c79[_0x4b8742][_0xfd04('0x2c')]=_0x4b8742;}}return _0x323c79;})[_0xfd04('0x18')](function(_0x2832df){var _0x39703d={'where':Boolean(_0x9d40a7[_0xfd04('0x23')][_0xfd04('0x2d')])===!![]?undefined:{'$or':[{'ListId':_0x9d40a7['query']['id']},{'ListId':null}]},'raw':!![]};return db[_0xfd04('0x2e')]['findAll'](_0x39703d)[_0xfd04('0x18')](function(_0x1c5e89){for(var _0x197cd2=0x0;_0x197cd2<_0x1c5e89[_0xfd04('0x28')];_0x197cd2++){var _0x17edfc=_0xfd04('0x2a')+_0x1c5e89[_0x197cd2]['id'];if(_0x2832df[_0x17edfc]){_0x2832df[_0x17edfc][_0xfd04('0x2b')]=_0x17edfc;_0x2832df[_0x17edfc][_0xfd04('0x2c')]=_0x1c5e89[_0x197cd2][_0xfd04('0x2f')];_0x2832df[_0x17edfc][_0xfd04('0x30')]={'type':_0x1c5e89[_0x197cd2]['type'],'values':_0x1c5e89[_0x197cd2]['values']};}else{logger[_0xfd04('0x31')](_0xfd04('0x32'),_0x17edfc);}}Object[_0xfd04('0x29')](_0x2832df)[_0xfd04('0x33')](function(_0x51a4fa){if(!_0x2832df[_0x51a4fa][_0xfd04('0x34')](_0xfd04('0x2b'))){delete _0x2832df[_0x51a4fa];}});return _0x2832df;});})[_0xfd04('0x18')](respondWithResult(_0x628bb,null))[_0xfd04('0x35')](handleError(_0x628bb,null));};exports['merge']=function(_0x55b42d,_0x35b738){var _0x7adcb6;var _0x22737e;var _0x378bfb;if(_0x55b42d['body']['id']){delete _0x55b42d[_0xfd04('0x36')]['id'];}return db[_0xfd04('0x25')]['findAll']({'where':{'id':[_0x55b42d[_0xfd04('0x36')]['to'],_0x55b42d[_0xfd04('0x36')]['from']]}})[_0xfd04('0x18')](function(_0x42816e){if(_0x42816e){if(_0x42816e[_0xfd04('0x28')]!==0x2){return null;}_0x42816e[0x0]=_0x42816e[0x0][_0xfd04('0x37')]({'plain':!![]});_0x42816e[0x1]=_0x42816e[0x1][_0xfd04('0x37')]({'plain':!![]});delete _0x42816e[0x0]['id'];delete _0x42816e[0x1]['id'];return _[_0xfd04('0x38')](_0x42816e[0x0],_0x42816e[0x1],function(_0x4c4ef0,_0x1ef954){if(Array['isArray'](_0x1ef954)&&!_0x1ef954[_0xfd04('0x28')]){return _0x4c4ef0;}else if(!_0x1ef954){return _0x4c4ef0;}});}})[_0xfd04('0x18')](handleEntityNotFound(_0x35b738,null))[_0xfd04('0x18')](function(_0x3ad0a0){if(_0x3ad0a0){if(_0x3ad0a0[_0xfd04('0x39')]&&_[_0xfd04('0x3a')](_0x3ad0a0['tags'])){_0x3ad0a0['tags']=_0x3ad0a0[_0xfd04('0x39')][_0xfd04('0x3b')]();}logger[_0xfd04('0x31')](_0xfd04('0x3c'),_0x55b42d[_0xfd04('0x36')]['to'],_0x55b42d[_0xfd04('0x36')][_0xfd04('0x3d')]);return db[_0xfd04('0x3e')][_0xfd04('0x19')]({'where':{'ContactId':[_0x55b42d['body']['to'],_0x55b42d['body'][_0xfd04('0x3d')]]}})[_0xfd04('0x18')](function(_0x5cbb0e){logger['info'](_0xfd04('0x3f'),_0x5cbb0e);return db[_0xfd04('0x40')][_0xfd04('0x19')]({'where':{'ContactId':[_0x55b42d[_0xfd04('0x36')]['to'],_0x55b42d[_0xfd04('0x36')][_0xfd04('0x3d')]]}})['then'](function(_0x501465){logger['info'](_0xfd04('0x41'),_0x501465);return db[_0xfd04('0x25')]['create'](_0x3ad0a0);});});}})['then'](function(_0x2be435){if(_0x2be435){_0x7adcb6=_0x2be435;_0x22737e={'ContactId':_0x7adcb6['id']};_0x378bfb={'where':{'ContactId':[_0x55b42d[_0xfd04('0x36')]['to'],_0x55b42d['body']['from']]}};return db[_0xfd04('0x42')][_0xfd04('0x17')](_0x22737e,_0x378bfb);}})[_0xfd04('0x18')](function(){if(_0x7adcb6){return db['ChatMessage'][_0xfd04('0x17')](_0x22737e,_0x378bfb);}})['then'](function(){if(_0x7adcb6){return db[_0xfd04('0x43')]['update'](_0x22737e,_0x378bfb);}})[_0xfd04('0x18')](function(){if(_0x7adcb6){return db[_0xfd04('0x44')]['update'](_0x22737e,_0x378bfb);}})[_0xfd04('0x18')](function(){if(_0x7adcb6){return db[_0xfd04('0x45')][_0xfd04('0x17')](_0x22737e,_0x378bfb);}})[_0xfd04('0x18')](function(){if(_0x7adcb6){return db['MailInteraction']['update'](_0x22737e,_0x378bfb);}})[_0xfd04('0x18')](function(){if(_0x7adcb6){return db['MailMessage']['update'](_0x22737e,_0x378bfb);}})['then'](function(){if(_0x7adcb6){return db[_0xfd04('0x46')][_0xfd04('0x17')](_0x22737e,_0x378bfb);}})[_0xfd04('0x18')](function(){if(_0x7adcb6){return db['SmsMessage']['update'](_0x22737e,_0x378bfb);}})[_0xfd04('0x18')](function(){if(_0x7adcb6){return db[_0xfd04('0x47')]['update'](_0x22737e,_0x378bfb);}})[_0xfd04('0x18')](function(){if(_0x7adcb6){return db[_0xfd04('0x48')][_0xfd04('0x17')](_0x22737e,_0x378bfb);}})[_0xfd04('0x18')](function(){if(_0x7adcb6){return db[_0xfd04('0x49')]['update'](_0x22737e,_0x378bfb);}})[_0xfd04('0x18')](function(){if(_0x7adcb6){return db[_0xfd04('0x4a')][_0xfd04('0x17')](_0x22737e,_0x378bfb);}})['then'](function(){if(_0x7adcb6){return db[_0xfd04('0x4b')][_0xfd04('0x17')]({'CmContactId':_0x7adcb6['id']},{'where':{'CmContactId':[_0x55b42d[_0xfd04('0x36')]['to'],_0x55b42d[_0xfd04('0x36')][_0xfd04('0x3d')]]}});}})[_0xfd04('0x18')](function(){if(_0x7adcb6){return db[_0xfd04('0x4c')][_0xfd04('0x17')](_0x22737e,_0x378bfb);}})[_0xfd04('0x18')](function(){if(_0x7adcb6){return db['CmHopperHistory'][_0xfd04('0x17')](_0x22737e,_0x378bfb);}})[_0xfd04('0x18')](function(){if(_0x7adcb6){return db[_0xfd04('0x4d')]['update'](_0x22737e,_0x378bfb);}})[_0xfd04('0x18')](function(){if(_0x7adcb6){return db[_0xfd04('0x4e')][_0xfd04('0x17')](_0x22737e,_0x378bfb);}})[_0xfd04('0x18')](function(){if(_0x7adcb6){return db[_0xfd04('0x4f')][_0xfd04('0x17')](_0x22737e,_0x378bfb);}})[_0xfd04('0x18')](function(){if(_0x7adcb6){return db['FaxQueueReport']['update'](_0x22737e,_0x378bfb);}})[_0xfd04('0x18')](function(){if(_0x7adcb6){return db[_0xfd04('0x50')][_0xfd04('0x17')](_0x22737e,_0x378bfb);}})[_0xfd04('0x18')](function(){if(_0x7adcb6){return db[_0xfd04('0x51')]['update'](_0x22737e,_0x378bfb);}})[_0xfd04('0x18')](function(){if(_0x7adcb6){return db[_0xfd04('0x52')][_0xfd04('0x17')](_0x22737e,_0x378bfb);}})[_0xfd04('0x18')](function(){if(_0x7adcb6){return db[_0xfd04('0x53')][_0xfd04('0x17')](_0x22737e,_0x378bfb);}})['then'](function(){if(_0x7adcb6){return db[_0xfd04('0x54')][_0xfd04('0x17')](_0x22737e,_0x378bfb);}})[_0xfd04('0x18')](function(){if(_0x7adcb6){return db[_0xfd04('0x55')][_0xfd04('0x17')](_0x22737e,_0x378bfb);}})[_0xfd04('0x18')](function(){if(_0x7adcb6){return db[_0xfd04('0x56')][_0xfd04('0x17')](_0x22737e,_0x378bfb);}})[_0xfd04('0x18')](function(){if(_0x7adcb6){return db[_0xfd04('0x25')]['destroy']({'where':{'id':[_0x55b42d[_0xfd04('0x36')]['to'],_0x55b42d[_0xfd04('0x36')][_0xfd04('0x3d')]]}});}})[_0xfd04('0x18')](function(){if(_0x7adcb6){return _0x7adcb6;}})[_0xfd04('0x18')](respondWithResult(_0x35b738,null))[_0xfd04('0x35')](handleError(_0x35b738,null));};exports[_0xfd04('0x57')]=function(_0x381cef,_0x246989){return db[_0xfd04('0x25')][_0xfd04('0x21')]()['then'](function(_0x394e11){if(_0x381cef[_0xfd04('0x36')]['tags']&&_[_0xfd04('0x3a')](_0x381cef[_0xfd04('0x36')][_0xfd04('0x39')])){if(_0x381cef[_0xfd04('0x36')][_0xfd04('0x39')]['length']){_0x381cef[_0xfd04('0x36')]['tags']=_0x381cef[_0xfd04('0x36')][_0xfd04('0x39')][_0xfd04('0x3b')](';')+';';}else{_0x381cef[_0xfd04('0x36')][_0xfd04('0x39')]=null;}}else{_0x381cef[_0xfd04('0x36')][_0xfd04('0x39')]=null;}if(!_[_0xfd04('0x58')](_0x381cef[_0xfd04('0x36')][_0xfd04('0x59')])){var _0x13b197=_0x381cef['body'][_0xfd04('0x59')];if(!_['isNil'](shared[_0xfd04('0x5a')][_0x13b197]))_0x381cef[_0xfd04('0x36')]['utcOffset']=shared[_0xfd04('0x5a')][_0x13b197][_0xfd04('0x5b')];}return db[_0xfd04('0x25')][_0xfd04('0x57')](_0x381cef['body'],{'fields':_[_0xfd04('0x29')](_0x394e11),'raw':!![]});})[_0xfd04('0x18')](function(_0x2b508f){if(_0x381cef[_0xfd04('0x36')][_0xfd04('0x5c')]){return insertAdditionalPhones(_0x2b508f,_0x381cef[_0xfd04('0x36')][_0xfd04('0x5c')]);}else{return _0x2b508f;}})[_0xfd04('0x18')](respondWithResult(_0x246989,0xc9))['catch'](handleError(_0x246989,null));};exports[_0xfd04('0x5d')]=function(_0x318b25,_0x1e7bba){var _0x396fc0=0x0;var _0x265a27=0x0;var _0x5477b8=0x0;var _0x72061e=[];return db['CmContact'][_0xfd04('0x21')]()['then'](function(_0x384ed8){return BPromise[_0xfd04('0x5e')](_0x318b25[_0xfd04('0x36')],function(_0x4a67da){var _0x485417={'where':{'$or':[]},'defaults':_0x4a67da,'fields':_[_0xfd04('0x29')](_0x384ed8),'raw':!![]};if(_0x4a67da[_0xfd04('0x5f')]){for(var _0x2bf467=0x0;_0x2bf467<_0x4a67da['duplicates'][_0xfd04('0x28')];_0x2bf467++){var _0x18003f={};_0x18003f[_0x4a67da[_0xfd04('0x5f')][_0x2bf467]]=_0x4a67da[_0x4a67da[_0xfd04('0x5f')][_0x2bf467]];_0x485417[_0xfd04('0x60')][_0xfd04('0x61')][_0xfd04('0x62')](_0x18003f);}_0x485417[_0xfd04('0x60')]['ListId']=_0x4a67da[_0xfd04('0x63')];}return db['CmContact']['findOrCreate'](_0x485417)[_0xfd04('0x64')](function(_0x5c4451,_0x1b0c45){if(_0x1b0c45){if(_0x4a67da['hasOwnProperty'](_0xfd04('0x5c'))){_0x72061e[_0xfd04('0x62')]({'contact':_0x5c4451,'additionalPhones':_0x4a67da[_0xfd04('0x5c')]});}_0x396fc0++;}else{_0x5477b8++;}})[_0xfd04('0x35')](function(){_0x265a27++;});});})[_0xfd04('0x18')](function(_0x622ce1){if(_0x622ce1){if(_0x72061e[_0xfd04('0x28')]>0x0){return new Promise(function(_0x563d69){var _0x467d6b=[];for(var _0x54d582=0x0;_0x54d582<_0x72061e[_0xfd04('0x28')];_0x54d582++){_0x467d6b[_0xfd04('0x62')](insertAdditionalPhones(_0x72061e[_0x54d582][_0xfd04('0x65')],_0x72061e[_0x54d582][_0xfd04('0x5c')]));}Promise['all'](_0x467d6b)[_0xfd04('0x18')](function(){_0x563d69(0x1);});})[_0xfd04('0x18')](function(){return{'success':_0x396fc0,'failure':_0x265a27,'duplicates':_0x5477b8};});}else{return{'success':_0x396fc0,'failure':_0x265a27,'duplicates':_0x5477b8};}}})['then'](respondWithResult(_0x1e7bba,0xc9))['catch'](handleError(_0x1e7bba,null));};exports[_0xfd04('0x66')]=function(_0x214488,_0x1c1bb2){var _0x52c6b5;return db[_0xfd04('0x25')][_0xfd04('0x21')]()[_0xfd04('0x18')](function(_0x23a85e){return db['CmContact'][_0xfd04('0x26')]({'where':{'id':_0x214488['params']['id']},'include':[{'model':db[_0xfd04('0x67')],'as':_0xfd04('0x68'),'attributes':['id','name',_0xfd04('0x69')],'required':_0x214488[_0xfd04('0x23')][_0xfd04('0x6a')]?!![]:![]},{'model':db[_0xfd04('0x4b')],'as':'Phones','where':{'CmContactId':_0x214488[_0xfd04('0x27')]['id']},'required':![],'include':[{'model':db[_0xfd04('0x6b')],'as':_0xfd04('0x6c')}]}],'order':[db['sequelize']['literal'](_0xfd04('0x6d'))],'attributes':_['keys'](_0x23a85e)});})[_0xfd04('0x18')](function(_0x3d3ecd){if(!_[_0xfd04('0x58')](_0x3d3ecd)){_0x52c6b5=_0x3d3ecd[_0xfd04('0x37')]({'plain':!![]});var _0xd95f1a={'where':{'$and':[{'ListId':{'$ne':null}}]}};if(_0x3d3ecd&&_0x3d3ecd[_0xfd04('0x63')]){if(_0x3d3ecd[_0xfd04('0x63')]){_0xd95f1a[_0xfd04('0x60')][_0xfd04('0x6e')][_0xfd04('0x62')]({'ListId':{'$ne':_0x3d3ecd['ListId']}});}}return db['CmCustomField'][_0xfd04('0x6f')](_0xd95f1a);}})['then'](function(_0x528b26){if(!_[_0xfd04('0x58')](_0x528b26)){return _[_0xfd04('0x70')](_0x52c6b5,_['map'](_0x528b26,function(_0x3a1907){return util[_0xfd04('0x71')](_0xfd04('0x72'),_0x3a1907['id']);}));}})[_0xfd04('0x18')](handleEntityNotFound(_0x1c1bb2,null))[_0xfd04('0x18')](respondWithResult(_0x1c1bb2,null))['catch'](handleError(_0x1c1bb2,null));};exports[_0xfd04('0x17')]=function(_0x5d2602,_0x7f12e6){var _0x2b5b9c;if(_0x5d2602[_0xfd04('0x36')]['id']){delete _0x5d2602['body']['id'];}if(!_[_0xfd04('0x58')](_0x5d2602[_0xfd04('0x36')][_0xfd04('0x59')])){var _0x492c88=_0x5d2602[_0xfd04('0x36')][_0xfd04('0x59')];if(!_['isNil'](shared[_0xfd04('0x5a')][_0x492c88]))_0x5d2602[_0xfd04('0x36')][_0xfd04('0x5b')]=shared[_0xfd04('0x5a')][_0x492c88]['utcOffset'];}return db[_0xfd04('0x25')]['find']({'where':{'id':_0x5d2602[_0xfd04('0x27')]['id']}})[_0xfd04('0x18')](handleEntityNotFound(_0x7f12e6,null))[_0xfd04('0x18')](saveUpdates(_0x5d2602[_0xfd04('0x36')],null))[_0xfd04('0x18')](function(_0x5a13c9){_0x2b5b9c=_0x5a13c9;var _0x19a9d0={'where':{'$and':[{'ListId':{'$ne':null}}]}};if(_0x5a13c9&&_0x5a13c9['ListId']){if(_0x5a13c9[_0xfd04('0x63')]){_0x19a9d0[_0xfd04('0x60')][_0xfd04('0x6e')][_0xfd04('0x62')]({'ListId':{'$ne':_0x5a13c9[_0xfd04('0x63')]}});}}return db[_0xfd04('0x2e')]['findAll'](_0x19a9d0);})[_0xfd04('0x18')](function(_0x4426ba){if(_0x4426ba){return _[_0xfd04('0x70')](_[_0xfd04('0x73')](_0x5d2602[_0xfd04('0x36')],function(_0x2db0ad,_0x1ba789){return _[_0xfd04('0x74')](_0x1ba789,_0xfd04('0x2a'));}),_[_0xfd04('0x75')](_0x4426ba,function(_0x1a28e4){return util[_0xfd04('0x71')](_0xfd04('0x72'),_0x1a28e4['id']);}));}})['then'](function(_0x3233d8){if(_0x3233d8&&!_['isEmpty'](_0x3233d8)){var _0x26ab70=squel[_0xfd04('0x17')]()[_0xfd04('0x76')](_0xfd04('0x77'))['setFields'](_0x3233d8)[_0xfd04('0x60')](_0xfd04('0x78'),_0x5d2602[_0xfd04('0x27')]['id'])[_0xfd04('0x79')]();return db[_0xfd04('0x7a')][_0xfd04('0x23')](_0x26ab70[_0xfd04('0x7b')],{'replacements':_0x26ab70[_0xfd04('0x7c')]});}})['then'](function(){if(_0x5d2602['body'][_0xfd04('0x7d')]&&_0x2b5b9c){return db[_0xfd04('0x3e')]['update']({'phone':_0x5d2602[_0xfd04('0x36')][_0xfd04('0x7d')],'OrderBy':0x0},{'where':{'ContactId':_0x2b5b9c['id']}});}})[_0xfd04('0x18')](function(){return _0x2b5b9c;})['then'](respondWithResult(_0x7f12e6,null))[_0xfd04('0x35')](handleError(_0x7f12e6,null));};exports[_0xfd04('0x7e')]=function(_0x46327c,_0x27befa){var _0x25d86f={};var _0x4dac2f={};var _0x3eb4b5;var _0x2fdebd;return db[_0xfd04('0x25')]['findOne']({'where':{'id':_0x46327c[_0xfd04('0x27')]['id']}})[_0xfd04('0x18')](handleEntityNotFound(_0x27befa,null))[_0xfd04('0x18')](function(_0x57f92b){if(_0x57f92b){_0x3eb4b5=_0x57f92b;_0x4dac2f[_0xfd04('0x7f')]=_['keys'](db['Tag']['rawAttributes']);_0x4dac2f[_0xfd04('0x23')]=_[_0xfd04('0x29')](_0x46327c[_0xfd04('0x23')]);_0x4dac2f[_0xfd04('0x80')]=_[_0xfd04('0x81')](_0x4dac2f[_0xfd04('0x7f')],_0x4dac2f[_0xfd04('0x23')]);_0x25d86f[_0xfd04('0x82')]=_[_0xfd04('0x81')](_0x4dac2f[_0xfd04('0x7f')],qs[_0xfd04('0x83')](_0x46327c[_0xfd04('0x23')][_0xfd04('0x83')]));_0x25d86f[_0xfd04('0x82')]=_0x25d86f['attributes'][_0xfd04('0x28')]?_0x25d86f[_0xfd04('0x82')]:_0x4dac2f[_0xfd04('0x7f')];_0x25d86f['order']=qs[_0xfd04('0x84')](_0x46327c[_0xfd04('0x23')]['sort']);_0x25d86f['where']=qs[_0xfd04('0x80')](_[_0xfd04('0x85')](_0x46327c[_0xfd04('0x23')],_0x4dac2f[_0xfd04('0x80')]));if(_0x46327c['query'][_0xfd04('0x86')]){_0x25d86f[_0xfd04('0x60')]=_[_0xfd04('0x87')](_0x25d86f[_0xfd04('0x60')],{'$or':_[_0xfd04('0x75')](_0x25d86f[_0xfd04('0x82')],function(_0x2e4867){var _0x3ce440={};_0x3ce440[_0x2e4867]={'$like':'%'+_0x46327c[_0xfd04('0x23')][_0xfd04('0x86')]+'%'};return _0x3ce440;})});}_0x25d86f=_['merge']({},_0x25d86f,_0x46327c[_0xfd04('0x88')]);return _0x3eb4b5[_0xfd04('0x7e')](_0x25d86f);}})[_0xfd04('0x18')](function(_0x554d4f){if(_0x554d4f){_0x2fdebd=_0x554d4f['length'];if(!_0x46327c['query']['hasOwnProperty']('nolimit')){_0x25d86f['limit']=qs['limit'](_0x46327c[_0xfd04('0x23')][_0xfd04('0x14')]);_0x25d86f['offset']=qs[_0xfd04('0x11')](_0x46327c[_0xfd04('0x23')]['offset']);}return _0x3eb4b5[_0xfd04('0x7e')](_0x25d86f);}})[_0xfd04('0x18')](function(_0x2773be){if(_0x2773be){return _0x2773be?{'count':_0x2fdebd,'rows':_0x2773be}:null;}})['then'](respondWithResult(_0x27befa,null))[_0xfd04('0x35')](handleError(_0x27befa,null));};exports[_0xfd04('0x89')]=function(_0x5d851a,_0x9e232a){if(_0x5d851a[_0xfd04('0x36')]['id']){delete _0x5d851a['body']['id'];}return db[_0xfd04('0x25')]['findOne']({'where':{'id':_0x5d851a[_0xfd04('0x27')]['id']}})[_0xfd04('0x18')](handleEntityNotFound(_0x9e232a,null))[_0xfd04('0x18')](function(_0x5869eb){if(_0x5869eb){return _0x5869eb[_0xfd04('0x89')](_0x5d851a[_0xfd04('0x36')][_0xfd04('0x8a')]||[]);}return null;})[_0xfd04('0x18')](respondWithResult(_0x9e232a,null))[_0xfd04('0x35')](handleError(_0x9e232a,null));};exports[_0xfd04('0x8b')]=function(_0x1cd363,_0x510a53){var _0x7b95dd=[];_0x7b95dd[_0xfd04('0x62')](addAdditionalPhones(_0x1cd363['body']));Promise[_0xfd04('0x8c')](_0x7b95dd)[_0xfd04('0x18')](function(){_0x7b95dd=[];_0x7b95dd[_0xfd04('0x62')](deleteCmHopperPhones(_0x1cd363[_0xfd04('0x36')]['id']));_0x7b95dd['push'](addCmHopperPhones(_0x1cd363['body']['id']));Promise['all'](_0x7b95dd)[_0xfd04('0x18')](function(){return[0x1];})['then'](respondWithResult(_0x510a53,null));});};function addAdditionalPhones(_0x48cbc6){var _0x1789f1;return new Promise(function(_0x1883b8){return db[_0xfd04('0x4b')][_0xfd04('0x19')]({'where':{'CmContactId':_0x48cbc6['id']}})[_0xfd04('0x18')](function(){db[_0xfd04('0x6b')][_0xfd04('0x6f')]({'raw':!![],'attributes':['id','OrderBy']})[_0xfd04('0x18')](function(_0x5647b2){var _0x590244=[];for(var _0x65f60a=0x0;_0x65f60a<_0x48cbc6[_0xfd04('0x8d')][_0xfd04('0x28')];_0x65f60a++){var _0x1e400f=_0x48cbc6[_0xfd04('0x8e')]?_[_0xfd04('0x58')](_0x48cbc6[_0xfd04('0x8e')][_0x65f60a])?'':_0x48cbc6[_0xfd04('0x8e')][_0x65f60a]:_0x48cbc6['items'][_0x65f60a][_0xfd04('0x8f')]?_0x48cbc6[_0xfd04('0x8d')][_0x65f60a]['ItemTypeId']:'';var _0x18fadb=_[_0xfd04('0x58')](_0x48cbc6[_0xfd04('0x8d')][_0x65f60a][_0xfd04('0x90')])?'':_0x48cbc6[_0xfd04('0x8d')][_0x65f60a][_0xfd04('0x90')];var _0x18a5e0=_0x1e400f+':'+_0x48cbc6[_0xfd04('0x8d')][_0x65f60a][_0xfd04('0x7d')]+'ยง'+_0x18fadb;if(_[_0xfd04('0x58')](_0x1789f1))_0x1789f1=_0x18a5e0;else _0x1789f1+=';'+_0x18a5e0;var _0x2cdaf1=null;var _0x10fd55=null;if(_0x48cbc6[_0xfd04('0x8e')]){if(!_[_0xfd04('0x58')](_0x48cbc6[_0xfd04('0x8e')][_0x65f60a])){_0x10fd55=_[_0xfd04('0x26')](_0x5647b2,function(_0x3b3585){return _0x3b3585['id']===_0x48cbc6['item_types'][_0x65f60a];});if(!_[_0xfd04('0x58')](_0x10fd55)){_0x2cdaf1=_0x10fd55[_0xfd04('0x91')];}}}else{if(!_['isNil'](_0x48cbc6[_0xfd04('0x8d')][_0x65f60a])){_0x10fd55=_['find'](_0x5647b2,function(_0x3d276c){return _0x3d276c['id']===_0x48cbc6[_0xfd04('0x8d')][_0x65f60a][_0xfd04('0x8f')];});if(!_[_0xfd04('0x58')](_0x10fd55)){_0x2cdaf1=_0x65f60a;}}}if(_[_0xfd04('0x58')](_0x2cdaf1)){_0x2cdaf1=0x64;}_0x590244['push'](addAdditionalPhone(_0x48cbc6['id'],_0x48cbc6[_0xfd04('0x8d')][_0x65f60a][_0xfd04('0x7d')],_0x48cbc6['item_types']?_[_0xfd04('0x58')](_0x48cbc6['item_types'][_0x65f60a])?null:_0x48cbc6['item_types'][_0x65f60a]:_0x48cbc6[_0xfd04('0x8d')][_0x65f60a][_0xfd04('0x8f')]?_0x48cbc6[_0xfd04('0x8d')][_0x65f60a]['ItemTypeId']:null,_0x2cdaf1,_0x18fadb));}Promise[_0xfd04('0x8c')](_0x590244)[_0xfd04('0x18')](function(){db[_0xfd04('0x25')][_0xfd04('0x17')]({'AdditionalPhones':_0x1789f1},{'where':{'id':_0x48cbc6['id']}})[_0xfd04('0x18')](function(){_0x1883b8(0x1);});});});});});}function addAdditionalPhone(_0x2d9675,_0x471302,_0x5a67c6,_0x3bfff7,_0x244aa4){return db['CmContactHasItem'][_0xfd04('0x26')]({'where':{'CmContactId':_0x2d9675,'item':_0x471302}})['then'](function(_0x288ff7){if(_0x288ff7)logger[_0xfd04('0x31')](_0xfd04('0x92'),_0x288ff7);else{db[_0xfd04('0x4b')]['create']({'CmContactId':_0x2d9675,'item':_0x471302,'ItemTypeId':_0x5a67c6,'OrderBy':_0x3bfff7,'ItemClass':_0xfd04('0x93'),'description':_0x244aa4});}});}function deleteCmHopperPhones(_0x1da79b){return new Promise(function(_0x531bb8){return db['CmHopper']['findAll']({'raw':!![],'attributes':['id'],'where':{'ContactId':_0x1da79b}})['then'](function(_0x391a2b){db[_0xfd04('0x94')][_0xfd04('0x19')]({'where':{'CmHopperId':{'$in':_[_0xfd04('0x75')](_0x391a2b,'id')}}});})[_0xfd04('0x18')](function(){_0x531bb8(0x1);});});}function addCmHopperPhones(_0x53174a){return new Promise(function(_0x152982){return db['CmHopper'][_0xfd04('0x6f')]({'raw':!![],'attributes':['id'],'where':{'ContactId':_0x53174a}})[_0xfd04('0x18')](function(_0x5f5d42){var _0x579515=[];_[_0xfd04('0x75')](_0x5f5d42,function(_0x2cbe1a){_0x579515['push'](createCmHopperPhone(_0x53174a,_0x2cbe1a['id']));});Promise[_0xfd04('0x8c')](_0x579515)[_0xfd04('0x18')](function(){_0x152982(0x1);});});});}function createCmHopperPhone(_0x5e6aa4,_0x5cbcbb){return new Promise(function(_0x22efb3){db[_0xfd04('0x4b')][_0xfd04('0x6f')]({'raw':!![],'attributes':[_0xfd04('0x95'),_0xfd04('0x91')],'where':{'CmContactId':_0x5e6aa4,'ItemClass':_0xfd04('0x93')},'include':[{'model':db[_0xfd04('0x6b')],'attributes':['OrderBy'],'as':_0xfd04('0x6c')}],'order':[_0xfd04('0x91'),db[_0xfd04('0x7a')][_0xfd04('0x96')](_0xfd04('0x97'))]})['then'](function(_0x1167d1){var _0x125df5=0x1;var _0x365b6f=_[_0xfd04('0x75')](_0x1167d1,function(_0x443808){_0x443808[_0xfd04('0x98')]=_0x5cbcbb;_0x443808[_0xfd04('0x7d')]=_0x443808[_0xfd04('0x95')];_0x443808['OrderBy']=_0x125df5;delete _0x443808['ItemType.OrderBy'];_0x125df5=_0x125df5+0x1;return _0x443808;});return db[_0xfd04('0x94')][_0xfd04('0x5d')](_0x365b6f,{});})[_0xfd04('0x18')](function(){_0x22efb3(0x1);});});}function insertAdditionalPhones(_0x32eec4,_0x25b8da){return new Promise(function(_0x296b6f){var _0x295021=[];for(var _0x32af56=0x0;_0x32af56<_0x25b8da['length'];_0x32af56++){var _0x4ad786=_0x25b8da[_0x32af56];_0x295021[_0xfd04('0x62')](parseContactItemType(_0x4ad786));}Promise[_0xfd04('0x8c')](_0x295021)['then'](function(){var _0x29e89f={'id':_0x32eec4['id'],'items':_0x25b8da};return addAdditionalPhones(_0x29e89f)[_0xfd04('0x18')](function(){return addCmHopperPhones(_0x32eec4['id']);});})[_0xfd04('0x18')](function(){_0x296b6f(_0x32eec4);});});}function parseContactItemType(_0x5ee00c){return new Promise(function(_0x1bf823){if(_0x5ee00c[_0xfd04('0x34')](_0xfd04('0x8f'))){_0x1bf823(_0x5ee00c);}else{return db[_0xfd04('0x6b')][_0xfd04('0x26')]({'where':{'name':_0x5ee00c[_0xfd04('0x6c')]}})[_0xfd04('0x18')](function(_0x13bfc1){if(_[_0xfd04('0x58')](_0x13bfc1))_0x5ee00c[_0xfd04('0x8f')]=null;else _0x5ee00c['ItemTypeId']=_0x13bfc1['id'];_0x1bf823(_0x5ee00c);});}});}exports[_0xfd04('0x99')]=function(_0x573300,_0x2556fe){return db[_0xfd04('0x4b')]['findAll']({'raw':!![],'where':{'CmContactId':_0x573300['params']['id'],'ItemClass':'PHONE'},'include':[{'model':db[_0xfd04('0x6b')],'as':_0xfd04('0x6c')}],'order':[[_0xfd04('0x91')],[db[_0xfd04('0x7a')]['literal'](_0xfd04('0x97'))]]})[_0xfd04('0x18')](function(_0x2e1645){return _0x2e1645;})[_0xfd04('0x18')](respondWithResult(_0x2556fe,null))[_0xfd04('0x35')](handleError(_0x2556fe,null));};exports['duplicateAdditionalPhones']=function(_0x49d06c,_0x57f99c){return db[_0xfd04('0x4b')][_0xfd04('0x6f')]({'raw':!![],'where':{'CmContactId':_0x49d06c[_0xfd04('0x36')][_0xfd04('0x9a')]}})['then'](function(_0x26b525){var _0x23da5e=_[_0xfd04('0x75')](_0x26b525,function(_0x5d0b55){_0x5d0b55[_0xfd04('0x9b')]=_0x49d06c[_0xfd04('0x36')][_0xfd04('0x9c')];return _0x5d0b55;});return db['CmContactHasItem'][_0xfd04('0x5d')](_0x23da5e,{});})[_0xfd04('0x18')](function(){return addCmHopperPhones(_0x49d06c['body'][_0xfd04('0x9c')]);})[_0xfd04('0x18')](function(){return['ok'];})[_0xfd04('0x18')](respondWithResult(_0x57f99c,null))[_0xfd04('0x35')](handleError(_0x57f99c,null));};exports[_0xfd04('0x9d')]=function(_0x5e0443,_0xa40b84){var _0x2c2ab0=[];_0x2c2ab0['push'](createCmHopperPhone(_0x5e0443[_0xfd04('0x36')]['id'],_0x5e0443[_0xfd04('0x36')]['hopperId']));Promise[_0xfd04('0x8c')](_0x2c2ab0)[_0xfd04('0x18')](function(){return[0x1];})[_0xfd04('0x18')](respondWithResult(_0xa40b84,null));};exports[_0xfd04('0x9e')]=function(_0x34e03e,_0x39fa76){var _0x355735={'raw':![],'where':{}};var _0x5cebd1={};var _0x4805e2={'count':0x0,'rows':[]};return db[_0xfd04('0x25')][_0xfd04('0x9f')]({'where':{'id':_0x34e03e['params']['id']}})[_0xfd04('0x18')](handleEntityNotFound(_0x39fa76,null))[_0xfd04('0x18')](function(_0x41bd99){if(_0x41bd99){_0x5cebd1[_0xfd04('0x7f')]=_[_0xfd04('0x29')](db[_0xfd04('0x3e')][_0xfd04('0xa0')]);_0x5cebd1['query']=_['keys'](_0x34e03e[_0xfd04('0x23')]);_0x5cebd1[_0xfd04('0x80')]=_[_0xfd04('0x81')](_0x5cebd1['model'],_0x5cebd1[_0xfd04('0x23')]);_0x355735[_0xfd04('0x82')]=_[_0xfd04('0x81')](_0x5cebd1['model'],qs[_0xfd04('0x83')](_0x34e03e[_0xfd04('0x23')][_0xfd04('0x83')]));_0x355735[_0xfd04('0x82')]=_0x355735[_0xfd04('0x82')][_0xfd04('0x28')]?_0x355735['attributes']:_0x5cebd1['model'];if(!_0x34e03e[_0xfd04('0x23')]['hasOwnProperty']('nolimit')){_0x355735[_0xfd04('0x14')]=qs[_0xfd04('0x14')](_0x34e03e[_0xfd04('0x23')]['limit']);_0x355735[_0xfd04('0x11')]=qs[_0xfd04('0x11')](_0x34e03e[_0xfd04('0x23')][_0xfd04('0x11')]);}_0x355735[_0xfd04('0xa1')]=qs[_0xfd04('0x84')](_0x34e03e['query']['sort']);_0x355735[_0xfd04('0x60')]=qs['filters'](_['pick'](_0x34e03e[_0xfd04('0x23')],_0x5cebd1[_0xfd04('0x80')]));_0x355735[_0xfd04('0x60')][_0xfd04('0xa2')]=_0x41bd99['id'];if(_0x34e03e[_0xfd04('0x23')]['filter']){_0x355735[_0xfd04('0x60')]=_['merge'](_0x355735[_0xfd04('0x60')],{'$or':_[_0xfd04('0x75')](_0x355735[_0xfd04('0x82')],function(_0x234415){var _0x1d010b={};_0x1d010b[_0x234415]={'$like':'%'+_0x34e03e['query']['filter']+'%'};return _0x1d010b;})});}_0x355735=_['merge']({},_0x355735,_0x34e03e[_0xfd04('0x88')]);return db[_0xfd04('0x3e')][_0xfd04('0x13')]({'where':_0x355735[_0xfd04('0x60')]})[_0xfd04('0x18')](function(_0x1f599f){_0x4805e2[_0xfd04('0x13')]=_0x1f599f;if(_0x34e03e['query'][_0xfd04('0xa3')]){_0x355735[_0xfd04('0xa4')]=[{'all':!![]}];}return db[_0xfd04('0x3e')][_0xfd04('0x6f')](_0x355735);})[_0xfd04('0x18')](function(_0x209318){_0x4805e2[_0xfd04('0xa5')]=_0x209318;return _0x4805e2;});}})[_0xfd04('0x18')](respondWithFilteredResult(_0x39fa76,_0x355735))[_0xfd04('0x35')](handleError(_0x39fa76,null));};exports[_0xfd04('0xa6')]=function(_0x82ae2,_0x82075b){var _0xba85b4={'raw':!![],'where':{}};var _0x58e0ca={};var _0x1441bf={'count':0x0,'rows':[]};return db[_0xfd04('0x25')]['findOne']({'where':{'id':_0x82ae2[_0xfd04('0x27')]['id']}})[_0xfd04('0x18')](handleEntityNotFound(_0x82075b,null))[_0xfd04('0x18')](function(_0x2ec601){if(_0x2ec601){_0x58e0ca['model']=_[_0xfd04('0x29')](db[_0xfd04('0xa7')][_0xfd04('0xa0')]);_0x58e0ca['query']=_[_0xfd04('0x29')](_0x82ae2[_0xfd04('0x23')]);_0x58e0ca[_0xfd04('0x80')]=_[_0xfd04('0x81')](_0x58e0ca[_0xfd04('0x7f')],_0x58e0ca[_0xfd04('0x23')]);_0xba85b4[_0xfd04('0x82')]=_[_0xfd04('0x81')](_0x58e0ca[_0xfd04('0x7f')],qs['fields'](_0x82ae2['query'][_0xfd04('0x83')]));_0xba85b4[_0xfd04('0x82')]=_0xba85b4[_0xfd04('0x82')][_0xfd04('0x28')]?_0xba85b4[_0xfd04('0x82')]:_0x58e0ca[_0xfd04('0x7f')];if(!_0x82ae2[_0xfd04('0x23')][_0xfd04('0x34')](_0xfd04('0xa8'))){_0xba85b4[_0xfd04('0x14')]=qs[_0xfd04('0x14')](_0x82ae2[_0xfd04('0x23')][_0xfd04('0x14')]);_0xba85b4['offset']=qs[_0xfd04('0x11')](_0x82ae2[_0xfd04('0x23')][_0xfd04('0x11')]);}_0xba85b4[_0xfd04('0xa1')]=qs[_0xfd04('0x84')](_0x82ae2[_0xfd04('0x23')][_0xfd04('0x84')]);_0xba85b4['where']=qs[_0xfd04('0x80')](_[_0xfd04('0x85')](_0x82ae2[_0xfd04('0x23')],_0x58e0ca[_0xfd04('0x80')]));_0xba85b4['where'][_0xfd04('0xa2')]=_0x2ec601['id'];if(_0x82ae2['query'][_0xfd04('0x86')]){_0xba85b4[_0xfd04('0x60')]=_[_0xfd04('0x87')](_0xba85b4['where'],{'$or':_[_0xfd04('0x75')](_0xba85b4[_0xfd04('0x82')],function(_0x9be28a){var _0x2d3dac={};_0x2d3dac[_0x9be28a]={'$like':'%'+_0x82ae2[_0xfd04('0x23')][_0xfd04('0x86')]+'%'};return _0x2d3dac;})});}_0xba85b4=_[_0xfd04('0x87')]({},_0xba85b4,_0x82ae2[_0xfd04('0x88')]);return db[_0xfd04('0xa7')]['count']({'where':_0xba85b4[_0xfd04('0x60')]})[_0xfd04('0x18')](function(_0x5e44e3){_0x1441bf[_0xfd04('0x13')]=_0x5e44e3;if(_0x82ae2[_0xfd04('0x23')][_0xfd04('0xa3')]){_0xba85b4[_0xfd04('0xa4')]=[{'all':!![]}];}return db[_0xfd04('0xa7')][_0xfd04('0x6f')](_0xba85b4);})[_0xfd04('0x18')](function(_0x22b663){_0x1441bf[_0xfd04('0xa5')]=_0x22b663;return _0x1441bf;});}})[_0xfd04('0x18')](respondWithFilteredResult(_0x82075b,_0xba85b4))[_0xfd04('0x35')](handleError(_0x82075b,null));};exports[_0xfd04('0xa9')]=function(_0x39b49f,_0xf92116){var _0x845526={'raw':!![],'where':{}};var _0x69a3d0={};var _0x2cf716={'count':0x0,'rows':[]};return db[_0xfd04('0x25')][_0xfd04('0x9f')]({'where':{'id':_0x39b49f['params']['id']}})[_0xfd04('0x18')](handleEntityNotFound(_0xf92116,null))['then'](function(_0x41e942){if(_0x41e942){_0x69a3d0[_0xfd04('0x7f')]=_[_0xfd04('0x29')](db['CmHopperFinal']['rawAttributes']);_0x69a3d0[_0xfd04('0x23')]=_[_0xfd04('0x29')](_0x39b49f[_0xfd04('0x23')]);_0x69a3d0[_0xfd04('0x80')]=_[_0xfd04('0x81')](_0x69a3d0[_0xfd04('0x7f')],_0x69a3d0[_0xfd04('0x23')]);_0x845526[_0xfd04('0x82')]=_[_0xfd04('0x81')](_0x69a3d0[_0xfd04('0x7f')],qs[_0xfd04('0x83')](_0x39b49f[_0xfd04('0x23')][_0xfd04('0x83')]));_0x845526[_0xfd04('0x82')]=_0x845526['attributes'][_0xfd04('0x28')]?_0x845526[_0xfd04('0x82')]:_0x69a3d0[_0xfd04('0x7f')];if(!_0x39b49f['query'][_0xfd04('0x34')](_0xfd04('0xa8'))){_0x845526[_0xfd04('0x14')]=qs['limit'](_0x39b49f['query'][_0xfd04('0x14')]);_0x845526[_0xfd04('0x11')]=qs[_0xfd04('0x11')](_0x39b49f['query'][_0xfd04('0x11')]);}_0x845526['order']=qs[_0xfd04('0x84')](_0x39b49f['query'][_0xfd04('0x84')]);_0x845526[_0xfd04('0x60')]=qs[_0xfd04('0x80')](_[_0xfd04('0x85')](_0x39b49f[_0xfd04('0x23')],_0x69a3d0[_0xfd04('0x80')]));_0x845526[_0xfd04('0x60')][_0xfd04('0xa2')]=_0x41e942['id'];if(_0x39b49f[_0xfd04('0x23')][_0xfd04('0x86')]){_0x845526[_0xfd04('0x60')]=_[_0xfd04('0x87')](_0x845526['where'],{'$or':_[_0xfd04('0x75')](_0x845526[_0xfd04('0x82')],function(_0x267ccc){var _0x27d0a5={};_0x27d0a5[_0x267ccc]={'$like':'%'+_0x39b49f['query'][_0xfd04('0x86')]+'%'};return _0x27d0a5;})});}_0x845526=_['merge']({},_0x845526,_0x39b49f[_0xfd04('0x88')]);return db[_0xfd04('0x4c')][_0xfd04('0x13')]({'where':_0x845526[_0xfd04('0x60')]})[_0xfd04('0x18')](function(_0x599875){_0x2cf716[_0xfd04('0x13')]=_0x599875;if(_0x39b49f[_0xfd04('0x23')][_0xfd04('0xa3')]){_0x845526[_0xfd04('0xa4')]=[{'all':!![]}];}return db[_0xfd04('0x4c')]['findAll'](_0x845526);})['then'](function(_0x4077b2){_0x2cf716['rows']=_0x4077b2;return _0x2cf716;});}})['then'](respondWithFilteredResult(_0xf92116,_0x845526))[_0xfd04('0x35')](handleError(_0xf92116,null));};exports[_0xfd04('0xaa')]=function(_0x406aa1,_0x3e1a69){var _0x5e22db={'raw':!![],'where':{}};var _0x17c712={};var _0x459627={'count':0x0,'rows':[]};return db['CmContact'][_0xfd04('0x9f')]({'where':{'id':_0x406aa1[_0xfd04('0x27')]['id']}})[_0xfd04('0x18')](handleEntityNotFound(_0x3e1a69,null))[_0xfd04('0x18')](function(_0xf6633f){if(_0xf6633f){_0x17c712[_0xfd04('0x7f')]=_[_0xfd04('0x29')](db[_0xfd04('0x53')]['rawAttributes']);_0x17c712['query']=_['keys'](_0x406aa1['query']);_0x17c712[_0xfd04('0x80')]=_[_0xfd04('0x81')](_0x17c712['model'],_0x17c712[_0xfd04('0x23')]);_0x5e22db['attributes']=_[_0xfd04('0x81')](_0x17c712[_0xfd04('0x7f')],qs[_0xfd04('0x83')](_0x406aa1[_0xfd04('0x23')][_0xfd04('0x83')]));_0x5e22db['attributes']=_0x5e22db[_0xfd04('0x82')][_0xfd04('0x28')]?_0x5e22db['attributes']:_0x17c712[_0xfd04('0x7f')];if(!_0x406aa1[_0xfd04('0x23')][_0xfd04('0x34')](_0xfd04('0xa8'))){_0x5e22db['limit']=qs[_0xfd04('0x14')](_0x406aa1[_0xfd04('0x23')][_0xfd04('0x14')]);_0x5e22db[_0xfd04('0x11')]=qs[_0xfd04('0x11')](_0x406aa1[_0xfd04('0x23')][_0xfd04('0x11')]);}_0x5e22db['order']=qs[_0xfd04('0x84')](_0x406aa1['query']['sort']);_0x5e22db[_0xfd04('0x60')]=qs['filters'](_[_0xfd04('0x85')](_0x406aa1[_0xfd04('0x23')],_0x17c712[_0xfd04('0x80')]));_0x5e22db[_0xfd04('0x60')][_0xfd04('0xa2')]=_0xf6633f['id'];if(_0x406aa1[_0xfd04('0x23')][_0xfd04('0x86')]){_0x5e22db['where']=_['merge'](_0x5e22db[_0xfd04('0x60')],{'$or':_[_0xfd04('0x75')](_0x5e22db[_0xfd04('0x82')],function(_0x46acaa){var _0x69653={};_0x69653[_0x46acaa]={'$like':'%'+_0x406aa1['query'][_0xfd04('0x86')]+'%'};return _0x69653;})});}_0x5e22db=_[_0xfd04('0x87')]({},_0x5e22db,_0x406aa1['options']);return db[_0xfd04('0x53')][_0xfd04('0x13')]({'where':_0x5e22db[_0xfd04('0x60')]})[_0xfd04('0x18')](function(_0x1a037c){_0x459627[_0xfd04('0x13')]=_0x1a037c;if(_0x406aa1[_0xfd04('0x23')][_0xfd04('0xa3')]){_0x5e22db[_0xfd04('0xa4')]=[{'all':!![]}];}return db[_0xfd04('0x53')][_0xfd04('0x6f')](_0x5e22db);})['then'](function(_0x5d6b5b){_0x459627[_0xfd04('0xa5')]=_0x5d6b5b;return _0x459627;});}})[_0xfd04('0x18')](respondWithFilteredResult(_0x3e1a69,_0x5e22db))[_0xfd04('0x35')](handleError(_0x3e1a69,null));};exports[_0xfd04('0xab')]=function(_0x1f20df,_0x2d5ae4){try{if(!_0x1f20df['body'][_0xfd04('0x63')]){throw new Error(_0xfd04('0xac'));}if(!_0x1f20df[_0xfd04('0x36')][_0xfd04('0xad')]){throw new Error('No\x20association\x20keys\x20specified!');}if(!_0x1f20df[_0xfd04('0x36')][_0xfd04('0xae')]){throw new Error(_0xfd04('0xaf'));}if(!_0x1f20df[_0xfd04('0x36')][_0xfd04('0xb0')]){throw new Error('Unable\x20to\x20synchronize\x20socket,\x20no\x20timestamp\x20passed');}var _0x43e68=_0x1f20df['body'][_0xfd04('0xad')][_0xfd04('0xb1')](',');var _0x1759d5=_0x1f20df[_0xfd04('0x36')][_0xfd04('0xae')][_0xfd04('0xb1')](',');if(!_0x43e68[_0xfd04('0x28')]||!_0x1759d5[_0xfd04('0x28')]||_0x43e68[_0xfd04('0x28')]!==_0x1759d5[_0xfd04('0x28')]){throw new Error('Incorrect\x20binding\x20parameters\x20passed!');}_0x1f20df[_0xfd04('0x36')][_0xfd04('0x83')]=_[_0xfd04('0xb2')](_0x43e68,_0x1759d5);if(!_0x1f20df[_0xfd04('0x36')]['fields'][_0xfd04('0x7d')]){throw new Error('No\x20phone\x20column\x20specified');}if(!_0x1f20df[_0xfd04('0x36')][_0xfd04('0x83')][_0xfd04('0xb3')]){throw new Error(_0xfd04('0xb4'));}var _0x388746=path[_0xfd04('0x3b')](config[_0xfd04('0xb5')],_0xfd04('0xb6'),_0x1f20df[_0xfd04('0xb7')][_0xfd04('0xb8')]);fs[_0xfd04('0xb9')](_0x388746,parseInt('0777',0x8));var _0x404c4a=require(_0xfd04('0xba'))[_0xfd04('0xbb')](path['join'](__dirname,_0xfd04('0xbc')),[_0x388746,_0x1f20df['body'][_0xfd04('0xad')],_0x1f20df['body'][_0xfd04('0xae')],_0x1f20df[_0xfd04('0x36')][_0xfd04('0x63')],_0x1f20df[_0xfd04('0x36')][_0xfd04('0xbd')],_0x1f20df[_0xfd04('0x36')]['duplicates'],_0x1f20df[_0xfd04('0x36')]['socket_timestamp']]);return _0x2d5ae4[_0xfd04('0x15')](0xc8)[_0xfd04('0x10')]({'message':'File\x20uploaded\x20correctly!','pid':_0x404c4a['pid']});}catch(_0x2c5c42){return _0x2d5ae4[_0xfd04('0x15')](0x1f4)[_0xfd04('0x1f')](_0x2c5c42);}};exports[_0xfd04('0xbe')]=function(_0x478ebf,_0x4b42ea){var _0x1c2852=fs[_0xfd04('0xbf')](_0x478ebf[_0xfd04('0xb7')][_0xfd04('0x2')]);Papa[_0xfd04('0xc0')](_0x1c2852,{'header':!![],'skipEmptyLines':!![],'preview':0x1,'complete':function(_0x3597b0){return _0x4b42ea[_0xfd04('0x15')](0xc8)['json']({'file':_0x478ebf[_0xfd04('0xb7')],'fields':_0x3597b0[_0xfd04('0xc1')][_0xfd04('0x83')]});}});};exports[_0xfd04('0xc2')]=function(_0x24ccb0,_0x5dac54){return db[_0xfd04('0xc3')][_0xfd04('0x6f')]({'raw':!![],'attributes':['id'],'where':{'role':_0xfd04('0xc4')}})['then'](function(_0x4faeb9){var _0x4812b2=![];if(!_0x24ccb0[_0xfd04('0x36')][_0xfd04('0x63')]){throw new Error('No\x20ListId\x20specified');}if(!_0x24ccb0['body'][_0xfd04('0xc5')][_0xfd04('0x7d')]){throw new Error('No\x20phone\x20column\x20specified');}if(!_0x24ccb0[_0xfd04('0x36')][_0xfd04('0xc5')][_0xfd04('0xb3')]){throw new Error(_0xfd04('0xb4'));}if(!_0x24ccb0[_0xfd04('0x36')]['socket_timestamp']){throw new Error(_0xfd04('0xc6'));}var _0x3d9239=require('child_process')[_0xfd04('0xbb')](path[_0xfd04('0x3b')](__dirname,_0xfd04('0xc7')),[_0x24ccb0[_0xfd04('0x27')]['id'],JSON[_0xfd04('0xc8')](_0x24ccb0['body']),JSON[_0xfd04('0xc8')](_0x4faeb9)]);_0x3d9239['on'](_0xfd04('0xc9'),function(){_0x4812b2=!![];return _0x5dac54[_0xfd04('0x15')](0xc8)[_0xfd04('0x10')]({'message':_0xfd04('0xca'),'pid':_0x3d9239['pid']});});_0x3d9239['on'](_0xfd04('0xcb'),function(_0x34b560){if(_0x34b560&&!_0x4812b2){return _0x5dac54[_0xfd04('0x15')](0x1f4)[_0xfd04('0x10')]({'message':_0xfd04('0xcc'),'pid':_0x3d9239[_0xfd04('0xcd')]});}});})['catch'](handleError(_0x5dac54,null));};exports[_0xfd04('0xce')]=function(_0x27cb2f,_0x2099df){return db[_0xfd04('0xc3')][_0xfd04('0x6f')]({'raw':!![],'attributes':['id'],'where':{'role':_0xfd04('0xc4')}})[_0xfd04('0x18')](function(_0xeaf950){var _0x17dec8=![];if(!_0x27cb2f[_0xfd04('0x36')][_0xfd04('0x63')]){throw new Error(_0xfd04('0xac'));}if(!_0x27cb2f[_0xfd04('0x36')][_0xfd04('0xc5')][_0xfd04('0x7d')]){throw new Error(_0xfd04('0xcf'));}if(!_0x27cb2f[_0xfd04('0x36')][_0xfd04('0xc5')][_0xfd04('0xb3')]){throw new Error(_0xfd04('0xb4'));}if(!_0x27cb2f['body'][_0xfd04('0xb0')]){throw new Error(_0xfd04('0xc6'));}var _0x3799e6=require(_0xfd04('0xba'))['fork'](path['join'](__dirname,'../../components/import/cm/csvUpdates'),[_0x27cb2f[_0xfd04('0x27')]['id'],JSON[_0xfd04('0xc8')](_0x27cb2f[_0xfd04('0x36')]),JSON[_0xfd04('0xc8')](_0xeaf950)]);_0x3799e6['on'](_0xfd04('0xc9'),function(){_0x17dec8=!![];return _0x2099df[_0xfd04('0x15')](0xc8)['json']({'message':_0xfd04('0xca'),'pid':_0x3799e6[_0xfd04('0xcd')]});});_0x3799e6['on'](_0xfd04('0xcb'),function(_0x4de225){if(_0x4de225&&!_0x17dec8){return _0x2099df[_0xfd04('0x15')](0x1f4)[_0xfd04('0x10')]({'message':_0xfd04('0xcc'),'pid':_0x3799e6[_0xfd04('0xcd')]});}});})[_0xfd04('0x35')](handleError(_0x2099df,null));};exports['getJourney']=function(_0x1f1071,_0x27889a){var _0x5957d7=[_0xfd04('0xd0'),_0xfd04('0xd1'),'sms',_0xfd04('0xd2'),_0xfd04('0xd3'),_0xfd04('0xd4'),_0xfd04('0xd5')];var _0x4cf89e={'offset':0x0,'order':qs[_0xfd04('0x84')](_0xfd04('0xd6'))},_0x202a52={'count':0x0,'rows':[]};Promise[_0xfd04('0xd7')]()[_0xfd04('0x18')](function(){if(_0x1f1071[_0xfd04('0x23')][_0xfd04('0xd8')]){if(!_[_0xfd04('0xd9')](_0x5957d7,_0x1f1071[_0xfd04('0x23')][_0xfd04('0xd8')][_0xfd04('0xda')]())){throw new Error(_0xfd04('0xdb'));}_0x5957d7=[_0x1f1071[_0xfd04('0x23')][_0xfd04('0xd8')][_0xfd04('0xda')]()];}if(_0x1f1071[_0xfd04('0x23')][_0xfd04('0xdc')]){try{var _0x1d739a=JSON['parse'](_0x1f1071['query'][_0xfd04('0xdc')]);if(!moment(_0x1d739a['from'])[_0xfd04('0xdd')]()){throw new Error(_0xfd04('0xde'));}if(!moment(_0x1d739a['to'])[_0xfd04('0xdd')]()){throw new Error(_0xfd04('0xdf'));}}catch(_0x9a9b7b){throw new Error(_0xfd04('0xe0'));}}if(!_0x1f1071[_0xfd04('0x23')][_0xfd04('0x34')](_0xfd04('0xa8'))){_0x4cf89e[_0xfd04('0x14')]=qs['limit'](_0x1f1071['query']['limit']||0xa);_0x4cf89e[_0xfd04('0x11')]=qs[_0xfd04('0x11')](_0x1f1071[_0xfd04('0x23')]['offset']);}var _0x213c04=_0x5957d7[_0xfd04('0x75')](function(_0x5a1421){if(_0x5a1421===_0xfd04('0xd5')){var _0x485fde={'attributes':['id',_0xfd04('0xe1'),_0xfd04('0xe2'),_0xfd04('0xe3'),_0xfd04('0xe4'),'callerid',_0xfd04('0xe5'),_0xfd04('0xe6'),_0xfd04('0xe7'),_0xfd04('0xe8'),_0xfd04('0xe9'),_0xfd04('0xea'),_0xfd04('0xeb'),'userThirdDisposition',_0xfd04('0xec')],'where':{'ContactId':_0x1f1071[_0xfd04('0x27')]['id']},'include':[{'model':db[_0xfd04('0xc3')],'as':_0xfd04('0xc3'),'attributes':['id',_0xfd04('0x1e'),_0xfd04('0xed'),_0xfd04('0x2f')]}],'order':[[_0xfd04('0xe9'),_0xfd04('0xee')]]};if(_0x1f1071[_0xfd04('0x23')][_0xfd04('0xdc')]){_0x485fde[_0xfd04('0x60')][_0xfd04('0xe9')]={'$gte':_0x1d739a[_0xfd04('0x3d')],'$lte':_0x1d739a['to']};}return db['VoiceCallReport'][_0xfd04('0xef')](_0x485fde)['then'](function(_0x304807){_0x202a52[_0xfd04('0x13')]+=_0x304807[_0xfd04('0x13')];return _[_0xfd04('0x75')](_0x304807['rows'],function(_0x41cb1a){var _0x3ce570=_0x41cb1a['get']({'plain':!![]});_0x3ce570['channel']=_0x5a1421;if(_0x3ce570['User']){_0x3ce570[_0xfd04('0xc3')]={'id':_0x3ce570[_0xfd04('0xc3')]['id'],'name':_0x3ce570[_0xfd04('0xc3')][_0xfd04('0x1e')],'fullname':_0x3ce570[_0xfd04('0xc3')][_0xfd04('0xed')],'alias':_0x3ce570['User'][_0xfd04('0x2f')]};}return _0x3ce570;});});}else{var _0x1730ee=_[_0xfd04('0xf0')](_0x5a1421)+(_0x5a1421===_0xfd04('0xd1')?'Website':_0xfd04('0xf1'));var _0x1d149b={'attributes':['id',_0xfd04('0xf2'),'closedAt','createdAt',_0xfd04('0xe8'),_0xfd04('0xf3'),'secondDisposition',_0xfd04('0xf4'),_0xfd04('0xec'),_0x1730ee+'Id'],'where':{'ContactId':_0x1f1071['params']['id']},'include':[{'model':db[_0x1730ee],'as':_0xfd04('0xf1'),'attributes':['id',_0xfd04('0x1e'),_0xfd04('0xf5')]},{'model':db[_0xfd04('0xc3')],'as':_0xfd04('0xf6'),'attributes':['id',_0xfd04('0x1e'),_0xfd04('0xed')]},{'model':db['Tag'],'as':_0xfd04('0x68'),'attributes':['id',_0xfd04('0x1e'),'color'],'through':{'attributes':[]}}],'order':[[_0xfd04('0xe9'),_0xfd04('0xee')]]};if(_0x1f1071[_0xfd04('0x23')][_0xfd04('0xdc')]){_0x1d149b[_0xfd04('0x60')][_0xfd04('0xe9')]={'$gte':_0x1d739a[_0xfd04('0x3d')],'$lte':_0x1d739a['to']};}switch(_0x5a1421){case _0xfd04('0xd1'):_0x1d149b[_0xfd04('0x82')]['push']('browserName','customerIp',_0xfd04('0xf7'),_0xfd04('0xf8'),_0xfd04('0xf9'),_0xfd04('0xfa'),_0xfd04('0xfb'),_0xfd04('0xfc'),'referer');break;case _0xfd04('0xd0'):_0x1d149b['attributes'][_0xfd04('0x62')](_0xfd04('0xfd'),_0xfd04('0xfe'));break;case _0xfd04('0xd2'):_0x1d149b[_0xfd04('0x82')][_0xfd04('0x62')](_0xfd04('0xff'),_0xfd04('0x100'));break;}return db[_[_0xfd04('0xf0')](_0x5a1421)+_0xfd04('0x101')][_0xfd04('0xef')](_0x1d149b)[_0xfd04('0x18')](function(_0x1e8100){_0x202a52[_0xfd04('0x13')]+=_0x1e8100[_0xfd04('0x13')];return _[_0xfd04('0x75')](_0x1e8100[_0xfd04('0xa5')],function(_0x18678d){var _0x59d6a1=_0x18678d[_0xfd04('0x37')]({'plain':!![]});_0x59d6a1[_0xfd04('0xd8')]=_0x5a1421;if(_0x59d6a1[_0xfd04('0xf6')]){_0x59d6a1['Owner']={'id':_0x59d6a1[_0xfd04('0xf6')]['id'],'name':_0x59d6a1['Owner'][_0xfd04('0x1e')],'fullname':_0x59d6a1[_0xfd04('0xf6')][_0xfd04('0xed')]};}return _0x59d6a1;});});}});return Promise[_0xfd04('0x8c')](_0x213c04);})['then'](function(_0xc8cca1){return _(_0xc8cca1)[_0xfd04('0x102')]()[_0xfd04('0x103')]('createdAt')[_0xfd04('0x104')]()['value']();})[_0xfd04('0x18')](function(_0x32ac5e){_0x202a52['rows']=_0x4cf89e[_0xfd04('0x14')]?_0x32ac5e['slice'](_0x4cf89e[_0xfd04('0x11')],_0x4cf89e[_0xfd04('0x11')]+_0x4cf89e[_0xfd04('0x14')]):_0x32ac5e;return _0x202a52;})[_0xfd04('0x18')](respondWithFilteredResult(_0x27889a,_0x4cf89e))['catch'](handleError(_0x27889a,null));};