Built motion from commit (unavailable).|2.4.21
[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 _0x55ee=['./cmContact.socket','register','status','json','count','offset','limit','set','Content-Range','apply','save','update','then','destroy','end','error','stack','name','send','index','CmContact','describe','keys','startsWith','cf_','CmCustomField','findOne','trimStart','fieldType','model','query','filters','attributes','intersection','length','hasOwnProperty','nolimit','order','sort','where','pick','select','field','from','tools_tags','cm_contacts','left_join','cm_user_has_contacts','cm_contact_has_tags','t.id\x20=\x20ct.TagId','c.deletedAt\x20IS\x20NULL','search','parseSearch','sqlOperator','conditions','Tag','split','forEach','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','User','and','uc.UserId\x20=\x20?','dateOfBirth','castTo','DATE','buildExpression','text','value','start','filter','isNil','Contact','push','ListId','c.ListId\x20IN\x20?','concat','CONCAT_WS(\x27\x20\x27,\x20c.firstName,\x20c.lastName,\x20c.email)\x20LIKE\x20?','\x20=\x20?','tag','replace','\x27\x27\x27\x27','isNumeric','c.id\x20LIKE\x20?','c.phone\x20LIKE\x20?','c.email\x20LIKE\x20?','c.firstName\x20LIKE\x20?','c.lastName\x20LIKE\x20?','group','Sequelize','QueryTypes','DESC','isEmpty','t.id\x20IN\x20?','resolve','some','user','c.ListId\x20IS\x20NULL','map','sequelize','toString','keyBy','merge','fields','c.firstName','c.lastName','c.phone','c.mobile','c.fax','c.email','c.deletedAt','TagIds','Tags','rows','catch','find','params','columnName','findAll','displayName','alias','custom','type','values','body','get','isArray','tags','join','[CmContact][merge]\x20to\x20%s\x20from\x20%s','CmHopper','info','CmHopperBlack','[CmContact][merge][destroy][CmHopperBlack],\x20%s','ChatOfflineMessage','MailInteraction','MailMessage','SmsInteraction','SmsMessage','OpenchannelInteraction','CmHopperFinal','CmHopperHistory','ReportAgentPreview','VoiceCallReport','FaxQueueReport','MailQueueReport','OpenchannelQueueReport','SmsQueueReport','JscriptySessionReport','create','bulkCreate','each','duplicates','$or','spread','show','color','$and','omit','cf_%d','pickBy','setFields','id\x20=\x20?','toParam','phone','getTags','options','setTags','ids','getHoppers','rawAttributes','includeAll','ContactId','include','getHopperFinals','getJscriptySessions','uploadCsv','No\x20ListId\x20specified','binding_keys','binding_values','No\x20association\x20values\x20specified!','socket_timestamp','Unable\x20to\x20synchronize\x20socket,\x20no\x20timestamp\x20passed','Incorrect\x20binding\x20parameters\x20passed!','zipObject','firstName','No\x20firstName\x20column\x20specified','root','server/files/tmp','filename','chmodSync','0777','child_process','fork','../../components/import/cm/csv','CompanyId','File\x20uploaded\x20correctly!','pid','createReadStream','parse','file','meta','import','binding','../../components/import/cm/csv2','stringify','message','start\x20child\x20process\x20correctly!','exit','error\x20child\x20process','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','ejs','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','redis','defaults','localhost'];(function(_0x2a9548,_0x2742f6){var _0xf55c55=function(_0x2862d8){while(--_0x2862d8){_0x2a9548['push'](_0x2a9548['shift']());}};_0xf55c55(++_0x2742f6);}(_0x55ee,0xd1));var _0xe55e=function(_0x1c9108,_0x26f835){_0x1c9108=_0x1c9108-0x0;var _0x1ee828=_0x55ee[_0x1c9108];return _0x1ee828;};'use strict';var pdf=require(_0xe55e('0x0'));var emlformat=require(_0xe55e('0x1'));var rimraf=require(_0xe55e('0x2'));var zipdir=require(_0xe55e('0x3'));var jsonpatch=require(_0xe55e('0x4'));var rp=require('request-promise');var moment=require(_0xe55e('0x5'));var BPromise=require(_0xe55e('0x6'));var Mustache=require(_0xe55e('0x7'));var util=require(_0xe55e('0x8'));var path=require(_0xe55e('0x9'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0xe55e('0xa'));var fs=require('fs');var _=require('lodash');var squel=require(_0xe55e('0xb'));var crypto=require(_0xe55e('0xc'));var jsforce=require(_0xe55e('0xd'));var deskjs=require(_0xe55e('0xe'));var toCsv=require(_0xe55e('0xf'));var querystring=require(_0xe55e('0x10'));var Papa=require(_0xe55e('0x11'));var Redis=require(_0xe55e('0x12'));var authService=require(_0xe55e('0x13'));var qs=require(_0xe55e('0x14'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xe55e('0x15'));var logger=require(_0xe55e('0x16'))(_0xe55e('0x17'));var utils=require(_0xe55e('0x18'));var config=require(_0xe55e('0x19'));var db=require('../../mysqldb')['db'];config[_0xe55e('0x1a')]=_[_0xe55e('0x1b')](config[_0xe55e('0x1a')],{'host':_0xe55e('0x1c'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0xe55e('0x1a')]));require(_0xe55e('0x1d'))[_0xe55e('0x1e')](socket);function respondWithStatusCode(_0x4351a5,_0x432172){_0x432172=_0x432172||0xcc;return function(_0x306168){if(_0x306168){return _0x4351a5['sendStatus'](_0x432172);}return _0x4351a5[_0xe55e('0x1f')](_0x432172)['end']();};}function respondWithResult(_0x28223f,_0x46daa2){_0x46daa2=_0x46daa2||0xc8;return function(_0x4e906c){if(_0x4e906c){return _0x28223f[_0xe55e('0x1f')](_0x46daa2)[_0xe55e('0x20')](_0x4e906c);}};}function respondWithFilteredResult(_0x484ce4,_0x354dcb){return function(_0x5e77cc){if(_0x5e77cc){var _0xb6230f=_0x5e77cc[_0xe55e('0x21')],_0x504c37=_0x354dcb[_0xe55e('0x22')],_0x4d6c23=_0x354dcb['offset']+_0x354dcb[_0xe55e('0x23')],_0x1dd019;if(_0x4d6c23>=_0xb6230f){_0x4d6c23=_0xb6230f;_0x1dd019=0xc8;}else{_0x1dd019=0xce;}_0x484ce4['status'](_0x1dd019);return _0x484ce4[_0xe55e('0x24')](_0xe55e('0x25'),_0x504c37+'-'+_0x4d6c23+'/'+_0xb6230f)['json'](_0x5e77cc);}return null;};}function patchUpdates(_0x2ddbf6){return function(_0x3ab94b){try{jsonpatch[_0xe55e('0x26')](_0x3ab94b,_0x2ddbf6,!![]);}catch(_0x136369){return BPromise['reject'](_0x136369);}return _0x3ab94b[_0xe55e('0x27')]();};}function saveUpdates(_0xebfa49,_0x126079){return function(_0x4064b8){if(_0x4064b8){return _0x4064b8[_0xe55e('0x28')](_0xebfa49)[_0xe55e('0x29')](function(_0x58803b){return _0x58803b;});}return null;};}function removeEntity(_0xa26035,_0x1a6989){return function(_0x4b3871){if(_0x4b3871){return _0x4b3871[_0xe55e('0x2a')]()['then'](function(){_0xa26035[_0xe55e('0x1f')](0xcc)[_0xe55e('0x2b')]();});}};}function handleEntityNotFound(_0x2d2718,_0x352fff){return function(_0x578997){if(!_0x578997){_0x2d2718['sendStatus'](0x194);}return _0x578997;};}function handleError(_0x505fed,_0x196ecc){_0x196ecc=_0x196ecc||0x1f4;return function(_0xbd5027){logger[_0xe55e('0x2c')](_0xbd5027[_0xe55e('0x2d')]);if(_0xbd5027[_0xe55e('0x2e')]){delete _0xbd5027[_0xe55e('0x2e')];}_0x505fed['status'](_0x196ecc)[_0xe55e('0x2f')](_0xbd5027);};}exports[_0xe55e('0x30')]=function(_0x58041a,_0x1d6dc7){var _0x4023d7={},_0x17f768={},_0x25fbfc={'count':0x0,'rows':[]};return db[_0xe55e('0x31')][_0xe55e('0x32')]()[_0xe55e('0x29')](function(_0x4690f3){var _0x372977=[];for(var _0xb50f72=0x0;_0xb50f72<Object[_0xe55e('0x33')](_0x4690f3)['length'];_0xb50f72++){var _0x45efed=Object['keys'](_0x4690f3)[_0xb50f72];if(_[_0xe55e('0x34')](_0x45efed,_0xe55e('0x35'))){_0x372977['push'](db[_0xe55e('0x36')][_0xe55e('0x37')]({'where':{'id':_[_0xe55e('0x38')](_0x45efed,_0xe55e('0x35'))},'raw':!![]}));}}return BPromise['all'](_0x372977)[_0xe55e('0x29')](function(_0x52dc3b){for(var _0x5e0767=0x0;_0x5e0767<_0x52dc3b['length'];_0x5e0767++){if(_0x52dc3b[_0x5e0767]){var _0x256483=_0xe55e('0x35')+_0x52dc3b[_0x5e0767]['id'];var _0x2d8b1b=_0x4690f3[_0x256483];_0x2d8b1b[_0xe55e('0x39')]=_0x52dc3b[_0x5e0767]['type'];}}return _0x4690f3;});})[_0xe55e('0x29')](function(_0x142480){_0x17f768[_0xe55e('0x3a')]=_['keys'](_0x142480);_0x17f768[_0xe55e('0x3b')]=_[_0xe55e('0x33')](_0x58041a['query']);_0x17f768[_0xe55e('0x3c')]=_['intersection'](_0x17f768['model'],_0x17f768[_0xe55e('0x3b')]);_0x4023d7[_0xe55e('0x3d')]=_[_0xe55e('0x3e')](_0x17f768[_0xe55e('0x3a')],qs['fields'](_0x58041a['query']['fields']));_0x4023d7['attributes']=_0x4023d7[_0xe55e('0x3d')][_0xe55e('0x3f')]?_0x4023d7[_0xe55e('0x3d')]:_0x17f768[_0xe55e('0x3a')];if(!_0x58041a['query'][_0xe55e('0x40')](_0xe55e('0x41'))){_0x4023d7[_0xe55e('0x23')]=qs['limit'](_0x58041a[_0xe55e('0x3b')][_0xe55e('0x23')]);_0x4023d7[_0xe55e('0x22')]=qs[_0xe55e('0x22')](_0x58041a[_0xe55e('0x3b')]['offset']);}_0x4023d7[_0xe55e('0x42')]=qs['sort'](_0x58041a[_0xe55e('0x3b')][_0xe55e('0x43')]);_0x4023d7[_0xe55e('0x44')]=qs[_0xe55e('0x3c')](_[_0xe55e('0x45')](_0x58041a['query'],_0x17f768[_0xe55e('0x3c')]));var _0x34be03=[];var _0x15fb13=squel[_0xe55e('0x46')]()['field']('id')[_0xe55e('0x47')](_0xe55e('0x2e'))[_0xe55e('0x47')]('color')[_0xe55e('0x48')](_0xe55e('0x49'));var _0x5efd6b=squel[_0xe55e('0x46')]()['from'](_0xe55e('0x4a'),'c')[_0xe55e('0x4b')](_0xe55e('0x4c'),'uc','uc.CmContactId\x20=\x20c.id')[_0xe55e('0x4b')](_0xe55e('0x4d'),'ct','ct.CmContactId\x20=\x20c.id')['left_join'](_0xe55e('0x49'),'t',_0xe55e('0x4e'))[_0xe55e('0x44')](_0xe55e('0x4f'));var _0x26f469=squel['expr']();var _0x4dc7a8=[];var _0x24aa45=squel['expr']();var _0x38685d;if(_0x58041a[_0xe55e('0x3b')][_0xe55e('0x50')]){_0x38685d=as[_0xe55e('0x51')](_0x58041a['query'][_0xe55e('0x50')]);var _0x249588=_0x38685d[_0xe55e('0x52')];for(var _0x2fa9d1=0x0;_0x2fa9d1<_0x38685d[_0xe55e('0x53')][_0xe55e('0x3f')];_0x2fa9d1++){var _0x7d32e1=_0x38685d[_0xe55e('0x53')][_0x2fa9d1];var _0x49c527='c';var _0x4d3334=_(_0x142480)[_0xe55e('0x33')]()['find'](function(_0x32bb9a){return _0x32bb9a===_0x7d32e1[_0xe55e('0x47')];});if(_0x4d3334)_0x4d3334=_0x142480[_0x7d32e1['field']];if(!_0x4d3334){if(_0x7d32e1[_0xe55e('0x47')]===_0xe55e('0x54')){var _0x4551f9=_0x7d32e1['value'][_0xe55e('0x55')](',')['map'](function(_0x54df7a){return Number(_0x54df7a);});_0x4551f9[_0xe55e('0x56')](function(_0x527796){_0x24aa45['or'](_0xe55e('0x57'),'%,'+_0x527796+',%');});_0x4dc7a8=_['union'](_0x4dc7a8,_0x4551f9);}else if(_0x7d32e1['field']===_0xe55e('0x58')){_0x26f469[_0xe55e('0x59')](_0xe55e('0x5a'),_0x7d32e1['value']);}}else{if(_0x7d32e1[_0xe55e('0x47')]===_0xe55e('0x5b')||_0x4d3334[_0xe55e('0x39')]==='datetime')_0x7d32e1[_0xe55e('0x5c')]=_0xe55e('0x5d');var _0x4f2b18=as[_0xe55e('0x5e')](_0x49c527,_0x4d3334['type'],_0x7d32e1);_0x26f469[_0x249588](_0x4f2b18[_0xe55e('0x5f')],_0x4f2b18[_0xe55e('0x60')][_0xe55e('0x61')],_0x4f2b18[_0xe55e('0x60')]['end']);}}}else{var _0x13c33e=_(Object[_0xe55e('0x33')](_0x58041a[_0xe55e('0x3b')]))['map'](function(_0x6389fc){return _0x142480['hasOwnProperty'](_0x6389fc)?_0x6389fc:undefined;})[_0xe55e('0x62')](function(_0x2354ec){return!_[_0xe55e('0x63')](_0x2354ec);})['value']();if(_0x58041a[_0xe55e('0x3b')][_0xe55e('0x64')])_0x13c33e[_0xe55e('0x65')](_0xe55e('0x64'));if(!_['isEmpty'](_0x13c33e)){_0x13c33e[_0xe55e('0x56')](function(_0x398f16){if(_0x398f16===_0xe55e('0x66')){_0x5efd6b[_0xe55e('0x44')](_0xe55e('0x67'),[][_0xe55e('0x68')](_0x58041a['query'][_0x398f16]));}else if(_0x398f16===_0xe55e('0x64')){var _0x4a1133='%'+_0x58041a['query'][_0x398f16]+'%';_0x5efd6b[_0xe55e('0x44')](_0xe55e('0x69'),_0x4a1133);}else{_0x5efd6b[_0xe55e('0x44')]('c.'+_0x398f16+_0xe55e('0x6a'),_0x58041a[_0xe55e('0x3b')][_0x398f16]);}});}if(_0x58041a[_0xe55e('0x3b')][_0xe55e('0x6b')]){_0x4dc7a8=_['isArray'](_0x58041a[_0xe55e('0x3b')]['tag'])?_0x58041a['query']['tag']:new Array(_0x58041a[_0xe55e('0x3b')][_0xe55e('0x6b')]);_0x4dc7a8['forEach'](function(_0x13ccbe){_0x24aa45['or'](_0xe55e('0x57'),'%,'+_0x13ccbe+',%');});}if(_0x58041a[_0xe55e('0x3b')][_0xe55e('0x62')]){var _0x3f51b2=_0x58041a[_0xe55e('0x3b')][_0xe55e('0x62')][_0xe55e('0x6c')]('\x5c','\x5c\x5c')[_0xe55e('0x6c')]('\x27\x27',_0xe55e('0x6d'));if(_0x3f51b2[_0xe55e('0x55')]('\x20')[_0xe55e('0x3f')]>0x1){_0x26f469['or']('MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs['getFullTextValue'](_0x3f51b2),null);}else{if(qs[_0xe55e('0x6e')](_0x3f51b2)){_0x26f469['or'](_0xe55e('0x6f'),_0x3f51b2+'%');_0x26f469['or'](_0xe55e('0x70'),_0x3f51b2+'%');_0x26f469['or']('c.mobile\x20LIKE\x20?',_0x3f51b2+'%');_0x26f469['or']('c.fax\x20LIKE\x20?',_0x3f51b2+'%');}else if(qs['isEmail'](_0x3f51b2)){_0x26f469['or'](_0xe55e('0x71'),_0x3f51b2+'%');}else{_0x26f469['or'](_0xe55e('0x72'),'%'+_0x3f51b2+'%');_0x26f469['or'](_0xe55e('0x73'),'%'+_0x3f51b2+'%');_0x26f469['or'](_0xe55e('0x71'),'%'+_0x3f51b2+'%');}}}}_0x5efd6b[_0xe55e('0x44')](_0x26f469);_0x5efd6b[_0xe55e('0x74')]('c.id');var _0x5a7f8f={'type':db[_0xe55e('0x75')][_0xe55e('0x76')]['SELECT'],'raw':!![]};var _0x364e96=_0x5efd6b['clone']()[_0xe55e('0x47')]('c.id');if(_0x4023d7[_0xe55e('0x42')]){_0x4023d7[_0xe55e('0x42')][_0xe55e('0x56')](function(_0xcc8e37){_0x5efd6b[_0xe55e('0x42')]('c.'+_0xcc8e37[0x0],_0xcc8e37[0x1]===_0xe55e('0x77')?![]:!![]);});}if(!_[_0xe55e('0x78')](_0x4dc7a8)){_0x5efd6b['having'](_0x24aa45);_0x364e96[_0xe55e('0x44')](_0xe55e('0x79'),_0x4dc7a8);}BPromise[_0xe55e('0x7a')]()[_0xe55e('0x29')](function(){if(_0x38685d&&!_[_0xe55e('0x7b')](_0x38685d['conditions'],[_0xe55e('0x47'),_0xe55e('0x58')])){return _0x58041a[_0xe55e('0x7c')]['getLists']({'attributes':['id'],'raw':!![]})[_0xe55e('0x29')](function(_0x255808){if(_[_0xe55e('0x78')](_0x255808)){_0x364e96[_0xe55e('0x44')](_0xe55e('0x7d'));_0x5efd6b['where']('c.ListId\x20IS\x20NULL');}else{_0x364e96[_0xe55e('0x44')](_0xe55e('0x67'),_['map'](_0x255808,'id'));_0x5efd6b[_0xe55e('0x44')](_0xe55e('0x67'),_[_0xe55e('0x7e')](_0x255808,'id'));}});}else{return;}})[_0xe55e('0x29')](function(){db[_0xe55e('0x7f')][_0xe55e('0x3b')](_0x364e96[_0xe55e('0x80')](),_0x5a7f8f)[_0xe55e('0x29')](function(_0x36c9a6){_0x25fbfc[_0xe55e('0x21')]=_0x36c9a6['length'];if(_0x25fbfc[_0xe55e('0x21')]===0x0)return[];return db['sequelize'][_0xe55e('0x3b')](_0x15fb13[_0xe55e('0x80')](),_0x5a7f8f);})['then'](function(_0x72fdcc){_0x34be03=_[_0xe55e('0x81')](_0x72fdcc,'id');_0x5a7f8f=_[_0xe55e('0x82')](_0x5a7f8f,{'model':db[_0xe55e('0x31')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x58041a[_0xe55e('0x3b')][_0xe55e('0x83')]){_0x4023d7['attributes'][_0xe55e('0x56')](function(_0x350496){_0x5efd6b[_0xe55e('0x47')]('c.'+_0x350496);});}else{_0x5efd6b[_0xe55e('0x47')]('c.id');_0x5efd6b['field'](_0xe55e('0x84'));_0x5efd6b[_0xe55e('0x47')](_0xe55e('0x85'));_0x5efd6b[_0xe55e('0x47')](_0xe55e('0x86'));_0x5efd6b[_0xe55e('0x47')](_0xe55e('0x87'));_0x5efd6b['field'](_0xe55e('0x88'));_0x5efd6b['field'](_0xe55e('0x89'));_0x5efd6b['field']('c.ListId');_0x5efd6b['field'](_0xe55e('0x8a'));_0x5efd6b['field']('GROUP_CONCAT(DISTINCT\x20t.id)',_0xe55e('0x8b'));}if(_0x4023d7[_0xe55e('0x23')])_0x5efd6b[_0xe55e('0x23')](_0x4023d7[_0xe55e('0x23')]);if(_0x4023d7[_0xe55e('0x22')])_0x5efd6b[_0xe55e('0x22')](_0x4023d7[_0xe55e('0x22')]);return db[_0xe55e('0x7f')]['query'](_0x5efd6b['toString'](),_0x5a7f8f);})[_0xe55e('0x29')](function(_0x526064){_0x526064[_0xe55e('0x56')](function(_0x4ecf56){if(_0x4ecf56[_0xe55e('0x8b')]){_0x4ecf56[_0xe55e('0x8c')]=[];_0x4ecf56[_0xe55e('0x8b')][_0xe55e('0x55')](',')[_0xe55e('0x56')](function(_0x20e4ae){_0x4ecf56[_0xe55e('0x8c')]['push'](_0x34be03[_0x20e4ae]);});}delete _0x4ecf56[_0xe55e('0x8b')];});_0x25fbfc[_0xe55e('0x8d')]=_0x526064;return _0x25fbfc;})[_0xe55e('0x29')](respondWithFilteredResult(_0x1d6dc7,_0x4023d7));});})[_0xe55e('0x8e')](handleError(_0x1d6dc7,null));};exports[_0xe55e('0x2a')]=function(_0x59de00,_0x5da90f){return db[_0xe55e('0x31')][_0xe55e('0x8f')]({'where':{'id':_0x59de00[_0xe55e('0x90')]['id']}})[_0xe55e('0x29')](handleEntityNotFound(_0x5da90f,null))['then'](removeEntity(_0x5da90f,null))[_0xe55e('0x8e')](handleError(_0x5da90f,null));};exports[_0xe55e('0x32')]=function(_0x10b34d,_0x2144be){return db[_0xe55e('0x31')]['describe']()[_0xe55e('0x29')](function(_0xf22d11){delete _0xf22d11['tags'];for(var _0x46554c=0x0;_0x46554c<Object[_0xe55e('0x33')](_0xf22d11)[_0xe55e('0x3f')];_0x46554c++){var _0x19acf2=Object[_0xe55e('0x33')](_0xf22d11)[_0x46554c];if(!_[_0xe55e('0x34')](_0x19acf2,'cf_')){_0xf22d11[_0x19acf2][_0xe55e('0x91')]=_0x19acf2;_0xf22d11[_0x19acf2]['displayName']=_0x19acf2;}}return _0xf22d11;})['then'](function(_0x3524e9){var _0x2fd11c={'where':{'$or':[{'ListId':_0x10b34d['query']['id']},{'ListId':null}]},'raw':!![]};return db[_0xe55e('0x36')][_0xe55e('0x92')](_0x2fd11c)[_0xe55e('0x29')](function(_0x548e59){for(var _0x2ee479=0x0;_0x2ee479<_0x548e59[_0xe55e('0x3f')];_0x2ee479++){var _0x21bc83='cf_'+_0x548e59[_0x2ee479]['id'];_0x3524e9[_0x21bc83][_0xe55e('0x91')]=_0x21bc83;_0x3524e9[_0x21bc83][_0xe55e('0x93')]=_0x548e59[_0x2ee479][_0xe55e('0x94')];_0x3524e9[_0x21bc83][_0xe55e('0x95')]={'type':_0x548e59[_0x2ee479][_0xe55e('0x96')],'values':_0x548e59[_0x2ee479][_0xe55e('0x97')]};}Object['keys'](_0x3524e9)[_0xe55e('0x56')](function(_0x315772){if(!_0x3524e9[_0x315772][_0xe55e('0x40')]('columnName')){delete _0x3524e9[_0x315772];}});return _0x3524e9;});})[_0xe55e('0x29')](respondWithResult(_0x2144be,null))[_0xe55e('0x8e')](handleError(_0x2144be,null));};exports[_0xe55e('0x82')]=function(_0x10654a,_0x266433){var _0x41fa8e;var _0x5b7628;var _0x3b5faa;if(_0x10654a[_0xe55e('0x98')]['id']){delete _0x10654a['body']['id'];}return db[_0xe55e('0x31')]['findAll']({'where':{'id':[_0x10654a['body']['to'],_0x10654a['body'][_0xe55e('0x48')]]}})[_0xe55e('0x29')](function(_0xc8ca13){if(_0xc8ca13){if(_0xc8ca13[_0xe55e('0x3f')]!==0x2){return null;}_0xc8ca13[0x0]=_0xc8ca13[0x0][_0xe55e('0x99')]({'plain':!![]});_0xc8ca13[0x1]=_0xc8ca13[0x1][_0xe55e('0x99')]({'plain':!![]});delete _0xc8ca13[0x0]['id'];delete _0xc8ca13[0x1]['id'];return _['mergeWith'](_0xc8ca13[0x0],_0xc8ca13[0x1],function(_0x2f973f,_0x5d9dff){if(Array[_0xe55e('0x9a')](_0x5d9dff)&&!_0x5d9dff[_0xe55e('0x3f')]){return _0x2f973f;}else if(!_0x5d9dff){return _0x2f973f;}});}})['then'](handleEntityNotFound(_0x266433,null))[_0xe55e('0x29')](function(_0x442a6c){if(_0x442a6c){if(_0x442a6c['tags']&&_['isArray'](_0x442a6c[_0xe55e('0x9b')])){_0x442a6c[_0xe55e('0x9b')]=_0x442a6c['tags'][_0xe55e('0x9c')]();}logger['info'](_0xe55e('0x9d'),_0x10654a[_0xe55e('0x98')]['to'],_0x10654a[_0xe55e('0x98')][_0xe55e('0x48')]);return db[_0xe55e('0x9e')][_0xe55e('0x2a')]({'where':{'ContactId':[_0x10654a['body']['to'],_0x10654a['body']['from']]}})['then'](function(_0x12d0df){logger[_0xe55e('0x9f')]('[CmContact][merge][destroy][CmHopper],\x20%s',_0x12d0df);return db[_0xe55e('0xa0')][_0xe55e('0x2a')]({'where':{'ContactId':[_0x10654a[_0xe55e('0x98')]['to'],_0x10654a[_0xe55e('0x98')][_0xe55e('0x48')]]}})['then'](function(_0x41b069){logger[_0xe55e('0x9f')](_0xe55e('0xa1'),_0x41b069);return db[_0xe55e('0x31')]['create'](_0x442a6c);});});}})[_0xe55e('0x29')](function(_0x3a9b8d){if(_0x3a9b8d){_0x41fa8e=_0x3a9b8d;_0x5b7628={'ContactId':_0x41fa8e['id']};_0x3b5faa={'where':{'ContactId':[_0x10654a[_0xe55e('0x98')]['to'],_0x10654a[_0xe55e('0x98')][_0xe55e('0x48')]]}};return db['ChatInteraction'][_0xe55e('0x28')](_0x5b7628,_0x3b5faa);}})['then'](function(){if(_0x41fa8e){return db['ChatMessage'][_0xe55e('0x28')](_0x5b7628,_0x3b5faa);}})[_0xe55e('0x29')](function(){if(_0x41fa8e){return db[_0xe55e('0xa2')][_0xe55e('0x28')](_0x5b7628,_0x3b5faa);}})[_0xe55e('0x29')](function(){if(_0x41fa8e){return db['MailInteraction'][_0xe55e('0x28')](_0x5b7628,_0x3b5faa);}})[_0xe55e('0x29')](function(){if(_0x41fa8e){return db['MailMessage'][_0xe55e('0x28')](_0x5b7628,_0x3b5faa);}})[_0xe55e('0x29')](function(){if(_0x41fa8e){return db[_0xe55e('0xa3')][_0xe55e('0x28')](_0x5b7628,_0x3b5faa);}})['then'](function(){if(_0x41fa8e){return db[_0xe55e('0xa4')][_0xe55e('0x28')](_0x5b7628,_0x3b5faa);}})[_0xe55e('0x29')](function(){if(_0x41fa8e){return db[_0xe55e('0xa5')][_0xe55e('0x28')](_0x5b7628,_0x3b5faa);}})[_0xe55e('0x29')](function(){if(_0x41fa8e){return db[_0xe55e('0xa6')][_0xe55e('0x28')](_0x5b7628,_0x3b5faa);}})[_0xe55e('0x29')](function(){if(_0x41fa8e){return db['FaxInteraction'][_0xe55e('0x28')](_0x5b7628,_0x3b5faa);}})['then'](function(){if(_0x41fa8e){return db['FaxMessage']['update'](_0x5b7628,_0x3b5faa);}})[_0xe55e('0x29')](function(){if(_0x41fa8e){return db[_0xe55e('0xa7')][_0xe55e('0x28')](_0x5b7628,_0x3b5faa);}})[_0xe55e('0x29')](function(){if(_0x41fa8e){return db['OpenchannelMessage']['update'](_0x5b7628,_0x3b5faa);}})['then'](function(){if(_0x41fa8e){return db[_0xe55e('0xa8')]['update'](_0x5b7628,_0x3b5faa);}})[_0xe55e('0x29')](function(){if(_0x41fa8e){return db[_0xe55e('0xa9')]['update'](_0x5b7628,_0x3b5faa);}})[_0xe55e('0x29')](function(){if(_0x41fa8e){return db[_0xe55e('0xaa')][_0xe55e('0x28')](_0x5b7628,_0x3b5faa);}})[_0xe55e('0x29')](function(){if(_0x41fa8e){return db[_0xe55e('0xab')]['update'](_0x5b7628,_0x3b5faa);}})['then'](function(){if(_0x41fa8e){return db['ChatQueueReport'][_0xe55e('0x28')](_0x5b7628,_0x3b5faa);}})[_0xe55e('0x29')](function(){if(_0x41fa8e){return db[_0xe55e('0xac')][_0xe55e('0x28')](_0x5b7628,_0x3b5faa);}})[_0xe55e('0x29')](function(){if(_0x41fa8e){return db[_0xe55e('0xad')][_0xe55e('0x28')](_0x5b7628,_0x3b5faa);}})[_0xe55e('0x29')](function(){if(_0x41fa8e){return db[_0xe55e('0xae')][_0xe55e('0x28')](_0x5b7628,_0x3b5faa);}})[_0xe55e('0x29')](function(){if(_0x41fa8e){return db[_0xe55e('0xaf')][_0xe55e('0x28')](_0x5b7628,_0x3b5faa);}})[_0xe55e('0x29')](function(){if(_0x41fa8e){return db[_0xe55e('0xb0')]['update'](_0x5b7628,_0x3b5faa);}})['then'](function(){if(_0x41fa8e){return db['CmContact'][_0xe55e('0x2a')]({'where':{'id':[_0x10654a[_0xe55e('0x98')]['to'],_0x10654a['body'][_0xe55e('0x48')]]}});}})[_0xe55e('0x29')](function(){if(_0x41fa8e){return _0x41fa8e;}})[_0xe55e('0x29')](respondWithResult(_0x266433,null))[_0xe55e('0x8e')](handleError(_0x266433,null));};exports[_0xe55e('0xb1')]=function(_0x584672,_0x3d40b1){return db[_0xe55e('0x31')][_0xe55e('0x32')]()['then'](function(_0x5c82f4){if(_0x584672[_0xe55e('0x98')]['tags']&&_[_0xe55e('0x9a')](_0x584672[_0xe55e('0x98')][_0xe55e('0x9b')])){if(_0x584672[_0xe55e('0x98')][_0xe55e('0x9b')]['length']){_0x584672[_0xe55e('0x98')]['tags']=_0x584672['body']['tags'][_0xe55e('0x9c')](';')+';';}else{_0x584672['body']['tags']=null;}}else{_0x584672[_0xe55e('0x98')][_0xe55e('0x9b')]=null;}return db[_0xe55e('0x31')]['create'](_0x584672[_0xe55e('0x98')],{'fields':_['keys'](_0x5c82f4),'raw':!![]});})[_0xe55e('0x29')](respondWithResult(_0x3d40b1,0xc9))['catch'](handleError(_0x3d40b1,null));};exports[_0xe55e('0xb2')]=function(_0x24a570,_0x7c96c2){var _0x52bf84=[];var _0x540c35=0x0;var _0x13abe6=0x0;var _0x1c8294=0x0;return db['CmContact'][_0xe55e('0x32')]()[_0xe55e('0x29')](function(_0x49ae2b){return BPromise[_0xe55e('0xb3')](_0x24a570[_0xe55e('0x98')],function(_0x184dfd){var _0x23e389={'where':{'$or':[]},'defaults':_0x184dfd,'fields':_[_0xe55e('0x33')](_0x49ae2b),'raw':!![]};if(_0x184dfd['duplicates']){for(var _0x50fe9f=0x0;_0x50fe9f<_0x184dfd['duplicates'][_0xe55e('0x3f')];_0x50fe9f++){var _0x3599dc={};_0x3599dc[_0x184dfd[_0xe55e('0xb4')][_0x50fe9f]]=_0x184dfd[_0x184dfd[_0xe55e('0xb4')][_0x50fe9f]];_0x23e389[_0xe55e('0x44')][_0xe55e('0xb5')][_0xe55e('0x65')](_0x3599dc);}_0x23e389[_0xe55e('0x44')][_0xe55e('0x66')]=_0x184dfd['ListId'];}return db[_0xe55e('0x31')]['findOrCreate'](_0x23e389)[_0xe55e('0xb6')](function(_0x493483,_0x4fe1c3){if(_0x4fe1c3){_0x540c35++;}else{_0x1c8294++;}})[_0xe55e('0x8e')](function(_0xb0d225){console[_0xe55e('0x2c')](_0xb0d225);_0x13abe6++;});});})[_0xe55e('0x29')](function(_0x34ae15){if(_0x34ae15){return{'success':_0x540c35,'failure':_0x13abe6,'duplicates':_0x1c8294};}})[_0xe55e('0x29')](respondWithResult(_0x7c96c2,0xc9))[_0xe55e('0x8e')](handleError(_0x7c96c2,null));};exports[_0xe55e('0xb7')]=function(_0xd2b827,_0x5a4674,_0x22346b){var _0x41c448;return db['CmContact']['describe']()[_0xe55e('0x29')](function(_0x3ff139){return db[_0xe55e('0x31')][_0xe55e('0x8f')]({'where':{'id':_0xd2b827['params']['id']},'include':[{'model':db[_0xe55e('0x54')],'as':_0xe55e('0x8c'),'attributes':['id',_0xe55e('0x2e'),_0xe55e('0xb8')],'required':_0xd2b827[_0xe55e('0x3b')]['tag']?!![]:![]}],'attributes':_[_0xe55e('0x33')](_0x3ff139)});})['then'](function(_0x3535d1){_0x41c448=_0x3535d1[_0xe55e('0x99')]({'plain':!![]});var _0x3af073={'where':{'$and':[{'ListId':{'$ne':null}}]}};if(_0x3535d1&&_0x3535d1[_0xe55e('0x66')]){if(_0x3535d1[_0xe55e('0x66')]){_0x3af073['where'][_0xe55e('0xb9')]['push']({'ListId':{'$ne':_0x3535d1[_0xe55e('0x66')]}});}}return db[_0xe55e('0x36')][_0xe55e('0x92')](_0x3af073);})[_0xe55e('0x29')](function(_0xfa3a46){return _[_0xe55e('0xba')](_0x41c448,_['map'](_0xfa3a46,function(_0x19474b){return util['format'](_0xe55e('0xbb'),_0x19474b['id']);}));})[_0xe55e('0x29')](handleEntityNotFound(_0x5a4674,null))[_0xe55e('0x29')](respondWithResult(_0x5a4674,null))['catch'](handleError(_0x5a4674,null));};exports[_0xe55e('0x28')]=function(_0x2f6448,_0x40fb4d){var _0x473140;if(_0x2f6448[_0xe55e('0x98')]['id']){delete _0x2f6448[_0xe55e('0x98')]['id'];}return db['CmContact'][_0xe55e('0x8f')]({'where':{'id':_0x2f6448[_0xe55e('0x90')]['id']}})['then'](handleEntityNotFound(_0x40fb4d,null))[_0xe55e('0x29')](saveUpdates(_0x2f6448['body'],null))[_0xe55e('0x29')](function(_0x3a3db3){_0x473140=_0x3a3db3;var _0x398b1a={'where':{'$and':[{'ListId':{'$ne':null}}]}};if(_0x3a3db3&&_0x3a3db3[_0xe55e('0x66')]){if(_0x3a3db3[_0xe55e('0x66')]){_0x398b1a['where'][_0xe55e('0xb9')]['push']({'ListId':{'$ne':_0x3a3db3[_0xe55e('0x66')]}});}}return db[_0xe55e('0x36')][_0xe55e('0x92')](_0x398b1a);})[_0xe55e('0x29')](function(_0x10bc77){if(_0x10bc77){return _['omit'](_[_0xe55e('0xbc')](_0x2f6448[_0xe55e('0x98')],function(_0x4dddf1,_0x11f97c){return _[_0xe55e('0x34')](_0x11f97c,'cf_');}),_['map'](_0x10bc77,function(_0x1d5e6e){return util['format'](_0xe55e('0xbb'),_0x1d5e6e['id']);}));}})[_0xe55e('0x29')](function(_0x1b05df){if(_0x1b05df&&!_[_0xe55e('0x78')](_0x1b05df)){var _0x3557c8=squel[_0xe55e('0x28')]()['table'](_0xe55e('0x4a'))[_0xe55e('0xbd')](_0x1b05df)[_0xe55e('0x44')](_0xe55e('0xbe'),_0x2f6448[_0xe55e('0x90')]['id'])[_0xe55e('0xbf')]();return db[_0xe55e('0x7f')][_0xe55e('0x3b')](_0x3557c8[_0xe55e('0x5f')],{'replacements':_0x3557c8['values']});}})[_0xe55e('0x29')](function(){if(_0x2f6448[_0xe55e('0x98')][_0xe55e('0xc0')]&&_0x473140){return db[_0xe55e('0x9e')][_0xe55e('0x28')]({'phone':_0x2f6448[_0xe55e('0x98')][_0xe55e('0xc0')]},{'where':{'ContactId':_0x473140['id']}});}})[_0xe55e('0x29')](function(){return _0x473140;})[_0xe55e('0x29')](respondWithResult(_0x40fb4d,null))[_0xe55e('0x8e')](handleError(_0x40fb4d,null));};exports[_0xe55e('0xc1')]=function(_0x44c39a,_0x211e75,_0x1008cd){var _0x2b1e55={};var _0x8a1d20={};var _0xccb07a;var _0x569c11;return db['CmContact']['findOne']({'where':{'id':_0x44c39a['params']['id']}})[_0xe55e('0x29')](handleEntityNotFound(_0x211e75,null))[_0xe55e('0x29')](function(_0x44303b){if(_0x44303b){_0xccb07a=_0x44303b;_0x8a1d20[_0xe55e('0x3a')]=_[_0xe55e('0x33')](db[_0xe55e('0x54')]['rawAttributes']);_0x8a1d20[_0xe55e('0x3b')]=_[_0xe55e('0x33')](_0x44c39a[_0xe55e('0x3b')]);_0x8a1d20['filters']=_['intersection'](_0x8a1d20[_0xe55e('0x3a')],_0x8a1d20[_0xe55e('0x3b')]);_0x2b1e55[_0xe55e('0x3d')]=_[_0xe55e('0x3e')](_0x8a1d20[_0xe55e('0x3a')],qs[_0xe55e('0x83')](_0x44c39a[_0xe55e('0x3b')][_0xe55e('0x83')]));_0x2b1e55[_0xe55e('0x3d')]=_0x2b1e55[_0xe55e('0x3d')][_0xe55e('0x3f')]?_0x2b1e55[_0xe55e('0x3d')]:_0x8a1d20[_0xe55e('0x3a')];_0x2b1e55[_0xe55e('0x42')]=qs[_0xe55e('0x43')](_0x44c39a[_0xe55e('0x3b')][_0xe55e('0x43')]);_0x2b1e55[_0xe55e('0x44')]=qs[_0xe55e('0x3c')](_[_0xe55e('0x45')](_0x44c39a['query'],_0x8a1d20[_0xe55e('0x3c')]));if(_0x44c39a['query'][_0xe55e('0x62')]){_0x2b1e55[_0xe55e('0x44')]=_[_0xe55e('0x82')](_0x2b1e55[_0xe55e('0x44')],{'$or':_['map'](_0x2b1e55[_0xe55e('0x3d')],function(_0x2974ea){var _0x16389e={};_0x16389e[_0x2974ea]={'$like':'%'+_0x44c39a[_0xe55e('0x3b')][_0xe55e('0x62')]+'%'};return _0x16389e;})});}_0x2b1e55=_['merge']({},_0x2b1e55,_0x44c39a[_0xe55e('0xc2')]);return _0xccb07a[_0xe55e('0xc1')](_0x2b1e55);}})[_0xe55e('0x29')](function(_0x359efc){if(_0x359efc){_0x569c11=_0x359efc[_0xe55e('0x3f')];if(!_0x44c39a[_0xe55e('0x3b')]['hasOwnProperty'](_0xe55e('0x41'))){_0x2b1e55[_0xe55e('0x23')]=qs['limit'](_0x44c39a['query'][_0xe55e('0x23')]);_0x2b1e55['offset']=qs[_0xe55e('0x22')](_0x44c39a[_0xe55e('0x3b')][_0xe55e('0x22')]);}return _0xccb07a[_0xe55e('0xc1')](_0x2b1e55);}})[_0xe55e('0x29')](function(_0x23dae4){if(_0x23dae4){return _0x23dae4?{'count':_0x569c11,'rows':_0x23dae4}:null;}})[_0xe55e('0x29')](respondWithResult(_0x211e75,null))[_0xe55e('0x8e')](handleError(_0x211e75,null));};exports[_0xe55e('0xc3')]=function(_0x3aac33,_0x3cdebe,_0x5205b8){if(_0x3aac33[_0xe55e('0x98')]['id']){delete _0x3aac33[_0xe55e('0x98')]['id'];}return db['CmContact'][_0xe55e('0x37')]({'where':{'id':_0x3aac33[_0xe55e('0x90')]['id']}})[_0xe55e('0x29')](handleEntityNotFound(_0x3cdebe,null))['then'](function(_0xc651bd){if(_0xc651bd){return _0xc651bd['setTags'](_0x3aac33[_0xe55e('0x98')][_0xe55e('0xc4')]||[]);}return null;})['then'](respondWithResult(_0x3cdebe,null))[_0xe55e('0x8e')](handleError(_0x3cdebe,null));};exports[_0xe55e('0xc5')]=function(_0x578601,_0x3bcdf4,_0x1b9a21){var _0x3a7b0b={'raw':![],'where':{}};var _0x3c56e4={};var _0x1dc729={'count':0x0,'rows':[]};return db['CmContact'][_0xe55e('0x37')]({'where':{'id':_0x578601[_0xe55e('0x90')]['id']}})[_0xe55e('0x29')](handleEntityNotFound(_0x3bcdf4,null))[_0xe55e('0x29')](function(_0x328e11){if(_0x328e11){_0x3c56e4[_0xe55e('0x3a')]=_[_0xe55e('0x33')](db[_0xe55e('0x9e')][_0xe55e('0xc6')]);_0x3c56e4[_0xe55e('0x3b')]=_[_0xe55e('0x33')](_0x578601['query']);_0x3c56e4[_0xe55e('0x3c')]=_[_0xe55e('0x3e')](_0x3c56e4[_0xe55e('0x3a')],_0x3c56e4[_0xe55e('0x3b')]);_0x3a7b0b[_0xe55e('0x3d')]=_[_0xe55e('0x3e')](_0x3c56e4[_0xe55e('0x3a')],qs[_0xe55e('0x83')](_0x578601[_0xe55e('0x3b')][_0xe55e('0x83')]));_0x3a7b0b['attributes']=_0x3a7b0b[_0xe55e('0x3d')]['length']?_0x3a7b0b['attributes']:_0x3c56e4[_0xe55e('0x3a')];if(!_0x578601[_0xe55e('0x3b')]['hasOwnProperty'](_0xe55e('0x41'))){_0x3a7b0b[_0xe55e('0x23')]=qs[_0xe55e('0x23')](_0x578601[_0xe55e('0x3b')][_0xe55e('0x23')]);_0x3a7b0b[_0xe55e('0x22')]=qs[_0xe55e('0x22')](_0x578601[_0xe55e('0x3b')][_0xe55e('0x22')]);}_0x3a7b0b['order']=qs[_0xe55e('0x43')](_0x578601[_0xe55e('0x3b')][_0xe55e('0x43')]);_0x3a7b0b[_0xe55e('0x44')]=qs[_0xe55e('0x3c')](_['pick'](_0x578601[_0xe55e('0x3b')],_0x3c56e4[_0xe55e('0x3c')]));_0x3a7b0b[_0xe55e('0x44')]['ContactId']=_0x328e11['id'];if(_0x578601[_0xe55e('0x3b')][_0xe55e('0x62')]){_0x3a7b0b[_0xe55e('0x44')]=_['merge'](_0x3a7b0b[_0xe55e('0x44')],{'$or':_['map'](_0x3a7b0b[_0xe55e('0x3d')],function(_0x579b60){var _0x2bbd08={};_0x2bbd08[_0x579b60]={'$like':'%'+_0x578601['query'][_0xe55e('0x62')]+'%'};return _0x2bbd08;})});}_0x3a7b0b=_[_0xe55e('0x82')]({},_0x3a7b0b,_0x578601[_0xe55e('0xc2')]);return db['CmHopper'][_0xe55e('0x21')]({'where':_0x3a7b0b[_0xe55e('0x44')]})[_0xe55e('0x29')](function(_0x44daf1){_0x1dc729[_0xe55e('0x21')]=_0x44daf1;if(_0x578601[_0xe55e('0x3b')][_0xe55e('0xc7')]){_0x3a7b0b['include']=[{'all':!![]}];}return db[_0xe55e('0x9e')][_0xe55e('0x92')](_0x3a7b0b);})['then'](function(_0x35d3e0){_0x1dc729['rows']=_0x35d3e0;return _0x1dc729;});}})[_0xe55e('0x29')](respondWithFilteredResult(_0x3bcdf4,_0x3a7b0b))['catch'](handleError(_0x3bcdf4,null));};exports['getHopperHistories']=function(_0x142230,_0x3bf234,_0x572f4c){var _0x5acdbc={'raw':!![],'where':{}};var _0x4883a2={};var _0x214477={'count':0x0,'rows':[]};return db[_0xe55e('0x31')][_0xe55e('0x37')]({'where':{'id':_0x142230[_0xe55e('0x90')]['id']}})[_0xe55e('0x29')](handleEntityNotFound(_0x3bf234,null))[_0xe55e('0x29')](function(_0x4ee1d2){if(_0x4ee1d2){_0x4883a2[_0xe55e('0x3a')]=_['keys'](db['CmHopperHistory']['rawAttributes']);_0x4883a2[_0xe55e('0x3b')]=_[_0xe55e('0x33')](_0x142230[_0xe55e('0x3b')]);_0x4883a2[_0xe55e('0x3c')]=_[_0xe55e('0x3e')](_0x4883a2[_0xe55e('0x3a')],_0x4883a2[_0xe55e('0x3b')]);_0x5acdbc[_0xe55e('0x3d')]=_[_0xe55e('0x3e')](_0x4883a2['model'],qs[_0xe55e('0x83')](_0x142230['query'][_0xe55e('0x83')]));_0x5acdbc[_0xe55e('0x3d')]=_0x5acdbc['attributes'][_0xe55e('0x3f')]?_0x5acdbc['attributes']:_0x4883a2['model'];if(!_0x142230[_0xe55e('0x3b')][_0xe55e('0x40')](_0xe55e('0x41'))){_0x5acdbc['limit']=qs['limit'](_0x142230[_0xe55e('0x3b')][_0xe55e('0x23')]);_0x5acdbc[_0xe55e('0x22')]=qs[_0xe55e('0x22')](_0x142230[_0xe55e('0x3b')][_0xe55e('0x22')]);}_0x5acdbc[_0xe55e('0x42')]=qs[_0xe55e('0x43')](_0x142230[_0xe55e('0x3b')][_0xe55e('0x43')]);_0x5acdbc[_0xe55e('0x44')]=qs[_0xe55e('0x3c')](_[_0xe55e('0x45')](_0x142230[_0xe55e('0x3b')],_0x4883a2[_0xe55e('0x3c')]));_0x5acdbc[_0xe55e('0x44')][_0xe55e('0xc8')]=_0x4ee1d2['id'];if(_0x142230[_0xe55e('0x3b')]['filter']){_0x5acdbc[_0xe55e('0x44')]=_[_0xe55e('0x82')](_0x5acdbc['where'],{'$or':_[_0xe55e('0x7e')](_0x5acdbc[_0xe55e('0x3d')],function(_0x481be6){var _0x216ce5={};_0x216ce5[_0x481be6]={'$like':'%'+_0x142230[_0xe55e('0x3b')]['filter']+'%'};return _0x216ce5;})});}_0x5acdbc=_[_0xe55e('0x82')]({},_0x5acdbc,_0x142230[_0xe55e('0xc2')]);return db[_0xe55e('0xa9')][_0xe55e('0x21')]({'where':_0x5acdbc[_0xe55e('0x44')]})['then'](function(_0x3d0ac7){_0x214477[_0xe55e('0x21')]=_0x3d0ac7;if(_0x142230['query']['includeAll']){_0x5acdbc[_0xe55e('0xc9')]=[{'all':!![]}];}return db[_0xe55e('0xa9')]['findAll'](_0x5acdbc);})[_0xe55e('0x29')](function(_0x3c8640){_0x214477[_0xe55e('0x8d')]=_0x3c8640;return _0x214477;});}})['then'](respondWithFilteredResult(_0x3bf234,_0x5acdbc))[_0xe55e('0x8e')](handleError(_0x3bf234,null));};exports[_0xe55e('0xca')]=function(_0x2debe0,_0x4e0441,_0x63018a){var _0x40f1f1={'raw':!![],'where':{}};var _0x5195eb={};var _0x10bf4e={'count':0x0,'rows':[]};return db['CmContact'][_0xe55e('0x37')]({'where':{'id':_0x2debe0['params']['id']}})[_0xe55e('0x29')](handleEntityNotFound(_0x4e0441,null))['then'](function(_0xd12671){if(_0xd12671){_0x5195eb[_0xe55e('0x3a')]=_[_0xe55e('0x33')](db[_0xe55e('0xa8')][_0xe55e('0xc6')]);_0x5195eb['query']=_['keys'](_0x2debe0[_0xe55e('0x3b')]);_0x5195eb[_0xe55e('0x3c')]=_['intersection'](_0x5195eb[_0xe55e('0x3a')],_0x5195eb[_0xe55e('0x3b')]);_0x40f1f1[_0xe55e('0x3d')]=_[_0xe55e('0x3e')](_0x5195eb[_0xe55e('0x3a')],qs['fields'](_0x2debe0['query'][_0xe55e('0x83')]));_0x40f1f1['attributes']=_0x40f1f1[_0xe55e('0x3d')][_0xe55e('0x3f')]?_0x40f1f1[_0xe55e('0x3d')]:_0x5195eb['model'];if(!_0x2debe0['query'][_0xe55e('0x40')](_0xe55e('0x41'))){_0x40f1f1['limit']=qs[_0xe55e('0x23')](_0x2debe0[_0xe55e('0x3b')][_0xe55e('0x23')]);_0x40f1f1[_0xe55e('0x22')]=qs[_0xe55e('0x22')](_0x2debe0['query'][_0xe55e('0x22')]);}_0x40f1f1[_0xe55e('0x42')]=qs['sort'](_0x2debe0[_0xe55e('0x3b')][_0xe55e('0x43')]);_0x40f1f1[_0xe55e('0x44')]=qs[_0xe55e('0x3c')](_[_0xe55e('0x45')](_0x2debe0['query'],_0x5195eb['filters']));_0x40f1f1[_0xe55e('0x44')]['ContactId']=_0xd12671['id'];if(_0x2debe0[_0xe55e('0x3b')][_0xe55e('0x62')]){_0x40f1f1[_0xe55e('0x44')]=_[_0xe55e('0x82')](_0x40f1f1[_0xe55e('0x44')],{'$or':_[_0xe55e('0x7e')](_0x40f1f1[_0xe55e('0x3d')],function(_0x25b8b2){var _0x2616e7={};_0x2616e7[_0x25b8b2]={'$like':'%'+_0x2debe0[_0xe55e('0x3b')][_0xe55e('0x62')]+'%'};return _0x2616e7;})});}_0x40f1f1=_['merge']({},_0x40f1f1,_0x2debe0[_0xe55e('0xc2')]);return db[_0xe55e('0xa8')][_0xe55e('0x21')]({'where':_0x40f1f1[_0xe55e('0x44')]})[_0xe55e('0x29')](function(_0x220929){_0x10bf4e['count']=_0x220929;if(_0x2debe0[_0xe55e('0x3b')][_0xe55e('0xc7')]){_0x40f1f1['include']=[{'all':!![]}];}return db[_0xe55e('0xa8')][_0xe55e('0x92')](_0x40f1f1);})[_0xe55e('0x29')](function(_0x1c8856){_0x10bf4e[_0xe55e('0x8d')]=_0x1c8856;return _0x10bf4e;});}})[_0xe55e('0x29')](respondWithFilteredResult(_0x4e0441,_0x40f1f1))[_0xe55e('0x8e')](handleError(_0x4e0441,null));};exports[_0xe55e('0xcb')]=function(_0x22d54c,_0x5404a4,_0x4ee8fe){var _0x3101ae={'raw':!![],'where':{}};var _0x24f7eb={};var _0x1ecc3e={'count':0x0,'rows':[]};return db['CmContact'][_0xe55e('0x37')]({'where':{'id':_0x22d54c[_0xe55e('0x90')]['id']}})[_0xe55e('0x29')](handleEntityNotFound(_0x5404a4,null))[_0xe55e('0x29')](function(_0x4af190){if(_0x4af190){_0x24f7eb['model']=_['keys'](db[_0xe55e('0xb0')][_0xe55e('0xc6')]);_0x24f7eb['query']=_[_0xe55e('0x33')](_0x22d54c[_0xe55e('0x3b')]);_0x24f7eb[_0xe55e('0x3c')]=_['intersection'](_0x24f7eb[_0xe55e('0x3a')],_0x24f7eb[_0xe55e('0x3b')]);_0x3101ae['attributes']=_['intersection'](_0x24f7eb[_0xe55e('0x3a')],qs['fields'](_0x22d54c[_0xe55e('0x3b')]['fields']));_0x3101ae[_0xe55e('0x3d')]=_0x3101ae['attributes'][_0xe55e('0x3f')]?_0x3101ae['attributes']:_0x24f7eb[_0xe55e('0x3a')];if(!_0x22d54c['query'][_0xe55e('0x40')](_0xe55e('0x41'))){_0x3101ae[_0xe55e('0x23')]=qs['limit'](_0x22d54c[_0xe55e('0x3b')]['limit']);_0x3101ae[_0xe55e('0x22')]=qs[_0xe55e('0x22')](_0x22d54c[_0xe55e('0x3b')][_0xe55e('0x22')]);}_0x3101ae['order']=qs[_0xe55e('0x43')](_0x22d54c[_0xe55e('0x3b')][_0xe55e('0x43')]);_0x3101ae[_0xe55e('0x44')]=qs[_0xe55e('0x3c')](_[_0xe55e('0x45')](_0x22d54c[_0xe55e('0x3b')],_0x24f7eb[_0xe55e('0x3c')]));_0x3101ae[_0xe55e('0x44')][_0xe55e('0xc8')]=_0x4af190['id'];if(_0x22d54c[_0xe55e('0x3b')][_0xe55e('0x62')]){_0x3101ae[_0xe55e('0x44')]=_[_0xe55e('0x82')](_0x3101ae[_0xe55e('0x44')],{'$or':_[_0xe55e('0x7e')](_0x3101ae[_0xe55e('0x3d')],function(_0x3d7374){var _0x8366c3={};_0x8366c3[_0x3d7374]={'$like':'%'+_0x22d54c[_0xe55e('0x3b')][_0xe55e('0x62')]+'%'};return _0x8366c3;})});}_0x3101ae=_[_0xe55e('0x82')]({},_0x3101ae,_0x22d54c[_0xe55e('0xc2')]);return db[_0xe55e('0xb0')][_0xe55e('0x21')]({'where':_0x3101ae[_0xe55e('0x44')]})[_0xe55e('0x29')](function(_0x3f0b28){_0x1ecc3e[_0xe55e('0x21')]=_0x3f0b28;if(_0x22d54c[_0xe55e('0x3b')]['includeAll']){_0x3101ae[_0xe55e('0xc9')]=[{'all':!![]}];}return db[_0xe55e('0xb0')]['findAll'](_0x3101ae);})[_0xe55e('0x29')](function(_0x39e836){_0x1ecc3e[_0xe55e('0x8d')]=_0x39e836;return _0x1ecc3e;});}})[_0xe55e('0x29')](respondWithFilteredResult(_0x5404a4,_0x3101ae))[_0xe55e('0x8e')](handleError(_0x5404a4,null));};exports[_0xe55e('0xcc')]=function(_0x400fee,_0x17556e,_0x30ab94){try{if(!_0x400fee[_0xe55e('0x98')]['ListId']){throw new Error(_0xe55e('0xcd'));}if(!_0x400fee['body'][_0xe55e('0xce')]){throw new Error('No\x20association\x20keys\x20specified!');}if(!_0x400fee[_0xe55e('0x98')][_0xe55e('0xcf')]){throw new Error(_0xe55e('0xd0'));}if(!_0x400fee[_0xe55e('0x98')][_0xe55e('0xd1')]){throw new Error(_0xe55e('0xd2'));}var _0x3fc0be=_0x400fee['body']['binding_keys'][_0xe55e('0x55')](',');var _0x369eee=_0x400fee['body']['binding_values'][_0xe55e('0x55')](',');if(!_0x3fc0be[_0xe55e('0x3f')]||!_0x369eee[_0xe55e('0x3f')]||_0x3fc0be[_0xe55e('0x3f')]!==_0x369eee[_0xe55e('0x3f')]){throw new Error(_0xe55e('0xd3'));}_0x400fee['body']['fields']=_[_0xe55e('0xd4')](_0x3fc0be,_0x369eee);if(!_0x400fee[_0xe55e('0x98')][_0xe55e('0x83')]['phone']){throw new Error('No\x20phone\x20column\x20specified');}if(!_0x400fee[_0xe55e('0x98')][_0xe55e('0x83')][_0xe55e('0xd5')]){throw new Error(_0xe55e('0xd6'));}var _0x31874c=path[_0xe55e('0x9c')](config[_0xe55e('0xd7')],_0xe55e('0xd8'),_0x400fee['file'][_0xe55e('0xd9')]);fs[_0xe55e('0xda')](_0x31874c,parseInt(_0xe55e('0xdb'),0x8));var _0x433959=require(_0xe55e('0xdc'))[_0xe55e('0xdd')](path['join'](__dirname,_0xe55e('0xde')),[_0x31874c,_0x400fee[_0xe55e('0x98')][_0xe55e('0xce')],_0x400fee[_0xe55e('0x98')][_0xe55e('0xcf')],_0x400fee[_0xe55e('0x98')][_0xe55e('0x66')],_0x400fee[_0xe55e('0x98')][_0xe55e('0xdf')],_0x400fee[_0xe55e('0x98')]['duplicates'],_0x400fee[_0xe55e('0x98')][_0xe55e('0xd1')]]);return _0x17556e[_0xe55e('0x1f')](0xc8)['json']({'message':_0xe55e('0xe0'),'pid':_0x433959[_0xe55e('0xe1')]});}catch(_0x3667e1){return _0x17556e[_0xe55e('0x1f')](0x1f4)['send'](_0x3667e1);}};exports['upload']=function(_0x55cf97,_0x7cd809,_0x528d1b){var _0xd0ce12=fs[_0xe55e('0xe2')](_0x55cf97['file'][_0xe55e('0x9')]);Papa[_0xe55e('0xe3')](_0xd0ce12,{'header':!![],'skipEmptyLines':!![],'preview':0x1,'complete':function(_0x45cdd2){return _0x7cd809[_0xe55e('0x1f')](0xc8)['json']({'file':_0x55cf97[_0xe55e('0xe4')],'fields':_0x45cdd2[_0xe55e('0xe5')][_0xe55e('0x83')]});}});};exports[_0xe55e('0xe6')]=function(_0x56c902,_0x484f73,_0x5d3267){return db['User']['findAll']({'raw':!![],'attributes':['id'],'where':{'role':'agent'}})[_0xe55e('0x29')](function(_0x1f5176){var _0x267986=![];if(!_0x56c902[_0xe55e('0x98')][_0xe55e('0x66')]){throw new Error('No\x20ListId\x20specified');}if(!_0x56c902[_0xe55e('0x98')][_0xe55e('0xe7')][_0xe55e('0xc0')]){throw new Error('No\x20phone\x20column\x20specified');}if(!_0x56c902[_0xe55e('0x98')][_0xe55e('0xe7')][_0xe55e('0xd5')]){throw new Error('No\x20firstName\x20column\x20specified');}if(!_0x56c902[_0xe55e('0x98')][_0xe55e('0xd1')]){throw new Error(_0xe55e('0xd2'));}var _0xf3b7d4=require(_0xe55e('0xdc'))[_0xe55e('0xdd')](path['join'](__dirname,_0xe55e('0xe8')),[_0x56c902['params']['id'],JSON[_0xe55e('0xe9')](_0x56c902[_0xe55e('0x98')]),JSON[_0xe55e('0xe9')](_0x1f5176)]);_0xf3b7d4['on'](_0xe55e('0xea'),function(_0x1f933b){_0x267986=!![];return _0x484f73[_0xe55e('0x1f')](0xc8)[_0xe55e('0x20')]({'message':_0xe55e('0xeb'),'pid':_0xf3b7d4[_0xe55e('0xe1')]});});_0xf3b7d4['on'](_0xe55e('0xec'),function(_0x5e6835){if(_0x5e6835&&!_0x267986){return _0x484f73['status'](0x1f4)[_0xe55e('0x20')]({'message':_0xe55e('0xed'),'pid':_0xf3b7d4['pid']});}});})[_0xe55e('0x8e')](handleError(_0x484f73,null));};