Built motion from commit a61a4a20.|2.5.46
[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 _0xcde4=['buildExpression','text','some','where','i.FaxAccountId\x20IN\x20?','concat','createdAt','parse','$gte','$lte','null','\x20IS\x20NULL','\x20=\x20?','read','tag','isArray','filter','replace','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','i.id','Sequelize','QueryTypes','SELECT','clone','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','contactName','DESC','isEmpty','t.id\x20IN\x20?','i.FaxAccountId\x20IS\x20NOT\x20NULL','user','role','agent','getFaxAccounts','i.FaxAccountId\x20IS\x20NULL','FaxAccountId','toString','sequelize','a.key','Account.key','a.mandatoryDisposition','i.*','Contact.firstName','c.lastName','Contact.lastName','c.email','Contact.email','c.phone','Contact.phone','c.mobile','c.fax','Contact.fax','o.fullname','Owner.fullname','o.internal','GROUP_CONCAT(DISTINCT\x20t.id)','groupBy','push','show','rawAttributes','merge','create','body','params','destroy','describe','addMessage','ids','omit','getMessages','findOne','FaxMessage','format','options','includeAll','include','findAll','setTags','Tag','emit','faxInteractionTags:save','removeTags','download','unix','join','server','tmp','files','transcript-%d-%s.zip','Attachment','Messages','get','mkdirSync','basename','existsSync','createReadStream','pipe','createWriteStream','resolve','log','unlinkSync','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','path','sox','to-csv','fs-extra','lodash','squel','crypto','jsforce','desk.js','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','../../mysqldb','localhost','redis','register','sendStatus','status','end','json','offset','limit','undefined','count','Content-Range','apply','reject','save','update','then','error','stack','name','Users','map','fullname','split','forEach','Tags','TagIds','catch','waiting','talking','answered','closed','UserId','unmanaged','FaxInteraction','key','model','query','keys','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','filters','pick','select','field','color','from','tools_tags','u.id','u.fullname','user_has_fax_interactions','left_join','u.id\x20=\x20ui.UserId','fax_interactions','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','o.id\x20=\x20i.UserId','fax_accounts','fax_messages','fax_interaction_has_tags','it.FaxInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','expr','search','parseSearch','sqlOperator','conditions','length','unreadMessages','value','having','`\x20=\x200','`\x20>\x200','Contact','operator','$substring','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','type','start'];(function(_0x36c0c0,_0x125bb2){var _0xae8b31=function(_0x44a380){while(--_0x44a380){_0x36c0c0['push'](_0x36c0c0['shift']());}};_0xae8b31(++_0x125bb2);}(_0xcde4,0x138));var _0x4cde=function(_0x2dea24,_0x2fc021){_0x2dea24=_0x2dea24-0x0;var _0x309d58=_0xcde4[_0x2dea24];return _0x309d58;};'use strict';var emlformat=require(_0x4cde('0x0'));var rimraf=require(_0x4cde('0x1'));var zipdir=require(_0x4cde('0x2'));var jsonpatch=require(_0x4cde('0x3'));var rp=require(_0x4cde('0x4'));var moment=require(_0x4cde('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x4cde('0x6'));var util=require('util');var path=require(_0x4cde('0x7'));var sox=require(_0x4cde('0x8'));var csv=require(_0x4cde('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x4cde('0xa'));var _=require(_0x4cde('0xb'));var squel=require(_0x4cde('0xc'));var crypto=require(_0x4cde('0xd'));var jsforce=require(_0x4cde('0xe'));var deskjs=require(_0x4cde('0xf'));var toCsv=require(_0x4cde('0x9'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x4cde('0x10'));var authService=require('../../components/auth/service');var qs=require(_0x4cde('0x11'));var as=require(_0x4cde('0x12'));var hardwareService=require(_0x4cde('0x13'));var logger=require('../../config/logger')(_0x4cde('0x14'));var utils=require('../../config/utils');var config=require(_0x4cde('0x15'));var licenseUtil=require('../../config/license/util');var db=require(_0x4cde('0x16'))['db'];config['redis']=_['defaults'](config['redis'],{'host':_0x4cde('0x17'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x4cde('0x18')]));require('./faxInteraction.socket')[_0x4cde('0x19')](socket);function respondWithStatusCode(_0x1dd5c1,_0x10524c){_0x10524c=_0x10524c||0xcc;return function(_0x2ebb5b){if(_0x2ebb5b){return _0x1dd5c1[_0x4cde('0x1a')](_0x10524c);}return _0x1dd5c1[_0x4cde('0x1b')](_0x10524c)[_0x4cde('0x1c')]();};}function respondWithResult(_0xdc8331,_0x9e13f0){_0x9e13f0=_0x9e13f0||0xc8;return function(_0x85f8d3){if(_0x85f8d3){return _0xdc8331[_0x4cde('0x1b')](_0x9e13f0)[_0x4cde('0x1d')](_0x85f8d3);}};}function respondWithFilteredResult(_0x1cb5bb,_0x5a98df){return function(_0x1c2a10){if(_0x1c2a10){var _0x4834f4=typeof _0x5a98df[_0x4cde('0x1e')]==='undefined'&&typeof _0x5a98df[_0x4cde('0x1f')]===_0x4cde('0x20');var _0x14404d=_0x1c2a10[_0x4cde('0x21')];var _0x4f3236=_0x4834f4?0x0:_0x5a98df[_0x4cde('0x1e')];var _0x220bd2=_0x4834f4?_0x1c2a10[_0x4cde('0x21')]:_0x5a98df[_0x4cde('0x1e')]+_0x5a98df[_0x4cde('0x1f')];var _0x863d44;if(_0x220bd2>=_0x14404d){_0x220bd2=_0x14404d;_0x863d44=0xc8;}else{_0x863d44=0xce;}_0x1cb5bb[_0x4cde('0x1b')](_0x863d44);return _0x1cb5bb['set'](_0x4cde('0x22'),_0x4f3236+'-'+_0x220bd2+'/'+_0x14404d)[_0x4cde('0x1d')](_0x1c2a10);}return null;};}function patchUpdates(_0x5648e3){return function(_0x9467a3){try{jsonpatch[_0x4cde('0x23')](_0x9467a3,_0x5648e3,!![]);}catch(_0x494a5d){return BPromise[_0x4cde('0x24')](_0x494a5d);}return _0x9467a3[_0x4cde('0x25')]();};}function saveUpdates(_0x53cf4b,_0x5dcfcb){return function(_0x20dd64){if(_0x20dd64){return _0x20dd64[_0x4cde('0x26')](_0x53cf4b)[_0x4cde('0x27')](function(_0xe84f54){return _0xe84f54;});}return null;};}function removeEntity(_0x174c65,_0x1a74d6){return function(_0x30a8f2){if(_0x30a8f2){return _0x30a8f2['destroy']()['then'](function(){_0x174c65[_0x4cde('0x1b')](0xcc)[_0x4cde('0x1c')]();});}};}function handleEntityNotFound(_0x10bd44,_0x4cfbf5){return function(_0x5d6fac){if(!_0x5d6fac){_0x10bd44[_0x4cde('0x1a')](0x194);}return _0x5d6fac;};}function handleError(_0x26577e,_0x19150a){_0x19150a=_0x19150a||0x1f4;return function(_0x146f0f){logger[_0x4cde('0x28')](_0x146f0f[_0x4cde('0x29')]);if(_0x146f0f[_0x4cde('0x2a')]){delete _0x146f0f['name'];}_0x26577e[_0x4cde('0x1b')](_0x19150a)['send'](_0x146f0f);};}function getInteractionUsers(_0x1eac73,_0x2c6851){return new BPromise(function(_0x183a49,_0x545ee4){try{if(_0x2c6851[_0x1eac73['id']]){_0x1eac73[_0x4cde('0x2b')]=_[_0x4cde('0x2c')](_0x2c6851[_0x1eac73['id']],function(_0x119fed){return{'id':_0x119fed['id'],'fullname':_0x119fed[_0x4cde('0x2d')]};});}}catch(_0x45dade){_0x545ee4(_0x45dade);}_0x183a49(_0x1eac73);});}function getInteractionTags(_0x4d448d,_0x29ad99){return new BPromise(function(_0x1e7534,_0xa99251){try{if(_0x4d448d['TagIds']){_0x4d448d['Tags']=[];_0x4d448d['TagIds'][_0x4cde('0x2e')](',')[_0x4cde('0x2f')](function(_0x428e72){_0x4d448d[_0x4cde('0x30')]['push'](_0x29ad99[_0x428e72]);});}delete _0x4d448d[_0x4cde('0x31')];}catch(_0x3b1709){_0xa99251(_0x3b1709);}_0x1e7534(_0x4d448d);});}function updateFaxInteraction(_0x4a5805,_0x49f852,_0x4a96b9){return new BPromise(function(_0x11bdb1,_0x420e1){return getInteractionUsers(_0x4a5805,_0x4a96b9)[_0x4cde('0x27')](function(_0x18b9a1){return getInteractionTags(_0x18b9a1,_0x49f852);})['then'](function(_0x1d0d92){return getStateInteraction(_0x1d0d92);})[_0x4cde('0x27')](function(_0x3a5fb6){_0x11bdb1(_0x3a5fb6);})[_0x4cde('0x32')](function(_0x4bf8fb){_0x420e1(_0x4bf8fb);});});}function getStateInteraction(_0x359caa){return new BPromise(function(_0x285c31){_0x359caa[_0x4cde('0x33')]=0x0;_0x359caa[_0x4cde('0x34')]=0x0;_0x359caa[_0x4cde('0x35')]=0x0;_0x359caa['unmanaged']=0x0;_0x359caa['total']=0x0;if(!_0x359caa[_0x4cde('0x36')]&&!_0x359caa[_0x4cde('0x37')]){_0x359caa[_0x4cde('0x33')]+=0x1;}if(!_0x359caa[_0x4cde('0x36')]&&_0x359caa['UserId']){_0x359caa[_0x4cde('0x34')]+=0x1;if(_0x359caa['waiting']){_0x359caa[_0x4cde('0x33')]-=0x1;}}if(_0x359caa[_0x4cde('0x36')]&&_0x359caa[_0x4cde('0x37')]){_0x359caa[_0x4cde('0x35')]+=0x1;if(_0x359caa[_0x4cde('0x34')]){_0x359caa['talking']-=0x1;}}if(_0x359caa[_0x4cde('0x36')]&&!_0x359caa[_0x4cde('0x37')]){_0x359caa[_0x4cde('0x38')]+=0x1;if(_0x359caa[_0x4cde('0x33')]){_0x359caa['waiting']-=0x1;}}_0x359caa['total']+=0x1;_0x285c31(_0x359caa);});}exports['index']=function(_0x4b0ab8,_0x11bfa0){var _0x46441a={},_0xa09bf1={},_0x264d44={'count':0x0,'rows':[]};var _0x2eddb2=_[_0x4cde('0x2c')](db[_0x4cde('0x39')]['rawAttributes'],function(_0x454d57){return{'name':_0x454d57['fieldName'],'type':_0x454d57['type'][_0x4cde('0x3a')]};});_0xa09bf1[_0x4cde('0x3b')]=_[_0x4cde('0x2c')](_0x2eddb2,_0x4cde('0x2a'));_0xa09bf1[_0x4cde('0x3c')]=_[_0x4cde('0x3d')](_0x4b0ab8[_0x4cde('0x3c')]);_0xa09bf1['filters']=_[_0x4cde('0x3e')](_0xa09bf1[_0x4cde('0x3b')],_0xa09bf1[_0x4cde('0x3c')]);_0x46441a[_0x4cde('0x3f')]=_['intersection'](_0xa09bf1[_0x4cde('0x3b')],qs[_0x4cde('0x40')](_0x4b0ab8['query']['fields']));_0x46441a[_0x4cde('0x3f')]=_0x46441a[_0x4cde('0x3f')]['length']?_0x46441a[_0x4cde('0x3f')]:_0xa09bf1[_0x4cde('0x3b')];if(!_0x4b0ab8[_0x4cde('0x3c')][_0x4cde('0x41')](_0x4cde('0x42'))){_0x46441a['limit']=qs['limit'](_0x4b0ab8[_0x4cde('0x3c')][_0x4cde('0x1f')]);_0x46441a['offset']=qs[_0x4cde('0x1e')](_0x4b0ab8[_0x4cde('0x3c')][_0x4cde('0x1e')]);}_0x46441a[_0x4cde('0x43')]=qs[_0x4cde('0x44')](_0x4b0ab8[_0x4cde('0x3c')][_0x4cde('0x44')]);_0x46441a['where']=qs[_0x4cde('0x45')](_[_0x4cde('0x46')](_0x4b0ab8['query'],_0xa09bf1[_0x4cde('0x45')]),_0x2eddb2);var _0x3f8865=[];var _0x4591eb=squel[_0x4cde('0x47')]()['field']('id')[_0x4cde('0x48')](_0x4cde('0x2a'))[_0x4cde('0x48')](_0x4cde('0x49'))[_0x4cde('0x4a')](_0x4cde('0x4b'));var _0x2e02d3=squel[_0x4cde('0x47')]()['field'](_0x4cde('0x4c'))[_0x4cde('0x48')](_0x4cde('0x4d'))[_0x4cde('0x48')]('ui.FaxInteractionId')['from'](_0x4cde('0x4e'),'ui')[_0x4cde('0x4f')]('users','u',_0x4cde('0x50'));var _0x1faa83=squel[_0x4cde('0x47')]()[_0x4cde('0x4a')](_0x4cde('0x51'),'i')[_0x4cde('0x4f')]('cm_contacts','c',_0x4cde('0x52'))['left_join']('users','o',_0x4cde('0x53'))['left_join'](_0x4cde('0x54'),'a','a.id\x20=\x20i.FaxAccountId')[_0x4cde('0x4f')](_0x4cde('0x55'),'me','me.FaxInteractionId\x20=\x20i.id')['left_join'](_0x4cde('0x56'),'it',_0x4cde('0x57'))[_0x4cde('0x4f')]('tools_tags','t',_0x4cde('0x58'));var _0x42fa8d=squel[_0x4cde('0x59')]();var _0x31a63f=[];var _0x2d6c47=squel[_0x4cde('0x59')]();var _0x120553;if(_0x4b0ab8['query'][_0x4cde('0x5a')]){_0x120553=as[_0x4cde('0x5b')](_0x4b0ab8[_0x4cde('0x3c')]['search']);var _0x31b9e5=_0x120553[_0x4cde('0x5c')];for(var _0x36f67f=0x0;_0x36f67f<_0x120553[_0x4cde('0x5d')][_0x4cde('0x5e')];_0x36f67f++){var _0x3e5271=_0x120553[_0x4cde('0x5d')][_0x36f67f];var _0x753804='i';var _0x3f9b96=_['find'](_0x2eddb2,['name',_0x3e5271[_0x4cde('0x48')]]);if(!_0x3f9b96){switch(_0x3e5271[_0x4cde('0x48')]){case _0x4cde('0x5f'):if(_0x3e5271[_0x4cde('0x60')]==0x1){_0x1faa83[_0x4cde('0x61')]('`'+_0x3e5271[_0x4cde('0x48')]+_0x4cde('0x62'));}else{_0x1faa83[_0x4cde('0x61')]('`'+_0x3e5271[_0x4cde('0x48')]+_0x4cde('0x63'));}break;case _0x4cde('0x64'):if(_0x3e5271[_0x4cde('0x65')]===_0x4cde('0x66')){if(_0x3e5271['value'][_0x4cde('0x2e')]('\x20')['length']>0x1){_0x42fa8d[_0x31b9e5](_0x4cde('0x67'),qs[_0x4cde('0x68')](_0x3e5271[_0x4cde('0x60')]),null);}else{var _0x1b8110='%'+_0x3e5271[_0x4cde('0x60')]+'%';_0x42fa8d[_0x31b9e5](_0x4cde('0x69'),_0x1b8110,_0x1b8110,_0x1b8110);}}else{_0x3f9b96=_[_0x4cde('0x6a')](_0x2eddb2,[_0x4cde('0x2a'),_0x4cde('0x6b')]);_0x3e5271[_0x4cde('0x48')]=_0x4cde('0x6b');_0x319cec=as['buildExpression'](_0x753804,_0x3f9b96[_0x4cde('0x6c')],_0x3e5271);_0x42fa8d[_0x31b9e5](_0x319cec['text'],_0x319cec[_0x4cde('0x60')][_0x4cde('0x6d')],_0x319cec[_0x4cde('0x60')][_0x4cde('0x1c')]);}break;case'Tag':var _0x5781d5=_0x3e5271[_0x4cde('0x60')]['split'](',')['map'](function(_0x65e013){return Number(_0x65e013);});_0x5781d5[_0x4cde('0x2f')](function(_0xe5a7dd){_0x2d6c47['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0xe5a7dd+',%');});_0x31a63f=_['union'](_0x31a63f,_0x5781d5);break;case'User':if(_0x3e5271[_0x4cde('0x65')]===_0x4cde('0x66')){_0x42fa8d[_0x31b9e5]('CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','%'+_0x3e5271['value']+'%',null);}else{_0x3f9b96=_['find'](_0x2eddb2,[_0x4cde('0x2a'),_0x4cde('0x37')]);_0x3e5271[_0x4cde('0x48')]=_0x4cde('0x37');_0x319cec=as[_0x4cde('0x6e')](_0x753804,_0x3f9b96[_0x4cde('0x6c')],_0x3e5271);_0x42fa8d[_0x31b9e5](_0x319cec['text'],_0x319cec['value'][_0x4cde('0x6d')],_0x319cec[_0x4cde('0x60')][_0x4cde('0x1c')]);}break;case'body':_0x319cec=as[_0x4cde('0x6e')]('me',null,_0x3e5271);_0x42fa8d[_0x31b9e5](_0x319cec['text'],_0x319cec['value']['start'],_0x319cec['value']['end']);break;}}else{var _0x319cec=as['buildExpression'](_0x753804,_0x3f9b96[_0x4cde('0x6c')],_0x3e5271);_0x42fa8d[_0x31b9e5](_0x319cec[_0x4cde('0x6f')],_0x319cec[_0x4cde('0x60')]['start'],_0x319cec[_0x4cde('0x60')][_0x4cde('0x1c')]);}}}else{var _0x3cf425=_(_0x4b0ab8['query'])['keys']()[_0x4cde('0x2c')](function(_0x564524){return _[_0x4cde('0x70')](_0x2eddb2,[_0x4cde('0x2a'),_0x564524])?_0x564524:undefined;})['compact']()['value']();if(!_['isEmpty'](_0x3cf425)){_0x3cf425[_0x4cde('0x2f')](function(_0x1f28ed){if(_0x1f28ed==='FaxAccountId'){_0x1faa83[_0x4cde('0x71')](_0x4cde('0x72'),[][_0x4cde('0x73')](_0x4b0ab8[_0x4cde('0x3c')][_0x1f28ed]));}else if(_0x1f28ed===_0x4cde('0x74')){var _0x591c16=JSON[_0x4cde('0x75')](_0x4b0ab8[_0x4cde('0x3c')][_0x1f28ed])[_0x4cde('0x76')];var _0x2d8cda=JSON[_0x4cde('0x75')](_0x4b0ab8[_0x4cde('0x3c')][_0x1f28ed])[_0x4cde('0x77')];_0x1faa83[_0x4cde('0x71')]('i.createdAt\x20BETWEEN\x20?\x20AND\x20?',_0x591c16,_0x2d8cda);}else{if(_0x4b0ab8[_0x4cde('0x3c')][_0x1f28ed]===_0x4cde('0x78')){_0x1faa83[_0x4cde('0x71')]('i.'+_0x1f28ed+_0x4cde('0x79'));}else{_0x1faa83[_0x4cde('0x71')]('i.'+_0x1f28ed+_0x4cde('0x7a'),_0x4b0ab8[_0x4cde('0x3c')][_0x1f28ed]);}}});}if(_0x4b0ab8[_0x4cde('0x3c')][_0x4cde('0x7b')]){if(_0x4b0ab8[_0x4cde('0x3c')]['read']==0x1){_0x1faa83[_0x4cde('0x61')]('`unreadMessages`\x20=\x200');}else{_0x1faa83[_0x4cde('0x61')]('`unreadMessages`\x20>\x200');}}if(_0x4b0ab8['query'][_0x4cde('0x7c')]){_0x31a63f=_[_0x4cde('0x7d')](_0x4b0ab8[_0x4cde('0x3c')][_0x4cde('0x7c')])?_0x4b0ab8[_0x4cde('0x3c')][_0x4cde('0x7c')]:new Array(_0x4b0ab8[_0x4cde('0x3c')]['tag']);_0x31a63f[_0x4cde('0x2f')](function(_0x49c0e9){_0x2d6c47['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x49c0e9+',%');});}if(_0x4b0ab8[_0x4cde('0x3c')][_0x4cde('0x7e')]){var _0x263c28=_0x4b0ab8[_0x4cde('0x3c')][_0x4cde('0x7e')][_0x4cde('0x7f')]('\x5c','\x5c\x5c')['replace'](/'/g,'\x27\x27');if(qs['isNumeric'](_0x263c28)){_0x42fa8d['or']('i.id\x20LIKE\x20?',_0x263c28+'%')['or']('i.fax\x20LIKE\x20?',_0x263c28+'%');}_0x42fa8d['or'](_0x4cde('0x80'),_0x263c28+'%');}}_0x1faa83[_0x4cde('0x71')](_0x42fa8d);_0x1faa83['group'](_0x4cde('0x81'));var _0x5c41ba={'type':db[_0x4cde('0x82')][_0x4cde('0x83')][_0x4cde('0x84')],'raw':!![]};var _0x289226=_0x1faa83[_0x4cde('0x85')]();_0x289226['field']('i.id');_0x289226['field'](_0x4cde('0x86'),_0x4cde('0x5f'));if(_0x46441a['order']){_0x46441a[_0x4cde('0x43')][_0x4cde('0x2f')](function(_0x6a5b11){var _0x2c84aa=_0x6a5b11[0x0]===_0x4cde('0x87')?_0x6a5b11[0x0]:'i.'+_0x6a5b11[0x0];_0x1faa83[_0x4cde('0x43')](_0x2c84aa,_0x6a5b11[0x1]===_0x4cde('0x88')?![]:!![]);});}if(!_[_0x4cde('0x89')](_0x31a63f)){_0x1faa83[_0x4cde('0x61')](_0x2d6c47);_0x289226[_0x4cde('0x71')](_0x4cde('0x8a'),_0x31a63f);}BPromise['resolve']()[_0x4cde('0x27')](function(){if(!_0x120553){if(_0x4b0ab8[_0x4cde('0x3c')]['FaxAccountId'])return;_0x289226[_0x4cde('0x71')](_0x4cde('0x8b'));_0x1faa83['where'](_0x4cde('0x8b'));return;}if(_0x4b0ab8[_0x4cde('0x8c')][_0x4cde('0x8d')]!==_0x4cde('0x8e'))return;return _0x4b0ab8[_0x4cde('0x8c')][_0x4cde('0x8f')]({'attributes':['id'],'raw':!![]})['then'](function(_0x1192f7){if(_[_0x4cde('0x89')](_0x1192f7)){_0x289226[_0x4cde('0x71')](_0x4cde('0x90'));_0x1faa83[_0x4cde('0x71')](_0x4cde('0x90'));}else{_0x289226[_0x4cde('0x71')](_0x4cde('0x72'),_[_0x4cde('0x2c')](_0x1192f7,'id'));_0x1faa83[_0x4cde('0x71')](_0x4cde('0x72'),_[_0x4cde('0x2c')](_0x1192f7,'id'));}});})[_0x4cde('0x27')](function(){if(_0x4b0ab8[_0x4cde('0x8c')][_0x4cde('0x8d')]==='agent'&&!_0x120553&&!_0x4b0ab8[_0x4cde('0x3c')][_0x4cde('0x91')])return[];return db['sequelize'][_0x4cde('0x3c')](_0x289226[_0x4cde('0x92')](),_0x5c41ba);})[_0x4cde('0x27')](function(_0xb62ce5){_0x264d44[_0x4cde('0x21')]=_0xb62ce5[_0x4cde('0x5e')];if(_0x264d44['count']===0x0)return[];return db[_0x4cde('0x93')]['query'](_0x4591eb[_0x4cde('0x92')](),_0x5c41ba)[_0x4cde('0x27')](function(_0x4f932e){_0x3f8865=_['keyBy'](_0x4f932e,'id');_0x5c41ba=_['merge'](_0x5c41ba,{'model':db['FaxInteraction'],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x4b0ab8[_0x4cde('0x3c')][_0x4cde('0x40')]){_0x46441a['attributes']['forEach'](function(_0x57ba68){_0x1faa83[_0x4cde('0x48')]('i.'+_0x57ba68);});}else{_0x1faa83[_0x4cde('0x48')](_0x4cde('0x86'),_0x4cde('0x5f'));_0x1faa83['field'](_0x4cde('0x94'),_0x4cde('0x95'));_0x1faa83[_0x4cde('0x48')](_0x4cde('0x96'),'Account.mandatoryDisposition');_0x1faa83[_0x4cde('0x48')]('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',_0x4cde('0x87'));_0x1faa83[_0x4cde('0x48')](_0x4cde('0x97'));_0x1faa83['field']('c.firstName',_0x4cde('0x98'));_0x1faa83['field'](_0x4cde('0x99'),_0x4cde('0x9a'));_0x1faa83[_0x4cde('0x48')](_0x4cde('0x9b'),_0x4cde('0x9c'));_0x1faa83['field'](_0x4cde('0x9d'),_0x4cde('0x9e'));_0x1faa83[_0x4cde('0x48')](_0x4cde('0x9f'),'Contact.mobile');_0x1faa83[_0x4cde('0x48')](_0x4cde('0xa0'),_0x4cde('0xa1'));_0x1faa83[_0x4cde('0x48')](_0x4cde('0xa2'),_0x4cde('0xa3'));_0x1faa83[_0x4cde('0x48')](_0x4cde('0xa4'),'Owner.internal');_0x1faa83[_0x4cde('0x48')](_0x4cde('0xa5'),'TagIds');}if(_0x46441a[_0x4cde('0x1f')])_0x1faa83[_0x4cde('0x1f')](_0x46441a['limit']);if(_0x46441a[_0x4cde('0x1e')])_0x1faa83[_0x4cde('0x1e')](_0x46441a[_0x4cde('0x1e')]);return db['sequelize'][_0x4cde('0x3c')](_0x1faa83['toString'](),_0x5c41ba);})[_0x4cde('0x27')](function(_0x570638){if(_0x570638[_0x4cde('0x5e')]>0x0)_0x2e02d3[_0x4cde('0x71')]('ui.FaxInteractionId\x20IN\x20?',_[_0x4cde('0x2c')](_0x570638,'id'));return db[_0x4cde('0x93')]['query'](_0x2e02d3[_0x4cde('0x92')](),_0x5c41ba)[_0x4cde('0x27')](function(_0xa6d888){var _0x521c16=_[_0x4cde('0xa6')](_0xa6d888,'FaxInteractionId');var _0x3e4b3e=[];_0x570638['forEach'](function(_0x1089df){_0x3e4b3e[_0x4cde('0xa7')](updateFaxInteraction(_0x1089df,_0x3f8865,_0x521c16));});return BPromise['all'](_0x3e4b3e);});});})[_0x4cde('0x27')](function(_0x4f28d9){_0x264d44['rows']=_0x4f28d9;return _0x264d44;})[_0x4cde('0x27')](respondWithFilteredResult(_0x11bfa0,_0x46441a))[_0x4cde('0x32')](handleError(_0x11bfa0,null));};exports[_0x4cde('0xa8')]=function(_0x10b81f,_0x18f090){var _0x3db97d={'raw':![],'where':{'id':_0x10b81f['params']['id']}},_0x445290={};_0x445290[_0x4cde('0x3b')]=_['keys'](db['FaxInteraction'][_0x4cde('0xa9')]);_0x445290['query']=_[_0x4cde('0x3d')](_0x10b81f[_0x4cde('0x3c')]);_0x445290['filters']=_[_0x4cde('0x3e')](_0x445290['model'],_0x445290[_0x4cde('0x3c')]);_0x3db97d['attributes']=_[_0x4cde('0x3e')](_0x445290[_0x4cde('0x3b')],qs['fields'](_0x10b81f[_0x4cde('0x3c')]['fields']));_0x3db97d[_0x4cde('0x3f')]=_0x3db97d[_0x4cde('0x3f')]['length']?_0x3db97d['attributes']:_0x445290[_0x4cde('0x3b')];if(_0x10b81f[_0x4cde('0x3c')]['includeAll']){_0x3db97d['include']=[{'all':!![]}];}_0x3db97d=_[_0x4cde('0xaa')]({},_0x3db97d,_0x10b81f['options']);return db['FaxInteraction'][_0x4cde('0x6a')](_0x3db97d)[_0x4cde('0x27')](handleEntityNotFound(_0x18f090,null))[_0x4cde('0x27')](respondWithResult(_0x18f090,null))[_0x4cde('0x32')](handleError(_0x18f090,null));};exports['create']=function(_0x5f1345,_0xb115bf){return db[_0x4cde('0x39')][_0x4cde('0xab')](_0x5f1345['body'],{})['then'](respondWithResult(_0xb115bf,0xc9))['catch'](handleError(_0xb115bf,null));};exports[_0x4cde('0x26')]=function(_0x550aee,_0x32bbf7){if(_0x550aee[_0x4cde('0xac')]['id']){delete _0x550aee[_0x4cde('0xac')]['id'];}return db[_0x4cde('0x39')][_0x4cde('0x6a')]({'where':{'id':_0x550aee[_0x4cde('0xad')]['id']}})[_0x4cde('0x27')](handleEntityNotFound(_0x32bbf7,null))[_0x4cde('0x27')](saveUpdates(_0x550aee[_0x4cde('0xac')],null))[_0x4cde('0x27')](respondWithResult(_0x32bbf7,null))[_0x4cde('0x32')](handleError(_0x32bbf7,null));};exports[_0x4cde('0xae')]=function(_0x4bc03e,_0x2810f5){return db[_0x4cde('0x39')][_0x4cde('0x6a')]({'where':{'id':_0x4bc03e[_0x4cde('0xad')]['id']}})[_0x4cde('0x27')](handleEntityNotFound(_0x2810f5,null))['then'](removeEntity(_0x2810f5,null))[_0x4cde('0x32')](handleError(_0x2810f5,null));};exports['describe']=function(_0x13bbfa,_0x5e0309){return db[_0x4cde('0x39')][_0x4cde('0xaf')]()['then'](respondWithResult(_0x5e0309,null))['catch'](handleError(_0x5e0309,null));};exports[_0x4cde('0xb0')]=function(_0x4ac64d,_0x1eda3d,_0x13057a){return db['FaxMessage']['find']({'where':{'id':_0x4ac64d[_0x4cde('0xad')]['id']}})[_0x4cde('0x27')](handleEntityNotFound(_0x1eda3d,null))[_0x4cde('0x27')](function(_0x471b56){if(_0x471b56){return _0x471b56[_0x4cde('0xb0')](_0x4ac64d[_0x4cde('0xac')][_0x4cde('0xb1')],_[_0x4cde('0xb2')](_0x4ac64d[_0x4cde('0xac')],['ids','id'])||{});}})[_0x4cde('0x27')](respondWithResult(_0x1eda3d,null))['catch'](handleError(_0x1eda3d,null));};exports[_0x4cde('0xb3')]=function(_0x576770,_0x403bb2,_0x2e5af0){var _0x55102f={'raw':![],'where':{}};var _0x1a42e1={};var _0xaa751c={'count':0x0,'rows':[]};return db['FaxInteraction'][_0x4cde('0xb4')]({'where':{'id':_0x576770[_0x4cde('0xad')]['id']}})[_0x4cde('0x27')](handleEntityNotFound(_0x403bb2,null))[_0x4cde('0x27')](function(_0x26b953){if(_0x26b953){_0x1a42e1[_0x4cde('0x3b')]=_[_0x4cde('0x3d')](db[_0x4cde('0xb5')][_0x4cde('0xa9')]);_0x1a42e1['query']=_['keys'](_0x576770[_0x4cde('0x3c')]);_0x1a42e1['filters']=_[_0x4cde('0x3e')](_0x1a42e1[_0x4cde('0x3b')],_0x1a42e1[_0x4cde('0x3c')]);_0x55102f['attributes']=_[_0x4cde('0x3e')](_0x1a42e1[_0x4cde('0x3b')],qs[_0x4cde('0x40')](_0x576770[_0x4cde('0x3c')]['fields']));_0x55102f[_0x4cde('0x3f')]=_0x55102f[_0x4cde('0x3f')][_0x4cde('0x5e')]?_0x55102f[_0x4cde('0x3f')]:_0x1a42e1[_0x4cde('0x3b')];if(!_0x576770[_0x4cde('0x3c')][_0x4cde('0x41')](_0x4cde('0x42'))){_0x55102f['limit']=qs[_0x4cde('0x1f')](_0x576770['query'][_0x4cde('0x1f')]);_0x55102f[_0x4cde('0x1e')]=qs[_0x4cde('0x1e')](_0x576770[_0x4cde('0x3c')][_0x4cde('0x1e')]);}_0x55102f['order']=qs[_0x4cde('0x44')](_0x576770[_0x4cde('0x3c')][_0x4cde('0x44')]);_0x55102f[_0x4cde('0x71')]=qs[_0x4cde('0x45')](_[_0x4cde('0x46')](_0x576770[_0x4cde('0x3c')],_0x1a42e1['filters']));_0x55102f[_0x4cde('0x71')]['FaxInteractionId']=_0x26b953['id'];if(_0x576770[_0x4cde('0x3c')]['filter']){_0x55102f[_0x4cde('0x71')]=_[_0x4cde('0xaa')](_0x55102f[_0x4cde('0x71')],{'$or':_[_0x4cde('0x2c')](_0x55102f['attributes'],function(_0x13e129){var _0x4035fa={};_0x4035fa[_0x13e129]={'$like':'%'+_0x576770[_0x4cde('0x3c')]['filter']+'%'};return _0x4035fa;})});}if(_0x576770['query'][_0x4cde('0x76')]){var _0x4b90b7=_0x576770['query'][_0x4cde('0x76')][_0x4cde('0x2e')](',');var _0x142243={};_0x142243[_0x4b90b7[0x0]]={'$gte':moment(_0x4b90b7[0x1])[_0x4cde('0xb6')]('YYYY-MM-DD\x20HH:mm:ss')};_0x55102f[_0x4cde('0x71')]=_['merge'](_0x55102f[_0x4cde('0x71')],_0x142243);}_0x55102f=_['merge']({},_0x55102f,_0x576770[_0x4cde('0xb7')]);return db[_0x4cde('0xb5')][_0x4cde('0x21')]({'where':_0x55102f[_0x4cde('0x71')]})[_0x4cde('0x27')](function(_0x722c56){_0xaa751c[_0x4cde('0x21')]=_0x722c56;if(_0x576770[_0x4cde('0x3c')][_0x4cde('0xb8')]){_0x55102f[_0x4cde('0xb9')]=[{'all':!![]}];}return db[_0x4cde('0xb5')][_0x4cde('0xba')](_0x55102f);})[_0x4cde('0x27')](function(_0x123747){_0xaa751c['rows']=_0x123747;return _0xaa751c;});}})[_0x4cde('0x27')](respondWithFilteredResult(_0x403bb2,_0x55102f))['catch'](handleError(_0x403bb2,null));};exports['addTags']=function(_0xf4e366,_0x24d1bf,_0x99f0c3){return db['FaxInteraction'][_0x4cde('0x6a')]({'where':{'id':_0xf4e366[_0x4cde('0xad')]['id']}})[_0x4cde('0x27')](handleEntityNotFound(_0x24d1bf,null))[_0x4cde('0x27')](function(_0x437cf0){if(_0x437cf0){return _0x437cf0[_0x4cde('0xbb')](_0xf4e366[_0x4cde('0xac')][_0x4cde('0xb1')],_[_0x4cde('0xb2')](_0xf4e366[_0x4cde('0xac')],[_0x4cde('0xb1'),'id'])||{})['spread'](function(){return db[_0x4cde('0xbc')][_0x4cde('0xba')]({'attributes':['id',_0x4cde('0x2a'),_0x4cde('0x49')],'where':{'id':_0xf4e366['body']['ids']}});})[_0x4cde('0x27')](function(_0x5cb4c7){socket[_0x4cde('0xbd')](_0x4cde('0xbe'),{'id':Number(_0xf4e366[_0x4cde('0xad')]['id']),'tags':_0x5cb4c7||[]});return{'id':Number(_0xf4e366[_0x4cde('0xad')]['id']),'tags':_0x5cb4c7||[]};});}})['then'](respondWithResult(_0x24d1bf,null))['catch'](handleError(_0x24d1bf,null));};exports[_0x4cde('0xbf')]=function(_0xd195fe,_0x436ba8,_0x240792){return db['FaxInteraction'][_0x4cde('0x6a')]({'where':{'id':_0xd195fe[_0x4cde('0xad')]['id']}})[_0x4cde('0x27')](handleEntityNotFound(_0x436ba8,null))[_0x4cde('0x27')](function(_0x1d6412){if(_0x1d6412){return _0x1d6412[_0x4cde('0xbf')](_0xd195fe[_0x4cde('0x3c')][_0x4cde('0xb1')]);}})[_0x4cde('0x27')](respondWithStatusCode(_0x436ba8,null))[_0x4cde('0x32')](handleError(_0x436ba8,null));};exports[_0x4cde('0xc0')]=function(_0xa9df2f,_0x4d4b73){var _0x5440ac=moment()[_0x4cde('0xc1')]()['toString']();var _0x80f498=path[_0x4cde('0xc2')](config['root'],_0x4cde('0xc3'),'files',_0x4cde('0xc4'));var _0xb7e2f3=path['join'](config['root'],_0x4cde('0xc3'),_0x4cde('0xc5'),'attachments');var _0x36595e=path[_0x4cde('0xc2')](_0x80f498,_0x5440ac);var _0x23d126=util[_0x4cde('0xb6')](_0x4cde('0xc6'),_0xa9df2f[_0x4cde('0xad')]['id'],_0x5440ac);var _0x178295=path[_0x4cde('0xc2')](_0x80f498,_0x23d126);var _0x4b42d6=[];_0x4b42d6['push']({'model':db['Attachment'],'as':_0x4cde('0xc7'),'raw':!![]});var _0x1c449d=[{'model':db[_0x4cde('0xb5')],'as':_0x4cde('0xc8'),'attributes':['id','body',_0x4cde('0x74')],'include':_0x4b42d6}];return db['FaxInteraction'][_0x4cde('0x6a')]({'where':{'id':_0xa9df2f[_0x4cde('0xad')]['id']},'include':_0x1c449d})['then'](handleEntityNotFound(_0x4d4b73,null))[_0x4cde('0x27')](function(_0x12c15e){if(_0x12c15e&&_0x12c15e[_0x4cde('0xc8')]){var _0xa2ee4f=_0x12c15e[_0x4cde('0xc9')]({'plain':!![]});fs[_0x4cde('0xca')](_0x36595e);for(var _0x57ff21=0x0;_0x57ff21<_0xa2ee4f[_0x4cde('0xc8')][_0x4cde('0x5e')];_0x57ff21++){var _0x1674f6=_0xa2ee4f[_0x4cde('0xc8')][_0x57ff21][_0x4cde('0xc7')];if(_0x1674f6){var _0x2c7114=path[_0x4cde('0xc2')](_0xb7e2f3,_0x1674f6[_0x4cde('0xcb')]);if(fs[_0x4cde('0xcc')](_0x2c7114)){fs[_0x4cde('0xcd')](_0x2c7114)[_0x4cde('0xce')](fs[_0x4cde('0xcf')](path[_0x4cde('0xc2')](_0x36595e,_0x1674f6[_0x4cde('0xcb')])));}}}return BPromise[_0x4cde('0xd0')]()[_0x4cde('0x27')](function(){return new BPromise(function(_0x3d9535,_0x14ebcb){zipdir(_0x36595e,{'saveTo':_0x178295},function(_0x238904,_0x6a3dce){if(_0x238904)return _0x14ebcb(_0x238904);return _0x3d9535(_0x6a3dce);});})[_0x4cde('0x27')](function(){return new BPromise(function(_0x5590d4,_0x347d65){rimraf(_0x36595e,function(_0x131e67){if(_0x131e67)_0x347d65(_0x131e67);return _0x5590d4();});});})['then'](function(){return _0x4d4b73[_0x4cde('0xc0')](_0x178295,_0x23d126,function(_0x55b6e6){if(_0x55b6e6){console[_0x4cde('0xd1')]('err',_0x55b6e6);}else{fs[_0x4cde('0xd2')](_0x178295);}});});});}else{return _0x4d4b73[_0x4cde('0x1a')](0xc8);}})[_0x4cde('0x32')](handleError(_0x4d4b73,null));};