20cbea12475af10a6a1389c6a50f49fa5dfe6354
[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 _0x30fb=['\x20=\x20?','read','tag','isArray','filter','replace','i.id\x20LIKE\x20?','i.fax\x20LIKE\x20?','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','i.id','Sequelize','QueryTypes','SELECT','clone','contactName','isEmpty','t.id\x20IN\x20?','resolve','i.FaxAccountId\x20IS\x20NOT\x20NULL','user','role','agent','getFaxAccounts','i.FaxAccountId\x20IS\x20NULL','sequelize','toString','merge','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','Account.key','a.mandatoryDisposition','Account.mandatoryDisposition','Contact.firstName','c.lastName','c.email','Contact.email','c.phone','Contact.phone','c.mobile','c.fax','Contact.fax','o.fullname','Owner.fullname','o.internal','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.FaxInteractionId\x20IN\x20?','groupBy','all','params','rawAttributes','includeAll','include','options','create','describe','addMessage','FaxMessage','ids','omit','getMessages','pick','YYYY-MM-DD\x20HH:mm:ss','findAll','setTags','Tag','emit','faxInteractionTags:save','removeTags','unix','root','files','join','server','attachments','format','transcript-%d-%s.zip','Attachment','Messages','get','mkdirSync','existsSync','createReadStream','pipe','createWriteStream','log','err','unlinkSync','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','ejs','lodash','squel','jsforce','desk.js','to-csv','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','localhost','socket.io-emitter','./faxInteraction.socket','register','sendStatus','end','status','json','offset','undefined','count','set','apply','reject','save','update','destroy','error','stack','name','send','map','fullname','TagIds','split','forEach','push','then','catch','FaxInteraction','fieldName','type','key','model','query','keys','filters','intersection','fields','attributes','hasOwnProperty','nolimit','limit','order','sort','where','select','field','color','from','u.id','u.fullname','user_has_fax_interactions','u.id\x20=\x20ui.UserId','left_join','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','users','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','tools_tags','t.id\x20=\x20it.TagId','search','sqlOperator','length','conditions','unreadMessages','value','`\x20=\x200','having','`\x20>\x200','$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','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','User','operator','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','UserId','buildExpression','text','start','body','some','compact','i.FaxAccountId\x20IN\x20?','concat','createdAt','parse','$gte','$lte','null'];(function(_0x3b0731,_0xcf9925){var _0x4204d7=function(_0x635ac5){while(--_0x635ac5){_0x3b0731['push'](_0x3b0731['shift']());}};_0x4204d7(++_0xcf9925);}(_0x30fb,0x132));var _0xb30f=function(_0x11f539,_0x1026d1){_0x11f539=_0x11f539-0x0;var _0x3a5963=_0x30fb[_0x11f539];return _0x3a5963;};'use strict';var emlformat=require(_0xb30f('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xb30f('0x1'));var jsonpatch=require(_0xb30f('0x2'));var rp=require(_0xb30f('0x3'));var moment=require(_0xb30f('0x4'));var BPromise=require(_0xb30f('0x5'));var Mustache=require(_0xb30f('0x6'));var util=require(_0xb30f('0x7'));var path=require(_0xb30f('0x8'));var sox=require(_0xb30f('0x9'));var csv=require('to-csv');var ejs=require(_0xb30f('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xb30f('0xb'));var squel=require(_0xb30f('0xc'));var crypto=require('crypto');var jsforce=require(_0xb30f('0xd'));var deskjs=require(_0xb30f('0xe'));var toCsv=require(_0xb30f('0xf'));var querystring=require(_0xb30f('0x10'));var Papa=require('papaparse');var Redis=require(_0xb30f('0x11'));var authService=require(_0xb30f('0x12'));var qs=require(_0xb30f('0x13'));var as=require(_0xb30f('0x14'));var hardwareService=require(_0xb30f('0x15'));var logger=require(_0xb30f('0x16'))('api');var utils=require(_0xb30f('0x17'));var config=require(_0xb30f('0x18'));var licenseUtil=require(_0xb30f('0x19'));var db=require(_0xb30f('0x1a'))['db'];config[_0xb30f('0x1b')]=_[_0xb30f('0x1c')](config[_0xb30f('0x1b')],{'host':_0xb30f('0x1d'),'port':0x18eb});var socket=require(_0xb30f('0x1e'))(new Redis(config[_0xb30f('0x1b')]));require(_0xb30f('0x1f'))[_0xb30f('0x20')](socket);function respondWithStatusCode(_0x205e89,_0xa184e8){_0xa184e8=_0xa184e8||0xcc;return function(_0x31fec4){if(_0x31fec4){return _0x205e89[_0xb30f('0x21')](_0xa184e8);}return _0x205e89['status'](_0xa184e8)[_0xb30f('0x22')]();};}function respondWithResult(_0x5b69bf,_0x409ad3){_0x409ad3=_0x409ad3||0xc8;return function(_0x5de8f3){if(_0x5de8f3){return _0x5b69bf[_0xb30f('0x23')](_0x409ad3)[_0xb30f('0x24')](_0x5de8f3);}};}function respondWithFilteredResult(_0x5bedfa,_0x42bbc5){return function(_0x295ee1){if(_0x295ee1){var _0x22e6f1=typeof _0x42bbc5[_0xb30f('0x25')]===_0xb30f('0x26')&&typeof _0x42bbc5['limit']===_0xb30f('0x26');var _0x47b80a=_0x295ee1[_0xb30f('0x27')];var _0x4497a7=_0x22e6f1?0x0:_0x42bbc5[_0xb30f('0x25')];var _0xc73cf1=_0x22e6f1?_0x295ee1[_0xb30f('0x27')]:_0x42bbc5[_0xb30f('0x25')]+_0x42bbc5['limit'];var _0x26cdb4;if(_0xc73cf1>=_0x47b80a){_0xc73cf1=_0x47b80a;_0x26cdb4=0xc8;}else{_0x26cdb4=0xce;}_0x5bedfa[_0xb30f('0x23')](_0x26cdb4);return _0x5bedfa[_0xb30f('0x28')]('Content-Range',_0x4497a7+'-'+_0xc73cf1+'/'+_0x47b80a)[_0xb30f('0x24')](_0x295ee1);}return null;};}function patchUpdates(_0x54d468){return function(_0x4e0d75){try{jsonpatch[_0xb30f('0x29')](_0x4e0d75,_0x54d468,!![]);}catch(_0x3e683a){return BPromise[_0xb30f('0x2a')](_0x3e683a);}return _0x4e0d75[_0xb30f('0x2b')]();};}function saveUpdates(_0x2e3320,_0x32f569){return function(_0x4f58db){if(_0x4f58db){return _0x4f58db[_0xb30f('0x2c')](_0x2e3320)['then'](function(_0x195551){return _0x195551;});}return null;};}function removeEntity(_0x3747ab,_0xb92fb5){return function(_0x34304c){if(_0x34304c){return _0x34304c[_0xb30f('0x2d')]()['then'](function(){_0x3747ab[_0xb30f('0x23')](0xcc)['end']();});}};}function handleEntityNotFound(_0x440feb,_0x5b9514){return function(_0x132cbf){if(!_0x132cbf){_0x440feb[_0xb30f('0x21')](0x194);}return _0x132cbf;};}function handleError(_0x4a5c68,_0x2ba728){_0x2ba728=_0x2ba728||0x1f4;return function(_0x523659){logger[_0xb30f('0x2e')](_0x523659[_0xb30f('0x2f')]);if(_0x523659['name']){delete _0x523659[_0xb30f('0x30')];}_0x4a5c68[_0xb30f('0x23')](_0x2ba728)[_0xb30f('0x31')](_0x523659);};}function getInteractionUsers(_0x1e67f7,_0x561852){return new BPromise(function(_0x5a2817,_0x4e7455){try{if(_0x561852[_0x1e67f7['id']]){_0x1e67f7['Users']=_[_0xb30f('0x32')](_0x561852[_0x1e67f7['id']],function(_0x1d0faa){return{'id':_0x1d0faa['id'],'fullname':_0x1d0faa[_0xb30f('0x33')]};});}}catch(_0x32b38b){_0x4e7455(_0x32b38b);}_0x5a2817(_0x1e67f7);});}function getInteractionTags(_0x2b2a9f,_0x2e882c){return new BPromise(function(_0x205e0a,_0x3225cc){try{if(_0x2b2a9f[_0xb30f('0x34')]){_0x2b2a9f['Tags']=[];_0x2b2a9f[_0xb30f('0x34')][_0xb30f('0x35')](',')[_0xb30f('0x36')](function(_0x4cbf63){_0x2b2a9f['Tags'][_0xb30f('0x37')](_0x2e882c[_0x4cbf63]);});}delete _0x2b2a9f[_0xb30f('0x34')];}catch(_0xf7b6df){_0x3225cc(_0xf7b6df);}_0x205e0a(_0x2b2a9f);});}function updateFaxInteraction(_0xc4fe07,_0x3d69d4,_0x1ac87e){return new BPromise(function(_0x3eb23f,_0x31f721){return getInteractionUsers(_0xc4fe07,_0x1ac87e)[_0xb30f('0x38')](function(_0x529314){return getInteractionTags(_0x529314,_0x3d69d4);})[_0xb30f('0x38')](function(_0x498487){_0x3eb23f(_0x498487);})[_0xb30f('0x39')](function(_0x1ae639){_0x31f721(_0x1ae639);});});}exports['index']=function(_0x133541,_0x3cf4f3){var _0x54c708={},_0x39669a={},_0x5588f5={'count':0x0,'rows':[]};var _0x50c8bd=_[_0xb30f('0x32')](db[_0xb30f('0x3a')]['rawAttributes'],function(_0x5898f3){return{'name':_0x5898f3[_0xb30f('0x3b')],'type':_0x5898f3[_0xb30f('0x3c')][_0xb30f('0x3d')]};});_0x39669a[_0xb30f('0x3e')]=_[_0xb30f('0x32')](_0x50c8bd,_0xb30f('0x30'));_0x39669a[_0xb30f('0x3f')]=_[_0xb30f('0x40')](_0x133541['query']);_0x39669a[_0xb30f('0x41')]=_[_0xb30f('0x42')](_0x39669a[_0xb30f('0x3e')],_0x39669a[_0xb30f('0x3f')]);_0x54c708['attributes']=_[_0xb30f('0x42')](_0x39669a['model'],qs['fields'](_0x133541[_0xb30f('0x3f')][_0xb30f('0x43')]));_0x54c708[_0xb30f('0x44')]=_0x54c708[_0xb30f('0x44')]['length']?_0x54c708[_0xb30f('0x44')]:_0x39669a[_0xb30f('0x3e')];if(!_0x133541['query'][_0xb30f('0x45')](_0xb30f('0x46'))){_0x54c708['limit']=qs[_0xb30f('0x47')](_0x133541[_0xb30f('0x3f')][_0xb30f('0x47')]);_0x54c708[_0xb30f('0x25')]=qs['offset'](_0x133541['query'][_0xb30f('0x25')]);}_0x54c708[_0xb30f('0x48')]=qs['sort'](_0x133541['query'][_0xb30f('0x49')]);_0x54c708[_0xb30f('0x4a')]=qs[_0xb30f('0x41')](_['pick'](_0x133541[_0xb30f('0x3f')],_0x39669a[_0xb30f('0x41')]),_0x50c8bd);var _0x3619cf=[];var _0x34de54=squel[_0xb30f('0x4b')]()[_0xb30f('0x4c')]('id')[_0xb30f('0x4c')](_0xb30f('0x30'))['field'](_0xb30f('0x4d'))[_0xb30f('0x4e')]('tools_tags');var _0x216c57=squel['select']()[_0xb30f('0x4c')](_0xb30f('0x4f'))[_0xb30f('0x4c')](_0xb30f('0x50'))['field']('ui.FaxInteractionId')[_0xb30f('0x4e')](_0xb30f('0x51'),'ui')['left_join']('users','u',_0xb30f('0x52'));var _0x4be193=squel[_0xb30f('0x4b')]()[_0xb30f('0x4e')]('fax_interactions','i')[_0xb30f('0x53')](_0xb30f('0x54'),'c',_0xb30f('0x55'))[_0xb30f('0x53')](_0xb30f('0x56'),'o',_0xb30f('0x57'))[_0xb30f('0x53')](_0xb30f('0x58'),'a',_0xb30f('0x59'))[_0xb30f('0x53')](_0xb30f('0x5a'),'me',_0xb30f('0x5b'))[_0xb30f('0x53')](_0xb30f('0x5c'),'it',_0xb30f('0x5d'))[_0xb30f('0x53')](_0xb30f('0x5e'),'t',_0xb30f('0x5f'));var _0x28ebc8=squel['expr']();var _0x32e2d3=[];var _0x286479=squel['expr']();var _0x5d8de9;if(_0x133541['query'][_0xb30f('0x60')]){_0x5d8de9=as['parseSearch'](_0x133541['query'][_0xb30f('0x60')]);var _0xfd0f13=_0x5d8de9[_0xb30f('0x61')];for(var _0x4a6d2b=0x0;_0x4a6d2b<_0x5d8de9['conditions'][_0xb30f('0x62')];_0x4a6d2b++){var _0x5f510b=_0x5d8de9[_0xb30f('0x63')][_0x4a6d2b];var _0x23b359='i';var _0x126d23=_['find'](_0x50c8bd,[_0xb30f('0x30'),_0x5f510b['field']]);if(!_0x126d23){switch(_0x5f510b[_0xb30f('0x4c')]){case _0xb30f('0x64'):if(_0x5f510b[_0xb30f('0x65')]==0x1){_0x4be193['having']('`'+_0x5f510b['field']+_0xb30f('0x66'));}else{_0x4be193[_0xb30f('0x67')]('`'+_0x5f510b[_0xb30f('0x4c')]+_0xb30f('0x68'));}break;case'Contact':if(_0x5f510b['operator']===_0xb30f('0x69')){if(_0x5f510b[_0xb30f('0x65')]['split']('\x20')[_0xb30f('0x62')]>0x1){_0x28ebc8[_0xfd0f13](_0xb30f('0x6a'),qs[_0xb30f('0x6b')](_0x5f510b[_0xb30f('0x65')]),null);}else{var _0x5e5ac8='%'+_0x5f510b['value']+'%';_0x28ebc8[_0xfd0f13](_0xb30f('0x6c'),_0x5e5ac8,_0x5e5ac8,_0x5e5ac8);}}else{_0x126d23=_[_0xb30f('0x6d')](_0x50c8bd,['name',_0xb30f('0x6e')]);_0x5f510b[_0xb30f('0x4c')]=_0xb30f('0x6e');_0x360d93=as['buildExpression'](_0x23b359,_0x126d23['type'],_0x5f510b);_0x28ebc8[_0xfd0f13](_0x360d93['text'],_0x360d93[_0xb30f('0x65')]['start'],_0x360d93[_0xb30f('0x65')][_0xb30f('0x22')]);}break;case'Tag':var _0x2f7b4b=_0x5f510b['value'][_0xb30f('0x35')](',')[_0xb30f('0x32')](function(_0x3502ed){return Number(_0x3502ed);});_0x2f7b4b['forEach'](function(_0x4101f9){_0x286479['or'](_0xb30f('0x6f'),'%,'+_0x4101f9+',%');});_0x32e2d3=_[_0xb30f('0x70')](_0x32e2d3,_0x2f7b4b);break;case _0xb30f('0x71'):if(_0x5f510b[_0xb30f('0x72')]==='$substring'){_0x28ebc8[_0xfd0f13](_0xb30f('0x73'),'%'+_0x5f510b['value']+'%',null);}else{_0x126d23=_[_0xb30f('0x6d')](_0x50c8bd,[_0xb30f('0x30'),'UserId']);_0x5f510b[_0xb30f('0x4c')]=_0xb30f('0x74');_0x360d93=as[_0xb30f('0x75')](_0x23b359,_0x126d23[_0xb30f('0x3c')],_0x5f510b);_0x28ebc8[_0xfd0f13](_0x360d93[_0xb30f('0x76')],_0x360d93[_0xb30f('0x65')][_0xb30f('0x77')],_0x360d93[_0xb30f('0x65')][_0xb30f('0x22')]);}break;case _0xb30f('0x78'):_0x360d93=as['buildExpression']('me',null,_0x5f510b);_0x28ebc8[_0xfd0f13](_0x360d93[_0xb30f('0x76')],_0x360d93[_0xb30f('0x65')][_0xb30f('0x77')],_0x360d93[_0xb30f('0x65')][_0xb30f('0x22')]);break;}}else{var _0x360d93=as[_0xb30f('0x75')](_0x23b359,_0x126d23['type'],_0x5f510b);_0x28ebc8[_0xfd0f13](_0x360d93[_0xb30f('0x76')],_0x360d93[_0xb30f('0x65')][_0xb30f('0x77')],_0x360d93[_0xb30f('0x65')]['end']);}}}else{var _0x3cce63=_(_0x133541[_0xb30f('0x3f')])['keys']()['map'](function(_0x1f2e6e){return _[_0xb30f('0x79')](_0x50c8bd,[_0xb30f('0x30'),_0x1f2e6e])?_0x1f2e6e:undefined;})[_0xb30f('0x7a')]()['value']();if(!_['isEmpty'](_0x3cce63)){_0x3cce63[_0xb30f('0x36')](function(_0x113f38){if(_0x113f38==='FaxAccountId'){_0x4be193[_0xb30f('0x4a')](_0xb30f('0x7b'),[][_0xb30f('0x7c')](_0x133541[_0xb30f('0x3f')][_0x113f38]));}else if(_0x113f38===_0xb30f('0x7d')){var _0x2fd372=JSON[_0xb30f('0x7e')](_0x133541[_0xb30f('0x3f')][_0x113f38])[_0xb30f('0x7f')];var _0x26bba0=JSON[_0xb30f('0x7e')](_0x133541[_0xb30f('0x3f')][_0x113f38])[_0xb30f('0x80')];_0x4be193['where']('i.createdAt\x20BETWEEN\x20?\x20AND\x20?',_0x2fd372,_0x26bba0);}else{if(_0x133541[_0xb30f('0x3f')][_0x113f38]===_0xb30f('0x81')){_0x4be193[_0xb30f('0x4a')]('i.'+_0x113f38+'\x20IS\x20NULL');}else{_0x4be193[_0xb30f('0x4a')]('i.'+_0x113f38+_0xb30f('0x82'),_0x133541[_0xb30f('0x3f')][_0x113f38]);}}});}if(_0x133541[_0xb30f('0x3f')][_0xb30f('0x83')]){if(_0x133541[_0xb30f('0x3f')][_0xb30f('0x83')]==0x1){_0x4be193['having']('`unreadMessages`\x20=\x200');}else{_0x4be193['having']('`unreadMessages`\x20>\x200');}}if(_0x133541[_0xb30f('0x3f')][_0xb30f('0x84')]){_0x32e2d3=_[_0xb30f('0x85')](_0x133541[_0xb30f('0x3f')][_0xb30f('0x84')])?_0x133541[_0xb30f('0x3f')][_0xb30f('0x84')]:new Array(_0x133541[_0xb30f('0x3f')]['tag']);_0x32e2d3['forEach'](function(_0x2b5845){_0x286479['or'](_0xb30f('0x6f'),'%,'+_0x2b5845+',%');});}if(_0x133541[_0xb30f('0x3f')]['filter']){var _0x1295dc=_0x133541[_0xb30f('0x3f')][_0xb30f('0x86')][_0xb30f('0x87')]('\x5c','\x5c\x5c')[_0xb30f('0x87')](/'/g,'\x27\x27');if(qs['isNumeric'](_0x1295dc)){_0x28ebc8['or'](_0xb30f('0x88'),_0x1295dc+'%')['or'](_0xb30f('0x89'),_0x1295dc+'%');}_0x28ebc8['or'](_0xb30f('0x8a'),_0x1295dc+'%');}}_0x4be193[_0xb30f('0x4a')](_0x28ebc8);_0x4be193[_0xb30f('0x8b')](_0xb30f('0x8c'));var _0x24d28a={'type':db[_0xb30f('0x8d')][_0xb30f('0x8e')][_0xb30f('0x8f')],'raw':!![]};var _0x4d91c9=_0x4be193[_0xb30f('0x90')]();_0x4d91c9['field'](_0xb30f('0x8c'));_0x4d91c9[_0xb30f('0x4c')]('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','unreadMessages');if(_0x54c708[_0xb30f('0x48')]){_0x54c708[_0xb30f('0x48')][_0xb30f('0x36')](function(_0x45153e){var _0x57b11a=_0x45153e[0x0]===_0xb30f('0x91')?_0x45153e[0x0]:'i.'+_0x45153e[0x0];_0x4be193[_0xb30f('0x48')](_0x57b11a,_0x45153e[0x1]==='DESC'?![]:!![]);});}if(!_[_0xb30f('0x92')](_0x32e2d3)){_0x4be193[_0xb30f('0x67')](_0x286479);_0x4d91c9['where'](_0xb30f('0x93'),_0x32e2d3);}BPromise[_0xb30f('0x94')]()[_0xb30f('0x38')](function(){if(!_0x5d8de9){if(_0x133541[_0xb30f('0x3f')]['FaxAccountId'])return;_0x4d91c9['where'](_0xb30f('0x95'));_0x4be193['where']('i.FaxAccountId\x20IS\x20NOT\x20NULL');return;}if(_0x133541[_0xb30f('0x96')][_0xb30f('0x97')]!==_0xb30f('0x98'))return;return _0x133541[_0xb30f('0x96')][_0xb30f('0x99')]({'attributes':['id'],'raw':!![]})[_0xb30f('0x38')](function(_0x50f625){if(_['isEmpty'](_0x50f625)){_0x4d91c9[_0xb30f('0x4a')]('i.FaxAccountId\x20IS\x20NULL');_0x4be193['where'](_0xb30f('0x9a'));}else{_0x4d91c9[_0xb30f('0x4a')](_0xb30f('0x7b'),_['map'](_0x50f625,'id'));_0x4be193[_0xb30f('0x4a')](_0xb30f('0x7b'),_[_0xb30f('0x32')](_0x50f625,'id'));}});})['then'](function(){if(_0x133541[_0xb30f('0x96')][_0xb30f('0x97')]===_0xb30f('0x98')&&!_0x5d8de9&&!_0x133541['query']['FaxAccountId'])return[];return db[_0xb30f('0x9b')][_0xb30f('0x3f')](_0x4d91c9[_0xb30f('0x9c')](),_0x24d28a);})[_0xb30f('0x38')](function(_0x12a242){_0x5588f5[_0xb30f('0x27')]=_0x12a242[_0xb30f('0x62')];if(_0x5588f5[_0xb30f('0x27')]===0x0)return[];return db[_0xb30f('0x9b')]['query'](_0x34de54['toString'](),_0x24d28a)[_0xb30f('0x38')](function(_0x3fa74c){_0x3619cf=_['keyBy'](_0x3fa74c,'id');_0x24d28a=_[_0xb30f('0x9d')](_0x24d28a,{'model':db['FaxInteraction'],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x133541[_0xb30f('0x3f')][_0xb30f('0x43')]){_0x54c708[_0xb30f('0x44')]['forEach'](function(_0x6b67af){_0x4be193[_0xb30f('0x4c')]('i.'+_0x6b67af);});}else{_0x4be193['field'](_0xb30f('0x9e'),_0xb30f('0x64'));_0x4be193[_0xb30f('0x4c')]('a.key',_0xb30f('0x9f'));_0x4be193[_0xb30f('0x4c')](_0xb30f('0xa0'),_0xb30f('0xa1'));_0x4be193[_0xb30f('0x4c')]('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',_0xb30f('0x91'));_0x4be193[_0xb30f('0x4c')]('i.*');_0x4be193['field']('c.firstName',_0xb30f('0xa2'));_0x4be193[_0xb30f('0x4c')](_0xb30f('0xa3'),'Contact.lastName');_0x4be193[_0xb30f('0x4c')](_0xb30f('0xa4'),_0xb30f('0xa5'));_0x4be193['field'](_0xb30f('0xa6'),_0xb30f('0xa7'));_0x4be193['field'](_0xb30f('0xa8'),'Contact.mobile');_0x4be193[_0xb30f('0x4c')](_0xb30f('0xa9'),_0xb30f('0xaa'));_0x4be193[_0xb30f('0x4c')](_0xb30f('0xab'),_0xb30f('0xac'));_0x4be193[_0xb30f('0x4c')](_0xb30f('0xad'),_0xb30f('0xae'));_0x4be193['field'](_0xb30f('0xaf'),_0xb30f('0x34'));}if(_0x54c708[_0xb30f('0x47')])_0x4be193[_0xb30f('0x47')](_0x54c708[_0xb30f('0x47')]);if(_0x54c708[_0xb30f('0x25')])_0x4be193['offset'](_0x54c708['offset']);return db[_0xb30f('0x9b')][_0xb30f('0x3f')](_0x4be193[_0xb30f('0x9c')](),_0x24d28a);})[_0xb30f('0x38')](function(_0x394e7c){if(_0x394e7c[_0xb30f('0x62')]>0x0)_0x216c57[_0xb30f('0x4a')](_0xb30f('0xb0'),_['map'](_0x394e7c,'id'));return db['sequelize'][_0xb30f('0x3f')](_0x216c57[_0xb30f('0x9c')](),_0x24d28a)[_0xb30f('0x38')](function(_0x544627){var _0x4b9eab=_[_0xb30f('0xb1')](_0x544627,'FaxInteractionId');var _0x2820c8=[];_0x394e7c[_0xb30f('0x36')](function(_0x249ed4){_0x2820c8[_0xb30f('0x37')](updateFaxInteraction(_0x249ed4,_0x3619cf,_0x4b9eab));});return BPromise[_0xb30f('0xb2')](_0x2820c8);});});})[_0xb30f('0x38')](function(_0x1d2a9e){_0x5588f5['rows']=_0x1d2a9e;return _0x5588f5;})[_0xb30f('0x38')](respondWithFilteredResult(_0x3cf4f3,_0x54c708))[_0xb30f('0x39')](handleError(_0x3cf4f3,null));};exports['show']=function(_0x50ad95,_0x314067){var _0x39b01e={'raw':![],'where':{'id':_0x50ad95[_0xb30f('0xb3')]['id']}},_0x46f907={};_0x46f907[_0xb30f('0x3e')]=_[_0xb30f('0x40')](db['FaxInteraction'][_0xb30f('0xb4')]);_0x46f907[_0xb30f('0x3f')]=_['keys'](_0x50ad95[_0xb30f('0x3f')]);_0x46f907[_0xb30f('0x41')]=_[_0xb30f('0x42')](_0x46f907[_0xb30f('0x3e')],_0x46f907[_0xb30f('0x3f')]);_0x39b01e[_0xb30f('0x44')]=_[_0xb30f('0x42')](_0x46f907[_0xb30f('0x3e')],qs[_0xb30f('0x43')](_0x50ad95['query'][_0xb30f('0x43')]));_0x39b01e[_0xb30f('0x44')]=_0x39b01e[_0xb30f('0x44')][_0xb30f('0x62')]?_0x39b01e[_0xb30f('0x44')]:_0x46f907['model'];if(_0x50ad95['query'][_0xb30f('0xb5')]){_0x39b01e[_0xb30f('0xb6')]=[{'all':!![]}];}_0x39b01e=_[_0xb30f('0x9d')]({},_0x39b01e,_0x50ad95[_0xb30f('0xb7')]);return db[_0xb30f('0x3a')]['find'](_0x39b01e)[_0xb30f('0x38')](handleEntityNotFound(_0x314067,null))[_0xb30f('0x38')](respondWithResult(_0x314067,null))[_0xb30f('0x39')](handleError(_0x314067,null));};exports[_0xb30f('0xb8')]=function(_0x1c00a9,_0x219580){return db[_0xb30f('0x3a')][_0xb30f('0xb8')](_0x1c00a9[_0xb30f('0x78')],{})['then'](respondWithResult(_0x219580,0xc9))[_0xb30f('0x39')](handleError(_0x219580,null));};exports[_0xb30f('0x2c')]=function(_0x4063ba,_0x2f5090){if(_0x4063ba[_0xb30f('0x78')]['id']){delete _0x4063ba[_0xb30f('0x78')]['id'];}return db[_0xb30f('0x3a')][_0xb30f('0x6d')]({'where':{'id':_0x4063ba[_0xb30f('0xb3')]['id']}})[_0xb30f('0x38')](handleEntityNotFound(_0x2f5090,null))[_0xb30f('0x38')](saveUpdates(_0x4063ba[_0xb30f('0x78')],null))[_0xb30f('0x38')](respondWithResult(_0x2f5090,null))['catch'](handleError(_0x2f5090,null));};exports[_0xb30f('0x2d')]=function(_0x5b8e11,_0x941910){return db[_0xb30f('0x3a')][_0xb30f('0x6d')]({'where':{'id':_0x5b8e11[_0xb30f('0xb3')]['id']}})[_0xb30f('0x38')](handleEntityNotFound(_0x941910,null))[_0xb30f('0x38')](removeEntity(_0x941910,null))[_0xb30f('0x39')](handleError(_0x941910,null));};exports[_0xb30f('0xb9')]=function(_0x696df1,_0x505b67){return db[_0xb30f('0x3a')]['describe']()[_0xb30f('0x38')](respondWithResult(_0x505b67,null))[_0xb30f('0x39')](handleError(_0x505b67,null));};exports[_0xb30f('0xba')]=function(_0x38d81c,_0x4ad388,_0x4ca958){return db[_0xb30f('0xbb')][_0xb30f('0x6d')]({'where':{'id':_0x38d81c['params']['id']}})[_0xb30f('0x38')](handleEntityNotFound(_0x4ad388,null))[_0xb30f('0x38')](function(_0x4bc67a){if(_0x4bc67a){return _0x4bc67a[_0xb30f('0xba')](_0x38d81c[_0xb30f('0x78')][_0xb30f('0xbc')],_[_0xb30f('0xbd')](_0x38d81c[_0xb30f('0x78')],[_0xb30f('0xbc'),'id'])||{});}})[_0xb30f('0x38')](respondWithResult(_0x4ad388,null))[_0xb30f('0x39')](handleError(_0x4ad388,null));};exports[_0xb30f('0xbe')]=function(_0x5c06c8,_0x179be7,_0x2c6548){var _0x2f91c8={'raw':![],'where':{}};var _0x487700={};var _0x2c040a={'count':0x0,'rows':[]};return db['FaxInteraction']['findOne']({'where':{'id':_0x5c06c8[_0xb30f('0xb3')]['id']}})['then'](handleEntityNotFound(_0x179be7,null))['then'](function(_0x122765){if(_0x122765){_0x487700[_0xb30f('0x3e')]=_[_0xb30f('0x40')](db[_0xb30f('0xbb')]['rawAttributes']);_0x487700['query']=_[_0xb30f('0x40')](_0x5c06c8['query']);_0x487700[_0xb30f('0x41')]=_[_0xb30f('0x42')](_0x487700['model'],_0x487700[_0xb30f('0x3f')]);_0x2f91c8[_0xb30f('0x44')]=_[_0xb30f('0x42')](_0x487700[_0xb30f('0x3e')],qs[_0xb30f('0x43')](_0x5c06c8[_0xb30f('0x3f')][_0xb30f('0x43')]));_0x2f91c8[_0xb30f('0x44')]=_0x2f91c8['attributes'][_0xb30f('0x62')]?_0x2f91c8[_0xb30f('0x44')]:_0x487700['model'];if(!_0x5c06c8[_0xb30f('0x3f')][_0xb30f('0x45')](_0xb30f('0x46'))){_0x2f91c8['limit']=qs['limit'](_0x5c06c8[_0xb30f('0x3f')][_0xb30f('0x47')]);_0x2f91c8[_0xb30f('0x25')]=qs[_0xb30f('0x25')](_0x5c06c8[_0xb30f('0x3f')][_0xb30f('0x25')]);}_0x2f91c8[_0xb30f('0x48')]=qs[_0xb30f('0x49')](_0x5c06c8['query'][_0xb30f('0x49')]);_0x2f91c8[_0xb30f('0x4a')]=qs['filters'](_[_0xb30f('0xbf')](_0x5c06c8[_0xb30f('0x3f')],_0x487700[_0xb30f('0x41')]));_0x2f91c8[_0xb30f('0x4a')]['FaxInteractionId']=_0x122765['id'];if(_0x5c06c8[_0xb30f('0x3f')][_0xb30f('0x86')]){_0x2f91c8[_0xb30f('0x4a')]=_['merge'](_0x2f91c8['where'],{'$or':_[_0xb30f('0x32')](_0x2f91c8[_0xb30f('0x44')],function(_0x5c3d28){var _0x1abab4={};_0x1abab4[_0x5c3d28]={'$like':'%'+_0x5c06c8[_0xb30f('0x3f')][_0xb30f('0x86')]+'%'};return _0x1abab4;})});}if(_0x5c06c8[_0xb30f('0x3f')][_0xb30f('0x7f')]){var _0x17af75=_0x5c06c8[_0xb30f('0x3f')][_0xb30f('0x7f')]['split'](',');var _0x22b632={};_0x22b632[_0x17af75[0x0]]={'$gte':moment(_0x17af75[0x1])['format'](_0xb30f('0xc0'))};_0x2f91c8[_0xb30f('0x4a')]=_[_0xb30f('0x9d')](_0x2f91c8[_0xb30f('0x4a')],_0x22b632);}_0x2f91c8=_['merge']({},_0x2f91c8,_0x5c06c8[_0xb30f('0xb7')]);return db[_0xb30f('0xbb')][_0xb30f('0x27')]({'where':_0x2f91c8[_0xb30f('0x4a')]})[_0xb30f('0x38')](function(_0x595966){_0x2c040a[_0xb30f('0x27')]=_0x595966;if(_0x5c06c8[_0xb30f('0x3f')]['includeAll']){_0x2f91c8[_0xb30f('0xb6')]=[{'all':!![]}];}return db[_0xb30f('0xbb')][_0xb30f('0xc1')](_0x2f91c8);})[_0xb30f('0x38')](function(_0x5d4533){_0x2c040a['rows']=_0x5d4533;return _0x2c040a;});}})['then'](respondWithFilteredResult(_0x179be7,_0x2f91c8))[_0xb30f('0x39')](handleError(_0x179be7,null));};exports['addTags']=function(_0x3d0cd2,_0x16ad83,_0x34026c){return db[_0xb30f('0x3a')]['find']({'where':{'id':_0x3d0cd2[_0xb30f('0xb3')]['id']}})['then'](handleEntityNotFound(_0x16ad83,null))[_0xb30f('0x38')](function(_0x4d9fae){if(_0x4d9fae){return _0x4d9fae[_0xb30f('0xc2')](_0x3d0cd2[_0xb30f('0x78')][_0xb30f('0xbc')],_['omit'](_0x3d0cd2[_0xb30f('0x78')],[_0xb30f('0xbc'),'id'])||{})['spread'](function(){return db[_0xb30f('0xc3')]['findAll']({'attributes':['id',_0xb30f('0x30'),_0xb30f('0x4d')],'where':{'id':_0x3d0cd2[_0xb30f('0x78')][_0xb30f('0xbc')]}});})[_0xb30f('0x38')](function(_0x332403){socket[_0xb30f('0xc4')](_0xb30f('0xc5'),{'id':Number(_0x3d0cd2[_0xb30f('0xb3')]['id']),'tags':_0x332403||[]});return{'id':Number(_0x3d0cd2['params']['id']),'tags':_0x332403||[]};});}})[_0xb30f('0x38')](respondWithResult(_0x16ad83,null))['catch'](handleError(_0x16ad83,null));};exports['removeTags']=function(_0x3b98cb,_0x171d11,_0x5c31a5){return db['FaxInteraction'][_0xb30f('0x6d')]({'where':{'id':_0x3b98cb[_0xb30f('0xb3')]['id']}})[_0xb30f('0x38')](handleEntityNotFound(_0x171d11,null))[_0xb30f('0x38')](function(_0x527ab8){if(_0x527ab8){return _0x527ab8[_0xb30f('0xc6')](_0x3b98cb[_0xb30f('0x3f')][_0xb30f('0xbc')]);}})['then'](respondWithStatusCode(_0x171d11,null))[_0xb30f('0x39')](handleError(_0x171d11,null));};exports['download']=function(_0x1ba2da,_0x2ef2c7){var _0x3c6b3e=moment()[_0xb30f('0xc7')]()[_0xb30f('0x9c')]();var _0x3908bb=path['join'](config[_0xb30f('0xc8')],'server',_0xb30f('0xc9'),'tmp');var _0x5c2f4e=path[_0xb30f('0xca')](config['root'],_0xb30f('0xcb'),_0xb30f('0xc9'),_0xb30f('0xcc'));var _0x2cc15f=path['join'](_0x3908bb,_0x3c6b3e);var _0x19a6b0=util[_0xb30f('0xcd')](_0xb30f('0xce'),_0x1ba2da[_0xb30f('0xb3')]['id'],_0x3c6b3e);var _0x33e8eb=path['join'](_0x3908bb,_0x19a6b0);var _0x41b6f3=[];_0x41b6f3[_0xb30f('0x37')]({'model':db[_0xb30f('0xcf')],'as':_0xb30f('0xcf'),'raw':!![]});var _0x7f9c4d=[{'model':db['FaxMessage'],'as':_0xb30f('0xd0'),'attributes':['id','body','createdAt'],'include':_0x41b6f3}];return db[_0xb30f('0x3a')][_0xb30f('0x6d')]({'where':{'id':_0x1ba2da['params']['id']},'include':_0x7f9c4d})[_0xb30f('0x38')](handleEntityNotFound(_0x2ef2c7,null))[_0xb30f('0x38')](function(_0x518308){if(_0x518308&&_0x518308[_0xb30f('0xd0')]){var _0x5c8e97=_0x518308[_0xb30f('0xd1')]({'plain':!![]});fs[_0xb30f('0xd2')](_0x2cc15f);for(var _0x33cfc1=0x0;_0x33cfc1<_0x5c8e97[_0xb30f('0xd0')][_0xb30f('0x62')];_0x33cfc1++){var _0x7a9866=_0x5c8e97[_0xb30f('0xd0')][_0x33cfc1][_0xb30f('0xcf')];if(_0x7a9866){var _0x34e2c8=path[_0xb30f('0xca')](_0x5c2f4e,_0x7a9866['basename']);if(fs[_0xb30f('0xd3')](_0x34e2c8)){fs[_0xb30f('0xd4')](_0x34e2c8)[_0xb30f('0xd5')](fs[_0xb30f('0xd6')](path[_0xb30f('0xca')](_0x2cc15f,_0x7a9866['basename'])));}}}return BPromise['resolve']()[_0xb30f('0x38')](function(){return new BPromise(function(_0x5b2b4b,_0x54e53c){zipdir(_0x2cc15f,{'saveTo':_0x33e8eb},function(_0x57d81a,_0x3b5210){if(_0x57d81a)return _0x54e53c(_0x57d81a);return _0x5b2b4b(_0x3b5210);});})[_0xb30f('0x38')](function(){return new BPromise(function(_0x4ddbb6,_0x4483b6){rimraf(_0x2cc15f,function(_0x2638f0){if(_0x2638f0)_0x4483b6(_0x2638f0);return _0x4ddbb6();});});})['then'](function(){return _0x2ef2c7['download'](_0x33e8eb,_0x19a6b0,function(_0x2264e2){if(_0x2264e2){console[_0xb30f('0xd7')](_0xb30f('0xd8'),_0x2264e2);}else{fs[_0xb30f('0xd9')](_0x33e8eb);}});});});}else{return _0x2ef2c7[_0xb30f('0x21')](0xc8);}})[_0xb30f('0x39')](handleError(_0x2ef2c7,null));};