Built motion from commit 9d7072cc.|2.5.39
[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 _0x19dd=['querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','localhost','socket.io-emitter','./faxInteraction.socket','register','sendStatus','status','end','json','undefined','limit','count','offset','apply','then','destroy','error','stack','name','send','Users','map','TagIds','split','forEach','Tags','push','catch','waiting','talking','answered','unmanaged','total','closed','UserId','index','FaxInteraction','rawAttributes','fieldName','type','key','model','query','filters','intersection','attributes','fields','hasOwnProperty','nolimit','sort','where','field','color','from','tools_tags','u.fullname','ui.FaxInteractionId','user_has_fax_interactions','users','u.id\x20=\x20ui.UserId','select','left_join','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','o.id\x20=\x20i.UserId','fax_accounts','a.id\x20=\x20i.FaxAccountId','fax_messages','me.FaxInteractionId\x20=\x20i.id','it.FaxInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','expr','search','parseSearch','conditions','length','find','unreadMessages','value','`\x20=\x200','having','`\x20>\x200','Contact','operator','$substring','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','ContactId','text','Tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','buildExpression','body','start','keys','some','compact','FaxAccountId','i.FaxAccountId\x20IN\x20?','concat','createdAt','parse','$gte','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','\x20=\x20?','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','filter','replace','isNumeric','i.fax\x20LIKE\x20?','group','Sequelize','QueryTypes','clone','i.id','order','DESC','isEmpty','t.id\x20IN\x20?','resolve','i.FaxAccountId\x20IS\x20NOT\x20NULL','user','agent','getFaxAccounts','i.FaxAccountId\x20IS\x20NULL','role','sequelize','toString','keyBy','merge','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','a.key','Account.key','Account.mandatoryDisposition','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','i.*','c.firstName','c.lastName','Contact.lastName','Contact.email','c.mobile','Contact.mobile','c.fax','Owner.fullname','o.internal','ui.FaxInteractionId\x20IN\x20?','groupBy','FaxInteractionId','all','rows','params','include','options','create','describe','addMessage','FaxMessage','ids','omit','getMessages','findOne','pick','YYYY-MM-DD\x20HH:mm:ss','includeAll','addTags','setTags','spread','emit','faxInteractionTags:save','removeTags','download','unix','join','root','server','files','attachments','format','transcript-%d-%s.zip','Attachment','mkdirSync','Messages','basename','existsSync','createReadStream','pipe','createWriteStream','log','err','unlinkSync','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','ejs','squel','crypto','jsforce','desk.js'];(function(_0xb19ed3,_0x3c4efb){var _0x4bc52c=function(_0x42aa64){while(--_0x42aa64){_0xb19ed3['push'](_0xb19ed3['shift']());}};_0x4bc52c(++_0x3c4efb);}(_0x19dd,0x1b2));var _0xd19d=function(_0x488fc8,_0x37db11){_0x488fc8=_0x488fc8-0x0;var _0x5994dd=_0x19dd[_0x488fc8];return _0x5994dd;};'use strict';var emlformat=require(_0xd19d('0x0'));var rimraf=require(_0xd19d('0x1'));var zipdir=require(_0xd19d('0x2'));var jsonpatch=require(_0xd19d('0x3'));var rp=require(_0xd19d('0x4'));var moment=require(_0xd19d('0x5'));var BPromise=require(_0xd19d('0x6'));var Mustache=require(_0xd19d('0x7'));var util=require(_0xd19d('0x8'));var path=require(_0xd19d('0x9'));var sox=require(_0xd19d('0xa'));var csv=require('to-csv');var ejs=require(_0xd19d('0xb'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0xd19d('0xc'));var crypto=require(_0xd19d('0xd'));var jsforce=require(_0xd19d('0xe'));var deskjs=require(_0xd19d('0xf'));var toCsv=require('to-csv');var querystring=require(_0xd19d('0x10'));var Papa=require(_0xd19d('0x11'));var Redis=require(_0xd19d('0x12'));var authService=require('../../components/auth/service');var qs=require(_0xd19d('0x13'));var as=require(_0xd19d('0x14'));var hardwareService=require(_0xd19d('0x15'));var logger=require(_0xd19d('0x16'))(_0xd19d('0x17'));var utils=require(_0xd19d('0x18'));var config=require(_0xd19d('0x19'));var licenseUtil=require(_0xd19d('0x1a'));var db=require(_0xd19d('0x1b'))['db'];config[_0xd19d('0x1c')]=_['defaults'](config[_0xd19d('0x1c')],{'host':_0xd19d('0x1d'),'port':0x18eb});var socket=require(_0xd19d('0x1e'))(new Redis(config[_0xd19d('0x1c')]));require(_0xd19d('0x1f'))[_0xd19d('0x20')](socket);function respondWithStatusCode(_0x29342a,_0x17da91){_0x17da91=_0x17da91||0xcc;return function(_0x46d576){if(_0x46d576){return _0x29342a[_0xd19d('0x21')](_0x17da91);}return _0x29342a[_0xd19d('0x22')](_0x17da91)[_0xd19d('0x23')]();};}function respondWithResult(_0x3e1135,_0x21076e){_0x21076e=_0x21076e||0xc8;return function(_0x407b21){if(_0x407b21){return _0x3e1135['status'](_0x21076e)[_0xd19d('0x24')](_0x407b21);}};}function respondWithFilteredResult(_0xd3fe43,_0x8211ca){return function(_0x4a055b){if(_0x4a055b){var _0x5a2b49=typeof _0x8211ca['offset']===_0xd19d('0x25')&&typeof _0x8211ca[_0xd19d('0x26')]===_0xd19d('0x25');var _0x535df8=_0x4a055b[_0xd19d('0x27')];var _0x683fbb=_0x5a2b49?0x0:_0x8211ca[_0xd19d('0x28')];var _0x41d790=_0x5a2b49?_0x4a055b[_0xd19d('0x27')]:_0x8211ca[_0xd19d('0x28')]+_0x8211ca['limit'];var _0x193928;if(_0x41d790>=_0x535df8){_0x41d790=_0x535df8;_0x193928=0xc8;}else{_0x193928=0xce;}_0xd3fe43[_0xd19d('0x22')](_0x193928);return _0xd3fe43['set']('Content-Range',_0x683fbb+'-'+_0x41d790+'/'+_0x535df8)[_0xd19d('0x24')](_0x4a055b);}return null;};}function patchUpdates(_0x5eb466){return function(_0xbc04f8){try{jsonpatch[_0xd19d('0x29')](_0xbc04f8,_0x5eb466,!![]);}catch(_0x11436f){return BPromise['reject'](_0x11436f);}return _0xbc04f8['save']();};}function saveUpdates(_0x42d7bf,_0x15d7ab){return function(_0x5a4345){if(_0x5a4345){return _0x5a4345['update'](_0x42d7bf)[_0xd19d('0x2a')](function(_0x4f75fd){return _0x4f75fd;});}return null;};}function removeEntity(_0x8d2c84,_0x5bb466){return function(_0x2183af){if(_0x2183af){return _0x2183af[_0xd19d('0x2b')]()[_0xd19d('0x2a')](function(){_0x8d2c84[_0xd19d('0x22')](0xcc)[_0xd19d('0x23')]();});}};}function handleEntityNotFound(_0x235eb8,_0x3e25df){return function(_0x2b06fe){if(!_0x2b06fe){_0x235eb8[_0xd19d('0x21')](0x194);}return _0x2b06fe;};}function handleError(_0x46cfdf,_0x231698){_0x231698=_0x231698||0x1f4;return function(_0x97e338){logger[_0xd19d('0x2c')](_0x97e338[_0xd19d('0x2d')]);if(_0x97e338[_0xd19d('0x2e')]){delete _0x97e338['name'];}_0x46cfdf[_0xd19d('0x22')](_0x231698)[_0xd19d('0x2f')](_0x97e338);};}function getInteractionUsers(_0x358ae6,_0x3ba5d6){return new BPromise(function(_0x3d3461,_0x567f87){try{if(_0x3ba5d6[_0x358ae6['id']]){_0x358ae6[_0xd19d('0x30')]=_[_0xd19d('0x31')](_0x3ba5d6[_0x358ae6['id']],function(_0x378fd4){return{'id':_0x378fd4['id'],'fullname':_0x378fd4['fullname']};});}}catch(_0x4703b3){_0x567f87(_0x4703b3);}_0x3d3461(_0x358ae6);});}function getInteractionTags(_0x5163e7,_0x2de134){return new BPromise(function(_0x20baad,_0x5a6c4d){try{if(_0x5163e7[_0xd19d('0x32')]){_0x5163e7['Tags']=[];_0x5163e7[_0xd19d('0x32')][_0xd19d('0x33')](',')[_0xd19d('0x34')](function(_0x45caac){_0x5163e7[_0xd19d('0x35')][_0xd19d('0x36')](_0x2de134[_0x45caac]);});}delete _0x5163e7[_0xd19d('0x32')];}catch(_0x52041c){_0x5a6c4d(_0x52041c);}_0x20baad(_0x5163e7);});}function updateFaxInteraction(_0x2ecf74,_0x4ad02f,_0x7dcb57){return new BPromise(function(_0x5238e2,_0x152a12){return getInteractionUsers(_0x2ecf74,_0x7dcb57)[_0xd19d('0x2a')](function(_0x113383){return getInteractionTags(_0x113383,_0x4ad02f);})[_0xd19d('0x2a')](function(_0xcdf438){return getStateInteraction(_0xcdf438);})[_0xd19d('0x2a')](function(_0x4453eb){_0x5238e2(_0x4453eb);})[_0xd19d('0x37')](function(_0x4d497e){_0x152a12(_0x4d497e);});});}function getStateInteraction(_0x931166){return new BPromise(function(_0x29bd3a){_0x931166[_0xd19d('0x38')]=0x0;_0x931166[_0xd19d('0x39')]=0x0;_0x931166[_0xd19d('0x3a')]=0x0;_0x931166[_0xd19d('0x3b')]=0x0;_0x931166[_0xd19d('0x3c')]=0x0;if(!_0x931166[_0xd19d('0x3d')]&&!_0x931166[_0xd19d('0x3e')]){_0x931166[_0xd19d('0x38')]+=0x1;}if(!_0x931166[_0xd19d('0x3d')]&&_0x931166[_0xd19d('0x3e')]){_0x931166[_0xd19d('0x39')]+=0x1;if(_0x931166[_0xd19d('0x38')]){_0x931166[_0xd19d('0x38')]-=0x1;}}if(_0x931166['closed']&&_0x931166['UserId']){_0x931166[_0xd19d('0x3a')]+=0x1;if(_0x931166[_0xd19d('0x39')]){_0x931166[_0xd19d('0x39')]-=0x1;}}if(_0x931166['closed']&&!_0x931166[_0xd19d('0x3e')]){_0x931166[_0xd19d('0x3b')]+=0x1;if(_0x931166[_0xd19d('0x38')]){_0x931166[_0xd19d('0x38')]-=0x1;}}_0x931166['total']+=0x1;_0x29bd3a(_0x931166);});}exports[_0xd19d('0x3f')]=function(_0x49089e,_0x186847){var _0x322d7d={},_0x28d085={},_0x2ef444={'count':0x0,'rows':[]};var _0xe8c452=_[_0xd19d('0x31')](db[_0xd19d('0x40')][_0xd19d('0x41')],function(_0x351411){return{'name':_0x351411[_0xd19d('0x42')],'type':_0x351411[_0xd19d('0x43')][_0xd19d('0x44')]};});_0x28d085[_0xd19d('0x45')]=_[_0xd19d('0x31')](_0xe8c452,'name');_0x28d085['query']=_['keys'](_0x49089e[_0xd19d('0x46')]);_0x28d085[_0xd19d('0x47')]=_[_0xd19d('0x48')](_0x28d085[_0xd19d('0x45')],_0x28d085[_0xd19d('0x46')]);_0x322d7d[_0xd19d('0x49')]=_[_0xd19d('0x48')](_0x28d085[_0xd19d('0x45')],qs[_0xd19d('0x4a')](_0x49089e[_0xd19d('0x46')][_0xd19d('0x4a')]));_0x322d7d[_0xd19d('0x49')]=_0x322d7d[_0xd19d('0x49')]['length']?_0x322d7d['attributes']:_0x28d085['model'];if(!_0x49089e[_0xd19d('0x46')][_0xd19d('0x4b')](_0xd19d('0x4c'))){_0x322d7d['limit']=qs[_0xd19d('0x26')](_0x49089e[_0xd19d('0x46')][_0xd19d('0x26')]);_0x322d7d[_0xd19d('0x28')]=qs[_0xd19d('0x28')](_0x49089e[_0xd19d('0x46')][_0xd19d('0x28')]);}_0x322d7d['order']=qs['sort'](_0x49089e[_0xd19d('0x46')][_0xd19d('0x4d')]);_0x322d7d[_0xd19d('0x4e')]=qs[_0xd19d('0x47')](_['pick'](_0x49089e[_0xd19d('0x46')],_0x28d085[_0xd19d('0x47')]),_0xe8c452);var _0x1ce91d=[];var _0x250b7a=squel['select']()['field']('id')[_0xd19d('0x4f')](_0xd19d('0x2e'))[_0xd19d('0x4f')](_0xd19d('0x50'))[_0xd19d('0x51')](_0xd19d('0x52'));var _0x4b205d=squel['select']()[_0xd19d('0x4f')]('u.id')[_0xd19d('0x4f')](_0xd19d('0x53'))[_0xd19d('0x4f')](_0xd19d('0x54'))[_0xd19d('0x51')](_0xd19d('0x55'),'ui')['left_join'](_0xd19d('0x56'),'u',_0xd19d('0x57'));var _0x2c4a04=squel[_0xd19d('0x58')]()['from']('fax_interactions','i')[_0xd19d('0x59')]('cm_contacts','c',_0xd19d('0x5a'))['left_join']('users','o',_0xd19d('0x5b'))[_0xd19d('0x59')](_0xd19d('0x5c'),'a',_0xd19d('0x5d'))['left_join'](_0xd19d('0x5e'),'me',_0xd19d('0x5f'))[_0xd19d('0x59')]('fax_interaction_has_tags','it',_0xd19d('0x60'))[_0xd19d('0x59')]('tools_tags','t',_0xd19d('0x61'));var _0x2ba2e9=squel[_0xd19d('0x62')]();var _0x3bfa27=[];var _0x5cd31b=squel[_0xd19d('0x62')]();var _0x3f4528;if(_0x49089e[_0xd19d('0x46')][_0xd19d('0x63')]){_0x3f4528=as[_0xd19d('0x64')](_0x49089e['query'][_0xd19d('0x63')]);var _0x55b961=_0x3f4528['sqlOperator'];for(var _0x21ff42=0x0;_0x21ff42<_0x3f4528[_0xd19d('0x65')][_0xd19d('0x66')];_0x21ff42++){var _0x151b84=_0x3f4528[_0xd19d('0x65')][_0x21ff42];var _0x5372a1='i';var _0x389faf=_[_0xd19d('0x67')](_0xe8c452,[_0xd19d('0x2e'),_0x151b84[_0xd19d('0x4f')]]);if(!_0x389faf){switch(_0x151b84[_0xd19d('0x4f')]){case _0xd19d('0x68'):if(_0x151b84[_0xd19d('0x69')]==0x1){_0x2c4a04['having']('`'+_0x151b84['field']+_0xd19d('0x6a'));}else{_0x2c4a04[_0xd19d('0x6b')]('`'+_0x151b84[_0xd19d('0x4f')]+_0xd19d('0x6c'));}break;case _0xd19d('0x6d'):if(_0x151b84[_0xd19d('0x6e')]===_0xd19d('0x6f')){if(_0x151b84['value']['split']('\x20')[_0xd19d('0x66')]>0x1){_0x2ba2e9[_0x55b961](_0xd19d('0x70'),qs['getFullTextValue'](_0x151b84[_0xd19d('0x69')]),null);}else{var _0x5a65fd='%'+_0x151b84['value']+'%';_0x2ba2e9[_0x55b961](_0xd19d('0x71'),_0x5a65fd,_0x5a65fd,_0x5a65fd);}}else{_0x389faf=_[_0xd19d('0x67')](_0xe8c452,[_0xd19d('0x2e'),'ContactId']);_0x151b84[_0xd19d('0x4f')]=_0xd19d('0x72');_0xbeb638=as['buildExpression'](_0x5372a1,_0x389faf[_0xd19d('0x43')],_0x151b84);_0x2ba2e9[_0x55b961](_0xbeb638[_0xd19d('0x73')],_0xbeb638[_0xd19d('0x69')]['start'],_0xbeb638[_0xd19d('0x69')][_0xd19d('0x23')]);}break;case _0xd19d('0x74'):var _0x405c8c=_0x151b84[_0xd19d('0x69')][_0xd19d('0x33')](',')[_0xd19d('0x31')](function(_0x1a2dd6){return Number(_0x1a2dd6);});_0x405c8c[_0xd19d('0x34')](function(_0x8b985e){_0x5cd31b['or'](_0xd19d('0x75'),'%,'+_0x8b985e+',%');});_0x3bfa27=_[_0xd19d('0x76')](_0x3bfa27,_0x405c8c);break;case'User':if(_0x151b84['operator']===_0xd19d('0x6f')){_0x2ba2e9[_0x55b961](_0xd19d('0x77'),'%'+_0x151b84[_0xd19d('0x69')]+'%',null);}else{_0x389faf=_[_0xd19d('0x67')](_0xe8c452,['name',_0xd19d('0x3e')]);_0x151b84['field']=_0xd19d('0x3e');_0xbeb638=as[_0xd19d('0x78')](_0x5372a1,_0x389faf[_0xd19d('0x43')],_0x151b84);_0x2ba2e9[_0x55b961](_0xbeb638[_0xd19d('0x73')],_0xbeb638[_0xd19d('0x69')]['start'],_0xbeb638[_0xd19d('0x69')]['end']);}break;case _0xd19d('0x79'):_0xbeb638=as[_0xd19d('0x78')]('me',null,_0x151b84);_0x2ba2e9[_0x55b961](_0xbeb638[_0xd19d('0x73')],_0xbeb638['value'][_0xd19d('0x7a')],_0xbeb638['value'][_0xd19d('0x23')]);break;}}else{var _0xbeb638=as[_0xd19d('0x78')](_0x5372a1,_0x389faf['type'],_0x151b84);_0x2ba2e9[_0x55b961](_0xbeb638['text'],_0xbeb638[_0xd19d('0x69')]['start'],_0xbeb638['value'][_0xd19d('0x23')]);}}}else{var _0x157524=_(_0x49089e[_0xd19d('0x46')])[_0xd19d('0x7b')]()[_0xd19d('0x31')](function(_0x4d734f){return _[_0xd19d('0x7c')](_0xe8c452,[_0xd19d('0x2e'),_0x4d734f])?_0x4d734f:undefined;})[_0xd19d('0x7d')]()[_0xd19d('0x69')]();if(!_['isEmpty'](_0x157524)){_0x157524[_0xd19d('0x34')](function(_0xce0aaf){if(_0xce0aaf===_0xd19d('0x7e')){_0x2c4a04[_0xd19d('0x4e')](_0xd19d('0x7f'),[][_0xd19d('0x80')](_0x49089e[_0xd19d('0x46')][_0xce0aaf]));}else if(_0xce0aaf===_0xd19d('0x81')){var _0x5d61d8=JSON[_0xd19d('0x82')](_0x49089e[_0xd19d('0x46')][_0xce0aaf])[_0xd19d('0x83')];var _0x4a5999=JSON[_0xd19d('0x82')](_0x49089e[_0xd19d('0x46')][_0xce0aaf])[_0xd19d('0x84')];_0x2c4a04[_0xd19d('0x4e')](_0xd19d('0x85'),_0x5d61d8,_0x4a5999);}else{if(_0x49089e[_0xd19d('0x46')][_0xce0aaf]===_0xd19d('0x86')){_0x2c4a04[_0xd19d('0x4e')]('i.'+_0xce0aaf+_0xd19d('0x87'));}else{_0x2c4a04[_0xd19d('0x4e')]('i.'+_0xce0aaf+_0xd19d('0x88'),_0x49089e[_0xd19d('0x46')][_0xce0aaf]);}}});}if(_0x49089e[_0xd19d('0x46')]['read']){if(_0x49089e[_0xd19d('0x46')]['read']==0x1){_0x2c4a04['having'](_0xd19d('0x89'));}else{_0x2c4a04[_0xd19d('0x6b')](_0xd19d('0x8a'));}}if(_0x49089e[_0xd19d('0x46')][_0xd19d('0x8b')]){_0x3bfa27=_['isArray'](_0x49089e[_0xd19d('0x46')]['tag'])?_0x49089e[_0xd19d('0x46')][_0xd19d('0x8b')]:new Array(_0x49089e[_0xd19d('0x46')][_0xd19d('0x8b')]);_0x3bfa27[_0xd19d('0x34')](function(_0x524f8f){_0x5cd31b['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x524f8f+',%');});}if(_0x49089e['query'][_0xd19d('0x8c')]){var _0x15b383=_0x49089e[_0xd19d('0x46')][_0xd19d('0x8c')][_0xd19d('0x8d')]('\x5c','\x5c\x5c')[_0xd19d('0x8d')](/'/g,'\x27\x27');if(qs[_0xd19d('0x8e')](_0x15b383)){_0x2ba2e9['or']('i.id\x20LIKE\x20?',_0x15b383+'%')['or'](_0xd19d('0x8f'),_0x15b383+'%');}_0x2ba2e9['or']('CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?',_0x15b383+'%');}}_0x2c4a04[_0xd19d('0x4e')](_0x2ba2e9);_0x2c4a04[_0xd19d('0x90')]('i.id');var _0xaeded4={'type':db[_0xd19d('0x91')][_0xd19d('0x92')]['SELECT'],'raw':!![]};var _0x5643ce=_0x2c4a04[_0xd19d('0x93')]();_0x5643ce[_0xd19d('0x4f')](_0xd19d('0x94'));_0x5643ce['field']('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)',_0xd19d('0x68'));if(_0x322d7d[_0xd19d('0x95')]){_0x322d7d[_0xd19d('0x95')][_0xd19d('0x34')](function(_0x211e79){var _0x418c86=_0x211e79[0x0]==='contactName'?_0x211e79[0x0]:'i.'+_0x211e79[0x0];_0x2c4a04[_0xd19d('0x95')](_0x418c86,_0x211e79[0x1]===_0xd19d('0x96')?![]:!![]);});}if(!_[_0xd19d('0x97')](_0x3bfa27)){_0x2c4a04['having'](_0x5cd31b);_0x5643ce['where'](_0xd19d('0x98'),_0x3bfa27);}BPromise[_0xd19d('0x99')]()['then'](function(){if(!_0x3f4528){if(_0x49089e[_0xd19d('0x46')][_0xd19d('0x7e')])return;_0x5643ce[_0xd19d('0x4e')](_0xd19d('0x9a'));_0x2c4a04[_0xd19d('0x4e')](_0xd19d('0x9a'));return;}if(_0x49089e[_0xd19d('0x9b')]['role']!==_0xd19d('0x9c'))return;return _0x49089e[_0xd19d('0x9b')][_0xd19d('0x9d')]({'attributes':['id'],'raw':!![]})[_0xd19d('0x2a')](function(_0xb80cb7){if(_['isEmpty'](_0xb80cb7)){_0x5643ce[_0xd19d('0x4e')](_0xd19d('0x9e'));_0x2c4a04['where'](_0xd19d('0x9e'));}else{_0x5643ce[_0xd19d('0x4e')](_0xd19d('0x7f'),_['map'](_0xb80cb7,'id'));_0x2c4a04['where']('i.FaxAccountId\x20IN\x20?',_['map'](_0xb80cb7,'id'));}});})[_0xd19d('0x2a')](function(){if(_0x49089e[_0xd19d('0x9b')][_0xd19d('0x9f')]===_0xd19d('0x9c')&&!_0x3f4528&&!_0x49089e[_0xd19d('0x46')][_0xd19d('0x7e')])return[];return db[_0xd19d('0xa0')][_0xd19d('0x46')](_0x5643ce[_0xd19d('0xa1')](),_0xaeded4);})[_0xd19d('0x2a')](function(_0x2bcb15){_0x2ef444[_0xd19d('0x27')]=_0x2bcb15[_0xd19d('0x66')];if(_0x2ef444[_0xd19d('0x27')]===0x0)return[];return db[_0xd19d('0xa0')]['query'](_0x250b7a[_0xd19d('0xa1')](),_0xaeded4)[_0xd19d('0x2a')](function(_0x428b22){_0x1ce91d=_[_0xd19d('0xa2')](_0x428b22,'id');_0xaeded4=_[_0xd19d('0xa3')](_0xaeded4,{'model':db['FaxInteraction'],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x49089e[_0xd19d('0x46')][_0xd19d('0x4a')]){_0x322d7d[_0xd19d('0x49')][_0xd19d('0x34')](function(_0x157b32){_0x2c4a04['field']('i.'+_0x157b32);});}else{_0x2c4a04[_0xd19d('0x4f')](_0xd19d('0xa4'),'unreadMessages');_0x2c4a04[_0xd19d('0x4f')](_0xd19d('0xa5'),_0xd19d('0xa6'));_0x2c4a04[_0xd19d('0x4f')]('a.mandatoryDisposition',_0xd19d('0xa7'));_0x2c4a04['field'](_0xd19d('0xa8'),_0xd19d('0xa9'));_0x2c4a04[_0xd19d('0x4f')](_0xd19d('0xaa'));_0x2c4a04['field'](_0xd19d('0xab'),'Contact.firstName');_0x2c4a04[_0xd19d('0x4f')](_0xd19d('0xac'),_0xd19d('0xad'));_0x2c4a04[_0xd19d('0x4f')]('c.email',_0xd19d('0xae'));_0x2c4a04['field']('c.phone','Contact.phone');_0x2c4a04[_0xd19d('0x4f')](_0xd19d('0xaf'),_0xd19d('0xb0'));_0x2c4a04['field'](_0xd19d('0xb1'),'Contact.fax');_0x2c4a04['field']('o.fullname',_0xd19d('0xb2'));_0x2c4a04['field'](_0xd19d('0xb3'),'Owner.internal');_0x2c4a04[_0xd19d('0x4f')]('GROUP_CONCAT(DISTINCT\x20t.id)',_0xd19d('0x32'));}if(_0x322d7d['limit'])_0x2c4a04[_0xd19d('0x26')](_0x322d7d[_0xd19d('0x26')]);if(_0x322d7d['offset'])_0x2c4a04['offset'](_0x322d7d[_0xd19d('0x28')]);return db[_0xd19d('0xa0')][_0xd19d('0x46')](_0x2c4a04[_0xd19d('0xa1')](),_0xaeded4);})[_0xd19d('0x2a')](function(_0x22407d){if(_0x22407d[_0xd19d('0x66')]>0x0)_0x4b205d[_0xd19d('0x4e')](_0xd19d('0xb4'),_[_0xd19d('0x31')](_0x22407d,'id'));return db[_0xd19d('0xa0')]['query'](_0x4b205d[_0xd19d('0xa1')](),_0xaeded4)['then'](function(_0x41399f){var _0x316f2e=_[_0xd19d('0xb5')](_0x41399f,_0xd19d('0xb6'));var _0x3c17ca=[];_0x22407d[_0xd19d('0x34')](function(_0x488061){_0x3c17ca['push'](updateFaxInteraction(_0x488061,_0x1ce91d,_0x316f2e));});return BPromise[_0xd19d('0xb7')](_0x3c17ca);});});})['then'](function(_0x13eab2){_0x2ef444[_0xd19d('0xb8')]=_0x13eab2;return _0x2ef444;})['then'](respondWithFilteredResult(_0x186847,_0x322d7d))[_0xd19d('0x37')](handleError(_0x186847,null));};exports['show']=function(_0x24b9d7,_0x1a54c1){var _0x169b7b={'raw':![],'where':{'id':_0x24b9d7[_0xd19d('0xb9')]['id']}},_0x56dabe={};_0x56dabe['model']=_[_0xd19d('0x7b')](db['FaxInteraction'][_0xd19d('0x41')]);_0x56dabe['query']=_[_0xd19d('0x7b')](_0x24b9d7[_0xd19d('0x46')]);_0x56dabe[_0xd19d('0x47')]=_['intersection'](_0x56dabe[_0xd19d('0x45')],_0x56dabe[_0xd19d('0x46')]);_0x169b7b[_0xd19d('0x49')]=_[_0xd19d('0x48')](_0x56dabe[_0xd19d('0x45')],qs[_0xd19d('0x4a')](_0x24b9d7['query'][_0xd19d('0x4a')]));_0x169b7b[_0xd19d('0x49')]=_0x169b7b[_0xd19d('0x49')][_0xd19d('0x66')]?_0x169b7b[_0xd19d('0x49')]:_0x56dabe[_0xd19d('0x45')];if(_0x24b9d7[_0xd19d('0x46')]['includeAll']){_0x169b7b[_0xd19d('0xba')]=[{'all':!![]}];}_0x169b7b=_[_0xd19d('0xa3')]({},_0x169b7b,_0x24b9d7[_0xd19d('0xbb')]);return db[_0xd19d('0x40')]['find'](_0x169b7b)[_0xd19d('0x2a')](handleEntityNotFound(_0x1a54c1,null))[_0xd19d('0x2a')](respondWithResult(_0x1a54c1,null))['catch'](handleError(_0x1a54c1,null));};exports[_0xd19d('0xbc')]=function(_0x1ebc38,_0x4ee644){return db[_0xd19d('0x40')][_0xd19d('0xbc')](_0x1ebc38[_0xd19d('0x79')],{})['then'](respondWithResult(_0x4ee644,0xc9))[_0xd19d('0x37')](handleError(_0x4ee644,null));};exports['update']=function(_0x4dc814,_0x22c702){if(_0x4dc814['body']['id']){delete _0x4dc814[_0xd19d('0x79')]['id'];}return db[_0xd19d('0x40')][_0xd19d('0x67')]({'where':{'id':_0x4dc814[_0xd19d('0xb9')]['id']}})[_0xd19d('0x2a')](handleEntityNotFound(_0x22c702,null))[_0xd19d('0x2a')](saveUpdates(_0x4dc814['body'],null))[_0xd19d('0x2a')](respondWithResult(_0x22c702,null))[_0xd19d('0x37')](handleError(_0x22c702,null));};exports['destroy']=function(_0x4dc2f2,_0x22eccd){return db[_0xd19d('0x40')][_0xd19d('0x67')]({'where':{'id':_0x4dc2f2[_0xd19d('0xb9')]['id']}})[_0xd19d('0x2a')](handleEntityNotFound(_0x22eccd,null))[_0xd19d('0x2a')](removeEntity(_0x22eccd,null))[_0xd19d('0x37')](handleError(_0x22eccd,null));};exports[_0xd19d('0xbd')]=function(_0x250828,_0x39854){return db[_0xd19d('0x40')]['describe']()[_0xd19d('0x2a')](respondWithResult(_0x39854,null))[_0xd19d('0x37')](handleError(_0x39854,null));};exports[_0xd19d('0xbe')]=function(_0x3934f1,_0x4b76d2,_0xb3999e){return db[_0xd19d('0xbf')][_0xd19d('0x67')]({'where':{'id':_0x3934f1[_0xd19d('0xb9')]['id']}})[_0xd19d('0x2a')](handleEntityNotFound(_0x4b76d2,null))['then'](function(_0x1cc1ef){if(_0x1cc1ef){return _0x1cc1ef['addMessage'](_0x3934f1[_0xd19d('0x79')][_0xd19d('0xc0')],_[_0xd19d('0xc1')](_0x3934f1[_0xd19d('0x79')],['ids','id'])||{});}})['then'](respondWithResult(_0x4b76d2,null))['catch'](handleError(_0x4b76d2,null));};exports[_0xd19d('0xc2')]=function(_0x460e21,_0x16ed35,_0x27a168){var _0x25a790={'raw':![],'where':{}};var _0x3e0f12={};var _0x3839ff={'count':0x0,'rows':[]};return db[_0xd19d('0x40')][_0xd19d('0xc3')]({'where':{'id':_0x460e21['params']['id']}})[_0xd19d('0x2a')](handleEntityNotFound(_0x16ed35,null))['then'](function(_0x576c0f){if(_0x576c0f){_0x3e0f12[_0xd19d('0x45')]=_['keys'](db['FaxMessage']['rawAttributes']);_0x3e0f12[_0xd19d('0x46')]=_[_0xd19d('0x7b')](_0x460e21[_0xd19d('0x46')]);_0x3e0f12[_0xd19d('0x47')]=_[_0xd19d('0x48')](_0x3e0f12[_0xd19d('0x45')],_0x3e0f12[_0xd19d('0x46')]);_0x25a790[_0xd19d('0x49')]=_['intersection'](_0x3e0f12['model'],qs[_0xd19d('0x4a')](_0x460e21['query'][_0xd19d('0x4a')]));_0x25a790['attributes']=_0x25a790[_0xd19d('0x49')][_0xd19d('0x66')]?_0x25a790[_0xd19d('0x49')]:_0x3e0f12[_0xd19d('0x45')];if(!_0x460e21[_0xd19d('0x46')]['hasOwnProperty']('nolimit')){_0x25a790[_0xd19d('0x26')]=qs['limit'](_0x460e21[_0xd19d('0x46')][_0xd19d('0x26')]);_0x25a790[_0xd19d('0x28')]=qs[_0xd19d('0x28')](_0x460e21[_0xd19d('0x46')][_0xd19d('0x28')]);}_0x25a790[_0xd19d('0x95')]=qs['sort'](_0x460e21[_0xd19d('0x46')][_0xd19d('0x4d')]);_0x25a790[_0xd19d('0x4e')]=qs[_0xd19d('0x47')](_[_0xd19d('0xc4')](_0x460e21[_0xd19d('0x46')],_0x3e0f12['filters']));_0x25a790['where'][_0xd19d('0xb6')]=_0x576c0f['id'];if(_0x460e21[_0xd19d('0x46')]['filter']){_0x25a790[_0xd19d('0x4e')]=_['merge'](_0x25a790[_0xd19d('0x4e')],{'$or':_['map'](_0x25a790[_0xd19d('0x49')],function(_0x17c2fb){var _0xbb8743={};_0xbb8743[_0x17c2fb]={'$like':'%'+_0x460e21[_0xd19d('0x46')]['filter']+'%'};return _0xbb8743;})});}if(_0x460e21[_0xd19d('0x46')][_0xd19d('0x83')]){var _0x3cb50a=_0x460e21[_0xd19d('0x46')][_0xd19d('0x83')]['split'](',');var _0x4daaa2={};_0x4daaa2[_0x3cb50a[0x0]]={'$gte':moment(_0x3cb50a[0x1])['format'](_0xd19d('0xc5'))};_0x25a790[_0xd19d('0x4e')]=_[_0xd19d('0xa3')](_0x25a790[_0xd19d('0x4e')],_0x4daaa2);}_0x25a790=_[_0xd19d('0xa3')]({},_0x25a790,_0x460e21[_0xd19d('0xbb')]);return db[_0xd19d('0xbf')][_0xd19d('0x27')]({'where':_0x25a790[_0xd19d('0x4e')]})[_0xd19d('0x2a')](function(_0x2bef3d){_0x3839ff['count']=_0x2bef3d;if(_0x460e21['query'][_0xd19d('0xc6')]){_0x25a790[_0xd19d('0xba')]=[{'all':!![]}];}return db[_0xd19d('0xbf')]['findAll'](_0x25a790);})[_0xd19d('0x2a')](function(_0x5c1cf2){_0x3839ff['rows']=_0x5c1cf2;return _0x3839ff;});}})[_0xd19d('0x2a')](respondWithFilteredResult(_0x16ed35,_0x25a790))['catch'](handleError(_0x16ed35,null));};exports[_0xd19d('0xc7')]=function(_0xa907f7,_0x59352c,_0x58442f){return db[_0xd19d('0x40')][_0xd19d('0x67')]({'where':{'id':_0xa907f7['params']['id']}})['then'](handleEntityNotFound(_0x59352c,null))['then'](function(_0x3cf382){if(_0x3cf382){return _0x3cf382[_0xd19d('0xc8')](_0xa907f7['body'][_0xd19d('0xc0')],_['omit'](_0xa907f7[_0xd19d('0x79')],[_0xd19d('0xc0'),'id'])||{})[_0xd19d('0xc9')](function(){return db[_0xd19d('0x74')]['findAll']({'attributes':['id',_0xd19d('0x2e'),_0xd19d('0x50')],'where':{'id':_0xa907f7[_0xd19d('0x79')][_0xd19d('0xc0')]}});})[_0xd19d('0x2a')](function(_0x37ec48){socket[_0xd19d('0xca')](_0xd19d('0xcb'),{'id':Number(_0xa907f7['params']['id']),'tags':_0x37ec48||[]});return{'id':Number(_0xa907f7['params']['id']),'tags':_0x37ec48||[]};});}})['then'](respondWithResult(_0x59352c,null))[_0xd19d('0x37')](handleError(_0x59352c,null));};exports['removeTags']=function(_0x32a71d,_0x4e5dd0,_0x509e16){return db[_0xd19d('0x40')][_0xd19d('0x67')]({'where':{'id':_0x32a71d['params']['id']}})['then'](handleEntityNotFound(_0x4e5dd0,null))[_0xd19d('0x2a')](function(_0x1dd821){if(_0x1dd821){return _0x1dd821[_0xd19d('0xcc')](_0x32a71d[_0xd19d('0x46')][_0xd19d('0xc0')]);}})[_0xd19d('0x2a')](respondWithStatusCode(_0x4e5dd0,null))[_0xd19d('0x37')](handleError(_0x4e5dd0,null));};exports[_0xd19d('0xcd')]=function(_0x229a44,_0x136f18){var _0x179845=moment()[_0xd19d('0xce')]()[_0xd19d('0xa1')]();var _0x21290b=path[_0xd19d('0xcf')](config[_0xd19d('0xd0')],_0xd19d('0xd1'),'files','tmp');var _0x5c1b74=path['join'](config[_0xd19d('0xd0')],'server',_0xd19d('0xd2'),_0xd19d('0xd3'));var _0x172860=path[_0xd19d('0xcf')](_0x21290b,_0x179845);var _0x4c6c5b=util[_0xd19d('0xd4')](_0xd19d('0xd5'),_0x229a44[_0xd19d('0xb9')]['id'],_0x179845);var _0x7dbbd9=path['join'](_0x21290b,_0x4c6c5b);var _0x47884a=[];_0x47884a['push']({'model':db[_0xd19d('0xd6')],'as':'Attachment','raw':!![]});var _0x4685ad=[{'model':db[_0xd19d('0xbf')],'as':'Messages','attributes':['id',_0xd19d('0x79'),_0xd19d('0x81')],'include':_0x47884a}];return db[_0xd19d('0x40')][_0xd19d('0x67')]({'where':{'id':_0x229a44[_0xd19d('0xb9')]['id']},'include':_0x4685ad})[_0xd19d('0x2a')](handleEntityNotFound(_0x136f18,null))['then'](function(_0x4b2a90){if(_0x4b2a90&&_0x4b2a90['Messages']){var _0x3dcdff=_0x4b2a90['get']({'plain':!![]});fs[_0xd19d('0xd7')](_0x172860);for(var _0xf28388=0x0;_0xf28388<_0x3dcdff[_0xd19d('0xd8')][_0xd19d('0x66')];_0xf28388++){var _0x2afd20=_0x3dcdff[_0xd19d('0xd8')][_0xf28388][_0xd19d('0xd6')];if(_0x2afd20){var _0x58497e=path['join'](_0x5c1b74,_0x2afd20[_0xd19d('0xd9')]);if(fs[_0xd19d('0xda')](_0x58497e)){fs[_0xd19d('0xdb')](_0x58497e)[_0xd19d('0xdc')](fs[_0xd19d('0xdd')](path['join'](_0x172860,_0x2afd20[_0xd19d('0xd9')])));}}}return BPromise[_0xd19d('0x99')]()[_0xd19d('0x2a')](function(){return new BPromise(function(_0x23f48d,_0x167506){zipdir(_0x172860,{'saveTo':_0x7dbbd9},function(_0x52ca2d,_0x484745){if(_0x52ca2d)return _0x167506(_0x52ca2d);return _0x23f48d(_0x484745);});})[_0xd19d('0x2a')](function(){return new BPromise(function(_0x3e3151,_0x3b04e4){rimraf(_0x172860,function(_0x16afc8){if(_0x16afc8)_0x3b04e4(_0x16afc8);return _0x3e3151();});});})[_0xd19d('0x2a')](function(){return _0x136f18[_0xd19d('0xcd')](_0x7dbbd9,_0x4c6c5b,function(_0x4467de){if(_0x4467de){console[_0xd19d('0xde')](_0xd19d('0xdf'),_0x4467de);}else{fs[_0xd19d('0xe0')](_0x7dbbd9);}});});});}else{return _0x136f18[_0xd19d('0x21')](0xc8);}})[_0xd19d('0x37')](handleError(_0x136f18,null));};