e5a34a5792a169babafa9f0b52eb4453a8e0ced9
[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 _0x54da=['isArray','[CmContact][merge]\x20to\x20%s\x20from\x20%s','CmHopper','[CmContact][merge][destroy][CmHopper],\x20%s','CmHopperBlack','[CmContact][merge][destroy][CmHopperBlack],\x20%s','ChatInteraction','ChatMessage','ChatOfflineMessage','MailMessage','MailInteraction','SmsInteraction','SmsMessage','FaxInteraction','FaxMessage','OpenchannelMessage','CmHopperFinal','CmHopperHistory','ReportAgentPreview','VoiceCallReport','ChatQueueReport','FaxQueueReport','MailQueueReport','OpenchannelQueueReport','SmsQueueReport','JscriptySessionReport','WhatsappInteraction','WhatsappMessage','WhatsappQueueReport','create','join','isNil','dialTimezone','timezones','utcOffset','additionalPhones','bulkCreate','each','duplicates','where','$or','push','ListId','spread','all','show','Tag','Tags','color','tag','CmContactHasItem','Phones','ItemType','sequelize','literal','Phones.OrderBy','$and','omit','map','format','cf_%d','CmCustomField','isEmpty','table','cm_contacts','setFields','id\x20=\x20?','toParam','phone','getTags','findOne','model','rawAttributes','filters','intersection','attributes','fields','order','sort','pick','filter','options','setTags','ids','setAdditionalPhones','OrderBy','items','item_types','ItemTypeId','description','contact\x20phone\x20exists','item','ContactItemType','`ItemType`.OrderBy','CmHopperId','getAdditionalPhones','PHONE','duplicateAdditionalPhones','CmContactId','toContactId','rescheduleAdditionalPhones','getHoppers','nolimit','ContactId','count','includeAll','rows','getHopperHistories','include','getHopperFinals','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','split','zipObject','No\x20phone\x20column\x20specified','root','server/files/tmp','filename','chmodSync','0777','child_process','fork','../../components/import/cm/csv','CompanyId','json','File\x20uploaded\x20correctly!','createReadStream','file','meta','import','User','agent','binding','firstName','../../components/import/cm/csv2','stringify','pid','exit','error\x20child\x20process','importUpdates','No\x20firstName\x20column\x20specified','start\x20child\x20process\x20correctly!','getJourney','mail','openchannel','voice','resolve','channel','toLowerCase','Invalid\x20channel','range','parse','isValid','Invalid\x20date\x20for\x20range\x20from\x20filter','Invalid\x20createdAt\x20filter','uniqueid','destination','callerid','starttime','endtime','duration','note','createdAt','userDisposition','userSecondDisposition','userThirdDisposition','findAndCountAll','fullname','startCase','Website','closedAt','disposition','thirdDisposition','UserId','key','Owner','chat','browserName','deviceModel','osName','ratingMessage','ratingType','referer','subject','substatus','externalUrl','threadId','sortBy','reverse','value','moment','bluebird','util','path','ioredis','../../components/contacts','../../components/parsers/qs','../../config/logger','../../config/environment','../../config/environment/shared','../../mysqldb','redis','defaults','./cmContact.socket','register','status','offset','undefined','limit','set','Content-Range','update','then','end','error','stack','name','send','describe','getOptions','findAll','query','user','catch','destroy','CmContact','find','params','tags','keys','length','startsWith','cf_','columnName','displayName','analytics','alias','custom','type','values','info','Custom\x20field\x20%s\x20not\x20found\x20on\x20cm_contacts\x20table','forEach','hasOwnProperty','merge','body','from','get','mergeWith'];(function(_0x295e0f,_0x1c4d1c){var _0x2745ba=function(_0x56a2a9){while(--_0x56a2a9){_0x295e0f['push'](_0x295e0f['shift']());}};_0x2745ba(++_0x1c4d1c);}(_0x54da,0x1c5));var _0xa54d=function(_0x2b37b5,_0x4f677b){_0x2b37b5=_0x2b37b5-0x0;var _0x36df6d=_0x54da[_0x2b37b5];return _0x36df6d;};'use strict';var moment=require(_0xa54d('0x0'));var BPromise=require(_0xa54d('0x1'));var util=require(_0xa54d('0x2'));var path=require(_0xa54d('0x3'));var fs=require('fs');var _=require('lodash');var squel=require('squel');var Papa=require('papaparse');var Redis=require(_0xa54d('0x4'));var contacts=require(_0xa54d('0x5'));var qs=require(_0xa54d('0x6'));var logger=require(_0xa54d('0x7'))('api');var config=require(_0xa54d('0x8'));var shared=require(_0xa54d('0x9'));var db=require(_0xa54d('0xa'))['db'];config[_0xa54d('0xb')]=_[_0xa54d('0xc')](config[_0xa54d('0xb')],{'host':'localhost','port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0xa54d('0xb')]));require(_0xa54d('0xd'))[_0xa54d('0xe')](socket);function respondWithResult(_0x54824c,_0x2ae123){_0x2ae123=_0x2ae123||0xc8;return function(_0x9b94d3){if(_0x9b94d3){return _0x54824c[_0xa54d('0xf')](_0x2ae123)['json'](_0x9b94d3);}};}function respondWithFilteredResult(_0x3591f8,_0xbf698a){return function(_0x2621ef){if(_0x2621ef){var _0xea2e14=typeof _0xbf698a[_0xa54d('0x10')]===_0xa54d('0x11')&&typeof _0xbf698a[_0xa54d('0x12')]===_0xa54d('0x11');var _0x3c469f=_0x2621ef['count'];var _0x2edba4=_0xea2e14?0x0:_0xbf698a['offset'];var _0x1e73e8=_0xea2e14?_0x2621ef['count']:_0xbf698a[_0xa54d('0x10')]+_0xbf698a[_0xa54d('0x12')];var _0xf34acc;if(_0x1e73e8>=_0x3c469f){_0x1e73e8=_0x3c469f;_0xf34acc=0xc8;}else{_0xf34acc=0xce;}_0x3591f8['status'](_0xf34acc);return _0x3591f8[_0xa54d('0x13')](_0xa54d('0x14'),_0x2edba4+'-'+_0x1e73e8+'/'+_0x3c469f)['json'](_0x2621ef);}return null;};}function saveUpdates(_0x247102){return function(_0x3a2a0f){if(_0x3a2a0f){return _0x3a2a0f[_0xa54d('0x15')](_0x247102)['then'](function(_0x37c826){return _0x37c826;});}return null;};}function removeEntity(_0x216656){return function(_0x218fd0){if(_0x218fd0){return _0x218fd0['destroy']()[_0xa54d('0x16')](function(){_0x216656[_0xa54d('0xf')](0xcc)[_0xa54d('0x17')]();});}};}function handleEntityNotFound(_0x23e2ac){return function(_0x2e388a){if(!_0x2e388a){_0x23e2ac['sendStatus'](0x194);}return _0x2e388a;};}function handleError(_0x4aafea,_0x6da888){_0x6da888=_0x6da888||0x1f4;return function(_0x5662ea){logger[_0xa54d('0x18')](_0x5662ea[_0xa54d('0x19')]);if(_0x5662ea[_0xa54d('0x1a')]){delete _0x5662ea['name'];}_0x4aafea[_0xa54d('0xf')](_0x6da888)[_0xa54d('0x1b')](_0x5662ea);};}exports['index']=function(_0x59dc29,_0x76df9b){var _0x3e83a0={};return contacts[_0xa54d('0x1c')]()[_0xa54d('0x16')](function(_0x488de5){_0x3e83a0=qs[_0xa54d('0x1d')](_0x488de5,_0x59dc29);return contacts[_0xa54d('0x1e')](_0x59dc29[_0xa54d('0x1f')],_0x59dc29[_0xa54d('0x20')],_0x3e83a0,_0x488de5);})[_0xa54d('0x16')](respondWithFilteredResult(_0x76df9b,_0x3e83a0))[_0xa54d('0x21')](handleError(_0x76df9b,null));};exports[_0xa54d('0x22')]=function(_0x5ecfb5,_0x1f433c){return db[_0xa54d('0x23')][_0xa54d('0x24')]({'where':{'id':_0x5ecfb5[_0xa54d('0x25')]['id']}})[_0xa54d('0x16')](handleEntityNotFound(_0x1f433c,null))[_0xa54d('0x16')](removeEntity(_0x1f433c,null))[_0xa54d('0x21')](handleError(_0x1f433c,null));};exports[_0xa54d('0x1c')]=function(_0x242f2e,_0x539c26){return db[_0xa54d('0x23')][_0xa54d('0x1c')]()[_0xa54d('0x16')](function(_0x262dc0){delete _0x262dc0[_0xa54d('0x26')];for(var _0x5def55=0x0;_0x5def55<Object[_0xa54d('0x27')](_0x262dc0)[_0xa54d('0x28')];_0x5def55++){var _0x4da7ea=Object[_0xa54d('0x27')](_0x262dc0)[_0x5def55];if(!_[_0xa54d('0x29')](_0x4da7ea,_0xa54d('0x2a'))){_0x262dc0[_0x4da7ea][_0xa54d('0x2b')]=_0x4da7ea;_0x262dc0[_0x4da7ea][_0xa54d('0x2c')]=_0x4da7ea;}}return _0x262dc0;})['then'](function(_0x4a3cd0){var _0x33cd09={'where':Boolean(_0x242f2e[_0xa54d('0x1f')][_0xa54d('0x2d')])===!![]?undefined:{'$or':[{'ListId':_0x242f2e[_0xa54d('0x1f')]['id']},{'ListId':null}]},'raw':!![]};return db['CmCustomField'][_0xa54d('0x1e')](_0x33cd09)['then'](function(_0x1a2373){for(var _0x178d28=0x0;_0x178d28<_0x1a2373['length'];_0x178d28++){var _0x1e07d8=_0xa54d('0x2a')+_0x1a2373[_0x178d28]['id'];if(_0x4a3cd0[_0x1e07d8]){_0x4a3cd0[_0x1e07d8][_0xa54d('0x2b')]=_0x1e07d8;_0x4a3cd0[_0x1e07d8][_0xa54d('0x2c')]=_0x1a2373[_0x178d28][_0xa54d('0x2e')];_0x4a3cd0[_0x1e07d8][_0xa54d('0x2f')]={'type':_0x1a2373[_0x178d28][_0xa54d('0x30')],'values':_0x1a2373[_0x178d28][_0xa54d('0x31')]};}else{logger[_0xa54d('0x32')](_0xa54d('0x33'),_0x1e07d8);}}Object[_0xa54d('0x27')](_0x4a3cd0)[_0xa54d('0x34')](function(_0x43b9b7){if(!_0x4a3cd0[_0x43b9b7][_0xa54d('0x35')]('columnName')){delete _0x4a3cd0[_0x43b9b7];}});return _0x4a3cd0;});})[_0xa54d('0x16')](respondWithResult(_0x539c26,null))['catch'](handleError(_0x539c26,null));};exports[_0xa54d('0x36')]=function(_0x1a1967,_0x197872){var _0x4c03d3;var _0x21b8b1;var _0x214929;if(_0x1a1967[_0xa54d('0x37')]['id']){delete _0x1a1967[_0xa54d('0x37')]['id'];}return db[_0xa54d('0x23')][_0xa54d('0x1e')]({'where':{'id':[_0x1a1967[_0xa54d('0x37')]['to'],_0x1a1967[_0xa54d('0x37')][_0xa54d('0x38')]]}})['then'](function(_0x475450){if(_0x475450){if(_0x475450[_0xa54d('0x28')]!==0x2){return null;}_0x475450[0x0]=_0x475450[0x0]['get']({'plain':!![]});_0x475450[0x1]=_0x475450[0x1][_0xa54d('0x39')]({'plain':!![]});delete _0x475450[0x0]['id'];delete _0x475450[0x1]['id'];return _[_0xa54d('0x3a')](_0x475450[0x0],_0x475450[0x1],function(_0x5eb019,_0x35aa18){if(Array[_0xa54d('0x3b')](_0x35aa18)&&!_0x35aa18[_0xa54d('0x28')]){return _0x5eb019;}else if(!_0x35aa18){return _0x5eb019;}});}})[_0xa54d('0x16')](handleEntityNotFound(_0x197872,null))[_0xa54d('0x16')](function(_0xb96437){if(_0xb96437){if(_0xb96437[_0xa54d('0x26')]&&_[_0xa54d('0x3b')](_0xb96437[_0xa54d('0x26')])){_0xb96437['tags']=_0xb96437['tags']['join']();}logger['info'](_0xa54d('0x3c'),_0x1a1967[_0xa54d('0x37')]['to'],_0x1a1967[_0xa54d('0x37')][_0xa54d('0x38')]);return db[_0xa54d('0x3d')]['destroy']({'where':{'ContactId':[_0x1a1967['body']['to'],_0x1a1967[_0xa54d('0x37')][_0xa54d('0x38')]]}})['then'](function(_0xb3d439){logger[_0xa54d('0x32')](_0xa54d('0x3e'),_0xb3d439);return db[_0xa54d('0x3f')][_0xa54d('0x22')]({'where':{'ContactId':[_0x1a1967[_0xa54d('0x37')]['to'],_0x1a1967[_0xa54d('0x37')][_0xa54d('0x38')]]}})['then'](function(_0x2b079a){logger['info'](_0xa54d('0x40'),_0x2b079a);return db[_0xa54d('0x23')]['create'](_0xb96437);});});}})['then'](function(_0x4f8d25){if(_0x4f8d25){_0x4c03d3=_0x4f8d25;_0x21b8b1={'ContactId':_0x4c03d3['id']};_0x214929={'where':{'ContactId':[_0x1a1967[_0xa54d('0x37')]['to'],_0x1a1967[_0xa54d('0x37')]['from']]}};return db[_0xa54d('0x41')]['update'](_0x21b8b1,_0x214929);}})[_0xa54d('0x16')](function(){if(_0x4c03d3){return db[_0xa54d('0x42')][_0xa54d('0x15')](_0x21b8b1,_0x214929);}})[_0xa54d('0x16')](function(){if(_0x4c03d3){return db[_0xa54d('0x43')][_0xa54d('0x15')](_0x21b8b1,_0x214929);}})[_0xa54d('0x16')](function(){if(_0x4c03d3){return db['MailInteraction'][_0xa54d('0x15')](_0x21b8b1,_0x214929);}})[_0xa54d('0x16')](function(){if(_0x4c03d3){return db[_0xa54d('0x44')][_0xa54d('0x15')](_0x21b8b1,_0x214929);}})[_0xa54d('0x16')](function(){if(_0x4c03d3){return db[_0xa54d('0x45')][_0xa54d('0x15')](_0x21b8b1,_0x214929);}})['then'](function(){if(_0x4c03d3){return db[_0xa54d('0x44')][_0xa54d('0x15')](_0x21b8b1,_0x214929);}})[_0xa54d('0x16')](function(){if(_0x4c03d3){return db[_0xa54d('0x46')][_0xa54d('0x15')](_0x21b8b1,_0x214929);}})[_0xa54d('0x16')](function(){if(_0x4c03d3){return db[_0xa54d('0x47')][_0xa54d('0x15')](_0x21b8b1,_0x214929);}})[_0xa54d('0x16')](function(){if(_0x4c03d3){return db[_0xa54d('0x48')][_0xa54d('0x15')](_0x21b8b1,_0x214929);}})[_0xa54d('0x16')](function(){if(_0x4c03d3){return db[_0xa54d('0x49')][_0xa54d('0x15')](_0x21b8b1,_0x214929);}})['then'](function(){if(_0x4c03d3){return db['OpenchannelInteraction'][_0xa54d('0x15')](_0x21b8b1,_0x214929);}})[_0xa54d('0x16')](function(){if(_0x4c03d3){return db[_0xa54d('0x4a')][_0xa54d('0x15')](_0x21b8b1,_0x214929);}})[_0xa54d('0x16')](function(){if(_0x4c03d3){return db['CmContactHasItem'][_0xa54d('0x15')]({'CmContactId':_0x4c03d3['id']},{'where':{'CmContactId':[_0x1a1967[_0xa54d('0x37')]['to'],_0x1a1967[_0xa54d('0x37')][_0xa54d('0x38')]]}});}})[_0xa54d('0x16')](function(){if(_0x4c03d3){return db[_0xa54d('0x4b')][_0xa54d('0x15')](_0x21b8b1,_0x214929);}})[_0xa54d('0x16')](function(){if(_0x4c03d3){return db[_0xa54d('0x4c')][_0xa54d('0x15')](_0x21b8b1,_0x214929);}})[_0xa54d('0x16')](function(){if(_0x4c03d3){return db[_0xa54d('0x4d')]['update'](_0x21b8b1,_0x214929);}})[_0xa54d('0x16')](function(){if(_0x4c03d3){return db[_0xa54d('0x4e')]['update'](_0x21b8b1,_0x214929);}})[_0xa54d('0x16')](function(){if(_0x4c03d3){return db[_0xa54d('0x4f')][_0xa54d('0x15')](_0x21b8b1,_0x214929);}})[_0xa54d('0x16')](function(){if(_0x4c03d3){return db[_0xa54d('0x50')]['update'](_0x21b8b1,_0x214929);}})[_0xa54d('0x16')](function(){if(_0x4c03d3){return db[_0xa54d('0x51')][_0xa54d('0x15')](_0x21b8b1,_0x214929);}})[_0xa54d('0x16')](function(){if(_0x4c03d3){return db[_0xa54d('0x52')][_0xa54d('0x15')](_0x21b8b1,_0x214929);}})[_0xa54d('0x16')](function(){if(_0x4c03d3){return db[_0xa54d('0x53')][_0xa54d('0x15')](_0x21b8b1,_0x214929);}})[_0xa54d('0x16')](function(){if(_0x4c03d3){return db[_0xa54d('0x54')]['update'](_0x21b8b1,_0x214929);}})['then'](function(){if(_0x4c03d3){return db[_0xa54d('0x55')][_0xa54d('0x15')](_0x21b8b1,_0x214929);}})['then'](function(){if(_0x4c03d3){return db[_0xa54d('0x56')][_0xa54d('0x15')](_0x21b8b1,_0x214929);}})['then'](function(){if(_0x4c03d3){return db[_0xa54d('0x57')]['update'](_0x21b8b1,_0x214929);}})[_0xa54d('0x16')](function(){if(_0x4c03d3){return db[_0xa54d('0x23')][_0xa54d('0x22')]({'where':{'id':[_0x1a1967['body']['to'],_0x1a1967['body'][_0xa54d('0x38')]]}});}})['then'](function(){if(_0x4c03d3){return _0x4c03d3;}})[_0xa54d('0x16')](respondWithResult(_0x197872,null))['catch'](handleError(_0x197872,null));};exports[_0xa54d('0x58')]=function(_0x186b67,_0x3cfa02){return db[_0xa54d('0x23')][_0xa54d('0x1c')]()[_0xa54d('0x16')](function(_0x43ef5e){if(_0x186b67[_0xa54d('0x37')]['tags']&&_[_0xa54d('0x3b')](_0x186b67[_0xa54d('0x37')][_0xa54d('0x26')])){if(_0x186b67['body'][_0xa54d('0x26')][_0xa54d('0x28')]){_0x186b67[_0xa54d('0x37')]['tags']=_0x186b67['body'][_0xa54d('0x26')][_0xa54d('0x59')](';')+';';}else{_0x186b67[_0xa54d('0x37')][_0xa54d('0x26')]=null;}}else{_0x186b67[_0xa54d('0x37')][_0xa54d('0x26')]=null;}if(!_[_0xa54d('0x5a')](_0x186b67[_0xa54d('0x37')][_0xa54d('0x5b')])){var _0x365673=_0x186b67[_0xa54d('0x37')]['dialTimezone'];if(!_[_0xa54d('0x5a')](shared[_0xa54d('0x5c')][_0x365673]))_0x186b67['body']['utcOffset']=shared[_0xa54d('0x5c')][_0x365673][_0xa54d('0x5d')];}return db[_0xa54d('0x23')][_0xa54d('0x58')](_0x186b67['body'],{'fields':_[_0xa54d('0x27')](_0x43ef5e),'raw':!![]});})['then'](function(_0x3a96cf){if(_0x186b67[_0xa54d('0x37')][_0xa54d('0x5e')]){return insertAdditionalPhones(_0x3a96cf,_0x186b67[_0xa54d('0x37')][_0xa54d('0x5e')]);}else{return _0x3a96cf;}})[_0xa54d('0x16')](respondWithResult(_0x3cfa02,0xc9))[_0xa54d('0x21')](handleError(_0x3cfa02,null));};exports[_0xa54d('0x5f')]=function(_0x47d069,_0x5afe3e){var _0x26af33=0x0;var _0x4c6dc8=0x0;var _0x1b108e=0x0;var _0x49bb31=[];return db[_0xa54d('0x23')]['describe']()[_0xa54d('0x16')](function(_0x2f46a6){return BPromise[_0xa54d('0x60')](_0x47d069[_0xa54d('0x37')],function(_0x2d5735){var _0x4ed277={'where':{'$or':[]},'defaults':_0x2d5735,'fields':_[_0xa54d('0x27')](_0x2f46a6),'raw':!![]};if(_0x2d5735[_0xa54d('0x61')]){for(var _0x20c3e7=0x0;_0x20c3e7<_0x2d5735[_0xa54d('0x61')][_0xa54d('0x28')];_0x20c3e7++){var _0x102759={};_0x102759[_0x2d5735[_0xa54d('0x61')][_0x20c3e7]]=_0x2d5735[_0x2d5735[_0xa54d('0x61')][_0x20c3e7]];_0x4ed277[_0xa54d('0x62')][_0xa54d('0x63')][_0xa54d('0x64')](_0x102759);}_0x4ed277[_0xa54d('0x62')][_0xa54d('0x65')]=_0x2d5735[_0xa54d('0x65')];}return db[_0xa54d('0x23')]['findOrCreate'](_0x4ed277)[_0xa54d('0x66')](function(_0x3cb54b,_0x305fab){if(_0x305fab){if(_0x2d5735['hasOwnProperty'](_0xa54d('0x5e'))){_0x49bb31['push']({'contact':_0x3cb54b,'additionalPhones':_0x2d5735['additionalPhones']});}_0x26af33++;}else{_0x1b108e++;}})[_0xa54d('0x21')](function(){_0x4c6dc8++;});});})['then'](function(_0x32c83b){if(_0x32c83b){if(_0x49bb31[_0xa54d('0x28')]>0x0){return new Promise(function(_0x26dc16){var _0x166673=[];for(var _0xc83e12=0x0;_0xc83e12<_0x49bb31['length'];_0xc83e12++){_0x166673[_0xa54d('0x64')](insertAdditionalPhones(_0x49bb31[_0xc83e12]['contact'],_0x49bb31[_0xc83e12][_0xa54d('0x5e')]));}Promise[_0xa54d('0x67')](_0x166673)['then'](function(){_0x26dc16(0x1);});})[_0xa54d('0x16')](function(){return{'success':_0x26af33,'failure':_0x4c6dc8,'duplicates':_0x1b108e};});}else{return{'success':_0x26af33,'failure':_0x4c6dc8,'duplicates':_0x1b108e};}}})['then'](respondWithResult(_0x5afe3e,0xc9))[_0xa54d('0x21')](handleError(_0x5afe3e,null));};exports[_0xa54d('0x68')]=function(_0x4f4ba0,_0x50a08b){var _0x445081;return db['CmContact'][_0xa54d('0x1c')]()[_0xa54d('0x16')](function(_0x1f01d4){return db['CmContact'][_0xa54d('0x24')]({'where':{'id':_0x4f4ba0[_0xa54d('0x25')]['id']},'include':[{'model':db[_0xa54d('0x69')],'as':_0xa54d('0x6a'),'attributes':['id',_0xa54d('0x1a'),_0xa54d('0x6b')],'required':_0x4f4ba0[_0xa54d('0x1f')][_0xa54d('0x6c')]?!![]:![]},{'model':db[_0xa54d('0x6d')],'as':_0xa54d('0x6e'),'where':{'CmContactId':_0x4f4ba0[_0xa54d('0x25')]['id']},'required':![],'include':[{'model':db['ContactItemType'],'as':_0xa54d('0x6f')}]}],'order':[db[_0xa54d('0x70')][_0xa54d('0x71')](_0xa54d('0x72'))],'attributes':_['keys'](_0x1f01d4)});})[_0xa54d('0x16')](function(_0x5f146a){if(!_[_0xa54d('0x5a')](_0x5f146a)){_0x445081=_0x5f146a[_0xa54d('0x39')]({'plain':!![]});var _0x41c569={'where':{'$and':[{'ListId':{'$ne':null}}]}};if(_0x5f146a&&_0x5f146a[_0xa54d('0x65')]){if(_0x5f146a[_0xa54d('0x65')]){_0x41c569[_0xa54d('0x62')][_0xa54d('0x73')][_0xa54d('0x64')]({'ListId':{'$ne':_0x5f146a[_0xa54d('0x65')]}});}}return db['CmCustomField'][_0xa54d('0x1e')](_0x41c569);}})[_0xa54d('0x16')](function(_0x22861e){if(!_[_0xa54d('0x5a')](_0x22861e)){return _[_0xa54d('0x74')](_0x445081,_[_0xa54d('0x75')](_0x22861e,function(_0x3d8eb3){return util[_0xa54d('0x76')](_0xa54d('0x77'),_0x3d8eb3['id']);}));}})[_0xa54d('0x16')](handleEntityNotFound(_0x50a08b,null))[_0xa54d('0x16')](respondWithResult(_0x50a08b,null))[_0xa54d('0x21')](handleError(_0x50a08b,null));};exports[_0xa54d('0x15')]=function(_0x329a38,_0x456c41){var _0xabfa2;if(_0x329a38['body']['id']){delete _0x329a38[_0xa54d('0x37')]['id'];}if(!_[_0xa54d('0x5a')](_0x329a38[_0xa54d('0x37')][_0xa54d('0x5b')])){var _0x280f46=_0x329a38[_0xa54d('0x37')][_0xa54d('0x5b')];if(!_[_0xa54d('0x5a')](shared[_0xa54d('0x5c')][_0x280f46]))_0x329a38[_0xa54d('0x37')][_0xa54d('0x5d')]=shared[_0xa54d('0x5c')][_0x280f46][_0xa54d('0x5d')];}return db['CmContact']['find']({'where':{'id':_0x329a38[_0xa54d('0x25')]['id']}})[_0xa54d('0x16')](handleEntityNotFound(_0x456c41,null))[_0xa54d('0x16')](saveUpdates(_0x329a38[_0xa54d('0x37')],null))[_0xa54d('0x16')](function(_0x437f19){_0xabfa2=_0x437f19;var _0x362a03={'where':{'$and':[{'ListId':{'$ne':null}}]}};if(_0x437f19&&_0x437f19['ListId']){if(_0x437f19[_0xa54d('0x65')]){_0x362a03[_0xa54d('0x62')]['$and'][_0xa54d('0x64')]({'ListId':{'$ne':_0x437f19[_0xa54d('0x65')]}});}}return db[_0xa54d('0x78')][_0xa54d('0x1e')](_0x362a03);})[_0xa54d('0x16')](function(_0x14249a){if(_0x14249a){return _[_0xa54d('0x74')](_['pickBy'](_0x329a38[_0xa54d('0x37')],function(_0x1d6040,_0x150715){return _[_0xa54d('0x29')](_0x150715,_0xa54d('0x2a'));}),_[_0xa54d('0x75')](_0x14249a,function(_0x26fc81){return util['format'](_0xa54d('0x77'),_0x26fc81['id']);}));}})[_0xa54d('0x16')](function(_0x4741e7){if(_0x4741e7&&!_[_0xa54d('0x79')](_0x4741e7)){var _0x1b0c7a=squel[_0xa54d('0x15')]()[_0xa54d('0x7a')](_0xa54d('0x7b'))[_0xa54d('0x7c')](_0x4741e7)[_0xa54d('0x62')](_0xa54d('0x7d'),_0x329a38[_0xa54d('0x25')]['id'])[_0xa54d('0x7e')]();return db['sequelize']['query'](_0x1b0c7a['text'],{'replacements':_0x1b0c7a[_0xa54d('0x31')]});}})[_0xa54d('0x16')](function(){if(_0x329a38[_0xa54d('0x37')][_0xa54d('0x7f')]&&_0xabfa2){return db[_0xa54d('0x3d')][_0xa54d('0x15')]({'phone':_0x329a38['body'][_0xa54d('0x7f')],'OrderBy':0x0},{'where':{'ContactId':_0xabfa2['id']}});}})[_0xa54d('0x16')](function(){return _0xabfa2;})[_0xa54d('0x16')](respondWithResult(_0x456c41,null))['catch'](handleError(_0x456c41,null));};exports[_0xa54d('0x80')]=function(_0x543314,_0x185df7){var _0x200ad7={};var _0x49a0c4={};var _0x232fc1;var _0x4e17e9;return db[_0xa54d('0x23')][_0xa54d('0x81')]({'where':{'id':_0x543314[_0xa54d('0x25')]['id']}})[_0xa54d('0x16')](handleEntityNotFound(_0x185df7,null))['then'](function(_0x59b3b9){if(_0x59b3b9){_0x232fc1=_0x59b3b9;_0x49a0c4[_0xa54d('0x82')]=_[_0xa54d('0x27')](db[_0xa54d('0x69')][_0xa54d('0x83')]);_0x49a0c4[_0xa54d('0x1f')]=_['keys'](_0x543314[_0xa54d('0x1f')]);_0x49a0c4[_0xa54d('0x84')]=_[_0xa54d('0x85')](_0x49a0c4[_0xa54d('0x82')],_0x49a0c4[_0xa54d('0x1f')]);_0x200ad7[_0xa54d('0x86')]=_['intersection'](_0x49a0c4[_0xa54d('0x82')],qs[_0xa54d('0x87')](_0x543314[_0xa54d('0x1f')][_0xa54d('0x87')]));_0x200ad7[_0xa54d('0x86')]=_0x200ad7['attributes'][_0xa54d('0x28')]?_0x200ad7[_0xa54d('0x86')]:_0x49a0c4['model'];_0x200ad7[_0xa54d('0x88')]=qs[_0xa54d('0x89')](_0x543314['query'][_0xa54d('0x89')]);_0x200ad7[_0xa54d('0x62')]=qs[_0xa54d('0x84')](_[_0xa54d('0x8a')](_0x543314[_0xa54d('0x1f')],_0x49a0c4[_0xa54d('0x84')]));if(_0x543314[_0xa54d('0x1f')][_0xa54d('0x8b')]){_0x200ad7[_0xa54d('0x62')]=_['merge'](_0x200ad7[_0xa54d('0x62')],{'$or':_[_0xa54d('0x75')](_0x200ad7[_0xa54d('0x86')],function(_0x1b0afc){var _0x5641d1={};_0x5641d1[_0x1b0afc]={'$like':'%'+_0x543314['query'][_0xa54d('0x8b')]+'%'};return _0x5641d1;})});}_0x200ad7=_['merge']({},_0x200ad7,_0x543314[_0xa54d('0x8c')]);return _0x232fc1[_0xa54d('0x80')](_0x200ad7);}})[_0xa54d('0x16')](function(_0x4a8cad){if(_0x4a8cad){_0x4e17e9=_0x4a8cad[_0xa54d('0x28')];if(!_0x543314[_0xa54d('0x1f')]['hasOwnProperty']('nolimit')){_0x200ad7[_0xa54d('0x12')]=qs['limit'](_0x543314[_0xa54d('0x1f')][_0xa54d('0x12')]);_0x200ad7['offset']=qs[_0xa54d('0x10')](_0x543314[_0xa54d('0x1f')]['offset']);}return _0x232fc1[_0xa54d('0x80')](_0x200ad7);}})[_0xa54d('0x16')](function(_0x571b97){if(_0x571b97){return _0x571b97?{'count':_0x4e17e9,'rows':_0x571b97}:null;}})[_0xa54d('0x16')](respondWithResult(_0x185df7,null))[_0xa54d('0x21')](handleError(_0x185df7,null));};exports[_0xa54d('0x8d')]=function(_0x2ebd19,_0x286089){if(_0x2ebd19['body']['id']){delete _0x2ebd19[_0xa54d('0x37')]['id'];}return db['CmContact'][_0xa54d('0x81')]({'where':{'id':_0x2ebd19[_0xa54d('0x25')]['id']}})['then'](handleEntityNotFound(_0x286089,null))[_0xa54d('0x16')](function(_0x2e7036){if(_0x2e7036){return _0x2e7036[_0xa54d('0x8d')](_0x2ebd19[_0xa54d('0x37')][_0xa54d('0x8e')]||[]);}return null;})[_0xa54d('0x16')](respondWithResult(_0x286089,null))['catch'](handleError(_0x286089,null));};exports[_0xa54d('0x8f')]=function(_0x14a8a1,_0x2a398e){var _0x39aeb5=[];_0x39aeb5[_0xa54d('0x64')](addAdditionalPhones(_0x14a8a1[_0xa54d('0x37')]));Promise[_0xa54d('0x67')](_0x39aeb5)[_0xa54d('0x16')](function(){_0x39aeb5=[];_0x39aeb5[_0xa54d('0x64')](deleteCmHopperPhones(_0x14a8a1[_0xa54d('0x37')]['id']));_0x39aeb5[_0xa54d('0x64')](addCmHopperPhones(_0x14a8a1[_0xa54d('0x37')]['id']));Promise['all'](_0x39aeb5)[_0xa54d('0x16')](function(){return[0x1];})[_0xa54d('0x16')](respondWithResult(_0x2a398e,null));});};function addAdditionalPhones(_0x5969f2){var _0x247353;return new Promise(function(_0xb6d873){return db[_0xa54d('0x6d')]['destroy']({'where':{'CmContactId':_0x5969f2['id']}})['then'](function(){db['ContactItemType'][_0xa54d('0x1e')]({'raw':!![],'attributes':['id',_0xa54d('0x90')]})['then'](function(_0x58e1dd){var _0x4553e7=[];for(var _0x3469c2=0x0;_0x3469c2<_0x5969f2[_0xa54d('0x91')][_0xa54d('0x28')];_0x3469c2++){var _0x2db280=_0x5969f2[_0xa54d('0x92')]?_[_0xa54d('0x5a')](_0x5969f2['item_types'][_0x3469c2])?'':_0x5969f2[_0xa54d('0x92')][_0x3469c2]:_0x5969f2[_0xa54d('0x91')][_0x3469c2]['ItemTypeId']?_0x5969f2['items'][_0x3469c2][_0xa54d('0x93')]:'';var _0x51f7d9=_[_0xa54d('0x5a')](_0x5969f2[_0xa54d('0x91')][_0x3469c2][_0xa54d('0x94')])?'':_0x5969f2[_0xa54d('0x91')][_0x3469c2][_0xa54d('0x94')];var _0x532e73=_0x2db280+':'+_0x5969f2['items'][_0x3469c2][_0xa54d('0x7f')]+'ยง'+_0x51f7d9;if(_[_0xa54d('0x5a')](_0x247353))_0x247353=_0x532e73;else _0x247353+=';'+_0x532e73;var _0x25978f=null;var _0x2e029a=null;if(_0x5969f2[_0xa54d('0x92')]){if(!_[_0xa54d('0x5a')](_0x5969f2['item_types'][_0x3469c2])){_0x2e029a=_[_0xa54d('0x24')](_0x58e1dd,function(_0x484d85){return _0x484d85['id']===_0x5969f2[_0xa54d('0x92')][_0x3469c2];});if(!_[_0xa54d('0x5a')](_0x2e029a)){_0x25978f=_0x2e029a[_0xa54d('0x90')];}}}else{if(!_[_0xa54d('0x5a')](_0x5969f2['items'][_0x3469c2])){_0x2e029a=_['find'](_0x58e1dd,function(_0x2df766){return _0x2df766['id']===_0x5969f2[_0xa54d('0x91')][_0x3469c2][_0xa54d('0x93')];});if(!_[_0xa54d('0x5a')](_0x2e029a)){_0x25978f=_0x3469c2;}}}if(_[_0xa54d('0x5a')](_0x25978f)){_0x25978f=0x64;}_0x4553e7[_0xa54d('0x64')](addAdditionalPhone(_0x5969f2['id'],_0x5969f2[_0xa54d('0x91')][_0x3469c2][_0xa54d('0x7f')],_0x5969f2['item_types']?_[_0xa54d('0x5a')](_0x5969f2[_0xa54d('0x92')][_0x3469c2])?null:_0x5969f2[_0xa54d('0x92')][_0x3469c2]:_0x5969f2[_0xa54d('0x91')][_0x3469c2][_0xa54d('0x93')]?_0x5969f2[_0xa54d('0x91')][_0x3469c2][_0xa54d('0x93')]:null,_0x25978f,_0x51f7d9));}Promise[_0xa54d('0x67')](_0x4553e7)[_0xa54d('0x16')](function(){db[_0xa54d('0x23')][_0xa54d('0x15')]({'AdditionalPhones':_0x247353},{'where':{'id':_0x5969f2['id']}})[_0xa54d('0x16')](function(){_0xb6d873(0x1);});});});});});}function addAdditionalPhone(_0x46f058,_0x1f94a5,_0x2c6448,_0x241f87,_0x337ce0){return db[_0xa54d('0x6d')][_0xa54d('0x24')]({'where':{'CmContactId':_0x46f058,'item':_0x1f94a5}})[_0xa54d('0x16')](function(_0x44b7c5){if(_0x44b7c5)logger[_0xa54d('0x32')](_0xa54d('0x95'),_0x44b7c5);else{db[_0xa54d('0x6d')][_0xa54d('0x58')]({'CmContactId':_0x46f058,'item':_0x1f94a5,'ItemTypeId':_0x2c6448,'OrderBy':_0x241f87,'ItemClass':'PHONE','description':_0x337ce0});}});}function deleteCmHopperPhones(_0x193ac9){return new Promise(function(_0x3f62fb){return db[_0xa54d('0x3d')][_0xa54d('0x1e')]({'raw':!![],'attributes':['id'],'where':{'ContactId':_0x193ac9}})[_0xa54d('0x16')](function(_0x4aa056){db['CmHopperAdditionalPhone']['destroy']({'where':{'CmHopperId':{'$in':_['map'](_0x4aa056,'id')}}});})[_0xa54d('0x16')](function(){_0x3f62fb(0x1);});});}function addCmHopperPhones(_0x457309){return new Promise(function(_0x566c82){return db['CmHopper'][_0xa54d('0x1e')]({'raw':!![],'attributes':['id'],'where':{'ContactId':_0x457309}})[_0xa54d('0x16')](function(_0x534af3){var _0x389666=[];_[_0xa54d('0x75')](_0x534af3,function(_0x53d3a5){_0x389666[_0xa54d('0x64')](createCmHopperPhone(_0x457309,_0x53d3a5['id']));});Promise['all'](_0x389666)[_0xa54d('0x16')](function(){_0x566c82(0x1);});});});}function createCmHopperPhone(_0x326e04,_0x4afa5f){return new Promise(function(_0x557c4d){db['CmContactHasItem'][_0xa54d('0x1e')]({'raw':!![],'attributes':[_0xa54d('0x96'),_0xa54d('0x90')],'where':{'CmContactId':_0x326e04,'ItemClass':'PHONE'},'include':[{'model':db[_0xa54d('0x97')],'attributes':[_0xa54d('0x90')],'as':_0xa54d('0x6f')}],'order':[_0xa54d('0x90'),db[_0xa54d('0x70')][_0xa54d('0x71')](_0xa54d('0x98'))]})['then'](function(_0x17b389){var _0x500c0a=0x1;var _0x34897f=_['map'](_0x17b389,function(_0x39265c){_0x39265c[_0xa54d('0x99')]=_0x4afa5f;_0x39265c[_0xa54d('0x7f')]=_0x39265c[_0xa54d('0x96')];_0x39265c[_0xa54d('0x90')]=_0x500c0a;delete _0x39265c['ItemType.OrderBy'];_0x500c0a=_0x500c0a+0x1;return _0x39265c;});return db['CmHopperAdditionalPhone'][_0xa54d('0x5f')](_0x34897f,{});})[_0xa54d('0x16')](function(){_0x557c4d(0x1);});});}function insertAdditionalPhones(_0x222518,_0x293fb4){return new Promise(function(_0x132881){var _0x384582=[];for(var _0xe368aa=0x0;_0xe368aa<_0x293fb4[_0xa54d('0x28')];_0xe368aa++){var _0xb92ada=_0x293fb4[_0xe368aa];_0x384582[_0xa54d('0x64')](parseContactItemType(_0xb92ada));}Promise['all'](_0x384582)[_0xa54d('0x16')](function(){var _0x346162={'id':_0x222518['id'],'items':_0x293fb4};return addAdditionalPhones(_0x346162)['then'](function(){return addCmHopperPhones(_0x222518['id']);});})[_0xa54d('0x16')](function(){_0x132881(_0x222518);});});}function parseContactItemType(_0x276aac){return new Promise(function(_0x811925){if(_0x276aac[_0xa54d('0x35')](_0xa54d('0x93'))){_0x811925(_0x276aac);}else{return db[_0xa54d('0x97')][_0xa54d('0x24')]({'where':{'name':_0x276aac['ItemType']}})[_0xa54d('0x16')](function(_0x5d193c){if(_[_0xa54d('0x5a')](_0x5d193c))_0x276aac[_0xa54d('0x93')]=null;else _0x276aac[_0xa54d('0x93')]=_0x5d193c['id'];_0x811925(_0x276aac);});}});}exports[_0xa54d('0x9a')]=function(_0x477629,_0x44f02a){return db['CmContactHasItem'][_0xa54d('0x1e')]({'raw':!![],'where':{'CmContactId':_0x477629['params']['id'],'ItemClass':_0xa54d('0x9b')},'include':[{'model':db[_0xa54d('0x97')],'as':'ItemType'}],'order':[[_0xa54d('0x90')],[db[_0xa54d('0x70')][_0xa54d('0x71')](_0xa54d('0x98'))]]})[_0xa54d('0x16')](function(_0x13e21f){return _0x13e21f;})['then'](respondWithResult(_0x44f02a,null))['catch'](handleError(_0x44f02a,null));};exports[_0xa54d('0x9c')]=function(_0x1954e8,_0x147d7b){return db[_0xa54d('0x6d')]['findAll']({'raw':!![],'where':{'CmContactId':_0x1954e8[_0xa54d('0x37')]['fromContactId']}})[_0xa54d('0x16')](function(_0x1311b8){var _0x4bc55e=_[_0xa54d('0x75')](_0x1311b8,function(_0x239a2b){_0x239a2b[_0xa54d('0x9d')]=_0x1954e8['body'][_0xa54d('0x9e')];return _0x239a2b;});return db[_0xa54d('0x6d')][_0xa54d('0x5f')](_0x4bc55e,{});})[_0xa54d('0x16')](function(){return addCmHopperPhones(_0x1954e8[_0xa54d('0x37')][_0xa54d('0x9e')]);})['then'](function(){return['ok'];})[_0xa54d('0x16')](respondWithResult(_0x147d7b,null))['catch'](handleError(_0x147d7b,null));};exports[_0xa54d('0x9f')]=function(_0x58b104,_0x557f79){var _0x5b4a83=[];_0x5b4a83['push'](createCmHopperPhone(_0x58b104[_0xa54d('0x37')]['id'],_0x58b104[_0xa54d('0x37')]['hopperId']));Promise[_0xa54d('0x67')](_0x5b4a83)['then'](function(){return[0x1];})['then'](respondWithResult(_0x557f79,null));};exports[_0xa54d('0xa0')]=function(_0x18dc70,_0x1fb1cf){var _0x2d75ec={'raw':![],'where':{}};var _0x4042ea={};var _0x595123={'count':0x0,'rows':[]};return db[_0xa54d('0x23')][_0xa54d('0x81')]({'where':{'id':_0x18dc70[_0xa54d('0x25')]['id']}})[_0xa54d('0x16')](handleEntityNotFound(_0x1fb1cf,null))[_0xa54d('0x16')](function(_0x1b1f04){if(_0x1b1f04){_0x4042ea[_0xa54d('0x82')]=_[_0xa54d('0x27')](db[_0xa54d('0x3d')][_0xa54d('0x83')]);_0x4042ea[_0xa54d('0x1f')]=_[_0xa54d('0x27')](_0x18dc70[_0xa54d('0x1f')]);_0x4042ea['filters']=_['intersection'](_0x4042ea[_0xa54d('0x82')],_0x4042ea['query']);_0x2d75ec[_0xa54d('0x86')]=_[_0xa54d('0x85')](_0x4042ea[_0xa54d('0x82')],qs[_0xa54d('0x87')](_0x18dc70[_0xa54d('0x1f')]['fields']));_0x2d75ec[_0xa54d('0x86')]=_0x2d75ec[_0xa54d('0x86')]['length']?_0x2d75ec[_0xa54d('0x86')]:_0x4042ea['model'];if(!_0x18dc70[_0xa54d('0x1f')][_0xa54d('0x35')](_0xa54d('0xa1'))){_0x2d75ec[_0xa54d('0x12')]=qs[_0xa54d('0x12')](_0x18dc70[_0xa54d('0x1f')]['limit']);_0x2d75ec[_0xa54d('0x10')]=qs['offset'](_0x18dc70[_0xa54d('0x1f')][_0xa54d('0x10')]);}_0x2d75ec['order']=qs[_0xa54d('0x89')](_0x18dc70[_0xa54d('0x1f')][_0xa54d('0x89')]);_0x2d75ec[_0xa54d('0x62')]=qs[_0xa54d('0x84')](_[_0xa54d('0x8a')](_0x18dc70['query'],_0x4042ea[_0xa54d('0x84')]));_0x2d75ec[_0xa54d('0x62')][_0xa54d('0xa2')]=_0x1b1f04['id'];if(_0x18dc70['query'][_0xa54d('0x8b')]){_0x2d75ec[_0xa54d('0x62')]=_[_0xa54d('0x36')](_0x2d75ec[_0xa54d('0x62')],{'$or':_[_0xa54d('0x75')](_0x2d75ec['attributes'],function(_0xab0334){var _0x1fe7de={};_0x1fe7de[_0xab0334]={'$like':'%'+_0x18dc70[_0xa54d('0x1f')]['filter']+'%'};return _0x1fe7de;})});}_0x2d75ec=_[_0xa54d('0x36')]({},_0x2d75ec,_0x18dc70['options']);return db['CmHopper'][_0xa54d('0xa3')]({'where':_0x2d75ec[_0xa54d('0x62')]})['then'](function(_0x38580b){_0x595123[_0xa54d('0xa3')]=_0x38580b;if(_0x18dc70[_0xa54d('0x1f')][_0xa54d('0xa4')]){_0x2d75ec['include']=[{'all':!![]}];}return db[_0xa54d('0x3d')][_0xa54d('0x1e')](_0x2d75ec);})[_0xa54d('0x16')](function(_0xe3e72f){_0x595123[_0xa54d('0xa5')]=_0xe3e72f;return _0x595123;});}})[_0xa54d('0x16')](respondWithFilteredResult(_0x1fb1cf,_0x2d75ec))[_0xa54d('0x21')](handleError(_0x1fb1cf,null));};exports[_0xa54d('0xa6')]=function(_0x2e2a5b,_0x384abf){var _0x593144={'raw':!![],'where':{}};var _0x2eef68={};var _0x2dbf81={'count':0x0,'rows':[]};return db[_0xa54d('0x23')][_0xa54d('0x81')]({'where':{'id':_0x2e2a5b[_0xa54d('0x25')]['id']}})['then'](handleEntityNotFound(_0x384abf,null))[_0xa54d('0x16')](function(_0x3a19e6){if(_0x3a19e6){_0x2eef68[_0xa54d('0x82')]=_[_0xa54d('0x27')](db[_0xa54d('0x4c')]['rawAttributes']);_0x2eef68[_0xa54d('0x1f')]=_[_0xa54d('0x27')](_0x2e2a5b['query']);_0x2eef68[_0xa54d('0x84')]=_[_0xa54d('0x85')](_0x2eef68[_0xa54d('0x82')],_0x2eef68[_0xa54d('0x1f')]);_0x593144[_0xa54d('0x86')]=_['intersection'](_0x2eef68[_0xa54d('0x82')],qs[_0xa54d('0x87')](_0x2e2a5b['query'][_0xa54d('0x87')]));_0x593144['attributes']=_0x593144['attributes']['length']?_0x593144[_0xa54d('0x86')]:_0x2eef68[_0xa54d('0x82')];if(!_0x2e2a5b['query'][_0xa54d('0x35')](_0xa54d('0xa1'))){_0x593144[_0xa54d('0x12')]=qs[_0xa54d('0x12')](_0x2e2a5b[_0xa54d('0x1f')][_0xa54d('0x12')]);_0x593144[_0xa54d('0x10')]=qs['offset'](_0x2e2a5b['query'][_0xa54d('0x10')]);}_0x593144['order']=qs['sort'](_0x2e2a5b[_0xa54d('0x1f')][_0xa54d('0x89')]);_0x593144[_0xa54d('0x62')]=qs['filters'](_['pick'](_0x2e2a5b['query'],_0x2eef68[_0xa54d('0x84')]));_0x593144[_0xa54d('0x62')][_0xa54d('0xa2')]=_0x3a19e6['id'];if(_0x2e2a5b[_0xa54d('0x1f')][_0xa54d('0x8b')]){_0x593144['where']=_[_0xa54d('0x36')](_0x593144['where'],{'$or':_[_0xa54d('0x75')](_0x593144[_0xa54d('0x86')],function(_0x57fa8c){var _0x48e43a={};_0x48e43a[_0x57fa8c]={'$like':'%'+_0x2e2a5b['query'][_0xa54d('0x8b')]+'%'};return _0x48e43a;})});}_0x593144=_[_0xa54d('0x36')]({},_0x593144,_0x2e2a5b[_0xa54d('0x8c')]);return db[_0xa54d('0x4c')]['count']({'where':_0x593144['where']})[_0xa54d('0x16')](function(_0x19510e){_0x2dbf81[_0xa54d('0xa3')]=_0x19510e;if(_0x2e2a5b[_0xa54d('0x1f')][_0xa54d('0xa4')]){_0x593144[_0xa54d('0xa7')]=[{'all':!![]}];}return db[_0xa54d('0x4c')][_0xa54d('0x1e')](_0x593144);})[_0xa54d('0x16')](function(_0x3bdf75){_0x2dbf81[_0xa54d('0xa5')]=_0x3bdf75;return _0x2dbf81;});}})[_0xa54d('0x16')](respondWithFilteredResult(_0x384abf,_0x593144))[_0xa54d('0x21')](handleError(_0x384abf,null));};exports[_0xa54d('0xa8')]=function(_0xfb4050,_0x56385c){var _0x162d30={'raw':!![],'where':{}};var _0x74d90={};var _0x30b913={'count':0x0,'rows':[]};return db[_0xa54d('0x23')][_0xa54d('0x81')]({'where':{'id':_0xfb4050['params']['id']}})[_0xa54d('0x16')](handleEntityNotFound(_0x56385c,null))[_0xa54d('0x16')](function(_0x685d92){if(_0x685d92){_0x74d90['model']=_['keys'](db[_0xa54d('0x4b')][_0xa54d('0x83')]);_0x74d90[_0xa54d('0x1f')]=_['keys'](_0xfb4050[_0xa54d('0x1f')]);_0x74d90[_0xa54d('0x84')]=_[_0xa54d('0x85')](_0x74d90[_0xa54d('0x82')],_0x74d90[_0xa54d('0x1f')]);_0x162d30['attributes']=_[_0xa54d('0x85')](_0x74d90[_0xa54d('0x82')],qs[_0xa54d('0x87')](_0xfb4050[_0xa54d('0x1f')]['fields']));_0x162d30[_0xa54d('0x86')]=_0x162d30['attributes'][_0xa54d('0x28')]?_0x162d30[_0xa54d('0x86')]:_0x74d90[_0xa54d('0x82')];if(!_0xfb4050[_0xa54d('0x1f')]['hasOwnProperty']('nolimit')){_0x162d30[_0xa54d('0x12')]=qs[_0xa54d('0x12')](_0xfb4050[_0xa54d('0x1f')]['limit']);_0x162d30[_0xa54d('0x10')]=qs[_0xa54d('0x10')](_0xfb4050[_0xa54d('0x1f')][_0xa54d('0x10')]);}_0x162d30[_0xa54d('0x88')]=qs['sort'](_0xfb4050['query'][_0xa54d('0x89')]);_0x162d30[_0xa54d('0x62')]=qs[_0xa54d('0x84')](_['pick'](_0xfb4050['query'],_0x74d90[_0xa54d('0x84')]));_0x162d30[_0xa54d('0x62')][_0xa54d('0xa2')]=_0x685d92['id'];if(_0xfb4050[_0xa54d('0x1f')][_0xa54d('0x8b')]){_0x162d30['where']=_[_0xa54d('0x36')](_0x162d30[_0xa54d('0x62')],{'$or':_[_0xa54d('0x75')](_0x162d30[_0xa54d('0x86')],function(_0x3f2754){var _0x416d6e={};_0x416d6e[_0x3f2754]={'$like':'%'+_0xfb4050[_0xa54d('0x1f')][_0xa54d('0x8b')]+'%'};return _0x416d6e;})});}_0x162d30=_[_0xa54d('0x36')]({},_0x162d30,_0xfb4050[_0xa54d('0x8c')]);return db[_0xa54d('0x4b')][_0xa54d('0xa3')]({'where':_0x162d30['where']})['then'](function(_0x132084){_0x30b913[_0xa54d('0xa3')]=_0x132084;if(_0xfb4050['query'][_0xa54d('0xa4')]){_0x162d30['include']=[{'all':!![]}];}return db[_0xa54d('0x4b')][_0xa54d('0x1e')](_0x162d30);})[_0xa54d('0x16')](function(_0x578c5b){_0x30b913[_0xa54d('0xa5')]=_0x578c5b;return _0x30b913;});}})[_0xa54d('0x16')](respondWithFilteredResult(_0x56385c,_0x162d30))[_0xa54d('0x21')](handleError(_0x56385c,null));};exports[_0xa54d('0xa9')]=function(_0x2d0c47,_0x90da25){var _0xe2580f={'raw':!![],'where':{}};var _0x3a6d71={};var _0x307f84={'count':0x0,'rows':[]};return db[_0xa54d('0x23')][_0xa54d('0x81')]({'where':{'id':_0x2d0c47[_0xa54d('0x25')]['id']}})[_0xa54d('0x16')](handleEntityNotFound(_0x90da25,null))[_0xa54d('0x16')](function(_0x1c239a){if(_0x1c239a){_0x3a6d71[_0xa54d('0x82')]=_['keys'](db[_0xa54d('0x54')][_0xa54d('0x83')]);_0x3a6d71[_0xa54d('0x1f')]=_[_0xa54d('0x27')](_0x2d0c47[_0xa54d('0x1f')]);_0x3a6d71['filters']=_[_0xa54d('0x85')](_0x3a6d71[_0xa54d('0x82')],_0x3a6d71[_0xa54d('0x1f')]);_0xe2580f['attributes']=_[_0xa54d('0x85')](_0x3a6d71[_0xa54d('0x82')],qs[_0xa54d('0x87')](_0x2d0c47[_0xa54d('0x1f')][_0xa54d('0x87')]));_0xe2580f[_0xa54d('0x86')]=_0xe2580f['attributes'][_0xa54d('0x28')]?_0xe2580f['attributes']:_0x3a6d71['model'];if(!_0x2d0c47[_0xa54d('0x1f')][_0xa54d('0x35')](_0xa54d('0xa1'))){_0xe2580f[_0xa54d('0x12')]=qs[_0xa54d('0x12')](_0x2d0c47[_0xa54d('0x1f')][_0xa54d('0x12')]);_0xe2580f[_0xa54d('0x10')]=qs[_0xa54d('0x10')](_0x2d0c47[_0xa54d('0x1f')][_0xa54d('0x10')]);}_0xe2580f[_0xa54d('0x88')]=qs[_0xa54d('0x89')](_0x2d0c47[_0xa54d('0x1f')][_0xa54d('0x89')]);_0xe2580f[_0xa54d('0x62')]=qs[_0xa54d('0x84')](_['pick'](_0x2d0c47[_0xa54d('0x1f')],_0x3a6d71['filters']));_0xe2580f[_0xa54d('0x62')][_0xa54d('0xa2')]=_0x1c239a['id'];if(_0x2d0c47[_0xa54d('0x1f')][_0xa54d('0x8b')]){_0xe2580f[_0xa54d('0x62')]=_[_0xa54d('0x36')](_0xe2580f[_0xa54d('0x62')],{'$or':_[_0xa54d('0x75')](_0xe2580f['attributes'],function(_0x4b195b){var _0x4ea8e1={};_0x4ea8e1[_0x4b195b]={'$like':'%'+_0x2d0c47[_0xa54d('0x1f')]['filter']+'%'};return _0x4ea8e1;})});}_0xe2580f=_[_0xa54d('0x36')]({},_0xe2580f,_0x2d0c47[_0xa54d('0x8c')]);return db[_0xa54d('0x54')]['count']({'where':_0xe2580f[_0xa54d('0x62')]})[_0xa54d('0x16')](function(_0x1e378d){_0x307f84[_0xa54d('0xa3')]=_0x1e378d;if(_0x2d0c47[_0xa54d('0x1f')][_0xa54d('0xa4')]){_0xe2580f['include']=[{'all':!![]}];}return db[_0xa54d('0x54')][_0xa54d('0x1e')](_0xe2580f);})[_0xa54d('0x16')](function(_0x335f5d){_0x307f84[_0xa54d('0xa5')]=_0x335f5d;return _0x307f84;});}})[_0xa54d('0x16')](respondWithFilteredResult(_0x90da25,_0xe2580f))[_0xa54d('0x21')](handleError(_0x90da25,null));};exports[_0xa54d('0xaa')]=function(_0x4a1d06,_0x2d58a9){try{if(!_0x4a1d06[_0xa54d('0x37')]['ListId']){throw new Error(_0xa54d('0xab'));}if(!_0x4a1d06['body']['binding_keys']){throw new Error(_0xa54d('0xac'));}if(!_0x4a1d06[_0xa54d('0x37')][_0xa54d('0xad')]){throw new Error(_0xa54d('0xae'));}if(!_0x4a1d06[_0xa54d('0x37')][_0xa54d('0xaf')]){throw new Error(_0xa54d('0xb0'));}var _0x399e6a=_0x4a1d06[_0xa54d('0x37')][_0xa54d('0xb1')]['split'](',');var _0xe63542=_0x4a1d06[_0xa54d('0x37')][_0xa54d('0xad')][_0xa54d('0xb2')](',');if(!_0x399e6a[_0xa54d('0x28')]||!_0xe63542[_0xa54d('0x28')]||_0x399e6a[_0xa54d('0x28')]!==_0xe63542[_0xa54d('0x28')]){throw new Error('Incorrect\x20binding\x20parameters\x20passed!');}_0x4a1d06[_0xa54d('0x37')][_0xa54d('0x87')]=_[_0xa54d('0xb3')](_0x399e6a,_0xe63542);if(!_0x4a1d06[_0xa54d('0x37')][_0xa54d('0x87')][_0xa54d('0x7f')]){throw new Error(_0xa54d('0xb4'));}if(!_0x4a1d06['body']['fields']['firstName']){throw new Error('No\x20firstName\x20column\x20specified');}var _0x5e4fe7=path['join'](config[_0xa54d('0xb5')],_0xa54d('0xb6'),_0x4a1d06['file'][_0xa54d('0xb7')]);fs[_0xa54d('0xb8')](_0x5e4fe7,parseInt(_0xa54d('0xb9'),0x8));var _0x500daa=require(_0xa54d('0xba'))[_0xa54d('0xbb')](path[_0xa54d('0x59')](__dirname,_0xa54d('0xbc')),[_0x5e4fe7,_0x4a1d06['body'][_0xa54d('0xb1')],_0x4a1d06[_0xa54d('0x37')][_0xa54d('0xad')],_0x4a1d06[_0xa54d('0x37')][_0xa54d('0x65')],_0x4a1d06[_0xa54d('0x37')][_0xa54d('0xbd')],_0x4a1d06[_0xa54d('0x37')][_0xa54d('0x61')],_0x4a1d06[_0xa54d('0x37')][_0xa54d('0xaf')]]);return _0x2d58a9[_0xa54d('0xf')](0xc8)[_0xa54d('0xbe')]({'message':_0xa54d('0xbf'),'pid':_0x500daa['pid']});}catch(_0x283c21){return _0x2d58a9[_0xa54d('0xf')](0x1f4)[_0xa54d('0x1b')](_0x283c21);}};exports['upload']=function(_0x16701b,_0x5324f){var _0x47ee85=fs[_0xa54d('0xc0')](_0x16701b[_0xa54d('0xc1')][_0xa54d('0x3')]);Papa['parse'](_0x47ee85,{'header':!![],'skipEmptyLines':!![],'preview':0x1,'complete':function(_0x3c1c87){return _0x5324f[_0xa54d('0xf')](0xc8)[_0xa54d('0xbe')]({'file':_0x16701b[_0xa54d('0xc1')],'fields':_0x3c1c87[_0xa54d('0xc2')][_0xa54d('0x87')]});}});};exports[_0xa54d('0xc3')]=function(_0x135c2a,_0x4464aa){return db[_0xa54d('0xc4')][_0xa54d('0x1e')]({'raw':!![],'attributes':['id'],'where':{'role':_0xa54d('0xc5')}})['then'](function(_0x5b9495){var _0xbf178f=![];if(!_0x135c2a[_0xa54d('0x37')][_0xa54d('0x65')]){throw new Error(_0xa54d('0xab'));}if(!_0x135c2a[_0xa54d('0x37')]['binding']['phone']){throw new Error(_0xa54d('0xb4'));}if(!_0x135c2a[_0xa54d('0x37')][_0xa54d('0xc6')][_0xa54d('0xc7')]){throw new Error('No\x20firstName\x20column\x20specified');}if(!_0x135c2a['body'][_0xa54d('0xaf')]){throw new Error('Unable\x20to\x20synchronize\x20socket,\x20no\x20timestamp\x20passed');}var _0xfd7ce2=require(_0xa54d('0xba'))[_0xa54d('0xbb')](path['join'](__dirname,_0xa54d('0xc8')),[_0x135c2a[_0xa54d('0x25')]['id'],JSON[_0xa54d('0xc9')](_0x135c2a['body']),JSON['stringify'](_0x5b9495)]);_0xfd7ce2['on']('message',function(){_0xbf178f=!![];return _0x4464aa[_0xa54d('0xf')](0xc8)['json']({'message':'start\x20child\x20process\x20correctly!','pid':_0xfd7ce2[_0xa54d('0xca')]});});_0xfd7ce2['on'](_0xa54d('0xcb'),function(_0x106fb0){if(_0x106fb0&&!_0xbf178f){return _0x4464aa[_0xa54d('0xf')](0x1f4)[_0xa54d('0xbe')]({'message':_0xa54d('0xcc'),'pid':_0xfd7ce2[_0xa54d('0xca')]});}});})[_0xa54d('0x21')](handleError(_0x4464aa,null));};exports[_0xa54d('0xcd')]=function(_0x266623,_0x36f164){return db['User'][_0xa54d('0x1e')]({'raw':!![],'attributes':['id'],'where':{'role':_0xa54d('0xc5')}})['then'](function(_0x1d4c18){var _0x33c4d7=![];if(!_0x266623[_0xa54d('0x37')][_0xa54d('0x65')]){throw new Error(_0xa54d('0xab'));}if(!_0x266623['body'][_0xa54d('0xc6')][_0xa54d('0x7f')]){throw new Error(_0xa54d('0xb4'));}if(!_0x266623['body'][_0xa54d('0xc6')][_0xa54d('0xc7')]){throw new Error(_0xa54d('0xce'));}if(!_0x266623[_0xa54d('0x37')]['socket_timestamp']){throw new Error(_0xa54d('0xb0'));}var _0x5c20be=require(_0xa54d('0xba'))[_0xa54d('0xbb')](path[_0xa54d('0x59')](__dirname,'../../components/import/cm/csvUpdates'),[_0x266623[_0xa54d('0x25')]['id'],JSON[_0xa54d('0xc9')](_0x266623[_0xa54d('0x37')]),JSON['stringify'](_0x1d4c18)]);_0x5c20be['on']('message',function(){_0x33c4d7=!![];return _0x36f164[_0xa54d('0xf')](0xc8)['json']({'message':_0xa54d('0xcf'),'pid':_0x5c20be[_0xa54d('0xca')]});});_0x5c20be['on'](_0xa54d('0xcb'),function(_0x1a5352){if(_0x1a5352&&!_0x33c4d7){return _0x36f164[_0xa54d('0xf')](0x1f4)['json']({'message':_0xa54d('0xcc'),'pid':_0x5c20be['pid']});}});})[_0xa54d('0x21')](handleError(_0x36f164,null));};exports[_0xa54d('0xd0')]=function(_0x9cec9a,_0x1b0f0d){var _0x6919ba=[_0xa54d('0xd1'),'chat','sms',_0xa54d('0xd2'),'fax','whatsapp',_0xa54d('0xd3')];var _0x59e159={'offset':0x0,'order':qs[_0xa54d('0x89')]('-createdAt')},_0x53ada7={'count':0x0,'rows':[]};Promise[_0xa54d('0xd4')]()[_0xa54d('0x16')](function(){if(_0x9cec9a[_0xa54d('0x1f')][_0xa54d('0xd5')]){if(!_['includes'](_0x6919ba,_0x9cec9a[_0xa54d('0x1f')][_0xa54d('0xd5')][_0xa54d('0xd6')]())){throw new Error(_0xa54d('0xd7'));}_0x6919ba=[_0x9cec9a['query'][_0xa54d('0xd5')][_0xa54d('0xd6')]()];}if(_0x9cec9a[_0xa54d('0x1f')][_0xa54d('0xd8')]){try{var _0x33d8c4=JSON[_0xa54d('0xd9')](_0x9cec9a[_0xa54d('0x1f')][_0xa54d('0xd8')]);if(!moment(_0x33d8c4[_0xa54d('0x38')])[_0xa54d('0xda')]()){throw new Error(_0xa54d('0xdb'));}if(!moment(_0x33d8c4['to'])['isValid']()){throw new Error('Invalid\x20date\x20for\x20range\x20to\x20filter');}}catch(_0x52f2ad){throw new Error(_0xa54d('0xdc'));}}if(!_0x9cec9a[_0xa54d('0x1f')][_0xa54d('0x35')]('nolimit')){_0x59e159[_0xa54d('0x12')]=qs['limit'](_0x9cec9a[_0xa54d('0x1f')][_0xa54d('0x12')]||0xa);_0x59e159[_0xa54d('0x10')]=qs[_0xa54d('0x10')](_0x9cec9a['query']['offset']);}var _0x30f91e=_0x6919ba[_0xa54d('0x75')](function(_0x1c7709){if(_0x1c7709===_0xa54d('0xd3')){var _0x45064b={'attributes':['id',_0xa54d('0xdd'),_0xa54d('0x30'),'source',_0xa54d('0xde'),_0xa54d('0xdf'),_0xa54d('0xe0'),_0xa54d('0xe1'),_0xa54d('0xe2'),_0xa54d('0xe3'),_0xa54d('0xe4'),_0xa54d('0xe5'),_0xa54d('0xe6'),_0xa54d('0xe7'),'UserId'],'where':{'ContactId':_0x9cec9a[_0xa54d('0x25')]['id']},'include':[{'model':db[_0xa54d('0xc4')],'as':_0xa54d('0xc4'),'attributes':['id',_0xa54d('0x1a'),'fullname',_0xa54d('0x2e')]}],'order':[[_0xa54d('0xe4'),'DESC']]};if(_0x9cec9a[_0xa54d('0x1f')]['range']){_0x45064b[_0xa54d('0x62')][_0xa54d('0xe4')]={'$gte':_0x33d8c4['from'],'$lte':_0x33d8c4['to']};}return db[_0xa54d('0x4e')][_0xa54d('0xe8')](_0x45064b)[_0xa54d('0x16')](function(_0x5e59b3){_0x53ada7[_0xa54d('0xa3')]+=_0x5e59b3[_0xa54d('0xa3')];return _['map'](_0x5e59b3['rows'],function(_0x20a0fe){var _0x29dee4=_0x20a0fe[_0xa54d('0x39')]({'plain':!![]});_0x29dee4[_0xa54d('0xd5')]=_0x1c7709;if(_0x29dee4[_0xa54d('0xc4')]){_0x29dee4[_0xa54d('0xc4')]={'id':_0x29dee4[_0xa54d('0xc4')]['id'],'name':_0x29dee4['User']['name'],'fullname':_0x29dee4['User'][_0xa54d('0xe9')],'alias':_0x29dee4[_0xa54d('0xc4')][_0xa54d('0x2e')]};}return _0x29dee4;});});}else{var _0x147f6d=_[_0xa54d('0xea')](_0x1c7709)+(_0x1c7709==='chat'?_0xa54d('0xeb'):'Account');var _0x48342a={'attributes':['id','closed',_0xa54d('0xec'),_0xa54d('0xe4'),_0xa54d('0xe3'),_0xa54d('0xed'),'secondDisposition',_0xa54d('0xee'),_0xa54d('0xef'),_0x147f6d+'Id'],'where':{'ContactId':_0x9cec9a[_0xa54d('0x25')]['id']},'include':[{'model':db[_0x147f6d],'as':'Account','attributes':['id',_0xa54d('0x1a'),_0xa54d('0xf0')]},{'model':db[_0xa54d('0xc4')],'as':_0xa54d('0xf1'),'attributes':['id',_0xa54d('0x1a'),_0xa54d('0xe9')]},{'model':db['Tag'],'as':_0xa54d('0x6a'),'attributes':['id',_0xa54d('0x1a'),'color'],'through':{'attributes':[]}}],'order':[[_0xa54d('0xe4'),'DESC']]};if(_0x9cec9a[_0xa54d('0x1f')]['range']){_0x48342a[_0xa54d('0x62')][_0xa54d('0xe4')]={'$gte':_0x33d8c4[_0xa54d('0x38')],'$lte':_0x33d8c4['to']};}switch(_0x1c7709){case _0xa54d('0xf2'):_0x48342a[_0xa54d('0x86')][_0xa54d('0x64')](_0xa54d('0xf3'),'customerIp','customerPort',_0xa54d('0xf4'),_0xa54d('0xf5'),_0xa54d('0xf6'),_0xa54d('0xf7'),'ratingValue',_0xa54d('0xf8'));break;case _0xa54d('0xd1'):_0x48342a['attributes'][_0xa54d('0x64')](_0xa54d('0xf9'),_0xa54d('0xfa'));break;case _0xa54d('0xd2'):_0x48342a[_0xa54d('0x86')][_0xa54d('0x64')](_0xa54d('0xfb'),_0xa54d('0xfc'));break;}return db[_[_0xa54d('0xea')](_0x1c7709)+'Interaction'][_0xa54d('0xe8')](_0x48342a)['then'](function(_0x235849){_0x53ada7[_0xa54d('0xa3')]+=_0x235849[_0xa54d('0xa3')];return _[_0xa54d('0x75')](_0x235849[_0xa54d('0xa5')],function(_0x4cb4ed){var _0x108f6b=_0x4cb4ed[_0xa54d('0x39')]({'plain':!![]});_0x108f6b['channel']=_0x1c7709;if(_0x108f6b[_0xa54d('0xf1')]){_0x108f6b[_0xa54d('0xf1')]={'id':_0x108f6b[_0xa54d('0xf1')]['id'],'name':_0x108f6b[_0xa54d('0xf1')][_0xa54d('0x1a')],'fullname':_0x108f6b['Owner'][_0xa54d('0xe9')]};}return _0x108f6b;});});}});return Promise[_0xa54d('0x67')](_0x30f91e);})[_0xa54d('0x16')](function(_0x44d3b5){return _(_0x44d3b5)['flatten']()[_0xa54d('0xfd')]('createdAt')[_0xa54d('0xfe')]()[_0xa54d('0xff')]();})[_0xa54d('0x16')](function(_0x4e0bc6){_0x53ada7[_0xa54d('0xa5')]=_0x59e159[_0xa54d('0x12')]?_0x4e0bc6['slice'](_0x59e159[_0xa54d('0x10')],_0x59e159[_0xa54d('0x10')]+_0x59e159[_0xa54d('0x12')]):_0x4e0bc6;return _0x53ada7;})['then'](respondWithFilteredResult(_0x1b0f0d,_0x59e159))[_0xa54d('0x21')](handleError(_0x1b0f0d,null));};