e2794e165f5ee8cff8724a325c605259f68b32e7
[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 _0x8276=['../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','register','sendStatus','status','end','json','undefined','count','offset','limit','set','Content-Range','apply','reject','save','update','then','error','stack','name','send','Users','fullname','TagIds','Tags','forEach','index','map','FaxInteraction','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','fields','attributes','length','nolimit','sort','where','pick','select','field','color','from','tools_tags','u.id','u.fullname','ui.FaxInteractionId','left_join','u.id\x20=\x20ui.UserId','fax_interactions','users','o.id\x20=\x20i.UserId','a.id\x20=\x20i.FaxAccountId','me.FaxInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','expr','search','sqlOperator','conditions','find','having','`\x20=\x200','`\x20>\x200','Contact','operator','$substring','split','getFullTextValue','value','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','ContactId','buildExpression','start','Tag','User','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','text','body','isEmpty','FaxAccountId','concat','parse','$gte','$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.id\x20LIKE\x20?','i.fax\x20LIKE\x20?','group','i.id','Sequelize','QueryTypes','clone','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','unreadMessages','order','DESC','t.id\x20IN\x20?','resolve','i.FaxAccountId\x20IS\x20NOT\x20NULL','user','agent','i.FaxAccountId\x20IS\x20NULL','i.FaxAccountId\x20IN\x20?','role','sequelize','toString','keyBy','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','c.firstName','c.lastName','Contact.lastName','c.email','Contact.email','c.phone','Contact.mobile','c.fax','Contact.fax','o.fullname','Owner.fullname','o.internal','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.FaxInteractionId\x20IN\x20?','FaxInteractionId','push','all','rows','catch','params','includeAll','options','destroy','describe','addMessage','FaxMessage','ids','omit','getMessages','findOne','hasOwnProperty','merge','YYYY-MM-DD\x20HH:mm:ss','include','findAll','addTags','setTags','spread','emit','removeTags','download','unix','server','files','join','root','format','Attachment','Messages','createdAt','get','mkdirSync','basename','existsSync','pipe','createWriteStream','log','err','unlinkSync','rimraf','request-promise','moment','bluebird','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/utils'];(function(_0x321bb2,_0x202794){var _0x9c12ed=function(_0x263dd3){while(--_0x263dd3){_0x321bb2['push'](_0x321bb2['shift']());}};_0x9c12ed(++_0x202794);}(_0x8276,0x19c));var _0x6827=function(_0x20a584,_0xe384a5){_0x20a584=_0x20a584-0x0;var _0x4b41a8=_0x8276[_0x20a584];return _0x4b41a8;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x6827('0x0'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x6827('0x1'));var moment=require(_0x6827('0x2'));var BPromise=require(_0x6827('0x3'));var Mustache=require('mustache');var util=require(_0x6827('0x4'));var path=require(_0x6827('0x5'));var sox=require(_0x6827('0x6'));var csv=require(_0x6827('0x7'));var ejs=require(_0x6827('0x8'));var fs=require('fs');var fs_extra=require(_0x6827('0x9'));var _=require(_0x6827('0xa'));var squel=require(_0x6827('0xb'));var crypto=require(_0x6827('0xc'));var jsforce=require(_0x6827('0xd'));var deskjs=require(_0x6827('0xe'));var toCsv=require(_0x6827('0x7'));var querystring=require(_0x6827('0xf'));var Papa=require('papaparse');var Redis=require(_0x6827('0x10'));var authService=require(_0x6827('0x11'));var qs=require(_0x6827('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x6827('0x13'));var logger=require('../../config/logger')(_0x6827('0x14'));var utils=require(_0x6827('0x15'));var config=require(_0x6827('0x16'));var licenseUtil=require(_0x6827('0x17'));var db=require(_0x6827('0x18'))['db'];config[_0x6827('0x19')]=_[_0x6827('0x1a')](config[_0x6827('0x19')],{'host':_0x6827('0x1b'),'port':0x18eb});var socket=require(_0x6827('0x1c'))(new Redis(config[_0x6827('0x19')]));require('./faxInteraction.socket')[_0x6827('0x1d')](socket);function respondWithStatusCode(_0x4dcfd1,_0x57683d){_0x57683d=_0x57683d||0xcc;return function(_0x4aaf35){if(_0x4aaf35){return _0x4dcfd1[_0x6827('0x1e')](_0x57683d);}return _0x4dcfd1[_0x6827('0x1f')](_0x57683d)[_0x6827('0x20')]();};}function respondWithResult(_0x11633b,_0x5442c6){_0x5442c6=_0x5442c6||0xc8;return function(_0x1e77a6){if(_0x1e77a6){return _0x11633b[_0x6827('0x1f')](_0x5442c6)[_0x6827('0x21')](_0x1e77a6);}};}function respondWithFilteredResult(_0xa4c2be,_0x2e026c){return function(_0x15bcd1){if(_0x15bcd1){var _0x3fc657=typeof _0x2e026c['offset']===_0x6827('0x22')&&typeof _0x2e026c['limit']===_0x6827('0x22');var _0x7f01a1=_0x15bcd1[_0x6827('0x23')];var _0x315d62=_0x3fc657?0x0:_0x2e026c[_0x6827('0x24')];var _0x31b757=_0x3fc657?_0x15bcd1[_0x6827('0x23')]:_0x2e026c[_0x6827('0x24')]+_0x2e026c[_0x6827('0x25')];var _0x55ffd3;if(_0x31b757>=_0x7f01a1){_0x31b757=_0x7f01a1;_0x55ffd3=0xc8;}else{_0x55ffd3=0xce;}_0xa4c2be[_0x6827('0x1f')](_0x55ffd3);return _0xa4c2be[_0x6827('0x26')](_0x6827('0x27'),_0x315d62+'-'+_0x31b757+'/'+_0x7f01a1)[_0x6827('0x21')](_0x15bcd1);}return null;};}function patchUpdates(_0x1d4617){return function(_0x347a8a){try{jsonpatch[_0x6827('0x28')](_0x347a8a,_0x1d4617,!![]);}catch(_0x58f3ba){return BPromise[_0x6827('0x29')](_0x58f3ba);}return _0x347a8a[_0x6827('0x2a')]();};}function saveUpdates(_0x3efd4f,_0x145270){return function(_0x5bfd26){if(_0x5bfd26){return _0x5bfd26[_0x6827('0x2b')](_0x3efd4f)[_0x6827('0x2c')](function(_0x16f935){return _0x16f935;});}return null;};}function removeEntity(_0xeddf23,_0x1a4895){return function(_0x344f73){if(_0x344f73){return _0x344f73['destroy']()['then'](function(){_0xeddf23[_0x6827('0x1f')](0xcc)[_0x6827('0x20')]();});}};}function handleEntityNotFound(_0x5dc6cf,_0x23dbf9){return function(_0x2c481e){if(!_0x2c481e){_0x5dc6cf['sendStatus'](0x194);}return _0x2c481e;};}function handleError(_0xcd4001,_0xb83c2e){_0xb83c2e=_0xb83c2e||0x1f4;return function(_0x7ba86e){logger[_0x6827('0x2d')](_0x7ba86e[_0x6827('0x2e')]);if(_0x7ba86e[_0x6827('0x2f')]){delete _0x7ba86e['name'];}_0xcd4001[_0x6827('0x1f')](_0xb83c2e)[_0x6827('0x30')](_0x7ba86e);};}function getInteractionUsers(_0x59142d,_0x5ca5ca){return new BPromise(function(_0x46e045,_0x37f642){try{if(_0x5ca5ca[_0x59142d['id']]){_0x59142d[_0x6827('0x31')]=_['map'](_0x5ca5ca[_0x59142d['id']],function(_0x1f1e39){return{'id':_0x1f1e39['id'],'fullname':_0x1f1e39[_0x6827('0x32')]};});}}catch(_0x3442ab){_0x37f642(_0x3442ab);}_0x46e045(_0x59142d);});}function getInteractionTags(_0x187c9d,_0x573674){return new BPromise(function(_0x1f974e,_0x4c9ebe){try{if(_0x187c9d[_0x6827('0x33')]){_0x187c9d[_0x6827('0x34')]=[];_0x187c9d[_0x6827('0x33')]['split'](',')[_0x6827('0x35')](function(_0x2b8f58){_0x187c9d[_0x6827('0x34')]['push'](_0x573674[_0x2b8f58]);});}delete _0x187c9d[_0x6827('0x33')];}catch(_0x483d71){_0x4c9ebe(_0x483d71);}_0x1f974e(_0x187c9d);});}function updateFaxInteraction(_0x346f6e,_0x3b8f95,_0x4faa83){return new BPromise(function(_0x4d9f61,_0x1ab240){return getInteractionUsers(_0x346f6e,_0x4faa83)[_0x6827('0x2c')](function(_0x1537fb){return getInteractionTags(_0x1537fb,_0x3b8f95);})[_0x6827('0x2c')](function(_0x1df58a){_0x4d9f61(_0x1df58a);})['catch'](function(_0x3d47f9){_0x1ab240(_0x3d47f9);});});}exports[_0x6827('0x36')]=function(_0x18b27b,_0x23adff){var _0x422d0c={},_0x595220={},_0x1cc322={'count':0x0,'rows':[]};var _0x2cd1b7=_[_0x6827('0x37')](db[_0x6827('0x38')][_0x6827('0x39')],function(_0x179e7c){return{'name':_0x179e7c[_0x6827('0x3a')],'type':_0x179e7c[_0x6827('0x3b')][_0x6827('0x3c')]};});_0x595220[_0x6827('0x3d')]=_[_0x6827('0x37')](_0x2cd1b7,_0x6827('0x2f'));_0x595220[_0x6827('0x3e')]=_[_0x6827('0x3f')](_0x18b27b[_0x6827('0x3e')]);_0x595220[_0x6827('0x40')]=_[_0x6827('0x41')](_0x595220[_0x6827('0x3d')],_0x595220[_0x6827('0x3e')]);_0x422d0c['attributes']=_['intersection'](_0x595220[_0x6827('0x3d')],qs[_0x6827('0x42')](_0x18b27b['query']['fields']));_0x422d0c[_0x6827('0x43')]=_0x422d0c[_0x6827('0x43')][_0x6827('0x44')]?_0x422d0c[_0x6827('0x43')]:_0x595220[_0x6827('0x3d')];if(!_0x18b27b[_0x6827('0x3e')]['hasOwnProperty'](_0x6827('0x45'))){_0x422d0c['limit']=qs[_0x6827('0x25')](_0x18b27b['query'][_0x6827('0x25')]);_0x422d0c[_0x6827('0x24')]=qs[_0x6827('0x24')](_0x18b27b[_0x6827('0x3e')]['offset']);}_0x422d0c['order']=qs['sort'](_0x18b27b[_0x6827('0x3e')][_0x6827('0x46')]);_0x422d0c[_0x6827('0x47')]=qs['filters'](_[_0x6827('0x48')](_0x18b27b[_0x6827('0x3e')],_0x595220['filters']),_0x2cd1b7);var _0x172f35=[];var _0x341017=squel[_0x6827('0x49')]()[_0x6827('0x4a')]('id')[_0x6827('0x4a')](_0x6827('0x2f'))[_0x6827('0x4a')](_0x6827('0x4b'))[_0x6827('0x4c')](_0x6827('0x4d'));var _0x6fab36=squel['select']()[_0x6827('0x4a')](_0x6827('0x4e'))[_0x6827('0x4a')](_0x6827('0x4f'))[_0x6827('0x4a')](_0x6827('0x50'))[_0x6827('0x4c')]('user_has_fax_interactions','ui')[_0x6827('0x51')]('users','u',_0x6827('0x52'));var _0x2ee900=squel[_0x6827('0x49')]()[_0x6827('0x4c')](_0x6827('0x53'),'i')[_0x6827('0x51')]('cm_contacts','c','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL')[_0x6827('0x51')](_0x6827('0x54'),'o',_0x6827('0x55'))[_0x6827('0x51')]('fax_accounts','a',_0x6827('0x56'))[_0x6827('0x51')]('fax_messages','me',_0x6827('0x57'))[_0x6827('0x51')]('fax_interaction_has_tags','it','it.FaxInteractionId\x20=\x20i.id')[_0x6827('0x51')]('tools_tags','t',_0x6827('0x58'));var _0x53065e=squel[_0x6827('0x59')]();var _0x53c15f=[];var _0x32a5ec=squel[_0x6827('0x59')]();var _0x1e4309;if(_0x18b27b[_0x6827('0x3e')][_0x6827('0x5a')]){_0x1e4309=as['parseSearch'](_0x18b27b[_0x6827('0x3e')][_0x6827('0x5a')]);var _0x2a47e4=_0x1e4309[_0x6827('0x5b')];for(var _0x573a1f=0x0;_0x573a1f<_0x1e4309['conditions']['length'];_0x573a1f++){var _0x322daf=_0x1e4309[_0x6827('0x5c')][_0x573a1f];var _0x16f56a='i';var _0x4d6831=_[_0x6827('0x5d')](_0x2cd1b7,['name',_0x322daf[_0x6827('0x4a')]]);if(!_0x4d6831){switch(_0x322daf[_0x6827('0x4a')]){case'unreadMessages':if(_0x322daf['value']==0x1){_0x2ee900[_0x6827('0x5e')]('`'+_0x322daf[_0x6827('0x4a')]+_0x6827('0x5f'));}else{_0x2ee900[_0x6827('0x5e')]('`'+_0x322daf[_0x6827('0x4a')]+_0x6827('0x60'));}break;case _0x6827('0x61'):if(_0x322daf[_0x6827('0x62')]===_0x6827('0x63')){if(_0x322daf['value'][_0x6827('0x64')]('\x20')[_0x6827('0x44')]>0x1){_0x53065e[_0x2a47e4]('MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs[_0x6827('0x65')](_0x322daf[_0x6827('0x66')]),null);}else{var _0x432e47='%'+_0x322daf[_0x6827('0x66')]+'%';_0x53065e[_0x2a47e4](_0x6827('0x67'),_0x432e47,_0x432e47,_0x432e47);}}else{_0x4d6831=_[_0x6827('0x5d')](_0x2cd1b7,[_0x6827('0x2f'),_0x6827('0x68')]);_0x322daf[_0x6827('0x4a')]=_0x6827('0x68');_0xcfae0c=as[_0x6827('0x69')](_0x16f56a,_0x4d6831[_0x6827('0x3b')],_0x322daf);_0x53065e[_0x2a47e4](_0xcfae0c['text'],_0xcfae0c['value'][_0x6827('0x6a')],_0xcfae0c['value']['end']);}break;case _0x6827('0x6b'):var _0x2117cd=_0x322daf['value'][_0x6827('0x64')](',')[_0x6827('0x37')](function(_0x28c02a){return Number(_0x28c02a);});_0x2117cd[_0x6827('0x35')](function(_0x28971a){_0x32a5ec['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x28971a+',%');});_0x53c15f=_['union'](_0x53c15f,_0x2117cd);break;case _0x6827('0x6c'):if(_0x322daf[_0x6827('0x62')]===_0x6827('0x63')){_0x53065e[_0x2a47e4](_0x6827('0x6d'),'%'+_0x322daf['value']+'%',null);}else{_0x4d6831=_['find'](_0x2cd1b7,['name','UserId']);_0x322daf['field']='UserId';_0xcfae0c=as['buildExpression'](_0x16f56a,_0x4d6831[_0x6827('0x3b')],_0x322daf);_0x53065e[_0x2a47e4](_0xcfae0c[_0x6827('0x6e')],_0xcfae0c[_0x6827('0x66')]['start'],_0xcfae0c[_0x6827('0x66')][_0x6827('0x20')]);}break;case _0x6827('0x6f'):_0xcfae0c=as['buildExpression']('me',null,_0x322daf);_0x53065e[_0x2a47e4](_0xcfae0c[_0x6827('0x6e')],_0xcfae0c['value'][_0x6827('0x6a')],_0xcfae0c[_0x6827('0x66')][_0x6827('0x20')]);break;}}else{var _0xcfae0c=as['buildExpression'](_0x16f56a,_0x4d6831[_0x6827('0x3b')],_0x322daf);_0x53065e[_0x2a47e4](_0xcfae0c['text'],_0xcfae0c[_0x6827('0x66')][_0x6827('0x6a')],_0xcfae0c[_0x6827('0x66')][_0x6827('0x20')]);}}}else{var _0x14e6b6=_(_0x18b27b[_0x6827('0x3e')])[_0x6827('0x3f')]()[_0x6827('0x37')](function(_0x3682a6){return _['some'](_0x2cd1b7,['name',_0x3682a6])?_0x3682a6:undefined;})['compact']()[_0x6827('0x66')]();if(!_[_0x6827('0x70')](_0x14e6b6)){_0x14e6b6[_0x6827('0x35')](function(_0x4e27cd){if(_0x4e27cd===_0x6827('0x71')){_0x2ee900[_0x6827('0x47')]('i.FaxAccountId\x20IN\x20?',[][_0x6827('0x72')](_0x18b27b[_0x6827('0x3e')][_0x4e27cd]));}else if(_0x4e27cd==='createdAt'){var _0x418c01=JSON[_0x6827('0x73')](_0x18b27b[_0x6827('0x3e')][_0x4e27cd])[_0x6827('0x74')];var _0x2dbb5a=JSON[_0x6827('0x73')](_0x18b27b['query'][_0x4e27cd])[_0x6827('0x75')];_0x2ee900[_0x6827('0x47')](_0x6827('0x76'),_0x418c01,_0x2dbb5a);}else{if(_0x18b27b[_0x6827('0x3e')][_0x4e27cd]===_0x6827('0x77')){_0x2ee900[_0x6827('0x47')]('i.'+_0x4e27cd+_0x6827('0x78'));}else{_0x2ee900[_0x6827('0x47')]('i.'+_0x4e27cd+_0x6827('0x79'),_0x18b27b[_0x6827('0x3e')][_0x4e27cd]);}}});}if(_0x18b27b[_0x6827('0x3e')]['read']){if(_0x18b27b[_0x6827('0x3e')][_0x6827('0x7a')]==0x1){_0x2ee900['having'](_0x6827('0x7b'));}else{_0x2ee900['having'](_0x6827('0x7c'));}}if(_0x18b27b['query'][_0x6827('0x7d')]){_0x53c15f=_[_0x6827('0x7e')](_0x18b27b['query'][_0x6827('0x7d')])?_0x18b27b[_0x6827('0x3e')][_0x6827('0x7d')]:new Array(_0x18b27b[_0x6827('0x3e')][_0x6827('0x7d')]);_0x53c15f[_0x6827('0x35')](function(_0xce0956){_0x32a5ec['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0xce0956+',%');});}if(_0x18b27b['query']['filter']){var _0x2b8332=_0x18b27b[_0x6827('0x3e')][_0x6827('0x7f')][_0x6827('0x80')]('\x5c','\x5c\x5c')[_0x6827('0x80')](/'/g,'\x27\x27');if(qs[_0x6827('0x81')](_0x2b8332)){_0x53065e['or'](_0x6827('0x82'),_0x2b8332+'%')['or'](_0x6827('0x83'),_0x2b8332+'%');}_0x53065e['or']('CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?',_0x2b8332+'%');}}_0x2ee900[_0x6827('0x47')](_0x53065e);_0x2ee900[_0x6827('0x84')](_0x6827('0x85'));var _0x13ccbe={'type':db[_0x6827('0x86')][_0x6827('0x87')]['SELECT'],'raw':!![]};var _0x5529c3=_0x2ee900[_0x6827('0x88')]();_0x5529c3[_0x6827('0x4a')](_0x6827('0x85'));_0x5529c3[_0x6827('0x4a')](_0x6827('0x89'),_0x6827('0x8a'));if(_0x422d0c[_0x6827('0x8b')]){_0x422d0c[_0x6827('0x8b')]['forEach'](function(_0xe2b105){var _0x1db8d0=_0xe2b105[0x0]==='contactName'?_0xe2b105[0x0]:'i.'+_0xe2b105[0x0];_0x2ee900[_0x6827('0x8b')](_0x1db8d0,_0xe2b105[0x1]===_0x6827('0x8c')?![]:!![]);});}if(!_[_0x6827('0x70')](_0x53c15f)){_0x2ee900[_0x6827('0x5e')](_0x32a5ec);_0x5529c3[_0x6827('0x47')](_0x6827('0x8d'),_0x53c15f);}BPromise[_0x6827('0x8e')]()[_0x6827('0x2c')](function(){if(!_0x1e4309){if(_0x18b27b[_0x6827('0x3e')][_0x6827('0x71')])return;_0x5529c3[_0x6827('0x47')](_0x6827('0x8f'));_0x2ee900['where'](_0x6827('0x8f'));return;}if(_0x18b27b[_0x6827('0x90')]['role']!==_0x6827('0x91'))return;return _0x18b27b[_0x6827('0x90')]['getFaxAccounts']({'attributes':['id'],'raw':!![]})[_0x6827('0x2c')](function(_0x56e060){if(_[_0x6827('0x70')](_0x56e060)){_0x5529c3['where']('i.FaxAccountId\x20IS\x20NULL');_0x2ee900[_0x6827('0x47')](_0x6827('0x92'));}else{_0x5529c3['where'](_0x6827('0x93'),_['map'](_0x56e060,'id'));_0x2ee900[_0x6827('0x47')](_0x6827('0x93'),_[_0x6827('0x37')](_0x56e060,'id'));}});})['then'](function(){if(_0x18b27b[_0x6827('0x90')][_0x6827('0x94')]===_0x6827('0x91')&&!_0x1e4309&&!_0x18b27b[_0x6827('0x3e')][_0x6827('0x71')])return[];return db[_0x6827('0x95')][_0x6827('0x3e')](_0x5529c3[_0x6827('0x96')](),_0x13ccbe);})['then'](function(_0x4af1c0){_0x1cc322[_0x6827('0x23')]=_0x4af1c0['length'];if(_0x1cc322[_0x6827('0x23')]===0x0)return[];return db['sequelize'][_0x6827('0x3e')](_0x341017[_0x6827('0x96')](),_0x13ccbe)[_0x6827('0x2c')](function(_0x3f2e9b){_0x172f35=_[_0x6827('0x97')](_0x3f2e9b,'id');_0x13ccbe=_['merge'](_0x13ccbe,{'model':db[_0x6827('0x38')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x18b27b[_0x6827('0x3e')][_0x6827('0x42')]){_0x422d0c[_0x6827('0x43')][_0x6827('0x35')](function(_0x24b53d){_0x2ee900['field']('i.'+_0x24b53d);});}else{_0x2ee900['field'](_0x6827('0x89'),_0x6827('0x8a'));_0x2ee900['field'](_0x6827('0x98'),_0x6827('0x99'));_0x2ee900['field']('a.mandatoryDisposition',_0x6827('0x9a'));_0x2ee900['field'](_0x6827('0x9b'),_0x6827('0x9c'));_0x2ee900[_0x6827('0x4a')]('i.*');_0x2ee900['field'](_0x6827('0x9d'),'Contact.firstName');_0x2ee900['field'](_0x6827('0x9e'),_0x6827('0x9f'));_0x2ee900['field'](_0x6827('0xa0'),_0x6827('0xa1'));_0x2ee900[_0x6827('0x4a')](_0x6827('0xa2'),'Contact.phone');_0x2ee900[_0x6827('0x4a')]('c.mobile',_0x6827('0xa3'));_0x2ee900['field'](_0x6827('0xa4'),_0x6827('0xa5'));_0x2ee900[_0x6827('0x4a')](_0x6827('0xa6'),_0x6827('0xa7'));_0x2ee900[_0x6827('0x4a')](_0x6827('0xa8'),_0x6827('0xa9'));_0x2ee900[_0x6827('0x4a')](_0x6827('0xaa'),_0x6827('0x33'));}if(_0x422d0c[_0x6827('0x25')])_0x2ee900[_0x6827('0x25')](_0x422d0c[_0x6827('0x25')]);if(_0x422d0c[_0x6827('0x24')])_0x2ee900[_0x6827('0x24')](_0x422d0c[_0x6827('0x24')]);return db['sequelize'][_0x6827('0x3e')](_0x2ee900[_0x6827('0x96')](),_0x13ccbe);})[_0x6827('0x2c')](function(_0x11c3fb){if(_0x11c3fb[_0x6827('0x44')]>0x0)_0x6fab36[_0x6827('0x47')](_0x6827('0xab'),_[_0x6827('0x37')](_0x11c3fb,'id'));return db[_0x6827('0x95')][_0x6827('0x3e')](_0x6fab36[_0x6827('0x96')](),_0x13ccbe)[_0x6827('0x2c')](function(_0x25ee84){var _0x36bad0=_['groupBy'](_0x25ee84,_0x6827('0xac'));var _0x9715fc=[];_0x11c3fb[_0x6827('0x35')](function(_0x4b4a0b){_0x9715fc[_0x6827('0xad')](updateFaxInteraction(_0x4b4a0b,_0x172f35,_0x36bad0));});return BPromise[_0x6827('0xae')](_0x9715fc);});});})['then'](function(_0x4d4061){_0x1cc322[_0x6827('0xaf')]=_0x4d4061;return _0x1cc322;})[_0x6827('0x2c')](respondWithFilteredResult(_0x23adff,_0x422d0c))[_0x6827('0xb0')](handleError(_0x23adff,null));};exports['show']=function(_0xbaa772,_0x1d559a){var _0x332530={'raw':![],'where':{'id':_0xbaa772[_0x6827('0xb1')]['id']}},_0x5a4354={};_0x5a4354['model']=_[_0x6827('0x3f')](db[_0x6827('0x38')][_0x6827('0x39')]);_0x5a4354[_0x6827('0x3e')]=_['keys'](_0xbaa772[_0x6827('0x3e')]);_0x5a4354[_0x6827('0x40')]=_[_0x6827('0x41')](_0x5a4354[_0x6827('0x3d')],_0x5a4354[_0x6827('0x3e')]);_0x332530[_0x6827('0x43')]=_['intersection'](_0x5a4354[_0x6827('0x3d')],qs[_0x6827('0x42')](_0xbaa772[_0x6827('0x3e')][_0x6827('0x42')]));_0x332530[_0x6827('0x43')]=_0x332530['attributes'][_0x6827('0x44')]?_0x332530[_0x6827('0x43')]:_0x5a4354[_0x6827('0x3d')];if(_0xbaa772[_0x6827('0x3e')][_0x6827('0xb2')]){_0x332530['include']=[{'all':!![]}];}_0x332530=_['merge']({},_0x332530,_0xbaa772[_0x6827('0xb3')]);return db[_0x6827('0x38')][_0x6827('0x5d')](_0x332530)[_0x6827('0x2c')](handleEntityNotFound(_0x1d559a,null))[_0x6827('0x2c')](respondWithResult(_0x1d559a,null))[_0x6827('0xb0')](handleError(_0x1d559a,null));};exports['create']=function(_0x31479a,_0x4d198d){return db[_0x6827('0x38')]['create'](_0x31479a['body'],{})[_0x6827('0x2c')](respondWithResult(_0x4d198d,0xc9))[_0x6827('0xb0')](handleError(_0x4d198d,null));};exports['update']=function(_0x2022b1,_0x4cbf39){if(_0x2022b1[_0x6827('0x6f')]['id']){delete _0x2022b1[_0x6827('0x6f')]['id'];}return db['FaxInteraction'][_0x6827('0x5d')]({'where':{'id':_0x2022b1[_0x6827('0xb1')]['id']}})[_0x6827('0x2c')](handleEntityNotFound(_0x4cbf39,null))['then'](saveUpdates(_0x2022b1[_0x6827('0x6f')],null))[_0x6827('0x2c')](respondWithResult(_0x4cbf39,null))[_0x6827('0xb0')](handleError(_0x4cbf39,null));};exports[_0x6827('0xb4')]=function(_0x13b021,_0x18acb6){return db['FaxInteraction'][_0x6827('0x5d')]({'where':{'id':_0x13b021[_0x6827('0xb1')]['id']}})[_0x6827('0x2c')](handleEntityNotFound(_0x18acb6,null))[_0x6827('0x2c')](removeEntity(_0x18acb6,null))[_0x6827('0xb0')](handleError(_0x18acb6,null));};exports[_0x6827('0xb5')]=function(_0x34841c,_0x256151){return db[_0x6827('0x38')][_0x6827('0xb5')]()[_0x6827('0x2c')](respondWithResult(_0x256151,null))[_0x6827('0xb0')](handleError(_0x256151,null));};exports[_0x6827('0xb6')]=function(_0x5cfd31,_0x29d365,_0x5a7955){return db[_0x6827('0xb7')][_0x6827('0x5d')]({'where':{'id':_0x5cfd31[_0x6827('0xb1')]['id']}})['then'](handleEntityNotFound(_0x29d365,null))[_0x6827('0x2c')](function(_0x63aeb9){if(_0x63aeb9){return _0x63aeb9['addMessage'](_0x5cfd31['body'][_0x6827('0xb8')],_[_0x6827('0xb9')](_0x5cfd31['body'],['ids','id'])||{});}})[_0x6827('0x2c')](respondWithResult(_0x29d365,null))['catch'](handleError(_0x29d365,null));};exports[_0x6827('0xba')]=function(_0x106e48,_0x21786e,_0x235722){var _0x18d88c={'raw':![],'where':{}};var _0x31f7f4={};var _0x2aae2d={'count':0x0,'rows':[]};return db[_0x6827('0x38')][_0x6827('0xbb')]({'where':{'id':_0x106e48['params']['id']}})[_0x6827('0x2c')](handleEntityNotFound(_0x21786e,null))['then'](function(_0x2ca9c1){if(_0x2ca9c1){_0x31f7f4[_0x6827('0x3d')]=_[_0x6827('0x3f')](db[_0x6827('0xb7')][_0x6827('0x39')]);_0x31f7f4[_0x6827('0x3e')]=_['keys'](_0x106e48[_0x6827('0x3e')]);_0x31f7f4[_0x6827('0x40')]=_[_0x6827('0x41')](_0x31f7f4[_0x6827('0x3d')],_0x31f7f4[_0x6827('0x3e')]);_0x18d88c['attributes']=_['intersection'](_0x31f7f4[_0x6827('0x3d')],qs['fields'](_0x106e48['query']['fields']));_0x18d88c[_0x6827('0x43')]=_0x18d88c['attributes'][_0x6827('0x44')]?_0x18d88c[_0x6827('0x43')]:_0x31f7f4[_0x6827('0x3d')];if(!_0x106e48[_0x6827('0x3e')][_0x6827('0xbc')](_0x6827('0x45'))){_0x18d88c[_0x6827('0x25')]=qs[_0x6827('0x25')](_0x106e48[_0x6827('0x3e')][_0x6827('0x25')]);_0x18d88c[_0x6827('0x24')]=qs[_0x6827('0x24')](_0x106e48['query'][_0x6827('0x24')]);}_0x18d88c[_0x6827('0x8b')]=qs['sort'](_0x106e48['query'][_0x6827('0x46')]);_0x18d88c[_0x6827('0x47')]=qs[_0x6827('0x40')](_[_0x6827('0x48')](_0x106e48[_0x6827('0x3e')],_0x31f7f4[_0x6827('0x40')]));_0x18d88c[_0x6827('0x47')]['FaxInteractionId']=_0x2ca9c1['id'];if(_0x106e48[_0x6827('0x3e')][_0x6827('0x7f')]){_0x18d88c[_0x6827('0x47')]=_[_0x6827('0xbd')](_0x18d88c['where'],{'$or':_[_0x6827('0x37')](_0x18d88c[_0x6827('0x43')],function(_0xdb1d0){var _0x1bc3ef={};_0x1bc3ef[_0xdb1d0]={'$like':'%'+_0x106e48['query'][_0x6827('0x7f')]+'%'};return _0x1bc3ef;})});}if(_0x106e48[_0x6827('0x3e')][_0x6827('0x74')]){var _0x2a5457=_0x106e48['query'][_0x6827('0x74')]['split'](',');var _0x3bf6c9={};_0x3bf6c9[_0x2a5457[0x0]]={'$gte':moment(_0x2a5457[0x1])['format'](_0x6827('0xbe'))};_0x18d88c['where']=_[_0x6827('0xbd')](_0x18d88c[_0x6827('0x47')],_0x3bf6c9);}_0x18d88c=_['merge']({},_0x18d88c,_0x106e48[_0x6827('0xb3')]);return db[_0x6827('0xb7')]['count']({'where':_0x18d88c[_0x6827('0x47')]})[_0x6827('0x2c')](function(_0x56508f){_0x2aae2d[_0x6827('0x23')]=_0x56508f;if(_0x106e48[_0x6827('0x3e')][_0x6827('0xb2')]){_0x18d88c[_0x6827('0xbf')]=[{'all':!![]}];}return db[_0x6827('0xb7')][_0x6827('0xc0')](_0x18d88c);})['then'](function(_0x388e71){_0x2aae2d[_0x6827('0xaf')]=_0x388e71;return _0x2aae2d;});}})[_0x6827('0x2c')](respondWithFilteredResult(_0x21786e,_0x18d88c))[_0x6827('0xb0')](handleError(_0x21786e,null));};exports[_0x6827('0xc1')]=function(_0x5047d5,_0x2ec290,_0x34de49){return db['FaxInteraction'][_0x6827('0x5d')]({'where':{'id':_0x5047d5[_0x6827('0xb1')]['id']}})[_0x6827('0x2c')](handleEntityNotFound(_0x2ec290,null))[_0x6827('0x2c')](function(_0xedcdfa){if(_0xedcdfa){return _0xedcdfa[_0x6827('0xc2')](_0x5047d5[_0x6827('0x6f')]['ids'],_[_0x6827('0xb9')](_0x5047d5['body'],['ids','id'])||{})[_0x6827('0xc3')](function(){return db['Tag'][_0x6827('0xc0')]({'attributes':['id',_0x6827('0x2f'),_0x6827('0x4b')],'where':{'id':_0x5047d5[_0x6827('0x6f')][_0x6827('0xb8')]}});})['then'](function(_0x17bc73){socket[_0x6827('0xc4')]('faxInteractionTags:save',{'id':Number(_0x5047d5[_0x6827('0xb1')]['id']),'tags':_0x17bc73||[]});return{'id':Number(_0x5047d5[_0x6827('0xb1')]['id']),'tags':_0x17bc73||[]};});}})[_0x6827('0x2c')](respondWithResult(_0x2ec290,null))[_0x6827('0xb0')](handleError(_0x2ec290,null));};exports[_0x6827('0xc5')]=function(_0x1887bc,_0x2ac671,_0x97e555){return db[_0x6827('0x38')][_0x6827('0x5d')]({'where':{'id':_0x1887bc[_0x6827('0xb1')]['id']}})[_0x6827('0x2c')](handleEntityNotFound(_0x2ac671,null))[_0x6827('0x2c')](function(_0x5b7031){if(_0x5b7031){return _0x5b7031['removeTags'](_0x1887bc['query'][_0x6827('0xb8')]);}})[_0x6827('0x2c')](respondWithStatusCode(_0x2ac671,null))['catch'](handleError(_0x2ac671,null));};exports[_0x6827('0xc6')]=function(_0x58067b,_0x9f33b2){var _0x5d456b=moment()[_0x6827('0xc7')]()['toString']();var _0x2edce8=path['join'](config['root'],_0x6827('0xc8'),_0x6827('0xc9'),'tmp');var _0x300e2a=path[_0x6827('0xca')](config[_0x6827('0xcb')],'server',_0x6827('0xc9'),'attachments');var _0x2e4dd2=path['join'](_0x2edce8,_0x5d456b);var _0x56cab9=util[_0x6827('0xcc')]('transcript-%d-%s.zip',_0x58067b['params']['id'],_0x5d456b);var _0x118d0e=path[_0x6827('0xca')](_0x2edce8,_0x56cab9);var _0x4d0200=[];_0x4d0200[_0x6827('0xad')]({'model':db[_0x6827('0xcd')],'as':'Attachment','raw':!![]});var _0x317ef8=[{'model':db['FaxMessage'],'as':_0x6827('0xce'),'attributes':['id',_0x6827('0x6f'),_0x6827('0xcf')],'include':_0x4d0200}];return db[_0x6827('0x38')][_0x6827('0x5d')]({'where':{'id':_0x58067b[_0x6827('0xb1')]['id']},'include':_0x317ef8})['then'](handleEntityNotFound(_0x9f33b2,null))['then'](function(_0xe137){if(_0xe137&&_0xe137[_0x6827('0xce')]){var _0x41a3cd=_0xe137[_0x6827('0xd0')]({'plain':!![]});fs[_0x6827('0xd1')](_0x2e4dd2);for(var _0x520222=0x0;_0x520222<_0x41a3cd[_0x6827('0xce')]['length'];_0x520222++){var _0x489fa2=_0x41a3cd[_0x6827('0xce')][_0x520222][_0x6827('0xcd')];if(_0x489fa2){var _0x45c822=path[_0x6827('0xca')](_0x300e2a,_0x489fa2[_0x6827('0xd2')]);if(fs[_0x6827('0xd3')](_0x45c822)){fs['createReadStream'](_0x45c822)[_0x6827('0xd4')](fs[_0x6827('0xd5')](path[_0x6827('0xca')](_0x2e4dd2,_0x489fa2[_0x6827('0xd2')])));}}}return BPromise[_0x6827('0x8e')]()[_0x6827('0x2c')](function(){return new BPromise(function(_0x57d155,_0xb2f18){zipdir(_0x2e4dd2,{'saveTo':_0x118d0e},function(_0x5ba605,_0x2f0a75){if(_0x5ba605)return _0xb2f18(_0x5ba605);return _0x57d155(_0x2f0a75);});})[_0x6827('0x2c')](function(){return new BPromise(function(_0x7d7e91,_0x2b7f27){rimraf(_0x2e4dd2,function(_0x4b46ea){if(_0x4b46ea)_0x2b7f27(_0x4b46ea);return _0x7d7e91();});});})[_0x6827('0x2c')](function(){return _0x9f33b2['download'](_0x118d0e,_0x56cab9,function(_0x1b418a){if(_0x1b418a){console[_0x6827('0xd6')](_0x6827('0xd7'),_0x1b418a);}else{fs[_0x6827('0xd8')](_0x118d0e);}});});});}else{return _0x9f33b2[_0x6827('0x1e')](0xc8);}})[_0x6827('0xb0')](handleError(_0x9f33b2,null));};