949a4bc18f5090676f9bb3aa51910d7a87825760
[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 _0x0e8f=['hasOwnProperty','nolimit','limit','sort','where','pick','color','from','tools_tags','select','cm_contacts','left_join','cm_contact_has_tags','ct.CmContactId\x20=\x20c.id','t.id\x20=\x20ct.TagId','expr','search','sqlOperator','find','field','Tag','value','split','map','forEach','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','User','and','uc.UserId\x20=\x20?','dateOfBirth','datetime','filter','Contact','c.ListId\x20IN\x20?','concat','CONCAT_WS(\x27\x20\x27,\x20c.firstName,\x20c.lastName,\x20c.email)\x20LIKE\x20?','\x20=\x20?','tag','isArray','replace','\x27\x27\x27\x27','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','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','Sequelize','QueryTypes','SELECT','clone','order','DESC','isEmpty','having','t.id\x20IN\x20?','resolve','some','conditions','user','getLists','c.ListId\x20IS\x20NULL','sequelize','toString','keyBy','merge','c.firstName','c.lastName','c.fax','c.email','c.ListId','c.deletedAt','GROUP_CONCAT(DISTINCT\x20t.id)','TagIds','Tags','rows','params','catch','tags','columnName','displayName','CmCustomField','findAll','alias','values','body','get','mergeWith','join','[CmContact][merge]\x20to\x20%s\x20from\x20%s','CmHopper','destroy','info','[CmContact][merge][destroy][CmHopper],\x20%s','CmHopperBlack','[CmContact][merge][destroy][CmHopperBlack],\x20%s','create','ChatInteraction','ChatMessage','ChatOfflineMessage','MailMessage','MailInteraction','SmsInteraction','FaxInteraction','FaxMessage','OpenchannelInteraction','OpenchannelMessage','CmHopperFinal','CmHopperHistory','ReportAgentPreview','ChatQueueReport','FaxQueueReport','OpenchannelQueueReport','JscriptySessionReport','bulkCreate','describe','each','duplicates','$or','ListId','findOrCreate','spread','show','omit','format','cf_%d','$and','pickBy','setFields','id\x20=\x20?','toParam','phone','filters','options','getTags','setTags','ContactId','include','includeAll','getHopperFinals','rawAttributes','getJscriptySessions','No\x20ListId\x20specified','binding_values','socket_timestamp','binding_keys','Incorrect\x20binding\x20parameters\x20passed!','zipObject','No\x20phone\x20column\x20specified','firstName','No\x20firstName\x20column\x20specified','server/files/tmp','file','filename','0777','fork','../../components/import/cm/csv','CompanyId','File\x20uploaded\x20correctly!','pid','send','upload','createReadStream','parse','meta','import','binding','stringify','message','start\x20child\x20process\x20correctly!','exit','error\x20child\x20process','html-pdf','eml-format','rimraf','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','ejs','squel','querystring','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/utils','../../config/environment','localhost','socket.io-emitter','./cmContact.socket','sendStatus','status','end','count','offset','json','apply','reject','save','update','then','error','stack','name','index','CmContact','keys','length','startsWith','cf_','push','findOne','trimStart','all','fieldType','type','model','query','intersection','fields','attributes'];(function(_0x14add3,_0x13ce8d){var _0x4a174f=function(_0x2b3ed7){while(--_0x2b3ed7){_0x14add3['push'](_0x14add3['shift']());}};_0x4a174f(++_0x13ce8d);}(_0x0e8f,0x197));var _0xf0e8=function(_0xbd08b4,_0x4790ed){_0xbd08b4=_0xbd08b4-0x0;var _0x314f1e=_0x0e8f[_0xbd08b4];return _0x314f1e;};'use strict';var pdf=require(_0xf0e8('0x0'));var emlformat=require(_0xf0e8('0x1'));var rimraf=require(_0xf0e8('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0xf0e8('0x3'));var rp=require('request-promise');var moment=require(_0xf0e8('0x4'));var BPromise=require(_0xf0e8('0x5'));var Mustache=require(_0xf0e8('0x6'));var util=require(_0xf0e8('0x7'));var path=require(_0xf0e8('0x8'));var sox=require(_0xf0e8('0x9'));var csv=require(_0xf0e8('0xa'));var ejs=require(_0xf0e8('0xb'));var fs=require('fs');var _=require('lodash');var squel=require(_0xf0e8('0xc'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0xf0e8('0xa'));var querystring=require(_0xf0e8('0xd'));var Papa=require(_0xf0e8('0xe'));var Redis=require(_0xf0e8('0xf'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0xf0e8('0x10'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')('api');var utils=require(_0xf0e8('0x11'));var config=require(_0xf0e8('0x12'));var db=require('../../mysqldb')['db'];config['redis']=_['defaults'](config['redis'],{'host':_0xf0e8('0x13'),'port':0x18eb});var socket=require(_0xf0e8('0x14'))(new Redis(config['redis']));require(_0xf0e8('0x15'))['register'](socket);function respondWithStatusCode(_0x596097,_0x19c9e0){_0x19c9e0=_0x19c9e0||0xcc;return function(_0x5ce891){if(_0x5ce891){return _0x596097[_0xf0e8('0x16')](_0x19c9e0);}return _0x596097[_0xf0e8('0x17')](_0x19c9e0)[_0xf0e8('0x18')]();};}function respondWithResult(_0x200408,_0x4e1a12){_0x4e1a12=_0x4e1a12||0xc8;return function(_0x2ed3aa){if(_0x2ed3aa){return _0x200408['status'](_0x4e1a12)['json'](_0x2ed3aa);}};}function respondWithFilteredResult(_0xe9664d,_0x3f4814){return function(_0x4a4621){if(_0x4a4621){var _0x387f7f=_0x4a4621[_0xf0e8('0x19')],_0x31ff72=_0x3f4814['offset'],_0x51658f=_0x3f4814[_0xf0e8('0x1a')]+_0x3f4814['limit'],_0x4f1acf;if(_0x51658f>=_0x387f7f){_0x51658f=_0x387f7f;_0x4f1acf=0xc8;}else{_0x4f1acf=0xce;}_0xe9664d['status'](_0x4f1acf);return _0xe9664d['set']('Content-Range',_0x31ff72+'-'+_0x51658f+'/'+_0x387f7f)[_0xf0e8('0x1b')](_0x4a4621);}return null;};}function patchUpdates(_0x4609b6){return function(_0x14e460){try{jsonpatch[_0xf0e8('0x1c')](_0x14e460,_0x4609b6,!![]);}catch(_0x299838){return BPromise[_0xf0e8('0x1d')](_0x299838);}return _0x14e460[_0xf0e8('0x1e')]();};}function saveUpdates(_0x818851,_0x3453bc){return function(_0x4ad405){if(_0x4ad405){return _0x4ad405[_0xf0e8('0x1f')](_0x818851)['then'](function(_0x164a8d){return _0x164a8d;});}return null;};}function removeEntity(_0x231a0d,_0x19604c){return function(_0x4e8f03){if(_0x4e8f03){return _0x4e8f03['destroy']()[_0xf0e8('0x20')](function(){_0x231a0d[_0xf0e8('0x17')](0xcc)[_0xf0e8('0x18')]();});}};}function handleEntityNotFound(_0x548aab,_0xa189ed){return function(_0x1ad842){if(!_0x1ad842){_0x548aab[_0xf0e8('0x16')](0x194);}return _0x1ad842;};}function handleError(_0x23dca6,_0x4d36b9){_0x4d36b9=_0x4d36b9||0x1f4;return function(_0x429400){logger[_0xf0e8('0x21')](_0x429400[_0xf0e8('0x22')]);if(_0x429400[_0xf0e8('0x23')]){delete _0x429400[_0xf0e8('0x23')];}_0x23dca6['status'](_0x4d36b9)['send'](_0x429400);};}exports[_0xf0e8('0x24')]=function(_0x59477c,_0x4d9caa){var _0x2936de={},_0x2cb715={},_0x125b74={'count':0x0,'rows':[]};return db[_0xf0e8('0x25')]['describe']()[_0xf0e8('0x20')](function(_0x3691ae){var _0x2826c8=[];for(var _0x341314=0x0;_0x341314<Object[_0xf0e8('0x26')](_0x3691ae)[_0xf0e8('0x27')];_0x341314++){var _0x190744=Object['keys'](_0x3691ae)[_0x341314];if(_[_0xf0e8('0x28')](_0x190744,_0xf0e8('0x29'))){_0x2826c8[_0xf0e8('0x2a')](db['CmCustomField'][_0xf0e8('0x2b')]({'where':{'id':_[_0xf0e8('0x2c')](_0x190744,_0xf0e8('0x29'))},'raw':!![]}));}}return BPromise[_0xf0e8('0x2d')](_0x2826c8)[_0xf0e8('0x20')](function(_0x2bec3c){for(var _0x3c063a=0x0;_0x3c063a<_0x2bec3c[_0xf0e8('0x27')];_0x3c063a++){if(_0x2bec3c[_0x3c063a]){var _0x2cc6fa=_0xf0e8('0x29')+_0x2bec3c[_0x3c063a]['id'];var _0x15142c=_0x3691ae[_0x2cc6fa];_0x15142c[_0xf0e8('0x2e')]=_0x2bec3c[_0x3c063a][_0xf0e8('0x2f')];}}return _0x3691ae;});})[_0xf0e8('0x20')](function(_0x57778c){_0x2cb715[_0xf0e8('0x30')]=_[_0xf0e8('0x26')](_0x57778c);_0x2cb715[_0xf0e8('0x31')]=_[_0xf0e8('0x26')](_0x59477c[_0xf0e8('0x31')]);_0x2cb715['filters']=_[_0xf0e8('0x32')](_0x2cb715[_0xf0e8('0x30')],_0x2cb715['query']);_0x2936de['attributes']=_[_0xf0e8('0x32')](_0x2cb715[_0xf0e8('0x30')],qs[_0xf0e8('0x33')](_0x59477c[_0xf0e8('0x31')][_0xf0e8('0x33')]));_0x2936de['attributes']=_0x2936de['attributes']['length']?_0x2936de[_0xf0e8('0x34')]:_0x2cb715[_0xf0e8('0x30')];if(!_0x59477c[_0xf0e8('0x31')][_0xf0e8('0x35')](_0xf0e8('0x36'))){_0x2936de[_0xf0e8('0x37')]=qs[_0xf0e8('0x37')](_0x59477c[_0xf0e8('0x31')][_0xf0e8('0x37')]);_0x2936de[_0xf0e8('0x1a')]=qs[_0xf0e8('0x1a')](_0x59477c['query'][_0xf0e8('0x1a')]);}_0x2936de['order']=qs[_0xf0e8('0x38')](_0x59477c[_0xf0e8('0x31')][_0xf0e8('0x38')]);_0x2936de[_0xf0e8('0x39')]=qs['filters'](_[_0xf0e8('0x3a')](_0x59477c[_0xf0e8('0x31')],_0x2cb715['filters']),_0x57778c);var _0x41cc99=[];var _0x79c707=squel['select']()['field']('id')['field'](_0xf0e8('0x23'))['field'](_0xf0e8('0x3b'))[_0xf0e8('0x3c')](_0xf0e8('0x3d'));var _0x5df74d=squel[_0xf0e8('0x3e')]()[_0xf0e8('0x3c')](_0xf0e8('0x3f'),'c')[_0xf0e8('0x40')]('cm_user_has_contacts','uc','uc.CmContactId\x20=\x20c.id')[_0xf0e8('0x40')](_0xf0e8('0x41'),'ct',_0xf0e8('0x42'))[_0xf0e8('0x40')](_0xf0e8('0x3d'),'t',_0xf0e8('0x43'))[_0xf0e8('0x39')]('c.deletedAt\x20IS\x20NULL');var _0x38a246=squel[_0xf0e8('0x44')]();var _0x5c41e1=[];var _0x211a9b=squel[_0xf0e8('0x44')]();var _0x2ba63a;if(_0x59477c[_0xf0e8('0x31')][_0xf0e8('0x45')]){_0x2ba63a=as['parseSearch'](_0x59477c['query'][_0xf0e8('0x45')]);var _0x1e4f1a=_0x2ba63a[_0xf0e8('0x46')];for(var _0x55e25d=0x0;_0x55e25d<_0x2ba63a['conditions'][_0xf0e8('0x27')];_0x55e25d++){var _0x35415b=_0x2ba63a['conditions'][_0x55e25d];var _0x1eea31='c';var _0x49c9f4=_(_0x57778c)[_0xf0e8('0x26')]()[_0xf0e8('0x47')](function(_0x89f095){return _0x89f095===_0x35415b[_0xf0e8('0x48')];});if(_0x49c9f4)_0x49c9f4=_0x57778c[_0x35415b['field']];if(!_0x49c9f4){if(_0x35415b[_0xf0e8('0x48')]===_0xf0e8('0x49')){var _0x56f0df=_0x35415b[_0xf0e8('0x4a')][_0xf0e8('0x4b')](',')[_0xf0e8('0x4c')](function(_0x4d5c4f){return Number(_0x4d5c4f);});_0x56f0df[_0xf0e8('0x4d')](function(_0x4005bc){_0x211a9b['or'](_0xf0e8('0x4e'),'%,'+_0x4005bc+',%');});_0x5c41e1=_['union'](_0x5c41e1,_0x56f0df);}else if(_0x35415b[_0xf0e8('0x48')]===_0xf0e8('0x4f')){_0x38a246[_0xf0e8('0x50')](_0xf0e8('0x51'),_0x35415b[_0xf0e8('0x4a')]);}}else{if(_0x35415b['field']===_0xf0e8('0x52')||_0x49c9f4[_0xf0e8('0x2e')]===_0xf0e8('0x53'))_0x35415b['castTo']='DATE';var _0x439762=as['buildExpression'](_0x1eea31,_0x49c9f4[_0xf0e8('0x2f')],_0x35415b);_0x38a246[_0x1e4f1a](_0x439762['text'],_0x439762[_0xf0e8('0x4a')]['start'],_0x439762['value'][_0xf0e8('0x18')]);}}}else{var _0x878278=_(Object[_0xf0e8('0x26')](_0x59477c[_0xf0e8('0x31')]))['map'](function(_0x47470f){return _0x57778c[_0xf0e8('0x35')](_0x47470f)?_0x47470f:undefined;})[_0xf0e8('0x54')](function(_0x1f2313){return!_['isNil'](_0x1f2313);})['value']();if(_0x59477c[_0xf0e8('0x31')][_0xf0e8('0x55')])_0x878278[_0xf0e8('0x2a')](_0xf0e8('0x55'));if(!_['isEmpty'](_0x878278)){_0x878278[_0xf0e8('0x4d')](function(_0x3aac2b){if(_0x3aac2b==='ListId'){_0x5df74d[_0xf0e8('0x39')](_0xf0e8('0x56'),[][_0xf0e8('0x57')](_0x59477c['query'][_0x3aac2b]));}else if(_0x3aac2b===_0xf0e8('0x55')){var _0x2c749b='%'+_0x59477c[_0xf0e8('0x31')][_0x3aac2b]+'%';_0x5df74d[_0xf0e8('0x39')](_0xf0e8('0x58'),_0x2c749b);}else{_0x5df74d[_0xf0e8('0x39')]('c.'+_0x3aac2b+_0xf0e8('0x59'),_0x59477c[_0xf0e8('0x31')][_0x3aac2b]);}});}if(_0x59477c['query'][_0xf0e8('0x5a')]){_0x5c41e1=_[_0xf0e8('0x5b')](_0x59477c[_0xf0e8('0x31')][_0xf0e8('0x5a')])?_0x59477c[_0xf0e8('0x31')][_0xf0e8('0x5a')]:new Array(_0x59477c[_0xf0e8('0x31')][_0xf0e8('0x5a')]);_0x5c41e1[_0xf0e8('0x4d')](function(_0x4d02c7){_0x211a9b['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x4d02c7+',%');});}if(_0x59477c[_0xf0e8('0x31')]['filter']){var _0x58e5e9=_0x59477c['query'][_0xf0e8('0x54')]['replace']('\x5c','\x5c\x5c')[_0xf0e8('0x5c')]('\x27\x27',_0xf0e8('0x5d'));if(_0x58e5e9[_0xf0e8('0x4b')]('\x20')['length']>0x1){_0x38a246['or'](_0xf0e8('0x5e'),qs[_0xf0e8('0x5f')](_0x58e5e9),null);}else{if(qs['isNumeric'](_0x58e5e9)){_0x38a246['or'](_0xf0e8('0x60'),_0x58e5e9+'%');_0x38a246['or'](_0xf0e8('0x61'),_0x58e5e9+'%');_0x38a246['or'](_0xf0e8('0x62'),_0x58e5e9+'%');_0x38a246['or'](_0xf0e8('0x63'),_0x58e5e9+'%');}else if(qs[_0xf0e8('0x64')](_0x58e5e9)){_0x38a246['or'](_0xf0e8('0x65'),_0x58e5e9+'%');}else{_0x38a246['or'](_0xf0e8('0x66'),'%'+_0x58e5e9+'%');_0x38a246['or']('c.lastName\x20LIKE\x20?','%'+_0x58e5e9+'%');_0x38a246['or']('c.email\x20LIKE\x20?','%'+_0x58e5e9+'%');}}}}_0x5df74d[_0xf0e8('0x39')](_0x38a246);_0x5df74d[_0xf0e8('0x67')](_0xf0e8('0x68'));var _0x5bd8a6={'type':db[_0xf0e8('0x69')][_0xf0e8('0x6a')][_0xf0e8('0x6b')],'raw':!![]};var _0x362779=_0x5df74d[_0xf0e8('0x6c')]()['field'](_0xf0e8('0x68'));if(_0x2936de[_0xf0e8('0x6d')]){_0x2936de[_0xf0e8('0x6d')][_0xf0e8('0x4d')](function(_0x5e2f1a){_0x5df74d[_0xf0e8('0x6d')]('c.'+_0x5e2f1a[0x0],_0x5e2f1a[0x1]===_0xf0e8('0x6e')?![]:!![]);});}if(!_[_0xf0e8('0x6f')](_0x5c41e1)){_0x5df74d[_0xf0e8('0x70')](_0x211a9b);_0x362779[_0xf0e8('0x39')](_0xf0e8('0x71'),_0x5c41e1);}BPromise[_0xf0e8('0x72')]()[_0xf0e8('0x20')](function(){if(_0x2ba63a&&!_[_0xf0e8('0x73')](_0x2ba63a[_0xf0e8('0x74')],[_0xf0e8('0x48'),'User'])){return _0x59477c[_0xf0e8('0x75')][_0xf0e8('0x76')]({'attributes':['id'],'raw':!![]})[_0xf0e8('0x20')](function(_0x21f62c){if(_[_0xf0e8('0x6f')](_0x21f62c)){_0x362779[_0xf0e8('0x39')](_0xf0e8('0x77'));_0x5df74d['where'](_0xf0e8('0x77'));}else{_0x362779[_0xf0e8('0x39')](_0xf0e8('0x56'),_[_0xf0e8('0x4c')](_0x21f62c,'id'));_0x5df74d[_0xf0e8('0x39')]('c.ListId\x20IN\x20?',_[_0xf0e8('0x4c')](_0x21f62c,'id'));}});}else{return;}})['then'](function(){db[_0xf0e8('0x78')][_0xf0e8('0x31')](_0x362779[_0xf0e8('0x79')](),_0x5bd8a6)['then'](function(_0x477276){_0x125b74['count']=_0x477276['length'];if(_0x125b74[_0xf0e8('0x19')]===0x0)return[];return db[_0xf0e8('0x78')][_0xf0e8('0x31')](_0x79c707[_0xf0e8('0x79')](),_0x5bd8a6);})['then'](function(_0x2ee8fb){_0x41cc99=_[_0xf0e8('0x7a')](_0x2ee8fb,'id');_0x5bd8a6=_[_0xf0e8('0x7b')](_0x5bd8a6,{'model':db[_0xf0e8('0x25')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x59477c[_0xf0e8('0x31')][_0xf0e8('0x33')]){_0x2936de[_0xf0e8('0x34')][_0xf0e8('0x4d')](function(_0x22bfba){_0x5df74d[_0xf0e8('0x48')]('c.'+_0x22bfba);});}else{_0x5df74d['field']('c.id');_0x5df74d[_0xf0e8('0x48')](_0xf0e8('0x7c'));_0x5df74d[_0xf0e8('0x48')](_0xf0e8('0x7d'));_0x5df74d[_0xf0e8('0x48')]('c.phone');_0x5df74d[_0xf0e8('0x48')]('c.mobile');_0x5df74d[_0xf0e8('0x48')](_0xf0e8('0x7e'));_0x5df74d[_0xf0e8('0x48')](_0xf0e8('0x7f'));_0x5df74d['field'](_0xf0e8('0x80'));_0x5df74d['field'](_0xf0e8('0x81'));_0x5df74d['field'](_0xf0e8('0x82'),_0xf0e8('0x83'));}if(_0x2936de['limit'])_0x5df74d[_0xf0e8('0x37')](_0x2936de['limit']);if(_0x2936de[_0xf0e8('0x1a')])_0x5df74d[_0xf0e8('0x1a')](_0x2936de[_0xf0e8('0x1a')]);return db[_0xf0e8('0x78')][_0xf0e8('0x31')](_0x5df74d['toString'](),_0x5bd8a6);})[_0xf0e8('0x20')](function(_0x318c85){_0x318c85[_0xf0e8('0x4d')](function(_0x108198){if(_0x108198['TagIds']){_0x108198['Tags']=[];_0x108198[_0xf0e8('0x83')][_0xf0e8('0x4b')](',')[_0xf0e8('0x4d')](function(_0x372752){_0x108198[_0xf0e8('0x84')]['push'](_0x41cc99[_0x372752]);});}delete _0x108198[_0xf0e8('0x83')];});_0x125b74[_0xf0e8('0x85')]=_0x318c85;return _0x125b74;})[_0xf0e8('0x20')](respondWithFilteredResult(_0x4d9caa,_0x2936de));});})['catch'](handleError(_0x4d9caa,null));};exports['destroy']=function(_0xfc4b0b,_0xdd3fbf){return db[_0xf0e8('0x25')][_0xf0e8('0x47')]({'where':{'id':_0xfc4b0b[_0xf0e8('0x86')]['id']}})[_0xf0e8('0x20')](handleEntityNotFound(_0xdd3fbf,null))[_0xf0e8('0x20')](removeEntity(_0xdd3fbf,null))[_0xf0e8('0x87')](handleError(_0xdd3fbf,null));};exports['describe']=function(_0x67f960,_0x594790){return db[_0xf0e8('0x25')]['describe']()['then'](function(_0x4dfc58){delete _0x4dfc58[_0xf0e8('0x88')];for(var _0x381673=0x0;_0x381673<Object['keys'](_0x4dfc58)[_0xf0e8('0x27')];_0x381673++){var _0x35a8d6=Object[_0xf0e8('0x26')](_0x4dfc58)[_0x381673];if(!_[_0xf0e8('0x28')](_0x35a8d6,'cf_')){_0x4dfc58[_0x35a8d6][_0xf0e8('0x89')]=_0x35a8d6;_0x4dfc58[_0x35a8d6][_0xf0e8('0x8a')]=_0x35a8d6;}}return _0x4dfc58;})[_0xf0e8('0x20')](function(_0x2783c5){var _0x57849f={'where':{'$or':[{'ListId':_0x67f960[_0xf0e8('0x31')]['id']},{'ListId':null}]},'raw':!![]};return db[_0xf0e8('0x8b')][_0xf0e8('0x8c')](_0x57849f)['then'](function(_0x476933){for(var _0x3534ae=0x0;_0x3534ae<_0x476933[_0xf0e8('0x27')];_0x3534ae++){var _0x52412e=_0xf0e8('0x29')+_0x476933[_0x3534ae]['id'];_0x2783c5[_0x52412e][_0xf0e8('0x89')]=_0x52412e;_0x2783c5[_0x52412e]['displayName']=_0x476933[_0x3534ae][_0xf0e8('0x8d')];_0x2783c5[_0x52412e]['custom']={'type':_0x476933[_0x3534ae][_0xf0e8('0x2f')],'values':_0x476933[_0x3534ae][_0xf0e8('0x8e')]};}Object['keys'](_0x2783c5)[_0xf0e8('0x4d')](function(_0x450c40){if(!_0x2783c5[_0x450c40]['hasOwnProperty'](_0xf0e8('0x89'))){delete _0x2783c5[_0x450c40];}});return _0x2783c5;});})['then'](respondWithResult(_0x594790,null))[_0xf0e8('0x87')](handleError(_0x594790,null));};exports[_0xf0e8('0x7b')]=function(_0x1eafea,_0x38f0a3){var _0x479f34;var _0x37edce;var _0x5014f3;if(_0x1eafea[_0xf0e8('0x8f')]['id']){delete _0x1eafea['body']['id'];}return db[_0xf0e8('0x25')][_0xf0e8('0x8c')]({'where':{'id':[_0x1eafea['body']['to'],_0x1eafea[_0xf0e8('0x8f')][_0xf0e8('0x3c')]]}})[_0xf0e8('0x20')](function(_0x1d936f){if(_0x1d936f){if(_0x1d936f[_0xf0e8('0x27')]!==0x2){return null;}_0x1d936f[0x0]=_0x1d936f[0x0][_0xf0e8('0x90')]({'plain':!![]});_0x1d936f[0x1]=_0x1d936f[0x1][_0xf0e8('0x90')]({'plain':!![]});delete _0x1d936f[0x0]['id'];delete _0x1d936f[0x1]['id'];return _[_0xf0e8('0x91')](_0x1d936f[0x0],_0x1d936f[0x1],function(_0x3bd895,_0x1deae6){if(Array[_0xf0e8('0x5b')](_0x1deae6)&&!_0x1deae6[_0xf0e8('0x27')]){return _0x3bd895;}else if(!_0x1deae6){return _0x3bd895;}});}})[_0xf0e8('0x20')](handleEntityNotFound(_0x38f0a3,null))['then'](function(_0x1ac08a){if(_0x1ac08a){if(_0x1ac08a[_0xf0e8('0x88')]&&_[_0xf0e8('0x5b')](_0x1ac08a[_0xf0e8('0x88')])){_0x1ac08a[_0xf0e8('0x88')]=_0x1ac08a[_0xf0e8('0x88')][_0xf0e8('0x92')]();}logger['info'](_0xf0e8('0x93'),_0x1eafea['body']['to'],_0x1eafea[_0xf0e8('0x8f')]['from']);return db[_0xf0e8('0x94')][_0xf0e8('0x95')]({'where':{'ContactId':[_0x1eafea['body']['to'],_0x1eafea[_0xf0e8('0x8f')]['from']]}})[_0xf0e8('0x20')](function(_0x3a9902){logger[_0xf0e8('0x96')](_0xf0e8('0x97'),_0x3a9902);return db[_0xf0e8('0x98')][_0xf0e8('0x95')]({'where':{'ContactId':[_0x1eafea[_0xf0e8('0x8f')]['to'],_0x1eafea[_0xf0e8('0x8f')][_0xf0e8('0x3c')]]}})[_0xf0e8('0x20')](function(_0x1fcf8f){logger[_0xf0e8('0x96')](_0xf0e8('0x99'),_0x1fcf8f);return db[_0xf0e8('0x25')][_0xf0e8('0x9a')](_0x1ac08a);});});}})[_0xf0e8('0x20')](function(_0x4ed21c){if(_0x4ed21c){_0x479f34=_0x4ed21c;_0x37edce={'ContactId':_0x479f34['id']};_0x5014f3={'where':{'ContactId':[_0x1eafea[_0xf0e8('0x8f')]['to'],_0x1eafea[_0xf0e8('0x8f')][_0xf0e8('0x3c')]]}};return db[_0xf0e8('0x9b')]['update'](_0x37edce,_0x5014f3);}})[_0xf0e8('0x20')](function(){if(_0x479f34){return db[_0xf0e8('0x9c')][_0xf0e8('0x1f')](_0x37edce,_0x5014f3);}})[_0xf0e8('0x20')](function(){if(_0x479f34){return db[_0xf0e8('0x9d')][_0xf0e8('0x1f')](_0x37edce,_0x5014f3);}})[_0xf0e8('0x20')](function(){if(_0x479f34){return db['MailInteraction']['update'](_0x37edce,_0x5014f3);}})[_0xf0e8('0x20')](function(){if(_0x479f34){return db[_0xf0e8('0x9e')]['update'](_0x37edce,_0x5014f3);}})[_0xf0e8('0x20')](function(){if(_0x479f34){return db[_0xf0e8('0x9f')]['update'](_0x37edce,_0x5014f3);}})[_0xf0e8('0x20')](function(){if(_0x479f34){return db[_0xf0e8('0x9e')][_0xf0e8('0x1f')](_0x37edce,_0x5014f3);}})[_0xf0e8('0x20')](function(){if(_0x479f34){return db[_0xf0e8('0xa0')][_0xf0e8('0x1f')](_0x37edce,_0x5014f3);}})[_0xf0e8('0x20')](function(){if(_0x479f34){return db['SmsMessage'][_0xf0e8('0x1f')](_0x37edce,_0x5014f3);}})[_0xf0e8('0x20')](function(){if(_0x479f34){return db[_0xf0e8('0xa1')][_0xf0e8('0x1f')](_0x37edce,_0x5014f3);}})[_0xf0e8('0x20')](function(){if(_0x479f34){return db[_0xf0e8('0xa2')]['update'](_0x37edce,_0x5014f3);}})['then'](function(){if(_0x479f34){return db[_0xf0e8('0xa3')]['update'](_0x37edce,_0x5014f3);}})[_0xf0e8('0x20')](function(){if(_0x479f34){return db[_0xf0e8('0xa4')][_0xf0e8('0x1f')](_0x37edce,_0x5014f3);}})[_0xf0e8('0x20')](function(){if(_0x479f34){return db[_0xf0e8('0xa5')][_0xf0e8('0x1f')](_0x37edce,_0x5014f3);}})['then'](function(){if(_0x479f34){return db[_0xf0e8('0xa6')][_0xf0e8('0x1f')](_0x37edce,_0x5014f3);}})[_0xf0e8('0x20')](function(){if(_0x479f34){return db[_0xf0e8('0xa7')][_0xf0e8('0x1f')](_0x37edce,_0x5014f3);}})[_0xf0e8('0x20')](function(){if(_0x479f34){return db['VoiceCallReport'][_0xf0e8('0x1f')](_0x37edce,_0x5014f3);}})[_0xf0e8('0x20')](function(){if(_0x479f34){return db[_0xf0e8('0xa8')][_0xf0e8('0x1f')](_0x37edce,_0x5014f3);}})[_0xf0e8('0x20')](function(){if(_0x479f34){return db[_0xf0e8('0xa9')]['update'](_0x37edce,_0x5014f3);}})[_0xf0e8('0x20')](function(){if(_0x479f34){return db['MailQueueReport'][_0xf0e8('0x1f')](_0x37edce,_0x5014f3);}})[_0xf0e8('0x20')](function(){if(_0x479f34){return db[_0xf0e8('0xaa')]['update'](_0x37edce,_0x5014f3);}})['then'](function(){if(_0x479f34){return db['SmsQueueReport'][_0xf0e8('0x1f')](_0x37edce,_0x5014f3);}})[_0xf0e8('0x20')](function(){if(_0x479f34){return db[_0xf0e8('0xab')][_0xf0e8('0x1f')](_0x37edce,_0x5014f3);}})['then'](function(){if(_0x479f34){return db[_0xf0e8('0x25')]['destroy']({'where':{'id':[_0x1eafea[_0xf0e8('0x8f')]['to'],_0x1eafea['body']['from']]}});}})[_0xf0e8('0x20')](function(){if(_0x479f34){return _0x479f34;}})[_0xf0e8('0x20')](respondWithResult(_0x38f0a3,null))['catch'](handleError(_0x38f0a3,null));};exports['create']=function(_0x5d3b59,_0x1688f5){return db[_0xf0e8('0x25')]['describe']()[_0xf0e8('0x20')](function(_0x11a5a6){if(_0x5d3b59[_0xf0e8('0x8f')][_0xf0e8('0x88')]&&_['isArray'](_0x5d3b59[_0xf0e8('0x8f')]['tags'])){if(_0x5d3b59[_0xf0e8('0x8f')][_0xf0e8('0x88')][_0xf0e8('0x27')]){_0x5d3b59[_0xf0e8('0x8f')][_0xf0e8('0x88')]=_0x5d3b59['body'][_0xf0e8('0x88')][_0xf0e8('0x92')](';')+';';}else{_0x5d3b59[_0xf0e8('0x8f')]['tags']=null;}}else{_0x5d3b59[_0xf0e8('0x8f')][_0xf0e8('0x88')]=null;}return db['CmContact'][_0xf0e8('0x9a')](_0x5d3b59[_0xf0e8('0x8f')],{'fields':_['keys'](_0x11a5a6),'raw':!![]});})[_0xf0e8('0x20')](respondWithResult(_0x1688f5,0xc9))[_0xf0e8('0x87')](handleError(_0x1688f5,null));};exports[_0xf0e8('0xac')]=function(_0x46ea09,_0x39aa6f){var _0x15fda1=[];var _0x3a63c0=0x0;var _0x502b91=0x0;var _0x1a7f30=0x0;return db[_0xf0e8('0x25')][_0xf0e8('0xad')]()[_0xf0e8('0x20')](function(_0x5c0cca){return BPromise[_0xf0e8('0xae')](_0x46ea09['body'],function(_0xded2a8){var _0x4a0655={'where':{'$or':[]},'defaults':_0xded2a8,'fields':_[_0xf0e8('0x26')](_0x5c0cca),'raw':!![]};if(_0xded2a8[_0xf0e8('0xaf')]){for(var _0x505f02=0x0;_0x505f02<_0xded2a8[_0xf0e8('0xaf')]['length'];_0x505f02++){var _0x581cda={};_0x581cda[_0xded2a8['duplicates'][_0x505f02]]=_0xded2a8[_0xded2a8['duplicates'][_0x505f02]];_0x4a0655[_0xf0e8('0x39')][_0xf0e8('0xb0')][_0xf0e8('0x2a')](_0x581cda);}_0x4a0655[_0xf0e8('0x39')]['ListId']=_0xded2a8[_0xf0e8('0xb1')];}return db[_0xf0e8('0x25')][_0xf0e8('0xb2')](_0x4a0655)[_0xf0e8('0xb3')](function(_0xdd11ff,_0x2ef11f){if(_0x2ef11f){_0x3a63c0++;}else{_0x1a7f30++;}})['catch'](function(_0x1c1a97){console[_0xf0e8('0x21')](_0x1c1a97);_0x502b91++;});});})[_0xf0e8('0x20')](function(_0x2ffcda){if(_0x2ffcda){return{'success':_0x3a63c0,'failure':_0x502b91,'duplicates':_0x1a7f30};}})[_0xf0e8('0x20')](respondWithResult(_0x39aa6f,0xc9))['catch'](handleError(_0x39aa6f,null));};exports[_0xf0e8('0xb4')]=function(_0x5142a8,_0x598f23,_0x332f68){var _0x211d67;return db[_0xf0e8('0x25')][_0xf0e8('0xad')]()[_0xf0e8('0x20')](function(_0x2d794e){return db[_0xf0e8('0x25')][_0xf0e8('0x47')]({'where':{'id':_0x5142a8[_0xf0e8('0x86')]['id']},'include':[{'model':db['Tag'],'as':'Tags','attributes':['id','name',_0xf0e8('0x3b')],'required':_0x5142a8[_0xf0e8('0x31')][_0xf0e8('0x5a')]?!![]:![]}],'attributes':_['keys'](_0x2d794e)});})[_0xf0e8('0x20')](function(_0x311b87){_0x211d67=_0x311b87['get']({'plain':!![]});var _0x5c429a={'where':{'$and':[{'ListId':{'$ne':null}}]}};if(_0x311b87&&_0x311b87[_0xf0e8('0xb1')]){if(_0x311b87[_0xf0e8('0xb1')]){_0x5c429a['where']['$and'][_0xf0e8('0x2a')]({'ListId':{'$ne':_0x311b87[_0xf0e8('0xb1')]}});}}return db[_0xf0e8('0x8b')][_0xf0e8('0x8c')](_0x5c429a);})['then'](function(_0x540241){return _[_0xf0e8('0xb5')](_0x211d67,_[_0xf0e8('0x4c')](_0x540241,function(_0x56cd21){return util[_0xf0e8('0xb6')](_0xf0e8('0xb7'),_0x56cd21['id']);}));})['then'](handleEntityNotFound(_0x598f23,null))[_0xf0e8('0x20')](respondWithResult(_0x598f23,null))[_0xf0e8('0x87')](handleError(_0x598f23,null));};exports[_0xf0e8('0x1f')]=function(_0x260230,_0x28330d){var _0x2ba280;if(_0x260230[_0xf0e8('0x8f')]['id']){delete _0x260230['body']['id'];}return db[_0xf0e8('0x25')][_0xf0e8('0x47')]({'where':{'id':_0x260230[_0xf0e8('0x86')]['id']}})[_0xf0e8('0x20')](handleEntityNotFound(_0x28330d,null))['then'](saveUpdates(_0x260230[_0xf0e8('0x8f')],null))[_0xf0e8('0x20')](function(_0x1b354d){_0x2ba280=_0x1b354d;var _0x1e787a={'where':{'$and':[{'ListId':{'$ne':null}}]}};if(_0x1b354d&&_0x1b354d[_0xf0e8('0xb1')]){if(_0x1b354d['ListId']){_0x1e787a[_0xf0e8('0x39')][_0xf0e8('0xb8')][_0xf0e8('0x2a')]({'ListId':{'$ne':_0x1b354d['ListId']}});}}return db[_0xf0e8('0x8b')][_0xf0e8('0x8c')](_0x1e787a);})['then'](function(_0x542c95){if(_0x542c95){return _['omit'](_[_0xf0e8('0xb9')](_0x260230[_0xf0e8('0x8f')],function(_0x41762f,_0x41d036){return _[_0xf0e8('0x28')](_0x41d036,'cf_');}),_[_0xf0e8('0x4c')](_0x542c95,function(_0x50df29){return util[_0xf0e8('0xb6')]('cf_%d',_0x50df29['id']);}));}})[_0xf0e8('0x20')](function(_0x1368a8){if(_0x1368a8&&!_[_0xf0e8('0x6f')](_0x1368a8)){var _0x1d846d=squel[_0xf0e8('0x1f')]()['table'](_0xf0e8('0x3f'))[_0xf0e8('0xba')](_0x1368a8)[_0xf0e8('0x39')](_0xf0e8('0xbb'),_0x260230['params']['id'])[_0xf0e8('0xbc')]();return db[_0xf0e8('0x78')]['query'](_0x1d846d['text'],{'replacements':_0x1d846d[_0xf0e8('0x8e')]});}})[_0xf0e8('0x20')](function(){if(_0x260230[_0xf0e8('0x8f')][_0xf0e8('0xbd')]&&_0x2ba280){return db['CmHopper'][_0xf0e8('0x1f')]({'phone':_0x260230[_0xf0e8('0x8f')]['phone']},{'where':{'ContactId':_0x2ba280['id']}});}})[_0xf0e8('0x20')](function(){return _0x2ba280;})[_0xf0e8('0x20')](respondWithResult(_0x28330d,null))['catch'](handleError(_0x28330d,null));};exports['getTags']=function(_0x5ab2df,_0x4a1c51,_0x335dbd){var _0x17e87a={};var _0x47ba27={};var _0x2afc52;var _0x54c7f0;return db[_0xf0e8('0x25')]['findOne']({'where':{'id':_0x5ab2df[_0xf0e8('0x86')]['id']}})[_0xf0e8('0x20')](handleEntityNotFound(_0x4a1c51,null))[_0xf0e8('0x20')](function(_0x121715){if(_0x121715){_0x2afc52=_0x121715;_0x47ba27['model']=_[_0xf0e8('0x26')](db[_0xf0e8('0x49')]['rawAttributes']);_0x47ba27[_0xf0e8('0x31')]=_[_0xf0e8('0x26')](_0x5ab2df[_0xf0e8('0x31')]);_0x47ba27['filters']=_[_0xf0e8('0x32')](_0x47ba27[_0xf0e8('0x30')],_0x47ba27[_0xf0e8('0x31')]);_0x17e87a[_0xf0e8('0x34')]=_[_0xf0e8('0x32')](_0x47ba27[_0xf0e8('0x30')],qs[_0xf0e8('0x33')](_0x5ab2df[_0xf0e8('0x31')]['fields']));_0x17e87a['attributes']=_0x17e87a[_0xf0e8('0x34')][_0xf0e8('0x27')]?_0x17e87a[_0xf0e8('0x34')]:_0x47ba27[_0xf0e8('0x30')];_0x17e87a['order']=qs[_0xf0e8('0x38')](_0x5ab2df['query']['sort']);_0x17e87a[_0xf0e8('0x39')]=qs[_0xf0e8('0xbe')](_[_0xf0e8('0x3a')](_0x5ab2df[_0xf0e8('0x31')],_0x47ba27[_0xf0e8('0xbe')]));if(_0x5ab2df['query'][_0xf0e8('0x54')]){_0x17e87a[_0xf0e8('0x39')]=_['merge'](_0x17e87a[_0xf0e8('0x39')],{'$or':_['map'](_0x17e87a[_0xf0e8('0x34')],function(_0x248a51){var _0x651889={};_0x651889[_0x248a51]={'$like':'%'+_0x5ab2df[_0xf0e8('0x31')]['filter']+'%'};return _0x651889;})});}_0x17e87a=_[_0xf0e8('0x7b')]({},_0x17e87a,_0x5ab2df[_0xf0e8('0xbf')]);return _0x2afc52['getTags'](_0x17e87a);}})['then'](function(_0x5956a7){if(_0x5956a7){_0x54c7f0=_0x5956a7[_0xf0e8('0x27')];if(!_0x5ab2df['query'][_0xf0e8('0x35')]('nolimit')){_0x17e87a[_0xf0e8('0x37')]=qs['limit'](_0x5ab2df['query'][_0xf0e8('0x37')]);_0x17e87a[_0xf0e8('0x1a')]=qs['offset'](_0x5ab2df['query'][_0xf0e8('0x1a')]);}return _0x2afc52[_0xf0e8('0xc0')](_0x17e87a);}})[_0xf0e8('0x20')](function(_0x196385){if(_0x196385){return _0x196385?{'count':_0x54c7f0,'rows':_0x196385}:null;}})[_0xf0e8('0x20')](respondWithResult(_0x4a1c51,null))[_0xf0e8('0x87')](handleError(_0x4a1c51,null));};exports[_0xf0e8('0xc1')]=function(_0x2b1899,_0x46a92b,_0x26b23d){if(_0x2b1899[_0xf0e8('0x8f')]['id']){delete _0x2b1899['body']['id'];}return db[_0xf0e8('0x25')][_0xf0e8('0x2b')]({'where':{'id':_0x2b1899[_0xf0e8('0x86')]['id']}})['then'](handleEntityNotFound(_0x46a92b,null))[_0xf0e8('0x20')](function(_0x6e4cc5){if(_0x6e4cc5){return _0x6e4cc5[_0xf0e8('0xc1')](_0x2b1899['body']['ids']||[]);}return null;})[_0xf0e8('0x20')](respondWithResult(_0x46a92b,null))['catch'](handleError(_0x46a92b,null));};exports['getHoppers']=function(_0x350171,_0x5e1111,_0x409559){var _0x3f86a1={'raw':![],'where':{}};var _0x1b8a7c={};var _0x3c0a20={'count':0x0,'rows':[]};return db['CmContact'][_0xf0e8('0x2b')]({'where':{'id':_0x350171['params']['id']}})[_0xf0e8('0x20')](handleEntityNotFound(_0x5e1111,null))[_0xf0e8('0x20')](function(_0x4729a1){if(_0x4729a1){_0x1b8a7c[_0xf0e8('0x30')]=_[_0xf0e8('0x26')](db[_0xf0e8('0x94')]['rawAttributes']);_0x1b8a7c[_0xf0e8('0x31')]=_[_0xf0e8('0x26')](_0x350171['query']);_0x1b8a7c[_0xf0e8('0xbe')]=_['intersection'](_0x1b8a7c['model'],_0x1b8a7c[_0xf0e8('0x31')]);_0x3f86a1[_0xf0e8('0x34')]=_[_0xf0e8('0x32')](_0x1b8a7c['model'],qs[_0xf0e8('0x33')](_0x350171['query'][_0xf0e8('0x33')]));_0x3f86a1[_0xf0e8('0x34')]=_0x3f86a1[_0xf0e8('0x34')][_0xf0e8('0x27')]?_0x3f86a1['attributes']:_0x1b8a7c['model'];if(!_0x350171[_0xf0e8('0x31')][_0xf0e8('0x35')](_0xf0e8('0x36'))){_0x3f86a1[_0xf0e8('0x37')]=qs[_0xf0e8('0x37')](_0x350171[_0xf0e8('0x31')][_0xf0e8('0x37')]);_0x3f86a1[_0xf0e8('0x1a')]=qs[_0xf0e8('0x1a')](_0x350171['query']['offset']);}_0x3f86a1[_0xf0e8('0x6d')]=qs[_0xf0e8('0x38')](_0x350171['query'][_0xf0e8('0x38')]);_0x3f86a1[_0xf0e8('0x39')]=qs[_0xf0e8('0xbe')](_[_0xf0e8('0x3a')](_0x350171[_0xf0e8('0x31')],_0x1b8a7c[_0xf0e8('0xbe')]));_0x3f86a1['where'][_0xf0e8('0xc2')]=_0x4729a1['id'];if(_0x350171[_0xf0e8('0x31')][_0xf0e8('0x54')]){_0x3f86a1[_0xf0e8('0x39')]=_[_0xf0e8('0x7b')](_0x3f86a1[_0xf0e8('0x39')],{'$or':_[_0xf0e8('0x4c')](_0x3f86a1[_0xf0e8('0x34')],function(_0x5bf713){var _0x55f045={};_0x55f045[_0x5bf713]={'$like':'%'+_0x350171[_0xf0e8('0x31')][_0xf0e8('0x54')]+'%'};return _0x55f045;})});}_0x3f86a1=_[_0xf0e8('0x7b')]({},_0x3f86a1,_0x350171[_0xf0e8('0xbf')]);return db[_0xf0e8('0x94')]['count']({'where':_0x3f86a1[_0xf0e8('0x39')]})[_0xf0e8('0x20')](function(_0xb2636d){_0x3c0a20[_0xf0e8('0x19')]=_0xb2636d;if(_0x350171[_0xf0e8('0x31')]['includeAll']){_0x3f86a1[_0xf0e8('0xc3')]=[{'all':!![]}];}return db['CmHopper']['findAll'](_0x3f86a1);})[_0xf0e8('0x20')](function(_0x257f87){_0x3c0a20[_0xf0e8('0x85')]=_0x257f87;return _0x3c0a20;});}})[_0xf0e8('0x20')](respondWithFilteredResult(_0x5e1111,_0x3f86a1))[_0xf0e8('0x87')](handleError(_0x5e1111,null));};exports['getHopperHistories']=function(_0x2e1c64,_0x243dc1,_0x47848b){var _0x7ff611={'raw':!![],'where':{}};var _0x50217f={};var _0x2fcceb={'count':0x0,'rows':[]};return db[_0xf0e8('0x25')][_0xf0e8('0x2b')]({'where':{'id':_0x2e1c64[_0xf0e8('0x86')]['id']}})[_0xf0e8('0x20')](handleEntityNotFound(_0x243dc1,null))[_0xf0e8('0x20')](function(_0x1e2355){if(_0x1e2355){_0x50217f['model']=_[_0xf0e8('0x26')](db[_0xf0e8('0xa6')]['rawAttributes']);_0x50217f[_0xf0e8('0x31')]=_[_0xf0e8('0x26')](_0x2e1c64['query']);_0x50217f['filters']=_[_0xf0e8('0x32')](_0x50217f[_0xf0e8('0x30')],_0x50217f[_0xf0e8('0x31')]);_0x7ff611['attributes']=_[_0xf0e8('0x32')](_0x50217f['model'],qs[_0xf0e8('0x33')](_0x2e1c64[_0xf0e8('0x31')]['fields']));_0x7ff611['attributes']=_0x7ff611[_0xf0e8('0x34')]['length']?_0x7ff611[_0xf0e8('0x34')]:_0x50217f[_0xf0e8('0x30')];if(!_0x2e1c64[_0xf0e8('0x31')][_0xf0e8('0x35')](_0xf0e8('0x36'))){_0x7ff611['limit']=qs[_0xf0e8('0x37')](_0x2e1c64[_0xf0e8('0x31')][_0xf0e8('0x37')]);_0x7ff611['offset']=qs[_0xf0e8('0x1a')](_0x2e1c64['query'][_0xf0e8('0x1a')]);}_0x7ff611[_0xf0e8('0x6d')]=qs[_0xf0e8('0x38')](_0x2e1c64[_0xf0e8('0x31')][_0xf0e8('0x38')]);_0x7ff611[_0xf0e8('0x39')]=qs['filters'](_[_0xf0e8('0x3a')](_0x2e1c64[_0xf0e8('0x31')],_0x50217f[_0xf0e8('0xbe')]));_0x7ff611[_0xf0e8('0x39')][_0xf0e8('0xc2')]=_0x1e2355['id'];if(_0x2e1c64['query'][_0xf0e8('0x54')]){_0x7ff611['where']=_['merge'](_0x7ff611[_0xf0e8('0x39')],{'$or':_[_0xf0e8('0x4c')](_0x7ff611[_0xf0e8('0x34')],function(_0x4be1d3){var _0x53f593={};_0x53f593[_0x4be1d3]={'$like':'%'+_0x2e1c64[_0xf0e8('0x31')][_0xf0e8('0x54')]+'%'};return _0x53f593;})});}_0x7ff611=_[_0xf0e8('0x7b')]({},_0x7ff611,_0x2e1c64['options']);return db['CmHopperHistory'][_0xf0e8('0x19')]({'where':_0x7ff611[_0xf0e8('0x39')]})[_0xf0e8('0x20')](function(_0x983c20){_0x2fcceb[_0xf0e8('0x19')]=_0x983c20;if(_0x2e1c64[_0xf0e8('0x31')][_0xf0e8('0xc4')]){_0x7ff611[_0xf0e8('0xc3')]=[{'all':!![]}];}return db[_0xf0e8('0xa6')][_0xf0e8('0x8c')](_0x7ff611);})['then'](function(_0x63cb9){_0x2fcceb[_0xf0e8('0x85')]=_0x63cb9;return _0x2fcceb;});}})[_0xf0e8('0x20')](respondWithFilteredResult(_0x243dc1,_0x7ff611))[_0xf0e8('0x87')](handleError(_0x243dc1,null));};exports[_0xf0e8('0xc5')]=function(_0x585ffc,_0x335b1f,_0x8ab7db){var _0x2cbfdd={'raw':!![],'where':{}};var _0xdd5f21={};var _0x2d9bf7={'count':0x0,'rows':[]};return db[_0xf0e8('0x25')][_0xf0e8('0x2b')]({'where':{'id':_0x585ffc[_0xf0e8('0x86')]['id']}})[_0xf0e8('0x20')](handleEntityNotFound(_0x335b1f,null))[_0xf0e8('0x20')](function(_0x4224c5){if(_0x4224c5){_0xdd5f21[_0xf0e8('0x30')]=_['keys'](db['CmHopperFinal'][_0xf0e8('0xc6')]);_0xdd5f21[_0xf0e8('0x31')]=_['keys'](_0x585ffc[_0xf0e8('0x31')]);_0xdd5f21['filters']=_['intersection'](_0xdd5f21[_0xf0e8('0x30')],_0xdd5f21['query']);_0x2cbfdd['attributes']=_[_0xf0e8('0x32')](_0xdd5f21['model'],qs['fields'](_0x585ffc[_0xf0e8('0x31')][_0xf0e8('0x33')]));_0x2cbfdd[_0xf0e8('0x34')]=_0x2cbfdd[_0xf0e8('0x34')]['length']?_0x2cbfdd[_0xf0e8('0x34')]:_0xdd5f21[_0xf0e8('0x30')];if(!_0x585ffc[_0xf0e8('0x31')][_0xf0e8('0x35')](_0xf0e8('0x36'))){_0x2cbfdd[_0xf0e8('0x37')]=qs['limit'](_0x585ffc['query'][_0xf0e8('0x37')]);_0x2cbfdd[_0xf0e8('0x1a')]=qs[_0xf0e8('0x1a')](_0x585ffc['query'][_0xf0e8('0x1a')]);}_0x2cbfdd[_0xf0e8('0x6d')]=qs[_0xf0e8('0x38')](_0x585ffc['query'][_0xf0e8('0x38')]);_0x2cbfdd['where']=qs['filters'](_[_0xf0e8('0x3a')](_0x585ffc[_0xf0e8('0x31')],_0xdd5f21[_0xf0e8('0xbe')]));_0x2cbfdd[_0xf0e8('0x39')][_0xf0e8('0xc2')]=_0x4224c5['id'];if(_0x585ffc[_0xf0e8('0x31')][_0xf0e8('0x54')]){_0x2cbfdd['where']=_[_0xf0e8('0x7b')](_0x2cbfdd[_0xf0e8('0x39')],{'$or':_[_0xf0e8('0x4c')](_0x2cbfdd[_0xf0e8('0x34')],function(_0x1bccb6){var _0x2d9857={};_0x2d9857[_0x1bccb6]={'$like':'%'+_0x585ffc[_0xf0e8('0x31')]['filter']+'%'};return _0x2d9857;})});}_0x2cbfdd=_[_0xf0e8('0x7b')]({},_0x2cbfdd,_0x585ffc[_0xf0e8('0xbf')]);return db[_0xf0e8('0xa5')][_0xf0e8('0x19')]({'where':_0x2cbfdd['where']})['then'](function(_0xdaa21f){_0x2d9bf7[_0xf0e8('0x19')]=_0xdaa21f;if(_0x585ffc[_0xf0e8('0x31')][_0xf0e8('0xc4')]){_0x2cbfdd['include']=[{'all':!![]}];}return db[_0xf0e8('0xa5')][_0xf0e8('0x8c')](_0x2cbfdd);})[_0xf0e8('0x20')](function(_0x3704f7){_0x2d9bf7[_0xf0e8('0x85')]=_0x3704f7;return _0x2d9bf7;});}})[_0xf0e8('0x20')](respondWithFilteredResult(_0x335b1f,_0x2cbfdd))[_0xf0e8('0x87')](handleError(_0x335b1f,null));};exports[_0xf0e8('0xc7')]=function(_0x16a32e,_0x144961,_0x16eaf1){var _0x3a946e={'raw':!![],'where':{}};var _0x199dc3={};var _0x135d8d={'count':0x0,'rows':[]};return db['CmContact'][_0xf0e8('0x2b')]({'where':{'id':_0x16a32e[_0xf0e8('0x86')]['id']}})['then'](handleEntityNotFound(_0x144961,null))[_0xf0e8('0x20')](function(_0x4ce294){if(_0x4ce294){_0x199dc3[_0xf0e8('0x30')]=_['keys'](db[_0xf0e8('0xab')][_0xf0e8('0xc6')]);_0x199dc3[_0xf0e8('0x31')]=_['keys'](_0x16a32e[_0xf0e8('0x31')]);_0x199dc3[_0xf0e8('0xbe')]=_[_0xf0e8('0x32')](_0x199dc3[_0xf0e8('0x30')],_0x199dc3[_0xf0e8('0x31')]);_0x3a946e[_0xf0e8('0x34')]=_[_0xf0e8('0x32')](_0x199dc3[_0xf0e8('0x30')],qs['fields'](_0x16a32e['query'][_0xf0e8('0x33')]));_0x3a946e[_0xf0e8('0x34')]=_0x3a946e[_0xf0e8('0x34')][_0xf0e8('0x27')]?_0x3a946e['attributes']:_0x199dc3['model'];if(!_0x16a32e['query'][_0xf0e8('0x35')](_0xf0e8('0x36'))){_0x3a946e['limit']=qs[_0xf0e8('0x37')](_0x16a32e[_0xf0e8('0x31')][_0xf0e8('0x37')]);_0x3a946e['offset']=qs[_0xf0e8('0x1a')](_0x16a32e[_0xf0e8('0x31')][_0xf0e8('0x1a')]);}_0x3a946e[_0xf0e8('0x6d')]=qs['sort'](_0x16a32e[_0xf0e8('0x31')][_0xf0e8('0x38')]);_0x3a946e[_0xf0e8('0x39')]=qs[_0xf0e8('0xbe')](_[_0xf0e8('0x3a')](_0x16a32e['query'],_0x199dc3['filters']));_0x3a946e[_0xf0e8('0x39')]['ContactId']=_0x4ce294['id'];if(_0x16a32e[_0xf0e8('0x31')][_0xf0e8('0x54')]){_0x3a946e['where']=_[_0xf0e8('0x7b')](_0x3a946e['where'],{'$or':_[_0xf0e8('0x4c')](_0x3a946e[_0xf0e8('0x34')],function(_0x751b3){var _0xab2409={};_0xab2409[_0x751b3]={'$like':'%'+_0x16a32e['query'][_0xf0e8('0x54')]+'%'};return _0xab2409;})});}_0x3a946e=_[_0xf0e8('0x7b')]({},_0x3a946e,_0x16a32e[_0xf0e8('0xbf')]);return db[_0xf0e8('0xab')][_0xf0e8('0x19')]({'where':_0x3a946e['where']})[_0xf0e8('0x20')](function(_0x275913){_0x135d8d[_0xf0e8('0x19')]=_0x275913;if(_0x16a32e[_0xf0e8('0x31')][_0xf0e8('0xc4')]){_0x3a946e[_0xf0e8('0xc3')]=[{'all':!![]}];}return db[_0xf0e8('0xab')][_0xf0e8('0x8c')](_0x3a946e);})[_0xf0e8('0x20')](function(_0x426188){_0x135d8d[_0xf0e8('0x85')]=_0x426188;return _0x135d8d;});}})[_0xf0e8('0x20')](respondWithFilteredResult(_0x144961,_0x3a946e))[_0xf0e8('0x87')](handleError(_0x144961,null));};exports['uploadCsv']=function(_0x449484,_0x2e86cd,_0x264cca){try{if(!_0x449484[_0xf0e8('0x8f')][_0xf0e8('0xb1')]){throw new Error(_0xf0e8('0xc8'));}if(!_0x449484[_0xf0e8('0x8f')]['binding_keys']){throw new Error('No\x20association\x20keys\x20specified!');}if(!_0x449484[_0xf0e8('0x8f')][_0xf0e8('0xc9')]){throw new Error('No\x20association\x20values\x20specified!');}if(!_0x449484[_0xf0e8('0x8f')][_0xf0e8('0xca')]){throw new Error('Unable\x20to\x20synchronize\x20socket,\x20no\x20timestamp\x20passed');}var _0x404c51=_0x449484[_0xf0e8('0x8f')][_0xf0e8('0xcb')]['split'](',');var _0x498344=_0x449484[_0xf0e8('0x8f')][_0xf0e8('0xc9')][_0xf0e8('0x4b')](',');if(!_0x404c51[_0xf0e8('0x27')]||!_0x498344['length']||_0x404c51[_0xf0e8('0x27')]!==_0x498344['length']){throw new Error(_0xf0e8('0xcc'));}_0x449484[_0xf0e8('0x8f')][_0xf0e8('0x33')]=_[_0xf0e8('0xcd')](_0x404c51,_0x498344);if(!_0x449484[_0xf0e8('0x8f')][_0xf0e8('0x33')][_0xf0e8('0xbd')]){throw new Error(_0xf0e8('0xce'));}if(!_0x449484[_0xf0e8('0x8f')][_0xf0e8('0x33')][_0xf0e8('0xcf')]){throw new Error(_0xf0e8('0xd0'));}var _0x1cb841=path[_0xf0e8('0x92')](config['root'],_0xf0e8('0xd1'),_0x449484[_0xf0e8('0xd2')][_0xf0e8('0xd3')]);fs['chmodSync'](_0x1cb841,parseInt(_0xf0e8('0xd4'),0x8));var _0x1058e8=require('child_process')[_0xf0e8('0xd5')](path[_0xf0e8('0x92')](__dirname,_0xf0e8('0xd6')),[_0x1cb841,_0x449484[_0xf0e8('0x8f')][_0xf0e8('0xcb')],_0x449484['body']['binding_values'],_0x449484[_0xf0e8('0x8f')]['ListId'],_0x449484['body'][_0xf0e8('0xd7')],_0x449484[_0xf0e8('0x8f')][_0xf0e8('0xaf')],_0x449484[_0xf0e8('0x8f')]['socket_timestamp']]);return _0x2e86cd['status'](0xc8)[_0xf0e8('0x1b')]({'message':_0xf0e8('0xd8'),'pid':_0x1058e8[_0xf0e8('0xd9')]});}catch(_0x13aee5){return _0x2e86cd['status'](0x1f4)[_0xf0e8('0xda')](_0x13aee5);}};exports[_0xf0e8('0xdb')]=function(_0x16408b,_0x4ba46a,_0x140d62){var _0x34448a=fs[_0xf0e8('0xdc')](_0x16408b['file'][_0xf0e8('0x8')]);Papa[_0xf0e8('0xdd')](_0x34448a,{'header':!![],'skipEmptyLines':!![],'preview':0x1,'complete':function(_0x432593){return _0x4ba46a[_0xf0e8('0x17')](0xc8)[_0xf0e8('0x1b')]({'file':_0x16408b[_0xf0e8('0xd2')],'fields':_0x432593[_0xf0e8('0xde')][_0xf0e8('0x33')]});}});};exports[_0xf0e8('0xdf')]=function(_0xdea1e0,_0x90ea9,_0xbc1543){return db['User']['findAll']({'raw':!![],'attributes':['id'],'where':{'role':'agent'}})[_0xf0e8('0x20')](function(_0x5cdaea){var _0xd20cdc=![];if(!_0xdea1e0['body']['ListId']){throw new Error(_0xf0e8('0xc8'));}if(!_0xdea1e0[_0xf0e8('0x8f')][_0xf0e8('0xe0')][_0xf0e8('0xbd')]){throw new Error(_0xf0e8('0xce'));}if(!_0xdea1e0[_0xf0e8('0x8f')]['binding'][_0xf0e8('0xcf')]){throw new Error('No\x20firstName\x20column\x20specified');}if(!_0xdea1e0['body'][_0xf0e8('0xca')]){throw new Error('Unable\x20to\x20synchronize\x20socket,\x20no\x20timestamp\x20passed');}var _0x1a91a1=require('child_process')[_0xf0e8('0xd5')](path[_0xf0e8('0x92')](__dirname,'../../components/import/cm/csv2'),[_0xdea1e0[_0xf0e8('0x86')]['id'],JSON['stringify'](_0xdea1e0['body']),JSON[_0xf0e8('0xe1')](_0x5cdaea)]);_0x1a91a1['on'](_0xf0e8('0xe2'),function(_0x5bc078){_0xd20cdc=!![];return _0x90ea9[_0xf0e8('0x17')](0xc8)[_0xf0e8('0x1b')]({'message':_0xf0e8('0xe3'),'pid':_0x1a91a1[_0xf0e8('0xd9')]});});_0x1a91a1['on'](_0xf0e8('0xe4'),function(_0x1ce6f4){if(_0x1ce6f4&&!_0xd20cdc){return _0x90ea9[_0xf0e8('0x17')](0x1f4)[_0xf0e8('0x1b')]({'message':_0xf0e8('0xe5'),'pid':_0x1a91a1[_0xf0e8('0xd9')]});}});})['catch'](handleError(_0x90ea9,null));};