82bcb12b34833dc4f54ddbcb38cb11cfb34ec566
[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 _0xd777=['FaxInteraction','rawAttributes','fieldName','type','key','query','filters','intersection','model','attributes','fields','length','hasOwnProperty','order','sort','where','pick','field','from','select','u.fullname','ui.FaxInteractionId','left_join','users','u.id\x20=\x20ui.UserId','fax_interactions','cm_contacts','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','tools_tags','t.id\x20=\x20it.TagId','expr','search','parseSearch','sqlOperator','unreadMessages','value','having','`\x20>\x200','Contact','operator','$substring','split','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','buildExpression','text','start','Tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','User','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','keys','some','compact','FaxAccountId','concat','createdAt','parse','$gte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','isArray','filter','i.id\x20LIKE\x20?','i.fax\x20LIKE\x20?','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','Sequelize','QueryTypes','SELECT','i.id','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','contactName','DESC','isEmpty','resolve','i.FaxAccountId\x20IS\x20NOT\x20NULL','user','role','i.FaxAccountId\x20IN\x20?','agent','sequelize','toString','keyBy','merge','a.key','Account.key','a.mandatoryDisposition','Account.mandatoryDisposition','i.*','c.firstName','Contact.email','c.phone','c.mobile','Contact.mobile','c.fax','Contact.fax','o.fullname','Owner.internal','ui.FaxInteractionId\x20IN\x20?','FaxInteractionId','rows','show','include','options','create','body','params','addMessage','ids','getMessages','findOne','FaxMessage','nolimit','format','YYYY-MM-DD\x20HH:mm:ss','includeAll','addTags','setTags','omit','spread','findAll','emit','removeTags','unix','join','root','server','files','tmp','attachments','Attachment','Messages','mkdirSync','basename','createReadStream','createWriteStream','download','err','unlinkSync','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','path','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','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./faxInteraction.socket','register','sendStatus','end','status','json','offset','undefined','limit','count','set','save','update','destroy','error','stack','name','map','fullname','TagIds','Tags','forEach','push','then','catch','waiting','answered','closed','UserId','talking','unmanaged','total','index'];(function(_0x30e476,_0x428dbd){var _0x25bf5c=function(_0x2d9e64){while(--_0x2d9e64){_0x30e476['push'](_0x30e476['shift']());}};_0x25bf5c(++_0x428dbd);}(_0xd777,0x9a));var _0x7d77=function(_0x7074d5,_0x427953){_0x7074d5=_0x7074d5-0x0;var _0xced075=_0xd777[_0x7074d5];return _0xced075;};'use strict';var emlformat=require(_0x7d77('0x0'));var rimraf=require(_0x7d77('0x1'));var zipdir=require(_0x7d77('0x2'));var jsonpatch=require(_0x7d77('0x3'));var rp=require('request-promise');var moment=require(_0x7d77('0x4'));var BPromise=require(_0x7d77('0x5'));var Mustache=require(_0x7d77('0x6'));var util=require('util');var path=require(_0x7d77('0x7'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x7d77('0x8'));var fs=require('fs');var fs_extra=require(_0x7d77('0x9'));var _=require(_0x7d77('0xa'));var squel=require(_0x7d77('0xb'));var crypto=require(_0x7d77('0xc'));var jsforce=require(_0x7d77('0xd'));var deskjs=require('desk.js');var toCsv=require(_0x7d77('0xe'));var querystring=require(_0x7d77('0xf'));var Papa=require(_0x7d77('0x10'));var Redis=require(_0x7d77('0x11'));var authService=require(_0x7d77('0x12'));var qs=require(_0x7d77('0x13'));var as=require(_0x7d77('0x14'));var hardwareService=require(_0x7d77('0x15'));var logger=require(_0x7d77('0x16'))('api');var utils=require('../../config/utils');var config=require(_0x7d77('0x17'));var licenseUtil=require(_0x7d77('0x18'));var db=require(_0x7d77('0x19'))['db'];config[_0x7d77('0x1a')]=_[_0x7d77('0x1b')](config[_0x7d77('0x1a')],{'host':_0x7d77('0x1c'),'port':0x18eb});var socket=require(_0x7d77('0x1d'))(new Redis(config[_0x7d77('0x1a')]));require(_0x7d77('0x1e'))[_0x7d77('0x1f')](socket);function respondWithStatusCode(_0x465ec5,_0x4056f6){_0x4056f6=_0x4056f6||0xcc;return function(_0x1d7f74){if(_0x1d7f74){return _0x465ec5[_0x7d77('0x20')](_0x4056f6);}return _0x465ec5['status'](_0x4056f6)[_0x7d77('0x21')]();};}function respondWithResult(_0x2eaca9,_0x4097f3){_0x4097f3=_0x4097f3||0xc8;return function(_0x4cb087){if(_0x4cb087){return _0x2eaca9[_0x7d77('0x22')](_0x4097f3)[_0x7d77('0x23')](_0x4cb087);}};}function respondWithFilteredResult(_0x32798a,_0x283b1a){return function(_0x2db17f){if(_0x2db17f){var _0x106efd=typeof _0x283b1a[_0x7d77('0x24')]===_0x7d77('0x25')&&typeof _0x283b1a[_0x7d77('0x26')]===_0x7d77('0x25');var _0x4e8855=_0x2db17f[_0x7d77('0x27')];var _0x28eee5=_0x106efd?0x0:_0x283b1a[_0x7d77('0x24')];var _0xe99eb8=_0x106efd?_0x2db17f[_0x7d77('0x27')]:_0x283b1a[_0x7d77('0x24')]+_0x283b1a[_0x7d77('0x26')];var _0x2c63ba;if(_0xe99eb8>=_0x4e8855){_0xe99eb8=_0x4e8855;_0x2c63ba=0xc8;}else{_0x2c63ba=0xce;}_0x32798a[_0x7d77('0x22')](_0x2c63ba);return _0x32798a[_0x7d77('0x28')]('Content-Range',_0x28eee5+'-'+_0xe99eb8+'/'+_0x4e8855)[_0x7d77('0x23')](_0x2db17f);}return null;};}function patchUpdates(_0x68157){return function(_0x57a5b8){try{jsonpatch['apply'](_0x57a5b8,_0x68157,!![]);}catch(_0x55c500){return BPromise['reject'](_0x55c500);}return _0x57a5b8[_0x7d77('0x29')]();};}function saveUpdates(_0x5cda65,_0x458cbb){return function(_0x36b083){if(_0x36b083){return _0x36b083[_0x7d77('0x2a')](_0x5cda65)['then'](function(_0x46fe72){return _0x46fe72;});}return null;};}function removeEntity(_0x318526,_0x4ca21d){return function(_0x1affd6){if(_0x1affd6){return _0x1affd6[_0x7d77('0x2b')]()['then'](function(){_0x318526[_0x7d77('0x22')](0xcc)[_0x7d77('0x21')]();});}};}function handleEntityNotFound(_0x1de81d,_0x34706b){return function(_0x35ac2c){if(!_0x35ac2c){_0x1de81d['sendStatus'](0x194);}return _0x35ac2c;};}function handleError(_0x1aab38,_0x5ae3c8){_0x5ae3c8=_0x5ae3c8||0x1f4;return function(_0x4b1f0e){logger[_0x7d77('0x2c')](_0x4b1f0e[_0x7d77('0x2d')]);if(_0x4b1f0e['name']){delete _0x4b1f0e[_0x7d77('0x2e')];}_0x1aab38[_0x7d77('0x22')](_0x5ae3c8)['send'](_0x4b1f0e);};}function getInteractionUsers(_0x44c3b3,_0x18da94){return new BPromise(function(_0x2197e4,_0x609bd4){try{if(_0x18da94[_0x44c3b3['id']]){_0x44c3b3['Users']=_[_0x7d77('0x2f')](_0x18da94[_0x44c3b3['id']],function(_0x5139ac){return{'id':_0x5139ac['id'],'fullname':_0x5139ac[_0x7d77('0x30')]};});}}catch(_0x1e9651){_0x609bd4(_0x1e9651);}_0x2197e4(_0x44c3b3);});}function getInteractionTags(_0x445ef5,_0x437569){return new BPromise(function(_0x1018e6,_0x1f64ba){try{if(_0x445ef5[_0x7d77('0x31')]){_0x445ef5[_0x7d77('0x32')]=[];_0x445ef5[_0x7d77('0x31')]['split'](',')[_0x7d77('0x33')](function(_0xba25a2){_0x445ef5['Tags'][_0x7d77('0x34')](_0x437569[_0xba25a2]);});}delete _0x445ef5['TagIds'];}catch(_0x3ab20b){_0x1f64ba(_0x3ab20b);}_0x1018e6(_0x445ef5);});}function updateFaxInteraction(_0x2509ec,_0xf35cf,_0x1817d7){return new BPromise(function(_0xa8bd8d,_0x497048){return getInteractionUsers(_0x2509ec,_0x1817d7)[_0x7d77('0x35')](function(_0x5cddf8){return getInteractionTags(_0x5cddf8,_0xf35cf);})[_0x7d77('0x35')](function(_0xa58027){return getStateInteraction(_0xa58027);})[_0x7d77('0x35')](function(_0x3d7056){_0xa8bd8d(_0x3d7056);})[_0x7d77('0x36')](function(_0x165e50){_0x497048(_0x165e50);});});}function getStateInteraction(_0x104758){return new BPromise(function(_0x48c559){_0x104758[_0x7d77('0x37')]=0x0;_0x104758['talking']=0x0;_0x104758[_0x7d77('0x38')]=0x0;_0x104758['unmanaged']=0x0;_0x104758['total']=0x0;if(!_0x104758[_0x7d77('0x39')]&&!_0x104758[_0x7d77('0x3a')]){_0x104758[_0x7d77('0x37')]+=0x1;}if(!_0x104758[_0x7d77('0x39')]&&_0x104758[_0x7d77('0x3a')]){_0x104758['talking']+=0x1;if(_0x104758[_0x7d77('0x37')]){_0x104758[_0x7d77('0x37')]-=0x1;}}if(_0x104758['closed']&&_0x104758['UserId']){_0x104758[_0x7d77('0x38')]+=0x1;if(_0x104758[_0x7d77('0x3b')]){_0x104758[_0x7d77('0x3b')]-=0x1;}}if(_0x104758[_0x7d77('0x39')]&&!_0x104758[_0x7d77('0x3a')]){_0x104758[_0x7d77('0x3c')]+=0x1;if(_0x104758[_0x7d77('0x37')]){_0x104758[_0x7d77('0x37')]-=0x1;}}_0x104758[_0x7d77('0x3d')]+=0x1;_0x48c559(_0x104758);});}exports[_0x7d77('0x3e')]=function(_0x4aebe1,_0x24ae20){var _0x3cc188={},_0x70183={},_0x29df07={'count':0x0,'rows':[]};var _0x34447d=_[_0x7d77('0x2f')](db[_0x7d77('0x3f')][_0x7d77('0x40')],function(_0x57952e){return{'name':_0x57952e[_0x7d77('0x41')],'type':_0x57952e[_0x7d77('0x42')][_0x7d77('0x43')]};});_0x70183['model']=_[_0x7d77('0x2f')](_0x34447d,'name');_0x70183[_0x7d77('0x44')]=_['keys'](_0x4aebe1['query']);_0x70183[_0x7d77('0x45')]=_[_0x7d77('0x46')](_0x70183[_0x7d77('0x47')],_0x70183['query']);_0x3cc188[_0x7d77('0x48')]=_[_0x7d77('0x46')](_0x70183[_0x7d77('0x47')],qs[_0x7d77('0x49')](_0x4aebe1['query'][_0x7d77('0x49')]));_0x3cc188['attributes']=_0x3cc188[_0x7d77('0x48')][_0x7d77('0x4a')]?_0x3cc188[_0x7d77('0x48')]:_0x70183[_0x7d77('0x47')];if(!_0x4aebe1[_0x7d77('0x44')][_0x7d77('0x4b')]('nolimit')){_0x3cc188[_0x7d77('0x26')]=qs[_0x7d77('0x26')](_0x4aebe1[_0x7d77('0x44')][_0x7d77('0x26')]);_0x3cc188[_0x7d77('0x24')]=qs[_0x7d77('0x24')](_0x4aebe1[_0x7d77('0x44')][_0x7d77('0x24')]);}_0x3cc188[_0x7d77('0x4c')]=qs[_0x7d77('0x4d')](_0x4aebe1[_0x7d77('0x44')]['sort']);_0x3cc188[_0x7d77('0x4e')]=qs[_0x7d77('0x45')](_[_0x7d77('0x4f')](_0x4aebe1[_0x7d77('0x44')],_0x70183['filters']),_0x34447d);var _0x39f033=[];var _0x1a2f9b=squel['select']()['field']('id')[_0x7d77('0x50')]('name')[_0x7d77('0x50')]('color')[_0x7d77('0x51')]('tools_tags');var _0x589699=squel[_0x7d77('0x52')]()[_0x7d77('0x50')]('u.id')[_0x7d77('0x50')](_0x7d77('0x53'))[_0x7d77('0x50')](_0x7d77('0x54'))['from']('user_has_fax_interactions','ui')[_0x7d77('0x55')](_0x7d77('0x56'),'u',_0x7d77('0x57'));var _0x38f1de=squel[_0x7d77('0x52')]()[_0x7d77('0x51')](_0x7d77('0x58'),'i')[_0x7d77('0x55')](_0x7d77('0x59'),'c',_0x7d77('0x5a'))['left_join'](_0x7d77('0x56'),'o',_0x7d77('0x5b'))[_0x7d77('0x55')](_0x7d77('0x5c'),'a',_0x7d77('0x5d'))[_0x7d77('0x55')](_0x7d77('0x5e'),'me',_0x7d77('0x5f'))[_0x7d77('0x55')]('fax_interaction_has_tags','it','it.FaxInteractionId\x20=\x20i.id')['left_join'](_0x7d77('0x60'),'t',_0x7d77('0x61'));var _0x3a8a27=squel['expr']();var _0x197108=[];var _0x4007d2=squel[_0x7d77('0x62')]();var _0x1bcecf;if(_0x4aebe1[_0x7d77('0x44')][_0x7d77('0x63')]){_0x1bcecf=as[_0x7d77('0x64')](_0x4aebe1[_0x7d77('0x44')][_0x7d77('0x63')]);var _0x11344e=_0x1bcecf[_0x7d77('0x65')];for(var _0x2553c6=0x0;_0x2553c6<_0x1bcecf['conditions'][_0x7d77('0x4a')];_0x2553c6++){var _0x78fc82=_0x1bcecf['conditions'][_0x2553c6];var _0xf59b33='i';var _0x5fbcca=_['find'](_0x34447d,[_0x7d77('0x2e'),_0x78fc82['field']]);if(!_0x5fbcca){switch(_0x78fc82[_0x7d77('0x50')]){case _0x7d77('0x66'):if(_0x78fc82[_0x7d77('0x67')]==0x1){_0x38f1de[_0x7d77('0x68')]('`'+_0x78fc82[_0x7d77('0x50')]+'`\x20=\x200');}else{_0x38f1de[_0x7d77('0x68')]('`'+_0x78fc82[_0x7d77('0x50')]+_0x7d77('0x69'));}break;case _0x7d77('0x6a'):if(_0x78fc82[_0x7d77('0x6b')]===_0x7d77('0x6c')){if(_0x78fc82['value'][_0x7d77('0x6d')]('\x20')['length']>0x1){_0x3a8a27[_0x11344e](_0x7d77('0x6e'),qs[_0x7d77('0x6f')](_0x78fc82[_0x7d77('0x67')]),null);}else{var _0x1a6a7e='%'+_0x78fc82[_0x7d77('0x67')]+'%';_0x3a8a27[_0x11344e](_0x7d77('0x70'),_0x1a6a7e,_0x1a6a7e,_0x1a6a7e);}}else{_0x5fbcca=_[_0x7d77('0x71')](_0x34447d,[_0x7d77('0x2e'),_0x7d77('0x72')]);_0x78fc82[_0x7d77('0x50')]=_0x7d77('0x72');_0x282f5e=as[_0x7d77('0x73')](_0xf59b33,_0x5fbcca['type'],_0x78fc82);_0x3a8a27[_0x11344e](_0x282f5e[_0x7d77('0x74')],_0x282f5e['value'][_0x7d77('0x75')],_0x282f5e[_0x7d77('0x67')][_0x7d77('0x21')]);}break;case _0x7d77('0x76'):var _0x267280=_0x78fc82[_0x7d77('0x67')][_0x7d77('0x6d')](',')[_0x7d77('0x2f')](function(_0x331995){return Number(_0x331995);});_0x267280[_0x7d77('0x33')](function(_0xf3f286){_0x4007d2['or'](_0x7d77('0x77'),'%,'+_0xf3f286+',%');});_0x197108=_['union'](_0x197108,_0x267280);break;case _0x7d77('0x78'):if(_0x78fc82['operator']===_0x7d77('0x6c')){_0x3a8a27[_0x11344e](_0x7d77('0x79'),'%'+_0x78fc82[_0x7d77('0x67')]+'%',null);}else{_0x5fbcca=_['find'](_0x34447d,[_0x7d77('0x2e'),_0x7d77('0x3a')]);_0x78fc82[_0x7d77('0x50')]=_0x7d77('0x3a');_0x282f5e=as['buildExpression'](_0xf59b33,_0x5fbcca['type'],_0x78fc82);_0x3a8a27[_0x11344e](_0x282f5e[_0x7d77('0x74')],_0x282f5e[_0x7d77('0x67')][_0x7d77('0x75')],_0x282f5e['value'][_0x7d77('0x21')]);}break;case'body':_0x282f5e=as[_0x7d77('0x73')]('me',null,_0x78fc82);_0x3a8a27[_0x11344e](_0x282f5e[_0x7d77('0x74')],_0x282f5e['value'][_0x7d77('0x75')],_0x282f5e[_0x7d77('0x67')][_0x7d77('0x21')]);break;}}else{var _0x282f5e=as['buildExpression'](_0xf59b33,_0x5fbcca[_0x7d77('0x42')],_0x78fc82);_0x3a8a27[_0x11344e](_0x282f5e['text'],_0x282f5e[_0x7d77('0x67')][_0x7d77('0x75')],_0x282f5e[_0x7d77('0x67')]['end']);}}}else{var _0x2a0c3b=_(_0x4aebe1[_0x7d77('0x44')])[_0x7d77('0x7a')]()['map'](function(_0x6fab9c){return _[_0x7d77('0x7b')](_0x34447d,[_0x7d77('0x2e'),_0x6fab9c])?_0x6fab9c:undefined;})[_0x7d77('0x7c')]()[_0x7d77('0x67')]();if(!_['isEmpty'](_0x2a0c3b)){_0x2a0c3b[_0x7d77('0x33')](function(_0xbd896d){if(_0xbd896d===_0x7d77('0x7d')){_0x38f1de[_0x7d77('0x4e')]('i.FaxAccountId\x20IN\x20?',[][_0x7d77('0x7e')](_0x4aebe1[_0x7d77('0x44')][_0xbd896d]));}else if(_0xbd896d===_0x7d77('0x7f')){var _0x1d04c6=JSON[_0x7d77('0x80')](_0x4aebe1['query'][_0xbd896d])[_0x7d77('0x81')];var _0x25b453=JSON[_0x7d77('0x80')](_0x4aebe1[_0x7d77('0x44')][_0xbd896d])['$lte'];_0x38f1de[_0x7d77('0x4e')](_0x7d77('0x82'),_0x1d04c6,_0x25b453);}else{if(_0x4aebe1['query'][_0xbd896d]===_0x7d77('0x83')){_0x38f1de['where']('i.'+_0xbd896d+_0x7d77('0x84'));}else{_0x38f1de[_0x7d77('0x4e')]('i.'+_0xbd896d+_0x7d77('0x85'),_0x4aebe1[_0x7d77('0x44')][_0xbd896d]);}}});}if(_0x4aebe1[_0x7d77('0x44')][_0x7d77('0x86')]){if(_0x4aebe1[_0x7d77('0x44')]['read']==0x1){_0x38f1de[_0x7d77('0x68')](_0x7d77('0x87'));}else{_0x38f1de['having'](_0x7d77('0x88'));}}if(_0x4aebe1[_0x7d77('0x44')][_0x7d77('0x89')]){_0x197108=_[_0x7d77('0x8a')](_0x4aebe1[_0x7d77('0x44')][_0x7d77('0x89')])?_0x4aebe1[_0x7d77('0x44')][_0x7d77('0x89')]:new Array(_0x4aebe1[_0x7d77('0x44')][_0x7d77('0x89')]);_0x197108['forEach'](function(_0x1ca4ea){_0x4007d2['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x1ca4ea+',%');});}if(_0x4aebe1[_0x7d77('0x44')]['filter']){var _0x391fb9=_0x4aebe1[_0x7d77('0x44')][_0x7d77('0x8b')]['replace']('\x5c','\x5c\x5c')['replace'](/'/g,'\x27\x27');if(qs['isNumeric'](_0x391fb9)){_0x3a8a27['or'](_0x7d77('0x8c'),_0x391fb9+'%')['or'](_0x7d77('0x8d'),_0x391fb9+'%');}_0x3a8a27['or'](_0x7d77('0x8e'),_0x391fb9+'%');}}_0x38f1de[_0x7d77('0x4e')](_0x3a8a27);_0x38f1de[_0x7d77('0x8f')]('i.id');var _0x393c15={'type':db[_0x7d77('0x90')][_0x7d77('0x91')][_0x7d77('0x92')],'raw':!![]};var _0x18e4d5=_0x38f1de['clone']();_0x18e4d5[_0x7d77('0x50')](_0x7d77('0x93'));_0x18e4d5[_0x7d77('0x50')](_0x7d77('0x94'),_0x7d77('0x66'));if(_0x3cc188[_0x7d77('0x4c')]){_0x3cc188[_0x7d77('0x4c')]['forEach'](function(_0x40a007){var _0x34fd9=_0x40a007[0x0]===_0x7d77('0x95')?_0x40a007[0x0]:'i.'+_0x40a007[0x0];_0x38f1de[_0x7d77('0x4c')](_0x34fd9,_0x40a007[0x1]===_0x7d77('0x96')?![]:!![]);});}if(!_[_0x7d77('0x97')](_0x197108)){_0x38f1de[_0x7d77('0x68')](_0x4007d2);_0x18e4d5['where']('t.id\x20IN\x20?',_0x197108);}BPromise[_0x7d77('0x98')]()['then'](function(){if(!_0x1bcecf){if(_0x4aebe1[_0x7d77('0x44')][_0x7d77('0x7d')])return;_0x18e4d5[_0x7d77('0x4e')]('i.FaxAccountId\x20IS\x20NOT\x20NULL');_0x38f1de[_0x7d77('0x4e')](_0x7d77('0x99'));return;}if(_0x4aebe1[_0x7d77('0x9a')][_0x7d77('0x9b')]!=='agent')return;return _0x4aebe1[_0x7d77('0x9a')]['getFaxAccounts']({'attributes':['id'],'raw':!![]})[_0x7d77('0x35')](function(_0x1b095a){if(_[_0x7d77('0x97')](_0x1b095a)){_0x18e4d5[_0x7d77('0x4e')]('i.FaxAccountId\x20IS\x20NULL');_0x38f1de[_0x7d77('0x4e')]('i.FaxAccountId\x20IS\x20NULL');}else{_0x18e4d5['where'](_0x7d77('0x9c'),_[_0x7d77('0x2f')](_0x1b095a,'id'));_0x38f1de['where'](_0x7d77('0x9c'),_[_0x7d77('0x2f')](_0x1b095a,'id'));}});})['then'](function(){if(_0x4aebe1[_0x7d77('0x9a')]['role']===_0x7d77('0x9d')&&!_0x1bcecf&&!_0x4aebe1[_0x7d77('0x44')]['FaxAccountId'])return[];return db[_0x7d77('0x9e')][_0x7d77('0x44')](_0x18e4d5[_0x7d77('0x9f')](),_0x393c15);})[_0x7d77('0x35')](function(_0x1fcd14){_0x29df07['count']=_0x1fcd14['length'];if(_0x29df07['count']===0x0)return[];return db[_0x7d77('0x9e')][_0x7d77('0x44')](_0x1a2f9b[_0x7d77('0x9f')](),_0x393c15)[_0x7d77('0x35')](function(_0x5b850a){_0x39f033=_[_0x7d77('0xa0')](_0x5b850a,'id');_0x393c15=_[_0x7d77('0xa1')](_0x393c15,{'model':db[_0x7d77('0x3f')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x4aebe1[_0x7d77('0x44')][_0x7d77('0x49')]){_0x3cc188[_0x7d77('0x48')][_0x7d77('0x33')](function(_0x4c449a){_0x38f1de[_0x7d77('0x50')]('i.'+_0x4c449a);});}else{_0x38f1de[_0x7d77('0x50')](_0x7d77('0x94'),_0x7d77('0x66'));_0x38f1de[_0x7d77('0x50')](_0x7d77('0xa2'),_0x7d77('0xa3'));_0x38f1de['field'](_0x7d77('0xa4'),_0x7d77('0xa5'));_0x38f1de[_0x7d77('0x50')]('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',_0x7d77('0x95'));_0x38f1de[_0x7d77('0x50')](_0x7d77('0xa6'));_0x38f1de[_0x7d77('0x50')](_0x7d77('0xa7'),'Contact.firstName');_0x38f1de[_0x7d77('0x50')]('c.lastName','Contact.lastName');_0x38f1de[_0x7d77('0x50')]('c.email',_0x7d77('0xa8'));_0x38f1de[_0x7d77('0x50')](_0x7d77('0xa9'),'Contact.phone');_0x38f1de[_0x7d77('0x50')](_0x7d77('0xaa'),_0x7d77('0xab'));_0x38f1de[_0x7d77('0x50')](_0x7d77('0xac'),_0x7d77('0xad'));_0x38f1de['field'](_0x7d77('0xae'),'Owner.fullname');_0x38f1de['field']('o.internal',_0x7d77('0xaf'));_0x38f1de[_0x7d77('0x50')]('GROUP_CONCAT(DISTINCT\x20t.id)',_0x7d77('0x31'));}if(_0x3cc188['limit'])_0x38f1de[_0x7d77('0x26')](_0x3cc188[_0x7d77('0x26')]);if(_0x3cc188[_0x7d77('0x24')])_0x38f1de['offset'](_0x3cc188[_0x7d77('0x24')]);return db['sequelize'][_0x7d77('0x44')](_0x38f1de[_0x7d77('0x9f')](),_0x393c15);})[_0x7d77('0x35')](function(_0x297547){if(_0x297547[_0x7d77('0x4a')]>0x0)_0x589699[_0x7d77('0x4e')](_0x7d77('0xb0'),_[_0x7d77('0x2f')](_0x297547,'id'));return db[_0x7d77('0x9e')][_0x7d77('0x44')](_0x589699['toString'](),_0x393c15)['then'](function(_0x382ea2){var _0x181385=_['groupBy'](_0x382ea2,_0x7d77('0xb1'));var _0x41a481=[];_0x297547[_0x7d77('0x33')](function(_0x1e6c53){_0x41a481[_0x7d77('0x34')](updateFaxInteraction(_0x1e6c53,_0x39f033,_0x181385));});return BPromise['all'](_0x41a481);});});})[_0x7d77('0x35')](function(_0x164fc7){_0x29df07[_0x7d77('0xb2')]=_0x164fc7;return _0x29df07;})[_0x7d77('0x35')](respondWithFilteredResult(_0x24ae20,_0x3cc188))[_0x7d77('0x36')](handleError(_0x24ae20,null));};exports[_0x7d77('0xb3')]=function(_0x71b7e5,_0x1120f1){var _0x431121={'raw':![],'where':{'id':_0x71b7e5['params']['id']}},_0x19cfa6={};_0x19cfa6[_0x7d77('0x47')]=_['keys'](db[_0x7d77('0x3f')][_0x7d77('0x40')]);_0x19cfa6['query']=_[_0x7d77('0x7a')](_0x71b7e5[_0x7d77('0x44')]);_0x19cfa6['filters']=_[_0x7d77('0x46')](_0x19cfa6[_0x7d77('0x47')],_0x19cfa6[_0x7d77('0x44')]);_0x431121[_0x7d77('0x48')]=_[_0x7d77('0x46')](_0x19cfa6[_0x7d77('0x47')],qs[_0x7d77('0x49')](_0x71b7e5[_0x7d77('0x44')]['fields']));_0x431121[_0x7d77('0x48')]=_0x431121[_0x7d77('0x48')][_0x7d77('0x4a')]?_0x431121['attributes']:_0x19cfa6[_0x7d77('0x47')];if(_0x71b7e5['query']['includeAll']){_0x431121[_0x7d77('0xb4')]=[{'all':!![]}];}_0x431121=_[_0x7d77('0xa1')]({},_0x431121,_0x71b7e5[_0x7d77('0xb5')]);return db[_0x7d77('0x3f')]['find'](_0x431121)['then'](handleEntityNotFound(_0x1120f1,null))[_0x7d77('0x35')](respondWithResult(_0x1120f1,null))['catch'](handleError(_0x1120f1,null));};exports[_0x7d77('0xb6')]=function(_0x77abdd,_0x412f9b){return db[_0x7d77('0x3f')][_0x7d77('0xb6')](_0x77abdd[_0x7d77('0xb7')],{})['then'](respondWithResult(_0x412f9b,0xc9))['catch'](handleError(_0x412f9b,null));};exports[_0x7d77('0x2a')]=function(_0x1b06c8,_0x48d2e0){if(_0x1b06c8['body']['id']){delete _0x1b06c8[_0x7d77('0xb7')]['id'];}return db[_0x7d77('0x3f')]['find']({'where':{'id':_0x1b06c8[_0x7d77('0xb8')]['id']}})['then'](handleEntityNotFound(_0x48d2e0,null))['then'](saveUpdates(_0x1b06c8[_0x7d77('0xb7')],null))[_0x7d77('0x35')](respondWithResult(_0x48d2e0,null))[_0x7d77('0x36')](handleError(_0x48d2e0,null));};exports[_0x7d77('0x2b')]=function(_0x418431,_0x1278a3){return db[_0x7d77('0x3f')]['find']({'where':{'id':_0x418431[_0x7d77('0xb8')]['id']}})[_0x7d77('0x35')](handleEntityNotFound(_0x1278a3,null))[_0x7d77('0x35')](removeEntity(_0x1278a3,null))[_0x7d77('0x36')](handleError(_0x1278a3,null));};exports['describe']=function(_0x4bc6ca,_0x484c48){return db['FaxInteraction']['describe']()[_0x7d77('0x35')](respondWithResult(_0x484c48,null))[_0x7d77('0x36')](handleError(_0x484c48,null));};exports[_0x7d77('0xb9')]=function(_0x131b2a,_0x199f82,_0x33c4a1){return db['FaxMessage'][_0x7d77('0x71')]({'where':{'id':_0x131b2a[_0x7d77('0xb8')]['id']}})['then'](handleEntityNotFound(_0x199f82,null))[_0x7d77('0x35')](function(_0x389c98){if(_0x389c98){return _0x389c98[_0x7d77('0xb9')](_0x131b2a['body'][_0x7d77('0xba')],_['omit'](_0x131b2a[_0x7d77('0xb7')],['ids','id'])||{});}})[_0x7d77('0x35')](respondWithResult(_0x199f82,null))[_0x7d77('0x36')](handleError(_0x199f82,null));};exports[_0x7d77('0xbb')]=function(_0x407d54,_0x290f71,_0x3dae01){var _0x3cf75b={'raw':![],'where':{}};var _0x14d5ea={};var _0x1c0fef={'count':0x0,'rows':[]};return db[_0x7d77('0x3f')][_0x7d77('0xbc')]({'where':{'id':_0x407d54[_0x7d77('0xb8')]['id']}})[_0x7d77('0x35')](handleEntityNotFound(_0x290f71,null))[_0x7d77('0x35')](function(_0x46d245){if(_0x46d245){_0x14d5ea[_0x7d77('0x47')]=_[_0x7d77('0x7a')](db[_0x7d77('0xbd')][_0x7d77('0x40')]);_0x14d5ea['query']=_['keys'](_0x407d54[_0x7d77('0x44')]);_0x14d5ea[_0x7d77('0x45')]=_[_0x7d77('0x46')](_0x14d5ea['model'],_0x14d5ea[_0x7d77('0x44')]);_0x3cf75b[_0x7d77('0x48')]=_[_0x7d77('0x46')](_0x14d5ea[_0x7d77('0x47')],qs['fields'](_0x407d54[_0x7d77('0x44')][_0x7d77('0x49')]));_0x3cf75b[_0x7d77('0x48')]=_0x3cf75b[_0x7d77('0x48')][_0x7d77('0x4a')]?_0x3cf75b[_0x7d77('0x48')]:_0x14d5ea[_0x7d77('0x47')];if(!_0x407d54[_0x7d77('0x44')][_0x7d77('0x4b')](_0x7d77('0xbe'))){_0x3cf75b[_0x7d77('0x26')]=qs[_0x7d77('0x26')](_0x407d54['query'][_0x7d77('0x26')]);_0x3cf75b[_0x7d77('0x24')]=qs['offset'](_0x407d54['query'][_0x7d77('0x24')]);}_0x3cf75b[_0x7d77('0x4c')]=qs[_0x7d77('0x4d')](_0x407d54[_0x7d77('0x44')]['sort']);_0x3cf75b[_0x7d77('0x4e')]=qs[_0x7d77('0x45')](_[_0x7d77('0x4f')](_0x407d54['query'],_0x14d5ea[_0x7d77('0x45')]));_0x3cf75b[_0x7d77('0x4e')][_0x7d77('0xb1')]=_0x46d245['id'];if(_0x407d54[_0x7d77('0x44')]['filter']){_0x3cf75b[_0x7d77('0x4e')]=_[_0x7d77('0xa1')](_0x3cf75b[_0x7d77('0x4e')],{'$or':_['map'](_0x3cf75b['attributes'],function(_0x367351){var _0x4c9592={};_0x4c9592[_0x367351]={'$like':'%'+_0x407d54[_0x7d77('0x44')]['filter']+'%'};return _0x4c9592;})});}if(_0x407d54[_0x7d77('0x44')][_0x7d77('0x81')]){var _0x49256c=_0x407d54['query'][_0x7d77('0x81')][_0x7d77('0x6d')](',');var _0x46fa86={};_0x46fa86[_0x49256c[0x0]]={'$gte':moment(_0x49256c[0x1])[_0x7d77('0xbf')](_0x7d77('0xc0'))};_0x3cf75b['where']=_[_0x7d77('0xa1')](_0x3cf75b[_0x7d77('0x4e')],_0x46fa86);}_0x3cf75b=_[_0x7d77('0xa1')]({},_0x3cf75b,_0x407d54['options']);return db[_0x7d77('0xbd')]['count']({'where':_0x3cf75b[_0x7d77('0x4e')]})['then'](function(_0x11fdf4){_0x1c0fef[_0x7d77('0x27')]=_0x11fdf4;if(_0x407d54['query'][_0x7d77('0xc1')]){_0x3cf75b['include']=[{'all':!![]}];}return db['FaxMessage']['findAll'](_0x3cf75b);})[_0x7d77('0x35')](function(_0x4688b3){_0x1c0fef['rows']=_0x4688b3;return _0x1c0fef;});}})[_0x7d77('0x35')](respondWithFilteredResult(_0x290f71,_0x3cf75b))[_0x7d77('0x36')](handleError(_0x290f71,null));};exports[_0x7d77('0xc2')]=function(_0x2654da,_0x4b9355,_0x7c4078){return db[_0x7d77('0x3f')]['find']({'where':{'id':_0x2654da['params']['id']}})[_0x7d77('0x35')](handleEntityNotFound(_0x4b9355,null))[_0x7d77('0x35')](function(_0x31cb8d){if(_0x31cb8d){return _0x31cb8d[_0x7d77('0xc3')](_0x2654da[_0x7d77('0xb7')][_0x7d77('0xba')],_[_0x7d77('0xc4')](_0x2654da['body'],[_0x7d77('0xba'),'id'])||{})[_0x7d77('0xc5')](function(){return db['Tag'][_0x7d77('0xc6')]({'attributes':['id',_0x7d77('0x2e'),'color'],'where':{'id':_0x2654da[_0x7d77('0xb7')][_0x7d77('0xba')]}});})[_0x7d77('0x35')](function(_0x11fca8){socket[_0x7d77('0xc7')]('faxInteractionTags:save',{'id':Number(_0x2654da['params']['id']),'tags':_0x11fca8||[]});return{'id':Number(_0x2654da[_0x7d77('0xb8')]['id']),'tags':_0x11fca8||[]};});}})[_0x7d77('0x35')](respondWithResult(_0x4b9355,null))[_0x7d77('0x36')](handleError(_0x4b9355,null));};exports[_0x7d77('0xc8')]=function(_0x208c15,_0x4ba26c,_0x1a5e7b){return db[_0x7d77('0x3f')][_0x7d77('0x71')]({'where':{'id':_0x208c15[_0x7d77('0xb8')]['id']}})[_0x7d77('0x35')](handleEntityNotFound(_0x4ba26c,null))[_0x7d77('0x35')](function(_0x4b2891){if(_0x4b2891){return _0x4b2891[_0x7d77('0xc8')](_0x208c15['query'][_0x7d77('0xba')]);}})[_0x7d77('0x35')](respondWithStatusCode(_0x4ba26c,null))['catch'](handleError(_0x4ba26c,null));};exports['download']=function(_0x4c83be,_0x5bac33){var _0x57a5f8=moment()[_0x7d77('0xc9')]()[_0x7d77('0x9f')]();var _0x1faf99=path[_0x7d77('0xca')](config[_0x7d77('0xcb')],_0x7d77('0xcc'),_0x7d77('0xcd'),_0x7d77('0xce'));var _0x322826=path[_0x7d77('0xca')](config[_0x7d77('0xcb')],'server',_0x7d77('0xcd'),_0x7d77('0xcf'));var _0xc02931=path['join'](_0x1faf99,_0x57a5f8);var _0x4ae0b1=util['format']('transcript-%d-%s.zip',_0x4c83be[_0x7d77('0xb8')]['id'],_0x57a5f8);var _0x2d5bc6=path[_0x7d77('0xca')](_0x1faf99,_0x4ae0b1);var _0x13ba11=[];_0x13ba11[_0x7d77('0x34')]({'model':db[_0x7d77('0xd0')],'as':_0x7d77('0xd0'),'raw':!![]});var _0x3364db=[{'model':db[_0x7d77('0xbd')],'as':_0x7d77('0xd1'),'attributes':['id',_0x7d77('0xb7'),_0x7d77('0x7f')],'include':_0x13ba11}];return db[_0x7d77('0x3f')][_0x7d77('0x71')]({'where':{'id':_0x4c83be['params']['id']},'include':_0x3364db})[_0x7d77('0x35')](handleEntityNotFound(_0x5bac33,null))['then'](function(_0x4792dd){if(_0x4792dd&&_0x4792dd[_0x7d77('0xd1')]){var _0x1f0bcd=_0x4792dd['get']({'plain':!![]});fs[_0x7d77('0xd2')](_0xc02931);for(var _0x4a6af5=0x0;_0x4a6af5<_0x1f0bcd[_0x7d77('0xd1')][_0x7d77('0x4a')];_0x4a6af5++){var _0x2f3ae6=_0x1f0bcd[_0x7d77('0xd1')][_0x4a6af5][_0x7d77('0xd0')];if(_0x2f3ae6){var _0x3a3c5f=path[_0x7d77('0xca')](_0x322826,_0x2f3ae6[_0x7d77('0xd3')]);if(fs['existsSync'](_0x3a3c5f)){fs[_0x7d77('0xd4')](_0x3a3c5f)['pipe'](fs[_0x7d77('0xd5')](path[_0x7d77('0xca')](_0xc02931,_0x2f3ae6[_0x7d77('0xd3')])));}}}return BPromise[_0x7d77('0x98')]()['then'](function(){return new BPromise(function(_0x1d605b,_0x3c5869){zipdir(_0xc02931,{'saveTo':_0x2d5bc6},function(_0x4eca17,_0x28b0ec){if(_0x4eca17)return _0x3c5869(_0x4eca17);return _0x1d605b(_0x28b0ec);});})[_0x7d77('0x35')](function(){return new BPromise(function(_0x3b171a,_0x2a5680){rimraf(_0xc02931,function(_0x512ae9){if(_0x512ae9)_0x2a5680(_0x512ae9);return _0x3b171a();});});})['then'](function(){return _0x5bac33[_0x7d77('0xd6')](_0x2d5bc6,_0x4ae0b1,function(_0x25bd9d){if(_0x25bd9d){console['log'](_0x7d77('0xd7'),_0x25bd9d);}else{fs[_0x7d77('0xd8')](_0x2d5bc6);}});});});}else{return _0x5bac33['sendStatus'](0xc8);}})[_0x7d77('0x36')](handleError(_0x5bac33,null));};