68a2d592b6d10d02f3d8977b4889101d1f7ab5e4
[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 _0x9957=['c.deletedAt','c.CompanyId','GROUP_CONCAT(DISTINCT\x20t.id)','TagIds','Tags','catch','params','describe','tags','columnName','displayName','findAll','alias','values','body','get','join','info','CmHopper','CmHopperBlack','[CmContact][merge][destroy][CmHopperBlack],\x20%s','ChatMessage','ChatOfflineMessage','MailInteraction','MailMessage','FaxMessage','OpenchannelInteraction','OpenchannelMessage','CmHopperFinal','ReportAgentPreview','ChatQueueReport','MailQueueReport','OpenchannelQueueReport','JscriptySessionReport','create','bulkCreate','duplicates','$or','findOrCreate','show','$and','omit','format','cf_%d','table','cm_contacts','id\x20=\x20?','toParam','text','phone','rawAttributes','options','getTags','setTags','ids','getHoppers','ContactId','include','rows','getHopperHistories','CmHopperHistory','includeAll','getHopperFinals','getJscriptySessions','uploadCsv','No\x20ListId\x20specified','binding_keys','binding_values','No\x20association\x20values\x20specified!','socket_timestamp','Unable\x20to\x20synchronize\x20socket,\x20no\x20timestamp\x20passed','Incorrect\x20binding\x20parameters\x20passed!','zipObject','firstName','No\x20firstName\x20column\x20specified','root','server/files/tmp','file','filename','chmodSync','0777','../../components/import/cm/csv','CompanyId','File\x20uploaded\x20correctly!','pid','send','upload','createReadStream','parse','meta','import','binding','child_process','fork','../../components/import/cm/csv2','message','exit','error\x20child\x20process','getJourney','chat','sms','fax','voice','channel','includes','toLowerCase','Invalid\x20channel','range','isValid','Invalid\x20date\x20for\x20range\x20from\x20filter','Invalid\x20createdAt\x20filter','source','callerid','endtime','duration','note','userThirdDisposition','fullname','createdAt','VoiceCallReport','findAndCountAll','startCase','closed','closedAt','disposition','secondDisposition','thirdDisposition','UserId','Account','Owner','customerIp','deviceModel','osName','ratingMessage','ratingType','ratingValue','referer','mail','subject','openchannel','externalUrl','threadId','Interaction','all','flatten','sortBy','reverse','html-pdf','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','register','sendStatus','status','end','json','count','limit','Content-Range','apply','reject','save','update','then','destroy','error','stack','name','index','keys','length','startsWith','push','CmCustomField','findOne','trimStart','cf_','type','model','query','intersection','fields','attributes','hasOwnProperty','nolimit','offset','order','sort','where','filters','pick','field','color','select','from','left_join','uc.CmContactId\x20=\x20c.id','ct.CmContactId\x20=\x20c.id','tools_tags','t.id\x20=\x20ct.TagId','c.deletedAt\x20IS\x20NULL','expr','search','sqlOperator','conditions','find','Tag','split','map','forEach','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','User','and','uc.UserId\x20=\x20?','value','dateOfBirth','fieldType','datetime','DATE','buildExpression','start','filter','isNil','ListId','c.ListId\x20IN\x20?','concat','Contact','CONCAT_WS(\x27\x20\x27,\x20c.firstName,\x20c.lastName,\x20c.email)\x20LIKE\x20?','\x20=\x20?','tag','isArray','replace','getFullTextValue','isNumeric','c.id\x20LIKE\x20?','c.phone\x20LIKE\x20?','c.mobile\x20LIKE\x20?','c.fax\x20LIKE\x20?','isEmail','c.email\x20LIKE\x20?','c.firstName\x20LIKE\x20?','group','c.id','QueryTypes','SELECT','clone','DESC','isEmpty','having','t.id\x20IN\x20?','resolve','user','role','agent','some','getLists','c.ListId\x20IS\x20NULL','sequelize','toString','keyBy','merge','CmContact','c.lastName','c.mobile','c.fax','c.email','c.createdAt'];(function(_0x3d5ad8,_0x338d1c){var _0x40bf6a=function(_0x4be312){while(--_0x4be312){_0x3d5ad8['push'](_0x3d5ad8['shift']());}};_0x40bf6a(++_0x338d1c);}(_0x9957,0x93));var _0x7995=function(_0x6c993a,_0x5ea3ab){_0x6c993a=_0x6c993a-0x0;var _0x27f547=_0x9957[_0x6c993a];return _0x27f547;};'use strict';var pdf=require(_0x7995('0x0'));var emlformat=require(_0x7995('0x1'));var rimraf=require(_0x7995('0x2'));var zipdir=require(_0x7995('0x3'));var jsonpatch=require('fast-json-patch');var rp=require(_0x7995('0x4'));var moment=require(_0x7995('0x5'));var BPromise=require(_0x7995('0x6'));var Mustache=require(_0x7995('0x7'));var util=require('util');var path=require(_0x7995('0x8'));var sox=require(_0x7995('0x9'));var csv=require(_0x7995('0xa'));var ejs=require(_0x7995('0xb'));var fs=require('fs');var _=require(_0x7995('0xc'));var squel=require(_0x7995('0xd'));var crypto=require('crypto');var jsforce=require(_0x7995('0xe'));var deskjs=require(_0x7995('0xf'));var toCsv=require('to-csv');var querystring=require(_0x7995('0x10'));var Papa=require(_0x7995('0x11'));var Redis=require(_0x7995('0x12'));var authService=require(_0x7995('0x13'));var qs=require(_0x7995('0x14'));var as=require(_0x7995('0x15'));var hardwareService=require(_0x7995('0x16'));var logger=require('../../config/logger')(_0x7995('0x17'));var utils=require(_0x7995('0x18'));var config=require('../../config/environment');var licenseUtil=require(_0x7995('0x19'));var db=require(_0x7995('0x1a'))['db'];config[_0x7995('0x1b')]=_[_0x7995('0x1c')](config[_0x7995('0x1b')],{'host':_0x7995('0x1d'),'port':0x18eb});var socket=require(_0x7995('0x1e'))(new Redis(config['redis']));require('./cmContact.socket')[_0x7995('0x1f')](socket);function respondWithStatusCode(_0x2233dd,_0x24b5bb){_0x24b5bb=_0x24b5bb||0xcc;return function(_0x321ae8){if(_0x321ae8){return _0x2233dd[_0x7995('0x20')](_0x24b5bb);}return _0x2233dd[_0x7995('0x21')](_0x24b5bb)[_0x7995('0x22')]();};}function respondWithResult(_0x41cbf0,_0x5377e5){_0x5377e5=_0x5377e5||0xc8;return function(_0x2eeacc){if(_0x2eeacc){return _0x41cbf0['status'](_0x5377e5)[_0x7995('0x23')](_0x2eeacc);}};}function respondWithFilteredResult(_0x37f297,_0x43d4b8){return function(_0x291317){if(_0x291317){var _0x1e1415=_0x291317[_0x7995('0x24')],_0x37a7d4=_0x43d4b8['offset'],_0x4faa60=_0x43d4b8['offset']+_0x43d4b8[_0x7995('0x25')],_0x54c9ae;if(_0x4faa60>=_0x1e1415){_0x4faa60=_0x1e1415;_0x54c9ae=0xc8;}else{_0x54c9ae=0xce;}_0x37f297[_0x7995('0x21')](_0x54c9ae);return _0x37f297['set'](_0x7995('0x26'),_0x37a7d4+'-'+_0x4faa60+'/'+_0x1e1415)['json'](_0x291317);}return null;};}function patchUpdates(_0x4b1a8e){return function(_0x3e4c54){try{jsonpatch[_0x7995('0x27')](_0x3e4c54,_0x4b1a8e,!![]);}catch(_0x350fd9){return BPromise[_0x7995('0x28')](_0x350fd9);}return _0x3e4c54[_0x7995('0x29')]();};}function saveUpdates(_0x1c278a,_0x5d40ae){return function(_0x32a09a){if(_0x32a09a){return _0x32a09a[_0x7995('0x2a')](_0x1c278a)[_0x7995('0x2b')](function(_0x285437){return _0x285437;});}return null;};}function removeEntity(_0x563799,_0x13bc35){return function(_0x475351){if(_0x475351){return _0x475351[_0x7995('0x2c')]()['then'](function(){_0x563799[_0x7995('0x21')](0xcc)[_0x7995('0x22')]();});}};}function handleEntityNotFound(_0x401dc3,_0x268ce7){return function(_0x3a3fcf){if(!_0x3a3fcf){_0x401dc3[_0x7995('0x20')](0x194);}return _0x3a3fcf;};}function handleError(_0x56691a,_0x47625f){_0x47625f=_0x47625f||0x1f4;return function(_0x5911c3){logger[_0x7995('0x2d')](_0x5911c3[_0x7995('0x2e')]);if(_0x5911c3[_0x7995('0x2f')]){delete _0x5911c3[_0x7995('0x2f')];}_0x56691a[_0x7995('0x21')](_0x47625f)['send'](_0x5911c3);};}exports[_0x7995('0x30')]=function(_0x514445,_0x456a28){var _0x3250e0={},_0x4253e5={},_0x574574={'count':0x0,'rows':[]};return db['CmContact']['describe']()[_0x7995('0x2b')](function(_0xe6b0b3){var _0x327a81=[];for(var _0x2b874d=0x0;_0x2b874d<Object[_0x7995('0x31')](_0xe6b0b3)[_0x7995('0x32')];_0x2b874d++){var _0x538841=Object['keys'](_0xe6b0b3)[_0x2b874d];if(_[_0x7995('0x33')](_0x538841,'cf_')){_0x327a81[_0x7995('0x34')](db[_0x7995('0x35')][_0x7995('0x36')]({'where':{'id':_[_0x7995('0x37')](_0x538841,_0x7995('0x38'))},'raw':!![]}));}}return BPromise['all'](_0x327a81)[_0x7995('0x2b')](function(_0x33e24e){for(var _0x5dd802=0x0;_0x5dd802<_0x33e24e['length'];_0x5dd802++){if(_0x33e24e[_0x5dd802]){var _0x577412=_0x7995('0x38')+_0x33e24e[_0x5dd802]['id'];var _0x3acfc3=_0xe6b0b3[_0x577412];_0x3acfc3['fieldType']=_0x33e24e[_0x5dd802][_0x7995('0x39')];}}return _0xe6b0b3;});})['then'](function(_0x37917b){_0x4253e5[_0x7995('0x3a')]=_[_0x7995('0x31')](_0x37917b);_0x4253e5['query']=_['keys'](_0x514445[_0x7995('0x3b')]);_0x4253e5['filters']=_['intersection'](_0x4253e5[_0x7995('0x3a')],_0x4253e5[_0x7995('0x3b')]);_0x3250e0['attributes']=_[_0x7995('0x3c')](_0x4253e5[_0x7995('0x3a')],qs[_0x7995('0x3d')](_0x514445[_0x7995('0x3b')][_0x7995('0x3d')]));_0x3250e0['attributes']=_0x3250e0[_0x7995('0x3e')][_0x7995('0x32')]?_0x3250e0[_0x7995('0x3e')]:_0x4253e5[_0x7995('0x3a')];if(!_0x514445['query'][_0x7995('0x3f')](_0x7995('0x40'))){_0x3250e0[_0x7995('0x25')]=qs[_0x7995('0x25')](_0x514445[_0x7995('0x3b')][_0x7995('0x25')]);_0x3250e0['offset']=qs[_0x7995('0x41')](_0x514445[_0x7995('0x3b')][_0x7995('0x41')]);}_0x3250e0[_0x7995('0x42')]=qs[_0x7995('0x43')](_0x514445[_0x7995('0x3b')][_0x7995('0x43')]);_0x3250e0[_0x7995('0x44')]=qs[_0x7995('0x45')](_[_0x7995('0x46')](_0x514445[_0x7995('0x3b')],_0x4253e5[_0x7995('0x45')]),_0x37917b);var _0x7b4e67=[];var _0x53cda2=squel['select']()[_0x7995('0x47')]('id')[_0x7995('0x47')]('name')['field'](_0x7995('0x48'))['from']('tools_tags');var _0x23da6b=squel[_0x7995('0x49')]()[_0x7995('0x4a')]('cm_contacts','c')[_0x7995('0x4b')]('cm_user_has_contacts','uc',_0x7995('0x4c'))['left_join']('cm_contact_has_tags','ct',_0x7995('0x4d'))[_0x7995('0x4b')](_0x7995('0x4e'),'t',_0x7995('0x4f'))['where'](_0x7995('0x50'));var _0x40fc68=squel[_0x7995('0x51')]();var _0x6c7bec=[];var _0x4e09b7=squel['expr']();var _0x1c37c6;if(_0x514445['query'][_0x7995('0x52')]){_0x1c37c6=as['parseSearch'](_0x514445[_0x7995('0x3b')]['search']);var _0x1e795e=_0x1c37c6[_0x7995('0x53')];for(var _0x4d9245=0x0;_0x4d9245<_0x1c37c6[_0x7995('0x54')][_0x7995('0x32')];_0x4d9245++){var _0x314145=_0x1c37c6[_0x7995('0x54')][_0x4d9245];var _0x4c6837='c';var _0x2458cb=_(_0x37917b)[_0x7995('0x31')]()[_0x7995('0x55')](function(_0x491184){return _0x491184===_0x314145[_0x7995('0x47')];});if(_0x2458cb)_0x2458cb=_0x37917b[_0x314145[_0x7995('0x47')]];if(!_0x2458cb){if(_0x314145[_0x7995('0x47')]===_0x7995('0x56')){var _0x255313=_0x314145['value'][_0x7995('0x57')](',')[_0x7995('0x58')](function(_0x5921b9){return Number(_0x5921b9);});_0x255313[_0x7995('0x59')](function(_0x5843ba){_0x4e09b7['or'](_0x7995('0x5a'),'%,'+_0x5843ba+',%');});_0x6c7bec=_[_0x7995('0x5b')](_0x6c7bec,_0x255313);}else if(_0x314145[_0x7995('0x47')]===_0x7995('0x5c')){_0x40fc68[_0x7995('0x5d')](_0x7995('0x5e'),_0x314145[_0x7995('0x5f')]);}}else{if(_0x314145['field']===_0x7995('0x60')||_0x2458cb[_0x7995('0x61')]===_0x7995('0x62'))_0x314145['castTo']=_0x7995('0x63');var _0x1fe77e=as[_0x7995('0x64')](_0x4c6837,_0x2458cb['type'],_0x314145);_0x40fc68[_0x1e795e](_0x1fe77e['text'],_0x1fe77e['value'][_0x7995('0x65')],_0x1fe77e[_0x7995('0x5f')]['end']);}}}else{var _0x1cd85=_(Object[_0x7995('0x31')](_0x514445[_0x7995('0x3b')]))[_0x7995('0x58')](function(_0xc04004){return _0x37917b['hasOwnProperty'](_0xc04004)?_0xc04004:undefined;})[_0x7995('0x66')](function(_0x4ab09f){return!_[_0x7995('0x67')](_0x4ab09f);})[_0x7995('0x5f')]();if(_0x514445[_0x7995('0x3b')]['Contact'])_0x1cd85['push']('Contact');if(!_['isEmpty'](_0x1cd85)){_0x1cd85[_0x7995('0x59')](function(_0x3709de){if(_0x3709de===_0x7995('0x68')){_0x23da6b[_0x7995('0x44')](_0x7995('0x69'),[][_0x7995('0x6a')](_0x514445[_0x7995('0x3b')][_0x3709de]));}else if(_0x3709de===_0x7995('0x6b')){var _0x328671='%'+_0x514445[_0x7995('0x3b')][_0x3709de]+'%';_0x23da6b[_0x7995('0x44')](_0x7995('0x6c'),_0x328671);}else{_0x23da6b[_0x7995('0x44')]('c.'+_0x3709de+_0x7995('0x6d'),_0x514445[_0x7995('0x3b')][_0x3709de]);}});}if(_0x514445[_0x7995('0x3b')][_0x7995('0x6e')]){_0x6c7bec=_[_0x7995('0x6f')](_0x514445[_0x7995('0x3b')]['tag'])?_0x514445[_0x7995('0x3b')][_0x7995('0x6e')]:new Array(_0x514445[_0x7995('0x3b')][_0x7995('0x6e')]);_0x6c7bec['forEach'](function(_0x53125a){_0x4e09b7['or'](_0x7995('0x5a'),'%,'+_0x53125a+',%');});}if(_0x514445[_0x7995('0x3b')][_0x7995('0x66')]){var _0x332a85=_0x514445['query'][_0x7995('0x66')][_0x7995('0x70')]('\x5c','\x5c\x5c')[_0x7995('0x70')](/'/g,'\x27\x27');if(_0x332a85[_0x7995('0x57')]('\x20')['length']>0x1){_0x40fc68['or']('MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs[_0x7995('0x71')](_0x332a85),null);}else{if(qs[_0x7995('0x72')](_0x332a85)){_0x40fc68['or'](_0x7995('0x73'),_0x332a85+'%');_0x40fc68['or'](_0x7995('0x74'),_0x332a85+'%');_0x40fc68['or'](_0x7995('0x75'),_0x332a85+'%');_0x40fc68['or'](_0x7995('0x76'),_0x332a85+'%');}else if(qs[_0x7995('0x77')](_0x332a85)){_0x40fc68['or'](_0x7995('0x78'),_0x332a85+'%');}else{_0x40fc68['or'](_0x7995('0x79'),'%'+_0x332a85+'%');_0x40fc68['or']('c.lastName\x20LIKE\x20?','%'+_0x332a85+'%');_0x40fc68['or'](_0x7995('0x78'),'%'+_0x332a85+'%');}}}}_0x23da6b[_0x7995('0x44')](_0x40fc68);_0x23da6b[_0x7995('0x7a')](_0x7995('0x7b'));var _0x59c5aa={'type':db['Sequelize'][_0x7995('0x7c')][_0x7995('0x7d')],'raw':!![]};var _0x47d5d7=_0x23da6b[_0x7995('0x7e')]()[_0x7995('0x47')](_0x7995('0x7b'));if(_0x3250e0[_0x7995('0x42')]){_0x3250e0[_0x7995('0x42')]['forEach'](function(_0x457d09){_0x23da6b['order']('c.'+_0x457d09[0x0],_0x457d09[0x1]===_0x7995('0x7f')?![]:!![]);});}if(!_[_0x7995('0x80')](_0x6c7bec)){_0x23da6b[_0x7995('0x81')](_0x4e09b7);_0x47d5d7[_0x7995('0x44')](_0x7995('0x82'),_0x6c7bec);}BPromise[_0x7995('0x83')]()[_0x7995('0x2b')](function(){if(!_0x1c37c6)return;if(_0x514445[_0x7995('0x84')][_0x7995('0x85')]!==_0x7995('0x86'))return;if(!_[_0x7995('0x87')](_0x1c37c6[_0x7995('0x54')],['field',_0x7995('0x5c')])){return _0x514445[_0x7995('0x84')][_0x7995('0x88')]({'attributes':['id'],'raw':!![]})[_0x7995('0x2b')](function(_0x2c6548){if(_['isEmpty'](_0x2c6548)){_0x47d5d7['where'](_0x7995('0x89'));_0x23da6b[_0x7995('0x44')](_0x7995('0x89'));}else{_0x47d5d7[_0x7995('0x44')]('c.ListId\x20IN\x20?',_[_0x7995('0x58')](_0x2c6548,'id'));_0x23da6b['where']('c.ListId\x20IN\x20?',_[_0x7995('0x58')](_0x2c6548,'id'));}});}})[_0x7995('0x2b')](function(){if(_0x514445[_0x7995('0x84')][_0x7995('0x85')]===_0x7995('0x86')&&!_0x1c37c6&&!_0x514445[_0x7995('0x3b')][_0x7995('0x68')])return[];return db[_0x7995('0x8a')][_0x7995('0x3b')](_0x47d5d7[_0x7995('0x8b')](),_0x59c5aa);})['then'](function(_0x2dc1f7){_0x574574[_0x7995('0x24')]=_0x2dc1f7[_0x7995('0x32')];if(_0x574574['count']===0x0)return[];return db[_0x7995('0x8a')][_0x7995('0x3b')](_0x53cda2[_0x7995('0x8b')](),_0x59c5aa)[_0x7995('0x2b')](function(_0x3b0d30){_0x7b4e67=_[_0x7995('0x8c')](_0x3b0d30,'id');_0x59c5aa=_[_0x7995('0x8d')](_0x59c5aa,{'model':db[_0x7995('0x8e')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x514445[_0x7995('0x3b')][_0x7995('0x3d')]){_0x3250e0[_0x7995('0x3e')]['forEach'](function(_0x5e8b4c){_0x23da6b[_0x7995('0x47')]('c.'+_0x5e8b4c);});}else{_0x23da6b[_0x7995('0x47')](_0x7995('0x7b'));_0x23da6b[_0x7995('0x47')]('c.firstName');_0x23da6b[_0x7995('0x47')](_0x7995('0x8f'));_0x23da6b['field']('c.phone');_0x23da6b[_0x7995('0x47')](_0x7995('0x90'));_0x23da6b['field'](_0x7995('0x91'));_0x23da6b['field'](_0x7995('0x92'));_0x23da6b[_0x7995('0x47')]('c.ListId');_0x23da6b['field'](_0x7995('0x93'));_0x23da6b['field'](_0x7995('0x94'));_0x23da6b[_0x7995('0x47')](_0x7995('0x95'));_0x23da6b[_0x7995('0x47')](_0x7995('0x96'),_0x7995('0x97'));}if(_0x3250e0[_0x7995('0x25')])_0x23da6b[_0x7995('0x25')](_0x3250e0[_0x7995('0x25')]);if(_0x3250e0[_0x7995('0x41')])_0x23da6b[_0x7995('0x41')](_0x3250e0[_0x7995('0x41')]);return db[_0x7995('0x8a')][_0x7995('0x3b')](_0x23da6b[_0x7995('0x8b')](),_0x59c5aa);});})[_0x7995('0x2b')](function(_0x6ad274){_0x6ad274[_0x7995('0x59')](function(_0x2ff7ba){if(_0x2ff7ba[_0x7995('0x97')]){_0x2ff7ba[_0x7995('0x98')]=[];_0x2ff7ba[_0x7995('0x97')][_0x7995('0x57')](',')[_0x7995('0x59')](function(_0x260ef1){_0x2ff7ba[_0x7995('0x98')][_0x7995('0x34')](_0x7b4e67[_0x260ef1]);});}delete _0x2ff7ba[_0x7995('0x97')];});_0x574574['rows']=_0x6ad274;return _0x574574;})[_0x7995('0x2b')](respondWithFilteredResult(_0x456a28,_0x3250e0));})[_0x7995('0x99')](handleError(_0x456a28,null));};exports['destroy']=function(_0x4c85cb,_0x15e8d1){return db[_0x7995('0x8e')][_0x7995('0x55')]({'where':{'id':_0x4c85cb[_0x7995('0x9a')]['id']}})[_0x7995('0x2b')](handleEntityNotFound(_0x15e8d1,null))[_0x7995('0x2b')](removeEntity(_0x15e8d1,null))['catch'](handleError(_0x15e8d1,null));};exports[_0x7995('0x9b')]=function(_0xb68962,_0x3fea6a){return db[_0x7995('0x8e')][_0x7995('0x9b')]()[_0x7995('0x2b')](function(_0x151d99){delete _0x151d99[_0x7995('0x9c')];for(var _0x560095=0x0;_0x560095<Object[_0x7995('0x31')](_0x151d99)[_0x7995('0x32')];_0x560095++){var _0x5c04c9=Object['keys'](_0x151d99)[_0x560095];if(!_[_0x7995('0x33')](_0x5c04c9,_0x7995('0x38'))){_0x151d99[_0x5c04c9][_0x7995('0x9d')]=_0x5c04c9;_0x151d99[_0x5c04c9][_0x7995('0x9e')]=_0x5c04c9;}}return _0x151d99;})[_0x7995('0x2b')](function(_0x4a02ea){var _0x35f6cb={'where':{'$or':[{'ListId':_0xb68962[_0x7995('0x3b')]['id']},{'ListId':null}]},'raw':!![]};return db['CmCustomField'][_0x7995('0x9f')](_0x35f6cb)[_0x7995('0x2b')](function(_0x489bac){for(var _0x1535a3=0x0;_0x1535a3<_0x489bac['length'];_0x1535a3++){var _0x135191=_0x7995('0x38')+_0x489bac[_0x1535a3]['id'];_0x4a02ea[_0x135191][_0x7995('0x9d')]=_0x135191;_0x4a02ea[_0x135191][_0x7995('0x9e')]=_0x489bac[_0x1535a3][_0x7995('0xa0')];_0x4a02ea[_0x135191]['custom']={'type':_0x489bac[_0x1535a3][_0x7995('0x39')],'values':_0x489bac[_0x1535a3][_0x7995('0xa1')]};}Object[_0x7995('0x31')](_0x4a02ea)['forEach'](function(_0x29dff6){if(!_0x4a02ea[_0x29dff6][_0x7995('0x3f')](_0x7995('0x9d'))){delete _0x4a02ea[_0x29dff6];}});return _0x4a02ea;});})[_0x7995('0x2b')](respondWithResult(_0x3fea6a,null))['catch'](handleError(_0x3fea6a,null));};exports[_0x7995('0x8d')]=function(_0xf59a39,_0x3a5f5e){var _0x4aafa3;var _0x5358d4;var _0x3fc10;if(_0xf59a39[_0x7995('0xa2')]['id']){delete _0xf59a39['body']['id'];}return db['CmContact'][_0x7995('0x9f')]({'where':{'id':[_0xf59a39[_0x7995('0xa2')]['to'],_0xf59a39[_0x7995('0xa2')][_0x7995('0x4a')]]}})[_0x7995('0x2b')](function(_0x551b5e){if(_0x551b5e){if(_0x551b5e['length']!==0x2){return null;}_0x551b5e[0x0]=_0x551b5e[0x0][_0x7995('0xa3')]({'plain':!![]});_0x551b5e[0x1]=_0x551b5e[0x1]['get']({'plain':!![]});delete _0x551b5e[0x0]['id'];delete _0x551b5e[0x1]['id'];return _['mergeWith'](_0x551b5e[0x0],_0x551b5e[0x1],function(_0x208998,_0x3b731e){if(Array[_0x7995('0x6f')](_0x3b731e)&&!_0x3b731e['length']){return _0x208998;}else if(!_0x3b731e){return _0x208998;}});}})[_0x7995('0x2b')](handleEntityNotFound(_0x3a5f5e,null))[_0x7995('0x2b')](function(_0x2b0b79){if(_0x2b0b79){if(_0x2b0b79[_0x7995('0x9c')]&&_[_0x7995('0x6f')](_0x2b0b79['tags'])){_0x2b0b79[_0x7995('0x9c')]=_0x2b0b79[_0x7995('0x9c')][_0x7995('0xa4')]();}logger[_0x7995('0xa5')]('[CmContact][merge]\x20to\x20%s\x20from\x20%s',_0xf59a39[_0x7995('0xa2')]['to'],_0xf59a39[_0x7995('0xa2')]['from']);return db[_0x7995('0xa6')][_0x7995('0x2c')]({'where':{'ContactId':[_0xf59a39['body']['to'],_0xf59a39[_0x7995('0xa2')]['from']]}})[_0x7995('0x2b')](function(_0x51e7d7){logger[_0x7995('0xa5')]('[CmContact][merge][destroy][CmHopper],\x20%s',_0x51e7d7);return db[_0x7995('0xa7')][_0x7995('0x2c')]({'where':{'ContactId':[_0xf59a39['body']['to'],_0xf59a39[_0x7995('0xa2')]['from']]}})['then'](function(_0x7b9e26){logger[_0x7995('0xa5')](_0x7995('0xa8'),_0x7b9e26);return db[_0x7995('0x8e')]['create'](_0x2b0b79);});});}})[_0x7995('0x2b')](function(_0x35044a){if(_0x35044a){_0x4aafa3=_0x35044a;_0x5358d4={'ContactId':_0x4aafa3['id']};_0x3fc10={'where':{'ContactId':[_0xf59a39['body']['to'],_0xf59a39['body'][_0x7995('0x4a')]]}};return db['ChatInteraction'][_0x7995('0x2a')](_0x5358d4,_0x3fc10);}})[_0x7995('0x2b')](function(){if(_0x4aafa3){return db[_0x7995('0xa9')]['update'](_0x5358d4,_0x3fc10);}})['then'](function(){if(_0x4aafa3){return db[_0x7995('0xaa')]['update'](_0x5358d4,_0x3fc10);}})[_0x7995('0x2b')](function(){if(_0x4aafa3){return db[_0x7995('0xab')][_0x7995('0x2a')](_0x5358d4,_0x3fc10);}})[_0x7995('0x2b')](function(){if(_0x4aafa3){return db['MailMessage']['update'](_0x5358d4,_0x3fc10);}})['then'](function(){if(_0x4aafa3){return db[_0x7995('0xab')][_0x7995('0x2a')](_0x5358d4,_0x3fc10);}})[_0x7995('0x2b')](function(){if(_0x4aafa3){return db[_0x7995('0xac')][_0x7995('0x2a')](_0x5358d4,_0x3fc10);}})[_0x7995('0x2b')](function(){if(_0x4aafa3){return db['SmsInteraction']['update'](_0x5358d4,_0x3fc10);}})[_0x7995('0x2b')](function(){if(_0x4aafa3){return db['SmsMessage']['update'](_0x5358d4,_0x3fc10);}})[_0x7995('0x2b')](function(){if(_0x4aafa3){return db['FaxInteraction']['update'](_0x5358d4,_0x3fc10);}})[_0x7995('0x2b')](function(){if(_0x4aafa3){return db[_0x7995('0xad')][_0x7995('0x2a')](_0x5358d4,_0x3fc10);}})['then'](function(){if(_0x4aafa3){return db[_0x7995('0xae')][_0x7995('0x2a')](_0x5358d4,_0x3fc10);}})[_0x7995('0x2b')](function(){if(_0x4aafa3){return db[_0x7995('0xaf')][_0x7995('0x2a')](_0x5358d4,_0x3fc10);}})[_0x7995('0x2b')](function(){if(_0x4aafa3){return db[_0x7995('0xb0')][_0x7995('0x2a')](_0x5358d4,_0x3fc10);}})[_0x7995('0x2b')](function(){if(_0x4aafa3){return db['CmHopperHistory'][_0x7995('0x2a')](_0x5358d4,_0x3fc10);}})[_0x7995('0x2b')](function(){if(_0x4aafa3){return db[_0x7995('0xb1')][_0x7995('0x2a')](_0x5358d4,_0x3fc10);}})[_0x7995('0x2b')](function(){if(_0x4aafa3){return db['VoiceCallReport'][_0x7995('0x2a')](_0x5358d4,_0x3fc10);}})[_0x7995('0x2b')](function(){if(_0x4aafa3){return db[_0x7995('0xb2')]['update'](_0x5358d4,_0x3fc10);}})['then'](function(){if(_0x4aafa3){return db['FaxQueueReport'][_0x7995('0x2a')](_0x5358d4,_0x3fc10);}})[_0x7995('0x2b')](function(){if(_0x4aafa3){return db[_0x7995('0xb3')][_0x7995('0x2a')](_0x5358d4,_0x3fc10);}})[_0x7995('0x2b')](function(){if(_0x4aafa3){return db[_0x7995('0xb4')]['update'](_0x5358d4,_0x3fc10);}})[_0x7995('0x2b')](function(){if(_0x4aafa3){return db['SmsQueueReport'][_0x7995('0x2a')](_0x5358d4,_0x3fc10);}})[_0x7995('0x2b')](function(){if(_0x4aafa3){return db[_0x7995('0xb5')][_0x7995('0x2a')](_0x5358d4,_0x3fc10);}})[_0x7995('0x2b')](function(){if(_0x4aafa3){return db[_0x7995('0x8e')][_0x7995('0x2c')]({'where':{'id':[_0xf59a39[_0x7995('0xa2')]['to'],_0xf59a39[_0x7995('0xa2')][_0x7995('0x4a')]]}});}})[_0x7995('0x2b')](function(){if(_0x4aafa3){return _0x4aafa3;}})['then'](respondWithResult(_0x3a5f5e,null))[_0x7995('0x99')](handleError(_0x3a5f5e,null));};exports['create']=function(_0x422d1f,_0x3d1298){return db['CmContact']['describe']()[_0x7995('0x2b')](function(_0x267859){if(_0x422d1f[_0x7995('0xa2')][_0x7995('0x9c')]&&_[_0x7995('0x6f')](_0x422d1f[_0x7995('0xa2')][_0x7995('0x9c')])){if(_0x422d1f[_0x7995('0xa2')][_0x7995('0x9c')][_0x7995('0x32')]){_0x422d1f[_0x7995('0xa2')][_0x7995('0x9c')]=_0x422d1f['body']['tags'][_0x7995('0xa4')](';')+';';}else{_0x422d1f[_0x7995('0xa2')][_0x7995('0x9c')]=null;}}else{_0x422d1f[_0x7995('0xa2')][_0x7995('0x9c')]=null;}return db['CmContact'][_0x7995('0xb6')](_0x422d1f[_0x7995('0xa2')],{'fields':_['keys'](_0x267859),'raw':!![]});})[_0x7995('0x2b')](respondWithResult(_0x3d1298,0xc9))['catch'](handleError(_0x3d1298,null));};exports[_0x7995('0xb7')]=function(_0x30cda5,_0x234a40){var _0x5860d4=[];var _0x3501ac=0x0;var _0x1cd9a0=0x0;var _0x29dcaf=0x0;return db[_0x7995('0x8e')][_0x7995('0x9b')]()[_0x7995('0x2b')](function(_0x3c03d6){return BPromise['each'](_0x30cda5['body'],function(_0x5aee3b){var _0x406f82={'where':{'$or':[]},'defaults':_0x5aee3b,'fields':_[_0x7995('0x31')](_0x3c03d6),'raw':!![]};if(_0x5aee3b['duplicates']){for(var _0x4eb988=0x0;_0x4eb988<_0x5aee3b[_0x7995('0xb8')][_0x7995('0x32')];_0x4eb988++){var _0x48d4a7={};_0x48d4a7[_0x5aee3b['duplicates'][_0x4eb988]]=_0x5aee3b[_0x5aee3b['duplicates'][_0x4eb988]];_0x406f82['where'][_0x7995('0xb9')][_0x7995('0x34')](_0x48d4a7);}_0x406f82[_0x7995('0x44')][_0x7995('0x68')]=_0x5aee3b['ListId'];}return db[_0x7995('0x8e')][_0x7995('0xba')](_0x406f82)['spread'](function(_0x1fc3a1,_0x21d990){if(_0x21d990){_0x3501ac++;}else{_0x29dcaf++;}})[_0x7995('0x99')](function(_0x580917){console[_0x7995('0x2d')](_0x580917);_0x1cd9a0++;});});})[_0x7995('0x2b')](function(_0x49412e){if(_0x49412e){return{'success':_0x3501ac,'failure':_0x1cd9a0,'duplicates':_0x29dcaf};}})[_0x7995('0x2b')](respondWithResult(_0x234a40,0xc9))[_0x7995('0x99')](handleError(_0x234a40,null));};exports[_0x7995('0xbb')]=function(_0x6b9ae0,_0x1d907c,_0x30f457){var _0x8abd9a;return db[_0x7995('0x8e')][_0x7995('0x9b')]()[_0x7995('0x2b')](function(_0x9a19f){return db[_0x7995('0x8e')][_0x7995('0x55')]({'where':{'id':_0x6b9ae0['params']['id']},'include':[{'model':db[_0x7995('0x56')],'as':_0x7995('0x98'),'attributes':['id',_0x7995('0x2f'),_0x7995('0x48')],'required':_0x6b9ae0['query'][_0x7995('0x6e')]?!![]:![]}],'attributes':_[_0x7995('0x31')](_0x9a19f)});})[_0x7995('0x2b')](function(_0x52af9b){_0x8abd9a=_0x52af9b[_0x7995('0xa3')]({'plain':!![]});var _0x3366a7={'where':{'$and':[{'ListId':{'$ne':null}}]}};if(_0x52af9b&&_0x52af9b[_0x7995('0x68')]){if(_0x52af9b[_0x7995('0x68')]){_0x3366a7[_0x7995('0x44')][_0x7995('0xbc')][_0x7995('0x34')]({'ListId':{'$ne':_0x52af9b['ListId']}});}}return db[_0x7995('0x35')]['findAll'](_0x3366a7);})[_0x7995('0x2b')](function(_0x164c61){return _[_0x7995('0xbd')](_0x8abd9a,_['map'](_0x164c61,function(_0xd012b9){return util['format']('cf_%d',_0xd012b9['id']);}));})['then'](handleEntityNotFound(_0x1d907c,null))['then'](respondWithResult(_0x1d907c,null))[_0x7995('0x99')](handleError(_0x1d907c,null));};exports[_0x7995('0x2a')]=function(_0x5d2973,_0x45978a){var _0x3edba1;if(_0x5d2973['body']['id']){delete _0x5d2973[_0x7995('0xa2')]['id'];}return db[_0x7995('0x8e')][_0x7995('0x55')]({'where':{'id':_0x5d2973[_0x7995('0x9a')]['id']}})[_0x7995('0x2b')](handleEntityNotFound(_0x45978a,null))['then'](saveUpdates(_0x5d2973[_0x7995('0xa2')],null))[_0x7995('0x2b')](function(_0x12127d){_0x3edba1=_0x12127d;var _0x186ebe={'where':{'$and':[{'ListId':{'$ne':null}}]}};if(_0x12127d&&_0x12127d['ListId']){if(_0x12127d[_0x7995('0x68')]){_0x186ebe[_0x7995('0x44')][_0x7995('0xbc')][_0x7995('0x34')]({'ListId':{'$ne':_0x12127d[_0x7995('0x68')]}});}}return db[_0x7995('0x35')][_0x7995('0x9f')](_0x186ebe);})[_0x7995('0x2b')](function(_0x1c3074){if(_0x1c3074){return _[_0x7995('0xbd')](_['pickBy'](_0x5d2973[_0x7995('0xa2')],function(_0x521712,_0x139204){return _[_0x7995('0x33')](_0x139204,_0x7995('0x38'));}),_['map'](_0x1c3074,function(_0x58569c){return util[_0x7995('0xbe')](_0x7995('0xbf'),_0x58569c['id']);}));}})['then'](function(_0x15ed0f){if(_0x15ed0f&&!_['isEmpty'](_0x15ed0f)){var _0x43de18=squel[_0x7995('0x2a')]()[_0x7995('0xc0')](_0x7995('0xc1'))['setFields'](_0x15ed0f)['where'](_0x7995('0xc2'),_0x5d2973[_0x7995('0x9a')]['id'])[_0x7995('0xc3')]();return db[_0x7995('0x8a')]['query'](_0x43de18[_0x7995('0xc4')],{'replacements':_0x43de18[_0x7995('0xa1')]});}})[_0x7995('0x2b')](function(){if(_0x5d2973[_0x7995('0xa2')][_0x7995('0xc5')]&&_0x3edba1){return db['CmHopper']['update']({'phone':_0x5d2973['body'][_0x7995('0xc5')]},{'where':{'ContactId':_0x3edba1['id']}});}})[_0x7995('0x2b')](function(){return _0x3edba1;})['then'](respondWithResult(_0x45978a,null))[_0x7995('0x99')](handleError(_0x45978a,null));};exports['getTags']=function(_0x29c0f4,_0x19e449,_0x1e7398){var _0x467913={};var _0x4f145e={};var _0x3fbafb;var _0x2caacd;return db[_0x7995('0x8e')][_0x7995('0x36')]({'where':{'id':_0x29c0f4[_0x7995('0x9a')]['id']}})[_0x7995('0x2b')](handleEntityNotFound(_0x19e449,null))[_0x7995('0x2b')](function(_0x152c2a){if(_0x152c2a){_0x3fbafb=_0x152c2a;_0x4f145e[_0x7995('0x3a')]=_[_0x7995('0x31')](db[_0x7995('0x56')][_0x7995('0xc6')]);_0x4f145e[_0x7995('0x3b')]=_[_0x7995('0x31')](_0x29c0f4['query']);_0x4f145e[_0x7995('0x45')]=_['intersection'](_0x4f145e[_0x7995('0x3a')],_0x4f145e[_0x7995('0x3b')]);_0x467913['attributes']=_[_0x7995('0x3c')](_0x4f145e['model'],qs[_0x7995('0x3d')](_0x29c0f4[_0x7995('0x3b')]['fields']));_0x467913['attributes']=_0x467913['attributes'][_0x7995('0x32')]?_0x467913[_0x7995('0x3e')]:_0x4f145e[_0x7995('0x3a')];_0x467913[_0x7995('0x42')]=qs['sort'](_0x29c0f4[_0x7995('0x3b')][_0x7995('0x43')]);_0x467913[_0x7995('0x44')]=qs[_0x7995('0x45')](_[_0x7995('0x46')](_0x29c0f4[_0x7995('0x3b')],_0x4f145e[_0x7995('0x45')]));if(_0x29c0f4[_0x7995('0x3b')]['filter']){_0x467913[_0x7995('0x44')]=_[_0x7995('0x8d')](_0x467913[_0x7995('0x44')],{'$or':_[_0x7995('0x58')](_0x467913['attributes'],function(_0x3e90a5){var _0x3a2958={};_0x3a2958[_0x3e90a5]={'$like':'%'+_0x29c0f4[_0x7995('0x3b')][_0x7995('0x66')]+'%'};return _0x3a2958;})});}_0x467913=_[_0x7995('0x8d')]({},_0x467913,_0x29c0f4[_0x7995('0xc7')]);return _0x3fbafb['getTags'](_0x467913);}})[_0x7995('0x2b')](function(_0x2ee5d8){if(_0x2ee5d8){_0x2caacd=_0x2ee5d8[_0x7995('0x32')];if(!_0x29c0f4[_0x7995('0x3b')][_0x7995('0x3f')](_0x7995('0x40'))){_0x467913[_0x7995('0x25')]=qs[_0x7995('0x25')](_0x29c0f4[_0x7995('0x3b')][_0x7995('0x25')]);_0x467913[_0x7995('0x41')]=qs[_0x7995('0x41')](_0x29c0f4[_0x7995('0x3b')][_0x7995('0x41')]);}return _0x3fbafb[_0x7995('0xc8')](_0x467913);}})[_0x7995('0x2b')](function(_0xcd587e){if(_0xcd587e){return _0xcd587e?{'count':_0x2caacd,'rows':_0xcd587e}:null;}})[_0x7995('0x2b')](respondWithResult(_0x19e449,null))[_0x7995('0x99')](handleError(_0x19e449,null));};exports[_0x7995('0xc9')]=function(_0x37e69d,_0x51f854,_0x4cf7f1){if(_0x37e69d[_0x7995('0xa2')]['id']){delete _0x37e69d[_0x7995('0xa2')]['id'];}return db['CmContact'][_0x7995('0x36')]({'where':{'id':_0x37e69d['params']['id']}})[_0x7995('0x2b')](handleEntityNotFound(_0x51f854,null))['then'](function(_0x314901){if(_0x314901){return _0x314901[_0x7995('0xc9')](_0x37e69d[_0x7995('0xa2')][_0x7995('0xca')]||[]);}return null;})[_0x7995('0x2b')](respondWithResult(_0x51f854,null))[_0x7995('0x99')](handleError(_0x51f854,null));};exports[_0x7995('0xcb')]=function(_0x1fa59d,_0x10f635,_0x456cc9){var _0x49e85c={'raw':![],'where':{}};var _0x3b9e74={};var _0xb6f004={'count':0x0,'rows':[]};return db[_0x7995('0x8e')][_0x7995('0x36')]({'where':{'id':_0x1fa59d['params']['id']}})[_0x7995('0x2b')](handleEntityNotFound(_0x10f635,null))[_0x7995('0x2b')](function(_0x2f5904){if(_0x2f5904){_0x3b9e74[_0x7995('0x3a')]=_['keys'](db[_0x7995('0xa6')][_0x7995('0xc6')]);_0x3b9e74[_0x7995('0x3b')]=_[_0x7995('0x31')](_0x1fa59d[_0x7995('0x3b')]);_0x3b9e74[_0x7995('0x45')]=_[_0x7995('0x3c')](_0x3b9e74[_0x7995('0x3a')],_0x3b9e74[_0x7995('0x3b')]);_0x49e85c['attributes']=_[_0x7995('0x3c')](_0x3b9e74['model'],qs[_0x7995('0x3d')](_0x1fa59d[_0x7995('0x3b')][_0x7995('0x3d')]));_0x49e85c[_0x7995('0x3e')]=_0x49e85c['attributes'][_0x7995('0x32')]?_0x49e85c[_0x7995('0x3e')]:_0x3b9e74[_0x7995('0x3a')];if(!_0x1fa59d[_0x7995('0x3b')][_0x7995('0x3f')](_0x7995('0x40'))){_0x49e85c[_0x7995('0x25')]=qs[_0x7995('0x25')](_0x1fa59d[_0x7995('0x3b')][_0x7995('0x25')]);_0x49e85c[_0x7995('0x41')]=qs[_0x7995('0x41')](_0x1fa59d[_0x7995('0x3b')][_0x7995('0x41')]);}_0x49e85c['order']=qs['sort'](_0x1fa59d[_0x7995('0x3b')][_0x7995('0x43')]);_0x49e85c[_0x7995('0x44')]=qs['filters'](_[_0x7995('0x46')](_0x1fa59d[_0x7995('0x3b')],_0x3b9e74[_0x7995('0x45')]));_0x49e85c['where'][_0x7995('0xcc')]=_0x2f5904['id'];if(_0x1fa59d[_0x7995('0x3b')][_0x7995('0x66')]){_0x49e85c[_0x7995('0x44')]=_[_0x7995('0x8d')](_0x49e85c[_0x7995('0x44')],{'$or':_[_0x7995('0x58')](_0x49e85c[_0x7995('0x3e')],function(_0xebba79){var _0x3e28b6={};_0x3e28b6[_0xebba79]={'$like':'%'+_0x1fa59d[_0x7995('0x3b')]['filter']+'%'};return _0x3e28b6;})});}_0x49e85c=_['merge']({},_0x49e85c,_0x1fa59d[_0x7995('0xc7')]);return db['CmHopper'][_0x7995('0x24')]({'where':_0x49e85c[_0x7995('0x44')]})[_0x7995('0x2b')](function(_0x28fb29){_0xb6f004[_0x7995('0x24')]=_0x28fb29;if(_0x1fa59d['query']['includeAll']){_0x49e85c[_0x7995('0xcd')]=[{'all':!![]}];}return db[_0x7995('0xa6')][_0x7995('0x9f')](_0x49e85c);})[_0x7995('0x2b')](function(_0x62653d){_0xb6f004[_0x7995('0xce')]=_0x62653d;return _0xb6f004;});}})[_0x7995('0x2b')](respondWithFilteredResult(_0x10f635,_0x49e85c))[_0x7995('0x99')](handleError(_0x10f635,null));};exports[_0x7995('0xcf')]=function(_0x1b4c68,_0x5ad1a1,_0x2ebf7c){var _0x267ffa={'raw':!![],'where':{}};var _0x38e67a={};var _0xc8259b={'count':0x0,'rows':[]};return db['CmContact']['findOne']({'where':{'id':_0x1b4c68['params']['id']}})['then'](handleEntityNotFound(_0x5ad1a1,null))['then'](function(_0x3b4941){if(_0x3b4941){_0x38e67a['model']=_['keys'](db[_0x7995('0xd0')][_0x7995('0xc6')]);_0x38e67a[_0x7995('0x3b')]=_['keys'](_0x1b4c68[_0x7995('0x3b')]);_0x38e67a['filters']=_[_0x7995('0x3c')](_0x38e67a[_0x7995('0x3a')],_0x38e67a[_0x7995('0x3b')]);_0x267ffa['attributes']=_[_0x7995('0x3c')](_0x38e67a[_0x7995('0x3a')],qs[_0x7995('0x3d')](_0x1b4c68['query'][_0x7995('0x3d')]));_0x267ffa[_0x7995('0x3e')]=_0x267ffa[_0x7995('0x3e')][_0x7995('0x32')]?_0x267ffa[_0x7995('0x3e')]:_0x38e67a['model'];if(!_0x1b4c68[_0x7995('0x3b')][_0x7995('0x3f')](_0x7995('0x40'))){_0x267ffa['limit']=qs[_0x7995('0x25')](_0x1b4c68[_0x7995('0x3b')][_0x7995('0x25')]);_0x267ffa[_0x7995('0x41')]=qs[_0x7995('0x41')](_0x1b4c68['query'][_0x7995('0x41')]);}_0x267ffa[_0x7995('0x42')]=qs[_0x7995('0x43')](_0x1b4c68[_0x7995('0x3b')][_0x7995('0x43')]);_0x267ffa[_0x7995('0x44')]=qs[_0x7995('0x45')](_['pick'](_0x1b4c68['query'],_0x38e67a[_0x7995('0x45')]));_0x267ffa[_0x7995('0x44')]['ContactId']=_0x3b4941['id'];if(_0x1b4c68['query'][_0x7995('0x66')]){_0x267ffa[_0x7995('0x44')]=_[_0x7995('0x8d')](_0x267ffa[_0x7995('0x44')],{'$or':_[_0x7995('0x58')](_0x267ffa[_0x7995('0x3e')],function(_0x39a023){var _0x4dca11={};_0x4dca11[_0x39a023]={'$like':'%'+_0x1b4c68[_0x7995('0x3b')][_0x7995('0x66')]+'%'};return _0x4dca11;})});}_0x267ffa=_[_0x7995('0x8d')]({},_0x267ffa,_0x1b4c68[_0x7995('0xc7')]);return db[_0x7995('0xd0')][_0x7995('0x24')]({'where':_0x267ffa['where']})[_0x7995('0x2b')](function(_0x406712){_0xc8259b[_0x7995('0x24')]=_0x406712;if(_0x1b4c68[_0x7995('0x3b')][_0x7995('0xd1')]){_0x267ffa[_0x7995('0xcd')]=[{'all':!![]}];}return db[_0x7995('0xd0')]['findAll'](_0x267ffa);})[_0x7995('0x2b')](function(_0x202102){_0xc8259b[_0x7995('0xce')]=_0x202102;return _0xc8259b;});}})[_0x7995('0x2b')](respondWithFilteredResult(_0x5ad1a1,_0x267ffa))['catch'](handleError(_0x5ad1a1,null));};exports[_0x7995('0xd2')]=function(_0x5c9894,_0x21ba9b,_0x440c83){var _0x479b60={'raw':!![],'where':{}};var _0x4a313b={};var _0x478c12={'count':0x0,'rows':[]};return db[_0x7995('0x8e')][_0x7995('0x36')]({'where':{'id':_0x5c9894[_0x7995('0x9a')]['id']}})[_0x7995('0x2b')](handleEntityNotFound(_0x21ba9b,null))[_0x7995('0x2b')](function(_0x2da21e){if(_0x2da21e){_0x4a313b[_0x7995('0x3a')]=_[_0x7995('0x31')](db[_0x7995('0xb0')][_0x7995('0xc6')]);_0x4a313b[_0x7995('0x3b')]=_[_0x7995('0x31')](_0x5c9894['query']);_0x4a313b['filters']=_[_0x7995('0x3c')](_0x4a313b['model'],_0x4a313b['query']);_0x479b60[_0x7995('0x3e')]=_[_0x7995('0x3c')](_0x4a313b[_0x7995('0x3a')],qs[_0x7995('0x3d')](_0x5c9894[_0x7995('0x3b')][_0x7995('0x3d')]));_0x479b60[_0x7995('0x3e')]=_0x479b60[_0x7995('0x3e')][_0x7995('0x32')]?_0x479b60[_0x7995('0x3e')]:_0x4a313b[_0x7995('0x3a')];if(!_0x5c9894[_0x7995('0x3b')]['hasOwnProperty'](_0x7995('0x40'))){_0x479b60[_0x7995('0x25')]=qs[_0x7995('0x25')](_0x5c9894[_0x7995('0x3b')][_0x7995('0x25')]);_0x479b60[_0x7995('0x41')]=qs[_0x7995('0x41')](_0x5c9894['query'][_0x7995('0x41')]);}_0x479b60[_0x7995('0x42')]=qs[_0x7995('0x43')](_0x5c9894[_0x7995('0x3b')][_0x7995('0x43')]);_0x479b60['where']=qs[_0x7995('0x45')](_['pick'](_0x5c9894[_0x7995('0x3b')],_0x4a313b[_0x7995('0x45')]));_0x479b60[_0x7995('0x44')]['ContactId']=_0x2da21e['id'];if(_0x5c9894[_0x7995('0x3b')][_0x7995('0x66')]){_0x479b60[_0x7995('0x44')]=_[_0x7995('0x8d')](_0x479b60[_0x7995('0x44')],{'$or':_[_0x7995('0x58')](_0x479b60[_0x7995('0x3e')],function(_0x4fb899){var _0x55656a={};_0x55656a[_0x4fb899]={'$like':'%'+_0x5c9894[_0x7995('0x3b')][_0x7995('0x66')]+'%'};return _0x55656a;})});}_0x479b60=_[_0x7995('0x8d')]({},_0x479b60,_0x5c9894[_0x7995('0xc7')]);return db[_0x7995('0xb0')][_0x7995('0x24')]({'where':_0x479b60['where']})[_0x7995('0x2b')](function(_0x2e21a1){_0x478c12[_0x7995('0x24')]=_0x2e21a1;if(_0x5c9894[_0x7995('0x3b')]['includeAll']){_0x479b60['include']=[{'all':!![]}];}return db[_0x7995('0xb0')][_0x7995('0x9f')](_0x479b60);})['then'](function(_0x3130f2){_0x478c12[_0x7995('0xce')]=_0x3130f2;return _0x478c12;});}})['then'](respondWithFilteredResult(_0x21ba9b,_0x479b60))[_0x7995('0x99')](handleError(_0x21ba9b,null));};exports[_0x7995('0xd3')]=function(_0x45d8a2,_0x26ab59,_0xfe4f58){var _0x4b3689={'raw':!![],'where':{}};var _0x548e90={};var _0x9bde3d={'count':0x0,'rows':[]};return db[_0x7995('0x8e')][_0x7995('0x36')]({'where':{'id':_0x45d8a2[_0x7995('0x9a')]['id']}})[_0x7995('0x2b')](handleEntityNotFound(_0x26ab59,null))['then'](function(_0xd0da6e){if(_0xd0da6e){_0x548e90[_0x7995('0x3a')]=_[_0x7995('0x31')](db[_0x7995('0xb5')][_0x7995('0xc6')]);_0x548e90['query']=_['keys'](_0x45d8a2['query']);_0x548e90['filters']=_[_0x7995('0x3c')](_0x548e90[_0x7995('0x3a')],_0x548e90['query']);_0x4b3689[_0x7995('0x3e')]=_[_0x7995('0x3c')](_0x548e90['model'],qs['fields'](_0x45d8a2[_0x7995('0x3b')][_0x7995('0x3d')]));_0x4b3689[_0x7995('0x3e')]=_0x4b3689[_0x7995('0x3e')][_0x7995('0x32')]?_0x4b3689[_0x7995('0x3e')]:_0x548e90[_0x7995('0x3a')];if(!_0x45d8a2['query']['hasOwnProperty'](_0x7995('0x40'))){_0x4b3689[_0x7995('0x25')]=qs[_0x7995('0x25')](_0x45d8a2['query'][_0x7995('0x25')]);_0x4b3689[_0x7995('0x41')]=qs[_0x7995('0x41')](_0x45d8a2[_0x7995('0x3b')][_0x7995('0x41')]);}_0x4b3689[_0x7995('0x42')]=qs[_0x7995('0x43')](_0x45d8a2[_0x7995('0x3b')][_0x7995('0x43')]);_0x4b3689['where']=qs['filters'](_[_0x7995('0x46')](_0x45d8a2['query'],_0x548e90[_0x7995('0x45')]));_0x4b3689['where'][_0x7995('0xcc')]=_0xd0da6e['id'];if(_0x45d8a2[_0x7995('0x3b')][_0x7995('0x66')]){_0x4b3689['where']=_['merge'](_0x4b3689[_0x7995('0x44')],{'$or':_[_0x7995('0x58')](_0x4b3689[_0x7995('0x3e')],function(_0x13c279){var _0xc6d48c={};_0xc6d48c[_0x13c279]={'$like':'%'+_0x45d8a2[_0x7995('0x3b')][_0x7995('0x66')]+'%'};return _0xc6d48c;})});}_0x4b3689=_[_0x7995('0x8d')]({},_0x4b3689,_0x45d8a2[_0x7995('0xc7')]);return db[_0x7995('0xb5')][_0x7995('0x24')]({'where':_0x4b3689['where']})[_0x7995('0x2b')](function(_0xe43c99){_0x9bde3d[_0x7995('0x24')]=_0xe43c99;if(_0x45d8a2[_0x7995('0x3b')][_0x7995('0xd1')]){_0x4b3689['include']=[{'all':!![]}];}return db[_0x7995('0xb5')][_0x7995('0x9f')](_0x4b3689);})[_0x7995('0x2b')](function(_0x3946cb){_0x9bde3d[_0x7995('0xce')]=_0x3946cb;return _0x9bde3d;});}})[_0x7995('0x2b')](respondWithFilteredResult(_0x26ab59,_0x4b3689))[_0x7995('0x99')](handleError(_0x26ab59,null));};exports[_0x7995('0xd4')]=function(_0x2acd21,_0x547430,_0x5405ca){try{if(!_0x2acd21[_0x7995('0xa2')][_0x7995('0x68')]){throw new Error(_0x7995('0xd5'));}if(!_0x2acd21[_0x7995('0xa2')][_0x7995('0xd6')]){throw new Error('No\x20association\x20keys\x20specified!');}if(!_0x2acd21[_0x7995('0xa2')][_0x7995('0xd7')]){throw new Error(_0x7995('0xd8'));}if(!_0x2acd21[_0x7995('0xa2')][_0x7995('0xd9')]){throw new Error(_0x7995('0xda'));}var _0x34692c=_0x2acd21[_0x7995('0xa2')][_0x7995('0xd6')]['split'](',');var _0x4f7c20=_0x2acd21[_0x7995('0xa2')][_0x7995('0xd7')][_0x7995('0x57')](',');if(!_0x34692c[_0x7995('0x32')]||!_0x4f7c20[_0x7995('0x32')]||_0x34692c[_0x7995('0x32')]!==_0x4f7c20[_0x7995('0x32')]){throw new Error(_0x7995('0xdb'));}_0x2acd21['body']['fields']=_[_0x7995('0xdc')](_0x34692c,_0x4f7c20);if(!_0x2acd21[_0x7995('0xa2')][_0x7995('0x3d')][_0x7995('0xc5')]){throw new Error('No\x20phone\x20column\x20specified');}if(!_0x2acd21['body'][_0x7995('0x3d')][_0x7995('0xdd')]){throw new Error(_0x7995('0xde'));}var _0x1522c4=path[_0x7995('0xa4')](config[_0x7995('0xdf')],_0x7995('0xe0'),_0x2acd21[_0x7995('0xe1')][_0x7995('0xe2')]);fs[_0x7995('0xe3')](_0x1522c4,parseInt(_0x7995('0xe4'),0x8));var _0x3c62ad=require('child_process')['fork'](path[_0x7995('0xa4')](__dirname,_0x7995('0xe5')),[_0x1522c4,_0x2acd21[_0x7995('0xa2')][_0x7995('0xd6')],_0x2acd21['body'][_0x7995('0xd7')],_0x2acd21['body'][_0x7995('0x68')],_0x2acd21[_0x7995('0xa2')][_0x7995('0xe6')],_0x2acd21[_0x7995('0xa2')][_0x7995('0xb8')],_0x2acd21[_0x7995('0xa2')]['socket_timestamp']]);return _0x547430[_0x7995('0x21')](0xc8)[_0x7995('0x23')]({'message':_0x7995('0xe7'),'pid':_0x3c62ad[_0x7995('0xe8')]});}catch(_0x5edf32){return _0x547430['status'](0x1f4)[_0x7995('0xe9')](_0x5edf32);}};exports[_0x7995('0xea')]=function(_0x518d4e,_0x1cda2e,_0x4bb32b){var _0x2958e9=fs[_0x7995('0xeb')](_0x518d4e[_0x7995('0xe1')]['path']);Papa[_0x7995('0xec')](_0x2958e9,{'header':!![],'skipEmptyLines':!![],'preview':0x1,'complete':function(_0x1142fe){return _0x1cda2e[_0x7995('0x21')](0xc8)['json']({'file':_0x518d4e[_0x7995('0xe1')],'fields':_0x1142fe[_0x7995('0xed')][_0x7995('0x3d')]});}});};exports[_0x7995('0xee')]=function(_0x437ee2,_0x46f341,_0x1f6c3e){return db[_0x7995('0x5c')][_0x7995('0x9f')]({'raw':!![],'attributes':['id'],'where':{'role':'agent'}})[_0x7995('0x2b')](function(_0x16aaf9){var _0x191da7=![];if(!_0x437ee2[_0x7995('0xa2')]['ListId']){throw new Error(_0x7995('0xd5'));}if(!_0x437ee2[_0x7995('0xa2')][_0x7995('0xef')][_0x7995('0xc5')]){throw new Error('No\x20phone\x20column\x20specified');}if(!_0x437ee2[_0x7995('0xa2')][_0x7995('0xef')][_0x7995('0xdd')]){throw new Error(_0x7995('0xde'));}if(!_0x437ee2[_0x7995('0xa2')][_0x7995('0xd9')]){throw new Error(_0x7995('0xda'));}var _0x5e3421=require(_0x7995('0xf0'))[_0x7995('0xf1')](path[_0x7995('0xa4')](__dirname,_0x7995('0xf2')),[_0x437ee2[_0x7995('0x9a')]['id'],JSON['stringify'](_0x437ee2[_0x7995('0xa2')]),JSON['stringify'](_0x16aaf9)]);_0x5e3421['on'](_0x7995('0xf3'),function(_0x38aace){_0x191da7=!![];return _0x46f341[_0x7995('0x21')](0xc8)['json']({'message':'start\x20child\x20process\x20correctly!','pid':_0x5e3421['pid']});});_0x5e3421['on'](_0x7995('0xf4'),function(_0x1763aa){if(_0x1763aa&&!_0x191da7){return _0x46f341[_0x7995('0x21')](0x1f4)[_0x7995('0x23')]({'message':_0x7995('0xf5'),'pid':_0x5e3421[_0x7995('0xe8')]});}});})['catch'](handleError(_0x46f341,null));};exports[_0x7995('0xf6')]=function(_0x37860d,_0x37539a){var _0x3bb0db=['mail',_0x7995('0xf7'),_0x7995('0xf8'),'openchannel',_0x7995('0xf9'),'whatsapp',_0x7995('0xfa')];var _0x45df6d={'offset':0x0,'order':qs['sort']('-createdAt')},_0x3e7779={'count':0x0,'rows':[]};Promise[_0x7995('0x83')]()[_0x7995('0x2b')](function(){if(_0x37860d[_0x7995('0x3b')][_0x7995('0xfb')]){if(!_[_0x7995('0xfc')](_0x3bb0db,_0x37860d[_0x7995('0x3b')][_0x7995('0xfb')][_0x7995('0xfd')]())){throw new Error(_0x7995('0xfe'));}_0x3bb0db=[_0x37860d[_0x7995('0x3b')][_0x7995('0xfb')]['toLowerCase']()];}if(_0x37860d['query'][_0x7995('0xff')]){try{var _0xa129d3=JSON[_0x7995('0xec')](_0x37860d[_0x7995('0x3b')]['range']);if(!moment(_0xa129d3['from'])[_0x7995('0x100')]()){throw new Error(_0x7995('0x101'));}if(!moment(_0xa129d3['to'])['isValid']()){throw new Error('Invalid\x20date\x20for\x20range\x20to\x20filter');}}catch(_0x952d6c){throw new Error(_0x7995('0x102'));}}if(!_0x37860d[_0x7995('0x3b')][_0x7995('0x3f')](_0x7995('0x40'))){_0x45df6d['limit']=qs[_0x7995('0x25')](_0x37860d[_0x7995('0x3b')]['limit']||0xa);_0x45df6d[_0x7995('0x41')]=qs[_0x7995('0x41')](_0x37860d[_0x7995('0x3b')]['offset']);}var _0x6b65e8=_0x3bb0db[_0x7995('0x58')](function(_0x1fb4c3){if(_0x1fb4c3===_0x7995('0xfa')){var _0x113e03={'attributes':['id','uniqueid','type',_0x7995('0x103'),'destination',_0x7995('0x104'),'starttime',_0x7995('0x105'),_0x7995('0x106'),_0x7995('0x107'),'createdAt','userDisposition','userSecondDisposition',_0x7995('0x108')],'where':{'ContactId':_0x37860d[_0x7995('0x9a')]['id']},'include':[{'model':db[_0x7995('0x5c')],'as':'User','attributes':['id',_0x7995('0x2f'),_0x7995('0x109'),'alias']}],'order':[[_0x7995('0x10a'),_0x7995('0x7f')]]};if(_0x37860d[_0x7995('0x3b')][_0x7995('0xff')]){_0x113e03[_0x7995('0x44')]['createdAt']={'$gte':_0xa129d3['from'],'$lte':_0xa129d3['to']};}return db[_0x7995('0x10b')][_0x7995('0x10c')](_0x113e03)[_0x7995('0x2b')](function(_0xc0f1fa){_0x3e7779[_0x7995('0x24')]+=_0xc0f1fa[_0x7995('0x24')];return _[_0x7995('0x58')](_0xc0f1fa[_0x7995('0xce')],function(_0xbc3cbd){var _0xe95666=_0xbc3cbd['get']({'plain':!![]});_0xe95666[_0x7995('0xfb')]=_0x1fb4c3;if(_0xe95666[_0x7995('0x5c')]){_0xe95666[_0x7995('0x5c')]={'id':_0xe95666[_0x7995('0x5c')]['id'],'name':_0xe95666[_0x7995('0x5c')][_0x7995('0x2f')],'fullname':_0xe95666[_0x7995('0x5c')]['fullname'],'alias':_0xe95666['User'][_0x7995('0xa0')]};}return _0xe95666;});});}else{var _0x2aec8d=_[_0x7995('0x10d')](_0x1fb4c3)+(_0x1fb4c3===_0x7995('0xf7')?'Website':'Account');var _0x4b477a={'attributes':['id',_0x7995('0x10e'),_0x7995('0x10f'),'createdAt',_0x7995('0x107'),_0x7995('0x110'),_0x7995('0x111'),_0x7995('0x112'),_0x7995('0x113'),_0x2aec8d+'Id'],'where':{'ContactId':_0x37860d[_0x7995('0x9a')]['id']},'include':[{'model':db[_0x2aec8d],'as':_0x7995('0x114'),'attributes':['id',_0x7995('0x2f'),'key']},{'model':db[_0x7995('0x5c')],'as':_0x7995('0x115'),'attributes':['id',_0x7995('0x2f'),'fullname']},{'model':db[_0x7995('0x56')],'as':'Tags','attributes':['id','name','color'],'through':{'attributes':[]}}],'order':[['createdAt',_0x7995('0x7f')]]};if(_0x37860d['query'][_0x7995('0xff')]){_0x4b477a[_0x7995('0x44')]['createdAt']={'$gte':_0xa129d3[_0x7995('0x4a')],'$lte':_0xa129d3['to']};}switch(_0x1fb4c3){case _0x7995('0xf7'):_0x4b477a[_0x7995('0x3e')][_0x7995('0x34')]('browserName',_0x7995('0x116'),'customerPort',_0x7995('0x117'),_0x7995('0x118'),_0x7995('0x119'),_0x7995('0x11a'),_0x7995('0x11b'),_0x7995('0x11c'));break;case _0x7995('0x11d'):_0x4b477a[_0x7995('0x3e')][_0x7995('0x34')](_0x7995('0x11e'),'substatus');break;case _0x7995('0x11f'):_0x4b477a[_0x7995('0x3e')]['push'](_0x7995('0x120'),_0x7995('0x121'));break;}return db[_[_0x7995('0x10d')](_0x1fb4c3)+_0x7995('0x122')][_0x7995('0x10c')](_0x4b477a)[_0x7995('0x2b')](function(_0x5dc3ed){_0x3e7779[_0x7995('0x24')]+=_0x5dc3ed['count'];return _[_0x7995('0x58')](_0x5dc3ed[_0x7995('0xce')],function(_0x1e18dd){var _0xb79b0b=_0x1e18dd[_0x7995('0xa3')]({'plain':!![]});_0xb79b0b[_0x7995('0xfb')]=_0x1fb4c3;if(_0xb79b0b['Owner']){_0xb79b0b[_0x7995('0x115')]={'id':_0xb79b0b[_0x7995('0x115')]['id'],'name':_0xb79b0b[_0x7995('0x115')]['name'],'fullname':_0xb79b0b[_0x7995('0x115')][_0x7995('0x109')]};}return _0xb79b0b;});});}});return Promise[_0x7995('0x123')](_0x6b65e8);})[_0x7995('0x2b')](function(_0x15fac9){return _(_0x15fac9)[_0x7995('0x124')]()[_0x7995('0x125')](_0x7995('0x10a'))[_0x7995('0x126')]()[_0x7995('0x5f')]();})[_0x7995('0x2b')](function(_0x5c3b98){_0x3e7779[_0x7995('0xce')]=_0x45df6d[_0x7995('0x25')]?_0x5c3b98['slice'](_0x45df6d[_0x7995('0x41')],_0x45df6d[_0x7995('0x41')]+_0x45df6d[_0x7995('0x25')]):_0x5c3b98;return _0x3e7779;})[_0x7995('0x2b')](respondWithFilteredResult(_0x37539a,_0x45df6d))[_0x7995('0x99')](handleError(_0x37539a,null));};