6961f778fb65b77fbb1fe2d51ba7c9a6c31fc321
[motion2.git] / server / api / faxInteraction / faxInteraction.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 _0xe618=['count','offset','limit','set','Content-Range','apply','then','error','name','send','map','fullname','TagIds','Tags','split','catch','waiting','talking','answered','unmanaged','closed','UserId','total','FaxInteraction','rawAttributes','fieldName','type','key','query','keys','filters','model','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','select','field','color','from','tools_tags','u.id','u.fullname','ui.FaxInteractionId','user_has_fax_interactions','left_join','u.id\x20=\x20ui.UserId','fax_interactions','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','users','o.id\x20=\x20i.UserId','fax_accounts','a.id\x20=\x20i.FaxAccountId','fax_messages','fax_interaction_has_tags','it.FaxInteractionId\x20=\x20i.id','expr','search','sqlOperator','conditions','find','unreadMessages','value','`\x20=\x200','having','Contact','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','ContactId','buildExpression','text','start','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','User','$substring','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','body','compact','isEmpty','forEach','FaxAccountId','i.FaxAccountId\x20IN\x20?','createdAt','parse','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','isArray','filter','replace','isNumeric','i.fax\x20LIKE\x20?','i.id','Sequelize','QueryTypes','SELECT','clone','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','contactName','DESC','t.id\x20IN\x20?','resolve','i.FaxAccountId\x20IS\x20NOT\x20NULL','role','agent','user','getFaxAccounts','i.FaxAccountId\x20IS\x20NULL','toString','sequelize','keyBy','merge','a.key','Account.key','a.mandatoryDisposition','Account.mandatoryDisposition','Contact.firstName','c.lastName','Contact.lastName','c.email','c.phone','Contact.phone','Contact.mobile','c.fax','o.fullname','o.internal','Owner.internal','groupBy','push','rows','show','includeAll','include','create','update','destroy','params','describe','FaxMessage','addMessage','ids','omit','getMessages','findOne','$gte','format','YYYY-MM-DD\x20HH:mm:ss','options','setTags','spread','emit','faxInteractionTags:save','removeTags','download','unix','join','server','files','root','attachments','transcript-%d-%s.zip','Attachment','Messages','get','basename','existsSync','createReadStream','pipe','unlinkSync','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','ejs','fs-extra','lodash','squel','crypto','jsforce','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./faxInteraction.socket','register','sendStatus','end','status','json'];(function(_0x94c44f,_0x27783e){var _0x241caf=function(_0x55e8a3){while(--_0x55e8a3){_0x94c44f['push'](_0x94c44f['shift']());}};_0x241caf(++_0x27783e);}(_0xe618,0xb6));var _0x8e61=function(_0x2598b3,_0x1cc0a8){_0x2598b3=_0x2598b3-0x0;var _0x55607f=_0xe618[_0x2598b3];return _0x55607f;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x8e61('0x0'));var zipdir=require(_0x8e61('0x1'));var jsonpatch=require(_0x8e61('0x2'));var rp=require(_0x8e61('0x3'));var moment=require('moment');var BPromise=require(_0x8e61('0x4'));var Mustache=require(_0x8e61('0x5'));var util=require(_0x8e61('0x6'));var path=require(_0x8e61('0x7'));var sox=require(_0x8e61('0x8'));var csv=require('to-csv');var ejs=require(_0x8e61('0x9'));var fs=require('fs');var fs_extra=require(_0x8e61('0xa'));var _=require(_0x8e61('0xb'));var squel=require(_0x8e61('0xc'));var crypto=require(_0x8e61('0xd'));var jsforce=require(_0x8e61('0xe'));var deskjs=require('desk.js');var toCsv=require(_0x8e61('0xf'));var querystring=require(_0x8e61('0x10'));var Papa=require(_0x8e61('0x11'));var Redis=require(_0x8e61('0x12'));var authService=require(_0x8e61('0x13'));var qs=require(_0x8e61('0x14'));var as=require(_0x8e61('0x15'));var hardwareService=require(_0x8e61('0x16'));var logger=require(_0x8e61('0x17'))(_0x8e61('0x18'));var utils=require(_0x8e61('0x19'));var config=require(_0x8e61('0x1a'));var licenseUtil=require(_0x8e61('0x1b'));var db=require(_0x8e61('0x1c'))['db'];config[_0x8e61('0x1d')]=_[_0x8e61('0x1e')](config[_0x8e61('0x1d')],{'host':_0x8e61('0x1f'),'port':0x18eb});var socket=require(_0x8e61('0x20'))(new Redis(config[_0x8e61('0x1d')]));require(_0x8e61('0x21'))[_0x8e61('0x22')](socket);function respondWithStatusCode(_0xb28818,_0x60b01a){_0x60b01a=_0x60b01a||0xcc;return function(_0x2cb5cd){if(_0x2cb5cd){return _0xb28818[_0x8e61('0x23')](_0x60b01a);}return _0xb28818['status'](_0x60b01a)[_0x8e61('0x24')]();};}function respondWithResult(_0xb8924e,_0x304c46){_0x304c46=_0x304c46||0xc8;return function(_0x16b6ff){if(_0x16b6ff){return _0xb8924e[_0x8e61('0x25')](_0x304c46)[_0x8e61('0x26')](_0x16b6ff);}};}function respondWithFilteredResult(_0x2227a2,_0x318510){return function(_0x1cda6e){if(_0x1cda6e){var _0x159363=typeof _0x318510['offset']==='undefined'&&typeof _0x318510['limit']==='undefined';var _0x28bed4=_0x1cda6e[_0x8e61('0x27')];var _0x2266a4=_0x159363?0x0:_0x318510[_0x8e61('0x28')];var _0x2d1cf4=_0x159363?_0x1cda6e[_0x8e61('0x27')]:_0x318510[_0x8e61('0x28')]+_0x318510[_0x8e61('0x29')];var _0x46269a;if(_0x2d1cf4>=_0x28bed4){_0x2d1cf4=_0x28bed4;_0x46269a=0xc8;}else{_0x46269a=0xce;}_0x2227a2[_0x8e61('0x25')](_0x46269a);return _0x2227a2[_0x8e61('0x2a')](_0x8e61('0x2b'),_0x2266a4+'-'+_0x2d1cf4+'/'+_0x28bed4)[_0x8e61('0x26')](_0x1cda6e);}return null;};}function patchUpdates(_0x239c34){return function(_0x53dcb8){try{jsonpatch[_0x8e61('0x2c')](_0x53dcb8,_0x239c34,!![]);}catch(_0x5bf81c){return BPromise['reject'](_0x5bf81c);}return _0x53dcb8['save']();};}function saveUpdates(_0x528b05,_0x3db908){return function(_0x13963f){if(_0x13963f){return _0x13963f['update'](_0x528b05)[_0x8e61('0x2d')](function(_0x2f075a){return _0x2f075a;});}return null;};}function removeEntity(_0x84f4ef,_0x34be9a){return function(_0x5e6929){if(_0x5e6929){return _0x5e6929['destroy']()[_0x8e61('0x2d')](function(){_0x84f4ef[_0x8e61('0x25')](0xcc)[_0x8e61('0x24')]();});}};}function handleEntityNotFound(_0x54fcd2,_0x572f2c){return function(_0x4bab99){if(!_0x4bab99){_0x54fcd2['sendStatus'](0x194);}return _0x4bab99;};}function handleError(_0x2536d2,_0x20414c){_0x20414c=_0x20414c||0x1f4;return function(_0x1d8a8a){logger[_0x8e61('0x2e')](_0x1d8a8a['stack']);if(_0x1d8a8a[_0x8e61('0x2f')]){delete _0x1d8a8a[_0x8e61('0x2f')];}_0x2536d2[_0x8e61('0x25')](_0x20414c)[_0x8e61('0x30')](_0x1d8a8a);};}function getInteractionUsers(_0x37aee3,_0x339112){return new BPromise(function(_0x3fad8f,_0xf5d440){try{if(_0x339112[_0x37aee3['id']]){_0x37aee3['Users']=_[_0x8e61('0x31')](_0x339112[_0x37aee3['id']],function(_0x3f224e){return{'id':_0x3f224e['id'],'fullname':_0x3f224e[_0x8e61('0x32')]};});}}catch(_0x587f84){_0xf5d440(_0x587f84);}_0x3fad8f(_0x37aee3);});}function getInteractionTags(_0x3d5b58,_0x299563){return new BPromise(function(_0x3fbe32,_0x1aa11a){try{if(_0x3d5b58[_0x8e61('0x33')]){_0x3d5b58[_0x8e61('0x34')]=[];_0x3d5b58[_0x8e61('0x33')][_0x8e61('0x35')](',')['forEach'](function(_0x16ce9d){_0x3d5b58[_0x8e61('0x34')]['push'](_0x299563[_0x16ce9d]);});}delete _0x3d5b58['TagIds'];}catch(_0x3d4864){_0x1aa11a(_0x3d4864);}_0x3fbe32(_0x3d5b58);});}function updateFaxInteraction(_0x22e513,_0x3ca3bd,_0x3540f2){return new BPromise(function(_0x41b90b,_0x389ce7){return getInteractionUsers(_0x22e513,_0x3540f2)[_0x8e61('0x2d')](function(_0x37d48a){return getInteractionTags(_0x37d48a,_0x3ca3bd);})['then'](function(_0x1e47a0){return getStateInteraction(_0x1e47a0);})[_0x8e61('0x2d')](function(_0x58d016){_0x41b90b(_0x58d016);})[_0x8e61('0x36')](function(_0x19d4c0){_0x389ce7(_0x19d4c0);});});}function getStateInteraction(_0x5487d2){return new BPromise(function(_0xa653f3){_0x5487d2[_0x8e61('0x37')]=0x0;_0x5487d2[_0x8e61('0x38')]=0x0;_0x5487d2[_0x8e61('0x39')]=0x0;_0x5487d2[_0x8e61('0x3a')]=0x0;_0x5487d2['total']=0x0;if(!_0x5487d2[_0x8e61('0x3b')]&&!_0x5487d2['UserId']){_0x5487d2[_0x8e61('0x37')]+=0x1;}if(!_0x5487d2[_0x8e61('0x3b')]&&_0x5487d2[_0x8e61('0x3c')]){_0x5487d2[_0x8e61('0x38')]+=0x1;if(_0x5487d2[_0x8e61('0x37')]){_0x5487d2[_0x8e61('0x37')]-=0x1;}}if(_0x5487d2[_0x8e61('0x3b')]&&_0x5487d2[_0x8e61('0x3c')]){_0x5487d2['answered']+=0x1;if(_0x5487d2[_0x8e61('0x38')]){_0x5487d2[_0x8e61('0x38')]-=0x1;}}if(_0x5487d2[_0x8e61('0x3b')]&&!_0x5487d2[_0x8e61('0x3c')]){_0x5487d2['unmanaged']+=0x1;if(_0x5487d2[_0x8e61('0x37')]){_0x5487d2['waiting']-=0x1;}}_0x5487d2[_0x8e61('0x3d')]+=0x1;_0xa653f3(_0x5487d2);});}exports['index']=function(_0x3a2b49,_0x3d6fdf){var _0x571685={},_0x4005f1={},_0xfe9430={'count':0x0,'rows':[]};var _0x5cd0a4=_[_0x8e61('0x31')](db[_0x8e61('0x3e')][_0x8e61('0x3f')],function(_0x474abf){return{'name':_0x474abf[_0x8e61('0x40')],'type':_0x474abf[_0x8e61('0x41')][_0x8e61('0x42')]};});_0x4005f1['model']=_[_0x8e61('0x31')](_0x5cd0a4,_0x8e61('0x2f'));_0x4005f1[_0x8e61('0x43')]=_[_0x8e61('0x44')](_0x3a2b49['query']);_0x4005f1[_0x8e61('0x45')]=_['intersection'](_0x4005f1[_0x8e61('0x46')],_0x4005f1[_0x8e61('0x43')]);_0x571685[_0x8e61('0x47')]=_[_0x8e61('0x48')](_0x4005f1[_0x8e61('0x46')],qs[_0x8e61('0x49')](_0x3a2b49[_0x8e61('0x43')][_0x8e61('0x49')]));_0x571685[_0x8e61('0x47')]=_0x571685[_0x8e61('0x47')][_0x8e61('0x4a')]?_0x571685[_0x8e61('0x47')]:_0x4005f1[_0x8e61('0x46')];if(!_0x3a2b49['query'][_0x8e61('0x4b')](_0x8e61('0x4c'))){_0x571685[_0x8e61('0x29')]=qs[_0x8e61('0x29')](_0x3a2b49[_0x8e61('0x43')][_0x8e61('0x29')]);_0x571685[_0x8e61('0x28')]=qs[_0x8e61('0x28')](_0x3a2b49[_0x8e61('0x43')][_0x8e61('0x28')]);}_0x571685[_0x8e61('0x4d')]=qs['sort'](_0x3a2b49['query'][_0x8e61('0x4e')]);_0x571685[_0x8e61('0x4f')]=qs[_0x8e61('0x45')](_[_0x8e61('0x50')](_0x3a2b49['query'],_0x4005f1[_0x8e61('0x45')]),_0x5cd0a4);var _0x4a981d=[];var _0x3e11f8=squel[_0x8e61('0x51')]()[_0x8e61('0x52')]('id')[_0x8e61('0x52')](_0x8e61('0x2f'))[_0x8e61('0x52')](_0x8e61('0x53'))[_0x8e61('0x54')](_0x8e61('0x55'));var _0x3df469=squel[_0x8e61('0x51')]()['field'](_0x8e61('0x56'))['field'](_0x8e61('0x57'))[_0x8e61('0x52')](_0x8e61('0x58'))[_0x8e61('0x54')](_0x8e61('0x59'),'ui')[_0x8e61('0x5a')]('users','u',_0x8e61('0x5b'));var _0x1890a7=squel['select']()[_0x8e61('0x54')](_0x8e61('0x5c'),'i')[_0x8e61('0x5a')](_0x8e61('0x5d'),'c',_0x8e61('0x5e'))['left_join'](_0x8e61('0x5f'),'o',_0x8e61('0x60'))[_0x8e61('0x5a')](_0x8e61('0x61'),'a',_0x8e61('0x62'))['left_join'](_0x8e61('0x63'),'me','me.FaxInteractionId\x20=\x20i.id')['left_join'](_0x8e61('0x64'),'it',_0x8e61('0x65'))['left_join'](_0x8e61('0x55'),'t','t.id\x20=\x20it.TagId');var _0xc520a3=squel[_0x8e61('0x66')]();var _0x4e9c05=[];var _0x14ce0d=squel[_0x8e61('0x66')]();var _0x1636eb;if(_0x3a2b49['query'][_0x8e61('0x67')]){_0x1636eb=as['parseSearch'](_0x3a2b49['query'][_0x8e61('0x67')]);var _0x2f6304=_0x1636eb[_0x8e61('0x68')];for(var _0x21b7db=0x0;_0x21b7db<_0x1636eb['conditions'][_0x8e61('0x4a')];_0x21b7db++){var _0x3186c3=_0x1636eb[_0x8e61('0x69')][_0x21b7db];var _0x4190ba='i';var _0x2038c6=_[_0x8e61('0x6a')](_0x5cd0a4,[_0x8e61('0x2f'),_0x3186c3['field']]);if(!_0x2038c6){switch(_0x3186c3[_0x8e61('0x52')]){case _0x8e61('0x6b'):if(_0x3186c3[_0x8e61('0x6c')]==0x1){_0x1890a7['having']('`'+_0x3186c3[_0x8e61('0x52')]+_0x8e61('0x6d'));}else{_0x1890a7[_0x8e61('0x6e')]('`'+_0x3186c3[_0x8e61('0x52')]+'`\x20>\x200');}break;case _0x8e61('0x6f'):if(_0x3186c3['operator']==='$substring'){if(_0x3186c3[_0x8e61('0x6c')][_0x8e61('0x35')]('\x20')['length']>0x1){_0xc520a3[_0x2f6304](_0x8e61('0x70'),qs['getFullTextValue'](_0x3186c3[_0x8e61('0x6c')]),null);}else{var _0x6f2011='%'+_0x3186c3[_0x8e61('0x6c')]+'%';_0xc520a3[_0x2f6304]('c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?',_0x6f2011,_0x6f2011,_0x6f2011);}}else{_0x2038c6=_[_0x8e61('0x6a')](_0x5cd0a4,[_0x8e61('0x2f'),_0x8e61('0x71')]);_0x3186c3[_0x8e61('0x52')]=_0x8e61('0x71');_0x25cbf6=as[_0x8e61('0x72')](_0x4190ba,_0x2038c6['type'],_0x3186c3);_0xc520a3[_0x2f6304](_0x25cbf6[_0x8e61('0x73')],_0x25cbf6[_0x8e61('0x6c')][_0x8e61('0x74')],_0x25cbf6[_0x8e61('0x6c')][_0x8e61('0x24')]);}break;case'Tag':var _0x4c3e28=_0x3186c3[_0x8e61('0x6c')]['split'](',')[_0x8e61('0x31')](function(_0x1ce523){return Number(_0x1ce523);});_0x4c3e28['forEach'](function(_0x5aeaf3){_0x14ce0d['or'](_0x8e61('0x75'),'%,'+_0x5aeaf3+',%');});_0x4e9c05=_[_0x8e61('0x76')](_0x4e9c05,_0x4c3e28);break;case _0x8e61('0x77'):if(_0x3186c3['operator']===_0x8e61('0x78')){_0xc520a3[_0x2f6304](_0x8e61('0x79'),'%'+_0x3186c3[_0x8e61('0x6c')]+'%',null);}else{_0x2038c6=_[_0x8e61('0x6a')](_0x5cd0a4,[_0x8e61('0x2f'),_0x8e61('0x3c')]);_0x3186c3[_0x8e61('0x52')]=_0x8e61('0x3c');_0x25cbf6=as[_0x8e61('0x72')](_0x4190ba,_0x2038c6[_0x8e61('0x41')],_0x3186c3);_0xc520a3[_0x2f6304](_0x25cbf6['text'],_0x25cbf6[_0x8e61('0x6c')]['start'],_0x25cbf6[_0x8e61('0x6c')][_0x8e61('0x24')]);}break;case _0x8e61('0x7a'):_0x25cbf6=as[_0x8e61('0x72')]('me',null,_0x3186c3);_0xc520a3[_0x2f6304](_0x25cbf6[_0x8e61('0x73')],_0x25cbf6[_0x8e61('0x6c')][_0x8e61('0x74')],_0x25cbf6['value'][_0x8e61('0x24')]);break;}}else{var _0x25cbf6=as[_0x8e61('0x72')](_0x4190ba,_0x2038c6['type'],_0x3186c3);_0xc520a3[_0x2f6304](_0x25cbf6['text'],_0x25cbf6['value']['start'],_0x25cbf6[_0x8e61('0x6c')][_0x8e61('0x24')]);}}}else{var _0x123f97=_(_0x3a2b49[_0x8e61('0x43')])['keys']()['map'](function(_0x5437e8){return _['some'](_0x5cd0a4,[_0x8e61('0x2f'),_0x5437e8])?_0x5437e8:undefined;})[_0x8e61('0x7b')]()[_0x8e61('0x6c')]();if(!_[_0x8e61('0x7c')](_0x123f97)){_0x123f97[_0x8e61('0x7d')](function(_0x3386e1){if(_0x3386e1===_0x8e61('0x7e')){_0x1890a7[_0x8e61('0x4f')](_0x8e61('0x7f'),[]['concat'](_0x3a2b49['query'][_0x3386e1]));}else if(_0x3386e1===_0x8e61('0x80')){var _0x30a220=JSON['parse'](_0x3a2b49['query'][_0x3386e1])['$gte'];var _0x125c1f=JSON[_0x8e61('0x81')](_0x3a2b49[_0x8e61('0x43')][_0x3386e1])[_0x8e61('0x82')];_0x1890a7[_0x8e61('0x4f')](_0x8e61('0x83'),_0x30a220,_0x125c1f);}else{if(_0x3a2b49[_0x8e61('0x43')][_0x3386e1]===_0x8e61('0x84')){_0x1890a7[_0x8e61('0x4f')]('i.'+_0x3386e1+_0x8e61('0x85'));}else{_0x1890a7[_0x8e61('0x4f')]('i.'+_0x3386e1+_0x8e61('0x86'),_0x3a2b49['query'][_0x3386e1]);}}});}if(_0x3a2b49[_0x8e61('0x43')]['read']){if(_0x3a2b49[_0x8e61('0x43')][_0x8e61('0x87')]==0x1){_0x1890a7[_0x8e61('0x6e')](_0x8e61('0x88'));}else{_0x1890a7['having'](_0x8e61('0x89'));}}if(_0x3a2b49[_0x8e61('0x43')][_0x8e61('0x8a')]){_0x4e9c05=_[_0x8e61('0x8b')](_0x3a2b49[_0x8e61('0x43')]['tag'])?_0x3a2b49[_0x8e61('0x43')][_0x8e61('0x8a')]:new Array(_0x3a2b49['query'][_0x8e61('0x8a')]);_0x4e9c05[_0x8e61('0x7d')](function(_0x2733c3){_0x14ce0d['or'](_0x8e61('0x75'),'%,'+_0x2733c3+',%');});}if(_0x3a2b49[_0x8e61('0x43')][_0x8e61('0x8c')]){var _0x90e5ab=_0x3a2b49['query'][_0x8e61('0x8c')]['replace']('\x5c','\x5c\x5c')[_0x8e61('0x8d')](/'/g,'\x27\x27');if(qs[_0x8e61('0x8e')](_0x90e5ab)){_0xc520a3['or']('i.id\x20LIKE\x20?',_0x90e5ab+'%')['or'](_0x8e61('0x8f'),_0x90e5ab+'%');}_0xc520a3['or']('CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?',_0x90e5ab+'%');}}_0x1890a7[_0x8e61('0x4f')](_0xc520a3);_0x1890a7['group'](_0x8e61('0x90'));var _0x3f2031={'type':db[_0x8e61('0x91')][_0x8e61('0x92')][_0x8e61('0x93')],'raw':!![]};var _0x4c0241=_0x1890a7[_0x8e61('0x94')]();_0x4c0241['field'](_0x8e61('0x90'));_0x4c0241[_0x8e61('0x52')](_0x8e61('0x95'),_0x8e61('0x6b'));if(_0x571685['order']){_0x571685[_0x8e61('0x4d')]['forEach'](function(_0x855027){var _0x34c554=_0x855027[0x0]===_0x8e61('0x96')?_0x855027[0x0]:'i.'+_0x855027[0x0];_0x1890a7[_0x8e61('0x4d')](_0x34c554,_0x855027[0x1]===_0x8e61('0x97')?![]:!![]);});}if(!_[_0x8e61('0x7c')](_0x4e9c05)){_0x1890a7[_0x8e61('0x6e')](_0x14ce0d);_0x4c0241[_0x8e61('0x4f')](_0x8e61('0x98'),_0x4e9c05);}BPromise[_0x8e61('0x99')]()[_0x8e61('0x2d')](function(){if(!_0x1636eb){if(_0x3a2b49[_0x8e61('0x43')][_0x8e61('0x7e')])return;_0x4c0241['where']('i.FaxAccountId\x20IS\x20NOT\x20NULL');_0x1890a7[_0x8e61('0x4f')](_0x8e61('0x9a'));return;}if(_0x3a2b49['user'][_0x8e61('0x9b')]!==_0x8e61('0x9c'))return;return _0x3a2b49[_0x8e61('0x9d')][_0x8e61('0x9e')]({'attributes':['id'],'raw':!![]})[_0x8e61('0x2d')](function(_0x1dc854){if(_[_0x8e61('0x7c')](_0x1dc854)){_0x4c0241[_0x8e61('0x4f')](_0x8e61('0x9f'));_0x1890a7[_0x8e61('0x4f')](_0x8e61('0x9f'));}else{_0x4c0241[_0x8e61('0x4f')]('i.FaxAccountId\x20IN\x20?',_['map'](_0x1dc854,'id'));_0x1890a7['where'](_0x8e61('0x7f'),_['map'](_0x1dc854,'id'));}});})[_0x8e61('0x2d')](function(){if(_0x3a2b49[_0x8e61('0x9d')]['role']==='agent'&&!_0x1636eb&&!_0x3a2b49[_0x8e61('0x43')][_0x8e61('0x7e')])return[];return db['sequelize'][_0x8e61('0x43')](_0x4c0241[_0x8e61('0xa0')](),_0x3f2031);})[_0x8e61('0x2d')](function(_0x8287ea){_0xfe9430[_0x8e61('0x27')]=_0x8287ea[_0x8e61('0x4a')];if(_0xfe9430[_0x8e61('0x27')]===0x0)return[];return db[_0x8e61('0xa1')]['query'](_0x3e11f8[_0x8e61('0xa0')](),_0x3f2031)[_0x8e61('0x2d')](function(_0x21d27f){_0x4a981d=_[_0x8e61('0xa2')](_0x21d27f,'id');_0x3f2031=_[_0x8e61('0xa3')](_0x3f2031,{'model':db[_0x8e61('0x3e')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x3a2b49[_0x8e61('0x43')]['fields']){_0x571685[_0x8e61('0x47')]['forEach'](function(_0x2b6ebe){_0x1890a7['field']('i.'+_0x2b6ebe);});}else{_0x1890a7[_0x8e61('0x52')](_0x8e61('0x95'),_0x8e61('0x6b'));_0x1890a7['field'](_0x8e61('0xa4'),_0x8e61('0xa5'));_0x1890a7[_0x8e61('0x52')](_0x8e61('0xa6'),_0x8e61('0xa7'));_0x1890a7[_0x8e61('0x52')]('CASE\x20WHEN\x20(c.firstName\x20IS\x20NOT\x20NULL\x20AND\x20c.firstName\x20<>\x20\x27\x27)\x20OR\x20(c.lastName\x20IS\x20NOT\x20NULL\x20AND\x20c.lastName\x20<>\x20\x27\x27)\x20THEN\x20CONCAT(IFNULL(c.firstName,\x20\x27\x27),\x20\x27\x20\x27,\x20IFNULL(c.lastName,\x20\x27\x27))\x20ELSE\x20\x27Unknown\x27\x20END','contactName');_0x1890a7[_0x8e61('0x52')]('i.*');_0x1890a7[_0x8e61('0x52')]('c.firstName',_0x8e61('0xa8'));_0x1890a7['field'](_0x8e61('0xa9'),_0x8e61('0xaa'));_0x1890a7[_0x8e61('0x52')](_0x8e61('0xab'),'Contact.email');_0x1890a7[_0x8e61('0x52')](_0x8e61('0xac'),_0x8e61('0xad'));_0x1890a7[_0x8e61('0x52')]('c.mobile',_0x8e61('0xae'));_0x1890a7[_0x8e61('0x52')](_0x8e61('0xaf'),'Contact.fax');_0x1890a7[_0x8e61('0x52')](_0x8e61('0xb0'),'Owner.fullname');_0x1890a7['field'](_0x8e61('0xb1'),_0x8e61('0xb2'));_0x1890a7[_0x8e61('0x52')]('GROUP_CONCAT(DISTINCT\x20t.id)','TagIds');}if(_0x571685['limit'])_0x1890a7[_0x8e61('0x29')](_0x571685[_0x8e61('0x29')]);if(_0x571685[_0x8e61('0x28')])_0x1890a7[_0x8e61('0x28')](_0x571685[_0x8e61('0x28')]);return db[_0x8e61('0xa1')][_0x8e61('0x43')](_0x1890a7[_0x8e61('0xa0')](),_0x3f2031);})[_0x8e61('0x2d')](function(_0x3f603d){if(_0x3f603d[_0x8e61('0x4a')]>0x0)_0x3df469[_0x8e61('0x4f')]('ui.FaxInteractionId\x20IN\x20?',_[_0x8e61('0x31')](_0x3f603d,'id'));return db['sequelize'][_0x8e61('0x43')](_0x3df469[_0x8e61('0xa0')](),_0x3f2031)[_0x8e61('0x2d')](function(_0x8ef9c2){var _0xb751d5=_[_0x8e61('0xb3')](_0x8ef9c2,'FaxInteractionId');var _0x4cf112=[];_0x3f603d['forEach'](function(_0x36a68b){_0x4cf112[_0x8e61('0xb4')](updateFaxInteraction(_0x36a68b,_0x4a981d,_0xb751d5));});return BPromise['all'](_0x4cf112);});});})[_0x8e61('0x2d')](function(_0xa15f18){_0xfe9430[_0x8e61('0xb5')]=_0xa15f18;return _0xfe9430;})[_0x8e61('0x2d')](respondWithFilteredResult(_0x3d6fdf,_0x571685))[_0x8e61('0x36')](handleError(_0x3d6fdf,null));};exports[_0x8e61('0xb6')]=function(_0x2ab21d,_0x1d5d3d){var _0xa2a12a={'raw':![],'where':{'id':_0x2ab21d['params']['id']}},_0x439f31={};_0x439f31[_0x8e61('0x46')]=_[_0x8e61('0x44')](db[_0x8e61('0x3e')]['rawAttributes']);_0x439f31[_0x8e61('0x43')]=_[_0x8e61('0x44')](_0x2ab21d[_0x8e61('0x43')]);_0x439f31['filters']=_[_0x8e61('0x48')](_0x439f31[_0x8e61('0x46')],_0x439f31[_0x8e61('0x43')]);_0xa2a12a[_0x8e61('0x47')]=_[_0x8e61('0x48')](_0x439f31[_0x8e61('0x46')],qs[_0x8e61('0x49')](_0x2ab21d[_0x8e61('0x43')][_0x8e61('0x49')]));_0xa2a12a[_0x8e61('0x47')]=_0xa2a12a[_0x8e61('0x47')]['length']?_0xa2a12a[_0x8e61('0x47')]:_0x439f31[_0x8e61('0x46')];if(_0x2ab21d[_0x8e61('0x43')][_0x8e61('0xb7')]){_0xa2a12a[_0x8e61('0xb8')]=[{'all':!![]}];}_0xa2a12a=_[_0x8e61('0xa3')]({},_0xa2a12a,_0x2ab21d['options']);return db[_0x8e61('0x3e')][_0x8e61('0x6a')](_0xa2a12a)[_0x8e61('0x2d')](handleEntityNotFound(_0x1d5d3d,null))[_0x8e61('0x2d')](respondWithResult(_0x1d5d3d,null))[_0x8e61('0x36')](handleError(_0x1d5d3d,null));};exports[_0x8e61('0xb9')]=function(_0x3880c6,_0x26ba2e){return db[_0x8e61('0x3e')]['create'](_0x3880c6['body'],{})[_0x8e61('0x2d')](respondWithResult(_0x26ba2e,0xc9))[_0x8e61('0x36')](handleError(_0x26ba2e,null));};exports[_0x8e61('0xba')]=function(_0x2dce6a,_0x965e63){if(_0x2dce6a[_0x8e61('0x7a')]['id']){delete _0x2dce6a[_0x8e61('0x7a')]['id'];}return db[_0x8e61('0x3e')][_0x8e61('0x6a')]({'where':{'id':_0x2dce6a['params']['id']}})[_0x8e61('0x2d')](handleEntityNotFound(_0x965e63,null))[_0x8e61('0x2d')](saveUpdates(_0x2dce6a[_0x8e61('0x7a')],null))[_0x8e61('0x2d')](respondWithResult(_0x965e63,null))[_0x8e61('0x36')](handleError(_0x965e63,null));};exports[_0x8e61('0xbb')]=function(_0x2e8d8d,_0x3b5605){return db[_0x8e61('0x3e')][_0x8e61('0x6a')]({'where':{'id':_0x2e8d8d[_0x8e61('0xbc')]['id']}})[_0x8e61('0x2d')](handleEntityNotFound(_0x3b5605,null))[_0x8e61('0x2d')](removeEntity(_0x3b5605,null))[_0x8e61('0x36')](handleError(_0x3b5605,null));};exports[_0x8e61('0xbd')]=function(_0x4a8cd5,_0x3cf9fc){return db[_0x8e61('0x3e')][_0x8e61('0xbd')]()['then'](respondWithResult(_0x3cf9fc,null))[_0x8e61('0x36')](handleError(_0x3cf9fc,null));};exports['addMessage']=function(_0x49b687,_0x109e54,_0x34adf6){return db[_0x8e61('0xbe')]['find']({'where':{'id':_0x49b687[_0x8e61('0xbc')]['id']}})[_0x8e61('0x2d')](handleEntityNotFound(_0x109e54,null))[_0x8e61('0x2d')](function(_0x526745){if(_0x526745){return _0x526745[_0x8e61('0xbf')](_0x49b687['body'][_0x8e61('0xc0')],_[_0x8e61('0xc1')](_0x49b687[_0x8e61('0x7a')],[_0x8e61('0xc0'),'id'])||{});}})[_0x8e61('0x2d')](respondWithResult(_0x109e54,null))[_0x8e61('0x36')](handleError(_0x109e54,null));};exports[_0x8e61('0xc2')]=function(_0x52cb63,_0x17d916,_0x59324d){var _0x3a6ae9={'raw':![],'where':{}};var _0xaa489b={};var _0x1c695f={'count':0x0,'rows':[]};return db[_0x8e61('0x3e')][_0x8e61('0xc3')]({'where':{'id':_0x52cb63[_0x8e61('0xbc')]['id']}})[_0x8e61('0x2d')](handleEntityNotFound(_0x17d916,null))['then'](function(_0xf7d666){if(_0xf7d666){_0xaa489b[_0x8e61('0x46')]=_[_0x8e61('0x44')](db[_0x8e61('0xbe')]['rawAttributes']);_0xaa489b[_0x8e61('0x43')]=_[_0x8e61('0x44')](_0x52cb63[_0x8e61('0x43')]);_0xaa489b['filters']=_[_0x8e61('0x48')](_0xaa489b['model'],_0xaa489b[_0x8e61('0x43')]);_0x3a6ae9[_0x8e61('0x47')]=_['intersection'](_0xaa489b[_0x8e61('0x46')],qs['fields'](_0x52cb63['query'][_0x8e61('0x49')]));_0x3a6ae9[_0x8e61('0x47')]=_0x3a6ae9['attributes']['length']?_0x3a6ae9[_0x8e61('0x47')]:_0xaa489b[_0x8e61('0x46')];if(!_0x52cb63[_0x8e61('0x43')][_0x8e61('0x4b')]('nolimit')){_0x3a6ae9[_0x8e61('0x29')]=qs[_0x8e61('0x29')](_0x52cb63[_0x8e61('0x43')]['limit']);_0x3a6ae9[_0x8e61('0x28')]=qs[_0x8e61('0x28')](_0x52cb63[_0x8e61('0x43')][_0x8e61('0x28')]);}_0x3a6ae9[_0x8e61('0x4d')]=qs[_0x8e61('0x4e')](_0x52cb63[_0x8e61('0x43')][_0x8e61('0x4e')]);_0x3a6ae9[_0x8e61('0x4f')]=qs[_0x8e61('0x45')](_[_0x8e61('0x50')](_0x52cb63['query'],_0xaa489b[_0x8e61('0x45')]));_0x3a6ae9[_0x8e61('0x4f')]['FaxInteractionId']=_0xf7d666['id'];if(_0x52cb63[_0x8e61('0x43')][_0x8e61('0x8c')]){_0x3a6ae9[_0x8e61('0x4f')]=_[_0x8e61('0xa3')](_0x3a6ae9[_0x8e61('0x4f')],{'$or':_['map'](_0x3a6ae9['attributes'],function(_0x33d227){var _0x50d3e4={};_0x50d3e4[_0x33d227]={'$like':'%'+_0x52cb63['query'][_0x8e61('0x8c')]+'%'};return _0x50d3e4;})});}if(_0x52cb63[_0x8e61('0x43')]['$gte']){var _0x4183c4=_0x52cb63[_0x8e61('0x43')][_0x8e61('0xc4')]['split'](',');var _0x369d38={};_0x369d38[_0x4183c4[0x0]]={'$gte':moment(_0x4183c4[0x1])[_0x8e61('0xc5')](_0x8e61('0xc6'))};_0x3a6ae9['where']=_[_0x8e61('0xa3')](_0x3a6ae9[_0x8e61('0x4f')],_0x369d38);}_0x3a6ae9=_[_0x8e61('0xa3')]({},_0x3a6ae9,_0x52cb63[_0x8e61('0xc7')]);return db[_0x8e61('0xbe')][_0x8e61('0x27')]({'where':_0x3a6ae9[_0x8e61('0x4f')]})[_0x8e61('0x2d')](function(_0xd1af73){_0x1c695f[_0x8e61('0x27')]=_0xd1af73;if(_0x52cb63[_0x8e61('0x43')][_0x8e61('0xb7')]){_0x3a6ae9[_0x8e61('0xb8')]=[{'all':!![]}];}return db[_0x8e61('0xbe')]['findAll'](_0x3a6ae9);})[_0x8e61('0x2d')](function(_0x3f8cc6){_0x1c695f[_0x8e61('0xb5')]=_0x3f8cc6;return _0x1c695f;});}})[_0x8e61('0x2d')](respondWithFilteredResult(_0x17d916,_0x3a6ae9))['catch'](handleError(_0x17d916,null));};exports['addTags']=function(_0x3cc57d,_0x73be6d,_0x4e851a){return db[_0x8e61('0x3e')][_0x8e61('0x6a')]({'where':{'id':_0x3cc57d['params']['id']}})['then'](handleEntityNotFound(_0x73be6d,null))[_0x8e61('0x2d')](function(_0x2a0bc6){if(_0x2a0bc6){return _0x2a0bc6[_0x8e61('0xc8')](_0x3cc57d[_0x8e61('0x7a')][_0x8e61('0xc0')],_[_0x8e61('0xc1')](_0x3cc57d['body'],['ids','id'])||{})[_0x8e61('0xc9')](function(){return db['Tag']['findAll']({'attributes':['id',_0x8e61('0x2f'),_0x8e61('0x53')],'where':{'id':_0x3cc57d['body'][_0x8e61('0xc0')]}});})['then'](function(_0x2b0913){socket[_0x8e61('0xca')](_0x8e61('0xcb'),{'id':Number(_0x3cc57d[_0x8e61('0xbc')]['id']),'tags':_0x2b0913||[]});return{'id':Number(_0x3cc57d[_0x8e61('0xbc')]['id']),'tags':_0x2b0913||[]};});}})[_0x8e61('0x2d')](respondWithResult(_0x73be6d,null))[_0x8e61('0x36')](handleError(_0x73be6d,null));};exports[_0x8e61('0xcc')]=function(_0x3b3ad6,_0xafab87,_0x8c912f){return db[_0x8e61('0x3e')][_0x8e61('0x6a')]({'where':{'id':_0x3b3ad6[_0x8e61('0xbc')]['id']}})['then'](handleEntityNotFound(_0xafab87,null))['then'](function(_0x1432da){if(_0x1432da){return _0x1432da[_0x8e61('0xcc')](_0x3b3ad6[_0x8e61('0x43')]['ids']);}})[_0x8e61('0x2d')](respondWithStatusCode(_0xafab87,null))[_0x8e61('0x36')](handleError(_0xafab87,null));};exports[_0x8e61('0xcd')]=function(_0x19231e,_0x4c9e6c){var _0x4b9958=moment()[_0x8e61('0xce')]()[_0x8e61('0xa0')]();var _0x33e6eb=path[_0x8e61('0xcf')](config['root'],_0x8e61('0xd0'),_0x8e61('0xd1'),'tmp');var _0x482e43=path['join'](config[_0x8e61('0xd2')],_0x8e61('0xd0'),_0x8e61('0xd1'),_0x8e61('0xd3'));var _0x12893a=path['join'](_0x33e6eb,_0x4b9958);var _0xb00b39=util[_0x8e61('0xc5')](_0x8e61('0xd4'),_0x19231e[_0x8e61('0xbc')]['id'],_0x4b9958);var _0x443fe8=path[_0x8e61('0xcf')](_0x33e6eb,_0xb00b39);var _0x558933=[];_0x558933[_0x8e61('0xb4')]({'model':db[_0x8e61('0xd5')],'as':_0x8e61('0xd5'),'raw':!![]});var _0x254c30=[{'model':db[_0x8e61('0xbe')],'as':_0x8e61('0xd6'),'attributes':['id',_0x8e61('0x7a'),_0x8e61('0x80')],'include':_0x558933}];return db[_0x8e61('0x3e')][_0x8e61('0x6a')]({'where':{'id':_0x19231e['params']['id']},'include':_0x254c30})['then'](handleEntityNotFound(_0x4c9e6c,null))[_0x8e61('0x2d')](function(_0x1e34f6){if(_0x1e34f6&&_0x1e34f6[_0x8e61('0xd6')]){var _0xcd0653=_0x1e34f6[_0x8e61('0xd7')]({'plain':!![]});fs['mkdirSync'](_0x12893a);for(var _0x190bd8=0x0;_0x190bd8<_0xcd0653[_0x8e61('0xd6')]['length'];_0x190bd8++){var _0x64630f=_0xcd0653['Messages'][_0x190bd8][_0x8e61('0xd5')];if(_0x64630f){var _0x1581f6=path['join'](_0x482e43,_0x64630f[_0x8e61('0xd8')]);if(fs[_0x8e61('0xd9')](_0x1581f6)){fs[_0x8e61('0xda')](_0x1581f6)[_0x8e61('0xdb')](fs['createWriteStream'](path[_0x8e61('0xcf')](_0x12893a,_0x64630f[_0x8e61('0xd8')])));}}}return BPromise[_0x8e61('0x99')]()[_0x8e61('0x2d')](function(){return new BPromise(function(_0x2a5bb5,_0x43aa1e){zipdir(_0x12893a,{'saveTo':_0x443fe8},function(_0x3bd933,_0x32dc57){if(_0x3bd933)return _0x43aa1e(_0x3bd933);return _0x2a5bb5(_0x32dc57);});})[_0x8e61('0x2d')](function(){return new BPromise(function(_0xa66fb7,_0x27f272){rimraf(_0x12893a,function(_0x32c2ea){if(_0x32c2ea)_0x27f272(_0x32c2ea);return _0xa66fb7();});});})[_0x8e61('0x2d')](function(){return _0x4c9e6c[_0x8e61('0xcd')](_0x443fe8,_0xb00b39,function(_0x5429fe){if(_0x5429fe){console['log']('err',_0x5429fe);}else{fs[_0x8e61('0xdc')](_0x443fe8);}});});});}else{return _0x4c9e6c[_0x8e61('0x23')](0xc8);}})[_0x8e61('0x36')](handleError(_0x4c9e6c,null));};