Built motion from commit (unavailable).|2.5.11
[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 _0xa74f=['tools_tags','u.id','u.fullname','ui.FaxInteractionId','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','o.id\x20=\x20i.UserId','fax_accounts','a.id\x20=\x20i.FaxAccountId','fax_messages','me.FaxInteractionId\x20=\x20i.id','fax_interaction_has_tags','it.FaxInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','expr','search','parseSearch','sqlOperator','conditions','unreadMessages','value','having','`\x20=\x200','Contact','$substring','length','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?','find','ContactId','buildExpression','start','Tag','split','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','User','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','UserId','text','isEmpty','FaxAccountId','concat','createdAt','parse','$gte','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','where','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20=\x200','tag','isArray','filter','replace','isNumeric','i.id\x20LIKE\x20?','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','i.id','Sequelize','QueryTypes','SELECT','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','contactName','DESC','t.id\x20IN\x20?','resolve','journey','i.FaxAccountId\x20IS\x20NOT\x20NULL','user','role','agent','i.FaxAccountId\x20IS\x20NULL','i.FaxAccountId\x20IN\x20?','sequelize','count','toString','keyBy','Account.key','a.mandatoryDisposition','Account.mandatoryDisposition','c.firstName','Contact.firstName','c.lastName','Contact.lastName','c.email','Contact.email','c.phone','Contact.phone','c.mobile','Contact.mobile','c.fax','Contact.fax','o.fullname','Owner.fullname','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.FaxInteractionId\x20IN\x20?','groupBy','FaxInteractionId','all','rows','catch','params','FaxInteraction','include','options','create','body','describe','addMessage','FaxMessage','ids','getMessages','findOne','rawAttributes','nolimit','pick','merge','format','YYYY-MM-DD\x20HH:mm:ss','includeAll','addTags','omit','spread','findAll','faxInteractionTags:save','download','unix','join','root','files','tmp','server','attachments','transcript-%d-%s.zip','Messages','get','mkdirSync','basename','existsSync','pipe','createWriteStream','err','unlinkSync','rimraf','request-promise','moment','bluebird','mustache','path','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','redis','defaults','localhost','./faxInteraction.socket','register','sendStatus','status','end','offset','limit','set','Content-Range','json','apply','reject','save','update','destroy','error','stack','name','send','Users','map','TagIds','Tags','forEach','push','then','index','fieldName','type','key','model','query','keys','intersection','attributes','fields','hasOwnProperty','order','sort','filters','select','field','color','from'];(function(_0x169863,_0x3118e5){var _0x1c7a83=function(_0x517883){while(--_0x517883){_0x169863['push'](_0x169863['shift']());}};_0x1c7a83(++_0x3118e5);}(_0xa74f,0x9a));var _0xfa74=function(_0x644ecd,_0x397f36){_0x644ecd=_0x644ecd-0x0;var _0x1c66ce=_0xa74f[_0x644ecd];return _0x1c66ce;};'use strict';var pdf=require('html-pdf');var emlformat=require('eml-format');var rimraf=require(_0xfa74('0x0'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0xfa74('0x1'));var moment=require(_0xfa74('0x2'));var BPromise=require(_0xfa74('0x3'));var Mustache=require(_0xfa74('0x4'));var util=require('util');var path=require(_0xfa74('0x5'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0xfa74('0x6'));var fs=require('fs');var _=require(_0xfa74('0x7'));var squel=require(_0xfa74('0x8'));var crypto=require(_0xfa74('0x9'));var jsforce=require(_0xfa74('0xa'));var deskjs=require(_0xfa74('0xb'));var toCsv=require('to-csv');var querystring=require(_0xfa74('0xc'));var Papa=require(_0xfa74('0xd'));var Redis=require(_0xfa74('0xe'));var authService=require(_0xfa74('0xf'));var qs=require('../../components/parsers/qs');var as=require(_0xfa74('0x10'));var hardwareService=require(_0xfa74('0x11'));var logger=require('../../config/logger')(_0xfa74('0x12'));var utils=require(_0xfa74('0x13'));var config=require(_0xfa74('0x14'));var licenseUtil=require(_0xfa74('0x15'));var db=require('../../mysqldb')['db'];config[_0xfa74('0x16')]=_[_0xfa74('0x17')](config[_0xfa74('0x16')],{'host':_0xfa74('0x18'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0xfa74('0x16')]));require(_0xfa74('0x19'))[_0xfa74('0x1a')](socket);function respondWithStatusCode(_0x3947ca,_0xe3c97e){_0xe3c97e=_0xe3c97e||0xcc;return function(_0x47c8fb){if(_0x47c8fb){return _0x3947ca[_0xfa74('0x1b')](_0xe3c97e);}return _0x3947ca[_0xfa74('0x1c')](_0xe3c97e)[_0xfa74('0x1d')]();};}function respondWithResult(_0x1f1de0,_0x3867f8){_0x3867f8=_0x3867f8||0xc8;return function(_0x40af70){if(_0x40af70){return _0x1f1de0[_0xfa74('0x1c')](_0x3867f8)['json'](_0x40af70);}};}function respondWithFilteredResult(_0x58a67a,_0xe0e33d){return function(_0x51dda1){if(_0x51dda1){var _0x4928b6=_0x51dda1['count'],_0x31d3c1=_0xe0e33d[_0xfa74('0x1e')],_0x25a36b=_0xe0e33d[_0xfa74('0x1e')]+_0xe0e33d[_0xfa74('0x1f')],_0xb8fe6b;if(_0x25a36b>=_0x4928b6){_0x25a36b=_0x4928b6;_0xb8fe6b=0xc8;}else{_0xb8fe6b=0xce;}_0x58a67a['status'](_0xb8fe6b);return _0x58a67a[_0xfa74('0x20')](_0xfa74('0x21'),_0x31d3c1+'-'+_0x25a36b+'/'+_0x4928b6)[_0xfa74('0x22')](_0x51dda1);}return null;};}function patchUpdates(_0x4a5ee4){return function(_0x5466ca){try{jsonpatch[_0xfa74('0x23')](_0x5466ca,_0x4a5ee4,!![]);}catch(_0x2257a0){return BPromise[_0xfa74('0x24')](_0x2257a0);}return _0x5466ca[_0xfa74('0x25')]();};}function saveUpdates(_0x1a453d,_0x554e0e){return function(_0x4802a3){if(_0x4802a3){return _0x4802a3[_0xfa74('0x26')](_0x1a453d)['then'](function(_0x48cbd3){return _0x48cbd3;});}return null;};}function removeEntity(_0x529810,_0x42c439){return function(_0x286d6a){if(_0x286d6a){return _0x286d6a[_0xfa74('0x27')]()['then'](function(){_0x529810['status'](0xcc)[_0xfa74('0x1d')]();});}};}function handleEntityNotFound(_0xeb6c11,_0x5ed1c8){return function(_0x62e1be){if(!_0x62e1be){_0xeb6c11['sendStatus'](0x194);}return _0x62e1be;};}function handleError(_0x1a8cf7,_0x153b2a){_0x153b2a=_0x153b2a||0x1f4;return function(_0x55d8e4){logger[_0xfa74('0x28')](_0x55d8e4[_0xfa74('0x29')]);if(_0x55d8e4[_0xfa74('0x2a')]){delete _0x55d8e4[_0xfa74('0x2a')];}_0x1a8cf7['status'](_0x153b2a)[_0xfa74('0x2b')](_0x55d8e4);};}function getInteractionUsers(_0x2f7cd7,_0x204e01){return new BPromise(function(_0x57d90e,_0x4d4bed){try{if(_0x204e01[_0x2f7cd7['id']]){_0x2f7cd7[_0xfa74('0x2c')]=_[_0xfa74('0x2d')](_0x204e01[_0x2f7cd7['id']],function(_0x5df5cd){return{'id':_0x5df5cd['id'],'fullname':_0x5df5cd['fullname']};});}}catch(_0x343466){_0x4d4bed(_0x343466);}_0x57d90e(_0x2f7cd7);});}function getInteractionTags(_0x564060,_0x2238d4){return new BPromise(function(_0x4d6d0a,_0x363173){try{if(_0x564060[_0xfa74('0x2e')]){_0x564060[_0xfa74('0x2f')]=[];_0x564060[_0xfa74('0x2e')]['split'](',')[_0xfa74('0x30')](function(_0x102d47){_0x564060[_0xfa74('0x2f')][_0xfa74('0x31')](_0x2238d4[_0x102d47]);});}delete _0x564060[_0xfa74('0x2e')];}catch(_0xb878c7){_0x363173(_0xb878c7);}_0x4d6d0a(_0x564060);});}function updateFaxInteraction(_0xbf19a8,_0x556ab8,_0x20fc18){return new BPromise(function(_0x5a9f43,_0x74665c){return getInteractionUsers(_0xbf19a8,_0x20fc18)[_0xfa74('0x32')](function(_0xcc5e32){return getInteractionTags(_0xcc5e32,_0x556ab8);})[_0xfa74('0x32')](function(_0x562289){_0x5a9f43(_0x562289);})['catch'](function(_0x390ed4){_0x74665c(_0x390ed4);});});}exports[_0xfa74('0x33')]=function(_0x44b725,_0x25863f){var _0x4bbe4e={},_0x441eaa={},_0x231698={'count':0x0,'rows':[]};var _0x501a70=_['map'](db['FaxInteraction']['rawAttributes'],function(_0x5d20a7){return{'name':_0x5d20a7[_0xfa74('0x34')],'type':_0x5d20a7[_0xfa74('0x35')][_0xfa74('0x36')]};});_0x441eaa[_0xfa74('0x37')]=_[_0xfa74('0x2d')](_0x501a70,_0xfa74('0x2a'));_0x441eaa[_0xfa74('0x38')]=_[_0xfa74('0x39')](_0x44b725[_0xfa74('0x38')]);_0x441eaa['filters']=_[_0xfa74('0x3a')](_0x441eaa[_0xfa74('0x37')],_0x441eaa[_0xfa74('0x38')]);_0x4bbe4e[_0xfa74('0x3b')]=_[_0xfa74('0x3a')](_0x441eaa[_0xfa74('0x37')],qs['fields'](_0x44b725[_0xfa74('0x38')][_0xfa74('0x3c')]));_0x4bbe4e[_0xfa74('0x3b')]=_0x4bbe4e[_0xfa74('0x3b')]['length']?_0x4bbe4e[_0xfa74('0x3b')]:_0x441eaa[_0xfa74('0x37')];if(!_0x44b725[_0xfa74('0x38')][_0xfa74('0x3d')]('nolimit')){_0x4bbe4e[_0xfa74('0x1f')]=qs[_0xfa74('0x1f')](_0x44b725[_0xfa74('0x38')]['limit']);_0x4bbe4e['offset']=qs[_0xfa74('0x1e')](_0x44b725[_0xfa74('0x38')][_0xfa74('0x1e')]);}_0x4bbe4e[_0xfa74('0x3e')]=qs['sort'](_0x44b725[_0xfa74('0x38')][_0xfa74('0x3f')]);_0x4bbe4e['where']=qs['filters'](_['pick'](_0x44b725['query'],_0x441eaa[_0xfa74('0x40')]),_0x501a70);var _0x3098ca=[];var _0x3f92b2=squel[_0xfa74('0x41')]()[_0xfa74('0x42')]('id')[_0xfa74('0x42')](_0xfa74('0x2a'))['field'](_0xfa74('0x43'))[_0xfa74('0x44')](_0xfa74('0x45'));var _0x417379=squel[_0xfa74('0x41')]()['field'](_0xfa74('0x46'))[_0xfa74('0x42')](_0xfa74('0x47'))[_0xfa74('0x42')](_0xfa74('0x48'))[_0xfa74('0x44')](_0xfa74('0x49'),'ui')[_0xfa74('0x4a')](_0xfa74('0x4b'),'u',_0xfa74('0x4c'));var _0x53f213=squel[_0xfa74('0x41')]()['from'](_0xfa74('0x4d'),'i')[_0xfa74('0x4a')](_0xfa74('0x4e'),'c',_0xfa74('0x4f'))['left_join'](_0xfa74('0x4b'),'o',_0xfa74('0x50'))['left_join'](_0xfa74('0x51'),'a',_0xfa74('0x52'))['left_join'](_0xfa74('0x53'),'me',_0xfa74('0x54'))[_0xfa74('0x4a')](_0xfa74('0x55'),'it',_0xfa74('0x56'))['left_join']('tools_tags','t',_0xfa74('0x57'));var _0x91df44=squel['expr']();var _0x32e440=[];var _0x3e6527=squel[_0xfa74('0x58')]();var _0x4ca49e;if(_0x44b725['query'][_0xfa74('0x59')]){_0x4ca49e=as[_0xfa74('0x5a')](_0x44b725[_0xfa74('0x38')][_0xfa74('0x59')]);var _0x36508a=_0x4ca49e[_0xfa74('0x5b')];for(var _0x2d217d=0x0;_0x2d217d<_0x4ca49e[_0xfa74('0x5c')]['length'];_0x2d217d++){var _0x214994=_0x4ca49e[_0xfa74('0x5c')][_0x2d217d];var _0x26bb7e='i';var _0x2654b5=_['find'](_0x501a70,['name',_0x214994[_0xfa74('0x42')]]);if(!_0x2654b5){switch(_0x214994['field']){case _0xfa74('0x5d'):if(_0x214994[_0xfa74('0x5e')]==0x1){_0x53f213[_0xfa74('0x5f')]('`'+_0x214994[_0xfa74('0x42')]+_0xfa74('0x60'));}else{_0x53f213[_0xfa74('0x5f')]('`'+_0x214994[_0xfa74('0x42')]+'`\x20>\x200');}break;case _0xfa74('0x61'):if(_0x214994['operator']===_0xfa74('0x62')){if(_0x214994['value']['split']('\x20')[_0xfa74('0x63')]>0x1){_0x91df44[_0x36508a](_0xfa74('0x64'),qs['getFullTextValue'](_0x214994['value']),null);}else{var _0x6e588d='%'+_0x214994[_0xfa74('0x5e')]+'%';_0x91df44[_0x36508a](_0xfa74('0x65'),_0x6e588d,_0x6e588d,_0x6e588d);}}else{_0x2654b5=_[_0xfa74('0x66')](_0x501a70,[_0xfa74('0x2a'),_0xfa74('0x67')]);_0x214994[_0xfa74('0x42')]=_0xfa74('0x67');_0x1f355a=as[_0xfa74('0x68')](_0x26bb7e,_0x2654b5[_0xfa74('0x35')],_0x214994);_0x91df44[_0x36508a](_0x1f355a['text'],_0x1f355a[_0xfa74('0x5e')][_0xfa74('0x69')],_0x1f355a['value']['end']);}break;case _0xfa74('0x6a'):var _0x2e7262=_0x214994[_0xfa74('0x5e')][_0xfa74('0x6b')](',')[_0xfa74('0x2d')](function(_0x5475f1){return Number(_0x5475f1);});_0x2e7262[_0xfa74('0x30')](function(_0x4d6235){_0x3e6527['or'](_0xfa74('0x6c'),'%,'+_0x4d6235+',%');});_0x32e440=_[_0xfa74('0x6d')](_0x32e440,_0x2e7262);break;case _0xfa74('0x6e'):if(_0x214994['operator']==='$substring'){_0x91df44[_0x36508a](_0xfa74('0x6f'),'%'+_0x214994[_0xfa74('0x5e')]+'%',null);}else{_0x2654b5=_[_0xfa74('0x66')](_0x501a70,[_0xfa74('0x2a'),'UserId']);_0x214994[_0xfa74('0x42')]=_0xfa74('0x70');_0x1f355a=as['buildExpression'](_0x26bb7e,_0x2654b5[_0xfa74('0x35')],_0x214994);_0x91df44[_0x36508a](_0x1f355a[_0xfa74('0x71')],_0x1f355a[_0xfa74('0x5e')][_0xfa74('0x69')],_0x1f355a['value'][_0xfa74('0x1d')]);}break;case'body':_0x1f355a=as[_0xfa74('0x68')]('me',null,_0x214994);_0x91df44[_0x36508a](_0x1f355a[_0xfa74('0x71')],_0x1f355a[_0xfa74('0x5e')][_0xfa74('0x69')],_0x1f355a[_0xfa74('0x5e')][_0xfa74('0x1d')]);break;}}else{var _0x1f355a=as[_0xfa74('0x68')](_0x26bb7e,_0x2654b5[_0xfa74('0x35')],_0x214994);_0x91df44[_0x36508a](_0x1f355a[_0xfa74('0x71')],_0x1f355a[_0xfa74('0x5e')][_0xfa74('0x69')],_0x1f355a[_0xfa74('0x5e')][_0xfa74('0x1d')]);}}}else{var _0x235ad8=_(_0x44b725['query'])[_0xfa74('0x39')]()[_0xfa74('0x2d')](function(_0x5035dd){return _['some'](_0x501a70,[_0xfa74('0x2a'),_0x5035dd])?_0x5035dd:undefined;})['compact']()[_0xfa74('0x5e')]();if(!_[_0xfa74('0x72')](_0x235ad8)){_0x235ad8[_0xfa74('0x30')](function(_0x529921){if(_0x529921===_0xfa74('0x73')){_0x53f213['where']('i.FaxAccountId\x20IN\x20?',[][_0xfa74('0x74')](_0x44b725[_0xfa74('0x38')][_0x529921]));}else if(_0x529921===_0xfa74('0x75')){var _0x414e31=JSON[_0xfa74('0x76')](_0x44b725[_0xfa74('0x38')][_0x529921])[_0xfa74('0x77')];var _0x379882=JSON[_0xfa74('0x76')](_0x44b725[_0xfa74('0x38')][_0x529921])[_0xfa74('0x78')];_0x53f213['where'](_0xfa74('0x79'),_0x414e31,_0x379882);}else{if(_0x44b725['query'][_0x529921]===_0xfa74('0x7a')){_0x53f213[_0xfa74('0x7b')]('i.'+_0x529921+_0xfa74('0x7c'));}else{_0x53f213['where']('i.'+_0x529921+_0xfa74('0x7d'),_0x44b725[_0xfa74('0x38')][_0x529921]);}}});}if(_0x44b725[_0xfa74('0x38')]['read']){if(_0x44b725[_0xfa74('0x38')][_0xfa74('0x7e')]==0x1){_0x53f213[_0xfa74('0x5f')](_0xfa74('0x7f'));}else{_0x53f213[_0xfa74('0x5f')]('`unreadMessages`\x20>\x200');}}if(_0x44b725[_0xfa74('0x38')][_0xfa74('0x80')]){_0x32e440=_[_0xfa74('0x81')](_0x44b725[_0xfa74('0x38')][_0xfa74('0x80')])?_0x44b725[_0xfa74('0x38')][_0xfa74('0x80')]:new Array(_0x44b725[_0xfa74('0x38')][_0xfa74('0x80')]);_0x32e440[_0xfa74('0x30')](function(_0x1dccaa){_0x3e6527['or'](_0xfa74('0x6c'),'%,'+_0x1dccaa+',%');});}if(_0x44b725['query'][_0xfa74('0x82')]){var _0x415390=_0x44b725[_0xfa74('0x38')][_0xfa74('0x82')][_0xfa74('0x83')]('\x5c','\x5c\x5c')[_0xfa74('0x83')](/'/g,'\x27\x27');if(qs[_0xfa74('0x84')](_0x415390)){_0x91df44['or'](_0xfa74('0x85'),_0x415390+'%')['or']('i.fax\x20LIKE\x20?',_0x415390+'%');}_0x91df44['or'](_0xfa74('0x86'),_0x415390+'%');}}_0x53f213[_0xfa74('0x7b')](_0x91df44);_0x53f213[_0xfa74('0x87')](_0xfa74('0x88'));var _0x54cc2e={'type':db[_0xfa74('0x89')][_0xfa74('0x8a')][_0xfa74('0x8b')],'raw':!![]};var _0x833e2d=_0x53f213['clone']();_0x833e2d[_0xfa74('0x42')]('i.id');_0x833e2d['field'](_0xfa74('0x8c'),'unreadMessages');if(_0x4bbe4e[_0xfa74('0x3e')]){_0x4bbe4e[_0xfa74('0x3e')]['forEach'](function(_0x5121ff){var _0xb605a1=_0x5121ff[0x0]===_0xfa74('0x8d')?_0x5121ff[0x0]:'i.'+_0x5121ff[0x0];_0x53f213[_0xfa74('0x3e')](_0xb605a1,_0x5121ff[0x1]===_0xfa74('0x8e')?![]:!![]);});}if(!_['isEmpty'](_0x32e440)){_0x53f213['having'](_0x3e6527);_0x833e2d['where'](_0xfa74('0x8f'),_0x32e440);}BPromise[_0xfa74('0x90')]()[_0xfa74('0x32')](function(){if(!_0x4ca49e){if(_0x44b725[_0xfa74('0x38')][_0xfa74('0x73')]||_0x44b725['query'][_0xfa74('0x91')])return;_0x833e2d[_0xfa74('0x7b')](_0xfa74('0x92'));_0x53f213[_0xfa74('0x7b')](_0xfa74('0x92'));return;}if(_0x44b725[_0xfa74('0x93')][_0xfa74('0x94')]!==_0xfa74('0x95'))return;return _0x44b725[_0xfa74('0x93')]['getFaxAccounts']({'attributes':['id'],'raw':!![]})['then'](function(_0x592e6a){if(_[_0xfa74('0x72')](_0x592e6a)){_0x833e2d[_0xfa74('0x7b')](_0xfa74('0x96'));_0x53f213[_0xfa74('0x7b')](_0xfa74('0x96'));}else{_0x833e2d['where'](_0xfa74('0x97'),_[_0xfa74('0x2d')](_0x592e6a,'id'));_0x53f213['where'](_0xfa74('0x97'),_['map'](_0x592e6a,'id'));}});})[_0xfa74('0x32')](function(){if(_0x44b725[_0xfa74('0x93')][_0xfa74('0x94')]===_0xfa74('0x95')&&!_0x4ca49e&&!_0x44b725[_0xfa74('0x38')][_0xfa74('0x73')])return[];return db[_0xfa74('0x98')][_0xfa74('0x38')](_0x833e2d['toString'](),_0x54cc2e);})['then'](function(_0x56c49c){_0x231698[_0xfa74('0x99')]=_0x56c49c[_0xfa74('0x63')];if(_0x231698['count']===0x0)return[];return db[_0xfa74('0x98')][_0xfa74('0x38')](_0x3f92b2[_0xfa74('0x9a')](),_0x54cc2e)[_0xfa74('0x32')](function(_0x4a65dc){_0x3098ca=_[_0xfa74('0x9b')](_0x4a65dc,'id');_0x54cc2e=_['merge'](_0x54cc2e,{'model':db['FaxInteraction'],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x44b725[_0xfa74('0x38')][_0xfa74('0x3c')]){_0x4bbe4e[_0xfa74('0x3b')]['forEach'](function(_0x45db47){_0x53f213[_0xfa74('0x42')]('i.'+_0x45db47);});}else{_0x53f213['field'](_0xfa74('0x8c'),'unreadMessages');_0x53f213['field']('a.key',_0xfa74('0x9c'));_0x53f213[_0xfa74('0x42')](_0xfa74('0x9d'),_0xfa74('0x9e'));_0x53f213[_0xfa74('0x42')]('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');_0x53f213[_0xfa74('0x42')]('i.*');_0x53f213[_0xfa74('0x42')](_0xfa74('0x9f'),_0xfa74('0xa0'));_0x53f213[_0xfa74('0x42')](_0xfa74('0xa1'),_0xfa74('0xa2'));_0x53f213[_0xfa74('0x42')](_0xfa74('0xa3'),_0xfa74('0xa4'));_0x53f213['field'](_0xfa74('0xa5'),_0xfa74('0xa6'));_0x53f213[_0xfa74('0x42')](_0xfa74('0xa7'),_0xfa74('0xa8'));_0x53f213[_0xfa74('0x42')](_0xfa74('0xa9'),_0xfa74('0xaa'));_0x53f213[_0xfa74('0x42')](_0xfa74('0xab'),_0xfa74('0xac'));_0x53f213['field']('o.internal',_0xfa74('0xad'));_0x53f213[_0xfa74('0x42')](_0xfa74('0xae'),'TagIds');}if(_0x4bbe4e['limit'])_0x53f213[_0xfa74('0x1f')](_0x4bbe4e[_0xfa74('0x1f')]);if(_0x4bbe4e[_0xfa74('0x1e')])_0x53f213[_0xfa74('0x1e')](_0x4bbe4e[_0xfa74('0x1e')]);return db[_0xfa74('0x98')][_0xfa74('0x38')](_0x53f213['toString'](),_0x54cc2e);})[_0xfa74('0x32')](function(_0x5ad3bd){_0x417379['where'](_0xfa74('0xaf'),_[_0xfa74('0x2d')](_0x5ad3bd,'id'));return db[_0xfa74('0x98')]['query'](_0x417379[_0xfa74('0x9a')](),_0x54cc2e)['then'](function(_0x56b6b2){var _0x4603c7=_[_0xfa74('0xb0')](_0x56b6b2,_0xfa74('0xb1'));var _0x2eb349=[];_0x5ad3bd[_0xfa74('0x30')](function(_0xe90fb8){_0x2eb349['push'](updateFaxInteraction(_0xe90fb8,_0x3098ca,_0x4603c7));});return BPromise[_0xfa74('0xb2')](_0x2eb349);});});})[_0xfa74('0x32')](function(_0x583e9b){_0x231698[_0xfa74('0xb3')]=_0x583e9b;return _0x231698;})[_0xfa74('0x32')](respondWithFilteredResult(_0x25863f,_0x4bbe4e))[_0xfa74('0xb4')](handleError(_0x25863f,null));};exports['show']=function(_0x205e5c,_0x28eb48){var _0x51b78a={'raw':![],'where':{'id':_0x205e5c[_0xfa74('0xb5')]['id']}},_0x26882e={};_0x26882e[_0xfa74('0x37')]=_['keys'](db[_0xfa74('0xb6')]['rawAttributes']);_0x26882e['query']=_[_0xfa74('0x39')](_0x205e5c['query']);_0x26882e[_0xfa74('0x40')]=_[_0xfa74('0x3a')](_0x26882e[_0xfa74('0x37')],_0x26882e[_0xfa74('0x38')]);_0x51b78a[_0xfa74('0x3b')]=_[_0xfa74('0x3a')](_0x26882e[_0xfa74('0x37')],qs[_0xfa74('0x3c')](_0x205e5c[_0xfa74('0x38')][_0xfa74('0x3c')]));_0x51b78a['attributes']=_0x51b78a['attributes']['length']?_0x51b78a['attributes']:_0x26882e[_0xfa74('0x37')];if(_0x205e5c[_0xfa74('0x38')]['includeAll']){_0x51b78a[_0xfa74('0xb7')]=[{'all':!![]}];}_0x51b78a=_['merge']({},_0x51b78a,_0x205e5c[_0xfa74('0xb8')]);return db[_0xfa74('0xb6')][_0xfa74('0x66')](_0x51b78a)[_0xfa74('0x32')](handleEntityNotFound(_0x28eb48,null))[_0xfa74('0x32')](respondWithResult(_0x28eb48,null))[_0xfa74('0xb4')](handleError(_0x28eb48,null));};exports[_0xfa74('0xb9')]=function(_0xaf023d,_0x37fd85){return db[_0xfa74('0xb6')][_0xfa74('0xb9')](_0xaf023d['body'],{})[_0xfa74('0x32')](respondWithResult(_0x37fd85,0xc9))['catch'](handleError(_0x37fd85,null));};exports[_0xfa74('0x26')]=function(_0x4901b2,_0xc539c2){if(_0x4901b2[_0xfa74('0xba')]['id']){delete _0x4901b2[_0xfa74('0xba')]['id'];}return db['FaxInteraction'][_0xfa74('0x66')]({'where':{'id':_0x4901b2[_0xfa74('0xb5')]['id']}})[_0xfa74('0x32')](handleEntityNotFound(_0xc539c2,null))[_0xfa74('0x32')](saveUpdates(_0x4901b2[_0xfa74('0xba')],null))['then'](respondWithResult(_0xc539c2,null))[_0xfa74('0xb4')](handleError(_0xc539c2,null));};exports[_0xfa74('0x27')]=function(_0x3a45f4,_0x5d7121){return db[_0xfa74('0xb6')][_0xfa74('0x66')]({'where':{'id':_0x3a45f4['params']['id']}})[_0xfa74('0x32')](handleEntityNotFound(_0x5d7121,null))[_0xfa74('0x32')](removeEntity(_0x5d7121,null))[_0xfa74('0xb4')](handleError(_0x5d7121,null));};exports[_0xfa74('0xbb')]=function(_0x2cadfc,_0x3587dd){return db['FaxInteraction'][_0xfa74('0xbb')]()[_0xfa74('0x32')](respondWithResult(_0x3587dd,null))[_0xfa74('0xb4')](handleError(_0x3587dd,null));};exports[_0xfa74('0xbc')]=function(_0x24e64d,_0x13b538,_0xf359df){return db[_0xfa74('0xbd')]['find']({'where':{'id':_0x24e64d[_0xfa74('0xb5')]['id']}})['then'](handleEntityNotFound(_0x13b538,null))[_0xfa74('0x32')](function(_0x4bfec0){if(_0x4bfec0){return _0x4bfec0[_0xfa74('0xbc')](_0x24e64d[_0xfa74('0xba')][_0xfa74('0xbe')],_['omit'](_0x24e64d[_0xfa74('0xba')],['ids','id'])||{});}})[_0xfa74('0x32')](respondWithResult(_0x13b538,null))[_0xfa74('0xb4')](handleError(_0x13b538,null));};exports[_0xfa74('0xbf')]=function(_0x207677,_0x58ff9b,_0x211ff3){var _0x1e33de={'raw':![],'where':{}};var _0x243da5={};var _0x338c86={'count':0x0,'rows':[]};return db[_0xfa74('0xb6')][_0xfa74('0xc0')]({'where':{'id':_0x207677[_0xfa74('0xb5')]['id']}})[_0xfa74('0x32')](handleEntityNotFound(_0x58ff9b,null))[_0xfa74('0x32')](function(_0x1dddb3){if(_0x1dddb3){_0x243da5[_0xfa74('0x37')]=_['keys'](db[_0xfa74('0xbd')][_0xfa74('0xc1')]);_0x243da5[_0xfa74('0x38')]=_['keys'](_0x207677[_0xfa74('0x38')]);_0x243da5[_0xfa74('0x40')]=_['intersection'](_0x243da5[_0xfa74('0x37')],_0x243da5[_0xfa74('0x38')]);_0x1e33de[_0xfa74('0x3b')]=_['intersection'](_0x243da5['model'],qs[_0xfa74('0x3c')](_0x207677[_0xfa74('0x38')][_0xfa74('0x3c')]));_0x1e33de['attributes']=_0x1e33de[_0xfa74('0x3b')]['length']?_0x1e33de[_0xfa74('0x3b')]:_0x243da5[_0xfa74('0x37')];if(!_0x207677[_0xfa74('0x38')][_0xfa74('0x3d')](_0xfa74('0xc2'))){_0x1e33de['limit']=qs[_0xfa74('0x1f')](_0x207677[_0xfa74('0x38')][_0xfa74('0x1f')]);_0x1e33de[_0xfa74('0x1e')]=qs['offset'](_0x207677[_0xfa74('0x38')][_0xfa74('0x1e')]);}_0x1e33de['order']=qs[_0xfa74('0x3f')](_0x207677[_0xfa74('0x38')][_0xfa74('0x3f')]);_0x1e33de[_0xfa74('0x7b')]=qs[_0xfa74('0x40')](_[_0xfa74('0xc3')](_0x207677[_0xfa74('0x38')],_0x243da5[_0xfa74('0x40')]));_0x1e33de[_0xfa74('0x7b')][_0xfa74('0xb1')]=_0x1dddb3['id'];if(_0x207677[_0xfa74('0x38')][_0xfa74('0x82')]){_0x1e33de[_0xfa74('0x7b')]=_[_0xfa74('0xc4')](_0x1e33de['where'],{'$or':_[_0xfa74('0x2d')](_0x1e33de[_0xfa74('0x3b')],function(_0x140420){var _0x590da2={};_0x590da2[_0x140420]={'$like':'%'+_0x207677[_0xfa74('0x38')]['filter']+'%'};return _0x590da2;})});}if(_0x207677[_0xfa74('0x38')][_0xfa74('0x77')]){var _0x3c2f4e=_0x207677[_0xfa74('0x38')][_0xfa74('0x77')]['split'](',');var _0x4adbc9={};_0x4adbc9[_0x3c2f4e[0x0]]={'$gte':moment(_0x3c2f4e[0x1])[_0xfa74('0xc5')](_0xfa74('0xc6'))};_0x1e33de[_0xfa74('0x7b')]=_[_0xfa74('0xc4')](_0x1e33de[_0xfa74('0x7b')],_0x4adbc9);}_0x1e33de=_[_0xfa74('0xc4')]({},_0x1e33de,_0x207677[_0xfa74('0xb8')]);return db[_0xfa74('0xbd')][_0xfa74('0x99')]({'where':_0x1e33de['where']})['then'](function(_0x3f9377){_0x338c86[_0xfa74('0x99')]=_0x3f9377;if(_0x207677[_0xfa74('0x38')][_0xfa74('0xc7')]){_0x1e33de[_0xfa74('0xb7')]=[{'all':!![]}];}return db[_0xfa74('0xbd')]['findAll'](_0x1e33de);})[_0xfa74('0x32')](function(_0x2a5d02){_0x338c86['rows']=_0x2a5d02;return _0x338c86;});}})[_0xfa74('0x32')](respondWithFilteredResult(_0x58ff9b,_0x1e33de))[_0xfa74('0xb4')](handleError(_0x58ff9b,null));};exports[_0xfa74('0xc8')]=function(_0x1889fc,_0x55a8e0,_0xaceeec){return db[_0xfa74('0xb6')][_0xfa74('0x66')]({'where':{'id':_0x1889fc['params']['id']}})[_0xfa74('0x32')](handleEntityNotFound(_0x55a8e0,null))[_0xfa74('0x32')](function(_0x20d7d0){if(_0x20d7d0){return _0x20d7d0['setTags'](_0x1889fc[_0xfa74('0xba')]['ids'],_[_0xfa74('0xc9')](_0x1889fc['body'],[_0xfa74('0xbe'),'id'])||{})[_0xfa74('0xca')](function(){return db[_0xfa74('0x6a')][_0xfa74('0xcb')]({'attributes':['id',_0xfa74('0x2a'),_0xfa74('0x43')],'where':{'id':_0x1889fc[_0xfa74('0xba')][_0xfa74('0xbe')]}});})[_0xfa74('0x32')](function(_0x6710e2){socket['emit'](_0xfa74('0xcc'),{'id':Number(_0x1889fc[_0xfa74('0xb5')]['id']),'tags':_0x6710e2||[]});return{'id':Number(_0x1889fc[_0xfa74('0xb5')]['id']),'tags':_0x6710e2||[]};});}})[_0xfa74('0x32')](respondWithResult(_0x55a8e0,null))[_0xfa74('0xb4')](handleError(_0x55a8e0,null));};exports['removeTags']=function(_0xe32ec7,_0x543b39,_0x4f728c){return db[_0xfa74('0xb6')][_0xfa74('0x66')]({'where':{'id':_0xe32ec7['params']['id']}})[_0xfa74('0x32')](handleEntityNotFound(_0x543b39,null))[_0xfa74('0x32')](function(_0x534810){if(_0x534810){return _0x534810['removeTags'](_0xe32ec7[_0xfa74('0x38')][_0xfa74('0xbe')]);}})[_0xfa74('0x32')](respondWithStatusCode(_0x543b39,null))['catch'](handleError(_0x543b39,null));};exports[_0xfa74('0xcd')]=function(_0x541c6a,_0x3f266d){var _0x4f60de=moment()[_0xfa74('0xce')]()[_0xfa74('0x9a')]();var _0x404e58=path[_0xfa74('0xcf')](config[_0xfa74('0xd0')],'server',_0xfa74('0xd1'),_0xfa74('0xd2'));var _0x28c80d=path['join'](config[_0xfa74('0xd0')],_0xfa74('0xd3'),_0xfa74('0xd1'),_0xfa74('0xd4'));var _0x3067c0=path[_0xfa74('0xcf')](_0x404e58,_0x4f60de);var _0x4869f6=util[_0xfa74('0xc5')](_0xfa74('0xd5'),_0x541c6a[_0xfa74('0xb5')]['id'],_0x4f60de);var _0x4d0654=path[_0xfa74('0xcf')](_0x404e58,_0x4869f6);var _0x3568cc=[];_0x3568cc[_0xfa74('0x31')]({'model':db['Attachment'],'as':'Attachment','raw':!![]});var _0x546a80=[{'model':db[_0xfa74('0xbd')],'as':'Messages','attributes':['id',_0xfa74('0xba'),_0xfa74('0x75')],'include':_0x3568cc}];return db['FaxInteraction'][_0xfa74('0x66')]({'where':{'id':_0x541c6a[_0xfa74('0xb5')]['id']},'include':_0x546a80})[_0xfa74('0x32')](handleEntityNotFound(_0x3f266d,null))[_0xfa74('0x32')](function(_0x360efb){if(_0x360efb&&_0x360efb[_0xfa74('0xd6')]){var _0x49f335=_0x360efb[_0xfa74('0xd7')]({'plain':!![]});fs[_0xfa74('0xd8')](_0x3067c0);for(var _0x51485b=0x0;_0x51485b<_0x49f335[_0xfa74('0xd6')]['length'];_0x51485b++){var _0x3c60d8=_0x49f335[_0xfa74('0xd6')][_0x51485b]['Attachment'];if(_0x3c60d8){var _0x379650=path[_0xfa74('0xcf')](_0x28c80d,_0x3c60d8[_0xfa74('0xd9')]);if(fs[_0xfa74('0xda')](_0x379650)){fs['createReadStream'](_0x379650)[_0xfa74('0xdb')](fs[_0xfa74('0xdc')](path['join'](_0x3067c0,_0x3c60d8[_0xfa74('0xd9')])));}}}return BPromise[_0xfa74('0x90')]()[_0xfa74('0x32')](function(){return new BPromise(function(_0x465f3d,_0x50b739){zipdir(_0x3067c0,{'saveTo':_0x4d0654},function(_0x50c61f,_0xdc86bd){if(_0x50c61f)return _0x50b739(_0x50c61f);return _0x465f3d(_0xdc86bd);});})['then'](function(){return new BPromise(function(_0x118314,_0x5ddb82){rimraf(_0x3067c0,function(_0x3a676b){if(_0x3a676b)_0x5ddb82(_0x3a676b);return _0x118314();});});})[_0xfa74('0x32')](function(){return _0x3f266d[_0xfa74('0xcd')](_0x4d0654,_0x4869f6,function(_0x31313c){if(_0x31313c){console['log'](_0xfa74('0xdd'),_0x31313c);}else{fs[_0xfa74('0xde')](_0x4d0654);}});});});}else{return _0x3f266d[_0xfa74('0x1b')](0xc8);}})[_0xfa74('0xb4')](handleError(_0x3f266d,null));};