Built motion from commit 775e2a94.|2.6.3
[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 _0x769c=['role','agent','some','user','getLists','c.ListId\x20IS\x20NULL','sequelize','toString','keyBy','merge','c.firstName','c.lastName','c.mobile','c.fax','c.email','c.createdAt','c.CompanyId','GROUP_CONCAT(DISTINCT\x20t.id)','TagIds','Tags','rows','catch','params','describe','tags','displayName','analytics','columnName','alias','custom','values','body','findAll','get','mergeWith','isArray','info','[CmContact][merge]\x20to\x20%s\x20from\x20%s','CmHopper','[CmContact][merge][destroy][CmHopper],\x20%s','CmHopperBlack','[CmContact][merge][destroy][CmHopperBlack],\x20%s','create','ChatInteraction','update','ChatMessage','MailInteraction','MailMessage','SmsInteraction','SmsMessage','FaxMessage','OpenchannelInteraction','OpenchannelMessage','CmContactHasItem','CmHopperHistory','ReportAgentPreview','VoiceCallReport','ChatQueueReport','MailQueueReport','OpenchannelQueueReport','SmsQueueReport','JscriptySessionReport','WhatsappInteraction','WhatsappMessage','WhatsappQueueReport','destroy','join','dialTimezone','timezones','utcOffset','additionalPhones','bulkCreate','each','duplicates','$or','spread','contact','show','Tag','ContactItemType','$and','omit','format','cf_%d','pickBy','table','cm_contacts','id\x20=\x20?','toParam','phone','getTags','rawAttributes','options','setTags','ids','setAdditionalPhones','OrderBy','items','item_types','ItemTypeId','description','PHONE','item','literal','`ItemType`.OrderBy','ItemType.OrderBy','CmHopperAdditionalPhone','ItemType','getAdditionalPhones','duplicateAdditionalPhones','fromContactId','CmContactId','toContactId','rescheduleAdditionalPhones','hopperId','getHopperHistories','ContactId','includeAll','include','getHopperFinals','CmHopperFinal','getJscriptySessions','uploadCsv','No\x20ListId\x20specified','binding_keys','No\x20association\x20keys\x20specified!','binding_values','No\x20association\x20values\x20specified!','socket_timestamp','Unable\x20to\x20synchronize\x20socket,\x20no\x20timestamp\x20passed','Incorrect\x20binding\x20parameters\x20passed!','No\x20phone\x20column\x20specified','firstName','No\x20firstName\x20column\x20specified','filename','0777','child_process','fork','../../components/import/cm/csv','CompanyId','File\x20uploaded\x20correctly!','pid','file','parse','meta','binding','../../components/import/cm/csv2','stringify','message','error\x20child\x20process','importUpdates','../../components/import/cm/csvUpdates','exit','getJourney','mail','chat','sms','openchannel','fax','whatsapp','voice','toLowerCase','Invalid\x20channel','channel','range','isValid','Invalid\x20date\x20for\x20range\x20to\x20filter','Invalid\x20createdAt\x20filter','uniqueid','destination','endtime','createdAt','userDisposition','userSecondDisposition','userThirdDisposition','fullname','findAndCountAll','startCase','Account','closed','closedAt','note','disposition','secondDisposition','thirdDisposition','UserId','Owner','browserName','customerPort','deviceModel','osName','ratingType','ratingValue','subject','substatus','Interaction','flatten','moment','bluebird','util','path','lodash','papaparse','api','../../config/environment/shared','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./cmContact.socket','register','status','json','offset','undefined','limit','count','set','Content-Range','then','end','sendStatus','error','stack','name','send','index','CmContact','length','startsWith','cf_','push','CmCustomField','findOne','trimStart','all','fieldType','model','keys','query','filters','attributes','intersection','fields','hasOwnProperty','nolimit','order','sort','where','pick','select','field','color','from','left_join','cm_user_has_contacts','uc.CmContactId\x20=\x20c.id','cm_contact_has_tags','ct.CmContactId\x20=\x20c.id','tools_tags','c.deletedAt\x20IS\x20NULL','expr','search','parseSearch','sqlOperator','conditions','find','value','split','map','forEach','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','User','and','uc.UserId\x20=\x20?','dateOfBirth','datetime','castTo','DATE','buildExpression','type','text','filter','isNil','Contact','isEmpty','ListId','c.ListId\x20IN\x20?','concat','tag','replace','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','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?','c.lastName\x20LIKE\x20?','c.id','Sequelize','QueryTypes','SELECT','clone','DESC','having','t.id\x20IN\x20?','resolve'];(function(_0x5c8cea,_0x1df01b){var _0x325f5b=function(_0x516277){while(--_0x516277){_0x5c8cea['push'](_0x5c8cea['shift']());}};_0x325f5b(++_0x1df01b);}(_0x769c,0xc5));var _0xc769=function(_0x413feb,_0x10477f){_0x413feb=_0x413feb-0x0;var _0x40ee88=_0x769c[_0x413feb];return _0x40ee88;};'use strict';var moment=require(_0xc769('0x0'));var BPromise=require(_0xc769('0x1'));var util=require(_0xc769('0x2'));var path=require(_0xc769('0x3'));var fs=require('fs');var _=require(_0xc769('0x4'));var squel=require('squel');var Papa=require(_0xc769('0x5'));var Redis=require('ioredis');var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var logger=require('../../config/logger')(_0xc769('0x6'));var config=require('../../config/environment');var shared=require(_0xc769('0x7'));var db=require(_0xc769('0x8'))['db'];config[_0xc769('0x9')]=_[_0xc769('0xa')](config[_0xc769('0x9')],{'host':_0xc769('0xb'),'port':0x18eb});var socket=require(_0xc769('0xc'))(new Redis(config[_0xc769('0x9')]));require(_0xc769('0xd'))[_0xc769('0xe')](socket);function respondWithResult(_0x4c9c5b,_0x7669d6){_0x7669d6=_0x7669d6||0xc8;return function(_0x473092){if(_0x473092){return _0x4c9c5b[_0xc769('0xf')](_0x7669d6)[_0xc769('0x10')](_0x473092);}};}function respondWithFilteredResult(_0xfec9b9,_0x2c0f91){return function(_0x1df27a){if(_0x1df27a){var _0x32193c=typeof _0x2c0f91[_0xc769('0x11')]===_0xc769('0x12')&&typeof _0x2c0f91[_0xc769('0x13')]===_0xc769('0x12');var _0x5a29d0=_0x1df27a[_0xc769('0x14')];var _0x1517ab=_0x32193c?0x0:_0x2c0f91[_0xc769('0x11')];var _0x20db75=_0x32193c?_0x1df27a['count']:_0x2c0f91[_0xc769('0x11')]+_0x2c0f91['limit'];var _0xde9221;if(_0x20db75>=_0x5a29d0){_0x20db75=_0x5a29d0;_0xde9221=0xc8;}else{_0xde9221=0xce;}_0xfec9b9['status'](_0xde9221);return _0xfec9b9[_0xc769('0x15')](_0xc769('0x16'),_0x1517ab+'-'+_0x20db75+'/'+_0x5a29d0)[_0xc769('0x10')](_0x1df27a);}return null;};}function saveUpdates(_0x31d9ba){return function(_0x279182){if(_0x279182){return _0x279182['update'](_0x31d9ba)['then'](function(_0x3b420f){return _0x3b420f;});}return null;};}function removeEntity(_0x4e65e6){return function(_0xc49f72){if(_0xc49f72){return _0xc49f72['destroy']()[_0xc769('0x17')](function(){_0x4e65e6[_0xc769('0xf')](0xcc)[_0xc769('0x18')]();});}};}function handleEntityNotFound(_0x504b44){return function(_0x2c31fb){if(!_0x2c31fb){_0x504b44[_0xc769('0x19')](0x194);}return _0x2c31fb;};}function handleError(_0x393565,_0xeb2038){_0xeb2038=_0xeb2038||0x1f4;return function(_0x3db286){logger[_0xc769('0x1a')](_0x3db286[_0xc769('0x1b')]);if(_0x3db286['name']){delete _0x3db286[_0xc769('0x1c')];}_0x393565[_0xc769('0xf')](_0xeb2038)[_0xc769('0x1d')](_0x3db286);};}exports[_0xc769('0x1e')]=function(_0xce1ea,_0x45e784){var _0x45c979={},_0x5597ae={},_0x317886={'count':0x0,'rows':[]};return db[_0xc769('0x1f')]['describe']()[_0xc769('0x17')](function(_0x314059){var _0x1aadaf=[];for(var _0x56b8a1=0x0;_0x56b8a1<Object['keys'](_0x314059)[_0xc769('0x20')];_0x56b8a1++){var _0x5c5ac4=Object['keys'](_0x314059)[_0x56b8a1];if(_[_0xc769('0x21')](_0x5c5ac4,_0xc769('0x22'))){_0x1aadaf[_0xc769('0x23')](db[_0xc769('0x24')][_0xc769('0x25')]({'where':{'id':_[_0xc769('0x26')](_0x5c5ac4,_0xc769('0x22'))},'raw':!![]}));}}return BPromise[_0xc769('0x27')](_0x1aadaf)[_0xc769('0x17')](function(_0x30bcd9){for(var _0xb8a6c7=0x0;_0xb8a6c7<_0x30bcd9[_0xc769('0x20')];_0xb8a6c7++){if(_0x30bcd9[_0xb8a6c7]){var _0x59d326='cf_'+_0x30bcd9[_0xb8a6c7]['id'];var _0x263e98=_0x314059[_0x59d326];_0x263e98[_0xc769('0x28')]=_0x30bcd9[_0xb8a6c7]['type'];}}return _0x314059;});})[_0xc769('0x17')](function(_0x5ea61f){_0x5597ae[_0xc769('0x29')]=_[_0xc769('0x2a')](_0x5ea61f);_0x5597ae['query']=_[_0xc769('0x2a')](_0xce1ea[_0xc769('0x2b')]);_0x5597ae[_0xc769('0x2c')]=_['intersection'](_0x5597ae['model'],_0x5597ae[_0xc769('0x2b')]);_0x45c979[_0xc769('0x2d')]=_[_0xc769('0x2e')](_0x5597ae[_0xc769('0x29')],qs[_0xc769('0x2f')](_0xce1ea[_0xc769('0x2b')][_0xc769('0x2f')]));_0x45c979[_0xc769('0x2d')]=_0x45c979[_0xc769('0x2d')][_0xc769('0x20')]?_0x45c979[_0xc769('0x2d')]:_0x5597ae[_0xc769('0x29')];if(!_0xce1ea[_0xc769('0x2b')][_0xc769('0x30')](_0xc769('0x31'))){_0x45c979[_0xc769('0x13')]=qs[_0xc769('0x13')](_0xce1ea[_0xc769('0x2b')]['limit']);_0x45c979[_0xc769('0x11')]=qs[_0xc769('0x11')](_0xce1ea[_0xc769('0x2b')]['offset']);}_0x45c979[_0xc769('0x32')]=qs['sort'](_0xce1ea[_0xc769('0x2b')][_0xc769('0x33')]);_0x45c979[_0xc769('0x34')]=qs[_0xc769('0x2c')](_[_0xc769('0x35')](_0xce1ea[_0xc769('0x2b')],_0x5597ae[_0xc769('0x2c')]),_0x5ea61f);var _0x2cc0a1=[];var _0x163c48=squel[_0xc769('0x36')]()[_0xc769('0x37')]('id')[_0xc769('0x37')](_0xc769('0x1c'))['field'](_0xc769('0x38'))['from']('tools_tags');var _0x359e93=squel[_0xc769('0x36')]()[_0xc769('0x39')]('cm_contacts','c')[_0xc769('0x3a')](_0xc769('0x3b'),'uc',_0xc769('0x3c'))[_0xc769('0x3a')](_0xc769('0x3d'),'ct',_0xc769('0x3e'))[_0xc769('0x3a')](_0xc769('0x3f'),'t','t.id\x20=\x20ct.TagId')[_0xc769('0x34')](_0xc769('0x40'));var _0x4af9cf=squel[_0xc769('0x41')]();var _0x4a6e63=[];var _0x231e44=squel[_0xc769('0x41')]();var _0x461e9e;if(_0xce1ea[_0xc769('0x2b')][_0xc769('0x42')]){_0x461e9e=as[_0xc769('0x43')](_0xce1ea[_0xc769('0x2b')][_0xc769('0x42')]);var _0x549edb=_0x461e9e[_0xc769('0x44')];for(var _0x9477d1=0x0;_0x9477d1<_0x461e9e[_0xc769('0x45')]['length'];_0x9477d1++){var _0x37bd4a=_0x461e9e[_0xc769('0x45')][_0x9477d1];var _0xc18c74='c';var _0x525dae=_(_0x5ea61f)[_0xc769('0x2a')]()[_0xc769('0x46')](function(_0x4477cc){return _0x4477cc===_0x37bd4a[_0xc769('0x37')];});if(_0x525dae)_0x525dae=_0x5ea61f[_0x37bd4a['field']];if(!_0x525dae){if(_0x37bd4a['field']==='Tag'){var _0x5ed946=_0x37bd4a[_0xc769('0x47')][_0xc769('0x48')](',')[_0xc769('0x49')](function(_0x156577){return Number(_0x156577);});_0x5ed946[_0xc769('0x4a')](function(_0x50e04a){_0x231e44['or'](_0xc769('0x4b'),'%,'+_0x50e04a+',%');});_0x4a6e63=_[_0xc769('0x4c')](_0x4a6e63,_0x5ed946);}else if(_0x37bd4a[_0xc769('0x37')]===_0xc769('0x4d')){_0x4af9cf[_0xc769('0x4e')](_0xc769('0x4f'),_0x37bd4a[_0xc769('0x47')]);}}else{if(_0x37bd4a[_0xc769('0x37')]===_0xc769('0x50')||_0x525dae[_0xc769('0x28')]===_0xc769('0x51'))_0x37bd4a[_0xc769('0x52')]=_0xc769('0x53');var _0x39bc3d=as[_0xc769('0x54')](_0xc18c74,_0x525dae[_0xc769('0x55')],_0x37bd4a);_0x4af9cf[_0x549edb](_0x39bc3d[_0xc769('0x56')],_0x39bc3d[_0xc769('0x47')]['start'],_0x39bc3d[_0xc769('0x47')][_0xc769('0x18')]);}}}else{var _0x210d28=_(Object[_0xc769('0x2a')](_0xce1ea[_0xc769('0x2b')]))[_0xc769('0x49')](function(_0x36b94c){return _0x5ea61f[_0xc769('0x30')](_0x36b94c)?_0x36b94c:undefined;})[_0xc769('0x57')](function(_0xa17c19){return!_[_0xc769('0x58')](_0xa17c19);})['value']();if(_0xce1ea[_0xc769('0x2b')][_0xc769('0x59')])_0x210d28[_0xc769('0x23')](_0xc769('0x59'));if(!_[_0xc769('0x5a')](_0x210d28)){_0x210d28[_0xc769('0x4a')](function(_0x5c9e3b){if(_0x5c9e3b===_0xc769('0x5b')){_0x359e93[_0xc769('0x34')](_0xc769('0x5c'),[][_0xc769('0x5d')](_0xce1ea[_0xc769('0x2b')][_0x5c9e3b]));}else if(_0x5c9e3b===_0xc769('0x59')){var _0x3e9aba='%'+_0xce1ea['query'][_0x5c9e3b]+'%';_0x359e93[_0xc769('0x34')]('CONCAT_WS(\x27\x20\x27,\x20c.firstName,\x20c.lastName,\x20c.email)\x20LIKE\x20?',_0x3e9aba);}else{_0x359e93[_0xc769('0x34')]('c.'+_0x5c9e3b+'\x20=\x20?',_0xce1ea[_0xc769('0x2b')][_0x5c9e3b]);}});}if(_0xce1ea[_0xc769('0x2b')]['tag']){_0x4a6e63=_['isArray'](_0xce1ea[_0xc769('0x2b')][_0xc769('0x5e')])?_0xce1ea[_0xc769('0x2b')][_0xc769('0x5e')]:new Array(_0xce1ea[_0xc769('0x2b')][_0xc769('0x5e')]);_0x4a6e63[_0xc769('0x4a')](function(_0x21739f){_0x231e44['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x21739f+',%');});}if(_0xce1ea[_0xc769('0x2b')][_0xc769('0x57')]){var _0x340ddb=_0xce1ea[_0xc769('0x2b')][_0xc769('0x57')][_0xc769('0x5f')]('\x5c','\x5c\x5c')[_0xc769('0x5f')](/'/g,'\x27\x27');if(_0x340ddb[_0xc769('0x48')]('\x20')[_0xc769('0x20')]>0x1){_0x4af9cf['or'](_0xc769('0x60'),qs[_0xc769('0x61')](_0x340ddb),null);}else{if(qs[_0xc769('0x62')](_0x340ddb)){_0x4af9cf['or'](_0xc769('0x63'),_0x340ddb+'%');_0x4af9cf['or'](_0xc769('0x64'),_0x340ddb+'%');_0x4af9cf['or'](_0xc769('0x65'),_0x340ddb+'%');_0x4af9cf['or'](_0xc769('0x66'),_0x340ddb+'%');}else if(qs[_0xc769('0x67')](_0x340ddb)){_0x4af9cf['or'](_0xc769('0x68'),_0x340ddb+'%');}else{_0x4af9cf['or'](_0xc769('0x69'),'%'+_0x340ddb+'%');_0x4af9cf['or'](_0xc769('0x6a'),'%'+_0x340ddb+'%');_0x4af9cf['or'](_0xc769('0x68'),'%'+_0x340ddb+'%');}}}}_0x359e93[_0xc769('0x34')](_0x4af9cf);_0x359e93['group'](_0xc769('0x6b'));var _0x4bea89={'type':db[_0xc769('0x6c')][_0xc769('0x6d')][_0xc769('0x6e')],'raw':!![]};var _0x5aa14d=_0x359e93[_0xc769('0x6f')]()['field'](_0xc769('0x6b'));if(_0x45c979[_0xc769('0x32')]){_0x45c979[_0xc769('0x32')][_0xc769('0x4a')](function(_0x82f2dd){_0x359e93[_0xc769('0x32')]('c.'+_0x82f2dd[0x0],_0x82f2dd[0x1]===_0xc769('0x70')?![]:!![]);});}if(!_[_0xc769('0x5a')](_0x4a6e63)){_0x359e93[_0xc769('0x71')](_0x231e44);_0x5aa14d[_0xc769('0x34')](_0xc769('0x72'),_0x4a6e63);}BPromise[_0xc769('0x73')]()[_0xc769('0x17')](function(){if(!_0x461e9e)return;if(_0xce1ea['user'][_0xc769('0x74')]!==_0xc769('0x75'))return;if(!_[_0xc769('0x76')](_0x461e9e['conditions'],[_0xc769('0x37'),_0xc769('0x4d')])){return _0xce1ea[_0xc769('0x77')][_0xc769('0x78')]({'attributes':['id'],'raw':!![]})[_0xc769('0x17')](function(_0x3040e1){if(_['isEmpty'](_0x3040e1)){_0x5aa14d['where'](_0xc769('0x79'));_0x359e93['where'](_0xc769('0x79'));}else{_0x5aa14d['where'](_0xc769('0x5c'),_['map'](_0x3040e1,'id'));_0x359e93[_0xc769('0x34')](_0xc769('0x5c'),_[_0xc769('0x49')](_0x3040e1,'id'));}});}})[_0xc769('0x17')](function(){if(_0xce1ea[_0xc769('0x77')][_0xc769('0x74')]===_0xc769('0x75')&&!_0x461e9e&&!_0xce1ea[_0xc769('0x2b')]['ListId'])return[];return db[_0xc769('0x7a')][_0xc769('0x2b')](_0x5aa14d[_0xc769('0x7b')](),_0x4bea89);})[_0xc769('0x17')](function(_0x16a138){_0x317886[_0xc769('0x14')]=_0x16a138[_0xc769('0x20')];if(_0x317886['count']===0x0)return[];return db[_0xc769('0x7a')][_0xc769('0x2b')](_0x163c48['toString'](),_0x4bea89)[_0xc769('0x17')](function(_0xac1500){_0x2cc0a1=_[_0xc769('0x7c')](_0xac1500,'id');_0x4bea89=_[_0xc769('0x7d')](_0x4bea89,{'model':db[_0xc769('0x1f')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0xce1ea[_0xc769('0x2b')]['fields']){_0x45c979['attributes'][_0xc769('0x4a')](function(_0x124c87){_0x359e93[_0xc769('0x37')]('c.'+_0x124c87);});}else{_0x359e93['field'](_0xc769('0x6b'));_0x359e93[_0xc769('0x37')](_0xc769('0x7e'));_0x359e93[_0xc769('0x37')](_0xc769('0x7f'));_0x359e93['field']('c.phone');_0x359e93[_0xc769('0x37')](_0xc769('0x80'));_0x359e93[_0xc769('0x37')](_0xc769('0x81'));_0x359e93[_0xc769('0x37')](_0xc769('0x82'));_0x359e93[_0xc769('0x37')]('c.ListId');_0x359e93['field'](_0xc769('0x83'));_0x359e93[_0xc769('0x37')]('c.deletedAt');_0x359e93[_0xc769('0x37')](_0xc769('0x84'));_0x359e93[_0xc769('0x37')](_0xc769('0x85'),_0xc769('0x86'));}if(_0x45c979[_0xc769('0x13')])_0x359e93['limit'](_0x45c979['limit']);if(_0x45c979[_0xc769('0x11')])_0x359e93[_0xc769('0x11')](_0x45c979[_0xc769('0x11')]);return db['sequelize'][_0xc769('0x2b')](_0x359e93[_0xc769('0x7b')](),_0x4bea89);});})[_0xc769('0x17')](function(_0x25d560){_0x25d560[_0xc769('0x4a')](function(_0x1bd790){if(_0x1bd790[_0xc769('0x86')]){_0x1bd790[_0xc769('0x87')]=[];_0x1bd790['TagIds']['split'](',')[_0xc769('0x4a')](function(_0x5d248a){_0x1bd790[_0xc769('0x87')][_0xc769('0x23')](_0x2cc0a1[_0x5d248a]);});}delete _0x1bd790['TagIds'];});_0x317886[_0xc769('0x88')]=_0x25d560;return _0x317886;})[_0xc769('0x17')](respondWithFilteredResult(_0x45e784,_0x45c979));})[_0xc769('0x89')](handleError(_0x45e784,null));};exports['destroy']=function(_0x4c2a95,_0xa9ed49){return db[_0xc769('0x1f')][_0xc769('0x46')]({'where':{'id':_0x4c2a95[_0xc769('0x8a')]['id']}})[_0xc769('0x17')](handleEntityNotFound(_0xa9ed49,null))[_0xc769('0x17')](removeEntity(_0xa9ed49,null))[_0xc769('0x89')](handleError(_0xa9ed49,null));};exports[_0xc769('0x8b')]=function(_0x2bf6d2,_0x45b151){return db[_0xc769('0x1f')][_0xc769('0x8b')]()[_0xc769('0x17')](function(_0x11c43c){delete _0x11c43c[_0xc769('0x8c')];for(var _0xa881b2=0x0;_0xa881b2<Object['keys'](_0x11c43c)[_0xc769('0x20')];_0xa881b2++){var _0x3a99c2=Object[_0xc769('0x2a')](_0x11c43c)[_0xa881b2];if(!_[_0xc769('0x21')](_0x3a99c2,_0xc769('0x22'))){_0x11c43c[_0x3a99c2]['columnName']=_0x3a99c2;_0x11c43c[_0x3a99c2][_0xc769('0x8d')]=_0x3a99c2;}}return _0x11c43c;})[_0xc769('0x17')](function(_0xb09403){var _0xef77ff={'where':Boolean(_0x2bf6d2[_0xc769('0x2b')][_0xc769('0x8e')])===!![]?undefined:{'$or':[{'ListId':_0x2bf6d2[_0xc769('0x2b')]['id']},{'ListId':null}]},'raw':!![]};return db[_0xc769('0x24')]['findAll'](_0xef77ff)['then'](function(_0x3c6e78){for(var _0x2ac6fd=0x0;_0x2ac6fd<_0x3c6e78[_0xc769('0x20')];_0x2ac6fd++){var _0x8f99c8=_0xc769('0x22')+_0x3c6e78[_0x2ac6fd]['id'];_0xb09403[_0x8f99c8][_0xc769('0x8f')]=_0x8f99c8;_0xb09403[_0x8f99c8][_0xc769('0x8d')]=_0x3c6e78[_0x2ac6fd][_0xc769('0x90')];_0xb09403[_0x8f99c8][_0xc769('0x91')]={'type':_0x3c6e78[_0x2ac6fd][_0xc769('0x55')],'values':_0x3c6e78[_0x2ac6fd][_0xc769('0x92')]};}Object[_0xc769('0x2a')](_0xb09403)['forEach'](function(_0xdd06d5){if(!_0xb09403[_0xdd06d5][_0xc769('0x30')](_0xc769('0x8f'))){delete _0xb09403[_0xdd06d5];}});return _0xb09403;});})[_0xc769('0x17')](respondWithResult(_0x45b151,null))[_0xc769('0x89')](handleError(_0x45b151,null));};exports[_0xc769('0x7d')]=function(_0x668327,_0xe3f7d1){var _0x5e8f2e;var _0x332033;var _0x436f12;if(_0x668327[_0xc769('0x93')]['id']){delete _0x668327['body']['id'];}return db[_0xc769('0x1f')][_0xc769('0x94')]({'where':{'id':[_0x668327[_0xc769('0x93')]['to'],_0x668327[_0xc769('0x93')]['from']]}})['then'](function(_0x364240){if(_0x364240){if(_0x364240[_0xc769('0x20')]!==0x2){return null;}_0x364240[0x0]=_0x364240[0x0][_0xc769('0x95')]({'plain':!![]});_0x364240[0x1]=_0x364240[0x1][_0xc769('0x95')]({'plain':!![]});delete _0x364240[0x0]['id'];delete _0x364240[0x1]['id'];return _[_0xc769('0x96')](_0x364240[0x0],_0x364240[0x1],function(_0x1cbbbe,_0x6bf01b){if(Array[_0xc769('0x97')](_0x6bf01b)&&!_0x6bf01b[_0xc769('0x20')]){return _0x1cbbbe;}else if(!_0x6bf01b){return _0x1cbbbe;}});}})[_0xc769('0x17')](handleEntityNotFound(_0xe3f7d1,null))[_0xc769('0x17')](function(_0x202b01){if(_0x202b01){if(_0x202b01['tags']&&_['isArray'](_0x202b01['tags'])){_0x202b01['tags']=_0x202b01[_0xc769('0x8c')]['join']();}logger[_0xc769('0x98')](_0xc769('0x99'),_0x668327['body']['to'],_0x668327[_0xc769('0x93')][_0xc769('0x39')]);return db[_0xc769('0x9a')]['destroy']({'where':{'ContactId':[_0x668327[_0xc769('0x93')]['to'],_0x668327[_0xc769('0x93')]['from']]}})[_0xc769('0x17')](function(_0x3c5801){logger['info'](_0xc769('0x9b'),_0x3c5801);return db[_0xc769('0x9c')]['destroy']({'where':{'ContactId':[_0x668327[_0xc769('0x93')]['to'],_0x668327[_0xc769('0x93')][_0xc769('0x39')]]}})[_0xc769('0x17')](function(_0x5ba544){logger['info'](_0xc769('0x9d'),_0x5ba544);return db[_0xc769('0x1f')][_0xc769('0x9e')](_0x202b01);});});}})['then'](function(_0x401542){if(_0x401542){_0x5e8f2e=_0x401542;_0x332033={'ContactId':_0x5e8f2e['id']};_0x436f12={'where':{'ContactId':[_0x668327['body']['to'],_0x668327['body']['from']]}};return db[_0xc769('0x9f')][_0xc769('0xa0')](_0x332033,_0x436f12);}})[_0xc769('0x17')](function(){if(_0x5e8f2e){return db[_0xc769('0xa1')]['update'](_0x332033,_0x436f12);}})[_0xc769('0x17')](function(){if(_0x5e8f2e){return db['ChatOfflineMessage'][_0xc769('0xa0')](_0x332033,_0x436f12);}})['then'](function(){if(_0x5e8f2e){return db[_0xc769('0xa2')][_0xc769('0xa0')](_0x332033,_0x436f12);}})['then'](function(){if(_0x5e8f2e){return db['MailMessage'][_0xc769('0xa0')](_0x332033,_0x436f12);}})[_0xc769('0x17')](function(){if(_0x5e8f2e){return db[_0xc769('0xa2')][_0xc769('0xa0')](_0x332033,_0x436f12);}})[_0xc769('0x17')](function(){if(_0x5e8f2e){return db[_0xc769('0xa3')][_0xc769('0xa0')](_0x332033,_0x436f12);}})[_0xc769('0x17')](function(){if(_0x5e8f2e){return db[_0xc769('0xa4')][_0xc769('0xa0')](_0x332033,_0x436f12);}})[_0xc769('0x17')](function(){if(_0x5e8f2e){return db[_0xc769('0xa5')][_0xc769('0xa0')](_0x332033,_0x436f12);}})[_0xc769('0x17')](function(){if(_0x5e8f2e){return db['FaxInteraction'][_0xc769('0xa0')](_0x332033,_0x436f12);}})['then'](function(){if(_0x5e8f2e){return db[_0xc769('0xa6')]['update'](_0x332033,_0x436f12);}})['then'](function(){if(_0x5e8f2e){return db[_0xc769('0xa7')][_0xc769('0xa0')](_0x332033,_0x436f12);}})['then'](function(){if(_0x5e8f2e){return db[_0xc769('0xa8')]['update'](_0x332033,_0x436f12);}})[_0xc769('0x17')](function(){if(_0x5e8f2e){return db[_0xc769('0xa9')]['update']({'CmContactId':_0x5e8f2e['id']},{'where':{'CmContactId':[_0x668327[_0xc769('0x93')]['to'],_0x668327[_0xc769('0x93')][_0xc769('0x39')]]}});}})[_0xc769('0x17')](function(){if(_0x5e8f2e){return db['CmHopperFinal']['update'](_0x332033,_0x436f12);}})[_0xc769('0x17')](function(){if(_0x5e8f2e){return db[_0xc769('0xaa')][_0xc769('0xa0')](_0x332033,_0x436f12);}})[_0xc769('0x17')](function(){if(_0x5e8f2e){return db[_0xc769('0xab')]['update'](_0x332033,_0x436f12);}})[_0xc769('0x17')](function(){if(_0x5e8f2e){return db[_0xc769('0xac')][_0xc769('0xa0')](_0x332033,_0x436f12);}})[_0xc769('0x17')](function(){if(_0x5e8f2e){return db[_0xc769('0xad')][_0xc769('0xa0')](_0x332033,_0x436f12);}})[_0xc769('0x17')](function(){if(_0x5e8f2e){return db['FaxQueueReport'][_0xc769('0xa0')](_0x332033,_0x436f12);}})[_0xc769('0x17')](function(){if(_0x5e8f2e){return db[_0xc769('0xae')][_0xc769('0xa0')](_0x332033,_0x436f12);}})[_0xc769('0x17')](function(){if(_0x5e8f2e){return db[_0xc769('0xaf')][_0xc769('0xa0')](_0x332033,_0x436f12);}})[_0xc769('0x17')](function(){if(_0x5e8f2e){return db[_0xc769('0xb0')][_0xc769('0xa0')](_0x332033,_0x436f12);}})['then'](function(){if(_0x5e8f2e){return db[_0xc769('0xb1')]['update'](_0x332033,_0x436f12);}})['then'](function(){if(_0x5e8f2e){return db[_0xc769('0xb2')][_0xc769('0xa0')](_0x332033,_0x436f12);}})['then'](function(){if(_0x5e8f2e){return db[_0xc769('0xb3')]['update'](_0x332033,_0x436f12);}})['then'](function(){if(_0x5e8f2e){return db[_0xc769('0xb4')]['update'](_0x332033,_0x436f12);}})[_0xc769('0x17')](function(){if(_0x5e8f2e){return db['CmContact'][_0xc769('0xb5')]({'where':{'id':[_0x668327['body']['to'],_0x668327[_0xc769('0x93')]['from']]}});}})[_0xc769('0x17')](function(){if(_0x5e8f2e){return _0x5e8f2e;}})[_0xc769('0x17')](respondWithResult(_0xe3f7d1,null))[_0xc769('0x89')](handleError(_0xe3f7d1,null));};exports['create']=function(_0x57c07f,_0x3158bc){return db['CmContact']['describe']()[_0xc769('0x17')](function(_0x28b83a){if(_0x57c07f[_0xc769('0x93')][_0xc769('0x8c')]&&_['isArray'](_0x57c07f[_0xc769('0x93')][_0xc769('0x8c')])){if(_0x57c07f[_0xc769('0x93')][_0xc769('0x8c')][_0xc769('0x20')]){_0x57c07f[_0xc769('0x93')][_0xc769('0x8c')]=_0x57c07f['body'][_0xc769('0x8c')][_0xc769('0xb6')](';')+';';}else{_0x57c07f[_0xc769('0x93')][_0xc769('0x8c')]=null;}}else{_0x57c07f['body'][_0xc769('0x8c')]=null;}if(!_[_0xc769('0x58')](_0x57c07f[_0xc769('0x93')][_0xc769('0xb7')])){var _0x2f11fc=_0x57c07f[_0xc769('0x93')][_0xc769('0xb7')];if(!_[_0xc769('0x58')](shared[_0xc769('0xb8')][_0x2f11fc]))_0x57c07f[_0xc769('0x93')][_0xc769('0xb9')]=shared[_0xc769('0xb8')][_0x2f11fc]['utcOffset'];}return db['CmContact'][_0xc769('0x9e')](_0x57c07f[_0xc769('0x93')],{'fields':_[_0xc769('0x2a')](_0x28b83a),'raw':!![]});})[_0xc769('0x17')](function(_0x1772df){if(_0x57c07f['body'][_0xc769('0xba')]){return insertAdditionalPhones(_0x1772df,_0x57c07f[_0xc769('0x93')]['additionalPhones']);}else{return _0x1772df;}})[_0xc769('0x17')](respondWithResult(_0x3158bc,0xc9))[_0xc769('0x89')](handleError(_0x3158bc,null));};exports[_0xc769('0xbb')]=function(_0x26bfe3,_0x1bf8ba){var _0x1b255e=0x0;var _0x1d97e0=0x0;var _0xadffa6=0x0;var _0x1e6b9d=[];return db['CmContact']['describe']()[_0xc769('0x17')](function(_0x4a3816){return BPromise[_0xc769('0xbc')](_0x26bfe3[_0xc769('0x93')],function(_0x3de657){var _0x312631={'where':{'$or':[]},'defaults':_0x3de657,'fields':_['keys'](_0x4a3816),'raw':!![]};if(_0x3de657[_0xc769('0xbd')]){for(var _0x4d6402=0x0;_0x4d6402<_0x3de657['duplicates'][_0xc769('0x20')];_0x4d6402++){var _0x3628b1={};_0x3628b1[_0x3de657[_0xc769('0xbd')][_0x4d6402]]=_0x3de657[_0x3de657[_0xc769('0xbd')][_0x4d6402]];_0x312631[_0xc769('0x34')][_0xc769('0xbe')][_0xc769('0x23')](_0x3628b1);}_0x312631[_0xc769('0x34')][_0xc769('0x5b')]=_0x3de657[_0xc769('0x5b')];}return db[_0xc769('0x1f')]['findOrCreate'](_0x312631)[_0xc769('0xbf')](function(_0x3fecf7,_0x54cfeb){if(_0x54cfeb){if(_0x3de657[_0xc769('0x30')]('additionalPhones')){_0x1e6b9d[_0xc769('0x23')]({'contact':_0x3fecf7,'additionalPhones':_0x3de657['additionalPhones']});}_0x1b255e++;}else{_0xadffa6++;}})[_0xc769('0x89')](function(){_0x1d97e0++;});});})[_0xc769('0x17')](function(_0x4f735d){if(_0x4f735d){if(_0x1e6b9d['length']>0x0){return new Promise(function(_0x1e9614,_0x4ea12f){var _0x26c770=[];for(var _0x410607=0x0;_0x410607<_0x1e6b9d[_0xc769('0x20')];_0x410607++){_0x26c770[_0xc769('0x23')](insertAdditionalPhones(_0x1e6b9d[_0x410607][_0xc769('0xc0')],_0x1e6b9d[_0x410607][_0xc769('0xba')]));}Promise['all'](_0x26c770)['then'](function(){_0x1e9614(0x1);});})[_0xc769('0x17')](function(){return{'success':_0x1b255e,'failure':_0x1d97e0,'duplicates':_0xadffa6};});}else{return{'success':_0x1b255e,'failure':_0x1d97e0,'duplicates':_0xadffa6};}}})[_0xc769('0x17')](respondWithResult(_0x1bf8ba,0xc9))[_0xc769('0x89')](handleError(_0x1bf8ba,null));};exports[_0xc769('0xc1')]=function(_0x57af40,_0x25164c){var _0x59c7cf;return db[_0xc769('0x1f')][_0xc769('0x8b')]()['then'](function(_0x392563){return db[_0xc769('0x1f')][_0xc769('0x46')]({'where':{'id':_0x57af40[_0xc769('0x8a')]['id']},'include':[{'model':db[_0xc769('0xc2')],'as':'Tags','attributes':['id','name',_0xc769('0x38')],'required':_0x57af40['query'][_0xc769('0x5e')]?!![]:![]},{'model':db[_0xc769('0xa9')],'as':'Phones','where':{'CmContactId':_0x57af40[_0xc769('0x8a')]['id']},'required':![],'include':[{'model':db[_0xc769('0xc3')],'as':'ItemType'}]}],'order':[db['sequelize']['literal']('Phones.OrderBy')],'attributes':_[_0xc769('0x2a')](_0x392563)});})['then'](function(_0x25f77f){if(!_[_0xc769('0x58')](_0x25f77f)){_0x59c7cf=_0x25f77f[_0xc769('0x95')]({'plain':!![]});var _0xccda0b={'where':{'$and':[{'ListId':{'$ne':null}}]}};if(_0x25f77f&&_0x25f77f[_0xc769('0x5b')]){if(_0x25f77f[_0xc769('0x5b')]){_0xccda0b['where'][_0xc769('0xc4')]['push']({'ListId':{'$ne':_0x25f77f[_0xc769('0x5b')]}});}}return db[_0xc769('0x24')][_0xc769('0x94')](_0xccda0b);}})[_0xc769('0x17')](function(_0x4c69b5){if(!_[_0xc769('0x58')](_0x4c69b5)){return _[_0xc769('0xc5')](_0x59c7cf,_[_0xc769('0x49')](_0x4c69b5,function(_0x1fd107){return util[_0xc769('0xc6')](_0xc769('0xc7'),_0x1fd107['id']);}));}})[_0xc769('0x17')](handleEntityNotFound(_0x25164c,null))[_0xc769('0x17')](respondWithResult(_0x25164c,null))[_0xc769('0x89')](handleError(_0x25164c,null));};exports[_0xc769('0xa0')]=function(_0x4b0c67,_0x4c0381){var _0x5ede80;if(_0x4b0c67[_0xc769('0x93')]['id']){delete _0x4b0c67[_0xc769('0x93')]['id'];}if(!_['isNil'](_0x4b0c67[_0xc769('0x93')]['dialTimezone'])){var _0x9d6837=_0x4b0c67[_0xc769('0x93')][_0xc769('0xb7')];if(!_['isNil'](shared[_0xc769('0xb8')][_0x9d6837]))_0x4b0c67[_0xc769('0x93')]['utcOffset']=shared[_0xc769('0xb8')][_0x9d6837]['utcOffset'];}return db[_0xc769('0x1f')][_0xc769('0x46')]({'where':{'id':_0x4b0c67['params']['id']}})['then'](handleEntityNotFound(_0x4c0381,null))[_0xc769('0x17')](saveUpdates(_0x4b0c67[_0xc769('0x93')],null))['then'](function(_0x22be17){_0x5ede80=_0x22be17;var _0x171fb2={'where':{'$and':[{'ListId':{'$ne':null}}]}};if(_0x22be17&&_0x22be17[_0xc769('0x5b')]){if(_0x22be17['ListId']){_0x171fb2['where'][_0xc769('0xc4')][_0xc769('0x23')]({'ListId':{'$ne':_0x22be17[_0xc769('0x5b')]}});}}return db[_0xc769('0x24')][_0xc769('0x94')](_0x171fb2);})[_0xc769('0x17')](function(_0x3468de){if(_0x3468de){return _['omit'](_[_0xc769('0xc8')](_0x4b0c67[_0xc769('0x93')],function(_0x1be2f0,_0x5d7edf){return _[_0xc769('0x21')](_0x5d7edf,_0xc769('0x22'));}),_[_0xc769('0x49')](_0x3468de,function(_0x4c5210){return util[_0xc769('0xc6')](_0xc769('0xc7'),_0x4c5210['id']);}));}})[_0xc769('0x17')](function(_0x2bbea7){if(_0x2bbea7&&!_[_0xc769('0x5a')](_0x2bbea7)){var _0x2c4f6e=squel['update']()[_0xc769('0xc9')](_0xc769('0xca'))['setFields'](_0x2bbea7)[_0xc769('0x34')](_0xc769('0xcb'),_0x4b0c67['params']['id'])[_0xc769('0xcc')]();return db[_0xc769('0x7a')][_0xc769('0x2b')](_0x2c4f6e['text'],{'replacements':_0x2c4f6e[_0xc769('0x92')]});}})[_0xc769('0x17')](function(){if(_0x4b0c67['body']['phone']&&_0x5ede80){return db['CmHopper'][_0xc769('0xa0')]({'phone':_0x4b0c67['body'][_0xc769('0xcd')],'OrderBy':0x0},{'where':{'ContactId':_0x5ede80['id']}});}})[_0xc769('0x17')](function(){return _0x5ede80;})['then'](respondWithResult(_0x4c0381,null))[_0xc769('0x89')](handleError(_0x4c0381,null));};exports[_0xc769('0xce')]=function(_0x4ebc90,_0x48166c){var _0x34ec72={};var _0xc32111={};var _0x32e59f;var _0x8ad7b3;return db[_0xc769('0x1f')][_0xc769('0x25')]({'where':{'id':_0x4ebc90[_0xc769('0x8a')]['id']}})[_0xc769('0x17')](handleEntityNotFound(_0x48166c,null))[_0xc769('0x17')](function(_0x3491e6){if(_0x3491e6){_0x32e59f=_0x3491e6;_0xc32111[_0xc769('0x29')]=_['keys'](db['Tag'][_0xc769('0xcf')]);_0xc32111['query']=_[_0xc769('0x2a')](_0x4ebc90[_0xc769('0x2b')]);_0xc32111[_0xc769('0x2c')]=_[_0xc769('0x2e')](_0xc32111['model'],_0xc32111[_0xc769('0x2b')]);_0x34ec72['attributes']=_[_0xc769('0x2e')](_0xc32111['model'],qs['fields'](_0x4ebc90[_0xc769('0x2b')][_0xc769('0x2f')]));_0x34ec72[_0xc769('0x2d')]=_0x34ec72['attributes'][_0xc769('0x20')]?_0x34ec72[_0xc769('0x2d')]:_0xc32111[_0xc769('0x29')];_0x34ec72['order']=qs[_0xc769('0x33')](_0x4ebc90[_0xc769('0x2b')][_0xc769('0x33')]);_0x34ec72[_0xc769('0x34')]=qs[_0xc769('0x2c')](_['pick'](_0x4ebc90['query'],_0xc32111[_0xc769('0x2c')]));if(_0x4ebc90[_0xc769('0x2b')]['filter']){_0x34ec72[_0xc769('0x34')]=_[_0xc769('0x7d')](_0x34ec72[_0xc769('0x34')],{'$or':_[_0xc769('0x49')](_0x34ec72['attributes'],function(_0x280df4){var _0x4d502c={};_0x4d502c[_0x280df4]={'$like':'%'+_0x4ebc90[_0xc769('0x2b')][_0xc769('0x57')]+'%'};return _0x4d502c;})});}_0x34ec72=_[_0xc769('0x7d')]({},_0x34ec72,_0x4ebc90[_0xc769('0xd0')]);return _0x32e59f[_0xc769('0xce')](_0x34ec72);}})[_0xc769('0x17')](function(_0x8a84d){if(_0x8a84d){_0x8ad7b3=_0x8a84d[_0xc769('0x20')];if(!_0x4ebc90[_0xc769('0x2b')]['hasOwnProperty'](_0xc769('0x31'))){_0x34ec72['limit']=qs[_0xc769('0x13')](_0x4ebc90[_0xc769('0x2b')][_0xc769('0x13')]);_0x34ec72['offset']=qs[_0xc769('0x11')](_0x4ebc90[_0xc769('0x2b')][_0xc769('0x11')]);}return _0x32e59f['getTags'](_0x34ec72);}})['then'](function(_0x2575ad){if(_0x2575ad){return _0x2575ad?{'count':_0x8ad7b3,'rows':_0x2575ad}:null;}})['then'](respondWithResult(_0x48166c,null))[_0xc769('0x89')](handleError(_0x48166c,null));};exports[_0xc769('0xd1')]=function(_0x1c58b0,_0x1746ca){if(_0x1c58b0[_0xc769('0x93')]['id']){delete _0x1c58b0[_0xc769('0x93')]['id'];}return db[_0xc769('0x1f')]['findOne']({'where':{'id':_0x1c58b0['params']['id']}})[_0xc769('0x17')](handleEntityNotFound(_0x1746ca,null))[_0xc769('0x17')](function(_0x376ed0){if(_0x376ed0){return _0x376ed0[_0xc769('0xd1')](_0x1c58b0[_0xc769('0x93')][_0xc769('0xd2')]||[]);}return null;})[_0xc769('0x17')](respondWithResult(_0x1746ca,null))['catch'](handleError(_0x1746ca,null));};exports[_0xc769('0xd3')]=function(_0x31b26e,_0x2b8e6f){var _0x44fc72=[];_0x44fc72[_0xc769('0x23')](addAdditionalPhones(_0x31b26e[_0xc769('0x93')]));Promise[_0xc769('0x27')](_0x44fc72)[_0xc769('0x17')](function(){_0x44fc72=[];_0x44fc72[_0xc769('0x23')](deleteCmHopperPhones(_0x31b26e[_0xc769('0x93')]['id']));_0x44fc72[_0xc769('0x23')](addCmHopperPhones(_0x31b26e[_0xc769('0x93')]['id']));Promise[_0xc769('0x27')](_0x44fc72)[_0xc769('0x17')](function(){return[0x1];})[_0xc769('0x17')](respondWithResult(_0x2b8e6f,null));});};function addAdditionalPhones(_0x5f39e8){var _0x5db15d;return new Promise(function(_0x1a51d2,_0x40de6d){return db[_0xc769('0xa9')][_0xc769('0xb5')]({'where':{'CmContactId':_0x5f39e8['id']}})['then'](function(){db['ContactItemType'][_0xc769('0x94')]({'raw':!![],'attributes':['id',_0xc769('0xd4')]})[_0xc769('0x17')](function(_0x1ad992){var _0xef9dd6=[];for(var _0x483433=0x0;_0x483433<_0x5f39e8[_0xc769('0xd5')][_0xc769('0x20')];_0x483433++){var _0x1f67b9=_0x5f39e8[_0xc769('0xd6')]?_['isNil'](_0x5f39e8['item_types'][_0x483433])?'':_0x5f39e8[_0xc769('0xd6')][_0x483433]:_0x5f39e8[_0xc769('0xd5')][_0x483433][_0xc769('0xd7')]?_0x5f39e8[_0xc769('0xd5')][_0x483433]['ItemTypeId']:'';var _0x2113ef=_[_0xc769('0x58')](_0x5f39e8['items'][_0x483433][_0xc769('0xd8')])?'':_0x5f39e8[_0xc769('0xd5')][_0x483433]['description'];var _0x531b46=_0x1f67b9+':'+_0x5f39e8[_0xc769('0xd5')][_0x483433][_0xc769('0xcd')]+'ยง'+_0x2113ef;if(_['isNil'](_0x5db15d))_0x5db15d=_0x531b46;else _0x5db15d+=';'+_0x531b46;var _0x2b7b84=null;if(_0x5f39e8[_0xc769('0xd6')]){if(!_[_0xc769('0x58')](_0x5f39e8[_0xc769('0xd6')][_0x483433])){var _0x1fd174=_[_0xc769('0x46')](_0x1ad992,function(_0x2b7663){return _0x2b7663['id']===_0x5f39e8[_0xc769('0xd6')][_0x483433];});if(!_[_0xc769('0x58')](_0x1fd174)){_0x2b7b84=_0x1fd174[_0xc769('0xd4')];}}}else{if(!_[_0xc769('0x58')](_0x5f39e8[_0xc769('0xd5')][_0x483433])){var _0x1fd174=_['find'](_0x1ad992,function(_0x1896ec){return _0x1896ec['id']===_0x5f39e8[_0xc769('0xd5')][_0x483433]['ItemTypeId'];});if(!_[_0xc769('0x58')](_0x1fd174)){_0x2b7b84=_0x483433;}}}if(_[_0xc769('0x58')](_0x2b7b84)){_0x2b7b84=0x64;}_0xef9dd6[_0xc769('0x23')](addAdditionalPhone(_0x5f39e8['id'],_0x5f39e8[_0xc769('0xd5')][_0x483433][_0xc769('0xcd')],_0x5f39e8[_0xc769('0xd6')]?_[_0xc769('0x58')](_0x5f39e8[_0xc769('0xd6')][_0x483433])?null:_0x5f39e8[_0xc769('0xd6')][_0x483433]:_0x5f39e8[_0xc769('0xd5')][_0x483433]['ItemTypeId']?_0x5f39e8[_0xc769('0xd5')][_0x483433][_0xc769('0xd7')]:null,_0x2b7b84,_0x2113ef));}Promise['all'](_0xef9dd6)[_0xc769('0x17')](function(){db[_0xc769('0x1f')][_0xc769('0xa0')]({'AdditionalPhones':_0x5db15d},{'where':{'id':_0x5f39e8['id']}})[_0xc769('0x17')](function(){_0x1a51d2(0x1);});});});});});}function addAdditionalPhone(_0x191ace,_0x49eaa3,_0x3cd0dc,_0x4c92d0,_0x3455b9){return db[_0xc769('0xa9')][_0xc769('0x46')]({'where':{'CmContactId':_0x191ace,'item':_0x49eaa3}})[_0xc769('0x17')](function(_0x53bb50){if(_0x53bb50)logger[_0xc769('0x98')]('contact\x20phone\x20exists',_0x53bb50);else{db[_0xc769('0xa9')][_0xc769('0x9e')]({'CmContactId':_0x191ace,'item':_0x49eaa3,'ItemTypeId':_0x3cd0dc,'OrderBy':_0x4c92d0,'ItemClass':_0xc769('0xd9'),'description':_0x3455b9});}});}function deletePhones(_0x4d5e6a){return db['CmContactHasItem'][_0xc769('0xb5')]({'where':{'CmContactId':_0x4d5e6a}});}function deleteCmHopperPhones(_0x3542e0){return new Promise(function(_0x23f30c,_0x29f908){return db[_0xc769('0x9a')]['findAll']({'raw':!![],'attributes':['id'],'where':{'ContactId':_0x3542e0}})['then'](function(_0x44c320){db['CmHopperAdditionalPhone']['destroy']({'where':{'CmHopperId':{'$in':_[_0xc769('0x49')](_0x44c320,'id')}}});})[_0xc769('0x17')](function(){_0x23f30c(0x1);});});}function addCmHopperPhones(_0x117a44){return new Promise(function(_0x36fbd8,_0x137ce0){return db['CmHopper'][_0xc769('0x94')]({'raw':!![],'attributes':['id'],'where':{'ContactId':_0x117a44}})[_0xc769('0x17')](function(_0xf99e27){var _0x27839f=[];_['map'](_0xf99e27,function(_0x4cfdba){_0x27839f['push'](createCmHopperPhone(_0x117a44,_0x4cfdba['id']));});Promise[_0xc769('0x27')](_0x27839f)['then'](function(){_0x36fbd8(0x1);});});});}function createCmHopperPhone(_0x2e4119,_0x1a09c3){return new Promise(function(_0x341173,_0x1b94be){db[_0xc769('0xa9')][_0xc769('0x94')]({'raw':!![],'attributes':[_0xc769('0xda'),_0xc769('0xd4')],'where':{'CmContactId':_0x2e4119,'ItemClass':_0xc769('0xd9')},'include':[{'model':db[_0xc769('0xc3')],'attributes':[_0xc769('0xd4')],'as':'ItemType'}],'order':[_0xc769('0xd4'),db['sequelize'][_0xc769('0xdb')](_0xc769('0xdc'))]})[_0xc769('0x17')](function(_0x1cedd1){var _0x4e5241=0x1;var _0x1591a9=_['map'](_0x1cedd1,function(_0x2d1a52){_0x2d1a52['CmHopperId']=_0x1a09c3;_0x2d1a52[_0xc769('0xcd')]=_0x2d1a52[_0xc769('0xda')];_0x2d1a52[_0xc769('0xd4')]=_0x4e5241;delete _0x2d1a52[_0xc769('0xdd')];_0x4e5241=_0x4e5241+0x1;return _0x2d1a52;});return db[_0xc769('0xde')][_0xc769('0xbb')](_0x1591a9,{});})[_0xc769('0x17')](function(){_0x341173(0x1);});});}function insertAdditionalPhones(_0x389c4f,_0x374b34){return new Promise(function(_0x53bab4,_0xfb3037){var _0x497519=[];for(var _0x4e6e59=0x0;_0x4e6e59<_0x374b34[_0xc769('0x20')];_0x4e6e59++){var _0x5a4faf=_0x374b34[_0x4e6e59];_0x497519[_0xc769('0x23')](parseContactItemType(_0x5a4faf));}Promise[_0xc769('0x27')](_0x497519)[_0xc769('0x17')](function(){var _0x2a4db0={'id':_0x389c4f['id'],'items':_0x374b34};return addAdditionalPhones(_0x2a4db0)['then'](function(_0x3a9223){return addCmHopperPhones(_0x389c4f['id']);});})['then'](function(){_0x53bab4(_0x389c4f);});});}function parseContactItemType(_0x33b097){return new Promise(function(_0x51116f,_0x13cb67){if(_0x33b097[_0xc769('0x30')]('ItemTypeId')){_0x51116f(_0x33b097);}else{return db['ContactItemType'][_0xc769('0x46')]({'where':{'name':_0x33b097[_0xc769('0xdf')]}})['then'](function(_0x37aea7){if(_['isNil'](_0x37aea7))_0x33b097[_0xc769('0xd7')]=null;else _0x33b097['ItemTypeId']=_0x37aea7['id'];_0x51116f(_0x33b097);});}});}exports[_0xc769('0xe0')]=function(_0x1a4b25,_0x567753){return db[_0xc769('0xa9')][_0xc769('0x94')]({'raw':!![],'where':{'CmContactId':_0x1a4b25['params']['id'],'ItemClass':_0xc769('0xd9')},'include':[{'model':db[_0xc769('0xc3')],'as':'ItemType'}],'order':[[_0xc769('0xd4')],[db[_0xc769('0x7a')][_0xc769('0xdb')](_0xc769('0xdc'))]]})[_0xc769('0x17')](function(_0x43a80e){return _0x43a80e;})[_0xc769('0x17')](respondWithResult(_0x567753,null))[_0xc769('0x89')](handleError(_0x567753,null));};exports[_0xc769('0xe1')]=function(_0x27335e,_0x3fd6a0){return db[_0xc769('0xa9')]['findAll']({'raw':!![],'where':{'CmContactId':_0x27335e[_0xc769('0x93')][_0xc769('0xe2')]}})[_0xc769('0x17')](function(_0x54f5bc){var _0x4e06fc=_[_0xc769('0x49')](_0x54f5bc,function(_0x25ac56){_0x25ac56[_0xc769('0xe3')]=_0x27335e[_0xc769('0x93')]['toContactId'];return _0x25ac56;});return db[_0xc769('0xa9')][_0xc769('0xbb')](_0x4e06fc,{});})[_0xc769('0x17')](function(_0x3198a9){return addCmHopperPhones(_0x27335e['body'][_0xc769('0xe4')]);})[_0xc769('0x17')](function(_0x4b516c){return['ok'];})[_0xc769('0x17')](respondWithResult(_0x3fd6a0,null))[_0xc769('0x89')](handleError(_0x3fd6a0,null));};exports[_0xc769('0xe5')]=function(_0x12e045,_0x28a3f2){var _0x39fc22=[];_0x39fc22[_0xc769('0x23')](createCmHopperPhone(_0x12e045['body']['id'],_0x12e045[_0xc769('0x93')][_0xc769('0xe6')]));Promise[_0xc769('0x27')](_0x39fc22)[_0xc769('0x17')](function(){return[0x1];})[_0xc769('0x17')](respondWithResult(_0x28a3f2,null));};exports['getHoppers']=function(_0x228d8e,_0x1b7124){var _0x406b08={'raw':![],'where':{}};var _0x7047d1={};var _0x34c2d6={'count':0x0,'rows':[]};return db[_0xc769('0x1f')][_0xc769('0x25')]({'where':{'id':_0x228d8e[_0xc769('0x8a')]['id']}})[_0xc769('0x17')](handleEntityNotFound(_0x1b7124,null))[_0xc769('0x17')](function(_0x30e28e){if(_0x30e28e){_0x7047d1[_0xc769('0x29')]=_[_0xc769('0x2a')](db[_0xc769('0x9a')][_0xc769('0xcf')]);_0x7047d1[_0xc769('0x2b')]=_['keys'](_0x228d8e[_0xc769('0x2b')]);_0x7047d1['filters']=_[_0xc769('0x2e')](_0x7047d1[_0xc769('0x29')],_0x7047d1[_0xc769('0x2b')]);_0x406b08['attributes']=_[_0xc769('0x2e')](_0x7047d1[_0xc769('0x29')],qs[_0xc769('0x2f')](_0x228d8e[_0xc769('0x2b')][_0xc769('0x2f')]));_0x406b08['attributes']=_0x406b08[_0xc769('0x2d')]['length']?_0x406b08[_0xc769('0x2d')]:_0x7047d1[_0xc769('0x29')];if(!_0x228d8e[_0xc769('0x2b')][_0xc769('0x30')]('nolimit')){_0x406b08[_0xc769('0x13')]=qs[_0xc769('0x13')](_0x228d8e['query'][_0xc769('0x13')]);_0x406b08[_0xc769('0x11')]=qs[_0xc769('0x11')](_0x228d8e[_0xc769('0x2b')]['offset']);}_0x406b08['order']=qs[_0xc769('0x33')](_0x228d8e['query'][_0xc769('0x33')]);_0x406b08[_0xc769('0x34')]=qs[_0xc769('0x2c')](_['pick'](_0x228d8e[_0xc769('0x2b')],_0x7047d1[_0xc769('0x2c')]));_0x406b08['where']['ContactId']=_0x30e28e['id'];if(_0x228d8e[_0xc769('0x2b')][_0xc769('0x57')]){_0x406b08[_0xc769('0x34')]=_[_0xc769('0x7d')](_0x406b08[_0xc769('0x34')],{'$or':_[_0xc769('0x49')](_0x406b08[_0xc769('0x2d')],function(_0x344174){var _0x282663={};_0x282663[_0x344174]={'$like':'%'+_0x228d8e[_0xc769('0x2b')]['filter']+'%'};return _0x282663;})});}_0x406b08=_[_0xc769('0x7d')]({},_0x406b08,_0x228d8e[_0xc769('0xd0')]);return db['CmHopper'][_0xc769('0x14')]({'where':_0x406b08[_0xc769('0x34')]})[_0xc769('0x17')](function(_0x49aff4){_0x34c2d6[_0xc769('0x14')]=_0x49aff4;if(_0x228d8e[_0xc769('0x2b')]['includeAll']){_0x406b08['include']=[{'all':!![]}];}return db[_0xc769('0x9a')][_0xc769('0x94')](_0x406b08);})[_0xc769('0x17')](function(_0xbec5b4){_0x34c2d6[_0xc769('0x88')]=_0xbec5b4;return _0x34c2d6;});}})[_0xc769('0x17')](respondWithFilteredResult(_0x1b7124,_0x406b08))['catch'](handleError(_0x1b7124,null));};exports[_0xc769('0xe7')]=function(_0x58c148,_0x185a5f){var _0xd1d7bc={'raw':!![],'where':{}};var _0x42cb9e={};var _0x351953={'count':0x0,'rows':[]};return db[_0xc769('0x1f')][_0xc769('0x25')]({'where':{'id':_0x58c148[_0xc769('0x8a')]['id']}})[_0xc769('0x17')](handleEntityNotFound(_0x185a5f,null))[_0xc769('0x17')](function(_0x41595b){if(_0x41595b){_0x42cb9e['model']=_[_0xc769('0x2a')](db['CmHopperHistory']['rawAttributes']);_0x42cb9e[_0xc769('0x2b')]=_['keys'](_0x58c148[_0xc769('0x2b')]);_0x42cb9e[_0xc769('0x2c')]=_[_0xc769('0x2e')](_0x42cb9e[_0xc769('0x29')],_0x42cb9e[_0xc769('0x2b')]);_0xd1d7bc[_0xc769('0x2d')]=_['intersection'](_0x42cb9e['model'],qs[_0xc769('0x2f')](_0x58c148['query'][_0xc769('0x2f')]));_0xd1d7bc['attributes']=_0xd1d7bc[_0xc769('0x2d')][_0xc769('0x20')]?_0xd1d7bc[_0xc769('0x2d')]:_0x42cb9e[_0xc769('0x29')];if(!_0x58c148[_0xc769('0x2b')][_0xc769('0x30')](_0xc769('0x31'))){_0xd1d7bc[_0xc769('0x13')]=qs[_0xc769('0x13')](_0x58c148[_0xc769('0x2b')][_0xc769('0x13')]);_0xd1d7bc[_0xc769('0x11')]=qs[_0xc769('0x11')](_0x58c148[_0xc769('0x2b')][_0xc769('0x11')]);}_0xd1d7bc[_0xc769('0x32')]=qs['sort'](_0x58c148['query'][_0xc769('0x33')]);_0xd1d7bc[_0xc769('0x34')]=qs[_0xc769('0x2c')](_[_0xc769('0x35')](_0x58c148['query'],_0x42cb9e[_0xc769('0x2c')]));_0xd1d7bc['where'][_0xc769('0xe8')]=_0x41595b['id'];if(_0x58c148[_0xc769('0x2b')][_0xc769('0x57')]){_0xd1d7bc[_0xc769('0x34')]=_[_0xc769('0x7d')](_0xd1d7bc[_0xc769('0x34')],{'$or':_[_0xc769('0x49')](_0xd1d7bc[_0xc769('0x2d')],function(_0x28902d){var _0x2e3dff={};_0x2e3dff[_0x28902d]={'$like':'%'+_0x58c148[_0xc769('0x2b')][_0xc769('0x57')]+'%'};return _0x2e3dff;})});}_0xd1d7bc=_[_0xc769('0x7d')]({},_0xd1d7bc,_0x58c148[_0xc769('0xd0')]);return db['CmHopperHistory'][_0xc769('0x14')]({'where':_0xd1d7bc[_0xc769('0x34')]})['then'](function(_0x1c3752){_0x351953[_0xc769('0x14')]=_0x1c3752;if(_0x58c148[_0xc769('0x2b')][_0xc769('0xe9')]){_0xd1d7bc[_0xc769('0xea')]=[{'all':!![]}];}return db[_0xc769('0xaa')]['findAll'](_0xd1d7bc);})[_0xc769('0x17')](function(_0x1e4049){_0x351953[_0xc769('0x88')]=_0x1e4049;return _0x351953;});}})[_0xc769('0x17')](respondWithFilteredResult(_0x185a5f,_0xd1d7bc))['catch'](handleError(_0x185a5f,null));};exports[_0xc769('0xeb')]=function(_0x129e22,_0x2e5c26){var _0x25aa98={'raw':!![],'where':{}};var _0x102bae={};var _0x57aedb={'count':0x0,'rows':[]};return db[_0xc769('0x1f')][_0xc769('0x25')]({'where':{'id':_0x129e22[_0xc769('0x8a')]['id']}})['then'](handleEntityNotFound(_0x2e5c26,null))['then'](function(_0x2d6710){if(_0x2d6710){_0x102bae[_0xc769('0x29')]=_['keys'](db[_0xc769('0xec')]['rawAttributes']);_0x102bae[_0xc769('0x2b')]=_[_0xc769('0x2a')](_0x129e22[_0xc769('0x2b')]);_0x102bae[_0xc769('0x2c')]=_[_0xc769('0x2e')](_0x102bae[_0xc769('0x29')],_0x102bae['query']);_0x25aa98['attributes']=_[_0xc769('0x2e')](_0x102bae[_0xc769('0x29')],qs['fields'](_0x129e22[_0xc769('0x2b')][_0xc769('0x2f')]));_0x25aa98[_0xc769('0x2d')]=_0x25aa98[_0xc769('0x2d')][_0xc769('0x20')]?_0x25aa98['attributes']:_0x102bae[_0xc769('0x29')];if(!_0x129e22[_0xc769('0x2b')][_0xc769('0x30')](_0xc769('0x31'))){_0x25aa98[_0xc769('0x13')]=qs[_0xc769('0x13')](_0x129e22[_0xc769('0x2b')][_0xc769('0x13')]);_0x25aa98[_0xc769('0x11')]=qs[_0xc769('0x11')](_0x129e22['query'][_0xc769('0x11')]);}_0x25aa98[_0xc769('0x32')]=qs[_0xc769('0x33')](_0x129e22[_0xc769('0x2b')][_0xc769('0x33')]);_0x25aa98[_0xc769('0x34')]=qs['filters'](_[_0xc769('0x35')](_0x129e22[_0xc769('0x2b')],_0x102bae['filters']));_0x25aa98['where'][_0xc769('0xe8')]=_0x2d6710['id'];if(_0x129e22[_0xc769('0x2b')][_0xc769('0x57')]){_0x25aa98[_0xc769('0x34')]=_[_0xc769('0x7d')](_0x25aa98[_0xc769('0x34')],{'$or':_[_0xc769('0x49')](_0x25aa98[_0xc769('0x2d')],function(_0x3e7da0){var _0xa84c1={};_0xa84c1[_0x3e7da0]={'$like':'%'+_0x129e22[_0xc769('0x2b')][_0xc769('0x57')]+'%'};return _0xa84c1;})});}_0x25aa98=_[_0xc769('0x7d')]({},_0x25aa98,_0x129e22['options']);return db[_0xc769('0xec')][_0xc769('0x14')]({'where':_0x25aa98['where']})[_0xc769('0x17')](function(_0x187ade){_0x57aedb[_0xc769('0x14')]=_0x187ade;if(_0x129e22[_0xc769('0x2b')]['includeAll']){_0x25aa98[_0xc769('0xea')]=[{'all':!![]}];}return db[_0xc769('0xec')][_0xc769('0x94')](_0x25aa98);})[_0xc769('0x17')](function(_0x34c966){_0x57aedb['rows']=_0x34c966;return _0x57aedb;});}})[_0xc769('0x17')](respondWithFilteredResult(_0x2e5c26,_0x25aa98))[_0xc769('0x89')](handleError(_0x2e5c26,null));};exports[_0xc769('0xed')]=function(_0x4daeeb,_0x36d513){var _0xdbb91c={'raw':!![],'where':{}};var _0x5060c4={};var _0xf801ac={'count':0x0,'rows':[]};return db[_0xc769('0x1f')][_0xc769('0x25')]({'where':{'id':_0x4daeeb[_0xc769('0x8a')]['id']}})[_0xc769('0x17')](handleEntityNotFound(_0x36d513,null))[_0xc769('0x17')](function(_0x28b5ec){if(_0x28b5ec){_0x5060c4[_0xc769('0x29')]=_['keys'](db[_0xc769('0xb1')][_0xc769('0xcf')]);_0x5060c4[_0xc769('0x2b')]=_['keys'](_0x4daeeb[_0xc769('0x2b')]);_0x5060c4[_0xc769('0x2c')]=_['intersection'](_0x5060c4[_0xc769('0x29')],_0x5060c4['query']);_0xdbb91c[_0xc769('0x2d')]=_[_0xc769('0x2e')](_0x5060c4[_0xc769('0x29')],qs[_0xc769('0x2f')](_0x4daeeb['query']['fields']));_0xdbb91c['attributes']=_0xdbb91c[_0xc769('0x2d')][_0xc769('0x20')]?_0xdbb91c[_0xc769('0x2d')]:_0x5060c4['model'];if(!_0x4daeeb[_0xc769('0x2b')][_0xc769('0x30')](_0xc769('0x31'))){_0xdbb91c['limit']=qs['limit'](_0x4daeeb[_0xc769('0x2b')][_0xc769('0x13')]);_0xdbb91c[_0xc769('0x11')]=qs[_0xc769('0x11')](_0x4daeeb[_0xc769('0x2b')][_0xc769('0x11')]);}_0xdbb91c[_0xc769('0x32')]=qs[_0xc769('0x33')](_0x4daeeb[_0xc769('0x2b')][_0xc769('0x33')]);_0xdbb91c[_0xc769('0x34')]=qs['filters'](_[_0xc769('0x35')](_0x4daeeb['query'],_0x5060c4[_0xc769('0x2c')]));_0xdbb91c[_0xc769('0x34')][_0xc769('0xe8')]=_0x28b5ec['id'];if(_0x4daeeb[_0xc769('0x2b')][_0xc769('0x57')]){_0xdbb91c[_0xc769('0x34')]=_[_0xc769('0x7d')](_0xdbb91c[_0xc769('0x34')],{'$or':_[_0xc769('0x49')](_0xdbb91c['attributes'],function(_0x58d863){var _0x5ea298={};_0x5ea298[_0x58d863]={'$like':'%'+_0x4daeeb['query'][_0xc769('0x57')]+'%'};return _0x5ea298;})});}_0xdbb91c=_[_0xc769('0x7d')]({},_0xdbb91c,_0x4daeeb[_0xc769('0xd0')]);return db[_0xc769('0xb1')][_0xc769('0x14')]({'where':_0xdbb91c[_0xc769('0x34')]})['then'](function(_0x32ae53){_0xf801ac[_0xc769('0x14')]=_0x32ae53;if(_0x4daeeb[_0xc769('0x2b')][_0xc769('0xe9')]){_0xdbb91c[_0xc769('0xea')]=[{'all':!![]}];}return db[_0xc769('0xb1')][_0xc769('0x94')](_0xdbb91c);})['then'](function(_0x3e5e4b){_0xf801ac[_0xc769('0x88')]=_0x3e5e4b;return _0xf801ac;});}})['then'](respondWithFilteredResult(_0x36d513,_0xdbb91c))[_0xc769('0x89')](handleError(_0x36d513,null));};exports[_0xc769('0xee')]=function(_0x9c9673,_0x976b08){try{if(!_0x9c9673[_0xc769('0x93')][_0xc769('0x5b')]){throw new Error(_0xc769('0xef'));}if(!_0x9c9673['body'][_0xc769('0xf0')]){throw new Error(_0xc769('0xf1'));}if(!_0x9c9673[_0xc769('0x93')][_0xc769('0xf2')]){throw new Error(_0xc769('0xf3'));}if(!_0x9c9673[_0xc769('0x93')][_0xc769('0xf4')]){throw new Error(_0xc769('0xf5'));}var _0x353499=_0x9c9673[_0xc769('0x93')][_0xc769('0xf0')]['split'](',');var _0x30a4f6=_0x9c9673['body'][_0xc769('0xf2')][_0xc769('0x48')](',');if(!_0x353499[_0xc769('0x20')]||!_0x30a4f6['length']||_0x353499[_0xc769('0x20')]!==_0x30a4f6['length']){throw new Error(_0xc769('0xf6'));}_0x9c9673['body'][_0xc769('0x2f')]=_['zipObject'](_0x353499,_0x30a4f6);if(!_0x9c9673[_0xc769('0x93')][_0xc769('0x2f')][_0xc769('0xcd')]){throw new Error(_0xc769('0xf7'));}if(!_0x9c9673[_0xc769('0x93')][_0xc769('0x2f')][_0xc769('0xf8')]){throw new Error(_0xc769('0xf9'));}var _0x1c3e79=path[_0xc769('0xb6')](config['root'],'server/files/tmp',_0x9c9673['file'][_0xc769('0xfa')]);fs['chmodSync'](_0x1c3e79,parseInt(_0xc769('0xfb'),0x8));var _0x21dc68=require(_0xc769('0xfc'))[_0xc769('0xfd')](path[_0xc769('0xb6')](__dirname,_0xc769('0xfe')),[_0x1c3e79,_0x9c9673['body'][_0xc769('0xf0')],_0x9c9673['body'][_0xc769('0xf2')],_0x9c9673[_0xc769('0x93')][_0xc769('0x5b')],_0x9c9673[_0xc769('0x93')][_0xc769('0xff')],_0x9c9673['body'][_0xc769('0xbd')],_0x9c9673['body'][_0xc769('0xf4')]]);return _0x976b08['status'](0xc8)[_0xc769('0x10')]({'message':_0xc769('0x100'),'pid':_0x21dc68[_0xc769('0x101')]});}catch(_0x17c6b8){return _0x976b08[_0xc769('0xf')](0x1f4)[_0xc769('0x1d')](_0x17c6b8);}};exports['upload']=function(_0x4ef260,_0x19a4a7){var _0x466e2e=fs['createReadStream'](_0x4ef260[_0xc769('0x102')]['path']);Papa[_0xc769('0x103')](_0x466e2e,{'header':!![],'skipEmptyLines':!![],'preview':0x1,'complete':function(_0x2226b9){return _0x19a4a7['status'](0xc8)[_0xc769('0x10')]({'file':_0x4ef260[_0xc769('0x102')],'fields':_0x2226b9[_0xc769('0x104')]['fields']});}});};exports['import']=function(_0x595a06,_0x3b38df){return db[_0xc769('0x4d')]['findAll']({'raw':!![],'attributes':['id'],'where':{'role':_0xc769('0x75')}})[_0xc769('0x17')](function(_0x4f5162){var _0x19e0fd=![];if(!_0x595a06['body'][_0xc769('0x5b')]){throw new Error('No\x20ListId\x20specified');}if(!_0x595a06[_0xc769('0x93')][_0xc769('0x105')][_0xc769('0xcd')]){throw new Error(_0xc769('0xf7'));}if(!_0x595a06[_0xc769('0x93')]['binding']['firstName']){throw new Error(_0xc769('0xf9'));}if(!_0x595a06[_0xc769('0x93')][_0xc769('0xf4')]){throw new Error(_0xc769('0xf5'));}var _0x4688ea=require(_0xc769('0xfc'))[_0xc769('0xfd')](path[_0xc769('0xb6')](__dirname,_0xc769('0x106')),[_0x595a06[_0xc769('0x8a')]['id'],JSON[_0xc769('0x107')](_0x595a06[_0xc769('0x93')]),JSON['stringify'](_0x4f5162)]);_0x4688ea['on'](_0xc769('0x108'),function(){_0x19e0fd=!![];return _0x3b38df[_0xc769('0xf')](0xc8)[_0xc769('0x10')]({'message':'start\x20child\x20process\x20correctly!','pid':_0x4688ea[_0xc769('0x101')]});});_0x4688ea['on']('exit',function(_0x3473e8){if(_0x3473e8&&!_0x19e0fd){return _0x3b38df[_0xc769('0xf')](0x1f4)[_0xc769('0x10')]({'message':_0xc769('0x109'),'pid':_0x4688ea['pid']});}});})[_0xc769('0x89')](handleError(_0x3b38df,null));};exports[_0xc769('0x10a')]=function(_0x1de5e7,_0x55997e,_0x49faf5){return db[_0xc769('0x4d')]['findAll']({'raw':!![],'attributes':['id'],'where':{'role':_0xc769('0x75')}})[_0xc769('0x17')](function(_0x2b149e){var _0x551d12=![];if(!_0x1de5e7[_0xc769('0x93')][_0xc769('0x5b')]){throw new Error(_0xc769('0xef'));}if(!_0x1de5e7[_0xc769('0x93')][_0xc769('0x105')][_0xc769('0xcd')]){throw new Error(_0xc769('0xf7'));}if(!_0x1de5e7[_0xc769('0x93')]['binding'][_0xc769('0xf8')]){throw new Error(_0xc769('0xf9'));}if(!_0x1de5e7[_0xc769('0x93')][_0xc769('0xf4')]){throw new Error(_0xc769('0xf5'));}var _0x17c4f5=require(_0xc769('0xfc'))[_0xc769('0xfd')](path[_0xc769('0xb6')](__dirname,_0xc769('0x10b')),[_0x1de5e7[_0xc769('0x8a')]['id'],JSON[_0xc769('0x107')](_0x1de5e7[_0xc769('0x93')]),JSON[_0xc769('0x107')](_0x2b149e)]);_0x17c4f5['on'](_0xc769('0x108'),function(_0x37affd){_0x551d12=!![];return _0x55997e[_0xc769('0xf')](0xc8)['json']({'message':'start\x20child\x20process\x20correctly!','pid':_0x17c4f5[_0xc769('0x101')]});});_0x17c4f5['on'](_0xc769('0x10c'),function(_0x3860a2){if(_0x3860a2&&!_0x551d12){return _0x55997e[_0xc769('0xf')](0x1f4)[_0xc769('0x10')]({'message':_0xc769('0x109'),'pid':_0x17c4f5['pid']});}});})[_0xc769('0x89')](handleError(_0x55997e,null));};exports[_0xc769('0x10d')]=function(_0x419423,_0x530f0b){var _0x5f1335=[_0xc769('0x10e'),_0xc769('0x10f'),_0xc769('0x110'),_0xc769('0x111'),_0xc769('0x112'),_0xc769('0x113'),_0xc769('0x114')];var _0x4457d3={'offset':0x0,'order':qs[_0xc769('0x33')]('-createdAt')},_0x595511={'count':0x0,'rows':[]};Promise[_0xc769('0x73')]()[_0xc769('0x17')](function(){if(_0x419423[_0xc769('0x2b')]['channel']){if(!_['includes'](_0x5f1335,_0x419423[_0xc769('0x2b')]['channel'][_0xc769('0x115')]())){throw new Error(_0xc769('0x116'));}_0x5f1335=[_0x419423[_0xc769('0x2b')][_0xc769('0x117')][_0xc769('0x115')]()];}if(_0x419423['query']['range']){try{var _0x1f741f=JSON[_0xc769('0x103')](_0x419423[_0xc769('0x2b')][_0xc769('0x118')]);if(!moment(_0x1f741f['from'])[_0xc769('0x119')]()){throw new Error('Invalid\x20date\x20for\x20range\x20from\x20filter');}if(!moment(_0x1f741f['to'])[_0xc769('0x119')]()){throw new Error(_0xc769('0x11a'));}}catch(_0x4a0969){throw new Error(_0xc769('0x11b'));}}if(!_0x419423['query'][_0xc769('0x30')](_0xc769('0x31'))){_0x4457d3[_0xc769('0x13')]=qs[_0xc769('0x13')](_0x419423[_0xc769('0x2b')][_0xc769('0x13')]||0xa);_0x4457d3[_0xc769('0x11')]=qs[_0xc769('0x11')](_0x419423['query'][_0xc769('0x11')]);}var _0x148e78=_0x5f1335['map'](function(_0x35eaca){if(_0x35eaca===_0xc769('0x114')){var _0x37c4d8={'attributes':['id',_0xc769('0x11c'),_0xc769('0x55'),'source',_0xc769('0x11d'),'callerid','starttime',_0xc769('0x11e'),'duration','note',_0xc769('0x11f'),_0xc769('0x120'),_0xc769('0x121'),_0xc769('0x122'),'UserId'],'where':{'ContactId':_0x419423[_0xc769('0x8a')]['id']},'include':[{'model':db[_0xc769('0x4d')],'as':_0xc769('0x4d'),'attributes':['id',_0xc769('0x1c'),_0xc769('0x123'),'alias']}],'order':[[_0xc769('0x11f'),'DESC']]};if(_0x419423[_0xc769('0x2b')][_0xc769('0x118')]){_0x37c4d8[_0xc769('0x34')]['createdAt']={'$gte':_0x1f741f[_0xc769('0x39')],'$lte':_0x1f741f['to']};}return db['VoiceCallReport'][_0xc769('0x124')](_0x37c4d8)[_0xc769('0x17')](function(_0x379431){_0x595511[_0xc769('0x14')]+=_0x379431['count'];return _[_0xc769('0x49')](_0x379431[_0xc769('0x88')],function(_0x22dbde){var _0x3e2a4d=_0x22dbde[_0xc769('0x95')]({'plain':!![]});_0x3e2a4d[_0xc769('0x117')]=_0x35eaca;if(_0x3e2a4d[_0xc769('0x4d')]){_0x3e2a4d[_0xc769('0x4d')]={'id':_0x3e2a4d[_0xc769('0x4d')]['id'],'name':_0x3e2a4d[_0xc769('0x4d')][_0xc769('0x1c')],'fullname':_0x3e2a4d[_0xc769('0x4d')][_0xc769('0x123')],'alias':_0x3e2a4d[_0xc769('0x4d')]['alias']};}return _0x3e2a4d;});});}else{var _0x241811=_[_0xc769('0x125')](_0x35eaca)+(_0x35eaca===_0xc769('0x10f')?'Website':_0xc769('0x126'));var _0x193e1c={'attributes':['id',_0xc769('0x127'),_0xc769('0x128'),_0xc769('0x11f'),_0xc769('0x129'),_0xc769('0x12a'),_0xc769('0x12b'),_0xc769('0x12c'),_0xc769('0x12d'),_0x241811+'Id'],'where':{'ContactId':_0x419423['params']['id']},'include':[{'model':db[_0x241811],'as':_0xc769('0x126'),'attributes':['id',_0xc769('0x1c'),'key']},{'model':db[_0xc769('0x4d')],'as':_0xc769('0x12e'),'attributes':['id',_0xc769('0x1c'),_0xc769('0x123')]},{'model':db['Tag'],'as':_0xc769('0x87'),'attributes':['id','name',_0xc769('0x38')],'through':{'attributes':[]}}],'order':[['createdAt',_0xc769('0x70')]]};if(_0x419423[_0xc769('0x2b')]['range']){_0x193e1c['where']['createdAt']={'$gte':_0x1f741f[_0xc769('0x39')],'$lte':_0x1f741f['to']};}switch(_0x35eaca){case _0xc769('0x10f'):_0x193e1c[_0xc769('0x2d')][_0xc769('0x23')](_0xc769('0x12f'),'customerIp',_0xc769('0x130'),_0xc769('0x131'),_0xc769('0x132'),'ratingMessage',_0xc769('0x133'),_0xc769('0x134'),'referer');break;case _0xc769('0x10e'):_0x193e1c['attributes'][_0xc769('0x23')](_0xc769('0x135'),_0xc769('0x136'));break;case'openchannel':_0x193e1c[_0xc769('0x2d')][_0xc769('0x23')]('externalUrl','threadId');break;}return db[_['startCase'](_0x35eaca)+_0xc769('0x137')]['findAndCountAll'](_0x193e1c)['then'](function(_0x3f34f7){_0x595511[_0xc769('0x14')]+=_0x3f34f7[_0xc769('0x14')];return _['map'](_0x3f34f7[_0xc769('0x88')],function(_0x3e39fe){var _0x45efa6=_0x3e39fe[_0xc769('0x95')]({'plain':!![]});_0x45efa6[_0xc769('0x117')]=_0x35eaca;if(_0x45efa6[_0xc769('0x12e')]){_0x45efa6[_0xc769('0x12e')]={'id':_0x45efa6[_0xc769('0x12e')]['id'],'name':_0x45efa6[_0xc769('0x12e')][_0xc769('0x1c')],'fullname':_0x45efa6[_0xc769('0x12e')][_0xc769('0x123')]};}return _0x45efa6;});});}});return Promise[_0xc769('0x27')](_0x148e78);})['then'](function(_0x3a7de0){return _(_0x3a7de0)[_0xc769('0x138')]()['sortBy'](_0xc769('0x11f'))['reverse']()['value']();})[_0xc769('0x17')](function(_0x4a8621){_0x595511[_0xc769('0x88')]=_0x4457d3[_0xc769('0x13')]?_0x4a8621['slice'](_0x4457d3[_0xc769('0x11')],_0x4457d3[_0xc769('0x11')]+_0x4457d3[_0xc769('0x13')]):_0x4a8621;return _0x595511;})[_0xc769('0x17')](respondWithFilteredResult(_0x530f0b,_0x4457d3))[_0xc769('0x89')](handleError(_0x530f0b,null));};