Built motion from commit 753c950e.|2.5.42
[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 _0x7b68=['conditions','unreadMessages','having','`\x20=\x200','`\x20>\x200','Contact','operator','$substring','value','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','find','ContactId','start','Tag','forEach','User','buildExpression','body','text','some','compact','createdAt','parse','$gte','$lte','\x20IS\x20NULL','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','isArray','tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','filter','replace','isNumeric','i.id\x20LIKE\x20?','i.fax\x20LIKE\x20?','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','i.id','Sequelize','QueryTypes','SELECT','clone','contactName','isEmpty','resolve','FaxAccountId','i.FaxAccountId\x20IS\x20NOT\x20NULL','user','role','agent','getFaxAccounts','i.FaxAccountId\x20IS\x20NULL','i.FaxAccountId\x20IN\x20?','sequelize','keyBy','merge','FaxInteraction','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','a.key','Account.key','a.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','i.*','Contact.firstName','c.lastName','Contact.email','c.phone','Contact.phone','c.mobile','c.fax','Contact.fax','o.fullname','Owner.fullname','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','toString','ui.FaxInteractionId\x20IN\x20?','groupBy','FaxInteractionId','catch','show','params','include','options','create','describe','addMessage','ids','omit','findOne','sort','YYYY-MM-DD\x20HH:mm:ss','FaxMessage','findAll','setTags','spread','emit','faxInteractionTags:save','removeTags','download','unix','join','root','files','tmp','server','attachments','format','transcript-%d-%s.zip','Attachment','Messages','get','basename','existsSync','createReadStream','pipe','log','err','unlinkSync','eml-format','rimraf','zip-dir','fast-json-patch','moment','util','path','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','defaults','redis','localhost','socket.io-emitter','./faxInteraction.socket','register','status','end','json','offset','limit','undefined','count','reject','save','update','destroy','then','sendStatus','error','stack','name','send','Users','map','fullname','TagIds','Tags','split','push','waiting','talking','answered','total','closed','UserId','unmanaged','index','rawAttributes','type','model','query','keys','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','where','filters','pick','select','field','u.fullname','user_has_fax_interactions','left_join','users','u.id\x20=\x20ui.UserId','fax_interactions','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','fax_accounts','fax_messages','me.FaxInteractionId\x20=\x20i.id','fax_interaction_has_tags','tools_tags','t.id\x20=\x20it.TagId','expr','search','parseSearch','sqlOperator'];(function(_0x4488e3,_0x1c7777){var _0x3bd7d4=function(_0x4f7449){while(--_0x4f7449){_0x4488e3['push'](_0x4488e3['shift']());}};_0x3bd7d4(++_0x1c7777);}(_0x7b68,0x159));var _0x87b6=function(_0x121811,_0x1f917c){_0x121811=_0x121811-0x0;var _0x3ddc9b=_0x7b68[_0x121811];return _0x3ddc9b;};'use strict';var emlformat=require(_0x87b6('0x0'));var rimraf=require(_0x87b6('0x1'));var zipdir=require(_0x87b6('0x2'));var jsonpatch=require(_0x87b6('0x3'));var rp=require('request-promise');var moment=require(_0x87b6('0x4'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x87b6('0x5'));var path=require(_0x87b6('0x6'));var sox=require(_0x87b6('0x7'));var csv=require(_0x87b6('0x8'));var ejs=require(_0x87b6('0x9'));var fs=require('fs');var fs_extra=require(_0x87b6('0xa'));var _=require(_0x87b6('0xb'));var squel=require('squel');var crypto=require(_0x87b6('0xc'));var jsforce=require(_0x87b6('0xd'));var deskjs=require(_0x87b6('0xe'));var toCsv=require(_0x87b6('0x8'));var querystring=require(_0x87b6('0xf'));var Papa=require('papaparse');var Redis=require(_0x87b6('0x10'));var authService=require(_0x87b6('0x11'));var qs=require(_0x87b6('0x12'));var as=require(_0x87b6('0x13'));var hardwareService=require(_0x87b6('0x14'));var logger=require('../../config/logger')(_0x87b6('0x15'));var utils=require(_0x87b6('0x16'));var config=require(_0x87b6('0x17'));var licenseUtil=require(_0x87b6('0x18'));var db=require(_0x87b6('0x19'))['db'];config['redis']=_[_0x87b6('0x1a')](config[_0x87b6('0x1b')],{'host':_0x87b6('0x1c'),'port':0x18eb});var socket=require(_0x87b6('0x1d'))(new Redis(config['redis']));require(_0x87b6('0x1e'))[_0x87b6('0x1f')](socket);function respondWithStatusCode(_0x450efc,_0x426c58){_0x426c58=_0x426c58||0xcc;return function(_0x4c4cc0){if(_0x4c4cc0){return _0x450efc['sendStatus'](_0x426c58);}return _0x450efc[_0x87b6('0x20')](_0x426c58)[_0x87b6('0x21')]();};}function respondWithResult(_0x1f7166,_0x1a7c7b){_0x1a7c7b=_0x1a7c7b||0xc8;return function(_0x14927d){if(_0x14927d){return _0x1f7166[_0x87b6('0x20')](_0x1a7c7b)[_0x87b6('0x22')](_0x14927d);}};}function respondWithFilteredResult(_0x124f7c,_0x32a8aa){return function(_0xbd821e){if(_0xbd821e){var _0x475bf3=typeof _0x32a8aa[_0x87b6('0x23')]==='undefined'&&typeof _0x32a8aa[_0x87b6('0x24')]===_0x87b6('0x25');var _0x1eb800=_0xbd821e[_0x87b6('0x26')];var _0xc2b712=_0x475bf3?0x0:_0x32a8aa[_0x87b6('0x23')];var _0x1ffa5b=_0x475bf3?_0xbd821e[_0x87b6('0x26')]:_0x32a8aa[_0x87b6('0x23')]+_0x32a8aa['limit'];var _0x3a0eb5;if(_0x1ffa5b>=_0x1eb800){_0x1ffa5b=_0x1eb800;_0x3a0eb5=0xc8;}else{_0x3a0eb5=0xce;}_0x124f7c[_0x87b6('0x20')](_0x3a0eb5);return _0x124f7c['set']('Content-Range',_0xc2b712+'-'+_0x1ffa5b+'/'+_0x1eb800)['json'](_0xbd821e);}return null;};}function patchUpdates(_0x422cc0){return function(_0x1a3c4d){try{jsonpatch['apply'](_0x1a3c4d,_0x422cc0,!![]);}catch(_0x47f858){return BPromise[_0x87b6('0x27')](_0x47f858);}return _0x1a3c4d[_0x87b6('0x28')]();};}function saveUpdates(_0x522a55,_0x45e650){return function(_0x3b170a){if(_0x3b170a){return _0x3b170a[_0x87b6('0x29')](_0x522a55)['then'](function(_0x421f0e){return _0x421f0e;});}return null;};}function removeEntity(_0x2d1bf2,_0x301d93){return function(_0x137c84){if(_0x137c84){return _0x137c84[_0x87b6('0x2a')]()[_0x87b6('0x2b')](function(){_0x2d1bf2[_0x87b6('0x20')](0xcc)['end']();});}};}function handleEntityNotFound(_0x406071,_0x1e5e1e){return function(_0x382e51){if(!_0x382e51){_0x406071[_0x87b6('0x2c')](0x194);}return _0x382e51;};}function handleError(_0x16d754,_0x54e1c5){_0x54e1c5=_0x54e1c5||0x1f4;return function(_0x19b6a7){logger[_0x87b6('0x2d')](_0x19b6a7[_0x87b6('0x2e')]);if(_0x19b6a7[_0x87b6('0x2f')]){delete _0x19b6a7[_0x87b6('0x2f')];}_0x16d754[_0x87b6('0x20')](_0x54e1c5)[_0x87b6('0x30')](_0x19b6a7);};}function getInteractionUsers(_0x6b2001,_0x264d04){return new BPromise(function(_0x3c846b,_0x254203){try{if(_0x264d04[_0x6b2001['id']]){_0x6b2001[_0x87b6('0x31')]=_[_0x87b6('0x32')](_0x264d04[_0x6b2001['id']],function(_0x52f34b){return{'id':_0x52f34b['id'],'fullname':_0x52f34b[_0x87b6('0x33')]};});}}catch(_0x1135a6){_0x254203(_0x1135a6);}_0x3c846b(_0x6b2001);});}function getInteractionTags(_0x45a142,_0x4d84da){return new BPromise(function(_0x13b307,_0x4fa2d7){try{if(_0x45a142[_0x87b6('0x34')]){_0x45a142[_0x87b6('0x35')]=[];_0x45a142[_0x87b6('0x34')][_0x87b6('0x36')](',')['forEach'](function(_0x22b1b7){_0x45a142[_0x87b6('0x35')][_0x87b6('0x37')](_0x4d84da[_0x22b1b7]);});}delete _0x45a142[_0x87b6('0x34')];}catch(_0x1b5895){_0x4fa2d7(_0x1b5895);}_0x13b307(_0x45a142);});}function updateFaxInteraction(_0x1d9775,_0x22dc2e,_0xa04ff){return new BPromise(function(_0x12a806,_0x153353){return getInteractionUsers(_0x1d9775,_0xa04ff)[_0x87b6('0x2b')](function(_0x389429){return getInteractionTags(_0x389429,_0x22dc2e);})['then'](function(_0x3a1305){return getStateInteraction(_0x3a1305);})['then'](function(_0xc8fe3){_0x12a806(_0xc8fe3);})['catch'](function(_0x57bfe9){_0x153353(_0x57bfe9);});});}function getStateInteraction(_0x20ea6f){return new BPromise(function(_0xa9497c){_0x20ea6f[_0x87b6('0x38')]=0x0;_0x20ea6f[_0x87b6('0x39')]=0x0;_0x20ea6f[_0x87b6('0x3a')]=0x0;_0x20ea6f['unmanaged']=0x0;_0x20ea6f[_0x87b6('0x3b')]=0x0;if(!_0x20ea6f[_0x87b6('0x3c')]&&!_0x20ea6f['UserId']){_0x20ea6f[_0x87b6('0x38')]+=0x1;}if(!_0x20ea6f['closed']&&_0x20ea6f['UserId']){_0x20ea6f[_0x87b6('0x39')]+=0x1;if(_0x20ea6f[_0x87b6('0x38')]){_0x20ea6f[_0x87b6('0x38')]-=0x1;}}if(_0x20ea6f[_0x87b6('0x3c')]&&_0x20ea6f['UserId']){_0x20ea6f[_0x87b6('0x3a')]+=0x1;if(_0x20ea6f['talking']){_0x20ea6f[_0x87b6('0x39')]-=0x1;}}if(_0x20ea6f[_0x87b6('0x3c')]&&!_0x20ea6f[_0x87b6('0x3d')]){_0x20ea6f[_0x87b6('0x3e')]+=0x1;if(_0x20ea6f[_0x87b6('0x38')]){_0x20ea6f[_0x87b6('0x38')]-=0x1;}}_0x20ea6f[_0x87b6('0x3b')]+=0x1;_0xa9497c(_0x20ea6f);});}exports[_0x87b6('0x3f')]=function(_0x8c5b46,_0x2c2fed){var _0x1d14c0={},_0x2324c0={},_0x32ba18={'count':0x0,'rows':[]};var _0x3a02ed=_[_0x87b6('0x32')](db['FaxInteraction'][_0x87b6('0x40')],function(_0x4e2ccb){return{'name':_0x4e2ccb['fieldName'],'type':_0x4e2ccb[_0x87b6('0x41')]['key']};});_0x2324c0[_0x87b6('0x42')]=_[_0x87b6('0x32')](_0x3a02ed,_0x87b6('0x2f'));_0x2324c0[_0x87b6('0x43')]=_[_0x87b6('0x44')](_0x8c5b46[_0x87b6('0x43')]);_0x2324c0['filters']=_[_0x87b6('0x45')](_0x2324c0['model'],_0x2324c0[_0x87b6('0x43')]);_0x1d14c0['attributes']=_[_0x87b6('0x45')](_0x2324c0['model'],qs[_0x87b6('0x46')](_0x8c5b46[_0x87b6('0x43')][_0x87b6('0x46')]));_0x1d14c0[_0x87b6('0x47')]=_0x1d14c0[_0x87b6('0x47')][_0x87b6('0x48')]?_0x1d14c0['attributes']:_0x2324c0['model'];if(!_0x8c5b46[_0x87b6('0x43')][_0x87b6('0x49')](_0x87b6('0x4a'))){_0x1d14c0[_0x87b6('0x24')]=qs[_0x87b6('0x24')](_0x8c5b46['query']['limit']);_0x1d14c0['offset']=qs[_0x87b6('0x23')](_0x8c5b46[_0x87b6('0x43')][_0x87b6('0x23')]);}_0x1d14c0[_0x87b6('0x4b')]=qs['sort'](_0x8c5b46[_0x87b6('0x43')]['sort']);_0x1d14c0[_0x87b6('0x4c')]=qs[_0x87b6('0x4d')](_[_0x87b6('0x4e')](_0x8c5b46[_0x87b6('0x43')],_0x2324c0[_0x87b6('0x4d')]),_0x3a02ed);var _0x50ab45=[];var _0x1b8fbd=squel[_0x87b6('0x4f')]()[_0x87b6('0x50')]('id')[_0x87b6('0x50')](_0x87b6('0x2f'))[_0x87b6('0x50')]('color')['from']('tools_tags');var _0x3041f3=squel['select']()[_0x87b6('0x50')]('u.id')[_0x87b6('0x50')](_0x87b6('0x51'))[_0x87b6('0x50')]('ui.FaxInteractionId')['from'](_0x87b6('0x52'),'ui')[_0x87b6('0x53')](_0x87b6('0x54'),'u',_0x87b6('0x55'));var _0x143b5a=squel[_0x87b6('0x4f')]()['from'](_0x87b6('0x56'),'i')['left_join'](_0x87b6('0x57'),'c',_0x87b6('0x58'))[_0x87b6('0x53')](_0x87b6('0x54'),'o','o.id\x20=\x20i.UserId')[_0x87b6('0x53')](_0x87b6('0x59'),'a','a.id\x20=\x20i.FaxAccountId')[_0x87b6('0x53')](_0x87b6('0x5a'),'me',_0x87b6('0x5b'))[_0x87b6('0x53')](_0x87b6('0x5c'),'it','it.FaxInteractionId\x20=\x20i.id')[_0x87b6('0x53')](_0x87b6('0x5d'),'t',_0x87b6('0x5e'));var _0x489761=squel[_0x87b6('0x5f')]();var _0x2aa21f=[];var _0x55ca85=squel[_0x87b6('0x5f')]();var _0x34c19f;if(_0x8c5b46[_0x87b6('0x43')][_0x87b6('0x60')]){_0x34c19f=as[_0x87b6('0x61')](_0x8c5b46['query'][_0x87b6('0x60')]);var _0x2e438a=_0x34c19f[_0x87b6('0x62')];for(var _0x11d797=0x0;_0x11d797<_0x34c19f[_0x87b6('0x63')][_0x87b6('0x48')];_0x11d797++){var _0x2b5083=_0x34c19f[_0x87b6('0x63')][_0x11d797];var _0x4fef00='i';var _0xf8944=_['find'](_0x3a02ed,[_0x87b6('0x2f'),_0x2b5083[_0x87b6('0x50')]]);if(!_0xf8944){switch(_0x2b5083[_0x87b6('0x50')]){case _0x87b6('0x64'):if(_0x2b5083['value']==0x1){_0x143b5a[_0x87b6('0x65')]('`'+_0x2b5083['field']+_0x87b6('0x66'));}else{_0x143b5a[_0x87b6('0x65')]('`'+_0x2b5083['field']+_0x87b6('0x67'));}break;case _0x87b6('0x68'):if(_0x2b5083[_0x87b6('0x69')]===_0x87b6('0x6a')){if(_0x2b5083[_0x87b6('0x6b')][_0x87b6('0x36')]('\x20')['length']>0x1){_0x489761[_0x2e438a](_0x87b6('0x6c'),qs[_0x87b6('0x6d')](_0x2b5083['value']),null);}else{var _0x45c8f3='%'+_0x2b5083[_0x87b6('0x6b')]+'%';_0x489761[_0x2e438a](_0x87b6('0x6e'),_0x45c8f3,_0x45c8f3,_0x45c8f3);}}else{_0xf8944=_[_0x87b6('0x6f')](_0x3a02ed,[_0x87b6('0x2f'),_0x87b6('0x70')]);_0x2b5083[_0x87b6('0x50')]='ContactId';_0x39a9b7=as['buildExpression'](_0x4fef00,_0xf8944[_0x87b6('0x41')],_0x2b5083);_0x489761[_0x2e438a](_0x39a9b7['text'],_0x39a9b7[_0x87b6('0x6b')][_0x87b6('0x71')],_0x39a9b7[_0x87b6('0x6b')]['end']);}break;case _0x87b6('0x72'):var _0x44b4a7=_0x2b5083['value'][_0x87b6('0x36')](',')[_0x87b6('0x32')](function(_0x3b076b){return Number(_0x3b076b);});_0x44b4a7[_0x87b6('0x73')](function(_0x63ce0b){_0x55ca85['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x63ce0b+',%');});_0x2aa21f=_['union'](_0x2aa21f,_0x44b4a7);break;case _0x87b6('0x74'):if(_0x2b5083[_0x87b6('0x69')]===_0x87b6('0x6a')){_0x489761[_0x2e438a]('CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','%'+_0x2b5083[_0x87b6('0x6b')]+'%',null);}else{_0xf8944=_[_0x87b6('0x6f')](_0x3a02ed,['name','UserId']);_0x2b5083['field']=_0x87b6('0x3d');_0x39a9b7=as[_0x87b6('0x75')](_0x4fef00,_0xf8944[_0x87b6('0x41')],_0x2b5083);_0x489761[_0x2e438a](_0x39a9b7['text'],_0x39a9b7[_0x87b6('0x6b')][_0x87b6('0x71')],_0x39a9b7[_0x87b6('0x6b')][_0x87b6('0x21')]);}break;case _0x87b6('0x76'):_0x39a9b7=as['buildExpression']('me',null,_0x2b5083);_0x489761[_0x2e438a](_0x39a9b7[_0x87b6('0x77')],_0x39a9b7[_0x87b6('0x6b')]['start'],_0x39a9b7[_0x87b6('0x6b')][_0x87b6('0x21')]);break;}}else{var _0x39a9b7=as[_0x87b6('0x75')](_0x4fef00,_0xf8944['type'],_0x2b5083);_0x489761[_0x2e438a](_0x39a9b7[_0x87b6('0x77')],_0x39a9b7[_0x87b6('0x6b')][_0x87b6('0x71')],_0x39a9b7['value'][_0x87b6('0x21')]);}}}else{var _0x29dbdb=_(_0x8c5b46[_0x87b6('0x43')])[_0x87b6('0x44')]()[_0x87b6('0x32')](function(_0x5421ef){return _[_0x87b6('0x78')](_0x3a02ed,['name',_0x5421ef])?_0x5421ef:undefined;})[_0x87b6('0x79')]()[_0x87b6('0x6b')]();if(!_['isEmpty'](_0x29dbdb)){_0x29dbdb['forEach'](function(_0x560c5d){if(_0x560c5d==='FaxAccountId'){_0x143b5a[_0x87b6('0x4c')]('i.FaxAccountId\x20IN\x20?',[]['concat'](_0x8c5b46[_0x87b6('0x43')][_0x560c5d]));}else if(_0x560c5d===_0x87b6('0x7a')){var _0x203bbb=JSON[_0x87b6('0x7b')](_0x8c5b46[_0x87b6('0x43')][_0x560c5d])[_0x87b6('0x7c')];var _0x5014bc=JSON[_0x87b6('0x7b')](_0x8c5b46[_0x87b6('0x43')][_0x560c5d])[_0x87b6('0x7d')];_0x143b5a[_0x87b6('0x4c')]('i.createdAt\x20BETWEEN\x20?\x20AND\x20?',_0x203bbb,_0x5014bc);}else{if(_0x8c5b46['query'][_0x560c5d]==='null'){_0x143b5a[_0x87b6('0x4c')]('i.'+_0x560c5d+_0x87b6('0x7e'));}else{_0x143b5a[_0x87b6('0x4c')]('i.'+_0x560c5d+'\x20=\x20?',_0x8c5b46['query'][_0x560c5d]);}}});}if(_0x8c5b46[_0x87b6('0x43')][_0x87b6('0x7f')]){if(_0x8c5b46[_0x87b6('0x43')]['read']==0x1){_0x143b5a[_0x87b6('0x65')](_0x87b6('0x80'));}else{_0x143b5a['having'](_0x87b6('0x81'));}}if(_0x8c5b46[_0x87b6('0x43')]['tag']){_0x2aa21f=_[_0x87b6('0x82')](_0x8c5b46[_0x87b6('0x43')][_0x87b6('0x83')])?_0x8c5b46['query'][_0x87b6('0x83')]:new Array(_0x8c5b46[_0x87b6('0x43')][_0x87b6('0x83')]);_0x2aa21f[_0x87b6('0x73')](function(_0x2584f5){_0x55ca85['or'](_0x87b6('0x84'),'%,'+_0x2584f5+',%');});}if(_0x8c5b46[_0x87b6('0x43')][_0x87b6('0x85')]){var _0x28b697=_0x8c5b46[_0x87b6('0x43')][_0x87b6('0x85')][_0x87b6('0x86')]('\x5c','\x5c\x5c')['replace'](/'/g,'\x27\x27');if(qs[_0x87b6('0x87')](_0x28b697)){_0x489761['or'](_0x87b6('0x88'),_0x28b697+'%')['or'](_0x87b6('0x89'),_0x28b697+'%');}_0x489761['or'](_0x87b6('0x8a'),_0x28b697+'%');}}_0x143b5a[_0x87b6('0x4c')](_0x489761);_0x143b5a[_0x87b6('0x8b')](_0x87b6('0x8c'));var _0x58d0b8={'type':db[_0x87b6('0x8d')][_0x87b6('0x8e')][_0x87b6('0x8f')],'raw':!![]};var _0x501a77=_0x143b5a[_0x87b6('0x90')]();_0x501a77[_0x87b6('0x50')](_0x87b6('0x8c'));_0x501a77[_0x87b6('0x50')]('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)',_0x87b6('0x64'));if(_0x1d14c0[_0x87b6('0x4b')]){_0x1d14c0[_0x87b6('0x4b')]['forEach'](function(_0x210c1e){var _0x24c300=_0x210c1e[0x0]===_0x87b6('0x91')?_0x210c1e[0x0]:'i.'+_0x210c1e[0x0];_0x143b5a['order'](_0x24c300,_0x210c1e[0x1]==='DESC'?![]:!![]);});}if(!_[_0x87b6('0x92')](_0x2aa21f)){_0x143b5a['having'](_0x55ca85);_0x501a77[_0x87b6('0x4c')]('t.id\x20IN\x20?',_0x2aa21f);}BPromise[_0x87b6('0x93')]()['then'](function(){if(!_0x34c19f){if(_0x8c5b46[_0x87b6('0x43')][_0x87b6('0x94')])return;_0x501a77[_0x87b6('0x4c')](_0x87b6('0x95'));_0x143b5a[_0x87b6('0x4c')](_0x87b6('0x95'));return;}if(_0x8c5b46[_0x87b6('0x96')][_0x87b6('0x97')]!==_0x87b6('0x98'))return;return _0x8c5b46['user'][_0x87b6('0x99')]({'attributes':['id'],'raw':!![]})[_0x87b6('0x2b')](function(_0xcd1ed){if(_[_0x87b6('0x92')](_0xcd1ed)){_0x501a77[_0x87b6('0x4c')](_0x87b6('0x9a'));_0x143b5a[_0x87b6('0x4c')](_0x87b6('0x9a'));}else{_0x501a77[_0x87b6('0x4c')](_0x87b6('0x9b'),_[_0x87b6('0x32')](_0xcd1ed,'id'));_0x143b5a[_0x87b6('0x4c')](_0x87b6('0x9b'),_[_0x87b6('0x32')](_0xcd1ed,'id'));}});})[_0x87b6('0x2b')](function(){if(_0x8c5b46[_0x87b6('0x96')][_0x87b6('0x97')]===_0x87b6('0x98')&&!_0x34c19f&&!_0x8c5b46[_0x87b6('0x43')][_0x87b6('0x94')])return[];return db['sequelize'][_0x87b6('0x43')](_0x501a77['toString'](),_0x58d0b8);})[_0x87b6('0x2b')](function(_0xc935cf){_0x32ba18[_0x87b6('0x26')]=_0xc935cf[_0x87b6('0x48')];if(_0x32ba18[_0x87b6('0x26')]===0x0)return[];return db[_0x87b6('0x9c')]['query'](_0x1b8fbd['toString'](),_0x58d0b8)[_0x87b6('0x2b')](function(_0x27c900){_0x50ab45=_[_0x87b6('0x9d')](_0x27c900,'id');_0x58d0b8=_[_0x87b6('0x9e')](_0x58d0b8,{'model':db[_0x87b6('0x9f')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x8c5b46[_0x87b6('0x43')][_0x87b6('0x46')]){_0x1d14c0[_0x87b6('0x47')][_0x87b6('0x73')](function(_0x5df55d){_0x143b5a[_0x87b6('0x50')]('i.'+_0x5df55d);});}else{_0x143b5a[_0x87b6('0x50')](_0x87b6('0xa0'),_0x87b6('0x64'));_0x143b5a[_0x87b6('0x50')](_0x87b6('0xa1'),_0x87b6('0xa2'));_0x143b5a[_0x87b6('0x50')](_0x87b6('0xa3'),'Account.mandatoryDisposition');_0x143b5a[_0x87b6('0x50')](_0x87b6('0xa4'),'contactName');_0x143b5a['field'](_0x87b6('0xa5'));_0x143b5a['field']('c.firstName',_0x87b6('0xa6'));_0x143b5a[_0x87b6('0x50')](_0x87b6('0xa7'),'Contact.lastName');_0x143b5a[_0x87b6('0x50')]('c.email',_0x87b6('0xa8'));_0x143b5a['field'](_0x87b6('0xa9'),_0x87b6('0xaa'));_0x143b5a[_0x87b6('0x50')](_0x87b6('0xab'),'Contact.mobile');_0x143b5a[_0x87b6('0x50')](_0x87b6('0xac'),_0x87b6('0xad'));_0x143b5a['field'](_0x87b6('0xae'),_0x87b6('0xaf'));_0x143b5a[_0x87b6('0x50')]('o.internal',_0x87b6('0xb0'));_0x143b5a[_0x87b6('0x50')](_0x87b6('0xb1'),_0x87b6('0x34'));}if(_0x1d14c0[_0x87b6('0x24')])_0x143b5a['limit'](_0x1d14c0[_0x87b6('0x24')]);if(_0x1d14c0[_0x87b6('0x23')])_0x143b5a[_0x87b6('0x23')](_0x1d14c0[_0x87b6('0x23')]);return db[_0x87b6('0x9c')][_0x87b6('0x43')](_0x143b5a[_0x87b6('0xb2')](),_0x58d0b8);})[_0x87b6('0x2b')](function(_0x4f74c4){if(_0x4f74c4[_0x87b6('0x48')]>0x0)_0x3041f3[_0x87b6('0x4c')](_0x87b6('0xb3'),_[_0x87b6('0x32')](_0x4f74c4,'id'));return db['sequelize'][_0x87b6('0x43')](_0x3041f3[_0x87b6('0xb2')](),_0x58d0b8)[_0x87b6('0x2b')](function(_0x4bcb85){var _0x239b0e=_[_0x87b6('0xb4')](_0x4bcb85,_0x87b6('0xb5'));var _0x38fab4=[];_0x4f74c4[_0x87b6('0x73')](function(_0x419c06){_0x38fab4[_0x87b6('0x37')](updateFaxInteraction(_0x419c06,_0x50ab45,_0x239b0e));});return BPromise['all'](_0x38fab4);});});})[_0x87b6('0x2b')](function(_0x1df1bf){_0x32ba18['rows']=_0x1df1bf;return _0x32ba18;})[_0x87b6('0x2b')](respondWithFilteredResult(_0x2c2fed,_0x1d14c0))[_0x87b6('0xb6')](handleError(_0x2c2fed,null));};exports[_0x87b6('0xb7')]=function(_0x59d888,_0x102ab8){var _0x5ce568={'raw':![],'where':{'id':_0x59d888[_0x87b6('0xb8')]['id']}},_0x6c8461={};_0x6c8461[_0x87b6('0x42')]=_[_0x87b6('0x44')](db['FaxInteraction'][_0x87b6('0x40')]);_0x6c8461[_0x87b6('0x43')]=_['keys'](_0x59d888['query']);_0x6c8461[_0x87b6('0x4d')]=_['intersection'](_0x6c8461[_0x87b6('0x42')],_0x6c8461[_0x87b6('0x43')]);_0x5ce568['attributes']=_[_0x87b6('0x45')](_0x6c8461[_0x87b6('0x42')],qs[_0x87b6('0x46')](_0x59d888[_0x87b6('0x43')][_0x87b6('0x46')]));_0x5ce568[_0x87b6('0x47')]=_0x5ce568[_0x87b6('0x47')][_0x87b6('0x48')]?_0x5ce568[_0x87b6('0x47')]:_0x6c8461['model'];if(_0x59d888[_0x87b6('0x43')]['includeAll']){_0x5ce568[_0x87b6('0xb9')]=[{'all':!![]}];}_0x5ce568=_[_0x87b6('0x9e')]({},_0x5ce568,_0x59d888[_0x87b6('0xba')]);return db[_0x87b6('0x9f')][_0x87b6('0x6f')](_0x5ce568)[_0x87b6('0x2b')](handleEntityNotFound(_0x102ab8,null))[_0x87b6('0x2b')](respondWithResult(_0x102ab8,null))['catch'](handleError(_0x102ab8,null));};exports[_0x87b6('0xbb')]=function(_0x1cd163,_0x5d04a){return db[_0x87b6('0x9f')]['create'](_0x1cd163[_0x87b6('0x76')],{})[_0x87b6('0x2b')](respondWithResult(_0x5d04a,0xc9))[_0x87b6('0xb6')](handleError(_0x5d04a,null));};exports[_0x87b6('0x29')]=function(_0x118506,_0x25fec1){if(_0x118506[_0x87b6('0x76')]['id']){delete _0x118506['body']['id'];}return db['FaxInteraction'][_0x87b6('0x6f')]({'where':{'id':_0x118506['params']['id']}})[_0x87b6('0x2b')](handleEntityNotFound(_0x25fec1,null))[_0x87b6('0x2b')](saveUpdates(_0x118506[_0x87b6('0x76')],null))[_0x87b6('0x2b')](respondWithResult(_0x25fec1,null))[_0x87b6('0xb6')](handleError(_0x25fec1,null));};exports[_0x87b6('0x2a')]=function(_0x48b520,_0x2b74a3){return db['FaxInteraction']['find']({'where':{'id':_0x48b520[_0x87b6('0xb8')]['id']}})[_0x87b6('0x2b')](handleEntityNotFound(_0x2b74a3,null))[_0x87b6('0x2b')](removeEntity(_0x2b74a3,null))['catch'](handleError(_0x2b74a3,null));};exports['describe']=function(_0x189451,_0x22584c){return db[_0x87b6('0x9f')][_0x87b6('0xbc')]()[_0x87b6('0x2b')](respondWithResult(_0x22584c,null))['catch'](handleError(_0x22584c,null));};exports[_0x87b6('0xbd')]=function(_0x52a050,_0x251319,_0x2bc833){return db['FaxMessage']['find']({'where':{'id':_0x52a050[_0x87b6('0xb8')]['id']}})[_0x87b6('0x2b')](handleEntityNotFound(_0x251319,null))[_0x87b6('0x2b')](function(_0x5709fb){if(_0x5709fb){return _0x5709fb[_0x87b6('0xbd')](_0x52a050[_0x87b6('0x76')][_0x87b6('0xbe')],_[_0x87b6('0xbf')](_0x52a050[_0x87b6('0x76')],[_0x87b6('0xbe'),'id'])||{});}})[_0x87b6('0x2b')](respondWithResult(_0x251319,null))[_0x87b6('0xb6')](handleError(_0x251319,null));};exports['getMessages']=function(_0xb478b5,_0x2356a0,_0x5d1da3){var _0x107f95={'raw':![],'where':{}};var _0x1174a9={};var _0xb4ff14={'count':0x0,'rows':[]};return db['FaxInteraction'][_0x87b6('0xc0')]({'where':{'id':_0xb478b5['params']['id']}})[_0x87b6('0x2b')](handleEntityNotFound(_0x2356a0,null))[_0x87b6('0x2b')](function(_0x2e4f7c){if(_0x2e4f7c){_0x1174a9[_0x87b6('0x42')]=_[_0x87b6('0x44')](db['FaxMessage'][_0x87b6('0x40')]);_0x1174a9['query']=_[_0x87b6('0x44')](_0xb478b5[_0x87b6('0x43')]);_0x1174a9[_0x87b6('0x4d')]=_[_0x87b6('0x45')](_0x1174a9[_0x87b6('0x42')],_0x1174a9[_0x87b6('0x43')]);_0x107f95[_0x87b6('0x47')]=_['intersection'](_0x1174a9[_0x87b6('0x42')],qs[_0x87b6('0x46')](_0xb478b5[_0x87b6('0x43')][_0x87b6('0x46')]));_0x107f95['attributes']=_0x107f95[_0x87b6('0x47')][_0x87b6('0x48')]?_0x107f95[_0x87b6('0x47')]:_0x1174a9[_0x87b6('0x42')];if(!_0xb478b5['query'][_0x87b6('0x49')](_0x87b6('0x4a'))){_0x107f95[_0x87b6('0x24')]=qs[_0x87b6('0x24')](_0xb478b5['query'][_0x87b6('0x24')]);_0x107f95[_0x87b6('0x23')]=qs[_0x87b6('0x23')](_0xb478b5[_0x87b6('0x43')][_0x87b6('0x23')]);}_0x107f95[_0x87b6('0x4b')]=qs[_0x87b6('0xc1')](_0xb478b5['query'][_0x87b6('0xc1')]);_0x107f95[_0x87b6('0x4c')]=qs[_0x87b6('0x4d')](_[_0x87b6('0x4e')](_0xb478b5['query'],_0x1174a9[_0x87b6('0x4d')]));_0x107f95[_0x87b6('0x4c')][_0x87b6('0xb5')]=_0x2e4f7c['id'];if(_0xb478b5['query'][_0x87b6('0x85')]){_0x107f95[_0x87b6('0x4c')]=_['merge'](_0x107f95[_0x87b6('0x4c')],{'$or':_[_0x87b6('0x32')](_0x107f95[_0x87b6('0x47')],function(_0xe196b7){var _0x297429={};_0x297429[_0xe196b7]={'$like':'%'+_0xb478b5[_0x87b6('0x43')][_0x87b6('0x85')]+'%'};return _0x297429;})});}if(_0xb478b5[_0x87b6('0x43')][_0x87b6('0x7c')]){var _0x39265b=_0xb478b5[_0x87b6('0x43')][_0x87b6('0x7c')][_0x87b6('0x36')](',');var _0x466176={};_0x466176[_0x39265b[0x0]]={'$gte':moment(_0x39265b[0x1])['format'](_0x87b6('0xc2'))};_0x107f95[_0x87b6('0x4c')]=_[_0x87b6('0x9e')](_0x107f95[_0x87b6('0x4c')],_0x466176);}_0x107f95=_[_0x87b6('0x9e')]({},_0x107f95,_0xb478b5[_0x87b6('0xba')]);return db[_0x87b6('0xc3')][_0x87b6('0x26')]({'where':_0x107f95[_0x87b6('0x4c')]})[_0x87b6('0x2b')](function(_0x1fcb03){_0xb4ff14['count']=_0x1fcb03;if(_0xb478b5[_0x87b6('0x43')]['includeAll']){_0x107f95[_0x87b6('0xb9')]=[{'all':!![]}];}return db[_0x87b6('0xc3')][_0x87b6('0xc4')](_0x107f95);})[_0x87b6('0x2b')](function(_0x3219f6){_0xb4ff14['rows']=_0x3219f6;return _0xb4ff14;});}})[_0x87b6('0x2b')](respondWithFilteredResult(_0x2356a0,_0x107f95))['catch'](handleError(_0x2356a0,null));};exports['addTags']=function(_0x2183a6,_0x98dfd4,_0x4f7139){return db['FaxInteraction'][_0x87b6('0x6f')]({'where':{'id':_0x2183a6[_0x87b6('0xb8')]['id']}})[_0x87b6('0x2b')](handleEntityNotFound(_0x98dfd4,null))[_0x87b6('0x2b')](function(_0x1e65d1){if(_0x1e65d1){return _0x1e65d1[_0x87b6('0xc5')](_0x2183a6[_0x87b6('0x76')]['ids'],_['omit'](_0x2183a6[_0x87b6('0x76')],[_0x87b6('0xbe'),'id'])||{})[_0x87b6('0xc6')](function(){return db[_0x87b6('0x72')][_0x87b6('0xc4')]({'attributes':['id',_0x87b6('0x2f'),'color'],'where':{'id':_0x2183a6[_0x87b6('0x76')][_0x87b6('0xbe')]}});})[_0x87b6('0x2b')](function(_0x4683d4){socket[_0x87b6('0xc7')](_0x87b6('0xc8'),{'id':Number(_0x2183a6[_0x87b6('0xb8')]['id']),'tags':_0x4683d4||[]});return{'id':Number(_0x2183a6['params']['id']),'tags':_0x4683d4||[]};});}})['then'](respondWithResult(_0x98dfd4,null))[_0x87b6('0xb6')](handleError(_0x98dfd4,null));};exports[_0x87b6('0xc9')]=function(_0x2eb8da,_0x2279b8,_0x1279fe){return db[_0x87b6('0x9f')][_0x87b6('0x6f')]({'where':{'id':_0x2eb8da[_0x87b6('0xb8')]['id']}})['then'](handleEntityNotFound(_0x2279b8,null))[_0x87b6('0x2b')](function(_0x3566b4){if(_0x3566b4){return _0x3566b4['removeTags'](_0x2eb8da['query'][_0x87b6('0xbe')]);}})[_0x87b6('0x2b')](respondWithStatusCode(_0x2279b8,null))['catch'](handleError(_0x2279b8,null));};exports[_0x87b6('0xca')]=function(_0x8025a8,_0x8d3a){var _0x4faab1=moment()[_0x87b6('0xcb')]()[_0x87b6('0xb2')]();var _0x4e7358=path[_0x87b6('0xcc')](config[_0x87b6('0xcd')],'server',_0x87b6('0xce'),_0x87b6('0xcf'));var _0xbab66c=path[_0x87b6('0xcc')](config[_0x87b6('0xcd')],_0x87b6('0xd0'),_0x87b6('0xce'),_0x87b6('0xd1'));var _0x537e1f=path[_0x87b6('0xcc')](_0x4e7358,_0x4faab1);var _0x5c3b85=util[_0x87b6('0xd2')](_0x87b6('0xd3'),_0x8025a8[_0x87b6('0xb8')]['id'],_0x4faab1);var _0x16de92=path['join'](_0x4e7358,_0x5c3b85);var _0x2b360f=[];_0x2b360f['push']({'model':db[_0x87b6('0xd4')],'as':'Attachment','raw':!![]});var _0x395728=[{'model':db['FaxMessage'],'as':'Messages','attributes':['id',_0x87b6('0x76'),_0x87b6('0x7a')],'include':_0x2b360f}];return db[_0x87b6('0x9f')][_0x87b6('0x6f')]({'where':{'id':_0x8025a8[_0x87b6('0xb8')]['id']},'include':_0x395728})[_0x87b6('0x2b')](handleEntityNotFound(_0x8d3a,null))[_0x87b6('0x2b')](function(_0x25e414){if(_0x25e414&&_0x25e414[_0x87b6('0xd5')]){var _0x28367d=_0x25e414[_0x87b6('0xd6')]({'plain':!![]});fs['mkdirSync'](_0x537e1f);for(var _0x9f229b=0x0;_0x9f229b<_0x28367d[_0x87b6('0xd5')][_0x87b6('0x48')];_0x9f229b++){var _0x6c47a5=_0x28367d['Messages'][_0x9f229b]['Attachment'];if(_0x6c47a5){var _0x1a9219=path[_0x87b6('0xcc')](_0xbab66c,_0x6c47a5[_0x87b6('0xd7')]);if(fs[_0x87b6('0xd8')](_0x1a9219)){fs[_0x87b6('0xd9')](_0x1a9219)[_0x87b6('0xda')](fs['createWriteStream'](path[_0x87b6('0xcc')](_0x537e1f,_0x6c47a5[_0x87b6('0xd7')])));}}}return BPromise[_0x87b6('0x93')]()['then'](function(){return new BPromise(function(_0xec3488,_0xb8faed){zipdir(_0x537e1f,{'saveTo':_0x16de92},function(_0x3ce41b,_0x33d438){if(_0x3ce41b)return _0xb8faed(_0x3ce41b);return _0xec3488(_0x33d438);});})[_0x87b6('0x2b')](function(){return new BPromise(function(_0x1c8b1f,_0x57db6a){rimraf(_0x537e1f,function(_0x578e37){if(_0x578e37)_0x57db6a(_0x578e37);return _0x1c8b1f();});});})['then'](function(){return _0x8d3a[_0x87b6('0xca')](_0x16de92,_0x5c3b85,function(_0x19c19b){if(_0x19c19b){console[_0x87b6('0xdb')](_0x87b6('0xdc'),_0x19c19b);}else{fs[_0x87b6('0xdd')](_0x16de92);}});});});}else{return _0x8d3a[_0x87b6('0x2c')](0xc8);}})[_0x87b6('0xb6')](handleError(_0x8d3a,null));};