Built motion from commit (unavailable).|2.5.4
[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 _0x6aaf=['Sequelize','QueryTypes','SELECT','DESC','having','t.id\x20IN\x20?','resolve','user','getLists','c.ListId\x20IS\x20NULL','sequelize','toString','keyBy','merge','c.lastName','c.phone','c.mobile','c.fax','c.email','c.deletedAt','GROUP_CONCAT(DISTINCT\x20t.id)','TagIds','Tags','rows','catch','params','describe','columnName','displayName','custom','values','body','findAll','get','mergeWith','tags','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','ChatMessage','MailInteraction','MailMessage','SmsInteraction','FaxInteraction','FaxMessage','OpenchannelInteraction','OpenchannelMessage','CmHopperFinal','CmHopperHistory','ReportAgentPreview','VoiceCallReport','MailQueueReport','OpenchannelQueueReport','SmsQueueReport','JscriptySessionReport','isArray','join','duplicates','$or','ListId','findOrCreate','$and','omit','format','cf_%d','table','setFields','id\x20=\x20?','toParam','phone','findOne','options','getTags','setTags','ids','getHoppers','includeAll','include','getHopperHistories','rawAttributes','ContactId','getJscriptySessions','uploadCsv','No\x20ListId\x20specified','No\x20association\x20keys\x20specified!','binding_values','No\x20association\x20values\x20specified!','socket_timestamp','Unable\x20to\x20synchronize\x20socket,\x20no\x20timestamp\x20passed','binding_keys','Incorrect\x20binding\x20parameters\x20passed!','zipObject','No\x20phone\x20column\x20specified','No\x20firstName\x20column\x20specified','root','file','filename','chmodSync','0777','child_process','fork','CompanyId','File\x20uploaded\x20correctly!','pid','upload','createReadStream','meta','agent','binding','firstName','../../components/import/cm/csv2','stringify','start\x20child\x20process\x20correctly!','exit','html-pdf','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','defaults','redis','localhost','socket.io-emitter','register','sendStatus','status','json','count','offset','set','Content-Range','apply','reject','save','update','then','destroy','end','error','name','send','index','CmContact','keys','length','startsWith','cf_','push','CmCustomField','trimStart','all','fieldType','model','query','filters','intersection','attributes','fields','hasOwnProperty','nolimit','limit','order','sort','pick','select','field','color','from','tools_tags','cm_contacts','cm_user_has_contacts','uc.CmContactId\x20=\x20c.id','left_join','cm_contact_has_tags','ct.CmContactId\x20=\x20c.id','t.id\x20=\x20ct.TagId','where','c.deletedAt\x20IS\x20NULL','expr','search','parseSearch','sqlOperator','conditions','find','Tag','value','map','forEach','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','User','and','uc.UserId\x20=\x20?','dateOfBirth','castTo','DATE','buildExpression','type','text','start','filter','isNil','Contact','isEmpty','c.ListId\x20IN\x20?','concat','\x20=\x20?','tag','replace','split','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','isNumeric','c.id\x20LIKE\x20?','c.phone\x20LIKE\x20?','c.mobile\x20LIKE\x20?','c.fax\x20LIKE\x20?','isEmail','c.lastName\x20LIKE\x20?','c.email\x20LIKE\x20?','group','c.id'];(function(_0x2966e3,_0x1fc59b){var _0x17048c=function(_0x37fb6e){while(--_0x37fb6e){_0x2966e3['push'](_0x2966e3['shift']());}};_0x17048c(++_0x1fc59b);}(_0x6aaf,0x171));var _0xf6aa=function(_0x5e9689,_0x48e034){_0x5e9689=_0x5e9689-0x0;var _0x2fac94=_0x6aaf[_0x5e9689];return _0x2fac94;};'use strict';var pdf=require(_0xf6aa('0x0'));var emlformat=require(_0xf6aa('0x1'));var rimraf=require(_0xf6aa('0x2'));var zipdir=require(_0xf6aa('0x3'));var jsonpatch=require('fast-json-patch');var rp=require(_0xf6aa('0x4'));var moment=require(_0xf6aa('0x5'));var BPromise=require(_0xf6aa('0x6'));var Mustache=require(_0xf6aa('0x7'));var util=require(_0xf6aa('0x8'));var path=require(_0xf6aa('0x9'));var sox=require(_0xf6aa('0xa'));var csv=require(_0xf6aa('0xb'));var ejs=require(_0xf6aa('0xc'));var fs=require('fs');var _=require(_0xf6aa('0xd'));var squel=require(_0xf6aa('0xe'));var crypto=require(_0xf6aa('0xf'));var jsforce=require(_0xf6aa('0x10'));var deskjs=require(_0xf6aa('0x11'));var toCsv=require(_0xf6aa('0xb'));var querystring=require(_0xf6aa('0x12'));var Papa=require(_0xf6aa('0x13'));var Redis=require(_0xf6aa('0x14'));var authService=require(_0xf6aa('0x15'));var qs=require(_0xf6aa('0x16'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xf6aa('0x17'));var logger=require(_0xf6aa('0x18'))(_0xf6aa('0x19'));var utils=require(_0xf6aa('0x1a'));var config=require(_0xf6aa('0x1b'));var db=require(_0xf6aa('0x1c'))['db'];config['redis']=_[_0xf6aa('0x1d')](config[_0xf6aa('0x1e')],{'host':_0xf6aa('0x1f'),'port':0x18eb});var socket=require(_0xf6aa('0x20'))(new Redis(config['redis']));require('./cmContact.socket')[_0xf6aa('0x21')](socket);function respondWithStatusCode(_0x11255c,_0x594879){_0x594879=_0x594879||0xcc;return function(_0x57c8d9){if(_0x57c8d9){return _0x11255c[_0xf6aa('0x22')](_0x594879);}return _0x11255c[_0xf6aa('0x23')](_0x594879)['end']();};}function respondWithResult(_0xad7279,_0xc9f9e8){_0xc9f9e8=_0xc9f9e8||0xc8;return function(_0x123b52){if(_0x123b52){return _0xad7279[_0xf6aa('0x23')](_0xc9f9e8)[_0xf6aa('0x24')](_0x123b52);}};}function respondWithFilteredResult(_0x142b33,_0x304cf1){return function(_0x373248){if(_0x373248){var _0xb8e296=_0x373248[_0xf6aa('0x25')],_0x4a44dc=_0x304cf1[_0xf6aa('0x26')],_0x434d17=_0x304cf1[_0xf6aa('0x26')]+_0x304cf1['limit'],_0x6fa9ba;if(_0x434d17>=_0xb8e296){_0x434d17=_0xb8e296;_0x6fa9ba=0xc8;}else{_0x6fa9ba=0xce;}_0x142b33[_0xf6aa('0x23')](_0x6fa9ba);return _0x142b33[_0xf6aa('0x27')](_0xf6aa('0x28'),_0x4a44dc+'-'+_0x434d17+'/'+_0xb8e296)[_0xf6aa('0x24')](_0x373248);}return null;};}function patchUpdates(_0x51106b){return function(_0x4a1108){try{jsonpatch[_0xf6aa('0x29')](_0x4a1108,_0x51106b,!![]);}catch(_0x27bdc5){return BPromise[_0xf6aa('0x2a')](_0x27bdc5);}return _0x4a1108[_0xf6aa('0x2b')]();};}function saveUpdates(_0x46494c,_0x419a14){return function(_0x5bacfe){if(_0x5bacfe){return _0x5bacfe[_0xf6aa('0x2c')](_0x46494c)[_0xf6aa('0x2d')](function(_0x5e69f6){return _0x5e69f6;});}return null;};}function removeEntity(_0x176f83,_0x305f44){return function(_0x1a38a0){if(_0x1a38a0){return _0x1a38a0[_0xf6aa('0x2e')]()['then'](function(){_0x176f83[_0xf6aa('0x23')](0xcc)[_0xf6aa('0x2f')]();});}};}function handleEntityNotFound(_0x1154e2,_0x18b2c1){return function(_0x16693f){if(!_0x16693f){_0x1154e2[_0xf6aa('0x22')](0x194);}return _0x16693f;};}function handleError(_0x240d68,_0x694bfe){_0x694bfe=_0x694bfe||0x1f4;return function(_0x4b9ea1){logger[_0xf6aa('0x30')](_0x4b9ea1['stack']);if(_0x4b9ea1[_0xf6aa('0x31')]){delete _0x4b9ea1['name'];}_0x240d68[_0xf6aa('0x23')](_0x694bfe)[_0xf6aa('0x32')](_0x4b9ea1);};}exports[_0xf6aa('0x33')]=function(_0x4fa64c,_0x227914){var _0x11ec50={},_0x5d8710={},_0x453cb1={'count':0x0,'rows':[]};return db[_0xf6aa('0x34')]['describe']()['then'](function(_0x21db50){var _0x34771e=[];for(var _0x1cd9b8=0x0;_0x1cd9b8<Object[_0xf6aa('0x35')](_0x21db50)[_0xf6aa('0x36')];_0x1cd9b8++){var _0x43a1e1=Object[_0xf6aa('0x35')](_0x21db50)[_0x1cd9b8];if(_[_0xf6aa('0x37')](_0x43a1e1,_0xf6aa('0x38'))){_0x34771e[_0xf6aa('0x39')](db[_0xf6aa('0x3a')]['findOne']({'where':{'id':_[_0xf6aa('0x3b')](_0x43a1e1,_0xf6aa('0x38'))},'raw':!![]}));}}return BPromise[_0xf6aa('0x3c')](_0x34771e)[_0xf6aa('0x2d')](function(_0x3e4522){for(var _0x524ea8=0x0;_0x524ea8<_0x3e4522[_0xf6aa('0x36')];_0x524ea8++){if(_0x3e4522[_0x524ea8]){var _0x228c27='cf_'+_0x3e4522[_0x524ea8]['id'];var _0x2efa0c=_0x21db50[_0x228c27];_0x2efa0c[_0xf6aa('0x3d')]=_0x3e4522[_0x524ea8]['type'];}}return _0x21db50;});})[_0xf6aa('0x2d')](function(_0x36366e){_0x5d8710[_0xf6aa('0x3e')]=_[_0xf6aa('0x35')](_0x36366e);_0x5d8710['query']=_['keys'](_0x4fa64c[_0xf6aa('0x3f')]);_0x5d8710[_0xf6aa('0x40')]=_[_0xf6aa('0x41')](_0x5d8710[_0xf6aa('0x3e')],_0x5d8710[_0xf6aa('0x3f')]);_0x11ec50[_0xf6aa('0x42')]=_[_0xf6aa('0x41')](_0x5d8710[_0xf6aa('0x3e')],qs['fields'](_0x4fa64c[_0xf6aa('0x3f')][_0xf6aa('0x43')]));_0x11ec50[_0xf6aa('0x42')]=_0x11ec50[_0xf6aa('0x42')][_0xf6aa('0x36')]?_0x11ec50[_0xf6aa('0x42')]:_0x5d8710[_0xf6aa('0x3e')];if(!_0x4fa64c[_0xf6aa('0x3f')][_0xf6aa('0x44')](_0xf6aa('0x45'))){_0x11ec50['limit']=qs[_0xf6aa('0x46')](_0x4fa64c[_0xf6aa('0x3f')][_0xf6aa('0x46')]);_0x11ec50[_0xf6aa('0x26')]=qs[_0xf6aa('0x26')](_0x4fa64c[_0xf6aa('0x3f')][_0xf6aa('0x26')]);}_0x11ec50[_0xf6aa('0x47')]=qs[_0xf6aa('0x48')](_0x4fa64c[_0xf6aa('0x3f')][_0xf6aa('0x48')]);_0x11ec50['where']=qs[_0xf6aa('0x40')](_[_0xf6aa('0x49')](_0x4fa64c[_0xf6aa('0x3f')],_0x5d8710[_0xf6aa('0x40')]),_0x36366e);var _0x317961=[];var _0x3bf4b2=squel[_0xf6aa('0x4a')]()[_0xf6aa('0x4b')]('id')[_0xf6aa('0x4b')](_0xf6aa('0x31'))[_0xf6aa('0x4b')](_0xf6aa('0x4c'))[_0xf6aa('0x4d')](_0xf6aa('0x4e'));var _0x22b089=squel[_0xf6aa('0x4a')]()[_0xf6aa('0x4d')](_0xf6aa('0x4f'),'c')['left_join'](_0xf6aa('0x50'),'uc',_0xf6aa('0x51'))[_0xf6aa('0x52')](_0xf6aa('0x53'),'ct',_0xf6aa('0x54'))['left_join']('tools_tags','t',_0xf6aa('0x55'))[_0xf6aa('0x56')](_0xf6aa('0x57'));var _0x3c00f1=squel[_0xf6aa('0x58')]();var _0x476376=[];var _0x37198e=squel[_0xf6aa('0x58')]();var _0x585695;if(_0x4fa64c[_0xf6aa('0x3f')][_0xf6aa('0x59')]){_0x585695=as[_0xf6aa('0x5a')](_0x4fa64c[_0xf6aa('0x3f')][_0xf6aa('0x59')]);var _0x2720a2=_0x585695[_0xf6aa('0x5b')];for(var _0x4f0076=0x0;_0x4f0076<_0x585695['conditions'][_0xf6aa('0x36')];_0x4f0076++){var _0x23c3d0=_0x585695[_0xf6aa('0x5c')][_0x4f0076];var _0x5ad40f='c';var _0x1e1a32=_(_0x36366e)[_0xf6aa('0x35')]()[_0xf6aa('0x5d')](function(_0x33d78a){return _0x33d78a===_0x23c3d0['field'];});if(_0x1e1a32)_0x1e1a32=_0x36366e[_0x23c3d0['field']];if(!_0x1e1a32){if(_0x23c3d0[_0xf6aa('0x4b')]===_0xf6aa('0x5e')){var _0x22355c=_0x23c3d0[_0xf6aa('0x5f')]['split'](',')[_0xf6aa('0x60')](function(_0x123f3d){return Number(_0x123f3d);});_0x22355c[_0xf6aa('0x61')](function(_0x459350){_0x37198e['or'](_0xf6aa('0x62'),'%,'+_0x459350+',%');});_0x476376=_[_0xf6aa('0x63')](_0x476376,_0x22355c);}else if(_0x23c3d0['field']===_0xf6aa('0x64')){_0x3c00f1[_0xf6aa('0x65')](_0xf6aa('0x66'),_0x23c3d0[_0xf6aa('0x5f')]);}}else{if(_0x23c3d0[_0xf6aa('0x4b')]===_0xf6aa('0x67')||_0x1e1a32['fieldType']==='datetime')_0x23c3d0[_0xf6aa('0x68')]=_0xf6aa('0x69');var _0x1ef204=as[_0xf6aa('0x6a')](_0x5ad40f,_0x1e1a32[_0xf6aa('0x6b')],_0x23c3d0);_0x3c00f1[_0x2720a2](_0x1ef204[_0xf6aa('0x6c')],_0x1ef204[_0xf6aa('0x5f')][_0xf6aa('0x6d')],_0x1ef204[_0xf6aa('0x5f')][_0xf6aa('0x2f')]);}}}else{var _0x2f8448=_(Object['keys'](_0x4fa64c[_0xf6aa('0x3f')]))[_0xf6aa('0x60')](function(_0x1e8119){return _0x36366e['hasOwnProperty'](_0x1e8119)?_0x1e8119:undefined;})[_0xf6aa('0x6e')](function(_0x2103b5){return!_[_0xf6aa('0x6f')](_0x2103b5);})[_0xf6aa('0x5f')]();if(_0x4fa64c[_0xf6aa('0x3f')][_0xf6aa('0x70')])_0x2f8448[_0xf6aa('0x39')](_0xf6aa('0x70'));if(!_[_0xf6aa('0x71')](_0x2f8448)){_0x2f8448[_0xf6aa('0x61')](function(_0x2d4dd4){if(_0x2d4dd4==='ListId'){_0x22b089[_0xf6aa('0x56')](_0xf6aa('0x72'),[][_0xf6aa('0x73')](_0x4fa64c['query'][_0x2d4dd4]));}else if(_0x2d4dd4===_0xf6aa('0x70')){var _0x1df83a='%'+_0x4fa64c[_0xf6aa('0x3f')][_0x2d4dd4]+'%';_0x22b089[_0xf6aa('0x56')]('CONCAT_WS(\x27\x20\x27,\x20c.firstName,\x20c.lastName,\x20c.email)\x20LIKE\x20?',_0x1df83a);}else{_0x22b089[_0xf6aa('0x56')]('c.'+_0x2d4dd4+_0xf6aa('0x74'),_0x4fa64c[_0xf6aa('0x3f')][_0x2d4dd4]);}});}if(_0x4fa64c[_0xf6aa('0x3f')][_0xf6aa('0x75')]){_0x476376=_['isArray'](_0x4fa64c[_0xf6aa('0x3f')][_0xf6aa('0x75')])?_0x4fa64c[_0xf6aa('0x3f')][_0xf6aa('0x75')]:new Array(_0x4fa64c[_0xf6aa('0x3f')]['tag']);_0x476376['forEach'](function(_0x3a7cac){_0x37198e['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x3a7cac+',%');});}if(_0x4fa64c['query'][_0xf6aa('0x6e')]){var _0x36d131=_0x4fa64c[_0xf6aa('0x3f')][_0xf6aa('0x6e')][_0xf6aa('0x76')]('\x5c','\x5c\x5c')[_0xf6aa('0x76')]('\x27\x27','\x27\x27\x27\x27');if(_0x36d131[_0xf6aa('0x77')]('\x20')[_0xf6aa('0x36')]>0x1){_0x3c00f1['or'](_0xf6aa('0x78'),qs['getFullTextValue'](_0x36d131),null);}else{if(qs[_0xf6aa('0x79')](_0x36d131)){_0x3c00f1['or'](_0xf6aa('0x7a'),_0x36d131+'%');_0x3c00f1['or'](_0xf6aa('0x7b'),_0x36d131+'%');_0x3c00f1['or'](_0xf6aa('0x7c'),_0x36d131+'%');_0x3c00f1['or'](_0xf6aa('0x7d'),_0x36d131+'%');}else if(qs[_0xf6aa('0x7e')](_0x36d131)){_0x3c00f1['or']('c.email\x20LIKE\x20?',_0x36d131+'%');}else{_0x3c00f1['or']('c.firstName\x20LIKE\x20?','%'+_0x36d131+'%');_0x3c00f1['or'](_0xf6aa('0x7f'),'%'+_0x36d131+'%');_0x3c00f1['or'](_0xf6aa('0x80'),'%'+_0x36d131+'%');}}}}_0x22b089[_0xf6aa('0x56')](_0x3c00f1);_0x22b089[_0xf6aa('0x81')](_0xf6aa('0x82'));var _0x4dd7f2={'type':db[_0xf6aa('0x83')][_0xf6aa('0x84')][_0xf6aa('0x85')],'raw':!![]};var _0x30175f=_0x22b089['clone']()[_0xf6aa('0x4b')](_0xf6aa('0x82'));if(_0x11ec50[_0xf6aa('0x47')]){_0x11ec50['order'][_0xf6aa('0x61')](function(_0x5a8b7f){_0x22b089[_0xf6aa('0x47')]('c.'+_0x5a8b7f[0x0],_0x5a8b7f[0x1]===_0xf6aa('0x86')?![]:!![]);});}if(!_[_0xf6aa('0x71')](_0x476376)){_0x22b089[_0xf6aa('0x87')](_0x37198e);_0x30175f[_0xf6aa('0x56')](_0xf6aa('0x88'),_0x476376);}BPromise[_0xf6aa('0x89')]()[_0xf6aa('0x2d')](function(){if(_0x585695&&!_['some'](_0x585695[_0xf6aa('0x5c')],['field','User'])){return _0x4fa64c[_0xf6aa('0x8a')][_0xf6aa('0x8b')]({'attributes':['id'],'raw':!![]})['then'](function(_0xf113bf){if(_[_0xf6aa('0x71')](_0xf113bf)){_0x30175f[_0xf6aa('0x56')](_0xf6aa('0x8c'));_0x22b089[_0xf6aa('0x56')](_0xf6aa('0x8c'));}else{_0x30175f[_0xf6aa('0x56')](_0xf6aa('0x72'),_['map'](_0xf113bf,'id'));_0x22b089[_0xf6aa('0x56')]('c.ListId\x20IN\x20?',_[_0xf6aa('0x60')](_0xf113bf,'id'));}});}else{return;}})['then'](function(){db[_0xf6aa('0x8d')]['query'](_0x30175f[_0xf6aa('0x8e')](),_0x4dd7f2)[_0xf6aa('0x2d')](function(_0x1d53e3){_0x453cb1[_0xf6aa('0x25')]=_0x1d53e3[_0xf6aa('0x36')];if(_0x453cb1[_0xf6aa('0x25')]===0x0)return[];return db['sequelize'][_0xf6aa('0x3f')](_0x3bf4b2[_0xf6aa('0x8e')](),_0x4dd7f2);})['then'](function(_0x58d555){_0x317961=_[_0xf6aa('0x8f')](_0x58d555,'id');_0x4dd7f2=_[_0xf6aa('0x90')](_0x4dd7f2,{'model':db[_0xf6aa('0x34')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x4fa64c[_0xf6aa('0x3f')][_0xf6aa('0x43')]){_0x11ec50['attributes'][_0xf6aa('0x61')](function(_0x38a6b6){_0x22b089[_0xf6aa('0x4b')]('c.'+_0x38a6b6);});}else{_0x22b089[_0xf6aa('0x4b')](_0xf6aa('0x82'));_0x22b089[_0xf6aa('0x4b')]('c.firstName');_0x22b089[_0xf6aa('0x4b')](_0xf6aa('0x91'));_0x22b089[_0xf6aa('0x4b')](_0xf6aa('0x92'));_0x22b089[_0xf6aa('0x4b')](_0xf6aa('0x93'));_0x22b089['field'](_0xf6aa('0x94'));_0x22b089[_0xf6aa('0x4b')](_0xf6aa('0x95'));_0x22b089[_0xf6aa('0x4b')]('c.ListId');_0x22b089['field'](_0xf6aa('0x96'));_0x22b089[_0xf6aa('0x4b')](_0xf6aa('0x97'),_0xf6aa('0x98'));}if(_0x11ec50[_0xf6aa('0x46')])_0x22b089['limit'](_0x11ec50[_0xf6aa('0x46')]);if(_0x11ec50['offset'])_0x22b089['offset'](_0x11ec50['offset']);return db[_0xf6aa('0x8d')][_0xf6aa('0x3f')](_0x22b089[_0xf6aa('0x8e')](),_0x4dd7f2);})[_0xf6aa('0x2d')](function(_0x322b57){_0x322b57[_0xf6aa('0x61')](function(_0x1faf23){if(_0x1faf23[_0xf6aa('0x98')]){_0x1faf23[_0xf6aa('0x99')]=[];_0x1faf23[_0xf6aa('0x98')]['split'](',')[_0xf6aa('0x61')](function(_0x584305){_0x1faf23[_0xf6aa('0x99')][_0xf6aa('0x39')](_0x317961[_0x584305]);});}delete _0x1faf23[_0xf6aa('0x98')];});_0x453cb1[_0xf6aa('0x9a')]=_0x322b57;return _0x453cb1;})[_0xf6aa('0x2d')](respondWithFilteredResult(_0x227914,_0x11ec50));});})[_0xf6aa('0x9b')](handleError(_0x227914,null));};exports['destroy']=function(_0xe8bbb6,_0x5912cb){return db[_0xf6aa('0x34')][_0xf6aa('0x5d')]({'where':{'id':_0xe8bbb6[_0xf6aa('0x9c')]['id']}})['then'](handleEntityNotFound(_0x5912cb,null))[_0xf6aa('0x2d')](removeEntity(_0x5912cb,null))[_0xf6aa('0x9b')](handleError(_0x5912cb,null));};exports['describe']=function(_0x5ad5c5,_0x823ca8){return db['CmContact'][_0xf6aa('0x9d')]()[_0xf6aa('0x2d')](function(_0x50c206){delete _0x50c206['tags'];for(var _0x2478bd=0x0;_0x2478bd<Object['keys'](_0x50c206)['length'];_0x2478bd++){var _0x47d0a2=Object[_0xf6aa('0x35')](_0x50c206)[_0x2478bd];if(!_[_0xf6aa('0x37')](_0x47d0a2,_0xf6aa('0x38'))){_0x50c206[_0x47d0a2][_0xf6aa('0x9e')]=_0x47d0a2;_0x50c206[_0x47d0a2][_0xf6aa('0x9f')]=_0x47d0a2;}}return _0x50c206;})[_0xf6aa('0x2d')](function(_0x48b0eb){var _0x2e447f={'where':{'$or':[{'ListId':_0x5ad5c5[_0xf6aa('0x3f')]['id']},{'ListId':null}]},'raw':!![]};return db['CmCustomField']['findAll'](_0x2e447f)['then'](function(_0x18a807){for(var _0x20820c=0x0;_0x20820c<_0x18a807[_0xf6aa('0x36')];_0x20820c++){var _0x2fbacc=_0xf6aa('0x38')+_0x18a807[_0x20820c]['id'];_0x48b0eb[_0x2fbacc][_0xf6aa('0x9e')]=_0x2fbacc;_0x48b0eb[_0x2fbacc][_0xf6aa('0x9f')]=_0x18a807[_0x20820c]['alias'];_0x48b0eb[_0x2fbacc][_0xf6aa('0xa0')]={'type':_0x18a807[_0x20820c][_0xf6aa('0x6b')],'values':_0x18a807[_0x20820c][_0xf6aa('0xa1')]};}Object[_0xf6aa('0x35')](_0x48b0eb)[_0xf6aa('0x61')](function(_0x34aca7){if(!_0x48b0eb[_0x34aca7]['hasOwnProperty']('columnName')){delete _0x48b0eb[_0x34aca7];}});return _0x48b0eb;});})['then'](respondWithResult(_0x823ca8,null))['catch'](handleError(_0x823ca8,null));};exports[_0xf6aa('0x90')]=function(_0x28f1d3,_0xaa29c3){var _0x4c0e93;var _0xaf172e;var _0x3615e4;if(_0x28f1d3[_0xf6aa('0xa2')]['id']){delete _0x28f1d3[_0xf6aa('0xa2')]['id'];}return db[_0xf6aa('0x34')][_0xf6aa('0xa3')]({'where':{'id':[_0x28f1d3['body']['to'],_0x28f1d3[_0xf6aa('0xa2')][_0xf6aa('0x4d')]]}})[_0xf6aa('0x2d')](function(_0x55bd08){if(_0x55bd08){if(_0x55bd08[_0xf6aa('0x36')]!==0x2){return null;}_0x55bd08[0x0]=_0x55bd08[0x0][_0xf6aa('0xa4')]({'plain':!![]});_0x55bd08[0x1]=_0x55bd08[0x1][_0xf6aa('0xa4')]({'plain':!![]});delete _0x55bd08[0x0]['id'];delete _0x55bd08[0x1]['id'];return _[_0xf6aa('0xa5')](_0x55bd08[0x0],_0x55bd08[0x1],function(_0x26c555,_0xf92f18){if(Array['isArray'](_0xf92f18)&&!_0xf92f18[_0xf6aa('0x36')]){return _0x26c555;}else if(!_0xf92f18){return _0x26c555;}});}})[_0xf6aa('0x2d')](handleEntityNotFound(_0xaa29c3,null))[_0xf6aa('0x2d')](function(_0x3081ec){if(_0x3081ec){if(_0x3081ec['tags']&&_['isArray'](_0x3081ec[_0xf6aa('0xa6')])){_0x3081ec[_0xf6aa('0xa6')]=_0x3081ec[_0xf6aa('0xa6')]['join']();}logger[_0xf6aa('0xa7')](_0xf6aa('0xa8'),_0x28f1d3['body']['to'],_0x28f1d3[_0xf6aa('0xa2')]['from']);return db[_0xf6aa('0xa9')]['destroy']({'where':{'ContactId':[_0x28f1d3[_0xf6aa('0xa2')]['to'],_0x28f1d3[_0xf6aa('0xa2')][_0xf6aa('0x4d')]]}})[_0xf6aa('0x2d')](function(_0x3bdae0){logger[_0xf6aa('0xa7')](_0xf6aa('0xaa'),_0x3bdae0);return db[_0xf6aa('0xab')][_0xf6aa('0x2e')]({'where':{'ContactId':[_0x28f1d3[_0xf6aa('0xa2')]['to'],_0x28f1d3[_0xf6aa('0xa2')][_0xf6aa('0x4d')]]}})[_0xf6aa('0x2d')](function(_0x39dddd){logger[_0xf6aa('0xa7')](_0xf6aa('0xac'),_0x39dddd);return db[_0xf6aa('0x34')][_0xf6aa('0xad')](_0x3081ec);});});}})[_0xf6aa('0x2d')](function(_0x30a3eb){if(_0x30a3eb){_0x4c0e93=_0x30a3eb;_0xaf172e={'ContactId':_0x4c0e93['id']};_0x3615e4={'where':{'ContactId':[_0x28f1d3[_0xf6aa('0xa2')]['to'],_0x28f1d3[_0xf6aa('0xa2')][_0xf6aa('0x4d')]]}};return db[_0xf6aa('0xae')]['update'](_0xaf172e,_0x3615e4);}})[_0xf6aa('0x2d')](function(){if(_0x4c0e93){return db[_0xf6aa('0xaf')][_0xf6aa('0x2c')](_0xaf172e,_0x3615e4);}})[_0xf6aa('0x2d')](function(){if(_0x4c0e93){return db['ChatOfflineMessage']['update'](_0xaf172e,_0x3615e4);}})[_0xf6aa('0x2d')](function(){if(_0x4c0e93){return db[_0xf6aa('0xb0')][_0xf6aa('0x2c')](_0xaf172e,_0x3615e4);}})['then'](function(){if(_0x4c0e93){return db[_0xf6aa('0xb1')][_0xf6aa('0x2c')](_0xaf172e,_0x3615e4);}})[_0xf6aa('0x2d')](function(){if(_0x4c0e93){return db[_0xf6aa('0xb0')][_0xf6aa('0x2c')](_0xaf172e,_0x3615e4);}})[_0xf6aa('0x2d')](function(){if(_0x4c0e93){return db[_0xf6aa('0xb1')]['update'](_0xaf172e,_0x3615e4);}})[_0xf6aa('0x2d')](function(){if(_0x4c0e93){return db[_0xf6aa('0xb2')][_0xf6aa('0x2c')](_0xaf172e,_0x3615e4);}})[_0xf6aa('0x2d')](function(){if(_0x4c0e93){return db['SmsMessage'][_0xf6aa('0x2c')](_0xaf172e,_0x3615e4);}})[_0xf6aa('0x2d')](function(){if(_0x4c0e93){return db[_0xf6aa('0xb3')][_0xf6aa('0x2c')](_0xaf172e,_0x3615e4);}})[_0xf6aa('0x2d')](function(){if(_0x4c0e93){return db[_0xf6aa('0xb4')][_0xf6aa('0x2c')](_0xaf172e,_0x3615e4);}})[_0xf6aa('0x2d')](function(){if(_0x4c0e93){return db[_0xf6aa('0xb5')][_0xf6aa('0x2c')](_0xaf172e,_0x3615e4);}})['then'](function(){if(_0x4c0e93){return db[_0xf6aa('0xb6')][_0xf6aa('0x2c')](_0xaf172e,_0x3615e4);}})[_0xf6aa('0x2d')](function(){if(_0x4c0e93){return db[_0xf6aa('0xb7')][_0xf6aa('0x2c')](_0xaf172e,_0x3615e4);}})[_0xf6aa('0x2d')](function(){if(_0x4c0e93){return db[_0xf6aa('0xb8')]['update'](_0xaf172e,_0x3615e4);}})[_0xf6aa('0x2d')](function(){if(_0x4c0e93){return db[_0xf6aa('0xb9')]['update'](_0xaf172e,_0x3615e4);}})[_0xf6aa('0x2d')](function(){if(_0x4c0e93){return db[_0xf6aa('0xba')][_0xf6aa('0x2c')](_0xaf172e,_0x3615e4);}})[_0xf6aa('0x2d')](function(){if(_0x4c0e93){return db['ChatQueueReport'][_0xf6aa('0x2c')](_0xaf172e,_0x3615e4);}})[_0xf6aa('0x2d')](function(){if(_0x4c0e93){return db['FaxQueueReport'][_0xf6aa('0x2c')](_0xaf172e,_0x3615e4);}})[_0xf6aa('0x2d')](function(){if(_0x4c0e93){return db[_0xf6aa('0xbb')]['update'](_0xaf172e,_0x3615e4);}})[_0xf6aa('0x2d')](function(){if(_0x4c0e93){return db[_0xf6aa('0xbc')][_0xf6aa('0x2c')](_0xaf172e,_0x3615e4);}})['then'](function(){if(_0x4c0e93){return db[_0xf6aa('0xbd')]['update'](_0xaf172e,_0x3615e4);}})['then'](function(){if(_0x4c0e93){return db[_0xf6aa('0xbe')][_0xf6aa('0x2c')](_0xaf172e,_0x3615e4);}})[_0xf6aa('0x2d')](function(){if(_0x4c0e93){return db['CmContact'][_0xf6aa('0x2e')]({'where':{'id':[_0x28f1d3['body']['to'],_0x28f1d3[_0xf6aa('0xa2')][_0xf6aa('0x4d')]]}});}})['then'](function(){if(_0x4c0e93){return _0x4c0e93;}})[_0xf6aa('0x2d')](respondWithResult(_0xaa29c3,null))[_0xf6aa('0x9b')](handleError(_0xaa29c3,null));};exports['create']=function(_0x43c956,_0x3ac58d){return db[_0xf6aa('0x34')][_0xf6aa('0x9d')]()[_0xf6aa('0x2d')](function(_0xfc7777){if(_0x43c956[_0xf6aa('0xa2')][_0xf6aa('0xa6')]&&_[_0xf6aa('0xbf')](_0x43c956['body'][_0xf6aa('0xa6')])){if(_0x43c956[_0xf6aa('0xa2')][_0xf6aa('0xa6')][_0xf6aa('0x36')]){_0x43c956[_0xf6aa('0xa2')]['tags']=_0x43c956[_0xf6aa('0xa2')]['tags'][_0xf6aa('0xc0')](';')+';';}else{_0x43c956['body'][_0xf6aa('0xa6')]=null;}}else{_0x43c956[_0xf6aa('0xa2')][_0xf6aa('0xa6')]=null;}return db[_0xf6aa('0x34')]['create'](_0x43c956[_0xf6aa('0xa2')],{'fields':_[_0xf6aa('0x35')](_0xfc7777),'raw':!![]});})['then'](respondWithResult(_0x3ac58d,0xc9))[_0xf6aa('0x9b')](handleError(_0x3ac58d,null));};exports['bulkCreate']=function(_0x19cd04,_0x1a57e0){var _0x1a3ce4=[];var _0x52cd37=0x0;var _0x237b7b=0x0;var _0x4a7239=0x0;return db[_0xf6aa('0x34')][_0xf6aa('0x9d')]()[_0xf6aa('0x2d')](function(_0x37fc79){return BPromise['each'](_0x19cd04['body'],function(_0x16535d){var _0xe9c5d7={'where':{'$or':[]},'defaults':_0x16535d,'fields':_[_0xf6aa('0x35')](_0x37fc79),'raw':!![]};if(_0x16535d[_0xf6aa('0xc1')]){for(var _0xa78648=0x0;_0xa78648<_0x16535d['duplicates'][_0xf6aa('0x36')];_0xa78648++){var _0x6e2046={};_0x6e2046[_0x16535d[_0xf6aa('0xc1')][_0xa78648]]=_0x16535d[_0x16535d['duplicates'][_0xa78648]];_0xe9c5d7['where'][_0xf6aa('0xc2')][_0xf6aa('0x39')](_0x6e2046);}_0xe9c5d7[_0xf6aa('0x56')][_0xf6aa('0xc3')]=_0x16535d[_0xf6aa('0xc3')];}return db[_0xf6aa('0x34')][_0xf6aa('0xc4')](_0xe9c5d7)['spread'](function(_0xcc347d,_0x3590d7){if(_0x3590d7){_0x52cd37++;}else{_0x4a7239++;}})[_0xf6aa('0x9b')](function(_0x41277b){console[_0xf6aa('0x30')](_0x41277b);_0x237b7b++;});});})[_0xf6aa('0x2d')](function(_0x48fe1b){if(_0x48fe1b){return{'success':_0x52cd37,'failure':_0x237b7b,'duplicates':_0x4a7239};}})['then'](respondWithResult(_0x1a57e0,0xc9))['catch'](handleError(_0x1a57e0,null));};exports['show']=function(_0x54e1bd,_0x222059,_0x59acc4){var _0x304f1f;return db[_0xf6aa('0x34')][_0xf6aa('0x9d')]()[_0xf6aa('0x2d')](function(_0x13d87f){return db[_0xf6aa('0x34')][_0xf6aa('0x5d')]({'where':{'id':_0x54e1bd['params']['id']},'include':[{'model':db[_0xf6aa('0x5e')],'as':_0xf6aa('0x99'),'attributes':['id',_0xf6aa('0x31'),'color'],'required':_0x54e1bd['query'][_0xf6aa('0x75')]?!![]:![]}],'attributes':_[_0xf6aa('0x35')](_0x13d87f)});})[_0xf6aa('0x2d')](function(_0x41f3c4){_0x304f1f=_0x41f3c4[_0xf6aa('0xa4')]({'plain':!![]});var _0x3a5cce={'where':{'$and':[{'ListId':{'$ne':null}}]}};if(_0x41f3c4&&_0x41f3c4['ListId']){if(_0x41f3c4[_0xf6aa('0xc3')]){_0x3a5cce[_0xf6aa('0x56')][_0xf6aa('0xc5')]['push']({'ListId':{'$ne':_0x41f3c4[_0xf6aa('0xc3')]}});}}return db['CmCustomField']['findAll'](_0x3a5cce);})[_0xf6aa('0x2d')](function(_0x39d0f1){return _[_0xf6aa('0xc6')](_0x304f1f,_[_0xf6aa('0x60')](_0x39d0f1,function(_0x49ee07){return util[_0xf6aa('0xc7')]('cf_%d',_0x49ee07['id']);}));})[_0xf6aa('0x2d')](handleEntityNotFound(_0x222059,null))[_0xf6aa('0x2d')](respondWithResult(_0x222059,null))[_0xf6aa('0x9b')](handleError(_0x222059,null));};exports[_0xf6aa('0x2c')]=function(_0x36916a,_0x4917b0){var _0x218849;if(_0x36916a[_0xf6aa('0xa2')]['id']){delete _0x36916a[_0xf6aa('0xa2')]['id'];}return db[_0xf6aa('0x34')][_0xf6aa('0x5d')]({'where':{'id':_0x36916a[_0xf6aa('0x9c')]['id']}})[_0xf6aa('0x2d')](handleEntityNotFound(_0x4917b0,null))['then'](saveUpdates(_0x36916a[_0xf6aa('0xa2')],null))[_0xf6aa('0x2d')](function(_0x2ce322){_0x218849=_0x2ce322;var _0x4e1fe6={'where':{'$and':[{'ListId':{'$ne':null}}]}};if(_0x2ce322&&_0x2ce322[_0xf6aa('0xc3')]){if(_0x2ce322[_0xf6aa('0xc3')]){_0x4e1fe6[_0xf6aa('0x56')]['$and'][_0xf6aa('0x39')]({'ListId':{'$ne':_0x2ce322[_0xf6aa('0xc3')]}});}}return db[_0xf6aa('0x3a')][_0xf6aa('0xa3')](_0x4e1fe6);})[_0xf6aa('0x2d')](function(_0x52678d){if(_0x52678d){return _[_0xf6aa('0xc6')](_['pickBy'](_0x36916a[_0xf6aa('0xa2')],function(_0x5cf206,_0x17de0e){return _['startsWith'](_0x17de0e,_0xf6aa('0x38'));}),_[_0xf6aa('0x60')](_0x52678d,function(_0x5b2d7b){return util['format'](_0xf6aa('0xc8'),_0x5b2d7b['id']);}));}})[_0xf6aa('0x2d')](function(_0x3f43d1){if(_0x3f43d1&&!_['isEmpty'](_0x3f43d1)){var _0x2b5f2d=squel[_0xf6aa('0x2c')]()[_0xf6aa('0xc9')]('cm_contacts')[_0xf6aa('0xca')](_0x3f43d1)['where'](_0xf6aa('0xcb'),_0x36916a[_0xf6aa('0x9c')]['id'])[_0xf6aa('0xcc')]();return db['sequelize'][_0xf6aa('0x3f')](_0x2b5f2d[_0xf6aa('0x6c')],{'replacements':_0x2b5f2d[_0xf6aa('0xa1')]});}})['then'](function(){if(_0x36916a[_0xf6aa('0xa2')][_0xf6aa('0xcd')]&&_0x218849){return db[_0xf6aa('0xa9')]['update']({'phone':_0x36916a[_0xf6aa('0xa2')][_0xf6aa('0xcd')]},{'where':{'ContactId':_0x218849['id']}});}})[_0xf6aa('0x2d')](function(){return _0x218849;})[_0xf6aa('0x2d')](respondWithResult(_0x4917b0,null))[_0xf6aa('0x9b')](handleError(_0x4917b0,null));};exports['getTags']=function(_0x421be5,_0x4c0100,_0x1eda65){var _0x1b4ebf={};var _0x4876ac={};var _0x46ebd2;var _0x101839;return db['CmContact'][_0xf6aa('0xce')]({'where':{'id':_0x421be5[_0xf6aa('0x9c')]['id']}})[_0xf6aa('0x2d')](handleEntityNotFound(_0x4c0100,null))[_0xf6aa('0x2d')](function(_0x48db0b){if(_0x48db0b){_0x46ebd2=_0x48db0b;_0x4876ac[_0xf6aa('0x3e')]=_[_0xf6aa('0x35')](db[_0xf6aa('0x5e')]['rawAttributes']);_0x4876ac['query']=_[_0xf6aa('0x35')](_0x421be5['query']);_0x4876ac[_0xf6aa('0x40')]=_[_0xf6aa('0x41')](_0x4876ac[_0xf6aa('0x3e')],_0x4876ac[_0xf6aa('0x3f')]);_0x1b4ebf[_0xf6aa('0x42')]=_[_0xf6aa('0x41')](_0x4876ac[_0xf6aa('0x3e')],qs[_0xf6aa('0x43')](_0x421be5[_0xf6aa('0x3f')][_0xf6aa('0x43')]));_0x1b4ebf[_0xf6aa('0x42')]=_0x1b4ebf[_0xf6aa('0x42')][_0xf6aa('0x36')]?_0x1b4ebf['attributes']:_0x4876ac['model'];_0x1b4ebf[_0xf6aa('0x47')]=qs['sort'](_0x421be5[_0xf6aa('0x3f')][_0xf6aa('0x48')]);_0x1b4ebf['where']=qs[_0xf6aa('0x40')](_[_0xf6aa('0x49')](_0x421be5[_0xf6aa('0x3f')],_0x4876ac['filters']));if(_0x421be5[_0xf6aa('0x3f')]['filter']){_0x1b4ebf[_0xf6aa('0x56')]=_['merge'](_0x1b4ebf['where'],{'$or':_[_0xf6aa('0x60')](_0x1b4ebf[_0xf6aa('0x42')],function(_0x48cc76){var _0x45ed25={};_0x45ed25[_0x48cc76]={'$like':'%'+_0x421be5['query'][_0xf6aa('0x6e')]+'%'};return _0x45ed25;})});}_0x1b4ebf=_[_0xf6aa('0x90')]({},_0x1b4ebf,_0x421be5[_0xf6aa('0xcf')]);return _0x46ebd2[_0xf6aa('0xd0')](_0x1b4ebf);}})[_0xf6aa('0x2d')](function(_0x1ba332){if(_0x1ba332){_0x101839=_0x1ba332[_0xf6aa('0x36')];if(!_0x421be5[_0xf6aa('0x3f')][_0xf6aa('0x44')](_0xf6aa('0x45'))){_0x1b4ebf[_0xf6aa('0x46')]=qs[_0xf6aa('0x46')](_0x421be5[_0xf6aa('0x3f')][_0xf6aa('0x46')]);_0x1b4ebf[_0xf6aa('0x26')]=qs[_0xf6aa('0x26')](_0x421be5['query'][_0xf6aa('0x26')]);}return _0x46ebd2[_0xf6aa('0xd0')](_0x1b4ebf);}})[_0xf6aa('0x2d')](function(_0x1615b3){if(_0x1615b3){return _0x1615b3?{'count':_0x101839,'rows':_0x1615b3}:null;}})[_0xf6aa('0x2d')](respondWithResult(_0x4c0100,null))[_0xf6aa('0x9b')](handleError(_0x4c0100,null));};exports[_0xf6aa('0xd1')]=function(_0x375ece,_0x20a35a,_0x20c658){if(_0x375ece['body']['id']){delete _0x375ece[_0xf6aa('0xa2')]['id'];}return db['CmContact'][_0xf6aa('0xce')]({'where':{'id':_0x375ece['params']['id']}})[_0xf6aa('0x2d')](handleEntityNotFound(_0x20a35a,null))[_0xf6aa('0x2d')](function(_0x226fd2){if(_0x226fd2){return _0x226fd2[_0xf6aa('0xd1')](_0x375ece[_0xf6aa('0xa2')][_0xf6aa('0xd2')]||[]);}return null;})[_0xf6aa('0x2d')](respondWithResult(_0x20a35a,null))['catch'](handleError(_0x20a35a,null));};exports[_0xf6aa('0xd3')]=function(_0x2a6284,_0x32e98c,_0x1b5cf2){var _0x5a111e={'raw':![],'where':{}};var _0x10c0a5={};var _0x16f1d8={'count':0x0,'rows':[]};return db[_0xf6aa('0x34')]['findOne']({'where':{'id':_0x2a6284['params']['id']}})['then'](handleEntityNotFound(_0x32e98c,null))[_0xf6aa('0x2d')](function(_0x2f108e){if(_0x2f108e){_0x10c0a5[_0xf6aa('0x3e')]=_[_0xf6aa('0x35')](db[_0xf6aa('0xa9')]['rawAttributes']);_0x10c0a5[_0xf6aa('0x3f')]=_[_0xf6aa('0x35')](_0x2a6284[_0xf6aa('0x3f')]);_0x10c0a5[_0xf6aa('0x40')]=_['intersection'](_0x10c0a5[_0xf6aa('0x3e')],_0x10c0a5[_0xf6aa('0x3f')]);_0x5a111e[_0xf6aa('0x42')]=_[_0xf6aa('0x41')](_0x10c0a5[_0xf6aa('0x3e')],qs[_0xf6aa('0x43')](_0x2a6284[_0xf6aa('0x3f')][_0xf6aa('0x43')]));_0x5a111e['attributes']=_0x5a111e[_0xf6aa('0x42')]['length']?_0x5a111e[_0xf6aa('0x42')]:_0x10c0a5[_0xf6aa('0x3e')];if(!_0x2a6284[_0xf6aa('0x3f')][_0xf6aa('0x44')](_0xf6aa('0x45'))){_0x5a111e['limit']=qs['limit'](_0x2a6284[_0xf6aa('0x3f')][_0xf6aa('0x46')]);_0x5a111e[_0xf6aa('0x26')]=qs[_0xf6aa('0x26')](_0x2a6284['query'][_0xf6aa('0x26')]);}_0x5a111e[_0xf6aa('0x47')]=qs[_0xf6aa('0x48')](_0x2a6284[_0xf6aa('0x3f')]['sort']);_0x5a111e['where']=qs[_0xf6aa('0x40')](_[_0xf6aa('0x49')](_0x2a6284[_0xf6aa('0x3f')],_0x10c0a5['filters']));_0x5a111e[_0xf6aa('0x56')]['ContactId']=_0x2f108e['id'];if(_0x2a6284['query']['filter']){_0x5a111e[_0xf6aa('0x56')]=_[_0xf6aa('0x90')](_0x5a111e[_0xf6aa('0x56')],{'$or':_['map'](_0x5a111e['attributes'],function(_0xdbf456){var _0x340e86={};_0x340e86[_0xdbf456]={'$like':'%'+_0x2a6284[_0xf6aa('0x3f')][_0xf6aa('0x6e')]+'%'};return _0x340e86;})});}_0x5a111e=_[_0xf6aa('0x90')]({},_0x5a111e,_0x2a6284[_0xf6aa('0xcf')]);return db[_0xf6aa('0xa9')][_0xf6aa('0x25')]({'where':_0x5a111e[_0xf6aa('0x56')]})[_0xf6aa('0x2d')](function(_0x112162){_0x16f1d8['count']=_0x112162;if(_0x2a6284['query'][_0xf6aa('0xd4')]){_0x5a111e[_0xf6aa('0xd5')]=[{'all':!![]}];}return db[_0xf6aa('0xa9')]['findAll'](_0x5a111e);})[_0xf6aa('0x2d')](function(_0x5bd22d){_0x16f1d8[_0xf6aa('0x9a')]=_0x5bd22d;return _0x16f1d8;});}})[_0xf6aa('0x2d')](respondWithFilteredResult(_0x32e98c,_0x5a111e))[_0xf6aa('0x9b')](handleError(_0x32e98c,null));};exports[_0xf6aa('0xd6')]=function(_0x5d87db,_0x4bfd3c,_0xa5fe21){var _0x1a991e={'raw':!![],'where':{}};var _0x21143c={};var _0x5f4fd6={'count':0x0,'rows':[]};return db[_0xf6aa('0x34')][_0xf6aa('0xce')]({'where':{'id':_0x5d87db[_0xf6aa('0x9c')]['id']}})['then'](handleEntityNotFound(_0x4bfd3c,null))['then'](function(_0x294ae9){if(_0x294ae9){_0x21143c['model']=_['keys'](db[_0xf6aa('0xb8')][_0xf6aa('0xd7')]);_0x21143c['query']=_[_0xf6aa('0x35')](_0x5d87db[_0xf6aa('0x3f')]);_0x21143c[_0xf6aa('0x40')]=_[_0xf6aa('0x41')](_0x21143c[_0xf6aa('0x3e')],_0x21143c[_0xf6aa('0x3f')]);_0x1a991e['attributes']=_[_0xf6aa('0x41')](_0x21143c[_0xf6aa('0x3e')],qs[_0xf6aa('0x43')](_0x5d87db[_0xf6aa('0x3f')][_0xf6aa('0x43')]));_0x1a991e[_0xf6aa('0x42')]=_0x1a991e[_0xf6aa('0x42')][_0xf6aa('0x36')]?_0x1a991e['attributes']:_0x21143c[_0xf6aa('0x3e')];if(!_0x5d87db[_0xf6aa('0x3f')][_0xf6aa('0x44')](_0xf6aa('0x45'))){_0x1a991e[_0xf6aa('0x46')]=qs[_0xf6aa('0x46')](_0x5d87db[_0xf6aa('0x3f')][_0xf6aa('0x46')]);_0x1a991e[_0xf6aa('0x26')]=qs[_0xf6aa('0x26')](_0x5d87db[_0xf6aa('0x3f')][_0xf6aa('0x26')]);}_0x1a991e[_0xf6aa('0x47')]=qs[_0xf6aa('0x48')](_0x5d87db['query'][_0xf6aa('0x48')]);_0x1a991e['where']=qs[_0xf6aa('0x40')](_['pick'](_0x5d87db[_0xf6aa('0x3f')],_0x21143c[_0xf6aa('0x40')]));_0x1a991e['where'][_0xf6aa('0xd8')]=_0x294ae9['id'];if(_0x5d87db[_0xf6aa('0x3f')][_0xf6aa('0x6e')]){_0x1a991e[_0xf6aa('0x56')]=_['merge'](_0x1a991e[_0xf6aa('0x56')],{'$or':_[_0xf6aa('0x60')](_0x1a991e[_0xf6aa('0x42')],function(_0x5452f3){var _0x2de9fe={};_0x2de9fe[_0x5452f3]={'$like':'%'+_0x5d87db['query'][_0xf6aa('0x6e')]+'%'};return _0x2de9fe;})});}_0x1a991e=_[_0xf6aa('0x90')]({},_0x1a991e,_0x5d87db['options']);return db['CmHopperHistory']['count']({'where':_0x1a991e[_0xf6aa('0x56')]})[_0xf6aa('0x2d')](function(_0x3df71c){_0x5f4fd6[_0xf6aa('0x25')]=_0x3df71c;if(_0x5d87db[_0xf6aa('0x3f')][_0xf6aa('0xd4')]){_0x1a991e[_0xf6aa('0xd5')]=[{'all':!![]}];}return db[_0xf6aa('0xb8')]['findAll'](_0x1a991e);})[_0xf6aa('0x2d')](function(_0x1e27a0){_0x5f4fd6['rows']=_0x1e27a0;return _0x5f4fd6;});}})[_0xf6aa('0x2d')](respondWithFilteredResult(_0x4bfd3c,_0x1a991e))[_0xf6aa('0x9b')](handleError(_0x4bfd3c,null));};exports['getHopperFinals']=function(_0x107208,_0x337348,_0x4b125f){var _0x26392c={'raw':!![],'where':{}};var _0x5230a9={};var _0x3eca9b={'count':0x0,'rows':[]};return db['CmContact'][_0xf6aa('0xce')]({'where':{'id':_0x107208[_0xf6aa('0x9c')]['id']}})[_0xf6aa('0x2d')](handleEntityNotFound(_0x337348,null))[_0xf6aa('0x2d')](function(_0x32ea26){if(_0x32ea26){_0x5230a9[_0xf6aa('0x3e')]=_[_0xf6aa('0x35')](db[_0xf6aa('0xb7')][_0xf6aa('0xd7')]);_0x5230a9['query']=_['keys'](_0x107208[_0xf6aa('0x3f')]);_0x5230a9[_0xf6aa('0x40')]=_[_0xf6aa('0x41')](_0x5230a9[_0xf6aa('0x3e')],_0x5230a9['query']);_0x26392c[_0xf6aa('0x42')]=_['intersection'](_0x5230a9[_0xf6aa('0x3e')],qs[_0xf6aa('0x43')](_0x107208[_0xf6aa('0x3f')][_0xf6aa('0x43')]));_0x26392c[_0xf6aa('0x42')]=_0x26392c[_0xf6aa('0x42')]['length']?_0x26392c['attributes']:_0x5230a9[_0xf6aa('0x3e')];if(!_0x107208[_0xf6aa('0x3f')][_0xf6aa('0x44')](_0xf6aa('0x45'))){_0x26392c[_0xf6aa('0x46')]=qs[_0xf6aa('0x46')](_0x107208['query'][_0xf6aa('0x46')]);_0x26392c[_0xf6aa('0x26')]=qs[_0xf6aa('0x26')](_0x107208[_0xf6aa('0x3f')][_0xf6aa('0x26')]);}_0x26392c[_0xf6aa('0x47')]=qs[_0xf6aa('0x48')](_0x107208[_0xf6aa('0x3f')][_0xf6aa('0x48')]);_0x26392c['where']=qs[_0xf6aa('0x40')](_['pick'](_0x107208[_0xf6aa('0x3f')],_0x5230a9[_0xf6aa('0x40')]));_0x26392c[_0xf6aa('0x56')]['ContactId']=_0x32ea26['id'];if(_0x107208['query']['filter']){_0x26392c[_0xf6aa('0x56')]=_['merge'](_0x26392c['where'],{'$or':_['map'](_0x26392c[_0xf6aa('0x42')],function(_0x2319dc){var _0x69072b={};_0x69072b[_0x2319dc]={'$like':'%'+_0x107208[_0xf6aa('0x3f')]['filter']+'%'};return _0x69072b;})});}_0x26392c=_[_0xf6aa('0x90')]({},_0x26392c,_0x107208[_0xf6aa('0xcf')]);return db['CmHopperFinal']['count']({'where':_0x26392c[_0xf6aa('0x56')]})[_0xf6aa('0x2d')](function(_0x5a1f1d){_0x3eca9b[_0xf6aa('0x25')]=_0x5a1f1d;if(_0x107208[_0xf6aa('0x3f')][_0xf6aa('0xd4')]){_0x26392c[_0xf6aa('0xd5')]=[{'all':!![]}];}return db[_0xf6aa('0xb7')][_0xf6aa('0xa3')](_0x26392c);})['then'](function(_0x1aca3b){_0x3eca9b['rows']=_0x1aca3b;return _0x3eca9b;});}})[_0xf6aa('0x2d')](respondWithFilteredResult(_0x337348,_0x26392c))[_0xf6aa('0x9b')](handleError(_0x337348,null));};exports[_0xf6aa('0xd9')]=function(_0xffaf7a,_0x85bdc7,_0xedb8b7){var _0x341abc={'raw':!![],'where':{}};var _0x410151={};var _0x3e220f={'count':0x0,'rows':[]};return db['CmContact'][_0xf6aa('0xce')]({'where':{'id':_0xffaf7a['params']['id']}})['then'](handleEntityNotFound(_0x85bdc7,null))[_0xf6aa('0x2d')](function(_0x379a0a){if(_0x379a0a){_0x410151[_0xf6aa('0x3e')]=_[_0xf6aa('0x35')](db[_0xf6aa('0xbe')][_0xf6aa('0xd7')]);_0x410151[_0xf6aa('0x3f')]=_[_0xf6aa('0x35')](_0xffaf7a[_0xf6aa('0x3f')]);_0x410151[_0xf6aa('0x40')]=_[_0xf6aa('0x41')](_0x410151['model'],_0x410151[_0xf6aa('0x3f')]);_0x341abc['attributes']=_[_0xf6aa('0x41')](_0x410151[_0xf6aa('0x3e')],qs[_0xf6aa('0x43')](_0xffaf7a[_0xf6aa('0x3f')][_0xf6aa('0x43')]));_0x341abc['attributes']=_0x341abc[_0xf6aa('0x42')]['length']?_0x341abc['attributes']:_0x410151[_0xf6aa('0x3e')];if(!_0xffaf7a[_0xf6aa('0x3f')][_0xf6aa('0x44')](_0xf6aa('0x45'))){_0x341abc[_0xf6aa('0x46')]=qs[_0xf6aa('0x46')](_0xffaf7a['query'][_0xf6aa('0x46')]);_0x341abc[_0xf6aa('0x26')]=qs[_0xf6aa('0x26')](_0xffaf7a[_0xf6aa('0x3f')][_0xf6aa('0x26')]);}_0x341abc[_0xf6aa('0x47')]=qs[_0xf6aa('0x48')](_0xffaf7a[_0xf6aa('0x3f')][_0xf6aa('0x48')]);_0x341abc[_0xf6aa('0x56')]=qs[_0xf6aa('0x40')](_[_0xf6aa('0x49')](_0xffaf7a[_0xf6aa('0x3f')],_0x410151[_0xf6aa('0x40')]));_0x341abc[_0xf6aa('0x56')][_0xf6aa('0xd8')]=_0x379a0a['id'];if(_0xffaf7a[_0xf6aa('0x3f')][_0xf6aa('0x6e')]){_0x341abc[_0xf6aa('0x56')]=_[_0xf6aa('0x90')](_0x341abc[_0xf6aa('0x56')],{'$or':_[_0xf6aa('0x60')](_0x341abc[_0xf6aa('0x42')],function(_0x3d912a){var _0x3c94e0={};_0x3c94e0[_0x3d912a]={'$like':'%'+_0xffaf7a[_0xf6aa('0x3f')][_0xf6aa('0x6e')]+'%'};return _0x3c94e0;})});}_0x341abc=_['merge']({},_0x341abc,_0xffaf7a[_0xf6aa('0xcf')]);return db[_0xf6aa('0xbe')]['count']({'where':_0x341abc[_0xf6aa('0x56')]})[_0xf6aa('0x2d')](function(_0x4c1292){_0x3e220f[_0xf6aa('0x25')]=_0x4c1292;if(_0xffaf7a[_0xf6aa('0x3f')][_0xf6aa('0xd4')]){_0x341abc[_0xf6aa('0xd5')]=[{'all':!![]}];}return db[_0xf6aa('0xbe')][_0xf6aa('0xa3')](_0x341abc);})['then'](function(_0x5b9adb){_0x3e220f['rows']=_0x5b9adb;return _0x3e220f;});}})['then'](respondWithFilteredResult(_0x85bdc7,_0x341abc))['catch'](handleError(_0x85bdc7,null));};exports[_0xf6aa('0xda')]=function(_0x4c3e74,_0x407047,_0x3c5c6){try{if(!_0x4c3e74[_0xf6aa('0xa2')][_0xf6aa('0xc3')]){throw new Error(_0xf6aa('0xdb'));}if(!_0x4c3e74[_0xf6aa('0xa2')]['binding_keys']){throw new Error(_0xf6aa('0xdc'));}if(!_0x4c3e74['body'][_0xf6aa('0xdd')]){throw new Error(_0xf6aa('0xde'));}if(!_0x4c3e74[_0xf6aa('0xa2')][_0xf6aa('0xdf')]){throw new Error(_0xf6aa('0xe0'));}var _0xc6894a=_0x4c3e74[_0xf6aa('0xa2')][_0xf6aa('0xe1')][_0xf6aa('0x77')](',');var _0x33ec61=_0x4c3e74[_0xf6aa('0xa2')]['binding_values'][_0xf6aa('0x77')](',');if(!_0xc6894a[_0xf6aa('0x36')]||!_0x33ec61['length']||_0xc6894a[_0xf6aa('0x36')]!==_0x33ec61['length']){throw new Error(_0xf6aa('0xe2'));}_0x4c3e74[_0xf6aa('0xa2')][_0xf6aa('0x43')]=_[_0xf6aa('0xe3')](_0xc6894a,_0x33ec61);if(!_0x4c3e74[_0xf6aa('0xa2')][_0xf6aa('0x43')][_0xf6aa('0xcd')]){throw new Error(_0xf6aa('0xe4'));}if(!_0x4c3e74[_0xf6aa('0xa2')]['fields']['firstName']){throw new Error(_0xf6aa('0xe5'));}var _0x2f2997=path[_0xf6aa('0xc0')](config[_0xf6aa('0xe6')],'server/files/tmp',_0x4c3e74[_0xf6aa('0xe7')][_0xf6aa('0xe8')]);fs[_0xf6aa('0xe9')](_0x2f2997,parseInt(_0xf6aa('0xea'),0x8));var _0x26d27d=require(_0xf6aa('0xeb'))[_0xf6aa('0xec')](path[_0xf6aa('0xc0')](__dirname,'../../components/import/cm/csv'),[_0x2f2997,_0x4c3e74[_0xf6aa('0xa2')][_0xf6aa('0xe1')],_0x4c3e74[_0xf6aa('0xa2')][_0xf6aa('0xdd')],_0x4c3e74[_0xf6aa('0xa2')]['ListId'],_0x4c3e74[_0xf6aa('0xa2')][_0xf6aa('0xed')],_0x4c3e74[_0xf6aa('0xa2')]['duplicates'],_0x4c3e74[_0xf6aa('0xa2')][_0xf6aa('0xdf')]]);return _0x407047['status'](0xc8)[_0xf6aa('0x24')]({'message':_0xf6aa('0xee'),'pid':_0x26d27d[_0xf6aa('0xef')]});}catch(_0x376bf4){return _0x407047[_0xf6aa('0x23')](0x1f4)[_0xf6aa('0x32')](_0x376bf4);}};exports[_0xf6aa('0xf0')]=function(_0x28d221,_0x501fc4,_0x411ffb){var _0x2689f7=fs[_0xf6aa('0xf1')](_0x28d221['file'][_0xf6aa('0x9')]);Papa['parse'](_0x2689f7,{'header':!![],'skipEmptyLines':!![],'preview':0x1,'complete':function(_0x2424a8){return _0x501fc4['status'](0xc8)[_0xf6aa('0x24')]({'file':_0x28d221['file'],'fields':_0x2424a8[_0xf6aa('0xf2')][_0xf6aa('0x43')]});}});};exports['import']=function(_0x260c74,_0x687c2,_0x2dff20){return db['User'][_0xf6aa('0xa3')]({'raw':!![],'attributes':['id'],'where':{'role':_0xf6aa('0xf3')}})[_0xf6aa('0x2d')](function(_0xfb7d77){var _0x1b8d25=![];if(!_0x260c74[_0xf6aa('0xa2')][_0xf6aa('0xc3')]){throw new Error('No\x20ListId\x20specified');}if(!_0x260c74['body'][_0xf6aa('0xf4')][_0xf6aa('0xcd')]){throw new Error(_0xf6aa('0xe4'));}if(!_0x260c74['body'][_0xf6aa('0xf4')][_0xf6aa('0xf5')]){throw new Error('No\x20firstName\x20column\x20specified');}if(!_0x260c74[_0xf6aa('0xa2')][_0xf6aa('0xdf')]){throw new Error(_0xf6aa('0xe0'));}var _0x5933eb=require(_0xf6aa('0xeb'))[_0xf6aa('0xec')](path[_0xf6aa('0xc0')](__dirname,_0xf6aa('0xf6')),[_0x260c74[_0xf6aa('0x9c')]['id'],JSON[_0xf6aa('0xf7')](_0x260c74[_0xf6aa('0xa2')]),JSON['stringify'](_0xfb7d77)]);_0x5933eb['on']('message',function(_0x376e0b){_0x1b8d25=!![];return _0x687c2['status'](0xc8)[_0xf6aa('0x24')]({'message':_0xf6aa('0xf8'),'pid':_0x5933eb[_0xf6aa('0xef')]});});_0x5933eb['on'](_0xf6aa('0xf9'),function(_0x189026){if(_0x189026&&!_0x1b8d25){return _0x687c2[_0xf6aa('0x23')](0x1f4)['json']({'message':'error\x20child\x20process','pid':_0x5933eb['pid']});}});})['catch'](handleError(_0x687c2,null));};