Built motion from commit (unavailable).|2.5.31
[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 _0xb2e7=['a.key','a.mandatoryDisposition','contactName','c.firstName','Contact.firstName','c.lastName','Contact.lastName','c.email','c.phone','Contact.phone','c.mobile','Contact.mobile','c.fax','Contact.fax','o.fullname','Owner.fullname','o.internal','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','rows','catch','show','includeAll','include','options','params','describe','addMessage','FaxMessage','omit','ids','findOne','FaxInteractionId','format','findAll','addTags','faxInteractionTags:save','removeTags','download','join','root','files','tmp','attachments','transcript-%d-%s.zip','Attachment','Messages','get','mkdirSync','basename','createReadStream','pipe','err','unlinkSync','sendStatus','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','sox','ejs','fs-extra','lodash','crypto','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','socket.io-emitter','./faxInteraction.socket','register','json','offset','undefined','limit','count','set','Content-Range','apply','reject','update','then','destroy','status','end','stack','name','render','merge','body','message','interaction','account','Users','map','fullname','TagIds','split','forEach','Tags','push','index','FaxInteraction','rawAttributes','fieldName','model','keys','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','pick','field','color','from','tools_tags','select','u.id','u.fullname','ui.FaxInteractionId','left_join','u.id\x20=\x20ui.UserId','fax_interactions','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','users','o.id\x20=\x20i.UserId','a.id\x20=\x20i.FaxAccountId','fax_messages','fax_interaction_has_tags','it.FaxInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','expr','search','parseSearch','sqlOperator','conditions','unreadMessages','having','Contact','operator','$substring','value','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','find','ContactId','buildExpression','type','text','Tag','union','User','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','UserId','some','compact','isEmpty','FaxAccountId','where','i.FaxAccountId\x20IN\x20?','concat','createdAt','parse','$gte','$lte','null','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','isArray','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','filter','replace','isNumeric','i.id\x20LIKE\x20?','i.fax\x20LIKE\x20?','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','i.id','Sequelize','SELECT','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','DESC','t.id\x20IN\x20?','resolve','user','role','agent','getFaxAccounts','i.FaxAccountId\x20IS\x20NULL','sequelize','toString'];(function(_0x2ec00a,_0x23412a){var _0x27b616=function(_0x1bb2c5){while(--_0x1bb2c5){_0x2ec00a['push'](_0x2ec00a['shift']());}};_0x27b616(++_0x23412a);}(_0xb2e7,0x111));var _0x7b2e=function(_0xfae23b,_0x2be4ba){_0xfae23b=_0xfae23b-0x0;var _0x200640=_0xb2e7[_0xfae23b];return _0x200640;};'use strict';var emlformat=require(_0x7b2e('0x0'));var rimraf=require(_0x7b2e('0x1'));var zipdir=require(_0x7b2e('0x2'));var jsonpatch=require(_0x7b2e('0x3'));var rp=require(_0x7b2e('0x4'));var moment=require(_0x7b2e('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x7b2e('0x6'));var util=require(_0x7b2e('0x7'));var path=require(_0x7b2e('0x8'));var sox=require(_0x7b2e('0x9'));var csv=require('to-csv');var ejs=require(_0x7b2e('0xa'));var fs=require('fs');var fs_extra=require(_0x7b2e('0xb'));var _=require(_0x7b2e('0xc'));var squel=require('squel');var crypto=require(_0x7b2e('0xd'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x7b2e('0xe'));var querystring=require(_0x7b2e('0xf'));var Papa=require(_0x7b2e('0x10'));var Redis=require(_0x7b2e('0x11'));var authService=require(_0x7b2e('0x12'));var qs=require(_0x7b2e('0x13'));var as=require(_0x7b2e('0x14'));var hardwareService=require(_0x7b2e('0x15'));var logger=require(_0x7b2e('0x16'))('api');var utils=require(_0x7b2e('0x17'));var config=require(_0x7b2e('0x18'));var licenseUtil=require(_0x7b2e('0x19'));var db=require(_0x7b2e('0x1a'))['db'];config[_0x7b2e('0x1b')]=_[_0x7b2e('0x1c')](config[_0x7b2e('0x1b')],{'host':'localhost','port':0x18eb});var socket=require(_0x7b2e('0x1d'))(new Redis(config[_0x7b2e('0x1b')]));require(_0x7b2e('0x1e'))[_0x7b2e('0x1f')](socket);function respondWithStatusCode(_0x3b1440,_0x1d3b76){_0x1d3b76=_0x1d3b76||0xcc;return function(_0x3828f1){if(_0x3828f1){return _0x3b1440['sendStatus'](_0x1d3b76);}return _0x3b1440['status'](_0x1d3b76)['end']();};}function respondWithResult(_0x48a0af,_0x340384){_0x340384=_0x340384||0xc8;return function(_0xaafc83){if(_0xaafc83){return _0x48a0af['status'](_0x340384)[_0x7b2e('0x20')](_0xaafc83);}};}function respondWithFilteredResult(_0x400602,_0x28f626){return function(_0x2120d6){if(_0x2120d6){var _0x216c34=typeof _0x28f626[_0x7b2e('0x21')]===_0x7b2e('0x22')&&typeof _0x28f626[_0x7b2e('0x23')]===_0x7b2e('0x22');var _0x57bdd5=_0x2120d6[_0x7b2e('0x24')];var _0x118292=_0x216c34?0x0:_0x28f626[_0x7b2e('0x21')];var _0x5d10dc=_0x216c34?_0x2120d6[_0x7b2e('0x24')]:_0x28f626[_0x7b2e('0x21')]+_0x28f626[_0x7b2e('0x23')];var _0x3c78b7;if(_0x5d10dc>=_0x57bdd5){_0x5d10dc=_0x57bdd5;_0x3c78b7=0xc8;}else{_0x3c78b7=0xce;}_0x400602['status'](_0x3c78b7);return _0x400602[_0x7b2e('0x25')](_0x7b2e('0x26'),_0x118292+'-'+_0x5d10dc+'/'+_0x57bdd5)[_0x7b2e('0x20')](_0x2120d6);}return null;};}function patchUpdates(_0x12caff){return function(_0x146765){try{jsonpatch[_0x7b2e('0x27')](_0x146765,_0x12caff,!![]);}catch(_0x2a8c4c){return BPromise[_0x7b2e('0x28')](_0x2a8c4c);}return _0x146765['save']();};}function saveUpdates(_0xddc7ff,_0x101a33){return function(_0x2f48a8){if(_0x2f48a8){return _0x2f48a8[_0x7b2e('0x29')](_0xddc7ff)[_0x7b2e('0x2a')](function(_0x54017e){return _0x54017e;});}return null;};}function removeEntity(_0x562cf6,_0x443809){return function(_0x24418e){if(_0x24418e){return _0x24418e[_0x7b2e('0x2b')]()['then'](function(){_0x562cf6[_0x7b2e('0x2c')](0xcc)[_0x7b2e('0x2d')]();});}};}function handleEntityNotFound(_0x48e594,_0x438d58){return function(_0x488e92){if(!_0x488e92){_0x48e594['sendStatus'](0x194);}return _0x488e92;};}function handleError(_0x5e8497,_0x58a51d){_0x58a51d=_0x58a51d||0x1f4;return function(_0x4fff67){logger['error'](_0x4fff67[_0x7b2e('0x2e')]);if(_0x4fff67['name']){delete _0x4fff67[_0x7b2e('0x2f')];}_0x5e8497[_0x7b2e('0x2c')](_0x58a51d)['send'](_0x4fff67);};}function getMustacheRender(_0x5452c3,_0x53d4d1){return Mustache[_0x7b2e('0x30')](_0x5452c3,_[_0x7b2e('0x31')](_0x53d4d1[_0x7b2e('0x32')],{'contact':_0x53d4d1['contact'],'message':_0x53d4d1[_0x7b2e('0x33')],'agent':_0x53d4d1['agent'],'interaction':_0x53d4d1[_0x7b2e('0x34')],'account':_0x53d4d1[_0x7b2e('0x35')]}))||'';}function getInteractionUsers(_0x398a4f,_0x1e064f){return new BPromise(function(_0x53bf55,_0x4fc11a){try{if(_0x1e064f[_0x398a4f['id']]){_0x398a4f[_0x7b2e('0x36')]=_[_0x7b2e('0x37')](_0x1e064f[_0x398a4f['id']],function(_0x1f879a){return{'id':_0x1f879a['id'],'fullname':_0x1f879a[_0x7b2e('0x38')]};});}}catch(_0x276aa7){_0x4fc11a(_0x276aa7);}_0x53bf55(_0x398a4f);});}function getInteractionTags(_0x3b1186,_0x11eb4b){return new BPromise(function(_0x5e7ed3,_0x34b472){try{if(_0x3b1186[_0x7b2e('0x39')]){_0x3b1186['Tags']=[];_0x3b1186[_0x7b2e('0x39')][_0x7b2e('0x3a')](',')[_0x7b2e('0x3b')](function(_0x4741c0){_0x3b1186[_0x7b2e('0x3c')][_0x7b2e('0x3d')](_0x11eb4b[_0x4741c0]);});}delete _0x3b1186['TagIds'];}catch(_0x551484){_0x34b472(_0x551484);}_0x5e7ed3(_0x3b1186);});}function updateFaxInteraction(_0xb71980,_0x2909a8,_0x225bee){return new BPromise(function(_0x9d2e6c,_0x14d1b8){return getInteractionUsers(_0xb71980,_0x225bee)[_0x7b2e('0x2a')](function(_0x264bac){return getInteractionTags(_0x264bac,_0x2909a8);})[_0x7b2e('0x2a')](function(_0x1912e6){_0x9d2e6c(_0x1912e6);})['catch'](function(_0x1c28c2){_0x14d1b8(_0x1c28c2);});});}exports[_0x7b2e('0x3e')]=function(_0x96a9e3,_0x2fb3e3){var _0x43f581={},_0x3604e1={},_0x2e4555={'count':0x0,'rows':[]};var _0x254fc2=_[_0x7b2e('0x37')](db[_0x7b2e('0x3f')][_0x7b2e('0x40')],function(_0x1de7f9){return{'name':_0x1de7f9[_0x7b2e('0x41')],'type':_0x1de7f9['type']['key']};});_0x3604e1[_0x7b2e('0x42')]=_[_0x7b2e('0x37')](_0x254fc2,_0x7b2e('0x2f'));_0x3604e1['query']=_[_0x7b2e('0x43')](_0x96a9e3[_0x7b2e('0x44')]);_0x3604e1[_0x7b2e('0x45')]=_[_0x7b2e('0x46')](_0x3604e1[_0x7b2e('0x42')],_0x3604e1[_0x7b2e('0x44')]);_0x43f581['attributes']=_[_0x7b2e('0x46')](_0x3604e1[_0x7b2e('0x42')],qs[_0x7b2e('0x47')](_0x96a9e3[_0x7b2e('0x44')]['fields']));_0x43f581[_0x7b2e('0x48')]=_0x43f581['attributes'][_0x7b2e('0x49')]?_0x43f581[_0x7b2e('0x48')]:_0x3604e1['model'];if(!_0x96a9e3[_0x7b2e('0x44')][_0x7b2e('0x4a')](_0x7b2e('0x4b'))){_0x43f581['limit']=qs[_0x7b2e('0x23')](_0x96a9e3[_0x7b2e('0x44')][_0x7b2e('0x23')]);_0x43f581[_0x7b2e('0x21')]=qs[_0x7b2e('0x21')](_0x96a9e3[_0x7b2e('0x44')]['offset']);}_0x43f581[_0x7b2e('0x4c')]=qs['sort'](_0x96a9e3['query'][_0x7b2e('0x4d')]);_0x43f581['where']=qs['filters'](_[_0x7b2e('0x4e')](_0x96a9e3[_0x7b2e('0x44')],_0x3604e1['filters']),_0x254fc2);var _0x242230=[];var _0x30b880=squel['select']()[_0x7b2e('0x4f')]('id')[_0x7b2e('0x4f')](_0x7b2e('0x2f'))[_0x7b2e('0x4f')](_0x7b2e('0x50'))[_0x7b2e('0x51')](_0x7b2e('0x52'));var _0x15fdb4=squel[_0x7b2e('0x53')]()[_0x7b2e('0x4f')](_0x7b2e('0x54'))[_0x7b2e('0x4f')](_0x7b2e('0x55'))[_0x7b2e('0x4f')](_0x7b2e('0x56'))['from']('user_has_fax_interactions','ui')[_0x7b2e('0x57')]('users','u',_0x7b2e('0x58'));var _0x37a802=squel[_0x7b2e('0x53')]()[_0x7b2e('0x51')](_0x7b2e('0x59'),'i')[_0x7b2e('0x57')]('cm_contacts','c',_0x7b2e('0x5a'))[_0x7b2e('0x57')](_0x7b2e('0x5b'),'o',_0x7b2e('0x5c'))[_0x7b2e('0x57')]('fax_accounts','a',_0x7b2e('0x5d'))[_0x7b2e('0x57')](_0x7b2e('0x5e'),'me','me.FaxInteractionId\x20=\x20i.id')[_0x7b2e('0x57')](_0x7b2e('0x5f'),'it',_0x7b2e('0x60'))[_0x7b2e('0x57')](_0x7b2e('0x52'),'t',_0x7b2e('0x61'));var _0x5b7336=squel[_0x7b2e('0x62')]();var _0x5f40af=[];var _0x42aa3a=squel[_0x7b2e('0x62')]();var _0x5ed236;if(_0x96a9e3['query'][_0x7b2e('0x63')]){_0x5ed236=as[_0x7b2e('0x64')](_0x96a9e3[_0x7b2e('0x44')][_0x7b2e('0x63')]);var _0x50e781=_0x5ed236[_0x7b2e('0x65')];for(var _0x51bfa7=0x0;_0x51bfa7<_0x5ed236[_0x7b2e('0x66')][_0x7b2e('0x49')];_0x51bfa7++){var _0x8d9722=_0x5ed236[_0x7b2e('0x66')][_0x51bfa7];var _0x449fb7='i';var _0x27da7=_['find'](_0x254fc2,[_0x7b2e('0x2f'),_0x8d9722[_0x7b2e('0x4f')]]);if(!_0x27da7){switch(_0x8d9722[_0x7b2e('0x4f')]){case _0x7b2e('0x67'):if(_0x8d9722['value']==0x1){_0x37a802[_0x7b2e('0x68')]('`'+_0x8d9722[_0x7b2e('0x4f')]+'`\x20=\x200');}else{_0x37a802[_0x7b2e('0x68')]('`'+_0x8d9722[_0x7b2e('0x4f')]+'`\x20>\x200');}break;case _0x7b2e('0x69'):if(_0x8d9722[_0x7b2e('0x6a')]===_0x7b2e('0x6b')){if(_0x8d9722[_0x7b2e('0x6c')][_0x7b2e('0x3a')]('\x20')[_0x7b2e('0x49')]>0x1){_0x5b7336[_0x50e781](_0x7b2e('0x6d'),qs[_0x7b2e('0x6e')](_0x8d9722['value']),null);}else{var _0x37610e='%'+_0x8d9722['value']+'%';_0x5b7336[_0x50e781](_0x7b2e('0x6f'),_0x37610e,_0x37610e,_0x37610e);}}else{_0x27da7=_[_0x7b2e('0x70')](_0x254fc2,[_0x7b2e('0x2f'),_0x7b2e('0x71')]);_0x8d9722['field']=_0x7b2e('0x71');_0x1ec024=as[_0x7b2e('0x72')](_0x449fb7,_0x27da7[_0x7b2e('0x73')],_0x8d9722);_0x5b7336[_0x50e781](_0x1ec024[_0x7b2e('0x74')],_0x1ec024[_0x7b2e('0x6c')]['start'],_0x1ec024[_0x7b2e('0x6c')][_0x7b2e('0x2d')]);}break;case _0x7b2e('0x75'):var _0x1eb41e=_0x8d9722[_0x7b2e('0x6c')][_0x7b2e('0x3a')](',')[_0x7b2e('0x37')](function(_0x584ccb){return Number(_0x584ccb);});_0x1eb41e[_0x7b2e('0x3b')](function(_0x43baa4){_0x42aa3a['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x43baa4+',%');});_0x5f40af=_[_0x7b2e('0x76')](_0x5f40af,_0x1eb41e);break;case _0x7b2e('0x77'):if(_0x8d9722['operator']===_0x7b2e('0x6b')){_0x5b7336[_0x50e781](_0x7b2e('0x78'),'%'+_0x8d9722[_0x7b2e('0x6c')]+'%',null);}else{_0x27da7=_[_0x7b2e('0x70')](_0x254fc2,[_0x7b2e('0x2f'),_0x7b2e('0x79')]);_0x8d9722['field']=_0x7b2e('0x79');_0x1ec024=as[_0x7b2e('0x72')](_0x449fb7,_0x27da7[_0x7b2e('0x73')],_0x8d9722);_0x5b7336[_0x50e781](_0x1ec024['text'],_0x1ec024['value']['start'],_0x1ec024[_0x7b2e('0x6c')][_0x7b2e('0x2d')]);}break;case'body':_0x1ec024=as['buildExpression']('me',null,_0x8d9722);_0x5b7336[_0x50e781](_0x1ec024['text'],_0x1ec024[_0x7b2e('0x6c')]['start'],_0x1ec024[_0x7b2e('0x6c')][_0x7b2e('0x2d')]);break;}}else{var _0x1ec024=as[_0x7b2e('0x72')](_0x449fb7,_0x27da7[_0x7b2e('0x73')],_0x8d9722);_0x5b7336[_0x50e781](_0x1ec024[_0x7b2e('0x74')],_0x1ec024[_0x7b2e('0x6c')]['start'],_0x1ec024[_0x7b2e('0x6c')]['end']);}}}else{var _0x1129ad=_(_0x96a9e3[_0x7b2e('0x44')])[_0x7b2e('0x43')]()[_0x7b2e('0x37')](function(_0x37b022){return _[_0x7b2e('0x7a')](_0x254fc2,[_0x7b2e('0x2f'),_0x37b022])?_0x37b022:undefined;})[_0x7b2e('0x7b')]()['value']();if(!_[_0x7b2e('0x7c')](_0x1129ad)){_0x1129ad[_0x7b2e('0x3b')](function(_0x5f4eb5){if(_0x5f4eb5===_0x7b2e('0x7d')){_0x37a802[_0x7b2e('0x7e')](_0x7b2e('0x7f'),[][_0x7b2e('0x80')](_0x96a9e3[_0x7b2e('0x44')][_0x5f4eb5]));}else if(_0x5f4eb5===_0x7b2e('0x81')){var _0x3f4a05=JSON[_0x7b2e('0x82')](_0x96a9e3[_0x7b2e('0x44')][_0x5f4eb5])[_0x7b2e('0x83')];var _0x44e083=JSON[_0x7b2e('0x82')](_0x96a9e3[_0x7b2e('0x44')][_0x5f4eb5])[_0x7b2e('0x84')];_0x37a802[_0x7b2e('0x7e')]('i.createdAt\x20BETWEEN\x20?\x20AND\x20?',_0x3f4a05,_0x44e083);}else{if(_0x96a9e3[_0x7b2e('0x44')][_0x5f4eb5]===_0x7b2e('0x85')){_0x37a802['where']('i.'+_0x5f4eb5+_0x7b2e('0x86'));}else{_0x37a802[_0x7b2e('0x7e')]('i.'+_0x5f4eb5+_0x7b2e('0x87'),_0x96a9e3[_0x7b2e('0x44')][_0x5f4eb5]);}}});}if(_0x96a9e3['query'][_0x7b2e('0x88')]){if(_0x96a9e3[_0x7b2e('0x44')]['read']==0x1){_0x37a802['having'](_0x7b2e('0x89'));}else{_0x37a802[_0x7b2e('0x68')](_0x7b2e('0x8a'));}}if(_0x96a9e3[_0x7b2e('0x44')][_0x7b2e('0x8b')]){_0x5f40af=_[_0x7b2e('0x8c')](_0x96a9e3[_0x7b2e('0x44')][_0x7b2e('0x8b')])?_0x96a9e3['query'][_0x7b2e('0x8b')]:new Array(_0x96a9e3['query'][_0x7b2e('0x8b')]);_0x5f40af[_0x7b2e('0x3b')](function(_0x471884){_0x42aa3a['or'](_0x7b2e('0x8d'),'%,'+_0x471884+',%');});}if(_0x96a9e3[_0x7b2e('0x44')]['filter']){var _0x525933=_0x96a9e3[_0x7b2e('0x44')][_0x7b2e('0x8e')][_0x7b2e('0x8f')]('\x5c','\x5c\x5c')[_0x7b2e('0x8f')](/'/g,'\x27\x27');if(qs[_0x7b2e('0x90')](_0x525933)){_0x5b7336['or'](_0x7b2e('0x91'),_0x525933+'%')['or'](_0x7b2e('0x92'),_0x525933+'%');}_0x5b7336['or'](_0x7b2e('0x93'),_0x525933+'%');}}_0x37a802[_0x7b2e('0x7e')](_0x5b7336);_0x37a802[_0x7b2e('0x94')](_0x7b2e('0x95'));var _0x3209fe={'type':db[_0x7b2e('0x96')]['QueryTypes'][_0x7b2e('0x97')],'raw':!![]};var _0x28b665=_0x37a802['clone']();_0x28b665[_0x7b2e('0x4f')](_0x7b2e('0x95'));_0x28b665['field'](_0x7b2e('0x98'),_0x7b2e('0x67'));if(_0x43f581[_0x7b2e('0x4c')]){_0x43f581[_0x7b2e('0x4c')][_0x7b2e('0x3b')](function(_0x14401a){var _0x4fc571=_0x14401a[0x0]==='contactName'?_0x14401a[0x0]:'i.'+_0x14401a[0x0];_0x37a802[_0x7b2e('0x4c')](_0x4fc571,_0x14401a[0x1]===_0x7b2e('0x99')?![]:!![]);});}if(!_['isEmpty'](_0x5f40af)){_0x37a802[_0x7b2e('0x68')](_0x42aa3a);_0x28b665[_0x7b2e('0x7e')](_0x7b2e('0x9a'),_0x5f40af);}BPromise[_0x7b2e('0x9b')]()[_0x7b2e('0x2a')](function(){if(!_0x5ed236){if(_0x96a9e3[_0x7b2e('0x44')][_0x7b2e('0x7d')])return;_0x28b665['where']('i.FaxAccountId\x20IS\x20NOT\x20NULL');_0x37a802[_0x7b2e('0x7e')]('i.FaxAccountId\x20IS\x20NOT\x20NULL');return;}if(_0x96a9e3[_0x7b2e('0x9c')][_0x7b2e('0x9d')]!==_0x7b2e('0x9e'))return;return _0x96a9e3[_0x7b2e('0x9c')][_0x7b2e('0x9f')]({'attributes':['id'],'raw':!![]})[_0x7b2e('0x2a')](function(_0x558efe){if(_[_0x7b2e('0x7c')](_0x558efe)){_0x28b665[_0x7b2e('0x7e')](_0x7b2e('0xa0'));_0x37a802['where']('i.FaxAccountId\x20IS\x20NULL');}else{_0x28b665[_0x7b2e('0x7e')](_0x7b2e('0x7f'),_[_0x7b2e('0x37')](_0x558efe,'id'));_0x37a802['where'](_0x7b2e('0x7f'),_[_0x7b2e('0x37')](_0x558efe,'id'));}});})['then'](function(){if(_0x96a9e3[_0x7b2e('0x9c')][_0x7b2e('0x9d')]==='agent'&&!_0x5ed236&&!_0x96a9e3['query']['FaxAccountId'])return[];return db[_0x7b2e('0xa1')]['query'](_0x28b665[_0x7b2e('0xa2')](),_0x3209fe);})[_0x7b2e('0x2a')](function(_0x11a211){_0x2e4555['count']=_0x11a211['length'];if(_0x2e4555[_0x7b2e('0x24')]===0x0)return[];return db[_0x7b2e('0xa1')][_0x7b2e('0x44')](_0x30b880[_0x7b2e('0xa2')](),_0x3209fe)[_0x7b2e('0x2a')](function(_0xefa53a){_0x242230=_['keyBy'](_0xefa53a,'id');_0x3209fe=_[_0x7b2e('0x31')](_0x3209fe,{'model':db['FaxInteraction'],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x96a9e3[_0x7b2e('0x44')]['fields']){_0x43f581[_0x7b2e('0x48')][_0x7b2e('0x3b')](function(_0x36b850){_0x37a802['field']('i.'+_0x36b850);});}else{_0x37a802['field'](_0x7b2e('0x98'),_0x7b2e('0x67'));_0x37a802[_0x7b2e('0x4f')](_0x7b2e('0xa3'),'Account.key');_0x37a802[_0x7b2e('0x4f')](_0x7b2e('0xa4'),'Account.mandatoryDisposition');_0x37a802[_0x7b2e('0x4f')]('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',_0x7b2e('0xa5'));_0x37a802['field']('i.*');_0x37a802[_0x7b2e('0x4f')](_0x7b2e('0xa6'),_0x7b2e('0xa7'));_0x37a802[_0x7b2e('0x4f')](_0x7b2e('0xa8'),_0x7b2e('0xa9'));_0x37a802['field'](_0x7b2e('0xaa'),'Contact.email');_0x37a802[_0x7b2e('0x4f')](_0x7b2e('0xab'),_0x7b2e('0xac'));_0x37a802[_0x7b2e('0x4f')](_0x7b2e('0xad'),_0x7b2e('0xae'));_0x37a802['field'](_0x7b2e('0xaf'),_0x7b2e('0xb0'));_0x37a802[_0x7b2e('0x4f')](_0x7b2e('0xb1'),_0x7b2e('0xb2'));_0x37a802[_0x7b2e('0x4f')](_0x7b2e('0xb3'),_0x7b2e('0xb4'));_0x37a802['field'](_0x7b2e('0xb5'),_0x7b2e('0x39'));}if(_0x43f581['limit'])_0x37a802[_0x7b2e('0x23')](_0x43f581[_0x7b2e('0x23')]);if(_0x43f581[_0x7b2e('0x21')])_0x37a802[_0x7b2e('0x21')](_0x43f581['offset']);return db[_0x7b2e('0xa1')][_0x7b2e('0x44')](_0x37a802[_0x7b2e('0xa2')](),_0x3209fe);})[_0x7b2e('0x2a')](function(_0x1896d2){if(_0x1896d2[_0x7b2e('0x49')]>0x0)_0x15fdb4[_0x7b2e('0x7e')]('ui.FaxInteractionId\x20IN\x20?',_['map'](_0x1896d2,'id'));return db[_0x7b2e('0xa1')][_0x7b2e('0x44')](_0x15fdb4[_0x7b2e('0xa2')](),_0x3209fe)[_0x7b2e('0x2a')](function(_0x4e8823){var _0x3e21b3=_['groupBy'](_0x4e8823,'FaxInteractionId');var _0x3a71ee=[];_0x1896d2['forEach'](function(_0x32e582){_0x3a71ee['push'](updateFaxInteraction(_0x32e582,_0x242230,_0x3e21b3));});return BPromise['all'](_0x3a71ee);});});})[_0x7b2e('0x2a')](function(_0x3269c6){_0x2e4555[_0x7b2e('0xb6')]=_0x3269c6;return _0x2e4555;})['then'](respondWithFilteredResult(_0x2fb3e3,_0x43f581))[_0x7b2e('0xb7')](handleError(_0x2fb3e3,null));};exports[_0x7b2e('0xb8')]=function(_0x1119d2,_0xbe57dc){var _0x162f6e={'raw':![],'where':{'id':_0x1119d2['params']['id']}},_0x9bfa06={};_0x9bfa06['model']=_[_0x7b2e('0x43')](db[_0x7b2e('0x3f')][_0x7b2e('0x40')]);_0x9bfa06[_0x7b2e('0x44')]=_['keys'](_0x1119d2['query']);_0x9bfa06[_0x7b2e('0x45')]=_[_0x7b2e('0x46')](_0x9bfa06[_0x7b2e('0x42')],_0x9bfa06['query']);_0x162f6e['attributes']=_[_0x7b2e('0x46')](_0x9bfa06[_0x7b2e('0x42')],qs[_0x7b2e('0x47')](_0x1119d2['query'][_0x7b2e('0x47')]));_0x162f6e[_0x7b2e('0x48')]=_0x162f6e[_0x7b2e('0x48')][_0x7b2e('0x49')]?_0x162f6e[_0x7b2e('0x48')]:_0x9bfa06[_0x7b2e('0x42')];if(_0x1119d2[_0x7b2e('0x44')][_0x7b2e('0xb9')]){_0x162f6e[_0x7b2e('0xba')]=[{'all':!![]}];}_0x162f6e=_[_0x7b2e('0x31')]({},_0x162f6e,_0x1119d2[_0x7b2e('0xbb')]);return db[_0x7b2e('0x3f')][_0x7b2e('0x70')](_0x162f6e)[_0x7b2e('0x2a')](handleEntityNotFound(_0xbe57dc,null))[_0x7b2e('0x2a')](respondWithResult(_0xbe57dc,null))[_0x7b2e('0xb7')](handleError(_0xbe57dc,null));};exports['create']=function(_0x1985e8,_0x3d796c){return db[_0x7b2e('0x3f')]['create'](_0x1985e8[_0x7b2e('0x32')],{})[_0x7b2e('0x2a')](respondWithResult(_0x3d796c,0xc9))[_0x7b2e('0xb7')](handleError(_0x3d796c,null));};exports['update']=function(_0x1e579f,_0x2757aa){if(_0x1e579f[_0x7b2e('0x32')]['id']){delete _0x1e579f[_0x7b2e('0x32')]['id'];}return db[_0x7b2e('0x3f')][_0x7b2e('0x70')]({'where':{'id':_0x1e579f[_0x7b2e('0xbc')]['id']}})['then'](handleEntityNotFound(_0x2757aa,null))[_0x7b2e('0x2a')](saveUpdates(_0x1e579f[_0x7b2e('0x32')],null))[_0x7b2e('0x2a')](respondWithResult(_0x2757aa,null))['catch'](handleError(_0x2757aa,null));};exports['destroy']=function(_0x50d70d,_0x29ae81){return db[_0x7b2e('0x3f')][_0x7b2e('0x70')]({'where':{'id':_0x50d70d[_0x7b2e('0xbc')]['id']}})[_0x7b2e('0x2a')](handleEntityNotFound(_0x29ae81,null))[_0x7b2e('0x2a')](removeEntity(_0x29ae81,null))[_0x7b2e('0xb7')](handleError(_0x29ae81,null));};exports[_0x7b2e('0xbd')]=function(_0x3b4ff1,_0x5b75c0){return db[_0x7b2e('0x3f')][_0x7b2e('0xbd')]()['then'](respondWithResult(_0x5b75c0,null))[_0x7b2e('0xb7')](handleError(_0x5b75c0,null));};exports[_0x7b2e('0xbe')]=function(_0x86819c,_0x184a9d,_0x48d3ad){return db[_0x7b2e('0xbf')][_0x7b2e('0x70')]({'where':{'id':_0x86819c[_0x7b2e('0xbc')]['id']}})[_0x7b2e('0x2a')](handleEntityNotFound(_0x184a9d,null))[_0x7b2e('0x2a')](function(_0x3beab5){if(_0x3beab5){return _0x3beab5[_0x7b2e('0xbe')](_0x86819c[_0x7b2e('0x32')]['ids'],_[_0x7b2e('0xc0')](_0x86819c[_0x7b2e('0x32')],[_0x7b2e('0xc1'),'id'])||{});}})[_0x7b2e('0x2a')](respondWithResult(_0x184a9d,null))[_0x7b2e('0xb7')](handleError(_0x184a9d,null));};exports['getMessages']=function(_0x8348f8,_0x447347,_0x3fe3f3){var _0x97631d={'raw':![],'where':{}};var _0x310270={};var _0x162cbf={'count':0x0,'rows':[]};return db[_0x7b2e('0x3f')][_0x7b2e('0xc2')]({'where':{'id':_0x8348f8['params']['id']}})[_0x7b2e('0x2a')](handleEntityNotFound(_0x447347,null))[_0x7b2e('0x2a')](function(_0x30c922){if(_0x30c922){_0x310270[_0x7b2e('0x42')]=_['keys'](db[_0x7b2e('0xbf')][_0x7b2e('0x40')]);_0x310270[_0x7b2e('0x44')]=_[_0x7b2e('0x43')](_0x8348f8[_0x7b2e('0x44')]);_0x310270[_0x7b2e('0x45')]=_[_0x7b2e('0x46')](_0x310270[_0x7b2e('0x42')],_0x310270[_0x7b2e('0x44')]);_0x97631d[_0x7b2e('0x48')]=_[_0x7b2e('0x46')](_0x310270[_0x7b2e('0x42')],qs['fields'](_0x8348f8['query'][_0x7b2e('0x47')]));_0x97631d['attributes']=_0x97631d[_0x7b2e('0x48')]['length']?_0x97631d[_0x7b2e('0x48')]:_0x310270[_0x7b2e('0x42')];if(!_0x8348f8[_0x7b2e('0x44')][_0x7b2e('0x4a')](_0x7b2e('0x4b'))){_0x97631d[_0x7b2e('0x23')]=qs[_0x7b2e('0x23')](_0x8348f8[_0x7b2e('0x44')][_0x7b2e('0x23')]);_0x97631d[_0x7b2e('0x21')]=qs[_0x7b2e('0x21')](_0x8348f8[_0x7b2e('0x44')]['offset']);}_0x97631d[_0x7b2e('0x4c')]=qs['sort'](_0x8348f8[_0x7b2e('0x44')][_0x7b2e('0x4d')]);_0x97631d[_0x7b2e('0x7e')]=qs[_0x7b2e('0x45')](_[_0x7b2e('0x4e')](_0x8348f8[_0x7b2e('0x44')],_0x310270['filters']));_0x97631d['where'][_0x7b2e('0xc3')]=_0x30c922['id'];if(_0x8348f8[_0x7b2e('0x44')][_0x7b2e('0x8e')]){_0x97631d[_0x7b2e('0x7e')]=_[_0x7b2e('0x31')](_0x97631d[_0x7b2e('0x7e')],{'$or':_['map'](_0x97631d[_0x7b2e('0x48')],function(_0x29cc0a){var _0x344705={};_0x344705[_0x29cc0a]={'$like':'%'+_0x8348f8[_0x7b2e('0x44')]['filter']+'%'};return _0x344705;})});}if(_0x8348f8[_0x7b2e('0x44')]['$gte']){var _0x2d5afa=_0x8348f8['query']['$gte'][_0x7b2e('0x3a')](',');var _0x598843={};_0x598843[_0x2d5afa[0x0]]={'$gte':moment(_0x2d5afa[0x1])[_0x7b2e('0xc4')]('YYYY-MM-DD\x20HH:mm:ss')};_0x97631d[_0x7b2e('0x7e')]=_[_0x7b2e('0x31')](_0x97631d[_0x7b2e('0x7e')],_0x598843);}_0x97631d=_[_0x7b2e('0x31')]({},_0x97631d,_0x8348f8[_0x7b2e('0xbb')]);return db[_0x7b2e('0xbf')][_0x7b2e('0x24')]({'where':_0x97631d['where']})['then'](function(_0x1738f5){_0x162cbf[_0x7b2e('0x24')]=_0x1738f5;if(_0x8348f8[_0x7b2e('0x44')][_0x7b2e('0xb9')]){_0x97631d[_0x7b2e('0xba')]=[{'all':!![]}];}return db['FaxMessage'][_0x7b2e('0xc5')](_0x97631d);})[_0x7b2e('0x2a')](function(_0x39eb1c){_0x162cbf['rows']=_0x39eb1c;return _0x162cbf;});}})[_0x7b2e('0x2a')](respondWithFilteredResult(_0x447347,_0x97631d))['catch'](handleError(_0x447347,null));};exports[_0x7b2e('0xc6')]=function(_0x389e4d,_0x2bba20,_0x3e01c3){return db[_0x7b2e('0x3f')]['find']({'where':{'id':_0x389e4d[_0x7b2e('0xbc')]['id']}})['then'](handleEntityNotFound(_0x2bba20,null))[_0x7b2e('0x2a')](function(_0x128f5e){if(_0x128f5e){return _0x128f5e['setTags'](_0x389e4d[_0x7b2e('0x32')][_0x7b2e('0xc1')],_[_0x7b2e('0xc0')](_0x389e4d[_0x7b2e('0x32')],['ids','id'])||{})['spread'](function(){return db[_0x7b2e('0x75')][_0x7b2e('0xc5')]({'attributes':['id','name','color'],'where':{'id':_0x389e4d[_0x7b2e('0x32')]['ids']}});})[_0x7b2e('0x2a')](function(_0x180eb4){socket['emit'](_0x7b2e('0xc7'),{'id':Number(_0x389e4d[_0x7b2e('0xbc')]['id']),'tags':_0x180eb4||[]});return{'id':Number(_0x389e4d[_0x7b2e('0xbc')]['id']),'tags':_0x180eb4||[]};});}})[_0x7b2e('0x2a')](respondWithResult(_0x2bba20,null))[_0x7b2e('0xb7')](handleError(_0x2bba20,null));};exports[_0x7b2e('0xc8')]=function(_0x473f45,_0x42181c,_0x4612dc){return db[_0x7b2e('0x3f')][_0x7b2e('0x70')]({'where':{'id':_0x473f45[_0x7b2e('0xbc')]['id']}})[_0x7b2e('0x2a')](handleEntityNotFound(_0x42181c,null))[_0x7b2e('0x2a')](function(_0x35abbc){if(_0x35abbc){return _0x35abbc[_0x7b2e('0xc8')](_0x473f45['query']['ids']);}})[_0x7b2e('0x2a')](respondWithStatusCode(_0x42181c,null))[_0x7b2e('0xb7')](handleError(_0x42181c,null));};exports[_0x7b2e('0xc9')]=function(_0x46c942,_0x410cfa){var _0x564d89=moment()['unix']()[_0x7b2e('0xa2')]();var _0x1cf573=path[_0x7b2e('0xca')](config[_0x7b2e('0xcb')],'server',_0x7b2e('0xcc'),_0x7b2e('0xcd'));var _0x56ec53=path[_0x7b2e('0xca')](config['root'],'server',_0x7b2e('0xcc'),_0x7b2e('0xce'));var _0x25d773=path['join'](_0x1cf573,_0x564d89);var _0x59a91d=util[_0x7b2e('0xc4')](_0x7b2e('0xcf'),_0x46c942[_0x7b2e('0xbc')]['id'],_0x564d89);var _0x24c05f=path[_0x7b2e('0xca')](_0x1cf573,_0x59a91d);var _0x4a0cbd=[];_0x4a0cbd['push']({'model':db['Attachment'],'as':_0x7b2e('0xd0'),'raw':!![]});var _0x508395=[{'model':db[_0x7b2e('0xbf')],'as':_0x7b2e('0xd1'),'attributes':['id',_0x7b2e('0x32'),_0x7b2e('0x81')],'include':_0x4a0cbd}];return db['FaxInteraction']['find']({'where':{'id':_0x46c942[_0x7b2e('0xbc')]['id']},'include':_0x508395})[_0x7b2e('0x2a')](handleEntityNotFound(_0x410cfa,null))['then'](function(_0xbd76ce){if(_0xbd76ce&&_0xbd76ce[_0x7b2e('0xd1')]){var _0x4945fd=_0xbd76ce[_0x7b2e('0xd2')]({'plain':!![]});fs[_0x7b2e('0xd3')](_0x25d773);for(var _0x2e61da=0x0;_0x2e61da<_0x4945fd[_0x7b2e('0xd1')][_0x7b2e('0x49')];_0x2e61da++){var _0x514261=_0x4945fd['Messages'][_0x2e61da][_0x7b2e('0xd0')];if(_0x514261){var _0xcb2ff1=path[_0x7b2e('0xca')](_0x56ec53,_0x514261[_0x7b2e('0xd4')]);if(fs['existsSync'](_0xcb2ff1)){fs[_0x7b2e('0xd5')](_0xcb2ff1)[_0x7b2e('0xd6')](fs['createWriteStream'](path[_0x7b2e('0xca')](_0x25d773,_0x514261[_0x7b2e('0xd4')])));}}}return BPromise[_0x7b2e('0x9b')]()[_0x7b2e('0x2a')](function(){return new BPromise(function(_0x3225c8,_0x101234){zipdir(_0x25d773,{'saveTo':_0x24c05f},function(_0x3ecf3b,_0x3f8c01){if(_0x3ecf3b)return _0x101234(_0x3ecf3b);return _0x3225c8(_0x3f8c01);});})['then'](function(){return new BPromise(function(_0x292502,_0x4fb5ea){rimraf(_0x25d773,function(_0x5bb168){if(_0x5bb168)_0x4fb5ea(_0x5bb168);return _0x292502();});});})[_0x7b2e('0x2a')](function(){return _0x410cfa[_0x7b2e('0xc9')](_0x24c05f,_0x59a91d,function(_0x3fe464){if(_0x3fe464){console['log'](_0x7b2e('0xd7'),_0x3fe464);}else{fs[_0x7b2e('0xd8')](_0x24c05f);}});});});}else{return _0x410cfa[_0x7b2e('0xd9')](0xc8);}})[_0x7b2e('0xb7')](handleError(_0x410cfa,null));};