3c96b318da1789feaac65cf59f5a216da04d8186
[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 _0x66e9=['split','forEach','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','UserId','buildExpression','compact','isEmpty','FaxAccountId','where','i.FaxAccountId\x20IN\x20?','concat','createdAt','parse','$gte','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','`unreadMessages`\x20=\x200','tag','isArray','filter','replace','isNumeric','i.id\x20LIKE\x20?','i.fax\x20LIKE\x20?','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','Sequelize','QueryTypes','SELECT','clone','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','contactName','DESC','t.id\x20IN\x20?','resolve','i.FaxAccountId\x20IS\x20NOT\x20NULL','user','role','agent','getFaxAccounts','sequelize','toString','Account.key','a.mandatoryDisposition','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','Contact.firstName','c.lastName','Contact.lastName','c.email','Contact.email','c.phone','Contact.phone','c.mobile','Contact.mobile','o.fullname','Owner.fullname','o.internal','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.FaxInteractionId\x20IN\x20?','groupBy','FaxInteractionId','all','show','params','merge','body','describe','addMessage','FaxMessage','ids','omit','findOne','rawAttributes','pick','format','YYYY-MM-DD\x20HH:mm:ss','options','includeAll','include','findAll','addTags','spread','color','emit','faxInteractionTags:save','removeTags','download','unix','join','server','files','tmp','root','attachments','Attachment','Messages','get','mkdirSync','basename','existsSync','createReadStream','pipe','createWriteStream','log','unlinkSync','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','sox','to-csv','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','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','sendStatus','status','end','count','offset','set','Content-Range','json','apply','reject','save','update','then','error','stack','name','send','map','TagIds','Tags','push','catch','index','FaxInteraction','fieldName','key','model','query','keys','filters','intersection','attributes','fields','hasOwnProperty','nolimit','limit','order','sort','select','field','tools_tags','u.id','u.fullname','ui.FaxInteractionId','from','user_has_fax_interactions','users','u.id\x20=\x20ui.UserId','cm_contacts','left_join','o.id\x20=\x20i.UserId','me.FaxInteractionId\x20=\x20i.id','fax_interaction_has_tags','it.FaxInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','expr','search','conditions','length','unreadMessages','having','`\x20=\x200','`\x20>\x200','operator','$substring','value','find','ContactId','type','text','start','Tag'];(function(_0x172b92,_0x4fefd9){var _0x5ce6a6=function(_0x498a77){while(--_0x498a77){_0x172b92['push'](_0x172b92['shift']());}};_0x5ce6a6(++_0x4fefd9);}(_0x66e9,0x6e));var _0x966e=function(_0x562f3b,_0x4c65ae){_0x562f3b=_0x562f3b-0x0;var _0x1edd55=_0x66e9[_0x562f3b];return _0x1edd55;};'use strict';var emlformat=require(_0x966e('0x0'));var rimraf=require(_0x966e('0x1'));var zipdir=require(_0x966e('0x2'));var jsonpatch=require(_0x966e('0x3'));var rp=require(_0x966e('0x4'));var moment=require(_0x966e('0x5'));var BPromise=require(_0x966e('0x6'));var Mustache=require('mustache');var util=require(_0x966e('0x7'));var path=require('path');var sox=require(_0x966e('0x8'));var csv=require(_0x966e('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x966e('0xa'));var _=require(_0x966e('0xb'));var squel=require(_0x966e('0xc'));var crypto=require(_0x966e('0xd'));var jsforce=require(_0x966e('0xe'));var deskjs=require(_0x966e('0xf'));var toCsv=require(_0x966e('0x9'));var querystring=require(_0x966e('0x10'));var Papa=require('papaparse');var Redis=require(_0x966e('0x11'));var authService=require(_0x966e('0x12'));var qs=require(_0x966e('0x13'));var as=require(_0x966e('0x14'));var hardwareService=require(_0x966e('0x15'));var logger=require(_0x966e('0x16'))('api');var utils=require(_0x966e('0x17'));var config=require(_0x966e('0x18'));var licenseUtil=require(_0x966e('0x19'));var db=require(_0x966e('0x1a'))['db'];config[_0x966e('0x1b')]=_[_0x966e('0x1c')](config['redis'],{'host':'localhost','port':0x18eb});var socket=require(_0x966e('0x1d'))(new Redis(config[_0x966e('0x1b')]));require(_0x966e('0x1e'))[_0x966e('0x1f')](socket);function respondWithStatusCode(_0x41fc54,_0x1bbbc8){_0x1bbbc8=_0x1bbbc8||0xcc;return function(_0x1d643d){if(_0x1d643d){return _0x41fc54[_0x966e('0x20')](_0x1bbbc8);}return _0x41fc54[_0x966e('0x21')](_0x1bbbc8)[_0x966e('0x22')]();};}function respondWithResult(_0x107f40,_0x2da12d){_0x2da12d=_0x2da12d||0xc8;return function(_0x25b39a){if(_0x25b39a){return _0x107f40[_0x966e('0x21')](_0x2da12d)['json'](_0x25b39a);}};}function respondWithFilteredResult(_0x356a9a,_0xc109b0){return function(_0x308f1e){if(_0x308f1e){var _0x37cd8b=_0x308f1e[_0x966e('0x23')],_0x5ad7e5=_0xc109b0[_0x966e('0x24')],_0xd946e=_0xc109b0['offset']+_0xc109b0['limit'],_0x520102;if(_0xd946e>=_0x37cd8b){_0xd946e=_0x37cd8b;_0x520102=0xc8;}else{_0x520102=0xce;}_0x356a9a[_0x966e('0x21')](_0x520102);return _0x356a9a[_0x966e('0x25')](_0x966e('0x26'),_0x5ad7e5+'-'+_0xd946e+'/'+_0x37cd8b)[_0x966e('0x27')](_0x308f1e);}return null;};}function patchUpdates(_0x5e155a){return function(_0x2dd43b){try{jsonpatch[_0x966e('0x28')](_0x2dd43b,_0x5e155a,!![]);}catch(_0x35ae71){return BPromise[_0x966e('0x29')](_0x35ae71);}return _0x2dd43b[_0x966e('0x2a')]();};}function saveUpdates(_0x5a7985,_0x1676fa){return function(_0x2a5e68){if(_0x2a5e68){return _0x2a5e68[_0x966e('0x2b')](_0x5a7985)[_0x966e('0x2c')](function(_0xafde6c){return _0xafde6c;});}return null;};}function removeEntity(_0x7327a6,_0x2c752a){return function(_0x3c15f0){if(_0x3c15f0){return _0x3c15f0['destroy']()[_0x966e('0x2c')](function(){_0x7327a6['status'](0xcc)[_0x966e('0x22')]();});}};}function handleEntityNotFound(_0xbcb491,_0x488194){return function(_0x97472c){if(!_0x97472c){_0xbcb491[_0x966e('0x20')](0x194);}return _0x97472c;};}function handleError(_0x25377a,_0x422630){_0x422630=_0x422630||0x1f4;return function(_0x1ba7b4){logger[_0x966e('0x2d')](_0x1ba7b4[_0x966e('0x2e')]);if(_0x1ba7b4[_0x966e('0x2f')]){delete _0x1ba7b4[_0x966e('0x2f')];}_0x25377a[_0x966e('0x21')](_0x422630)[_0x966e('0x30')](_0x1ba7b4);};}function getInteractionUsers(_0x432521,_0xa05906){return new BPromise(function(_0x8e9aba,_0x4237ab){try{if(_0xa05906[_0x432521['id']]){_0x432521['Users']=_[_0x966e('0x31')](_0xa05906[_0x432521['id']],function(_0x34d2ce){return{'id':_0x34d2ce['id'],'fullname':_0x34d2ce['fullname']};});}}catch(_0x4f47a9){_0x4237ab(_0x4f47a9);}_0x8e9aba(_0x432521);});}function getInteractionTags(_0x787cc2,_0x1de6ed){return new BPromise(function(_0x2d2665,_0x1c2de8){try{if(_0x787cc2[_0x966e('0x32')]){_0x787cc2[_0x966e('0x33')]=[];_0x787cc2[_0x966e('0x32')]['split'](',')['forEach'](function(_0x834098){_0x787cc2[_0x966e('0x33')][_0x966e('0x34')](_0x1de6ed[_0x834098]);});}delete _0x787cc2[_0x966e('0x32')];}catch(_0x1da039){_0x1c2de8(_0x1da039);}_0x2d2665(_0x787cc2);});}function updateFaxInteraction(_0x28efaf,_0x5e3fd4,_0x1c7977){return new BPromise(function(_0x221472,_0x590334){return getInteractionUsers(_0x28efaf,_0x1c7977)[_0x966e('0x2c')](function(_0x2ba037){return getInteractionTags(_0x2ba037,_0x5e3fd4);})['then'](function(_0x1c5e58){_0x221472(_0x1c5e58);})[_0x966e('0x35')](function(_0x488a7d){_0x590334(_0x488a7d);});});}exports[_0x966e('0x36')]=function(_0x59a214,_0x1631a7){var _0x96005e={},_0x462905={},_0x53f34f={'count':0x0,'rows':[]};var _0x4271aa=_[_0x966e('0x31')](db[_0x966e('0x37')]['rawAttributes'],function(_0x4a620e){return{'name':_0x4a620e[_0x966e('0x38')],'type':_0x4a620e['type'][_0x966e('0x39')]};});_0x462905[_0x966e('0x3a')]=_['map'](_0x4271aa,_0x966e('0x2f'));_0x462905[_0x966e('0x3b')]=_[_0x966e('0x3c')](_0x59a214[_0x966e('0x3b')]);_0x462905[_0x966e('0x3d')]=_[_0x966e('0x3e')](_0x462905[_0x966e('0x3a')],_0x462905[_0x966e('0x3b')]);_0x96005e[_0x966e('0x3f')]=_[_0x966e('0x3e')](_0x462905[_0x966e('0x3a')],qs['fields'](_0x59a214[_0x966e('0x3b')][_0x966e('0x40')]));_0x96005e[_0x966e('0x3f')]=_0x96005e[_0x966e('0x3f')]['length']?_0x96005e['attributes']:_0x462905[_0x966e('0x3a')];if(!_0x59a214[_0x966e('0x3b')][_0x966e('0x41')](_0x966e('0x42'))){_0x96005e[_0x966e('0x43')]=qs['limit'](_0x59a214[_0x966e('0x3b')][_0x966e('0x43')]);_0x96005e['offset']=qs['offset'](_0x59a214[_0x966e('0x3b')]['offset']);}_0x96005e[_0x966e('0x44')]=qs[_0x966e('0x45')](_0x59a214['query'][_0x966e('0x45')]);_0x96005e['where']=qs[_0x966e('0x3d')](_['pick'](_0x59a214[_0x966e('0x3b')],_0x462905[_0x966e('0x3d')]),_0x4271aa);var _0x218173=[];var _0x544fc7=squel[_0x966e('0x46')]()[_0x966e('0x47')]('id')['field'](_0x966e('0x2f'))[_0x966e('0x47')]('color')['from'](_0x966e('0x48'));var _0x5a2d6a=squel[_0x966e('0x46')]()[_0x966e('0x47')](_0x966e('0x49'))[_0x966e('0x47')](_0x966e('0x4a'))[_0x966e('0x47')](_0x966e('0x4b'))[_0x966e('0x4c')](_0x966e('0x4d'),'ui')['left_join'](_0x966e('0x4e'),'u',_0x966e('0x4f'));var _0x373763=squel[_0x966e('0x46')]()[_0x966e('0x4c')]('fax_interactions','i')['left_join'](_0x966e('0x50'),'c','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL')[_0x966e('0x51')]('users','o',_0x966e('0x52'))[_0x966e('0x51')]('fax_accounts','a','a.id\x20=\x20i.FaxAccountId')[_0x966e('0x51')]('fax_messages','me',_0x966e('0x53'))[_0x966e('0x51')](_0x966e('0x54'),'it',_0x966e('0x55'))[_0x966e('0x51')](_0x966e('0x48'),'t',_0x966e('0x56'));var _0x45ea2c=squel[_0x966e('0x57')]();var _0x2faa32=[];var _0xda516e=squel[_0x966e('0x57')]();var _0x4efdf3;if(_0x59a214[_0x966e('0x3b')][_0x966e('0x58')]){_0x4efdf3=as['parseSearch'](_0x59a214[_0x966e('0x3b')][_0x966e('0x58')]);var _0x29e352=_0x4efdf3['sqlOperator'];for(var _0x5d3807=0x0;_0x5d3807<_0x4efdf3[_0x966e('0x59')][_0x966e('0x5a')];_0x5d3807++){var _0x3b0898=_0x4efdf3[_0x966e('0x59')][_0x5d3807];var _0x3dcf54='i';var _0x2da62a=_['find'](_0x4271aa,['name',_0x3b0898[_0x966e('0x47')]]);if(!_0x2da62a){switch(_0x3b0898[_0x966e('0x47')]){case _0x966e('0x5b'):if(_0x3b0898['value']==0x1){_0x373763[_0x966e('0x5c')]('`'+_0x3b0898[_0x966e('0x47')]+_0x966e('0x5d'));}else{_0x373763[_0x966e('0x5c')]('`'+_0x3b0898[_0x966e('0x47')]+_0x966e('0x5e'));}break;case'Contact':if(_0x3b0898[_0x966e('0x5f')]===_0x966e('0x60')){if(_0x3b0898[_0x966e('0x61')]['split']('\x20')['length']>0x1){_0x45ea2c[_0x29e352]('MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs['getFullTextValue'](_0x3b0898['value']),null);}else{var _0x50ae33='%'+_0x3b0898[_0x966e('0x61')]+'%';_0x45ea2c[_0x29e352]('c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?',_0x50ae33,_0x50ae33,_0x50ae33);}}else{_0x2da62a=_[_0x966e('0x62')](_0x4271aa,['name',_0x966e('0x63')]);_0x3b0898[_0x966e('0x47')]=_0x966e('0x63');_0x529dba=as['buildExpression'](_0x3dcf54,_0x2da62a[_0x966e('0x64')],_0x3b0898);_0x45ea2c[_0x29e352](_0x529dba[_0x966e('0x65')],_0x529dba[_0x966e('0x61')][_0x966e('0x66')],_0x529dba[_0x966e('0x61')][_0x966e('0x22')]);}break;case _0x966e('0x67'):var _0xff342c=_0x3b0898[_0x966e('0x61')][_0x966e('0x68')](',')[_0x966e('0x31')](function(_0x55fd6d){return Number(_0x55fd6d);});_0xff342c[_0x966e('0x69')](function(_0x4139cc){_0xda516e['or'](_0x966e('0x6a'),'%,'+_0x4139cc+',%');});_0x2faa32=_[_0x966e('0x6b')](_0x2faa32,_0xff342c);break;case'User':if(_0x3b0898[_0x966e('0x5f')]===_0x966e('0x60')){_0x45ea2c[_0x29e352]('CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','%'+_0x3b0898[_0x966e('0x61')]+'%',null);}else{_0x2da62a=_[_0x966e('0x62')](_0x4271aa,[_0x966e('0x2f'),_0x966e('0x6c')]);_0x3b0898[_0x966e('0x47')]=_0x966e('0x6c');_0x529dba=as[_0x966e('0x6d')](_0x3dcf54,_0x2da62a[_0x966e('0x64')],_0x3b0898);_0x45ea2c[_0x29e352](_0x529dba[_0x966e('0x65')],_0x529dba[_0x966e('0x61')][_0x966e('0x66')],_0x529dba[_0x966e('0x61')][_0x966e('0x22')]);}break;case'body':_0x529dba=as['buildExpression']('me',null,_0x3b0898);_0x45ea2c[_0x29e352](_0x529dba[_0x966e('0x65')],_0x529dba[_0x966e('0x61')][_0x966e('0x66')],_0x529dba[_0x966e('0x61')][_0x966e('0x22')]);break;}}else{var _0x529dba=as['buildExpression'](_0x3dcf54,_0x2da62a[_0x966e('0x64')],_0x3b0898);_0x45ea2c[_0x29e352](_0x529dba[_0x966e('0x65')],_0x529dba[_0x966e('0x61')][_0x966e('0x66')],_0x529dba[_0x966e('0x61')][_0x966e('0x22')]);}}}else{var _0x4c616d=_(_0x59a214[_0x966e('0x3b')])[_0x966e('0x3c')]()['map'](function(_0x520cfa){return _['some'](_0x4271aa,['name',_0x520cfa])?_0x520cfa:undefined;})[_0x966e('0x6e')]()[_0x966e('0x61')]();if(!_[_0x966e('0x6f')](_0x4c616d)){_0x4c616d[_0x966e('0x69')](function(_0x425ad8){if(_0x425ad8===_0x966e('0x70')){_0x373763[_0x966e('0x71')](_0x966e('0x72'),[][_0x966e('0x73')](_0x59a214[_0x966e('0x3b')][_0x425ad8]));}else if(_0x425ad8===_0x966e('0x74')){var _0x16d8a8=JSON[_0x966e('0x75')](_0x59a214[_0x966e('0x3b')][_0x425ad8])[_0x966e('0x76')];var _0x45704a=JSON[_0x966e('0x75')](_0x59a214['query'][_0x425ad8])[_0x966e('0x77')];_0x373763[_0x966e('0x71')](_0x966e('0x78'),_0x16d8a8,_0x45704a);}else{if(_0x59a214[_0x966e('0x3b')][_0x425ad8]===_0x966e('0x79')){_0x373763[_0x966e('0x71')]('i.'+_0x425ad8+_0x966e('0x7a'));}else{_0x373763[_0x966e('0x71')]('i.'+_0x425ad8+'\x20=\x20?',_0x59a214[_0x966e('0x3b')][_0x425ad8]);}}});}if(_0x59a214[_0x966e('0x3b')]['read']){if(_0x59a214['query']['read']==0x1){_0x373763[_0x966e('0x5c')](_0x966e('0x7b'));}else{_0x373763['having']('`unreadMessages`\x20>\x200');}}if(_0x59a214['query'][_0x966e('0x7c')]){_0x2faa32=_[_0x966e('0x7d')](_0x59a214[_0x966e('0x3b')][_0x966e('0x7c')])?_0x59a214[_0x966e('0x3b')][_0x966e('0x7c')]:new Array(_0x59a214[_0x966e('0x3b')][_0x966e('0x7c')]);_0x2faa32[_0x966e('0x69')](function(_0x3b0b24){_0xda516e['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x3b0b24+',%');});}if(_0x59a214[_0x966e('0x3b')][_0x966e('0x7e')]){var _0xb949d4=_0x59a214[_0x966e('0x3b')][_0x966e('0x7e')][_0x966e('0x7f')]('\x5c','\x5c\x5c')['replace'](/'/g,'\x27\x27');if(qs[_0x966e('0x80')](_0xb949d4)){_0x45ea2c['or'](_0x966e('0x81'),_0xb949d4+'%')['or'](_0x966e('0x82'),_0xb949d4+'%');}_0x45ea2c['or'](_0x966e('0x83'),_0xb949d4+'%');}}_0x373763['where'](_0x45ea2c);_0x373763[_0x966e('0x84')]('i.id');var _0x2f45bb={'type':db[_0x966e('0x85')][_0x966e('0x86')][_0x966e('0x87')],'raw':!![]};var _0x17f20e=_0x373763[_0x966e('0x88')]();_0x17f20e[_0x966e('0x47')]('i.id');_0x17f20e[_0x966e('0x47')](_0x966e('0x89'),'unreadMessages');if(_0x96005e[_0x966e('0x44')]){_0x96005e[_0x966e('0x44')]['forEach'](function(_0x50b07a){var _0x2f6acf=_0x50b07a[0x0]===_0x966e('0x8a')?_0x50b07a[0x0]:'i.'+_0x50b07a[0x0];_0x373763['order'](_0x2f6acf,_0x50b07a[0x1]===_0x966e('0x8b')?![]:!![]);});}if(!_[_0x966e('0x6f')](_0x2faa32)){_0x373763[_0x966e('0x5c')](_0xda516e);_0x17f20e[_0x966e('0x71')](_0x966e('0x8c'),_0x2faa32);}BPromise[_0x966e('0x8d')]()[_0x966e('0x2c')](function(){if(!_0x4efdf3){if(_0x59a214[_0x966e('0x3b')]['FaxAccountId'])return;_0x17f20e[_0x966e('0x71')](_0x966e('0x8e'));_0x373763[_0x966e('0x71')](_0x966e('0x8e'));return;}if(_0x59a214[_0x966e('0x8f')][_0x966e('0x90')]!==_0x966e('0x91'))return;return _0x59a214[_0x966e('0x8f')][_0x966e('0x92')]({'attributes':['id'],'raw':!![]})['then'](function(_0x54ab40){if(_[_0x966e('0x6f')](_0x54ab40)){_0x17f20e[_0x966e('0x71')]('i.FaxAccountId\x20IS\x20NULL');_0x373763[_0x966e('0x71')]('i.FaxAccountId\x20IS\x20NULL');}else{_0x17f20e[_0x966e('0x71')](_0x966e('0x72'),_['map'](_0x54ab40,'id'));_0x373763[_0x966e('0x71')]('i.FaxAccountId\x20IN\x20?',_[_0x966e('0x31')](_0x54ab40,'id'));}});})[_0x966e('0x2c')](function(){if(_0x59a214[_0x966e('0x8f')]['role']===_0x966e('0x91')&&!_0x4efdf3&&!_0x59a214[_0x966e('0x3b')][_0x966e('0x70')])return[];return db[_0x966e('0x93')][_0x966e('0x3b')](_0x17f20e[_0x966e('0x94')](),_0x2f45bb);})[_0x966e('0x2c')](function(_0x2701fd){_0x53f34f[_0x966e('0x23')]=_0x2701fd[_0x966e('0x5a')];if(_0x53f34f[_0x966e('0x23')]===0x0)return[];return db['sequelize'][_0x966e('0x3b')](_0x544fc7['toString'](),_0x2f45bb)['then'](function(_0x39f9bc){_0x218173=_['keyBy'](_0x39f9bc,'id');_0x2f45bb=_['merge'](_0x2f45bb,{'model':db['FaxInteraction'],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x59a214[_0x966e('0x3b')][_0x966e('0x40')]){_0x96005e['attributes'][_0x966e('0x69')](function(_0x56e366){_0x373763[_0x966e('0x47')]('i.'+_0x56e366);});}else{_0x373763[_0x966e('0x47')](_0x966e('0x89'),_0x966e('0x5b'));_0x373763[_0x966e('0x47')]('a.key',_0x966e('0x95'));_0x373763[_0x966e('0x47')](_0x966e('0x96'),_0x966e('0x97'));_0x373763['field'](_0x966e('0x98'),'contactName');_0x373763[_0x966e('0x47')]('i.*');_0x373763[_0x966e('0x47')]('c.firstName',_0x966e('0x99'));_0x373763[_0x966e('0x47')](_0x966e('0x9a'),_0x966e('0x9b'));_0x373763[_0x966e('0x47')](_0x966e('0x9c'),_0x966e('0x9d'));_0x373763['field'](_0x966e('0x9e'),_0x966e('0x9f'));_0x373763['field'](_0x966e('0xa0'),_0x966e('0xa1'));_0x373763['field']('c.fax','Contact.fax');_0x373763['field'](_0x966e('0xa2'),_0x966e('0xa3'));_0x373763['field'](_0x966e('0xa4'),_0x966e('0xa5'));_0x373763[_0x966e('0x47')](_0x966e('0xa6'),_0x966e('0x32'));}if(_0x96005e['limit'])_0x373763[_0x966e('0x43')](_0x96005e[_0x966e('0x43')]);if(_0x96005e[_0x966e('0x24')])_0x373763[_0x966e('0x24')](_0x96005e[_0x966e('0x24')]);return db['sequelize'][_0x966e('0x3b')](_0x373763[_0x966e('0x94')](),_0x2f45bb);})[_0x966e('0x2c')](function(_0x1718e3){_0x5a2d6a[_0x966e('0x71')](_0x966e('0xa7'),_[_0x966e('0x31')](_0x1718e3,'id'));return db[_0x966e('0x93')]['query'](_0x5a2d6a[_0x966e('0x94')](),_0x2f45bb)['then'](function(_0x505c70){var _0x2466e2=_[_0x966e('0xa8')](_0x505c70,_0x966e('0xa9'));var _0x258154=[];_0x1718e3[_0x966e('0x69')](function(_0x3b0108){_0x258154[_0x966e('0x34')](updateFaxInteraction(_0x3b0108,_0x218173,_0x2466e2));});return BPromise[_0x966e('0xaa')](_0x258154);});});})[_0x966e('0x2c')](function(_0x2f9a03){_0x53f34f['rows']=_0x2f9a03;return _0x53f34f;})[_0x966e('0x2c')](respondWithFilteredResult(_0x1631a7,_0x96005e))['catch'](handleError(_0x1631a7,null));};exports[_0x966e('0xab')]=function(_0x1744fa,_0x2ef5be){var _0x4c87b6={'raw':![],'where':{'id':_0x1744fa[_0x966e('0xac')]['id']}},_0x58eb60={};_0x58eb60[_0x966e('0x3a')]=_[_0x966e('0x3c')](db['FaxInteraction']['rawAttributes']);_0x58eb60[_0x966e('0x3b')]=_[_0x966e('0x3c')](_0x1744fa[_0x966e('0x3b')]);_0x58eb60[_0x966e('0x3d')]=_['intersection'](_0x58eb60[_0x966e('0x3a')],_0x58eb60[_0x966e('0x3b')]);_0x4c87b6[_0x966e('0x3f')]=_[_0x966e('0x3e')](_0x58eb60['model'],qs[_0x966e('0x40')](_0x1744fa['query'][_0x966e('0x40')]));_0x4c87b6[_0x966e('0x3f')]=_0x4c87b6['attributes'][_0x966e('0x5a')]?_0x4c87b6[_0x966e('0x3f')]:_0x58eb60[_0x966e('0x3a')];if(_0x1744fa['query']['includeAll']){_0x4c87b6['include']=[{'all':!![]}];}_0x4c87b6=_[_0x966e('0xad')]({},_0x4c87b6,_0x1744fa['options']);return db[_0x966e('0x37')][_0x966e('0x62')](_0x4c87b6)['then'](handleEntityNotFound(_0x2ef5be,null))[_0x966e('0x2c')](respondWithResult(_0x2ef5be,null))[_0x966e('0x35')](handleError(_0x2ef5be,null));};exports['create']=function(_0x57ceb8,_0x9274be){return db[_0x966e('0x37')]['create'](_0x57ceb8[_0x966e('0xae')],{})['then'](respondWithResult(_0x9274be,0xc9))[_0x966e('0x35')](handleError(_0x9274be,null));};exports[_0x966e('0x2b')]=function(_0x251392,_0x5d59cc){if(_0x251392[_0x966e('0xae')]['id']){delete _0x251392[_0x966e('0xae')]['id'];}return db[_0x966e('0x37')][_0x966e('0x62')]({'where':{'id':_0x251392[_0x966e('0xac')]['id']}})[_0x966e('0x2c')](handleEntityNotFound(_0x5d59cc,null))['then'](saveUpdates(_0x251392[_0x966e('0xae')],null))[_0x966e('0x2c')](respondWithResult(_0x5d59cc,null))[_0x966e('0x35')](handleError(_0x5d59cc,null));};exports['destroy']=function(_0x495355,_0x19c4dc){return db[_0x966e('0x37')]['find']({'where':{'id':_0x495355[_0x966e('0xac')]['id']}})[_0x966e('0x2c')](handleEntityNotFound(_0x19c4dc,null))['then'](removeEntity(_0x19c4dc,null))[_0x966e('0x35')](handleError(_0x19c4dc,null));};exports[_0x966e('0xaf')]=function(_0x54a154,_0x2957ee){return db['FaxInteraction']['describe']()[_0x966e('0x2c')](respondWithResult(_0x2957ee,null))[_0x966e('0x35')](handleError(_0x2957ee,null));};exports[_0x966e('0xb0')]=function(_0x249ca4,_0x2a2993,_0x51310d){return db[_0x966e('0xb1')][_0x966e('0x62')]({'where':{'id':_0x249ca4[_0x966e('0xac')]['id']}})['then'](handleEntityNotFound(_0x2a2993,null))[_0x966e('0x2c')](function(_0x1c0f73){if(_0x1c0f73){return _0x1c0f73[_0x966e('0xb0')](_0x249ca4[_0x966e('0xae')][_0x966e('0xb2')],_[_0x966e('0xb3')](_0x249ca4[_0x966e('0xae')],['ids','id'])||{});}})[_0x966e('0x2c')](respondWithResult(_0x2a2993,null))[_0x966e('0x35')](handleError(_0x2a2993,null));};exports['getMessages']=function(_0x28d571,_0x19e475,_0x558b55){var _0x4d2c4f={'raw':![],'where':{}};var _0x32cb8d={};var _0x39035f={'count':0x0,'rows':[]};return db[_0x966e('0x37')][_0x966e('0xb4')]({'where':{'id':_0x28d571['params']['id']}})[_0x966e('0x2c')](handleEntityNotFound(_0x19e475,null))[_0x966e('0x2c')](function(_0x3a99c8){if(_0x3a99c8){_0x32cb8d['model']=_[_0x966e('0x3c')](db[_0x966e('0xb1')][_0x966e('0xb5')]);_0x32cb8d[_0x966e('0x3b')]=_[_0x966e('0x3c')](_0x28d571[_0x966e('0x3b')]);_0x32cb8d[_0x966e('0x3d')]=_[_0x966e('0x3e')](_0x32cb8d[_0x966e('0x3a')],_0x32cb8d[_0x966e('0x3b')]);_0x4d2c4f['attributes']=_['intersection'](_0x32cb8d['model'],qs[_0x966e('0x40')](_0x28d571[_0x966e('0x3b')][_0x966e('0x40')]));_0x4d2c4f[_0x966e('0x3f')]=_0x4d2c4f[_0x966e('0x3f')]['length']?_0x4d2c4f[_0x966e('0x3f')]:_0x32cb8d[_0x966e('0x3a')];if(!_0x28d571[_0x966e('0x3b')][_0x966e('0x41')](_0x966e('0x42'))){_0x4d2c4f[_0x966e('0x43')]=qs[_0x966e('0x43')](_0x28d571[_0x966e('0x3b')][_0x966e('0x43')]);_0x4d2c4f[_0x966e('0x24')]=qs[_0x966e('0x24')](_0x28d571['query'][_0x966e('0x24')]);}_0x4d2c4f[_0x966e('0x44')]=qs[_0x966e('0x45')](_0x28d571['query'][_0x966e('0x45')]);_0x4d2c4f[_0x966e('0x71')]=qs[_0x966e('0x3d')](_[_0x966e('0xb6')](_0x28d571[_0x966e('0x3b')],_0x32cb8d[_0x966e('0x3d')]));_0x4d2c4f[_0x966e('0x71')][_0x966e('0xa9')]=_0x3a99c8['id'];if(_0x28d571[_0x966e('0x3b')][_0x966e('0x7e')]){_0x4d2c4f[_0x966e('0x71')]=_[_0x966e('0xad')](_0x4d2c4f['where'],{'$or':_[_0x966e('0x31')](_0x4d2c4f[_0x966e('0x3f')],function(_0x4a9741){var _0x25d421={};_0x25d421[_0x4a9741]={'$like':'%'+_0x28d571['query']['filter']+'%'};return _0x25d421;})});}if(_0x28d571[_0x966e('0x3b')]['$gte']){var _0x42bbb8=_0x28d571[_0x966e('0x3b')][_0x966e('0x76')][_0x966e('0x68')](',');var _0x4118d6={};_0x4118d6[_0x42bbb8[0x0]]={'$gte':moment(_0x42bbb8[0x1])[_0x966e('0xb7')](_0x966e('0xb8'))};_0x4d2c4f[_0x966e('0x71')]=_[_0x966e('0xad')](_0x4d2c4f[_0x966e('0x71')],_0x4118d6);}_0x4d2c4f=_[_0x966e('0xad')]({},_0x4d2c4f,_0x28d571[_0x966e('0xb9')]);return db[_0x966e('0xb1')][_0x966e('0x23')]({'where':_0x4d2c4f[_0x966e('0x71')]})[_0x966e('0x2c')](function(_0x457ca2){_0x39035f['count']=_0x457ca2;if(_0x28d571[_0x966e('0x3b')][_0x966e('0xba')]){_0x4d2c4f[_0x966e('0xbb')]=[{'all':!![]}];}return db['FaxMessage'][_0x966e('0xbc')](_0x4d2c4f);})['then'](function(_0x124dcf){_0x39035f['rows']=_0x124dcf;return _0x39035f;});}})['then'](respondWithFilteredResult(_0x19e475,_0x4d2c4f))[_0x966e('0x35')](handleError(_0x19e475,null));};exports[_0x966e('0xbd')]=function(_0x5a04ea,_0x2e2fd3,_0x2aab86){return db[_0x966e('0x37')][_0x966e('0x62')]({'where':{'id':_0x5a04ea[_0x966e('0xac')]['id']}})[_0x966e('0x2c')](handleEntityNotFound(_0x2e2fd3,null))['then'](function(_0x5647f6){if(_0x5647f6){return _0x5647f6['setTags'](_0x5a04ea[_0x966e('0xae')]['ids'],_[_0x966e('0xb3')](_0x5a04ea[_0x966e('0xae')],[_0x966e('0xb2'),'id'])||{})[_0x966e('0xbe')](function(){return db[_0x966e('0x67')][_0x966e('0xbc')]({'attributes':['id',_0x966e('0x2f'),_0x966e('0xbf')],'where':{'id':_0x5a04ea['body']['ids']}});})[_0x966e('0x2c')](function(_0x1bfb8b){socket[_0x966e('0xc0')](_0x966e('0xc1'),{'id':Number(_0x5a04ea['params']['id']),'tags':_0x1bfb8b||[]});return{'id':Number(_0x5a04ea['params']['id']),'tags':_0x1bfb8b||[]};});}})[_0x966e('0x2c')](respondWithResult(_0x2e2fd3,null))[_0x966e('0x35')](handleError(_0x2e2fd3,null));};exports[_0x966e('0xc2')]=function(_0x16e172,_0x55ab91,_0x5cc6ac){return db[_0x966e('0x37')]['find']({'where':{'id':_0x16e172[_0x966e('0xac')]['id']}})['then'](handleEntityNotFound(_0x55ab91,null))[_0x966e('0x2c')](function(_0x35ad6c){if(_0x35ad6c){return _0x35ad6c[_0x966e('0xc2')](_0x16e172[_0x966e('0x3b')]['ids']);}})[_0x966e('0x2c')](respondWithStatusCode(_0x55ab91,null))[_0x966e('0x35')](handleError(_0x55ab91,null));};exports[_0x966e('0xc3')]=function(_0x2a7e50,_0x2a97c0){var _0x2ceb7a=moment()[_0x966e('0xc4')]()[_0x966e('0x94')]();var _0x51f1f4=path[_0x966e('0xc5')](config['root'],_0x966e('0xc6'),_0x966e('0xc7'),_0x966e('0xc8'));var _0x27be21=path[_0x966e('0xc5')](config[_0x966e('0xc9')],_0x966e('0xc6'),'files',_0x966e('0xca'));var _0xa485fd=path[_0x966e('0xc5')](_0x51f1f4,_0x2ceb7a);var _0x9691f6=util[_0x966e('0xb7')]('transcript-%d-%s.zip',_0x2a7e50[_0x966e('0xac')]['id'],_0x2ceb7a);var _0x39f928=path[_0x966e('0xc5')](_0x51f1f4,_0x9691f6);var _0x412644=[];_0x412644[_0x966e('0x34')]({'model':db[_0x966e('0xcb')],'as':_0x966e('0xcb'),'raw':!![]});var _0x482a24=[{'model':db[_0x966e('0xb1')],'as':_0x966e('0xcc'),'attributes':['id','body',_0x966e('0x74')],'include':_0x412644}];return db[_0x966e('0x37')]['find']({'where':{'id':_0x2a7e50['params']['id']},'include':_0x482a24})[_0x966e('0x2c')](handleEntityNotFound(_0x2a97c0,null))[_0x966e('0x2c')](function(_0x228b4e){if(_0x228b4e&&_0x228b4e[_0x966e('0xcc')]){var _0x12b2f0=_0x228b4e[_0x966e('0xcd')]({'plain':!![]});fs[_0x966e('0xce')](_0xa485fd);for(var _0x7e1ae9=0x0;_0x7e1ae9<_0x12b2f0['Messages'][_0x966e('0x5a')];_0x7e1ae9++){var _0x5e4040=_0x12b2f0['Messages'][_0x7e1ae9]['Attachment'];if(_0x5e4040){var _0x57ef67=path[_0x966e('0xc5')](_0x27be21,_0x5e4040[_0x966e('0xcf')]);if(fs[_0x966e('0xd0')](_0x57ef67)){fs[_0x966e('0xd1')](_0x57ef67)[_0x966e('0xd2')](fs[_0x966e('0xd3')](path[_0x966e('0xc5')](_0xa485fd,_0x5e4040['basename'])));}}}return BPromise['resolve']()[_0x966e('0x2c')](function(){return new BPromise(function(_0x2fc933,_0xb2aa1c){zipdir(_0xa485fd,{'saveTo':_0x39f928},function(_0x58820f,_0x3fae76){if(_0x58820f)return _0xb2aa1c(_0x58820f);return _0x2fc933(_0x3fae76);});})[_0x966e('0x2c')](function(){return new BPromise(function(_0x5539ff,_0x4e55df){rimraf(_0xa485fd,function(_0x56e376){if(_0x56e376)_0x4e55df(_0x56e376);return _0x5539ff();});});})[_0x966e('0x2c')](function(){return _0x2a97c0[_0x966e('0xc3')](_0x39f928,_0x9691f6,function(_0x4414f0){if(_0x4414f0){console[_0x966e('0xd4')]('err',_0x4414f0);}else{fs[_0x966e('0xd5')](_0x39f928);}});});});}else{return _0x2a97c0[_0x966e('0x20')](0xc8);}})[_0x966e('0x35')](handleError(_0x2a97c0,null));};